| .. | ||
| README.md | ||
| title | published | taxonomy | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Martin Jancura | true | 
  | 
Martin Jancura
Rok začiatku štúdia: 2017
Diplomový projekt
Téma: Rozpoznávanie emócií z textu.
Návrh na zadanie diplomovej práce:
- Vypracujte prehľad metód rozpoznávania sentimentu z textu.
 - Vyberte vhodný moodel pre rozpoznávanie sentimentu v slovenských textovh.
 - Vytvorte slovenskú overovaciu množinu pre rozpoznávanie sentimentu.
 
Ciele:
- Vedieť klasifikovať emocionálny náboj v texte pomocou neurónovej siete.
 
Ciele na semester:
- Získať prehľad v problematike rozpoznávania emócií z textu
 - Vybrať dátovú množinu, vybrať vhodný klasifikátor, natrénovať model a vyhodnotiť výsledky.
 
Informácie:
Stretnutie 20.1.2023
Stav:
- Vylepšený scraper, tak by zachytával jednotilivé príspevky, autora, text aj rating.
 - Teoretická časť nebola urobená.
 
Úlohy:
- Vpracujte písomný prehľad datasetov pre slovenčinu a rozpoznávanie emócií https://github.com/slovak-nlp/resources.
 - Vypracujte prehľad neurónových metód na rozpoznávanie emócií z textu. bert, roberta, gpt.
 - Do scrapera skúste doplniť zaznamenanie ID nadradeného príspevku. ID môže byť aj nejaký hash.
 - Zistite, ako sa pomocou modelu GPT robí "zero shot sentiment classification".
 - Vyskúšajte slovenský model pre klasifikáciu sentimentu https://huggingface.co/kinit/slovakbert-sentiment-twitter.
 - Ručne anotujte vytvorenú databázu diskusných príspevkov z topky.sk
 - Urobte klasifikáciu príspevkov pomocou neurónového modelu a vyhodnoťte presnosť (accuracy, precision, recall).
 
Zásobník úloh:
- Urobte zero shot classification pomocou slovenského GPT .
 
Stretnutie 25.11.
Stav:
- Vieme parsovať Disqus fóra z topky.sk. Vieme získať nadpis a hlavičku článku, tagy článku. Vieme odlíšiť jednotlivé diskusné príspevky. Scraper je v javascripte, knižnica puppeteer.
 
Úlohy:
- Zdrojové texty scrapera dajte do git repozitára.
 - Nainštalujte si balíček Anaconda a HF transformers.
 - Pozrite si tento model https://huggingface.co/cardiffnlp/twitter-xlm-roberta-base-sentiment. Vyskúšajte ho na anglickom texte aj na slovenskom texte. Prečítajte si vedecký článok a urobte si poznámky.
 - Prečítajte si článok o modeli XLM a napíšte poznámky. Prečítajte si vedecký článok o datasete, ktorý bol použitý a urobrte si poznámky. Vyhľadajte si dataset na huggingface HUB a pozrite sa ako vyzerá. Na vyhľadávanie použite TUKE sieť a google scholar.
 
Zásobník úloh:
- Zo získaných slovenských dát vytvorte overovaciu množinu pre vybranýb model pre klasifikáciu sentimentu.
 - Pozrieť či existuje databáza.
 
Stretnutie 8.6.
Stav:
- Vypracovaný tutoriál huggingface
 - Vytvorený jednoduchý scraper Beautifulsoup na Topky.sk
 - Rozpracovaný scraper Selenium
 
Úlohy:
- [-] Dať kódy na GIT - scraper (twitter, topky) aj tutorial
 - Dopísať písomnú správu o tutoriáli (2 až 3 strany) - čo ste sa dozvedeli o BERT, čo ste urobili. Dajte to do README.md.
 
Stretnutie 20.5.2022
Mierny pokrok nastal len v oblasti Python.
Úlohy:
- Pokračovať v otvorených úlohách.
 - Chceme sa sústrediť na "sledovanie medií".
 - Vytvoriť skript pre sledovanie Twitter kanálov. Skript by mal v pravidelných interovaloch získať nový obsah a uložiť ho do databázy (cassandra?). Zistitie, ktoré informácie o príspevkoch sú dôležité. čo vieme zistiť o príspevkoch?
 - Aký emočný náboj je v príspevku? Cieľom môže byť detekcia nenávistného obsahu.
 
11.3.2022
Návrh na tému:
- Sledovanie médií alebo sociálnych sietí. - blogy, noviny, diskusie, twitter.
 - Zistenie metainformácií o príspevkoch.
 - Spracovanie príspevku - identifikácia sentimentu, detekcia nenávistnej reči, určenie témy príspevku, lepšie vyhľadávanie v databáze príspevkov. Ktorý materiál sa týka určitej témy?
 
