--- title: Maroš Harahus published: true taxonomy: category: [dp2021,bp2019] tag: [spacy,nlp] author: Daniel Hladek --- # Maroš Harahus Názov diplomovej práce: Neurónová morfologická anotácia slovenského jazyka ## Návrh na zadanie DP 1. Vysvetlite, ako funguje neurónová morfologická anotácia v knižnici Spacy. Vysvetlite, ako funguje predtrénovanie v knižnici Spacy. 2. Pripravte slovenské trénovacie dáta vo vhodnom formáte a natrénujte základný model morfologickej anotácie pomocou knižnice Spacy. 3. Pripravte model pre morfologickú anotáciu s pomocou predtrénovania. 4. Vyhodnoťte presnosť značkovania modelov vo viacerých experimentoch a navrhnite možné zlepšenia. ## Diplomový projekt 2 2020 Zásobník úloh: - skúsiť prezentovať na lokálnej konferencii, (Data, Znalosti and WIKT) alebo fakultný zborník (krátka verzia diplomovky). - Využiť korpus Multext East pri trénovaní. Vytvoriť mapovanie Multext Tagov na SNK Tagy. Stretnutie 12.2. Stav: - Práca na texte Do ďalšieho stretnutia: - Opraviť text podľa ústnej spätnej väzby Stretnutie 25.1.2021 Stav: - Urobená prezentácia, spracované experimenty do tabuľky. Do ďalšieho stretnutia: - Pracovať na súvislom texte. Virtuálne stretnutie 6.11.2020 Stav: - Prečítané (podrobne) 2 články a urobené poznámky. Poznánky sú na GITe. - Dorobené ďalšie experimenty. Úlohy do ďalšieho stretnutia: - Pokračovať v otvorených úlohách. Virtuálne stretnutie 30.10.2020 Stav: - Súbory sú na GIte - Vykonané experimenty, Výsledky experimentov sú v tabuľke - Návod na spustenie - Vyriešenie technických problémov. Je k dispozicíí Conda prostredie. Úlohy na ďalšie stretnutie: - Preštudovať literatúru na tému "pretrain" a "word embedding" - [Healthcare NER Models Using Language Model Pretraining](http://ceur-ws.org/Vol-2551/paper-04.pdf) - [Design and implementation of an open source Greek POS Tagger and Entity Recognizer using spaCy](https://ieeexplore.ieee.org/abstract/document/8909591) - https://arxiv.org/abs/1909.00505 - https://arxiv.org/abs/1607.04606 - LSTM, recurrent neural network, - Urobte si poznámky z viacerých čnánkov, poznačte si zdroj a čo ste sa dozvedeli. - Vykonať viacero experimentov s pretrénovaním - rôzne modely, rôzne veľkosti adaptačných dát a zostaviť tabuľku - Opísať pretrénovanie, zhrnúť vplyv pretrénovania na trénovanie v krátkom článku cca 10 strán. Virtuálne stretnutie 8.10.2020 Stav: - Podarilo sa vykonať pretrénovanie aj trénovanie, prvé výsledky experimentov. - pretrénovanie funguje na GPU, použila sa verzia spacy 2.2, trénovanie na IDOC - trénovanie ide lepšie na CPU - vyskytol sa problém že nevie alokovať viac ako 2GB RAM - 200 iterácií pretrénovania, 4000 riadkov viet Úlohy do ďalšieho stretnutia: - Dať zdrojáky na GIT - Urobiť porovnanie voči presnosti bez pretrain - Výsledky dajte do tabuľky - aké parametre ste použili pri trénovaní a pretrénovaí? - experimenty si poznačte do skriptu aby sa dali zopakovať - Do článku (do súboru README na GIte) presne opíšte nastavenie experimentu - parametre, dáta a spôsob overenia, aspoň rozpracovať. - Začnite spisovať teoretickú časť článku, aspoň rozpracovať. Stretnutie 25.9.2020 Stav: - chyba pri použití príkazu pretrain, ktorá sa objavila s novou verziou Spacy Úlohy do ďalšieho stretnutia: - pokračovať so starou verziou Spacy (2.2) Návrhy na zlepšenie: - Použiť viac textových dát. Zvážiť publikovanie na: http://conf.uni-obuda.hu/sami2021/index.html - najprv napísať po slovensky, potom sa to preloží - opísať experimenty ## Diplomový projekt 2020 Zdroje: - [Jazykové zdroje](/topics/resources) Doplnenie podpory morfologického značkovania slovenského jazyka do nlp frameworku (spacy alebo flair) - Úlohy na tento semester: - Pozrieť jazykové zdroje z https://www.clarin.eu/resource-families/manually-annotated-corpora (MultextEast) - Oboznámte sa so sadou morfologických značiek Universal Dependencies https://universaldependencies.org/sk/index.html - Oboznámte sa so sadou SNK https://korpus.sk/morpho.html - Natrénovať Spacy Model s POS a s pretrénovaním Stretnutie 23.6.2020: - Výsledok: [Skript na trénovanie Spacy POS](https://git.kemt.fei.tuke.sk/mh496vd/diplomovka/src/branch/master/script.sh) Stretnutie 12.6.2020: - Pretrénovanie Fasttext a trénovanie POS Spacy modelu - ešte treba vylepšiť presnosť K zápočtu: - Finálny okomentovaný skript pre trénovanie POS modelu podľa Slovak Treebank s pretrénovaním Fasttext. - Ak sa dá tak pri trénovaní využite GPU - Zistite výslednú presnosť, mala by byť nad 80 percent. - Porovnajte s presnosťou bez pretrénovania. Virtuálne stretnutie 15.5.2020: - Spustenie exitujúceho skriptu pre trénovanie POS modelu z repozitára spacy-skmodel, problém nastal pri NER dátach. - Vytvorený [repozitár](https://git.kemt.fei.tuke.sk/mh496vd/diplomovka) Nové úlohy: - Podrobne preštudovať a realizovať [spacy pretrain](https://spacy.io/api/cli#pretrain) - [Blog o Spacy pretrain](https://explosion.ai/blog/spacy-v2-1) Revízia 9.4.2020: Report o doterajšej práci: - naštudovanie Fasttext - implementácia do Spacy - úprava modelu v spacy na rozpoznanie jazyka - snaha o spacy-udpipe pre non-English text Nové úlohy: - pridajte zdrojový text a odkaz na "implementáciu". - natrénujte model podľa https://git.kemt.fei.tuke.sk/dano/spacy-skmodel - skúste pridať "word-embeddingy" z fasttext do trénovania. - vyhodnoťte natrénovaný model - zistite presnosť značkovania. Aký vplyv majú embeddingy na presnosť? - porozmýšľajte ako sa dá presnosť zlepšiť. Stretnutie 5.3.2020: Úlohy na ďalšie stretnutie: - zobrať alebo vytvoriť fasttext model - pozrieť sa na [spacy pretrain](https://spacy.io/api/cli) - tam sa bude dať využiť fasttext model - vložiť ho do spacy modelu pomocou `spacy pretrain` - pozrieť si http://nl.ijs.si/ME/V4/ morfosyntaktická anotácia MULTEXT - porozmýšľať ako využiť korpus "MultextEast" - potrebné vytvoriť mapovanie značiek na SNK Tagset Poznámka: - Aktivovaná Omega - Pozrieť sa na https://git.kemt.fei.tuke.sk/dano/spacy-skmodel/src/branch/master/sources/slovak-treebank , aktivovaný prístup - už existuje mapovanie [Universal Dependencie na SNK tagset](https://github.com/explosion/spaCy/blob/master/spacy/lang/sk/tag_map.py) Stretnutie: 20.2.2020: Úlohy na ďalšie stretnutie: - Pozrieť https://spacy.io/usage/training#tagger-parser - Pozrieť si čo je word embedding - word2vec, fasttext, glove - Nájsť spôsob ako využiť existujúci model word embedding pri trénovaní https://fasttext.cc/docs/en/pretrained-vectors.html - Ako natrénovať Spacy POS model? ## Tímový projekt 2019 Projektové stránky: - [Spracovanie prirodzeného jazyka](/topics/nlp) - [Python](/topics/python) - [Podpora slovenčiny v knižnici Spacy](/topics/spacy) [Spacy tutoriál](./timovy_projekt) - Vypracovať tutoriál pre prácu s nástrojom Spacy pre úlohu zisťovania gramatických značiek (part-of-speech). Súčasťou tutoriálu by mali byť aj odkazy na relevantné zdroje (odborné članky, min. 4).