diff --git a/.gitignore b/.gitignore index d973327..7ded952 100644 --- a/.gitignore +++ b/.gitignore @@ -211,4 +211,6 @@ fabric.properties # Android studio 3.1+ serialized cache file .idea/caches/build_file_checksums.ser -.idea \ No newline at end of file +.idea + +slot-model \ No newline at end of file diff --git a/data/.~lock.dialog-16-03-01.tsv# b/data/.~lock.dialog-16-03-01.tsv# deleted file mode 100644 index 737f967..0000000 --- a/data/.~lock.dialog-16-03-01.tsv# +++ /dev/null @@ -1 +0,0 @@ -,DESKTOP-QF2J2E3/riraa,DESKTOP-QF2J2E3,12.04.2022 12:56,file:///C:/Users/riraa/AppData/Roaming/LibreOffice/4; \ No newline at end of file diff --git a/data/.~lock.dialog-16-05-01.tsv# b/data/.~lock.dialog-16-05-01.tsv# deleted file mode 100644 index 737f967..0000000 --- a/data/.~lock.dialog-16-05-01.tsv# +++ /dev/null @@ -1 +0,0 @@ -,DESKTOP-QF2J2E3/riraa,DESKTOP-QF2J2E3,12.04.2022 12:56,file:///C:/Users/riraa/AppData/Roaming/LibreOffice/4; \ No newline at end of file diff --git a/data/.~lock.dialog-16-07-01.tsv# b/data/.~lock.dialog-16-07-01.tsv# deleted file mode 100644 index 737f967..0000000 --- a/data/.~lock.dialog-16-07-01.tsv# +++ /dev/null @@ -1 +0,0 @@ -,DESKTOP-QF2J2E3/riraa,DESKTOP-QF2J2E3,12.04.2022 12:56,file:///C:/Users/riraa/AppData/Roaming/LibreOffice/4; \ No newline at end of file diff --git a/data/.~lock.dialog-16-11-01.tsv# b/data/.~lock.dialog-16-11-01.tsv# deleted file mode 100644 index 737f967..0000000 --- a/data/.~lock.dialog-16-11-01.tsv# +++ /dev/null @@ -1 +0,0 @@ -,DESKTOP-QF2J2E3/riraa,DESKTOP-QF2J2E3,12.04.2022 12:56,file:///C:/Users/riraa/AppData/Roaming/LibreOffice/4; \ No newline at end of file diff --git a/data/.~lock.dialog-16-15-01.tsv# b/data/.~lock.dialog-16-15-01.tsv# deleted file mode 100644 index 737f967..0000000 --- a/data/.~lock.dialog-16-15-01.tsv# +++ /dev/null @@ -1 +0,0 @@ -,DESKTOP-QF2J2E3/riraa,DESKTOP-QF2J2E3,12.04.2022 12:56,file:///C:/Users/riraa/AppData/Roaming/LibreOffice/4; \ No newline at end of file diff --git a/data/.~lock.dialog-16-17-01.tsv# b/data/.~lock.dialog-16-17-01.tsv# deleted file mode 100644 index 737f967..0000000 --- a/data/.~lock.dialog-16-17-01.tsv# +++ /dev/null @@ -1 +0,0 @@ -,DESKTOP-QF2J2E3/riraa,DESKTOP-QF2J2E3,12.04.2022 12:56,file:///C:/Users/riraa/AppData/Roaming/LibreOffice/4; \ No newline at end of file diff --git a/data/.~lock.dialog-16-19-01.tsv# b/data/.~lock.dialog-16-19-01.tsv# deleted file mode 100644 index 737f967..0000000 --- a/data/.~lock.dialog-16-19-01.tsv# +++ /dev/null @@ -1 +0,0 @@ -,DESKTOP-QF2J2E3/riraa,DESKTOP-QF2J2E3,12.04.2022 12:56,file:///C:/Users/riraa/AppData/Roaming/LibreOffice/4; \ No newline at end of file diff --git a/data/.~lock.dialog-17-04-04.tsv# b/data/.~lock.dialog-17-04-04.tsv# deleted file mode 100644 index c2d516f..0000000 --- a/data/.~lock.dialog-17-04-04.tsv# +++ /dev/null @@ -1 +0,0 @@ -,DESKTOP-QF2J2E3/riraa,DESKTOP-QF2J2E3,12.04.2022 22:32,file:///C:/Users/riraa/AppData/Roaming/LibreOffice/4; \ No newline at end of file diff --git a/data/clean/dialog-16-01-01.tsv b/data/clean/dialog-16-01-01.tsv new file mode 100644 index 0000000..dd49456 --- /dev/null +++ b/data/clean/dialog-16-01-01.tsv @@ -0,0 +1,32 @@ +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 +system W tym tygodniu gramy: Batman, Podróż na Księżyc, Krzyk, Na noże. select +user Wybieram Batmana. inform +system Jaki termin ciÄ™ interesuje? request +user Najbliższy czwartek. inform +system Batman w czwartek grany jest o 12:30, 15:00, 17:30 oraz o 20:45. select +user Wybieram: 17:30. inform +system Jakie bilety? request +user SÄ… zniżki studenckie? reqmore +system Tak 21% przy okazaniu legitymacji studenckiej. request +user Super, w takim razie poproszÄ™ studnecki. inform +system Ile biletów studenckich potrzebujesz? request impl-conf +user 1x studencki. inform +system Chcesz usiąść po lewej, na Å›rodku czy po prawej stronie? request +user Na Å›rodku. inform +system Utworzono rezerwacjÄ™ na film Batman dnia 24.01 o godzinie 17:30 z jednym biletem ulgowym. Twój numer rezerwacji to 21372137. inform expl-conf +user Czy mogÄ™ zarezerwować kolejny bilet? inform +system Na ten sam film? request +user Tak. inform +system Jaki bilet ciÄ™ interesuje? request +user Normalny. reqmore +system Dobrze, dodano 1 bilet normalny. expl-conf +user Super, poproszÄ™ by miejsca byÅ‚y obok siebie. inform +system Masz przydzielone miejsca 12h i 13h. expl-conf +user Super, czy można pÅ‚acić z góry? reqmore +system PÅ‚atność możliwa jest tylko przy kasach. offer +user Ok, czy bilety mam już zarezerwowane? reqmore +system Tak numer twojej rezerwacji to 21372137 na film Batman dnia 24.01 o godzinie 17:30. inform +user Super, dziÄ™kujÄ™. bye +system Cześć! bye diff --git a/data/clean/dialog-16-03-01.tsv b/data/clean/dialog-16-03-01.tsv new file mode 100644 index 0000000..c004e01 --- /dev/null +++ b/data/clean/dialog-16-03-01.tsv @@ -0,0 +1,8 @@ +user DzieÅ„ dobry. hello +system Witamy w systemie kinowym Nachos. welcomemsg +user ChcÄ™ zarezerwować bilety. inform +system Jaki termin ciÄ™ interesuje? request +user Dzisiaj. inform +system Dzisiaj gramy Batman 3D i Batman 4D z oblewaniem twarzy. select +user 16:30:00 infomrm +system ProszÄ™ wybierz datÄ™ przyszÅ‚Ä…. select diff --git a/data/clean/dialog-16-05-01.tsv b/data/clean/dialog-16-05-01.tsv new file mode 100644 index 0000000..675aff9 --- /dev/null +++ b/data/clean/dialog-16-05-01.tsv @@ -0,0 +1,14 @@ +user Cześć. hello +system Witamy w systemie kinowym Nachos. welcomemsg +user ChciaÅ‚bym anulować rezerwacjÄ™ biletu. inform +system Podaj numer rezerwa request +user Numer 42069. inform +system Takiej rezerwacji nie ma w systemie. negate +user Numer 42068. inform +system Takiej rezerwacji nie ma w systemie. negate +user Numer 42067. inform +system Takiej rezerwacji nie ma w systemie. negate +user ChciaÅ‚bym anulować rezerwacjÄ™ biletu dla imienia i nazwiska Jan Kowalski inform +system Musisz podać numer rezerwacji. request +user Nie pamiÄ™tam. Czy mogÄ™ podać e-mail? reqmore +system Musisz podać numer rezerwacji. request diff --git a/data/clean/dialog-16-07-01(test).tsv b/data/clean/dialog-16-07-01(test).tsv new file mode 100644 index 0000000..49bc4d8 --- /dev/null +++ b/data/clean/dialog-16-07-01(test).tsv @@ -0,0 +1,14 @@ +user DzieÅ„ dobry. hello +system Witamy w systemie kinowym Nachos. welcomemsg +user Jakie filmy sÄ… w tym tygodniu w repertuarze? reqmore +system W tym tygodniu gramy: Batman, Podróż na Księżyc, Krzyk, select +user O której godzinie w piÄ…tej mogÄ™ zobaczyć Na noże? reqmore inform +system Na noże w piÄ…tek grane jest o 12:30, 15:00, 19:30. select +user Ok, w takim razie chciaÅ‚bym zarezerwować 2 miejsca na seans o 19:30. inform +system Jaki typ biletów? select +user Dwa normalne. inform +system Nie ma już miejsc na Å›rodku sali, czy mogÄ… być miejsca po prawej stronie u góry? offer +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 expl-conf +user DziÄ™kuje bardzo. bye +system Do usÅ‚yszenia. bye diff --git a/data/clean/dialog-16-09-01.tsv b/data/clean/dialog-16-09-01.tsv new file mode 100644 index 0000000..136f5da --- /dev/null +++ b/data/clean/dialog-16-09-01.tsv @@ -0,0 +1,20 @@ +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 +system Zorro- jak to byÅ‚o na prawdÄ™ oraz jego sequel nie sÄ… obecnie grane. negate +user PoproszÄ™ listÄ™ filmów granych jutro wieczorem reqmore inform +system Zorro 3, Zorro powróciÅ‚ Transformers select +user ChciaÅ‚bym kupić bilety na Transformers. inform +system Czy pasuje ci godzina 20:20? select +user Tak, chcÄ™ dwa bilety za 2 dni. inform +system Jakie chcesz bilety? select +user Normalne. inform +system Gdzie chcesz usiąść? select +user Przy oknie, w przedziale. nan +system Nie zrozumiaÅ‚em. repeat +user Wagon z przedziaÅ‚ami, miejsce przy oknie. nan +system Czy chcesz usiąść na Å›rodku sali kinowej? request +user Tak, ale bardziej z góry. inform +system Dobrze, dokonano rezerwacji na film Transformer, umer twojej rezeracji to 123890. inform expl-conf +user Exit. bye +system Do, usÅ‚yszenia. bye diff --git a/data/clean/dialog-16-11-01.tsv b/data/clean/dialog-16-11-01.tsv new file mode 100644 index 0000000..d942fe6 --- /dev/null +++ b/data/clean/dialog-16-11-01.tsv @@ -0,0 +1,24 @@ +user Kim jesteÅ›? help +system Witamy w systemie kinowym Nachos. welcomemsg +user Co gracie? reqmore +system Teraz gramy Batman i Zorro. select +user Jaki Zorro? reqmore +system Zorro Reinkarnacja 3D. offer +user W jakich godzinach gracie Zorro? reqmore +system Dzisiaj o 13:00, 14:54 i 21:36 select +user ChciaÅ‚bym zarezerwować bilety na Batmana. inform +system Jaki termin ciÄ™ interesuje? select +user 21.03.2022. inform +system Wybierz datÄ™ przyszÅ‚Ä…. negate select +user 23.03.2022. inform +system Batman 23.03 grany jest o godzinie 12:59 i 20:45. select +user Super. ack +system KtórÄ… godzinÄ™ chcesz wybrać? select +user 13:00 inform +system Jakie bilety chcesz wybrać? select +user 1 normalny. inform +system Gdzie chcesz usiaść. select +user Blisko ekranu. inform +system Dobrze, dokonano rezerwacji na film Batman 1 bilet normalny, godzina 12:59, numer twojej rezerwacji to 12310987. inform +user DziÄ™kujÄ™, do usÅ‚yszenia. bye +system Do usÅ‚yszenia! bye diff --git a/data/clean/dialog-16-15-01.tsv b/data/clean/dialog-16-15-01.tsv new file mode 100644 index 0000000..0de2718 --- /dev/null +++ b/data/clean/dialog-16-15-01.tsv @@ -0,0 +1,20 @@ +user DzieÅ„ dobry. hello +system Witamy w systemie kinowym Nachos. welcomemsg +user chciaÅ‚bym siÄ™ dowiedzieć jaki jest cennik. reqmore +system Bilet normalny kosztuje 21,37zÅ‚, bilet ulgowy posiada zniżkÄ™ 21%, bilet dla weteranów posiada 51% zniżki offer +user A jest zniżka studencka? reqmore +system Zniżka studencka to 21%. offer +user a co leci dzisiaj w kinie? reqmore inform +system Batman, Dawno temu w las vegas oraz Na noże. select +user o której jest na noże? reqmore inform +system 12:00 i 23:59. select +user poproszÄ™ dwa bilety na 12 inform +system Jaki typ biletów? select +user a jakie sÄ…? reqmore +system Normalny 21,00zÅ‚ ulgowy 21% zniżki i dla weteranów 51% zniżki. offer +user 2 ulgowe poprosze. inform +system Gdzie chcesz usiąść? select +user jakie sÄ… wolne miejsca? reqmore +system Chcesz usiąść na Å›rodku sali na górze? select +user Tak. ack +system Dobrze, dokonano rezerwacji na film Batman 2 bilety ulgowe, godzina 21:37 numer twojej rezerwacji to 123890. inform diff --git a/data/clean/dialog-16-17-01.tsv b/data/clean/dialog-16-17-01.tsv new file mode 100644 index 0000000..d02b725 --- /dev/null +++ b/data/clean/dialog-16-17-01.tsv @@ -0,0 +1,14 @@ +user ChciaÅ‚bym 3 bilety na batmana na jtro. inform +system Witamy w systemie kinowym Nachos jaka godzina CiÄ™ interesuje? welcomemsg select +user coÅ› koÅ‚o poÅ‚udnia. reqmore +system Batman grany jest o 12:30, 15:30 oraz 17:15. select +user nic później? reqalts +system 19:25 oraz 21:37. select +user To ten o 19. inform +system Czy wszystkie bilety majÄ… być normalne? select +user 2 ulgowe. inform +system Gdzie chcesz usiaść? select +user z przodu. inform +system Zarezerwowano 3 bilety ulgowe na film Batman w terminie 24.03.2022 o godzinie 19:25, twój numer rezerwacji to 12341532. inform +user ale jakie miejsca?? reqmore +system Masz miejsca 12H, 13H, i 14H. inform diff --git a/data/clean/dialog-16-19-01.tsv b/data/clean/dialog-16-19-01.tsv new file mode 100644 index 0000000..a9c18bf --- /dev/null +++ b/data/clean/dialog-16-19-01.tsv @@ -0,0 +1,18 @@ +user DzieÅ„ dobry. hello +system Witamy w systemie kinowym Nachos. welcomemsg +user ChciaÅ‚abym zarezerwować bilet do kina. inform +system Jaki dzieÅ„ ciÄ™interesuje? select +user DziÅ›. inform +system Dzisiaj gramy Zorro 2, Batman i Terminator. select +user ProszÄ™ na batmana. inform +system Dzisiaj Batman grany jest o 12:30 i 20:19 select +user ProszÄ™ o godzine 20:19. inform +system Jakie chcesz bilety? select +user ulogwy. inform +system Ile biletów ulgowych? select +user 1. impl-conf inform +system Gdzie chcesz usiąść? select +user z tyÅ‚u, na Å›rodku (aby ekran byÅ‚ centralnie widoczny). inform +system Dobrze, zarezerwowano bilet dziÅ› na 20:19 na Batman, numer twojej rezerwacji to 12312333. inform +user dobrze, dziekujÄ™. bye +system Do widzenia! bye diff --git a/data/clean/dialog-17-02-01.tsv b/data/clean/dialog-17-02-01.tsv new file mode 100644 index 0000000..c3cea0c --- /dev/null +++ b/data/clean/dialog-17-02-01.tsv @@ -0,0 +1,5 @@ +user cześć hello +system Witamy w internetowym systemie rezerwacji Nachos, w czym mogÄ™ pomóc? welcomemsg +user czy mogÄ™ zarezerwować Nachosy do kina? reqmore +system Zapraszamy do baru, który znajduje siÄ™ za kasami biletowymi. offer +user dziekuje thankyou diff --git a/data/clean/dialog-17-04-01.tsv b/data/clean/dialog-17-04-01.tsv new file mode 100644 index 0000000..a7f4982 --- /dev/null +++ b/data/clean/dialog-17-04-01.tsv @@ -0,0 +1,23 @@ +user Witam hello +system Witamy w internetowym systemie rezerwacji Nachos, w czym mogÄ™ pomóc? welcomemsg +user Co potrafisz? help +system Nasz system odpowiada za: rezerwacjÄ™ biletów kinowych oraz odpowiedzi na ewentualne pytania użytkowników. offer +user Jakie sÄ… najbliższe seanse? inform +system Jaki film ciÄ™ interesuje? reqmore +user A jakie są dostÄ™pne? reqmore +system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select +user A w jakim to kinie? request +system Na podstawie twojej lokalizacji przydzieliliÅ›my ci: Multikino 51. Czy chcesz je zmienić. inform +user A gdzie jest to kino? reqmore +system Multikino 51 znajduje siÄ™ na Królowej Jadwigi 51, 61-872 PoznaÅ„ inform +user O której grajÄ… Uncharted? reqmore inform +system "DostÄ™pne godziny na film ""Uncharted"" to: 12:00, 15:30, 17:30 oraz 20:00" impl-conf select +user Ile kosztują bilety na ten film? request +system DostÄ™pne bilety to: 15zÅ‚ bilet normalny, 12zÅ‚ bilet ulgowy. inform +user A w jaki dzieÅ„ bielty są taÅ„sze? reqmore +system W Å›rody oferujemy dodatkowÄ… zniżkÄ™ -10% na wszystkie rodzaje biletów. inform +user w takim razie chciaÅ‚bym zarezerwować dwa bilety normalne i jeden ulgowy na Å›rodÄ™ 20:00 inform +system Dobrze. W jakim rzÄ™dzie majÄ… zostać zarezerwowane miejsca? request +user Na Å›rodku sali inform +system ZostaÅ‚y ci przydzielone miejsca I9, I10, I11. Numer twojej rezerwacji to 123123. inform +user ok ack diff --git a/data/clean/dialog-17-04-02.tsv b/data/clean/dialog-17-04-02.tsv new file mode 100644 index 0000000..b3847f0 --- /dev/null +++ b/data/clean/dialog-17-04-02.tsv @@ -0,0 +1,20 @@ +user Witam hello +system Witamy w internetowym systemie rezerwacji Nachos, w czym mogÄ™ pomóc? welcomemsg +user Jaki jest repertuar na piÄ…tek? reqmore inform +system W repertuarze na piÄ…tek 1 kwietnia znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2. select +user O jakich godzinach grajÄ… te filmy? reqmore +system ProszÄ™ podaj tytuÅ‚ filmu, który ciÄ™ interesuje. reqmore +user Wszystkie ack +system "DostÄ™pne godziny na film ""Batman"" to: 12:00, 15:30, 17:30 oraz 20:00" select +system "DostÄ™pne godziny na film ""To nie wypanda"" to: 12:00, 15:30, 17:30 oraz 20:00" select +system "DostÄ™pne godziny na film ""Inni ludzie"" to: 12:00, 15:30, 17:30 oraz 20:00" select +system "DostÄ™pne godziny na film ""Ambulans"" to: 12:00, 15:30, 17:30 oraz 20:00" select +system "DostÄ™pne godziny na film ""Uncharted"" to: 12:00, 15:30, 17:30 oraz 20:00" select +system "DostÄ™pne godziny na film ""Ups 2"" to: 12:00, 15:30, 17:30 oraz 20:00" select +user Czy obgÅ‚ugujecie rezerwacjÄ™ biletów grupowych? request +system Na jednej rezerwacji może znajdować siÄ™ do 10 miejsc. inform +user Rozumiem, a jak mogÄ™ dokonać rezerwacji dla 20 osób? reqmore +system W celu dokonania rezerwacji na wiÄ™cej niż 10 osób proszÄ™ skontaktować siÄ™ z obsÅ‚ugÄ… kina w celu potwierdzenia, że jesteÅ› czÅ‚owiekiem. Czy mam poÅ‚Ä…czyć ciÄ™ z konsultantem? inform +user Tak affirm +system Niestety wszyscy konsultanci sÄ… obecnie zajÄ™ci. W czym jeszcze mogÄ™ pomóc? canthelp +user dziÄ™kujÄ™ ack diff --git a/data/clean/dialog-17-04-03.tsv b/data/clean/dialog-17-04-03.tsv new file mode 100644 index 0000000..0d0130e --- /dev/null +++ b/data/clean/dialog-17-04-03.tsv @@ -0,0 +1,5 @@ +user Witam hello +system Witamy w internetowym systemie rezerwacji Nachos, w czym mogÄ™ pomóc? welcomemsg +user Czy w kinie Rialto grajÄ… jakieś stare filmy? reqmore +system System Nachos obsÅ‚uguje nastÄ™pujÄ…ce kina: Multikino, Helios oraz Cinemacity. select +user to dziÄ™kujÄ™ thankyou diff --git a/data/clean/dialog-17-04-04(test).tsv b/data/clean/dialog-17-04-04(test).tsv new file mode 100644 index 0000000..f6dd486 --- /dev/null +++ b/data/clean/dialog-17-04-04(test).tsv @@ -0,0 +1,11 @@ +user Witam hello +systen Witamy w internetowym systemie rezerwacji Nachos, w czym mogÄ™ pomóc? welcomemsg +user ChciaÅ‚bym zarezerować dwa bilety na Batman inform +systen Na jaki dzieÅ„ i godzinÄ™ miaÅ‚by być ten bilet? request +user A kiedy jest najbliższy seans? inform +systen "Najbliższe seanse dla filmu ""Batman"" to: 13:00 oraz 15:30." select +user To poproszÄ™ trzy bilety na batmana o 15:30 inform +systen Dobrze. W jakim rzÄ™dzie majÄ… zostać zarezerwowane miejsca? request +user Na samym tyle sali inform +systen ZostaÅ‚o ci przydzielone miejsce M9, M10 oraz M11. Numer twojej rezerwacji to 123124. inform +user DziÄ™kujÄ™ thankyou diff --git a/data/clean/dialog-17-06-01.tsv b/data/clean/dialog-17-06-01.tsv new file mode 100644 index 0000000..f6f3901 --- /dev/null +++ b/data/clean/dialog-17-06-01.tsv @@ -0,0 +1,12 @@ +user Witam hello +system Witamy w internetowym systemie rezerwacji Nachos, w czym mogÄ™ pomóc? welcomemsg +user Czy tylko można u was rezerwować Nachos ? null +system Nasz system odpowiada za: rezerwacjÄ™ biletów kinowych oraz ewentualne pytania użytkowników. canthelp +user ChciaÅ‚bym zapytać co u pana hello +system Z tej strony bot Nachos, u mnie wszystko w porzÄ…dku. W czym mogÄ™ pomóc? welcomemsg +user PoproszÄ™ bilet na batmana o 19:00 inform +system Dobrze. W jakim rzÄ™dzie majÄ… zostać zarezerwowane miejsca? request +user bez ludzi w okolicy inform +system ZostaÅ‚o ci przydzielone miejsce A11. Numer twojej rezerwacji to 123123. inform +user Czy to wszystko affirm help +system Tak to wszystko, proszÄ™ zjawić siÄ™ przy okienku kasowym 15 minut przed rozpoczÄ™ciem seansu, inaczej rezerwacja przepadnie. affirm diff --git a/data/clean/dialog-17-08-01.tsv b/data/clean/dialog-17-08-01.tsv new file mode 100644 index 0000000..cad4d7a --- /dev/null +++ b/data/clean/dialog-17-08-01.tsv @@ -0,0 +1,20 @@ +user DzieÅ„ dobry! hello +system Witamy w internetowym systemie rezerwacji Nachos, w czym mogÄ™ pomóc? welcomemsg +user ChciaÅ‚bym zarezerwować film null +user Bilet na film inform +system Na jaki film ma być ta rezerwacja? request +user Jakie filmy sÄ… teraz w kinach? request +system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select +user poproszÄ™ 3x bilet na ambulans inform +system "DostÄ™pne godziny na film ""Ambulans"" to: 12:00, 15:30, 17:30 oraz 20:00" select +user niech bÄ™dzie ten ostatni inform +system Dobrze. W jakim rzÄ™dzie majÄ… zostać zarezerwowane miejsca? request +user Przedostatnim inform +system ZostaÅ‚y ci przydzielone miejsca M9, M10, M11. Numer twojej rezerwacji to 123123. inform +user Spoko ack +user ChciaÅ‚bym jeszcze kupon na jedzenie null +system Zapraszamy do baru, który znajduje siÄ™ za kasami biletowymi. W skÅ‚ad oferty barowej wchodzÄ…: popcorn sÅ‚ony/sÅ‚odki/maÅ›lany, oraz NachosyTM z wybranym sosem. offer +user PoproszÄ™ sÅ‚ony popcorn null +user Duży null +system Zapraszamy do baru, który znajduje siÄ™ za kasami biletowymi.  offer +user Nara bye diff --git a/data/clean/dialog-17-10-01.tsv b/data/clean/dialog-17-10-01.tsv new file mode 100644 index 0000000..6258216 --- /dev/null +++ b/data/clean/dialog-17-10-01.tsv @@ -0,0 +1,18 @@ +user DzieÅ„ dobry hello +system Witamy w internetowym systemie rezerwacji Nachos, w czym mogÄ™ pomóc? welcomemsg +user ChciaÅ‚ bym zamówić bilet na film Minionki dzisiaj o 18.30 inform +system "Niestety film ""Minionki"" nie jest obecnie dostÄ™pny. Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto." nan +user to poprosze ups 2 inform +system Na jaki dzieÅ„ i godzinÄ™ miaÅ‚by być ten bilet? request +user na dzisiaj inform +user najlepiej 18.30 inform +system DostÄ™pne godziny to: 18:00 oraz 20:00, czy któraÅ› z nich jest odpowiednia? select +user poprosze 18 inform +system Dobrze. W jakim rzÄ™dzie ma zostać dokonana rezerwacja? request +user jakie sÄ… dostÄ™pne miejsca? request +system DostÄ™pne miejsca to: A1, A2, A3, B11,B12, F13, M1, M2, M3, M4 oraz M5. select +user które miejsca sÄ… daleko od ekranu? reqmore +system Najdalej od ekranu znajduje siÄ™ rzÄ…d M. inform +user w takim razie poproszÄ™ M5 inform +system ZostaÅ‚o ci przydzielone miejsce M5. Numer twojej rezerwacji to 123123. inform expl-conf +user dziekuje thankyou diff --git a/data/clean/dialog-17-14-01.tsv b/data/clean/dialog-17-14-01.tsv new file mode 100644 index 0000000..2860b68 --- /dev/null +++ b/data/clean/dialog-17-14-01.tsv @@ -0,0 +1,17 @@ +user Cześć hello +system Witamy w internetowym systemie rezerwacji Nachos, w czym mogÄ™ pomóc? welcomemsg +user Co mogÄ™ zarezerwować? reqmore +system Nasz system odpowiada za: rezerwacjÄ™ biletów kinowych oraz odpowiedzi na ewentualne pytania użytkowników. select +user Gdzie znajduje siÄ™ kino? request +system Na podstawie twojej lokalizacji przydzieliliÅ›my ci: Multikino 51. Czy chcesz je zmienić. inform +user Tak, chciaÅ‚bym iść do multikina na Malcie inform +system "Twoje kino zostaÅ‚o zmienione na ""Multikino Malta"". Czy mogÄ™ pomóc w czymÅ› jeszcze?" Expl-conf +user Super, teraz chciaÅ‚bym zarezerwować bilet na film inform +system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. Na jaki film mam zarezerwować bilet? select +user Uncharted inform +system "DostÄ™pne godziny na film ""Uncharted"" to: 12:00, 15:30, 17:30 oraz 20:00" select +user wybieram godzine 12:00 inform +system Dobrze. W jakim rzÄ™dzie majÄ… zostać zarezerwowane miejsca i ile miejsc zarezerwować? request +user 1 miejsce, gdzieÅ› na Å›rodku sali inform +system ZostaÅ‚o ci przydzielone miejsce J11. Numer twojej rezerwacji to 123123. inform and +user Pasuje ack diff --git a/data/clean/dialog-17-18-01.tsv b/data/clean/dialog-17-18-01.tsv new file mode 100644 index 0000000..afc2f61 --- /dev/null +++ b/data/clean/dialog-17-18-01.tsv @@ -0,0 +1,27 @@ +user Elo help +system Witamy w internetowym systemie rezerwacji Nachos, w czym mogÄ™ pomóc? welcomemsg +user ChciaÅ‚abym zarezerwować bilet inform +system Dobrze. Na jaki film ma być ta rezerwacja? request +user Co gracie request +system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select +user Ja bym chciaÅ‚a na Fantsaczne zwierzta inform +system Na jaki dzieÅ„ i godzinÄ™ miaÅ‚by być ten bilet? request and +user 29.03.2022 inform +user JakoÅ› wieczorkiem inform +system "DostÄ™pne godziny na film ""Fantastyczne zwierzÄ™ta: tajemnice dumbledorea"" to: 17:30 oraz 20:00" select expl-conf +user To na 21 prosze inform +system Godzina 21:00 nie jest dostÄ™pna. Filmy puszczane sÄ… o 17:30 oraz 20:00. select +user To na 18 proszÄ™ inform +system Dobrze. Jakie miejsca zarezerwować? request +user Najlepsze inform +system ZostaÅ‚y ci przydzielone miejsca I9, I10. Numer twojej rezerwacji to 123123. inform +user Moment no ile tych miejsc i czemu nie sÄ… w tym samym rzÄ™dzie reqmore +user proszÄ™ z managerem null +system Ile biletów powinno znaleźć siÄ™ w rezerwacji? request +user Jeden dla mnie i dla kotka proszÄ™ inform +system ZostaÅ‚y ci przydzielone miejsca I9, I10. Numer twojej rezerwacji to 123123. inform +user Dobra, to blikiem proszÄ™ null +system System obsÅ‚uguje jedynie rezerwacjÄ™ biletów. W uiszczenia opÅ‚aty proszÄ™ być 15 minut przed seansem w kinie, inaczej rezerwacja przepada. DziÄ™kujÄ™. bye +user Halo halo null +user nie skoÅ„czyÅ‚am null +user Ehhh null diff --git a/data/clean/dialog-17-18-02.tsv b/data/clean/dialog-17-18-02.tsv new file mode 100644 index 0000000..617acbc --- /dev/null +++ b/data/clean/dialog-17-18-02.tsv @@ -0,0 +1,15 @@ +user DZIEŃ DOBRY hello +system Witamy w internetowym systemie rezerwacji Nachos, w czym mogÄ™ pomóc? welcomemsg +user No wÅ‚aÅ›nie. W czym możesz pomóc? help +system Nasz system odpowiada za: rezerwacjÄ™ biletów kinowych oraz odpowiedzi na ewentualne pytania użytkowników. inform +user A jedzonko macie? reqmore +system W skÅ‚ad oferty barowej wchodzÄ…: popcorn sÅ‚ony/sÅ‚odki/maÅ›lany, oraz NachosyTM z wybranym sosem. offer +user Nachosy proszÄ™ reqmore +system Zapraszamy do baru, który znajduje siÄ™ za kasami biletowymi. offer +user A jakie sosy do Nachosów? reqmore +system Do NachosyTM można wybrać nastÄ™pujÄ…ce sosy: BBQ, keczupowy, czosnkowy, ostry. offer +user ChciaÅ‚abym anulować rezerwacjÄ™ inform +system Dobrze, proszÄ™ o podanie numeru rezerwacji. request +user 123123 inform +system "Rezerwacja o numerze ""123123"" zostaÅ‚a anulowana. " affirm +user DziÄ™ki <3 thankyou diff --git a/data/clean/dialog-17-18-03.tsv b/data/clean/dialog-17-18-03.tsv new file mode 100644 index 0000000..db3bb34 --- /dev/null +++ b/data/clean/dialog-17-18-03.tsv @@ -0,0 +1,7 @@ +user DzieÅ„ dobry hello +system Witamy w internetowym systemie rezerwacji Nachos, w czym mogÄ™ pomóc? welcomemsg +user ChciaÅ‚abym zmienić rezerwacjÄ™ inform +system ProszÄ™ podać numer rezerwacji request +user 123123 inform +system "Rezerwacja o numerze ""123123"" nie znajduje siÄ™ w systemie. Upewnij siÄ™, ze jest to poprawny numer." canthelp.missing_slot_value +user Upewniam siÄ™ ack diff --git a/data/clean/dialog-18-03-01.tsv b/data/clean/dialog-18-03-01.tsv new file mode 100644 index 0000000..d105e76 --- /dev/null +++ b/data/clean/dialog-18-03-01.tsv @@ -0,0 +1,16 @@ +user DzieÅ„ dobry hello +system Witam w systemie kinowym Nachos. Jak mogÄ™ ci pomóc? request welcomemsg +user ChciaÅ‚bym zarezerwować bilety inform +system Jaki film ciÄ™ interesuje? request +user batman inform +system Jaki termin ciÄ™ interesuje? request +user dzisiaj inform +system DostÄ™pne godziny to: 15:20, 18:30, 20:15, 22:10. select +user podaj wiÄ™cej informacji o seansach reqmore +system DostÄ™pne godziny to: 15:20, 18:30, 20:15, 22:10. select +user podaj wiÄ™cej informacji o seansie o 15.20 reqmore +system "Pokaz filmu ""Batman"" o godzinie 15:20, sala 3." offer +user czy film jest 2D czy 3D? reqmore +system Nasze kino nie oferuje seansów 3D. Za utrudnienia przepraszamy. canthelp +user podaj informacje o napisach/dubbingu reqmore +system Nasze kino nie oferuje seansów z dubbingiem. Za utrudnienia przepraszamy. canthelp diff --git a/data/clean/dialog-18-05-01.tsv b/data/clean/dialog-18-05-01.tsv new file mode 100644 index 0000000..001dcd3 --- /dev/null +++ b/data/clean/dialog-18-05-01.tsv @@ -0,0 +1,26 @@ +user Cześć hello +system Witam w systemie kinowym Nachos. Jak mogÄ™ ci pomóc? request welcomemsg +user ChciaÅ‚bym zarezwsfsgf bilet null +system Czy mógÅ‚byÅ› powtórzyć? repeat +user ChciaÅ‚bym zarezerwować bilet inform +system Jaki film ciÄ™ interesuje? request +user Jakie sÄ… wyÅ›wietlane w najbliższÄ… sobotÄ™? reqmore +system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select +user W których godzinach grany jest film To nie wypanda? reqmore inform +system Seanse w dniu dzisiejszym odbywajÄ… siÄ™ o godzinie: 15:40, 17:20, 19:10. select +user W takim razie chciaÅ‚bym kupić 3 bilety, jeÅ›li możliwe miejsca koÅ‚o siebie inform +system Jaki termin ciÄ™ interesuje? request +user Najbliższa sobota inform +system DostÄ™pne godziny to 11:20, 14:30, 17:10, 19:30. select +user Godzina 19:30 inform +system Gdzie chciaÅ‚byÅ› usiąść? request +user Najlepiej w ostatnim rzÄ™dzie inform +system ZostaÅ‚y ci przydzielone miejsca N6, N7, N8. Numer twojej rezerwacji to 84372. inform +user ChciaÅ‚bym zapÅ‚acić przy odbiorze reqmore +system Sprzedaż biletów dostÄ™pna jest w punkcie stacjonarnym. ZachÄ™camy do uprzedniej rezerwacji miejsc za pomocÄ… naszego systemu. canthelp +user Czy moja rezerwacja zostaÅ‚a potwierdzona? reqmore +system Podaj numer rezerwacji. request +user 84372 inform +system "Rezerwacja numer 84372. Film ""To nie wypanda"", sobota 26.03.2022, godzina 19:30. Miejsca N6, N7, N8. Czy chciaÅ‚byÅ› dokonać zmian?" reqmore expl-conf +user Nie negate +system DziÄ™kujemy za skorzystanie z usÅ‚ug systemu kinowego Nachos. MiÅ‚ego dnia. bye diff --git a/data/clean/dialog-18-07-01.tsv b/data/clean/dialog-18-07-01.tsv new file mode 100644 index 0000000..5246cfb --- /dev/null +++ b/data/clean/dialog-18-07-01.tsv @@ -0,0 +1,14 @@ +user DzieÅ„ dobry hello +system Witam w systemie kinowym Nachos. Jak mogÄ™ ci pomóc? request welcomemsg +user ChciaÅ‚bym dowiedzieć siÄ™ jakie filmy sÄ… wyÅ›wietlane w tym tygodniu. reqmore +system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select +user W jakich godzinach mogÄ™ zobaczyć Batmana w piÄ…tek? reqmore inform +system W najbliższy piÄ…tek dostÄ™pne godziny to 13:30, 15:20, 17:45. select +user ChciaÅ‚bym zarezerwować 3 miejsca na seans o 17:45 inform +system Gdzie chciaÅ‚byÅ› usiąść? request +user Czy sÄ… dostÄ™pne miejsca w tylnych rzÄ™dach? reqmore inform +system DostÄ™pne miejsca z tyÅ‚u to M3, M4, M5. offer +user Ok affirm inform +system ZostaÅ‚y ci przydzielone miejsca M3, M4, M5. Numer twojej rezerwacji to 87574. expl-conf +user DziÄ™kujÄ™, do widzenia bye thankyou +system DziÄ™kujemy za skorzystanie z usÅ‚ug systemu kinowego Nachos. MiÅ‚ego dnia. bye diff --git a/data/clean/dialog-18-07-02.tsv b/data/clean/dialog-18-07-02.tsv new file mode 100644 index 0000000..b4dda3c --- /dev/null +++ b/data/clean/dialog-18-07-02.tsv @@ -0,0 +1,6 @@ +user DzieÅ„ dobry, chciaÅ‚bym anulować rezerwacjÄ™ hello inform +system Witam w systemie kinowym Nachos. Aby anulować rezerwacjÄ™, podaj numer rezerwacji. request welcomemsg +user 87574 inform +system "ProszÄ™ o potwierdzenie anulowania rezerwacji numer 87574 na film ""Batman"" w dniu 25.03.2022 o godzinie 17:45." expl-conf +user Potwierdzam affirm +system Rezerwacja numer 87574 zostaÅ‚a anulowana. affirm diff --git a/data/clean/dialog-18-09-01(test).tsv b/data/clean/dialog-18-09-01(test).tsv new file mode 100644 index 0000000..adecb9c --- /dev/null +++ b/data/clean/dialog-18-09-01(test).tsv @@ -0,0 +1,22 @@ +user Hej hello +system Witam w systemie kinowym Nachos. Jak mogÄ™ ci pomóc? request welcomemsg +user ChciaÅ‚bym kupić bilety na seans Zorro - jak to byÅ‚o na prawdÄ™ inform +system Film nie znajduje siÄ™ w repertuarze. Podaj inny tytuÅ‚. request canthelp +user Zorro2 inform +system Film nie znajduje siÄ™ w repertuarze. Podaj inny tytuÅ‚. request canthelp +user PoproszÄ™ o listÄ™ seansów reqmore +system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select +user PoproszÄ™ o listÄ™ filmów granych jutro wieczorem reqmore inform +system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select +user ChciaÅ‚bym kupić bilety na film To nie wypanda inform +system Jutro wieczorem dostÄ™pne godziny to: 18:30, 20:15. select +user 20:15 inform +system Jaka ilość biletów ciebie interesuje? request +user 11 inform +system Gdzie chciaÅ‚byÅ› usiąść? request +user W Å›rodku, pomiedzy górnym i Å›rodkowym rzÄ™dzie null +system Czy możesz powtórzyć? repeat +user W Å›rodku, pomiedzy górnym i Å›rodkowym rzÄ™dem inform +system ZostaÅ‚y ci przydzielone miejsca G3, G4, G5, G6, G7, G8, G9, G10, G11, G12, G13. Numer twojej rezerwacji to 04293. inform +user <3 thankyou +system DziÄ™kujemy za skorzystanie z usÅ‚ug systemu kinowego Nachos. MiÅ‚ego dnia. bye diff --git a/data/clean/dialog-18-09-02.tsv b/data/clean/dialog-18-09-02.tsv new file mode 100644 index 0000000..e581f32 --- /dev/null +++ b/data/clean/dialog-18-09-02.tsv @@ -0,0 +1,4 @@ +user Cześć hello +system Witam w systemie kinowym Nachos. Jak mogÄ™ ci pomóc? request welcomemsg +user Nie możesz thankyou +system DziÄ™kujemy za skorzystanie z usÅ‚ug systemu kinowego Nachos. MiÅ‚ego dnia. bye diff --git a/data/clean/dialog-18-11-01.tsv b/data/clean/dialog-18-11-01.tsv new file mode 100644 index 0000000..bdcb04c --- /dev/null +++ b/data/clean/dialog-18-11-01.tsv @@ -0,0 +1,32 @@ +user DzieÅ„ dobry, Systemie hello +system Witam w systemie kinowym Nachos. Jak mogÄ™ ci pomóc? request welcomemsg +user ChciaÅ‚bym kupić nachos reqmore +system Zestaw nachosów z wybranym dipem dostÄ™pny jest w strefie gastronomicznej. offer +user Jak mogÄ™ siÄ™ do takiej strefy dostać? reqmore +system Nasz adres to ulica Uniwersytetu PoznaÅ„skiego 4. inform +user W jakim mieÅ›cie? reqmore +system Ul. Uniwersytetu PoznaÅ„skiego 4, PoznaÅ„ inform +user Czy można zarezerwować u was bilety na seans? reqmore +system Tak. Jaki film ciÄ™ interesuje? request +user Jakie polecasz? reqmore +system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select +user JakÄ… ocenÄ™ posiada Batman? reqmore +system Batman posiada ocenÄ™ 8.4/10 offer +user Dobrze. ChciaÅ‚bym zatem zarezerwować bilet na Innych Ludzi inform +system Jaki termin ciÄ™ interesuje? request +user 22.03.2022 inform +system Wybrana data jest z przeszÅ‚oÅ›ci. ProszÄ™ o podanie poprawnego terminu. repeat +user Jutro, po godzinie 16:00 inform +system DostÄ™pne godziny to: 17:45, 20:30. select +user Jaki jutro jest dzieÅ„ tygodnia? request +system Jutro jest czwartek, 24.03.2022. inform +user To poproszÄ™ o rezerwacjÄ™ na 17:45 inform +system ProszÄ™ o powtórzenie terminu rezerwacji. repeat +user 17:45 inform +system Gdzie chciaÅ‚byÅ› usiąść? request +user Z tyÅ‚u sali, nie na samym koÅ„cu inform +system ZostaÅ‚o ci przydzielone miejsce L8. Numer twojej rezerwacji to 35263. inform +user W jakiej części rzÄ™du znajduje siÄ™ to miejsce? request +system Miejsce L8 znajduje siÄ™ w Å›rodkowej części przedostatniego rzÄ™du. inform +user DziÄ™kujÄ™ thankyou +system DziÄ™kujemy za skorzystanie z usÅ‚ug systemu kinowego Nachos. MiÅ‚ego dnia. bye diff --git a/data/clean/dialog-18-15-01.tsv b/data/clean/dialog-18-15-01.tsv new file mode 100644 index 0000000..ef8b426 --- /dev/null +++ b/data/clean/dialog-18-15-01.tsv @@ -0,0 +1,22 @@ +user DzieÅ„ dobry hello +system Witam w systemie kinowym Nachos. Jak mogÄ™ ci pomóc? request welcomemsg +user chciaÅ‚bym kupić dwa bilety na batmana inform +system Jaki termin ciÄ™ interesuje? request +user jutro inform +system DostÄ™pne godziny to: 15:20, 17:45, 20:30. select +user poproszÄ™ na 20:30 inform +system Gdzie chciaÅ‚byÅ› usiąść? request +user z tyÅ‚u inform +system ZostaÅ‚y ci przydzielone miejsca L9, L10. Numer twojej rezerwacji to 74263. inform +user w jakiej cenie sÄ… bilety? help +system Bilet jednorazowy jest w cenie 18,90 zÅ‚. offer +user sÄ… zniżki studenckie? help +system Osoby poniżej 26 roku życia posiadajÄ…ce legitymacjÄ™ szkolnÄ… lub studenckÄ… sÄ… upoważnione do 15% zniżki na wejÅ›cia jednorazowe. offer +user mógÅ‚bym kupić bilety? reqmore +system Jaki film ciÄ™ interesuje? request +user batman - chciaÅ‚bym kupić zarezerwowane miejsca reqmore inform +system Sprzedaż biletów dostÄ™pna jest w punkcie stacjonarnym. ZachÄ™camy do uprzedniej rezerwacji miejsc za pomocÄ… naszego systemu. canthelp +user dobrze czy wystarczy zachować numer rezerwacji? reqmore +system Numer rezerwacji niezbÄ™dny jest do opÅ‚acenia zarezerwowanych miejsc w punkcie stacjonarnym. canthelp +user dobrze ack +system DziÄ™kujemy za skorzystanie z usÅ‚ug systemu kinowego Nachos. MiÅ‚ego dnia. bye diff --git a/data/clean/dialog-18-15-02.tsv b/data/clean/dialog-18-15-02.tsv new file mode 100644 index 0000000..77fcd81 --- /dev/null +++ b/data/clean/dialog-18-15-02.tsv @@ -0,0 +1,15 @@ +user witam hello +system Witam w systemie kinowym Nachos. Jak mogÄ™ ci pomóc? request welcomemsg +user jakie sÄ… jutro filmy? reqmore inform +system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select +user o ktorej jest nasze magiczne encanto? reqmore inform +system DostÄ™pne godziny to 10:15, 12:30, 15:45, 18:20. select +user poproszÄ™ 3 bilety na 18:20 inform +system Gdzie chciaÅ‚byÅ› usiąść? request +user na Å›rodku inform +system ZostaÅ‚y ci przydzielone miejsca H4, H5, H6. Numer twojej rezerwacji to 85730. inform +user poproszÄ™ jeszcze jedno miejsce obok inform +system Dokonano zmiany rezerwacji numer 85730. ZostaÅ‚y ci przydzielone miejsca H4, H5, H6, H7. inform +user dziekuje thankyou +system DziÄ™kujemy za skorzystanie z usÅ‚ug systemu kinowego Nachos. MiÅ‚ego dnia. bye +user do widzenia bye diff --git a/data/clean/dialog-18-17-01.tsv b/data/clean/dialog-18-17-01.tsv new file mode 100644 index 0000000..2c6c8ef --- /dev/null +++ b/data/clean/dialog-18-17-01.tsv @@ -0,0 +1,10 @@ +user Co dziÅ› leci reqmore inform +system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select +user Co jest dobre dla dzieci reqmore +system "Film familijny to ""Nasze magiczne Encanto""." offer +user "PoproszÄ™ 2 na ""to nie wypanda""" inform +system Gdzie chciaÅ‚byÅ› usiąść? request +user a z przodu gdzieÅ› inform +system ZostaÅ‚y ci przydzielone miejsca B9, B10. Numer twojej rezerwacji to 47564. inform +user eee a o której?? request +system Godzina twojego seansu to 17:30. inform diff --git a/data/clean/dialog-18-19-01.tsv b/data/clean/dialog-18-19-01.tsv new file mode 100644 index 0000000..58c275f --- /dev/null +++ b/data/clean/dialog-18-19-01.tsv @@ -0,0 +1,16 @@ +user DzieÅ„ dobry hello +system Witam w systemie kinowym Nachos. Jak mogÄ™ ci pomóc? request welcomemsg +user ChciaÅ‚abym zarezerwować bilet do kina inform +system Jaki film ciÄ™ interesuje? request +user Wyjdż za mnie inform +system Film nie znajduje siÄ™ w repertuarze. Podaj inny tytuÅ‚. request canthelp +user The batman inform +system Jaki termin ciÄ™ interesuje? request +user DziÅ› wieczorem inform +system DostÄ™pne godziny to: 18:30, 20:15, 22:10. select +user ProszÄ™ o godzinie 20:15 inform +system Gdzie chciaÅ‚abyÅ› usiąść? request +user z tyÅ‚u, na Å›rodku (aby ekran byÅ‚ centralnie widoczny) inform +system ZostaÅ‚o ci przydzielone miejsce L7. Numer twojej rezerwacji to 09483. inform +user Dobrze, dziÄ™kujÄ™ thankyou +system DziÄ™kujemy za skorzystanie z usÅ‚ug systemu kinowego Nachos. MiÅ‚ego dnia. bye diff --git a/data/clean/dialog-19-02-01.tsv b/data/clean/dialog-19-02-01.tsv new file mode 100644 index 0000000..114ea82 --- /dev/null +++ b/data/clean/dialog-19-02-01.tsv @@ -0,0 +1,6 @@ +user cześć hello +system Witam w systemie kinowym Nachos. Jak mogÄ™ ci pomóc? welcomemsg +user chciaÅ‚bym sprawdzić repertuar kin reqmore +system Na jaki dzieÅ„? request +user na dzisiaj inform +system Dzieiejszy repertuar: 13:30 Piosenki o miÅ‚oÅ›ci 16:00 Cud Guadalupe 17:00 JakoÅ› to bÄ™dzie 17:40 Historia mojej żony 18:40 Matki równolegÅ‚e 20:30 Wielka wolność 20:40 Najgorszy czÅ‚owiek na Å›wiecie 22:50 Inni ludzie offer diff --git a/data/clean/dialog-19-04-01.tsv b/data/clean/dialog-19-04-01.tsv new file mode 100644 index 0000000..3d2eff6 --- /dev/null +++ b/data/clean/dialog-19-04-01.tsv @@ -0,0 +1,31 @@ +user Witam hello +system Witam w systemie kinowym Nachos. Jak mogÄ™ ci pomóc? welcomemsg +user Jakie sÅ¡ najbliższe seanse? reqmore +system Dzieiejszy repertuar: 13:30 Piosenki o miÅ‚oÅ›ci 16:00 Cud Guadalupe 17:00 JakoÅ› to bÄ™dzie 17:40 Historia mojej żony 18:40 Matki równolegÅ‚e 20:30 Wielka wolność 20:40 Najgorszy czÅ‚owiek na Å›wiecie 22:50 Inni ludzie select +user W jakim to kinie? reqmore +system W kinie Blugarska offer +user A gdzie jest to kino? reqmore +system BuÅ‚garska 19, 60-320 PoznaÅ„ offer +user Ile kosztujÅ¡ bilety na Inni ludzie? reqmore +system Normalny czy uglowy? select +user oba inform +system Normalny - 20zÅ‚, uglowy - 13zÅ‚ offer +user A w jaki dzieÅ„ bilety sÅ¡ taÅ„sze? reqmore +system W wtorek i czwartek kosztujÅ¡ o 2 zÅ‚ mniej niż podana cena offer +user W takim razie chciaÅ‚bym zarezerwować dwa bilety na czwartek na film Inni Ludzie inform +system Dobrze, bilety majÅ¡ być ulgowe czy normalne reqmore +user Jeden normalny i ulgowy inform +system Dobrze, jakie miejsce Pana interesuje? request +user Na Å›rodku Sali inform +system Dobrze, miejsca Pana to M25. Czy zgadza siÄ™ Pan z wyborem miejsca? inform +user ChciaÅ‚em zarezerwować dwa miejsca reqmore +system Trzeba najpierw wybrać miejsce dla jednego biletu negate +user Zgadzam siÄ™ infrom +system Dobrze, drugie miejsce Pana to M26. Czy zgadza siÄ™ Pan z wyborem miejsca? infrom +user Tak inform +system Informacja o rezerwacji: 1x bilet ulgowy 1x biley normalny, miejsca M25 i M26, film Inni Ludzie, dnia 30/03/2022, godzina 22:50. Czy jeszcze w czymÅ› Panu pomóć? affirm +user Jaki jest koszt tej rezerwacji? reqmore +system Rezerwacja jest za darmo offer +user A ile kosztuje bilety Å‚Ä…cznie? reqmore +system 33 zÅ‚ offer +user ok. DziÄ™kujÄ™ ack diff --git a/data/clean/dialog-19-06-01.tsv b/data/clean/dialog-19-06-01.tsv new file mode 100644 index 0000000..eb3a875 --- /dev/null +++ b/data/clean/dialog-19-06-01.tsv @@ -0,0 +1,22 @@ +user Witam hello +system Witam w systemie kinowym Nachos. Jak mogÄ™ ci pomóc? welcomemsg +user ChciaÅ‚bym zarezerwować bilet ale nie wiem na co. inform +system Dzieiejszy repertuar: 13:30 Piosenki o miÅ‚oÅ›ci 16:00 Cud Guadalupe 17:00 JakoÅ› to bÄ™dzie 17:40 Historia mojej żony 18:40 Matki równolegÅ‚e 20:30 Wielka wolność 20:40 Najgorszy czÅ‚owiek na Å›wiecie 22:50 Inni ludzie offer +user Czy film Historia mojej żony jest ciekawy ? reqmore +system Uwaźam, że tak ack +user Dobrze to poproszÄ™ inform +system Ulgowy czy normalny? select +user Ulgowy inform +system Ile biletów? selec +user czy jest jakaÅ› maksymalna liczba ? reqmore +system Nie null +user to poproszÄ™ 100 inform +system Dobrze, prosze wymienić czy majÅ¡ byc ulgowe czy normalne select +user tak jak powiedziaÅ‚em ulgowe inform +system Dobrze, jakie miejsca Pana interesujÅ¡? request +user Å›rodek Sali inform +system Dobrze, Pana miejsca to sÅ¡: M1, M2, M3, ..., M98, M99, M100. Czy zgadza sie Pan z wyborem? inform +user tak confirm +system Informacja o rezerwacji: 100x bilet ulgowy, miejsca M1, M2, M3, ..., M98, M99, M100, film Historia mojej żony, dnia 30/03/2022, godzina 17:40. Czy jeszcze w czymÅ› Panu pomóc? reqmore inform +user Nie dziÄ™kuje negate confirm +system DziÄ™kujÄ™ również bye diff --git a/data/clean/dialog-19-08-01.tsv b/data/clean/dialog-19-08-01.tsv new file mode 100644 index 0000000..9eee2cc --- /dev/null +++ b/data/clean/dialog-19-08-01.tsv @@ -0,0 +1,18 @@ +user DzieÅ„ dobry! hello +system Witam w systemie kinowym Nachos. Jak mogÄ™ ci pomóc? welcomemsg +user ChciaÅ‚bym zarezerwować seans. Bilet na seans inform +system Jaki Pana interesuje ? request +user Jakie filmy sÄ… obecnie na ekranach? reqmore +system Jaki dzieÅ„ Pana interesuje ? request +user Sobota inform +system 2022-04-02 15:00 Przeżyć 2022-04-02 16:45 Inni ludzie 2022-04-02 18:45 Piosenki o miÅ‚oÅ›ci 2022-04-02 20:30 Psie pazury offer +user PoproszÄ™ 2 bilety na innych ludzi inform +system Ulgowe czy normalne? null +user jeden ulgowy i jeden zwykÅ‚y inform infrom +system Dobrze, a jakie Pana miejsca interesujÅ¡? request +user Na Å›rodku Sali infrom +system Dobrze, miejsca Pana to M20. Czy zgadza siÄ™ Pan z wyborem miejsca? affirm inform +user Pewnie ack +system Dobrze, drugie miejsce Pana to M21. Czy zgadza siÄ™ Pan z wyborem miejsca? affirm inform +user czy te miejsca sÅ¡ obok siebie? reqmore +system Tak affirm diff --git a/data/clean/dialog-19-10-01(test).tsv b/data/clean/dialog-19-10-01(test).tsv new file mode 100644 index 0000000..f2a5e5e --- /dev/null +++ b/data/clean/dialog-19-10-01(test).tsv @@ -0,0 +1,17 @@ +user DzieÅ„ dobry hello +system Witam w systemie kinowym Nachos. Jak mogÄ™ ci pomóc? welcomemsg +user ChciaÅ‚ bym zamówić bilet na film Minionki dzisiaj o 18.30 inform +system DziÅ› nie gramy filmu 'Minionki' o godzinie 18:30 negate +user czy jest jakis film o godzinie 18:30? request +system Najbliższy film jest o godzinie 18:40 18:40 Matki równolegÅ‚e offer +user niech bÄ™dzie ack +system Ile biletów? request +user 1 inform +system Normalny czy ulgowy ? canthelp +user jakie sÅ¡ dostÄ™pne ulgi? null +system Studencka, serniorska, i pracownik kina offer +user studencka inform +system Dobrze, jakie miejsce Pana interesuje request +user daleko od ekranu inform +system Dobrze, miejsca Pana to L40. Czy zgadza siÄ™ Pan z wyborem miejsca? affirm inform +user tak ack diff --git a/data/clean/dialog-19-12-01.tsv b/data/clean/dialog-19-12-01.tsv new file mode 100644 index 0000000..6fb030a --- /dev/null +++ b/data/clean/dialog-19-12-01.tsv @@ -0,0 +1,33 @@ +user DzieÅ„ dobry hello +system Witam w systemie kinowym Nachos. Jak mogÄ™ ci pomóc? welcomemsg +user ChciaÅ‚abym zarezerwować bilety inform +system Na jaki film? request +user Jaki film jest grany jutro w godzinach popoÅ‚udniowych? request +system 2022-03-31 15:00 Przeżyć 2022-03-31 16:45 Inni ludzie 2022-03-31 18:45 Piosenki o miÅ‚oÅ›ci 2022-03-30 20:30Psie pazury offer +user Czy sÅ¡ wczeÅ›niejsze seanse? reqmore +system Na jutro, nie negate +user W takim razie chcÄ™ zarezerwować bilety na Psie Pazury inform +system Dobrze, ulgowy czy normalny? canthelp +user Komu przysÅ‚uguje ulga? null +system Studentom, seniorom i pracownikom kina canthelp +user Kim jest senior? null +system To jest stara osoba canthelp +user W takim razie chcÄ™ zarezerwować normalne bilety na Psie Pazury inform +system jAKIE MIEJSCE pANIĽ INTERESUJE? request +user Na Å›rodku inform +system Ile biletów? request +user 3 inform +system Wszystkie normalne? null +user Tak ack +system Dobrze, miejsce Pani to M27. Czy zgadza siÄ™ Pani z wyborem miejsca? affirm inform +user Ale chciaÅ‚am 3 bilety negate +system Trzeba najpierw wybrać miejsce dla jednego biletu null +user zgadzam siÄ™ ack +system Dobrze, drugie miejsce Pani to M28. Czy zgadza siÄ™ Pani z wyborem miejsca? affirm inform +user tak ack +system Dobrze, trzecie miejsce Pani to M29. Czy zgadza siÄ™ Pani z wyborem miejsca? affirm inform +user nier negate +system Dobrze, trzecie miejsce Pani to M26. Czy zgadza siÄ™ Pani z wyborem miejsca? affirm inform +user tak ack +system Czy w czymÅ› jeszcze Pani pomóc? reqmore +user nie null diff --git a/data/clean/dialog-19-14-01.tsv b/data/clean/dialog-19-14-01.tsv new file mode 100644 index 0000000..f77a769 --- /dev/null +++ b/data/clean/dialog-19-14-01.tsv @@ -0,0 +1,25 @@ +user DzieÅ„ dobry hello +system Witam w systemie kinowym Nachos. Jak mogÄ™ ci pomóc? welcomemsg +user ChciaÅ‚bym dowiedzieć siÄ™ jaki jest aktualnie repertuar request +system Dzieiejszy repertuar: 13:30 Piosenki o miÅ‚oÅ›ci 16:00 Cud Guadalupe 17:00 JakoÅ› to bÄ™dzie 17:40 Historia mojej żony 18:40 Matki równolegÅ‚e 20:30 Wielka wolność 20:40 Najgorszy czÅ‚owiek na Å›wiecie 22:50 Inni ludzie offer +user Jutro jest w repertuarze film inni ludzie? request +system Tak, o 17:30 offer +user Ile kosztuje bilet na ten film? request +system Normalny czy ulgowy? null +user ulogwy null +system Dobrze, jakie miejsce Pana interesuje? request +user W górnej części sali inform +system Dobrze, miejsca Pana to L35. Czy zgadza siÄ™ Pan z wyborem miejsca? affirm inform +user Gdzie znajduje siÄ™ to miejsce wzglÄ™dem ekranu? reqmore +system Po lewej stronie offer +user ChciaÅ‚bym na Å›rodku inform +system Dobrze, miejsca Pana to M40. Czy zgadza siÄ™ Pan z wyborem miejsca? affirm inform +user zgadzam ack +system Informacja o rezerwacji: 1x bilet ulgowy, miejsce L35, film innie ludzie, dnia 30/03/2022, godzina 22:50. Czy jeszcze w czymÅ› Panu pomóc? affirm +user jaka jest cena? reqmore +system 13zÅ‚ za bilet, 0zÅ‚ za rezerwacje offer +user Dobrze, rezerwuje ack +system Czy jeszcze w czymÅ› Panu pomóc? reqmore +user ChciaÅ‚bym anulować rezerwacjÄ™ deny +system Dobrze, anuluje...Anulowano rezerwacje ack +user Dziekuje bye diff --git a/data/clean/dialog-19-16-01.tsv b/data/clean/dialog-19-16-01.tsv new file mode 100644 index 0000000..5eb86af --- /dev/null +++ b/data/clean/dialog-19-16-01.tsv @@ -0,0 +1,20 @@ +user Cześć hello +system Witam w systemie kinowym Nachos. Jak mogÄ™ ci pomóc? welcomemsg +user Co można u was zjeść? request +system Popcorn (maÅ‚y, duży, Å›redni), nachos (z sosem serowym lub bez), slushy (truskawkowe, ananasowe, borówkowe), czipsy (z solÅ¡, z ocetem) offer +user Co można obejrzeć w kwietniu request +system Filmy na kwiecieÅ„: Przeżyć, Inni ludzie, Piosenki o miÅ‚oÅ›ci, Psie pazury, DKF Zamek select +user kiedy gracie DKF zamek? request +system 03/04/2022 10:00, 06/04/2022 13:40 15:40 20:15, 10/04/2022 12:50, 16/04/2022 13:30, 22/04/2022 19:40, 25/04/2022 12:15 15:50 select +user poproszÄ™ dwa bilety ulgowe na 25/04/2022 12:15 15:50 inform +system Dobrze, jakie miejsce Pana interesuje? request +user pierwszy rzÅ¡d po lewej stronie inform +system Dobrze, miejsca Pana to L10. Czy zgadza siÄ™ Pan z wyborem miejsca? inform +user Tak ack +system Czy drugi bilet ma być koÅ‚o tego samego miejsca? request +user zgadzam siÄ™ ack +system Informacja o rezerwacji: 2x bilet ulgowy, miejsca L10 i L11, film DKF zamek, dnia 25/04/2022, godzina 15:50. Czy jeszcze w czymÅ› Panu pomóc? affirm +user Jaki jest numer mojej rezerwacji reqmore +system RZ2049421 inform +user DziÄ™kujÄ™ systemie thankyou +system DziÄ™kujÄ™, byebye bye diff --git a/data/clean/dialog-19-18-01.tsv b/data/clean/dialog-19-18-01.tsv new file mode 100644 index 0000000..8a087ef --- /dev/null +++ b/data/clean/dialog-19-18-01.tsv @@ -0,0 +1,33 @@ +user Siema hello +system Witam w systemie kinowym Nachos. Jak mogÄ™ ci pomóc? welcomemsg +user ChcÄ™ iść do kina inform +system Na jaki film? request +user Co gracie request +system Dzieiejszy repertuar: 13:30 Piosenki o miÅ‚oÅ›ci 16:00 Cud Guadalupe 17:00 JakoÅ› to bÄ™dzie 17:40 Historia mojej żony 18:40 Matki równolegÅ‚e 20:30 Wielka wolność 20:40 Najgorszy czÅ‚owiek na Å›wiecie 22:50 Inni ludzie offer +user To na fdantastyczne zwierznera prosze inform +system "Nie ma takiego filmu ""fdantastyczne zwerznera"" w repertuarze" negate +user A co macie request +system Dzieiejszy repertuar: 13:30 Piosenki o miÅ‚oÅ›ci 16:00 Cud Guadalupe 17:00 JakoÅ› to bÄ™dzie 17:40 Historia mojej żony 18:40 Matki równolegÅ‚e 20:30 Wielka wolność 20:40 Najgorszy czÅ‚owiek na Å›wiecie 22:50 Inni ludzie offer +user A na za tydzieÅ„? request +system Repertuar na dzieÅ„ 06/04/2022: 2022-04-06 16:00 Przeżyć 2022-04-06 16:15 Piosenki o miÅ‚oÅ›ci 2022-04-06 17:00 Najgorszy czÅ‚owiek na Å›wiecie 2022-04-06 17:45 Wielka wolność 2022-04-06 18:00 Drive my car 2022-04-06 19:15 Piosenki o miÅ‚oÅ›ci 2022-04-06 20:00 Historia mojej żony 2022-04-06 21:00 Duch Å›niegów offer +user To na za tydzieÅ„ na cud guadalupe proszÄ™ inform +system "Nie ma takiego filmu ""cud guadlupe"" w repertuarze" negate +user To na coÅ› innego request +system Na jaki dzieÅ„? request +user Dzisiaj inform +system Dzieiejszy repertuar: 13:30 Piosenki o miÅ‚oÅ›ci 16:00 Cud Guadalupe 17:00 JakoÅ› to bÄ™dzie 17:40 Historia mojej żony 18:40 Matki równolegÅ‚e 20:30 Wielka wolność 20:40 Najgorszy czÅ‚owiek na Å›wiecie 22:50 Inni ludzie offer +user Zaskocz mnie null +system Dzieiejszy repertuar: 13:30 Piosenki o miÅ‚oÅ›ci 16:00 Cud Guadalupe 17:00 JakoÅ› to bÄ™dzie 17:40 Historia mojej żony 18:40 Matki równolegÅ‚e 20:30 Wielka wolność 20:40 Najgorszy czÅ‚owiek na Å›wiecie 22:50 Inni ludzie offer +user No to jakoÅ› niech bÄ™dzie jakoÅ› to bÄ™dzie inform +system Ile biletów? request +user Jeden dla mnie, drugi dla kota null +system Przepraszamy, ale zwierzÄ™ta nie majÅ¡ wstÄ™pu do Sali canthelp +user To jeden bÄ™dzie infrom +system Normalny czy ulgowy? canthelp +user normalny null +system Jakie miejsce PaniÅ¡ interesuje? request +user na Å›rodku gdzieÅ› inform +system Dobrze, miejsce Pani to M33. Czy zgadza siÄ™ Pani z wyborem miejsca? affirm inform +user Niech bÄ™dzie ack +system Informacja o rezerwacji: 1x bilet normalny, miejsce M33, film jakoÅ› to bÄ™dzie, dnia 30/03/2022, godzina 17:00. Czy jeszcze w czymÅ› Pani pomóc? affirm afirm +user jakieÅ› potwierdzenie rezerwacji dostanÄ™ czy mogÄ™ po prostu wejść i usišść? request diff --git a/data/clean/dialog-20-01-01.tsv b/data/clean/dialog-20-01-01.tsv new file mode 100644 index 0000000..72b3ce0 --- /dev/null +++ b/data/clean/dialog-20-01-01.tsv @@ -0,0 +1,34 @@ +user wybieram batmana o 16:20 inform +user wybieram na noże o 9:30 inform +user wybieram ups 2 o godzinie 10:45 inform +user chcÄ™ iść na matki rówonegÅ‚e o 21:30 inform +user wybierz mi film pod tytuÅ‚em inni ludzie inform +user chcÄ™ uncharted inform +user idÄ™ na 12:45 inform +user idÄ™ na pierwszÄ… na batmana inform +user idÄ™ na drugÄ… na batmana inform +user idÄ™ na trzeciÄ… na na noże inform +user ten o czwartej inform +user matki równolegÅ‚e dwunasta inform +user na noże inform +user ambulans inform +user wybierz to nie wypada inform +user dwa siedzenia inform +user jedno inform +user trzy bileciki na 19:00 na batmana na Å›rodku inform +user cztery inform +user piÄ™c biletów poproszÄ™ inform +user poproszÄ™ inform +user h1 h2 h3 inform +user chcÄ™ wybrać 3 bilety miejsca h3 h4 h5 inform +user daj mi trzy bilety na seans na godzinÄ™ 19 miejsca A14 A15 A16 inform +user poproszÄ™ jeden bilecik na seans pod tytuÅ‚em batman miejsca J12 inform +user A10,A11 inform +user A12, A13 inform +user Z43, Z44, Z43, Z44, Z45 inform +user wybierz J43, K44, l43, C44, d45 inform +user co gracie wieczorem inform +user co gracie jutro inform +user co gracie po poÅ‚udniu inform +user co gracie rano inform +user jakie filmy sÄ… wiczorem inform diff --git a/data/clean/newUserQuestions.tsv b/data/clean/newUserQuestions.tsv new file mode 100644 index 0000000..67369e5 --- /dev/null +++ b/data/clean/newUserQuestions.tsv @@ -0,0 +1,16 @@ +user co gracie za trzy dni inform +user co gracie za dwa dni inform +user co gracie w sobotÄ™ inform +user co gracie w niedzielÄ™ inform +user co leci w poniedziaÅ‚ek inform +user co leci we wtorek inform +user co leci w piÄ…tek inform +user co jest puszczane w sobotÄ™ inform +user co jest grane w niedzielÄ™ o 12:00 inform +user poproszÄ™ trzy bilety moje miejsca to h1,H3,h56 inform +user wymieÅ„ seansy jutro inform +user pojutrze co jest inform +user a co gracie po jutrze inform +user czy gracie dziÅ› batmana albo na noze inform +user czy w niedzielÄ™ gracie na noze lub batman lub piosenki o miÅ‚oÅ›ci inform +user czy wolne sÄ… miejsca h2 h3 inform \ No newline at end of file diff --git a/data/dialog-16-07-01(test).tsv b/data/dialog-16-07-01(test).tsv new file mode 100644 index 0000000..a30301f --- /dev/null +++ b/data/dialog-16-07-01(test).tsv @@ -0,0 +1,14 @@ +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 Noże) 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-17-02-01.tsv b/data/dialog-17-02-01.tsv index fc7e96b..e1aec12 100644 --- a/data/dialog-17-02-01.tsv +++ b/data/dialog-17-02-01.tsv @@ -1,5 +1,5 @@ -user czeœæ hello() -system Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg() -user czy mogê zarezerwowaæ Nachosy do kina? reqmore() -system Zapraszamy do baru, który znajduje siê za kasami biletowymi. offer +user cześć hello() +system Witamy w internetowym systemie rezerwacji Nachos, w czym mogÄ™ pomóc? welcomemsg() +user czy mogÄ™ zarezerwować Nachosy do kina? reqmore() +system Zapraszamy do baru, który znajduje siÄ™ za kasami biletowymi. offer user dziekuje thankyou diff --git a/data/dialog-17-04-01.tsv b/data/dialog-17-04-01.tsv index 0fa183b..103b053 100644 --- a/data/dialog-17-04-01.tsv +++ b/data/dialog-17-04-01.tsv @@ -1,23 +1,23 @@ user Witam hello() -system Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg() +system Witamy w internetowym systemie rezerwacji Nachos, w czym mogÄ™ pomóc? welcomemsg() user Co potrafisz? help() -system Nasz system odpowiada za: rezerwacjê biletów kinowych oraz odpowiedzi na ewentualne pytania u¿ytkowników. offer(goal=reservation || answers) -user Jakie s¹ najbli¿sze seanse? inform(date=2022-04-04)&inform(time=13:15+) -system Jaki film ciê interesuje? reqmore(title) -user A jakie s¹ dostêpne? reqmore(title) -system Obecnie w repertuarze znajduj¹ siê: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select(title) +system Nasz system odpowiada za: rezerwacjÄ™ biletów kinowych oraz odpowiedzi na ewentualne pytania użytkowników. offer(goal=reservation || answers) +user Jakie sÄ… najbliższe seanse? inform(date=2022-04-04)&inform(time=13:15+) +system Jaki film ciÄ™ interesuje? reqmore(title) +user A jakie są dostÄ™pne? reqmore(title) +system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select(title) user A w jakim to kinie? request(location) -system Na podstawie twojej lokalizacji przydzieliliœmy ci: Multikino 51. Czy chcesz je zmieniæ. inform(location=Multikino_51) +system Na podstawie twojej lokalizacji przydzieliliÅ›my ci: Multikino 51. Czy chcesz je zmienić. inform(location=Multikino_51) user A gdzie jest to kino? reqmore(location) -system Multikino 51 znajduje siê na Królowej Jadwigi 51, 61-872 Poznañ inform(location=Królowej Jadwigi 51) -user O której graj¹ Uncharted? reqmore(time) AND inform(title=Uncharted) -system "Dostêpne godziny na film ""Uncharted"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time) AND impl-conf(title=Uncharted) -user Ile kosztuj¹ bilety na ten film? request(price) -system Dostêpne bilety to: 15z³ bilet normalny, 12z³ bilet ulgowy. inform(price) -user A w jaki dzieñ bielty s¹ tañsze? reqmore(price) -system W œrody oferujemy dodatkow¹ zni¿kê -10% na wszystkie rodzaje biletów. inform(price) -user w takim razie chcia³bym zarezerwowaæ dwa bilety normalne i jeden ulgowy na œrodê 20:00 inform(date=2022-04-04) AND inform(quantity=3) AND inform(time=20:00) -system Dobrze. W jakim rzêdzie maj¹ zostaæ zarezerwowane miejsca? request(area) -user Na œrodku sali inform(area=[middle, middle]) -system Zosta³y ci przydzielone miejsca I9, I10, I11. Numer twojej rezerwacji to 123123. inform(seats=[I9, I10, I11]) AND inform(reservation_id=123123) +system Multikino 51 znajduje siÄ™ na Królowej Jadwigi 51, 61-872 PoznaÅ„ inform(location=Królowej Jadwigi 51) +user O której grajÄ… Uncharted? reqmore(time) AND inform(title=Uncharted) +system "DostÄ™pne godziny na film ""Uncharted"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time) AND impl-conf(title=Uncharted) +user Ile kosztują bilety na ten film? request(price) +system DostÄ™pne bilety to: 15zÅ‚ bilet normalny, 12zÅ‚ bilet ulgowy. inform(price) +user A w jaki dzieÅ„ bielty są taÅ„sze? reqmore(price) +system W Å›rody oferujemy dodatkowÄ… zniżkÄ™ -10% na wszystkie rodzaje biletów. inform(price) +user w takim razie chciaÅ‚bym zarezerwować dwa bilety normalne i jeden ulgowy na Å›rodÄ™ 20:00 inform(date=2022-04-04) AND inform(quantity=3) AND inform(time=20:00) +system Dobrze. W jakim rzÄ™dzie majÄ… zostać zarezerwowane miejsca? request(area) +user Na Å›rodku sali inform(area=[middle, middle]) +system ZostaÅ‚y ci przydzielone miejsca I9, I10, I11. Numer twojej rezerwacji to 123123. inform(seats=[I9, I10, I11]) AND inform(reservation_id=123123) user ok ack() diff --git a/data/dialog-17-04-02.tsv b/data/dialog-17-04-02.tsv index 00526f7..153cbb3 100644 --- a/data/dialog-17-04-02.tsv +++ b/data/dialog-17-04-02.tsv @@ -1,20 +1,20 @@ user Witam hello() -system Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg() -user Jaki jest repertuar na pi¹tek? inform(date=2022-04-01) AND reqmore(title) -system W repertuarze na pi¹tek 1 kwietnia znajduj¹ siê: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2. select(title) -user O jakich godzinach graj¹ te filmy? reqmore(time) -system Proszê podaj tytu³ filmu, który ciê interesuje. reqmore(title) +system Witamy w internetowym systemie rezerwacji Nachos, w czym mogÄ™ pomóc? welcomemsg() +user Jaki jest repertuar na piÄ…tek? inform(date=2022-04-01) AND reqmore(title) +system W repertuarze na piÄ…tek 1 kwietnia znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2. select(title) +user O jakich godzinach grajÄ… te filmy? reqmore(time) +system ProszÄ™ podaj tytuÅ‚ filmu, który ciÄ™ interesuje. reqmore(title) user Wszystkie ack() -system "Dostêpne godziny na film ""Batman"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time) -system "Dostêpne godziny na film ""To nie wypanda"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time) -system "Dostêpne godziny na film ""Inni ludzie"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time) -system "Dostêpne godziny na film ""Ambulans"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time) -system "Dostêpne godziny na film ""Uncharted"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time) -system "Dostêpne godziny na film ""Ups 2"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time) -user Czy obg³ugujecie rezerwacjê biletów grupowych? request(type) -system Na jednej rezerwacji mo¿e znajdowaæ siê do 10 miejsc. inform(type) -user Rozumiem, a jak mogê dokonaæ rezerwacji dla 20 osób? reqmore(type) -system W celu dokonania rezerwacji na wiêcej ni¿ 10 osób proszê skontaktowaæ siê z obs³ug¹ kina w celu potwierdzenia, ¿e jesteœ cz³owiekiem. Czy mam po³¹czyæ ciê z konsultantem? inform(type) +system "DostÄ™pne godziny na film ""Batman"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time) +system "DostÄ™pne godziny na film ""To nie wypanda"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time) +system "DostÄ™pne godziny na film ""Inni ludzie"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time) +system "DostÄ™pne godziny na film ""Ambulans"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time) +system "DostÄ™pne godziny na film ""Uncharted"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time) +system "DostÄ™pne godziny na film ""Ups 2"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time) +user Czy obgÅ‚ugujecie rezerwacjÄ™ biletów grupowych? request(type) +system Na jednej rezerwacji może znajdować siÄ™ do 10 miejsc. inform(type) +user Rozumiem, a jak mogÄ™ dokonać rezerwacji dla 20 osób? reqmore(type) +system W celu dokonania rezerwacji na wiÄ™cej niż 10 osób proszÄ™ skontaktować siÄ™ z obsÅ‚ugÄ… kina w celu potwierdzenia, że jesteÅ› czÅ‚owiekiem. Czy mam poÅ‚Ä…czyć ciÄ™ z konsultantem? inform(type) user Tak affirm() -system Niestety wszyscy konsultanci s¹ obecnie zajêci. W czym jeszcze mogê pomóc? canthelp() -user dziêkujê ack() +system Niestety wszyscy konsultanci sÄ… obecnie zajÄ™ci. W czym jeszcze mogÄ™ pomóc? canthelp() +user dziÄ™kujÄ™ ack() diff --git a/data/dialog-17-04-03.tsv b/data/dialog-17-04-03.tsv index 55d76ae..322fc20 100644 --- a/data/dialog-17-04-03.tsv +++ b/data/dialog-17-04-03.tsv @@ -1,5 +1,5 @@ user Witam hello() -system Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg() -user Czy w kinie Rialto graj¹ jakieœ stare filmy? reqmore(title) -system System Nachos obs³uguje nastêpuj¹ce kina: Multikino, Helios oraz Cinemacity. select(location) -user to dziêkujê thankyou() +system Witamy w internetowym systemie rezerwacji Nachos, w czym mogÄ™ pomóc? welcomemsg() +user Czy w kinie Rialto grajÄ… jakieś stare filmy? reqmore(title) +system System Nachos obsÅ‚uguje nastÄ™pujÄ…ce kina: Multikino, Helios oraz Cinemacity. select(location) +user to dziÄ™kujÄ™ thankyou() diff --git a/data/dialog-17-04-04(test).tsv b/data/dialog-17-04-04(test).tsv new file mode 100644 index 0000000..35b7049 --- /dev/null +++ b/data/dialog-17-04-04(test).tsv @@ -0,0 +1,12 @@ +user Witam hello() +systen Witamy w internetowym systemie rezerwacji Nachos, w czym mogÄ™ pomóc? welcomemsg() +user ChciaÅ‚bym zarezerować dwa bilety na Batman inform(goal=reservation) AND inform(quantity=2) AND inform(title=Batman) +systen Na jaki dzieÅ„ i godzinÄ™ miaÅ‚by być ten bilet? request(time) AND request(date) +user A kiedy jest najbliższy seans? inform(time=13:15+) +systen "Najbliższe seanse dla filmu ""Batman"" to: 13:00 oraz 15:30." select(time) +user To poproszÄ™ trzy bilety na batmana o 15:30 inform(time=15:30) AND inform(quantity=3) AND inform(title=Batman) +systen Dobrze. W jakim rzÄ™dzie majÄ… zostać zarezerwowane miejsca? request(area) +user Na samym tyle sali inform(area=[random,back]) +systen ZostaÅ‚o ci przydzielone miejsce M9, M10 oraz M11. Numer twojej rezerwacji to 123124. inform(seats=[M9,M10,M11]) AND inform(reservation_id=123124) +user DziÄ™kujÄ™ "thankyou() +" diff --git a/data/dialog-17-04-04.tsv b/data/dialog-17-04-04.tsv index 5613c78..35b7049 100644 --- a/data/dialog-17-04-04.tsv +++ b/data/dialog-17-04-04.tsv @@ -1,12 +1,12 @@ user Witam hello() -systen Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg() -user Chcia³bym zarezerowaæ dwa bilety na Batman inform(goal=reservation) AND inform(quantity=2) AND inform(title=Batman) -systen Na jaki dzieñ i godzinê mia³by byæ ten bilet? request(time) AND request(date) -user A kiedy jest najbli¿szy seans? inform(time=13:15+) -systen "Najbli¿sze seanse dla filmu ""Batman"" to: 13:00 oraz 15:30." select(time) -user To poproszê trzy bilety na batmana o 15:30 inform(time=15:30) AND inform(quantity=3) AND inform(title=Batman) -systen Dobrze. W jakim rzêdzie maj¹ zostaæ zarezerwowane miejsca? request(area) +systen Witamy w internetowym systemie rezerwacji Nachos, w czym mogÄ™ pomóc? welcomemsg() +user ChciaÅ‚bym zarezerować dwa bilety na Batman inform(goal=reservation) AND inform(quantity=2) AND inform(title=Batman) +systen Na jaki dzieÅ„ i godzinÄ™ miaÅ‚by być ten bilet? request(time) AND request(date) +user A kiedy jest najbliższy seans? inform(time=13:15+) +systen "Najbliższe seanse dla filmu ""Batman"" to: 13:00 oraz 15:30." select(time) +user To poproszÄ™ trzy bilety na batmana o 15:30 inform(time=15:30) AND inform(quantity=3) AND inform(title=Batman) +systen Dobrze. W jakim rzÄ™dzie majÄ… zostać zarezerwowane miejsca? request(area) user Na samym tyle sali inform(area=[random,back]) -systen Zosta³o ci przydzielone miejsce M9, M10 oraz M11. Numer twojej rezerwacji to 123124. inform(seats=[M9,M10,M11]) AND inform(reservation_id=123124) -user Dziêkujê "thankyou() +systen ZostaÅ‚o ci przydzielone miejsce M9, M10 oraz M11. Numer twojej rezerwacji to 123124. inform(seats=[M9,M10,M11]) AND inform(reservation_id=123124) +user DziÄ™kujÄ™ "thankyou() " diff --git a/data/dialog-17-06-01.tsv b/data/dialog-17-06-01.tsv index 452b770..eb9b861 100644 --- a/data/dialog-17-06-01.tsv +++ b/data/dialog-17-06-01.tsv @@ -1,12 +1,12 @@ user Witam hello() -system Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg() -user Czy tylko mo¿na u was rezerwowaæ Nachos ? null() -system Nasz system odpowiada za: rezerwacjê biletów kinowych oraz ewentualne pytania u¿ytkowników. canthelp -user Chcia³bym zapytaæ co u pana hello() -system Z tej strony bot Nachos, u mnie wszystko w porz¹dku. W czym mogê pomóc? welcomemsg() -user Poproszê bilet na batmana o 19:00 inform(goal=reservation) AND inform(quantity=1) AND inform(title=Batman) AND inform(date=tomorrow)AND inform(time=19:00) -system Dobrze. W jakim rzêdzie maj¹ zostaæ zarezerwowane miejsca? request(area) +system Witamy w internetowym systemie rezerwacji Nachos, w czym mogÄ™ pomóc? welcomemsg() +user Czy tylko można u was rezerwować Nachos ? null() +system Nasz system odpowiada za: rezerwacjÄ™ biletów kinowych oraz ewentualne pytania użytkowników. canthelp +user ChciaÅ‚bym zapytać co u pana hello() +system Z tej strony bot Nachos, u mnie wszystko w porzÄ…dku. W czym mogÄ™ pomóc? welcomemsg() +user PoproszÄ™ bilet na batmana o 19:00 inform(goal=reservation) AND inform(quantity=1) AND inform(title=Batman) AND inform(date=tomorrow)AND inform(time=19:00) +system Dobrze. W jakim rzÄ™dzie majÄ… zostać zarezerwowane miejsca? request(area) user bez ludzi w okolicy inform(area=[random,random]) -system Zosta³o ci przydzielone miejsce A11. Numer twojej rezerwacji to 123123. inform(reservation_id=A11) AND inform(seats=123123) +system ZostaÅ‚o ci przydzielone miejsce A11. Numer twojej rezerwacji to 123123. inform(reservation_id=A11) AND inform(seats=123123) user Czy to wszystko affirm() help -system Tak to wszystko, proszê zjawiæ siê przy okienku kasowym 15 minut przed rozpoczêciem seansu, inaczej rezerwacja przepadnie. affirm() +system Tak to wszystko, proszÄ™ zjawić siÄ™ przy okienku kasowym 15 minut przed rozpoczÄ™ciem seansu, inaczej rezerwacja przepadnie. affirm() diff --git a/data/dialog-17-08-01.tsv b/data/dialog-17-08-01.tsv index ebb37aa..5c81512 100644 --- a/data/dialog-17-08-01.tsv +++ b/data/dialog-17-08-01.tsv @@ -1,20 +1,20 @@ -user Dzieñ dobry! hello() -system Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg() -user Chcia³bym zarezerwowaæ film null() +user DzieÅ„ dobry! hello() +system Witamy w internetowym systemie rezerwacji Nachos, w czym mogÄ™ pomóc? welcomemsg() +user ChciaÅ‚bym zarezerwować film null() user Bilet na film inform(goal=reservation) -system Na jaki film ma byæ ta rezerwacja? request(title) -user Jakie filmy s¹ teraz w kinach? request(title) -system Obecnie w repertuarze znajduj¹ siê: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select(title) -user poproszê 3x bilet na ambulans inform(title=Ambulans) -system "Dostêpne godziny na film ""Ambulans"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time) -user niech bêdzie ten ostatni inform(time=20:00) -system Dobrze. W jakim rzêdzie maj¹ zostaæ zarezerwowane miejsca? request(area) +system Na jaki film ma być ta rezerwacja? request(title) +user Jakie filmy sÄ… teraz w kinach? request(title) +system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select(title) +user poproszÄ™ 3x bilet na ambulans inform(title=Ambulans) +system "DostÄ™pne godziny na film ""Ambulans"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time) +user niech bÄ™dzie ten ostatni inform(time=20:00) +system Dobrze. W jakim rzÄ™dzie majÄ… zostać zarezerwowane miejsca? request(area) user Przedostatnim inform(area=M) -system Zosta³y ci przydzielone miejsca M9, M10, M11. Numer twojej rezerwacji to 123123. inform(reservation_id=123123) AND inform(seats=[M9, M10, M11]) +system ZostaÅ‚y ci przydzielone miejsca M9, M10, M11. Numer twojej rezerwacji to 123123. inform(reservation_id=123123) AND inform(seats=[M9, M10, M11]) user Spoko ack() -user Chcia³bym jeszcze kupon na jedzenie null() -system Zapraszamy do baru, który znajduje siê za kasami biletowymi. W sk³ad oferty barowej wchodz¹: popcorn s³ony/s³odki/maœlany, oraz NachosyTM z wybranym sosem. offer() -user Poproszê s³ony popcorn null() -user Du¿y null() -system Zapraszamy do baru, który znajduje siê za kasami biletowymi.  offer() +user ChciaÅ‚bym jeszcze kupon na jedzenie null() +system Zapraszamy do baru, który znajduje siÄ™ za kasami biletowymi. W skÅ‚ad oferty barowej wchodzÄ…: popcorn sÅ‚ony/sÅ‚odki/maÅ›lany, oraz NachosyTM z wybranym sosem. offer() +user PoproszÄ™ sÅ‚ony popcorn null() +user Duży null() +system Zapraszamy do baru, który znajduje siÄ™ za kasami biletowymi.  offer() user Nara bye() diff --git a/data/dialog-17-10-01.tsv b/data/dialog-17-10-01.tsv index 185e7d2..c604cb9 100644 --- a/data/dialog-17-10-01.tsv +++ b/data/dialog-17-10-01.tsv @@ -1,18 +1,18 @@ -user Dzieñ dobry hello() -system Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg() -user Chcia³ bym zamówiæ bilet na film Minionki dzisiaj o 18.30 inform(goal=reservation) AND inform(quantity=1) AND inform(time=18:30) AND inform(title=Minionki) -system "Niestety film ""Minionki"" nie jest obecnie dostêpny. Obecnie w repertuarze znajduj¹ siê: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto." +user DzieÅ„ dobry hello() +system Witamy w internetowym systemie rezerwacji Nachos, w czym mogÄ™ pomóc? welcomemsg() +user ChciaÅ‚ bym zamówić bilet na film Minionki dzisiaj o 18.30 inform(goal=reservation) AND inform(quantity=1) AND inform(time=18:30) AND inform(title=Minionki) +system "Niestety film ""Minionki"" nie jest obecnie dostÄ™pny. Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto." user to poprosze ups 2 inform(title=ups 2) -system Na jaki dzieñ i godzinê mia³by byæ ten bilet? request(date) AND request(time) +system Na jaki dzieÅ„ i godzinÄ™ miaÅ‚by być ten bilet? request(date) AND request(time) user na dzisiaj inform(date=today() user najlepiej 18.30 inform(time=18:30) -system Dostêpne godziny to: 18:00 oraz 20:00, czy któraœ z nich jest odpowiednia? select(time) +system DostÄ™pne godziny to: 18:00 oraz 20:00, czy któraÅ› z nich jest odpowiednia? select(time) user poprosze 18 inform(time=18:00) -system Dobrze. W jakim rzêdzie ma zostaæ dokonana rezerwacja? request(area) -user jakie s¹ dostêpne miejsca? request(seats) -system Dostêpne miejsca to: A1, A2, A3, B11,B12, F13, M1, M2, M3, M4 oraz M5. select(seats) -user które miejsca s¹ daleko od ekranu? reqmore(area) -system Najdalej od ekranu znajduje siê rz¹d M. inform(area) -user w takim razie poproszê M5 inform(seats=M5) -system Zosta³o ci przydzielone miejsce M5. Numer twojej rezerwacji to 123123. expl-conf(seats=M5) AND inform(reservation_id=123123) +system Dobrze. W jakim rzÄ™dzie ma zostać dokonana rezerwacja? request(area) +user jakie sÄ… dostÄ™pne miejsca? request(seats) +system DostÄ™pne miejsca to: A1, A2, A3, B11,B12, F13, M1, M2, M3, M4 oraz M5. select(seats) +user które miejsca sÄ… daleko od ekranu? reqmore(area) +system Najdalej od ekranu znajduje siÄ™ rzÄ…d M. inform(area) +user w takim razie poproszÄ™ M5 inform(seats=M5) +system ZostaÅ‚o ci przydzielone miejsce M5. Numer twojej rezerwacji to 123123. expl-conf(seats=M5) AND inform(reservation_id=123123) user dziekuje thankyou() diff --git a/data/dialog-17-12-01.tsv b/data/dialog-17-12-01.tsv index 116b951..b45aec9 100644 --- a/data/dialog-17-12-01.tsv +++ b/data/dialog-17-12-01.tsv @@ -1,4 +1,4 @@ -user Dzieñ dobry hello() +user Dzieñ dobry hello() system Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg() user Jakie us³ugi oferujecie? help() system Nasz system odpowiada za: rezerwacjê biletów kinowych oraz odpowiedzi na ewentualne pytania u¿ytkowników. select(goal) diff --git a/data/dialog-17-14-01.tsv b/data/dialog-17-14-01.tsv index 81e856a..24789b3 100644 --- a/data/dialog-17-14-01.tsv +++ b/data/dialog-17-14-01.tsv @@ -1,17 +1,17 @@ -user Czeœæ hello() -system Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg() -user Co mogê zarezerwowaæ? reqmore(reservation) -system Nasz system odpowiada za: rezerwacjê biletów kinowych oraz odpowiedzi na ewentualne pytania u¿ytkowników. select(goal) -user Gdzie znajduje siê kino? request(location) -system Na podstawie twojej lokalizacji przydzieliliœmy ci: Multikino 51. Czy chcesz je zmieniæ. inform(location=Multikino 51) -user Tak, chcia³bym iœæ do multikina na Malcie inform(location=Malta) -system "Twoje kino zosta³o zmienione na ""Multikino Malta"". Czy mogê pomóc w czymœ jeszcze?" Expl-conf(location=Malta) -user Super, teraz chcia³bym zarezerwowaæ bilet na film inform(goal=reservation) -system Obecnie w repertuarze znajduj¹ siê: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. Na jaki film mam zarezerwowaæ bilet? select(title) +user Cześć hello() +system Witamy w internetowym systemie rezerwacji Nachos, w czym mogÄ™ pomóc? welcomemsg() +user Co mogÄ™ zarezerwować? reqmore(reservation) +system Nasz system odpowiada za: rezerwacjÄ™ biletów kinowych oraz odpowiedzi na ewentualne pytania użytkowników. select(goal) +user Gdzie znajduje siÄ™ kino? request(location) +system Na podstawie twojej lokalizacji przydzieliliÅ›my ci: Multikino 51. Czy chcesz je zmienić. inform(location=Multikino 51) +user Tak, chciaÅ‚bym iść do multikina na Malcie inform(location=Malta) +system "Twoje kino zostaÅ‚o zmienione na ""Multikino Malta"". Czy mogÄ™ pomóc w czymÅ› jeszcze?" Expl-conf(location=Malta) +user Super, teraz chciaÅ‚bym zarezerwować bilet na film inform(goal=reservation) +system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. Na jaki film mam zarezerwować bilet? select(title) user Uncharted inform(title=Uncharted) -system "Dostêpne godziny na film ""Uncharted"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time) +system "DostÄ™pne godziny na film ""Uncharted"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time) user wybieram godzine 12:00 inform(time=12:00) -system Dobrze. W jakim rzêdzie maj¹ zostaæ zarezerwowane miejsca i ile miejsc zarezerwowaæ? request(area) AND request(quantity) -user 1 miejsce, gdzieœ na œrodku sali inform(quantity=1) AND inform(area=middle) -system Zosta³o ci przydzielone miejsce J11. Numer twojej rezerwacji to 123123. inform(seats=J11) and inform(reservation_id=123123) +system Dobrze. W jakim rzÄ™dzie majÄ… zostać zarezerwowane miejsca i ile miejsc zarezerwować? request(area) AND request(quantity) +user 1 miejsce, gdzieÅ› na Å›rodku sali inform(quantity=1) AND inform(area=middle) +system ZostaÅ‚o ci przydzielone miejsce J11. Numer twojej rezerwacji to 123123. inform(seats=J11) and inform(reservation_id=123123) user Pasuje ack() diff --git a/data/dialog-17-18-01.tsv b/data/dialog-17-18-01.tsv index ca83e09..4c5300f 100644 --- a/data/dialog-17-18-01.tsv +++ b/data/dialog-17-18-01.tsv @@ -1,27 +1,27 @@ user Elo help() -system Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg() -user Chcia³abym zarezerwowaæ bilet inform(goal=reservation) AND inform(quantity=1) -system Dobrze. Na jaki film ma byæ ta rezerwacja? request(title) +system Witamy w internetowym systemie rezerwacji Nachos, w czym mogÄ™ pomóc? welcomemsg() +user ChciaÅ‚abym zarezerwować bilet inform(goal=reservation) AND inform(quantity=1) +system Dobrze. Na jaki film ma być ta rezerwacja? request(title) user Co gracie request(title) -system Obecnie w repertuarze znajduj¹ siê: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select(title) -user Ja bym chcia³a na Fantsaczne zwierzta inform(title=Fantastyczne zwierzêta: tajemnice dumbledorea) -system Na jaki dzieñ i godzinê mia³by byæ ten bilet? request(date) and request(time) +system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select(title) +user Ja bym chciaÅ‚a na Fantsaczne zwierzta inform(title=Fantastyczne zwierzÄ™ta: tajemnice dumbledorea) +system Na jaki dzieÅ„ i godzinÄ™ miaÅ‚by być ten bilet? request(date) and request(time) user 29.03.2022 inform(date=2022.03.29) -user Jakoœ wieczorkiem inform(time=18:00+) -system "Dostêpne godziny na film ""Fantastyczne zwierzêta: tajemnice dumbledorea"" to: 17:30 oraz 20:00" expl-conf(title=Fantastyczne zwierzêta: tajemnice dumbledorea) AND select(time) +user JakoÅ› wieczorkiem inform(time=18:00+) +system "DostÄ™pne godziny na film ""Fantastyczne zwierzÄ™ta: tajemnice dumbledorea"" to: 17:30 oraz 20:00" expl-conf(title=Fantastyczne zwierzÄ™ta: tajemnice dumbledorea) AND select(time) user To na 21 prosze inform(time=21:00) -system Godzina 21:00 nie jest dostêpna. Filmy puszczane s¹ o 17:30 oraz 20:00. select(time) -user To na 18 proszê inform(time=18:00) -system Dobrze. Jakie miejsca zarezerwowaæ? request(area) +system Godzina 21:00 nie jest dostÄ™pna. Filmy puszczane sÄ… o 17:30 oraz 20:00. select(time) +user To na 18 proszÄ™ inform(time=18:00) +system Dobrze. Jakie miejsca zarezerwować? request(area) user Najlepsze inform(area=[random,random]) -system Zosta³y ci przydzielone miejsca I9, I10. Numer twojej rezerwacji to 123123. inform(seats=[I9,I10]) AND inform(reservation_id=123123) -user Moment no ile tych miejsc i czemu nie s¹ w tym samym rzêdzie reqmore(quantity) -user proszê z managerem null() -system Ile biletów powinno znaleŸæ siê w rezerwacji? request(quantity) -user Jeden dla mnie i dla kotka proszê inform(quantity=2) -system Zosta³y ci przydzielone miejsca I9, I10. Numer twojej rezerwacji to 123123. inform(seats=[I9,I10]) AND inform(reservation_id=123123) -user Dobra, to blikiem proszê null() -system System obs³uguje jedynie rezerwacjê biletów. W uiszczenia op³aty proszê byæ 15 minut przed seansem w kinie, inaczej rezerwacja przepada. Dziêkujê. bye() +system ZostaÅ‚y ci przydzielone miejsca I9, I10. Numer twojej rezerwacji to 123123. inform(seats=[I9,I10]) AND inform(reservation_id=123123) +user Moment no ile tych miejsc i czemu nie sÄ… w tym samym rzÄ™dzie reqmore(quantity) +user proszÄ™ z managerem null() +system Ile biletów powinno znaleźć siÄ™ w rezerwacji? request(quantity) +user Jeden dla mnie i dla kotka proszÄ™ inform(quantity=2) +system ZostaÅ‚y ci przydzielone miejsca I9, I10. Numer twojej rezerwacji to 123123. inform(seats=[I9,I10]) AND inform(reservation_id=123123) +user Dobra, to blikiem proszÄ™ null() +system System obsÅ‚uguje jedynie rezerwacjÄ™ biletów. W uiszczenia opÅ‚aty proszÄ™ być 15 minut przed seansem w kinie, inaczej rezerwacja przepada. DziÄ™kujÄ™. bye() user Halo halo null() -user nie skoñczy³am null() +user nie skoÅ„czyÅ‚am null() user Ehhh null() diff --git a/data/dialog-17-18-02.tsv b/data/dialog-17-18-02.tsv index 324a4a9..5afdffd 100644 --- a/data/dialog-17-18-02.tsv +++ b/data/dialog-17-18-02.tsv @@ -1,15 +1,15 @@ -user DZIEÑ DOBRY hello() -system Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg() -user No w³aœnie. W czym mo¿esz pomóc? help() -system Nasz system odpowiada za: rezerwacjê biletów kinowych oraz odpowiedzi na ewentualne pytania u¿ytkowników. inform(goal) +user DZIEŃ DOBRY hello() +system Witamy w internetowym systemie rezerwacji Nachos, w czym mogÄ™ pomóc? welcomemsg() +user No wÅ‚aÅ›nie. W czym możesz pomóc? help() +system Nasz system odpowiada za: rezerwacjÄ™ biletów kinowych oraz odpowiedzi na ewentualne pytania użytkowników. inform(goal) user A jedzonko macie? reqmore() -system W sk³ad oferty barowej wchodz¹: popcorn s³ony/s³odki/maœlany, oraz NachosyTM z wybranym sosem. offer() -user Nachosy proszê reqmore() -system Zapraszamy do baru, który znajduje siê za kasami biletowymi. offer() -user A jakie sosy do Nachosów? reqmore() -system Do NachosyTM mo¿na wybraæ nastêpuj¹ce sosy: BBQ, keczupowy, czosnkowy, ostry. offer() -user Chcia³abym anulowaæ rezerwacjê inform(goal=cancel) -system Dobrze, proszê o podanie numeru rezerwacji. request(reservation_id) +system W skÅ‚ad oferty barowej wchodzÄ…: popcorn sÅ‚ony/sÅ‚odki/maÅ›lany, oraz NachosyTM z wybranym sosem. offer() +user Nachosy proszÄ™ reqmore() +system Zapraszamy do baru, który znajduje siÄ™ za kasami biletowymi. offer() +user A jakie sosy do Nachosów? reqmore() +system Do NachosyTM można wybrać nastÄ™pujÄ…ce sosy: BBQ, keczupowy, czosnkowy, ostry. offer() +user ChciaÅ‚abym anulować rezerwacjÄ™ inform(goal=cancel) +system Dobrze, proszÄ™ o podanie numeru rezerwacji. request(reservation_id) user 123123 inform(reservation_id=123123) -system "Rezerwacja o numerze ""123123"" zosta³a anulowana. " affirm() -user Dziêki <3 thankyou() +system "Rezerwacja o numerze ""123123"" zostaÅ‚a anulowana. " affirm() +user DziÄ™ki <3 thankyou() diff --git a/data/dialog-17-18-03.tsv b/data/dialog-17-18-03.tsv index 4e14d6a..23b019a 100644 --- a/data/dialog-17-18-03.tsv +++ b/data/dialog-17-18-03.tsv @@ -1,7 +1,7 @@ -user Dzieñ dobry hello() -system Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg() -user Chcia³abym zmieniæ rezerwacjê inform(goal=cancel) -system Proszê podaæ numer rezerwacji request(reservation_id) +user DzieÅ„ dobry hello() +system Witamy w internetowym systemie rezerwacji Nachos, w czym mogÄ™ pomóc? welcomemsg() +user ChciaÅ‚abym zmienić rezerwacjÄ™ inform(goal=cancel) +system ProszÄ™ podać numer rezerwacji request(reservation_id) user 123123 inform(reservation_id=123123) -system "Rezerwacja o numerze ""123123"" nie znajduje siê w systemie. Upewnij siê, ze jest to poprawny numer." canthelp.missing_slot_value -user Upewniam siê ack() +system "Rezerwacja o numerze ""123123"" nie znajduje siÄ™ w systemie. Upewnij siÄ™, ze jest to poprawny numer." canthelp.missing_slot_value +user Upewniam siÄ™ ack() diff --git a/data/dialog-18-09-01(test).tsv b/data/dialog-18-09-01(test).tsv new file mode 100644 index 0000000..596831f --- /dev/null +++ b/data/dialog-18-09-01(test).tsv @@ -0,0 +1,22 @@ +user Hej hello() +system Witam w systemie kinowym Nachos. Jak mogÄ™ ci pomóc? welcomemsg() & request(goal) +user ChciaÅ‚bym kupić bilety na seans Zorro - jak to byÅ‚o na prawdÄ™ inform(title=Zorro - jak to byÅ‚o na prawdÄ™) & inform(goal=reservation) +system Film nie znajduje siÄ™ w repertuarze. Podaj inny tytuÅ‚. canthelp() & request(title) +user Zorro2 inform(title=Zorro2) +system Film nie znajduje siÄ™ w repertuarze. Podaj inny tytuÅ‚. canthelp() & request(title) +user PoproszÄ™ o listÄ™ seansów reqmore(title) +system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select(title) +user PoproszÄ™ o listÄ™ filmów granych jutro wieczorem reqmore(title) & inform(date=2022-03-24) +system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select(title) +user ChciaÅ‚bym kupić bilety na film To nie wypanda inform(title=To nie wypanda) +system Jutro wieczorem dostÄ™pne godziny to: 18:30, 20:15. select(time) +user 20:15 inform(time=20:15) +system Jaka ilość biletów ciebie interesuje? request(quantity) +user 11 inform(quantity=11) +system Gdzie chciaÅ‚byÅ› usiąść? request(area) +user W Å›rodku, pomiedzy górnym i Å›rodkowym rzÄ™dzie null() +system Czy możesz powtórzyć? repeat() +user W Å›rodku, pomiedzy górnym i Å›rodkowym rzÄ™dem inform(area=[back, middle]) +system ZostaÅ‚y ci przydzielone miejsca G3, G4, G5, G6, G7, G8, G9, G10, G11, G12, G13. Numer twojej rezerwacji to 04293. inform(seats=[g3, g4, g5, g6, g7, g8, g9, g10, g11, g12, g13]) & inform(reservation_id=04293) +user <3 thankyou() +system DziÄ™kujemy za skorzystanie z usÅ‚ug systemu kinowego Nachos. MiÅ‚ego dnia. bye() \ No newline at end of file diff --git a/data/dialog-18-11-01.tsv b/data/dialog-18-11-01.tsv index 23279f4..b2b0f21 100644 --- a/data/dialog-18-11-01.tsv +++ b/data/dialog-18-11-01.tsv @@ -17,10 +17,10 @@ system Jaki termin ciÄ™ interesuje? request(date) user 22.03.2022 inform(date=2022-03-22) system Wybrana data jest z przeszÅ‚oÅ›ci. ProszÄ™ o podanie poprawnego terminu. repeat() user Jutro, po godzinie 16:00 inform(date=2022-03-24) -system DostÄ™pne godziny to: 17:45, 20:30. select(time) +system DostÄ™pne godziny to: 17:45, 20:30. select(time) user Jaki jutro jest dzieÅ„ tygodnia? request(date) system Jutro jest czwartek, 24.03.2022. inform(date=2022-03-24) -user To poproszÄ™ o rezerwacjÄ™ na 17L45 null() +user To poproszÄ™ o rezerwacjÄ™ na 17L45 null() system ProszÄ™ o powtórzenie terminu rezerwacji. repeat() user 17:45 inform(time=17:45) system Gdzie chciaÅ‚byÅ› usiąść? request(area) @@ -29,4 +29,4 @@ system ZostaÅ‚o ci przydzielone miejsce L8. Numer twojej rezerwacji to 35263. in user W jakiej części rzÄ™du znajduje siÄ™ to miejsce? request(area) system Miejsce L8 znajduje siÄ™ w Å›rodkowej części przedostatniego rzÄ™du. inform(area=[back, middle]) user DziÄ™kujÄ™ thankyou() -system DziÄ™kujemy za skorzystanie z usÅ‚ug systemu kinowego Nachos. MiÅ‚ego dnia. bye() \ No newline at end of file +system DziÄ™kujemy za skorzystanie z usÅ‚ug systemu kinowego Nachos. MiÅ‚ego dnia. bye() diff --git a/data/dialog-19-10-01(test).tsv b/data/dialog-19-10-01(test).tsv new file mode 100644 index 0000000..b2df5aa --- /dev/null +++ b/data/dialog-19-10-01(test).tsv @@ -0,0 +1,17 @@ +user DzieÅ„ dobry hello() +system Witam w systemie kinowym Nachos. Jak mogÄ™ ci pomóc? welcomemsg() +user ChciaÅ‚ bym zamówić bilet na film Minionki dzisiaj o 18.30 inform(goal=reservation) AND inform(title=Minionki) AND inform(time=18:30) +system DziÅ› nie gramy filmu 'Minionki' o godzinie 18:30 negate(title=Minionki) AND negate(time=18:30) +user czy jest jakis film o godzinie 18:30? request(time=18:30) +system Najbliższy film jest o godzinie 18:40 18:40 Matki równolegÅ‚e offer(title=Matki równolegÅ‚e) AND offer(time=18:40) +user niech bÄ™dzie ack() +system Ile biletów? request(quantity) +user 1 inform(quantity=1) +system Normalny czy ulgowy ? canthelp() +user jakie sÅ¡ dostÄ™pne ulgi? null() +system Studencka, serniorska, i pracownik kina offer(tickets_type) +user studencka inform(tickets_type=[reduced, 1]) +system Dobrze, jakie miejsce Pana interesuje request(area) +user daleko od ekranu inform(area=back) +system Dobrze, miejsca Pana to L40. Czy zgadza siÄ™ Pan z wyborem miejsca? inform(seats=L40) AND affirm(seats=L40) +user tak ack() diff --git a/lab/06-architektura-systemu-dialogowego.ipynb b/lab/06-architektura-systemu-dialogowego.ipynb new file mode 100644 index 0000000..85fa341 --- /dev/null +++ b/lab/06-architektura-systemu-dialogowego.ipynb @@ -0,0 +1,120 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n", + "
\n", + "

