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

153 lines
6.4 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 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.
Možné zdroje:
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.