251 lines
6.8 KiB
Markdown
251 lines
6.8 KiB
Markdown
---
|
|
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).
|