---
title: Martin Jancura
published: true
taxonomy:
    category: [bp2021]
    tag: [opennmt,translation,demo,nlp]
    author: Daniel Hladek
---
# Martin Jancura

*Rok začiatku štúdia*:  2017

## Bakalársky projekt 2020

Názov: Webová aplikácia pre demonštráciu spracovania  prirodzeného jazyka

1. Vyberte a naštudujte metódu spracovania prirodzeného jazyka. 
2. Vypracujte teoretický úvod do zvolenej metódy spracovania prirodzeného jazyka.
3. Vytvorte demonštračnú webovú aplikáciu pomocou ktorej je možné vyskúšať zvolenú metódu.
4. Navrhnite možné zlepšenia Vami vytvorenej aplikácie.

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.

Možné backendy:

- https://opennmt.net/OpenNMT/installation/
- FairSeq 

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.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
- Dorobiť REST API pomocou ctranslate2 (exportovať model) - pre vedúceho.
- Spojiť webovú aplikáciu s vlastným rest API.
- Pozrieť si výstupy práce P. [Pavlišin](/students/2016/patrik_pavlisin)
 

Virtuálne 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](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.


