forked from KEMT/zpwiki
216 lines
7.7 KiB
Markdown
216 lines
7.7 KiB
Markdown
---
|
|
title: Matej Ščišľak
|
|
published: true
|
|
taxonomy:
|
|
category: [bp2024, dp2026]
|
|
tag: [chatbot,rasa,dialog,nlp]
|
|
author: Daniel Hladek
|
|
---
|
|
|
|
rok začiatku štúdia: 2021
|
|
|
|
Ciele:
|
|
|
|
- Zlepšiť generovanie odpovedí pre úlohy vyžadujúce viac krokov.
|
|
|
|
Príprava:
|
|
|
|
- Zopakujte si Python.
|
|
- Vyskúšajte si prácu s veľkými jazykovými modelmi. Nainštalujte si oollama.
|
|
- Oboznámte sa s framewworkom LangChain.
|
|
- pozrite si LangChain Transformers Agents.
|
|
- Ako funguje FunctionCalling - AgentTools?.
|
|
- Zistite ako funguje REACT (Reasoning and Acting) Agent - nájdite článok na Scholar.
|
|
- Zistite ako funguje dotrénovnaie veľkých jazykových modelov. Zistite čo je to PEFT (LORA, QLORA) a čo je to kvantizácia. Zisite čo je to "few shot" prompting.
|
|
- Čo je to inferenčný server. Zistite čo je to VLLM, na čo je to dobré. Pozri si LocalAI.
|
|
|
|
|
|
|
|
# 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.
|
|
|