---
title: Kristián Sopkovič
published: true
taxonomy:
    category: [bp2022,dp2024]
    tag: [spacy,nlp]
    author: Daniel Hladek
---

rok začiatku štúdia: 2019


# Diplomová práca 2024

Neurónové vyhľadávanie na základe sémantickej podobnosti vektorov.

1. Vypracujte prehľad metód neurónovej vektorovej reprezentácie viet alebo odsekov.
1. Pripravte trénovaciu množinu a natrénujte model vektorovej reprezentácie dokumentov.
1. Vyhodnoťte natrénovaný model vo viacerých experimentoch.
1. Identifikujte slabé miesta modelu a navrhnite jeho zlepšenia.

Zadanie sa ešte môže zmeniť.


Súvisiace práce: Michal Stromko

Cieľ je zlepšiť slovenské vyhľadávanie pomocou neurónových sietí.

Námety na tému:

- Natrénujte alebo dotrénujte Sentence Transformer Model, alebo iný model pre sémantícké vyhľadávanie. Aké sú potrebné databázy? Je možné dotrénovať *multilinguálny model*?
- Vytvorte databázu pre trénovanie SBERT. Strojový preklad, existujúcej NLI databázy, Semantic Textual Similarity databázy. Alebo ak získame grant, tak vytvoríme "originálnu" (klon) slovenskú databázu.
- Vytvorte kognitívne vyhľadávanie pre mesto Košice 