Návrh na postup:
- Oboznámenie sa s problematikou.
 - Zostavenie databázy príspevkov. Stiahnutie a predspracovanie.
 - Spracovanie databázy - natrénovanie neurónovej siete, klasifikácia a vyhodnotenie.
 
Úlohy:
- Zistite ako funguje neurónový jazykový model typu BERT - ako ho trénujeme a ako ho dotrénujeme. Zistite ako vieme pomocou neurónového jazykového modelu rozpoznávať sentiment v texte. Napíšte o tom krátku správu.
 - Nainštalujte si Anaconda, Oboznámte sa s knižnicou HuggingFace Transformers. Vyberte si tutoriál, prejdite ho a napíšte krátku správu.
 - Vyskúšajte tento model pre klasifikáciu anglických textov.
 
Zásobník úloh:
- Pokračujte v štúdiu Pythonu, Oboznámte sa s Twitter API a zistite ako získať nejaký príspevok na Twitteri.
 - Naučte sa pracovať s knižnicou BeautifulSoup a pripravte scraper na vybraný zdroj.
 
Stretnutie 4.3.2022
Nápady na tému diplomovej práce:
- Strojový preklad pomocou neurónových sietí.
 - Rozpoznávanie reči pomocou transformerov - Hubert.
 - Rozpoznávanie nenávistnej reči pomocou transfomers.
 - Sledovanie medií - vytvorenie databázy a jej analýza.
 - Rozpoznávanie (klasifikácia) obrázkov pomocou neurónovej siete.
 
Úlohy:
- Porozmýšľajte nad každou hore uvedenou témou.
 - Porozmýšľajte nad témou čo by Vás bavila.
 - Pokračujte v štúdiu Pythonu.
 - Oboznámte sa s knižnicou HuggingFace Transformers alebo s knižnocou fairseq.
 
Bakalárska práca 2020
Názov: Webová aplikácia pre demonštráciu strojového prekladu
- Vypracujte teoretický úvod do strojového prekladu. Vypracujte prehľad komerčných služieb pre automatický preklad.
 - Podrobne vysvetlite zvolenú metódu strojového prekladu.
 - Vytvorte demonštračnú webovú aplikáciu v Javascripte pomocou ktorej je možné vyskúšať viaceré služby pre strojový preklad.
 - Navrhnite možné zlepšenia Vami vytvorenej aplikácie.
 
Zásobník úloh:
- Zapisať človekom urobený preklad do databázy.
 - Vyrobiť deployment a zverejniť stránku s demom.
 - pripraviť modul s vlastným prekladom.
 - Vyhodnotiť preklad metódou BLEU
 
Stretnutie 26.3
Stav:
- Práca na písomnej časti, kontrola na budúce.
 
Úlohy:
- Pripravte deployment dema so strojovým prekladom
 
Stretnutie 13.3.
Stav:
- práca na písomnej časti (neurónový strojový preklad).
 - odladená chyba axios cors na translation.tukekemt.xyz.
 
Úlohy:
- Písať.
 
Stretnutie 5.3.
Stav:
- Nastal progres v písomnej časti, pokračujte ďalej
 
Stretnutie 26.2.
Stav:
- Prerobený úvod práce podľa nového zadania.
 - Práca na vlastnom backende (vedúci). Backend je prístupný na https://translation.tukekemt.xyz/ende/.
 
Úlohy:
- Pokračujte v písomnej práci.
 - Backend momentálne nefunguje. Keď bude fungovať, pracujte na napojení na frontend.
 
