zpwiki/pages/students/2017/martin_jancura/README.md

132 lines
4.8 KiB
Markdown

---
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:
- Pripraviť backend.
- Pripraviť frontend v Javascripte - in progress.
- Zapisať človekom urobený preklad do databázy.
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 pomocou Microsoft a IBM. Aplikácia používa Express.JS
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.