forked from KEMT/zpwiki
254 lines
8.9 KiB
Markdown
254 lines
8.9 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.
|
|
|
|
[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)
|
|
|