2.8 KiB
2.8 KiB
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
- uczenie modeli od zera
Gotowe modele NLU
Nazwa folderów jest istotna - muszą byc odpowiednio frame-model-prod
i slot-model-prod
oraz znajdować się w głównym katalogu repozytorium.