---
title: Samuel Horáni
published: true
taxonomy:
    category: [vp2021,bp2022]
    tag: [chatbot,rasa,dialog,nlp]
    author: Daniel Hladek
---

rok začiatku štúdia: 2019

Návrh na zadanie BP:

1. Vypracujte teroretický úvod do modelovania dialógu a povedzte ake metódy sa aktuálne používajú.
2. Navrhnite a vytvorte dialógový systém komunikujúci v slovenskom jazyku pre úlohu objednania jedla z donáškovej služby.
3. Vykonajte sadu experimentov a dialógovým systémom a identifikujte miesta pre zlepšenie.


Nápady na balakársku prácu:

- chatbot pre objednanie jedla.
- chatbot s informáciami pre cestovateľov.
- Urobenie web rozhrania.
- dá sa dorobiť aj rečové rozhranie.
- dá sa to prepojiť aj na QA systém.

Výsledky:

- [Repozitár s webovou aplikáciou](https://git.kemt.fei.tuke.sk/sh662er/rasa-flask-website)
- [Repozitár s chatbotom](https://git.kemt.fei.tuke.sk/sh662er/Rasa)

## Bakalársky projekt 2021

Ciele:

- Vypracovať draft B. práce.
- Mať funkčné demo vo forme nasadenej webovej aplikácie.



---

6.1.2022

- Chatbot vie "rezervovať" stôl - rozpoznať entitu s názvom stola.
- Urobený Dockerfile pre Rasa bot

Úlohy:

- Dorobiť Dockerfile pre Flask App
- Skúsiť urobiť docker-compose.yaml (Swarm Mode Docker)
- Pre deployment je dobré zmeniť databázu na Postgres. Postgres sa robí "jednoducho" cez compose. 
- Upraviť konfiguráciu do podoby vhodnej na nasadenie. Nasadenie aplikácia bude mať inú konfiguráciu (napr. databázu) ako aplikácia vo vývoji.
- Naučte robota hovoriť o aktuálnom jedálnom lístku. 
    - čo mi ponúknete na obed?
    - Aké máte menu na pondelok?
    - čo obsahuje "čiernohorský rezeň"?
- Naučte robota hiečo o reštaurácii.
    - Ako sa tam dostanem?
- Naučte robota aby vedel pomôcť človeku. 
    - Čo vieš urobiť?
- Pracujte na prezentácii.
- Pracujte na písomnej časti.



---

Stretnutie 17.12.2021

Stav:

- Pridané testy na RASA test, urobené vyhodnotenie pomocou konfúznej matice.

Úlohy:

- [x] Pridajte schopnosť rozlišovať pomenované entity typu LOC. Spacy model by to mal vedieť. 
- [ ] Vylepšite chatbota do prvej funkčnej verzie.
- [x] Pripravte deployment pomocou Docker.
- [ ] Dajte vyskúšať chatbota tretej osobe a zapíšte si story.

---

Stretnutie 10.12.

- Naštudujte si https://rasa.com/docs/rasa/testing-your-assistant
- Pokračujte v otvorených úlohách.

---

Stretnutie 3.12.2021

Stav: 

- Teoretická čast BP je v celkom dobrom stave. Prebehlo viacero stretnutí k BP.

Ulohy:

1. [x] Navrhnite a napíšte intenty a utterance pre chatbota
2. [x] Natrénujte model, výskúšajte ho, opravte ho.
3. [x] Vytvorte testovacie stories a vyhonotte model.
4. [x] Kódy dajte na GIT
5. [x] Pripravte deployment pomocou Docker.


- - -

Stretnutie 12.11.2021

Vyhodnotenie zatiaľ nefunguje.

Úlohy:

- [x] Pokračovať v písaní práce.
- [x] Dokončiť web demo.
- [x] Vytvorte dockerfile.

Zásobník úloh:

- Vyhdonotiť NLU (úlohy z 12.10.)

Stretnutie 22.10.2021

- Urobené webové rozhranie pre analýzu konverzácií.

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

Stretnutie 12.10.

Stav:

- Vytvorené prepojenie s databázou a RASA pre uchovanie logov z konverzácií.
- Rozpracovaná knižnica pre prácu s databázou konverzácií.
- Vyskúšaný nový Spacy jazykový model.
- Vypracovaný report pre odovzdanie v 4. týždni - šablóna, osnova, krátky článok.

Úlohy:

- [x] Vyhodnotiť NLU model. 
- [x] Pripraviť sadu na vyhodnotenie NLU a spôsob ako ju v skripte vykonať. Vytvoriť niekoľko modelových situácií a sledovať, ako "dobre" bude chatbot reagovať. 
- [x] Zistiť z odbornej literatúry akým spôsobom sa zvyčajne vyhodnocuje NLU úloha. Prečítajte si článok o NLU a napíšte ako sa vyhodnocuje NLU model. Nájdite anglickú databázu na vyhdonotenie NLU a pozrite sa ako vyzerá. [blog rasa](https://rasa.com/blog/evaluating-rasa-nlu-models-in-jupyter/).


Zásobník úloh:

- [x] Analyzovať logy z konverzácií. Pripraviť export konverzácií v JSON pre spracovanie a HTML formáte pre zobrazenie.

- - -

Stretnutie 1.10.

Stav:

- Minulé úlohy dokončené: Osnova, 
- flask aplikácia je rozpracovaná a komunikuje s RASA.


Úlohy:

- [x] Vytvoriť Word s osnovou práce a do neho zapísať relevantné texty.
- [x] Pokračujte na Flask aplikácii
- [x] Zistite čo je to Dockerfile.



- - -

Stretnutie 24.9.

Stav: 

- Rozpracovaná flask aplikácia pre napojenie sa na RASA chatbota
- Veľmi základná ale funkčná verzia RASA bota
- Odovzdaný nový jazykový model Spacy.

Úlohy:

- [x] Dorobiť komunikáciu Flask a RASA s novým jazykovým modelom. Zdrojáky na GIT.
- [x] Vytvorte draft práce, napíšte osnovu a pridajte tam relevantné texty ktoré máte.
- [x] Nájdite aspoň jeden vedecký článok na tému "dialogue management" a napíšte čo ste sa dozvedeli.

- - -

## Vedecký projekt 2021

Dialógový systém pomocou RASA framework

Cieľom projektu je naučiť sa niečo o dialógových systémoch a oboznámiť sa so základnými nástrojmi.

- Nainštalujte a oboznámte sa s RASA frameworkom. Pri inštalácii využite systém Anaconda.
- Vyberte a prejdite najmenej jeden tutoriál pre prácu s RASA frameworkom.
- Napíšte krátky report na 2 strany kde napíšete čo ste urobili a čo ste sa dozvedeli.
- Výstup je tu https://git.kemt.fei.tuke.sk/sh662er/Rasa
- - -
Stretnutie 16.6.2021

Stav:

- Stránka s UI je vo Flask
- Problém je so stavom spojenia s RASA servrom.
- - -
Stretnutie 6.5.2021

- prebehla aj Komunikácia  cez teams a email.
- Vyskúšaný TUKE spacy model, ide v poriadku pre všetky intenty.

Úlohy:

- [x] podmienky na zápočet sú splnené - ale poprosím dokumentáciu konvertovať do Markdown a nahrať na GIT.
- - -
Stretnutie 9.4.2021

Stav:

- Vypracovaná dokumentácia.
- Podarilo sa modifikovať systém tak že vie využiť slovenský fasttext word embedding model.
- modifikácia využíva všeobecný spacy pipeline. Bolo potrebné anlyzovať zdrojové kódy spacy aby to išlo. 

Úlohy:

- [x] Vyskúšať slovenský spacy model od vedúceho.
- - -
Stretnutie 26.3.2021

Stav:

- Preklad jazykového modelu z angličity do slovenčiny
- Napísané pravidlá "ako sa volám".

Úlohy:

- [x] Fast tex model implememntovať
- [x] napísať dokumentáciu
- - -
Stretnutie 19.3.2021

Zásobník úloh:

- [x] Doplniť podporu slovenčiny do fr. RASA

Stav:

- Je nainštalovaný fr. RASA pomcou Anaconda
- Je vytvorený základný jazykový model - v anglickom jazyku.
- Prezretý video kanál s [RASA tutoriálom](https://www.youtube.com/watch?v=rlAQWbhwqLA&list=PL75e0qA87dlHQny7z43NduZHPo6qd-cRc)

Úlohy:

- [x] Skúsiť vytvoriť agenta ktorý komunikuje po slovensky. Najprv by sa preložili trénovacie príklady.
- [x] Zistiť ako doplniť podporu slovenčiny do RASA. Komponenty ktoré máme k dispozícii sú: spacy model, fastext a glove word embedding model, BERT model (fresh and secret).