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