Bakalársky projekt 2020
Konzultácie sa budú konať osobne alebo cez Teams minimálne raz za dva týždne, menej ako 6 konzultácií za semester je dôvodom pre zníženie hodnotenia semester je dôvodom pre zníženie hodnotenia alebo neudelenie zápočtu. Odporúčaný čas konzultácie je piatok.
Možné backendy:
- https://opennmt.net/OpenNMT/installation/
 - FairSeq
 - Dokumentácia k OpenNMT-py REST servru
 - [Zdrojové kódy k REST Servru](https://github.com/OpenNMT/OpenNMT-py/blob/master/onmt/bin/server.py|
 
Poznámka vedúceho 2.2
Inštalácia OpenNMT-py na servri idoc:
OpenNMT-py vyžaduje verziu Pytorch presne 1.6.0.
CUDA 11 na idoc nefunguje, lebo je tam príliš starý nvidia driver (420).
conda create -n openmnt
conda activate opennmt
conda install pytorch=1.6.0 torchvision torchaudio cudatoolkit=9.2 -c pytorch
pip install OpenNMT-py
Jednoduchý návod na trénovanie.
Stretnutie 29.1.2021
Stav:
- Práca na prezentácii.
 - Dohoda na zadaní.
 
Úlohy:
- Dorobiť REST API pomocou nmt-wizard-docker - pre vedúceho.
 
Stretnutie 26.1.2021
Stav:
- Práca na textovej časti
 - Práca na prezentácii
 - Urobený tutoriál OpenNMP-py, natrénovaný model na preklad z angličtiny do nemčiny.
 
Úlohy:
- Pracovať na teoretickej časti - doplňte aj o metódach vyhodnotenia BLEU
 - Dokončiť prezentáciu
 - Spojiť webovú aplikáciu s vlastným rest API.
 - Pozrieť si výstupy práce P. Pavlišin
 
stretnutie 18.12.2020:
Stav:
- inštalácia OpenNMT-py: zlyhala proavdepodobne kvôli konfigurácii CUDA
 - práca na písomnej časti pokračuje
 - kompletne prerobené kódy pre preklad (frontend aj backend) pomocou Microsoft a IBM. Aplikácia používa Express.JS
 - kódy sú dostupné na https://git.kemt.fei.tuke.sk/mj130zg/BP2021
 
Virtuálne stretnutie 4.12.2020:
Stav:
- Inštalácia OpenNMT-py. Tutoriál zatiaľ nefunguje, pravdepodobne kvôli chybne nainštalovanej knižnici numpy.
 
Úlohy na ďalšie stretnutie:
- Vypracujte písomný prehľad metód strojového prekladu pomocou neurónových sietí. Prehľad by mal obsahovať odkazy na aktuálnu odbornú literatúru - knihy a články. V prehľade vysvetlite aj čo je to architektúra seq2seq, (endkóder-dekóder). Nájdite odborné články o opennmt, prečítajte si ich a napíšte čo ste sa dozvedeli.
 - (vedúci) urobiť deployment openmnt-py (flask,wsgi).
 - Pokračujte v tutoriáli openmt-py. Pre inštaláciu závislostí (pytorch, numpy, cuda) použite systém Anaconda.
 
Virtuálne stretnutie 6.11.2020:
Stav:
Práca na písomnej časti.
Úlohy do ďalšieho stretnutia:
- Pohľadať takú knižnicu, kde vieme využiť vlastný preklad. Skúste si nainštalovať OpenNMT.
 - Prejdite si tutoriál https://github.com/OpenNMT/OpenNMT-py#quickstart alebo podobný.
 - Navrhnite ako prepojiť frontend a backend.
 
Virtuálne stretnutie 23.10.2020:
Stav:
- Urobený frontend pre komunikáciu s Microsof Translation API, využíva Axios a Vanilla Javascriupt
 
Úlohy do ďalšieho stretnutia:
- Pohľadať takú knižnicu, kde vieme využiť vlastný preklad. Skúste si nainštalovať OpenNMT.
 - Zistiť čo znamená politika CORS.
 - Pokračujte v písaní práce, pridajte časť o strojovom preklade.. Prečítajte si články https://opennmt.net/OpenNMT/references/ a urobte si poznámky. Do poznámky dajte bibliografický odkaz a čo ste sa dozvedeli z článku.
 
Virtuálne stretnutie 16.10:
Stav:
- Začiatok práce na textovej časti, napísaný úvod
 - Vytvorený repozitár https://git.kemt.fei.tuke.sk/mj130zg/BP2021
 - Vytvorené poznámky ku existujúcemu JS api
 - Na ďalšie práce použiť IBM Watson na strane frontendu, ale pripraviť sa na vlastný backend.
 
Do ďalšieho stretnutia:
- Prezentovať frontend s IBM Watson alebo Microsoft, kódy dajte do repozitára.
 - Pohľadať takú knižnicu, kde vieme využiť vlastný preklad.
 - Zistiť čo znamená politika CORS.
 - Pokračujte v písaní práce, pridajte časť o strojovom preklade.
 
Virtuálne stretnutie 9.10:
Do ďalšieho stretnutia:
- 
Pripraviť si poznámky o tom čo ste sa dozvedeli o NLP na odovzdanie na kontrolu.
 - 
Vytvoriť repozitár na GITe kde sa budú dávať zdrojové kódy. (adresár backend, adresár frontend, súbor README).
 - 
Do súboru README napíšte možné API ktoré ste našli aj s krátkym opisom.
 - 
V prvej fáze môžete využiť existujúce Cloud API.
 
Stav:
- rozhodli sme sa pre demonštráciu strojového prekladu.
 - našli ste niekoľko API na strojový preklad (platené, alebo obmedzené).
 
Stretnutie 30.9.
Nápady na úlohu NLP:
- 
demo Spacy
 - 
strojový preklad pomocou machine-translator
 - 
chatbot napr. chatbot
 - 
Niektorú knižnicu z blogu
 - 
vyhľadajte natural language processing for javascript.
 - 
Na ďalšom stretnutí si vyberieme konkrétnu tému NLP.
 - 
Pripraviť si poznámky o tom čo ste sa dozvedeli o NLP.