---
title: Valerii Kutsenko
published: true
taxonomy:
    category: [vp2024,bp2025]
    tag: [rag,nlp]
    author: Daniel Hladek
---

rok začiatku štúdia: 2022

# Bakalárska práca 2025

Automatické generovanie otázok zo zadaného textu

Cieľ je vylepšiť slovenský model pre generovanie vektrovej reprezentácie. vylepšiť proces  RAG: Generovanie jazyka s pomocou vyhľadávania - Retrieval augmented generation

Zadanie BP:

1. Vypracujte prehľad systémov pre generovanie otázok a spôsobov ich vyhodnotenia.
2. Vyberte vhodný systém pre generovanie otázok a vytvorte umelú množinu otázok a odpovedí.
3. S pomocou tejto množiny natrénujte a vyhodnoťte systém pre generovanie odpovede na zadanú otázku.
4. Identifikujte jeho slabé miesta a navrhnite zlepšenia. 


Nové nápady:

- Vytvorte systém pre generovanie otázok o zadanom texte.
- Vytvorte umelo generovanú množinu otázok a odpovedí o liekoch.
- Pomocou umelej množiny zlepšite existujúci systém pre otázky a odpovede o liekoch.

Ako na to:

- Natrénujte generatívny model pre generovanie otázok. Použite existujúci skript a množinu SKQUAD.
- Určite, ktorá otázka je dobre vygenerovaná a ktorá nie. Tu môžete použiť: systém pre vyhľadávanie alebo neurónovú sieť pre otázky a odpovede. Ku otázke viete nájsť odpovede pomocou neurónovej siete. Výstupom by mala byť čo najkvalitnejšia množina otázok a odpovedí ku odsekom. 
- Výstupom by mala byť umelo generovaná databáza otázok a odpovedí.
 
Stretnutie:

Stav:

- Urobené porovnanie vplyvu agmentovaných dát na question answering.
- Rozpísaná práca

Úlohy:

- Pokračujte v písaní. Doplne text o definícii úlohy, question generation, podrobnosti o experimnentoch, podrobnosti o procese generovania množiny QA.
- Najnovšie skripty dajte na GIT.

Zásobník úloh:

- Doplniť experimenty s inými modelmi (Slovak Mistral).


Stretnutie 7.3.2025

Stav:

- Vytvorený skkript pre prípravu nového generovaného korpusu. Obsahuje kontext, otázku aj odpoveď. Zatiaľ nevie vyznačiť odpoveĎ v kontexte.
- Vygenerované korpusy otázok a odpovedí pre SKWIKI a  prokuratúru.
- Natrénovaný model pre QA na základe SKWIKI generovaných dát - model slovak T5 base. Augmntovaná množina má zatiaľ 30k otázok.
- Vyzerá to tak, že model s augmentovanými dátami je o dosť lepší. Je to naozaj dobre?

Úlohy:

- Overiť či generované množina nie je príliš podobná overovacej.
- Pokračujte v písaní práce , opíšte experimenty, vypracujte tabuľky.
- Pozrite sa na článok O. Megela: Fine-Tuning and Evaluation of Question Generation for Slovak Language
- Pre porovnanie vyhodnotte modely sami (slovak-t5-base), dotrénujute na SKQUAD-train. Vyhodnocujete stále na test časti. POrovnajte s viacerými augmentovanými dátami. V niekroých testoch primiešajte aj skquad train. 


Zásobník úloh:

- Publikovať na konferencii.

Stretnutie 25.2.

Stav:

- Vyskúšané rôzne metódy porovnania pomocou slovných vektorov (bge, me5, spacy word vectors).
- https://git.kemt.fei.tuke.sk/vk202uf/bp2024/src/branch/main/stretnutie.md
- Nová verzia BP.

Úlohy:

- Pozrite si článok https://scholar.nycu.edu.tw/en/publications/fine-tuning-and-evaluation-of-question-generation-for-slovak-lang
- Napíšte prehľad metód generovania otázok.
- Pripravte skript na generovanie QA korpusu zo zadaných dát a modelov.
- Pripravte viacero automaticky generovaných korpusov otázok a odpovedí. Formát vygenerovaných dát by mal byť rovnaký ako SK QUAD - jsonl.
- Odovzdané dáta wikpedia, prokuratura, adc.
- Skúste natrénovať nové modely pre otázky a odpovede z týchto dát.
- Píšte prácu, skripty dajte na git.


