---
title: Matej Ščišľak
published: true
taxonomy:
    category: [bp2024]
    tag: [chatbot,rasa,dialog,nlp]
    author: Daniel Hladek
---

rok začiatku štúdia: 2021

# Bakalárska práca 2024


Názov: Dialógový systém pre potreby samosprávy


Zadanie:

1. Vypracujte teroretický úvod do modelovania dialógu a povedzte aké metódy sa aktuálne používajú.
2. Navrhnite a vytvorte dialógový systém v slovenskom jazyku pre úlohu komunikácie občana s mestom.
3. Vykonajte sadu experimentov a dialógovým systémom.
4. Vyhodnoťte experimenty a identifikujte miesta pre zlepšenie.


Súvisiace materiály:

- [Projektová stránka](/topics/chatbot)

Spolupráca:

- [Martin Šarišský](/students/2021/martin_sarissky)

Stretnutie 23.2:

Stav:

- Práca na pravidlách aj texte

Úlohy:

- Vypracujte pravidlá pre rozpoznanie neznámeho zámeru. Cieľ je aby chatbot vedel upozorniť na agendu ktorú nemá implementovanú a vedel ponúknuť čo vie.

Stretnutie 16.2.2024

Stav:

- Pridanie "domain" pravidiel pre "bežného" používateľa
- Pridané pravidlá pre slovenské mená a  ulice.
- Zlepšenie rozpoznávanie IČO a rodné číslo.

Úlohy:

- Pracujte na zlepšení rozpoznávania firiem, priezvisk. Firma sa môže volač hocijak, Je tam možnosť využiť obchodný register.
- pridajte možnosť využiť chatgpt alebo inú službu na generovanie odpoveďe.
- Pridajte testovacie scenáre vytvorené 3. neznalým človekom a vyhodnotte chatbota. Chceme vedieť, aký dobrý je pri rozpoznávaní intentov, a ktoré intenty a entity sú problematické. Určite ako to zlepšiť.
- Stále píšte. Zlepšite časť o rozpoznávaní intentov a pomentovaných entít.

Stretnutie 9.2.

Stav:

- Zlepšený proces "rozpoznávania" druhu formulára - chatbot sa spýta, aký formulár treba vyplniť.
- Pri vypĺnaní nastal problém s rozpoznávaním mien a adries.
- Pridané testovacie "stories".
- Je problém keď pri firme sa vyplňa formulára niečo iné ako pri fyzickej osobe.

Úlohy:

- Zlepšite chatbota podľa výsledkov vyhodnotenia.
- Pridajte zdrojáky na GIT.
- Preskúmajte možnosti využitia ChatGPT
- Zlepšite rozpoznávanie pomenovaných entít - mená, priezviská, názvy firiem. Najprv vyskúšajte riešenie cez RASA.

Zásobník úloh:

- Vyskúšajte trénovanie modelu pomocou spacy. spacy-skmodel na githube.
- Vyskúšajte možnosť zlepšenia pomenovaných entít cez model Spacy. Pravidlový rozpoznávač alebo alebo rozpoznávač pomocou neurónovej siete.
- Vedúci má niekde dáta.



Stretnutie 9.1

Stav:

- Rozšírenie možnosti formulárov.
- Práca na písomnej časti.

Úlohy:

- Zlepšite Vášho chatbota pomocou ChatGPT. So službou viete komunikovať pomocou Python API a "api tokenu". LLM je možné dotrénovať na vlastných dátach. Alebo LLM vie riešiť špecifickú úlohu ktorú definujete pomocou "promptu".
- Pokračujte v písomnej časti.
- Pripravte testovacie scenáre pre Vašu sadu pravidiel a vyhodnotte pomocou nej chatbota. Jedna množina na vyhodnotenie bude Vaša a druhá množina kolegu Šarišského.
- Pripravte prezentáciu a pošlite texty BP na spätnú väzbu, dajte kódy na GIT. 
- Upravte kódy tak, aby ich vedúci vedel ľahko vyskúšať pomocou Docker.


Zásobník úloh:

- Zistite čo je to LangChain a na čo sa používa. Nainštalujte si to a vyskúšajte.



Stretnutie 8.12.2023

Stav:

- Vyriešený problem týkajúci sa SLOTov. Bola potrebná osobnitná funkcia submit.
- Práca na písomenj časti.

