625 lines
22 KiB
Markdown
625 lines
22 KiB
Markdown
---
|
|
title: Michal Stromko
|
|
published: true
|
|
taxonomy:
|
|
category: [vp2021,bp2022,dp2024]
|
|
tag: [ir,cloud,demo,nlp]
|
|
author: Daniel Hladek
|
|
---
|
|
|
|
rok začiatku štúdia: 2019
|
|
|
|
# Diplomová práca 2023/24
|
|
|
|
Sémantické vyhľadávanie v slovenskom texte
|
|
|
|
|
|
Zadanie práce:
|
|
|
|
1. Vypracujte prehľad najnovších metód sémantického vyhľadávania pomocou neurónových sietí.
|
|
2. Implementujte sémantické vyhľadávanie na slovenskej wikipédii pomocou existujúcich modelov.
|
|
2. Vyberte dátovú množinu otázok a odpovedí a ručne anotujte výsledky sémantického vyhľadávania.
|
|
3. Pripravte, vykonajte a opíšte experimenty na vyhodnotenie vyhľadávania pomocou Vami ručne vytvorenej množiny.
|
|
4. Vyhodnoťte experimenty a identifikujte slabé miesta a navrhnite zlepšenia.
|
|
|
|
Ciele DP:
|
|
|
|
- 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.
|
|
|
|
|
|
Stretnutie 6.3.
|
|
|
|
- Hotová anotácia 1200 otázok, ku každej je 20 odpovedí v 5 kategóriách.
|
|
- Hotové vyhodnotenie modelu Slovakbert-mnlr, metriky recall, MRR, MAP, NDCG. Model je "podpriemerný".
|
|
|
|
Úlohy:
|
|
|
|
- Dokončiť text DP, asi bude treba niektoré časti skrátiť.
|
|
- Nájsť podobnú databázu. STSB je podobná, ale možno iná je podobnejšia.
|
|
- Spraviť nový dockerfile pre vyhľadávacie demo.
|
|
|
|
Zásobník úloh:
|
|
|
|
- Pripraviť databázy do kompletnej podoby pre uverejnenie. Na jedno miesto dať všetky potrebné súbory, vrátane sk quad.
|
|
- Databázu treba dať do podoby, aby bola kompatibilná s inými vyhodnocovacími skriptami.
|
|
- Pripraviť vlastný vyhodnocovací skript. 1. vstup sú výsledky z vyhľadávania (predicted), druhé sú pravdivé výsledky (gold, actual). Výstupom sú hodnoty metrík v JSON.
|
|
- * Napísať článok, zverejniť databázu *. Zvážiť spoločný článok s Kristiánom S.
|
|
|
|
|
|
Stretnutie 16.2.
|
|
|
|
Stav:
|
|
|
|
- Dokončená teoretická časť DP.
|
|
- Dokončená aplikácia "Vyhľadávanie na slovenskej wikipédii". Treba ešte dorobiť Dockerfile.
|
|
- Začatá práca na kapitole - Tvorba korpusu pre vyhodnotenie sémantického vyhľadávania.
|
|
- Treba urobiť ešte vyhodnotenie na modeli Slovakbert-mnlr. Porovnanie s bm25 baseline, aj hybrid.
|
|
|
|
|
|
# Diplomový projekt 2
|
|
|
|
Stretnutie 30.11.20
|
|
|
|
Stav:
|
|
|
|
- Rozrobený text
|
|
- Anotovaných cca 1000 dokumentov
|
|
|
|
Úlohy:
|
|
|
|
- Skúsiť experimenty
|
|
- Pokračovať v anotáciách
|
|
- Pokračovať v písaní textu.
|
|
|
|
|
|
Stretnutie 9.11. 2023
|
|
|
|
Stav - urobené úlohy:
|
|
- Je anotovaných cca 240 otázok, ku každej cca 20 dokumentov
|
|
- [x] Pridať kódy na Git
|
|
- [x] Napísať návod pre anotovanie
|
|
- [x] Spaviť jednu stránku pre vypísanie počtu už anotovaných otázok z danej sady
|
|
- [x] Pridať do indexu search, každému kontextu ID
|
|
- [x] Pri vyhľadávaní sprrávnych odpovedí uložiť uložiť tak, aby bol súbor odpovede, ktorý bude mať parametere id_odpovede a k nemu priradený text odpovede
|
|
- [x] Rozdelenie anotačného datasetu na sady (anotačné sady je ich 8)
|
|
- [x] Zamiešanie správnych odpovedí okrem odpovede zo skquad tá je na index = 0 vždy
|
|
- [x] Prerobiť anotačnú aplikáciu tak, aby mala po anotovaní štruktúru id správnej odpovede a kategóriu.
|
|
- [x] Pri anotovaní budem ťahať z id odpovede presný text z toho datasetu
|
|
- [x] Anotovacie kategórie: sú na gite skwiki
|
|
- [x] Zapísať nové veci a poznámky do Mira
|
|
- [x] Zmeniť v Mire štruktúru anotačného aj finálneho datasetu
|
|
- [x] Opovedí môže byť rôzne množstvo nie iba po jednej odpove
|
|
|
|
Úlohy:
|
|
|
|
- Pokračovať v anotácia prvých a druhých 1000 otázok
|
|
- Pripraviť experimenty pre vyhodnotenie presnosti s novými dátami
|
|
- Pokračovať v písaní.
|
|
|
|
Zásobník úloh:
|
|
|
|
- Zvážiť indexovať kratšie kontexty. Nevýhody: vznikne neporiadok. Výhody: Môže sa urýchliť práca anotátorov.
|
|
- Zvážiť nasadenie, úpravu django appky a anotovať s náhodnými študentami.
|
|
|
|
|
|
Stretnutie 2.11.2023
|
|
|
|
Stav:
|
|
|
|
- Prvá verzia anotačnej aplikácie v Streamlit
|
|
- Pripravené dáta na anotovanie.
|
|
|
|
|
|
Úlohy:
|
|
|
|
- Prideliť ID pre kontexty a pridať ich do indexu.
|
|
- Upraviť rozhranie. Defaultná položka je 0 - "nevidel som - ignoroval som". Premenovať ostatné kategórie na "Nevidel som", "Neviem","Relevantné", "Slabo relevantné", "Nerelevantné". Kontext zo SQUAD bude 1, neviditeľný pre antátorov.
|
|
- Premiešať 20 najlepších odpovedí.
|
|
- Pracujte na texte DP - robte si poznámky z článkov o metrikách vyhodnotenia.
|
|
|
|
|
|
Stretnutie 26.10.2023
|
|
|
|
Stav:
|
|
|
|
- Urobený preskum dostupných databáz na vyhodnotenie IR.
|
|
- Prípravený plán na tvorbu databázy. Zoberieme otázky zo SK QUAD a ku nim vyhľadáme 20 najlepších paragrafov z celej wikipédie 2023. Kategória 1 budú kontexty zo SKQUAD. Kategória 2 budú iné správne kontexty. Kategória 3 budú čiastočne správne. Kategória 4 budú nesprávne kontexty. Na vyhľadávanie použijeme aktuálny demo systém.
|
|
Zatiaľ sa nebude robiť kros validácia.
|
|
|
|
Úlohy:
|
|
|
|
- Pripravte anotačné prostredie na báze Streamlit. Otázky berte podľa poradia v poslednej verzii SKQUAD databázy. Anotujte čo najviac otázok. Ku každej otázke bude 20 dokumentov.
|
|
- Urobte prehľad článkov, ktoré anotujú databázu podobným spôsobom.
|
|
- Anotovať aj "nezodpovedateľné" otázky. Zodpovedajúci "nesprávny" kontext so SKQUAD bude kategória 5.
|
|
- Kontexty zo SQUADU by nemali byť v indexe. Doplníme ich neskôr. Bude potrebné ich identifikovať vo nájdených kontextoch, lebo sa môžu mierne líšiť.
|
|
|
|
Zásobník úloh:
|
|
|
|
- Zvážiť strojový preklad vybranej databázy a ich porovnanie.
|
|
- Čo urobiť s kontextami zo SKQUAD vo Wiki2023 - vyznačiť?
|
|
|
|
|
|
Stretnutie 5.10.2023
|
|
|
|
Nápad:
|
|
|
|
- Vytvoriť novú databázu pre vyhodnotenie získavania informácií v slovenskom jazyku.
|
|
- Predošlá práca je https://nlp.kemt.fei.tuke.sk/language/categorizednews
|
|
|
|
Úlohy:
|
|
|
|
- Definovať úlohu pre ktorú chceme vytvoriť overenie. Ako by mala vyzerať "otázka"? Ako by mala vyzerať "odpoveď"? Čo znamená dobrá odpoveď?
|
|
- Zostaviť prehľad existujúcich databáz pre vyhodnotenie vyhľadávania. Napíšte si poznámky.
|
|
- Vyberte vhodnú databázu na "klonovanie".
|
|
- Zvážiť vytvorenie strojovo preloženej databázy na porovnanie.
|
|
- Vybrať vhodnú metódu anotácie dát. K tejto metóde implementovať anotačné nástroje. Je možnosť použiť "vyhľadávacie demo na wikipédiu".
|
|
|
|
Stretnutie 28.9.2023
|
|
|
|
Stav:
|
|
|
|
- Naindexovaná nová verzia Wikipédie (14.8.2023). Sentence Transformers a BM25.
|
|
- Otázky sú v angličtine aj v slovenčine.
|
|
- Zistili sme, že otázky v SK QUAD sú veľmi jednoduché.
|
|
|
|
Úlohy:
|
|
|
|
- Dajte skripty na parsovanie Wiki na GIT.
|
|
- Vytvorte a vyhoddnoťte kros linguálny QA systém. Otázky v slovenčine by fungovali aj pre anglickú databázu.
|
|
- Nájdite vedecké články publikované na túto tému. Prečítajte si ich a urobte si poznámky. Aké databázy a aké spôsoby vyhodnotenia sa používajú? Systém sa skladá z dvoch modulov - information retrieval a question answering. Každý sa vyhodnocuje inak. Vyhľadávajte "cross lingual information retrieval", "cross lingual question answering". Môže sa použiť ako esej AKT.
|
|
- Skúste vytvoriť systém na "kros linguálne" indexovanie na "information retrieval". Je potrebné zistiť, aké modely a metódy sa na to používajú. MPnet alebo LABSE?
|
|
|
|
|
|
Nápad:
|
|
|
|
- Vytvoriť alebo vybrať zložitejšie otázky a vyhodnotiť ich.
|
|
|
|
|
|
# Diplomovy projekt 1
|
|
|
|
|
|
Nápady na semester (spolu s K. Sopkovicom)
|
|
|
|
- Chceme rozbehat demo vyhľadávanie. 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.
|
|
- Pripraviť slovenskú databázu STS a NLI.
|
|
- 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.
|
|
- Vyskúšať vyhľadávanie v inej doméne (noviny, mestské dokumenty).
|
|
|
|
|
|
|
|
Stretnutie 26.6.
|
|
|
|
Stav:
|
|
|
|
- Demo funguje, je odladene aj nasadene
|
|
- Praca naa pisomenj casti pokracuje
|
|
|
|
Úlohy:
|
|
|
|
- Pripraviť vyhľadávanie čislo anglické, čislo slovenské a slovensko anglické multilinguálne.
|
|
- Vyčísliť p-r-f1 celého vyhľadávania pre tieto tri prípady to tak, že jeden dokument (jedna jednotka) je jeden odsek (paragraf). Teda indexujete po paragrafoch.
|
|
- Cieľ je aby bola diplomovka publikovateľná.
|
|
- Pokračovať v písaní. Text by mal byť podkladom na prezentované experimenty.
|
|
Mal by vysvetľovať základné pojmy. Pozrite si články na tému "information retrieval in wikipedia".
|
|
|
|
Stretnutie 27.3.2023
|
|
|
|
Stav:
|
|
|
|
- Jednoduché demo stremalit fuguje - vektorové vyhľadávanie pomocou transformers utils.semantic_search.
|
|
- Cieľ: ku každému paragrafu vypočítať embedding pomocou mnlr. Poznačiť si dokument id. V prvom kroku ku otázke vyhľadať paragrafy. V druhom kroku ku otázke vyhľadať odpovede v paragrafoch. V treťom kroku zobraziť odpoveď na otázku aj najrelevantnejšie dokumenty.
|
|
- Pokračovať v písomnej časti.
|
|
|
|
Zásobník úloh:
|
|
|
|
- util_semanticsearch vymentiť za qdrant alebo faiss alebo iné.
|
|
- Určiť prah, na základe ktorého sa zistí, že odpoveď nie je v databáze.
|
|
- Neskôr dorobiť "fallback" na "fuzzy" vyhľadávanie relevatných dokumentov.
|
|
|
|
|
|
Stretnutie 20.2.2023
|
|
|
|
Úlohy:
|
|
|
|
- [-] Spravte QA demo pomocou streamlit. Najprv vytvorte faiss index, do pamäte nahrajte všetky paragrafy.
|
|
- [ ] Dotaz transformuje na vektor. Nájdite 5 najlepších odsekov. Vykonajte QA na všety odseky. Zobrazte odseky. Zobrazte najlepšiu odpoveď a názov dokumentu kde sa nachádza.
|
|
- [ ] Modely sa nachádzajú na HF TUKE-DeutscheTelekom.
|
|
|
|
Zásobník:
|
|
|
|
- Na uloženie odsekov a vektorov vyberte a použite vhodnú databázu (faiss, sqlite, qdrtant, jina ....).
|
|
- Implementujte stránkovanie (ak bude potrebné), zlepšite výzor.
|
|
|
|
|
|
|
|
Stretnutie 17.2.2023
|
|
|
|
Úlohy:
|
|
|
|
- Zoberte existujúci model bi-encoder. Indexujte všetky odseky do vektorovej databázy FAISS.
|
|
- Upravte streamlit demo na QA systém. Skript sa nachádza v slovak-retrieval/qademo. Skript bude vyhľadávať k najlepších dokumentov vektorovým vyhľadávaním.
|
|
- Potom v najlepších dokumentoch vykonajte QA vyhľadávanie.
|
|
- Zobrazte výsledky používateľovi.
|
|
|
|
Zásobník úloh:
|
|
|
|
- Pripravte experimenty, kde prezentujeme komponenty, porovnáme rôzne možnosti do podoby článku.
|
|
|
|
|
|
|
|
# Vedecky projekt 2022/23
|
|
|
|
|
|
Súvisiace práce:
|
|
|
|
- Matej Kobyľan
|
|
- Suchanič
|
|
- Kristián Sopkovič
|
|
|
|
Ciele na semester:
|
|
|
|
- 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.
|
|
- Vypracovat demonštračné vyhľadávanie v slovenskej wikipédii.
|
|
- Vypracovat spravu o precitanych clankoch spolu s odkazmi, cca 4 strany
|
|
- Vyslovit ciele diplomovej prace.
|
|
|
|
|
|
Klucove slova:
|
|
|
|
- Jina, Rasa, Vektorova Databaza
|
|
- Hierarchicke vztahy medzi dokumentami
|
|
- Faiss, Elasticsearch-Opensearch, Fasttext
|
|
- https://aclanthology.org/2020.emnlp-main.550/, Dense Passage Retrieval for Open-Domain Question Answering.
|
|
- Urobit demo vyhladavanie v slovenskej wikipedii.
|
|
- LABSE, LASER embedding model
|
|
- multi language IR
|
|
|
|
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.
|
|
- 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.
|
|
|
|
Zásobník úloh:
|
|
|
|
- Vytvoriť vyhľadávanie v dvoch krokoch. Najprv "nahrubo", potom výsledky znova zoradiť.
|
|
- 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.
|
|
- Vyhodnotiť modely v adresári crossencoder.
|
|
|
|
|
|
|
|
|
|
|
|
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:
|
|
|
|
- Natrénujte model Kharpukin DPR, podľa Facebook skriptov alebo pomocou Nvidia Deep learning examples.
|
|
- Vyhodnotte celý proces QA na vrátených výsledkoch.
|
|
|
|
Stretnutie 10.11.2022
|
|
|
|
Stav:
|
|
|
|
- Konvertovaný SCNC do JSON.
|
|
- Práca s Jina-Elasticsearch pre uloženie embeddingov.
|
|
- Prečítaný a spoznámkovaný článok "Making Monolingual Sentence Embeddings Multilingual using Knowledge Distillation".
|
|
|
|
Úlohy:
|
|
|
|
- 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.
|
|
- Prečítať a spoznámkovať ďalšie články z https://github.com/UKPLab/sentence-transformers
|
|
|
|
|
|
Zasobnik uloh:
|
|
|
|
- Dotrénovať sentence transformer na slovenský jazyk. Ako?
|
|
|
|
Stretnutie 14.10.2022
|
|
|
|
Ulohy:
|
|
|
|
- Precitat si clanok, napiste poznamky
|
|
- Navrhnite na co by ste sa chceli sustredit.
|
|
|
|
|
|
Stav:
|
|
|
|
- Naštudovaný článok Kharpukin Dense Passage Retrieval
|
|
- Naštudované Jina-DocArray.
|
|
- Je k dispozícci ES na školskom servri - aj tak je lepšie pracovať na vlastnej inštancii.
|
|
|
|
Úlohy:
|
|
|
|
- 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?
|
|
|
|
Zásobník úloh:
|
|
|
|
- skúste zaindexovať slovenské dokumenty pomocou Elasticsearch.
|
|
- Zistite ako funguje vektorové vyhľadávanie v ES.
|
|
|
|
|
|
# Bakalárska práca 2022
|
|
|
|
|
|
- [Repozitár](https://git.kemt.fei.tuke.sk/ms111of/bp2022)
|
|
|
|
Názov: Indexovanie slovenského textu pomocou Elasticsearch
|
|
|
|
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
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
- Dorobte prezentáciu
|
|
- Do práce pridajte opis toho ako funguje Flask aplikácia a ako komunikuje s Elasticsearch.
|
|
|
|
|
|
|
|
Stretnutie 3.12.2021
|
|
|
|
- Podarilo sa zaindexovať dokument do ES pomocou Python skriptu
|
|
|
|
Úlohy:
|
|
|
|
- Zaindexujte viac dát
|
|
- Vytvorte webové rozhranie pre vyhľadávanie. Flaśk aplikácia.
|
|
|
|
|
|
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/
|
|
|
|
|
|
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.
|
|
|
|
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.
|
|
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
- Pozrite podporu slovenčiny na ES od [Essential Data](https://github.com/essential-data/elasticsearch-sk).
|
|
|
|
|
|
Stretnutie 1.10.2021
|
|
|
|
Stav:
|
|
|
|
- Urobený GIT, Overleaf aj virtuálny stroj na tuke cloud.
|
|
|
|
Úlohy:
|
|
|
|
- Pokračovať v otvorených úlohách.
|
|
|
|
|
|
Stretnutie 24.9.2021
|
|
|
|
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
|
|
|
|
## Vedecký projekt 2021
|
|
|
|
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.
|
|
|
|
Podobná práca [Ján Holp](/students/2016/jan_holp)
|
|
|
|
|
|
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.
|
|
|
|
Stretnutie 4.6.
|
|
|
|
- Dohodli sme sa na vytvorení vyhľadávacieho systému za použitia crawlera, indexu a webového rozhrania.
|
|
- Vytvorený prístup na websucker-pip git,
|
|
- Vytvorený prístup na idoc
|
|
- 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.
|
|
|
|
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.
|
|
- [Dokumetácia](vp2021) je rozsiahla, podmienky na zápočet sú splnené.
|
|
|
|
Stretnutie 23.4.
|
|
|
|
Stav:
|
|
|
|
- vytvorené ACS pre vyhľadávanie vo vzorovej databáze hotelov.
|
|
- vytvorený prázdny index pre vyhľadávanie na Wiki.
|
|
- vytvorená databáza SQL Database - zatiaľ nefunguje. Chýba prístup na shell pre vytvorenie.
|
|
- 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.
|
|
- Vyzerá to tak, že ACS priamo nepracuje s PostgreSQL ani s Mariadb
|
|
|
|
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.
|
|
|
|
|
|
|
|
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.
|
|
|
|
Stretnutie 19.3
|
|
|
|
Stav:
|
|
|
|
- Vytvorený prístup na Azure Portal
|
|
|
|
Úlohy:
|
|
|
|
- Vypracujte minimálne jeden tutoriál pre prácu s Azure Cognitive Search.
|
|
|
|
|
|
|
|
|