53 lines
2.8 KiB
Markdown
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. |