---
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.




