zpwiki/pages/students/2021/matej_scislak/README.md

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.