zpwiki/pages/students/2019/samuel_horani/README.md

251 lines
6.8 KiB
Markdown
Raw Permalink Normal View History

2021-03-17 13:04:18 +00:00
---
title: Samuel Horáni
2021-03-26 07:12:43 +00:00
published: true
taxonomy:
2021-09-24 14:11:32 +00:00
category: [vp2021,bp2022]
2021-03-26 07:12:43 +00:00
tag: [chatbot,rasa,dialog,nlp]
author: Daniel Hladek
2021-03-17 13:04:18 +00:00
---
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:
2021-09-24 07:30:35 +00:00
- [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)
2021-09-24 07:30:35 +00:00
2021-09-24 07:27:33 +00:00
## 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.
- - -
2021-09-24 07:27:33 +00:00
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.
- - -
2021-03-17 13:04:18 +00:00
## 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).