ADD: System answers
This commit is contained in:
parent
a798e3ec39
commit
3bea55ecea
517
Przykadowe_odpowiedzi.ipynb
Normal file
517
Przykadowe_odpowiedzi.ipynb
Normal file
@ -0,0 +1,517 @@
|
||||
{
|
||||
"cells": [
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 1,
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"source": [
|
||||
"import random"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 2,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"'Dzień dobry'"
|
||||
]
|
||||
},
|
||||
"execution_count": 2,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"#######################Hello#################################\n",
|
||||
"def nlg(system_act):\n",
|
||||
" domain, intent, slot, value = system_act\n",
|
||||
"\n",
|
||||
" if intent == 'Hello':\n",
|
||||
" r = random.randint(1, 7)\n",
|
||||
"\n",
|
||||
" if r == 1:\n",
|
||||
" return 'Dzień dobry, witam w interaktywnej bibliotece'\n",
|
||||
" elif r == 2:\n",
|
||||
" return 'Witam w interaktywnej biblitece'\n",
|
||||
" elif r==3:\n",
|
||||
" return 'Dzień dobry, w czym mogę pomóc?'\n",
|
||||
" elif r==4:\n",
|
||||
" return 'Dzień dobry'\n",
|
||||
" \n",
|
||||
" # zosia:\n",
|
||||
" elif r==5:\n",
|
||||
" return 'Cześć'\n",
|
||||
" elif r==6:\n",
|
||||
" return 'Witamy w interaktywnej bibliotece'\n",
|
||||
" else:\n",
|
||||
" return 'Witam w interaktywnej bibliotece książnicy płockiej, jak mogę pomóc?'\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"nlg(['', 'Hello', '', ''])"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 3,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Dzień fantastyki.\n",
|
||||
"W przypadku zgubienia karty fakt ten można zgłosić w głównej filii biblioteki\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"############################Inform#################################\n",
|
||||
"def nlg(system_act):\n",
|
||||
" domain, intent, slot, value = system_act\n",
|
||||
"\n",
|
||||
" if domain == 'books' and intent == 'Inform' and slot == 'title':\n",
|
||||
" if value == 0:\n",
|
||||
" return f'Wybrana pozycja nie jest dostępna.'\n",
|
||||
" elif value == 1:\n",
|
||||
" return f'Wybrana pozycja jest dostępna.'\n",
|
||||
" else:\n",
|
||||
" return f'Wybrana pozycja nie jest obecnie dostępna'\n",
|
||||
" \n",
|
||||
" if domain == 'books' and intent == 'Inform' and slot == 'publisher':\n",
|
||||
" if value == 0:\n",
|
||||
" return f'Książka tego wydawcy jest dostępna'\n",
|
||||
" elif value == 1:\n",
|
||||
" return f'Książka tego wydawcy nie jest dostępna'\n",
|
||||
" else:\n",
|
||||
" return f'Nie znaleziono wydawcy o tej nazwie'\n",
|
||||
" \n",
|
||||
" if domain == 'books' and intent == 'Inform' and slot == 'author':\n",
|
||||
" if value == 0:\n",
|
||||
" return f'Książka tego autora nie jest dostępna'\n",
|
||||
" elif value == 1:\n",
|
||||
" return f'Książki tego autora są dostępne w bibliotece'\n",
|
||||
" else:\n",
|
||||
" return f'Nie znaleziono autora o tym imieniu i nazwisku'\n",
|
||||
" \n",
|
||||
" \n",
|
||||
" if domain == 'library' and intent == 'Inform' and slot == 'status':\n",
|
||||
" if value == 0:\n",
|
||||
" return f'Biblioteka jest zmaknięta.'\n",
|
||||
" elif value == 1:\n",
|
||||
" return f'Biblioteka jest otwarta.'\n",
|
||||
" else:\n",
|
||||
" return f'Biblioteka jest zamknięta do odwołania'\n",
|
||||
" \n",
|
||||
" if domain == 'library' and intent == 'Inform' and slot == 'location':\n",
|
||||
" if value == 0:\n",
|
||||
" return f'Biblioteka znajduje się na ul. Targowej 10.'\n",
|
||||
" else:\n",
|
||||
" return f'Biblioteka znajduje się na ul. Targowej 10.'\n",
|
||||
" \n",
|
||||
" if domain == 'library' and intent == 'Inform' and slot == 'days':\n",
|
||||
" if value == 0:\n",
|
||||
" return f'Biblioteka jest otwarta od poniedziałku do piątku.'\n",
|
||||
" else:\n",
|
||||
" return f'Biblioteka jest otwarta w dni robocze.'\n",
|
||||
" \n",
|
||||
" if domain == 'library' and intent == 'Inform' and slot == 'phone number':\n",
|
||||
" r = random.randint(1, 4)\n",
|
||||
" if r == 1:\n",
|
||||
" return '514 312 231'\n",
|
||||
" elif r == 2:\n",
|
||||
" return '123 987 231'\n",
|
||||
" elif r==3:\n",
|
||||
" return '432 112 453'\n",
|
||||
" else:\n",
|
||||
" return 'Telefony dostępne są na głównej stronie biblioteki'\n",
|
||||
" \n",
|
||||
" if domain == 'library' and intent == 'Inform' and slot == 'events':\n",
|
||||
" r = random.randint(1, 4)\n",
|
||||
" if r == 1:\n",
|
||||
" return 'Dzień młodego czytelnika.'\n",
|
||||
" elif r == 2:\n",
|
||||
" return 'Dzień fantastyki.'\n",
|
||||
" elif r==3:\n",
|
||||
" return 'Dzień promowania czytelnictwa.'\n",
|
||||
" else:\n",
|
||||
" return 'Obecnie nie ma żadnych wydarzeń.'\n",
|
||||
" \n",
|
||||
" if domain == 'card' and intent == 'Inform' and slot == 'lost':\n",
|
||||
" if value == 0:\n",
|
||||
" return f'W przypadku zgubienia karty należy zgłosić ten fakt dzwoniąc pod numer 513 231 211'\n",
|
||||
" else:\n",
|
||||
" return f'W przypadku zgubienia karty fakt ten można zgłosić w głównej filii biblioteki'\n",
|
||||
" \n",
|
||||
" if domain == 'card' and intent == 'Inform' and slot == 'destroyed':\n",
|
||||
" if value == 0:\n",
|
||||
" return f'W przypadku zniszczenia karty bibliotecznej konieczne jest dokonanie zgłoszenia pod numerem 513 231 211'\n",
|
||||
" else:\n",
|
||||
" return f'Zgłoszenie zniszczenia karty bibliotecznej może zostać dokonane w filii głównej biblioteki.'\n",
|
||||
" \n",
|
||||
" if domain == 'library' and intent == 'Inform' and slot == 'new':\n",
|
||||
" if value == 0:\n",
|
||||
" return f'Żeby wyrobić kartę konieczne jest wypełnienie formularza i akceptacja regulaminu'\n",
|
||||
" else:\n",
|
||||
" return f'Wyrobienie karty jest możliwe przez stronę internetową albo osobiście w głównej filii biblioteki'\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"print(nlg(['library', 'Inform', 'events', '']))\n",
|
||||
"print(nlg(['card', 'Inform', 'lost', '']))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 4,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"ename": "SyntaxError",
|
||||
"evalue": "invalid syntax (<ipython-input-4-dc0d3ec9b748>, line 28)",
|
||||
"output_type": "error",
|
||||
"traceback": [
|
||||
"\u001b[1;36m File \u001b[1;32m\"<ipython-input-4-dc0d3ec9b748>\"\u001b[1;36m, line \u001b[1;32m28\u001b[0m\n\u001b[1;33m elif:\u001b[0m\n\u001b[1;37m ^\u001b[0m\n\u001b[1;31mSyntaxError\u001b[0m\u001b[1;31m:\u001b[0m invalid syntax\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"#######################Confirm#############################\n",
|
||||
"def nlg(system_act):\n",
|
||||
" domain, intent, slot, value = system_act\n",
|
||||
"\n",
|
||||
" if domain == 'books' and intent == 'Confirm' and slot == 'title':\n",
|
||||
" if value == 0:\n",
|
||||
" return f'Nie znalazłem książki o tym tytule.'\n",
|
||||
" elif value == 1:\n",
|
||||
" return f'Czy ta książka to {value}?'\n",
|
||||
" else:\n",
|
||||
" return f'Książka o tym tytule nie została znaleziona. Proszę podać więcej informacji.'\n",
|
||||
" \n",
|
||||
" if domain == 'books' and intent == 'Confirm' and slot == 'author':\n",
|
||||
" if value == 0:\n",
|
||||
" return f'Nie znalazłem książki tego autora.'\n",
|
||||
" elif value == 1:\n",
|
||||
" return f'Czy autor to {value}?'\n",
|
||||
" else:\n",
|
||||
" return f'Ksiązka tego autora nie została znaleziona. Proszę podać więcej informacji.'\n",
|
||||
" \n",
|
||||
" # zosia:\n",
|
||||
" if domain == 'reservation' and intent == 'Confirm':\n",
|
||||
" r = random.randint(1, 3)\n",
|
||||
" if r==1:\n",
|
||||
" return 'Książka została zarezerwowana i będzie do odbioru w następny dzień roboczy. Proszę pamiętać, że brak odbioru książki do 7 dni roboczych prowadzi do utraty rezerwacji.'\n",
|
||||
" elif r==2:\n",
|
||||
" return 'Możesz zarezerwować tę pozycję. Będzie czekać na Ciebie w naszej placówce przez następnych 5 dni roboczych.'\n",
|
||||
" elif:\n",
|
||||
" return 'Książka została wypożyczona'\n",
|
||||
" \n",
|
||||
" if intent == 'Confirm' and domain == '' and slot == '':\n",
|
||||
" return 'Tak'\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"nlg(['books', 'Confirm', 'title', 1])"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 5,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"name": "stdout",
|
||||
"output_type": "stream",
|
||||
"text": [
|
||||
"Książka została wypożczyona\n",
|
||||
"Po spełnieniu warunków karta zostanie założona\n"
|
||||
]
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"#########################Affirm###############################\n",
|
||||
"def nlg(system_act):\n",
|
||||
" domain, intent, slot, value = system_act\n",
|
||||
"\n",
|
||||
" if domain=='books' and intent == 'Affirm':\n",
|
||||
" r = random.randint(1, 6)\n",
|
||||
"\n",
|
||||
" if r == 1:\n",
|
||||
" return 'Zgadza się'\n",
|
||||
" elif r == 2:\n",
|
||||
" return 'Książka została wypożczyona'\n",
|
||||
" elif r==3:\n",
|
||||
" return 'Tak, zgadza się - książka została dodana do konta'\n",
|
||||
" elif r==4:\n",
|
||||
" return 'Tak, to będzie wszystko'\n",
|
||||
" elif r==5:\n",
|
||||
" return 'Tak, książka została wypożyczona poprawnie'\n",
|
||||
" else:\n",
|
||||
" return 'Tak'\n",
|
||||
" \n",
|
||||
" if domain=='card' and intent == 'Affirm':\n",
|
||||
" r = random.randint(1, 4)\n",
|
||||
"\n",
|
||||
" if r == 1:\n",
|
||||
" return 'Po spełnieniu warunków karta zostanie założona'\n",
|
||||
" elif r == 2:\n",
|
||||
" return 'Tak, to wszystko w zakresie założenia karty'\n",
|
||||
" elif r==3:\n",
|
||||
" return 'Tak, to będzie wszystko'\n",
|
||||
" else:\n",
|
||||
" return 'Tak, to wszystko'\n",
|
||||
" \n",
|
||||
" # zosia:\n",
|
||||
" if intent=='Affirm' and domain=='create_an_account':\n",
|
||||
" return 'Tak, poproszę'\n",
|
||||
" \n",
|
||||
" if intent=='Affirm':\n",
|
||||
" r = random.randint(1, 4)\n",
|
||||
" if r==1:\n",
|
||||
" return 'Zgadza się'\n",
|
||||
" if r==2:\n",
|
||||
" return 'Tak'\n",
|
||||
" \n",
|
||||
"\n",
|
||||
"print(nlg(['books', 'Affirm', '', '']))\n",
|
||||
"print(nlg(['card', 'Affirm','','']))"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 6,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"'Do widzenia'"
|
||||
]
|
||||
},
|
||||
"execution_count": 6,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"#######################Bye#################################\n",
|
||||
"def nlg(system_act):\n",
|
||||
" domain, intent, slot, value = system_act\n",
|
||||
"\n",
|
||||
" if intent == 'Bye':\n",
|
||||
" r = random.randint(1, 4)\n",
|
||||
"\n",
|
||||
" if r == 1:\n",
|
||||
" return 'Do zobaczenia'\n",
|
||||
" elif r == 2:\n",
|
||||
" return 'Do napisania'\n",
|
||||
" elif r==3:\n",
|
||||
" return 'Do widzenia'\n",
|
||||
" else:\n",
|
||||
" return 'Dziękuję i życzę miłej lektury'\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"nlg(['Books', 'Bye', '', ''])\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 7,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"'Dobrze, dziękuję za rozmowę'"
|
||||
]
|
||||
},
|
||||
"execution_count": 7,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# zosia:\n",
|
||||
"#######################Thankyou#################################\n",
|
||||
"def nlg(system_act):\n",
|
||||
" domain, intent, slot, value = system_act\n",
|
||||
"\n",
|
||||
" if intent == 'Thankyou':\n",
|
||||
" r = random.randint(1, 10)\n",
|
||||
"\n",
|
||||
" if r == 1:\n",
|
||||
" return 'Dziękuję'\n",
|
||||
" elif r == 2:\n",
|
||||
" return 'Dziękuję, to wszystko'\n",
|
||||
" elif r==3:\n",
|
||||
" return 'Ok, dziękuję'\n",
|
||||
" elif r==4:\n",
|
||||
" return 'Dziękuję, to będzie wszystko'\n",
|
||||
" elif r==5:\n",
|
||||
" return 'Dobrze. Dziękuję za rozmowę'\n",
|
||||
" elif r==6:\n",
|
||||
" return 'Dziękuję za informację'\n",
|
||||
" elif r==7:\n",
|
||||
" return 'To by było wszystko'\n",
|
||||
" elif r==8:\n",
|
||||
" return 'Bardzo dziękuję za informację. Wszystko już wiem'\n",
|
||||
" elif r==9:\n",
|
||||
" return 'Dziękuję za pomoc'\n",
|
||||
" elif r==10:\n",
|
||||
" return 'Dobrze, dziękuję za rozmowę'\n",
|
||||
" else:\n",
|
||||
" return 'Dziękuję bardzo'\n",
|
||||
"\n",
|
||||
"\n",
|
||||
"nlg(['', 'Thankyou', '', ''])"
|
||||
]
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"execution_count": 9,
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"data": {
|
||||
"text/plain": [
|
||||
"'Chciałbym anulować rezerwację książki'"
|
||||
]
|
||||
},
|
||||
"execution_count": 9,
|
||||
"metadata": {},
|
||||
"output_type": "execute_result"
|
||||
}
|
||||
],
|
||||
"source": [
|
||||
"# zosia:\n",
|
||||
"#######################Request#############################\n",
|
||||
"def nlg(system_act):\n",
|
||||
" domain, intent, slot, value = system_act\n",
|
||||
" \n",
|
||||
" if intent == 'Request':\n",
|
||||
"\n",
|
||||
" if domain == 'card':\n",
|
||||
" return 'Chciałbym założyć kartę biblioteczną'\n",
|
||||
" \n",
|
||||
" if domain=='card_number':\n",
|
||||
" r = random.randint(1,2)\n",
|
||||
" if r==1:\n",
|
||||
" return 'Proszę o podanie numeru karty bibliotecznej'\n",
|
||||
" elif r==2:\n",
|
||||
" return 'Proszę podać numer karty bibliotecznej'\n",
|
||||
" \n",
|
||||
" if domain == 'new_card':\n",
|
||||
" return 'Chciałbym założyć kartę biblioteczną, jak to zrobić?'\n",
|
||||
" \n",
|
||||
" if domain == 'signature':\n",
|
||||
" return 'Proszę podać sygnaturę ksiązki'\n",
|
||||
" \n",
|
||||
" if domain == 'penalty_cost':\n",
|
||||
" return 'Jaka jest kara za przekroczenie terminu zwrotu?'\n",
|
||||
"\n",
|
||||
" if domain == 'status':\n",
|
||||
" r = random.randint(1,5)\n",
|
||||
" if r==1:\n",
|
||||
" return 'Chciałbym sprawdzić wypożyczone książki'\n",
|
||||
" elif r==2:\n",
|
||||
" return 'Czy czytelnia funkcjonuje podczas pandemii?'\n",
|
||||
" elif r==3:\n",
|
||||
" return 'Chciałbym sprawdzić czy mam jakieś książki do oddania'\n",
|
||||
" elif r==4:\n",
|
||||
" return 'Chciałbym sprawdzić najbliższy termin zwrotu'\n",
|
||||
" elif r==5:\n",
|
||||
" return 'Chciałabym sprawdzić, czy mam jakieś wypożyczone książki'\n",
|
||||
"\n",
|
||||
" if domain == 'books':\n",
|
||||
" return f'Czy książka {slot}, znajduje się w bibliotece w formie ebooka?'\n",
|
||||
"\n",
|
||||
" if domain == 'book':\n",
|
||||
" r = random.randint(1,5)\n",
|
||||
" if r==1:\n",
|
||||
" return f'Chciałabym wypożyczyć książkę {slot}'\n",
|
||||
" elif r==2:\n",
|
||||
" return 'Proszę podać tytuł i autora pozycji'\n",
|
||||
" elif r==3:\n",
|
||||
" return f'Czy posiadacie książke {slot}?'\n",
|
||||
" elif r==4:\n",
|
||||
" return 'Proszę podać tytuł i autora wybranej pozycji'\n",
|
||||
" elif r==5:\n",
|
||||
" return 'Proszę podać tytuł i autora wybranej książki'\n",
|
||||
"\n",
|
||||
" if domain == 'time':\n",
|
||||
" r = random.randint(1,3)\n",
|
||||
" if r==1:\n",
|
||||
" return 'W jakich godzinach jest otwarta biblioteka?'\n",
|
||||
" elif r==2:\n",
|
||||
" return 'W jakich godzinach macie otwarte?'\n",
|
||||
" elif r==3:\n",
|
||||
" return 'Skąd będę wiedział kiedy moge to odebrać?'\n",
|
||||
" \n",
|
||||
" if domain == 'location':\n",
|
||||
" return 'Można odebrać ją w innej filli biblioteki?'\n",
|
||||
"\n",
|
||||
" if domain == 'return':\n",
|
||||
" return f'Chciałabym zwrócić książkę {slot}'\n",
|
||||
"\n",
|
||||
" if domain == 'reservation':\n",
|
||||
" r = random.randint(1,2)\n",
|
||||
" if slot=='cancel':\n",
|
||||
" return 'Chciałbym anulować rezerwację książki'\n",
|
||||
" if r==1:\n",
|
||||
" return f'Chciałbym zarezerwować książkę {slot}'\n",
|
||||
" elif r==2:\n",
|
||||
" return 'Chciałbym wypożyczyć książkę'\n",
|
||||
"\n",
|
||||
" if domain == 'overdue_books':\n",
|
||||
" return 'Mam jakieś książki które mają przekroczony termin oddania?'\n",
|
||||
"\n",
|
||||
" if domain == 'soon_overdue':\n",
|
||||
" return f'Czy zbliża mi się termin oddania książki?'\n",
|
||||
"\n",
|
||||
" if domain == 'online_library':\n",
|
||||
" return 'Jak mogę uzyskać dostęp do zasobów online?'\n",
|
||||
"\n",
|
||||
" if domain == 'events':\n",
|
||||
" return 'Jakie wydarzenia odbywają się w najbliższym czasie w bibliotece?'\n",
|
||||
" \n",
|
||||
" if domain=='action':\n",
|
||||
" if slot=='wypozyczenie':\n",
|
||||
" return 'Chciałbym wypożyczyć jeden egzemplarz'\n",
|
||||
" elif slot=='reservation':\n",
|
||||
" return 'Chciałbym zarezerwować wszystkie części tego cyklu'\n",
|
||||
" elif slot == 'status':\n",
|
||||
" return 'Chciałbym sprawdzić listę obecnie wypożyczonych książek'\n",
|
||||
"\n",
|
||||
" \n",
|
||||
" \n",
|
||||
"nlg(['card', 'Request', '', ''])\n",
|
||||
"nlg(['books', 'Request', 'Owoce wiśni Osamu Dazai', ''])\n",
|
||||
"nlg(['return', 'Request', 'Kafka Haruki Murakami', ''])\n",
|
||||
"nlg(['reservation', 'Request', 'Kafka Haruki Murakami', ''])\n",
|
||||
"nlg(['reservation', 'Request', 'cancel', ''])"
|
||||
]
|
||||
}
|
||||
],
|
||||
"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.8.3"
|
||||
}
|
||||
},
|
||||
"nbformat": 4,
|
||||
"nbformat_minor": 5
|
||||
}
|
Loading…
Reference in New Issue
Block a user