---
title: Jakub Maruniak
published: true
taxonomy:
    category: [dp2021,bp2019]
    tag: [spacy,ner,annotation,nlp]
    author: Daniel Hladek
---
# Jakub Maruniak

*Rok začiatku štúdia*: 2016

*Návrh na názov DP*:

Anotácia a rozpoznávanie pomenovaných entít v slovenskom jazyku.

[CRZP](https://opac.crzp.sk/?fn=detailBiblioForm&sid=ECC3D3F0B3159C4F3217EC027BE4)

1. Vypracujte teoretický úvod, kde vysvetlíte čo je to rozpoznávanie pomenovaných entít a akými najnovšími metódami sa robí. Vysvetlite, ako pracuje klasifikátor pre rozpoznávanie pomenovaných entít v knižnici Spacy. 
2. Pripravte postup na anotáciu textového korpusu pre systém Prodigy pre trénovanie modelu vo vybranej úlohe spracovania prirodzeného jazyka.
3. Vytvorte množinu textových dát v slovenskom jazyku vhodných na trénovanie štatistického modelu spracovania prirodzeného jazyka pomocou knižnice Spacy.
4. Natrénujte štatistický model pomocou knižnice Spacy a zistite, aký vplyv má veľkosť trénovacej množiny na presnosť klasifikátora.

*Spolupráca s projektom*:

- [Podpora slovenčiny v Spacy](/topics/spacy)
- [Anotácia textových dát](/topics/prodigy)
- [Rozpoznávanie pomenovaných entít](/topics/named-entity)
- [Spracovanie prir. jazyka](/topics/nlp)
- [Programovanie v jazyku Python](/topics/python)


## Diplomová práca 2021


Stretnutie 12.3.

Stav:

- Anotovanie dát, vykonané experimenty s trénovaním. 
- Dosiahli sme presnosť cca 72 percent.
- Výsledky sú zhrnuté v tabuľke.

Úlohy:

- Píšte prácu.
- Uložte trénovacie skripty na GIT.



## Diplomový projekt 2

Ciele:

- Anotovať sadu dát s použitím produkčnej anotačnej schémy, natrénovať a vyhodnotiť model.

Zásobník úloh:

- Použiť model na podporu anotácie
- Do konca ZS vytvoriť report vo forme článku.

Stretnutie 12.2.:

- Prebrali sme článok. Treba vyhodiť a popresúvať niektoré časti, inak v poriadku.

Do budúceho stretnutia:

- Vybrať vhodný časopis na publikovanie
- Využiť pri trénovaní ďalšie anotované dáta.




Stretnutie 20.1.

Preberanie draftu práce.

- Do článku vyradiť príliš všeobecné časti - napr. o strojovom učení.
- V úvode zadefinujte problém, pojmy a bežné spôsoby riešenia problému. Čo je korpus? Ako sa vyrába? Na čo a ako sa používa?
- V jadre predstavte Vaše riešenie. Ako vyzerá korpus? Ako ste ho urobili?
- Na konci definujte metodiku vyhodnotenia, vyhodnotte riešenie a navrhnite zlepšenia. Akú presnosť má model vytvorený s pomocou korpusu?

Virtuálne stretnutie 18.12.2021:

Stav:

- Vytvorené anotácie do databázy, cca 1700 jednotiek.
- Začiatok článku.

Virtuálne stretnutie 27.11.2020:

- Zatiaľ zostávame pri ručnej extrakcii dát z anotačnej schémy.
- Vypracovaná [tabuľka s experimentami](./dp2021/train_experiments)
- [Dáta a skripty](./dp2021/annotation)

Úlohy:

- Pracovať na ďalších anotáciách, zlepšiť presnosť modelu.
- Urobiť ďalšie experimenty.
- Začať pracovať na článku. Niečo podobné ako [Znalosti](https://hi.kkui.fei.tuke.sk/daz2019/), alebo [AEI](http://www.aei.tuke.sk/). šablóna ieee alebo llncs.

Stretnutie 20.1.2021

- Draft článku

Virtuálne stretnutie 13.11.2020:

- výsledky skopírované do [adresára](./dp2021)
- prečítané 3 články - porovnanie manuálnej anotácie a poloautomatickej. 
- začiatok práce na skripte pre počítanie anotovaných entít, treba ešte vylepšiť aby vznikla tabuľka.
- anotačná schéma vyzerá byť v poriadku, niektoré články treba odfiltrovať (zoznam obrázkov, prázdna kategória, nadpis).

Úlohy do ďalšieho stretnutia:

- vytvoriť spôsob pre získanie dát z produkčnej anotačnej schémy.  (pre vedúceho)
- vytvorte ďalšie anotácie.
- Spísať pravidlá pre validáciu. Aký výsledok anotácie je dobrý? Je potrebné anotované dáta skontrolovať?
- Vytvorte tabuľku kde uvediete presnosť modelu s rôznym množstvom anotovaných dát.
- Aký je najlepší spôsob vyhodnotnenia? Vytvoriť jednotnú testovaciu množinu. Druhý spôsob je použiť "10 fold cross validation" (Všetky dáta sa rozdelia na 10 častí, 9 sa využije pri trénovaní, 1 pri testovaní. Trénovanie sa opakuje 10 krát stále pre inú testovaciu množinu, výsledky sa spriemerujú).


Virtuálne stretnutie 30.10.2020:

Stav:

- Vylepšený návod
- Vyskúšaný export dát a trénovanie modelu z databázy. Problém pri trénovaní Spacy - iné výsledky ako cez Prodigy trénovanie
- Práca na textovej časti.

Úlohy do ďalšieho stretnutia:
- Vytvorte si repozitár s názvom dp2021 a tam pridajte skripty a poznámky.
- Pokračujte v písaní práce. Vykonajte prieskum literatúry "named entity corpora" aj poznámky.
- Vytvorte systém pre zistenie množstva a druhu anotovaných dát. Koľko článkov? Koľko entít jednotlivvých typov? Výsledná tabuľka pôjde do práce.
- Pripraviť sa na produkčné anotácie. Je schéma pripravená?

Virtuálne stretnutie 16.10.2020:

Stav:
- Spísané stručné poznámky k procesu anotácie
- Pokusne anotovaných niekoľko článkov

Úlohy na ďálšie stretnutie:
- Vylepšiť oficiálny návod na anotáciu NER  https://zp.kemt.fei.tuke.sk/topics/named-entity/navod podľa poznámok a skúsenosti pri anotácii. Pridajte pravidlá pre učenie Accept a Reject článku. Ktorý paragraf je vhodný na anotáciu?
- Pripraviť skript na výber anotovaných dát z databázy a úpravu do podoby vhodnej pre trénovanie.
- Spísať pravidlá pre validáciu. Aký výsledok anotácie je dobrý? Je potrebné anotované dáta skontrolovať?
- Pokračujte v písaní DP.

Virtuálne stretnutie 9.10.2020:

Stav:

- Vyskúšané trénovanie modelu podľa repozitára spacy-skmodel
- Začiatok práce na textovej časti (vo Worde do šablóny ZP).

Úlophy na ďalšie stretnutie:

- Prečítajte si návod na anotáciu a navrhnite zlepšenia návodu. Cieľ je napísať presnú metodiku anotácie.
- Pokusne antujte niekoľko článkov, spíšte problémové miesta.

Stretnutie 25.9.2020:

Urobené:

Oboznámenie sa procesom anotácie NER

Úlohy na ďalšie stretnutie:
- Natrénovať a vyhodnotiť model podľa https://git.kemt.fei.tuke.sk/dano/spacy-skmodel
- začať pracovať na textovej časti podľa  https://www.ieee.org/conferences/publishing/templates.html


Návrhny na zlepšenie:

Je potrebné rozbehať produkčnú anotáciu NER


## Diplomový projekt 1 2020

Výstupy (18.6.2020): 

- [Anotačná schéma](https://git.kemt.fei.tuke.sk/KEMT/zpwiki/src/branch/master/pages/students/2016/jakub_maruniak/dp2021/annotation)
- [nasadenie anotačnej schémy](http://skner.tukekemt.xyz)
- [Korpus 1300 viet z wikipédie](https://git.kemt.fei.tuke.sk/KEMT/zpwiki/src/branch/master/pages/students/2016/jakub_maruniak/dp2021/annotation/ner/textfile.csv)


Úlohy na semester:

- Rozbehať anotačnú schému pre vyznačovanie slovenských pomenovaných entít
- Vybrať a pripraviť vhodné dáta na anotáciu

Stretnutie 30.6.2020: 

- Dodaný korpus 1300 viet
- Je dobré dáta rozdeliť na vety (odporúčanie, ľahšie sa sleduje anotované množstvo).

Virtuálne stretnutie 15.5.2020:

- Rozbehaná slovenská anotačná schéma pre pomenované entity
- Problém so slovenským NER modelom z wiki dát

Úlohy:

- vytvoriť do repozitára annotation adresár ner so všetkým potrebným pre spustenie slovenskej ner schémy (skripty, vzorové textové dáta).
- vyriešiť problém so spacy modelom.

Revízia 21.4.:

Odkaz na projekt: https://git.kemt.fei.tuke.sk/KEMT/zpwiki/src/branch/master/pages/students/2016/jakub_maruniak/dp2021/annotation


Revízia 9.4. a 17.4.

Nové úlohy:

- vytvorte skript pre anotáciu slovenských pomenovaných entít. 
    - Pozrite si https://prodi.gy/docs/named-entity-recognition (aj video)
    - Spustite schému "Manual annotation with suggestions from a model" (použite aj [príklady](https://git.kemt.fei.tuke.sk/dano/annotation) 
- Ako zdroj dát použite https://git.kemt.fei.tuke.sk/dano/spacy-skmodel/src/branch/master/sources/skner/wikiann-sk.bio
    - Urobte skript, ktorý zmení wiki dáta do [spacy formátu](https://raw.githubusercontent.com/explosion/prodigy-recipes/master/example-datasets/raw_shares-newsapi.jsonl)
    - Uložte skript na GIT a pridajte odkaz do profilu



Stretnutie 9.3.2020:

Vyvorený prístup do repozitára https://git.kemt.fei.tuke.sk/dano/annotation

Úlohy na ďalšie stretnutie:

- Oboznámte sa s so [systémom Docker](https://student.kemt.fei.tuke.sk/predmety/zct)
- Rozbehajte si anotáciu z repozitára
- Skúste upraviť proces tak aby bol vhodný na anotáciu slovenských pomenovaných entít

Návrh možných entít na anotáciu:

- OSOBA
- MIESTO alebo politická geografická entita
- ORGANIZACIA
- PRODUKT
- INE



## Tímový projekt 2019

#### Anotácia textových dát

*Úlohy tímového projektu*:

- Vypracujte min. 4. stranový rešerš na tému "Crowdsourcing"
- citujte min. 10 najvýznamnejších bibliografických zdrojov

*Písomná práca*: [Rešerš](./timovy_projekt)