Systemy Dialogowe

\n", + "

6. Architektura systemu dialogowego ukierunkowanego na wykonanie zadania [laboratoria]

\n", + "

Marek Kubis (2021)

\n", + "
\n", + "\n", + "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Architektura systemu dialogowego ukierunkowanego na wykonanie zadania\n", + "=====================================================================\n", + "\n", + "Podstawowe komponenty systemu dialogowego\n", + "-----------------------------------------\n", + "\n", + "\n", + "\n", + "### System rozpoznawania mowy\n", + "\n", + "**Nazwa ang.:** Automatic Speech Recognition (ASR) lub Speech To Text (STT).\n", + "\n", + "**Opis:** Modu\u0142 odpowiedzialny za zamian\u0119 mowy na tekst.\n", + "\n", + "**Wej\u015bcie:** Sygna\u0142 audio\n", + "\n", + "**Wyj\u015bcie:** Tekst\n", + "\n", + "### Analizator j\u0119zyka naturalnego\n", + "**Nazwa ang.:** Natural Language Understanding (NLU).\n", + "\n", + "**Opis:** Modu\u0142 odpowiedzialny za analiz\u0119 tekstu.\n", + "W wyniku jego dzia\u0142ania tekstowa reprezentacja wypowiedzi u\u017cytkownika zostaje zamieniona na jej\n", + "reprezentacj\u0119 semantyczn\u0105, najcz\u0119\u015bciej w postaci *ramy*.\n", + "\n", + "**Wej\u015bcie:** Tekst\n", + "\n", + "**Wyj\u015bcie:** Akt u\u017cytkownika (rama)\n", + "\n", + "### Monitor Stanu Dialogu\n", + "**Nazwa ang.:** Dialogue State Tracker (DST).\n", + "\n", + "**Opis:** Modu\u0142 odpowiedzialny za \u015bledzenie stanu dialogu.\n", + "Przechowuje informacje o tym jakie dane zosta\u0142y uzyskane od u\u017cytkownika w toku prowadzonej\n", + "konwersacji.\n", + "\n", + "**Wej\u015bcie:** Akt u\u017cytkownika (rama)\n", + "\n", + "**Wyj\u015bcie:** Reprezentacja stanu dialogu (rama)\n", + "\n", + "### Taktyka Dialogu\n", + "**Nazwa ang.:** Dialogue Policy\n", + "\n", + "**Opis:** Modu\u0142 decyduj\u0105cy o wyborze kolejnego aktu, kt\u00f3ry ma podj\u0105\u0107 system prowadz\u0105c rozmow\u0119.\n", + "\n", + "**Wej\u015bcie:** Reprezentacja stanu dialogu (rama)\n", + "\n", + "**Wyj\u015bcie:** Akt systemu (rama)\n", + "\n", + "### Generator j\u0119zyka naturalnego\n", + "**Nazwa ang.:** Natural Language Generation (NLG)\n", + "\n", + "**Opis:** Modu\u0142, kt\u00f3ry tworzy reprezentacj\u0119 tekstow\u0105 aktu systemowego wybranego przez taktyk\u0119 dialogu.\n", + "\n", + "**Wej\u015bcie:** Akt systemu (rama)\n", + "\n", + "**Wyj\u015bcie:** Tekst\n", + "\n", + "### System syntezy mowy\n", + "**Nazwa ang.:** Text To Speech (TTS)\n", + "\n", + "**Opis:** Modu\u0142 odpowiedzialny za zamian\u0119 tekstu na mow\u0119.\n", + "\n", + "**Wej\u015bcie:** Tekst\n", + "\n", + "**Wyj\u015bcie:** Sygna\u0142 audio\n", + "\n", + "Zadanie\n", + "-------\n", + "Zaimplementowa\u0107 makiety dla analizatora j\u0119zyka naturalnego, monitora stanu dialogu, taktyki\n", + "dialogowej oraz generatora j\u0119zyka naturalnego.\n", + "\n", + "Makiety powinny realizowa\u0107 scenariusz, w kt\u00f3rym u\u017cytkownik pyta agenta o to jak ma na imi\u0119.\n", + "\n", + "### Przyk\u0142ad\n", + "```\n", + "user: Cze\u015b\u0107, jak masz na imi\u0119?\n", + "system: Witaj, nazywam si\u0119 Dia.\n", + "```" + ] + } + ], + "metadata": { + "jupytext": { + "cell_metadata_filter": "-all", + "main_language": "python", + "notebook_metadata_filter": "-all" + }, + "author": "Marek Kubis", + "email": "mkubis@amu.edu.pl", + "lang": "pl", + "subtitle": "6.Architektura systemu dialogowego ukierunkowanego na wykonanie zadania[laboratoria]", + "title": "Systemy Dialogowe", + "year": "2021" + }, + "nbformat": 4, + "nbformat_minor": 4 +} \ No newline at end of file diff --git a/lab/07-parsing-semantyczny-gramatyki.ipynb b/lab/07-parsing-semantyczny-gramatyki.ipynb new file mode 100644 index 0000000..4bd4686 --- /dev/null +++ b/lab/07-parsing-semantyczny-gramatyki.ipynb @@ -0,0 +1,228 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n", + "
\n", + "