Stretnutie 21.2.2025:

Stav:

- Najprv sa generuje odpoveď. Na základe odpovede a kontextu sa generuje otázka pomocou SlovakT5. Je potrebné vyradiť "zlé" trojice.

 Úlohy:

 - Zoberte model TUKE-DeutscheTelekom/slovakbert-skquad . Na zadanú otázku a kontext zistite odpoveď. Porovnajte ju s "vygenerovanou odpoveďou". Ako bude f1 menšie ako "threshold", vyradíte trojicu. Porovnanie sa dá urobiť aj cez vektoropvý model https://github.com/hladek/spacy-skmodel. Alebo word2vec, alebo gensim.

 Zásobník úloh:

 - NIečo podobné sa dá urobiť pomocou vektorového (embedding) modelu, napr. BGE alebo me5. Vypočítate vektory pre otázku a odpoveď,  "cosínusovú vzdialenosť" medzi otázkou a odpoveďou.
 


Stretnutie 13.2.2025

Stav:

- Práca na texte. 
- Vyskúšané iné hyperparametre trénovania. Zväčšená veľkosť generovanej otázky.
- "Chýbajúce odpovede" boli vyhodené. 


Úlohy:

- Pokračujte v písaní.
- Vytvorte umelo generovanú množinu otázok a odpovedí z wikipédie alebo z adc.
- Natrénujte a vyhodnotte model na umelo vytvorenej množine a úlohe zodpovedania otázky. Môžete použiť aj SlovakBERT.



Stretnutie 22.11.2024

Stav:


- Napísané  o mt5 a umt5 v BP.
- Dotrénované 4 modely, slovakt5-base, slavict5-base, mt5-base, umt5-base. 
- Urobené dotrénovanie na generovanie otázok. 
- Napísaná tabuľka s výsledkami experimentov. Metriky BLEU a ROGUE.
- Napísaný skript, skript je na gite. 

Úlohy:

- Pokračujte v písaní práce. Napíšte aj o metrikách vyhodnotenia.
- Vyhľadajte a stručne opíšte vedecké články o generovaní otázok. Na vyhľadanie použite Google scholar.
- Pridajte slovak t5 base model do experimentov.
- Dotrénujte Slovak Falcon. Tam bude treba iný skript.

Zásobník úloh:

- Vymyslieť systém - natrénovať meurónku na návrh "odpovede".
- Vyskúšať generovať otázky bez zadanej odpovede. Odpoveď generujte pomocou modelu. Model pre automatické odpovede už je na HF Hube: slovakbert-skquad.
- Vyradiť také otázky, na ktoré systém nevie dopovedať.
- Skúsiť generovať otázky z medicínskeho textu.



Stretnutie 18.10.2024

Stav:

