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..f1bdbd6 --- /dev/null +++ b/data/clean/dialog-20-01-01.tsv @@ -0,0 +1,50 @@ +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 +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 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-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-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-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/08-parsing-semantyczny-uczenie.ipynb b/lab/08-parsing-semantyczny-uczenie.ipynb new file mode 100644 index 0000000..8b2d03a --- /dev/null +++ b/lab/08-parsing-semantyczny-uczenie.ipynb @@ -0,0 +1,1047 @@ +{ + "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": "code", + "execution_count": 32, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "c:\\Develop\\wmi\\AITECH\\sem1\\Systemy dialogowe\\lab\\l07\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "A subdirectory or file -p already exists.\n", + "Error occurred while processing: -p.\n", + "A subdirectory or file l07 already exists.\n", + "Error occurred while processing: l07.\n", + "** Resuming transfer from byte position 8923190\n", + " % Total % Received % Xferd Average Speed Time Time Time Current\n", + " Dload Upload Total Spent Left Speed\n", + "\n", + " 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0\n", + " 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0\n", + "\n", + "100 49 100 49 0 0 118 0 --:--:-- --:--:-- --:--:-- 118\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "c:\\Develop\\wmi\\AITECH\\sem1\\Systemy dialogowe\\lab\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "'unzip' is not recognized as an internal or external command,\n", + "operable program or batch file.\n" + ] + } + ], + "source": [ + "!mkdir -p l07\n", + "%cd l07\n", + "!curl -L -C - https://fb.me/multilingual_task_oriented_data -o data.zip\n", + "!unzip data.zip\n", + "%cd .." + ] + }, + { + "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": 76, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "# text: halo\n", + "\n", + "# intent: hello\n", + "\n", + "# slots: \n", + "\n", + "1\thalo\thello\tNoLabel\n", + "\n", + "\n", + "\n", + "# text: chaciałbym pójść na premierę filmu jakie premiery są w tym tygodniu\n", + "\n", + "# intent: reqmore\n", + "\n", + "# slots: \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\tNoLabel\n", + "\n", + "7\tpremiery\treqmore\tNoLabel\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": 34, + "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": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "from tabulate import tabulate\n", + "tabulate(trainset[1], tablefmt='html')" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
1chcę informO
2zarezerwowaćinformO
3bilety informO
" + ], + "text/plain": [ + "'\\n\\n\\n\\n\\n\\n
1chcę informO
2zarezerwowaćinformO
3bilety informO
'" + ] + }, + "execution_count": 77, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tabulate(trainset[16], tablefmt='html')" + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "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": 78, + "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": 38, + "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": 39, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Corpus: 297 train + 33 dev + 33 test sentences\n", + "Dictionary with 14 tags: , O, B-date, I-date, B-time, I-time, B-area, I-area, B-title, B-quantity, I-title, I-quantity, , \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": 40, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2022-04-28 22:14:01,525 https://flair.informatik.hu-berlin.de/resources/embeddings/token/pl-wiki-fasttext-300d-1M.vectors.npy not found in cache, downloading to C:\\Users\\48516\\AppData\\Local\\Temp\\tmp8ekygs88\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 1199998928/1199998928 [01:00<00:00, 19734932.13B/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2022-04-28 22:15:02,505 copying C:\\Users\\48516\\AppData\\Local\\Temp\\tmp8ekygs88 to cache at C:\\Users\\48516\\.flair\\embeddings\\pl-wiki-fasttext-300d-1M.vectors.npy\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2022-04-28 22:15:03,136 removing temp file C:\\Users\\48516\\AppData\\Local\\Temp\\tmp8ekygs88\n", + "2022-04-28 22:15:03,420 https://flair.informatik.hu-berlin.de/resources/embeddings/token/pl-wiki-fasttext-300d-1M not found in cache, downloading to C:\\Users\\48516\\AppData\\Local\\Temp\\tmp612sxdgl\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 40874795/40874795 [00:02<00:00, 18943852.55B/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2022-04-28 22:15:05,807 copying C:\\Users\\48516\\AppData\\Local\\Temp\\tmp612sxdgl to cache at C:\\Users\\48516\\.flair\\embeddings\\pl-wiki-fasttext-300d-1M\n", + "2022-04-28 22:15:05,830 removing temp file C:\\Users\\48516\\AppData\\Local\\Temp\\tmp612sxdgl\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2022-04-28 22:15:13,095 https://flair.informatik.hu-berlin.de/resources/embeddings/flair/lm-polish-forward-v0.2.pt not found in cache, downloading to C:\\Users\\48516\\AppData\\Local\\Temp\\tmp05k_xff8\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 84244196/84244196 [00:04<00:00, 19653900.77B/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2022-04-28 22:15:17,599 copying C:\\Users\\48516\\AppData\\Local\\Temp\\tmp05k_xff8 to cache at C:\\Users\\48516\\.flair\\embeddings\\lm-polish-forward-v0.2.pt\n", + "2022-04-28 22:15:17,640 removing temp file C:\\Users\\48516\\AppData\\Local\\Temp\\tmp05k_xff8\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2022-04-28 22:15:18,034 https://flair.informatik.hu-berlin.de/resources/embeddings/flair/lm-polish-backward-v0.2.pt not found in cache, downloading to C:\\Users\\48516\\AppData\\Local\\Temp\\tmpbjevekqx\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 84244196/84244196 [00:04<00:00, 19850177.72B/s]" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2022-04-28 22:15:22,467 copying C:\\Users\\48516\\AppData\\Local\\Temp\\tmpbjevekqx to cache at C:\\Users\\48516\\.flair\\embeddings\\lm-polish-backward-v0.2.pt\n" + ] + }, + { + "name": "stderr", + "output_type": "stream", + "text": [ + "\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2022-04-28 22:15:22,518 removing temp file C:\\Users\\48516\\AppData\\Local\\Temp\\tmpbjevekqx\n" + ] + } + ], + "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": 41, + "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=14, 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": 42, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2022-04-28 22:15:23,085 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:15:23,086 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=14, bias=True)\n", + " (beta): 1.0\n", + " (weights): None\n", + " (weight_tensor) None\n", + ")\"\n", + "2022-04-28 22:15:23,087 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:15:23,088 Corpus: \"Corpus: 297 train + 33 dev + 33 test sentences\"\n", + "2022-04-28 22:15:23,088 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:15:23,089 Parameters:\n", + "2022-04-28 22:15:23,089 - learning_rate: \"0.1\"\n", + "2022-04-28 22:15:23,090 - mini_batch_size: \"32\"\n", + "2022-04-28 22:15:23,090 - patience: \"3\"\n", + "2022-04-28 22:15:23,091 - anneal_factor: \"0.5\"\n", + "2022-04-28 22:15:23,092 - max_epochs: \"10\"\n", + "2022-04-28 22:15:23,093 - shuffle: \"True\"\n", + "2022-04-28 22:15:23,093 - train_with_dev: \"False\"\n", + "2022-04-28 22:15:23,094 - batch_growth_annealing: \"False\"\n", + "2022-04-28 22:15:23,094 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:15:23,095 Model training base path: \"slot-model\"\n", + "2022-04-28 22:15:23,095 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:15:23,096 Device: cpu\n", + "2022-04-28 22:15:23,096 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:15:23,097 Embeddings storage mode: cpu\n", + "2022-04-28 22:15:23,100 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:15:25,051 epoch 1 - iter 1/10 - loss 15.67058754 - samples/sec: 16.40 - lr: 0.100000\n", + "2022-04-28 22:15:27,334 epoch 1 - iter 2/10 - loss 13.01803017 - samples/sec: 14.02 - lr: 0.100000\n", + "2022-04-28 22:15:29,132 epoch 1 - iter 3/10 - loss 11.16305335 - samples/sec: 17.81 - lr: 0.100000\n", + "2022-04-28 22:15:30,629 epoch 1 - iter 4/10 - loss 9.23769999 - samples/sec: 21.39 - lr: 0.100000\n", + "2022-04-28 22:15:32,614 epoch 1 - iter 5/10 - loss 7.94914236 - samples/sec: 16.13 - lr: 0.100000\n", + "2022-04-28 22:15:34,081 epoch 1 - iter 6/10 - loss 7.05464562 - samples/sec: 21.83 - lr: 0.100000\n", + "2022-04-28 22:15:35,257 epoch 1 - iter 7/10 - loss 6.28502292 - samples/sec: 27.26 - lr: 0.100000\n", + "2022-04-28 22:15:37,386 epoch 1 - iter 8/10 - loss 5.74554797 - samples/sec: 15.04 - lr: 0.100000\n", + "2022-04-28 22:15:39,009 epoch 1 - iter 9/10 - loss 5.48559354 - samples/sec: 19.73 - lr: 0.100000\n", + "2022-04-28 22:15:39,892 epoch 1 - iter 10/10 - loss 5.10890775 - samples/sec: 36.28 - lr: 0.100000\n", + "2022-04-28 22:15:39,893 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:15:39,894 EPOCH 1 done: loss 5.1089 - lr 0.1000000\n", + "2022-04-28 22:15:41,651 DEV : loss 1.1116931438446045 - score 0.0\n", + "2022-04-28 22:15:41,654 BAD EPOCHS (no improvement): 0\n", + "saving best model\n", + "2022-04-28 22:15:54,970 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:15:55,703 epoch 2 - iter 1/10 - loss 2.39535546 - samples/sec: 48.71 - lr: 0.100000\n", + "2022-04-28 22:15:56,276 epoch 2 - iter 2/10 - loss 3.14594960 - samples/sec: 55.94 - lr: 0.100000\n", + "2022-04-28 22:15:56,849 epoch 2 - iter 3/10 - loss 2.96723008 - samples/sec: 55.94 - lr: 0.100000\n", + "2022-04-28 22:15:57,326 epoch 2 - iter 4/10 - loss 2.72414619 - samples/sec: 67.23 - lr: 0.100000\n", + "2022-04-28 22:15:57,799 epoch 2 - iter 5/10 - loss 2.52746274 - samples/sec: 67.80 - lr: 0.100000\n", + "2022-04-28 22:15:58,255 epoch 2 - iter 6/10 - loss 2.41920217 - samples/sec: 70.33 - lr: 0.100000\n", + "2022-04-28 22:15:58,770 epoch 2 - iter 7/10 - loss 2.48535442 - samples/sec: 62.26 - lr: 0.100000\n", + "2022-04-28 22:15:59,324 epoch 2 - iter 8/10 - loss 2.40343314 - samples/sec: 57.87 - lr: 0.100000\n", + "2022-04-28 22:15:59,827 epoch 2 - iter 9/10 - loss 2.41345758 - samples/sec: 63.74 - lr: 0.100000\n", + "2022-04-28 22:16:00,052 epoch 2 - iter 10/10 - loss 2.63766205 - samples/sec: 142.86 - lr: 0.100000\n", + "2022-04-28 22:16:00,053 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:16:00,054 EPOCH 2 done: loss 2.6377 - lr 0.1000000\n", + "2022-04-28 22:16:00,234 DEV : loss 1.2027416229248047 - score 0.0\n", + "2022-04-28 22:16:00,238 BAD EPOCHS (no improvement): 1\n", + "2022-04-28 22:16:00,241 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:16:00,771 epoch 3 - iter 1/10 - loss 2.07519531 - samples/sec: 60.61 - lr: 0.100000\n", + "2022-04-28 22:16:01,297 epoch 3 - iter 2/10 - loss 2.21946335 - samples/sec: 60.95 - lr: 0.100000\n", + "2022-04-28 22:16:01,826 epoch 3 - iter 3/10 - loss 2.32372427 - samples/sec: 60.61 - lr: 0.100000\n", + "2022-04-28 22:16:02,304 epoch 3 - iter 4/10 - loss 2.18133342 - samples/sec: 67.23 - lr: 0.100000\n", + "2022-04-28 22:16:02,727 epoch 3 - iter 5/10 - loss 2.10553741 - samples/sec: 75.83 - lr: 0.100000\n", + "2022-04-28 22:16:03,215 epoch 3 - iter 6/10 - loss 1.99518015 - samples/sec: 65.84 - lr: 0.100000\n", + "2022-04-28 22:16:03,670 epoch 3 - iter 7/10 - loss 2.03174150 - samples/sec: 70.64 - lr: 0.100000\n", + "2022-04-28 22:16:04,239 epoch 3 - iter 8/10 - loss 2.19520997 - samples/sec: 56.34 - lr: 0.100000\n", + "2022-04-28 22:16:04,686 epoch 3 - iter 9/10 - loss 2.15986861 - samples/sec: 71.75 - lr: 0.100000\n", + "2022-04-28 22:16:04,919 epoch 3 - iter 10/10 - loss 2.02860461 - samples/sec: 137.93 - lr: 0.100000\n", + "2022-04-28 22:16:04,920 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:16:04,921 EPOCH 3 done: loss 2.0286 - lr 0.1000000\n", + "2022-04-28 22:16:05,067 DEV : loss 0.9265440702438354 - score 0.0\n", + "2022-04-28 22:16:05,069 BAD EPOCHS (no improvement): 0\n", + "saving best model\n", + "2022-04-28 22:16:10,882 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:16:11,339 epoch 4 - iter 1/10 - loss 2.63443780 - samples/sec: 70.33 - lr: 0.100000\n", + "2022-04-28 22:16:11,858 epoch 4 - iter 2/10 - loss 2.35905457 - samples/sec: 61.78 - lr: 0.100000\n", + "2022-04-28 22:16:12,523 epoch 4 - iter 3/10 - loss 2.23206981 - samples/sec: 48.19 - lr: 0.100000\n", + "2022-04-28 22:16:13,026 epoch 4 - iter 4/10 - loss 2.28027773 - samples/sec: 63.75 - lr: 0.100000\n", + "2022-04-28 22:16:13,610 epoch 4 - iter 5/10 - loss 2.22129200 - samples/sec: 54.98 - lr: 0.100000\n", + "2022-04-28 22:16:14,074 epoch 4 - iter 6/10 - loss 2.10545621 - samples/sec: 69.11 - lr: 0.100000\n", + "2022-04-28 22:16:14,646 epoch 4 - iter 7/10 - loss 2.10457425 - samples/sec: 56.04 - lr: 0.100000\n", + "2022-04-28 22:16:15,144 epoch 4 - iter 8/10 - loss 2.04774940 - samples/sec: 64.38 - lr: 0.100000\n", + "2022-04-28 22:16:15,698 epoch 4 - iter 9/10 - loss 1.99643935 - samples/sec: 57.97 - lr: 0.100000\n", + "2022-04-28 22:16:15,935 epoch 4 - iter 10/10 - loss 1.81641705 - samples/sec: 136.14 - lr: 0.100000\n", + "2022-04-28 22:16:15,936 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:16:15,937 EPOCH 4 done: loss 1.8164 - lr 0.1000000\n", + "2022-04-28 22:16:16,092 DEV : loss 0.8311207890510559 - score 0.0\n", + "2022-04-28 22:16:16,094 BAD EPOCHS (no improvement): 0\n", + "saving best model\n", + "2022-04-28 22:16:21,938 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:16:22,424 epoch 5 - iter 1/10 - loss 1.31467295 - samples/sec: 66.12 - lr: 0.100000\n", + "2022-04-28 22:16:22,852 epoch 5 - iter 2/10 - loss 1.87177873 - samples/sec: 74.94 - lr: 0.100000\n", + "2022-04-28 22:16:23,440 epoch 5 - iter 3/10 - loss 1.83717314 - samples/sec: 54.51 - lr: 0.100000\n", + "2022-04-28 22:16:23,991 epoch 5 - iter 4/10 - loss 2.06565040 - samples/sec: 58.18 - lr: 0.100000\n", + "2022-04-28 22:16:24,364 epoch 5 - iter 5/10 - loss 1.95749507 - samples/sec: 86.25 - lr: 0.100000\n", + "2022-04-28 22:16:24,832 epoch 5 - iter 6/10 - loss 1.84727591 - samples/sec: 68.67 - lr: 0.100000\n", + "2022-04-28 22:16:25,238 epoch 5 - iter 7/10 - loss 1.79978011 - samples/sec: 79.21 - lr: 0.100000\n", + "2022-04-28 22:16:25,679 epoch 5 - iter 8/10 - loss 1.69797329 - samples/sec: 72.73 - lr: 0.100000\n", + "2022-04-28 22:16:26,173 epoch 5 - iter 9/10 - loss 1.70765987 - samples/sec: 64.84 - lr: 0.100000\n", + "2022-04-28 22:16:26,364 epoch 5 - iter 10/10 - loss 1.76581790 - samples/sec: 169.31 - lr: 0.100000\n", + "2022-04-28 22:16:26,366 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:16:26,367 EPOCH 5 done: loss 1.7658 - lr 0.1000000\n", + "2022-04-28 22:16:26,509 DEV : loss 0.7797471880912781 - score 0.2222\n", + "2022-04-28 22:16:26,510 BAD EPOCHS (no improvement): 0\n", + "saving best model\n", + "2022-04-28 22:16:32,211 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:16:32,666 epoch 6 - iter 1/10 - loss 2.04772544 - samples/sec: 70.64 - lr: 0.100000\n", + "2022-04-28 22:16:33,172 epoch 6 - iter 2/10 - loss 1.61218661 - samples/sec: 63.37 - lr: 0.100000\n", + "2022-04-28 22:16:33,673 epoch 6 - iter 3/10 - loss 1.55716117 - samples/sec: 64.00 - lr: 0.100000\n", + "2022-04-28 22:16:34,183 epoch 6 - iter 4/10 - loss 1.54974008 - samples/sec: 62.87 - lr: 0.100000\n", + "2022-04-28 22:16:34,687 epoch 6 - iter 5/10 - loss 1.50827932 - samples/sec: 63.62 - lr: 0.100000\n", + "2022-04-28 22:16:35,155 epoch 6 - iter 6/10 - loss 1.46459270 - samples/sec: 68.52 - lr: 0.100000\n", + "2022-04-28 22:16:35,658 epoch 6 - iter 7/10 - loss 1.50249643 - samples/sec: 63.87 - lr: 0.100000\n", + "2022-04-28 22:16:36,094 epoch 6 - iter 8/10 - loss 1.51979375 - samples/sec: 73.56 - lr: 0.100000\n", + "2022-04-28 22:16:36,548 epoch 6 - iter 9/10 - loss 1.56509953 - samples/sec: 70.64 - lr: 0.100000\n", + "2022-04-28 22:16:36,744 epoch 6 - iter 10/10 - loss 1.55241492 - samples/sec: 164.10 - lr: 0.100000\n", + "2022-04-28 22:16:36,746 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:16:36,746 EPOCH 6 done: loss 1.5524 - lr 0.1000000\n", + "2022-04-28 22:16:36,884 DEV : loss 0.9345423579216003 - score 0.3333\n", + "2022-04-28 22:16:36,885 BAD EPOCHS (no improvement): 0\n", + "saving best model\n", + "2022-04-28 22:16:42,377 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:16:42,856 epoch 7 - iter 1/10 - loss 2.15539050 - samples/sec: 67.09 - lr: 0.100000\n", + "2022-04-28 22:16:43,336 epoch 7 - iter 2/10 - loss 1.68949413 - samples/sec: 66.95 - lr: 0.100000\n", + "2022-04-28 22:16:43,781 epoch 7 - iter 3/10 - loss 1.81478349 - samples/sec: 72.07 - lr: 0.100000\n", + "2022-04-28 22:16:44,241 epoch 7 - iter 4/10 - loss 1.68033907 - samples/sec: 69.87 - lr: 0.100000\n", + "2022-04-28 22:16:44,730 epoch 7 - iter 5/10 - loss 1.64062953 - samples/sec: 65.57 - lr: 0.100000\n", + "2022-04-28 22:16:45,227 epoch 7 - iter 6/10 - loss 1.59568199 - samples/sec: 64.78 - lr: 0.100000\n", + "2022-04-28 22:16:45,663 epoch 7 - iter 7/10 - loss 1.46137918 - samples/sec: 73.39 - lr: 0.100000\n", + "2022-04-28 22:16:46,169 epoch 7 - iter 8/10 - loss 1.41721664 - samples/sec: 63.36 - lr: 0.100000\n", + "2022-04-28 22:16:46,734 epoch 7 - iter 9/10 - loss 1.39811980 - samples/sec: 56.74 - lr: 0.100000\n", + "2022-04-28 22:16:46,937 epoch 7 - iter 10/10 - loss 1.38412433 - samples/sec: 159.20 - lr: 0.100000\n", + "2022-04-28 22:16:46,938 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:16:46,939 EPOCH 7 done: loss 1.3841 - lr 0.1000000\n", + "2022-04-28 22:16:47,081 DEV : loss 0.6798948049545288 - score 0.5\n", + "2022-04-28 22:16:47,083 BAD EPOCHS (no improvement): 0\n", + "saving best model\n", + "2022-04-28 22:16:52,628 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:16:53,137 epoch 8 - iter 1/10 - loss 1.08732188 - samples/sec: 63.12 - lr: 0.100000\n", + "2022-04-28 22:16:53,606 epoch 8 - iter 2/10 - loss 1.29048711 - samples/sec: 68.38 - lr: 0.100000\n", + "2022-04-28 22:16:54,039 epoch 8 - iter 3/10 - loss 1.04415214 - samples/sec: 74.07 - lr: 0.100000\n", + "2022-04-28 22:16:54,568 epoch 8 - iter 4/10 - loss 1.02857886 - samples/sec: 60.60 - lr: 0.100000\n", + "2022-04-28 22:16:55,148 epoch 8 - iter 5/10 - loss 1.26690668 - samples/sec: 55.27 - lr: 0.100000\n", + "2022-04-28 22:16:55,602 epoch 8 - iter 6/10 - loss 1.30797880 - samples/sec: 70.80 - lr: 0.100000\n", + "2022-04-28 22:16:56,075 epoch 8 - iter 7/10 - loss 1.22035806 - samples/sec: 67.72 - lr: 0.100000\n", + "2022-04-28 22:16:56,494 epoch 8 - iter 8/10 - loss 1.23306625 - samples/sec: 76.51 - lr: 0.100000\n", + "2022-04-28 22:16:56,933 epoch 8 - iter 9/10 - loss 1.18903442 - samples/sec: 73.15 - lr: 0.100000\n", + "2022-04-28 22:16:57,147 epoch 8 - iter 10/10 - loss 1.31105986 - samples/sec: 150.24 - lr: 0.100000\n", + "2022-04-28 22:16:57,148 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:16:57,149 EPOCH 8 done: loss 1.3111 - lr 0.1000000\n", + "2022-04-28 22:16:57,289 DEV : loss 0.5563207864761353 - score 0.5\n", + "2022-04-28 22:16:57,290 BAD EPOCHS (no improvement): 0\n", + "saving best model\n", + "2022-04-28 22:17:02,550 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:17:03,134 epoch 9 - iter 1/10 - loss 1.32691610 - samples/sec: 54.89 - lr: 0.100000\n", + "2022-04-28 22:17:03,595 epoch 9 - iter 2/10 - loss 1.16159409 - samples/sec: 69.57 - lr: 0.100000\n", + "2022-04-28 22:17:04,014 epoch 9 - iter 3/10 - loss 1.10929267 - samples/sec: 76.56 - lr: 0.100000\n", + "2022-04-28 22:17:04,518 epoch 9 - iter 4/10 - loss 1.05318102 - samples/sec: 63.62 - lr: 0.100000\n", + "2022-04-28 22:17:04,966 epoch 9 - iter 5/10 - loss 1.07275693 - samples/sec: 71.75 - lr: 0.100000\n", + "2022-04-28 22:17:05,432 epoch 9 - iter 6/10 - loss 1.02824855 - samples/sec: 68.82 - lr: 0.100000\n", + "2022-04-28 22:17:05,909 epoch 9 - iter 7/10 - loss 1.04051120 - samples/sec: 67.23 - lr: 0.100000\n", + "2022-04-28 22:17:06,404 epoch 9 - iter 8/10 - loss 1.00513531 - samples/sec: 64.78 - lr: 0.100000\n", + "2022-04-28 22:17:06,831 epoch 9 - iter 9/10 - loss 1.03960636 - samples/sec: 75.29 - lr: 0.100000\n", + "2022-04-28 22:17:07,019 epoch 9 - iter 10/10 - loss 1.07805606 - samples/sec: 171.12 - lr: 0.100000\n", + "2022-04-28 22:17:07,020 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:17:07,021 EPOCH 9 done: loss 1.0781 - lr 0.1000000\n", + "2022-04-28 22:17:07,151 DEV : loss 0.909138560295105 - score 0.7143\n", + "2022-04-28 22:17:07,153 BAD EPOCHS (no improvement): 0\n", + "saving best model\n", + "2022-04-28 22:17:12,454 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:17:12,906 epoch 10 - iter 1/10 - loss 1.49117911 - samples/sec: 70.96 - lr: 0.100000\n", + "2022-04-28 22:17:13,334 epoch 10 - iter 2/10 - loss 1.23203236 - samples/sec: 74.94 - lr: 0.100000\n", + "2022-04-28 22:17:13,789 epoch 10 - iter 3/10 - loss 1.12988973 - samples/sec: 70.48 - lr: 0.100000\n", + "2022-04-28 22:17:14,275 epoch 10 - iter 4/10 - loss 1.07148103 - samples/sec: 65.98 - lr: 0.100000\n", + "2022-04-28 22:17:14,795 epoch 10 - iter 5/10 - loss 1.08848752 - samples/sec: 61.66 - lr: 0.100000\n", + "2022-04-28 22:17:15,328 epoch 10 - iter 6/10 - loss 1.05938606 - samples/sec: 60.26 - lr: 0.100000\n", + "2022-04-28 22:17:15,730 epoch 10 - iter 7/10 - loss 1.00324091 - samples/sec: 79.80 - lr: 0.100000\n", + "2022-04-28 22:17:16,245 epoch 10 - iter 8/10 - loss 0.93657552 - samples/sec: 62.26 - lr: 0.100000\n", + "2022-04-28 22:17:16,681 epoch 10 - iter 9/10 - loss 0.95801387 - samples/sec: 73.56 - lr: 0.100000\n", + "2022-04-28 22:17:16,901 epoch 10 - iter 10/10 - loss 0.87346228 - samples/sec: 146.77 - lr: 0.100000\n", + "2022-04-28 22:17:16,902 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:17:16,903 EPOCH 10 done: loss 0.8735 - lr 0.1000000\n", + "2022-04-28 22:17:17,047 DEV : loss 0.5443210601806641 - score 0.7143\n", + "2022-04-28 22:17:17,050 BAD EPOCHS (no improvement): 0\n", + "saving best model\n", + "2022-04-28 22:17:27,557 ----------------------------------------------------------------------------------------------------\n", + "2022-04-28 22:17:27,557 Testing using best model ...\n", + "2022-04-28 22:17:27,566 loading file slot-model\\best-model.pt\n", + "2022-04-28 22:17:33,102 0.6429\t0.4500\t0.5294\n", + "2022-04-28 22:17:33,103 \n", + "Results:\n", + "- F1-score (micro) 0.5294\n", + "- F1-score (macro) 0.4533\n", + "\n", + "By class:\n", + "area tp: 0 - fp: 0 - fn: 1 - precision: 0.0000 - recall: 0.0000 - f1-score: 0.0000\n", + "date tp: 1 - fp: 1 - fn: 0 - precision: 0.5000 - recall: 1.0000 - f1-score: 0.6667\n", + "quantity tp: 3 - fp: 1 - fn: 3 - precision: 0.7500 - recall: 0.5000 - f1-score: 0.6000\n", + "time tp: 2 - fp: 2 - fn: 4 - precision: 0.5000 - recall: 0.3333 - f1-score: 0.4000\n", + "title tp: 3 - fp: 1 - fn: 3 - precision: 0.7500 - recall: 0.5000 - f1-score: 0.6000\n", + "2022-04-28 22:17:33,104 ----------------------------------------------------------------------------------------------------\n" + ] + }, + { + "data": { + "text/plain": [ + "{'test_score': 0.5294117647058824,\n", + " 'dev_score_history': [0.0,\n", + " 0.0,\n", + " 0.0,\n", + " 0.0,\n", + " 0.2222222222222222,\n", + " 0.3333333333333333,\n", + " 0.5,\n", + " 0.5,\n", + " 0.7142857142857143,\n", + " 0.7142857142857143],\n", + " 'train_loss_history': [5.108907747268677,\n", + " 2.6376620531082153,\n", + " 2.0286046147346495,\n", + " 1.816417047381401,\n", + " 1.7658178985118866,\n", + " 1.5524149179458617,\n", + " 1.384124332666397,\n", + " 1.3110598623752594,\n", + " 1.0780560612678527,\n", + " 0.8734622806310653],\n", + " 'dev_loss_history': [1.1116931438446045,\n", + " 1.2027416229248047,\n", + " 0.9265440702438354,\n", + " 0.8311207890510559,\n", + " 0.7797471880912781,\n", + " 0.9345423579216003,\n", + " 0.6798948049545288,\n", + " 0.5563207864761353,\n", + " 0.909138560295105,\n", + " 0.5443210601806641]}" + ] + }, + "execution_count": 42, + "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": 43, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2022-04-28 22:17:33,278 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": 44, + "metadata": {}, + "outputs": [], + "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" + ] + }, + { + "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": 90, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
co O
gracie O
popołudniuO
" + ], + "text/plain": [ + "'\\n\\n\\n\\n\\n\\n
co O
gracie O
popołudniuO
'" + ] + }, + "execution_count": 90, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "tabulate(predict(model, 'batman'.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/tasks/zad8/pl/annotate.py b/tasks/zad8/pl/annotate.py new file mode 100644 index 0000000..18c21e6 --- /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/', "dialog-20-01-01.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..c1d97c4 --- /dev/null +++ b/tasks/zad8/pl/test.conllu @@ -0,0 +1,275 @@ +# 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: +1 jakie reqmore NoLabel +2 filmy reqmore NoLabel +3 są reqmore NoLabel +4 w reqmore NoLabel +5 tym reqmore NoLabel +6 tygodniu reqmore NoLabel +7 w reqmore NoLabel +8 repertuarze reqmore NoLabel + +# text: o której godzinie w piątej mogę zobaczyć na noże +# intent: reqmore inform +# slots: nanoże:title +1 o reqmore inform NoLabel +2 której reqmore inform NoLabel +3 godzinie reqmore inform NoLabel +4 w reqmore inform NoLabel +5 piątej reqmore inform NoLabel +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: 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 NoLabel +7 2 inform B-quantity +8 miejsca inform NoLabel +9 na inform NoLabel +10 seans inform NoLabel +11 o inform B-time +12 19:30 inform I-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: dwa:quantity,batman:title +1 chciałbym inform NoLabel +2 zarezerować inform NoLabel +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: +1 a inform NoLabel +2 kiedy inform NoLabel +3 jest inform NoLabel +4 najbliższy inform NoLabel +5 seans inform NoLabel + +# 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 B-time +8 15:30 inform I-time + +# text: na samym tyle sali +# intent: inform +# slots: +1 na inform NoLabel +2 samym inform NoLabel +3 tyle inform NoLabel +4 sali inform NoLabel + +# 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: +1 zorro2 inform NoLabel + +# text: poproszę o listę seansów +# intent: reqmore +# slots: +1 poproszę reqmore NoLabel +2 o reqmore NoLabel +3 listę reqmore NoLabel +4 seansów reqmore NoLabel + +# text: poproszę o listę filmów granych jutro wieczorem +# intent: reqmore inform +# slots: jutro:date,wieczorem:time +1 poproszę reqmore inform NoLabel +2 o reqmore inform NoLabel +3 listę reqmore inform NoLabel +4 filmów reqmore inform NoLabel +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: toniewypanda:title +1 chciałbym inform NoLabel +2 kupić inform NoLabel +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ędzie +# intent: nan +# slots: +1 w NoLabel +2 środku NoLabel +3 pomiedzy NoLabel +4 górnym NoLabel +5 i NoLabel +6 środkowym NoLabel +7 rzędzie NoLabel + +# text: w środku pomiedzy górnym i środkowym rzędem +# intent: inform +# slots: +1 w inform NoLabel +2 środku inform NoLabel +3 pomiedzy inform NoLabel +4 górnym inform NoLabel +5 i inform NoLabel +6 środkowym inform NoLabel +7 rzędem inform NoLabel + +# 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 +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-time +9 o inform I-time +10 18:30 inform I-time + +# text: czy jest jakis film o godzinie 18:30 +# intent: request +# slots: ogodzinie18:30:time +1 czy request NoLabel +2 jest request NoLabel +3 jakis request NoLabel +4 film request NoLabel +5 o request B-time +6 godzinie request I-time +7 18:30 request I-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..836e6d7 --- /dev/null +++ b/tasks/zad8/pl/train.conllu @@ -0,0 +1,3565 @@ +# 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 NoLabel +7 premiery reqmore NoLabel +8 są reqmore NoLabel +9 w reqmore NoLabel +10 tym reqmore NoLabel +11 tygodniu reqmore NoLabel + +# 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: wybieram:17:30:time +1 wybieram: inform B-time +2 17:30 inform I-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: +1 1x inform NoLabel +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: +1 czy inform NoLabel +2 mogę inform NoLabel +3 zarezerwować inform NoLabel +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 NoLabel +3 bilety inform NoLabel + +# text: dzisiaj +# intent: inform +# slots: dzisiaj:date +1 dzisiaj inform B-date + +# text: 16:30:00 +# intent: infomrm +# slots: +1 16:30:00 infomrm NoLabel + +# 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: jutro:date,wieczorem:time +1 poproszę reqmore inform NoLabel +2 listę reqmore inform NoLabel +3 filmów reqmore inform NoLabel +4 granych reqmore inform NoLabel +5 jutro reqmore inform B-date +6 wieczorem reqmore inform B-time + +# text: chciałbym kupić bilety na transformers +# intent: inform +# slots: +1 chciałbym inform NoLabel +2 kupić inform NoLabel +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 NoLabel +4 bilety inform NoLabel +5 za inform NoLabel +6 2 inform B-quantity +7 dni inform NoLabel + +# text: normalne +# intent: inform +# slots: +1 normalne inform NoLabel + +# text: przy oknie w przedziale +# intent: nan +# slots: +1 przy NoLabel +2 oknie NoLabel +3 w NoLabel +4 przedziale NoLabel + +# text: wagon z przedziałami miejsce przy oknie +# intent: nan +# slots: +1 wagon NoLabel +2 z NoLabel +3 przedziałami NoLabel +4 miejsce NoLabel +5 przy NoLabel +6 oknie 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 NoLabel +5 góry inform NoLabel + +# 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 NoLabel +2 gracie reqmore NoLabel + +# 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: zorro:title +1 w reqmore NoLabel +2 jakich reqmore NoLabel +3 godzinach reqmore NoLabel +4 gracie reqmore NoLabel +5 zorro reqmore B-title + +# text: chciałbym zarezerwować bilety na batmana +# intent: inform +# slots: batmana:title +1 chciałbym inform NoLabel +2 zarezerwować inform NoLabel +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 NoLabel +3 leci reqmore inform NoLabel +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: nanoże:title +1 o reqmore inform NoLabel +2 której reqmore inform NoLabel +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: 12:quantity +1 poproszę inform NoLabel +2 dwa inform NoLabel +3 bilety inform NoLabel +4 na inform NoLabel +5 12 inform B-quantity + +# 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 +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 NoLabel + +# text: coś koło południa +# intent: reqmore +# slots: +1 coś reqmore NoLabel +2 koło reqmore NoLabel +3 południa reqmore NoLabel + +# 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: +1 chciałabym inform NoLabel +2 zarezerwować inform NoLabel +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 impl-conf inform B-quantity + +# text: z tyłu na środku (aby ekran był centralnie widoczny) +# intent: inform +# slots: naśrodku:area +1 z inform NoLabel +2 tyłu inform NoLabel +3 na inform B-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 NoLabel +2 są inform NoLabel +3 najbliższe inform NoLabel +4 seanse inform NoLabel + +# 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: uncharted:title +1 o reqmore inform NoLabel +2 której reqmore inform NoLabel +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ń bielty 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: 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 NoLabel +6 dwa inform NoLabel +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 NoLabel +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: 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 NoLabel +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: nan +# slots: +1 czy NoLabel +2 tylko NoLabel +3 można NoLabel +4 u NoLabel +5 was NoLabel +6 rezerwować NoLabel +7 nachos 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,o19:00:time +1 poproszę inform NoLabel +2 bilet inform NoLabel +3 na inform NoLabel +4 batmana inform B-title +5 o inform B-time +6 19:00 inform I-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: nan +# slots: +1 chciałbym NoLabel +2 zarezerwować NoLabel +3 film 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: +1 jakie request NoLabel +2 filmy request NoLabel +3 są request NoLabel +4 teraz request NoLabel +5 w request NoLabel +6 kinach request NoLabel + +# text: poproszę 3x bilet na ambulans +# intent: inform +# slots: ambulans:title +1 poproszę inform NoLabel +2 3x inform NoLabel +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 NoLabel + +# 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 1830 +# intent: inform +# slots: 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 NoLabel +8 dzisiaj inform B-date +9 o inform NoLabel +10 1830 inform NoLabel + +# 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: +1 super inform NoLabel +2 teraz inform NoLabel +3 chciałbym inform NoLabel +4 zarezerwować inform NoLabel +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: +1 chciałabym inform NoLabel +2 zarezerwować inform NoLabel +3 bilet inform NoLabel + +# text: co gracie +# intent: request +# slots: +1 co request NoLabel +2 gracie request NoLabel + +# text: ja bym chciała na fantsaczne zwierzta +# intent: inform +# slots: +1 ja inform NoLabel +2 bym inform NoLabel +3 chciała inform NoLabel +4 na inform NoLabel +5 fantsaczne inform NoLabel +6 zwierzta inform NoLabel + +# text: 29032022 +# intent: inform +# slots: +1 29032022 inform NoLabel + +# text: jakoś wieczorkiem +# intent: inform +# slots: +1 jakoś inform NoLabel +2 wieczorkiem inform NoLabel + +# text: to na 21 prosze +# intent: inform +# slots: 21:quantity +1 to inform NoLabel +2 na inform NoLabel +3 21 inform B-quantity +4 prosze inform NoLabel + +# text: to na 18 proszę +# intent: inform +# slots: 18:quantity +1 to inform NoLabel +2 na inform NoLabel +3 18 inform B-quantity +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: +1 chciałbym inform NoLabel +2 zarezerwować inform NoLabel +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 1520 +# intent: reqmore +# slots: +1 podaj reqmore NoLabel +2 więcej reqmore NoLabel +3 informacji reqmore NoLabel +4 o reqmore NoLabel +5 seansie reqmore NoLabel +6 o reqmore NoLabel +7 1520 reqmore NoLabel + +# 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 NoLabel +3 o reqmore NoLabel +4 napisach/dubbingu reqmore NoLabel + +# text: cześć +# intent: hello +# slots: +1 cześć hello NoLabel + +# text: chciałbym zarezwsfsgf bilet +# intent: nan +# slots: +1 chciałbym NoLabel +2 zarezwsfsgf NoLabel +3 bilet NoLabel + +# text: chciałbym zarezerwować bilet +# intent: inform +# slots: +1 chciałbym inform NoLabel +2 zarezerwować inform NoLabel +3 bilet inform NoLabel + +# text: jakie są wyświetlane w najbliższą sobotę +# intent: reqmore +# slots: wnajbliższąsobotę:date +1 jakie reqmore NoLabel +2 są reqmore NoLabel +3 wyświetlane reqmore NoLabel +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: toniewypanda:title +1 w reqmore inform NoLabel +2 których reqmore inform NoLabel +3 godzinach reqmore inform NoLabel +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: godzina19:30:time +1 godzina inform B-time +2 19:30 inform I-time + +# text: najlepiej w ostatnim rzędzie +# intent: inform +# slots: +1 najlepiej inform NoLabel +2 w inform NoLabel +3 ostatnim inform NoLabel +4 rzędzie inform NoLabel + +# 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: +1 chciałbym reqmore NoLabel +2 dowiedzieć reqmore NoLabel +3 się reqmore NoLabel +4 jakie reqmore NoLabel +5 filmy reqmore NoLabel +6 są reqmore NoLabel +7 wyświetlane reqmore NoLabel +8 w reqmore NoLabel +9 tym reqmore NoLabel +10 tygodniu reqmore NoLabel + +# text: w jakich godzinach mogę zobaczyć batmana w piątek +# intent: reqmore inform +# slots: batmana:title +1 w reqmore inform NoLabel +2 jakich reqmore inform NoLabel +3 godzinach reqmore inform NoLabel +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 NoLabel + +# text: chciałbym zarezerwować 3 miejsca na seans o 17:45 +# intent: inform +# slots: 3:quantity,o17:45:time +1 chciałbym inform NoLabel +2 zarezerwować inform NoLabel +3 3 inform B-quantity +4 miejsca inform NoLabel +5 na inform NoLabel +6 seans inform NoLabel +7 o inform B-time +8 17:45 inform I-time + +# text: czy są dostępne miejsca w tylnych rzędach +# intent: reqmore inform +# slots: +1 czy reqmore inform NoLabel +2 są reqmore inform NoLabel +3 dostępne reqmore inform NoLabel +4 miejsca reqmore inform NoLabel +5 w reqmore inform NoLabel +6 tylnych reqmore inform NoLabel +7 rzędach reqmore inform NoLabel + +# 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: +1 czy reqmore NoLabel +2 można reqmore NoLabel +3 zarezerwować reqmore NoLabel +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: batman:title +1 jaką reqmore NoLabel +2 ocenę reqmore NoLabel +3 posiada reqmore NoLabel +4 batman reqmore B-title + +# text: dobrze chciałbym zatem zarezerwować bilet na innych ludzi +# intent: inform +# slots: +1 dobrze inform NoLabel +2 chciałbym inform NoLabel +3 zatem inform NoLabel +4 zarezerwować inform NoLabel +5 bilet inform NoLabel +6 na inform NoLabel +7 innych inform NoLabel +8 ludzi inform NoLabel + +# text: 22032022 +# intent: inform +# slots: +1 22032022 inform NoLabel + +# text: jutro po godzinie 16:00 +# intent: inform +# slots: jutro:date,16:00:time +1 jutro inform B-date +2 po inform NoLabel +3 godzinie inform NoLabel +4 16:00 inform B-time + +# 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: +1 z inform NoLabel +2 tyłu inform NoLabel +3 sali inform NoLabel +4 nie inform NoLabel +5 na inform NoLabel +6 samym inform NoLabel +7 końcu inform NoLabel + +# 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: dwa:quantity,batmana:title +1 chciałbym inform NoLabel +2 kupić inform NoLabel +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: +1 z inform NoLabel +2 tyłu inform NoLabel + +# 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: +1 mógłbym reqmore NoLabel +2 kupić reqmore NoLabel +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: jutro:date +1 jakie reqmore inform NoLabel +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: +1 o reqmore inform NoLabel +2 ktorej reqmore inform NoLabel +3 jest reqmore inform NoLabel +4 nasze reqmore inform NoLabel +5 magiczne reqmore inform NoLabel +6 encanto reqmore inform NoLabel + +# 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: +1 poproszę inform NoLabel +2 jeszcze inform NoLabel +3 jedno inform NoLabel +4 miejsce inform NoLabel +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: dziś:date +1 co reqmore inform NoLabel +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: poproszę2:quantity,toniewypanda:title +1 poproszę inform B-quantity +2 2 inform I-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: +1 a inform NoLabel +2 z inform NoLabel +3 przodu inform NoLabel +4 gdzieś inform NoLabel + +# text: eee a o której +# intent: request +# slots: +1 eee request NoLabel +2 a request NoLabel +3 o request NoLabel +4 której request 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: +1 chciałabym inform NoLabel +2 zarezerwować inform NoLabel +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: batman:title +1 the inform NoLabel +2 batman inform B-title + +# text: dziś wieczorem +# intent: inform +# slots: dziś:date,wieczorem:time +1 dziś inform B-date +2 wieczorem inform B-time + +# 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: naśrodku:area +1 z inform NoLabel +2 tyłu inform NoLabel +3 na inform B-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 NoLabel +3 repertuar reqmore NoLabel +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: +1 jakie reqmore NoLabel +2 sš reqmore NoLabel +3 najbliższe reqmore NoLabel +4 seanse reqmore NoLabel + +# 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: jeden:quantity +1 jeden inform B-quantity +2 normalny inform NoLabel +3 i inform NoLabel +4 ulgowy inform NoLabel + +# 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: dwa:quantity +1 chciałem reqmore NoLabel +2 zarezerwować reqmore NoLabel +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: +1 chciałbym inform NoLabel +2 zarezerwować inform NoLabel +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 NoLabel +4 mojej reqmore NoLabel +5 żony reqmore NoLabel +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: +1 chciałbym inform NoLabel +2 zarezerwować inform NoLabel +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: +1 jakie reqmore NoLabel +2 filmy reqmore NoLabel +3 są reqmore NoLabel +4 obecnie reqmore NoLabel +5 na reqmore NoLabel +6 ekranach reqmore NoLabel + +# text: sobota +# intent: inform +# slots: +1 sobota inform NoLabel + +# text: poproszę 2 bilety na innych ludzi +# intent: inform +# slots: poproszę2:quantity +1 poproszę inform B-quantity +2 2 inform I-quantity +3 bilety inform NoLabel +4 na inform NoLabel +5 innych inform NoLabel +6 ludzi inform NoLabel + +# 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 +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 NoLabel + +# text: czy sš wcześniejsze seanse +# intent: reqmore +# slots: +1 czy reqmore NoLabel +2 sš reqmore NoLabel +3 wcześniejsze reqmore NoLabel +4 seanse reqmore NoLabel + +# text: w takim razie chcę zarezerwować bilety na psie pazury +# intent: inform +# slots: +1 w inform NoLabel +2 takim inform NoLabel +3 razie inform NoLabel +4 chcę inform NoLabel +5 zarezerwować inform NoLabel +6 bilety inform NoLabel +7 na inform NoLabel +8 psie inform NoLabel +9 pazury inform NoLabel + +# 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: +1 w inform NoLabel +2 takim inform NoLabel +3 razie inform NoLabel +4 chcę inform NoLabel +5 zarezerwować inform NoLabel +6 normalne inform NoLabel +7 bilety inform NoLabel +8 na inform NoLabel +9 psie inform NoLabel +10 pazury inform NoLabel + +# 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: +1 chciałbym request NoLabel +2 dowiedzieć request NoLabel +3 się request NoLabel +4 jaki request NoLabel +5 jest request NoLabel +6 aktualnie request NoLabel +7 repertuar request NoLabel + +# 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: +1 w inform NoLabel +2 górnej inform NoLabel +3 części inform NoLabel +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: +1 co request NoLabel +2 można request NoLabel +3 obejrzeć request NoLabel +4 w request NoLabel +5 kwietniu request NoLabel + +# text: kiedy gracie dkf zamek +# intent: request +# slots: +1 kiedy request NoLabel +2 gracie request NoLabel +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 NoLabel +7 12:15 inform B-time +8 15:50 inform NoLabel + +# text: pierwszy rzšd po lewej stronie +# intent: inform +# slots: polewej:area +1 pierwszy inform NoLabel +2 rzšd inform NoLabel +3 po inform B-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ń:date +1 a request NoLabel +2 na request NoLabel +3 za request B-date +4 tydzień request I-date + +# text: to na za tydzień na cud guadalupe proszę +# intent: inform +# slots: zatydzień:date +1 to inform NoLabel +2 na inform NoLabel +3 za inform B-date +4 tydzień inform I-date +5 na inform NoLabel +6 cud inform NoLabel +7 guadalupe inform NoLabel +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: nan +# slots: +1 zaskocz NoLabel +2 mnie NoLabel + +# text: no to jakoś niech będzie jakoś to będzie +# intent: inform +# slots: +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 NoLabel +8 będzie inform NoLabel + +# text: jeden dla mnie drugi dla kota +# intent: nan +# slots: jeden:quantity +1 jeden B-quantity +2 dla NoLabel +3 mnie NoLabel +4 drugi NoLabel +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: nan +# slots: +1 normalny 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 9:30 inform I-time + +# 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 9:30 inform I-time + +# 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 9:30 inform I-time + +# text: wybieram ups 2 o godzinie 10:45 +# intent: inform +# slots: 2:quantity,ogodzinie10:45:time +1 wybieram inform NoLabel +2 ups inform NoLabel +3 2 inform B-quantity +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: o21:30:time +1 chcę inform NoLabel +2 iść inform NoLabel +3 na inform NoLabel +4 matki inform NoLabel +5 rówonegłe inform NoLabel +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: +1 ten inform NoLabel +2 o inform NoLabel +3 czwartej inform NoLabel + +# text: matki równoległe dwunasta +# intent: inform +# slots: matkirównoległe:title +1 matki inform B-title +2 równoległe inform I-title +3 dwunasta inform NoLabel + +# 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: +1 wybierz inform NoLabel +2 to inform NoLabel +3 nie inform NoLabel +4 wypada inform NoLabel + +# 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: +1 pięc inform NoLabel +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: 19:quantity,a14a15a16:seats +1 daj inform NoLabel +2 mi inform NoLabel +3 trzy inform NoLabel +4 bilety inform NoLabel +5 na inform NoLabel +6 seans inform NoLabel +7 na inform NoLabel +8 godzinę inform NoLabel +9 19 inform B-quantity +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: wieczorem:time +1 co inform NoLabel +2 gracie inform NoLabel +3 wieczorem inform B-time + +# text: co gracie jutro +# intent: inform +# slots: jutro:date +1 co inform NoLabel +2 gracie inform NoLabel +3 jutro inform B-date + +# text: co gracie po południu +# intent: inform +# slots: popołudniu:time +1 co inform NoLabel +2 gracie inform NoLabel +3 po inform B-time +4 południu inform I-time + +# text: co gracie rano +# intent: inform +# slots: rano:time +1 co inform NoLabel +2 gracie inform NoLabel +3 rano inform B-time + +# text: jakie filmy są wiczorem +# intent: inform +# slots: +1 jakie inform NoLabel +2 filmy inform NoLabel +3 są inform NoLabel +4 wiczorem inform 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 9:30 inform I-time + +# text: wybieram ups 2 o godzinie 10:45 +# intent: inform +# slots: 2:quantity,ogodzinie10:45:time +1 wybieram inform NoLabel +2 ups inform NoLabel +3 2 inform B-quantity +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: o21:30:time +1 chcę inform NoLabel +2 iść inform NoLabel +3 na inform NoLabel +4 matki inform NoLabel +5 rówonegłe inform NoLabel +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: +1 ten inform NoLabel +2 o inform NoLabel +3 czwartej inform NoLabel + +# text: matki równoległe dwunasta +# intent: inform +# slots: matkirównoległe:title +1 matki inform B-title +2 równoległe inform I-title +3 dwunasta inform NoLabel + +# 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: +1 wybierz inform NoLabel +2 to inform NoLabel +3 nie inform NoLabel +4 wypada inform NoLabel + +# 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: +1 pięc inform NoLabel +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: 19:quantity,a14a15a16:seats +1 daj inform NoLabel +2 mi inform NoLabel +3 trzy inform NoLabel +4 bilety inform NoLabel +5 na inform NoLabel +6 seans inform NoLabel +7 na inform NoLabel +8 godzinę inform NoLabel +9 19 inform B-quantity +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: wieczorem:time +1 co inform NoLabel +2 gracie inform NoLabel +3 wieczorem inform B-time + +# text: co gracie jutro +# intent: inform +# slots: jutro:date +1 co inform NoLabel +2 gracie inform NoLabel +3 jutro inform B-date + +# text: co gracie po południu +# intent: inform +# slots: popołudniu:time +1 co inform NoLabel +2 gracie inform NoLabel +3 po inform B-time +4 południu inform I-time + +# text: co gracie rano +# intent: inform +# slots: rano:time +1 co inform NoLabel +2 gracie inform NoLabel +3 rano inform B-time + +# text: jakie filmy są wiczorem +# intent: inform +# slots: +1 jakie inform NoLabel +2 filmy inform NoLabel +3 są inform NoLabel +4 wiczorem inform 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 9:30 inform I-time + +# text: wybieram ups 2 o godzinie 10:45 +# intent: inform +# slots: 2:quantity,ogodzinie10:45:time +1 wybieram inform NoLabel +2 ups inform NoLabel +3 2 inform B-quantity +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: o21:30:time +1 chcę inform NoLabel +2 iść inform NoLabel +3 na inform NoLabel +4 matki inform NoLabel +5 rówonegłe inform NoLabel +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: +1 ten inform NoLabel +2 o inform NoLabel +3 czwartej inform NoLabel + +# text: matki równoległe dwunasta +# intent: inform +# slots: matkirównoległe:title +1 matki inform B-title +2 równoległe inform I-title +3 dwunasta inform NoLabel + +# 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: +1 wybierz inform NoLabel +2 to inform NoLabel +3 nie inform NoLabel +4 wypada inform NoLabel + +# text: dwa siedzenia +# intent: inform +# slots: +1 dwa inform NoLabel +2 siedzenia inform NoLabel + +# text: jedno +# intent: inform +# slots: +1 jedno inform NoLabel + +# text: trzy bileciki na 19:00 na batmana na środku +# intent: inform +# slots: na19:00:time,batmana:title,naśrodku:area +1 trzy inform NoLabel +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: +1 cztery inform NoLabel + +# text: pięc biletów poproszę +# intent: inform +# slots: +1 pięc inform NoLabel +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: 19:quantity,a14a15a16:seats +1 daj inform NoLabel +2 mi inform NoLabel +3 trzy inform NoLabel +4 bilety inform NoLabel +5 na inform NoLabel +6 seans inform NoLabel +7 na inform NoLabel +8 godzinę inform NoLabel +9 19 inform B-quantity +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: batman:title,j12:seats +1 poproszę inform NoLabel +2 jeden inform NoLabel +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: wieczorem:time +1 co inform NoLabel +2 gracie inform NoLabel +3 wieczorem inform B-time + +# text: co gracie jutro +# intent: inform +# slots: jutro:date +1 co inform NoLabel +2 gracie inform NoLabel +3 jutro inform B-date + +# text: co gracie po południu +# intent: inform +# slots: popołudniu:time +1 co inform NoLabel +2 gracie inform NoLabel +3 po inform B-time +4 południu inform I-time + +# text: co gracie rano +# intent: inform +# slots: rano:time +1 co inform NoLabel +2 gracie inform NoLabel +3 rano inform B-time + +# text: jakie filmy są wiczorem +# intent: inform +# slots: +1 jakie inform NoLabel +2 filmy inform NoLabel +3 są inform NoLabel +4 wieczorem inform B-time + +# 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: pojutrze:date +1 a inform NoLabel +2 co inform NoLabel +3 gracie inform NoLabel +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 +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 NoLabel +7 noze inform NoLabel + +# 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 B-title +11 o inform I-title +12 miłości inform I-title + +# 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 +