Úlohy:

- [x] Vedúci by mal finalizovať zadanie.
- [x] Integrovať Vašu bázu pravidiel s kolegom Šarišským. Spraviť z toho jedného bota. 
- [x] Zistite si ako pracujú veľké jazykové modely LLM a napíšte si o tom  poznámky.
- [x] Preštudujte si, ako integrovať veľké jazykové modely s RASA. Veľké jazykové modely sú ChatGPT alebo BARD.  Na ChatGPT máte k dispozícici študentské kredity cez Azure Dev Tools for Teaching.  

Zásobník úloh:

- [ ] Zlepšite Vášho chatbota pomocou ChatGPT. So službou viete komunikovať pomocou Python API a "api tokenu". LLM je možné dotrénovať na vlastných dátach. Alebo LLM vie riešiť špecifickú úlohu ktorú definujete pomocou "promptu".

Stretnutie 14.11.

Stav:

- Vyriešený problém s Policy - problém bol asi na strane Stories.
- Nastal problém s rozpoznávaním entít. Podarilo sa naštartovať Form, nepodarilo sa rozpoznať slot. Nevie rozpoznať typ priznania za psa.


Stretnutie 3.11.

Stav:

- Práca na "Forms" v RASA. Problém s "Policy" konfiguráciou bol skonzultovaný.

Úlohy:

- Riešte problém s Policy pomocou "debug" výpisov.
- Píšte BP. Opíšte ako funguje NLU a ako funguje rozhodovanie pomcou pravidiel v RASA. 

Zásobník úloh:

- Naštudujte si čo je to Reinforcement learning a ako to súvisí s chatbotmi. https://www.telusinternational.com/insights/ai-data/article/reinforcement-learning-primer . Napíšte si o tom aj poznámky.

 
Stretnutie 27.10

Stav:

- Pokračuje písomná príprava a práca na kódoch chatbota.

Úlohy:

- Pokračujte v otvorených úlohách, aj zo zásobníka.
- Študujte generatívne jazykové modely.

Zásobník:

- Integrujeme bázu pravidiel oboch chatbotov.

Stretnutie 6.10.

Stav:

- Vypracované úlohy z minulého stretnutia

Úlohy:

- Nadviažte na prácu p. Šarišského a navrhnite a implementujte chatbota na riešenie vybraných a analyzovaných  úloh. Chatbot by mal vedieť identifikovať problém, mal by vedieť či je schopný ho riešiť. Potom by mal naštartovať postup pre riešenie daného problému.   
- Naštudujte si RASA Forms aby ste vedeli pomôcť človeku vyplniť formulár.
- Vytvorte pomôcku pre vyplnenie formulára s pomocou chatbota a RASA Forms pre viacero problémov. Vyberte jednoduché problémy s malým počtom "slotov".
- pravidlá pre chatbota uložte na GIT repozitár s názvom bp2023. Môžete prístup zdieľať s kolegom.
- Prečítajte si najnovšie články o chatbotoch vo verejnej správe "chatbot citizen services". Zistite aké metódy používajú a napíšte o tom do písomnej práce.

Zásobník úloh:

- naštudujte si ako sa vyhodnocuje RASA chatbot.
- napíšte testovacie konverzácie pre Vaše pravidlá.
- Zistite ako pracuje generatívny jazykový model (GPT, T5, LLAMA) a ako sa dá využiť v dialógových systémoch. Sú založené na neurónových sieťach typu Transformer.

Stretnutie 28.9.2023

Stav:

- Nainštalovaná RASA

Úlohy:

- [x] Nainštalujte si Anaconda. Do Anaconda prostredia si nainštalujte RASA.
- [-] Pokračujte v štúdiu RASA-Python. Na servri scholar si vyhľadajte termín "natural language understanding". 
Prečítajte si niekoľko vedeckých článkov alebo kníh na túto tému a napíšte si poznámky.
- [x] Pozrite si stránku https://www.esluzbykosice.sk/. Vyberte niekoľko vzorových problémov a ku nim implementuje asistenta na ich riešenie. Napríklad, občan chce zaplatiť za odvoz odpadu a nevie čo má robiť. Alebo občan si kúpil psa a nevie aké má povinnosti.

Zásobník úloh:

- Vytvorte pomôcku pre vyplnenie formulára s pomocou chatbota.

