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