- Natrénovaný model SlovakT5 Base. Skripty sú na [GITe](https://git.kemt.fei.tuke.sk/vk202uf/bp2024). Trénovanie funguje.
- Naštudované články o T5 a Falcon, napísané poznámky.

Úlohy:

- Doplnte vyhodnotenie modelu pomocu BLEU Skore. Ako testovaciu množinu použite testovaciu časť SkQUAD.
- Natrénujte aj iné modely: mt5-base, SlavicT5-base, umt5-base. Opíšte testovací scenár - ako ste dotrénovali model . Vyhodnotte ich v tabuľke. Do práce napíšte o týchto modeloch.

Zásobník úloh:

- SKúste natrénovať aj modely typu GPT. Tam bude treba upraviť skript na model typu GPT - SlovakMistral 7B. Titeo modely sú veľké. Budete potrebovať prístup na školský server. Budete potrebovať použiť mnetódu: quantization (bitsandbytes) a peft (parameter efficient fine tuning).
- Ako bude model dobrý, tak ho uverejníme na repoztári Huggingface Hub.
- Ak bude práca dobrá, skúsime prepracovať a urobiť článok na konferencii. 
- V spolupráci Y. Leonov urobiť vyhodnotenie aj v medicínskej doméne.
- Skúsíme poprosiť doktorov o názor. 


Stretnutie 27.9.2024

Stav:

- Prezereté repozitáre a články. Napísané poznámky.
- Vytvorený prázdny git repozitár.

Úlohy:

- Zistite ako sa dotrénujú generatívne modely HuggingFace. Zistite čo je to Few Shot learning a *urobte si poznámky*.
- Prečítajte si článok o modele Falcon a napíšte ako funguje. Prečítajte si článok o modele T5 a napíšte ako funguje.
- Dotrénujte generatívny model na generovanie otázok podľa zadaného paragrafu. Na dotrénovanie použite databázu SK QUAD. Ako model použite Slovak T5 Base alebo Slovak Mistral 7 B.
- Oboznámte sa s Hugggingface API a OpenAI API. Na generovanie môžete použiť aj toto api.
- Skripty na dotrénovanie dávajte do GIT repozitára.

Zásobník úloh:

- Zoberte databázu liekov a generujte otázky o liekoch - od Ing. K. Sopkovič, alebo O. Poiasnik. 
- Možno bude treba použiť ChatGPT API a príklady z databázy SK QUAD.
- Možno bude treba dotrénovať Slovak Mistral 7B na inštrukcie.

Staré Úlohy:

- Zistite, aké sú možné prístupy ku generovaniu otázok pomocou generatívneho modelu a aké sú možné prístupy k overeniu vygenerovanej otázky.
- Pozrite si repozitár https://github.com/patil-suraj/question_generation
- Pozrite si repozitár https://github.com/gauthierdmn/question_generation
- Pozrite si článok https://telrp.springeropen.com/articles/10.1186/s41039-021-00151-1
- Oboznámte sa s DP Ondrej Megela a článok https://aclanthology.org/2023.rocling-1.20.pdf
- Oboznámte sa s knižnicou HF transformers - vyskúšajte si nejaký tutoriál.
- Zistite, ako funguje model T5.
- Pozrite si skript `generate/run_qg.py` v [repo](https://git.kemt.fei.tuke.sk/dano/slovakretrieval) a vyskúšajte ho. 
- Čítajte súvisiace odborné články a robte si poznámky.
- Urobte si repozitár na git.kemt a dávajte tam Vaše skripty. 
- Na experimenty použite https://colab.research.google.com/




Staré Nápady:
- Možno pomocou vytvorenia-prekladu vlastnej trénovacej databázy.
- alebo pomocou nekontrolovaného učenia, reps. augmentácie alebo generovania.
- Alebo zber trénovacích dát z webového korpusu.
- Sústrediť sa na vektrovú reprezentáciu dokumentov?

Úlohy na semester - "nepovinné, oficiálne sa to začne na zimný semester 2024"

- Zistite čo je to Retrieval Augmented Generation a napíšte o tom správu.
- Naučte sa základy jazyka Python.
- Napíšte krátky report na 2 strany kde napíšete čo ste urobili a čo ste sa dozvedeli.

Stretnutie 9.5.24

Stav:

- Naštudované Deep dive intoi Python a dl2ai, niečo o RAG.

Úlohy:

- Zistite, ako funguje [Sentence Transformers](https://sbert.net/). Pozrite si dokumentáciu. Vyskúšajte zopakovať príklady pre slovenské texty a so [slovenským modelom](https://huggingface.co/TUKE-DeutscheTelekom/slovakbert-skquad-mnlr).  
- Urobe si poznámky.

Stretnutie 22.3.

Úlohy:

- Nainštalujte si prostredie Anaconda. Prejdite si knihu Dive Deep into Python 3.
- Prečítajte si knihu https://d2l.ai/ a napíšte si poznámky.
- Zistite ako  funguje RAG. Zistite ako funguje ChatGPT. Zistite ako funguje vyhľadávanie pomocou SentenceTranformers. Napíšte o tom poznámky.
- Skúste si tento tutoriál o [LangChain](https://python.langchain.com/docs/get_started/quickstart)
 
Zásobník úloh:

- Nainštalujte si PrivateGPT.
