--- 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.