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

[Repozitár s výsledkami](https://git.kemt.fei.tuke.sk/tk634rv/dp2022)

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.
- Zaujala ma metód prekladu pomocou špeciálnych znakov. 
- Španielsky SQUAD má svoju štatistickú metódu zarovnania.
- Možnosti pre preklad:
    - Google, Microsoft v rámci Free kreditu (asi ho je málo).
    - Zakúpiť kredit cez projekt.
    - Využiť "nekomerčný" projekt pre preklad, napr. [etranslation](https://ec.europa.eu/cefdigital/wiki/display/CEFDIGITAL/eTranslation).
    



Úlohy:

- Pokračujte v písomnom prieskume jazykových mutácií SQUAD.
- Začnite pracovať na skripte na strojový preklad SQUAD. Jedna z možností je prepísať SQUAD do čisto textového formátu obohateného o špeciálne značky. Pripravte skript, ktorý prevedie SQUAD do čisto textového formátu obohateného o špeciálne značky. Vyskúšajte formát v dostupných prekladačoch. V prípade, že značky sú zachované, pripravte aj skript na spätnú konverziu preloženého výsledku do formátu SQUAD.




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.



