Niniejsza praca bazuje na konkursie Urzędu Ochrony Konkurencji i Konsumentów (UOKiK) Konkurs polegał na opracowaniu narzędzia opartego na sztucznej inteligencji, które może wspomagać urząd w wykrywaniu potencjalnych naruszeń praw konsumentów. Celem pracy jest wykonanie klasyfikatora binarnego klauzul abuzywnych w języku polskim.
Praca zawiera rozdział na temat motywacji i jej celu, przegląd literaturowy, oraz opis problemu badawczego. Opisano szereg technik wykorzystywanych do przetwarzania języka naturalnego oraz trudności związane z tym zadaniem. Odniesiono się do badań nad tekstami w języku angielskim, a także w innych językach, w tym polskim.
Do implementacji modeli wykorzystano język programowania Python. Skorzystano z szeregu bibliotek specjalistycznych przeznaczonych do przetwarzania języka naturalnego takich jak NLTK, spacy, gensim, a także z biblioteki do optymalizacji hiperparametrów (optuna). Rozważano 3 architektury sieci GRU i różne metody wstępnego przygotowania danych. Do osadzenia słów wykorzystano przetrenowane przez Polską Akademię Nauk modele Word2vec. Spośród obszernej listy dostępnych modeli wybrano 4. W pracy opisano sposób implementacji wspomnianych modeli oraz metryki wykorzystane do analizy dokładności modelu. Zastosowano optymalizację hiperparametrów w celu osiągnięcia jak najlepszych rezultatów.
Wyniki pokazują że sieć neuronowa GRU ma potencjał do efektywnego wykrywania klauzul abuzywnych w tekstach umów. W przypadku niniejszej pracy, trudno ocenić wpływ przygotowania danych na wyniki, może być on zależny od konkretnego przypadku. Wskazano również jakie mogą być dalsze prace w tym obszarze i przedstawiono wnioski.
This thesis is based on contest organised by the Office of Competition and Consumer Protection (UOKiK). The contest objective was to develop a tool based on artificial intelligence that can assist the office in detection of potential violations of consumer rights. The goal of this graduate work is to make a binary classifier for abusive clauses detection in Polish.
The paper includes a chapter on motivation and its purpose, a literature review, and a description of the research problem. A number of techniques used for natural language processing are described, as well as the difficulties associated with this task. The reference was made to research on texts in the English language as well as in other languages, including Polish.
The Python programming language was used to implement the models. A number of specialized libraries for natural language processing were used, such as NLTK, spacy, gensim, as well as a library for optimizing hyperparameters (optuna). Three GRU network architectures and various data preprocessing methods were considered. Word2vec models trained by the Polish Academy of Sciences (PAN) were used for word embedding. From an extensive list of available models, 4 were selected. The paper describes the metrics used to analyze model accuracy and how the mentioned models were implemented. Hyperparameter optimization was applied to achieve the best possible results.
The results show that the GRU neural network has the potential to effectively detect abusive clauses in contract texts. In the case of this work, it is difficult to assess the impact of data preparation on the results, it may depend on the specific case. It is also indicated what further work can be done in this area and conclusions are presented.