2021-03-17 13:04:18 +00:00
---
title: Michal Stromko
2021-03-26 07:12:43 +00:00
published: true
taxonomy:
2022-11-24 12:27:07 +00:00
category: [vp2021,bp2022,dp2024]
2021-03-26 07:12:43 +00:00
tag: [ir,cloud,demo,nlp]
author: Daniel Hladek
2021-03-17 13:04:18 +00:00
---
rok začiatku štúdia: 2019
2022-12-19 13:38:20 +00:00
# Diplomová práca 2023/24
Sémantické vyhľadávanie v slovenskom texte.
2022-09-23 08:10:36 +00:00
2022-12-19 13:38:20 +00:00
Zadanie práce:
2022-11-10 09:06:08 +00:00
2022-12-19 13:38:20 +00:00
1. Vypracujte prehľad najnovších metód sémantického vyhľadávania pomocou neurónových sietí.
2. Vyberte vhodné metódy pre vyhľadávanie a modifikujte ich tak aby boli použiteľné pre slovenské texty.
3. Pripravte experimenty na vyhodnotenie vyhľadávania. Porovnajte vybrané metódy.
4. Vyhodnoťte experimenty a identifikujte slabé miesta a navrhnite zlepšenia.
2022-11-10 09:06:08 +00:00
2022-11-10 09:20:46 +00:00
Ciele DP:
2022-11-10 09:06:08 +00:00
2022-11-10 09:20:46 +00:00
- Bolo by fajn, keby z DP bol vedecký článok.
- Dotrénovať slovenský ST model.
- Porovnať viacero metód na vyhľadávanie v slovenskom texte - BM25, TF IDF, WordEmbedding, SentenceTransformers, Alebo iné embeddingy.
2022-11-10 09:06:08 +00:00
2023-02-03 10:20:10 +00:00
# Diplomovy projekt 1
Ciele na semester (spoliu s K. Sopkovicom)
- Chceme rozbehat demoo vyhladavanie. Existuje streamlit verzia.
- Chceme natrénovať a vyhodbnotiť model pre sémantické vyhľadávanie. Existuje prvá verzia sentence transformera (Cross Encoder, Dual Encoder natrénovaná na SK QUAD. Porovnať s STS SlovakBERT.
- Chceme využiť aj QA model - využiť ho v deme.
- Chcemem vyhodnotiť výkonnosť celého systému - všetky komponenty naraz. Aké sú možné metriky.
2023-02-17 08:08:32 +00:00
- Pripraviť slovenskú databázu STS a NLI.
2023-02-03 10:20:10 +00:00
- Vypracovať prehľad metód na vyhodnotenie IR systémov a kompletných systémov QA.
- Preskúmať možnosti zlepšenia - Sentence Transformer skripty pre doménovú adaptáciu a multilinguálne modely.
- Vypracovať prehľad článkov, ktoré riešia kompletné sémantické vyhľadávanie.
- Podrobne opísať proces fungovania a trénovanie sentence transformera. Princíp dual-encoder, cross-encoder.
- Pripraviť multi-lingual experiment na vyhľadávanie, napr. Angličtina, Slovenčina, Nemčina.
2022-12-19 13:38:20 +00:00
# Vedecky projekt 2022/23
2022-10-14 07:46:58 +00:00
Súvisiace práce:
- Matej Kobyľan
- Suchanič
2023-01-09 12:24:27 +00:00
- Kristián Sopkovič
2022-10-14 07:46:58 +00:00
2022-09-23 08:10:36 +00:00
Ciele na semester:
2022-10-14 07:55:05 +00:00
- Zistiť ktorá knižnica je dobrá a ktorý model je dobrý na slovenské vyhľadávnaie vo wikipédii pre QA.
- Možnosti pre knižnice sú: JinaDocArray, Elasticsearch-Opensearch, Faiss, Haystack
- Možnosti pre modely sú: DPR, LABSE, LASER, Iný Sentence Transformer, WordEmbedding.
2022-10-14 07:46:58 +00:00
- Vypracovat demonštračné vyhľadávanie v slovenskej wikipédii.
2022-10-14 07:55:05 +00:00
- Vypracovat spravu o precitanych clankoch spolu s odkazmi, cca 4 strany
2022-09-23 08:20:43 +00:00
- Vyslovit ciele diplomovej prace.
2022-09-23 08:10:36 +00:00
2022-10-14 07:46:58 +00:00
2022-09-23 08:10:36 +00:00
Klucove slova:
2022-11-10 09:09:56 +00:00
- Jina, Rasa, Vektorova Databaza
2022-09-23 08:10:36 +00:00
- Hierarchicke vztahy medzi dokumentami
2022-11-10 09:09:56 +00:00
- Faiss, Elasticsearch-Opensearch, Fasttext
- https://aclanthology.org/2020.emnlp-main.550/, Dense Passage Retrieval for Open-Domain Question Answering.
2022-09-23 08:18:52 +00:00
- Urobit demo vyhladavanie v slovenskej wikipedii.
- LABSE, LASER embedding model
- multi language IR
2022-09-23 08:10:36 +00:00
2023-01-09 12:24:27 +00:00
Stretnutie 9.1.2023
Stav:
- Vyrobená tabuľka s experimentami pre rôzne modely a rôzne veľkosti vrátenej množiny k
- Zatiaľ najlepší je model BM25
Úlohy:
- Pripravte experiment v ktorom najprv vyhľadáte množinu k=(napr. 100, 200 alebo 50) prvkov pomocou bm25, výsledky zoradíte pomocou neurónovej siete a vyberiete m=(napr. 10,20,50) najlepších prvkov. Výsledky vyhodnotíte.
2023-01-09 12:28:33 +00:00
- Zoradenie pomocou NN vyzerá takto: zoberiete otázku a paragraf. Vypočítate skóre podobnosti. Prvý spôsob výpočtu je, že vložíte otázku aj paragraf naraz do NN. Výsledok je podobnosť. Na výpočet podobnosti zatiaľ použite model slovakbert-stsb.
2023-01-09 12:24:27 +00:00
Zásobník úloh:
- Vytvoriť vyhľadávanie v dvoch krokoch. Najprv "nahrubo", potom výsledky znova zoradiť.
2023-01-09 12:28:33 +00:00
- Druhý spôsob vyhľadávania nahrubo je: vypočítate významový vektor pre paragraf aj pre odsek. Výpočítate kosínusovú podobnosť jedného aj druhého.
2023-01-09 12:31:07 +00:00
- Vyhodnotiť modely v adresári crossencoder.
2023-01-09 12:28:33 +00:00
2023-01-09 12:24:27 +00:00
2022-12-19 13:05:41 +00:00
Stretnutie 19.12.2022
Stav:
- Spustený skript pre vyhodnotenie
Úlohy:
- Pripravte testovací scenár. Množina SK QUAD. Vyhľadávame v paragrafoch. Pri vyhľadávaní nás zaujíma k najlepších výsledkov. K=1,5,10,20,30
- V testovacom scenári vyskúšqjte viacero modelov. WordEmbedding, LABSE, SlovakBERT, BN25
- V texte opíšte použíté modely, dataset aj testovací scenár.
- Z výsledky by mohol byť konferenčný článok.
Zásobník úloh:
2023-01-09 12:24:27 +00:00
- Natrénujte model Kharpukin DPR, podľa Facebook skriptov alebo pomocou Nvidia Deep learning examples.
2022-12-19 13:09:15 +00:00
- Vyhodnotte celý proces QA na vrátených výsledkoch.
2022-12-19 13:05:41 +00:00
2022-11-10 09:15:07 +00:00
Stretnutie 10.11.2022
2022-11-10 09:20:46 +00:00
Stav:
- Konvertovaný SCNC do JSON.
- Práca s Jina-Elasticsearch pre uloženie embeddingov.
2022-11-10 09:25:17 +00:00
- Prečítaný a spoznámkovaný článok "Making Monolingual Sentence Embeddings Multilingual using Knowledge Distillation".
2022-11-10 09:20:46 +00:00
2022-11-10 09:25:17 +00:00
Úlohy:
2022-11-10 09:15:07 +00:00
- Rozbehať skript SlovakRetrieval ktorý využíva FAISS. V skripte je už aj BM25, ostatné modely aj vyhodnotenie Recall na množine SK QUAD.
- Vytvoriť slovenské vyhľadávanie pomocou WordEmbeding. Použiť slovenský Spacy Model.
2022-11-10 09:25:17 +00:00
- Prečítať a spoznámkovať ďalšie články z https://github.com/UKPLab/sentence-transformers
Zasobnik uloh:
2022-11-10 09:15:07 +00:00
- Dotrénovať sentence transformer na slovenský jazyk. Ako?
Stretnutie 14.10.2022
2022-10-14 07:46:58 +00:00
2022-09-23 08:20:43 +00:00
Ulohy:
2022-10-14 07:46:58 +00:00
- Precitat si clanok, napiste poznamky
2022-09-23 08:20:43 +00:00
- Navrhnite na co by ste sa chceli sustredit.
2022-10-14 07:46:58 +00:00
Stav:
- Naštudovaný článok Kharpukin Dense Passage Retrieval
- Naštudované Jina-DocArray.
2022-10-14 08:00:39 +00:00
- Je k dispozícci ES na školskom servri - aj tak je lepšie pracovať na vlastnej inštancii.
Úlohy:
2022-10-14 08:11:19 +00:00
- Dodaný skript na indexovanie SCNC do ES. Upravte skript na Jina DocArray
- Skúste zaindexovať slovenské dokumenty pomocou JinaDoc Array. Vyberte vhdoný existujúci model, napr. LABSE.
- Skúste ich vyhľadávať.
- Nájdite si článok o vyhľadávaní pomocou LABSE. Napíšte si z neho poznámky. Ako prebieha vyhľadávanie pomocou LABSE?
2022-10-14 08:00:39 +00:00
Zásobník úloh:
2022-10-14 08:11:19 +00:00
- skúste zaindexovať slovenské dokumenty pomocou Elasticsearch.
- Zistite ako funguje vektorové vyhľadávanie v ES.
2022-10-14 07:46:58 +00:00
2021-09-24 14:15:58 +00:00
# Bakalárska práca 2022
2021-09-24 08:09:56 +00:00
2021-10-15 08:53:50 +00:00
2021-10-22 07:11:49 +00:00
- [Repozitár ](https://git.kemt.fei.tuke.sk/ms111of/bp2022 )
2021-10-15 08:53:50 +00:00
2021-10-22 07:11:49 +00:00
Názov: Indexovanie slovenského textu pomocou Elasticsearch
2021-09-24 08:09:56 +00:00
1. Vypracujte prehľad metód pre získavanie informácií.
2. Vytvorte vyhľadávací index dokumentov zo slovenského internetu.
3. Vytvorte demonštračnú webovú aplikáciu pre vyhľadávanie na slovenskom internete.
4. Navrhnite zlepšenia vyhľadávania.
## Bakalársky projekt 2021
2022-03-04 09:26:23 +00:00
4.3.2022
- Prebehlo viacero stretnutí
- Spravená Flask aplikácia, funguje, doplnené stránkovanie, zobrazenie otázok samosttne aj s ohodnotením , zobrazenie článku. Vyhľadanie podľa ľubovoľnej otázky.
- Urobený compose pre ES a Kibanu
Úlohy:
- Dorobiť Dockerfile pre web aplikáciu.
- Pracovať na texte práce.
2022-02-18 08:07:22 +00:00
Stretnutie 18.2.2022
- Boli viaceré stretnutia
- Aplikácia funguje
Úlohy:
- Doplniť stránkovanie, vyhľadanie vo voľnej otázke, zobrazenie článku.
- Pracovač na texte.
2022-01-07 10:30:29 +00:00
Stretnutie 7.1.2022
- Vytvorená Flask aplikácia a Dockerfile
- Urobené jednoduché vyhodnotenie pomocou počtu výsledkov.
Úlohy:
- Urobte konfiguráciu url Elasticsearch pomocou premennej prostredia alebo argumentu príkazového riadka do Dockerfile.
- Môžete dať všetko do docker-compose.
- Urobte vyhodnotenie vyhľadávania pomocou Precision-recalll. Pozrite si DP Ján Holp. Zaindexujete testovaciu množinu. V testeovacej množine sú vzorové otázky a vzorové vyýsledky. Zoberiete vzorovú otázu a ku nej vyhľadáte výsledky. Porovnáte Vašu množinu a vzorovú množinu. zistíte veľkosť ich prieniku. Podľa veľkosti vzorovej množiny a výsledkovej množiny vypožítate precision-recall.
2022-01-07 10:47:58 +00:00
- Dorobte prezentáciu
- Do práce pridajte opis toho ako funguje Flask aplikácia a ako komunikuje s Elasticsearch.
2022-01-07 10:30:29 +00:00
2021-11-26 09:28:34 +00:00
2021-12-03 07:50:37 +00:00
Stretnutie 3.12.2021
2022-01-07 10:30:29 +00:00
- Podarilo sa zaindexovať dokument do ES pomocou Python skriptu
2021-12-03 07:50:37 +00:00
Úlohy:
- Zaindexujte viac dát
- Vytvorte webové rozhranie pre vyhľadávanie. Flaśk aplikácia.
2021-11-26 09:28:34 +00:00
Stretnutie 26.11.2021
- Vypracované skripty na vkladanie, ale zatiaľ nefungujú.
Úlohy:
- Zoznámte sa s ES API
- Prejdite tutoriál http://blog.adnansiddiqi.me/getting-started-with-elasticsearch-in-python/
2021-11-12 09:23:11 +00:00
Stretnutie 12.11.2021
Pokračujú práce na písomnej časti, na praktickej zatiaľ nie.
Úlohy:
- Zlepšiť štruktúru práce.
- Doplniť do textu odkazy na literatúru.
2021-09-24 08:09:56 +00:00
Ciele na semester:
- vedieť zaindexovať väčšie množstvo slovenských textov.
- vytvoriť funkčné webové demo na vyhľadávanie v týchto textoch.
2021-10-22 07:11:49 +00:00
Stretnutie 22.10.2021:
- Pokračovanie na otvrených úlohách - problémy s Essential Data Docker setup
Úlohy:
- Nainštalovať ES a Kibana, upravte compose na https://alysivji.github.io/elasticsearch-kibana-with-docker-compose.html
- Pozrieť si knihu https://nlp.stanford.edu/IR-book/ a urobiť z nej poznámky do teoretickej časti BP. Odvolávajte sa na túto knihu v texte.
- Skúste cez Kibanu zaindexovať jeden text a vyhľadať niečo.
- Preštudujte si ES Analyzer.
2021-10-15 08:48:30 +00:00
Stretnutie 15.10.2021
Stav:
- Nainštalovaný ES na UVT virtuálke s dostatkom miesta.
- Naštudovaný Docker.
Úlohy:
- Pokračovať v otvorených úlohách.
- Vyberte vhodnú klientskú knižnicu pre prácu s ES.
2021-10-15 08:53:50 +00:00
- Pozrite podporu slovenčiny na ES od [Essential Data ](https://github.com/essential-data/elasticsearch-sk ).
2021-10-15 08:48:30 +00:00
2021-10-01 06:41:31 +00:00
Stretnutie 1.10.2021
Stav:
- Urobený GIT, Overleaf aj virtuálny stroj na tuke cloud.
2021-10-01 06:45:26 +00:00
Úlohy:
- Pokračovať v otvorených úlohách.
2021-10-01 06:41:31 +00:00
Stretnutie 24.9.2021
2021-09-24 08:09:56 +00:00
Stav:
- Urobené poznámku ku knihe "Learning to Rank".
- Naštudované Cassandra.
Úlohy:
- Kódy dávajte na GIT do repozitára bp2022
- Začnite pracovať na Flask Web aplikácii. Aplikácia by mala vedieť zadať dotaz a zobraziť výsledky vyhľadávania.
- Vytvorte skript na indexovanie wikipédie do ES
- Napíšte si osnovu bakalárskej práce a dopíšte do nej relevantné texty ktoré máte.
Zásobník úloh:
- Vytvorte si virtuálny stroj na cloud.tuke.sk
- Web aplikácia by mala byť Dockerizovaná - vytvoríme Docker image.
- Vytvorte si pracovné prostredie s ElasticSearch a docker-compose: nainštalujete Docker Swarm
2021-03-17 13:04:18 +00:00
## Vedecký projekt 2021
2021-05-07 07:33:26 +00:00
Návrh na zadanie bakalárskej práce:
1. Vypracujte teoretickú úvod do problematiky získavania informácií.
2. Navrhnite spôsob vytvorenia indexu vybranej databázy a implementujte vyhľadávanie.
3. Vykonajte niekoľko experimentov a identifikujte mesto pre zlepšenie vyhľadávania.
2021-05-07 07:39:25 +00:00
Podobná práca [Ján Holp ](/students/2016/jan_holp )
2021-05-07 07:33:26 +00:00
2021-03-19 10:26:26 +00:00
Klaudové služby pre získavanie informácií
Cieľom projektu je zistiť ako fungujú klaudové služby pre umelú inteligenciu a ako fungujú webové vyhľadávače.
Úlohy:
- Zistite čo je to získavanie informácií.
- Oboznámte sa s Azure Cognitive Search a získajte prístup k službe. Pre prihlásenie môžete použiť Váše študentské prihlasovacie údaje.
- Vypracujte minimálne jeden tutoriál pre prácu s Azure Cognitive Search.
- Vypracujte krátky report na 2 strany kde napíšete čo ste robili a čo ste sa dozvedeli.
Zásobník úloh:
- Vytvorte index a vyhľadávanie na ZP Wiki.
- Napíšte tutoriál o tom ako ste to dokázali.
2021-06-04 08:39:06 +00:00
Stretnutie 4.6.
2021-06-04 08:47:05 +00:00
- Dohodli sme sa na vytvorení vyhľadávacieho systému za použitia crawlera, indexu a webového rozhrania.
2021-06-04 08:39:06 +00:00
- Vytvorený prístup na websucker-pip git,
- Vytvorený prístup na idoc
2021-06-04 08:47:05 +00:00
- Pre vedúceho : vytvoriť prístup na cassandra, dorobiť deployment elasticsearch.
Úlohy:
- Zoznámiť sa so zdrojovými kódmi crawlera
- Prečítať si knihu "Learning to Rank for Information Retrieval and Natural Language Processing: Second Edition"
- Nainštalujte si u seba cassandru a vyskúšajte crawler, zistite ako pracuje Cassandra.
- Porozmmýšľajte, ako vytvoriť vyhľadávací index pre text uložený v cassandre. Index môže byť vytvorený pomocou elasticsearch alebo podobného systému.
Do budúcnosti:
- Zaindexovať texty
- Vytvoriť webové rozhranie pre vyhľadávací index.
2021-05-07 07:19:33 +00:00
Stretnutie 7.5.
Stav:
- Vytvorená SQL databáza pomocou az príkazov (SQL Database).
- Nainštalované Azure Data Studio, vytvorená databáza študentov.
- Vytvorený nový ACS index a naindexovaná databáza.
- Azure Blob funguje iba cez Portál kvôli Location. Azure Data Storage. Všetky README sa dali do jedného súboru a to sa zaindexxovalo pomocou ACS.
2021-05-07 07:33:26 +00:00
- [Dokumetácia ](vp2021 ) je rozsiahla, podmienky na zápočet sú splnené.
2021-05-07 07:19:33 +00:00
2021-04-23 11:52:09 +00:00
Stretnutie 23.4.
Stav:
2021-04-23 12:18:43 +00:00
2021-04-23 11:52:09 +00:00
- vytvorené ACS pre vyhľadávanie vo vzorovej databáze hotelov.
- vytvorený prázdny index pre vyhľadávanie na Wiki.
2021-04-23 12:18:43 +00:00
- vytvorená databáza SQL Database - zatiaľ nefunguje. Chýba prístup na shell pre vytvorenie.
2021-04-23 11:52:09 +00:00
- vytvorený Azure BLOB - zatiaľ nefunguje. Vytvorená tabuľka so základnými informáciami -id, meno,... Nefunguje indexovanie blobu - problém s názvami blobu.
- zpwiki viem pridať do kontajnera - statický WEB blob kontajner.
2021-04-23 12:04:55 +00:00
- Vyzerá to tak, že ACS priamo nepracuje s PostgreSQL ani s Mariadb
2021-04-23 11:52:09 +00:00
2021-04-23 12:18:43 +00:00
Možnosti:
- Pokračovať v ceste pomocou ACS.
- Využiť Grav Plugin TNT Search.
- Vymyslieť niečo celkom iné.
Úlohy:
- Zapracovať na indexovaní pomocou Azure SQL.
- Porozmýšľať ako ďalej - chceme použiť hotové riešenie alebo niečo vymyslieť. Napríklad Elasticsearch - vyžaduje si Python, Javascript.
2021-04-23 11:52:09 +00:00
2021-04-09 11:01:37 +00:00
Stretnutie 9.4:
Stav:
- Vytvorená sada tutoriálov o Azure a Azure Cognitive Search. Dobré na ZKT. Tutorály sú na [GIthube ](https://github.com/michal552703/Vedecky-projekt ).
- Zistili sme, že ACS indexuje iba z Azure Storage.
Úlohy:
- Vytvoriť pokusný Azure Storage zdroj. Môže to byť Azure Blob alebo Azure Table alebo Azure SQL.
- Použiť indexer na indexovanie obsahu zdroja.
- Zapísať postup do súboru MD.
2021-03-19 10:26:26 +00:00
Stretnutie 19.3
Stav:
- Vytvorený prístup na Azure Portal
2021-03-19 10:29:08 +00:00
Úlohy:
- Vypracujte minimálne jeden tutoriál pre prácu s Azure Cognitive Search.
2021-03-17 13:04:18 +00:00