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

251 lines
9.8 KiB
Markdown

---
title: Tomáš Kuchárik
published: true
taxonomy:
category: [dp2021,dp2022]
tag: [nmt,translation,question-answer,nlp]
author: Daniel Hladek
---
# Tomáš Kuchárik
(študent KPI)
Súvisiace práce:
- [Martin Jancura](/students/2017/martin_jancura)
- [Patrik Pavlišin](/students/2016/patrik_pavlisin)
- [Projekt SK QUAD](/topics/question)
## Diplomová práca 2022
Názov: Tvorba korpusu otázok a odpovedí v slovenskom jazyku pomocou strojového prekladu
Zadanie:
1. Vypracujte prehľad jazykových mutácii overovacej množiny SQUAD a opíšte spôsob ich tvorby.
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 pomocou strojového prekladu z anglického jazyka,
4. Porovnajte strojovo preloženú verziu SQUAD s manuálne vytvorenou verziou.
5. Porovnajte presnosť systému generovania odpovedí naučenom na strojovo preloženej verzie SQUAD s s manuálne vytvorenou verziou.
## Diplomový projekt 2 2021
Cieľom je vytvoriť strojovo preloženú verziu SQUAD a overiť ju na QA systém.
Sttetnutie 22.10.2021
Stav:
- Začatý prieskum jazykových mutácií strojovo preloženého SQUAD - španielsky, taliansky, francúzsky a švédsky.
- Začatý priestup prekladových API - napr. na google sa platí 20 $ za milion znakov.
Stretnutie 15.10.
Stav:
- Pôvodné zadanie neaktuálne
Úlohy:
- Upraviť nové zadanie DP.
- Urobiť písomný prieskum rôznych jazykových verzií overovacej množiny squad a spôsobov ich vytvorenia. Môžete začať v archíve HuggingFace Datasets.
- Vybrať vhodný spôsob ako strojovo preložiť SQUAD. Zistiť aké sú možné problémy.
- Zistiť ako funguje strojový preklad cez API.
Zásobník úloh:
- Urobiť vyhodnotenie SQUAD na knižnici Hugging Face Transformers.
## Diplomová práca 2021
Názov: Tvorba korpusu otázok a odpovedí v slovenskom jazyku 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.