[Slovak Semantic Textual Similarity Benchmark](https://huggingface.co/datasets/crabz/stsb-sk) 
na trénovanie Sentence Transformer


## Diplomový projekt 2


Stretnutie 1.3.2024

Stav:

- Práca na teórii
- Preskúmané modifikátory stratovej funkcie - Matrioshka embedding. Metóda zníženia dimenzie embeddingov.
- Porovnané slovenská (preložená) SNLI-sk a STSB-sk. e5 small model (374dim) MNLR plus loss modifier a matrioshka LOSS. 




Stretnutie 29.1.2024

Stav:

- Príprava prezentácie.
- Natrénované viacerá MNLR modely a vyhodnotené na SK QUAD, zostavená tabuľka s výsledkami. Najlepšie vychýdza dotrénovaný e5 model, SlovakBERT dotrénovaný je 2. najlepší. Na dotrénovanie boli použíté preložené SNLI dáta.
 




Stretnutie 15.12.2023

Stav:

- Lepšie preložená databáza (Azure) SNLI a STSB-SK (pôvodne preložená cez OPUS).
- Natrénovaný Bi Encoder (SNLI) aj Cross Encoder (STSB) zo SlovakBERT a E5. 

Úlohy:

- Vyhoddnotte natrénované modely a výsledky sumarizujte v dip. práci. Môžete použit slovenský dataset od M Stromka keď bude.
- Datasety a modely nahrajte na HF HUB, zatiaľ privátne. TUKE-DeutscheTelekom ORG. Zistite vo firme podmienky zverejnenia. 
- Po Novom roku dodajte draft DP.

Zásobník úloh:

- Porozmýšľajte nad článkom.


Stretnutie 3.11.2023

Stav:

- Sú spracované ďalšie dáta o službách z Magistrátu Košíc.
- Dotrénovanie multilinguálnych modelov na NLI databázach. MNLR loss.  Model E5 a varianty. Batch size by mala byť najmenej 256. LR na finetuning je E-5. Preto je možné pracovať iba so SMALL model. Max seq. len bol orezaný na 256 z 512 aby to išlo na 1x24 GB Titan. 
- SIMSCE prístup na trénovanie pomocou MNLR, je SOTA. Koher reranker je tiež SOTA, ale je komerčný.
- Pokračujeme v minulých úlohách.
- Evaluačná množina SK QUAD bola preložená do nemčiny a angličtiny.
- Mistrail LLM model natrénovaný na európskych jazykoch.

Úlohy:

- Chceme dotrénovať E5 model na anglickom, nemeckom a slovenskom SNLI pre úlohu kros linguálneho IR. Vyhodnocovať budeme na SQUADE anglickom, nemeckom a slovenskom jazyku. 
- Pokračujte v písaní diplomovej práce. Pripravte si osnovu a ku každej časti napíšte čo by v nej malo byť. Udržiavajte si zoznam použitej literatúry. Poznačte si bib. údaje o článkoch a knihách z ktorých čerpáte, priradte kódy jednotlivým záznamom. 

Zásobník úloh:

- Výsledky budeme demonštrovať na košických dátach.


Stretnutie 13.10.2023

Stav:

- Spracované dáta z mesta Košice - 110 najčastejších otázok a odpovedí.
- Nasadená 13B ChatLLama na Titan, 4 bit kvantizácia.

Úlohy:

- Chceme vytvoriť model pre cross-lingual information retrieval. Model bude vedieť vytvoriť "vyhľadávací embedding" pre texty a otázky vo viacerých jazykoch.
- Na základe dostupných dát natrénujte takýto model. K dispozícii máme preloženú Slovak NLI, Anglickú NLI. Určite existujú aj iné jazyky. Zoberte viacero NLI databáz a dotrénujte z nich multilinguálny model. Aký model je najlepší ako "základ"? Možno multilinguálne SBERT: E5, mpnet, miniLM.
- Model vyhodndotte na dostupných databázach.
- Prečítajte si viacero nových článkov na tému "mutlilingual alebo crosslingual" "information retrieval" "document embeddings". Urobte si poznámky do DP.

Zásobník úloh:

- Košické dáta je možné využiť pri vyhdonotení.
- Možno dáta na vyhodnotenie slovenského IR vytvorí aj M. Stromko.
- Pripraviť API na ChatLLAma.

Stretnutie 28.9.20023

Stav:

- Vieme pracovať - natrénovať SBERT (Sentence Transformer).
- Je strojovo preložená SNLI databáza pomocou Marian NMT setup.

Nápady:

- Získať dáta-dokumenty z webovej stránky mesta Košice.
- Získať informácie z webovej stránky https://www.esluzbykosice.sk/
- Spracovať dáta o často kladených otázkach, ktoré sme dostali z mesta Košice.
- Spracovať dáta o agende, ktoré sme dostali z mesta Košice.
- Vytvoriť ku týmto dátam "asistenta" pre získavanie informácí.

Úlohy:

- [-] Porozmýšľať ktorú časť problému "pomoci občanom mesta Košice" by sme mohli riešiť.
- [-] Spracujte dodané dáta od mesta Košice (vedúci pripraví a pošle).
- [ ] Dáta zaindexujte a pripravte jednoduché vyhľadávanie.
- [ ] Pokračujte v písomnej teoretickej príprave na tému "Sentence Transformers".

Zásobník úloh:

- Pripravte scraper na dáta od mesta Košice.



## Diplomový projekt 1

Stretnutie 2.6.2023

Stav:

- Natrénovaný IR retriever
- Natrénovaný model pre generatívne odpovede na báze Slovak T5 Small.
- Práca na texte

Stretnutie 25.5.

Stav:

- Trénovanie MNLR nebolo v poriadku, lebo boli použité iba kladné príklady.

Úloha:

- Natrénovať model SNLI. Natrénovať iný model STSB. 
- Porovnajte ich ako cross-encoder. Vyhodnoťte recall vyhľadávania na databáze sk-quad.
- Porovnajte to so základným modelom mnlr sk quad.
- Skúste oba modely dotrénovať na MNLR skquad a vyhodnotiť. 
- pracujte na písomnej časti.


Stretnutie 5.5.2023

Stav:

- Natrénovaný model MNLR SlovakBERT na preloženej databáze Standformd SNLI.st.: tot je asi zle
- Urobnené predbežné vyhodnotenie - analýza strednej hodnoty kosínusovej podobnosti pre triedy entailment, contradiction, neutral.
- Výsledkom MNLR je kosínusové podobnisť.
- Urobené aj softmax trénovanie. Výsledkom softmax je trieda pre 2 zadané vety.

Úlohy:

- Upravte a dajte trénovacie skripty na GIT.
- Vyhodnotiť presnosť klasifikácie softmax pomocou konfúznej matice - p,r,f1
- Dotrénovať SNLI ST na SK Quad a vyhodnotiť na úlohe sémantického vyhľadávania. - recall. To tj e zlá úloha.
- Pracujte na písomnej správe, ktorá poslúži ako základ pre DP a pre článok. Do textu opíšte trénovanie ktoré ste vykonali, postup pri preklade, návrh experimentov a výsledky. Do teoretickej časti píšte o sentence transformeroch. 

Zásobník úloh:

- Cieľom je poblikovať kvalitný článok.
- Cieľ 2 je aplikovať model pre úlohu vyhonotenia súladu staevebnej dokumentácie so regulatívou - zákonmi a vyhláškami.
- Využijeme databázu STSB-sk (na hf hube) ako ďalší zdroj dát
- Pripravte porovnávacie experimenty pre anglické datasety.
- Do ďalších experimentov zahrňte multilinguálne modely.

Stretnutie 24.4.2023

Stav:

- Preložené SNLI - všetky 3 časti.


Stretnutie 17.3.2023

Stav:

- Je preložená SNLI databáza, trénovacia časť. Použitý OPUS  Helsinki NLP  model

Úlohy:

- Preložiť aj testovaciu časť.
- Natrénovať Sentence Transforner (ST) na databáze SNLI, podľa SlovakBERT.
- Dotrénovať SNLI ST na SK Quad a vyhodnotiť na úlohe sémantického vyhľadávania. - recall
- Podobným spôsobom vyhodnotiť Slovakbert-stsb.
- Napíšte o tom čo je to ST, ako funguje. Pripravte prehľad databáz na trénovanie ST.

Zásobník úloh:

-  Porovnať s slovakbert-crossencoder na tuke-dtss modelmm.

Stretnutie 17.2.2023

Úlohy

- Zoberte existujúci model SlovakBERT-stsb a použite ho na dotrénovanie bi-encódera na databáze SK quad. Porovnajte presnosť vyhľadávania s bi-encóderom natrénovaným iba na SlovakBERT (dodá vedúci). Použite skripty v repozitári slovak-retrieval.
- Urobte prehľad databáz potrebných na dotrénovanie Sentence Transformer. Vyberte vhodnú databázu na strojový preklad, napr. nejakú NLI databázu. Použite ju na dotrénovanie bi-encódera. 

Zásobník úloh:

- Zistite ako využiť slovenský generatívny model pre sémantické vyhľadávnaie. Pripravte experiment a vyhodnotte ho.
- Vyberte databázu pre sémantické vyhľadávanie alebo question answering na vhodnú na vytvorenie slovenského klonu. 


Stretnutie 24.11.

Úlohy:

- Porozmýľať ďalej o téme, komuikovať o možnom grante na anotáciu.
- Vyskúšajte [Sentence Transformers framework](https://github.com/UKPLab/sentence-transformers/tree/master/examples). Pozrite si príklady, ako trénovať.
- Prečítajte si článok https://arxiv.org/abs/1908.10084.
- Zistite, čo je Natural Language Inference, aké sú dostupné databázy.
- Zistite, čo je Semantic Textual Similarity, aké sú dostupné databázy.
- Pozrite si https://git.kemt.fei.tuke.sk/dano/slovakretrieval/

# Bakalárska práca 2022

Návrh na názov bakalárkej práce:

Model Spacy pre spracovanie prirodzeného jazyka v slovenčine

Ciele bakalárskej práce:

- Zlepšiť presnosť modelu Spacy pre slovenčinu


Zadanie:

1. Zistite ako pracuje knižnica Spacy a opíšte metódy ktoré používa.
2. Natrénujte model pre spracovanie slovenského prirodzeného jazyka.
3. Vykonajte viacero experimentov a zistite presnosť pri rôznych parametroch.
4. Identifikujte slabé miesta a zlepšite presnosť spracovania.

25.3.2022

- Zopakované trénovanie POS aj NER
- Zisitili sme, že keď sa NER trénuje osobitne bez POS tak dáva lepšie výsledky. Prečo?
- konfiguračné súbory sú na githube. malý nepoužíva slovné vektory, stredný používa 200000 ti. slov vektorov. 
- uncased multilingual bert vychadza lepsie ako cased.
- v konfiguácii sú fasattext slovné vektory aj multilingualbert uncased. Používajú sa slovné vektory pri klasifikácii???

Úlohy:

- Zosumarizovať výsledky experimentov do písomneč časti
- Finalizovať BP - na ďalšom stretnutí prejdeme spolu draft.
- Pripraviť skripty na natrenovanie modelov na verejnú distribúciu.


4.3. 2022

- Natrénované NER modely Spacy Transformers, výsledky sú na wandb

Úlohy:

- [ ] Pripraviť modely (návody na trénovanie) na verejnú distribúciu.
- [x] Natrénovať menšie modely bez slovných vektorov.
- [-] Pokračovať v písaní.
- [x] Vytvoriť rozhranie pre využitie modelov  huggingface ,modelov slovakbert.  Využiť  spacy-transformers alebo spacy-sentence-transformers.
- [x] Na githube vytvorte fork alebo branch repozitára, dajte mi prístup. tam bude pracovná verzia s novými modelmi. 

25.2.2022

- Vyskúšané experimenty s hyperparametrami s pôvodnou architektúrou POS modelu.
- Zmenená architektúra POS na Spacy Transformer (bez BERT predtrénovania, využíva slovné vektory). Dosiahnuté zlepšenie POS z 0.8 na 0,9. Výsledky sú vo forme grafu dostupné na wandb

Úlohy:

- Zdieľať wandb projekt,
- Vyskúšať transformers architektúru na NER model. 
- Vyskúšať BERT architektúry - MultilingualBERT, SlovakBERT, LABSE, Slovak GPT
- Pracujte na texte


## Bakalársky projekt 2021


18.2.2022

- Na idoc je problém s timeout pri zostaení pip balíčka, ale funguje trénovanie spacy pos

Úlohy:

- [x] Zatiaľ sa sústrediť na POS model čo funguje.
- [x] Do týždňa opraviť idoc (pre vedúceho).


7.2.2022

- Rozbehaný trénovací skript na vlastnom počítači
- Spustených niekoľko experimentov.

Úlohy:

- [x] Pokračujte v otvorených úlohách.
- [x] Výsledky experimentov dajte do tabuľky do práce.


Zásobník úloh:

- [x] Skúste použiť logovací nástroj https://docs.wandb.ai/guides/integrations/spacy
- [x] Skúste rozbehať trénovacie skripty na školskom servri. Problémy vytriešime na konzultácii.

26.11. 2021

- Absolvovaný kurz Explosion  https://course.spacy.io/en/
- Mierne zlepšený text práce.

Úlohy:

- [x] Vytvorte GIT a vložte do neho svoje trénovacie skritpy. Nedávajte tam veľké textové súbory. Dajte odkazy odkiaľ ste získali dáta.  Celý proces by mal byť opakovateľný,
- [x] Skúste zlepšiť hyperparametre môjho trénovacieho skriptu spacy3
- [ ] Skúste pridať MultilingualBert do trénovania.
- [ ] Pokračujte v práci na textovej časti.
- [x] Vytvorené modely je potrebné vyhodnotiť. Pozrite ako to je v mojom Spacy repozitári.


Zápis 21.10.

Vyskúšať toto:

- [MultilingualBert](https://github.com/google-research/bert/blob/master/multilingual.md). Dá sa adaptovať na Slovak Treebank.
- [Spacy Transformers](https://spacy.io/universe/project/spacy-transformers)

Stretnutie 15.10.

Stav:

- Rozpracovaná kapitola o Spacy
- Pokusné trénovanie HuggingFace v Pytorch

Úlohy:

- Pokračovať v otvorených úlohách.

Zásobník úloh:

- Aplikovať model BERT do Spacy Pipeline.

Stretnutie 1.10

Stav:

- Vypracovaných asi 8 strán osnovy
- Preštudované Transformery a Spacy
- Vyskúšané trénovanie Pytorch

Úlohy:

- Pripravte si prostredie Anaconda a v ňom spustite trénovanie.
- Pokračovať v otvorených úlohách.

Stretnutie 24.9.2021

Stav:

- Naštudovaná knižnica Spacy - pozreté tutoriály
- Vytvorený prístup na idoc

Úlohy:

- Spustite trénovanie podľa skriptov na githube. Môžete použiť server idoc.
- Skúste napísať osnovu BP práce.
- Nájdite odborný článok na tému "Transformer neural network" a do BP napíšte čo ste sa dozvedeli.
- Stručne napíšte čo je to knižnica Spacy a ako pracuje. Citujte aspoň jeden odborný článok.
- Zistite ako by sa dal zlepšiť proces trénovania.


Stretnutie 25.6.2021

- Vytvorený prístup do repozitára spacy-skmodel na GIThube

Úlohy:

- Skúste spustiť trénovací skript a natrénovať slovenský spacy model
- Pozrite si bakalársku prácu [Martin Wencel](/students/2018/martin_wencel)


