zpwiki/pages/students/2021/vladimir_ferko/README.md

196 lines
8.0 KiB
Markdown

---
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 10.5.2024
Pravidlá pre filtrovanie datsetu:
1. "Dôveryhodní" ľudia idú do testovacej časti
2. 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.
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.