2020-09-22 07:41:31 +00:00
---
2020-10-01 13:33:21 +00:00
title: Martin Jancura
2020-10-01 13:15:25 +00:00
published: true
2020-09-22 07:41:31 +00:00
taxonomy:
2021-12-16 08:15:36 +00:00
category: [bp2021,dp2023]
2020-12-04 10:03:53 +00:00
tag: [opennmt,translation,demo,nlp]
2020-10-01 13:15:25 +00:00
author: Daniel Hladek
2020-09-22 07:41:31 +00:00
---
# Martin Jancura
2020-09-30 12:56:33 +00:00
*Rok začiatku štúdia*: 2017
2020-09-22 07:41:31 +00:00
2022-03-04 12:01:01 +00:00
## Diplomový projekt
2022-11-25 09:38:56 +00:00
Téma: Rozpoznávanie emócií z textu.
TODO: Návrh na zadanie diplomovej práce.
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:
- [Hate speech Project ](/topics/hatespeech )
- https://www.sciencedirect.com/topics/computer-science/emotion-detection
Stretnutie 25.11.
Stav:
2022-11-25 09:50:20 +00:00
- 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.
2022-11-25 09:38:56 +00:00
Úlohy:
2022-11-25 09:50:20 +00:00
- Zdrojové texty scrapera dajte do git repozitára.
- Vyberte 3 vedecké články, prečítajte si ich a napíšte poznámky čo ste sa dozvedeli. Poznačte si bibliografické informácie o článkoch. Heslá na vyhľadávanie: eomotion recognition, transfer learning, deep learning, emotion classification, emotion detection. Na vyhľadávanie článkov použite google scholar alebo scopus.com.
- Nainštalujte si balíček Anaconda.
2022-11-25 09:38:56 +00:00
Zásobník úloh:
2022-06-08 08:23:11 +00:00
Stretnutie 8.6.
2022-05-30 11:52:07 +00:00
2022-06-08 08:23:11 +00:00
Stav:
- Vypracovaný tutoriál huggingface
- Vytvorený jednoduchý scraper Beautifulsoup na Topky.sk
- Rozpracovaný scraper Selenium
Úlohy:
2022-11-25 09:50:20 +00:00
- [-] 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.
2022-05-30 11:52:07 +00:00
2022-05-20 09:05:53 +00:00
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í".
2022-05-30 11:52:07 +00:00
- [x] 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?
2022-05-20 09:08:54 +00:00
- Aký emočný náboj je v príspevku? Cieľom môže byť detekcia nenávistného obsahu.
2022-05-20 09:05:53 +00:00
2022-03-11 11:42:42 +00:00
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:
1. Oboznámenie sa s problematikou.
2022-05-20 09:05:53 +00:00
2. Zostavenie databázy príspevkov. Stiahnutie a predspracovanie.
2022-03-11 11:42:42 +00:00
3. Spracovanie databázy - natrénovanie neurónovej siete, klasifikácia a vyhodnotenie.
2022-03-11 11:51:48 +00:00
Úlohy:
2022-05-30 11:52:07 +00:00
- [ ] 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 ](https://huggingface.co/nlptown/bert-base-multilingual-uncased-sentiment ) pre klasifikáciu anglických textov.
2022-03-11 11:59:57 +00:00
Zásobník úloh:
2022-05-30 11:52:07 +00:00
- [x] 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.
2022-03-11 11:59:57 +00:00
2022-03-11 11:51:48 +00:00
2022-03-04 12:13:52 +00:00
Stretnutie 4.3.2022
2022-03-04 12:01:01 +00:00
Nápady na tému diplomovej práce:
- Strojový preklad pomocou neurónových sietí.
2022-03-04 12:13:52 +00:00
- 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.
2022-03-04 12:01:01 +00:00
2021-02-26 13:11:09 +00:00
## Bakalárska práca 2020
2020-09-22 07:41:31 +00:00
2021-02-03 12:29:36 +00:00
Názov: Webová aplikácia pre demonštráciu strojového prekladu
2020-09-22 07:41:31 +00:00
2021-01-29 13:11:29 +00:00
1. Vypracujte teoretický úvod do strojového prekladu. Vypracujte prehľad komerčných služieb pre automatický preklad.
2. Podrobne vysvetlite zvolenú metódu strojového prekladu.
3. Vytvorte demonštračnú webovú aplikáciu v Javascripte pomocou ktorej je možné vyskúšať viaceré služby pre strojový preklad.
2020-09-30 12:56:33 +00:00
4. Navrhnite možné zlepšenia Vami vytvorenej aplikácie.
2021-02-26 13:11:09 +00:00
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
2021-03-26 10:28:53 +00:00
[repozitár ](https://git.kemt.fei.tuke.sk/mj130zg/BP2021 )
Stretnutie 26.3
Stav:
- Práca na písomnej časti, kontrola na budúce.
Úlohy:
- Pripravte deployment dema so strojovým prekladom
2021-03-12 09:31:42 +00:00
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ť.
2021-02-26 13:11:09 +00:00
2021-03-05 08:38:12 +00:00
Stretnutie 5.3.
Stav:
- Nastal progres v písomnej časti, pokračujte ďalej
2021-02-26 13:11:09 +00:00
Stretnutie 26.2.
Stav:
2021-02-26 13:24:40 +00:00
- 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.
2021-02-26 13:11:09 +00:00
## Bakalársky projekt 2020
2020-09-30 12:56:33 +00:00
Konzultácie sa budú konať osobne alebo cez [Teams ](https://teams.microsoft.com/l/team/19%3aa8596a401a3842e5b91ac918a2a0afb1%40thread.tacv2/conversations?groupId=4fc0c627-d424-4587-b73a-2e47509862e9&tenantId=1c9f27ef-fee6-45f4-9a64-255a8c8e25a5 ) 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.
2020-10-12 05:48:18 +00:00
Možné backendy:
2020-09-30 12:56:33 +00:00
2020-10-12 05:48:18 +00:00
- https://opennmt.net/OpenNMT/installation/
- FairSeq
2021-02-02 08:22:26 +00:00
- [Dokumentácia k OpenNMT-py REST servru ](https://forum.opennmt.net/t/simple-opennmt-py-rest-server/1392 )
- [Zdrojové kódy k REST Servru](https://github.com/OpenNMT/OpenNMT-py/blob/master/onmt/bin/server.py|
2020-10-09 07:49:31 +00:00
2021-02-02 16:36:10 +00:00
### Poznámka vedúceho 2.2
2021-02-02 16:40:04 +00:00
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).
2021-02-02 16:36:10 +00:00
```
conda create -n openmnt
conda activate opennmt
conda install pytorch=1.6.0 torchvision torchaudio cudatoolkit=9.2 -c pytorch
pip install OpenNMT-py
```
2021-02-03 12:29:36 +00:00
[Jednoduchý návod na trénovanie ](https://opennmt.net/OpenNMT-py/quickstart.html ).
2021-02-02 16:36:10 +00:00
2021-02-02 08:22:26 +00:00
### Stretnutie 29.1.2021
2021-01-29 13:02:26 +00:00
Stav:
2021-01-29 13:12:37 +00:00
- Práca na prezentácii.
- Dohoda na zadaní.
2021-01-29 13:02:26 +00:00
Úlohy:
- Dorobiť REST API pomocou nmt-wizard-docker - pre vedúceho.
2021-02-02 08:22:26 +00:00
### Stretnutie 26.1.2021
2021-01-26 13:20:26 +00:00
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:
2021-01-26 13:24:27 +00:00
- Pracovať na teoretickej časti - doplňte aj o metódach vyhodnotenia BLEU
2021-01-26 13:20:26 +00:00
- Dokončiť prezentáciu
- Spojiť webovú aplikáciu s vlastným rest API.
- Pozrieť si výstupy práce P. [Pavlišin ](/students/2016/patrik_pavlisin )
2021-02-02 08:22:26 +00:00
### stretnutie 18.12.2020:
2020-12-18 11:04:55 +00:00
Stav:
- inštalácia OpenNMT-py: zlyhala proavdepodobne kvôli konfigurácii CUDA
- práca na písomnej časti pokračuje
2020-12-18 11:07:05 +00:00
- 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
2020-12-18 11:04:55 +00:00
2021-02-02 08:22:26 +00:00
### Virtuálne stretnutie 4.12.2020:
2020-12-04 10:03:53 +00:00
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.
2020-11-06 11:49:27 +00:00
2021-02-02 08:22:26 +00:00
### Virtuálne stretnutie 6.11.2020:
2020-11-06 11:49:27 +00:00
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.
2020-11-06 11:52:58 +00:00
- Prejdite si tutoriál https://github.com/OpenNMT/OpenNMT-py#quickstart alebo podobný.
2020-11-06 11:59:46 +00:00
- Navrhnite ako prepojiť frontend a backend.
2020-11-06 11:49:27 +00:00
2021-02-02 08:22:26 +00:00
### Virtuálne stretnutie 23.10.2020:
2020-10-23 08:30:45 +00:00
Stav:
- Urobený frontend pre komunikáciu s Microsof Translation API, využíva Axios a Vanilla Javascriupt
2020-11-06 11:49:27 +00:00
Úlohy do ďalšieho stretnutia:
2020-10-23 08:30:45 +00:00
2020-10-23 08:49:01 +00:00
- Pohľadať takú knižnicu, kde vieme využiť vlastný preklad. Skúste si nainštalovať OpenNMT.
2020-10-23 08:30:45 +00:00
- Zistiť čo znamená politika CORS.
2020-10-23 08:49:01 +00:00
- 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.
2020-10-23 08:30:45 +00:00
2021-02-02 08:22:26 +00:00
### Virtuálne stretnutie 16.10:
2020-10-16 08:26:00 +00:00
Stav:
- Začiatok práce na textovej časti, napísaný úvod
- Vytvorený repozitár https://git.kemt.fei.tuke.sk/mj130zg/BP2021
2020-10-16 08:51:29 +00:00
- 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:
2020-10-16 08:54:06 +00:00
- Prezentovať frontend s IBM Watson alebo Microsoft, kódy dajte do repozitára.
2020-10-16 08:51:29 +00:00
- Pohľadať takú knižnicu, kde vieme využiť vlastný preklad.
- Zistiť čo znamená politika CORS.
2020-10-16 08:54:06 +00:00
- Pokračujte v písaní práce, pridajte časť o strojovom preklade.
2020-10-12 05:48:18 +00:00
2021-02-02 08:22:26 +00:00
### Virtuálne stretnutie 9.10:
2020-10-12 05:48:18 +00:00
2020-10-09 07:49:31 +00:00
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.
2020-10-16 08:51:29 +00:00
2020-10-09 07:52:07 +00:00
- V prvej fáze môžete využiť existujúce Cloud API.
2020-10-09 07:49:31 +00:00
Stav:
- rozhodli sme sa pre demonštráciu strojového prekladu.
- našli ste niekoľko API na strojový preklad (platené, alebo obmedzené).
2020-09-30 12:56:33 +00:00
2021-02-02 08:22:26 +00:00
### Stretnutie 30.9.
2020-09-30 12:56:33 +00:00
Nápady na úlohu NLP:
- demo [Spacy ](https://github.com/explosion/spacy-services )
- strojový preklad pomocou [machine-translator ](https://www.npmjs.com/package/machine-translator )
- chatbot napr. [chatbot ](https://github.com/ddsky/chatbot )
- Niektorú knižnicu z [blogu ](https://www.kommunicate.io/blog/nlp-libraries-node-javascript/ )
- 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.
2020-09-22 07:41:31 +00:00