zpwiki/pages/students/2016/jakub_maruniak/README.md

254 lines
8.8 KiB
Markdown

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