---
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 strojového prekladu.
2. Vypracujte teoretický úvod do strojového prekladu a do zvolenej metódy.
3. Vytvorte demonštračnú webovú aplikáciu v Javascripte pomocou ktorej je možné vyskúšať zvolenú metódu strojového.
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 29.1.2021

Stav:

- Práca na prezentácii

Ú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](/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.


