forked from KEMT/zpwiki
263 lines
7.9 KiB
Markdown
263 lines
7.9 KiB
Markdown
---
|
|
title: Michal Stromko
|
|
published: true
|
|
taxonomy:
|
|
category: [vp2021,bp2022]
|
|
tag: [ir,cloud,demo,nlp]
|
|
author: Daniel Hladek
|
|
---
|
|
|
|
rok začiatku štúdia: 2019
|
|
|
|
# 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.
|
|
|
|
|
|
|
|
|