SystemyDialogowe/chatbot.ipynb

221 lines
5.4 KiB
Plaintext
Raw Normal View History

2022-06-07 23:26:14 +02:00
{
"cells": [
{
"cell_type": "code",
2022-06-14 12:57:51 +02:00
"execution_count": 1,
"id": "surgical-trainer",
2022-06-07 23:26:14 +02:00
"metadata": {},
"outputs": [
2022-06-14 12:57:51 +02:00
{
"name": "stdout",
"output_type": "stream",
"text": [
"Jeśli chcesz zresetować rozmowę wpisz \"reset\"\n"
]
},
{
"name": "stdin",
"output_type": "stream",
"text": [
">>> chce 2 bilety na batmana na jutro\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"godzina\n",
"{'ilosc': '2', 'tytul': 'Batmana', 'dzien': 'jutro', 'godzina': None, 'miejsce': None, 'numer': None}\n",
"[('ilosc', '2'), ('tytul', 'Batmana'), ('dzien', 'jutro'), ('godzina', None)]\n",
"book\n",
"Na którą godzinę ma być dokonana rezerwacja?\n"
]
},
2022-06-07 23:26:14 +02:00
{
"name": "stdin",
"output_type": "stream",
"text": [
2022-06-14 12:57:51 +02:00
">>> na 17\n"
2022-06-07 23:26:14 +02:00
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
2022-06-14 12:57:51 +02:00
"godzina\n",
"{'ilosc': '2', 'tytul': 'Batmana', 'dzien': '17', 'godzina': None, 'miejsce': None, 'numer': None}\n",
"[('dzien', '17')]\n",
"dni\n",
"Na którą godzinę ma być dokonana rezerwacja?\n"
2022-06-07 23:26:14 +02:00
]
},
{
"name": "stdin",
"output_type": "stream",
"text": [
2022-06-14 12:57:51 +02:00
">>> na godzine 17\n"
2022-06-07 23:26:14 +02:00
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
2022-06-14 12:57:51 +02:00
"miejsce\n",
"{'ilosc': '2', 'tytul': 'Batmana', 'dzien': '17', 'godzina': '17', 'miejsce': None, 'numer': None}\n",
"[('godzina', '17')]\n",
"godziny\n",
"Czy miejsca mają być z przodu, z tyłu czy na środku?\n"
2022-06-07 23:26:14 +02:00
]
},
{
"name": "stdin",
"output_type": "stream",
"text": [
2022-06-14 12:57:51 +02:00
">>> na środku\n"
2022-06-07 23:26:14 +02:00
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
2022-06-14 12:57:51 +02:00
"numer\n",
"{'ilosc': '2', 'tytul': 'Batmana', 'dzien': '17', 'godzina': '17', 'miejsce': 'srodku', 'numer': None}\n",
"[('miejsce', 'srodku')]\n",
"miejsca\n",
"Na jaki numer telefonu ma zostać dokonana rezerwacja?\n"
2022-06-07 23:26:14 +02:00
]
},
{
"name": "stdin",
"output_type": "stream",
"text": [
2022-06-14 12:57:51 +02:00
">>> 1\n"
2022-06-07 23:26:14 +02:00
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
2022-06-14 12:57:51 +02:00
"numer\n",
"{'ilosc': '2', 'tytul': 'Batmana', 'dzien': '17', 'godzina': '17', 'miejsce': 'srodku', 'numer': None}\n",
"[('numer', '1')]\n",
"numer\n",
"Proszę podać poprawny numer telefonu.\n",
"Na jaki numer telefonu ma zostać dokonana rezerwacja?\n"
2022-06-07 23:26:14 +02:00
]
},
{
"name": "stdin",
"output_type": "stream",
"text": [
2022-06-14 12:57:51 +02:00
">>> 1212\n"
2022-06-07 23:26:14 +02:00
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
2022-06-14 12:57:51 +02:00
"numer\n",
"{'ilosc': '2', 'tytul': 'Batmana', 'dzien': '17', 'godzina': '17', 'miejsce': 'srodku', 'numer': None}\n",
"[('numer', '1 2 1 2')]\n",
"numer\n",
"Proszę podać poprawny numer telefonu.\n",
"Na jaki numer telefonu ma zostać dokonana rezerwacja?\n"
2022-06-07 23:26:14 +02:00
]
},
{
2022-06-14 12:57:51 +02:00
"name": "stdin",
"output_type": "stream",
"text": [
">>> 123123123\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"None\n",
"{'ilosc': '2', 'tytul': 'Batmana', 'dzien': '17', 'godzina': '17', 'miejsce': 'srodku', 'numer': '123123123'}\n",
"[('numer', '1 2 3 1 2 3 1 2 3')]\n",
"numer\n",
"Rezerwacja została dokonana. Potwierdzenie rezerwacji zostanie niebawem przesłane wiadomością SMS. Proszę o przybycie 15 minut przed rozpoczęciem seansu w celu zakupu biletu, w innym przypadku rezerwacja przepada.\n"
2022-06-07 23:26:14 +02:00
]
}
],
"source": [
"from DST import Dst\n",
"from AJN import *\n",
"from NLG import nlg\n",
"\n",
"\n",
"\n",
"if __name__ == \"__main__\":\n",
" \n",
" dst = Dst()\n",
" next_question = dst.get_next_question()\n",
2022-06-14 12:57:51 +02:00
" print('Jeśli chcesz zresetować rozmowę wpisz \\\"reset\\\"')\n",
" \n",
2022-06-07 23:26:14 +02:00
" while (next_question):\n",
" \n",
" \n",
" text = input('>>>')\n",
2022-06-14 12:57:51 +02:00
" \n",
" \n",
2022-06-07 23:26:14 +02:00
" frame = ajn(text)\n",
" \n",
2022-06-14 12:57:51 +02:00
" dst.reset_if_needed(text)\n",
" \n",
" \n",
" \n",
2022-06-07 23:26:14 +02:00
" dst.save_answer(frame['slots'])\n",
" \n",
" next_question = dst.get_next_question()\n",
" print(next_question)\n",
" print(dst.checklist)\n",
2022-06-14 12:57:51 +02:00
" print(frame['slots'])\n",
" print(frame['act'])\n",
" nlg(next_question,frame,text)\n",
" \n",
" if text == \"exit\" or frame['act'] == \"bye\":\n",
2022-06-14 22:47:11 +02:00
" \n",
2022-06-14 12:57:51 +02:00
" break;\n",
2022-06-07 23:26:14 +02:00
"\n",
" \n",
" \n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": null,
2022-06-14 12:57:51 +02:00
"id": "armed-classroom",
2022-06-07 23:26:14 +02:00
"metadata": {},
"outputs": [],
2022-06-14 12:57:51 +02:00
"source": [
"chce 2 bilety na batmana na jutro na 17 15"
]
2022-06-07 23:26:14 +02:00
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 5
}