chat-restaruacja/README.md
2024-06-10 19:24:04 +02:00

53 lines
2.8 KiB
Markdown

# Temat
Przyjmowania zamówień w restauracji
# Cel
Celem projektu jest zbudowanie agenta dialogowego przyjmującego zamówienia w restauracji.
System powinien rekomendować pozycje z menu na podstawie preferencji klienta oraz udzielać podstawowych informacji dotyczących zamówionego posiłków.
Agent powinien wykazywać elastyczność, adaptując się do potrzeb klienta, np. umożliwiać pominięcie lub dodanie pewnych składników do posiłku.
# Zespół
- s495724 - Michał Kasprowicz
- s495726 - Patryk Osiński
- s495727 - Krzysztof Bojakowski
- s495728 - Sergiusz Kański
# Akty
| Typ | Opis |
|----------------------------:|:--------------------------------------------------------|
| affirm | potwierdzenie |
| bye | zakończenie rozmowy |
| canthear | „nic nie słyszę” |
| confirm-domain | prośba o potwierdzenie dziedziny |
| negate | zaprzeczenie |
| repeat | prośba o powtórzenie |
| reqmore | sprawdzenie czy użytkownik chce dodatkowych informacji |
| welcomemsg | przywitanie |
| canthelp | „nie mogę pomóc” |
| canthelp.missing_slot_value | „potrzebuję poznać wartość slotu, żeby pomóc” |
| expl-conf | potwierdzenie (wprost), że slot ma daną wartość |
| impl-conf | potwierdzenie (nie wprost), że slot ma daną wartość |
| inform | poinformowanie użytkownika, o przyjętej wartości slotu |
| offer | rekomendacja (restauracji) |
| request | pytanie użytkownika o wartość slotu |
| select | prośba o dokonanie wyboru spośród przedstawionych opcji |
# Obsługa projektu
- Python 3.10.12
- Instalacja dependencies `pip3 install -r requirements.txt`
- Centralna część systemu - uruchamiamy `python3 src/main.py` - wymagane są wyuczone modele (patrz niżej)
- NLU:
- uczenie modeli od zera `python3 nlu_train.py`
- Ewaluacja `python3 evaluate.py`
# Gotowe modele NLU
- [frame-model-prod](https://1drv.ms/f/s!Ar75ftQiNIxxhcgPS1EOLu0zC_WWzg?e=tJRqbB)
- [slot-model-prod](https://1drv.ms/f/s!Ar75ftQiNIxxhcgb2X6pFioRxXHVew?e=ZC6LFI)
Nazwa folderów jest istotna - muszą byc odpowiednio `frame-model-prod` i `slot-model-prod` oraz znajdować się w głównym katalogu repozytorium.