--- title: Vladimír Ferko published: true taxonomy: category: [bp2024] tag: [dialog,nlp] author: Daniel Hladek --- rok začiatku štúdia: 2021 študent KPI, pracovník DTSS ## Bakalárska práca 2024 - [Projekt HateSpeech](/topics/hatespeech) - [Pokyny KPI ku záverečným prácam](https://kpi.fei.tuke.sk/sk/zaverecne-prace) - Spolupráca: [Eduard Matovka](/students/2021/eduard_matovka) - Nadväzuje [Martin Jancura](/students/2017/martin_jancura) Názov: Anotácia a vyhodnotenie slovenskej databázy nenávistnej reči 1. Napíšte prehľad existujúcich dátových zdrojov pre úlohu rozpoznávania sentimentu a nenávistnej reči v diskusiách. 2. Pripravte korpus diskusií v slovenskom jazyku. Vyberte vhodný zdroj diskusí a pripravte ho do podoby vhodnej na anotáciu. 3. Modifikujte existujúcu aplikáciu pre úlohu anotácie nenávistnej reči v diskusiách. Napíšte návod pre anotáciu. 4. Anotujte čo najväčšie množstvo dát pre výskyt nenávistnej reči. 5. Štatisticky analyzujte výskyt anotovanej nenávistnej reči v diskusiách. Predbežné zadanie - úlohy na semester: - Vytvoriť slovenskú databázu diskusií. Databáza by mala byť prezentovateľná na konferencii a použiteľná pre rozpoznávanie nenávistnej reči. - zobrazte štatistiky získaných dát. - Anotovať sentiment diskusných príspevkov. - Možno anotovať nenávistnú reč. Toto konzultovať s p. Sokolovou. - Z nazbieraných dát zostavte a vyhodnoťte model Stretnutie 22.3. Stav: - Práca na vlastnej Flask aplikácii Úlohy: - Pripravte draft práce, ktorý bude obsahovať osnovu a texty ktoré máte. Pracujte na tom ďalej, popri praktických úlohách. - Naštudujte si [OffensEval 2019-20](https://sites.google.com/site/offensevalsharedtask/home). Do práce pridajte časť o tom čo to je, aké články sa o tom publikovali. - Vyhľadajte a opíšte podobné iniciatívy pre anotáciu HS. - Vo vašej antotačnej schéme napodobnite vybraný prístup (OffensEval). - Pred tým než začnete anotovať, konzultujme vybranú anotačnú schému. - Čím skôr začnite anotovať podľa vybranej schémy. Stretnutie 11.3. Stav: - Analýza zozbieraných dát z Facebooku pred anotáciou - výber rôznych kanálov. Vo forme notebooku. - Dáta sú v jednom súbore JSON Úlohy: - [x] Aplikujte detekciu emócií na dataset. Do datasetu zaraďte 20 percent pozitívneho, 20 neutrálneho a 60 negatívneho obsahu. - [x] Dataset premiešajte. Začnite anotovať, akýmkoľvek spôsobom. - [-] Do písomnej časti opíšte postup pri príprave dát. Stretnutie 8.2.2024 Stav: - Práca na identifikácii podobných príspevkov pomocou embeddingov. V matici sa vyhľadá každý dokument, ktorého kosínusová podobnosť je väčšia ako konštanta. Úlohy: - Získajte dáta z íných zdrojov, vhodné na anotáciu. Kritériá sú: miera výskytu nenávistnej reči, druh nenávistnej reči a legálne nástrahy (osobné dáta, licencia). Momentálne máme: - Facebook, rôzne profily. Problém je výskyt spamu - tématicky podobných príspevkov. Iné možné zdroje: - Reddit-Slovakia. - Diskusie pod článkami. Stretnutie 23.1.2024 Stav: - Práca iba na textovej časti. Úlohy: - Pripravte dátovú množinu na anotovanie. Vyberte také dáta, ktoré obsahujú málo spamu a primerané množstvo "hatespeech". Môžete "nascrapovať" nové zdroje, také ktoré sú vhodnejšie. - Pripravte aplikáciu na anotovanie a skúste anotovať pár jednotiek. Zaznamenajte chyby anotačnej aplikácie. - Ak bude aplikácia v poriadku, anotujte viac. - Pokračujte v práci na textovej časti podľa inštrukcií nižšie. - Pokračujte v otvorených úlohách. Zásobník úloh: - Prečistenie databázy na výskyt spamu: Pomocou modelu slovak-bert-mnlr identifikujte sémanticky podobné dokumenty. Ak má jeden dokument príliš veľa podobných, označte ho ako spam. Konzultovať s Stromko alebo Sopkovič. Asi bude treba použiť vektorový index. - Z anotovaných dát natrénujte model. Stretnutie 27.10.2023 Stav: - Podarilo sa rozbehať anotačnú aplikáciu a pripraviť dáta. Úlohy: - Pripravte aplikáciu na nasadenie. Pripravte dockerfile, pridajte CSS. Vyskúšajte aplikáciu a identifikujte chyby. - Pokračujte v teoretickej príprave podľa pokynov nižšie. Sústredte sa na anotáciu a automatické rozpznávanie nenávistnej reči. Môžete vyjadriť aj súvis medzi rozpoznávaním sentimentu a nenávistnej reči. Na vyhľadávanie článkov použite Google scholar. Do práce si poznačte bibliografický odkaz na článok ktorý preštudujete. Ku každému článku si napíšte poznámky čo ste sa dozvedeli. - Oboznámte sa so skriptom https://github.com/huggingface/transformers/tree/main/examples/pytorch/text-classification skúste ho rozbehať aj na iných vlastných dátach. - Prečítajte si knižku https://d2l.ai/ Zásobník úloh: - Analyzujte anotované dáta. Výsledky zobrazte do tabuľky. - Natrénujte a vyhodnoťte model. Stretnutie 13.10.2023 Stav: - Rozbehané Prodigy anotácie - Vyskúšaný model https://huggingface.co/kinit/slovakbert-sentiment-twitter Úlohy: - [ ] Vykonať prieskum literatúry. Aké sú existujúce anglické a slovenské databázy na analýzu sentimentu? Ako sa klasifikuje sentiment pomocou neurónových sietí? Prieskum by mal mať niekoľko strán a mal by obsahovať odkazy na odbornú literatúru a iné zdroje. https://github.com/slovak-nlp/resources Tu pozrite zoznam modelov a datasetov pre sentiment. Nájdite aj niekoľko článkov na tému "crowdsourcing dataset for sentiment classification". Robte si písomné poznámky, použije sa to do BP. - [ ] Vytvorte KEMT GIT repo. Nastavte tam synchronizáciu s KPI Git tak aby som mal prístup k zdrojovým kódom na stiahnutie a na tvorbu modelov. - Preštudujte si zdrojové kódy https://github.com/hladek/hate-annot a skúste ich rozbehať na svojom počítači s Vašimi dátami. Zásobník úloh: - Čím skôr rozbehať anotácie sentimentu alebo hate speech medzi študentami. - Zozbierané dáta využiť na natrénovanie modelu. - Oboznámte sa so skriptom https://github.com/huggingface/transformers/tree/main/examples/pytorch/text-classification skúste ho rozbehať aj na iných vlastných dátach. - Prečítajte si knižku https://d2l.ai/ Stretnutie 8.8. Stav: - vypracovaný skript pre získanie dát z Reditt Úlohy: - [x] Rozbehajte u seba jednoduché anotácie pomocou Prodigy. V texte označujte časti, ktoré sú urážlivé. Môžete to urobiť podľa skritpov v https://git.kemt.fei.tuke.sk/dano/annotation . Dáta anotujete podobne ako "named entities". Zásobník úloh: - Finalizovať dátovú množinu (facebook alebo reddit) a anotačnú schému. - Pripraviť návod pre anotátorov - Pripraviť webovú appku na sledovanie anotácií. - Natrénovať model. Stretnutie 29.6.2023 Stav: - Je hotový skript pre zber diskusií z Facebooku. Skript je Python, Selenium a BS4. Úlohy: - [ ] Vykonať prieskum literatúry. Aké sú existujúce anglické a slovenské databázy na analýzu sentimentu? Ako sa klasifikuje sentiment pomocou neurónových sietí? Prieskum by mal mať niekoľko strán a mal by obsahovať odkazy na odbornú literatúru a iné zdroje. https://github.com/slovak-nlp/resources Tu pozrite zoznam modelov a datasetov pre sentiment. - [ ] Skript na stiahnutie s krátkym komentárom dajte na KEMT GIT. Repo nazvite BP2024 - [ ] Vyskúšajte rozpoznávanie sentimentu pre slovenčinu pomocou existujúceho modelu Huggingface Transformers. https://huggingface.co/kinit/slovakbert-sentiment-twitter Vyskúšajte tento model. - V prípade potreby Vám viem prideliť prístup na školský server s GPU.