Vladimír Ferko
rok začiatku štúdia: 2021
študent KPI, pracovník DTSS
Bakalárska práca 2024
- Projekt HateSpeech
- Pokyny KPI ku záverečným prácam
- Spolupráca: Eduard Matovka
- Nadväzuje Martin Jancura
Názov: Anotácia a vyhodnotenie slovenskej databázy nenávistnej reči
- Napíšte prehľad existujúcich dátových zdrojov pre úlohu rozpoznávania sentimentu a nenávistnej reči v diskusiách.
- Pripravte korpus diskusií v slovenskom jazyku. Vyberte vhodný zdroj diskusí a pripravte ho do podoby vhodnej na anotáciu.
- Modifikujte existujúcu aplikáciu pre úlohu anotácie nenávistnej reči v diskusiách. Napíšte návod pre anotáciu.
- Anotujte čo najväčšie množstvo dát pre výskyt nenávistnej reči.
- Š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 10.5.2024
Stav:
- Natrénovaný prvý model slovakbert
- Práca na mdeberta
Úlohy:
- Konvertujte úlohu na binárnu klasifikáciu.
- Zlepšite fitrovanie datasetu.
- Natrénujte a vyhodnoťte nové modely pre viac filtrované datasety. Do práce dajte zapíšte výsledné veľkosti a výsledky.
Pravidlá pre filtrovanie datsetu:
- "Dôveryhodní" ľudia idú do testovacej časti
- Máme tri hlasy ku jednému prísmevku. Na určenie triedy nám treba minimálne dva súhlasné hlasy. Ak výjde trieda neviem tak anotáciu vyradíme. Tie hlasy ktoré majú ++= tie sú plus, tieh hlasy ktorú su --=,. tie sú mínus. Ostatné príspevky zahodíme.
- Vyskúšať: Vyhodiť vzorku aj pri akomkoľvek vnútornom nesúhlase. Je viac filtrovaná množina lepšia?
Zásobník úloh:
- Vytvoriť HF Dataset.
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. 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.