--- title: Tomáš Kuchárik published: true taxonomy: category: [dp2021] tag: [annotation,question-answer,nlp] author: Daniel Hladek --- # Tomáš Kuchárik (študent KPI) ## Diplomová práca 2021 Názov: Vytváranie korpusu otázok a odpovedí pomocou crowdsourcingu. Zadanie: 1. Vypracujte prehľad metód vytvárania jazykových zdrojov pomocou crowsdourcingu. 2. Vypracujte prehľad aktuálnych systémov pre generovanie odpovede na otázku v prirodzenom jazyku. 3. Navrhnite postup pre vytvorenie korpusu otázok a odpovedí v slovenskom jazyku. 4. Vytvorte webovú aplikáciu a pomocou nej anotujte dostatočné množstvo otázok a odpovedí. 5. Navrhnite zlepšenia procesu anotácie otázok a odpovedí. Cieľom práce je príprava nástrojov a budovanie tzv. "Question Answering datasetov" - Spolupráca na vedeckom projekte [Otázky a odpovede](/topics/question) - [Projektový repozitár](https://git.kemt.fei.tuke.sk/dano/annotation) ## Diplomový projekt 2 Zásobník úloh: - Dá sa zistiť koľko času strávil anotátor pri vytváraní otázky? Ak sa to dá zistiť z DB schémy, tak by bolo dobré to zobraziť vo webovej aplikácii. Virtuálne stretnutie 27.11.2020 Stav: - Dorobené požiadavky z minulého stretnutia. - Aplikáciu je potrebné prepracovať, kvôli tomu že algoritmus zobrazovania nie je vhodný. Spracovanie databázy pri každej požiadavke je príliš pomalé (výpočtovo zložité). Je potrebné cachovanie v novej DB schéme. - Nová DB schéma (SQLalchemy) je rozrobená (vedúci). - Preštudované články SQUAD - poznámky sú na papieri. Úlohy na ďalšie stretnutie: - Vypracovať draft DP práce vo forme článku na cca 10 strán. - Preštudovať odbornú literatúru na tému "Crowdsourcing language resources" a napísať poznámky (čo ste sa dozvedeli z článku) a bibliografické odkazy. - Anotovať aspoň 100 otázok a zistite potrebný čas. Virtuálne stretnutie 27.10.2020 Stav: - Dorobená webová aplikácia podľa pokynov z minulého stretnutia, kódy sú na gite Úlohy na ďalšie stretnutie: - Urobiť konfiguračný systém - načítať konfiguráciu zo súboru (python-configuration?). Meno konfiguračného súboru by sa malo dať zmeniť cez premennú prostredia (getenv). - Dorobiť autentifikáciu pre anotátorov pre zobrazovanie výsledkov, aby anotátor videl iba svoje výsledky. Je to potrebné? Zatiaľ dorobiť iba pomocou e-mailu. - Dorobiť heslo na webovú aplikáciu - Dorobiť zobrazovanie zlých a dobrých anotácií pre každého anotátora. - Preštudovať odbornú literatúru na tému "Crowdsourcing language resources". Vyberte niekoľko odborných publikácií (scholar, scopus), napíšte bibliografický odkaz a čo ste sa z publikácii dozvedeli o vytváraní jazykových zdrojov. Aké iné korpusy boli touto metódou vytvorené? Virtuálne stretnutie 20.10.2020 Stav: - Vylepšený skript pre prípravu dát , mierna zmena rozhrania (duplicitná práca kvôli nedostatku v komunikácii). Úohy do ďalšieho stretnutia: - Dorobiť webovú aplikáciu pre zisťoovanie množstva anotovaných dát. - Odladiť chyby súvisiace s novou anotačnou schémou. - Zobraziť množstvo anotovaných dát - Zobraziť množstvo platných anotovaných dát. - Zobbraziť množstvo validovaných dát. - Otázky sa v rámci jedného paragrafu nesmú opakovať. Každá otázka musí mať odpoveď. Každá otázka musí byť dlhšia ako 10 znakov alebo dlhšia ako 2 slová. Odpoveď musí mať aspoň jedno slovo. Otázka musí obsahovať slovenské slová. - Výsledky posielajte čím skôr do projektového repozitára, adresár database_app. Stretnutie 25.9.2020 Urobené: - validačné rozhranie. - rozdelenie vstupného formulára na 5 častí pre ľahšie parsovanie napísaných otázok. Úlohy na ďalšie stretnutie: - pripraviť rozhranie, kde sa anotuje práve jedna otázka naraz a ten istý paragraf sa zobrazí 5 krát. - stanoviť množinu metadát o anotovanej jednotke (názov článku, ktorý paragraf, poradie otázky?, kto to anotoval) - metadáta je potrebné doplniť do prípravných skriptov (ako JSON objekt s názvom "meta", príklad "ner2/01_selectparagraphs.py") do validačného aj otázkového rozhrania doplniť informácie o anotátorovi a o metadátach anotovanej jednotky. - skúsiť začať písať draft diplomovej práce a skúsiť to zverejniť na http://conf.uni-obuda.hu/sami2021/paper.html Návrhy na zlepšenie (pre vedúceho): - v priebehu 3. týždňa spustiť skúšobnú anotačnú dávku- možno s 2 rozhraniami aby sa vyskúšalo. - pripraviť inštanciu Postgres Databázy (pre vedúceho). - písať komentáre ku commitom a do zdrojákov. ## Diplomový projekt 1 Úlohy na semester: - Získať a parsovať dump slovenskej wikipédie z https://dumps.wikimedia.org/mirrors.html - Vybrať prvú množinu článkov - Nasadiť anotačnú aplikáciu - tvorbu otázky a vyznačenie odpovede. - Navrhnúť pracovný postup pre využitie modelu pri ďalšej anotácii - Možno: natrénovať model z anglických alebo slovenských dát. Zásobník úloh: - Vytvorte skript pre transformáciu výsledkov anotácie odpovedí do formátu [SQUAD 2:0](https://rajpurkar.github.io/SQuAD-explorer/) - Oboznámte sa s relačnou databázovou schémou Prodigy. Virtuálne stretnutie 6.7. - Pridaný Bootstrap.js do rozhrania aplikácie - Vytvorený Dockerfile, vznikol konflikt verzíí (treba opraviť). Úloha: Zobraziť a validovať výsledky anotácie od anotátorov. - oddeliť validáciu od aplikácie.. - Preštudovať "Review" alebo "Diff" rozhranie prodigy. - Zvážiť validáciu pomocou rovnakého alebo podobného receptu ako na anotáciu. - Zvážiť vytvorenie nového receptu pre validáciu. Paragraf, otázka, odpoveď, anotovala by sa korekcia? - Zvážiť modifikáciu "answer receptu" pre validáciu. - Modifikovať "question" recept na 5 vstupných polí. Pomôže to? - Vytvoriť východziu stránku pre anotátorov. Virtuálne stretnutie 26.6. Vytvorená aplikácia na analýzu anotácií Prodigy. - Pohľad na otázky a odpovede - Pohľad na konkrétny dataset - analýza sessionid - Pohľad na anotátora - koľko anotoval v akom datasete Treba dorobiť: - Odovzdať cez GIT do repozitára annotation - Skrášliť - dorobiť Dockerfile - Pridať možnosť práce s ľubovoľnými datasetmi Virtuálne stretnutie 14.5. Urobené: modifikované skripty wikirank a getbestwiki,ly Nová úloha: Vytvoriť skript pre analýzu DB schémy a zistenie kto anotoval koľko - naprv konzolový skript, potom web aplikácia napr. Flask, Revízia 16.4:2020: - Predbežné výstupy (wikipedia parser) v repozitári https://git.kemt.fei.tuke.sk/tk634rv/dp2021 - Vytvorený prístup na server omega Nové úlohy: - Oboznámte sa s obsahom [spoločného repozitára]( https://git.kemt.fei.tuke.sk/dano/annotation), stručná dokumentácia sa nachádza v súboroch README.md a v shell skriptoch. - Spustite si a vyskúšajte navrhnutú anotačnú schému pre vytváranie otázok a odpovedí. - Modifikujte skript wikirank.py a vyraďte z výpočtu stránky ktoré majú v názve číslo alebo dvojbodku. Výsledky PageRank uložte vo formáte JSONL - Vytvorte skript, ktorý vyberie stránky s najlepším PageRank a z nich vytvorí korpus vhodný na anotáciu otázok. - Dôsledne komunikujte Vaše výsledky alebo problémy na ktoré ste narazili. Revízia 9.4.2020: Nové úlohy: - Nainštalujte si anotačnú aplikáciu https://git.kemt.fei.tuke.sk/dano/annotation - Pozrite si recepty v adresári "question_answer". - Podľa vzoru vytvorte korpus paragrafov zo slovenskej Wikipédie vhodných na anotovanie otázok. Úvodné stretnutie 6.3.2020. Porozmýšľať: - Ako vyberieme najlepšie články (PageRank?) - Ako premením článok z wikipedie na sadu úloh (task) pre Prodigy. Vytvorený spoločný repozitár https://git.kemt.fei.tuke.sk/dano/annotation Úlohy na ďalšie stretnutie: - Získať a parsovať dump slovenskej wikipédie z https://dumps.wikimedia.org/mirrors.html. - Študovať odborné články na tému Question Answering - Oboznámiť sa s https://github.com/5hirish/adam_qas - Oboznámte sa s frameworkom Spacy a Prodigy.