From ce3363f269dbf6f101befef5a75fb5b6e8b16e12 Mon Sep 17 00:00:00 2001 From: s444417 Date: Sun, 10 Apr 2022 11:55:42 +0200 Subject: [PATCH] add speech acts --- data/dialog-16-01-01.tsv | 64 ++++++------- data/dialog-16-03-01.tsv | 16 ++-- data/dialog-16-05-01.tsv | 28 +++--- data/dialog-16-07-01.tsv | 28 +++--- data/dialog-16-09-01.tsv | 40 ++++---- data/dialog-16-11-01.tsv | 48 +++++----- data/dialog-16-15-01.tsv | 40 ++++---- data/dialog-16-17-01.tsv | 28 +++--- data/dialog-16-19-01.tsv | 36 ++++---- lab/05-struktura-dialogu.ipynb | 162 ++++++++++++++++++++------------- tasks/zad5/Readme.md | 3 +- 11 files changed, 263 insertions(+), 230 deletions(-) diff --git a/data/dialog-16-01-01.tsv b/data/dialog-16-01-01.tsv index 5e9bbc8..34ebb84 100644 --- a/data/dialog-16-01-01.tsv +++ b/data/dialog-16-01-01.tsv @@ -1,32 +1,32 @@ -user Halo? -system Witamy w systemie kinowym Nachos. -user Chaciałbym pójść na premierę filmu, jakie premiery są w tym tygodniu? -system W tym tygodniu gramy: Batman, Podróż na Księżyc, Krzyk, Na noże. -user Wybieram Batmana. -system Jaki termin cię interesuje? -user Najbliższy czwartek. -system Batman w czwartek grany jest o 12:30, 15:00, 17:30 oraz o 20:45. -user Wybieram: 17:30. -system Jakie bilety? -user Są zniżki studenckie? -system Tak 21% przy okazaniu legitymacji studenckiej. -user Super, w takim razie poproszę studnecki. -system Ile biletów studenckich potrzebujesz? -user 1x studencki. -system Chcesz usiąść po lewej, na środku czy po prawej stronie? -user Na środku. -system Utworzono rezerwację na film Batman dnia 24.01 o godzinie 17:30 z jednym biletem ulgowym. Twój numer rezerwacji to 21372137. -user Czy mogę zarezerwować kolejny bilet? -system Na ten sam film? -user Tak. -system Jaki bilet cię interesuje? -user Normalny. -system Dobrze, dodano 1 bilet normalny. -user Super, poproszę by miejsca były obok siebie. -system Masz przydzielone miejsca 12h i 13h. -user Super, czy można płacić z góry? -system Płatność możliwa jest tylko przy kasach. -user Ok, czy bilety mam już zarezerwowane? -system Tak numer twojej rezerwacji to 21372137 na film Batman dnia 24.01 o godzinie 17:30. -user Super, dziękuję. -system Cześć! +user Halo? hello() +system Witamy w systemie kinowym Nachos. welcomemsg() +user Chaciałbym pójść na premierę filmu, jakie premiery są w tym tygodniu? reqmore(date=2022-04-04 - 2022-04-11) +system W tym tygodniu gramy: Batman, Podróż na Księżyc, Krzyk, Na noże. select(title) +user Wybieram Batmana. inform(title=Batman) +system Jaki termin cię interesuje? request(date) +user Najbliższy czwartek. inform(date=2022-04-07) +system Batman w czwartek grany jest o 12:30, 15:00, 17:30 oraz o 20:45. select(time) +user Wybieram: 17:30. inform(time=17:30) +system Jakie bilety? request(tickets_type) +user Są zniżki studenckie? reqmore(tickets_type=student) +system Tak 21% przy okazaniu legitymacji studenckiej. request(ticket_type=student) +user Super, w takim razie poproszę studnecki. inform(ticket_type=student) +system Ile biletów studenckich potrzebujesz? request(quantity) AND impl-conf(tickets_type=student) +user 1x studencki. inform(quantity=1) +system Chcesz usiąść po lewej, na środku czy po prawej stronie? request(area) +user Na środku. inform(area=[middle, middle]) +system Utworzono rezerwację na film Batman dnia 24.01 o godzinie 17:30 z jednym biletem ulgowym. Twój numer rezerwacji to 21372137. inform(reservation_id=21372137) AND expl-conf(title) AND expl-conf(date) AND expl-conf(time) +user Czy mogę zarezerwować kolejny bilet? inform(goal=reservation) +system Na ten sam film? request(title) +user Tak. inform(title=Batman) +system Jaki bilet cię interesuje? request(tickets_type) +user Normalny. reqmore(tickets_type=normal) +system Dobrze, dodano 1 bilet normalny. expl-conf(quantity=1) AND expl-conf(tickets_type=normal) +user Super, poproszę by miejsca były obok siebie. inform(seats=seats(21372137).nextTo()) +system Masz przydzielone miejsca 12h i 13h. expl-conf(seats=[12h, 13h]) +user Super, czy można płacić z góry? reqmore(payment) +system Płatność możliwa jest tylko przy kasach. offer(payment) +user Ok, czy bilety mam już zarezerwowane? reqmore(reservation_id=21372137) +system Tak numer twojej rezerwacji to 21372137 na film Batman dnia 24.01 o godzinie 17:30. inform(reservation_id) AND inform(title) AND inform(date) AND inform(time) +user Super, dziękuję. bye() +system Cześć! bye() diff --git a/data/dialog-16-03-01.tsv b/data/dialog-16-03-01.tsv index c96692b..1278d34 100644 --- a/data/dialog-16-03-01.tsv +++ b/data/dialog-16-03-01.tsv @@ -1,8 +1,8 @@ -user Dzień dobry. -system Witamy w systemie kinowym Nachos. -user Chcę zarezerwować bilety. -system Jaki termin cię interesuje? -user Dzisiaj. -system Dzisiaj gramy Batman 3D i Batman 4D z oblewaniem twarzy. -user 16:30. -system Proszę wybierz datę przyszłą. \ No newline at end of file +user Dzień dobry. hello() +system Witamy w systemie kinowym Nachos. welcomemsg() +user Chcę zarezerwować bilety. inform(goal=reservation) +system Jaki termin cię interesuje? request(date) +user Dzisiaj. inform(date=2022-04-07) +system Dzisiaj gramy Batman 3D i Batman 4D z oblewaniem twarzy. select(title) +user 16:30:00 infomrm(time=16:30) +system Proszę wybierz datę przyszłą. select(time) diff --git a/data/dialog-16-05-01.tsv b/data/dialog-16-05-01.tsv index a652dc3..65beacb 100644 --- a/data/dialog-16-05-01.tsv +++ b/data/dialog-16-05-01.tsv @@ -1,14 +1,14 @@ -user Cześć. -system Witamy w systemie kinowym Nachos. -user Chciałbym anulować rezerwację biletu. -system Podaj numer rezerwa -user Numer 42069. -system Takiej rezerwacji nie ma w systemie. -user Numer 42068. -system Takiej rezerwacji nie ma w systemie. -user Numer 42067. -system Takiej rezerwacji nie ma w systemie. -user Chciałbym anulować rezerwację biletu dla imienia i nazwiska Jan Kowalski -system Musisz podać numer rezerwacji. -user Nie pamiętam. Czy mogę podać e-mail? -system Musisz podać numer rezerwacji. \ No newline at end of file +user Cześć. hello() +system Witamy w systemie kinowym Nachos. welcomemsg() +user Chciałbym anulować rezerwację biletu. inform(goal=cancel) +system Podaj numer rezerwa request(reservation_id) +user Numer 42069. inform(reservation_id=42069) +system Takiej rezerwacji nie ma w systemie. negate(reservation_id) +user Numer 42068. inform(reservation_id=42068) +system Takiej rezerwacji nie ma w systemie. negate(reservation_id) +user Numer 42067. inform(reservation_id=42067) +system Takiej rezerwacji nie ma w systemie. negate(reservation_id) +user Chciałbym anulować rezerwację biletu dla imienia i nazwiska Jan Kowalski inform(goal=cancel) +system Musisz podać numer rezerwacji. request(reservation_id) +user Nie pamiętam. Czy mogę podać e-mail? reqmore(goal=cancel) +system Musisz podać numer rezerwacji. request(reservation_id) diff --git a/data/dialog-16-07-01.tsv b/data/dialog-16-07-01.tsv index bdf4d38..63975ae 100644 --- a/data/dialog-16-07-01.tsv +++ b/data/dialog-16-07-01.tsv @@ -1,14 +1,14 @@ -user Dzień dobry. -system Witamy w systemie kinowym Nachos. -user Jakie filmy są w tym tygodniu w repertuarze? -system W tym tygodniu gramy: Batman, Podróż na Księżyc, Krzyk, -user O której godzinie w piątej mogę zobaczyć Na noże? -system Na noże w piątek grane jest o 12:30, 15:00, 19:30. -user Ok, w takim razie chciałbym zarezerwować 2 miejsca na seans o 19:30. -system Jaki typ biletów? -user Dwa normalne. -system Nie ma już miejsc na środku sali, czy mogą być miejsca po prawej stronie u góry? -user Mogą być. -system Rezerwacja 2 miejsc na film Na noże, w terminie 25.03 godzina 19:30, numer twojej rezerwacji 453905. -user Dziękuje bardzo. -system Do usłyszenia. +user Dzień dobry. hello() +system Witamy w systemie kinowym Nachos. welcomemsg() +user Jakie filmy są w tym tygodniu w repertuarze? reqmore(date=2022-04-04 - 2022-04-11) +system W tym tygodniu gramy: Batman, Podróż na Księżyc, Krzyk, select(title) +user O której godzinie w piątej mogę zobaczyć Na noże? reqmore(time) AND inform(title=Na Noe) AND inform(date=2022-04-09) +system Na noże w piątek grane jest o 12:30, 15:00, 19:30. select(time) +user Ok, w takim razie chciałbym zarezerwować 2 miejsca na seans o 19:30. inform(quantity=2) AND inform(time=19:30) +system Jaki typ biletów? select(tickets_type) +user Dwa normalne. inform(tickets_type=[normal, 2]) +system Nie ma już miejsc na środku sali, czy mogą być miejsca po prawej stronie u góry? offer(area=[up, right]) +user Mogą być. ack() +system Rezerwacja 2 miejsc na film Na noże, w terminie 25.03 godzina 19:30, numer twojej rezerwacji 453905. inform(reservation_id=453905) AND expl-conf(title) AND expl-conf(date) AND expl-conf(time) AND expl-conf(quantity) +user Dziękuje bardzo. bye() +system Do usłyszenia. bye() diff --git a/data/dialog-16-09-01.tsv b/data/dialog-16-09-01.tsv index a893613..b8384ad 100644 --- a/data/dialog-16-09-01.tsv +++ b/data/dialog-16-09-01.tsv @@ -1,20 +1,20 @@ -user elo. -system Witam w systemie kinowym Nachos. -user Chciałbym kupić bilety na seans Zorro - jak to było na prawdę. -system Zorro- jak to było na prawdę oraz jego sequel nie są obecnie grane. -user Poproszę listę filmów granych jutro wieczorem -system Zorro 3, Zorro powrócił -user Chciałbym kupić bilety na Transformers. -system Czy pasuje ci godzina 20:20? -user Tak, chcę dwa bilety za 2 dni. -system Jakie chcesz bilety? -user Normalne. -system Gdzie chcesz usiąść? -user Przy oknie, w przedziale. -system Nie zrozumiałem. -user Wagon z przedziałami, miejsce przy oknie. -system Czy chcesz usiąść na środku sali kinowej? -user Tak, ale bardziej z góry. -system Dobrze, dokonano rezerwacji na film Transformer -user Exit. -system Do, usłyszenia. +user elo. hello() +system Witam w systemie kinowym Nachos. welcomemsg() +user Chciałbym kupić bilety na seans Zorro - jak to było na prawdę. inform(goal=reservation) AND inform(title=Zorro - jak to było na prawdę) +system Zorro- jak to było na prawdę oraz jego sequel nie są obecnie grane. negate(title) +user Poproszę listę filmów granych jutro wieczorem reqmore(title) AND inform(date=2022-04-09) AND inform(time=>=18:00) +system Zorro 3, Zorro powrócił Transformers select(title) +user Chciałbym kupić bilety na Transformers. inform(title=Transformers) +system Czy pasuje ci godzina 20:20? select(time) +user Tak, chcę dwa bilety za 2 dni. inform(quantity=2) +system Jakie chcesz bilety? select(tickets_type) +user Normalne. inform([normal, 2]) +system Gdzie chcesz usiąść? select(area) +user Przy oknie, w przedziale. null +system Nie zrozumiałem. repeat() +user Wagon z przedziałami, miejsce przy oknie. null +system Czy chcesz usiąść na środku sali kinowej? request(area) +user Tak, ale bardziej z góry. inform(area=up, middle]) +system Dobrze, dokonano rezerwacji na film Transformer, umer twojej rezeracji to 123890. inform(reservation_id=123890) AND expl-conf(title=Transformers) +user Exit. bye() +system Do, usłyszenia. bye() diff --git a/data/dialog-16-11-01.tsv b/data/dialog-16-11-01.tsv index 4e82e9a..59a1501 100644 --- a/data/dialog-16-11-01.tsv +++ b/data/dialog-16-11-01.tsv @@ -1,24 +1,24 @@ -user Kim jesteś? system -system Witamy w systemie kinowym Nachos. -user Co gracie? -system Teraz gramy Batman i Zorro. -user Jaki Zorro? -system Zorro Reinkarnacja 3D. -user W jakich godzinach gracie Zorro? -system Dzisiaj o 13:00, 14:54 i 21:36 -user Chciałbym zarezerwować bilety na Batmana. -system Jaki termin cię interesuje? -user 21.03.2022. -system Wybierz datę przyszłą. -user 23.03.2022. -system Batman 23.03 grany jest o godzinie 12:59 i 20:45. -user Super. -system Którą godzinę chcesz wybrać? -user 13:00. -system Jakie bilety chcesz wybrać? -user 1 normalny. -system Gdzie chcesz usiaść. -user Blisko ekranu. -system Dobrze, dokonano rezerwacji na film Batman 1 bilet normalny, godzina 12:59, numer twojej rezerwacji to 12310987. -user Dziękuję, do usłyszenia. -system Do usłyszenia! \ No newline at end of file +user Kim jesteś? help() +system Witamy w systemie kinowym Nachos. welcomemsg() +user Co gracie? reqmore(title) +system Teraz gramy Batman i Zorro. select(tile) +user Jaki Zorro? reqmore(title=Zorro) +system Zorro Reinkarnacja 3D. offer(title=Zorro) +user W jakich godzinach gracie Zorro? reqmore(time) +system Dzisiaj o 13:00, 14:54 i 21:36 select(time) +user Chciałbym zarezerwować bilety na Batmana. inform(title=Batman) +system Jaki termin cię interesuje? select(date) +user 21.03.2022. inform(date=2022-03-21) +system Wybierz datę przyszłą. negate(date) AND select(date) +user 23.03.2022. inform(date=2022-04-21) +system Batman 23.03 grany jest o godzinie 12:59 i 20:45. select(time) +user Super. ack +system Którą godzinę chcesz wybrać? select(time) +user 13:00 inform(time=13:00) +system Jakie bilety chcesz wybrać? select(tickets_type) +user 1 normalny. inform([normal, 1]) +system Gdzie chcesz usiaść. select(area) +user Blisko ekranu. inform(area=[front, middle]) +system Dobrze, dokonano rezerwacji na film Batman 1 bilet normalny, godzina 12:59, numer twojej rezerwacji to 12310987. inform(reservation_id) AND inform(title) AND inform(date) AND inform(time) AND inform(tickets_type) +user Dziękuję, do usłyszenia. bye() +system Do usłyszenia! bye() diff --git a/data/dialog-16-15-01.tsv b/data/dialog-16-15-01.tsv index 9c87071..e4f6ca7 100644 --- a/data/dialog-16-15-01.tsv +++ b/data/dialog-16-15-01.tsv @@ -1,20 +1,20 @@ -user Dzień dobry. -system Witamy w systemie kinowym Nachos. -user chciałbym się dowiedzieć jaki jest cennik. -system Bilet normalny kosztuje 21,37zł, bilet ulgowy posiada zniř 21%, bilet dla weteranów posiada 51% zniżki -user A jest zniżka studencka? -system Zniżka studencka to 21%. -user a co leci dzisiaj w kinie? -system Batman, Dawno temu w las vegas oraz Na noże. -user o której jest na noże? -system 12:00 i 23:59. -user poproszę dwa bilety na 12 -system Jaki typ biletów? -user a jakie są? -system Normalny 21,00zł ulgowy 21% zniżki i dla weteranów 51% zniżki. -user 2 ulgowe poprosze. -system Gdzie chcesz usiąść? -user jakie są wolne miejsca? -system Chcesz usiąść na środku sali na górze? -user Tak. -system Dobrze, dokonano rezerwacji na film Batman 2 bilety ulgowe, godzina 21:37 numer twojej rezerwacji to 123890. +user Dzień dobry. hello() +system Witamy w systemie kinowym Nachos. welcomemsg() +user chciałbym się dowiedzieć jaki jest cennik. reqmore(tickets_type) +system Bilet normalny kosztuje 21,37zł, bilet ulgowy posiada zniř 21%, bilet dla weteranów posiada 51% zniżki offer(tickets_type) +user A jest zniżka studencka? reqmore(tickets_type=student) +system Zniżka studencka to 21%. offer(tickets_type=student) +user a co leci dzisiaj w kinie? reqmore(title) AND inform(date=now()) +system Batman, Dawno temu w las vegas oraz Na noże. select(title) +user o której jest na noże? reqmore(time) AND inform(title=Na noe) +system 12:00 i 23:59. select(time) +user poproszę dwa bilety na 12 inform(quantity=2) AND inform(time=12:00) +system Jaki typ biletów? select(tickets_type) +user a jakie są? reqmore(tickets_type) +system Normalny 21,00zł ulgowy 21% zniżki i dla weteranów 51% zniżki. offer(tickets_type) +user 2 ulgowe poprosze. inform(tickets_type=[student, 2]) +system Gdzie chcesz usiąść? select(area) +user jakie są wolne miejsca? reqmore(seats) +system Chcesz usiąść na środku sali na górze? select(area=[up, middle]) +user Tak. ack() +system Dobrze, dokonano rezerwacji na film Batman 2 bilety ulgowe, godzina 21:37 numer twojej rezerwacji to 123890. inform(reservation_id) AND inform(title) AND inform(date) AND inform(time) diff --git a/data/dialog-16-17-01.tsv b/data/dialog-16-17-01.tsv index 6d25d93..f658fde 100644 --- a/data/dialog-16-17-01.tsv +++ b/data/dialog-16-17-01.tsv @@ -1,14 +1,14 @@ -user Chciałbym 3 bilety na batmana na jtro. -system Witamy w systemie kinowym Nachos jaka godzina Cię interesuje? -user coś koło południa. -system Batman grany jest o 12:30, 15:30 oraz 17:15. -user nic później? -system 19:25 oraz 21:37. -user To ten o 19. -system Czy wszystkie bilety mają być normalne? -user 2 ulgowe. -system Gdzie chcesz usiaść? -user z przodu. -system Zarezerwowano 3 bilety ulgowe na film Batman w terminie 24.03.2022 o godzinie 19:25, twój numer rezerwacji to 12341532. -user ale jakie miejsca?? -system Masz miejsca 12H, 13H, i 14H. +user Chciałbym 3 bilety na batmana na jtro. inform(goal=reservation) AND inform(quantity=3) AND inform(title=Batman) AND inform(date=tomorrow()) +system Witamy w systemie kinowym Nachos jaka godzina Cię interesuje? welcomemsg() AND select(time) +user coś koło południa. reqmore(time=>=12:00) +system Batman grany jest o 12:30, 15:30 oraz 17:15. select(time) +user nic później? reqalts(time) +system 19:25 oraz 21:37. select(time) +user To ten o 19. inform(time=19:25) +system Czy wszystkie bilety mają być normalne? select(tickets_type) +user 2 ulgowe. inform(tickets_type=[student, 2]) +system Gdzie chcesz usiaść? select(area) +user z przodu. inform(area=[front, middle]) +system Zarezerwowano 3 bilety ulgowe na film Batman w terminie 24.03.2022 o godzinie 19:25, twój numer rezerwacji to 12341532. inform(reservation_id) AND inform(title) AND inform(date) +user ale jakie miejsca?? reqmore(seats) +system Masz miejsca 12H, 13H, i 14H. inform(seats=[12H, 13H, 14H]) diff --git a/data/dialog-16-19-01.tsv b/data/dialog-16-19-01.tsv index a521264..ab72c55 100644 --- a/data/dialog-16-19-01.tsv +++ b/data/dialog-16-19-01.tsv @@ -1,18 +1,18 @@ -user Dzień dobry. -system Witamy w systemie kinowym Nachos. -user Chciałabym zarezerwować bilet do kina. -system Jaki dzień cięinteresuje? -user Dziś. -system Dzisiaj gramy Zorro 2, Batman i Terminator. -user Proszę na batmana. -system Dzisiaj Batman grany jest o 12:30 i 20:19 -user Proszę o godzine 20:19. -system Jakie chcesz bilety? -user ulogwy. -system Ile biletów ulgowych? -user 1. -system Gdzie chcesz usiąść? -user z tyłu, na środku (aby ekran był centralnie widoczny). -system Dobrze, zarezerwowano bilet dziś na 20:19 na Batman, numer twojej rezerwacji to 12312333. -user dobrze, dziekuję. -system Do widzenia! +user Dzień dobry. hello() +system Witamy w systemie kinowym Nachos. welcomemsg() +user Chciałabym zarezerwować bilet do kina. inform(goal=reservation) +system Jaki dzień cięinteresuje? select(date) +user Dziś. inform(date=2022-04-12) +system Dzisiaj gramy Zorro 2, Batman i Terminator. select(title) +user Proszę na batmana. inform(title=Batman) +system Dzisiaj Batman grany jest o 12:30 i 20:19 select(time) +user Proszę o godzine 20:19. inform(time=20:19) +system Jakie chcesz bilety? select(tickets_type) +user ulogwy. inform(tickets_type=[ulgowy, ]) +system Ile biletów ulgowych? select(tickets_type) +user 1. inform(tickets_type=[ulgowy, 1]) AND impl-conf(tickets_type) +system Gdzie chcesz usiąść? select(area) +user z tyłu, na środku (aby ekran był centralnie widoczny). inform(area=[up, middle]) +system Dobrze, zarezerwowano bilet dziś na 20:19 na Batman, numer twojej rezerwacji to 12312333. inform(reservation_id) AND inform(title) AND inform(date) AND inform(time) +user dobrze, dziekuję. bye() +system Do widzenia! bye() diff --git a/lab/05-struktura-dialogu.ipynb b/lab/05-struktura-dialogu.ipynb index a739c72..072ba31 100644 --- a/lab/05-struktura-dialogu.ipynb +++ b/lab/05-struktura-dialogu.ipynb @@ -23,30 +23,30 @@ "Struktura dialogu\n", "=================\n", "\n", - "Dialog mo\u017cna podzieli\u0107 na *tury* b\u0119d\u0105ce naprzemiennymi wypowiedziami\n", - "poszczeg\u00f3lnych uczestnik\u00f3w konwersacji.\n", + "Dialog można podzielić na *tury* będące naprzemiennymi wypowiedziami\n", + "poszczególnych uczestników konwersacji.\n", "\n", "\n", "\n", "### Akty mowy\n", - "Akcje podejmowane przez m\u00f3wc\u00f3w za pomoc\u0105 wypowiedzi nazywamy *aktami mowy*.\n", + "Akcje podejmowane przez mówców za pomocą wypowiedzi nazywamy *aktami mowy*.\n", "\n", - "#### Aspekty akt\u00f3w mowy wed\u0142ug Austina (za Zdunkiewicz 1993)\n", + "#### Aspekty aktów mowy według Austina (za Zdunkiewicz 1993)\n", "| Aspekt | Opis |\n", "|-------------:|:-----------------------------------------------------------------------------------------------------------------------------|\n", - "| lokucyjny | dotyczy samego procesu tworzenia okre\u015blonego wyra\u017cenia (bez uwzgl\u0119dnienia kontekstu) |\n", - "| illokucyjny | dotyczy tego co m\u00f3wca chce osi\u0105gn\u0105\u0107 za po\u015brednictwem danej wypowiedzi (np. pro\u015bba, ostrze\u017cenie, obietnica, \u017c\u0105danie) |\n", - "| perlokucyjny | dotyczy ubocznych cel\u00f3w i rezeltat\u00f3w osi\u0105gni\u0119tych za po\u015brednictwem danej wypowiedzi (np. zlekcewa\u017cenie, obraza, rozbawienie) |\n", + "| lokucyjny | dotyczy samego procesu tworzenia określonego wyrażenia (bez uwzględnienia kontekstu) |\n", + "| illokucyjny | dotyczy tego co mówca chce osiągnąć za pośrednictwem danej wypowiedzi (np. prośba, ostrzeżenie, obietnica, żądanie) |\n", + "| perlokucyjny | dotyczy ubocznych celów i rezeltatów osiągniętych za pośrednictwem danej wypowiedzi (np. zlekceważenie, obraza, rozbawienie) |\n", "\n", - "#### Klasyfikacja akt\u00f3w mowy wed\u0142ug Searla (za Zdunkiewicz 1993)\n", + "#### Klasyfikacja aktów mowy według Searla (za Zdunkiewicz 1993)\n", "\n", - "| Typ | Cel | Przyk\u0142ady |\n", + "| Typ | Cel | Przykłady |\n", "|--------------------------:|:------------------------------------------------------------|:------------------------|\n", - "| asercja (assertive) | przedstawienie s\u0105du o stanie rzeczy | w\u0105tpienie |\n", - "| dyrektywa (directive) | wywieranie nacisku na odbiorc\u0119 | rozkaz, pro\u015bba |\n", - "| komisywa (commisive) | podjecie zobowi\u0105zania | obietnica, zobowi\u0105zanie |\n", - "| ekspresywa (expressive) | wyra\u017cenie stanu emocjonalnego | gratulacje, kondolencje |\n", - "| deklaratywa (declarative) | wywo\u0142anie okre\u015blonego stanu rzeczy w stosunkach spo\u0142ecznych | mianowanie |" + "| asercja (assertive) | przedstawienie sądu o stanie rzeczy | wątpienie |\n", + "| dyrektywa (directive) | wywieranie nacisku na odbiorcę | rozkaz, prośba |\n", + "| komisywa (commisive) | podjecie zobowiązania | obietnica, zobowiązanie |\n", + "| ekspresywa (expressive) | wyrażenie stanu emocjonalnego | gratulacje, kondolencje |\n", + "| deklaratywa (declarative) | wywołanie określonego stanu rzeczy w stosunkach społecznych | mianowanie |" ] }, { @@ -55,11 +55,11 @@ "source": [ "### Akty dialogowe\n", "\n", - "Buduj\u0105c system dialogowy zwykle przyjmuje si\u0119 w\u0119\u017csza i jednocze\u015bnie bardziej\n", - "szczeg\u00f3\u0142ow\u0105 klasyfikacj\u0119.\n", - "Tzw. *akty dialogowe* stanowi\u0105 reprezentacj\u0119 znaczenia wypowiedzi u\u017cytkownika i/lub systemu.\n", + "Budując system dialogowy zwykle przyjmuje się węższa i jednocześnie bardziej\n", + "szczegółową klasyfikację.\n", + "Tzw. *akty dialogowe* stanowią reprezentację znaczenia wypowiedzi użytkownika i/lub systemu.\n", "\n", - "Przyjrzyjmy si\u0119 teraz klasyfikacji akt\u00f3w dialogowych, kt\u00f3re Henderson i in. (2013), wzoruj\u0105c si\u0119 na Youngu i in. (2010), przyj\u0119li na potrzeby ewaluacji system\u00f3w rekomenduj\u0105cych restauracje." + "Przyjrzyjmy się teraz klasyfikacji aktów dialogowych, które Henderson i in. (2013), wzorując się na Youngu i in. (2010), przyjęli na potrzeby ewaluacji systemów rekomendujących restauracje." ] }, { @@ -79,41 +79,53 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "#### Akty u\u017cytkownika\n", + "#### Akty użytkownika\n", "\n", "| Typ | Opis |\n", "|---------:|:-----------------------------------|\n", "| ack | potwierdzenie |\n", "| affirm | zatwierdzenie |\n", - "| bye | zako\u0144czenie rozmowy |\n", + "| bye | zakończenie rozmowy |\n", "| hello | przywitanie |\n", - "| help | pro\u015bba o pomoc (bez szczeg\u00f3\u0142\u00f3w) |\n", + "| help | prośba o pomoc (bez szczegółów) |\n", "| negate | zaprzeczenie |\n", - "| null | akt niezrozumia\u0142y dla systemu |\n", - "| repeat | pro\u015bba o powt\u00f3rzenie |\n", - "| reqalts | pro\u015bba o alternatywn\u0105 rekomendacj\u0119 |\n", - "| reqmore | pro\u015bba o uszczeg\u00f3\u0142owienie |\n", - "| restart | \u017c\u0105danie restartu |\n", + "| null | akt niezrozumiały dla systemu |\n", + "| repeat | prośba o powtórzenie |\n", + "| reqalts | prośba o alternatywną rekomendację |\n", + "| reqmore | prośba o uszczegółowienie |\n", + "| restart | żądanie restartu |\n", "| silence | cisza |\n", - "| thankyou | podzi\u0119kowanie |\n", - "| confirm | potwierdzenie warto\u015bci slotu |\n", - "| deny | odrzucenie warto\u015bci slotu |\n", - "| inform | przekazanie warto\u015bci slotu |\n", - "| request | pro\u015bba o podanie warto\u015bci slotu |" + "| thankyou | podziękowanie |\n", + "| confirm | potwierdzenie wartości slotu |\n", + "| deny | odrzucenie wartości slotu |\n", + "| inform | przekazanie wartości slotu |\n", + "| request | prośba o podanie wartości slotu |" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Zilustrujmy powy\u017csze zestawienie przyk\u0142adami bezpo\u015brednio ze zbioru testowego konkursu *Dialog State Tracking Challenge 2*." + "Zilustrujmy powyższe zestawienie przykładami bezpośrednio ze zbioru testowego konkursu *Dialog State Tracking Challenge 2*." ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "metadata": {}, - "outputs": [], + "outputs": [ + { + "ename": "ModuleNotFoundError", + "evalue": "No module named 'tabulate'", + "output_type": "error", + "traceback": [ + "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", + "\u001b[1;31mModuleNotFoundError\u001b[0m Traceback (most recent call last)", + "\u001b[1;32mc:\\Develop\\wmi\\AITECH\\sem1\\Systemy dialogowe\\lab\\05-struktura-dialogu.ipynb Cell 7'\u001b[0m in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39mglob\u001b[39;00m\n\u001b[0;32m 2\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39mjson\u001b[39;00m\n\u001b[1;32m----> 3\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39mtabulate\u001b[39;00m\n\u001b[0;32m 4\u001b[0m \u001b[39mimport\u001b[39;00m \u001b[39mitertools\u001b[39;00m\n\u001b[0;32m 6\u001b[0m \u001b[39mdef\u001b[39;00m \u001b[39macts2desc\u001b[39m(acts):\n", + "\u001b[1;31mModuleNotFoundError\u001b[0m: No module named 'tabulate'" + ] + } + ], "source": [ "import glob\n", "import json\n", @@ -147,8 +159,8 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Powy\u017csze przyk\u0142ady pokazuj\u0105, \u017ce tury nie zawsze s\u0105 pe\u0142nymi zdaniami. Komunikacja przy u\u017cyciu mowy\n", - "ma spontaniczny charakter, st\u0105d w toku konwersacji mog\u0105 pojawi\u0107 si\u0119 poprawki, wtr\u0119ty czy \u017c\u0105dania\n", + "Powyższe przykłady pokazują, że tury nie zawsze są pełnymi zdaniami. Komunikacja przy użyciu mowy\n", + "ma spontaniczny charakter, stąd w toku konwersacji mogą pojawić się poprawki, wtręty czy żądania\n", "restartu.\n", "\n", "#### Akty systemu\n", @@ -156,23 +168,23 @@ "| Typ | Opis |\n", "|----------------------------:|:--------------------------------------------------------|\n", "| affirm | potwierdzenie |\n", - "| bye | zako\u0144czenie rozmowy |\n", - "| canthear | \u201enic nie s\u0142ysz\u0119\u201d |\n", - "| confirm-domain | pro\u015bba o potwierdzenie dziedziny |\n", + "| bye | zakończenie rozmowy |\n", + "| canthear | „nic nie słyszę” |\n", + "| confirm-domain | prośba o potwierdzenie dziedziny |\n", "| negate | zaprzeczenie |\n", - "| repeat | pro\u015bba o powt\u00f3rzenie |\n", - "| reqmore | sprawdzenie czy u\u017cytkownik chce dodatkowych informacji |\n", + "| repeat | prośba o powtórzenie |\n", + "| reqmore | sprawdzenie czy użytkownik chce dodatkowych informacji |\n", "| welcomemsg | przywitanie |\n", - "| canthelp | \u201enie mog\u0119 pom\u00f3c\u201d |\n", - "| canthelp.missing_slot_value | \u201epotrzebuj\u0119 pozna\u0107 warto\u015b\u0107 slotu, \u017ceby pom\u00f3c\u201d |\n", - "| expl-conf | potwierdzenie (wprost), \u017ce slot ma dan\u0105 warto\u015b\u0107 |\n", - "| impl-conf | potwierdzenie (nie wprost), \u017ce slot ma dan\u0105 warto\u015b\u0107 |\n", - "| inform | poinformowanie u\u017cytkownika, o przyj\u0119tej warto\u015bci slotu |\n", + "| canthelp | „nie mogę pomóc” |\n", + "| canthelp.missing_slot_value | „potrzebuję poznać wartość slotu, żeby pomóc” |\n", + "| expl-conf | potwierdzenie (wprost), że slot ma daną wartość |\n", + "| impl-conf | potwierdzenie (nie wprost), że slot ma daną wartość |\n", + "| inform | poinformowanie użytkownika, o przyjętej wartości slotu |\n", "| offer | rekomendacja (restauracji) |\n", - "| request | pytanie u\u017cytkownika o warto\u015b\u0107 slotu |\n", - "| select | pro\u015bba o dokonanie wyboru spo\u015br\u00f3d przedstawionych opcji |\n", + "| request | pytanie użytkownika o wartość slotu |\n", + "| select | prośba o dokonanie wyboru spośród przedstawionych opcji |\n", "\n", - "Przyjrzyjmy si\u0119 r\u00f3wnie\u017c przyk\u0142adom akt\u00f3w systemowych." + "Przyjrzyjmy się również przykładom aktów systemowych." ] }, { @@ -203,17 +215,17 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "Jak wida\u0107 w powy\u017cszym uj\u0119ciu akty dialogowe takie jak `inform`, `request` czy `expl-conf` mog\u0105\n", - "przyjmowa\u0107 pewne parametry.\n", + "Jak widać w powyższym ujęciu akty dialogowe takie jak `inform`, `request` czy `expl-conf` mogą\n", + "przyjmować pewne parametry.\n", "\n", "### Ramy\n", - "Struktur\u0105 danych powszechnie wykorzystywan\u0105 w systemach dialogowych do reprezentacji wiedzy\n", + "Strukturą danych powszechnie wykorzystywaną w systemach dialogowych do reprezentacji wiedzy\n", "jest *rama* (ang. *frame*).\n", - "Ramy s\u0105 wykorzystywane zar\u00f3wno do reprezentowania poszczeg\u00f3lnych akt\u00f3w mowy jak i do\n", - "modelowania bie\u017c\u0105cego stanu dialogu oraz cel\u00f3w u\u017cytkownika.\n", - "Rama ma nazw\u0119 oraz pewn\u0105 liczb\u0119 *slot\u00f3w*. Ka\u017cdy slot ma okre\u015blon\u0105 nazw\u0119 oraz warto\u015b\u0107.\n", + "Ramy są wykorzystywane zarówno do reprezentowania poszczególnych aktów mowy jak i do\n", + "modelowania bieżącego stanu dialogu oraz celów użytkownika.\n", + "Rama ma nazwę oraz pewną liczbę *slotów*. Każdy slot ma określoną nazwę oraz wartość.\n", "\n", - "Ramy przedstawione poni\u017cej stanowi\u0105 reprezentacje akt\u00f3w dialogowych." + "Ramy przedstawione poniżej stanowią reprezentacje aktów dialogowych." ] }, { @@ -239,7 +251,7 @@ "source": [ "Zadanie\n", "-------\n", - "Opisa\u0107 wypowiedzi u\u017cytkownika i odpowiedzi systemu zgromadzone w Pa\u0144stwa korpusie eksperymentalnym (tj. plikach `*.tsv` w katalogu `data`) aktami dialogowymi." + "Opisać wypowiedzi użytkownika i odpowiedzi systemu zgromadzone w Państwa korpusie eksperymentalnym (tj. plikach `*.tsv` w katalogu `data`) aktami dialogowymi." ] }, { @@ -248,18 +260,18 @@ "source": [ "### Uwagi\n", "\n", - " - Akty reprezentuj\u0105ce znaczenie poszczeg\u00f3lnych wypowiedzi nale\u017cy umieszcza\u0107 w trzeciej kolumnie plik\u00f3w `*.tsv`.\n", + " - Akty reprezentujące znaczenie poszczególnych wypowiedzi należy umieszczać w trzeciej kolumnie plików `*.tsv`.\n", "\n", - " - Do zapisu akt\u00f3w prosz\u0119 stosowa\u0107 notacj\u0119 wykorzystywan\u0105 w przyk\u0142adach (`inform(phone=01223 244277)&offer(name=the lucky star)`).\n", + " - Do zapisu aktów proszę stosować notację wykorzystywaną w przykładach (`inform(phone=01223 244277)&offer(name=the lucky star)`).\n", "\n", - " - Klasyfikacja akt\u00f3w dialogowych przedstawiona przez Hendersona i in. (2013) mo\u017ce stanowi\u0107 dobry punkt wyj\u015bcia, ale nie trzeba si\u0119 jej kurczowo trzyma\u0107." + " - Klasyfikacja aktów dialogowych przedstawiona przez Hendersona i in. (2013) może stanowić dobry punkt wyjścia, ale nie trzeba się jej kurczowo trzymać." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "Przyk\u0142adowe narz\u0119dzia do oznaczania tekstu\n", + "Przykładowe narzędzia do oznaczania tekstu\n", "------------------------------------------\n", "\n", " - [brat](http://brat.nlplab.org/)\n", @@ -283,25 +295,45 @@ "\n", " 2. John Searle, Speech Acts, Cambridge University Press, 1969, ISBN 0-521-09626-X.\n", "\n", - " 3. Dorota Zdunkiewicz, Akty mowy, Wsp\u00f3\u0142czesny j\u0119zyk polski, Wroc\u0142aw, 1993, pp. 259-270.\n", + " 3. Dorota Zdunkiewicz, Akty mowy, Współczesny język polski, Wrocław, 1993, pp. 259-270.\n", "\n", " 4. Matthew Henderson, Blaise Thomson, Jason D. Williams, The Second Dialog State Tracking Challenge, SIGDIAL 2014, 263-272." ] } ], "metadata": { + "author": "Marek Kubis", + "email": "mkubis@amu.edu.pl", + "interpreter": { + "hash": "70fd8fd7e3fc54d896fe6c72238aed96c145f98c112de7d68dff3109a15fe3ea" + }, "jupytext": { "cell_metadata_filter": "-all", "main_language": "python", "notebook_metadata_filter": "-all" }, - "author": "Marek Kubis", - "email": "mkubis@amu.edu.pl", + "kernelspec": { + "display_name": "Python 3.8.3 64-bit", + "language": "python", + "name": "python3" + }, "lang": "pl", + "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" + }, "subtitle": "5.Struktura dialogu[laboratoria]", "title": "Systemy Dialogowe", "year": "2021" }, "nbformat": 4, "nbformat_minor": 4 -} \ No newline at end of file +} diff --git a/tasks/zad5/Readme.md b/tasks/zad5/Readme.md index 3114a39..6a05a17 100644 --- a/tasks/zad5/Readme.md +++ b/tasks/zad5/Readme.md @@ -1,7 +1,7 @@ # Slots |slot | desc |sample -|--------------|--------------------------------|------ +|-------------:|:------------------------------:|:----- |title | movie title | Batman OR Zorro 3 |date | when user want to watch a movie| 2022-04-06 |time | play time | 20:30 @@ -11,6 +11,7 @@ |reservation_id| reservation number | 32453758 |goal | users goal in system | reservation OR cancel |area | preferred place to sit | [front, middle] OR [random, aisle] +|tickets_type | tickets types and quantities | [normal, 1] OR [[student, 2], [normal, 1]] # Speech acts systemu