---
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.
- vykonať a opísať viac experinentov s rôznymi nastaveniami.

Stretnutie 12.2.

Stav:

- Práca na texte

Do ďalšieho stretnutia:

- Opraviť text podľa ústnej spätnej väzby 
- Vysvetlite čo je to morfologická anotácia.
- Vystvetlite ako sa robí? Ako funguje spacy neurónová sieť?
- atď. predošlé textové úlohy z 30.10. 2020


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