Systemy Dialogowe

\n", + "

7. Parsing semantyczny z wykorzystaniem gramatyk [laboratoria]

\n", + "

Marek Kubis (2021)

\n", + "
\n", + "\n", + "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Parsing semantyczny z wykorzystaniem gramatyk\n", + "=============================================\n", + "\n", + "Warto\u015bci slot\u00f3w mo\u017cemy wydobywa\u0107 z wypowiedzi u\u017cytkownika korzystaj\u0105c z takich technik, jak:\n", + "\n", + " - wyszukiwanie s\u0142\u00f3w kluczowych w tek\u015bcie,\n", + "\n", + " - dopasowywanie wzorc\u00f3w zbudowanych przy u\u017cyciu wyra\u017ce\u0144 regularnych,\n", + "\n", + " - parsery regu\u0142owe (temat dzisiejszych zaj\u0119\u0107),\n", + "\n", + " - uczenie maszynowe (temat kolejnych zaj\u0119\u0107)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Przyk\u0142ady parser\u00f3w regu\u0142owych\n", + "-----------------------------\n", + "\n", + " - [Phoenix](http://wiki.speech.cs.cmu.edu/olympus/index.php/Phoenix_Server) \u2014 parser gramatyk\n", + " bezkontekstowych whodz\u0105cy w sk\u0142ad systemu dialogowego [Olympus](http://wiki.speech.cs.cmu.edu/olympus/index.php/Olympus)\n", + "\n", + " - Parsery [DCG](https://www.swi-prolog.org/pldoc/man?section=DCG) (Definite Clause Grammars) j\u0119zyka [Prolog](https://www.swi-prolog.org/)\n", + "\n", + " - [JSpeech Grammar Format](https://www.w3.org/TR/jsgf/) (JSGF)\n", + "\n", + "Przyk\u0142ad\n", + "--------\n", + "Zapiszmy w JSGF gramatyk\u0119 semantyczn\u0105 dla aktu dialogowego reprezentuj\u0105cego zamiar rezerwacji\n", + "stolika w restauracji." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%%writefile book.jsgf\n", + "#JSGF V1.0 UTF-8 pl;\n", + "\n", + "grammar book;\n", + "\n", + "public = chcia\u0142bym zarezerwowa\u0107 stolik ;\n", + "\n", + " = na {day};\n", + "\n", + " = dzisiaj | jutro | poniedzia\u0142ek | wtorek | \u015brod\u0119 | czwartek | pi\u0105tek | sobot\u0119 | niedziel\u0119;\n", + "\n", + " = na [godzin\u0119] {hour};\n", + "\n", + " = [];\n", + "\n", + " = dziewi\u0105t\u0105 | dziesi\u0105t\u0105 | jedenast\u0105 | dwunast\u0105;\n", + "\n", + " = pietna\u015bcie | trzydzie\u015bci;\n", + "\n", + " = (na | dla) {size} os\u00f3b;\n", + "\n", + " = dwie | dw\u00f3ch | trzy | trzech | cztery | czterech | pi\u0119\u0107 | pieciu;\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Parser akceptuj\u0105cy powy\u017csz\u0105 gramatyk\u0119 utworzymy korzystaj\u0105c z biblioteki [pyjsgf](https://github.com/Danesprite/pyjsgf)." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "import jsgf\n", + "\n", + "book_grammar = jsgf.parse_grammar_file('book.jsgf')\n", + "book_grammar" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Wykorzystajmy gramatyk\u0119 `book.jsgf` do analizy nast\u0119puj\u0105cej wypowiedzi" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "utterance = 'chcia\u0142bym zarezerwowa\u0107 stolik na jutro na godzin\u0119 dwunast\u0105 trzydzie\u015bci na pi\u0119\u0107 os\u00f3b'\n", + "matched = book_grammar.find_matching_rules(utterance)\n", + "matched" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Reprezentacj\u0119 znaczenia mo\u017cna wydoby\u0107 ze sparsowanej wypowiedzi na wiele sposob\u00f3w. My do\n", + "wydobywania slot\u00f3w wykorzystamy mechanizm tag\u00f3w JSGF a za nazw\u0119 aktu dialogowego przyjmiemy nazw\u0119\n", + "gramatyki. Wzoruj\u0105c si\u0119 na [DSTC2](https://github.com/matthen/dstc) wynikow\u0105 ram\u0119 zapiszemy korzystaj\u0105c ze s\u0142ownika o polach `act` i `slots`." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def get_dialog_act(rule):\n", + " slots = []\n", + " get_slots(rule.expansion, slots)\n", + " return {'act': rule.grammar.name, 'slots': slots}\n", + "\n", + "def get_slots(expansion, slots):\n", + " if expansion.tag != '':\n", + " slots.append((expansion.tag, expansion.current_match))\n", + " return\n", + "\n", + " for child in expansion.children:\n", + " get_slots(child, slots)\n", + "\n", + " if not expansion.children and isinstance(expansion, jsgf.NamedRuleRef):\n", + " get_slots(expansion.referenced_rule.expansion, slots)\n", + "\n", + "get_dialog_act(matched[0])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "\u0141\u0105cz\u0105c powy\u017csze funkcje mo\u017cemy zbudowa\u0107 prosty modu\u0142 NLU." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "def nlu(utterance):\n", + " matched = book_grammar.find_matching_rules(utterance)\n", + "\n", + " if matched:\n", + " return get_dialog_act(matched[0])\n", + " else:\n", + " return {'act': 'null', 'slots': []}\n", + "\n", + "nlu('chcia\u0142bym zarezerwowa\u0107 stolik na jutro na godzin\u0119 dziesi\u0105t\u0105 dla trzech os\u00f3b')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Problemy\n", + "--------\n", + "\n", + " - Co z normalizacj\u0105 wyra\u017ce\u0144 liczbowych takich, jak godziny, daty czy numery telefon\u00f3w?\n", + "\n", + " - Co w przypadku gdy wi\u0119cej ni\u017c jedna regu\u0142a zostanie dopasowana?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Zadanie\n", + "-------\n", + "Zaimplementowa\u0107 analizator j\u0119zyka naturalnego (NLU) na potrzeby realizowanego agenta dialogowego.\n", + "\n", + "Modu\u0142 powinien by\u0107 zbudowany z wykorzystaniem parsingu regu\u0142owego i/lub technik uczenia maszynowego.\n", + "\n", + "Przygotowa\u0107 skrypt `evaluate.py` wyznaczaj\u0105cy *dok\u0142adno\u015b\u0107* (ang. accuracy) analizatora wzgl\u0119dem zgromadzonego korpusu eksperymentalnego,\n", + "tj. stosunek liczby wypowiedzi u\u017cytkownika, w kt\u00f3rych akty dialogowe zosta\u0142y rozpoznane prawid\u0142owo do liczby wszystkich wypowiedzi u\u017cytkownika w korpusie.\n", + "\n", + "Analizator j\u0119zyka naturalnego umie\u015bci\u0107 w ga\u0142\u0119zi `master` repozytorium projektowego. Skrypt `evaluate.py` umie\u015bci\u0107 w katalogu g\u0142\u00f3wnym tej ga\u0142\u0119zi.\n", + "\n", + "Termin: 4.05.2022, godz. 23:59." + ] + } + ], + "metadata": { + "jupytext": { + "cell_metadata_filter": "-all", + "main_language": "python", + "notebook_metadata_filter": "-all" + }, + "author": "Marek Kubis", + "email": "mkubis@amu.edu.pl", + "lang": "pl", + "subtitle": "7.Parsing semantyczny z wykorzystaniem gramatyk[laboratoria]", + "title": "Systemy Dialogowe", + "year": "2021" + }, + "nbformat": 4, + "nbformat_minor": 4 +} \ No newline at end of file diff --git a/lab/08-parsing-semantyczny-uczenie(zmodyfikowany).ipynb b/lab/08-parsing-semantyczny-uczenie(zmodyfikowany).ipynb new file mode 100644 index 0000000..d186b33 --- /dev/null +++ b/lab/08-parsing-semantyczny-uczenie(zmodyfikowany).ipynb @@ -0,0 +1,895 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "collapsed": false + }, + "source": [ + "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n", + "
\n", + "

Systemy Dialogowe

\n", + "

8. Parsing semantyczny z wykorzystaniem technik uczenia maszynowego [laboratoria]

\n", + "

Marek Kubis (2021)

\n", + "
\n", + "\n", + "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Parsing semantyczny z wykorzystaniem technik uczenia maszynowego\n", + "================================================================\n", + "\n", + "Wprowadzenie\n", + "------------\n", + "Problem wykrywania slotów i ich wartości w wypowiedziach użytkownika można sformułować jako zadanie\n", + "polegające na przewidywaniu dla poszczególnych słów etykiet wskazujących na to czy i do jakiego\n", + "slotu dane słowo należy.\n", + "\n", + "> chciałbym zarezerwować stolik na jutro**/day** na godzinę dwunastą**/hour** czterdzieści**/hour** pięć**/hour** na pięć**/size** osób\n", + "\n", + "Granice slotów oznacza się korzystając z wybranego schematu etykietowania.\n", + "\n", + "### Schemat IOB\n", + "\n", + "| Prefix | Znaczenie |\n", + "|:------:|:---------------------------|\n", + "| I | wnętrze slotu (inside) |\n", + "| O | poza slotem (outside) |\n", + "| B | początek slotu (beginning) |\n", + "\n", + "> chciałbym zarezerwować stolik na jutro**/B-day** na godzinę dwunastą**/B-hour** czterdzieści**/I-hour** pięć**/I-hour** na pięć**/B-size** osób\n", + "\n", + "### Schemat IOBES\n", + "\n", + "| Prefix | Znaczenie |\n", + "|:------:|:---------------------------|\n", + "| I | wnętrze slotu (inside) |\n", + "| O | poza slotem (outside) |\n", + "| B | początek slotu (beginning) |\n", + "| E | koniec slotu (ending) |\n", + "| S | pojedyncze słowo (single) |\n", + "\n", + "> chciałbym zarezerwować stolik na jutro**/S-day** na godzinę dwunastą**/B-hour** czterdzieści**/I-hour** pięć**/E-hour** na pięć**/S-size** osób\n", + "\n", + "Jeżeli dla tak sformułowanego zadania przygotujemy zbiór danych\n", + "złożony z wypowiedzi użytkownika z oznaczonymi slotami (tzw. *zbiór uczący*),\n", + "to możemy zastosować techniki (nadzorowanego) uczenia maszynowego w celu zbudowania modelu\n", + "annotującego wypowiedzi użytkownika etykietami slotów.\n", + "\n", + "Do zbudowania takiego modelu można wykorzystać między innymi:\n", + "\n", + " 1. warunkowe pola losowe (Lafferty i in.; 2001),\n", + "\n", + " 2. rekurencyjne sieci neuronowe, np. sieci LSTM (Hochreiter i Schmidhuber; 1997),\n", + "\n", + " 3. transformery (Vaswani i in., 2017).\n", + "\n", + "Przykład\n", + "--------\n", + "Skorzystamy ze zbioru danych przygotowanego przez Schustera (2019)." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Zbiór ten gromadzi wypowiedzi w trzech językach opisane slotami dla dwunastu ram należących do trzech dziedzin `Alarm`, `Reminder` oraz `Weather`. Dane wczytamy korzystając z biblioteki [conllu](https://pypi.org/project/conllu/)." + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "# text: halo\t\t\t\n", + "\n", + "# intent: hello\t\t\t\n", + "\n", + "# slots: \t\t\t\n", + "\n", + "1\thalo\thello\tNoLabel\n", + "\n", + "\t\t\t\n", + "\n", + "# text: chaciałbym pójść na premierę filmu jakie premiery są w tym tygodniu\t\t\t\n", + "\n", + "# intent: reqmore\t\t\t\n", + "\n", + "# slots: \t\t\t\n", + "\n", + "1\tchaciałbym\treqmore\tNoLabel\n", + "\n", + "2\tpójść\treqmore\tNoLabel\n", + "\n", + "3\tna\treqmore\tNoLabel\n", + "\n", + "4\tpremierę\treqmore\tNoLabel\n", + "\n", + "5\tfilmu\treqmore\tNoLabel\n", + "\n", + "6\tjakie\treqmore\tB-goal\n", + "\n", + "7\tpremiery\treqmore\tI-goal\n", + "\n" + ] + } + ], + "source": [ + "from conllu import parse_incr\n", + "fields = ['id', 'form', 'frame', 'slot']\n", + "\n", + "def nolabel2o(line, i):\n", + " return 'O' if line[i] == 'NoLabel' else line[i]\n", + "# pathTrain = '../tasks/zad8/en/train-en.conllu'\n", + "# pathTest = '../tasks/zad8/en/test-en.conllu'\n", + "\n", + "pathTrain = '../tasks/zad8/pl/train.conllu'\n", + "pathTest = '../tasks/zad8/pl/test.conllu'\n", + "\n", + "with open(pathTrain, encoding=\"UTF-8\") as trainfile:\n", + " i=0\n", + " for line in trainfile:\n", + " print(line)\n", + " i+=1\n", + " if i==15: break \n", + " trainset = list(parse_incr(trainfile, fields=fields, field_parsers={'slot': nolabel2o}))\n", + "with open(pathTest, encoding=\"UTF-8\") as testfile:\n", + " testset = list(parse_incr(testfile, fields=fields, field_parsers={'slot': nolabel2o}))\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Zobaczmy kilka przykładowych wypowiedzi z tego zbioru." + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "
1wybieraminformO
2batmana informB-title
" + ], + "text/plain": [ + "'\\n\\n\\n\\n\\n
1wybieraminformO
2batmana informB-title
'" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from tabulate import tabulate\n", + "tabulate(trainset[1], tablefmt='html')" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
1chcÄ™ informO
2zarezerwowaćinformB-goal
3bilety informO
" + ], + "text/plain": [ + "'\\n\\n\\n\\n\\n\\n
1chcÄ™ informO
2zarezerwowaćinformB-goal
3bilety informO
'" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tabulate(trainset[16], tablefmt='html')" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
1chciałbym informO
2anulować informO
3rezerwacjęinformO
4biletu informO
" + ], + "text/plain": [ + "'\\n\\n\\n\\n\\n\\n\\n
1chciałbym informO
2anulować informO
3rezerwacjęinformO
4biletu informO
'" + ] + }, + "execution_count": 26, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tabulate(trainset[20], tablefmt='html')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Budując model skorzystamy z architektury opartej o rekurencyjne sieci neuronowe\n", + "zaimplementowanej w bibliotece [flair](https://github.com/flairNLP/flair) (Akbik i in. 2018)." + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "metadata": {}, + "outputs": [], + "source": [ + "from flair.data import Corpus, Sentence, Token\n", + "from flair.datasets import SentenceDataset\n", + "from flair.embeddings import StackedEmbeddings\n", + "from flair.embeddings import WordEmbeddings\n", + "from flair.embeddings import CharacterEmbeddings\n", + "from flair.embeddings import FlairEmbeddings\n", + "from flair.models import SequenceTagger\n", + "from flair.trainers import ModelTrainer\n", + "\n", + "# determinizacja obliczeń\n", + "import random\n", + "import torch\n", + "random.seed(42)\n", + "torch.manual_seed(42)\n", + "\n", + "if torch.cuda.is_available():\n", + " torch.cuda.manual_seed(0)\n", + " torch.cuda.manual_seed_all(0)\n", + " torch.backends.cudnn.enabled = False\n", + " torch.backends.cudnn.benchmark = False\n", + " torch.backends.cudnn.deterministic = True" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Dane skonwertujemy do formatu wykorzystywanego przez `flair`, korzystając z następującej funkcji." + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Corpus: 345 train + 38 dev + 32 test sentences\n", + "Dictionary with 20 tags: , O, B-interval, I-interval, B-title, B-date, I-date, B-time, B-quantity, B-area, I-area, B-goal, I-goal, I-title, I-time, I-quantity, B-seats, I-seats, , \n" + ] + } + ], + "source": [ + "def conllu2flair(sentences, label=None):\n", + " fsentences = []\n", + "\n", + " for sentence in sentences:\n", + " fsentence = Sentence()\n", + "\n", + " for token in sentence:\n", + " ftoken = Token(token['form'])\n", + "\n", + " if label:\n", + " ftoken.add_tag(label, token[label])\n", + "\n", + " fsentence.add_token(ftoken)\n", + "\n", + " fsentences.append(fsentence)\n", + "\n", + " return SentenceDataset(fsentences)\n", + "\n", + "corpus = Corpus(train=conllu2flair(trainset, 'slot'), test=conllu2flair(testset, 'slot'))\n", + "print(corpus)\n", + "tag_dictionary = corpus.make_tag_dictionary(tag_type='slot')\n", + "print(tag_dictionary)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Nasz model będzie wykorzystywał wektorowe reprezentacje słów (zob. [Word Embeddings](https://github.com/flairNLP/flair/blob/master/resources/docs/TUTORIAL_3_WORD_EMBEDDING.md))." + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "metadata": {}, + "outputs": [], + "source": [ + "embedding_types = [\n", + " WordEmbeddings('pl'),\n", + " FlairEmbeddings('polish-forward'),\n", + " FlairEmbeddings('polish-backward'),\n", + " CharacterEmbeddings(),\n", + "]\n", + "\n", + "embeddings = StackedEmbeddings(embeddings=embedding_types)\n", + "tagger = SequenceTagger(hidden_size=256, embeddings=embeddings,\n", + " tag_dictionary=tag_dictionary,\n", + " tag_type='slot', use_crf=True)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Zobaczmy jak wygląda architektura sieci neuronowej, która będzie odpowiedzialna za przewidywanie\n", + "slotów w wypowiedziach." + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "SequenceTagger(\n", + " (embeddings): StackedEmbeddings(\n", + " (list_embedding_0): WordEmbeddings('pl')\n", + " (list_embedding_1): FlairEmbeddings(\n", + " (lm): LanguageModel(\n", + " (drop): Dropout(p=0.25, inplace=False)\n", + " (encoder): Embedding(1602, 100)\n", + " (rnn): LSTM(100, 2048)\n", + " (decoder): Linear(in_features=2048, out_features=1602, bias=True)\n", + " )\n", + " )\n", + " (list_embedding_2): FlairEmbeddings(\n", + " (lm): LanguageModel(\n", + " (drop): Dropout(p=0.25, inplace=False)\n", + " (encoder): Embedding(1602, 100)\n", + " (rnn): LSTM(100, 2048)\n", + " (decoder): Linear(in_features=2048, out_features=1602, bias=True)\n", + " )\n", + " )\n", + " (list_embedding_3): CharacterEmbeddings(\n", + " (char_embedding): Embedding(275, 25)\n", + " (char_rnn): LSTM(25, 25, bidirectional=True)\n", + " )\n", + " )\n", + " (word_dropout): WordDropout(p=0.05)\n", + " (locked_dropout): LockedDropout(p=0.5)\n", + " (embedding2nn): Linear(in_features=4446, out_features=4446, bias=True)\n", + " (rnn): LSTM(4446, 256, batch_first=True, bidirectional=True)\n", + " (linear): Linear(in_features=512, out_features=20, bias=True)\n", + " (beta): 1.0\n", + " (weights): None\n", + " (weight_tensor) None\n", + ")\n" + ] + } + ], + "source": [ + "print(tagger)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Wykonamy dziesięć iteracji (epok) uczenia a wynikowy model zapiszemy w katalogu `slot-model`." + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2022-05-01 12:13:39,609 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:13:39,610 Model: \"SequenceTagger(\n", + " (embeddings): StackedEmbeddings(\n", + " (list_embedding_0): WordEmbeddings('pl')\n", + " (list_embedding_1): FlairEmbeddings(\n", + " (lm): LanguageModel(\n", + " (drop): Dropout(p=0.25, inplace=False)\n", + " (encoder): Embedding(1602, 100)\n", + " (rnn): LSTM(100, 2048)\n", + " (decoder): Linear(in_features=2048, out_features=1602, bias=True)\n", + " )\n", + " )\n", + " (list_embedding_2): FlairEmbeddings(\n", + " (lm): LanguageModel(\n", + " (drop): Dropout(p=0.25, inplace=False)\n", + " (encoder): Embedding(1602, 100)\n", + " (rnn): LSTM(100, 2048)\n", + " (decoder): Linear(in_features=2048, out_features=1602, bias=True)\n", + " )\n", + " )\n", + " (list_embedding_3): CharacterEmbeddings(\n", + " (char_embedding): Embedding(275, 25)\n", + " (char_rnn): LSTM(25, 25, bidirectional=True)\n", + " )\n", + " )\n", + " (word_dropout): WordDropout(p=0.05)\n", + " (locked_dropout): LockedDropout(p=0.5)\n", + " (embedding2nn): Linear(in_features=4446, out_features=4446, bias=True)\n", + " (rnn): LSTM(4446, 256, batch_first=True, bidirectional=True)\n", + " (linear): Linear(in_features=512, out_features=20, bias=True)\n", + " (beta): 1.0\n", + " (weights): None\n", + " (weight_tensor) None\n", + ")\"\n", + "2022-05-01 12:13:39,611 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:13:39,611 Corpus: \"Corpus: 345 train + 38 dev + 32 test sentences\"\n", + "2022-05-01 12:13:39,612 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:13:39,613 Parameters:\n", + "2022-05-01 12:13:39,614 - learning_rate: \"0.1\"\n", + "2022-05-01 12:13:39,614 - mini_batch_size: \"32\"\n", + "2022-05-01 12:13:39,615 - patience: \"3\"\n", + "2022-05-01 12:13:39,616 - anneal_factor: \"0.5\"\n", + "2022-05-01 12:13:39,616 - max_epochs: \"10\"\n", + "2022-05-01 12:13:39,616 - shuffle: \"True\"\n", + "2022-05-01 12:13:39,617 - train_with_dev: \"False\"\n", + "2022-05-01 12:13:39,618 - batch_growth_annealing: \"False\"\n", + "2022-05-01 12:13:39,618 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:13:39,619 Model training base path: \"slot-model\"\n", + "2022-05-01 12:13:39,620 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:13:39,620 Device: cpu\n", + "2022-05-01 12:13:39,621 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:13:39,621 Embeddings storage mode: cpu\n", + "2022-05-01 12:13:39,623 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:13:42,490 epoch 1 - iter 1/11 - loss 9.59000492 - samples/sec: 11.17 - lr: 0.100000\n", + "2022-05-01 12:13:44,150 epoch 1 - iter 2/11 - loss 9.31767702 - samples/sec: 19.29 - lr: 0.100000\n", + "2022-05-01 12:13:45,968 epoch 1 - iter 3/11 - loss 8.70617644 - samples/sec: 17.61 - lr: 0.100000\n", + "2022-05-01 12:13:47,791 epoch 1 - iter 4/11 - loss 8.11678410 - samples/sec: 17.57 - lr: 0.100000\n", + "2022-05-01 12:13:49,815 epoch 1 - iter 5/11 - loss 7.65581417 - samples/sec: 15.82 - lr: 0.100000\n", + "2022-05-01 12:13:52,296 epoch 1 - iter 6/11 - loss 7.27475810 - samples/sec: 12.90 - lr: 0.100000\n", + "2022-05-01 12:13:54,454 epoch 1 - iter 7/11 - loss 6.95693064 - samples/sec: 14.84 - lr: 0.100000\n", + "2022-05-01 12:13:56,845 epoch 1 - iter 8/11 - loss 6.61199290 - samples/sec: 13.39 - lr: 0.100000\n", + "2022-05-01 12:13:59,195 epoch 1 - iter 9/11 - loss 6.58955601 - samples/sec: 13.63 - lr: 0.100000\n", + "2022-05-01 12:14:01,065 epoch 1 - iter 10/11 - loss 6.63135071 - samples/sec: 17.11 - lr: 0.100000\n", + "2022-05-01 12:14:02,415 epoch 1 - iter 11/11 - loss 6.52558366 - samples/sec: 23.72 - lr: 0.100000\n", + "2022-05-01 12:14:02,416 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:14:02,417 EPOCH 1 done: loss 6.5256 - lr 0.1000000\n", + "2022-05-01 12:14:05,139 DEV : loss 8.419286727905273 - score 0.0\n", + "2022-05-01 12:14:05,141 BAD EPOCHS (no improvement): 0\n", + "saving best model\n", + "2022-05-01 12:14:15,906 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:14:16,782 epoch 2 - iter 1/11 - loss 7.61237478 - samples/sec: 40.25 - lr: 0.100000\n", + "2022-05-01 12:14:17,253 epoch 2 - iter 2/11 - loss 7.02023911 - samples/sec: 68.09 - lr: 0.100000\n", + "2022-05-01 12:14:17,744 epoch 2 - iter 3/11 - loss 6.25125138 - samples/sec: 65.31 - lr: 0.100000\n", + "2022-05-01 12:14:18,282 epoch 2 - iter 4/11 - loss 5.91574061 - samples/sec: 59.59 - lr: 0.100000\n", + "2022-05-01 12:14:18,742 epoch 2 - iter 5/11 - loss 5.80905600 - samples/sec: 69.87 - lr: 0.100000\n", + "2022-05-01 12:14:19,262 epoch 2 - iter 6/11 - loss 5.51969266 - samples/sec: 61.66 - lr: 0.100000\n", + "2022-05-01 12:14:19,753 epoch 2 - iter 7/11 - loss 5.34836953 - samples/sec: 65.31 - lr: 0.100000\n", + "2022-05-01 12:14:20,267 epoch 2 - iter 8/11 - loss 5.33710295 - samples/sec: 62.38 - lr: 0.100000\n", + "2022-05-01 12:14:20,750 epoch 2 - iter 9/11 - loss 5.28061861 - samples/sec: 66.32 - lr: 0.100000\n", + "2022-05-01 12:14:21,379 epoch 2 - iter 10/11 - loss 5.20552692 - samples/sec: 50.95 - lr: 0.100000\n", + "2022-05-01 12:14:21,922 epoch 2 - iter 11/11 - loss 5.26294283 - samples/sec: 59.03 - lr: 0.100000\n", + "2022-05-01 12:14:21,923 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:14:21,924 EPOCH 2 done: loss 5.2629 - lr 0.1000000\n", + "2022-05-01 12:14:22,145 DEV : loss 7.168168544769287 - score 0.0645\n", + "2022-05-01 12:14:22,149 BAD EPOCHS (no improvement): 0\n", + "saving best model\n", + "2022-05-01 12:14:27,939 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:14:28,495 epoch 3 - iter 1/11 - loss 3.70659065 - samples/sec: 57.56 - lr: 0.100000\n", + "2022-05-01 12:14:29,038 epoch 3 - iter 2/11 - loss 4.21530080 - samples/sec: 59.04 - lr: 0.100000\n", + "2022-05-01 12:14:29,607 epoch 3 - iter 3/11 - loss 4.40864404 - samples/sec: 56.37 - lr: 0.100000\n", + "2022-05-01 12:14:30,171 epoch 3 - iter 4/11 - loss 4.69527233 - samples/sec: 56.93 - lr: 0.100000\n", + "2022-05-01 12:14:30,587 epoch 3 - iter 5/11 - loss 4.43719640 - samples/sec: 77.11 - lr: 0.100000\n", + "2022-05-01 12:14:31,075 epoch 3 - iter 6/11 - loss 4.55344125 - samples/sec: 65.71 - lr: 0.100000\n", + "2022-05-01 12:14:31,625 epoch 3 - iter 7/11 - loss 4.77397609 - samples/sec: 58.34 - lr: 0.100000\n", + "2022-05-01 12:14:32,143 epoch 3 - iter 8/11 - loss 4.61572361 - samples/sec: 61.89 - lr: 0.100000\n", + "2022-05-01 12:14:32,703 epoch 3 - iter 9/11 - loss 4.60090372 - samples/sec: 57.24 - lr: 0.100000\n", + "2022-05-01 12:14:33,404 epoch 3 - iter 10/11 - loss 4.70502276 - samples/sec: 45.69 - lr: 0.100000\n", + "2022-05-01 12:14:33,839 epoch 3 - iter 11/11 - loss 4.76321775 - samples/sec: 73.73 - lr: 0.100000\n", + "2022-05-01 12:14:33,840 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:14:33,840 EPOCH 3 done: loss 4.7632 - lr 0.1000000\n", + "2022-05-01 12:14:33,992 DEV : loss 7.209894180297852 - score 0.0\n", + "2022-05-01 12:14:33,993 BAD EPOCHS (no improvement): 1\n", + "2022-05-01 12:14:33,994 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:14:34,556 epoch 4 - iter 1/11 - loss 5.55247641 - samples/sec: 57.04 - lr: 0.100000\n", + "2022-05-01 12:14:35,078 epoch 4 - iter 2/11 - loss 5.08158088 - samples/sec: 61.42 - lr: 0.100000\n", + "2022-05-01 12:14:35,643 epoch 4 - iter 3/11 - loss 4.69475476 - samples/sec: 56.73 - lr: 0.100000\n", + "2022-05-01 12:14:36,270 epoch 4 - iter 4/11 - loss 4.78649628 - samples/sec: 51.16 - lr: 0.100000\n", + "2022-05-01 12:14:36,806 epoch 4 - iter 5/11 - loss 4.62873497 - samples/sec: 59.93 - lr: 0.100000\n", + "2022-05-01 12:14:37,419 epoch 4 - iter 6/11 - loss 4.70938087 - samples/sec: 52.29 - lr: 0.100000\n", + "2022-05-01 12:14:38,068 epoch 4 - iter 7/11 - loss 4.50588363 - samples/sec: 49.46 - lr: 0.100000\n", + "2022-05-01 12:14:38,581 epoch 4 - iter 8/11 - loss 4.36334288 - samples/sec: 62.50 - lr: 0.100000\n", + "2022-05-01 12:14:39,140 epoch 4 - iter 9/11 - loss 4.36617618 - samples/sec: 57.45 - lr: 0.100000\n", + "2022-05-01 12:14:39,780 epoch 4 - iter 10/11 - loss 4.37847199 - samples/sec: 50.16 - lr: 0.100000\n", + "2022-05-01 12:14:40,321 epoch 4 - iter 11/11 - loss 4.26116128 - samples/sec: 59.18 - lr: 0.100000\n", + "2022-05-01 12:14:40,323 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:14:40,324 EPOCH 4 done: loss 4.2612 - lr 0.1000000\n", + "2022-05-01 12:14:40,544 DEV : loss 5.882441997528076 - score 0.1714\n", + "2022-05-01 12:14:40,546 BAD EPOCHS (no improvement): 0\n", + "saving best model\n", + "2022-05-01 12:14:46,159 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:14:46,709 epoch 5 - iter 1/11 - loss 3.86370564 - samples/sec: 58.29 - lr: 0.100000\n", + "2022-05-01 12:14:47,349 epoch 5 - iter 2/11 - loss 3.80554891 - samples/sec: 50.08 - lr: 0.100000\n", + "2022-05-01 12:14:47,857 epoch 5 - iter 3/11 - loss 3.34506067 - samples/sec: 63.11 - lr: 0.100000\n", + "2022-05-01 12:14:48,579 epoch 5 - iter 4/11 - loss 3.88535106 - samples/sec: 44.38 - lr: 0.100000\n", + "2022-05-01 12:14:49,170 epoch 5 - iter 5/11 - loss 3.81894360 - samples/sec: 54.28 - lr: 0.100000\n", + "2022-05-01 12:14:49,708 epoch 5 - iter 6/11 - loss 4.18858314 - samples/sec: 59.53 - lr: 0.100000\n", + "2022-05-01 12:14:50,171 epoch 5 - iter 7/11 - loss 4.13974752 - samples/sec: 69.26 - lr: 0.100000\n", + "2022-05-01 12:14:50,593 epoch 5 - iter 8/11 - loss 4.01002905 - samples/sec: 75.98 - lr: 0.100000\n", + "2022-05-01 12:14:51,062 epoch 5 - iter 9/11 - loss 3.97078644 - samples/sec: 68.52 - lr: 0.100000\n", + "2022-05-01 12:14:51,508 epoch 5 - iter 10/11 - loss 3.94409857 - samples/sec: 71.91 - lr: 0.100000\n", + "2022-05-01 12:14:51,960 epoch 5 - iter 11/11 - loss 3.80738796 - samples/sec: 70.95 - lr: 0.100000\n", + "2022-05-01 12:14:51,961 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:14:51,963 EPOCH 5 done: loss 3.8074 - lr 0.1000000\n", + "2022-05-01 12:14:52,103 DEV : loss 5.224854469299316 - score 0.1667\n", + "2022-05-01 12:14:52,105 BAD EPOCHS (no improvement): 1\n", + "2022-05-01 12:14:52,106 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:14:52,616 epoch 6 - iter 1/11 - loss 3.51282573 - samples/sec: 62.91 - lr: 0.100000\n", + "2022-05-01 12:14:53,100 epoch 6 - iter 2/11 - loss 3.41601551 - samples/sec: 66.25 - lr: 0.100000\n", + "2022-05-01 12:14:53,513 epoch 6 - iter 3/11 - loss 3.08380787 - samples/sec: 77.76 - lr: 0.100000\n", + "2022-05-01 12:14:55,121 epoch 6 - iter 4/11 - loss 3.21056002 - samples/sec: 64.71 - lr: 0.100000\n", + "2022-05-01 12:14:55,665 epoch 6 - iter 5/11 - loss 3.30184879 - samples/sec: 58.88 - lr: 0.100000\n", + "2022-05-01 12:14:56,160 epoch 6 - iter 6/11 - loss 3.20993070 - samples/sec: 64.91 - lr: 0.100000\n", + "2022-05-01 12:14:56,670 epoch 6 - iter 7/11 - loss 3.14396119 - samples/sec: 62.91 - lr: 0.100000\n", + "2022-05-01 12:14:57,329 epoch 6 - iter 8/11 - loss 3.24591878 - samples/sec: 48.63 - lr: 0.100000\n", + "2022-05-01 12:14:57,958 epoch 6 - iter 9/11 - loss 3.31877112 - samples/sec: 51.03 - lr: 0.100000\n", + "2022-05-01 12:14:58,527 epoch 6 - iter 10/11 - loss 3.33475649 - samples/sec: 56.34 - lr: 0.100000\n", + "2022-05-01 12:14:58,989 epoch 6 - iter 11/11 - loss 3.23232636 - samples/sec: 69.41 - lr: 0.100000\n", + "2022-05-01 12:14:58,991 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:14:58,991 EPOCH 6 done: loss 3.2323 - lr 0.1000000\n", + "2022-05-01 12:14:59,178 DEV : loss 4.557621002197266 - score 0.2381\n", + "2022-05-01 12:14:59,180 BAD EPOCHS (no improvement): 0\n", + "saving best model\n", + "2022-05-01 12:15:25,844 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:15:26,423 epoch 7 - iter 1/11 - loss 2.71161938 - samples/sec: 55.36 - lr: 0.100000\n", + "2022-05-01 12:15:26,886 epoch 7 - iter 2/11 - loss 2.50157821 - samples/sec: 69.26 - lr: 0.100000\n", + "2022-05-01 12:15:27,347 epoch 7 - iter 3/11 - loss 2.78014056 - samples/sec: 69.56 - lr: 0.100000\n", + "2022-05-01 12:15:27,853 epoch 7 - iter 4/11 - loss 2.82983196 - samples/sec: 63.36 - lr: 0.100000\n", + "2022-05-01 12:15:28,393 epoch 7 - iter 5/11 - loss 2.84246483 - samples/sec: 59.37 - lr: 0.100000\n", + "2022-05-01 12:15:28,847 epoch 7 - iter 6/11 - loss 2.89787177 - samples/sec: 70.64 - lr: 0.100000\n", + "2022-05-01 12:15:29,338 epoch 7 - iter 7/11 - loss 2.74564961 - samples/sec: 65.30 - lr: 0.100000\n", + "2022-05-01 12:15:29,813 epoch 7 - iter 8/11 - loss 2.79853699 - samples/sec: 67.58 - lr: 0.100000\n", + "2022-05-01 12:15:30,364 epoch 7 - iter 9/11 - loss 2.89167126 - samples/sec: 58.18 - lr: 0.100000\n", + "2022-05-01 12:15:30,834 epoch 7 - iter 10/11 - loss 2.86527851 - samples/sec: 68.22 - lr: 0.100000\n", + "2022-05-01 12:15:31,296 epoch 7 - iter 11/11 - loss 2.82858575 - samples/sec: 69.41 - lr: 0.100000\n", + "2022-05-01 12:15:31,297 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:15:31,298 EPOCH 7 done: loss 2.8286 - lr 0.1000000\n", + "2022-05-01 12:15:31,462 DEV : loss 4.020608901977539 - score 0.3182\n", + "2022-05-01 12:15:31,463 BAD EPOCHS (no improvement): 0\n", + "saving best model\n", + "2022-05-01 12:15:38,431 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:15:38,979 epoch 8 - iter 1/11 - loss 3.28806710 - samples/sec: 58.61 - lr: 0.100000\n", + "2022-05-01 12:15:39,534 epoch 8 - iter 2/11 - loss 2.72140074 - samples/sec: 57.76 - lr: 0.100000\n", + "2022-05-01 12:15:40,061 epoch 8 - iter 3/11 - loss 2.77740423 - samples/sec: 60.89 - lr: 0.100000\n", + "2022-05-01 12:15:40,541 epoch 8 - iter 4/11 - loss 2.51573136 - samples/sec: 66.72 - lr: 0.100000\n", + "2022-05-01 12:15:41,109 epoch 8 - iter 5/11 - loss 2.54271443 - samples/sec: 56.53 - lr: 0.100000\n", + "2022-05-01 12:15:41,537 epoch 8 - iter 6/11 - loss 2.47530021 - samples/sec: 75.12 - lr: 0.100000\n", + "2022-05-01 12:15:42,078 epoch 8 - iter 7/11 - loss 2.62978831 - samples/sec: 59.26 - lr: 0.100000\n", + "2022-05-01 12:15:42,506 epoch 8 - iter 8/11 - loss 2.62844713 - samples/sec: 74.84 - lr: 0.100000\n", + "2022-05-01 12:15:42,988 epoch 8 - iter 9/11 - loss 2.61604464 - samples/sec: 66.59 - lr: 0.100000\n", + "2022-05-01 12:15:43,471 epoch 8 - iter 10/11 - loss 2.62512223 - samples/sec: 66.39 - lr: 0.100000\n", + "2022-05-01 12:15:43,895 epoch 8 - iter 11/11 - loss 2.64045010 - samples/sec: 75.65 - lr: 0.100000\n", + "2022-05-01 12:15:43,896 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:15:43,897 EPOCH 8 done: loss 2.6405 - lr 0.1000000\n", + "2022-05-01 12:15:44,036 DEV : loss 3.542769432067871 - score 0.3846\n", + "2022-05-01 12:15:44,038 BAD EPOCHS (no improvement): 0\n", + "saving best model\n", + "2022-05-01 12:15:51,672 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:15:52,235 epoch 9 - iter 1/11 - loss 1.73337626 - samples/sec: 56.99 - lr: 0.100000\n", + "2022-05-01 12:15:52,801 epoch 9 - iter 2/11 - loss 2.09788013 - samples/sec: 56.74 - lr: 0.100000\n", + "2022-05-01 12:15:53,288 epoch 9 - iter 3/11 - loss 2.24861153 - samples/sec: 65.84 - lr: 0.100000\n", + "2022-05-01 12:15:53,735 epoch 9 - iter 4/11 - loss 2.42630130 - samples/sec: 71.75 - lr: 0.100000\n", + "2022-05-01 12:15:54,189 epoch 9 - iter 5/11 - loss 2.42454610 - samples/sec: 70.64 - lr: 0.100000\n", + "2022-05-01 12:15:54,720 epoch 9 - iter 6/11 - loss 2.39987107 - samples/sec: 60.38 - lr: 0.100000\n", + "2022-05-01 12:15:55,192 epoch 9 - iter 7/11 - loss 2.29154910 - samples/sec: 67.94 - lr: 0.100000\n", + "2022-05-01 12:15:55,632 epoch 9 - iter 8/11 - loss 2.22984707 - samples/sec: 73.06 - lr: 0.100000\n", + "2022-05-01 12:15:56,162 epoch 9 - iter 9/11 - loss 2.32317919 - samples/sec: 60.49 - lr: 0.100000\n", + "2022-05-01 12:15:56,559 epoch 9 - iter 10/11 - loss 2.24865967 - samples/sec: 80.81 - lr: 0.100000\n", + "2022-05-01 12:15:56,986 epoch 9 - iter 11/11 - loss 2.27327953 - samples/sec: 75.12 - lr: 0.100000\n", + "2022-05-01 12:15:56,988 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:15:56,988 EPOCH 9 done: loss 2.2733 - lr 0.1000000\n", + "2022-05-01 12:15:57,130 DEV : loss 3.4634602069854736 - score 0.5517\n", + "2022-05-01 12:15:57,132 BAD EPOCHS (no improvement): 0\n", + "saving best model\n", + "2022-05-01 12:16:04,067 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:16:04,643 epoch 10 - iter 1/11 - loss 2.22972107 - samples/sec: 55.65 - lr: 0.100000\n", + "2022-05-01 12:16:05,144 epoch 10 - iter 2/11 - loss 2.20346498 - samples/sec: 64.00 - lr: 0.100000\n", + "2022-05-01 12:16:05,576 epoch 10 - iter 3/11 - loss 2.07501336 - samples/sec: 74.24 - lr: 0.100000\n", + "2022-05-01 12:16:06,036 epoch 10 - iter 4/11 - loss 2.09982607 - samples/sec: 69.72 - lr: 0.100000\n", + "2022-05-01 12:16:06,508 epoch 10 - iter 5/11 - loss 2.08048103 - samples/sec: 67.94 - lr: 0.100000\n", + "2022-05-01 12:16:07,062 epoch 10 - iter 6/11 - loss 2.08074635 - samples/sec: 57.87 - lr: 0.100000\n", + "2022-05-01 12:16:07,590 epoch 10 - iter 7/11 - loss 2.07187140 - samples/sec: 60.84 - lr: 0.100000\n", + "2022-05-01 12:16:08,116 epoch 10 - iter 8/11 - loss 2.10148455 - samples/sec: 60.95 - lr: 0.100000\n", + "2022-05-01 12:16:08,563 epoch 10 - iter 9/11 - loss 2.06198527 - samples/sec: 71.74 - lr: 0.100000\n", + "2022-05-01 12:16:09,066 epoch 10 - iter 10/11 - loss 2.00194792 - samples/sec: 63.75 - lr: 0.100000\n", + "2022-05-01 12:16:09,486 epoch 10 - iter 11/11 - loss 2.00801701 - samples/sec: 76.37 - lr: 0.100000\n", + "2022-05-01 12:16:09,487 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:16:09,488 EPOCH 10 done: loss 2.0080 - lr 0.1000000\n", + "2022-05-01 12:16:09,624 DEV : loss 3.1866908073425293 - score 0.4706\n", + "2022-05-01 12:16:09,625 BAD EPOCHS (no improvement): 1\n", + "2022-05-01 12:16:16,655 ----------------------------------------------------------------------------------------------------\n", + "2022-05-01 12:16:16,656 Testing using best model ...\n", + "2022-05-01 12:16:16,676 loading file slot-model\\best-model.pt\n", + "2022-05-01 12:16:22,739 0.4231\t0.3056\t0.3548\n", + "2022-05-01 12:16:22,740 \n", + "Results:\n", + "- F1-score (micro) 0.3548\n", + "- F1-score (macro) 0.2570\n", + "\n", + "By class:\n", + "area tp: 1 - fp: 1 - fn: 2 - precision: 0.5000 - recall: 0.3333 - f1-score: 0.4000\n", + "date tp: 0 - fp: 3 - fn: 3 - precision: 0.0000 - recall: 0.0000 - f1-score: 0.0000\n", + "goal tp: 2 - fp: 2 - fn: 8 - precision: 0.5000 - recall: 0.2000 - f1-score: 0.2857\n", + "interval tp: 0 - fp: 0 - fn: 1 - precision: 0.0000 - recall: 0.0000 - f1-score: 0.0000\n", + "quantity tp: 4 - fp: 1 - fn: 2 - precision: 0.8000 - recall: 0.6667 - f1-score: 0.7273\n", + "seats tp: 0 - fp: 1 - fn: 0 - precision: 0.0000 - recall: 0.0000 - f1-score: 0.0000\n", + "time tp: 1 - fp: 4 - fn: 5 - precision: 0.2000 - recall: 0.1667 - f1-score: 0.1818\n", + "title tp: 3 - fp: 3 - fn: 4 - precision: 0.5000 - recall: 0.4286 - f1-score: 0.4615\n", + "2022-05-01 12:16:22,740 ----------------------------------------------------------------------------------------------------\n" + ] + }, + { + "data": { + "text/plain": [ + "{'test_score': 0.3548387096774194,\n", + " 'dev_score_history': [0.0,\n", + " 0.06451612903225806,\n", + " 0.0,\n", + " 0.17142857142857143,\n", + " 0.16666666666666663,\n", + " 0.23809523809523808,\n", + " 0.3181818181818182,\n", + " 0.38461538461538464,\n", + " 0.5517241379310345,\n", + " 0.47058823529411764],\n", + " 'train_loss_history': [6.525583657351407,\n", + " 5.26294283433394,\n", + " 4.7632177526300605,\n", + " 4.261161284013228,\n", + " 3.807387958873402,\n", + " 3.2323263558474453,\n", + " 2.828585754741322,\n", + " 2.6404500982978125,\n", + " 2.2732795260169287,\n", + " 2.0080170089548286],\n", + " 'dev_loss_history': [8.419286727905273,\n", + " 7.168168544769287,\n", + " 7.209894180297852,\n", + " 5.882441997528076,\n", + " 5.224854469299316,\n", + " 4.557621002197266,\n", + " 4.020608901977539,\n", + " 3.542769432067871,\n", + " 3.4634602069854736,\n", + " 3.1866908073425293]}" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "trainer = ModelTrainer(tagger, corpus)\n", + "trainer.train('slot-model',\n", + " learning_rate=0.1,\n", + " mini_batch_size=32,\n", + " max_epochs=10,\n", + " train_with_dev=False)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Jakość wyuczonego modelu możemy ocenić, korzystając z zaraportowanych powyżej metryk, tj.:\n", + "\n", + " - *tp (true positives)*\n", + "\n", + " > liczba słów oznaczonych w zbiorze testowym etykietą $e$, które model oznaczył tą etykietą\n", + "\n", + " - *fp (false positives)*\n", + "\n", + " > liczba słów nieoznaczonych w zbiorze testowym etykietą $e$, które model oznaczył tą etykietą\n", + "\n", + " - *fn (false negatives)*\n", + "\n", + " > liczba słów oznaczonych w zbiorze testowym etykietą $e$, którym model nie nadał etykiety $e$\n", + "\n", + " - *precision*\n", + "\n", + " > $$\\frac{tp}{tp + fp}$$\n", + "\n", + " - *recall*\n", + "\n", + " > $$\\frac{tp}{tp + fn}$$\n", + "\n", + " - $F_1$\n", + "\n", + " > $$\\frac{2 \\cdot precision \\cdot recall}{precision + recall}$$\n", + "\n", + " - *micro* $F_1$\n", + "\n", + " > $F_1$ w którym $tp$, $fp$ i $fn$ są liczone łącznie dla wszystkich etykiet, tj. $tp = \\sum_{e}{{tp}_e}$, $fn = \\sum_{e}{{fn}_e}$, $fp = \\sum_{e}{{fp}_e}$\n", + "\n", + " - *macro* $F_1$\n", + "\n", + " > średnia arytmetyczna z $F_1$ obliczonych dla poszczególnych etykiet z osobna.\n", + "\n", + "Wyuczony model możemy wczytać z pliku korzystając z metody `load`." + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2022-05-01 12:16:22,953 loading file slot-model/final-model.pt\n" + ] + } + ], + "source": [ + "model = SequenceTagger.load('slot-model/final-model.pt')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Wczytany model możemy wykorzystać do przewidywania slotów w wypowiedziach użytkownika, korzystając\n", + "z przedstawionej poniżej funkcji `predict`." + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[('kiedy', 'O'), ('gracie', 'O'), ('film', 'O'), ('zorro', 'B-title')]" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def predict(model, sentence):\n", + " csentence = [{'form': word} for word in sentence]\n", + " fsentence = conllu2flair([csentence])[0]\n", + " model.predict(fsentence)\n", + " return [(token, ftoken.get_tag('slot').value) for token, ftoken in zip(sentence, fsentence)]\n", + "\n", + "predict(model, 'kiedy gracie film zorro'.split())" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Jak pokazuje przykład poniżej model wyuczony tylko na 100 przykładach popełnia w dosyć prostej\n", + "wypowiedzi błąd etykietując słowo `alarm` tagiem `B-weather/noun`." + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
kiedy O
gracieO
film O
zorro B-title
" + ], + "text/plain": [ + "'\\n\\n\\n\\n\\n\\n\\n
kiedy O
gracieO
film O
zorro B-title
'" + ] + }, + "execution_count": 68, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tabulate(predict(model, 'kiedy gracie film zorro'.split()), tablefmt='html')" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Literatura\n", + "----------\n", + " 1. Sebastian Schuster, Sonal Gupta, Rushin Shah, Mike Lewis, Cross-lingual Transfer Learning for Multilingual Task Oriented Dialog. NAACL-HLT (1) 2019, pp. 3795-3805\n", + " 2. John D. Lafferty, Andrew McCallum, and Fernando C. N. Pereira. 2001. Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data. In Proceedings of the Eighteenth International Conference on Machine Learning (ICML '01). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 282–289, https://repository.upenn.edu/cgi/viewcontent.cgi?article=1162&context=cis_papers\n", + " 3. Sepp Hochreiter and Jürgen Schmidhuber. 1997. Long Short-Term Memory. Neural Comput. 9, 8 (November 15, 1997), 1735–1780, https://doi.org/10.1162/neco.1997.9.8.1735\n", + " 4. Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin, Attention is All you Need, NIPS 2017, pp. 5998-6008, https://arxiv.org/abs/1706.03762\n", + " 5. Alan Akbik, Duncan Blythe, Roland Vollgraf, Contextual String Embeddings for Sequence Labeling, Proceedings of the 27th International Conference on Computational Linguistics, pp. 1638–1649, https://www.aclweb.org/anthology/C18-1139.pdf\n" + ] + } + ], + "metadata": { + "author": "Marek Kubis", + "email": "mkubis@amu.edu.pl", + "interpreter": { + "hash": "2be5faf79681da6f2a61fdfdd5405d65d042280f7fba6178067603e3a2925119" + }, + "jupytext": { + "cell_metadata_filter": "-all", + "main_language": "python", + "notebook_metadata_filter": "-all" + }, + "kernelspec": { + "display_name": "Python 3.10.4 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": "8.Parsing semantyczny z wykorzystaniem technik uczenia maszynowego[laboratoria]", + "title": "Systemy Dialogowe", + "year": "2021" + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/src/components/DP.py b/src/components/DP.py new file mode 100644 index 0000000..7f5feed --- /dev/null +++ b/src/components/DP.py @@ -0,0 +1,11 @@ +# Martyna +class DP: + + def __init__(self, slots): + self.slots = slots + + def getAct(slots): + # iterate over slots + # find empty + # returns system act + pass \ No newline at end of file diff --git a/src/components/DST.py b/src/components/DST.py new file mode 100644 index 0000000..1e99228 --- /dev/null +++ b/src/components/DST.py @@ -0,0 +1,22 @@ +# Adrian +class DST: + def __init__(self, slots): + self.slots = slots + + def getDialogueState(self, userActs): + # iterate over speech acts + if userActs['act'] == 'book': + if userActs['slots']: + for (k, v) in userActs['slots']: + print(k) + if k in self.slots: + self.slots[k] = v + + # returns all slots + return self.slots + + +#dst = DST() +# userActs = {'inform': {'name': 'edyta', 'age': 18}, 'reqmore': {'date', 'time'}} +#ivona_acts = {'act': 'book', 'slots': [('name', 'ewa'), ('hour', 'dziesiąta'), ('size', 'trzech')]} +#print(dst.getDialogueState(ivona_acts)) diff --git a/src/components/NLG.py b/src/components/NLG.py new file mode 100644 index 0000000..c142988 --- /dev/null +++ b/src/components/NLG.py @@ -0,0 +1,7 @@ +# Mikolaj +class NLG: + def __self__(self): + pass + + def getResponse(systemAct): + return "Witaj, nazywam się Nachos.\n" \ No newline at end of file diff --git a/src/components/NLU.py b/src/components/NLU.py new file mode 100644 index 0000000..fd2665b --- /dev/null +++ b/src/components/NLU.py @@ -0,0 +1,43 @@ +import re +from flair.data import Sentence, Token +from flair.datasets import SentenceDataset +from flair.models import SequenceTagger + +class NLU: + + def __init__(self): + self.nluModel = SequenceTagger.load('./lab/slot-model/final-model.pt') + + def predict(self, sentence): + sentence = self.getStrCleaned(sentence) + csentence = [{'form': word} for word in sentence] + fsentence = self.conllu2flair([csentence])[0] + self.nluModel.predict(fsentence) + return [(token, ftoken.get_tag('slot').value) for token, ftoken in zip(sentence, fsentence)] + + def conllu2flair(self, sentences, label=None): + fsentences = [] + + for sentence in sentences: + fsentence = Sentence() + + for token in sentence: + ftoken = Token(token['form']) + + if label: + ftoken.add_tag(label, token[label]) + + fsentence.add_token(ftoken) + + fsentences.append(fsentence) + + return SentenceDataset(fsentences) + + def getStrCleaned(self, rawMessage): + # / and : is needed for date and time recognition + punctuation = '!"#$%&\'()*+,-.;<=>?@[\\\\]^_`{|}~' + messageLower = rawMessage.lower() + # new_str = re.sub(' +', ' ', new_str) + for char in punctuation: + messageLower = messageLower.replace(char,'') + return messageLower.split() \ No newline at end of file diff --git a/src/dialogue_system.py b/src/dialogue_system.py new file mode 100644 index 0000000..b8b6b50 --- /dev/null +++ b/src/dialogue_system.py @@ -0,0 +1,36 @@ +from components.NLU import NLU +from components.NLG import NLG +from components.DST import DST + +slots = [ + ("title", None), + ("date", None), + ("time", None), + ("quantity", None), + ("seats", None), + ("goal", None), + ("area", None), + ("interval", None), +] + +def chatbot(): + + isActive = True + + # NLU + nlu = NLU() + + # hello message + print("wpisz /exit aby zakończyć") + print("Witaj w systemie kinowym Nachos, w czym mogę Ci pomóc?") + + # main loop + while isActive: + userMessage = input("$") + if userMessage == "/exit": + print("Do usłyszenia") + isActive = False + else: + nluPred = nlu.predict(sentence=userMessage) + print(nluPred) +chatbot() \ No newline at end of file diff --git a/tasks/zad5/Readme.md b/tasks/zad5/Readme.md index 6a05a17..75c7481 100644 --- a/tasks/zad5/Readme.md +++ b/tasks/zad5/Readme.md @@ -1,17 +1,21 @@ # 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 -|quantity | number of tickets | 2 OR two -|location | location of cinema | Poznań Plaza OR Multikino 51 -|seats | what seats are reserved | [h1, h2, h3] -|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]] +|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 +| quantity | number of tickets | 2 OR two +| seats | what seats are reserved | [h1, h2, h3] +| area | preferred place to sit | [front, middle] OR [random, aisle] +| interval | time interval | w tym tygodniu OR w następnym tygodniu +| goal | users goal in system | chciałbym zarezerwować(opcjonalne) OR jakie filmy gracie +| tickets_type - | tickets types and quantities | [normal, 1] OR [[student, 2], [normal, 1]] +| location - | location of cinema | Poznań Plaza OR Multikino 51 +| reservation_id - | reservation number | 32453758 + + + # Speech acts systemu diff --git a/tasks/zad8/pl/annotate.py b/tasks/zad8/pl/annotate.py new file mode 100644 index 0000000..2e7be6a --- /dev/null +++ b/tasks/zad8/pl/annotate.py @@ -0,0 +1,284 @@ +import pandas as pd +import regex as re + +# sample values + +titles = [ + "batmana", + "batman", + "na noże", + "zorro", + "transformer", + "podróż na księżyc", + "krzyk", + "to nie wypanda", + "inni ludzie", + "ambulans", + "uncharted", + "nasze magiczne encanto" + "zorro - jak to było na prawdę", + "fdantastyczne zwierznera", + "cud guadlupe", + "piosenki o miłości", + "cud Guadalupe", + "historia mojej żony", + "matki równoległe", + "wielka wolność", + "najgorszy człowiek na świecie", + "inni ludzie", + ] + +dates = [ + "w najbliższy poniedziałek", + "w najbliższy wtorek", + "w najbliższą środę", + "w najbliższy czwartek", + "w najbliższy piątek", + "w najbliższą sobotę", + "w najbliższą niedzielę", + "w poniedziałek", + "we wtorek", + "w środę", + "w czwartek", + "w piątek", + "w sobotę", + "w niedzielę", + "na najbliższy poniedziałek", + "na najbliższy wtorek", + "na najbliższą środę", + "na najbliższy czwartek", + "na najbliższy piątek", + "na najbliższą sobotę", + "na najbliższą niedzielę", + "najbliższy poniedziałek", + "najbliższy wtorek", + "najbliższa środa", + "najbliższy czwartek", + "najbliższy piątek", + "najbliższa sobota", + "najbliższa niedziela", + "na jutro", + "jutro", + "w dniu jutrzejszym", + "po jutrze", + "pojutrze", + "za dwa dni", + "za trzy dni", + "za tydzień", + "dzisiaj", + "dziś", + r"na dzień [0-9]{1,2}[ /][0-9]{1,2}", + r"na [0-9]{1,2}[ /][0-9]{1,2}", + r"dzień [0-9]{1,2}[ /][0-9]{1,2}", + r"dnia [0-9]{1,2}[ /][0-9]{1,2}", + r"[0-9]{1,2}[ /][0-9]{1,2}", + ] + +times = [ + r"wybieram: [0-9]{1,2}[:][0-9]{1,2}", + r"wybieram [0-9]{1,2}[:][0-9]{1,2}", + r"na godzinę [0-9]{1,2}[:][0-9]{1,2}", + r"na godzina [0-9]{1,2}[:][0-9]{1,2}", + r"o godzinie [0-9]{1,2}[:][0-9]{1,2}", + r"o [0-9]{1,2}[:][0-9]{1,2}", + r"o [0-9]{2}", + r"na [0-9]{1,2}", + r"na [0-9]{1,2}[:][0-9]{1,2}", + r"godzina [0-9]{1,2}[:][0-9]{1,2}", + r"[0-9]{1,2}[:][0-9]{1,2}", + "rano", + "wieczorem", + "w południe", + "po południu", + "popołudniu", + "w nocy", + "pierwszą", + "drugą", + "trzecią", + "piątą", + "szóstą", + "siódmą", + "ósmą", + "dziewiatą", + "dziesiątą", + "jedenastą", + "dwunastą", + "trzynastą", + "czternastą", + "piętnastą", + "szesnastą", + "siedemnastą", + "osiemnastą", + "dziewiętnastą", + "dwudziestą pierwszą", + "dwudziestą drugą", + "dwudziestą trzecią", + "dwudziestą czwartą", + "o północy" + ] + +quantities = [ + r"chcę [1-9][0-9]{0,1}", + r"poproszę [1-9][0-9]{0,1}", + r"[1-9][0-9]{0,1}", +] + +seats = [ + r'[a-zA-Z][0-9]{1,2} [a-zA-Z][0-9]{1,2} [a-zA-Z][0-9]{1,2} [a-zA-Z][0-9]{1,2} [a-zA-Z][0-9]{1,2}', + r'[a-zA-Z][0-9]{1,2} [a-zA-Z][0-9]{1,2} [a-zA-Z][0-9]{1,2} [a-zA-Z][0-9]{1,2}', + r'[a-zA-Z][0-9]{1,2} [a-zA-Z][0-9]{1,2} [a-zA-Z][0-9]{1,2}', + r'[a-zA-Z][0-9]{1,2} [a-zA-Z][0-9]{1,2}', + r'[a-zA-Z][0-9]{1,2}', + r'[a-zA-Z][0-9]{1,2},[a-zA-Z][0-9]{1,2},[a-zA-Z][0-9]{1,2},[a-zA-Z][0-9]{1,2},[a-zA-Z][0-9]{1,2}', + r'[a-zA-Z][0-9]{1,2},[a-zA-Z][0-9]{1,2},[a-zA-Z][0-9]{1,2},[a-zA-Z][0-9]{1,2}', + r'[a-zA-Z][0-9]{1,2},[a-zA-Z][0-9]{1,2},[a-zA-Z][0-9]{1,2}', + r'[a-zA-Z][0-9]{1,2},[a-zA-Z][0-9]{1,2}', + r'[a-zA-Z][0-9]{1,2}, [a-zA-Z][0-9]{1,2}, [a-zA-Z][0-9]{1,2}, [a-zA-Z][0-9]{1,2}, [a-zA-Z][0-9]{1,2}', + r'[a-zA-Z][0-9]{1,2}, [a-zA-Z][0-9]{1,2}, [a-zA-Z][0-9]{1,2}, [a-zA-Z][0-9]{1,2}', + r'[a-zA-Z][0-9]{1,2}, [a-zA-Z][0-9]{1,2}, [a-zA-Z][0-9]{1,2}', + r'[a-zA-Z][0-9]{1,2}, [a-zA-Z][0-9]{1,2}', +] + +areas = [ + "u góry po prawej", + "u góry po lewej", + "u góry na środku", + "na środku po prawej", + "na środku po lewej", + "na dole po prawej", + "na dole po lewej", + "na dole na środku", + "po lewej", + "po prawej", + "na środku", + "lewo", + "prawo", + "środek", + "blisko od ekranu", + "daleko od ekranu", + "blisko ekranu", + "daleko ekranu", +] + +# slots names +slots = [ + "title", + "date", + "time", + "quantity", + "seats", + "area" + ] + +def removePunctation(text): + return re.sub(r'[!@#$,\"\'\?\'\"\|.]', '', text) + +def dummyTextAnnotation(text, sampelValuesList, slotName): + textJoin = text + for sampleValue in sampelValuesList: + if re.search(r"(^|\s)" + sampleValue + r"($|\s)", textJoin): + textJoin = re.sub(r'(^|\s)(' + sampleValue + r')($|\s)', f"\g<1> **/start** {slotName} \g<2> **/end** \g<3>", textJoin) + break # can one sentence has only one slot of a given type? + return textJoin + +def parseAnnotation(text, intent, textLen, cleanText, isTest, pathOut): + textTokenize = text.split() + slotLabel = "" + col1 = [i for i in range(1, textLen + 1)] + col2 = [] + col3 = [intent for _ in range(textLen)] + col4 = [] + isSlot = False + slotVal = None + annotation = "" + i = 0 + while i < len(textTokenize): + if textTokenize[i] == "**/start**": + isSlot = True + slotVal = textTokenize[i + 1] + if len(slotLabel) > 0: + slotLabel += f',' + i += 2 + annotation = "B-" + elif textTokenize[i] == "**/end**": + isSlot = False + slotLabel += ":" + slotVal + slotVal = None + i += 1 + elif isSlot: + slotLabel += textTokenize[i] + col2.append(textTokenize[i]) + col4.append(annotation + slotVal) + annotation = "I-" + i += 1 + elif not isSlot: + col2.append(textTokenize[i]) + col4.append("NoLabel") + i += 1 + df = pd.DataFrame(list(zip(col1, col2, col3, col4))) + path = "" + if isTest: path = pathOut + 'test.conllu' + else: path = pathOut + 'train.conllu' + with open(path, "a", encoding="utf-8") as outputFile: + outputFile.write(f"# text: {cleanText}\n# intent: {intent}\n# slots: {slotLabel}\n") + df.to_csv(path, header=None, index=None, sep='\t', mode='a') + with open(path, "a", encoding="utf-8") as outputFile: + outputFile.write(f"\n") + + +def processFile(pathIn, pathOut, fileName, isTest): + # path = './data/dialog-16-01-01.tsv' + encoding = "utf-8" + # encoding = "cp1250" + dialog_df = pd.read_csv(pathIn + fileName, sep='\t', header=None, encoding=encoding) + + dialog_df = dialog_df.reset_index() # make sure indexes pair with number of rows + for _, row in dialog_df.iterrows(): + if row[0].strip() == "user": + text = removePunctation(row[1]).lower() + + # movies annotation + annotatedText = dummyTextAnnotation(text, titles, slots[0]) + + # dates annotation + annotatedText = dummyTextAnnotation(annotatedText, dates, slots[1]) + + # time + annotatedText = dummyTextAnnotation(annotatedText, times, slots[2]) + + # quantity + annotatedText = dummyTextAnnotation(annotatedText, quantities, slots[3]) + + # seats + annotatedText = dummyTextAnnotation(annotatedText, seats, slots[4]) + + # area + annotatedText = dummyTextAnnotation(annotatedText, areas, slots[5]) + + parseAnnotation(annotatedText, row[2], len(row[1].split()), text, isTest, pathOut) + + # dialog_df.to_csv(pathOut + "test.conllu", sep="\t", index=False, header=None) + +def annotateData(): + pathOut = './tasks/zad8/pl/' + pathIn = "./data/clean/" + i = 0 + j = 0 + nr = 0 + for i in range(16,20): + for j in range(20): + for nr in range(1,5): + fileName = "dialog-" + str(i).zfill(2) + "-" + str(j).zfill(2) + "-" + str(nr).zfill(2) + ".tsv" + try: + processFile(pathIn, pathOut, fileName, False) + except: + pass + try: + fileName = "dialog-" + str(i).zfill(2) + "-" + str(j).zfill(2) + "-" + str(nr).zfill(2) + "(test)" + ".tsv" + processFile(pathIn, pathOut, fileName, True) + except: + pass +# annotateData() +processFile("./data/clean/", './tasks/zad8/pl/', "newUserQuestions.tsv", isTest=False) +# testText = "dobrze dokonano rezerwacji na film transformer numer twojej rezeracji to 123890" +# print(dummyTextAnotation(testText, sampelValuesList=titles, slotName=slots[0])) \ No newline at end of file diff --git a/tasks/zad8/pl/cleanData.py b/tasks/zad8/pl/cleanData.py new file mode 100644 index 0000000..c18c4a9 --- /dev/null +++ b/tasks/zad8/pl/cleanData.py @@ -0,0 +1,48 @@ +import pandas as pd +import regex + +# cleans our data +# extracts intents for lab8 from dtsv files with dialogues +def removeParenthesis(text): + resultText = "" + leftParCount = 0 + for letter in text: + if letter == "(": leftParCount += 1 + if (leftParCount == 0): + resultText += letter + if letter == ")": leftParCount -= 1 + return resultText + +def processFile(pathIn, pathOut, fileName): + # path = './data/dialog-16-01-01.tsv' + encoding = "utf-8" + # encoding = "cp1250" + dialog_df = pd.read_csv(pathIn + fileName, sep='\t', header=None, encoding=encoding) + dialog_df.iloc[:,2] = dialog_df.iloc[:,2].apply(lambda x : removeParenthesis(str(x))) + dialog_df.iloc[:,2] = dialog_df.iloc[:,2].apply(lambda x : regex.sub(r"( & |&| AND |AND)", " ", str(x))) + dialog_df.iloc[:,2] = dialog_df.iloc[:,2].apply(lambda x : " ".join(list(set(x.split())))) + dialog_df.to_csv(pathOut + fileName, sep="\t", index=False, header=None) + +def cleanAllData(): + pathOut = './data/clean/' + pathIn = "./data/" + i = 0 + j = 0 + nr = 0 + for i in range(16,20): + for j in range(20): + for nr in range(1,5): + fileName = "dialog-" + str(i).zfill(2) + "-" + str(j).zfill(2) + "-" + str(nr).zfill(2) + ".tsv" + try: + processFile(pathIn, pathOut, fileName) + except: + pass + try: + fileName = "dialog-" + str(i).zfill(2) + "-" + str(j).zfill(2) + "-" + str(nr).zfill(2) + "(test)" + ".tsv" + processFile(pathIn, pathOut, fileName) + except: + pass + +cleanAllData() + +#processFile("./data/", './data/clean/', 'dialog-16-09-01.tsv') \ No newline at end of file diff --git a/tasks/zad8/pl/test.conllu b/tasks/zad8/pl/test.conllu new file mode 100644 index 0000000..4674a20 --- /dev/null +++ b/tasks/zad8/pl/test.conllu @@ -0,0 +1,263 @@ +# text: dzień dobry +# intent: hello +# slots: +1 dzień hello NoLabel +2 dobry hello NoLabel + +# text: jakie filmy są w tym tygodniu w repertuarze +# intent: reqmore +# slots: jakiefilmy:goal,wtymtygodniu:interval +1 jakie reqmore B-goal +2 filmy reqmore I-goal +3 są reqmore NoLabel +4 w reqmore B-interval +5 tym reqmore I-interval +6 tygodniu reqmore I-interval +7 w reqmore NoLabel +8 repertuarze reqmore NoLabel + +# text: o której godzinie w piątek mogę zobaczyć na noże +# intent: reqmore inform +# slots: októrejgodzinie:goal,wpiątek:date,nanoże:title +1 o reqmore inform B-goal +2 której reqmore inform I-goal +3 godzinie reqmore inform I-goal +4 w reqmore inform NoLabel +5 piątek reqmore inform B-date +6 mogę reqmore inform NoLabel +7 zobaczyć reqmore inform NoLabel +8 na reqmore inform B-title +9 noże reqmore inform I-title + +# text: ok w takim razie chciałbym zarezerwować 2 miejsca na seans o 19:30 +# intent: inform +# slots: zarezerwować:goal,2:quantity,o19:30:time +1 ok inform NoLabel +2 w inform NoLabel +3 takim inform NoLabel +4 razie inform NoLabel +5 chciałbym inform NoLabel +6 zarezerwować inform B-goal +7 2 inform B-quantity +8 miejsca inform NoLabel +9 na inform NoLabel +10 seans inform NoLabel +11 o inform NoLabel +12 19:30 inform B-time + +# text: dwa normalne +# intent: inform +# slots: dwa:quantity +1 dwa inform B-quantity +2 normalne inform NoLabel + +# text: mogą być +# intent: ack +# slots: +1 mogą ack NoLabel +2 być ack NoLabel + +# text: dziękuje bardzo +# intent: bye +# slots: +1 dziękuje bye NoLabel +2 bardzo bye NoLabel + +# text: witam +# intent: hello +# slots: +1 witam hello NoLabel + +# text: chciałbym zarezerować dwa bilety na batman +# intent: inform +# slots: zarezerować:goal,dwa:quantity,batman:title +1 chciałbym inform NoLabel +2 zarezerować inform B-goal +3 dwa inform B-quantity +4 bilety inform NoLabel +5 na inform NoLabel +6 batman inform B-title + +# text: a kiedy jest najbliższy seans +# intent: inform +# slots: kiedyjestnajbliższyseans:goal +1 a inform NoLabel +2 kiedy inform B-goal +3 jest inform I-goal +4 najbliższy inform I-goal +5 seans inform I-goal + +# text: to poproszę trzy bilety na batmana o 15:30 +# intent: inform +# slots: poproszętrzy:quantity,batmana:title,o15:30:time +1 to inform NoLabel +2 poproszę inform B-quantity +3 trzy inform I-quantity +4 bilety inform NoLabel +5 na inform NoLabel +6 batmana inform B-title +7 o inform NoLabel +8 15:30 inform B-time + +# text: na samym tyle sali +# intent: inform +# slots: nasamymtyle:area +1 na inform B-area +2 samym inform I-area +3 tyle inform I-area +4 sali inform I-area + +# text: dziękuję +# intent: thankyou +# slots: +1 dziękuję thankyou NoLabel + +# text: hej +# intent: hello +# slots: +1 hej hello NoLabel + +# text: chciałbym kupić bilety na seans zorro - jak to było na prawdę +# intent: inform +# slots: zorro:title +1 chciałbym inform NoLabel +2 kupić inform NoLabel +3 bilety inform NoLabel +4 na inform NoLabel +5 seans inform NoLabel +6 zorro inform B-title +7 - inform NoLabel +8 jak inform NoLabel +9 to inform NoLabel +10 było inform NoLabel +11 na inform NoLabel +12 prawdę inform NoLabel + +# text: zorro2 +# intent: inform +# slots: zorro2:title +1 zorro2 inform B-title + +# text: poproszę o listę seansów +# intent: reqmore +# slots: listęseansów:goal +1 poproszę reqmore NoLabel +2 o reqmore NoLabel +3 listę reqmore B-goal +4 seansów reqmore I-goal + +# text: poproszę o listę filmów granych jutro wieczorem +# intent: reqmore inform +# slots: listęfilmów:goal,jutro:date,wieczorem:time +1 poproszę reqmore inform NoLabel +2 o reqmore inform NoLabel +3 listę reqmore inform B-goal +4 filmów reqmore inform B-goal +5 granych reqmore inform NoLabel +6 jutro reqmore inform B-date +7 wieczorem reqmore inform B-time + +# text: chciałbym kupić bilety na film to nie wypanda +# intent: inform +# slots: kupić:goal,toniewypanda:title +1 chciałbym inform NoLabel +2 kupić inform B-goal +3 bilety inform NoLabel +4 na inform NoLabel +5 film inform NoLabel +6 to inform B-title +7 nie inform I-title +8 wypada inform I-title + +# text: 20:15 +# intent: inform +# slots: 20:15:time +1 20:15 inform B-time + +# text: 11 +# intent: inform +# slots: 11:quantity +1 11 inform B-quantity + +# text: w środku pomiedzy górnym i środkowym rzędem +# intent: nan +# slots: wśrodkupomiedzygórnymiśrodkowymrzędem:area +1 w null B-area +2 środku null I-area +3 pomiedzy null I-area +4 górnym null I-area +5 i null I-area +6 środkowym null I-area +7 rzędem null I-area + +# text: <3 +# intent: thankyou +# slots: +1 <3 thankyou NoLabel + +# text: dzień dobry +# intent: hello +# slots: +1 dzień hello NoLabel +2 dobry hello NoLabel + +# text: chciał bym zamówić bilet na film minionki dzisiaj o 18:30 +# intent: inform +# slots: dzisiaj:date,minionki:title,18:30:time +1 chciał inform NoLabel +2 bym inform NoLabel +3 zamówić inform NoLabel +4 bilet inform NoLabel +5 na inform NoLabel +6 film inform NoLabel +7 minionki inform B-title +8 dzisiaj inform B-date +9 o inform NoLabel +10 18:30 inform B-time + +# text: czy jest jakis film o godzinie 18:30 +# intent: request +# slots: jestjakisfilm:goal,18:30:time +1 czy request NoLabel +2 jest request B-goal +3 jakis request I-goal +4 film request I-goal +5 o request NoLabel +6 godzinie request NoLabel +7 18:30 request B-time + +# text: niech będzie +# intent: ack +# slots: +1 niech ack NoLabel +2 będzie ack NoLabel + +# text: 1 +# intent: inform +# slots: 1:quantity +1 1 inform B-quantity + +# text: jakie sš dostępne ulgi +# intent: nan +# slots: +1 jakie NoLabel +2 sš NoLabel +3 dostępne NoLabel +4 ulgi NoLabel + +# text: studencka +# intent: inform +# slots: +1 studencka inform NoLabel + +# text: daleko od ekranu +# intent: inform +# slots: dalekoodekranu:area +1 daleko inform B-area +2 od inform I-area +3 ekranu inform I-area + +# text: tak +# intent: ack +# slots: +1 tak ack NoLabel diff --git a/tasks/zad8/pl/train.conllu b/tasks/zad8/pl/train.conllu new file mode 100644 index 0000000..5f8e9ad --- /dev/null +++ b/tasks/zad8/pl/train.conllu @@ -0,0 +1,3003 @@ +# text: halo +# intent: hello +# slots: +1 halo hello NoLabel + +# text: chaciałbym pójść na premierę filmu jakie premiery są w tym tygodniu +# intent: reqmore +# slots: +1 chaciałbym reqmore NoLabel +2 pójść reqmore NoLabel +3 na reqmore NoLabel +4 premierę reqmore NoLabel +5 filmu reqmore NoLabel +6 jakie reqmore B-goal +7 premiery reqmore I-goal +8 są reqmore NoLabel +9 w reqmore B-interval +10 tym reqmore I-interval +11 tygodniu reqmore I-interval + +# text: wybieram batmana +# intent: inform +# slots: batmana:title +1 wybieram inform NoLabel +2 batmana inform B-title + +# text: najbliższy czwartek +# intent: inform +# slots: najbliższyczwartek:date +1 najbliższy inform B-date +2 czwartek inform I-date + +# text: wybieram: 17:30 +# intent: inform +# slots: 17:30:time +1 wybieram: inform NoLabel +2 17:30 inform B-time + +# text: są zniżki studenckie +# intent: reqmore +# slots: +1 są reqmore NoLabel +2 zniżki reqmore NoLabel +3 studenckie reqmore NoLabel + +# text: super w takim razie poproszę studnecki +# intent: inform +# slots: +1 super inform NoLabel +2 w inform NoLabel +3 takim inform NoLabel +4 razie inform NoLabel +5 poproszę inform NoLabel +6 studnecki inform NoLabel + +# text: 1x studencki +# intent: inform +# slots: 1x:quantity +1 1x inform B-quantity +2 studencki inform NoLabel + +# text: na środku +# intent: inform +# slots: naśrodku:area +1 na inform B-area +2 środku inform I-area + +# text: czy mogę zarezerwować kolejny bilet +# intent: inform +# slots: zarezerwować:goal +1 czy inform NoLabel +2 mogę inform NoLabel +3 zarezerwować inform B-goal +4 kolejny inform NoLabel +5 bilet inform NoLabel + +# text: tak +# intent: inform +# slots: +1 tak inform NoLabel + +# text: normalny +# intent: reqmore +# slots: +1 normalny reqmore NoLabel + +# text: super poproszę by miejsca były obok siebie +# intent: inform +# slots: +1 super inform NoLabel +2 poproszę inform NoLabel +3 by inform NoLabel +4 miejsca inform NoLabel +5 były inform NoLabel +6 obok inform NoLabel +7 siebie inform NoLabel + +# text: super czy można płacić z góry +# intent: reqmore +# slots: +1 super reqmore NoLabel +2 czy reqmore NoLabel +3 można reqmore NoLabel +4 płacić reqmore NoLabel +5 z reqmore NoLabel +6 góry reqmore NoLabel + +# text: ok czy bilety mam już zarezerwowane +# intent: reqmore +# slots: +1 ok reqmore NoLabel +2 czy reqmore NoLabel +3 bilety reqmore NoLabel +4 mam reqmore NoLabel +5 już reqmore NoLabel +6 zarezerwowane reqmore NoLabel + +# text: super dziękuję +# intent: bye +# slots: +1 super bye NoLabel +2 dziękuję bye NoLabel + +# text: dzień dobry +# intent: hello +# slots: +1 dzień hello NoLabel +2 dobry hello NoLabel + +# text: chcę zarezerwować bilety +# intent: inform +# slots: +1 chcę inform NoLabel +2 zarezerwować inform B-goal +3 bilety inform NoLabel + +# text: dzisiaj +# intent: inform +# slots: dzisiaj:date +1 dzisiaj inform B-date + +# text: 16:30 +# intent: infomrm +# slots: +1 16:30 inform B-time + +# text: cześć +# intent: hello +# slots: +1 cześć hello NoLabel + +# text: chciałbym anulować rezerwację biletu +# intent: inform +# slots: +1 chciałbym inform NoLabel +2 anulować inform NoLabel +3 rezerwację inform NoLabel +4 biletu inform NoLabel + +# text: numer 42069 +# intent: inform +# slots: +1 numer inform NoLabel +2 42069 inform NoLabel + +# text: numer 42068 +# intent: inform +# slots: +1 numer inform NoLabel +2 42068 inform NoLabel + +# text: numer 42067 +# intent: inform +# slots: +1 numer inform NoLabel +2 42067 inform NoLabel + +# text: chciałbym anulować rezerwację biletu dla imienia i nazwiska jan kowalski +# intent: inform +# slots: +1 chciałbym inform NoLabel +2 anulować inform NoLabel +3 rezerwację inform NoLabel +4 biletu inform NoLabel +5 dla inform NoLabel +6 imienia inform NoLabel +7 i inform NoLabel +8 nazwiska inform NoLabel +9 jan inform NoLabel +10 kowalski inform NoLabel + +# text: nie pamiętam czy mogę podać e-mail +# intent: reqmore +# slots: +1 nie reqmore NoLabel +2 pamiętam reqmore NoLabel +3 czy reqmore NoLabel +4 mogę reqmore NoLabel +5 podać reqmore NoLabel +6 e-mail reqmore NoLabel + +# text: elo +# intent: hello +# slots: +1 elo hello NoLabel + +# text: chciałbym kupić bilety na seans zorro - jak to było na prawdę +# intent: inform +# slots: zorro:title +1 chciałbym inform NoLabel +2 kupić inform NoLabel +3 bilety inform NoLabel +4 na inform NoLabel +5 seans inform NoLabel +6 zorro inform B-title +7 - inform NoLabel +8 jak inform NoLabel +9 to inform NoLabel +10 było inform NoLabel +11 na inform NoLabel +12 prawdę inform NoLabel + +# text: poproszę listę filmów granych jutro wieczorem +# intent: reqmore inform +# slots: listęfilmów:goaljutro:date,wieczorem:interval +1 poproszę reqmore inform NoLabel +2 listę reqmore inform B-goal +3 filmów reqmore inform I-goal +4 granych reqmore inform NoLabel +5 jutro reqmore inform B-date +6 wieczorem reqmore inform B-interval + +# text: chciałbym kupić bilety na transformers +# intent: inform +# slots: +1 chciałbym inform NoLabel +2 kupić inform B-goal +3 bilety inform NoLabel +4 na inform NoLabel +5 transformers inform NoLabel + +# text: tak chcę dwa bilety za 2 dni +# intent: inform +# slots: 2:quantity +1 tak inform NoLabel +2 chcę inform NoLabel +3 dwa inform B-quantity +4 bilety inform NoLabel +5 za inform B-date +6 2 inform I-date +7 dni inform I-date + +# text: normalne +# intent: inform +# slots: +1 normalne inform NoLabel + +# text: przy oknie w przedziale +# intent: nan +# slots: +1 przy null NoLabel +2 oknie null NoLabel +3 w null NoLabel +4 przedziale null NoLabel + +# text: wagon z przedziałami miejsce przy oknie +# intent: nan +# slots: +1 wagon null NoLabel +2 z null NoLabel +3 przedziałami null NoLabel +4 miejsce null NoLabel +5 przy null NoLabel +6 oknie null NoLabel + +# text: tak ale bardziej z góry +# intent: inform +# slots: +1 tak inform NoLabel +2 ale inform NoLabel +3 bardziej inform NoLabel +4 z inform B-area +5 góry inform I-area + +# text: exit +# intent: bye +# slots: +1 exit bye NoLabel + +# text: kim jesteś +# intent: help +# slots: +1 kim help NoLabel +2 jesteś help NoLabel + +# text: co gracie +# intent: reqmore +# slots: +1 co reqmore B-goal +2 gracie reqmore I-goal + +# text: jaki zorro +# intent: reqmore +# slots: zorro:title +1 jaki reqmore NoLabel +2 zorro reqmore B-title + +# text: w jakich godzinach gracie zorro +# intent: reqmore +# slots: wjakichgodzinach:goal,zorro:title +1 w reqmore B-goal +2 jakich reqmore I-goal +3 godzinach reqmore I-goal +4 gracie reqmore NoLabel +5 zorro reqmore B-title + +# text: chciałbym zarezerwować bilety na batmana +# intent: inform +# slots: zarezerwować:goal,batmana:title +1 chciałbym inform NoLabel +2 zarezerwować inform B-goal +3 bilety inform NoLabel +4 na inform NoLabel +5 batmana inform B-title + +# text: 21032022 +# intent: inform +# slots: +1 21032022 inform NoLabel + +# text: 23032022 +# intent: inform +# slots: +1 23032022 inform NoLabel + +# text: super +# intent: ack +# slots: +1 super ack NoLabel + +# text: 13:00 +# intent: inform +# slots: 13:00:time +1 13:00 inform B-time + +# text: 1 normalny +# intent: inform +# slots: 1:quantity +1 1 inform B-quantity +2 normalny inform NoLabel + +# text: blisko ekranu +# intent: inform +# slots: bliskoekranu:area +1 blisko inform B-area +2 ekranu inform I-area + +# text: dziękuję do usłyszenia +# intent: bye +# slots: +1 dziękuję bye NoLabel +2 do bye NoLabel +3 usłyszenia bye NoLabel + +# text: dzień dobry +# intent: hello +# slots: +1 dzień hello NoLabel +2 dobry hello NoLabel + +# text: chciałbym się dowiedzieć jaki jest cennik +# intent: reqmore +# slots: +1 chciałbym reqmore NoLabel +2 się reqmore NoLabel +3 dowiedzieć reqmore NoLabel +4 jaki reqmore NoLabel +5 jest reqmore NoLabel +6 cennik reqmore NoLabel + +# text: a jest zniżka studencka +# intent: reqmore +# slots: +1 a reqmore NoLabel +2 jest reqmore NoLabel +3 zniżka reqmore NoLabel +4 studencka reqmore NoLabel + +# text: a co leci dzisiaj w kinie +# intent: reqmore inform +# slots: dzisiaj:date +1 a reqmore inform NoLabel +2 co reqmore inform B-goal +3 leci reqmore inform I-goal +4 dzisiaj reqmore inform B-date +5 w reqmore inform NoLabel +6 kinie reqmore inform NoLabel + +# text: o której jest na noże +# intent: reqmore inform +# slots: októrej:goal,nanoże:title +1 o reqmore inform B-goal +2 której reqmore inform I-goal +3 jest reqmore inform NoLabel +4 na reqmore inform B-title +5 noże reqmore inform I-title + +# text: poproszę dwa bilety na 12 +# intent: inform +# slots: na12:time +1 poproszę inform NoLabel +2 dwa inform NoLabel +3 bilety inform NoLabel +4 na inform B-time +5 12 inform I-time + +# text: a jakie są +# intent: reqmore +# slots: +1 a reqmore NoLabel +2 jakie reqmore NoLabel +3 są reqmore NoLabel + +# text: 2 ulgowe poprosze +# intent: inform +# slots: 2:quantity +1 2 inform B-quantity +2 ulgowe inform NoLabel +3 poprosze inform NoLabel + +# text: jakie są wolne miejsca +# intent: reqmore +# slots: +1 jakie reqmore NoLabel +2 są reqmore NoLabel +3 wolne reqmore NoLabel +4 miejsca reqmore NoLabel + +# text: tak +# intent: ack +# slots: +1 tak ack NoLabel + +# text: chciałbym 3 bilety na batmana na jtro +# intent: inform +# slots: 3:quantity,batmana:title, jtro:date +1 chciałbym inform NoLabel +2 3 inform B-quantity +3 bilety inform NoLabel +4 na inform NoLabel +5 batmana inform B-title +6 na inform NoLabel +7 jtro inform B-date + +# text: coś koło południa +# intent: reqmore +# slots: kołopołudnia:interval +1 coś reqmore NoLabel +2 koło reqmore B-interval +3 południa reqmore I-interval + +# text: nic później +# intent: reqalts +# slots: +1 nic reqalts NoLabel +2 później reqalts NoLabel + +# text: dzień dobry +# intent: hello +# slots: +1 dzień hello NoLabel +2 dobry hello NoLabel + +# text: chciałabym zarezerwować bilet do kina +# intent: inform +# slots: zarezerwować:goal +1 chciałabym inform NoLabel +2 zarezerwować inform B-goal +3 bilet inform NoLabel +4 do inform NoLabel +5 kina inform NoLabel + +# text: dziś +# intent: inform +# slots: dziś:date +1 dziś inform B-date + +# text: proszę na batmana +# intent: inform +# slots: batmana:title +1 proszę inform NoLabel +2 na inform NoLabel +3 batmana inform B-title + +# text: proszę o godzine 20:19 +# intent: inform +# slots: 20:19:time +1 proszę inform NoLabel +2 o inform NoLabel +3 godzine inform NoLabel +4 20:19 inform B-time + +# text: ulogwy +# intent: inform +# slots: +1 ulogwy inform NoLabel + +# text: 1 +# intent: impl-conf inform +# slots: 1:quantity +1 1 inform B-quantity + +# text: z tyłu na środku (aby ekran był centralnie widoczny) +# intent: inform +# slots: ztylunaśrodku:area +1 z inform B-area +2 tyłu inform I-area +3 na inform I-area +4 środku inform I-area +5 (aby inform NoLabel +6 ekran inform NoLabel +7 był inform NoLabel +8 centralnie inform NoLabel +9 widoczny) inform NoLabel + +# text: dobrze dziekuję +# intent: bye +# slots: +1 dobrze bye NoLabel +2 dziekuję bye NoLabel + +# text: cześć +# intent: hello +# slots: +1 cześć hello NoLabel + +# text: czy mogę zarezerwować nachosy do kina +# intent: reqmore +# slots: +1 czy reqmore NoLabel +2 mogę reqmore NoLabel +3 zarezerwować reqmore NoLabel +4 nachosy reqmore NoLabel +5 do reqmore NoLabel +6 kina reqmore NoLabel + +# text: dziekuje +# intent: thankyou +# slots: +1 dziekuje thankyou NoLabel + +# text: witam +# intent: hello +# slots: +1 witam hello NoLabel + +# text: co potrafisz +# intent: help +# slots: +1 co help NoLabel +2 potrafisz help NoLabel + +# text: jakie są najbliższe seanse +# intent: inform +# slots: +1 jakie inform B-goal +2 są inform I-goal +3 najbliższe inform I-goal +4 seanse inform I-goal + +# text: a jakie są dostępne +# intent: reqmore +# slots: +1 a reqmore NoLabel +2 jakie reqmore NoLabel +3 są reqmore NoLabel +4 dostępne reqmore NoLabel + +# text: a w jakim to kinie +# intent: request +# slots: +1 a request NoLabel +2 w request NoLabel +3 jakim request NoLabel +4 to request NoLabel +5 kinie request NoLabel + +# text: a gdzie jest to kino +# intent: reqmore +# slots: +1 a reqmore NoLabel +2 gdzie reqmore NoLabel +3 jest reqmore NoLabel +4 to reqmore NoLabel +5 kino reqmore NoLabel + +# text: o której grają uncharted +# intent: reqmore inform +# slots: októrej:goal,uncharted:title +1 o reqmore inform B-goal +2 której reqmore inform I-goal +3 grają reqmore inform NoLabel +4 uncharted reqmore inform B-title + +# text: ile kosztują bilety na ten film +# intent: request +# slots: +1 ile request NoLabel +2 kosztują request NoLabel +3 bilety request NoLabel +4 na request NoLabel +5 ten request NoLabel +6 film request NoLabel + +# text: a w jaki dzień bilety są tańsze +# intent: reqmore +# slots: +1 a reqmore NoLabel +2 w reqmore NoLabel +3 jaki reqmore NoLabel +4 dzień reqmore NoLabel +5 bielty reqmore NoLabel +6 są reqmore NoLabel +7 tańsze reqmore NoLabel + +# text: w takim razie chciałbym zarezerwować dwa bilety normalne i jeden ulgowy na środę 20:00 +# intent: inform +# slots: zarezerwować:goal,dwa:quantity,jeden:quantity,20:00:time +1 w inform NoLabel +2 takim inform NoLabel +3 razie inform NoLabel +4 chciałbym inform NoLabel +5 zarezerwować inform B-goal +6 dwa inform B-quantity +7 bilety inform NoLabel +8 normalne inform NoLabel +9 i inform NoLabel +10 jeden inform B-quantity +11 ulgowy inform NoLabel +12 na inform NoLabel +13 środę inform B-date +14 20:00 inform B-time + +# text: na środku sali +# intent: inform +# slots: naśrodku:area +1 na inform B-area +2 środku inform I-area +3 sali inform NoLabel + +# text: ok +# intent: ack +# slots: +1 ok ack NoLabel + +# text: witam +# intent: hello +# slots: +1 witam hello NoLabel + +# text: jaki jest repertuar na piątek +# intent: reqmore inform +# slots: +1 jaki reqmore inform NoLabel +2 jest reqmore inform NoLabel +3 repertuar reqmore inform NoLabel +4 na reqmore inform NoLabel +5 piątek reqmore inform NoLabel + +# text: o jakich godzinach grają te filmy +# intent: reqmore +# slots: +1 o reqmore NoLabel +2 jakich reqmore NoLabel +3 godzinach reqmore NoLabel +4 grają reqmore NoLabel +5 te reqmore NoLabel +6 filmy reqmore NoLabel + +# text: wszystkie +# intent: ack +# slots: +1 wszystkie ack NoLabel + +# text: czy obgługujecie rezerwację biletów grupowych +# intent: request +# slots: +1 czy request NoLabel +2 obgługujecie request NoLabel +3 rezerwację request NoLabel +4 biletów request NoLabel +5 grupowych request NoLabel + +# text: rozumiem a jak mogę dokonać rezerwacji dla 20 osób +# intent: reqmore +# slots: rezerwacji:goal,20:quantity +1 rozumiem reqmore NoLabel +2 a reqmore NoLabel +3 jak reqmore NoLabel +4 mogę reqmore NoLabel +5 dokonać reqmore NoLabel +6 rezerwacji reqmore B-goal +7 dla reqmore NoLabel +8 20 reqmore B-quantity +9 osób reqmore NoLabel + +# text: tak +# intent: affirm +# slots: +1 tak affirm NoLabel + +# text: dziękuję +# intent: ack +# slots: +1 dziękuję ack NoLabel + +# text: witam +# intent: hello +# slots: +1 witam hello NoLabel + +# text: czy w kinie rialto grają jakieś stare filmy +# intent: reqmore +# slots: +1 czy reqmore NoLabel +2 w reqmore NoLabel +3 kinie reqmore NoLabel +4 rialto reqmore NoLabel +5 grają reqmore NoLabel +6 jakieś reqmore NoLabel +7 stare reqmore NoLabel +8 filmy reqmore NoLabel + +# text: to dziękuję +# intent: thankyou +# slots: +1 to thankyou NoLabel +2 dziękuję thankyou NoLabel + +# text: witam +# intent: hello +# slots: +1 witam hello NoLabel + +# text: czy tylko można u was rezerwować nachos +# intent: null +# slots: +1 czy null NoLabel +2 tylko null NoLabel +3 można null NoLabel +4 u null NoLabel +5 was null NoLabel +6 rezerwować null NoLabel +7 nachos null NoLabel + +# text: chciałbym zapytać co u pana +# intent: hello +# slots: +1 chciałbym hello NoLabel +2 zapytać hello NoLabel +3 co hello NoLabel +4 u hello NoLabel +5 pana hello NoLabel + +# text: poproszę bilet na batmana o 19:00 +# intent: inform +# slots: batmana:title,19:00:time +1 poproszę inform NoLabel +2 bilet inform NoLabel +3 na inform NoLabel +4 batmana inform B-title +5 o inform NoLabel +6 19:00 inform B-time + +# text: bez ludzi w okolicy +# intent: inform +# slots: +1 bez inform NoLabel +2 ludzi inform NoLabel +3 w inform NoLabel +4 okolicy inform NoLabel + +# text: czy to wszystko +# intent: affirm +# slots: +1 czy affirm NoLabel +2 to affirm NoLabel +3 wszystko affirm NoLabel + +# text: dzień dobry +# intent: hello +# slots: +1 dzień hello NoLabel +2 dobry hello NoLabel + +# text: chciałbym zarezerwować film +# intent: null +# slots: +1 chciałbym null NoLabel +2 zarezerwować null NoLabel +3 film null NoLabel + +# text: bilet na film +# intent: inform +# slots: +1 bilet inform NoLabel +2 na inform NoLabel +3 film inform NoLabel + +# text: jakie filmy są teraz w kinach +# intent: request +# slots: jakiefilmysą:goal +1 jakie request B-goal +2 filmy request I-goal +3 są request I-goal +4 teraz request NoLabel +5 w request NoLabel +6 kinach request NoLabel + +# text: poproszę 3x bilet na ambulans +# intent: inform +# slots: 3x:quantity,ambulans:title +1 poproszę inform NoLabel +2 3x inform B-quantity +3 bilet inform NoLabel +4 na inform NoLabel +5 ambulans inform B-title + +# text: niech będzie ten ostatni +# intent: inform +# slots: +1 niech inform NoLabel +2 będzie inform NoLabel +3 ten inform NoLabel +4 ostatni inform NoLabel + +# text: przedostatnim +# intent: inform +# slots: +1 przedostatnim inform B-area + +# text: spoko +# intent: ack +# slots: +1 spoko ack NoLabel + +# text: chciałbym jeszcze kupon na jedzenie +# intent: nan +# slots: +1 chciałbym NoLabel +2 jeszcze NoLabel +3 kupon NoLabel +4 na NoLabel +5 jedzenie NoLabel + +# text: poproszę słony popcorn +# intent: nan +# slots: +1 poproszę NoLabel +2 słony NoLabel +3 popcorn NoLabel + +# text: duży +# intent: nan +# slots: +1 duży NoLabel + +# text: nara +# intent: bye +# slots: +1 nara bye NoLabel + +# text: dzień dobry +# intent: hello +# slots: +1 dzień hello NoLabel +2 dobry hello NoLabel + +# text: chciał bym zamówić bilet na film minionki dzisiaj o 18:30 +# intent: inform +# slots: minionki:title,dzisiaj:date +1 chciał inform NoLabel +2 bym inform NoLabel +3 zamówić inform NoLabel +4 bilet inform NoLabel +5 na inform NoLabel +6 film inform NoLabel +7 minionki inform B-title +8 dzisiaj inform B-date +9 o inform NoLabel +10 18:30 inform B-time + +# text: cześć +# intent: hello +# slots: +1 cześć hello NoLabel + +# text: co mogę zarezerwować +# intent: reqmore +# slots: +1 co reqmore NoLabel +2 mogę reqmore NoLabel +3 zarezerwować reqmore NoLabel + +# text: gdzie znajduje się kino +# intent: request +# slots: +1 gdzie request NoLabel +2 znajduje request NoLabel +3 się request NoLabel +4 kino request NoLabel + +# text: tak chciałbym iść do multikina na malcie +# intent: inform +# slots: +1 tak inform NoLabel +2 chciałbym inform NoLabel +3 iść inform NoLabel +4 do inform NoLabel +5 multikina inform NoLabel +6 na inform NoLabel +7 malcie inform NoLabel + +# text: super teraz chciałbym zarezerwować bilet na film +# intent: inform +# slots: zarezerwować:goal +1 super inform NoLabel +2 teraz inform NoLabel +3 chciałbym inform NoLabel +4 zarezerwować inform B-goal +5 bilet inform NoLabel +6 na inform NoLabel +7 film inform NoLabel + +# text: uncharted +# intent: inform +# slots: uncharted:title +1 uncharted inform B-title + +# text: wybieram godzine 12:00 +# intent: inform +# slots: 12:00:time +1 wybieram inform NoLabel +2 godzine inform NoLabel +3 12:00 inform B-time + +# text: 1 miejsce gdzieś na środku sali +# intent: inform +# slots: 1:quantity,naśrodku:area +1 1 inform B-quantity +2 miejsce inform NoLabel +3 gdzieś inform NoLabel +4 na inform B-area +5 środku inform I-area +6 sali inform NoLabel + +# text: pasuje +# intent: ack +# slots: +1 pasuje ack NoLabel + +# text: elo +# intent: help +# slots: +1 elo help NoLabel + +# text: chciałabym zarezerwować bilet +# intent: inform +# slots: zarezerwować:goal +1 chciałabym inform NoLabel +2 zarezerwować inform B-goal +3 bilet inform NoLabel + +# text: co gracie +# intent: request +# slots: cogracie:goal +1 co request B-goal +2 gracie request I-goal + +# text: ja bym chciała na fantastyczne zwierzęta +# intent: inform +# slots: fantastycznezwierzęta:title +1 ja inform NoLabel +2 bym inform NoLabel +3 chciała inform NoLabel +4 na inform NoLabel +5 fantastyczne inform B-title +6 zwierzęta inform I-title + +# text: 29032022 +# intent: inform +# slots: +1 29032022 inform NoLabel + +# text: jakoś wieczorkiem +# intent: inform +# slots: wieczorkiem:time +1 jakoś inform NoLabel +2 wieczorkiem inform B-time + +# text: to na 21 prosze +# intent: inform +# slots: na21:time +1 to inform NoLabel +2 na inform B-time +3 21 inform I-time +4 prosze inform NoLabel + +# text: to na 18 proszę +# intent: inform +# slots: na18:time +1 to inform NoLabel +2 na inform B-time +3 18 inform I-time +4 proszę inform NoLabel + +# text: najlepsze +# intent: inform +# slots: +1 najlepsze inform NoLabel + +# text: moment no ile tych miejsc i czemu nie są w tym samym rzędzie +# intent: reqmore +# slots: +1 moment reqmore NoLabel +2 no reqmore NoLabel +3 ile reqmore NoLabel +4 tych reqmore NoLabel +5 miejsc reqmore NoLabel +6 i reqmore NoLabel +7 czemu reqmore NoLabel +8 nie reqmore NoLabel +9 są reqmore NoLabel +10 w reqmore NoLabel +11 tym reqmore NoLabel +12 samym reqmore NoLabel +13 rzędzie reqmore NoLabel + +# text: proszę z managerem +# intent: nan +# slots: +1 proszę NoLabel +2 z NoLabel +3 managerem NoLabel + +# text: jeden dla mnie i dla kotka proszę +# intent: inform +# slots: jeden:quantity +1 jeden inform B-quantity +2 dla inform NoLabel +3 mnie inform NoLabel +4 i inform NoLabel +5 dla inform NoLabel +6 kotka inform NoLabel +7 proszę inform NoLabel + +# text: dobra to blikiem proszę +# intent: nan +# slots: +1 dobra NoLabel +2 to NoLabel +3 blikiem NoLabel +4 proszę NoLabel + +# text: halo halo +# intent: nan +# slots: +1 halo NoLabel +2 halo NoLabel + +# text: nie skończyłam +# intent: nan +# slots: +1 nie NoLabel +2 skończyłam NoLabel + +# text: ehhh +# intent: nan +# slots: +1 ehhh NoLabel + +# text: dzień dobry +# intent: hello +# slots: +1 dzień hello NoLabel +2 dobry hello NoLabel + +# text: no właśnie w czym możesz pomóc +# intent: help +# slots: +1 no help NoLabel +2 właśnie help NoLabel +3 w help NoLabel +4 czym help NoLabel +5 możesz help NoLabel +6 pomóc help NoLabel + +# text: a jedzonko macie +# intent: reqmore +# slots: +1 a reqmore NoLabel +2 jedzonko reqmore NoLabel +3 macie reqmore NoLabel + +# text: nachosy proszę +# intent: reqmore +# slots: +1 nachosy reqmore NoLabel +2 proszę reqmore NoLabel + +# text: a jakie sosy do nachosów +# intent: reqmore +# slots: +1 a reqmore NoLabel +2 jakie reqmore NoLabel +3 sosy reqmore NoLabel +4 do reqmore NoLabel +5 nachosów reqmore NoLabel + +# text: chciałabym anulować rezerwację +# intent: inform +# slots: +1 chciałabym inform NoLabel +2 anulować inform NoLabel +3 rezerwację inform NoLabel + +# text: 123123 +# intent: inform +# slots: +1 123123 inform NoLabel + +# text: dzięki <3 +# intent: thankyou +# slots: +1 dzięki thankyou NoLabel +2 <3 thankyou NoLabel + +# text: dzień dobry +# intent: hello +# slots: +1 dzień hello NoLabel +2 dobry hello NoLabel + +# text: chciałabym zmienić rezerwację +# intent: inform +# slots: +1 chciałabym inform NoLabel +2 zmienić inform NoLabel +3 rezerwację inform NoLabel + +# text: 123123 +# intent: inform +# slots: +1 123123 inform NoLabel + +# text: upewniam się +# intent: ack +# slots: +1 upewniam ack NoLabel +2 się ack NoLabel + +# text: dzień dobry +# intent: hello +# slots: +1 dzień hello NoLabel +2 dobry hello NoLabel + +# text: chciałbym zarezerwować bilety +# intent: inform +# slots: zarezerwować:goal +1 chciałbym inform NoLabel +2 zarezerwować inform B-goal +3 bilety inform NoLabel + +# text: batman +# intent: inform +# slots: batman:title +1 batman inform B-title + +# text: dzisiaj +# intent: inform +# slots: dzisiaj:date +1 dzisiaj inform B-date + +# text: podaj więcej informacji o seansach +# intent: reqmore +# slots: +1 podaj reqmore NoLabel +2 więcej reqmore NoLabel +3 informacji reqmore NoLabel +4 o reqmore NoLabel +5 seansach reqmore NoLabel + +# text: podaj więcej informacji o seansie o 15:20 +# intent: reqmore +# slots: więcejinformacji:goal,15:20:time +1 podaj reqmore NoLabel +2 więcej reqmore B-goal +3 informacji reqmore I-goal +4 o reqmore NoLabel +5 seansie reqmore NoLabel +6 o reqmore NoLabel +7 15:20 reqmore B-time + +# text: czy film jest 2d czy 3d +# intent: reqmore +# slots: +1 czy reqmore NoLabel +2 film reqmore NoLabel +3 jest reqmore NoLabel +4 2d reqmore NoLabel +5 czy reqmore NoLabel +6 3d reqmore NoLabel + +# text: podaj informacje o napisach/dubbingu +# intent: reqmore +# slots: +1 podaj reqmore NoLabel +2 informacje reqmore B-goal +3 o reqmore NoLabel +4 napisach/dubbingu reqmore NoLabel + +# text: cześć +# intent: hello +# slots: +1 cześć hello NoLabel + +# text: chciałbym zarezwsfsgf bilet +# intent: null +# slots: +1 chciałbym null NoLabel +2 zarezwsfsgf null NoLabel +3 bilet null NoLabel + +# text: chciałbym zarezerwować bilet +# intent: inform +# slots: zarezerwować:goal +1 chciałbym inform NoLabel +2 zarezerwować inform B-goal +3 bilet inform NoLabel + +# text: jakie są wyświetlane w najbliższą sobotę +# intent: reqmore +# slots: jakiesąwyświetlane:goal,wnajbliższąsobotę:date +1 jakie reqmore B-goal +2 są reqmore I-goal +3 wyświetlane reqmore I-goal +4 w reqmore B-date +5 najbliższą reqmore I-date +6 sobotę reqmore I-date + +# text: w których godzinach grany jest film to nie wypanda +# intent: reqmore inform +# slots: wktórychgodzinach:goal,toniewypanda:title +1 w reqmore inform B-goal +2 których reqmore inform B-goal +3 godzinach reqmore inform B-goal +4 grany reqmore inform NoLabel +5 jest reqmore inform NoLabel +6 film reqmore inform NoLabel +7 to reqmore inform B-title +8 nie reqmore inform I-title +9 wypanda reqmore inform I-title + +# text: w takim razie chciałbym kupić 3 bilety jeśli możliwe miejsca koło siebie +# intent: inform +# slots: 3:quantity +1 w inform NoLabel +2 takim inform NoLabel +3 razie inform NoLabel +4 chciałbym inform NoLabel +5 kupić inform NoLabel +6 3 inform B-quantity +7 bilety inform NoLabel +8 jeśli inform NoLabel +9 możliwe inform NoLabel +10 miejsca inform NoLabel +11 koło inform NoLabel +12 siebie inform NoLabel + +# text: najbliższa sobota +# intent: inform +# slots: najbliższasobota:date +1 najbliższa inform B-date +2 sobota inform I-date + +# text: godzina 19:30 +# intent: inform +# slots: 19:30:time +1 godzina inform NoLabel +2 19:30 inform B-time + +# text: najlepiej w ostatnim rzędzie +# intent: inform +# slots: wostatnimrzędzie:area +1 najlepiej inform NoLabel +2 w inform B-area +3 ostatnim inform I-area +4 rzędzie inform I-area + +# text: chciałbym zapłacić przy odbiorze +# intent: reqmore +# slots: +1 chciałbym reqmore NoLabel +2 zapłacić reqmore NoLabel +3 przy reqmore NoLabel +4 odbiorze reqmore NoLabel + +# text: czy moja rezerwacja została potwierdzona +# intent: reqmore +# slots: +1 czy reqmore NoLabel +2 moja reqmore NoLabel +3 rezerwacja reqmore NoLabel +4 została reqmore NoLabel +5 potwierdzona reqmore NoLabel + +# text: 84372 +# intent: inform +# slots: +1 84372 inform NoLabel + +# text: nie +# intent: negate +# slots: +1 nie negate NoLabel + +# text: dzień dobry +# intent: hello +# slots: +1 dzień hello NoLabel +2 dobry hello NoLabel + +# text: chciałbym dowiedzieć się jakie filmy są wyświetlane w tym tygodniu +# intent: reqmore +# slots: jakiefilmysą:goal,wtymtygodniu:interval +1 chciałbym reqmore NoLabel +2 dowiedzieć reqmore NoLabel +3 się reqmore NoLabel +4 jakie reqmore B-goal +5 filmy reqmore I-goal +6 są reqmore I-goal +7 wyświetlane reqmore NoLabel +8 w reqmore B-interval +9 tym reqmore I-interval +10 tygodniu reqmore I-interval + +# text: w jakich godzinach mogę zobaczyć batmana w piątek +# intent: reqmore inform +# slots: wjakichgodzinach:goal,batmana:title,piątek:date +1 w reqmore inform B-goal +2 jakich reqmore inform I-goal +3 godzinach reqmore inform I-goal +4 mogę reqmore inform NoLabel +5 zobaczyć reqmore inform NoLabel +6 batmana reqmore inform B-title +7 w reqmore inform NoLabel +8 piątek reqmore inform B-date + +# text: chciałbym zarezerwować 3 miejsca na seans o 17:45 +# intent: inform +# slots: zarezerwować:goal,3:quantity,17:45:time +1 chciałbym inform NoLabel +2 zarezerwować inform B-goal +3 3 inform B-quantity +4 miejsca inform NoLabel +5 na inform NoLabel +6 seans inform NoLabel +7 o inform NoLabel +8 17:45 inform B-time + +# text: czy są dostępne miejsca w tylnych rzędach +# intent: reqmore inform +# slots: czysądostępnemiejsca:goal,wtylnychrzędach:area +1 czy reqmore inform B-goal +2 są reqmore inform I-goal +3 dostępne reqmore inform I-goal +4 miejsca reqmore inform I-goal +5 w reqmore inform B-area +6 tylnych reqmore inform I-area +7 rzędach reqmore inform I-area + +# text: ok +# intent: affirm inform +# slots: +1 ok affirm inform NoLabel + +# text: dziękuję do widzenia +# intent: bye thankyou +# slots: +1 dziękuję bye thankyou NoLabel +2 do bye thankyou NoLabel +3 widzenia bye thankyou NoLabel + +# text: dzień dobry chciałbym anulować rezerwację +# intent: hello inform +# slots: +1 dzień hello inform NoLabel +2 dobry hello inform NoLabel +3 chciałbym hello inform NoLabel +4 anulować hello inform NoLabel +5 rezerwację hello inform NoLabel + +# text: 87574 +# intent: inform +# slots: +1 87574 inform NoLabel + +# text: potwierdzam +# intent: affirm +# slots: +1 potwierdzam affirm NoLabel + +# text: cześć +# intent: hello +# slots: +1 cześć hello NoLabel + +# text: nie możesz +# intent: thankyou +# slots: +1 nie thankyou NoLabel +2 możesz thankyou NoLabel + +# text: dzień dobry systemie +# intent: hello +# slots: +1 dzień hello NoLabel +2 dobry hello NoLabel +3 systemie hello NoLabel + +# text: chciałbym kupić nachos +# intent: reqmore +# slots: +1 chciałbym reqmore NoLabel +2 kupić reqmore NoLabel +3 nachos reqmore NoLabel + +# text: jak mogę się do takiej strefy dostać +# intent: reqmore +# slots: +1 jak reqmore NoLabel +2 mogę reqmore NoLabel +3 się reqmore NoLabel +4 do reqmore NoLabel +5 takiej reqmore NoLabel +6 strefy reqmore NoLabel +7 dostać reqmore NoLabel + +# text: w jakim mieście +# intent: reqmore +# slots: +1 w reqmore NoLabel +2 jakim reqmore NoLabel +3 mieście reqmore NoLabel + +# text: czy można zarezerwować u was bilety na seans +# intent: reqmore +# slots: zarezerwować:goal +1 czy reqmore NoLabel +2 można reqmore NoLabel +3 zarezerwować reqmore B-goal +4 u reqmore NoLabel +5 was reqmore NoLabel +6 bilety reqmore NoLabel +7 na reqmore NoLabel +8 seans reqmore NoLabel + +# text: jakie polecasz +# intent: reqmore +# slots: +1 jakie reqmore NoLabel +2 polecasz reqmore NoLabel + +# text: jaką ocenę posiada batman +# intent: reqmore +# slots: jakąocenę:goal,batman:title +1 jaką reqmore B-goal +2 ocenę reqmore I-goal +3 posiada reqmore NoLabel +4 batman reqmore B-title + +# text: dobrze chciałbym zatem zarezerwować bilet na innych ludzi +# intent: inform +# slots: zarezerwować:goal,innychludzi:title +1 dobrze inform NoLabel +2 chciałbym inform NoLabel +3 zatem inform NoLabel +4 zarezerwować inform B-goal +5 bilet inform NoLabel +6 na inform NoLabel +7 innych inform B-title +8 ludzi inform I-title + +# text: 22032022 +# intent: inform +# slots: +1 22032022 inform NoLabel + +# text: jutro po godzinie 16:00 +# intent: inform +# slots: jutro:date,pogodzinie16:00:interval +1 jutro inform B-date +2 po inform B-interval +3 godzinie inform I-interval +4 16:00 inform I-interval + +# text: jaki jutro jest dzień tygodnia +# intent: request +# slots: jutro:date +1 jaki request NoLabel +2 jutro request B-date +3 jest request NoLabel +4 dzień request NoLabel +5 tygodnia request NoLabel + +# text: to poproszę o rezerwację na 17:45 +# intent: inform +# slots: na17:45:time +1 to inform NoLabel +2 poproszę inform NoLabel +3 o inform NoLabel +4 rezerwację inform NoLabel +5 na inform B-time +6 17:45 inform I-time + +# text: 17:45 +# intent: inform +# slots: 17:45:time +1 17:45 inform B-time + +# text: z tyłu sali nie na samym końcu +# intent: inform +# slots: ztyłusalinienasamymkońcu:area +1 z inform B-area +2 tyłu inform I-area +3 sali inform I-area +4 nie inform I-area +5 na inform I-area +6 samym inform I-area +7 końcu inform I-area + +# text: w jakiej części rzędu znajduje się to miejsce +# intent: request +# slots: +1 w request NoLabel +2 jakiej request NoLabel +3 części request NoLabel +4 rzędu request NoLabel +5 znajduje request NoLabel +6 się request NoLabel +7 to request NoLabel +8 miejsce request NoLabel + +# text: dziękuję +# intent: thankyou +# slots: +1 dziękuję thankyou NoLabel + +# text: dzień dobry +# intent: hello +# slots: +1 dzień hello NoLabel +2 dobry hello NoLabel + +# text: chciałbym kupić dwa bilety na batmana +# intent: inform +# slots: kupić:goal,dwa:quantity,batmana:title +1 chciałbym inform NoLabel +2 kupić inform B-goal +3 dwa inform B-quantity +4 bilety inform NoLabel +5 na inform NoLabel +6 batmana inform B-title + +# text: jutro +# intent: inform +# slots: jutro:date +1 jutro inform B-date + +# text: poproszę na 20:30 +# intent: inform +# slots: na20:30:time +1 poproszę inform NoLabel +2 na inform B-time +3 20:30 inform I-time + +# text: z tyłu +# intent: inform +# slots: ztyłu:area +1 z inform B-area +2 tyłu inform I-area + +# text: w jakiej cenie są bilety +# intent: help +# slots: +1 w help NoLabel +2 jakiej help NoLabel +3 cenie help NoLabel +4 są help NoLabel +5 bilety help NoLabel + +# text: są zniżki studenckie +# intent: help +# slots: +1 są help NoLabel +2 zniżki help NoLabel +3 studenckie help NoLabel + +# text: mógłbym kupić bilety +# intent: reqmore +# slots: kupić:goal +1 mógłbym reqmore NoLabel +2 kupić reqmore B-goal +3 bilety reqmore NoLabel + +# text: batman - chciałbym kupić zarezerwowane miejsca +# intent: reqmore inform +# slots: batman:title +1 batman reqmore inform B-title +2 - reqmore inform NoLabel +3 chciałbym reqmore inform NoLabel +4 kupić reqmore inform NoLabel +5 zarezerwowane reqmore inform NoLabel +6 miejsca reqmore inform NoLabel + +# text: dobrze czy wystarczy zachować numer rezerwacji +# intent: reqmore +# slots: +1 dobrze reqmore NoLabel +2 czy reqmore NoLabel +3 wystarczy reqmore NoLabel +4 zachować reqmore NoLabel +5 numer reqmore NoLabel +6 rezerwacji reqmore NoLabel + +# text: dobrze +# intent: ack +# slots: +1 dobrze ack NoLabel + +# text: witam +# intent: hello +# slots: +1 witam hello NoLabel + +# text: jakie są jutro filmy +# intent: reqmore inform +# slots: jakie:goal,jutro:date +1 jakie reqmore inform B-goal +2 są reqmore inform NoLabel +3 jutro reqmore inform B-date +4 filmy reqmore inform NoLabel + +# text: o ktorej jest nasze magiczne encanto +# intent: reqmore inform +# slots: oktorej:goal,naszemagiczeencanto:title +1 o reqmore inform B-goal +2 ktorej reqmore inform I-goal +3 jest reqmore inform NoLabel +4 nasze reqmore inform B-title +5 magiczne reqmore inform I-title +6 encanto reqmore inform I-title + +# text: poproszę 3 bilety na 18:20 +# intent: inform +# slots: poproszę3:quantity,na18:20:time +1 poproszę inform B-quantity +2 3 inform I-quantity +3 bilety inform NoLabel +4 na inform B-time +5 18:20 inform I-time + +# text: na środku +# intent: inform +# slots: naśrodku:area +1 na inform B-area +2 środku inform I-area + +# text: poproszę jeszcze jedno miejsce obok +# intent: inform +# slots: jeszczjednomiejsce:goal +1 poproszę inform NoLabel +2 jeszcze inform B-goal +3 jedno inform I-goal +4 miejsce inform I-goal +5 obok inform NoLabel + +# text: dziekuje +# intent: thankyou +# slots: +1 dziekuje thankyou NoLabel + +# text: do widzenia +# intent: bye +# slots: +1 do bye NoLabel +2 widzenia bye NoLabel + +# text: co dziś leci +# intent: reqmore inform +# slots: co:goal,dziś:date +1 co reqmore inform B-goal +2 dziś reqmore inform B-date +3 leci reqmore inform NoLabel + +# text: co jest dobre dla dzieci +# intent: reqmore +# slots: +1 co reqmore NoLabel +2 jest reqmore NoLabel +3 dobre reqmore NoLabel +4 dla reqmore NoLabel +5 dzieci reqmore NoLabel + +# text: poproszę 2 na to nie wypanda +# intent: inform +# slots: 2:quantity,toniewypanda:title +1 poproszę inform NoLabel +2 2 inform B-quantity +3 na inform NoLabel +4 to inform B-title +5 nie inform I-title +6 wypanda inform I-title + +# text: a z przodu gdzieś +# intent: inform +# slots: zprzodu:area +1 a inform NoLabel +2 z inform B-area +3 przodu inform I-area +4 gdzieś inform NoLabel + +# text: eee a o której +# intent: request +# slots: októrej:goal +1 eee request NoLabel +2 a request NoLabel +3 o request B-goal +4 której request B-goal + +# text: dzień dobry +# intent: hello +# slots: +1 dzień hello NoLabel +2 dobry hello NoLabel + +# text: chciałabym zarezerwować bilet do kina +# intent: inform +# slots: zarezerwować:goal +1 chciałabym inform NoLabel +2 zarezerwować inform B-goal +3 bilet inform NoLabel +4 do inform NoLabel +5 kina inform NoLabel + +# text: wyjdż za mnie +# intent: inform +# slots: +1 wyjdż inform NoLabel +2 za inform NoLabel +3 mnie inform NoLabel + +# text: the batman +# intent: inform +# slots: thebatman:title +1 the inform B-title +2 batman inform I-title + +# text: dziś wieczorem +# intent: inform +# slots: dziś:date,wieczorem:interval +1 dziś inform B-date +2 wieczorem inform B-interval + +# text: proszę o godzinie 20:15 +# intent: inform +# slots: ogodzinie20:15:time +1 proszę inform NoLabel +2 o inform B-time +3 godzinie inform I-time +4 20:15 inform I-time + +# text: z tyłu na środku (aby ekran był centralnie widoczny) +# intent: inform +# slots: ztyłunaśrodku:area +1 z inform B-area +2 tyłu inform I-area +3 na inform I-area +4 środku inform I-area +5 (aby inform NoLabel +6 ekran inform NoLabel +7 był inform NoLabel +8 centralnie inform NoLabel +9 widoczny) inform NoLabel + +# text: dobrze dziękuję +# intent: thankyou +# slots: +1 dobrze thankyou NoLabel +2 dziękuję thankyou NoLabel + +# text: cześć +# intent: hello +# slots: +1 cześć hello NoLabel + +# text: chciałbym sprawdzić repertuar kin +# intent: reqmore +# slots: +1 chciałbym reqmore NoLabel +2 sprawdzić reqmore B-goal +3 repertuar reqmore I-goal +4 kin reqmore NoLabel + +# text: na dzisiaj +# intent: inform +# slots: dzisiaj:date +1 na inform NoLabel +2 dzisiaj inform B-date + +# text: witam +# intent: hello +# slots: +1 witam hello NoLabel + +# text: jakie sš najbliższe seanse +# intent: reqmore +# slots: najbliższeseanse:goal +1 jakie reqmore NoLabel +2 sš reqmore NoLabel +3 najbliższe reqmore B-goal +4 seanse reqmore I-goal + +# text: w jakim to kinie +# intent: reqmore +# slots: +1 w reqmore NoLabel +2 jakim reqmore NoLabel +3 to reqmore NoLabel +4 kinie reqmore NoLabel + +# text: a gdzie jest to kino +# intent: reqmore +# slots: +1 a reqmore NoLabel +2 gdzie reqmore NoLabel +3 jest reqmore NoLabel +4 to reqmore NoLabel +5 kino reqmore NoLabel + +# text: ile kosztujš bilety na inni ludzie +# intent: reqmore +# slots: inniludzie:title +1 ile reqmore NoLabel +2 kosztujš reqmore NoLabel +3 bilety reqmore NoLabel +4 na reqmore NoLabel +5 inni reqmore B-title +6 ludzie reqmore I-title + +# text: oba +# intent: inform +# slots: +1 oba inform NoLabel + +# text: a w jaki dzień bilety sš tańsze +# intent: reqmore +# slots: +1 a reqmore NoLabel +2 w reqmore NoLabel +3 jaki reqmore NoLabel +4 dzień reqmore NoLabel +5 bilety reqmore NoLabel +6 sš reqmore NoLabel +7 tańsze reqmore NoLabel + +# text: w takim razie chciałbym zarezerwować dwa bilety na czwartek na film inni ludzie +# intent: inform +# slots: dwa:quantity,inniludzie:title +1 w inform NoLabel +2 takim inform NoLabel +3 razie inform NoLabel +4 chciałbym inform NoLabel +5 zarezerwować inform NoLabel +6 dwa inform B-quantity +7 bilety inform NoLabel +8 na inform NoLabel +9 czwartek inform NoLabel +10 na inform NoLabel +11 film inform NoLabel +12 inni inform B-title +13 ludzie inform I-title + +# text: jeden normalny i ulgowy +# intent: inform +# slots: jedenormalnyiulgowyn:quantity +1 jeden inform B-quantity +2 normalny inform I-quantity +3 i inform I-quantity +4 ulgowy inform I-quantity + +# text: na środku sali +# intent: inform +# slots: naśrodku:area +1 na inform B-area +2 środku inform I-area +3 sali inform NoLabel + +# text: chciałem zarezerwować dwa miejsca +# intent: reqmore +# slots: zarezerwować:goal,dwa:quantity +1 chciałem reqmore NoLabel +2 zarezerwować reqmore B-goal +3 dwa reqmore B-quantity +4 miejsca reqmore NoLabel + +# text: zgadzam się +# intent: infrom +# slots: +1 zgadzam infrom NoLabel +2 się infrom NoLabel + +# text: tak +# intent: inform +# slots: +1 tak inform NoLabel + +# text: jaki jest koszt tej rezerwacji +# intent: reqmore +# slots: +1 jaki reqmore NoLabel +2 jest reqmore NoLabel +3 koszt reqmore NoLabel +4 tej reqmore NoLabel +5 rezerwacji reqmore NoLabel + +# text: a ile kosztuje bilety łącznie +# intent: reqmore +# slots: +1 a reqmore NoLabel +2 ile reqmore NoLabel +3 kosztuje reqmore NoLabel +4 bilety reqmore NoLabel +5 łącznie reqmore NoLabel + +# text: ok dziękuję +# intent: ack +# slots: +1 ok ack NoLabel +2 dziękuję ack NoLabel + +# text: witam +# intent: hello +# slots: +1 witam hello NoLabel + +# text: chciałbym zarezerwować bilet ale nie wiem na co +# intent: inform +# slots: zarezerwować:goal +1 chciałbym inform NoLabel +2 zarezerwować inform B-goal +3 bilet inform NoLabel +4 ale inform NoLabel +5 nie inform NoLabel +6 wiem inform NoLabel +7 na inform NoLabel +8 co inform NoLabel + +# text: czy film historia mojej żony jest ciekawy +# intent: reqmore +# slots: +1 czy reqmore NoLabel +2 film reqmore NoLabel +3 historia reqmore B-title +4 mojej reqmore I-title +5 żony reqmore I-title +6 jest reqmore NoLabel +7 ciekawy reqmore NoLabel + +# text: dobrze to poproszę +# intent: inform +# slots: +1 dobrze inform NoLabel +2 to inform NoLabel +3 poproszę inform NoLabel + +# text: ulgowy +# intent: inform +# slots: +1 ulgowy inform NoLabel + +# text: czy jest jakaś maksymalna liczba +# intent: reqmore +# slots: +1 czy reqmore NoLabel +2 jest reqmore NoLabel +3 jakaś reqmore NoLabel +4 maksymalna reqmore NoLabel +5 liczba reqmore NoLabel + +# text: to poproszę 100 +# intent: inform +# slots: +1 to inform NoLabel +2 poproszę inform NoLabel +3 100 inform NoLabel + +# text: tak jak powiedziałem ulgowe +# intent: inform +# slots: +1 tak inform NoLabel +2 jak inform NoLabel +3 powiedziałem inform NoLabel +4 ulgowe inform NoLabel + +# text: środek sali +# intent: inform +# slots: środek:area +1 środek inform B-area +2 sali inform NoLabel + +# text: tak +# intent: confirm +# slots: +1 tak confirm NoLabel + +# text: nie dziękuje +# intent: negate confirm +# slots: +1 nie negate confirm NoLabel +2 dziękuje negate confirm NoLabel + +# text: dzień dobry +# intent: hello +# slots: +1 dzień hello NoLabel +2 dobry hello NoLabel + +# text: chciałbym zarezerwować seans bilet na seans +# intent: inform +# slots: zarezerwować:goal +1 chciałbym inform NoLabel +2 zarezerwować inform B-goal +3 seans inform NoLabel +4 bilet inform NoLabel +5 na inform NoLabel +6 seans inform NoLabel + +# text: jakie filmy są obecnie na ekranach +# intent: reqmore +# slots: jakeifilmysąobecnie:goal +1 jakie reqmore B-goal +2 filmy reqmore I-goal +3 są reqmore I-goal +4 obecnie reqmore I-goal +5 na reqmore NoLabel +6 ekranach reqmore NoLabel + +# text: sobota +# intent: inform +# slots: sobota:date +1 sobota inform B-date + +# text: poproszę 2 bilety na innych ludzi +# intent: inform +# slots: poproszę2:quantity,innychludzi:title +1 poproszę inform B-quantity +2 2 inform I-quantity +3 bilety inform NoLabel +4 na inform NoLabel +5 innych inform B-title +6 ludzi inform I-title + +# text: jeden ulgowy i jeden zwykły +# intent: inform infrom +# slots: jeden:quantity,jeden:quantity +1 jeden inform infrom B-quantity +2 ulgowy inform infrom NoLabel +3 i inform infrom NoLabel +4 jeden inform infrom B-quantity +5 zwykły inform infrom NoLabel + +# text: na środku sali +# intent: infrom +# slots: naśrodku:area +1 na infrom B-area +2 środku infrom I-area +3 sali infrom NoLabel + +# text: pewnie +# intent: ack +# slots: +1 pewnie ack NoLabel + +# text: czy te miejsca sš obok siebie +# intent: reqmore +# slots: +1 czy reqmore NoLabel +2 te reqmore NoLabel +3 miejsca reqmore NoLabel +4 sš reqmore NoLabel +5 obok reqmore NoLabel +6 siebie reqmore NoLabel + +# text: dzień dobry +# intent: hello +# slots: +1 dzień hello NoLabel +2 dobry hello NoLabel + +# text: chciałabym zarezerwować bilety +# intent: inform +# slots: +1 chciałabym inform NoLabel +2 zarezerwować inform NoLabel +3 bilety inform NoLabel + +# text: jaki film jest grany jutro w godzinach popołudniowych +# intent: request +# slots: jutro:date,popołudniowych:interval +1 jaki request NoLabel +2 film request NoLabel +3 jest request NoLabel +4 grany request NoLabel +5 jutro request B-date +6 w request NoLabel +7 godzinach request NoLabel +8 popołudniowych request B-interval + +# text: czy sš wcześniejsze seanse +# intent: reqmore +# slots: wcześniejszeseanse:goal +1 czy reqmore NoLabel +2 sš reqmore NoLabel +3 wcześniejsze reqmore B-goal +4 seanse reqmore I-goal + +# text: w takim razie chcę zarezerwować bilety na psie pazury +# intent: inform +# slots: zarezerwować:goal,psepazury:title +1 w inform NoLabel +2 takim inform NoLabel +3 razie inform NoLabel +4 chcę inform NoLabel +5 zarezerwować inform B-goal +6 bilety inform NoLabel +7 na inform NoLabel +8 psie inform B-title +9 pazury inform I-title + +# text: komu przysługuje ulga +# intent: nan +# slots: +1 komu NoLabel +2 przysługuje NoLabel +3 ulga NoLabel + +# text: kim jest senior +# intent: nan +# slots: +1 kim NoLabel +2 jest NoLabel +3 senior NoLabel + +# text: w takim razie chcę zarezerwować normalne bilety na psie pazury +# intent: inform +# slots: zarezerwować:goal,psiepazury:title +1 w inform NoLabel +2 takim inform NoLabel +3 razie inform NoLabel +4 chcę inform NoLabel +5 zarezerwować inform B-goal +6 normalne inform NoLabel +7 bilety inform NoLabel +8 na inform B-title +9 psie inform I-title +10 pazury inform I-title + +# text: na środku +# intent: inform +# slots: naśrodku:area +1 na inform B-area +2 środku inform I-area + +# text: 3 +# intent: inform +# slots: 3:quantity +1 3 inform B-quantity + +# text: tak +# intent: ack +# slots: +1 tak ack NoLabel + +# text: ale chciałam 3 bilety +# intent: negate +# slots: 3:quantity +1 ale negate NoLabel +2 chciałam negate NoLabel +3 3 negate B-quantity +4 bilety negate NoLabel + +# text: zgadzam się +# intent: ack +# slots: +1 zgadzam ack NoLabel +2 się ack NoLabel + +# text: tak +# intent: ack +# slots: +1 tak ack NoLabel + +# text: nier +# intent: negate +# slots: +1 nier negate NoLabel + +# text: tak +# intent: ack +# slots: +1 tak ack NoLabel + +# text: nie +# intent: nan +# slots: +1 nie NoLabel + +# text: dzień dobry +# intent: hello +# slots: +1 dzień hello NoLabel +2 dobry hello NoLabel + +# text: chciałbym dowiedzieć się jaki jest aktualnie repertuar +# intent: request +# slots: jakijestaktualnierepertuar:goal +1 chciałbym request NoLabel +2 dowiedzieć request NoLabel +3 się request NoLabel +4 jaki request B-goal +5 jest request I-goal +6 aktualnie request I-goal +7 repertuar request I-goal + +# text: jutro jest w repertuarze film inni ludzie +# intent: request +# slots: jutro:date,inniludzie:title +1 jutro request B-date +2 jest request NoLabel +3 w request NoLabel +4 repertuarze request NoLabel +5 film request NoLabel +6 inni request B-title +7 ludzie request I-title + +# text: ile kosztuje bilet na ten film +# intent: request +# slots: +1 ile request NoLabel +2 kosztuje request NoLabel +3 bilet request NoLabel +4 na request NoLabel +5 ten request NoLabel +6 film request NoLabel + +# text: ulogwy +# intent: nan +# slots: +1 ulogwy NoLabel + +# text: w górnej części sali +# intent: inform +# slots: górnejczęści:area +1 w inform NoLabel +2 górnej inform B-area +3 części inform I-area +4 sali inform NoLabel + +# text: gdzie znajduje się to miejsce względem ekranu +# intent: reqmore +# slots: +1 gdzie reqmore NoLabel +2 znajduje reqmore NoLabel +3 się reqmore NoLabel +4 to reqmore NoLabel +5 miejsce reqmore NoLabel +6 względem reqmore NoLabel +7 ekranu reqmore NoLabel + +# text: chciałbym na środku +# intent: inform +# slots: naśrodku:area +1 chciałbym inform NoLabel +2 na inform B-area +3 środku inform I-area + +# text: zgadzam +# intent: ack +# slots: +1 zgadzam ack NoLabel + +# text: jaka jest cena +# intent: reqmore +# slots: +1 jaka reqmore NoLabel +2 jest reqmore NoLabel +3 cena reqmore NoLabel + +# text: dobrze rezerwuje +# intent: ack +# slots: +1 dobrze ack NoLabel +2 rezerwuje ack NoLabel + +# text: chciałbym anulować rezerwację +# intent: deny +# slots: +1 chciałbym deny NoLabel +2 anulować deny NoLabel +3 rezerwację deny NoLabel + +# text: dziekuje +# intent: bye +# slots: +1 dziekuje bye NoLabel + +# text: cześć +# intent: hello +# slots: +1 cześć hello NoLabel + +# text: co można u was zjeść +# intent: request +# slots: +1 co request NoLabel +2 można request NoLabel +3 u request NoLabel +4 was request NoLabel +5 zjeść request NoLabel + +# text: co można obejrzeć w kwietniu +# intent: request +# slots: comożnaobejrzeć:goal +1 co request B-goal +2 można request I-goal +3 obejrzeć request I-goal +4 w request NoLabel +5 kwietniu request B-interval + +# text: kiedy gracie dkf zamek +# intent: request +# slots: kiedygracie:goal +1 kiedy request B-goal +2 gracie request I-goal +3 dkf request NoLabel +4 zamek request NoLabel + +# text: poproszę dwa bilety ulgowe na 25/04/2022 12:15 15:50 +# intent: inform +# slots: poproszędwa:quantity,12:15:time +1 poproszę inform B-quantity +2 dwa inform I-quantity +3 bilety inform NoLabel +4 ulgowe inform NoLabel +5 na inform NoLabel +6 25.04.2022 inform B-date +7 12:15 inform B-time +8 15:50 inform B-time + +# text: pierwszy rzšd po lewej stronie +# intent: inform +# slots: pierwszyrzšdpopolewej:area +1 pierwszy inform B-area +2 rzšd inform I-area +3 po inform I-area +4 lewej inform I-area +5 stronie inform NoLabel + +# text: tak +# intent: ack +# slots: +1 tak ack NoLabel + +# text: zgadzam się +# intent: ack +# slots: +1 zgadzam ack NoLabel +2 się ack NoLabel + +# text: jaki jest numer mojej rezerwacji +# intent: reqmore +# slots: +1 jaki reqmore NoLabel +2 jest reqmore NoLabel +3 numer reqmore NoLabel +4 mojej reqmore NoLabel +5 rezerwacji reqmore NoLabel + +# text: dziękuję systemie +# intent: thankyou +# slots: +1 dziękuję thankyou NoLabel +2 systemie thankyou NoLabel + +# text: siema +# intent: hello +# slots: +1 siema hello NoLabel + +# text: chcę iść do kina +# intent: inform +# slots: +1 chcę inform NoLabel +2 iść inform NoLabel +3 do inform NoLabel +4 kina inform NoLabel + +# text: co gracie +# intent: request +# slots: +1 co request NoLabel +2 gracie request NoLabel + +# text: to na fdantastyczne zwierznera prosze +# intent: inform +# slots: fdantastycznezwierznera:title +1 to inform NoLabel +2 na inform NoLabel +3 fdantastyczne inform B-title +4 zwierznera inform I-title +5 prosze inform NoLabel + +# text: a co macie +# intent: request +# slots: +1 a request NoLabel +2 co request NoLabel +3 macie request NoLabel + +# text: a na za tydzień +# intent: request +# slots: zatydzień:interval +1 a request NoLabel +2 na request NoLabel +3 za request B-interval +4 tydzień request I-interval + +# text: to na za tydzień na cud guadalupe proszę +# intent: inform +# slots: zatydzień:interval:cudguadalupe:title +1 to inform NoLabel +2 na inform NoLabel +3 za inform B-interval +4 tydzień inform I-interval +5 na inform NoLabel +6 cud inform B-title +7 guadalupe inform I-title +8 proszę inform NoLabel + +# text: to na coś innego +# intent: request +# slots: +1 to request NoLabel +2 na request NoLabel +3 coś request NoLabel +4 innego request NoLabel + +# text: dzisiaj +# intent: inform +# slots: dzisiaj:date +1 dzisiaj inform B-date + +# text: zaskocz mnie +# intent: null +# slots: +1 zaskocz null NoLabel +2 mnie null NoLabel + +# text: no to jakoś niech będzie jakoś to będzie +# intent: inform +# slots: jakośtobędzie:title +1 no inform NoLabel +2 to inform NoLabel +3 jakoś inform NoLabel +4 niech inform NoLabel +5 będzie inform NoLabel +6 jakoś inform NoLabel +7 to inform B-title +8 będzie inform I-title + +# text: jeden dla mnie drugi dla kota +# intent: nan +# slots: jeden:quantity,drugi:quantity +1 jeden B-quantity +2 dla NoLabel +3 mnie NoLabel +4 drugi B-quantity +5 dla NoLabel +6 kota NoLabel + +# text: to jeden będzie +# intent: infrom +# slots: jeden:quantity +1 to infrom NoLabel +2 jeden infrom B-quantity +3 będzie infrom NoLabel + +# text: normalny +# intent: null +# slots: +1 normalny null NoLabel + +# text: na środku gdzieś +# intent: inform +# slots: naśrodku:area +1 na inform B-area +2 środku inform I-area +3 gdzieś inform NoLabel + +# text: niech będzie +# intent: ack +# slots: +1 niech ack NoLabel +2 będzie ack NoLabel + +# text: jakieś potwierdzenie rezerwacji dostanę czy mogę po prostu wejść i usišść +# intent: request +# slots: +1 jakieś request NoLabel +2 potwierdzenie request NoLabel +3 rezerwacji request NoLabel +4 dostanę request NoLabel +5 czy request NoLabel +6 mogę request NoLabel +7 po request NoLabel +8 prostu request NoLabel +9 wejść request NoLabel +10 i request NoLabel +11 usišść request NoLabel + +# text: wybieram batmana o 16:20 +# intent: inform +# slots: batmana:title,o16:20:time +1 wybieram inform NoLabel +2 batmana inform B-title +3 o inform B-time +4 16:20 inform I-time + +# text: wybieram na noże o 9:30 +# intent: inform +# slots: nanoże:title,o9:30:time +1 wybieram inform NoLabel +2 na inform B-title +3 noże inform I-title +4 o inform B-time +5 09:30 inform I-time + +# text: wybieram batmana gdzieś wieczorem +# intent: inform +# slots: batmana:title,wieczorem:interval +1 wybieram inform NoLabel +2 batmana inform B-title +3 gdzieś inform NoLabel +4 wieczorem inform B-interval + +# text: wybieram na noże o 9:30 +# intent: inform +# slots: nanoże:title,o9:30:time +1 wybieram inform NoLabel +2 na inform B-title +3 noże inform I-title +4 o inform B-time +5 09:30 inform I-time + +# text: wybieram batmana w nocy +# intent: inform +# slots: batmana:title,wnocy:interval +1 wybieram inform NoLabel +2 batmana inform B-title +3 w inform B-interval +4 nocy inform I-interval + +# text: wybieram na noże o 9:30 +# intent: inform +# slots: nanoże:title,o9:30:time +1 wybieram inform NoLabel +2 na inform B-title +3 noże inform I-title +4 o inform B-time +5 09:30 inform I-time + +# text: wybieram ups 2 o godzinie 10:45 +# intent: inform +# slots: ups2:title,ogodzinie10:45:time +1 wybieram inform NoLabel +2 ups inform B-title +3 2 inform I-title +4 o inform B-time +5 godzinie inform I-time +6 10:45 inform I-time + +# text: chcę iść na matki rówonegłe o 21:30 +# intent: inform +# slots: matkirówonegłe:title,o21:30:time +1 chcę inform NoLabel +2 iść inform NoLabel +3 na inform NoLabel +4 matki inform B-title +5 rówonegłe inform I-title +6 o inform B-time +7 21:30 inform I-time + +# text: wybierz mi film pod tytułem inni ludzie +# intent: inform +# slots: inniludzie:title +1 wybierz inform NoLabel +2 mi inform NoLabel +3 film inform NoLabel +4 pod inform NoLabel +5 tytułem inform NoLabel +6 inni inform B-title +7 ludzie inform I-title + +# text: chcę uncharted +# intent: inform +# slots: uncharted:title +1 chcę inform NoLabel +2 uncharted inform B-title + +# text: idę na 12:45 +# intent: inform +# slots: na12:45:time +1 idę inform NoLabel +2 na inform B-time +3 12:45 inform I-time + +# text: idę na pierwszą na batmana +# intent: inform +# slots: pierwszą:time,batmana:title +1 idę inform NoLabel +2 na inform NoLabel +3 pierwszą inform B-time +4 na inform NoLabel +5 batmana inform B-title + +# text: idę na drugą na batmana +# intent: inform +# slots: drugą:time,batmana:title +1 idę inform NoLabel +2 na inform NoLabel +3 drugą inform B-time +4 na inform NoLabel +5 batmana inform B-title + +# text: idę na trzecią na na noże +# intent: inform +# slots: trzecią:time,nanoże:title +1 idę inform NoLabel +2 na inform NoLabel +3 trzecią inform B-time +4 na inform NoLabel +5 na inform B-title +6 noże inform I-title + +# text: ten o czwartej +# intent: inform +# slots: oczwartej:time +1 ten inform NoLabel +2 o inform B-time +3 czwartej inform I-time + +# text: matki równoległe dwunasta +# intent: inform +# slots: matkirównoległe:title,dwunasta:time +1 matki inform B-title +2 równoległe inform I-title +3 dwunasta inform B-time + +# text: na noże +# intent: inform +# slots: nanoże:title +1 na inform B-title +2 noże inform I-title + +# text: ambulans +# intent: inform +# slots: ambulans:title +1 ambulans inform B-title + +# text: wybierz to nie wypada +# intent: inform +# slots: toniewypada:title +1 wybierz inform NoLabel +2 to inform B-title +3 nie inform I-title +4 wypada inform I-title + +# text: dwa siedzenia +# intent: inform +# slots: dwa:quantity +1 dwa inform B-quantity +2 siedzenia inform NoLabel + +# text: jedno +# intent: inform +# slots: jedno:quantity +1 jedno inform B-quantity + +# text: trzy bileciki na 19:00 na batmana na środku +# intent: inform +# slots: trzy:quantity,na19:00:time,batmana:title,naśrodku:area +1 trzy inform B-quantity +2 bileciki inform NoLabel +3 na inform B-time +4 19:00 inform I-time +5 na inform NoLabel +6 batmana inform B-title +7 na inform B-area +8 środku inform I-area + +# text: cztery +# intent: inform +# slots: cztery:quantity +1 cztery inform B-quantity + +# text: pięc biletów poproszę +# intent: inform +# slots: pięc:quantity +1 pięc inform B-quantity +2 biletów inform NoLabel +3 poproszę inform NoLabel + +# text: poproszę +# intent: inform +# slots: +1 poproszę inform NoLabel + +# text: h1 h2 h3 +# intent: inform +# slots: h1h2h3:seats +1 h1 inform B-seats +2 h2 inform I-seats +3 h3 inform I-seats + +# text: chcę wybrać 3 bilety miejsca h3 h4 h5 +# intent: inform +# slots: 3:quantity,h3h4h5:seats +1 chcę inform NoLabel +2 wybrać inform NoLabel +3 3 inform B-quantity +4 bilety inform NoLabel +5 miejsca inform NoLabel +6 h3 inform B-seats +7 h4 inform I-seats +8 h5 inform I-seats + +# text: daj mi trzy bilety na seans na godzinę 19 miejsca a14 a15 a16 +# intent: inform +# slots: trzy:quantity,nagodzinę19:time,a14a15a16:seats +1 daj inform NoLabel +2 mi inform NoLabel +3 trzy inform B-quantity +4 bilety inform NoLabel +5 na inform NoLabel +6 seans inform NoLabel +7 na inform B-time +8 godzinę inform I-time +9 19 inform I-time +10 miejsca inform NoLabel +11 a14 inform B-seats +12 a15 inform I-seats +13 a16 inform I-seats + +# text: poproszę jeden bilecik na seans pod tytułem batman miejsca j12 +# intent: inform +# slots: jeden:quantity,batman:title,j12:seats +1 poproszę inform NoLabel +2 jeden inform B-quantity +3 bilecik inform NoLabel +4 na inform NoLabel +5 seans inform NoLabel +6 pod inform NoLabel +7 tytułem inform NoLabel +8 batman inform B-title +9 miejsca inform NoLabel +10 j12 inform B-seats + +# text: a10a11 +# intent: inform +# slots: +1 a10a11 inform NoLabel + +# text: a12 a13 +# intent: inform +# slots: a12a13:seats +1 a12 inform B-seats +2 a13 inform I-seats + +# text: z43 z44 z43 z44 z45 +# intent: inform +# slots: z43z44z43z44z45:seats +1 z43 inform B-seats +2 z44 inform I-seats +3 z43 inform I-seats +4 z44 inform I-seats +5 z45 inform I-seats + +# text: wybierz j43 k44 l43 c44 d45 +# intent: inform +# slots: j43k44l43c44d45:seats +1 wybierz inform NoLabel +2 j43 inform B-seats +3 k44 inform I-seats +4 l43 inform I-seats +5 c44 inform I-seats +6 d45 inform I-seats + +# text: co gracie wieczorem +# intent: inform +# slots: gracie:goal,wieczorem:interval +1 co inform NoLabel +2 gracie inform B-goal +3 wieczorem inform B-interval + +# text: co gracie jutro +# intent: inform +# slots: gracie:goal,jutro:date +1 co inform NoLabel +2 gracie inform B-goal +3 jutro inform B-date + +# text: co gracie po południu +# intent: inform +# slots: gracie:goal,popołudniu:interval +1 co inform NoLabel +2 gracie inform B-goal +3 po inform B-interval +4 południu inform I-interval + +# text: co gracie rano +# intent: inform +# slots: gracie:goal,rano:interval +1 co inform NoLabel +2 gracie inform B-goal +3 rano inform B-interval + +# text: jakie filmy są wieczorem +# intent: inform +# slots: filmy:goal,wieczorem:interval +1 jakie inform NoLabel +2 filmy inform B-goal +3 są inform NoLabel +4 wieczorem inform B-interval +# text: co gracie za trzy dni +# intent: inform +# slots: zatrzydni:date +1 co inform NoLabel +2 gracie inform NoLabel +3 za inform B-date +4 trzy inform I-date +5 dni inform I-date + +# text: co gracie za dwa dni +# intent: inform +# slots: zadwadni:date +1 co inform NoLabel +2 gracie inform NoLabel +3 za inform B-date +4 dwa inform I-date +5 dni inform I-date + +# text: co gracie w sobotę +# intent: inform +# slots: wsobotę:date +1 co inform NoLabel +2 gracie inform NoLabel +3 w inform B-date +4 sobotę inform I-date + +# text: co gracie w niedzielę +# intent: inform +# slots: wniedzielę:date +1 co inform NoLabel +2 gracie inform NoLabel +3 w inform B-date +4 niedzielę inform I-date + +# text: co leci w poniedziałek +# intent: inform +# slots: wponiedziałek:date +1 co inform NoLabel +2 leci inform NoLabel +3 w inform B-date +4 poniedziałek inform I-date + +# text: co leci we wtorek +# intent: inform +# slots: wewtorek:date +1 co inform NoLabel +2 leci inform NoLabel +3 we inform B-date +4 wtorek inform I-date + +# text: co leci w piątek +# intent: inform +# slots: wpiątek:date +1 co inform NoLabel +2 leci inform NoLabel +3 w inform B-date +4 piątek inform I-date + +# text: co jest puszczane w sobotę +# intent: inform +# slots: wsobotę:date +1 co inform NoLabel +2 jest inform NoLabel +3 puszczane inform NoLabel +4 w inform B-date +5 sobotę inform I-date + +# text: co jest grane w niedzielę o 12:00 +# intent: inform +# slots: wniedzielę:date,o12:00:time +1 co inform NoLabel +2 jest inform NoLabel +3 grane inform NoLabel +4 w inform B-date +5 niedzielę inform I-date +6 o inform B-time +7 12:00 inform I-time + +# text: poproszę trzy bilety moje miejsca to h1h3h56 +# intent: inform +# slots: +1 poproszę inform NoLabel +2 trzy inform NoLabel +3 bilety inform NoLabel +4 moje inform NoLabel +5 miejsca inform NoLabel +6 to inform NoLabel +7 h1h3h56 inform NoLabel + +# text: wymień seansy jutro +# intent: inform +# slots: jutro:date +1 wymień inform NoLabel +2 seansy inform NoLabel +3 jutro inform B-date + +# text: pojutrze co jest +# intent: inform +# slots: pojutrze:date +1 pojutrze inform B-date +2 co inform NoLabel +3 jest inform NoLabel + +# text: a co gracie po jutrze +# intent: inform +# slots: gracie:goal,pojutrze:date +1 a inform NoLabel +2 co inform NoLabel +3 gracie inform B-goal +4 po inform B-date +5 jutrze inform I-date + +# text: czy gracie dziś batmana albo na noze +# intent: inform +# slots: dziś:date,batmana:title,nanoze:title +1 czy inform NoLabel +2 gracie inform NoLabel +3 dziś inform B-date +4 batmana inform B-title +5 albo inform NoLabel +6 na inform B-title +7 noze inform I-title + +# text: czy w niedzielę gracie na noze lub batman lub piosenki o miłości +# intent: inform +# slots: wniedzielę:date,batman:title +1 czy inform NoLabel +2 w inform B-date +3 niedzielę inform I-date +4 gracie inform NoLabel +5 na inform NoLabel +6 noze inform NoLabel +7 lub inform NoLabel +8 batman inform B-title +9 lub inform NoLabel +10 piosenki inform NoLabel +11 o inform NoLabel +12 miłości inform NoLabel + +# text: czy wolne są miejsca h2 h3 +# intent: inform +# slots: h2h3:seats +1 czy inform NoLabel +2 wolne inform NoLabel +3 są inform NoLabel +4 miejsca inform NoLabel +5 h2 inform B-seats +6 h3 inform I-seats