diff --git a/.gitignore b/.gitignore
index d973327..7ded952 100644
--- a/.gitignore
+++ b/.gitignore
@@ -211,4 +211,6 @@ fabric.properties
# Android studio 3.1+ serialized cache file
.idea/caches/build_file_checksums.ser
-.idea
\ No newline at end of file
+.idea
+
+slot-model
\ No newline at end of file
diff --git a/data/.~lock.dialog-16-03-01.tsv# b/data/.~lock.dialog-16-03-01.tsv#
deleted file mode 100644
index 737f967..0000000
--- a/data/.~lock.dialog-16-03-01.tsv#
+++ /dev/null
@@ -1 +0,0 @@
-,DESKTOP-QF2J2E3/riraa,DESKTOP-QF2J2E3,12.04.2022 12:56,file:///C:/Users/riraa/AppData/Roaming/LibreOffice/4;
\ No newline at end of file
diff --git a/data/.~lock.dialog-16-05-01.tsv# b/data/.~lock.dialog-16-05-01.tsv#
deleted file mode 100644
index 737f967..0000000
--- a/data/.~lock.dialog-16-05-01.tsv#
+++ /dev/null
@@ -1 +0,0 @@
-,DESKTOP-QF2J2E3/riraa,DESKTOP-QF2J2E3,12.04.2022 12:56,file:///C:/Users/riraa/AppData/Roaming/LibreOffice/4;
\ No newline at end of file
diff --git a/data/.~lock.dialog-16-07-01.tsv# b/data/.~lock.dialog-16-07-01.tsv#
deleted file mode 100644
index 737f967..0000000
--- a/data/.~lock.dialog-16-07-01.tsv#
+++ /dev/null
@@ -1 +0,0 @@
-,DESKTOP-QF2J2E3/riraa,DESKTOP-QF2J2E3,12.04.2022 12:56,file:///C:/Users/riraa/AppData/Roaming/LibreOffice/4;
\ No newline at end of file
diff --git a/data/.~lock.dialog-16-11-01.tsv# b/data/.~lock.dialog-16-11-01.tsv#
deleted file mode 100644
index 737f967..0000000
--- a/data/.~lock.dialog-16-11-01.tsv#
+++ /dev/null
@@ -1 +0,0 @@
-,DESKTOP-QF2J2E3/riraa,DESKTOP-QF2J2E3,12.04.2022 12:56,file:///C:/Users/riraa/AppData/Roaming/LibreOffice/4;
\ No newline at end of file
diff --git a/data/.~lock.dialog-16-15-01.tsv# b/data/.~lock.dialog-16-15-01.tsv#
deleted file mode 100644
index 737f967..0000000
--- a/data/.~lock.dialog-16-15-01.tsv#
+++ /dev/null
@@ -1 +0,0 @@
-,DESKTOP-QF2J2E3/riraa,DESKTOP-QF2J2E3,12.04.2022 12:56,file:///C:/Users/riraa/AppData/Roaming/LibreOffice/4;
\ No newline at end of file
diff --git a/data/.~lock.dialog-16-17-01.tsv# b/data/.~lock.dialog-16-17-01.tsv#
deleted file mode 100644
index 737f967..0000000
--- a/data/.~lock.dialog-16-17-01.tsv#
+++ /dev/null
@@ -1 +0,0 @@
-,DESKTOP-QF2J2E3/riraa,DESKTOP-QF2J2E3,12.04.2022 12:56,file:///C:/Users/riraa/AppData/Roaming/LibreOffice/4;
\ No newline at end of file
diff --git a/data/.~lock.dialog-16-19-01.tsv# b/data/.~lock.dialog-16-19-01.tsv#
deleted file mode 100644
index 737f967..0000000
--- a/data/.~lock.dialog-16-19-01.tsv#
+++ /dev/null
@@ -1 +0,0 @@
-,DESKTOP-QF2J2E3/riraa,DESKTOP-QF2J2E3,12.04.2022 12:56,file:///C:/Users/riraa/AppData/Roaming/LibreOffice/4;
\ No newline at end of file
diff --git a/data/.~lock.dialog-17-04-04.tsv# b/data/.~lock.dialog-17-04-04.tsv#
deleted file mode 100644
index c2d516f..0000000
--- a/data/.~lock.dialog-17-04-04.tsv#
+++ /dev/null
@@ -1 +0,0 @@
-,DESKTOP-QF2J2E3/riraa,DESKTOP-QF2J2E3,12.04.2022 22:32,file:///C:/Users/riraa/AppData/Roaming/LibreOffice/4;
\ No newline at end of file
diff --git a/data/clean/dialog-16-01-01.tsv b/data/clean/dialog-16-01-01.tsv
new file mode 100644
index 0000000..dd49456
--- /dev/null
+++ b/data/clean/dialog-16-01-01.tsv
@@ -0,0 +1,32 @@
+user Halo? hello
+system Witamy w systemie kinowym Nachos. welcomemsg
+user Chaciałbym pójść na premierę filmu, jakie premiery są w tym tygodniu? reqmore
+system W tym tygodniu gramy: Batman, Podróż na Księżyc, Krzyk, Na noże. select
+user Wybieram Batmana. inform
+system Jaki termin ciÄ™ interesuje? request
+user Najbliższy czwartek. inform
+system Batman w czwartek grany jest o 12:30, 15:00, 17:30 oraz o 20:45. select
+user Wybieram: 17:30. inform
+system Jakie bilety? request
+user Są zniżki studenckie? reqmore
+system Tak 21% przy okazaniu legitymacji studenckiej. request
+user Super, w takim razie poproszÄ™ studnecki. inform
+system Ile biletów studenckich potrzebujesz? request impl-conf
+user 1x studencki. inform
+system Chcesz usiąść po lewej, na środku czy po prawej stronie? request
+user Na środku. inform
+system Utworzono rezerwację na film Batman dnia 24.01 o godzinie 17:30 z jednym biletem ulgowym. Twój numer rezerwacji to 21372137. inform expl-conf
+user Czy mogę zarezerwować kolejny bilet? inform
+system Na ten sam film? request
+user Tak. inform
+system Jaki bilet ciÄ™ interesuje? request
+user Normalny. reqmore
+system Dobrze, dodano 1 bilet normalny. expl-conf
+user Super, poproszę by miejsca były obok siebie. inform
+system Masz przydzielone miejsca 12h i 13h. expl-conf
+user Super, czy można płacić z góry? reqmore
+system Płatność możliwa jest tylko przy kasach. offer
+user Ok, czy bilety mam już zarezerwowane? reqmore
+system Tak numer twojej rezerwacji to 21372137 na film Batman dnia 24.01 o godzinie 17:30. inform
+user Super, dziękuję. bye
+system Cześć! bye
diff --git a/data/clean/dialog-16-03-01.tsv b/data/clean/dialog-16-03-01.tsv
new file mode 100644
index 0000000..c004e01
--- /dev/null
+++ b/data/clean/dialog-16-03-01.tsv
@@ -0,0 +1,8 @@
+user Dzień dobry. hello
+system Witamy w systemie kinowym Nachos. welcomemsg
+user Chcę zarezerwować bilety. inform
+system Jaki termin ciÄ™ interesuje? request
+user Dzisiaj. inform
+system Dzisiaj gramy Batman 3D i Batman 4D z oblewaniem twarzy. select
+user 16:30:00 infomrm
+system Proszę wybierz datę przyszłą. select
diff --git a/data/clean/dialog-16-05-01.tsv b/data/clean/dialog-16-05-01.tsv
new file mode 100644
index 0000000..675aff9
--- /dev/null
+++ b/data/clean/dialog-16-05-01.tsv
@@ -0,0 +1,14 @@
+user Cześć. hello
+system Witamy w systemie kinowym Nachos. welcomemsg
+user Chciałbym anulować rezerwację biletu. inform
+system Podaj numer rezerwa request
+user Numer 42069. inform
+system Takiej rezerwacji nie ma w systemie. negate
+user Numer 42068. inform
+system Takiej rezerwacji nie ma w systemie. negate
+user Numer 42067. inform
+system Takiej rezerwacji nie ma w systemie. negate
+user Chciałbym anulować rezerwację biletu dla imienia i nazwiska Jan Kowalski inform
+system Musisz podać numer rezerwacji. request
+user Nie pamiętam. Czy mogę podać e-mail? reqmore
+system Musisz podać numer rezerwacji. request
diff --git a/data/clean/dialog-16-07-01(test).tsv b/data/clean/dialog-16-07-01(test).tsv
new file mode 100644
index 0000000..49bc4d8
--- /dev/null
+++ b/data/clean/dialog-16-07-01(test).tsv
@@ -0,0 +1,14 @@
+user Dzień dobry. hello
+system Witamy w systemie kinowym Nachos. welcomemsg
+user Jakie filmy sÄ… w tym tygodniu w repertuarze? reqmore
+system W tym tygodniu gramy: Batman, Podróż na Księżyc, Krzyk, select
+user O której godzinie w piątej mogę zobaczyć Na noże? reqmore inform
+system Na noże w piątek grane jest o 12:30, 15:00, 19:30. select
+user Ok, w takim razie chciałbym zarezerwować 2 miejsca na seans o 19:30. inform
+system Jaki typ biletów? select
+user Dwa normalne. inform
+system Nie ma już miejsc na środku sali, czy mogą być miejsca po prawej stronie u góry? offer
+user Mogą być. ack
+system Rezerwacja 2 miejsc na film Na noże, w terminie 25.03 godzina 19:30, numer twojej rezerwacji 453905. inform expl-conf
+user Dziękuje bardzo. bye
+system Do usłyszenia. bye
diff --git a/data/clean/dialog-16-09-01.tsv b/data/clean/dialog-16-09-01.tsv
new file mode 100644
index 0000000..136f5da
--- /dev/null
+++ b/data/clean/dialog-16-09-01.tsv
@@ -0,0 +1,20 @@
+user elo. hello
+system Witam w systemie kinowym Nachos. welcomemsg
+user Chciałbym kupić bilety na seans Zorro - jak to było na prawdę. inform
+system Zorro- jak to było na prawdę oraz jego sequel nie są obecnie grane. negate
+user Poproszę listę filmów granych jutro wieczorem reqmore inform
+system Zorro 3, Zorro powrócił Transformers select
+user Chciałbym kupić bilety na Transformers. inform
+system Czy pasuje ci godzina 20:20? select
+user Tak, chcÄ™ dwa bilety za 2 dni. inform
+system Jakie chcesz bilety? select
+user Normalne. inform
+system Gdzie chcesz usiąść? select
+user Przy oknie, w przedziale. nan
+system Nie zrozumiałem. repeat
+user Wagon z przedziałami, miejsce przy oknie. nan
+system Czy chcesz usiąść na środku sali kinowej? request
+user Tak, ale bardziej z góry. inform
+system Dobrze, dokonano rezerwacji na film Transformer, umer twojej rezeracji to 123890. inform expl-conf
+user Exit. bye
+system Do, usłyszenia. bye
diff --git a/data/clean/dialog-16-11-01.tsv b/data/clean/dialog-16-11-01.tsv
new file mode 100644
index 0000000..d942fe6
--- /dev/null
+++ b/data/clean/dialog-16-11-01.tsv
@@ -0,0 +1,24 @@
+user Kim jesteÅ›? help
+system Witamy w systemie kinowym Nachos. welcomemsg
+user Co gracie? reqmore
+system Teraz gramy Batman i Zorro. select
+user Jaki Zorro? reqmore
+system Zorro Reinkarnacja 3D. offer
+user W jakich godzinach gracie Zorro? reqmore
+system Dzisiaj o 13:00, 14:54 i 21:36 select
+user Chciałbym zarezerwować bilety na Batmana. inform
+system Jaki termin ciÄ™ interesuje? select
+user 21.03.2022. inform
+system Wybierz datę przyszłą. negate select
+user 23.03.2022. inform
+system Batman 23.03 grany jest o godzinie 12:59 i 20:45. select
+user Super. ack
+system Którą godzinę chcesz wybrać? select
+user 13:00 inform
+system Jakie bilety chcesz wybrać? select
+user 1 normalny. inform
+system Gdzie chcesz usiaść. select
+user Blisko ekranu. inform
+system Dobrze, dokonano rezerwacji na film Batman 1 bilet normalny, godzina 12:59, numer twojej rezerwacji to 12310987. inform
+user Dziękuję, do usłyszenia. bye
+system Do usłyszenia! bye
diff --git a/data/clean/dialog-16-15-01.tsv b/data/clean/dialog-16-15-01.tsv
new file mode 100644
index 0000000..0de2718
--- /dev/null
+++ b/data/clean/dialog-16-15-01.tsv
@@ -0,0 +1,20 @@
+user Dzień dobry. hello
+system Witamy w systemie kinowym Nachos. welcomemsg
+user chciałbym się dowiedzieć jaki jest cennik. reqmore
+system Bilet normalny kosztuje 21,37zł, bilet ulgowy posiada zniżkę 21%, bilet dla weteranów posiada 51% zniżki offer
+user A jest zniżka studencka? reqmore
+system Zniżka studencka to 21%. offer
+user a co leci dzisiaj w kinie? reqmore inform
+system Batman, Dawno temu w las vegas oraz Na noże. select
+user o której jest na noże? reqmore inform
+system 12:00 i 23:59. select
+user poproszÄ™ dwa bilety na 12 inform
+system Jaki typ biletów? select
+user a jakie sÄ…? reqmore
+system Normalny 21,00zł ulgowy 21% zniżki i dla weteranów 51% zniżki. offer
+user 2 ulgowe poprosze. inform
+system Gdzie chcesz usiąść? select
+user jakie sÄ… wolne miejsca? reqmore
+system Chcesz usiąść na środku sali na górze? select
+user Tak. ack
+system Dobrze, dokonano rezerwacji na film Batman 2 bilety ulgowe, godzina 21:37 numer twojej rezerwacji to 123890. inform
diff --git a/data/clean/dialog-16-17-01.tsv b/data/clean/dialog-16-17-01.tsv
new file mode 100644
index 0000000..d02b725
--- /dev/null
+++ b/data/clean/dialog-16-17-01.tsv
@@ -0,0 +1,14 @@
+user Chciałbym 3 bilety na batmana na jtro. inform
+system Witamy w systemie kinowym Nachos jaka godzina CiÄ™ interesuje? welcomemsg select
+user coś koło południa. reqmore
+system Batman grany jest o 12:30, 15:30 oraz 17:15. select
+user nic później? reqalts
+system 19:25 oraz 21:37. select
+user To ten o 19. inform
+system Czy wszystkie bilety mają być normalne? select
+user 2 ulgowe. inform
+system Gdzie chcesz usiaść? select
+user z przodu. inform
+system Zarezerwowano 3 bilety ulgowe na film Batman w terminie 24.03.2022 o godzinie 19:25, twój numer rezerwacji to 12341532. inform
+user ale jakie miejsca?? reqmore
+system Masz miejsca 12H, 13H, i 14H. inform
diff --git a/data/clean/dialog-16-19-01.tsv b/data/clean/dialog-16-19-01.tsv
new file mode 100644
index 0000000..a9c18bf
--- /dev/null
+++ b/data/clean/dialog-16-19-01.tsv
@@ -0,0 +1,18 @@
+user Dzień dobry. hello
+system Witamy w systemie kinowym Nachos. welcomemsg
+user Chciałabym zarezerwować bilet do kina. inform
+system Jaki dzień cięinteresuje? select
+user DziÅ›. inform
+system Dzisiaj gramy Zorro 2, Batman i Terminator. select
+user ProszÄ™ na batmana. inform
+system Dzisiaj Batman grany jest o 12:30 i 20:19 select
+user ProszÄ™ o godzine 20:19. inform
+system Jakie chcesz bilety? select
+user ulogwy. inform
+system Ile biletów ulgowych? select
+user 1. impl-conf inform
+system Gdzie chcesz usiąść? select
+user z tyłu, na środku (aby ekran był centralnie widoczny). inform
+system Dobrze, zarezerwowano bilet dziÅ› na 20:19 na Batman, numer twojej rezerwacji to 12312333. inform
+user dobrze, dziekujÄ™. bye
+system Do widzenia! bye
diff --git a/data/clean/dialog-17-02-01.tsv b/data/clean/dialog-17-02-01.tsv
new file mode 100644
index 0000000..c3cea0c
--- /dev/null
+++ b/data/clean/dialog-17-02-01.tsv
@@ -0,0 +1,5 @@
+user cześć hello
+system Witamy w internetowym systemie rezerwacji Nachos, w czym mogę pomóc? welcomemsg
+user czy mogę zarezerwować Nachosy do kina? reqmore
+system Zapraszamy do baru, który znajduje się za kasami biletowymi. offer
+user dziekuje thankyou
diff --git a/data/clean/dialog-17-04-01.tsv b/data/clean/dialog-17-04-01.tsv
new file mode 100644
index 0000000..a7f4982
--- /dev/null
+++ b/data/clean/dialog-17-04-01.tsv
@@ -0,0 +1,23 @@
+user Witam hello
+system Witamy w internetowym systemie rezerwacji Nachos, w czym mogę pomóc? welcomemsg
+user Co potrafisz? help
+system Nasz system odpowiada za: rezerwację biletów kinowych oraz odpowiedzi na ewentualne pytania użytkowników. offer
+user Jakie są najbliższe seanse? inform
+system Jaki film ciÄ™ interesuje? reqmore
+user A jakie są dostępne? reqmore
+system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select
+user A w jakim to kinie? request
+system Na podstawie twojej lokalizacji przydzieliliśmy ci: Multikino 51. Czy chcesz je zmienić. inform
+user A gdzie jest to kino? reqmore
+system Multikino 51 znajduje się na Królowej Jadwigi 51, 61-872 Poznań inform
+user O której grają Uncharted? reqmore inform
+system "Dostępne godziny na film ""Uncharted"" to: 12:00, 15:30, 17:30 oraz 20:00" impl-conf select
+user Ile kosztujÄ…Â bilety na ten film? request
+system Dostępne bilety to: 15zł bilet normalny, 12zł bilet ulgowy. inform
+user A w jaki dzień bielty są tańsze? reqmore
+system W środy oferujemy dodatkową zniżkę -10% na wszystkie rodzaje biletów. inform
+user w takim razie chciałbym zarezerwować dwa bilety normalne i jeden ulgowy na środę 20:00 inform
+system Dobrze. W jakim rzędzie mają zostać zarezerwowane miejsca? request
+user Na środku sali inform
+system Zostały ci przydzielone miejsca I9, I10, I11. Numer twojej rezerwacji to 123123. inform
+user ok ack
diff --git a/data/clean/dialog-17-04-02.tsv b/data/clean/dialog-17-04-02.tsv
new file mode 100644
index 0000000..b3847f0
--- /dev/null
+++ b/data/clean/dialog-17-04-02.tsv
@@ -0,0 +1,20 @@
+user Witam hello
+system Witamy w internetowym systemie rezerwacji Nachos, w czym mogę pomóc? welcomemsg
+user Jaki jest repertuar na piÄ…tek? reqmore inform
+system W repertuarze na piÄ…tek 1 kwietnia znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2. select
+user O jakich godzinach grajÄ… te filmy? reqmore
+system Proszę podaj tytuł filmu, który cię interesuje. reqmore
+user Wszystkie ack
+system "Dostępne godziny na film ""Batman"" to: 12:00, 15:30, 17:30 oraz 20:00" select
+system "Dostępne godziny na film ""To nie wypanda"" to: 12:00, 15:30, 17:30 oraz 20:00" select
+system "Dostępne godziny na film ""Inni ludzie"" to: 12:00, 15:30, 17:30 oraz 20:00" select
+system "Dostępne godziny na film ""Ambulans"" to: 12:00, 15:30, 17:30 oraz 20:00" select
+system "Dostępne godziny na film ""Uncharted"" to: 12:00, 15:30, 17:30 oraz 20:00" select
+system "Dostępne godziny na film ""Ups 2"" to: 12:00, 15:30, 17:30 oraz 20:00" select
+user Czy obgługujecie rezerwację biletów grupowych? request
+system Na jednej rezerwacji może znajdować się do 10 miejsc. inform
+user Rozumiem, a jak mogę dokonać rezerwacji dla 20 osób? reqmore
+system W celu dokonania rezerwacji na więcej niż 10 osób proszę skontaktować się z obsługą kina w celu potwierdzenia, że jesteś człowiekiem. Czy mam połączyć cię z konsultantem? inform
+user Tak affirm
+system Niestety wszyscy konsultanci są obecnie zajęci. W czym jeszcze mogę pomóc? canthelp
+user dziękuję ack
diff --git a/data/clean/dialog-17-04-03.tsv b/data/clean/dialog-17-04-03.tsv
new file mode 100644
index 0000000..0d0130e
--- /dev/null
+++ b/data/clean/dialog-17-04-03.tsv
@@ -0,0 +1,5 @@
+user Witam hello
+system Witamy w internetowym systemie rezerwacji Nachos, w czym mogę pomóc? welcomemsg
+user Czy w kinie Rialto grają jakieś stare filmy? reqmore
+system System Nachos obsługuje następujące kina: Multikino, Helios oraz Cinemacity. select
+user to dziękuję thankyou
diff --git a/data/clean/dialog-17-04-04(test).tsv b/data/clean/dialog-17-04-04(test).tsv
new file mode 100644
index 0000000..f6dd486
--- /dev/null
+++ b/data/clean/dialog-17-04-04(test).tsv
@@ -0,0 +1,11 @@
+user Witam hello
+systen Witamy w internetowym systemie rezerwacji Nachos, w czym mogę pomóc? welcomemsg
+user Chciałbym zarezerować dwa bilety na Batman inform
+systen Na jaki dzień i godzinę miałby być ten bilet? request
+user A kiedy jest najbliższy seans? inform
+systen "Najbliższe seanse dla filmu ""Batman"" to: 13:00 oraz 15:30." select
+user To poproszÄ™ trzy bilety na batmana o 15:30 inform
+systen Dobrze. W jakim rzędzie mają zostać zarezerwowane miejsca? request
+user Na samym tyle sali inform
+systen Zostało ci przydzielone miejsce M9, M10 oraz M11. Numer twojej rezerwacji to 123124. inform
+user Dziękuję thankyou
diff --git a/data/clean/dialog-17-06-01.tsv b/data/clean/dialog-17-06-01.tsv
new file mode 100644
index 0000000..f6f3901
--- /dev/null
+++ b/data/clean/dialog-17-06-01.tsv
@@ -0,0 +1,12 @@
+user Witam hello
+system Witamy w internetowym systemie rezerwacji Nachos, w czym mogę pomóc? welcomemsg
+user Czy tylko można u was rezerwować Nachos ? null
+system Nasz system odpowiada za: rezerwację biletów kinowych oraz ewentualne pytania użytkowników. canthelp
+user Chciałbym zapytać co u pana hello
+system Z tej strony bot Nachos, u mnie wszystko w porządku. W czym mogę pomóc? welcomemsg
+user PoproszÄ™ bilet na batmana o 19:00 inform
+system Dobrze. W jakim rzędzie mają zostać zarezerwowane miejsca? request
+user bez ludzi w okolicy inform
+system Zostało ci przydzielone miejsce A11. Numer twojej rezerwacji to 123123. inform
+user Czy to wszystko affirm help
+system Tak to wszystko, proszę zjawić się przy okienku kasowym 15 minut przed rozpoczęciem seansu, inaczej rezerwacja przepadnie. affirm
diff --git a/data/clean/dialog-17-08-01.tsv b/data/clean/dialog-17-08-01.tsv
new file mode 100644
index 0000000..cad4d7a
--- /dev/null
+++ b/data/clean/dialog-17-08-01.tsv
@@ -0,0 +1,20 @@
+user Dzień dobry! hello
+system Witamy w internetowym systemie rezerwacji Nachos, w czym mogę pomóc? welcomemsg
+user Chciałbym zarezerwować film null
+user Bilet na film inform
+system Na jaki film ma być ta rezerwacja? request
+user Jakie filmy sÄ… teraz w kinach? request
+system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select
+user poproszÄ™ 3x bilet na ambulans inform
+system "Dostępne godziny na film ""Ambulans"" to: 12:00, 15:30, 17:30 oraz 20:00" select
+user niech będzie ten ostatni inform
+system Dobrze. W jakim rzędzie mają zostać zarezerwowane miejsca? request
+user Przedostatnim inform
+system Zostały ci przydzielone miejsca M9, M10, M11. Numer twojej rezerwacji to 123123. inform
+user Spoko ack
+user Chciałbym jeszcze kupon na jedzenie null
+system Zapraszamy do baru, który znajduje się za kasami biletowymi. W skład oferty barowej wchodzą: popcorn słony/słodki/maślany, oraz NachosyTM z wybranym sosem. offer
+user Poproszę słony popcorn null
+user Duży null
+system Zapraszamy do baru, który znajduje się za kasami biletowymi. offer
+user Nara bye
diff --git a/data/clean/dialog-17-10-01.tsv b/data/clean/dialog-17-10-01.tsv
new file mode 100644
index 0000000..6258216
--- /dev/null
+++ b/data/clean/dialog-17-10-01.tsv
@@ -0,0 +1,18 @@
+user Dzień dobry hello
+system Witamy w internetowym systemie rezerwacji Nachos, w czym mogę pomóc? welcomemsg
+user Chciał bym zamówić bilet na film Minionki dzisiaj o 18.30 inform
+system "Niestety film ""Minionki"" nie jest obecnie dostępny. Obecnie w repertuarze znajdują się: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto." nan
+user to poprosze ups 2 inform
+system Na jaki dzień i godzinę miałby być ten bilet? request
+user na dzisiaj inform
+user najlepiej 18.30 inform
+system Dostępne godziny to: 18:00 oraz 20:00, czy któraś z nich jest odpowiednia? select
+user poprosze 18 inform
+system Dobrze. W jakim rzędzie ma zostać dokonana rezerwacja? request
+user jakie są dostępne miejsca? request
+system Dostępne miejsca to: A1, A2, A3, B11,B12, F13, M1, M2, M3, M4 oraz M5. select
+user które miejsca są daleko od ekranu? reqmore
+system Najdalej od ekranu znajduje siÄ™ rzÄ…d M. inform
+user w takim razie poproszÄ™ M5 inform
+system Zostało ci przydzielone miejsce M5. Numer twojej rezerwacji to 123123. inform expl-conf
+user dziekuje thankyou
diff --git a/data/clean/dialog-17-14-01.tsv b/data/clean/dialog-17-14-01.tsv
new file mode 100644
index 0000000..2860b68
--- /dev/null
+++ b/data/clean/dialog-17-14-01.tsv
@@ -0,0 +1,17 @@
+user Cześć hello
+system Witamy w internetowym systemie rezerwacji Nachos, w czym mogę pomóc? welcomemsg
+user Co mogę zarezerwować? reqmore
+system Nasz system odpowiada za: rezerwację biletów kinowych oraz odpowiedzi na ewentualne pytania użytkowników. select
+user Gdzie znajduje siÄ™ kino? request
+system Na podstawie twojej lokalizacji przydzieliliśmy ci: Multikino 51. Czy chcesz je zmienić. inform
+user Tak, chciałbym iść do multikina na Malcie inform
+system "Twoje kino zostało zmienione na ""Multikino Malta"". Czy mogę pomóc w czymś jeszcze?" Expl-conf
+user Super, teraz chciałbym zarezerwować bilet na film inform
+system Obecnie w repertuarze znajdują się: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. Na jaki film mam zarezerwować bilet? select
+user Uncharted inform
+system "Dostępne godziny na film ""Uncharted"" to: 12:00, 15:30, 17:30 oraz 20:00" select
+user wybieram godzine 12:00 inform
+system Dobrze. W jakim rzędzie mają zostać zarezerwowane miejsca i ile miejsc zarezerwować? request
+user 1 miejsce, gdzieś na środku sali inform
+system Zostało ci przydzielone miejsce J11. Numer twojej rezerwacji to 123123. inform and
+user Pasuje ack
diff --git a/data/clean/dialog-17-18-01.tsv b/data/clean/dialog-17-18-01.tsv
new file mode 100644
index 0000000..afc2f61
--- /dev/null
+++ b/data/clean/dialog-17-18-01.tsv
@@ -0,0 +1,27 @@
+user Elo help
+system Witamy w internetowym systemie rezerwacji Nachos, w czym mogę pomóc? welcomemsg
+user Chciałabym zarezerwować bilet inform
+system Dobrze. Na jaki film ma być ta rezerwacja? request
+user Co gracie request
+system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select
+user Ja bym chciała na Fantsaczne zwierzta inform
+system Na jaki dzień i godzinę miałby być ten bilet? request and
+user 29.03.2022 inform
+user JakoÅ› wieczorkiem inform
+system "Dostępne godziny na film ""Fantastyczne zwierzęta: tajemnice dumbledorea"" to: 17:30 oraz 20:00" select expl-conf
+user To na 21 prosze inform
+system Godzina 21:00 nie jest dostępna. Filmy puszczane są o 17:30 oraz 20:00. select
+user To na 18 proszÄ™ inform
+system Dobrze. Jakie miejsca zarezerwować? request
+user Najlepsze inform
+system Zostały ci przydzielone miejsca I9, I10. Numer twojej rezerwacji to 123123. inform
+user Moment no ile tych miejsc i czemu nie są w tym samym rzędzie reqmore
+user proszÄ™ z managerem null
+system Ile biletów powinno znaleźć się w rezerwacji? request
+user Jeden dla mnie i dla kotka proszÄ™ inform
+system Zostały ci przydzielone miejsca I9, I10. Numer twojej rezerwacji to 123123. inform
+user Dobra, to blikiem proszÄ™ null
+system System obsługuje jedynie rezerwację biletów. W uiszczenia opłaty proszę być 15 minut przed seansem w kinie, inaczej rezerwacja przepada. Dziękuję. bye
+user Halo halo null
+user nie skończyłam null
+user Ehhh null
diff --git a/data/clean/dialog-17-18-02.tsv b/data/clean/dialog-17-18-02.tsv
new file mode 100644
index 0000000..617acbc
--- /dev/null
+++ b/data/clean/dialog-17-18-02.tsv
@@ -0,0 +1,15 @@
+user DZIEŃ DOBRY hello
+system Witamy w internetowym systemie rezerwacji Nachos, w czym mogę pomóc? welcomemsg
+user No właśnie. W czym możesz pomóc? help
+system Nasz system odpowiada za: rezerwację biletów kinowych oraz odpowiedzi na ewentualne pytania użytkowników. inform
+user A jedzonko macie? reqmore
+system W skład oferty barowej wchodzą: popcorn słony/słodki/maślany, oraz NachosyTM z wybranym sosem. offer
+user Nachosy proszÄ™ reqmore
+system Zapraszamy do baru, który znajduje się za kasami biletowymi. offer
+user A jakie sosy do Nachosów? reqmore
+system Do NachosyTM można wybrać następujące sosy: BBQ, keczupowy, czosnkowy, ostry. offer
+user Chciałabym anulować rezerwację inform
+system Dobrze, proszÄ™ o podanie numeru rezerwacji. request
+user 123123 inform
+system "Rezerwacja o numerze ""123123"" została anulowana. " affirm
+user Dzięki <3 thankyou
diff --git a/data/clean/dialog-17-18-03.tsv b/data/clean/dialog-17-18-03.tsv
new file mode 100644
index 0000000..db3bb34
--- /dev/null
+++ b/data/clean/dialog-17-18-03.tsv
@@ -0,0 +1,7 @@
+user Dzień dobry hello
+system Witamy w internetowym systemie rezerwacji Nachos, w czym mogę pomóc? welcomemsg
+user Chciałabym zmienić rezerwację inform
+system Proszę podać numer rezerwacji request
+user 123123 inform
+system "Rezerwacja o numerze ""123123"" nie znajduje siÄ™ w systemie. Upewnij siÄ™, ze jest to poprawny numer." canthelp.missing_slot_value
+user Upewniam siÄ™ ack
diff --git a/data/clean/dialog-18-03-01.tsv b/data/clean/dialog-18-03-01.tsv
new file mode 100644
index 0000000..d105e76
--- /dev/null
+++ b/data/clean/dialog-18-03-01.tsv
@@ -0,0 +1,16 @@
+user Dzień dobry hello
+system Witam w systemie kinowym Nachos. Jak mogę ci pomóc? request welcomemsg
+user Chciałbym zarezerwować bilety inform
+system Jaki film ciÄ™ interesuje? request
+user batman inform
+system Jaki termin ciÄ™ interesuje? request
+user dzisiaj inform
+system Dostępne godziny to: 15:20, 18:30, 20:15, 22:10. select
+user podaj więcej informacji o seansach reqmore
+system Dostępne godziny to: 15:20, 18:30, 20:15, 22:10. select
+user podaj więcej informacji o seansie o 15.20 reqmore
+system "Pokaz filmu ""Batman"" o godzinie 15:20, sala 3." offer
+user czy film jest 2D czy 3D? reqmore
+system Nasze kino nie oferuje seansów 3D. Za utrudnienia przepraszamy. canthelp
+user podaj informacje o napisach/dubbingu reqmore
+system Nasze kino nie oferuje seansów z dubbingiem. Za utrudnienia przepraszamy. canthelp
diff --git a/data/clean/dialog-18-05-01.tsv b/data/clean/dialog-18-05-01.tsv
new file mode 100644
index 0000000..001dcd3
--- /dev/null
+++ b/data/clean/dialog-18-05-01.tsv
@@ -0,0 +1,26 @@
+user Cześć hello
+system Witam w systemie kinowym Nachos. Jak mogę ci pomóc? request welcomemsg
+user Chciałbym zarezwsfsgf bilet null
+system Czy mógłbyś powtórzyć? repeat
+user Chciałbym zarezerwować bilet inform
+system Jaki film ciÄ™ interesuje? request
+user Jakie są wyświetlane w najbliższą sobotę? reqmore
+system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select
+user W których godzinach grany jest film To nie wypanda? reqmore inform
+system Seanse w dniu dzisiejszym odbywajÄ… siÄ™ o godzinie: 15:40, 17:20, 19:10. select
+user W takim razie chciałbym kupić 3 bilety, jeśli możliwe miejsca koło siebie inform
+system Jaki termin ciÄ™ interesuje? request
+user Najbliższa sobota inform
+system Dostępne godziny to 11:20, 14:30, 17:10, 19:30. select
+user Godzina 19:30 inform
+system Gdzie chciałbyś usiąść? request
+user Najlepiej w ostatnim rzędzie inform
+system Zostały ci przydzielone miejsca N6, N7, N8. Numer twojej rezerwacji to 84372. inform
+user Chciałbym zapłacić przy odbiorze reqmore
+system Sprzedaż biletów dostępna jest w punkcie stacjonarnym. Zachęcamy do uprzedniej rezerwacji miejsc za pomocą naszego systemu. canthelp
+user Czy moja rezerwacja została potwierdzona? reqmore
+system Podaj numer rezerwacji. request
+user 84372 inform
+system "Rezerwacja numer 84372. Film ""To nie wypanda"", sobota 26.03.2022, godzina 19:30. Miejsca N6, N7, N8. Czy chciałbyś dokonać zmian?" reqmore expl-conf
+user Nie negate
+system Dziękujemy za skorzystanie z usług systemu kinowego Nachos. Miłego dnia. bye
diff --git a/data/clean/dialog-18-07-01.tsv b/data/clean/dialog-18-07-01.tsv
new file mode 100644
index 0000000..5246cfb
--- /dev/null
+++ b/data/clean/dialog-18-07-01.tsv
@@ -0,0 +1,14 @@
+user Dzień dobry hello
+system Witam w systemie kinowym Nachos. Jak mogę ci pomóc? request welcomemsg
+user Chciałbym dowiedzieć się jakie filmy są wyświetlane w tym tygodniu. reqmore
+system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select
+user W jakich godzinach mogę zobaczyć Batmana w piątek? reqmore inform
+system W najbliższy piątek dostępne godziny to 13:30, 15:20, 17:45. select
+user Chciałbym zarezerwować 3 miejsca na seans o 17:45 inform
+system Gdzie chciałbyś usiąść? request
+user Czy są dostępne miejsca w tylnych rzędach? reqmore inform
+system Dostępne miejsca z tyłu to M3, M4, M5. offer
+user Ok affirm inform
+system Zostały ci przydzielone miejsca M3, M4, M5. Numer twojej rezerwacji to 87574. expl-conf
+user Dziękuję, do widzenia bye thankyou
+system Dziękujemy za skorzystanie z usług systemu kinowego Nachos. Miłego dnia. bye
diff --git a/data/clean/dialog-18-07-02.tsv b/data/clean/dialog-18-07-02.tsv
new file mode 100644
index 0000000..b4dda3c
--- /dev/null
+++ b/data/clean/dialog-18-07-02.tsv
@@ -0,0 +1,6 @@
+user Dzień dobry, chciałbym anulować rezerwację hello inform
+system Witam w systemie kinowym Nachos. Aby anulować rezerwację, podaj numer rezerwacji. request welcomemsg
+user 87574 inform
+system "ProszÄ™ o potwierdzenie anulowania rezerwacji numer 87574 na film ""Batman"" w dniu 25.03.2022 o godzinie 17:45." expl-conf
+user Potwierdzam affirm
+system Rezerwacja numer 87574 została anulowana. affirm
diff --git a/data/clean/dialog-18-09-01(test).tsv b/data/clean/dialog-18-09-01(test).tsv
new file mode 100644
index 0000000..adecb9c
--- /dev/null
+++ b/data/clean/dialog-18-09-01(test).tsv
@@ -0,0 +1,22 @@
+user Hej hello
+system Witam w systemie kinowym Nachos. Jak mogę ci pomóc? request welcomemsg
+user Chciałbym kupić bilety na seans Zorro - jak to było na prawdę inform
+system Film nie znajduje się w repertuarze. Podaj inny tytuł. request canthelp
+user Zorro2 inform
+system Film nie znajduje się w repertuarze. Podaj inny tytuł. request canthelp
+user Poproszę o listę seansów reqmore
+system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select
+user Poproszę o listę filmów granych jutro wieczorem reqmore inform
+system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select
+user Chciałbym kupić bilety na film To nie wypanda inform
+system Jutro wieczorem dostępne godziny to: 18:30, 20:15. select
+user 20:15 inform
+system Jaka ilość biletów ciebie interesuje? request
+user 11 inform
+system Gdzie chciałbyś usiąść? request
+user W środku, pomiedzy górnym i środkowym rzędzie null
+system Czy możesz powtórzyć? repeat
+user W środku, pomiedzy górnym i środkowym rzędem inform
+system Zostały ci przydzielone miejsca G3, G4, G5, G6, G7, G8, G9, G10, G11, G12, G13. Numer twojej rezerwacji to 04293. inform
+user <3 thankyou
+system Dziękujemy za skorzystanie z usług systemu kinowego Nachos. Miłego dnia. bye
diff --git a/data/clean/dialog-18-09-02.tsv b/data/clean/dialog-18-09-02.tsv
new file mode 100644
index 0000000..e581f32
--- /dev/null
+++ b/data/clean/dialog-18-09-02.tsv
@@ -0,0 +1,4 @@
+user Cześć hello
+system Witam w systemie kinowym Nachos. Jak mogę ci pomóc? request welcomemsg
+user Nie możesz thankyou
+system Dziękujemy za skorzystanie z usług systemu kinowego Nachos. Miłego dnia. bye
diff --git a/data/clean/dialog-18-11-01.tsv b/data/clean/dialog-18-11-01.tsv
new file mode 100644
index 0000000..bdcb04c
--- /dev/null
+++ b/data/clean/dialog-18-11-01.tsv
@@ -0,0 +1,32 @@
+user Dzień dobry, Systemie hello
+system Witam w systemie kinowym Nachos. Jak mogę ci pomóc? request welcomemsg
+user Chciałbym kupić nachos reqmore
+system Zestaw nachosów z wybranym dipem dostępny jest w strefie gastronomicznej. offer
+user Jak mogę się do takiej strefy dostać? reqmore
+system Nasz adres to ulica Uniwersytetu Poznańskiego 4. inform
+user W jakim mieście? reqmore
+system Ul. Uniwersytetu Poznańskiego 4, Poznań inform
+user Czy można zarezerwować u was bilety na seans? reqmore
+system Tak. Jaki film ciÄ™ interesuje? request
+user Jakie polecasz? reqmore
+system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select
+user JakÄ… ocenÄ™ posiada Batman? reqmore
+system Batman posiada ocenÄ™ 8.4/10 offer
+user Dobrze. Chciałbym zatem zarezerwować bilet na Innych Ludzi inform
+system Jaki termin ciÄ™ interesuje? request
+user 22.03.2022 inform
+system Wybrana data jest z przeszłości. Proszę o podanie poprawnego terminu. repeat
+user Jutro, po godzinie 16:00 inform
+system Dostępne godziny to: 17:45, 20:30. select
+user Jaki jutro jest dzień tygodnia? request
+system Jutro jest czwartek, 24.03.2022. inform
+user To poproszÄ™ o rezerwacjÄ™ na 17:45 inform
+system Proszę o powtórzenie terminu rezerwacji. repeat
+user 17:45 inform
+system Gdzie chciałbyś usiąść? request
+user Z tyłu sali, nie na samym końcu inform
+system Zostało ci przydzielone miejsce L8. Numer twojej rezerwacji to 35263. inform
+user W jakiej części rzędu znajduje się to miejsce? request
+system Miejsce L8 znajduje się w środkowej części przedostatniego rzędu. inform
+user Dziękuję thankyou
+system Dziękujemy za skorzystanie z usług systemu kinowego Nachos. Miłego dnia. bye
diff --git a/data/clean/dialog-18-15-01.tsv b/data/clean/dialog-18-15-01.tsv
new file mode 100644
index 0000000..ef8b426
--- /dev/null
+++ b/data/clean/dialog-18-15-01.tsv
@@ -0,0 +1,22 @@
+user Dzień dobry hello
+system Witam w systemie kinowym Nachos. Jak mogę ci pomóc? request welcomemsg
+user chciałbym kupić dwa bilety na batmana inform
+system Jaki termin ciÄ™ interesuje? request
+user jutro inform
+system Dostępne godziny to: 15:20, 17:45, 20:30. select
+user poproszÄ™ na 20:30 inform
+system Gdzie chciałbyś usiąść? request
+user z tyłu inform
+system Zostały ci przydzielone miejsca L9, L10. Numer twojej rezerwacji to 74263. inform
+user w jakiej cenie sÄ… bilety? help
+system Bilet jednorazowy jest w cenie 18,90 zł. offer
+user są zniżki studenckie? help
+system Osoby poniżej 26 roku życia posiadające legitymację szkolną lub studencką są upoważnione do 15% zniżki na wejścia jednorazowe. offer
+user mógłbym kupić bilety? reqmore
+system Jaki film ciÄ™ interesuje? request
+user batman - chciałbym kupić zarezerwowane miejsca reqmore inform
+system Sprzedaż biletów dostępna jest w punkcie stacjonarnym. Zachęcamy do uprzedniej rezerwacji miejsc za pomocą naszego systemu. canthelp
+user dobrze czy wystarczy zachować numer rezerwacji? reqmore
+system Numer rezerwacji niezbędny jest do opłacenia zarezerwowanych miejsc w punkcie stacjonarnym. canthelp
+user dobrze ack
+system Dziękujemy za skorzystanie z usług systemu kinowego Nachos. Miłego dnia. bye
diff --git a/data/clean/dialog-18-15-02.tsv b/data/clean/dialog-18-15-02.tsv
new file mode 100644
index 0000000..77fcd81
--- /dev/null
+++ b/data/clean/dialog-18-15-02.tsv
@@ -0,0 +1,15 @@
+user witam hello
+system Witam w systemie kinowym Nachos. Jak mogę ci pomóc? request welcomemsg
+user jakie sÄ… jutro filmy? reqmore inform
+system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select
+user o ktorej jest nasze magiczne encanto? reqmore inform
+system Dostępne godziny to 10:15, 12:30, 15:45, 18:20. select
+user poproszÄ™ 3 bilety na 18:20 inform
+system Gdzie chciałbyś usiąść? request
+user na środku inform
+system Zostały ci przydzielone miejsca H4, H5, H6. Numer twojej rezerwacji to 85730. inform
+user poproszÄ™ jeszcze jedno miejsce obok inform
+system Dokonano zmiany rezerwacji numer 85730. Zostały ci przydzielone miejsca H4, H5, H6, H7. inform
+user dziekuje thankyou
+system Dziękujemy za skorzystanie z usług systemu kinowego Nachos. Miłego dnia. bye
+user do widzenia bye
diff --git a/data/clean/dialog-18-17-01.tsv b/data/clean/dialog-18-17-01.tsv
new file mode 100644
index 0000000..2c6c8ef
--- /dev/null
+++ b/data/clean/dialog-18-17-01.tsv
@@ -0,0 +1,10 @@
+user Co dziÅ› leci reqmore inform
+system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select
+user Co jest dobre dla dzieci reqmore
+system "Film familijny to ""Nasze magiczne Encanto""." offer
+user "PoproszÄ™ 2 na ""to nie wypanda""" inform
+system Gdzie chciałbyś usiąść? request
+user a z przodu gdzieÅ› inform
+system Zostały ci przydzielone miejsca B9, B10. Numer twojej rezerwacji to 47564. inform
+user eee a o której?? request
+system Godzina twojego seansu to 17:30. inform
diff --git a/data/clean/dialog-18-19-01.tsv b/data/clean/dialog-18-19-01.tsv
new file mode 100644
index 0000000..58c275f
--- /dev/null
+++ b/data/clean/dialog-18-19-01.tsv
@@ -0,0 +1,16 @@
+user Dzień dobry hello
+system Witam w systemie kinowym Nachos. Jak mogę ci pomóc? request welcomemsg
+user Chciałabym zarezerwować bilet do kina inform
+system Jaki film ciÄ™ interesuje? request
+user Wyjdż za mnie inform
+system Film nie znajduje się w repertuarze. Podaj inny tytuł. request canthelp
+user The batman inform
+system Jaki termin ciÄ™ interesuje? request
+user DziÅ› wieczorem inform
+system Dostępne godziny to: 18:30, 20:15, 22:10. select
+user ProszÄ™ o godzinie 20:15 inform
+system Gdzie chciałabyś usiąść? request
+user z tyłu, na środku (aby ekran był centralnie widoczny) inform
+system Zostało ci przydzielone miejsce L7. Numer twojej rezerwacji to 09483. inform
+user Dobrze, dziękuję thankyou
+system Dziękujemy za skorzystanie z usług systemu kinowego Nachos. Miłego dnia. bye
diff --git a/data/clean/dialog-19-02-01.tsv b/data/clean/dialog-19-02-01.tsv
new file mode 100644
index 0000000..114ea82
--- /dev/null
+++ b/data/clean/dialog-19-02-01.tsv
@@ -0,0 +1,6 @@
+user cześć hello
+system Witam w systemie kinowym Nachos. Jak mogę ci pomóc? welcomemsg
+user chciałbym sprawdzić repertuar kin reqmore
+system Na jaki dzień? request
+user na dzisiaj inform
+system Dzieiejszy repertuar: 13:30 Piosenki o miłości 16:00 Cud Guadalupe 17:00 Jakoś to będzie 17:40 Historia mojej żony 18:40 Matki równoległe 20:30 Wielka wolność 20:40 Najgorszy człowiek na świecie 22:50 Inni ludzie offer
diff --git a/data/clean/dialog-19-04-01.tsv b/data/clean/dialog-19-04-01.tsv
new file mode 100644
index 0000000..3d2eff6
--- /dev/null
+++ b/data/clean/dialog-19-04-01.tsv
@@ -0,0 +1,31 @@
+user Witam hello
+system Witam w systemie kinowym Nachos. Jak mogę ci pomóc? welcomemsg
+user Jakie sš najbliższe seanse? reqmore
+system Dzieiejszy repertuar: 13:30 Piosenki o miłości 16:00 Cud Guadalupe 17:00 Jakoś to będzie 17:40 Historia mojej żony 18:40 Matki równoległe 20:30 Wielka wolność 20:40 Najgorszy człowiek na świecie 22:50 Inni ludzie select
+user W jakim to kinie? reqmore
+system W kinie Blugarska offer
+user A gdzie jest to kino? reqmore
+system Bułgarska 19, 60-320 Poznań offer
+user Ile kosztujš bilety na Inni ludzie? reqmore
+system Normalny czy uglowy? select
+user oba inform
+system Normalny - 20zł, uglowy - 13zł offer
+user A w jaki dzień bilety sš tańsze? reqmore
+system W wtorek i czwartek kosztujš o 2 zł mniej niż podana cena offer
+user W takim razie chciałbym zarezerwować dwa bilety na czwartek na film Inni Ludzie inform
+system Dobrze, bilety majš być ulgowe czy normalne reqmore
+user Jeden normalny i ulgowy inform
+system Dobrze, jakie miejsce Pana interesuje? request
+user Na środku Sali inform
+system Dobrze, miejsca Pana to M25. Czy zgadza siÄ™ Pan z wyborem miejsca? inform
+user Chciałem zarezerwować dwa miejsca reqmore
+system Trzeba najpierw wybrać miejsce dla jednego biletu negate
+user Zgadzam siÄ™ infrom
+system Dobrze, drugie miejsce Pana to M26. Czy zgadza siÄ™ Pan z wyborem miejsca? infrom
+user Tak inform
+system Informacja o rezerwacji: 1x bilet ulgowy 1x biley normalny, miejsca M25 i M26, film Inni Ludzie, dnia 30/03/2022, godzina 22:50. Czy jeszcze w czymś Panu pomóć? affirm
+user Jaki jest koszt tej rezerwacji? reqmore
+system Rezerwacja jest za darmo offer
+user A ile kosztuje bilety Å‚Ä…cznie? reqmore
+system 33 zł offer
+user ok. Dziękuję ack
diff --git a/data/clean/dialog-19-06-01.tsv b/data/clean/dialog-19-06-01.tsv
new file mode 100644
index 0000000..eb3a875
--- /dev/null
+++ b/data/clean/dialog-19-06-01.tsv
@@ -0,0 +1,22 @@
+user Witam hello
+system Witam w systemie kinowym Nachos. Jak mogę ci pomóc? welcomemsg
+user Chciałbym zarezerwować bilet ale nie wiem na co. inform
+system Dzieiejszy repertuar: 13:30 Piosenki o miłości 16:00 Cud Guadalupe 17:00 Jakoś to będzie 17:40 Historia mojej żony 18:40 Matki równoległe 20:30 Wielka wolność 20:40 Najgorszy człowiek na świecie 22:50 Inni ludzie offer
+user Czy film Historia mojej żony jest ciekawy ? reqmore
+system Uwaźam, że tak ack
+user Dobrze to poproszÄ™ inform
+system Ulgowy czy normalny? select
+user Ulgowy inform
+system Ile biletów? selec
+user czy jest jakaÅ› maksymalna liczba ? reqmore
+system Nie null
+user to poproszÄ™ 100 inform
+system Dobrze, prosze wymienić czy majš byc ulgowe czy normalne select
+user tak jak powiedziałem ulgowe inform
+system Dobrze, jakie miejsca Pana interesujš? request
+user środek Sali inform
+system Dobrze, Pana miejsca to sš: M1, M2, M3, ..., M98, M99, M100. Czy zgadza sie Pan z wyborem? inform
+user tak confirm
+system Informacja o rezerwacji: 100x bilet ulgowy, miejsca M1, M2, M3, ..., M98, M99, M100, film Historia mojej żony, dnia 30/03/2022, godzina 17:40. Czy jeszcze w czymś Panu pomóc? reqmore inform
+user Nie dziękuje negate confirm
+system Dziękuję również bye
diff --git a/data/clean/dialog-19-08-01.tsv b/data/clean/dialog-19-08-01.tsv
new file mode 100644
index 0000000..9eee2cc
--- /dev/null
+++ b/data/clean/dialog-19-08-01.tsv
@@ -0,0 +1,18 @@
+user Dzień dobry! hello
+system Witam w systemie kinowym Nachos. Jak mogę ci pomóc? welcomemsg
+user Chciałbym zarezerwować seans. Bilet na seans inform
+system Jaki Pana interesuje ? request
+user Jakie filmy sÄ… obecnie na ekranach? reqmore
+system Jaki dzień Pana interesuje ? request
+user Sobota inform
+system 2022-04-02 15:00 Przeżyć 2022-04-02 16:45 Inni ludzie 2022-04-02 18:45 Piosenki o miłości 2022-04-02 20:30 Psie pazury offer
+user PoproszÄ™ 2 bilety na innych ludzi inform
+system Ulgowe czy normalne? null
+user jeden ulgowy i jeden zwykły inform infrom
+system Dobrze, a jakie Pana miejsca interesujš? request
+user Na środku Sali infrom
+system Dobrze, miejsca Pana to M20. Czy zgadza siÄ™ Pan z wyborem miejsca? affirm inform
+user Pewnie ack
+system Dobrze, drugie miejsce Pana to M21. Czy zgadza siÄ™ Pan z wyborem miejsca? affirm inform
+user czy te miejsca sš obok siebie? reqmore
+system Tak affirm
diff --git a/data/clean/dialog-19-10-01(test).tsv b/data/clean/dialog-19-10-01(test).tsv
new file mode 100644
index 0000000..f2a5e5e
--- /dev/null
+++ b/data/clean/dialog-19-10-01(test).tsv
@@ -0,0 +1,17 @@
+user Dzień dobry hello
+system Witam w systemie kinowym Nachos. Jak mogę ci pomóc? welcomemsg
+user Chciał bym zamówić bilet na film Minionki dzisiaj o 18.30 inform
+system DziÅ› nie gramy filmu 'Minionki' o godzinie 18:30 negate
+user czy jest jakis film o godzinie 18:30? request
+system Najbliższy film jest o godzinie 18:40 18:40 Matki równoległe offer
+user niech będzie ack
+system Ile biletów? request
+user 1 inform
+system Normalny czy ulgowy ? canthelp
+user jakie sš dostępne ulgi? null
+system Studencka, serniorska, i pracownik kina offer
+user studencka inform
+system Dobrze, jakie miejsce Pana interesuje request
+user daleko od ekranu inform
+system Dobrze, miejsca Pana to L40. Czy zgadza siÄ™ Pan z wyborem miejsca? affirm inform
+user tak ack
diff --git a/data/clean/dialog-19-12-01.tsv b/data/clean/dialog-19-12-01.tsv
new file mode 100644
index 0000000..6fb030a
--- /dev/null
+++ b/data/clean/dialog-19-12-01.tsv
@@ -0,0 +1,33 @@
+user Dzień dobry hello
+system Witam w systemie kinowym Nachos. Jak mogę ci pomóc? welcomemsg
+user Chciałabym zarezerwować bilety inform
+system Na jaki film? request
+user Jaki film jest grany jutro w godzinach popołudniowych? request
+system 2022-03-31 15:00 Przeżyć 2022-03-31 16:45 Inni ludzie 2022-03-31 18:45 Piosenki o miłości 2022-03-30 20:30Psie pazury offer
+user Czy sš wcześniejsze seanse? reqmore
+system Na jutro, nie negate
+user W takim razie chcę zarezerwować bilety na Psie Pazury inform
+system Dobrze, ulgowy czy normalny? canthelp
+user Komu przysługuje ulga? null
+system Studentom, seniorom i pracownikom kina canthelp
+user Kim jest senior? null
+system To jest stara osoba canthelp
+user W takim razie chcę zarezerwować normalne bilety na Psie Pazury inform
+system jAKIE MIEJSCE pANIĽ INTERESUJE? request
+user Na środku inform
+system Ile biletów? request
+user 3 inform
+system Wszystkie normalne? null
+user Tak ack
+system Dobrze, miejsce Pani to M27. Czy zgadza siÄ™ Pani z wyborem miejsca? affirm inform
+user Ale chciałam 3 bilety negate
+system Trzeba najpierw wybrać miejsce dla jednego biletu null
+user zgadzam siÄ™ ack
+system Dobrze, drugie miejsce Pani to M28. Czy zgadza siÄ™ Pani z wyborem miejsca? affirm inform
+user tak ack
+system Dobrze, trzecie miejsce Pani to M29. Czy zgadza siÄ™ Pani z wyborem miejsca? affirm inform
+user nier negate
+system Dobrze, trzecie miejsce Pani to M26. Czy zgadza siÄ™ Pani z wyborem miejsca? affirm inform
+user tak ack
+system Czy w czymś jeszcze Pani pomóc? reqmore
+user nie null
diff --git a/data/clean/dialog-19-14-01.tsv b/data/clean/dialog-19-14-01.tsv
new file mode 100644
index 0000000..f77a769
--- /dev/null
+++ b/data/clean/dialog-19-14-01.tsv
@@ -0,0 +1,25 @@
+user Dzień dobry hello
+system Witam w systemie kinowym Nachos. Jak mogę ci pomóc? welcomemsg
+user Chciałbym dowiedzieć się jaki jest aktualnie repertuar request
+system Dzieiejszy repertuar: 13:30 Piosenki o miłości 16:00 Cud Guadalupe 17:00 Jakoś to będzie 17:40 Historia mojej żony 18:40 Matki równoległe 20:30 Wielka wolność 20:40 Najgorszy człowiek na świecie 22:50 Inni ludzie offer
+user Jutro jest w repertuarze film inni ludzie? request
+system Tak, o 17:30 offer
+user Ile kosztuje bilet na ten film? request
+system Normalny czy ulgowy? null
+user ulogwy null
+system Dobrze, jakie miejsce Pana interesuje? request
+user W górnej części sali inform
+system Dobrze, miejsca Pana to L35. Czy zgadza siÄ™ Pan z wyborem miejsca? affirm inform
+user Gdzie znajduje się to miejsce względem ekranu? reqmore
+system Po lewej stronie offer
+user Chciałbym na środku inform
+system Dobrze, miejsca Pana to M40. Czy zgadza siÄ™ Pan z wyborem miejsca? affirm inform
+user zgadzam ack
+system Informacja o rezerwacji: 1x bilet ulgowy, miejsce L35, film innie ludzie, dnia 30/03/2022, godzina 22:50. Czy jeszcze w czymś Panu pomóc? affirm
+user jaka jest cena? reqmore
+system 13zł za bilet, 0zł za rezerwacje offer
+user Dobrze, rezerwuje ack
+system Czy jeszcze w czymś Panu pomóc? reqmore
+user Chciałbym anulować rezerwację deny
+system Dobrze, anuluje...Anulowano rezerwacje ack
+user Dziekuje bye
diff --git a/data/clean/dialog-19-16-01.tsv b/data/clean/dialog-19-16-01.tsv
new file mode 100644
index 0000000..5eb86af
--- /dev/null
+++ b/data/clean/dialog-19-16-01.tsv
@@ -0,0 +1,20 @@
+user Cześć hello
+system Witam w systemie kinowym Nachos. Jak mogę ci pomóc? welcomemsg
+user Co można u was zjeść? request
+system Popcorn (mały, duży, średni), nachos (z sosem serowym lub bez), slushy (truskawkowe, ananasowe, borówkowe), czipsy (z solš, z ocetem) offer
+user Co można obejrzeć w kwietniu request
+system Filmy na kwiecień: Przeżyć, Inni ludzie, Piosenki o miłości, Psie pazury, DKF Zamek select
+user kiedy gracie DKF zamek? request
+system 03/04/2022 10:00, 06/04/2022 13:40 15:40 20:15, 10/04/2022 12:50, 16/04/2022 13:30, 22/04/2022 19:40, 25/04/2022 12:15 15:50 select
+user poproszÄ™ dwa bilety ulgowe na 25/04/2022 12:15 15:50 inform
+system Dobrze, jakie miejsce Pana interesuje? request
+user pierwszy rzšd po lewej stronie inform
+system Dobrze, miejsca Pana to L10. Czy zgadza siÄ™ Pan z wyborem miejsca? inform
+user Tak ack
+system Czy drugi bilet ma być koło tego samego miejsca? request
+user zgadzam siÄ™ ack
+system Informacja o rezerwacji: 2x bilet ulgowy, miejsca L10 i L11, film DKF zamek, dnia 25/04/2022, godzina 15:50. Czy jeszcze w czymś Panu pomóc? affirm
+user Jaki jest numer mojej rezerwacji reqmore
+system RZ2049421 inform
+user Dziękuję systemie thankyou
+system Dziękuję, byebye bye
diff --git a/data/clean/dialog-19-18-01.tsv b/data/clean/dialog-19-18-01.tsv
new file mode 100644
index 0000000..8a087ef
--- /dev/null
+++ b/data/clean/dialog-19-18-01.tsv
@@ -0,0 +1,33 @@
+user Siema hello
+system Witam w systemie kinowym Nachos. Jak mogę ci pomóc? welcomemsg
+user Chcę iść do kina inform
+system Na jaki film? request
+user Co gracie request
+system Dzieiejszy repertuar: 13:30 Piosenki o miłości 16:00 Cud Guadalupe 17:00 Jakoś to będzie 17:40 Historia mojej żony 18:40 Matki równoległe 20:30 Wielka wolność 20:40 Najgorszy człowiek na świecie 22:50 Inni ludzie offer
+user To na fdantastyczne zwierznera prosze inform
+system "Nie ma takiego filmu ""fdantastyczne zwerznera"" w repertuarze" negate
+user A co macie request
+system Dzieiejszy repertuar: 13:30 Piosenki o miłości 16:00 Cud Guadalupe 17:00 Jakoś to będzie 17:40 Historia mojej żony 18:40 Matki równoległe 20:30 Wielka wolność 20:40 Najgorszy człowiek na świecie 22:50 Inni ludzie offer
+user A na za tydzień? request
+system Repertuar na dzień 06/04/2022: 2022-04-06 16:00 Przeżyć 2022-04-06 16:15 Piosenki o miłości 2022-04-06 17:00 Najgorszy człowiek na świecie 2022-04-06 17:45 Wielka wolność 2022-04-06 18:00 Drive my car 2022-04-06 19:15 Piosenki o miłości 2022-04-06 20:00 Historia mojej żony 2022-04-06 21:00 Duch śniegów offer
+user To na za tydzień na cud guadalupe proszę inform
+system "Nie ma takiego filmu ""cud guadlupe"" w repertuarze" negate
+user To na coÅ› innego request
+system Na jaki dzień? request
+user Dzisiaj inform
+system Dzieiejszy repertuar: 13:30 Piosenki o miłości 16:00 Cud Guadalupe 17:00 Jakoś to będzie 17:40 Historia mojej żony 18:40 Matki równoległe 20:30 Wielka wolność 20:40 Najgorszy człowiek na świecie 22:50 Inni ludzie offer
+user Zaskocz mnie null
+system Dzieiejszy repertuar: 13:30 Piosenki o miłości 16:00 Cud Guadalupe 17:00 Jakoś to będzie 17:40 Historia mojej żony 18:40 Matki równoległe 20:30 Wielka wolność 20:40 Najgorszy człowiek na świecie 22:50 Inni ludzie offer
+user No to jakoś niech będzie jakoś to będzie inform
+system Ile biletów? request
+user Jeden dla mnie, drugi dla kota null
+system Przepraszamy, ale zwierzęta nie majš wstępu do Sali canthelp
+user To jeden będzie infrom
+system Normalny czy ulgowy? canthelp
+user normalny null
+system Jakie miejsce Paniš interesuje? request
+user na środku gdzieś inform
+system Dobrze, miejsce Pani to M33. Czy zgadza siÄ™ Pani z wyborem miejsca? affirm inform
+user Niech będzie ack
+system Informacja o rezerwacji: 1x bilet normalny, miejsce M33, film jakoś to będzie, dnia 30/03/2022, godzina 17:00. Czy jeszcze w czymś Pani pomóc? affirm afirm
+user jakieś potwierdzenie rezerwacji dostanę czy mogę po prostu wejść i usišść? request
diff --git a/data/clean/dialog-20-01-01.tsv b/data/clean/dialog-20-01-01.tsv
new file mode 100644
index 0000000..72b3ce0
--- /dev/null
+++ b/data/clean/dialog-20-01-01.tsv
@@ -0,0 +1,34 @@
+user wybieram batmana o 16:20 inform
+user wybieram na noże o 9:30 inform
+user wybieram ups 2 o godzinie 10:45 inform
+user chcę iść na matki rówonegłe o 21:30 inform
+user wybierz mi film pod tytułem inni ludzie inform
+user chcÄ™ uncharted inform
+user idÄ™ na 12:45 inform
+user idÄ™ na pierwszÄ… na batmana inform
+user idÄ™ na drugÄ… na batmana inform
+user idę na trzecią na na noże inform
+user ten o czwartej inform
+user matki równoległe dwunasta inform
+user na noże inform
+user ambulans inform
+user wybierz to nie wypada inform
+user dwa siedzenia inform
+user jedno inform
+user trzy bileciki na 19:00 na batmana na środku inform
+user cztery inform
+user pięc biletów poproszę inform
+user poproszÄ™ inform
+user h1 h2 h3 inform
+user chcę wybrać 3 bilety miejsca h3 h4 h5 inform
+user daj mi trzy bilety na seans na godzinÄ™ 19 miejsca A14 A15 A16 inform
+user poproszę jeden bilecik na seans pod tytułem batman miejsca J12 inform
+user A10,A11 inform
+user A12, A13 inform
+user Z43, Z44, Z43, Z44, Z45 inform
+user wybierz J43, K44, l43, C44, d45 inform
+user co gracie wieczorem inform
+user co gracie jutro inform
+user co gracie po południu inform
+user co gracie rano inform
+user jakie filmy sÄ… wiczorem inform
diff --git a/data/clean/newUserQuestions.tsv b/data/clean/newUserQuestions.tsv
new file mode 100644
index 0000000..67369e5
--- /dev/null
+++ b/data/clean/newUserQuestions.tsv
@@ -0,0 +1,16 @@
+user co gracie za trzy dni inform
+user co gracie za dwa dni inform
+user co gracie w sobotÄ™ inform
+user co gracie w niedzielÄ™ inform
+user co leci w poniedziałek inform
+user co leci we wtorek inform
+user co leci w piÄ…tek inform
+user co jest puszczane w sobotÄ™ inform
+user co jest grane w niedzielÄ™ o 12:00 inform
+user poproszÄ™ trzy bilety moje miejsca to h1,H3,h56 inform
+user wymień seansy jutro inform
+user pojutrze co jest inform
+user a co gracie po jutrze inform
+user czy gracie dziÅ› batmana albo na noze inform
+user czy w niedzielę gracie na noze lub batman lub piosenki o miłości inform
+user czy wolne sÄ… miejsca h2 h3 inform
\ No newline at end of file
diff --git a/data/dialog-16-07-01(test).tsv b/data/dialog-16-07-01(test).tsv
new file mode 100644
index 0000000..a30301f
--- /dev/null
+++ b/data/dialog-16-07-01(test).tsv
@@ -0,0 +1,14 @@
+user Dzień dobry. hello()
+system Witamy w systemie kinowym Nachos. welcomemsg()
+user Jakie filmy sÄ… w tym tygodniu w repertuarze? reqmore(date=2022-04-04 - 2022-04-11)
+system W tym tygodniu gramy: Batman, Podróż na Księżyc, Krzyk, select(title)
+user O której godzinie w piątej mogę zobaczyć Na noże? reqmore(time) AND inform(title=Na Noże) AND inform(date=2022-04-09)
+system Na noże w piątek grane jest o 12:30, 15:00, 19:30. select(time)
+user Ok, w takim razie chciałbym zarezerwować 2 miejsca na seans o 19:30. inform(quantity=2) AND inform(time=19:30)
+system Jaki typ biletów? select(tickets_type)
+user Dwa normalne. inform(tickets_type=[normal, 2])
+system Nie ma już miejsc na środku sali, czy mogą być miejsca po prawej stronie u góry? offer(area=[up, right])
+user Mogą być. ack()
+system Rezerwacja 2 miejsc na film Na noże, w terminie 25.03 godzina 19:30, numer twojej rezerwacji 453905. inform(reservation_id=453905) AND expl-conf(title) AND expl-conf(date) AND expl-conf(time) AND expl-conf(quantity)
+user Dziękuje bardzo. bye()
+system Do usłyszenia. bye()
diff --git a/data/dialog-17-02-01.tsv b/data/dialog-17-02-01.tsv
index fc7e96b..e1aec12 100644
--- a/data/dialog-17-02-01.tsv
+++ b/data/dialog-17-02-01.tsv
@@ -1,5 +1,5 @@
-user czeϾ hello()
-system Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg()
-user czy mogê zarezerwowaæ Nachosy do kina? reqmore()
-system Zapraszamy do baru, który znajduje siê za kasami biletowymi. offer
+user cześć hello()
+system Witamy w internetowym systemie rezerwacji Nachos, w czym mogę pomóc? welcomemsg()
+user czy mogę zarezerwować Nachosy do kina? reqmore()
+system Zapraszamy do baru, który znajduje się za kasami biletowymi. offer
user dziekuje thankyou
diff --git a/data/dialog-17-04-01.tsv b/data/dialog-17-04-01.tsv
index 0fa183b..103b053 100644
--- a/data/dialog-17-04-01.tsv
+++ b/data/dialog-17-04-01.tsv
@@ -1,23 +1,23 @@
user Witam hello()
-system Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg()
+system Witamy w internetowym systemie rezerwacji Nachos, w czym mogę pomóc? welcomemsg()
user Co potrafisz? help()
-system Nasz system odpowiada za: rezerwacjê biletów kinowych oraz odpowiedzi na ewentualne pytania u¿ytkowników. offer(goal=reservation || answers)
-user Jakie s¹ najbli¿sze seanse? inform(date=2022-04-04)&inform(time=13:15+)
-system Jaki film ciê interesuje? reqmore(title)
-user A jakie s¹ dostêpne? reqmore(title)
-system Obecnie w repertuarze znajduj¹ siê: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select(title)
+system Nasz system odpowiada za: rezerwację biletów kinowych oraz odpowiedzi na ewentualne pytania użytkowników. offer(goal=reservation || answers)
+user Jakie są najbliższe seanse? inform(date=2022-04-04)&inform(time=13:15+)
+system Jaki film ciÄ™ interesuje? reqmore(title)
+user A jakie są dostępne? reqmore(title)
+system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select(title)
user A w jakim to kinie? request(location)
-system Na podstawie twojej lokalizacji przydzieliliœmy ci: Multikino 51. Czy chcesz je zmieniæ. inform(location=Multikino_51)
+system Na podstawie twojej lokalizacji przydzieliliśmy ci: Multikino 51. Czy chcesz je zmienić. inform(location=Multikino_51)
user A gdzie jest to kino? reqmore(location)
-system Multikino 51 znajduje siê na Królowej Jadwigi 51, 61-872 Poznañ inform(location=Królowej Jadwigi 51)
-user O której graj¹ Uncharted? reqmore(time) AND inform(title=Uncharted)
-system "Dostêpne godziny na film ""Uncharted"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time) AND impl-conf(title=Uncharted)
-user Ile kosztuj¹ bilety na ten film? request(price)
-system Dostêpne bilety to: 15z³ bilet normalny, 12z³ bilet ulgowy. inform(price)
-user A w jaki dzieñ bielty s¹ tañsze? reqmore(price)
-system W œrody oferujemy dodatkow¹ zni¿kê -10% na wszystkie rodzaje biletów. inform(price)
-user w takim razie chcia³bym zarezerwowaæ dwa bilety normalne i jeden ulgowy na œrodê 20:00 inform(date=2022-04-04) AND inform(quantity=3) AND inform(time=20:00)
-system Dobrze. W jakim rzêdzie maj¹ zostaæ zarezerwowane miejsca? request(area)
-user Na œrodku sali inform(area=[middle, middle])
-system Zosta³y ci przydzielone miejsca I9, I10, I11. Numer twojej rezerwacji to 123123. inform(seats=[I9, I10, I11]) AND inform(reservation_id=123123)
+system Multikino 51 znajduje się na Królowej Jadwigi 51, 61-872 Poznań inform(location=Królowej Jadwigi 51)
+user O której grają Uncharted? reqmore(time) AND inform(title=Uncharted)
+system "Dostępne godziny na film ""Uncharted"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time) AND impl-conf(title=Uncharted)
+user Ile kosztujÄ…Â bilety na ten film? request(price)
+system Dostępne bilety to: 15zł bilet normalny, 12zł bilet ulgowy. inform(price)
+user A w jaki dzień bielty są tańsze? reqmore(price)
+system W środy oferujemy dodatkową zniżkę -10% na wszystkie rodzaje biletów. inform(price)
+user w takim razie chciałbym zarezerwować dwa bilety normalne i jeden ulgowy na środę 20:00 inform(date=2022-04-04) AND inform(quantity=3) AND inform(time=20:00)
+system Dobrze. W jakim rzędzie mają zostać zarezerwowane miejsca? request(area)
+user Na środku sali inform(area=[middle, middle])
+system Zostały ci przydzielone miejsca I9, I10, I11. Numer twojej rezerwacji to 123123. inform(seats=[I9, I10, I11]) AND inform(reservation_id=123123)
user ok ack()
diff --git a/data/dialog-17-04-02.tsv b/data/dialog-17-04-02.tsv
index 00526f7..153cbb3 100644
--- a/data/dialog-17-04-02.tsv
+++ b/data/dialog-17-04-02.tsv
@@ -1,20 +1,20 @@
user Witam hello()
-system Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg()
-user Jaki jest repertuar na pi¹tek? inform(date=2022-04-01) AND reqmore(title)
-system W repertuarze na pi¹tek 1 kwietnia znajduj¹ siê: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2. select(title)
-user O jakich godzinach graj¹ te filmy? reqmore(time)
-system Proszê podaj tytu³ filmu, który ciê interesuje. reqmore(title)
+system Witamy w internetowym systemie rezerwacji Nachos, w czym mogę pomóc? welcomemsg()
+user Jaki jest repertuar na piÄ…tek? inform(date=2022-04-01) AND reqmore(title)
+system W repertuarze na piÄ…tek 1 kwietnia znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2. select(title)
+user O jakich godzinach grajÄ… te filmy? reqmore(time)
+system Proszę podaj tytuł filmu, który cię interesuje. reqmore(title)
user Wszystkie ack()
-system "Dostêpne godziny na film ""Batman"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time)
-system "Dostêpne godziny na film ""To nie wypanda"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time)
-system "Dostêpne godziny na film ""Inni ludzie"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time)
-system "Dostêpne godziny na film ""Ambulans"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time)
-system "Dostêpne godziny na film ""Uncharted"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time)
-system "Dostêpne godziny na film ""Ups 2"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time)
-user Czy obg³ugujecie rezerwacjê biletów grupowych? request(type)
-system Na jednej rezerwacji mo¿e znajdowaæ siê do 10 miejsc. inform(type)
-user Rozumiem, a jak mogê dokonaæ rezerwacji dla 20 osób? reqmore(type)
-system W celu dokonania rezerwacji na wiêcej ni¿ 10 osób proszê skontaktowaæ siê z obs³ug¹ kina w celu potwierdzenia, ¿e jesteœ cz³owiekiem. Czy mam po³¹czyæ ciê z konsultantem? inform(type)
+system "Dostępne godziny na film ""Batman"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time)
+system "Dostępne godziny na film ""To nie wypanda"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time)
+system "Dostępne godziny na film ""Inni ludzie"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time)
+system "Dostępne godziny na film ""Ambulans"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time)
+system "Dostępne godziny na film ""Uncharted"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time)
+system "Dostępne godziny na film ""Ups 2"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time)
+user Czy obgługujecie rezerwację biletów grupowych? request(type)
+system Na jednej rezerwacji może znajdować się do 10 miejsc. inform(type)
+user Rozumiem, a jak mogę dokonać rezerwacji dla 20 osób? reqmore(type)
+system W celu dokonania rezerwacji na więcej niż 10 osób proszę skontaktować się z obsługą kina w celu potwierdzenia, że jesteś człowiekiem. Czy mam połączyć cię z konsultantem? inform(type)
user Tak affirm()
-system Niestety wszyscy konsultanci s¹ obecnie zajêci. W czym jeszcze mogê pomóc? canthelp()
-user dziêkujê ack()
+system Niestety wszyscy konsultanci są obecnie zajęci. W czym jeszcze mogę pomóc? canthelp()
+user dziękuję ack()
diff --git a/data/dialog-17-04-03.tsv b/data/dialog-17-04-03.tsv
index 55d76ae..322fc20 100644
--- a/data/dialog-17-04-03.tsv
+++ b/data/dialog-17-04-03.tsv
@@ -1,5 +1,5 @@
user Witam hello()
-system Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg()
-user Czy w kinie Rialto graj¹ jakieœ stare filmy? reqmore(title)
-system System Nachos obs³uguje nastêpuj¹ce kina: Multikino, Helios oraz Cinemacity. select(location)
-user to dziêkujê thankyou()
+system Witamy w internetowym systemie rezerwacji Nachos, w czym mogę pomóc? welcomemsg()
+user Czy w kinie Rialto grają jakieś stare filmy? reqmore(title)
+system System Nachos obsługuje następujące kina: Multikino, Helios oraz Cinemacity. select(location)
+user to dziękuję thankyou()
diff --git a/data/dialog-17-04-04(test).tsv b/data/dialog-17-04-04(test).tsv
new file mode 100644
index 0000000..35b7049
--- /dev/null
+++ b/data/dialog-17-04-04(test).tsv
@@ -0,0 +1,12 @@
+user Witam hello()
+systen Witamy w internetowym systemie rezerwacji Nachos, w czym mogę pomóc? welcomemsg()
+user Chciałbym zarezerować dwa bilety na Batman inform(goal=reservation) AND inform(quantity=2) AND inform(title=Batman)
+systen Na jaki dzień i godzinę miałby być ten bilet? request(time) AND request(date)
+user A kiedy jest najbliższy seans? inform(time=13:15+)
+systen "Najbliższe seanse dla filmu ""Batman"" to: 13:00 oraz 15:30." select(time)
+user To poproszÄ™ trzy bilety na batmana o 15:30 inform(time=15:30) AND inform(quantity=3) AND inform(title=Batman)
+systen Dobrze. W jakim rzędzie mają zostać zarezerwowane miejsca? request(area)
+user Na samym tyle sali inform(area=[random,back])
+systen Zostało ci przydzielone miejsce M9, M10 oraz M11. Numer twojej rezerwacji to 123124. inform(seats=[M9,M10,M11]) AND inform(reservation_id=123124)
+user Dziękuję "thankyou()
+"
diff --git a/data/dialog-17-04-04.tsv b/data/dialog-17-04-04.tsv
index 5613c78..35b7049 100644
--- a/data/dialog-17-04-04.tsv
+++ b/data/dialog-17-04-04.tsv
@@ -1,12 +1,12 @@
user Witam hello()
-systen Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg()
-user Chcia³bym zarezerowaæ dwa bilety na Batman inform(goal=reservation) AND inform(quantity=2) AND inform(title=Batman)
-systen Na jaki dzieñ i godzinê mia³by byæ ten bilet? request(time) AND request(date)
-user A kiedy jest najbli¿szy seans? inform(time=13:15+)
-systen "Najbli¿sze seanse dla filmu ""Batman"" to: 13:00 oraz 15:30." select(time)
-user To poproszê trzy bilety na batmana o 15:30 inform(time=15:30) AND inform(quantity=3) AND inform(title=Batman)
-systen Dobrze. W jakim rzêdzie maj¹ zostaæ zarezerwowane miejsca? request(area)
+systen Witamy w internetowym systemie rezerwacji Nachos, w czym mogę pomóc? welcomemsg()
+user Chciałbym zarezerować dwa bilety na Batman inform(goal=reservation) AND inform(quantity=2) AND inform(title=Batman)
+systen Na jaki dzień i godzinę miałby być ten bilet? request(time) AND request(date)
+user A kiedy jest najbliższy seans? inform(time=13:15+)
+systen "Najbliższe seanse dla filmu ""Batman"" to: 13:00 oraz 15:30." select(time)
+user To poproszÄ™ trzy bilety na batmana o 15:30 inform(time=15:30) AND inform(quantity=3) AND inform(title=Batman)
+systen Dobrze. W jakim rzędzie mają zostać zarezerwowane miejsca? request(area)
user Na samym tyle sali inform(area=[random,back])
-systen Zosta³o ci przydzielone miejsce M9, M10 oraz M11. Numer twojej rezerwacji to 123124. inform(seats=[M9,M10,M11]) AND inform(reservation_id=123124)
-user Dziêkujê "thankyou()
+systen Zostało ci przydzielone miejsce M9, M10 oraz M11. Numer twojej rezerwacji to 123124. inform(seats=[M9,M10,M11]) AND inform(reservation_id=123124)
+user Dziękuję "thankyou()
"
diff --git a/data/dialog-17-06-01.tsv b/data/dialog-17-06-01.tsv
index 452b770..eb9b861 100644
--- a/data/dialog-17-06-01.tsv
+++ b/data/dialog-17-06-01.tsv
@@ -1,12 +1,12 @@
user Witam hello()
-system Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg()
-user Czy tylko mo¿na u was rezerwowaæ Nachos ? null()
-system Nasz system odpowiada za: rezerwacjê biletów kinowych oraz ewentualne pytania u¿ytkowników. canthelp
-user Chcia³bym zapytaæ co u pana hello()
-system Z tej strony bot Nachos, u mnie wszystko w porz¹dku. W czym mogê pomóc? welcomemsg()
-user Poproszê bilet na batmana o 19:00 inform(goal=reservation) AND inform(quantity=1) AND inform(title=Batman) AND inform(date=tomorrow)AND inform(time=19:00)
-system Dobrze. W jakim rzêdzie maj¹ zostaæ zarezerwowane miejsca? request(area)
+system Witamy w internetowym systemie rezerwacji Nachos, w czym mogę pomóc? welcomemsg()
+user Czy tylko można u was rezerwować Nachos ? null()
+system Nasz system odpowiada za: rezerwację biletów kinowych oraz ewentualne pytania użytkowników. canthelp
+user Chciałbym zapytać co u pana hello()
+system Z tej strony bot Nachos, u mnie wszystko w porządku. W czym mogę pomóc? welcomemsg()
+user PoproszÄ™ bilet na batmana o 19:00 inform(goal=reservation) AND inform(quantity=1) AND inform(title=Batman) AND inform(date=tomorrow)AND inform(time=19:00)
+system Dobrze. W jakim rzędzie mają zostać zarezerwowane miejsca? request(area)
user bez ludzi w okolicy inform(area=[random,random])
-system Zosta³o ci przydzielone miejsce A11. Numer twojej rezerwacji to 123123. inform(reservation_id=A11) AND inform(seats=123123)
+system Zostało ci przydzielone miejsce A11. Numer twojej rezerwacji to 123123. inform(reservation_id=A11) AND inform(seats=123123)
user Czy to wszystko affirm() help
-system Tak to wszystko, proszê zjawiæ siê przy okienku kasowym 15 minut przed rozpoczêciem seansu, inaczej rezerwacja przepadnie. affirm()
+system Tak to wszystko, proszę zjawić się przy okienku kasowym 15 minut przed rozpoczęciem seansu, inaczej rezerwacja przepadnie. affirm()
diff --git a/data/dialog-17-08-01.tsv b/data/dialog-17-08-01.tsv
index ebb37aa..5c81512 100644
--- a/data/dialog-17-08-01.tsv
+++ b/data/dialog-17-08-01.tsv
@@ -1,20 +1,20 @@
-user Dzieñ dobry! hello()
-system Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg()
-user Chcia³bym zarezerwowaæ film null()
+user Dzień dobry! hello()
+system Witamy w internetowym systemie rezerwacji Nachos, w czym mogę pomóc? welcomemsg()
+user Chciałbym zarezerwować film null()
user Bilet na film inform(goal=reservation)
-system Na jaki film ma byæ ta rezerwacja? request(title)
-user Jakie filmy s¹ teraz w kinach? request(title)
-system Obecnie w repertuarze znajduj¹ siê: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select(title)
-user poproszê 3x bilet na ambulans inform(title=Ambulans)
-system "Dostêpne godziny na film ""Ambulans"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time)
-user niech bêdzie ten ostatni inform(time=20:00)
-system Dobrze. W jakim rzêdzie maj¹ zostaæ zarezerwowane miejsca? request(area)
+system Na jaki film ma być ta rezerwacja? request(title)
+user Jakie filmy sÄ… teraz w kinach? request(title)
+system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select(title)
+user poproszÄ™ 3x bilet na ambulans inform(title=Ambulans)
+system "Dostępne godziny na film ""Ambulans"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time)
+user niech będzie ten ostatni inform(time=20:00)
+system Dobrze. W jakim rzędzie mają zostać zarezerwowane miejsca? request(area)
user Przedostatnim inform(area=M)
-system Zosta³y ci przydzielone miejsca M9, M10, M11. Numer twojej rezerwacji to 123123. inform(reservation_id=123123) AND inform(seats=[M9, M10, M11])
+system Zostały ci przydzielone miejsca M9, M10, M11. Numer twojej rezerwacji to 123123. inform(reservation_id=123123) AND inform(seats=[M9, M10, M11])
user Spoko ack()
-user Chcia³bym jeszcze kupon na jedzenie null()
-system Zapraszamy do baru, który znajduje siê za kasami biletowymi. W sk³ad oferty barowej wchodz¹: popcorn s³ony/s³odki/maœlany, oraz NachosyTM z wybranym sosem. offer()
-user Poproszê s³ony popcorn null()
-user Du¿y null()
-system Zapraszamy do baru, który znajduje siê za kasami biletowymi. offer()
+user Chciałbym jeszcze kupon na jedzenie null()
+system Zapraszamy do baru, który znajduje się za kasami biletowymi. W skład oferty barowej wchodzą: popcorn słony/słodki/maślany, oraz NachosyTM z wybranym sosem. offer()
+user Poproszę słony popcorn null()
+user Duży null()
+system Zapraszamy do baru, który znajduje się za kasami biletowymi. offer()
user Nara bye()
diff --git a/data/dialog-17-10-01.tsv b/data/dialog-17-10-01.tsv
index 185e7d2..c604cb9 100644
--- a/data/dialog-17-10-01.tsv
+++ b/data/dialog-17-10-01.tsv
@@ -1,18 +1,18 @@
-user Dzieñ dobry hello()
-system Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg()
-user Chcia³ bym zamówiæ bilet na film Minionki dzisiaj o 18.30 inform(goal=reservation) AND inform(quantity=1) AND inform(time=18:30) AND inform(title=Minionki)
-system "Niestety film ""Minionki"" nie jest obecnie dostêpny. Obecnie w repertuarze znajduj¹ siê: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto."
+user Dzień dobry hello()
+system Witamy w internetowym systemie rezerwacji Nachos, w czym mogę pomóc? welcomemsg()
+user Chciał bym zamówić bilet na film Minionki dzisiaj o 18.30 inform(goal=reservation) AND inform(quantity=1) AND inform(time=18:30) AND inform(title=Minionki)
+system "Niestety film ""Minionki"" nie jest obecnie dostępny. Obecnie w repertuarze znajdują się: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto."
user to poprosze ups 2 inform(title=ups 2)
-system Na jaki dzieñ i godzinê mia³by byæ ten bilet? request(date) AND request(time)
+system Na jaki dzień i godzinę miałby być ten bilet? request(date) AND request(time)
user na dzisiaj inform(date=today()
user najlepiej 18.30 inform(time=18:30)
-system Dostêpne godziny to: 18:00 oraz 20:00, czy któraœ z nich jest odpowiednia? select(time)
+system Dostępne godziny to: 18:00 oraz 20:00, czy któraś z nich jest odpowiednia? select(time)
user poprosze 18 inform(time=18:00)
-system Dobrze. W jakim rzêdzie ma zostaæ dokonana rezerwacja? request(area)
-user jakie s¹ dostêpne miejsca? request(seats)
-system Dostêpne miejsca to: A1, A2, A3, B11,B12, F13, M1, M2, M3, M4 oraz M5. select(seats)
-user które miejsca s¹ daleko od ekranu? reqmore(area)
-system Najdalej od ekranu znajduje siê rz¹d M. inform(area)
-user w takim razie poproszê M5 inform(seats=M5)
-system Zosta³o ci przydzielone miejsce M5. Numer twojej rezerwacji to 123123. expl-conf(seats=M5) AND inform(reservation_id=123123)
+system Dobrze. W jakim rzędzie ma zostać dokonana rezerwacja? request(area)
+user jakie są dostępne miejsca? request(seats)
+system Dostępne miejsca to: A1, A2, A3, B11,B12, F13, M1, M2, M3, M4 oraz M5. select(seats)
+user które miejsca są daleko od ekranu? reqmore(area)
+system Najdalej od ekranu znajduje siÄ™ rzÄ…d M. inform(area)
+user w takim razie poproszÄ™ M5 inform(seats=M5)
+system Zostało ci przydzielone miejsce M5. Numer twojej rezerwacji to 123123. expl-conf(seats=M5) AND inform(reservation_id=123123)
user dziekuje thankyou()
diff --git a/data/dialog-17-12-01.tsv b/data/dialog-17-12-01.tsv
index 116b951..b45aec9 100644
--- a/data/dialog-17-12-01.tsv
+++ b/data/dialog-17-12-01.tsv
@@ -1,4 +1,4 @@
-user Dzieñ dobry hello()
+user Dzieñ dobry hello()
system Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg()
user Jakie us³ugi oferujecie? help()
system Nasz system odpowiada za: rezerwacjê biletów kinowych oraz odpowiedzi na ewentualne pytania u¿ytkowników. select(goal)
diff --git a/data/dialog-17-14-01.tsv b/data/dialog-17-14-01.tsv
index 81e856a..24789b3 100644
--- a/data/dialog-17-14-01.tsv
+++ b/data/dialog-17-14-01.tsv
@@ -1,17 +1,17 @@
-user CzeϾ hello()
-system Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg()
-user Co mogê zarezerwowaæ? reqmore(reservation)
-system Nasz system odpowiada za: rezerwacjê biletów kinowych oraz odpowiedzi na ewentualne pytania u¿ytkowników. select(goal)
-user Gdzie znajduje siê kino? request(location)
-system Na podstawie twojej lokalizacji przydzieliliœmy ci: Multikino 51. Czy chcesz je zmieniæ. inform(location=Multikino 51)
-user Tak, chcia³bym iœæ do multikina na Malcie inform(location=Malta)
-system "Twoje kino zosta³o zmienione na ""Multikino Malta"". Czy mogê pomóc w czymœ jeszcze?" Expl-conf(location=Malta)
-user Super, teraz chcia³bym zarezerwowaæ bilet na film inform(goal=reservation)
-system Obecnie w repertuarze znajduj¹ siê: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. Na jaki film mam zarezerwowaæ bilet? select(title)
+user Cześć hello()
+system Witamy w internetowym systemie rezerwacji Nachos, w czym mogę pomóc? welcomemsg()
+user Co mogę zarezerwować? reqmore(reservation)
+system Nasz system odpowiada za: rezerwację biletów kinowych oraz odpowiedzi na ewentualne pytania użytkowników. select(goal)
+user Gdzie znajduje siÄ™ kino? request(location)
+system Na podstawie twojej lokalizacji przydzieliliśmy ci: Multikino 51. Czy chcesz je zmienić. inform(location=Multikino 51)
+user Tak, chciałbym iść do multikina na Malcie inform(location=Malta)
+system "Twoje kino zostało zmienione na ""Multikino Malta"". Czy mogę pomóc w czymś jeszcze?" Expl-conf(location=Malta)
+user Super, teraz chciałbym zarezerwować bilet na film inform(goal=reservation)
+system Obecnie w repertuarze znajdują się: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. Na jaki film mam zarezerwować bilet? select(title)
user Uncharted inform(title=Uncharted)
-system "Dostêpne godziny na film ""Uncharted"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time)
+system "Dostępne godziny na film ""Uncharted"" to: 12:00, 15:30, 17:30 oraz 20:00" select(time)
user wybieram godzine 12:00 inform(time=12:00)
-system Dobrze. W jakim rzêdzie maj¹ zostaæ zarezerwowane miejsca i ile miejsc zarezerwowaæ? request(area) AND request(quantity)
-user 1 miejsce, gdzieœ na œrodku sali inform(quantity=1) AND inform(area=middle)
-system Zosta³o ci przydzielone miejsce J11. Numer twojej rezerwacji to 123123. inform(seats=J11) and inform(reservation_id=123123)
+system Dobrze. W jakim rzędzie mają zostać zarezerwowane miejsca i ile miejsc zarezerwować? request(area) AND request(quantity)
+user 1 miejsce, gdzieś na środku sali inform(quantity=1) AND inform(area=middle)
+system Zostało ci przydzielone miejsce J11. Numer twojej rezerwacji to 123123. inform(seats=J11) and inform(reservation_id=123123)
user Pasuje ack()
diff --git a/data/dialog-17-18-01.tsv b/data/dialog-17-18-01.tsv
index ca83e09..4c5300f 100644
--- a/data/dialog-17-18-01.tsv
+++ b/data/dialog-17-18-01.tsv
@@ -1,27 +1,27 @@
user Elo help()
-system Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg()
-user Chcia³abym zarezerwowaæ bilet inform(goal=reservation) AND inform(quantity=1)
-system Dobrze. Na jaki film ma byæ ta rezerwacja? request(title)
+system Witamy w internetowym systemie rezerwacji Nachos, w czym mogę pomóc? welcomemsg()
+user Chciałabym zarezerwować bilet inform(goal=reservation) AND inform(quantity=1)
+system Dobrze. Na jaki film ma być ta rezerwacja? request(title)
user Co gracie request(title)
-system Obecnie w repertuarze znajduj¹ siê: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select(title)
-user Ja bym chcia³a na Fantsaczne zwierzta inform(title=Fantastyczne zwierzêta: tajemnice dumbledorea)
-system Na jaki dzieñ i godzinê mia³by byæ ten bilet? request(date) and request(time)
+system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select(title)
+user Ja bym chciała na Fantsaczne zwierzta inform(title=Fantastyczne zwierzęta: tajemnice dumbledorea)
+system Na jaki dzień i godzinę miałby być ten bilet? request(date) and request(time)
user 29.03.2022 inform(date=2022.03.29)
-user Jakoœ wieczorkiem inform(time=18:00+)
-system "Dostêpne godziny na film ""Fantastyczne zwierzêta: tajemnice dumbledorea"" to: 17:30 oraz 20:00" expl-conf(title=Fantastyczne zwierzêta: tajemnice dumbledorea) AND select(time)
+user JakoÅ› wieczorkiem inform(time=18:00+)
+system "Dostępne godziny na film ""Fantastyczne zwierzęta: tajemnice dumbledorea"" to: 17:30 oraz 20:00" expl-conf(title=Fantastyczne zwierzęta: tajemnice dumbledorea) AND select(time)
user To na 21 prosze inform(time=21:00)
-system Godzina 21:00 nie jest dostêpna. Filmy puszczane s¹ o 17:30 oraz 20:00. select(time)
-user To na 18 proszê inform(time=18:00)
-system Dobrze. Jakie miejsca zarezerwowaæ? request(area)
+system Godzina 21:00 nie jest dostępna. Filmy puszczane są o 17:30 oraz 20:00. select(time)
+user To na 18 proszÄ™ inform(time=18:00)
+system Dobrze. Jakie miejsca zarezerwować? request(area)
user Najlepsze inform(area=[random,random])
-system Zosta³y ci przydzielone miejsca I9, I10. Numer twojej rezerwacji to 123123. inform(seats=[I9,I10]) AND inform(reservation_id=123123)
-user Moment no ile tych miejsc i czemu nie s¹ w tym samym rzêdzie reqmore(quantity)
-user proszê z managerem null()
-system Ile biletów powinno znaleŸæ siê w rezerwacji? request(quantity)
-user Jeden dla mnie i dla kotka proszê inform(quantity=2)
-system Zosta³y ci przydzielone miejsca I9, I10. Numer twojej rezerwacji to 123123. inform(seats=[I9,I10]) AND inform(reservation_id=123123)
-user Dobra, to blikiem proszê null()
-system System obs³uguje jedynie rezerwacjê biletów. W uiszczenia op³aty proszê byæ 15 minut przed seansem w kinie, inaczej rezerwacja przepada. Dziêkujê. bye()
+system Zostały ci przydzielone miejsca I9, I10. Numer twojej rezerwacji to 123123. inform(seats=[I9,I10]) AND inform(reservation_id=123123)
+user Moment no ile tych miejsc i czemu nie są w tym samym rzędzie reqmore(quantity)
+user proszÄ™ z managerem null()
+system Ile biletów powinno znaleźć się w rezerwacji? request(quantity)
+user Jeden dla mnie i dla kotka proszÄ™ inform(quantity=2)
+system Zostały ci przydzielone miejsca I9, I10. Numer twojej rezerwacji to 123123. inform(seats=[I9,I10]) AND inform(reservation_id=123123)
+user Dobra, to blikiem proszÄ™ null()
+system System obsługuje jedynie rezerwację biletów. W uiszczenia opłaty proszę być 15 minut przed seansem w kinie, inaczej rezerwacja przepada. Dziękuję. bye()
user Halo halo null()
-user nie skoñczy³am null()
+user nie skończyłam null()
user Ehhh null()
diff --git a/data/dialog-17-18-02.tsv b/data/dialog-17-18-02.tsv
index 324a4a9..5afdffd 100644
--- a/data/dialog-17-18-02.tsv
+++ b/data/dialog-17-18-02.tsv
@@ -1,15 +1,15 @@
-user DZIEÑ DOBRY hello()
-system Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg()
-user No w³aœnie. W czym mo¿esz pomóc? help()
-system Nasz system odpowiada za: rezerwacjê biletów kinowych oraz odpowiedzi na ewentualne pytania u¿ytkowników. inform(goal)
+user DZIEŃ DOBRY hello()
+system Witamy w internetowym systemie rezerwacji Nachos, w czym mogę pomóc? welcomemsg()
+user No właśnie. W czym możesz pomóc? help()
+system Nasz system odpowiada za: rezerwację biletów kinowych oraz odpowiedzi na ewentualne pytania użytkowników. inform(goal)
user A jedzonko macie? reqmore()
-system W sk³ad oferty barowej wchodz¹: popcorn s³ony/s³odki/maœlany, oraz NachosyTM z wybranym sosem. offer()
-user Nachosy proszê reqmore()
-system Zapraszamy do baru, który znajduje siê za kasami biletowymi. offer()
-user A jakie sosy do Nachosów? reqmore()
-system Do NachosyTM mo¿na wybraæ nastêpuj¹ce sosy: BBQ, keczupowy, czosnkowy, ostry. offer()
-user Chcia³abym anulowaæ rezerwacjê inform(goal=cancel)
-system Dobrze, proszê o podanie numeru rezerwacji. request(reservation_id)
+system W skład oferty barowej wchodzą: popcorn słony/słodki/maślany, oraz NachosyTM z wybranym sosem. offer()
+user Nachosy proszÄ™ reqmore()
+system Zapraszamy do baru, który znajduje się za kasami biletowymi. offer()
+user A jakie sosy do Nachosów? reqmore()
+system Do NachosyTM można wybrać następujące sosy: BBQ, keczupowy, czosnkowy, ostry. offer()
+user Chciałabym anulować rezerwację inform(goal=cancel)
+system Dobrze, proszÄ™ o podanie numeru rezerwacji. request(reservation_id)
user 123123 inform(reservation_id=123123)
-system "Rezerwacja o numerze ""123123"" zosta³a anulowana. " affirm()
-user Dziêki <3 thankyou()
+system "Rezerwacja o numerze ""123123"" została anulowana. " affirm()
+user Dzięki <3 thankyou()
diff --git a/data/dialog-17-18-03.tsv b/data/dialog-17-18-03.tsv
index 4e14d6a..23b019a 100644
--- a/data/dialog-17-18-03.tsv
+++ b/data/dialog-17-18-03.tsv
@@ -1,7 +1,7 @@
-user Dzieñ dobry hello()
-system Witamy w internetowym systemie rezerwacji Nachos, w czym mogê pomóc? welcomemsg()
-user Chcia³abym zmieniæ rezerwacjê inform(goal=cancel)
-system Proszê podaæ numer rezerwacji request(reservation_id)
+user Dzień dobry hello()
+system Witamy w internetowym systemie rezerwacji Nachos, w czym mogę pomóc? welcomemsg()
+user Chciałabym zmienić rezerwację inform(goal=cancel)
+system Proszę podać numer rezerwacji request(reservation_id)
user 123123 inform(reservation_id=123123)
-system "Rezerwacja o numerze ""123123"" nie znajduje siê w systemie. Upewnij siê, ze jest to poprawny numer." canthelp.missing_slot_value
-user Upewniam siê ack()
+system "Rezerwacja o numerze ""123123"" nie znajduje siÄ™ w systemie. Upewnij siÄ™, ze jest to poprawny numer." canthelp.missing_slot_value
+user Upewniam siÄ™ ack()
diff --git a/data/dialog-18-09-01(test).tsv b/data/dialog-18-09-01(test).tsv
new file mode 100644
index 0000000..596831f
--- /dev/null
+++ b/data/dialog-18-09-01(test).tsv
@@ -0,0 +1,22 @@
+user Hej hello()
+system Witam w systemie kinowym Nachos. Jak mogę ci pomóc? welcomemsg() & request(goal)
+user Chciałbym kupić bilety na seans Zorro - jak to było na prawdę inform(title=Zorro - jak to było na prawdę) & inform(goal=reservation)
+system Film nie znajduje się w repertuarze. Podaj inny tytuł. canthelp() & request(title)
+user Zorro2 inform(title=Zorro2)
+system Film nie znajduje się w repertuarze. Podaj inny tytuł. canthelp() & request(title)
+user Poproszę o listę seansów reqmore(title)
+system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select(title)
+user Poproszę o listę filmów granych jutro wieczorem reqmore(title) & inform(date=2022-03-24)
+system Obecnie w repertuarze znajdujÄ… siÄ™: Batman, To nie wypanda, Inni ludzie, Ambulans, Uncharted, Ups 2, Nasze magiczne Encanto. select(title)
+user Chciałbym kupić bilety na film To nie wypanda inform(title=To nie wypanda)
+system Jutro wieczorem dostępne godziny to: 18:30, 20:15. select(time)
+user 20:15 inform(time=20:15)
+system Jaka ilość biletów ciebie interesuje? request(quantity)
+user 11 inform(quantity=11)
+system Gdzie chciałbyś usiąść? request(area)
+user W środku, pomiedzy górnym i środkowym rzędzie null()
+system Czy możesz powtórzyć? repeat()
+user W środku, pomiedzy górnym i środkowym rzędem inform(area=[back, middle])
+system Zostały ci przydzielone miejsca G3, G4, G5, G6, G7, G8, G9, G10, G11, G12, G13. Numer twojej rezerwacji to 04293. inform(seats=[g3, g4, g5, g6, g7, g8, g9, g10, g11, g12, g13]) & inform(reservation_id=04293)
+user <3 thankyou()
+system Dziękujemy za skorzystanie z usług systemu kinowego Nachos. Miłego dnia. bye()
\ No newline at end of file
diff --git a/data/dialog-18-11-01.tsv b/data/dialog-18-11-01.tsv
index 23279f4..b2b0f21 100644
--- a/data/dialog-18-11-01.tsv
+++ b/data/dialog-18-11-01.tsv
@@ -17,10 +17,10 @@ system Jaki termin ciÄ™ interesuje? request(date)
user 22.03.2022 inform(date=2022-03-22)
system Wybrana data jest z przeszłości. Proszę o podanie poprawnego terminu. repeat()
user Jutro, po godzinie 16:00 inform(date=2022-03-24)
-system Dostępne godziny to: 17:45, 20:30. select(time)
+system Dostępne godziny to: 17:45, 20:30. select(time)
user Jaki jutro jest dzień tygodnia? request(date)
system Jutro jest czwartek, 24.03.2022. inform(date=2022-03-24)
-user To poproszÄ™ o rezerwacjÄ™ na 17L45 null()
+user To poproszÄ™ o rezerwacjÄ™ na 17L45 null()
system Proszę o powtórzenie terminu rezerwacji. repeat()
user 17:45 inform(time=17:45)
system Gdzie chciałbyś usiąść? request(area)
@@ -29,4 +29,4 @@ system Zostało ci przydzielone miejsce L8. Numer twojej rezerwacji to 35263. in
user W jakiej części rzędu znajduje się to miejsce? request(area)
system Miejsce L8 znajduje się w środkowej części przedostatniego rzędu. inform(area=[back, middle])
user Dziękuję thankyou()
-system Dziękujemy za skorzystanie z usług systemu kinowego Nachos. Miłego dnia. bye()
\ No newline at end of file
+system Dziękujemy za skorzystanie z usług systemu kinowego Nachos. Miłego dnia. bye()
diff --git a/data/dialog-19-10-01(test).tsv b/data/dialog-19-10-01(test).tsv
new file mode 100644
index 0000000..b2df5aa
--- /dev/null
+++ b/data/dialog-19-10-01(test).tsv
@@ -0,0 +1,17 @@
+user Dzień dobry hello()
+system Witam w systemie kinowym Nachos. Jak mogę ci pomóc? welcomemsg()
+user Chciał bym zamówić bilet na film Minionki dzisiaj o 18.30 inform(goal=reservation) AND inform(title=Minionki) AND inform(time=18:30)
+system DziÅ› nie gramy filmu 'Minionki' o godzinie 18:30 negate(title=Minionki) AND negate(time=18:30)
+user czy jest jakis film o godzinie 18:30? request(time=18:30)
+system Najbliższy film jest o godzinie 18:40 18:40 Matki równoległe offer(title=Matki równoległe) AND offer(time=18:40)
+user niech będzie ack()
+system Ile biletów? request(quantity)
+user 1 inform(quantity=1)
+system Normalny czy ulgowy ? canthelp()
+user jakie sš dostępne ulgi? null()
+system Studencka, serniorska, i pracownik kina offer(tickets_type)
+user studencka inform(tickets_type=[reduced, 1])
+system Dobrze, jakie miejsce Pana interesuje request(area)
+user daleko od ekranu inform(area=back)
+system Dobrze, miejsca Pana to L40. Czy zgadza siÄ™ Pan z wyborem miejsca? inform(seats=L40) AND affirm(seats=L40)
+user tak ack()
diff --git a/lab/06-architektura-systemu-dialogowego.ipynb b/lab/06-architektura-systemu-dialogowego.ipynb
new file mode 100644
index 0000000..85fa341
--- /dev/null
+++ b/lab/06-architektura-systemu-dialogowego.ipynb
@@ -0,0 +1,120 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": false
+ },
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "
\n",
+ "
Systemy Dialogowe
\n",
+ " 6. Architektura systemu dialogowego ukierunkowanego na wykonanie zadania [laboratoria]
\n",
+ " Marek Kubis (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Architektura systemu dialogowego ukierunkowanego na wykonanie zadania\n",
+ "=====================================================================\n",
+ "\n",
+ "Podstawowe komponenty systemu dialogowego\n",
+ "-----------------------------------------\n",
+ "\n",
+ "\n",
+ "\n",
+ "### System rozpoznawania mowy\n",
+ "\n",
+ "**Nazwa ang.:** Automatic Speech Recognition (ASR) lub Speech To Text (STT).\n",
+ "\n",
+ "**Opis:** Modu\u0142 odpowiedzialny za zamian\u0119 mowy na tekst.\n",
+ "\n",
+ "**Wej\u015bcie:** Sygna\u0142 audio\n",
+ "\n",
+ "**Wyj\u015bcie:** Tekst\n",
+ "\n",
+ "### Analizator j\u0119zyka naturalnego\n",
+ "**Nazwa ang.:** Natural Language Understanding (NLU).\n",
+ "\n",
+ "**Opis:** Modu\u0142 odpowiedzialny za analiz\u0119 tekstu.\n",
+ "W wyniku jego dzia\u0142ania tekstowa reprezentacja wypowiedzi u\u017cytkownika zostaje zamieniona na jej\n",
+ "reprezentacj\u0119 semantyczn\u0105, najcz\u0119\u015bciej w postaci *ramy*.\n",
+ "\n",
+ "**Wej\u015bcie:** Tekst\n",
+ "\n",
+ "**Wyj\u015bcie:** Akt u\u017cytkownika (rama)\n",
+ "\n",
+ "### Monitor Stanu Dialogu\n",
+ "**Nazwa ang.:** Dialogue State Tracker (DST).\n",
+ "\n",
+ "**Opis:** Modu\u0142 odpowiedzialny za \u015bledzenie stanu dialogu.\n",
+ "Przechowuje informacje o tym jakie dane zosta\u0142y uzyskane od u\u017cytkownika w toku prowadzonej\n",
+ "konwersacji.\n",
+ "\n",
+ "**Wej\u015bcie:** Akt u\u017cytkownika (rama)\n",
+ "\n",
+ "**Wyj\u015bcie:** Reprezentacja stanu dialogu (rama)\n",
+ "\n",
+ "### Taktyka Dialogu\n",
+ "**Nazwa ang.:** Dialogue Policy\n",
+ "\n",
+ "**Opis:** Modu\u0142 decyduj\u0105cy o wyborze kolejnego aktu, kt\u00f3ry ma podj\u0105\u0107 system prowadz\u0105c rozmow\u0119.\n",
+ "\n",
+ "**Wej\u015bcie:** Reprezentacja stanu dialogu (rama)\n",
+ "\n",
+ "**Wyj\u015bcie:** Akt systemu (rama)\n",
+ "\n",
+ "### Generator j\u0119zyka naturalnego\n",
+ "**Nazwa ang.:** Natural Language Generation (NLG)\n",
+ "\n",
+ "**Opis:** Modu\u0142, kt\u00f3ry tworzy reprezentacj\u0119 tekstow\u0105 aktu systemowego wybranego przez taktyk\u0119 dialogu.\n",
+ "\n",
+ "**Wej\u015bcie:** Akt systemu (rama)\n",
+ "\n",
+ "**Wyj\u015bcie:** Tekst\n",
+ "\n",
+ "### System syntezy mowy\n",
+ "**Nazwa ang.:** Text To Speech (TTS)\n",
+ "\n",
+ "**Opis:** Modu\u0142 odpowiedzialny za zamian\u0119 tekstu na mow\u0119.\n",
+ "\n",
+ "**Wej\u015bcie:** Tekst\n",
+ "\n",
+ "**Wyj\u015bcie:** Sygna\u0142 audio\n",
+ "\n",
+ "Zadanie\n",
+ "-------\n",
+ "Zaimplementowa\u0107 makiety dla analizatora j\u0119zyka naturalnego, monitora stanu dialogu, taktyki\n",
+ "dialogowej oraz generatora j\u0119zyka naturalnego.\n",
+ "\n",
+ "Makiety powinny realizowa\u0107 scenariusz, w kt\u00f3rym u\u017cytkownik pyta agenta o to jak ma na imi\u0119.\n",
+ "\n",
+ "### Przyk\u0142ad\n",
+ "```\n",
+ "user: Cze\u015b\u0107, jak masz na imi\u0119?\n",
+ "system: Witaj, nazywam si\u0119 Dia.\n",
+ "```"
+ ]
+ }
+ ],
+ "metadata": {
+ "jupytext": {
+ "cell_metadata_filter": "-all",
+ "main_language": "python",
+ "notebook_metadata_filter": "-all"
+ },
+ "author": "Marek Kubis",
+ "email": "mkubis@amu.edu.pl",
+ "lang": "pl",
+ "subtitle": "6.Architektura systemu dialogowego ukierunkowanego na wykonanie zadania[laboratoria]",
+ "title": "Systemy Dialogowe",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
\ No newline at end of file
diff --git a/lab/07-parsing-semantyczny-gramatyki.ipynb b/lab/07-parsing-semantyczny-gramatyki.ipynb
new file mode 100644
index 0000000..4bd4686
--- /dev/null
+++ b/lab/07-parsing-semantyczny-gramatyki.ipynb
@@ -0,0 +1,228 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": false
+ },
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "\n",
+ "
Systemy Dialogowe
\n",
+ " 7. Parsing semantyczny z wykorzystaniem gramatyk [laboratoria]
\n",
+ " Marek Kubis (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Parsing semantyczny z wykorzystaniem gramatyk\n",
+ "=============================================\n",
+ "\n",
+ "Warto\u015bci slot\u00f3w mo\u017cemy wydobywa\u0107 z wypowiedzi u\u017cytkownika korzystaj\u0105c z takich technik, jak:\n",
+ "\n",
+ " - wyszukiwanie s\u0142\u00f3w kluczowych w tek\u015bcie,\n",
+ "\n",
+ " - dopasowywanie wzorc\u00f3w zbudowanych przy u\u017cyciu wyra\u017ce\u0144 regularnych,\n",
+ "\n",
+ " - parsery regu\u0142owe (temat dzisiejszych zaj\u0119\u0107),\n",
+ "\n",
+ " - uczenie maszynowe (temat kolejnych zaj\u0119\u0107)."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Przyk\u0142ady parser\u00f3w regu\u0142owych\n",
+ "-----------------------------\n",
+ "\n",
+ " - [Phoenix](http://wiki.speech.cs.cmu.edu/olympus/index.php/Phoenix_Server) \u2014 parser gramatyk\n",
+ " bezkontekstowych whodz\u0105cy w sk\u0142ad systemu dialogowego [Olympus](http://wiki.speech.cs.cmu.edu/olympus/index.php/Olympus)\n",
+ "\n",
+ " - Parsery [DCG](https://www.swi-prolog.org/pldoc/man?section=DCG) (Definite Clause Grammars) j\u0119zyka [Prolog](https://www.swi-prolog.org/)\n",
+ "\n",
+ " - [JSpeech Grammar Format](https://www.w3.org/TR/jsgf/) (JSGF)\n",
+ "\n",
+ "Przyk\u0142ad\n",
+ "--------\n",
+ "Zapiszmy w JSGF gramatyk\u0119 semantyczn\u0105 dla aktu dialogowego reprezentuj\u0105cego zamiar rezerwacji\n",
+ "stolika w restauracji."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "%%writefile book.jsgf\n",
+ "#JSGF V1.0 UTF-8 pl;\n",
+ "\n",
+ "grammar book;\n",
+ "\n",
+ "public = chcia\u0142bym zarezerwowa\u0107 stolik ;\n",
+ "\n",
+ " = na {day};\n",
+ "\n",
+ " = dzisiaj | jutro | poniedzia\u0142ek | wtorek | \u015brod\u0119 | czwartek | pi\u0105tek | sobot\u0119 | niedziel\u0119;\n",
+ "\n",
+ " = na [godzin\u0119] {hour};\n",
+ "\n",
+ " = [];\n",
+ "\n",
+ " = dziewi\u0105t\u0105 | dziesi\u0105t\u0105 | jedenast\u0105 | dwunast\u0105;\n",
+ "\n",
+ " = pietna\u015bcie | trzydzie\u015bci;\n",
+ "\n",
+ " = (na | dla) {size} os\u00f3b;\n",
+ "\n",
+ " = dwie | dw\u00f3ch | trzy | trzech | cztery | czterech | pi\u0119\u0107 | pieciu;\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Parser akceptuj\u0105cy powy\u017csz\u0105 gramatyk\u0119 utworzymy korzystaj\u0105c z biblioteki [pyjsgf](https://github.com/Danesprite/pyjsgf)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "import jsgf\n",
+ "\n",
+ "book_grammar = jsgf.parse_grammar_file('book.jsgf')\n",
+ "book_grammar"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Wykorzystajmy gramatyk\u0119 `book.jsgf` do analizy nast\u0119puj\u0105cej wypowiedzi"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "utterance = 'chcia\u0142bym zarezerwowa\u0107 stolik na jutro na godzin\u0119 dwunast\u0105 trzydzie\u015bci na pi\u0119\u0107 os\u00f3b'\n",
+ "matched = book_grammar.find_matching_rules(utterance)\n",
+ "matched"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Reprezentacj\u0119 znaczenia mo\u017cna wydoby\u0107 ze sparsowanej wypowiedzi na wiele sposob\u00f3w. My do\n",
+ "wydobywania slot\u00f3w wykorzystamy mechanizm tag\u00f3w JSGF a za nazw\u0119 aktu dialogowego przyjmiemy nazw\u0119\n",
+ "gramatyki. Wzoruj\u0105c si\u0119 na [DSTC2](https://github.com/matthen/dstc) wynikow\u0105 ram\u0119 zapiszemy korzystaj\u0105c ze s\u0142ownika o polach `act` i `slots`."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def get_dialog_act(rule):\n",
+ " slots = []\n",
+ " get_slots(rule.expansion, slots)\n",
+ " return {'act': rule.grammar.name, 'slots': slots}\n",
+ "\n",
+ "def get_slots(expansion, slots):\n",
+ " if expansion.tag != '':\n",
+ " slots.append((expansion.tag, expansion.current_match))\n",
+ " return\n",
+ "\n",
+ " for child in expansion.children:\n",
+ " get_slots(child, slots)\n",
+ "\n",
+ " if not expansion.children and isinstance(expansion, jsgf.NamedRuleRef):\n",
+ " get_slots(expansion.referenced_rule.expansion, slots)\n",
+ "\n",
+ "get_dialog_act(matched[0])"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "\u0141\u0105cz\u0105c powy\u017csze funkcje mo\u017cemy zbudowa\u0107 prosty modu\u0142 NLU."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "def nlu(utterance):\n",
+ " matched = book_grammar.find_matching_rules(utterance)\n",
+ "\n",
+ " if matched:\n",
+ " return get_dialog_act(matched[0])\n",
+ " else:\n",
+ " return {'act': 'null', 'slots': []}\n",
+ "\n",
+ "nlu('chcia\u0142bym zarezerwowa\u0107 stolik na jutro na godzin\u0119 dziesi\u0105t\u0105 dla trzech os\u00f3b')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Problemy\n",
+ "--------\n",
+ "\n",
+ " - Co z normalizacj\u0105 wyra\u017ce\u0144 liczbowych takich, jak godziny, daty czy numery telefon\u00f3w?\n",
+ "\n",
+ " - Co w przypadku gdy wi\u0119cej ni\u017c jedna regu\u0142a zostanie dopasowana?"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Zadanie\n",
+ "-------\n",
+ "Zaimplementowa\u0107 analizator j\u0119zyka naturalnego (NLU) na potrzeby realizowanego agenta dialogowego.\n",
+ "\n",
+ "Modu\u0142 powinien by\u0107 zbudowany z wykorzystaniem parsingu regu\u0142owego i/lub technik uczenia maszynowego.\n",
+ "\n",
+ "Przygotowa\u0107 skrypt `evaluate.py` wyznaczaj\u0105cy *dok\u0142adno\u015b\u0107* (ang. accuracy) analizatora wzgl\u0119dem zgromadzonego korpusu eksperymentalnego,\n",
+ "tj. stosunek liczby wypowiedzi u\u017cytkownika, w kt\u00f3rych akty dialogowe zosta\u0142y rozpoznane prawid\u0142owo do liczby wszystkich wypowiedzi u\u017cytkownika w korpusie.\n",
+ "\n",
+ "Analizator j\u0119zyka naturalnego umie\u015bci\u0107 w ga\u0142\u0119zi `master` repozytorium projektowego. Skrypt `evaluate.py` umie\u015bci\u0107 w katalogu g\u0142\u00f3wnym tej ga\u0142\u0119zi.\n",
+ "\n",
+ "Termin: 4.05.2022, godz. 23:59."
+ ]
+ }
+ ],
+ "metadata": {
+ "jupytext": {
+ "cell_metadata_filter": "-all",
+ "main_language": "python",
+ "notebook_metadata_filter": "-all"
+ },
+ "author": "Marek Kubis",
+ "email": "mkubis@amu.edu.pl",
+ "lang": "pl",
+ "subtitle": "7.Parsing semantyczny z wykorzystaniem gramatyk[laboratoria]",
+ "title": "Systemy Dialogowe",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
\ No newline at end of file
diff --git a/lab/08-parsing-semantyczny-uczenie(zmodyfikowany).ipynb b/lab/08-parsing-semantyczny-uczenie(zmodyfikowany).ipynb
new file mode 100644
index 0000000..d186b33
--- /dev/null
+++ b/lab/08-parsing-semantyczny-uczenie(zmodyfikowany).ipynb
@@ -0,0 +1,895 @@
+{
+ "cells": [
+ {
+ "cell_type": "markdown",
+ "metadata": {
+ "collapsed": false
+ },
+ "source": [
+ "![Logo 1](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech1.jpg)\n",
+ "\n",
+ "
Systemy Dialogowe
\n",
+ " 8. Parsing semantyczny z wykorzystaniem technik uczenia maszynowego [laboratoria]
\n",
+ " Marek Kubis (2021)
\n",
+ "\n",
+ "\n",
+ "![Logo 2](https://git.wmi.amu.edu.pl/AITech/Szablon/raw/branch/master/Logotyp_AITech2.jpg)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Parsing semantyczny z wykorzystaniem technik uczenia maszynowego\n",
+ "================================================================\n",
+ "\n",
+ "Wprowadzenie\n",
+ "------------\n",
+ "Problem wykrywania slotów i ich wartości w wypowiedziach użytkownika można sformułować jako zadanie\n",
+ "polegające na przewidywaniu dla poszczególnych słów etykiet wskazujących na to czy i do jakiego\n",
+ "slotu dane słowo należy.\n",
+ "\n",
+ "> chciałbym zarezerwować stolik na jutro**/day** na godzinę dwunastą**/hour** czterdzieści**/hour** pięć**/hour** na pięć**/size** osób\n",
+ "\n",
+ "Granice slotów oznacza się korzystając z wybranego schematu etykietowania.\n",
+ "\n",
+ "### Schemat IOB\n",
+ "\n",
+ "| Prefix | Znaczenie |\n",
+ "|:------:|:---------------------------|\n",
+ "| I | wnętrze slotu (inside) |\n",
+ "| O | poza slotem (outside) |\n",
+ "| B | poczÄ…tek slotu (beginning) |\n",
+ "\n",
+ "> chciałbym zarezerwować stolik na jutro**/B-day** na godzinę dwunastą**/B-hour** czterdzieści**/I-hour** pięć**/I-hour** na pięć**/B-size** osób\n",
+ "\n",
+ "### Schemat IOBES\n",
+ "\n",
+ "| Prefix | Znaczenie |\n",
+ "|:------:|:---------------------------|\n",
+ "| I | wnętrze slotu (inside) |\n",
+ "| O | poza slotem (outside) |\n",
+ "| B | poczÄ…tek slotu (beginning) |\n",
+ "| E | koniec slotu (ending) |\n",
+ "| S | pojedyncze słowo (single) |\n",
+ "\n",
+ "> chciałbym zarezerwować stolik na jutro**/S-day** na godzinę dwunastą**/B-hour** czterdzieści**/I-hour** pięć**/E-hour** na pięć**/S-size** osób\n",
+ "\n",
+ "Jeżeli dla tak sformułowanego zadania przygotujemy zbiór danych\n",
+ "złożony z wypowiedzi użytkownika z oznaczonymi slotami (tzw. *zbiór uczący*),\n",
+ "to możemy zastosować techniki (nadzorowanego) uczenia maszynowego w celu zbudowania modelu\n",
+ "annotującego wypowiedzi użytkownika etykietami slotów.\n",
+ "\n",
+ "Do zbudowania takiego modelu można wykorzystać między innymi:\n",
+ "\n",
+ " 1. warunkowe pola losowe (Lafferty i in.; 2001),\n",
+ "\n",
+ " 2. rekurencyjne sieci neuronowe, np. sieci LSTM (Hochreiter i Schmidhuber; 1997),\n",
+ "\n",
+ " 3. transformery (Vaswani i in., 2017).\n",
+ "\n",
+ "Przykład\n",
+ "--------\n",
+ "Skorzystamy ze zbioru danych przygotowanego przez Schustera (2019)."
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Zbiór ten gromadzi wypowiedzi w trzech językach opisane slotami dla dwunastu ram należących do trzech dziedzin `Alarm`, `Reminder` oraz `Weather`. Dane wczytamy korzystając z biblioteki [conllu](https://pypi.org/project/conllu/)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 23,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "# text: halo\t\t\t\n",
+ "\n",
+ "# intent: hello\t\t\t\n",
+ "\n",
+ "# slots: \t\t\t\n",
+ "\n",
+ "1\thalo\thello\tNoLabel\n",
+ "\n",
+ "\t\t\t\n",
+ "\n",
+ "# text: chaciałbym pójść na premierę filmu jakie premiery są w tym tygodniu\t\t\t\n",
+ "\n",
+ "# intent: reqmore\t\t\t\n",
+ "\n",
+ "# slots: \t\t\t\n",
+ "\n",
+ "1\tchaciałbym\treqmore\tNoLabel\n",
+ "\n",
+ "2\tpójść\treqmore\tNoLabel\n",
+ "\n",
+ "3\tna\treqmore\tNoLabel\n",
+ "\n",
+ "4\tpremierÄ™\treqmore\tNoLabel\n",
+ "\n",
+ "5\tfilmu\treqmore\tNoLabel\n",
+ "\n",
+ "6\tjakie\treqmore\tB-goal\n",
+ "\n",
+ "7\tpremiery\treqmore\tI-goal\n",
+ "\n"
+ ]
+ }
+ ],
+ "source": [
+ "from conllu import parse_incr\n",
+ "fields = ['id', 'form', 'frame', 'slot']\n",
+ "\n",
+ "def nolabel2o(line, i):\n",
+ " return 'O' if line[i] == 'NoLabel' else line[i]\n",
+ "# pathTrain = '../tasks/zad8/en/train-en.conllu'\n",
+ "# pathTest = '../tasks/zad8/en/test-en.conllu'\n",
+ "\n",
+ "pathTrain = '../tasks/zad8/pl/train.conllu'\n",
+ "pathTest = '../tasks/zad8/pl/test.conllu'\n",
+ "\n",
+ "with open(pathTrain, encoding=\"UTF-8\") as trainfile:\n",
+ " i=0\n",
+ " for line in trainfile:\n",
+ " print(line)\n",
+ " i+=1\n",
+ " if i==15: break \n",
+ " trainset = list(parse_incr(trainfile, fields=fields, field_parsers={'slot': nolabel2o}))\n",
+ "with open(pathTest, encoding=\"UTF-8\") as testfile:\n",
+ " testset = list(parse_incr(testfile, fields=fields, field_parsers={'slot': nolabel2o}))\n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Zobaczmy kilka przykładowych wypowiedzi z tego zbioru."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 24,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "1 | wybieram | inform | O |
\n",
+ "2 | batmana | inform | B-title |
\n",
+ "\n",
+ "
"
+ ],
+ "text/plain": [
+ "'\\n\\n1 | wybieram | inform | O |
\\n2 | batmana | inform | B-title |
\\n\\n
'"
+ ]
+ },
+ "execution_count": 24,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "from tabulate import tabulate\n",
+ "tabulate(trainset[1], tablefmt='html')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 25,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "1 | chcÄ™ | inform | O |
\n",
+ "2 | zarezerwować | inform | B-goal |
\n",
+ "3 | bilety | inform | O |
\n",
+ "\n",
+ "
"
+ ],
+ "text/plain": [
+ "'\\n\\n1 | chcÄ™ | inform | O |
\\n2 | zarezerwować | inform | B-goal |
\\n3 | bilety | inform | O |
\\n\\n
'"
+ ]
+ },
+ "execution_count": 25,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "tabulate(trainset[16], tablefmt='html')"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 26,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "1 | chciałbym | inform | O |
\n",
+ "2 | anulować | inform | O |
\n",
+ "3 | rezerwacjÄ™ | inform | O |
\n",
+ "4 | biletu | inform | O |
\n",
+ "\n",
+ "
"
+ ],
+ "text/plain": [
+ "'\\n\\n1 | chciałbym | inform | O |
\\n2 | anulować | inform | O |
\\n3 | rezerwacjÄ™ | inform | O |
\\n4 | biletu | inform | O |
\\n\\n
'"
+ ]
+ },
+ "execution_count": 26,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "tabulate(trainset[20], tablefmt='html')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "BudujÄ…c model skorzystamy z architektury opartej o rekurencyjne sieci neuronowe\n",
+ "zaimplementowanej w bibliotece [flair](https://github.com/flairNLP/flair) (Akbik i in. 2018)."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 27,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "from flair.data import Corpus, Sentence, Token\n",
+ "from flair.datasets import SentenceDataset\n",
+ "from flair.embeddings import StackedEmbeddings\n",
+ "from flair.embeddings import WordEmbeddings\n",
+ "from flair.embeddings import CharacterEmbeddings\n",
+ "from flair.embeddings import FlairEmbeddings\n",
+ "from flair.models import SequenceTagger\n",
+ "from flair.trainers import ModelTrainer\n",
+ "\n",
+ "# determinizacja obliczeń\n",
+ "import random\n",
+ "import torch\n",
+ "random.seed(42)\n",
+ "torch.manual_seed(42)\n",
+ "\n",
+ "if torch.cuda.is_available():\n",
+ " torch.cuda.manual_seed(0)\n",
+ " torch.cuda.manual_seed_all(0)\n",
+ " torch.backends.cudnn.enabled = False\n",
+ " torch.backends.cudnn.benchmark = False\n",
+ " torch.backends.cudnn.deterministic = True"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Dane skonwertujemy do formatu wykorzystywanego przez `flair`, korzystając z następującej funkcji."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 28,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Corpus: 345 train + 38 dev + 32 test sentences\n",
+ "Dictionary with 20 tags: , O, B-interval, I-interval, B-title, B-date, I-date, B-time, B-quantity, B-area, I-area, B-goal, I-goal, I-title, I-time, I-quantity, B-seats, I-seats, , \n"
+ ]
+ }
+ ],
+ "source": [
+ "def conllu2flair(sentences, label=None):\n",
+ " fsentences = []\n",
+ "\n",
+ " for sentence in sentences:\n",
+ " fsentence = Sentence()\n",
+ "\n",
+ " for token in sentence:\n",
+ " ftoken = Token(token['form'])\n",
+ "\n",
+ " if label:\n",
+ " ftoken.add_tag(label, token[label])\n",
+ "\n",
+ " fsentence.add_token(ftoken)\n",
+ "\n",
+ " fsentences.append(fsentence)\n",
+ "\n",
+ " return SentenceDataset(fsentences)\n",
+ "\n",
+ "corpus = Corpus(train=conllu2flair(trainset, 'slot'), test=conllu2flair(testset, 'slot'))\n",
+ "print(corpus)\n",
+ "tag_dictionary = corpus.make_tag_dictionary(tag_type='slot')\n",
+ "print(tag_dictionary)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Nasz model będzie wykorzystywał wektorowe reprezentacje słów (zob. [Word Embeddings](https://github.com/flairNLP/flair/blob/master/resources/docs/TUTORIAL_3_WORD_EMBEDDING.md))."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 29,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "embedding_types = [\n",
+ " WordEmbeddings('pl'),\n",
+ " FlairEmbeddings('polish-forward'),\n",
+ " FlairEmbeddings('polish-backward'),\n",
+ " CharacterEmbeddings(),\n",
+ "]\n",
+ "\n",
+ "embeddings = StackedEmbeddings(embeddings=embedding_types)\n",
+ "tagger = SequenceTagger(hidden_size=256, embeddings=embeddings,\n",
+ " tag_dictionary=tag_dictionary,\n",
+ " tag_type='slot', use_crf=True)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Zobaczmy jak wygląda architektura sieci neuronowej, która będzie odpowiedzialna za przewidywanie\n",
+ "slotów w wypowiedziach."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 30,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "SequenceTagger(\n",
+ " (embeddings): StackedEmbeddings(\n",
+ " (list_embedding_0): WordEmbeddings('pl')\n",
+ " (list_embedding_1): FlairEmbeddings(\n",
+ " (lm): LanguageModel(\n",
+ " (drop): Dropout(p=0.25, inplace=False)\n",
+ " (encoder): Embedding(1602, 100)\n",
+ " (rnn): LSTM(100, 2048)\n",
+ " (decoder): Linear(in_features=2048, out_features=1602, bias=True)\n",
+ " )\n",
+ " )\n",
+ " (list_embedding_2): FlairEmbeddings(\n",
+ " (lm): LanguageModel(\n",
+ " (drop): Dropout(p=0.25, inplace=False)\n",
+ " (encoder): Embedding(1602, 100)\n",
+ " (rnn): LSTM(100, 2048)\n",
+ " (decoder): Linear(in_features=2048, out_features=1602, bias=True)\n",
+ " )\n",
+ " )\n",
+ " (list_embedding_3): CharacterEmbeddings(\n",
+ " (char_embedding): Embedding(275, 25)\n",
+ " (char_rnn): LSTM(25, 25, bidirectional=True)\n",
+ " )\n",
+ " )\n",
+ " (word_dropout): WordDropout(p=0.05)\n",
+ " (locked_dropout): LockedDropout(p=0.5)\n",
+ " (embedding2nn): Linear(in_features=4446, out_features=4446, bias=True)\n",
+ " (rnn): LSTM(4446, 256, batch_first=True, bidirectional=True)\n",
+ " (linear): Linear(in_features=512, out_features=20, bias=True)\n",
+ " (beta): 1.0\n",
+ " (weights): None\n",
+ " (weight_tensor) None\n",
+ ")\n"
+ ]
+ }
+ ],
+ "source": [
+ "print(tagger)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Wykonamy dziesięć iteracji (epok) uczenia a wynikowy model zapiszemy w katalogu `slot-model`."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 31,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "2022-05-01 12:13:39,609 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:13:39,610 Model: \"SequenceTagger(\n",
+ " (embeddings): StackedEmbeddings(\n",
+ " (list_embedding_0): WordEmbeddings('pl')\n",
+ " (list_embedding_1): FlairEmbeddings(\n",
+ " (lm): LanguageModel(\n",
+ " (drop): Dropout(p=0.25, inplace=False)\n",
+ " (encoder): Embedding(1602, 100)\n",
+ " (rnn): LSTM(100, 2048)\n",
+ " (decoder): Linear(in_features=2048, out_features=1602, bias=True)\n",
+ " )\n",
+ " )\n",
+ " (list_embedding_2): FlairEmbeddings(\n",
+ " (lm): LanguageModel(\n",
+ " (drop): Dropout(p=0.25, inplace=False)\n",
+ " (encoder): Embedding(1602, 100)\n",
+ " (rnn): LSTM(100, 2048)\n",
+ " (decoder): Linear(in_features=2048, out_features=1602, bias=True)\n",
+ " )\n",
+ " )\n",
+ " (list_embedding_3): CharacterEmbeddings(\n",
+ " (char_embedding): Embedding(275, 25)\n",
+ " (char_rnn): LSTM(25, 25, bidirectional=True)\n",
+ " )\n",
+ " )\n",
+ " (word_dropout): WordDropout(p=0.05)\n",
+ " (locked_dropout): LockedDropout(p=0.5)\n",
+ " (embedding2nn): Linear(in_features=4446, out_features=4446, bias=True)\n",
+ " (rnn): LSTM(4446, 256, batch_first=True, bidirectional=True)\n",
+ " (linear): Linear(in_features=512, out_features=20, bias=True)\n",
+ " (beta): 1.0\n",
+ " (weights): None\n",
+ " (weight_tensor) None\n",
+ ")\"\n",
+ "2022-05-01 12:13:39,611 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:13:39,611 Corpus: \"Corpus: 345 train + 38 dev + 32 test sentences\"\n",
+ "2022-05-01 12:13:39,612 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:13:39,613 Parameters:\n",
+ "2022-05-01 12:13:39,614 - learning_rate: \"0.1\"\n",
+ "2022-05-01 12:13:39,614 - mini_batch_size: \"32\"\n",
+ "2022-05-01 12:13:39,615 - patience: \"3\"\n",
+ "2022-05-01 12:13:39,616 - anneal_factor: \"0.5\"\n",
+ "2022-05-01 12:13:39,616 - max_epochs: \"10\"\n",
+ "2022-05-01 12:13:39,616 - shuffle: \"True\"\n",
+ "2022-05-01 12:13:39,617 - train_with_dev: \"False\"\n",
+ "2022-05-01 12:13:39,618 - batch_growth_annealing: \"False\"\n",
+ "2022-05-01 12:13:39,618 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:13:39,619 Model training base path: \"slot-model\"\n",
+ "2022-05-01 12:13:39,620 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:13:39,620 Device: cpu\n",
+ "2022-05-01 12:13:39,621 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:13:39,621 Embeddings storage mode: cpu\n",
+ "2022-05-01 12:13:39,623 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:13:42,490 epoch 1 - iter 1/11 - loss 9.59000492 - samples/sec: 11.17 - lr: 0.100000\n",
+ "2022-05-01 12:13:44,150 epoch 1 - iter 2/11 - loss 9.31767702 - samples/sec: 19.29 - lr: 0.100000\n",
+ "2022-05-01 12:13:45,968 epoch 1 - iter 3/11 - loss 8.70617644 - samples/sec: 17.61 - lr: 0.100000\n",
+ "2022-05-01 12:13:47,791 epoch 1 - iter 4/11 - loss 8.11678410 - samples/sec: 17.57 - lr: 0.100000\n",
+ "2022-05-01 12:13:49,815 epoch 1 - iter 5/11 - loss 7.65581417 - samples/sec: 15.82 - lr: 0.100000\n",
+ "2022-05-01 12:13:52,296 epoch 1 - iter 6/11 - loss 7.27475810 - samples/sec: 12.90 - lr: 0.100000\n",
+ "2022-05-01 12:13:54,454 epoch 1 - iter 7/11 - loss 6.95693064 - samples/sec: 14.84 - lr: 0.100000\n",
+ "2022-05-01 12:13:56,845 epoch 1 - iter 8/11 - loss 6.61199290 - samples/sec: 13.39 - lr: 0.100000\n",
+ "2022-05-01 12:13:59,195 epoch 1 - iter 9/11 - loss 6.58955601 - samples/sec: 13.63 - lr: 0.100000\n",
+ "2022-05-01 12:14:01,065 epoch 1 - iter 10/11 - loss 6.63135071 - samples/sec: 17.11 - lr: 0.100000\n",
+ "2022-05-01 12:14:02,415 epoch 1 - iter 11/11 - loss 6.52558366 - samples/sec: 23.72 - lr: 0.100000\n",
+ "2022-05-01 12:14:02,416 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:14:02,417 EPOCH 1 done: loss 6.5256 - lr 0.1000000\n",
+ "2022-05-01 12:14:05,139 DEV : loss 8.419286727905273 - score 0.0\n",
+ "2022-05-01 12:14:05,141 BAD EPOCHS (no improvement): 0\n",
+ "saving best model\n",
+ "2022-05-01 12:14:15,906 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:14:16,782 epoch 2 - iter 1/11 - loss 7.61237478 - samples/sec: 40.25 - lr: 0.100000\n",
+ "2022-05-01 12:14:17,253 epoch 2 - iter 2/11 - loss 7.02023911 - samples/sec: 68.09 - lr: 0.100000\n",
+ "2022-05-01 12:14:17,744 epoch 2 - iter 3/11 - loss 6.25125138 - samples/sec: 65.31 - lr: 0.100000\n",
+ "2022-05-01 12:14:18,282 epoch 2 - iter 4/11 - loss 5.91574061 - samples/sec: 59.59 - lr: 0.100000\n",
+ "2022-05-01 12:14:18,742 epoch 2 - iter 5/11 - loss 5.80905600 - samples/sec: 69.87 - lr: 0.100000\n",
+ "2022-05-01 12:14:19,262 epoch 2 - iter 6/11 - loss 5.51969266 - samples/sec: 61.66 - lr: 0.100000\n",
+ "2022-05-01 12:14:19,753 epoch 2 - iter 7/11 - loss 5.34836953 - samples/sec: 65.31 - lr: 0.100000\n",
+ "2022-05-01 12:14:20,267 epoch 2 - iter 8/11 - loss 5.33710295 - samples/sec: 62.38 - lr: 0.100000\n",
+ "2022-05-01 12:14:20,750 epoch 2 - iter 9/11 - loss 5.28061861 - samples/sec: 66.32 - lr: 0.100000\n",
+ "2022-05-01 12:14:21,379 epoch 2 - iter 10/11 - loss 5.20552692 - samples/sec: 50.95 - lr: 0.100000\n",
+ "2022-05-01 12:14:21,922 epoch 2 - iter 11/11 - loss 5.26294283 - samples/sec: 59.03 - lr: 0.100000\n",
+ "2022-05-01 12:14:21,923 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:14:21,924 EPOCH 2 done: loss 5.2629 - lr 0.1000000\n",
+ "2022-05-01 12:14:22,145 DEV : loss 7.168168544769287 - score 0.0645\n",
+ "2022-05-01 12:14:22,149 BAD EPOCHS (no improvement): 0\n",
+ "saving best model\n",
+ "2022-05-01 12:14:27,939 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:14:28,495 epoch 3 - iter 1/11 - loss 3.70659065 - samples/sec: 57.56 - lr: 0.100000\n",
+ "2022-05-01 12:14:29,038 epoch 3 - iter 2/11 - loss 4.21530080 - samples/sec: 59.04 - lr: 0.100000\n",
+ "2022-05-01 12:14:29,607 epoch 3 - iter 3/11 - loss 4.40864404 - samples/sec: 56.37 - lr: 0.100000\n",
+ "2022-05-01 12:14:30,171 epoch 3 - iter 4/11 - loss 4.69527233 - samples/sec: 56.93 - lr: 0.100000\n",
+ "2022-05-01 12:14:30,587 epoch 3 - iter 5/11 - loss 4.43719640 - samples/sec: 77.11 - lr: 0.100000\n",
+ "2022-05-01 12:14:31,075 epoch 3 - iter 6/11 - loss 4.55344125 - samples/sec: 65.71 - lr: 0.100000\n",
+ "2022-05-01 12:14:31,625 epoch 3 - iter 7/11 - loss 4.77397609 - samples/sec: 58.34 - lr: 0.100000\n",
+ "2022-05-01 12:14:32,143 epoch 3 - iter 8/11 - loss 4.61572361 - samples/sec: 61.89 - lr: 0.100000\n",
+ "2022-05-01 12:14:32,703 epoch 3 - iter 9/11 - loss 4.60090372 - samples/sec: 57.24 - lr: 0.100000\n",
+ "2022-05-01 12:14:33,404 epoch 3 - iter 10/11 - loss 4.70502276 - samples/sec: 45.69 - lr: 0.100000\n",
+ "2022-05-01 12:14:33,839 epoch 3 - iter 11/11 - loss 4.76321775 - samples/sec: 73.73 - lr: 0.100000\n",
+ "2022-05-01 12:14:33,840 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:14:33,840 EPOCH 3 done: loss 4.7632 - lr 0.1000000\n",
+ "2022-05-01 12:14:33,992 DEV : loss 7.209894180297852 - score 0.0\n",
+ "2022-05-01 12:14:33,993 BAD EPOCHS (no improvement): 1\n",
+ "2022-05-01 12:14:33,994 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:14:34,556 epoch 4 - iter 1/11 - loss 5.55247641 - samples/sec: 57.04 - lr: 0.100000\n",
+ "2022-05-01 12:14:35,078 epoch 4 - iter 2/11 - loss 5.08158088 - samples/sec: 61.42 - lr: 0.100000\n",
+ "2022-05-01 12:14:35,643 epoch 4 - iter 3/11 - loss 4.69475476 - samples/sec: 56.73 - lr: 0.100000\n",
+ "2022-05-01 12:14:36,270 epoch 4 - iter 4/11 - loss 4.78649628 - samples/sec: 51.16 - lr: 0.100000\n",
+ "2022-05-01 12:14:36,806 epoch 4 - iter 5/11 - loss 4.62873497 - samples/sec: 59.93 - lr: 0.100000\n",
+ "2022-05-01 12:14:37,419 epoch 4 - iter 6/11 - loss 4.70938087 - samples/sec: 52.29 - lr: 0.100000\n",
+ "2022-05-01 12:14:38,068 epoch 4 - iter 7/11 - loss 4.50588363 - samples/sec: 49.46 - lr: 0.100000\n",
+ "2022-05-01 12:14:38,581 epoch 4 - iter 8/11 - loss 4.36334288 - samples/sec: 62.50 - lr: 0.100000\n",
+ "2022-05-01 12:14:39,140 epoch 4 - iter 9/11 - loss 4.36617618 - samples/sec: 57.45 - lr: 0.100000\n",
+ "2022-05-01 12:14:39,780 epoch 4 - iter 10/11 - loss 4.37847199 - samples/sec: 50.16 - lr: 0.100000\n",
+ "2022-05-01 12:14:40,321 epoch 4 - iter 11/11 - loss 4.26116128 - samples/sec: 59.18 - lr: 0.100000\n",
+ "2022-05-01 12:14:40,323 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:14:40,324 EPOCH 4 done: loss 4.2612 - lr 0.1000000\n",
+ "2022-05-01 12:14:40,544 DEV : loss 5.882441997528076 - score 0.1714\n",
+ "2022-05-01 12:14:40,546 BAD EPOCHS (no improvement): 0\n",
+ "saving best model\n",
+ "2022-05-01 12:14:46,159 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:14:46,709 epoch 5 - iter 1/11 - loss 3.86370564 - samples/sec: 58.29 - lr: 0.100000\n",
+ "2022-05-01 12:14:47,349 epoch 5 - iter 2/11 - loss 3.80554891 - samples/sec: 50.08 - lr: 0.100000\n",
+ "2022-05-01 12:14:47,857 epoch 5 - iter 3/11 - loss 3.34506067 - samples/sec: 63.11 - lr: 0.100000\n",
+ "2022-05-01 12:14:48,579 epoch 5 - iter 4/11 - loss 3.88535106 - samples/sec: 44.38 - lr: 0.100000\n",
+ "2022-05-01 12:14:49,170 epoch 5 - iter 5/11 - loss 3.81894360 - samples/sec: 54.28 - lr: 0.100000\n",
+ "2022-05-01 12:14:49,708 epoch 5 - iter 6/11 - loss 4.18858314 - samples/sec: 59.53 - lr: 0.100000\n",
+ "2022-05-01 12:14:50,171 epoch 5 - iter 7/11 - loss 4.13974752 - samples/sec: 69.26 - lr: 0.100000\n",
+ "2022-05-01 12:14:50,593 epoch 5 - iter 8/11 - loss 4.01002905 - samples/sec: 75.98 - lr: 0.100000\n",
+ "2022-05-01 12:14:51,062 epoch 5 - iter 9/11 - loss 3.97078644 - samples/sec: 68.52 - lr: 0.100000\n",
+ "2022-05-01 12:14:51,508 epoch 5 - iter 10/11 - loss 3.94409857 - samples/sec: 71.91 - lr: 0.100000\n",
+ "2022-05-01 12:14:51,960 epoch 5 - iter 11/11 - loss 3.80738796 - samples/sec: 70.95 - lr: 0.100000\n",
+ "2022-05-01 12:14:51,961 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:14:51,963 EPOCH 5 done: loss 3.8074 - lr 0.1000000\n",
+ "2022-05-01 12:14:52,103 DEV : loss 5.224854469299316 - score 0.1667\n",
+ "2022-05-01 12:14:52,105 BAD EPOCHS (no improvement): 1\n",
+ "2022-05-01 12:14:52,106 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:14:52,616 epoch 6 - iter 1/11 - loss 3.51282573 - samples/sec: 62.91 - lr: 0.100000\n",
+ "2022-05-01 12:14:53,100 epoch 6 - iter 2/11 - loss 3.41601551 - samples/sec: 66.25 - lr: 0.100000\n",
+ "2022-05-01 12:14:53,513 epoch 6 - iter 3/11 - loss 3.08380787 - samples/sec: 77.76 - lr: 0.100000\n",
+ "2022-05-01 12:14:55,121 epoch 6 - iter 4/11 - loss 3.21056002 - samples/sec: 64.71 - lr: 0.100000\n",
+ "2022-05-01 12:14:55,665 epoch 6 - iter 5/11 - loss 3.30184879 - samples/sec: 58.88 - lr: 0.100000\n",
+ "2022-05-01 12:14:56,160 epoch 6 - iter 6/11 - loss 3.20993070 - samples/sec: 64.91 - lr: 0.100000\n",
+ "2022-05-01 12:14:56,670 epoch 6 - iter 7/11 - loss 3.14396119 - samples/sec: 62.91 - lr: 0.100000\n",
+ "2022-05-01 12:14:57,329 epoch 6 - iter 8/11 - loss 3.24591878 - samples/sec: 48.63 - lr: 0.100000\n",
+ "2022-05-01 12:14:57,958 epoch 6 - iter 9/11 - loss 3.31877112 - samples/sec: 51.03 - lr: 0.100000\n",
+ "2022-05-01 12:14:58,527 epoch 6 - iter 10/11 - loss 3.33475649 - samples/sec: 56.34 - lr: 0.100000\n",
+ "2022-05-01 12:14:58,989 epoch 6 - iter 11/11 - loss 3.23232636 - samples/sec: 69.41 - lr: 0.100000\n",
+ "2022-05-01 12:14:58,991 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:14:58,991 EPOCH 6 done: loss 3.2323 - lr 0.1000000\n",
+ "2022-05-01 12:14:59,178 DEV : loss 4.557621002197266 - score 0.2381\n",
+ "2022-05-01 12:14:59,180 BAD EPOCHS (no improvement): 0\n",
+ "saving best model\n",
+ "2022-05-01 12:15:25,844 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:15:26,423 epoch 7 - iter 1/11 - loss 2.71161938 - samples/sec: 55.36 - lr: 0.100000\n",
+ "2022-05-01 12:15:26,886 epoch 7 - iter 2/11 - loss 2.50157821 - samples/sec: 69.26 - lr: 0.100000\n",
+ "2022-05-01 12:15:27,347 epoch 7 - iter 3/11 - loss 2.78014056 - samples/sec: 69.56 - lr: 0.100000\n",
+ "2022-05-01 12:15:27,853 epoch 7 - iter 4/11 - loss 2.82983196 - samples/sec: 63.36 - lr: 0.100000\n",
+ "2022-05-01 12:15:28,393 epoch 7 - iter 5/11 - loss 2.84246483 - samples/sec: 59.37 - lr: 0.100000\n",
+ "2022-05-01 12:15:28,847 epoch 7 - iter 6/11 - loss 2.89787177 - samples/sec: 70.64 - lr: 0.100000\n",
+ "2022-05-01 12:15:29,338 epoch 7 - iter 7/11 - loss 2.74564961 - samples/sec: 65.30 - lr: 0.100000\n",
+ "2022-05-01 12:15:29,813 epoch 7 - iter 8/11 - loss 2.79853699 - samples/sec: 67.58 - lr: 0.100000\n",
+ "2022-05-01 12:15:30,364 epoch 7 - iter 9/11 - loss 2.89167126 - samples/sec: 58.18 - lr: 0.100000\n",
+ "2022-05-01 12:15:30,834 epoch 7 - iter 10/11 - loss 2.86527851 - samples/sec: 68.22 - lr: 0.100000\n",
+ "2022-05-01 12:15:31,296 epoch 7 - iter 11/11 - loss 2.82858575 - samples/sec: 69.41 - lr: 0.100000\n",
+ "2022-05-01 12:15:31,297 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:15:31,298 EPOCH 7 done: loss 2.8286 - lr 0.1000000\n",
+ "2022-05-01 12:15:31,462 DEV : loss 4.020608901977539 - score 0.3182\n",
+ "2022-05-01 12:15:31,463 BAD EPOCHS (no improvement): 0\n",
+ "saving best model\n",
+ "2022-05-01 12:15:38,431 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:15:38,979 epoch 8 - iter 1/11 - loss 3.28806710 - samples/sec: 58.61 - lr: 0.100000\n",
+ "2022-05-01 12:15:39,534 epoch 8 - iter 2/11 - loss 2.72140074 - samples/sec: 57.76 - lr: 0.100000\n",
+ "2022-05-01 12:15:40,061 epoch 8 - iter 3/11 - loss 2.77740423 - samples/sec: 60.89 - lr: 0.100000\n",
+ "2022-05-01 12:15:40,541 epoch 8 - iter 4/11 - loss 2.51573136 - samples/sec: 66.72 - lr: 0.100000\n",
+ "2022-05-01 12:15:41,109 epoch 8 - iter 5/11 - loss 2.54271443 - samples/sec: 56.53 - lr: 0.100000\n",
+ "2022-05-01 12:15:41,537 epoch 8 - iter 6/11 - loss 2.47530021 - samples/sec: 75.12 - lr: 0.100000\n",
+ "2022-05-01 12:15:42,078 epoch 8 - iter 7/11 - loss 2.62978831 - samples/sec: 59.26 - lr: 0.100000\n",
+ "2022-05-01 12:15:42,506 epoch 8 - iter 8/11 - loss 2.62844713 - samples/sec: 74.84 - lr: 0.100000\n",
+ "2022-05-01 12:15:42,988 epoch 8 - iter 9/11 - loss 2.61604464 - samples/sec: 66.59 - lr: 0.100000\n",
+ "2022-05-01 12:15:43,471 epoch 8 - iter 10/11 - loss 2.62512223 - samples/sec: 66.39 - lr: 0.100000\n",
+ "2022-05-01 12:15:43,895 epoch 8 - iter 11/11 - loss 2.64045010 - samples/sec: 75.65 - lr: 0.100000\n",
+ "2022-05-01 12:15:43,896 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:15:43,897 EPOCH 8 done: loss 2.6405 - lr 0.1000000\n",
+ "2022-05-01 12:15:44,036 DEV : loss 3.542769432067871 - score 0.3846\n",
+ "2022-05-01 12:15:44,038 BAD EPOCHS (no improvement): 0\n",
+ "saving best model\n",
+ "2022-05-01 12:15:51,672 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:15:52,235 epoch 9 - iter 1/11 - loss 1.73337626 - samples/sec: 56.99 - lr: 0.100000\n",
+ "2022-05-01 12:15:52,801 epoch 9 - iter 2/11 - loss 2.09788013 - samples/sec: 56.74 - lr: 0.100000\n",
+ "2022-05-01 12:15:53,288 epoch 9 - iter 3/11 - loss 2.24861153 - samples/sec: 65.84 - lr: 0.100000\n",
+ "2022-05-01 12:15:53,735 epoch 9 - iter 4/11 - loss 2.42630130 - samples/sec: 71.75 - lr: 0.100000\n",
+ "2022-05-01 12:15:54,189 epoch 9 - iter 5/11 - loss 2.42454610 - samples/sec: 70.64 - lr: 0.100000\n",
+ "2022-05-01 12:15:54,720 epoch 9 - iter 6/11 - loss 2.39987107 - samples/sec: 60.38 - lr: 0.100000\n",
+ "2022-05-01 12:15:55,192 epoch 9 - iter 7/11 - loss 2.29154910 - samples/sec: 67.94 - lr: 0.100000\n",
+ "2022-05-01 12:15:55,632 epoch 9 - iter 8/11 - loss 2.22984707 - samples/sec: 73.06 - lr: 0.100000\n",
+ "2022-05-01 12:15:56,162 epoch 9 - iter 9/11 - loss 2.32317919 - samples/sec: 60.49 - lr: 0.100000\n",
+ "2022-05-01 12:15:56,559 epoch 9 - iter 10/11 - loss 2.24865967 - samples/sec: 80.81 - lr: 0.100000\n",
+ "2022-05-01 12:15:56,986 epoch 9 - iter 11/11 - loss 2.27327953 - samples/sec: 75.12 - lr: 0.100000\n",
+ "2022-05-01 12:15:56,988 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:15:56,988 EPOCH 9 done: loss 2.2733 - lr 0.1000000\n",
+ "2022-05-01 12:15:57,130 DEV : loss 3.4634602069854736 - score 0.5517\n",
+ "2022-05-01 12:15:57,132 BAD EPOCHS (no improvement): 0\n",
+ "saving best model\n",
+ "2022-05-01 12:16:04,067 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:16:04,643 epoch 10 - iter 1/11 - loss 2.22972107 - samples/sec: 55.65 - lr: 0.100000\n",
+ "2022-05-01 12:16:05,144 epoch 10 - iter 2/11 - loss 2.20346498 - samples/sec: 64.00 - lr: 0.100000\n",
+ "2022-05-01 12:16:05,576 epoch 10 - iter 3/11 - loss 2.07501336 - samples/sec: 74.24 - lr: 0.100000\n",
+ "2022-05-01 12:16:06,036 epoch 10 - iter 4/11 - loss 2.09982607 - samples/sec: 69.72 - lr: 0.100000\n",
+ "2022-05-01 12:16:06,508 epoch 10 - iter 5/11 - loss 2.08048103 - samples/sec: 67.94 - lr: 0.100000\n",
+ "2022-05-01 12:16:07,062 epoch 10 - iter 6/11 - loss 2.08074635 - samples/sec: 57.87 - lr: 0.100000\n",
+ "2022-05-01 12:16:07,590 epoch 10 - iter 7/11 - loss 2.07187140 - samples/sec: 60.84 - lr: 0.100000\n",
+ "2022-05-01 12:16:08,116 epoch 10 - iter 8/11 - loss 2.10148455 - samples/sec: 60.95 - lr: 0.100000\n",
+ "2022-05-01 12:16:08,563 epoch 10 - iter 9/11 - loss 2.06198527 - samples/sec: 71.74 - lr: 0.100000\n",
+ "2022-05-01 12:16:09,066 epoch 10 - iter 10/11 - loss 2.00194792 - samples/sec: 63.75 - lr: 0.100000\n",
+ "2022-05-01 12:16:09,486 epoch 10 - iter 11/11 - loss 2.00801701 - samples/sec: 76.37 - lr: 0.100000\n",
+ "2022-05-01 12:16:09,487 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:16:09,488 EPOCH 10 done: loss 2.0080 - lr 0.1000000\n",
+ "2022-05-01 12:16:09,624 DEV : loss 3.1866908073425293 - score 0.4706\n",
+ "2022-05-01 12:16:09,625 BAD EPOCHS (no improvement): 1\n",
+ "2022-05-01 12:16:16,655 ----------------------------------------------------------------------------------------------------\n",
+ "2022-05-01 12:16:16,656 Testing using best model ...\n",
+ "2022-05-01 12:16:16,676 loading file slot-model\\best-model.pt\n",
+ "2022-05-01 12:16:22,739 0.4231\t0.3056\t0.3548\n",
+ "2022-05-01 12:16:22,740 \n",
+ "Results:\n",
+ "- F1-score (micro) 0.3548\n",
+ "- F1-score (macro) 0.2570\n",
+ "\n",
+ "By class:\n",
+ "area tp: 1 - fp: 1 - fn: 2 - precision: 0.5000 - recall: 0.3333 - f1-score: 0.4000\n",
+ "date tp: 0 - fp: 3 - fn: 3 - precision: 0.0000 - recall: 0.0000 - f1-score: 0.0000\n",
+ "goal tp: 2 - fp: 2 - fn: 8 - precision: 0.5000 - recall: 0.2000 - f1-score: 0.2857\n",
+ "interval tp: 0 - fp: 0 - fn: 1 - precision: 0.0000 - recall: 0.0000 - f1-score: 0.0000\n",
+ "quantity tp: 4 - fp: 1 - fn: 2 - precision: 0.8000 - recall: 0.6667 - f1-score: 0.7273\n",
+ "seats tp: 0 - fp: 1 - fn: 0 - precision: 0.0000 - recall: 0.0000 - f1-score: 0.0000\n",
+ "time tp: 1 - fp: 4 - fn: 5 - precision: 0.2000 - recall: 0.1667 - f1-score: 0.1818\n",
+ "title tp: 3 - fp: 3 - fn: 4 - precision: 0.5000 - recall: 0.4286 - f1-score: 0.4615\n",
+ "2022-05-01 12:16:22,740 ----------------------------------------------------------------------------------------------------\n"
+ ]
+ },
+ {
+ "data": {
+ "text/plain": [
+ "{'test_score': 0.3548387096774194,\n",
+ " 'dev_score_history': [0.0,\n",
+ " 0.06451612903225806,\n",
+ " 0.0,\n",
+ " 0.17142857142857143,\n",
+ " 0.16666666666666663,\n",
+ " 0.23809523809523808,\n",
+ " 0.3181818181818182,\n",
+ " 0.38461538461538464,\n",
+ " 0.5517241379310345,\n",
+ " 0.47058823529411764],\n",
+ " 'train_loss_history': [6.525583657351407,\n",
+ " 5.26294283433394,\n",
+ " 4.7632177526300605,\n",
+ " 4.261161284013228,\n",
+ " 3.807387958873402,\n",
+ " 3.2323263558474453,\n",
+ " 2.828585754741322,\n",
+ " 2.6404500982978125,\n",
+ " 2.2732795260169287,\n",
+ " 2.0080170089548286],\n",
+ " 'dev_loss_history': [8.419286727905273,\n",
+ " 7.168168544769287,\n",
+ " 7.209894180297852,\n",
+ " 5.882441997528076,\n",
+ " 5.224854469299316,\n",
+ " 4.557621002197266,\n",
+ " 4.020608901977539,\n",
+ " 3.542769432067871,\n",
+ " 3.4634602069854736,\n",
+ " 3.1866908073425293]}"
+ ]
+ },
+ "execution_count": 31,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "trainer = ModelTrainer(tagger, corpus)\n",
+ "trainer.train('slot-model',\n",
+ " learning_rate=0.1,\n",
+ " mini_batch_size=32,\n",
+ " max_epochs=10,\n",
+ " train_with_dev=False)"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Jakość wyuczonego modelu możemy ocenić, korzystając z zaraportowanych powyżej metryk, tj.:\n",
+ "\n",
+ " - *tp (true positives)*\n",
+ "\n",
+ " > liczba słów oznaczonych w zbiorze testowym etykietą $e$, które model oznaczył tą etykietą\n",
+ "\n",
+ " - *fp (false positives)*\n",
+ "\n",
+ " > liczba słów nieoznaczonych w zbiorze testowym etykietą $e$, które model oznaczył tą etykietą\n",
+ "\n",
+ " - *fn (false negatives)*\n",
+ "\n",
+ " > liczba słów oznaczonych w zbiorze testowym etykietą $e$, którym model nie nadał etykiety $e$\n",
+ "\n",
+ " - *precision*\n",
+ "\n",
+ " > $$\\frac{tp}{tp + fp}$$\n",
+ "\n",
+ " - *recall*\n",
+ "\n",
+ " > $$\\frac{tp}{tp + fn}$$\n",
+ "\n",
+ " - $F_1$\n",
+ "\n",
+ " > $$\\frac{2 \\cdot precision \\cdot recall}{precision + recall}$$\n",
+ "\n",
+ " - *micro* $F_1$\n",
+ "\n",
+ " > $F_1$ w którym $tp$, $fp$ i $fn$ są liczone łącznie dla wszystkich etykiet, tj. $tp = \\sum_{e}{{tp}_e}$, $fn = \\sum_{e}{{fn}_e}$, $fp = \\sum_{e}{{fp}_e}$\n",
+ "\n",
+ " - *macro* $F_1$\n",
+ "\n",
+ " > średnia arytmetyczna z $F_1$ obliczonych dla poszczególnych etykiet z osobna.\n",
+ "\n",
+ "Wyuczony model możemy wczytać z pliku korzystając z metody `load`."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 32,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "2022-05-01 12:16:22,953 loading file slot-model/final-model.pt\n"
+ ]
+ }
+ ],
+ "source": [
+ "model = SequenceTagger.load('slot-model/final-model.pt')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Wczytany model możemy wykorzystać do przewidywania slotów w wypowiedziach użytkownika, korzystając\n",
+ "z przedstawionej poniżej funkcji `predict`."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 69,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "[('kiedy', 'O'), ('gracie', 'O'), ('film', 'O'), ('zorro', 'B-title')]"
+ ]
+ },
+ "execution_count": 69,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "def predict(model, sentence):\n",
+ " csentence = [{'form': word} for word in sentence]\n",
+ " fsentence = conllu2flair([csentence])[0]\n",
+ " model.predict(fsentence)\n",
+ " return [(token, ftoken.get_tag('slot').value) for token, ftoken in zip(sentence, fsentence)]\n",
+ "\n",
+ "predict(model, 'kiedy gracie film zorro'.split())"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Jak pokazuje przykład poniżej model wyuczony tylko na 100 przykładach popełnia w dosyć prostej\n",
+ "wypowiedzi błąd etykietując słowo `alarm` tagiem `B-weather/noun`."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 68,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "kiedy | O |
\n",
+ "gracie | O |
\n",
+ "film | O |
\n",
+ "zorro | B-title |
\n",
+ "\n",
+ "
"
+ ],
+ "text/plain": [
+ "'\\n\\nkiedy | O |
\\ngracie | O |
\\nfilm | O |
\\nzorro | B-title |
\\n\\n
'"
+ ]
+ },
+ "execution_count": 68,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "tabulate(predict(model, 'kiedy gracie film zorro'.split()), tablefmt='html')"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "Literatura\n",
+ "----------\n",
+ " 1. Sebastian Schuster, Sonal Gupta, Rushin Shah, Mike Lewis, Cross-lingual Transfer Learning for Multilingual Task Oriented Dialog. NAACL-HLT (1) 2019, pp. 3795-3805\n",
+ " 2. John D. Lafferty, Andrew McCallum, and Fernando C. N. Pereira. 2001. Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data. In Proceedings of the Eighteenth International Conference on Machine Learning (ICML '01). Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 282–289, https://repository.upenn.edu/cgi/viewcontent.cgi?article=1162&context=cis_papers\n",
+ " 3. Sepp Hochreiter and Jürgen Schmidhuber. 1997. Long Short-Term Memory. Neural Comput. 9, 8 (November 15, 1997), 1735–1780, https://doi.org/10.1162/neco.1997.9.8.1735\n",
+ " 4. Ashish Vaswani, Noam Shazeer, Niki Parmar, Jakob Uszkoreit, Llion Jones, Aidan N. Gomez, Lukasz Kaiser, Illia Polosukhin, Attention is All you Need, NIPS 2017, pp. 5998-6008, https://arxiv.org/abs/1706.03762\n",
+ " 5. Alan Akbik, Duncan Blythe, Roland Vollgraf, Contextual String Embeddings for Sequence Labeling, Proceedings of the 27th International Conference on Computational Linguistics, pp. 1638–1649, https://www.aclweb.org/anthology/C18-1139.pdf\n"
+ ]
+ }
+ ],
+ "metadata": {
+ "author": "Marek Kubis",
+ "email": "mkubis@amu.edu.pl",
+ "interpreter": {
+ "hash": "2be5faf79681da6f2a61fdfdd5405d65d042280f7fba6178067603e3a2925119"
+ },
+ "jupytext": {
+ "cell_metadata_filter": "-all",
+ "main_language": "python",
+ "notebook_metadata_filter": "-all"
+ },
+ "kernelspec": {
+ "display_name": "Python 3.10.4 64-bit",
+ "language": "python",
+ "name": "python3"
+ },
+ "lang": "pl",
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.8.3"
+ },
+ "subtitle": "8.Parsing semantyczny z wykorzystaniem technik uczenia maszynowego[laboratoria]",
+ "title": "Systemy Dialogowe",
+ "year": "2021"
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}
diff --git a/src/components/DP.py b/src/components/DP.py
new file mode 100644
index 0000000..7f5feed
--- /dev/null
+++ b/src/components/DP.py
@@ -0,0 +1,11 @@
+# Martyna
+class DP:
+
+ def __init__(self, slots):
+ self.slots = slots
+
+ def getAct(slots):
+ # iterate over slots
+ # find empty
+ # returns system act
+ pass
\ No newline at end of file
diff --git a/src/components/DST.py b/src/components/DST.py
new file mode 100644
index 0000000..1e99228
--- /dev/null
+++ b/src/components/DST.py
@@ -0,0 +1,22 @@
+# Adrian
+class DST:
+ def __init__(self, slots):
+ self.slots = slots
+
+ def getDialogueState(self, userActs):
+ # iterate over speech acts
+ if userActs['act'] == 'book':
+ if userActs['slots']:
+ for (k, v) in userActs['slots']:
+ print(k)
+ if k in self.slots:
+ self.slots[k] = v
+
+ # returns all slots
+ return self.slots
+
+
+#dst = DST()
+# userActs = {'inform': {'name': 'edyta', 'age': 18}, 'reqmore': {'date', 'time'}}
+#ivona_acts = {'act': 'book', 'slots': [('name', 'ewa'), ('hour', 'dziesiÄ…ta'), ('size', 'trzech')]}
+#print(dst.getDialogueState(ivona_acts))
diff --git a/src/components/NLG.py b/src/components/NLG.py
new file mode 100644
index 0000000..c142988
--- /dev/null
+++ b/src/components/NLG.py
@@ -0,0 +1,7 @@
+# Mikolaj
+class NLG:
+ def __self__(self):
+ pass
+
+ def getResponse(systemAct):
+ return "Witaj, nazywam siÄ™ Nachos.\n"
\ No newline at end of file
diff --git a/src/components/NLU.py b/src/components/NLU.py
new file mode 100644
index 0000000..fd2665b
--- /dev/null
+++ b/src/components/NLU.py
@@ -0,0 +1,43 @@
+import re
+from flair.data import Sentence, Token
+from flair.datasets import SentenceDataset
+from flair.models import SequenceTagger
+
+class NLU:
+
+ def __init__(self):
+ self.nluModel = SequenceTagger.load('./lab/slot-model/final-model.pt')
+
+ def predict(self, sentence):
+ sentence = self.getStrCleaned(sentence)
+ csentence = [{'form': word} for word in sentence]
+ fsentence = self.conllu2flair([csentence])[0]
+ self.nluModel.predict(fsentence)
+ return [(token, ftoken.get_tag('slot').value) for token, ftoken in zip(sentence, fsentence)]
+
+ def conllu2flair(self, sentences, label=None):
+ fsentences = []
+
+ for sentence in sentences:
+ fsentence = Sentence()
+
+ for token in sentence:
+ ftoken = Token(token['form'])
+
+ if label:
+ ftoken.add_tag(label, token[label])
+
+ fsentence.add_token(ftoken)
+
+ fsentences.append(fsentence)
+
+ return SentenceDataset(fsentences)
+
+ def getStrCleaned(self, rawMessage):
+ # / and : is needed for date and time recognition
+ punctuation = '!"#$%&\'()*+,-.;<=>?@[\\\\]^_`{|}~'
+ messageLower = rawMessage.lower()
+ # new_str = re.sub(' +', ' ', new_str)
+ for char in punctuation:
+ messageLower = messageLower.replace(char,'')
+ return messageLower.split()
\ No newline at end of file
diff --git a/src/dialogue_system.py b/src/dialogue_system.py
new file mode 100644
index 0000000..b8b6b50
--- /dev/null
+++ b/src/dialogue_system.py
@@ -0,0 +1,36 @@
+from components.NLU import NLU
+from components.NLG import NLG
+from components.DST import DST
+
+slots = [
+ ("title", None),
+ ("date", None),
+ ("time", None),
+ ("quantity", None),
+ ("seats", None),
+ ("goal", None),
+ ("area", None),
+ ("interval", None),
+]
+
+def chatbot():
+
+ isActive = True
+
+ # NLU
+ nlu = NLU()
+
+ # hello message
+ print("wpisz /exit aby zakończyć")
+ print("Witaj w systemie kinowym Nachos, w czym mogę Ci pomóc?")
+
+ # main loop
+ while isActive:
+ userMessage = input("$")
+ if userMessage == "/exit":
+ print("Do usłyszenia")
+ isActive = False
+ else:
+ nluPred = nlu.predict(sentence=userMessage)
+ print(nluPred)
+chatbot()
\ No newline at end of file
diff --git a/tasks/zad5/Readme.md b/tasks/zad5/Readme.md
index 6a05a17..75c7481 100644
--- a/tasks/zad5/Readme.md
+++ b/tasks/zad5/Readme.md
@@ -1,17 +1,21 @@
# Slots
-|slot | desc |sample
-|-------------:|:------------------------------:|:-----
-|title | movie title | Batman OR Zorro 3
-|date | when user want to watch a movie| 2022-04-06
-|time | play time | 20:30
-|quantity | number of tickets | 2 OR two
-|location | location of cinema | Poznań Plaza OR Multikino 51
-|seats | what seats are reserved | [h1, h2, h3]
-|reservation_id| reservation number | 32453758
-|goal | users goal in system | reservation OR cancel
-|area | preferred place to sit | [front, middle] OR [random, aisle]
-|tickets_type | tickets types and quantities | [normal, 1] OR [[student, 2], [normal, 1]]
+|slot | desc |sample
+|-----------------:|:-------------------------------:|:-----
+| title | movie title | Batman OR Zorro 3
+| date | when user want to watch a movie | 2022-04-06
+| time | play time | 20:30
+| quantity | number of tickets | 2 OR two
+| seats | what seats are reserved | [h1, h2, h3]
+| area | preferred place to sit | [front, middle] OR [random, aisle]
+| interval | time interval | w tym tygodniu OR w następnym tygodniu
+| goal | users goal in system | chciałbym zarezerwować(opcjonalne) OR jakie filmy gracie
+| tickets_type - | tickets types and quantities | [normal, 1] OR [[student, 2], [normal, 1]]
+| location - | location of cinema | Poznań Plaza OR Multikino 51
+| reservation_id - | reservation number | 32453758
+
+
+
# Speech acts systemu
diff --git a/tasks/zad8/pl/annotate.py b/tasks/zad8/pl/annotate.py
new file mode 100644
index 0000000..2e7be6a
--- /dev/null
+++ b/tasks/zad8/pl/annotate.py
@@ -0,0 +1,284 @@
+import pandas as pd
+import regex as re
+
+# sample values
+
+titles = [
+ "batmana",
+ "batman",
+ "na noże",
+ "zorro",
+ "transformer",
+ "podróż na księżyc",
+ "krzyk",
+ "to nie wypanda",
+ "inni ludzie",
+ "ambulans",
+ "uncharted",
+ "nasze magiczne encanto"
+ "zorro - jak to było na prawdę",
+ "fdantastyczne zwierznera",
+ "cud guadlupe",
+ "piosenki o miłości",
+ "cud Guadalupe",
+ "historia mojej żony",
+ "matki równoległe",
+ "wielka wolność",
+ "najgorszy człowiek na świecie",
+ "inni ludzie",
+ ]
+
+dates = [
+ "w najbliższy poniedziałek",
+ "w najbliższy wtorek",
+ "w najbliższą środę",
+ "w najbliższy czwartek",
+ "w najbliższy piątek",
+ "w najbliższą sobotę",
+ "w najbliższą niedzielę",
+ "w poniedziałek",
+ "we wtorek",
+ "w środę",
+ "w czwartek",
+ "w piÄ…tek",
+ "w sobotÄ™",
+ "w niedzielÄ™",
+ "na najbliższy poniedziałek",
+ "na najbliższy wtorek",
+ "na najbliższą środę",
+ "na najbliższy czwartek",
+ "na najbliższy piątek",
+ "na najbliższą sobotę",
+ "na najbliższą niedzielę",
+ "najbliższy poniedziałek",
+ "najbliższy wtorek",
+ "najbliższa środa",
+ "najbliższy czwartek",
+ "najbliższy piątek",
+ "najbliższa sobota",
+ "najbliższa niedziela",
+ "na jutro",
+ "jutro",
+ "w dniu jutrzejszym",
+ "po jutrze",
+ "pojutrze",
+ "za dwa dni",
+ "za trzy dni",
+ "za tydzień",
+ "dzisiaj",
+ "dziÅ›",
+ r"na dzień [0-9]{1,2}[ /][0-9]{1,2}",
+ r"na [0-9]{1,2}[ /][0-9]{1,2}",
+ r"dzień [0-9]{1,2}[ /][0-9]{1,2}",
+ r"dnia [0-9]{1,2}[ /][0-9]{1,2}",
+ r"[0-9]{1,2}[ /][0-9]{1,2}",
+ ]
+
+times = [
+ r"wybieram: [0-9]{1,2}[:][0-9]{1,2}",
+ r"wybieram [0-9]{1,2}[:][0-9]{1,2}",
+ r"na godzinÄ™ [0-9]{1,2}[:][0-9]{1,2}",
+ r"na godzina [0-9]{1,2}[:][0-9]{1,2}",
+ r"o godzinie [0-9]{1,2}[:][0-9]{1,2}",
+ r"o [0-9]{1,2}[:][0-9]{1,2}",
+ r"o [0-9]{2}",
+ r"na [0-9]{1,2}",
+ r"na [0-9]{1,2}[:][0-9]{1,2}",
+ r"godzina [0-9]{1,2}[:][0-9]{1,2}",
+ r"[0-9]{1,2}[:][0-9]{1,2}",
+ "rano",
+ "wieczorem",
+ "w południe",
+ "po południu",
+ "popołudniu",
+ "w nocy",
+ "pierwszÄ…",
+ "drugÄ…",
+ "trzeciÄ…",
+ "piÄ…tÄ…",
+ "szóstą",
+ "siódmą",
+ "ósmą",
+ "dziewiatÄ…",
+ "dziesiÄ…tÄ…",
+ "jedenastÄ…",
+ "dwunastÄ…",
+ "trzynastÄ…",
+ "czternastÄ…",
+ "piętnastą",
+ "szesnastÄ…",
+ "siedemnastÄ…",
+ "osiemnastÄ…",
+ "dziewiętnastą",
+ "dwudziestÄ… pierwszÄ…",
+ "dwudziestÄ… drugÄ…",
+ "dwudziestÄ… trzeciÄ…",
+ "dwudziestÄ… czwartÄ…",
+ "o północy"
+ ]
+
+quantities = [
+ r"chcÄ™ [1-9][0-9]{0,1}",
+ r"poproszÄ™ [1-9][0-9]{0,1}",
+ r"[1-9][0-9]{0,1}",
+]
+
+seats = [
+ r'[a-zA-Z][0-9]{1,2} [a-zA-Z][0-9]{1,2} [a-zA-Z][0-9]{1,2} [a-zA-Z][0-9]{1,2} [a-zA-Z][0-9]{1,2}',
+ r'[a-zA-Z][0-9]{1,2} [a-zA-Z][0-9]{1,2} [a-zA-Z][0-9]{1,2} [a-zA-Z][0-9]{1,2}',
+ r'[a-zA-Z][0-9]{1,2} [a-zA-Z][0-9]{1,2} [a-zA-Z][0-9]{1,2}',
+ r'[a-zA-Z][0-9]{1,2} [a-zA-Z][0-9]{1,2}',
+ r'[a-zA-Z][0-9]{1,2}',
+ r'[a-zA-Z][0-9]{1,2},[a-zA-Z][0-9]{1,2},[a-zA-Z][0-9]{1,2},[a-zA-Z][0-9]{1,2},[a-zA-Z][0-9]{1,2}',
+ r'[a-zA-Z][0-9]{1,2},[a-zA-Z][0-9]{1,2},[a-zA-Z][0-9]{1,2},[a-zA-Z][0-9]{1,2}',
+ r'[a-zA-Z][0-9]{1,2},[a-zA-Z][0-9]{1,2},[a-zA-Z][0-9]{1,2}',
+ r'[a-zA-Z][0-9]{1,2},[a-zA-Z][0-9]{1,2}',
+ r'[a-zA-Z][0-9]{1,2}, [a-zA-Z][0-9]{1,2}, [a-zA-Z][0-9]{1,2}, [a-zA-Z][0-9]{1,2}, [a-zA-Z][0-9]{1,2}',
+ r'[a-zA-Z][0-9]{1,2}, [a-zA-Z][0-9]{1,2}, [a-zA-Z][0-9]{1,2}, [a-zA-Z][0-9]{1,2}',
+ r'[a-zA-Z][0-9]{1,2}, [a-zA-Z][0-9]{1,2}, [a-zA-Z][0-9]{1,2}',
+ r'[a-zA-Z][0-9]{1,2}, [a-zA-Z][0-9]{1,2}',
+]
+
+areas = [
+ "u góry po prawej",
+ "u góry po lewej",
+ "u góry na środku",
+ "na środku po prawej",
+ "na środku po lewej",
+ "na dole po prawej",
+ "na dole po lewej",
+ "na dole na środku",
+ "po lewej",
+ "po prawej",
+ "na środku",
+ "lewo",
+ "prawo",
+ "środek",
+ "blisko od ekranu",
+ "daleko od ekranu",
+ "blisko ekranu",
+ "daleko ekranu",
+]
+
+# slots names
+slots = [
+ "title",
+ "date",
+ "time",
+ "quantity",
+ "seats",
+ "area"
+ ]
+
+def removePunctation(text):
+ return re.sub(r'[!@#$,\"\'\?\'\"\|.]', '', text)
+
+def dummyTextAnnotation(text, sampelValuesList, slotName):
+ textJoin = text
+ for sampleValue in sampelValuesList:
+ if re.search(r"(^|\s)" + sampleValue + r"($|\s)", textJoin):
+ textJoin = re.sub(r'(^|\s)(' + sampleValue + r')($|\s)', f"\g<1> **/start** {slotName} \g<2> **/end** \g<3>", textJoin)
+ break # can one sentence has only one slot of a given type?
+ return textJoin
+
+def parseAnnotation(text, intent, textLen, cleanText, isTest, pathOut):
+ textTokenize = text.split()
+ slotLabel = ""
+ col1 = [i for i in range(1, textLen + 1)]
+ col2 = []
+ col3 = [intent for _ in range(textLen)]
+ col4 = []
+ isSlot = False
+ slotVal = None
+ annotation = ""
+ i = 0
+ while i < len(textTokenize):
+ if textTokenize[i] == "**/start**":
+ isSlot = True
+ slotVal = textTokenize[i + 1]
+ if len(slotLabel) > 0:
+ slotLabel += f','
+ i += 2
+ annotation = "B-"
+ elif textTokenize[i] == "**/end**":
+ isSlot = False
+ slotLabel += ":" + slotVal
+ slotVal = None
+ i += 1
+ elif isSlot:
+ slotLabel += textTokenize[i]
+ col2.append(textTokenize[i])
+ col4.append(annotation + slotVal)
+ annotation = "I-"
+ i += 1
+ elif not isSlot:
+ col2.append(textTokenize[i])
+ col4.append("NoLabel")
+ i += 1
+ df = pd.DataFrame(list(zip(col1, col2, col3, col4)))
+ path = ""
+ if isTest: path = pathOut + 'test.conllu'
+ else: path = pathOut + 'train.conllu'
+ with open(path, "a", encoding="utf-8") as outputFile:
+ outputFile.write(f"# text: {cleanText}\n# intent: {intent}\n# slots: {slotLabel}\n")
+ df.to_csv(path, header=None, index=None, sep='\t', mode='a')
+ with open(path, "a", encoding="utf-8") as outputFile:
+ outputFile.write(f"\n")
+
+
+def processFile(pathIn, pathOut, fileName, isTest):
+ # path = './data/dialog-16-01-01.tsv'
+ encoding = "utf-8"
+ # encoding = "cp1250"
+ dialog_df = pd.read_csv(pathIn + fileName, sep='\t', header=None, encoding=encoding)
+
+ dialog_df = dialog_df.reset_index() # make sure indexes pair with number of rows
+ for _, row in dialog_df.iterrows():
+ if row[0].strip() == "user":
+ text = removePunctation(row[1]).lower()
+
+ # movies annotation
+ annotatedText = dummyTextAnnotation(text, titles, slots[0])
+
+ # dates annotation
+ annotatedText = dummyTextAnnotation(annotatedText, dates, slots[1])
+
+ # time
+ annotatedText = dummyTextAnnotation(annotatedText, times, slots[2])
+
+ # quantity
+ annotatedText = dummyTextAnnotation(annotatedText, quantities, slots[3])
+
+ # seats
+ annotatedText = dummyTextAnnotation(annotatedText, seats, slots[4])
+
+ # area
+ annotatedText = dummyTextAnnotation(annotatedText, areas, slots[5])
+
+ parseAnnotation(annotatedText, row[2], len(row[1].split()), text, isTest, pathOut)
+
+ # dialog_df.to_csv(pathOut + "test.conllu", sep="\t", index=False, header=None)
+
+def annotateData():
+ pathOut = './tasks/zad8/pl/'
+ pathIn = "./data/clean/"
+ i = 0
+ j = 0
+ nr = 0
+ for i in range(16,20):
+ for j in range(20):
+ for nr in range(1,5):
+ fileName = "dialog-" + str(i).zfill(2) + "-" + str(j).zfill(2) + "-" + str(nr).zfill(2) + ".tsv"
+ try:
+ processFile(pathIn, pathOut, fileName, False)
+ except:
+ pass
+ try:
+ fileName = "dialog-" + str(i).zfill(2) + "-" + str(j).zfill(2) + "-" + str(nr).zfill(2) + "(test)" + ".tsv"
+ processFile(pathIn, pathOut, fileName, True)
+ except:
+ pass
+# annotateData()
+processFile("./data/clean/", './tasks/zad8/pl/', "newUserQuestions.tsv", isTest=False)
+# testText = "dobrze dokonano rezerwacji na film transformer numer twojej rezeracji to 123890"
+# print(dummyTextAnotation(testText, sampelValuesList=titles, slotName=slots[0]))
\ No newline at end of file
diff --git a/tasks/zad8/pl/cleanData.py b/tasks/zad8/pl/cleanData.py
new file mode 100644
index 0000000..c18c4a9
--- /dev/null
+++ b/tasks/zad8/pl/cleanData.py
@@ -0,0 +1,48 @@
+import pandas as pd
+import regex
+
+# cleans our data
+# extracts intents for lab8 from dtsv files with dialogues
+def removeParenthesis(text):
+ resultText = ""
+ leftParCount = 0
+ for letter in text:
+ if letter == "(": leftParCount += 1
+ if (leftParCount == 0):
+ resultText += letter
+ if letter == ")": leftParCount -= 1
+ return resultText
+
+def processFile(pathIn, pathOut, fileName):
+ # path = './data/dialog-16-01-01.tsv'
+ encoding = "utf-8"
+ # encoding = "cp1250"
+ dialog_df = pd.read_csv(pathIn + fileName, sep='\t', header=None, encoding=encoding)
+ dialog_df.iloc[:,2] = dialog_df.iloc[:,2].apply(lambda x : removeParenthesis(str(x)))
+ dialog_df.iloc[:,2] = dialog_df.iloc[:,2].apply(lambda x : regex.sub(r"( & |&| AND |AND)", " ", str(x)))
+ dialog_df.iloc[:,2] = dialog_df.iloc[:,2].apply(lambda x : " ".join(list(set(x.split()))))
+ dialog_df.to_csv(pathOut + fileName, sep="\t", index=False, header=None)
+
+def cleanAllData():
+ pathOut = './data/clean/'
+ pathIn = "./data/"
+ i = 0
+ j = 0
+ nr = 0
+ for i in range(16,20):
+ for j in range(20):
+ for nr in range(1,5):
+ fileName = "dialog-" + str(i).zfill(2) + "-" + str(j).zfill(2) + "-" + str(nr).zfill(2) + ".tsv"
+ try:
+ processFile(pathIn, pathOut, fileName)
+ except:
+ pass
+ try:
+ fileName = "dialog-" + str(i).zfill(2) + "-" + str(j).zfill(2) + "-" + str(nr).zfill(2) + "(test)" + ".tsv"
+ processFile(pathIn, pathOut, fileName)
+ except:
+ pass
+
+cleanAllData()
+
+#processFile("./data/", './data/clean/', 'dialog-16-09-01.tsv')
\ No newline at end of file
diff --git a/tasks/zad8/pl/test.conllu b/tasks/zad8/pl/test.conllu
new file mode 100644
index 0000000..4674a20
--- /dev/null
+++ b/tasks/zad8/pl/test.conllu
@@ -0,0 +1,263 @@
+# text: dzień dobry
+# intent: hello
+# slots:
+1 dzień hello NoLabel
+2 dobry hello NoLabel
+
+# text: jakie filmy sÄ… w tym tygodniu w repertuarze
+# intent: reqmore
+# slots: jakiefilmy:goal,wtymtygodniu:interval
+1 jakie reqmore B-goal
+2 filmy reqmore I-goal
+3 sÄ… reqmore NoLabel
+4 w reqmore B-interval
+5 tym reqmore I-interval
+6 tygodniu reqmore I-interval
+7 w reqmore NoLabel
+8 repertuarze reqmore NoLabel
+
+# text: o której godzinie w piątek mogę zobaczyć na noże
+# intent: reqmore inform
+# slots: októrejgodzinie:goal,wpiątek:date,nanoże:title
+1 o reqmore inform B-goal
+2 której reqmore inform I-goal
+3 godzinie reqmore inform I-goal
+4 w reqmore inform NoLabel
+5 piÄ…tek reqmore inform B-date
+6 mogÄ™ reqmore inform NoLabel
+7 zobaczyć reqmore inform NoLabel
+8 na reqmore inform B-title
+9 noże reqmore inform I-title
+
+# text: ok w takim razie chciałbym zarezerwować 2 miejsca na seans o 19:30
+# intent: inform
+# slots: zarezerwować:goal,2:quantity,o19:30:time
+1 ok inform NoLabel
+2 w inform NoLabel
+3 takim inform NoLabel
+4 razie inform NoLabel
+5 chciałbym inform NoLabel
+6 zarezerwować inform B-goal
+7 2 inform B-quantity
+8 miejsca inform NoLabel
+9 na inform NoLabel
+10 seans inform NoLabel
+11 o inform NoLabel
+12 19:30 inform B-time
+
+# text: dwa normalne
+# intent: inform
+# slots: dwa:quantity
+1 dwa inform B-quantity
+2 normalne inform NoLabel
+
+# text: mogą być
+# intent: ack
+# slots:
+1 mogÄ… ack NoLabel
+2 być ack NoLabel
+
+# text: dziękuje bardzo
+# intent: bye
+# slots:
+1 dziękuje bye NoLabel
+2 bardzo bye NoLabel
+
+# text: witam
+# intent: hello
+# slots:
+1 witam hello NoLabel
+
+# text: chciałbym zarezerować dwa bilety na batman
+# intent: inform
+# slots: zarezerować:goal,dwa:quantity,batman:title
+1 chciałbym inform NoLabel
+2 zarezerować inform B-goal
+3 dwa inform B-quantity
+4 bilety inform NoLabel
+5 na inform NoLabel
+6 batman inform B-title
+
+# text: a kiedy jest najbliższy seans
+# intent: inform
+# slots: kiedyjestnajbliższyseans:goal
+1 a inform NoLabel
+2 kiedy inform B-goal
+3 jest inform I-goal
+4 najbliższy inform I-goal
+5 seans inform I-goal
+
+# text: to poproszÄ™ trzy bilety na batmana o 15:30
+# intent: inform
+# slots: poproszętrzy:quantity,batmana:title,o15:30:time
+1 to inform NoLabel
+2 poproszÄ™ inform B-quantity
+3 trzy inform I-quantity
+4 bilety inform NoLabel
+5 na inform NoLabel
+6 batmana inform B-title
+7 o inform NoLabel
+8 15:30 inform B-time
+
+# text: na samym tyle sali
+# intent: inform
+# slots: nasamymtyle:area
+1 na inform B-area
+2 samym inform I-area
+3 tyle inform I-area
+4 sali inform I-area
+
+# text: dziękuję
+# intent: thankyou
+# slots:
+1 dziękuję thankyou NoLabel
+
+# text: hej
+# intent: hello
+# slots:
+1 hej hello NoLabel
+
+# text: chciałbym kupić bilety na seans zorro - jak to było na prawdę
+# intent: inform
+# slots: zorro:title
+1 chciałbym inform NoLabel
+2 kupić inform NoLabel
+3 bilety inform NoLabel
+4 na inform NoLabel
+5 seans inform NoLabel
+6 zorro inform B-title
+7 - inform NoLabel
+8 jak inform NoLabel
+9 to inform NoLabel
+10 było inform NoLabel
+11 na inform NoLabel
+12 prawdÄ™ inform NoLabel
+
+# text: zorro2
+# intent: inform
+# slots: zorro2:title
+1 zorro2 inform B-title
+
+# text: poproszę o listę seansów
+# intent: reqmore
+# slots: listęseansów:goal
+1 poproszÄ™ reqmore NoLabel
+2 o reqmore NoLabel
+3 listÄ™ reqmore B-goal
+4 seansów reqmore I-goal
+
+# text: poproszę o listę filmów granych jutro wieczorem
+# intent: reqmore inform
+# slots: listęfilmów:goal,jutro:date,wieczorem:time
+1 poproszÄ™ reqmore inform NoLabel
+2 o reqmore inform NoLabel
+3 listÄ™ reqmore inform B-goal
+4 filmów reqmore inform B-goal
+5 granych reqmore inform NoLabel
+6 jutro reqmore inform B-date
+7 wieczorem reqmore inform B-time
+
+# text: chciałbym kupić bilety na film to nie wypanda
+# intent: inform
+# slots: kupić:goal,toniewypanda:title
+1 chciałbym inform NoLabel
+2 kupić inform B-goal
+3 bilety inform NoLabel
+4 na inform NoLabel
+5 film inform NoLabel
+6 to inform B-title
+7 nie inform I-title
+8 wypada inform I-title
+
+# text: 20:15
+# intent: inform
+# slots: 20:15:time
+1 20:15 inform B-time
+
+# text: 11
+# intent: inform
+# slots: 11:quantity
+1 11 inform B-quantity
+
+# text: w środku pomiedzy górnym i środkowym rzędem
+# intent: nan
+# slots: wśrodkupomiedzygórnymiśrodkowymrzędem:area
+1 w null B-area
+2 środku null I-area
+3 pomiedzy null I-area
+4 górnym null I-area
+5 i null I-area
+6 środkowym null I-area
+7 rzędem null I-area
+
+# text: <3
+# intent: thankyou
+# slots:
+1 <3 thankyou NoLabel
+
+# text: dzień dobry
+# intent: hello
+# slots:
+1 dzień hello NoLabel
+2 dobry hello NoLabel
+
+# text: chciał bym zamówić bilet na film minionki dzisiaj o 18:30
+# intent: inform
+# slots: dzisiaj:date,minionki:title,18:30:time
+1 chciał inform NoLabel
+2 bym inform NoLabel
+3 zamówić inform NoLabel
+4 bilet inform NoLabel
+5 na inform NoLabel
+6 film inform NoLabel
+7 minionki inform B-title
+8 dzisiaj inform B-date
+9 o inform NoLabel
+10 18:30 inform B-time
+
+# text: czy jest jakis film o godzinie 18:30
+# intent: request
+# slots: jestjakisfilm:goal,18:30:time
+1 czy request NoLabel
+2 jest request B-goal
+3 jakis request I-goal
+4 film request I-goal
+5 o request NoLabel
+6 godzinie request NoLabel
+7 18:30 request B-time
+
+# text: niech będzie
+# intent: ack
+# slots:
+1 niech ack NoLabel
+2 będzie ack NoLabel
+
+# text: 1
+# intent: inform
+# slots: 1:quantity
+1 1 inform B-quantity
+
+# text: jakie sš dostępne ulgi
+# intent: nan
+# slots:
+1 jakie NoLabel
+2 sš NoLabel
+3 dostępne NoLabel
+4 ulgi NoLabel
+
+# text: studencka
+# intent: inform
+# slots:
+1 studencka inform NoLabel
+
+# text: daleko od ekranu
+# intent: inform
+# slots: dalekoodekranu:area
+1 daleko inform B-area
+2 od inform I-area
+3 ekranu inform I-area
+
+# text: tak
+# intent: ack
+# slots:
+1 tak ack NoLabel
diff --git a/tasks/zad8/pl/train.conllu b/tasks/zad8/pl/train.conllu
new file mode 100644
index 0000000..5f8e9ad
--- /dev/null
+++ b/tasks/zad8/pl/train.conllu
@@ -0,0 +1,3003 @@
+# text: halo
+# intent: hello
+# slots:
+1 halo hello NoLabel
+
+# text: chaciałbym pójść na premierę filmu jakie premiery są w tym tygodniu
+# intent: reqmore
+# slots:
+1 chaciałbym reqmore NoLabel
+2 pójść reqmore NoLabel
+3 na reqmore NoLabel
+4 premierÄ™ reqmore NoLabel
+5 filmu reqmore NoLabel
+6 jakie reqmore B-goal
+7 premiery reqmore I-goal
+8 sÄ… reqmore NoLabel
+9 w reqmore B-interval
+10 tym reqmore I-interval
+11 tygodniu reqmore I-interval
+
+# text: wybieram batmana
+# intent: inform
+# slots: batmana:title
+1 wybieram inform NoLabel
+2 batmana inform B-title
+
+# text: najbliższy czwartek
+# intent: inform
+# slots: najbliższyczwartek:date
+1 najbliższy inform B-date
+2 czwartek inform I-date
+
+# text: wybieram: 17:30
+# intent: inform
+# slots: 17:30:time
+1 wybieram: inform NoLabel
+2 17:30 inform B-time
+
+# text: są zniżki studenckie
+# intent: reqmore
+# slots:
+1 sÄ… reqmore NoLabel
+2 zniżki reqmore NoLabel
+3 studenckie reqmore NoLabel
+
+# text: super w takim razie poproszÄ™ studnecki
+# intent: inform
+# slots:
+1 super inform NoLabel
+2 w inform NoLabel
+3 takim inform NoLabel
+4 razie inform NoLabel
+5 poproszÄ™ inform NoLabel
+6 studnecki inform NoLabel
+
+# text: 1x studencki
+# intent: inform
+# slots: 1x:quantity
+1 1x inform B-quantity
+2 studencki inform NoLabel
+
+# text: na środku
+# intent: inform
+# slots: naśrodku:area
+1 na inform B-area
+2 środku inform I-area
+
+# text: czy mogę zarezerwować kolejny bilet
+# intent: inform
+# slots: zarezerwować:goal
+1 czy inform NoLabel
+2 mogÄ™ inform NoLabel
+3 zarezerwować inform B-goal
+4 kolejny inform NoLabel
+5 bilet inform NoLabel
+
+# text: tak
+# intent: inform
+# slots:
+1 tak inform NoLabel
+
+# text: normalny
+# intent: reqmore
+# slots:
+1 normalny reqmore NoLabel
+
+# text: super poproszę by miejsca były obok siebie
+# intent: inform
+# slots:
+1 super inform NoLabel
+2 poproszÄ™ inform NoLabel
+3 by inform NoLabel
+4 miejsca inform NoLabel
+5 były inform NoLabel
+6 obok inform NoLabel
+7 siebie inform NoLabel
+
+# text: super czy można płacić z góry
+# intent: reqmore
+# slots:
+1 super reqmore NoLabel
+2 czy reqmore NoLabel
+3 można reqmore NoLabel
+4 płacić reqmore NoLabel
+5 z reqmore NoLabel
+6 góry reqmore NoLabel
+
+# text: ok czy bilety mam już zarezerwowane
+# intent: reqmore
+# slots:
+1 ok reqmore NoLabel
+2 czy reqmore NoLabel
+3 bilety reqmore NoLabel
+4 mam reqmore NoLabel
+5 już reqmore NoLabel
+6 zarezerwowane reqmore NoLabel
+
+# text: super dziękuję
+# intent: bye
+# slots:
+1 super bye NoLabel
+2 dziękuję bye NoLabel
+
+# text: dzień dobry
+# intent: hello
+# slots:
+1 dzień hello NoLabel
+2 dobry hello NoLabel
+
+# text: chcę zarezerwować bilety
+# intent: inform
+# slots:
+1 chcÄ™ inform NoLabel
+2 zarezerwować inform B-goal
+3 bilety inform NoLabel
+
+# text: dzisiaj
+# intent: inform
+# slots: dzisiaj:date
+1 dzisiaj inform B-date
+
+# text: 16:30
+# intent: infomrm
+# slots:
+1 16:30 inform B-time
+
+# text: cześć
+# intent: hello
+# slots:
+1 cześć hello NoLabel
+
+# text: chciałbym anulować rezerwację biletu
+# intent: inform
+# slots:
+1 chciałbym inform NoLabel
+2 anulować inform NoLabel
+3 rezerwacjÄ™ inform NoLabel
+4 biletu inform NoLabel
+
+# text: numer 42069
+# intent: inform
+# slots:
+1 numer inform NoLabel
+2 42069 inform NoLabel
+
+# text: numer 42068
+# intent: inform
+# slots:
+1 numer inform NoLabel
+2 42068 inform NoLabel
+
+# text: numer 42067
+# intent: inform
+# slots:
+1 numer inform NoLabel
+2 42067 inform NoLabel
+
+# text: chciałbym anulować rezerwację biletu dla imienia i nazwiska jan kowalski
+# intent: inform
+# slots:
+1 chciałbym inform NoLabel
+2 anulować inform NoLabel
+3 rezerwacjÄ™ inform NoLabel
+4 biletu inform NoLabel
+5 dla inform NoLabel
+6 imienia inform NoLabel
+7 i inform NoLabel
+8 nazwiska inform NoLabel
+9 jan inform NoLabel
+10 kowalski inform NoLabel
+
+# text: nie pamiętam czy mogę podać e-mail
+# intent: reqmore
+# slots:
+1 nie reqmore NoLabel
+2 pamiętam reqmore NoLabel
+3 czy reqmore NoLabel
+4 mogÄ™ reqmore NoLabel
+5 podać reqmore NoLabel
+6 e-mail reqmore NoLabel
+
+# text: elo
+# intent: hello
+# slots:
+1 elo hello NoLabel
+
+# text: chciałbym kupić bilety na seans zorro - jak to było na prawdę
+# intent: inform
+# slots: zorro:title
+1 chciałbym inform NoLabel
+2 kupić inform NoLabel
+3 bilety inform NoLabel
+4 na inform NoLabel
+5 seans inform NoLabel
+6 zorro inform B-title
+7 - inform NoLabel
+8 jak inform NoLabel
+9 to inform NoLabel
+10 było inform NoLabel
+11 na inform NoLabel
+12 prawdÄ™ inform NoLabel
+
+# text: poproszę listę filmów granych jutro wieczorem
+# intent: reqmore inform
+# slots: listęfilmów:goaljutro:date,wieczorem:interval
+1 poproszÄ™ reqmore inform NoLabel
+2 listÄ™ reqmore inform B-goal
+3 filmów reqmore inform I-goal
+4 granych reqmore inform NoLabel
+5 jutro reqmore inform B-date
+6 wieczorem reqmore inform B-interval
+
+# text: chciałbym kupić bilety na transformers
+# intent: inform
+# slots:
+1 chciałbym inform NoLabel
+2 kupić inform B-goal
+3 bilety inform NoLabel
+4 na inform NoLabel
+5 transformers inform NoLabel
+
+# text: tak chcÄ™ dwa bilety za 2 dni
+# intent: inform
+# slots: 2:quantity
+1 tak inform NoLabel
+2 chcÄ™ inform NoLabel
+3 dwa inform B-quantity
+4 bilety inform NoLabel
+5 za inform B-date
+6 2 inform I-date
+7 dni inform I-date
+
+# text: normalne
+# intent: inform
+# slots:
+1 normalne inform NoLabel
+
+# text: przy oknie w przedziale
+# intent: nan
+# slots:
+1 przy null NoLabel
+2 oknie null NoLabel
+3 w null NoLabel
+4 przedziale null NoLabel
+
+# text: wagon z przedziałami miejsce przy oknie
+# intent: nan
+# slots:
+1 wagon null NoLabel
+2 z null NoLabel
+3 przedziałami null NoLabel
+4 miejsce null NoLabel
+5 przy null NoLabel
+6 oknie null NoLabel
+
+# text: tak ale bardziej z góry
+# intent: inform
+# slots:
+1 tak inform NoLabel
+2 ale inform NoLabel
+3 bardziej inform NoLabel
+4 z inform B-area
+5 góry inform I-area
+
+# text: exit
+# intent: bye
+# slots:
+1 exit bye NoLabel
+
+# text: kim jesteÅ›
+# intent: help
+# slots:
+1 kim help NoLabel
+2 jesteÅ› help NoLabel
+
+# text: co gracie
+# intent: reqmore
+# slots:
+1 co reqmore B-goal
+2 gracie reqmore I-goal
+
+# text: jaki zorro
+# intent: reqmore
+# slots: zorro:title
+1 jaki reqmore NoLabel
+2 zorro reqmore B-title
+
+# text: w jakich godzinach gracie zorro
+# intent: reqmore
+# slots: wjakichgodzinach:goal,zorro:title
+1 w reqmore B-goal
+2 jakich reqmore I-goal
+3 godzinach reqmore I-goal
+4 gracie reqmore NoLabel
+5 zorro reqmore B-title
+
+# text: chciałbym zarezerwować bilety na batmana
+# intent: inform
+# slots: zarezerwować:goal,batmana:title
+1 chciałbym inform NoLabel
+2 zarezerwować inform B-goal
+3 bilety inform NoLabel
+4 na inform NoLabel
+5 batmana inform B-title
+
+# text: 21032022
+# intent: inform
+# slots:
+1 21032022 inform NoLabel
+
+# text: 23032022
+# intent: inform
+# slots:
+1 23032022 inform NoLabel
+
+# text: super
+# intent: ack
+# slots:
+1 super ack NoLabel
+
+# text: 13:00
+# intent: inform
+# slots: 13:00:time
+1 13:00 inform B-time
+
+# text: 1 normalny
+# intent: inform
+# slots: 1:quantity
+1 1 inform B-quantity
+2 normalny inform NoLabel
+
+# text: blisko ekranu
+# intent: inform
+# slots: bliskoekranu:area
+1 blisko inform B-area
+2 ekranu inform I-area
+
+# text: dziękuję do usłyszenia
+# intent: bye
+# slots:
+1 dziękuję bye NoLabel
+2 do bye NoLabel
+3 usłyszenia bye NoLabel
+
+# text: dzień dobry
+# intent: hello
+# slots:
+1 dzień hello NoLabel
+2 dobry hello NoLabel
+
+# text: chciałbym się dowiedzieć jaki jest cennik
+# intent: reqmore
+# slots:
+1 chciałbym reqmore NoLabel
+2 siÄ™ reqmore NoLabel
+3 dowiedzieć reqmore NoLabel
+4 jaki reqmore NoLabel
+5 jest reqmore NoLabel
+6 cennik reqmore NoLabel
+
+# text: a jest zniżka studencka
+# intent: reqmore
+# slots:
+1 a reqmore NoLabel
+2 jest reqmore NoLabel
+3 zniżka reqmore NoLabel
+4 studencka reqmore NoLabel
+
+# text: a co leci dzisiaj w kinie
+# intent: reqmore inform
+# slots: dzisiaj:date
+1 a reqmore inform NoLabel
+2 co reqmore inform B-goal
+3 leci reqmore inform I-goal
+4 dzisiaj reqmore inform B-date
+5 w reqmore inform NoLabel
+6 kinie reqmore inform NoLabel
+
+# text: o której jest na noże
+# intent: reqmore inform
+# slots: októrej:goal,nanoże:title
+1 o reqmore inform B-goal
+2 której reqmore inform I-goal
+3 jest reqmore inform NoLabel
+4 na reqmore inform B-title
+5 noże reqmore inform I-title
+
+# text: poproszÄ™ dwa bilety na 12
+# intent: inform
+# slots: na12:time
+1 poproszÄ™ inform NoLabel
+2 dwa inform NoLabel
+3 bilety inform NoLabel
+4 na inform B-time
+5 12 inform I-time
+
+# text: a jakie sÄ…
+# intent: reqmore
+# slots:
+1 a reqmore NoLabel
+2 jakie reqmore NoLabel
+3 sÄ… reqmore NoLabel
+
+# text: 2 ulgowe poprosze
+# intent: inform
+# slots: 2:quantity
+1 2 inform B-quantity
+2 ulgowe inform NoLabel
+3 poprosze inform NoLabel
+
+# text: jakie sÄ… wolne miejsca
+# intent: reqmore
+# slots:
+1 jakie reqmore NoLabel
+2 sÄ… reqmore NoLabel
+3 wolne reqmore NoLabel
+4 miejsca reqmore NoLabel
+
+# text: tak
+# intent: ack
+# slots:
+1 tak ack NoLabel
+
+# text: chciałbym 3 bilety na batmana na jtro
+# intent: inform
+# slots: 3:quantity,batmana:title, jtro:date
+1 chciałbym inform NoLabel
+2 3 inform B-quantity
+3 bilety inform NoLabel
+4 na inform NoLabel
+5 batmana inform B-title
+6 na inform NoLabel
+7 jtro inform B-date
+
+# text: coś koło południa
+# intent: reqmore
+# slots: kołopołudnia:interval
+1 coÅ› reqmore NoLabel
+2 koło reqmore B-interval
+3 południa reqmore I-interval
+
+# text: nic później
+# intent: reqalts
+# slots:
+1 nic reqalts NoLabel
+2 później reqalts NoLabel
+
+# text: dzień dobry
+# intent: hello
+# slots:
+1 dzień hello NoLabel
+2 dobry hello NoLabel
+
+# text: chciałabym zarezerwować bilet do kina
+# intent: inform
+# slots: zarezerwować:goal
+1 chciałabym inform NoLabel
+2 zarezerwować inform B-goal
+3 bilet inform NoLabel
+4 do inform NoLabel
+5 kina inform NoLabel
+
+# text: dziÅ›
+# intent: inform
+# slots: dziÅ›:date
+1 dziÅ› inform B-date
+
+# text: proszÄ™ na batmana
+# intent: inform
+# slots: batmana:title
+1 proszÄ™ inform NoLabel
+2 na inform NoLabel
+3 batmana inform B-title
+
+# text: proszÄ™ o godzine 20:19
+# intent: inform
+# slots: 20:19:time
+1 proszÄ™ inform NoLabel
+2 o inform NoLabel
+3 godzine inform NoLabel
+4 20:19 inform B-time
+
+# text: ulogwy
+# intent: inform
+# slots:
+1 ulogwy inform NoLabel
+
+# text: 1
+# intent: impl-conf inform
+# slots: 1:quantity
+1 1 inform B-quantity
+
+# text: z tyłu na środku (aby ekran był centralnie widoczny)
+# intent: inform
+# slots: ztylunaśrodku:area
+1 z inform B-area
+2 tyłu inform I-area
+3 na inform I-area
+4 środku inform I-area
+5 (aby inform NoLabel
+6 ekran inform NoLabel
+7 był inform NoLabel
+8 centralnie inform NoLabel
+9 widoczny) inform NoLabel
+
+# text: dobrze dziekujÄ™
+# intent: bye
+# slots:
+1 dobrze bye NoLabel
+2 dziekujÄ™ bye NoLabel
+
+# text: cześć
+# intent: hello
+# slots:
+1 cześć hello NoLabel
+
+# text: czy mogę zarezerwować nachosy do kina
+# intent: reqmore
+# slots:
+1 czy reqmore NoLabel
+2 mogÄ™ reqmore NoLabel
+3 zarezerwować reqmore NoLabel
+4 nachosy reqmore NoLabel
+5 do reqmore NoLabel
+6 kina reqmore NoLabel
+
+# text: dziekuje
+# intent: thankyou
+# slots:
+1 dziekuje thankyou NoLabel
+
+# text: witam
+# intent: hello
+# slots:
+1 witam hello NoLabel
+
+# text: co potrafisz
+# intent: help
+# slots:
+1 co help NoLabel
+2 potrafisz help NoLabel
+
+# text: jakie są najbliższe seanse
+# intent: inform
+# slots:
+1 jakie inform B-goal
+2 sÄ… inform I-goal
+3 najbliższe inform I-goal
+4 seanse inform I-goal
+
+# text: a jakie są dostępne
+# intent: reqmore
+# slots:
+1 a reqmore NoLabel
+2 jakie reqmore NoLabel
+3 sÄ… reqmore NoLabel
+4 dostępne reqmore NoLabel
+
+# text: a w jakim to kinie
+# intent: request
+# slots:
+1 a request NoLabel
+2 w request NoLabel
+3 jakim request NoLabel
+4 to request NoLabel
+5 kinie request NoLabel
+
+# text: a gdzie jest to kino
+# intent: reqmore
+# slots:
+1 a reqmore NoLabel
+2 gdzie reqmore NoLabel
+3 jest reqmore NoLabel
+4 to reqmore NoLabel
+5 kino reqmore NoLabel
+
+# text: o której grają uncharted
+# intent: reqmore inform
+# slots: októrej:goal,uncharted:title
+1 o reqmore inform B-goal
+2 której reqmore inform I-goal
+3 grajÄ… reqmore inform NoLabel
+4 uncharted reqmore inform B-title
+
+# text: ile kosztujÄ…Â bilety na ten film
+# intent: request
+# slots:
+1 ile request NoLabel
+2 kosztujÄ… request NoLabel
+3 bilety request NoLabel
+4 na request NoLabel
+5 ten request NoLabel
+6 film request NoLabel
+
+# text: a w jaki dzień bilety są tańsze
+# intent: reqmore
+# slots:
+1 a reqmore NoLabel
+2 w reqmore NoLabel
+3 jaki reqmore NoLabel
+4 dzień reqmore NoLabel
+5 bielty reqmore NoLabel
+6 sÄ… reqmore NoLabel
+7 tańsze reqmore NoLabel
+
+# text: w takim razie chciałbym zarezerwować dwa bilety normalne i jeden ulgowy na środę 20:00
+# intent: inform
+# slots: zarezerwować:goal,dwa:quantity,jeden:quantity,20:00:time
+1 w inform NoLabel
+2 takim inform NoLabel
+3 razie inform NoLabel
+4 chciałbym inform NoLabel
+5 zarezerwować inform B-goal
+6 dwa inform B-quantity
+7 bilety inform NoLabel
+8 normalne inform NoLabel
+9 i inform NoLabel
+10 jeden inform B-quantity
+11 ulgowy inform NoLabel
+12 na inform NoLabel
+13 środę inform B-date
+14 20:00 inform B-time
+
+# text: na środku sali
+# intent: inform
+# slots: naśrodku:area
+1 na inform B-area
+2 środku inform I-area
+3 sali inform NoLabel
+
+# text: ok
+# intent: ack
+# slots:
+1 ok ack NoLabel
+
+# text: witam
+# intent: hello
+# slots:
+1 witam hello NoLabel
+
+# text: jaki jest repertuar na piÄ…tek
+# intent: reqmore inform
+# slots:
+1 jaki reqmore inform NoLabel
+2 jest reqmore inform NoLabel
+3 repertuar reqmore inform NoLabel
+4 na reqmore inform NoLabel
+5 piÄ…tek reqmore inform NoLabel
+
+# text: o jakich godzinach grajÄ… te filmy
+# intent: reqmore
+# slots:
+1 o reqmore NoLabel
+2 jakich reqmore NoLabel
+3 godzinach reqmore NoLabel
+4 grajÄ… reqmore NoLabel
+5 te reqmore NoLabel
+6 filmy reqmore NoLabel
+
+# text: wszystkie
+# intent: ack
+# slots:
+1 wszystkie ack NoLabel
+
+# text: czy obgługujecie rezerwację biletów grupowych
+# intent: request
+# slots:
+1 czy request NoLabel
+2 obgługujecie request NoLabel
+3 rezerwacjÄ™ request NoLabel
+4 biletów request NoLabel
+5 grupowych request NoLabel
+
+# text: rozumiem a jak mogę dokonać rezerwacji dla 20 osób
+# intent: reqmore
+# slots: rezerwacji:goal,20:quantity
+1 rozumiem reqmore NoLabel
+2 a reqmore NoLabel
+3 jak reqmore NoLabel
+4 mogÄ™ reqmore NoLabel
+5 dokonać reqmore NoLabel
+6 rezerwacji reqmore B-goal
+7 dla reqmore NoLabel
+8 20 reqmore B-quantity
+9 osób reqmore NoLabel
+
+# text: tak
+# intent: affirm
+# slots:
+1 tak affirm NoLabel
+
+# text: dziękuję
+# intent: ack
+# slots:
+1 dziękuję ack NoLabel
+
+# text: witam
+# intent: hello
+# slots:
+1 witam hello NoLabel
+
+# text: czy w kinie rialto grają jakieś stare filmy
+# intent: reqmore
+# slots:
+1 czy reqmore NoLabel
+2 w reqmore NoLabel
+3 kinie reqmore NoLabel
+4 rialto reqmore NoLabel
+5 grajÄ… reqmore NoLabel
+6 jakieÅ› reqmore NoLabel
+7 stare reqmore NoLabel
+8 filmy reqmore NoLabel
+
+# text: to dziękuję
+# intent: thankyou
+# slots:
+1 to thankyou NoLabel
+2 dziękuję thankyou NoLabel
+
+# text: witam
+# intent: hello
+# slots:
+1 witam hello NoLabel
+
+# text: czy tylko można u was rezerwować nachos
+# intent: null
+# slots:
+1 czy null NoLabel
+2 tylko null NoLabel
+3 można null NoLabel
+4 u null NoLabel
+5 was null NoLabel
+6 rezerwować null NoLabel
+7 nachos null NoLabel
+
+# text: chciałbym zapytać co u pana
+# intent: hello
+# slots:
+1 chciałbym hello NoLabel
+2 zapytać hello NoLabel
+3 co hello NoLabel
+4 u hello NoLabel
+5 pana hello NoLabel
+
+# text: poproszÄ™ bilet na batmana o 19:00
+# intent: inform
+# slots: batmana:title,19:00:time
+1 poproszÄ™ inform NoLabel
+2 bilet inform NoLabel
+3 na inform NoLabel
+4 batmana inform B-title
+5 o inform NoLabel
+6 19:00 inform B-time
+
+# text: bez ludzi w okolicy
+# intent: inform
+# slots:
+1 bez inform NoLabel
+2 ludzi inform NoLabel
+3 w inform NoLabel
+4 okolicy inform NoLabel
+
+# text: czy to wszystko
+# intent: affirm
+# slots:
+1 czy affirm NoLabel
+2 to affirm NoLabel
+3 wszystko affirm NoLabel
+
+# text: dzień dobry
+# intent: hello
+# slots:
+1 dzień hello NoLabel
+2 dobry hello NoLabel
+
+# text: chciałbym zarezerwować film
+# intent: null
+# slots:
+1 chciałbym null NoLabel
+2 zarezerwować null NoLabel
+3 film null NoLabel
+
+# text: bilet na film
+# intent: inform
+# slots:
+1 bilet inform NoLabel
+2 na inform NoLabel
+3 film inform NoLabel
+
+# text: jakie filmy sÄ… teraz w kinach
+# intent: request
+# slots: jakiefilmysÄ…:goal
+1 jakie request B-goal
+2 filmy request I-goal
+3 sÄ… request I-goal
+4 teraz request NoLabel
+5 w request NoLabel
+6 kinach request NoLabel
+
+# text: poproszÄ™ 3x bilet na ambulans
+# intent: inform
+# slots: 3x:quantity,ambulans:title
+1 poproszÄ™ inform NoLabel
+2 3x inform B-quantity
+3 bilet inform NoLabel
+4 na inform NoLabel
+5 ambulans inform B-title
+
+# text: niech będzie ten ostatni
+# intent: inform
+# slots:
+1 niech inform NoLabel
+2 będzie inform NoLabel
+3 ten inform NoLabel
+4 ostatni inform NoLabel
+
+# text: przedostatnim
+# intent: inform
+# slots:
+1 przedostatnim inform B-area
+
+# text: spoko
+# intent: ack
+# slots:
+1 spoko ack NoLabel
+
+# text: chciałbym jeszcze kupon na jedzenie
+# intent: nan
+# slots:
+1 chciałbym NoLabel
+2 jeszcze NoLabel
+3 kupon NoLabel
+4 na NoLabel
+5 jedzenie NoLabel
+
+# text: poproszę słony popcorn
+# intent: nan
+# slots:
+1 poproszÄ™ NoLabel
+2 słony NoLabel
+3 popcorn NoLabel
+
+# text: duży
+# intent: nan
+# slots:
+1 duży NoLabel
+
+# text: nara
+# intent: bye
+# slots:
+1 nara bye NoLabel
+
+# text: dzień dobry
+# intent: hello
+# slots:
+1 dzień hello NoLabel
+2 dobry hello NoLabel
+
+# text: chciał bym zamówić bilet na film minionki dzisiaj o 18:30
+# intent: inform
+# slots: minionki:title,dzisiaj:date
+1 chciał inform NoLabel
+2 bym inform NoLabel
+3 zamówić inform NoLabel
+4 bilet inform NoLabel
+5 na inform NoLabel
+6 film inform NoLabel
+7 minionki inform B-title
+8 dzisiaj inform B-date
+9 o inform NoLabel
+10 18:30 inform B-time
+
+# text: cześć
+# intent: hello
+# slots:
+1 cześć hello NoLabel
+
+# text: co mogę zarezerwować
+# intent: reqmore
+# slots:
+1 co reqmore NoLabel
+2 mogÄ™ reqmore NoLabel
+3 zarezerwować reqmore NoLabel
+
+# text: gdzie znajduje siÄ™ kino
+# intent: request
+# slots:
+1 gdzie request NoLabel
+2 znajduje request NoLabel
+3 siÄ™ request NoLabel
+4 kino request NoLabel
+
+# text: tak chciałbym iść do multikina na malcie
+# intent: inform
+# slots:
+1 tak inform NoLabel
+2 chciałbym inform NoLabel
+3 iść inform NoLabel
+4 do inform NoLabel
+5 multikina inform NoLabel
+6 na inform NoLabel
+7 malcie inform NoLabel
+
+# text: super teraz chciałbym zarezerwować bilet na film
+# intent: inform
+# slots: zarezerwować:goal
+1 super inform NoLabel
+2 teraz inform NoLabel
+3 chciałbym inform NoLabel
+4 zarezerwować inform B-goal
+5 bilet inform NoLabel
+6 na inform NoLabel
+7 film inform NoLabel
+
+# text: uncharted
+# intent: inform
+# slots: uncharted:title
+1 uncharted inform B-title
+
+# text: wybieram godzine 12:00
+# intent: inform
+# slots: 12:00:time
+1 wybieram inform NoLabel
+2 godzine inform NoLabel
+3 12:00 inform B-time
+
+# text: 1 miejsce gdzieś na środku sali
+# intent: inform
+# slots: 1:quantity,naśrodku:area
+1 1 inform B-quantity
+2 miejsce inform NoLabel
+3 gdzieÅ› inform NoLabel
+4 na inform B-area
+5 środku inform I-area
+6 sali inform NoLabel
+
+# text: pasuje
+# intent: ack
+# slots:
+1 pasuje ack NoLabel
+
+# text: elo
+# intent: help
+# slots:
+1 elo help NoLabel
+
+# text: chciałabym zarezerwować bilet
+# intent: inform
+# slots: zarezerwować:goal
+1 chciałabym inform NoLabel
+2 zarezerwować inform B-goal
+3 bilet inform NoLabel
+
+# text: co gracie
+# intent: request
+# slots: cogracie:goal
+1 co request B-goal
+2 gracie request I-goal
+
+# text: ja bym chciała na fantastyczne zwierzęta
+# intent: inform
+# slots: fantastycznezwierzęta:title
+1 ja inform NoLabel
+2 bym inform NoLabel
+3 chciała inform NoLabel
+4 na inform NoLabel
+5 fantastyczne inform B-title
+6 zwierzęta inform I-title
+
+# text: 29032022
+# intent: inform
+# slots:
+1 29032022 inform NoLabel
+
+# text: jakoÅ› wieczorkiem
+# intent: inform
+# slots: wieczorkiem:time
+1 jakoÅ› inform NoLabel
+2 wieczorkiem inform B-time
+
+# text: to na 21 prosze
+# intent: inform
+# slots: na21:time
+1 to inform NoLabel
+2 na inform B-time
+3 21 inform I-time
+4 prosze inform NoLabel
+
+# text: to na 18 proszÄ™
+# intent: inform
+# slots: na18:time
+1 to inform NoLabel
+2 na inform B-time
+3 18 inform I-time
+4 proszÄ™ inform NoLabel
+
+# text: najlepsze
+# intent: inform
+# slots:
+1 najlepsze inform NoLabel
+
+# text: moment no ile tych miejsc i czemu nie są w tym samym rzędzie
+# intent: reqmore
+# slots:
+1 moment reqmore NoLabel
+2 no reqmore NoLabel
+3 ile reqmore NoLabel
+4 tych reqmore NoLabel
+5 miejsc reqmore NoLabel
+6 i reqmore NoLabel
+7 czemu reqmore NoLabel
+8 nie reqmore NoLabel
+9 sÄ… reqmore NoLabel
+10 w reqmore NoLabel
+11 tym reqmore NoLabel
+12 samym reqmore NoLabel
+13 rzędzie reqmore NoLabel
+
+# text: proszÄ™ z managerem
+# intent: nan
+# slots:
+1 proszÄ™ NoLabel
+2 z NoLabel
+3 managerem NoLabel
+
+# text: jeden dla mnie i dla kotka proszÄ™
+# intent: inform
+# slots: jeden:quantity
+1 jeden inform B-quantity
+2 dla inform NoLabel
+3 mnie inform NoLabel
+4 i inform NoLabel
+5 dla inform NoLabel
+6 kotka inform NoLabel
+7 proszÄ™ inform NoLabel
+
+# text: dobra to blikiem proszÄ™
+# intent: nan
+# slots:
+1 dobra NoLabel
+2 to NoLabel
+3 blikiem NoLabel
+4 proszÄ™ NoLabel
+
+# text: halo halo
+# intent: nan
+# slots:
+1 halo NoLabel
+2 halo NoLabel
+
+# text: nie skończyłam
+# intent: nan
+# slots:
+1 nie NoLabel
+2 skończyłam NoLabel
+
+# text: ehhh
+# intent: nan
+# slots:
+1 ehhh NoLabel
+
+# text: dzień dobry
+# intent: hello
+# slots:
+1 dzień hello NoLabel
+2 dobry hello NoLabel
+
+# text: no właśnie w czym możesz pomóc
+# intent: help
+# slots:
+1 no help NoLabel
+2 właśnie help NoLabel
+3 w help NoLabel
+4 czym help NoLabel
+5 możesz help NoLabel
+6 pomóc help NoLabel
+
+# text: a jedzonko macie
+# intent: reqmore
+# slots:
+1 a reqmore NoLabel
+2 jedzonko reqmore NoLabel
+3 macie reqmore NoLabel
+
+# text: nachosy proszÄ™
+# intent: reqmore
+# slots:
+1 nachosy reqmore NoLabel
+2 proszÄ™ reqmore NoLabel
+
+# text: a jakie sosy do nachosów
+# intent: reqmore
+# slots:
+1 a reqmore NoLabel
+2 jakie reqmore NoLabel
+3 sosy reqmore NoLabel
+4 do reqmore NoLabel
+5 nachosów reqmore NoLabel
+
+# text: chciałabym anulować rezerwację
+# intent: inform
+# slots:
+1 chciałabym inform NoLabel
+2 anulować inform NoLabel
+3 rezerwacjÄ™ inform NoLabel
+
+# text: 123123
+# intent: inform
+# slots:
+1 123123 inform NoLabel
+
+# text: dzięki <3
+# intent: thankyou
+# slots:
+1 dzięki thankyou NoLabel
+2 <3 thankyou NoLabel
+
+# text: dzień dobry
+# intent: hello
+# slots:
+1 dzień hello NoLabel
+2 dobry hello NoLabel
+
+# text: chciałabym zmienić rezerwację
+# intent: inform
+# slots:
+1 chciałabym inform NoLabel
+2 zmienić inform NoLabel
+3 rezerwacjÄ™ inform NoLabel
+
+# text: 123123
+# intent: inform
+# slots:
+1 123123 inform NoLabel
+
+# text: upewniam siÄ™
+# intent: ack
+# slots:
+1 upewniam ack NoLabel
+2 siÄ™ ack NoLabel
+
+# text: dzień dobry
+# intent: hello
+# slots:
+1 dzień hello NoLabel
+2 dobry hello NoLabel
+
+# text: chciałbym zarezerwować bilety
+# intent: inform
+# slots: zarezerwować:goal
+1 chciałbym inform NoLabel
+2 zarezerwować inform B-goal
+3 bilety inform NoLabel
+
+# text: batman
+# intent: inform
+# slots: batman:title
+1 batman inform B-title
+
+# text: dzisiaj
+# intent: inform
+# slots: dzisiaj:date
+1 dzisiaj inform B-date
+
+# text: podaj więcej informacji o seansach
+# intent: reqmore
+# slots:
+1 podaj reqmore NoLabel
+2 więcej reqmore NoLabel
+3 informacji reqmore NoLabel
+4 o reqmore NoLabel
+5 seansach reqmore NoLabel
+
+# text: podaj więcej informacji o seansie o 15:20
+# intent: reqmore
+# slots: więcejinformacji:goal,15:20:time
+1 podaj reqmore NoLabel
+2 więcej reqmore B-goal
+3 informacji reqmore I-goal
+4 o reqmore NoLabel
+5 seansie reqmore NoLabel
+6 o reqmore NoLabel
+7 15:20 reqmore B-time
+
+# text: czy film jest 2d czy 3d
+# intent: reqmore
+# slots:
+1 czy reqmore NoLabel
+2 film reqmore NoLabel
+3 jest reqmore NoLabel
+4 2d reqmore NoLabel
+5 czy reqmore NoLabel
+6 3d reqmore NoLabel
+
+# text: podaj informacje o napisach/dubbingu
+# intent: reqmore
+# slots:
+1 podaj reqmore NoLabel
+2 informacje reqmore B-goal
+3 o reqmore NoLabel
+4 napisach/dubbingu reqmore NoLabel
+
+# text: cześć
+# intent: hello
+# slots:
+1 cześć hello NoLabel
+
+# text: chciałbym zarezwsfsgf bilet
+# intent: null
+# slots:
+1 chciałbym null NoLabel
+2 zarezwsfsgf null NoLabel
+3 bilet null NoLabel
+
+# text: chciałbym zarezerwować bilet
+# intent: inform
+# slots: zarezerwować:goal
+1 chciałbym inform NoLabel
+2 zarezerwować inform B-goal
+3 bilet inform NoLabel
+
+# text: jakie są wyświetlane w najbliższą sobotę
+# intent: reqmore
+# slots: jakiesąwyświetlane:goal,wnajbliższąsobotę:date
+1 jakie reqmore B-goal
+2 sÄ… reqmore I-goal
+3 wyświetlane reqmore I-goal
+4 w reqmore B-date
+5 najbliższą reqmore I-date
+6 sobotÄ™ reqmore I-date
+
+# text: w których godzinach grany jest film to nie wypanda
+# intent: reqmore inform
+# slots: wktórychgodzinach:goal,toniewypanda:title
+1 w reqmore inform B-goal
+2 których reqmore inform B-goal
+3 godzinach reqmore inform B-goal
+4 grany reqmore inform NoLabel
+5 jest reqmore inform NoLabel
+6 film reqmore inform NoLabel
+7 to reqmore inform B-title
+8 nie reqmore inform I-title
+9 wypanda reqmore inform I-title
+
+# text: w takim razie chciałbym kupić 3 bilety jeśli możliwe miejsca koło siebie
+# intent: inform
+# slots: 3:quantity
+1 w inform NoLabel
+2 takim inform NoLabel
+3 razie inform NoLabel
+4 chciałbym inform NoLabel
+5 kupić inform NoLabel
+6 3 inform B-quantity
+7 bilety inform NoLabel
+8 jeśli inform NoLabel
+9 możliwe inform NoLabel
+10 miejsca inform NoLabel
+11 koło inform NoLabel
+12 siebie inform NoLabel
+
+# text: najbliższa sobota
+# intent: inform
+# slots: najbliższasobota:date
+1 najbliższa inform B-date
+2 sobota inform I-date
+
+# text: godzina 19:30
+# intent: inform
+# slots: 19:30:time
+1 godzina inform NoLabel
+2 19:30 inform B-time
+
+# text: najlepiej w ostatnim rzędzie
+# intent: inform
+# slots: wostatnimrzędzie:area
+1 najlepiej inform NoLabel
+2 w inform B-area
+3 ostatnim inform I-area
+4 rzędzie inform I-area
+
+# text: chciałbym zapłacić przy odbiorze
+# intent: reqmore
+# slots:
+1 chciałbym reqmore NoLabel
+2 zapłacić reqmore NoLabel
+3 przy reqmore NoLabel
+4 odbiorze reqmore NoLabel
+
+# text: czy moja rezerwacja została potwierdzona
+# intent: reqmore
+# slots:
+1 czy reqmore NoLabel
+2 moja reqmore NoLabel
+3 rezerwacja reqmore NoLabel
+4 została reqmore NoLabel
+5 potwierdzona reqmore NoLabel
+
+# text: 84372
+# intent: inform
+# slots:
+1 84372 inform NoLabel
+
+# text: nie
+# intent: negate
+# slots:
+1 nie negate NoLabel
+
+# text: dzień dobry
+# intent: hello
+# slots:
+1 dzień hello NoLabel
+2 dobry hello NoLabel
+
+# text: chciałbym dowiedzieć się jakie filmy są wyświetlane w tym tygodniu
+# intent: reqmore
+# slots: jakiefilmysÄ…:goal,wtymtygodniu:interval
+1 chciałbym reqmore NoLabel
+2 dowiedzieć reqmore NoLabel
+3 siÄ™ reqmore NoLabel
+4 jakie reqmore B-goal
+5 filmy reqmore I-goal
+6 sÄ… reqmore I-goal
+7 wyświetlane reqmore NoLabel
+8 w reqmore B-interval
+9 tym reqmore I-interval
+10 tygodniu reqmore I-interval
+
+# text: w jakich godzinach mogę zobaczyć batmana w piątek
+# intent: reqmore inform
+# slots: wjakichgodzinach:goal,batmana:title,piÄ…tek:date
+1 w reqmore inform B-goal
+2 jakich reqmore inform I-goal
+3 godzinach reqmore inform I-goal
+4 mogÄ™ reqmore inform NoLabel
+5 zobaczyć reqmore inform NoLabel
+6 batmana reqmore inform B-title
+7 w reqmore inform NoLabel
+8 piÄ…tek reqmore inform B-date
+
+# text: chciałbym zarezerwować 3 miejsca na seans o 17:45
+# intent: inform
+# slots: zarezerwować:goal,3:quantity,17:45:time
+1 chciałbym inform NoLabel
+2 zarezerwować inform B-goal
+3 3 inform B-quantity
+4 miejsca inform NoLabel
+5 na inform NoLabel
+6 seans inform NoLabel
+7 o inform NoLabel
+8 17:45 inform B-time
+
+# text: czy są dostępne miejsca w tylnych rzędach
+# intent: reqmore inform
+# slots: czysądostępnemiejsca:goal,wtylnychrzędach:area
+1 czy reqmore inform B-goal
+2 sÄ… reqmore inform I-goal
+3 dostępne reqmore inform I-goal
+4 miejsca reqmore inform I-goal
+5 w reqmore inform B-area
+6 tylnych reqmore inform I-area
+7 rzędach reqmore inform I-area
+
+# text: ok
+# intent: affirm inform
+# slots:
+1 ok affirm inform NoLabel
+
+# text: dziękuję do widzenia
+# intent: bye thankyou
+# slots:
+1 dziękuję bye thankyou NoLabel
+2 do bye thankyou NoLabel
+3 widzenia bye thankyou NoLabel
+
+# text: dzień dobry chciałbym anulować rezerwację
+# intent: hello inform
+# slots:
+1 dzień hello inform NoLabel
+2 dobry hello inform NoLabel
+3 chciałbym hello inform NoLabel
+4 anulować hello inform NoLabel
+5 rezerwacjÄ™ hello inform NoLabel
+
+# text: 87574
+# intent: inform
+# slots:
+1 87574 inform NoLabel
+
+# text: potwierdzam
+# intent: affirm
+# slots:
+1 potwierdzam affirm NoLabel
+
+# text: cześć
+# intent: hello
+# slots:
+1 cześć hello NoLabel
+
+# text: nie możesz
+# intent: thankyou
+# slots:
+1 nie thankyou NoLabel
+2 możesz thankyou NoLabel
+
+# text: dzień dobry systemie
+# intent: hello
+# slots:
+1 dzień hello NoLabel
+2 dobry hello NoLabel
+3 systemie hello NoLabel
+
+# text: chciałbym kupić nachos
+# intent: reqmore
+# slots:
+1 chciałbym reqmore NoLabel
+2 kupić reqmore NoLabel
+3 nachos reqmore NoLabel
+
+# text: jak mogę się do takiej strefy dostać
+# intent: reqmore
+# slots:
+1 jak reqmore NoLabel
+2 mogÄ™ reqmore NoLabel
+3 siÄ™ reqmore NoLabel
+4 do reqmore NoLabel
+5 takiej reqmore NoLabel
+6 strefy reqmore NoLabel
+7 dostać reqmore NoLabel
+
+# text: w jakim mieście
+# intent: reqmore
+# slots:
+1 w reqmore NoLabel
+2 jakim reqmore NoLabel
+3 mieście reqmore NoLabel
+
+# text: czy można zarezerwować u was bilety na seans
+# intent: reqmore
+# slots: zarezerwować:goal
+1 czy reqmore NoLabel
+2 można reqmore NoLabel
+3 zarezerwować reqmore B-goal
+4 u reqmore NoLabel
+5 was reqmore NoLabel
+6 bilety reqmore NoLabel
+7 na reqmore NoLabel
+8 seans reqmore NoLabel
+
+# text: jakie polecasz
+# intent: reqmore
+# slots:
+1 jakie reqmore NoLabel
+2 polecasz reqmore NoLabel
+
+# text: jakÄ… ocenÄ™ posiada batman
+# intent: reqmore
+# slots: jakÄ…ocenÄ™:goal,batman:title
+1 jakÄ… reqmore B-goal
+2 ocenÄ™ reqmore I-goal
+3 posiada reqmore NoLabel
+4 batman reqmore B-title
+
+# text: dobrze chciałbym zatem zarezerwować bilet na innych ludzi
+# intent: inform
+# slots: zarezerwować:goal,innychludzi:title
+1 dobrze inform NoLabel
+2 chciałbym inform NoLabel
+3 zatem inform NoLabel
+4 zarezerwować inform B-goal
+5 bilet inform NoLabel
+6 na inform NoLabel
+7 innych inform B-title
+8 ludzi inform I-title
+
+# text: 22032022
+# intent: inform
+# slots:
+1 22032022 inform NoLabel
+
+# text: jutro po godzinie 16:00
+# intent: inform
+# slots: jutro:date,pogodzinie16:00:interval
+1 jutro inform B-date
+2 po inform B-interval
+3 godzinie inform I-interval
+4 16:00 inform I-interval
+
+# text: jaki jutro jest dzień tygodnia
+# intent: request
+# slots: jutro:date
+1 jaki request NoLabel
+2 jutro request B-date
+3 jest request NoLabel
+4 dzień request NoLabel
+5 tygodnia request NoLabel
+
+# text: to poproszÄ™ o rezerwacjÄ™ na 17:45
+# intent: inform
+# slots: na17:45:time
+1 to inform NoLabel
+2 poproszÄ™ inform NoLabel
+3 o inform NoLabel
+4 rezerwacjÄ™ inform NoLabel
+5 na inform B-time
+6 17:45 inform I-time
+
+# text: 17:45
+# intent: inform
+# slots: 17:45:time
+1 17:45 inform B-time
+
+# text: z tyłu sali nie na samym końcu
+# intent: inform
+# slots: ztyłusalinienasamymkońcu:area
+1 z inform B-area
+2 tyłu inform I-area
+3 sali inform I-area
+4 nie inform I-area
+5 na inform I-area
+6 samym inform I-area
+7 końcu inform I-area
+
+# text: w jakiej części rzędu znajduje się to miejsce
+# intent: request
+# slots:
+1 w request NoLabel
+2 jakiej request NoLabel
+3 części request NoLabel
+4 rzędu request NoLabel
+5 znajduje request NoLabel
+6 siÄ™ request NoLabel
+7 to request NoLabel
+8 miejsce request NoLabel
+
+# text: dziękuję
+# intent: thankyou
+# slots:
+1 dziękuję thankyou NoLabel
+
+# text: dzień dobry
+# intent: hello
+# slots:
+1 dzień hello NoLabel
+2 dobry hello NoLabel
+
+# text: chciałbym kupić dwa bilety na batmana
+# intent: inform
+# slots: kupić:goal,dwa:quantity,batmana:title
+1 chciałbym inform NoLabel
+2 kupić inform B-goal
+3 dwa inform B-quantity
+4 bilety inform NoLabel
+5 na inform NoLabel
+6 batmana inform B-title
+
+# text: jutro
+# intent: inform
+# slots: jutro:date
+1 jutro inform B-date
+
+# text: poproszÄ™ na 20:30
+# intent: inform
+# slots: na20:30:time
+1 poproszÄ™ inform NoLabel
+2 na inform B-time
+3 20:30 inform I-time
+
+# text: z tyłu
+# intent: inform
+# slots: ztyłu:area
+1 z inform B-area
+2 tyłu inform I-area
+
+# text: w jakiej cenie sÄ… bilety
+# intent: help
+# slots:
+1 w help NoLabel
+2 jakiej help NoLabel
+3 cenie help NoLabel
+4 sÄ… help NoLabel
+5 bilety help NoLabel
+
+# text: są zniżki studenckie
+# intent: help
+# slots:
+1 sÄ… help NoLabel
+2 zniżki help NoLabel
+3 studenckie help NoLabel
+
+# text: mógłbym kupić bilety
+# intent: reqmore
+# slots: kupić:goal
+1 mógłbym reqmore NoLabel
+2 kupić reqmore B-goal
+3 bilety reqmore NoLabel
+
+# text: batman - chciałbym kupić zarezerwowane miejsca
+# intent: reqmore inform
+# slots: batman:title
+1 batman reqmore inform B-title
+2 - reqmore inform NoLabel
+3 chciałbym reqmore inform NoLabel
+4 kupić reqmore inform NoLabel
+5 zarezerwowane reqmore inform NoLabel
+6 miejsca reqmore inform NoLabel
+
+# text: dobrze czy wystarczy zachować numer rezerwacji
+# intent: reqmore
+# slots:
+1 dobrze reqmore NoLabel
+2 czy reqmore NoLabel
+3 wystarczy reqmore NoLabel
+4 zachować reqmore NoLabel
+5 numer reqmore NoLabel
+6 rezerwacji reqmore NoLabel
+
+# text: dobrze
+# intent: ack
+# slots:
+1 dobrze ack NoLabel
+
+# text: witam
+# intent: hello
+# slots:
+1 witam hello NoLabel
+
+# text: jakie sÄ… jutro filmy
+# intent: reqmore inform
+# slots: jakie:goal,jutro:date
+1 jakie reqmore inform B-goal
+2 sÄ… reqmore inform NoLabel
+3 jutro reqmore inform B-date
+4 filmy reqmore inform NoLabel
+
+# text: o ktorej jest nasze magiczne encanto
+# intent: reqmore inform
+# slots: oktorej:goal,naszemagiczeencanto:title
+1 o reqmore inform B-goal
+2 ktorej reqmore inform I-goal
+3 jest reqmore inform NoLabel
+4 nasze reqmore inform B-title
+5 magiczne reqmore inform I-title
+6 encanto reqmore inform I-title
+
+# text: poproszÄ™ 3 bilety na 18:20
+# intent: inform
+# slots: poproszę3:quantity,na18:20:time
+1 poproszÄ™ inform B-quantity
+2 3 inform I-quantity
+3 bilety inform NoLabel
+4 na inform B-time
+5 18:20 inform I-time
+
+# text: na środku
+# intent: inform
+# slots: naśrodku:area
+1 na inform B-area
+2 środku inform I-area
+
+# text: poproszÄ™ jeszcze jedno miejsce obok
+# intent: inform
+# slots: jeszczjednomiejsce:goal
+1 poproszÄ™ inform NoLabel
+2 jeszcze inform B-goal
+3 jedno inform I-goal
+4 miejsce inform I-goal
+5 obok inform NoLabel
+
+# text: dziekuje
+# intent: thankyou
+# slots:
+1 dziekuje thankyou NoLabel
+
+# text: do widzenia
+# intent: bye
+# slots:
+1 do bye NoLabel
+2 widzenia bye NoLabel
+
+# text: co dziÅ› leci
+# intent: reqmore inform
+# slots: co:goal,dziÅ›:date
+1 co reqmore inform B-goal
+2 dziÅ› reqmore inform B-date
+3 leci reqmore inform NoLabel
+
+# text: co jest dobre dla dzieci
+# intent: reqmore
+# slots:
+1 co reqmore NoLabel
+2 jest reqmore NoLabel
+3 dobre reqmore NoLabel
+4 dla reqmore NoLabel
+5 dzieci reqmore NoLabel
+
+# text: poproszÄ™ 2 na to nie wypanda
+# intent: inform
+# slots: 2:quantity,toniewypanda:title
+1 poproszÄ™ inform NoLabel
+2 2 inform B-quantity
+3 na inform NoLabel
+4 to inform B-title
+5 nie inform I-title
+6 wypanda inform I-title
+
+# text: a z przodu gdzieÅ›
+# intent: inform
+# slots: zprzodu:area
+1 a inform NoLabel
+2 z inform B-area
+3 przodu inform I-area
+4 gdzieÅ› inform NoLabel
+
+# text: eee a o której
+# intent: request
+# slots: októrej:goal
+1 eee request NoLabel
+2 a request NoLabel
+3 o request B-goal
+4 której request B-goal
+
+# text: dzień dobry
+# intent: hello
+# slots:
+1 dzień hello NoLabel
+2 dobry hello NoLabel
+
+# text: chciałabym zarezerwować bilet do kina
+# intent: inform
+# slots: zarezerwować:goal
+1 chciałabym inform NoLabel
+2 zarezerwować inform B-goal
+3 bilet inform NoLabel
+4 do inform NoLabel
+5 kina inform NoLabel
+
+# text: wyjdż za mnie
+# intent: inform
+# slots:
+1 wyjdż inform NoLabel
+2 za inform NoLabel
+3 mnie inform NoLabel
+
+# text: the batman
+# intent: inform
+# slots: thebatman:title
+1 the inform B-title
+2 batman inform I-title
+
+# text: dziÅ› wieczorem
+# intent: inform
+# slots: dziÅ›:date,wieczorem:interval
+1 dziÅ› inform B-date
+2 wieczorem inform B-interval
+
+# text: proszÄ™ o godzinie 20:15
+# intent: inform
+# slots: ogodzinie20:15:time
+1 proszÄ™ inform NoLabel
+2 o inform B-time
+3 godzinie inform I-time
+4 20:15 inform I-time
+
+# text: z tyłu na środku (aby ekran był centralnie widoczny)
+# intent: inform
+# slots: ztyłunaśrodku:area
+1 z inform B-area
+2 tyłu inform I-area
+3 na inform I-area
+4 środku inform I-area
+5 (aby inform NoLabel
+6 ekran inform NoLabel
+7 był inform NoLabel
+8 centralnie inform NoLabel
+9 widoczny) inform NoLabel
+
+# text: dobrze dziękuję
+# intent: thankyou
+# slots:
+1 dobrze thankyou NoLabel
+2 dziękuję thankyou NoLabel
+
+# text: cześć
+# intent: hello
+# slots:
+1 cześć hello NoLabel
+
+# text: chciałbym sprawdzić repertuar kin
+# intent: reqmore
+# slots:
+1 chciałbym reqmore NoLabel
+2 sprawdzić reqmore B-goal
+3 repertuar reqmore I-goal
+4 kin reqmore NoLabel
+
+# text: na dzisiaj
+# intent: inform
+# slots: dzisiaj:date
+1 na inform NoLabel
+2 dzisiaj inform B-date
+
+# text: witam
+# intent: hello
+# slots:
+1 witam hello NoLabel
+
+# text: jakie sš najbliższe seanse
+# intent: reqmore
+# slots: najbliższeseanse:goal
+1 jakie reqmore NoLabel
+2 sš reqmore NoLabel
+3 najbliższe reqmore B-goal
+4 seanse reqmore I-goal
+
+# text: w jakim to kinie
+# intent: reqmore
+# slots:
+1 w reqmore NoLabel
+2 jakim reqmore NoLabel
+3 to reqmore NoLabel
+4 kinie reqmore NoLabel
+
+# text: a gdzie jest to kino
+# intent: reqmore
+# slots:
+1 a reqmore NoLabel
+2 gdzie reqmore NoLabel
+3 jest reqmore NoLabel
+4 to reqmore NoLabel
+5 kino reqmore NoLabel
+
+# text: ile kosztujš bilety na inni ludzie
+# intent: reqmore
+# slots: inniludzie:title
+1 ile reqmore NoLabel
+2 kosztujš reqmore NoLabel
+3 bilety reqmore NoLabel
+4 na reqmore NoLabel
+5 inni reqmore B-title
+6 ludzie reqmore I-title
+
+# text: oba
+# intent: inform
+# slots:
+1 oba inform NoLabel
+
+# text: a w jaki dzień bilety sš tańsze
+# intent: reqmore
+# slots:
+1 a reqmore NoLabel
+2 w reqmore NoLabel
+3 jaki reqmore NoLabel
+4 dzień reqmore NoLabel
+5 bilety reqmore NoLabel
+6 sš reqmore NoLabel
+7 tańsze reqmore NoLabel
+
+# text: w takim razie chciałbym zarezerwować dwa bilety na czwartek na film inni ludzie
+# intent: inform
+# slots: dwa:quantity,inniludzie:title
+1 w inform NoLabel
+2 takim inform NoLabel
+3 razie inform NoLabel
+4 chciałbym inform NoLabel
+5 zarezerwować inform NoLabel
+6 dwa inform B-quantity
+7 bilety inform NoLabel
+8 na inform NoLabel
+9 czwartek inform NoLabel
+10 na inform NoLabel
+11 film inform NoLabel
+12 inni inform B-title
+13 ludzie inform I-title
+
+# text: jeden normalny i ulgowy
+# intent: inform
+# slots: jedenormalnyiulgowyn:quantity
+1 jeden inform B-quantity
+2 normalny inform I-quantity
+3 i inform I-quantity
+4 ulgowy inform I-quantity
+
+# text: na środku sali
+# intent: inform
+# slots: naśrodku:area
+1 na inform B-area
+2 środku inform I-area
+3 sali inform NoLabel
+
+# text: chciałem zarezerwować dwa miejsca
+# intent: reqmore
+# slots: zarezerwować:goal,dwa:quantity
+1 chciałem reqmore NoLabel
+2 zarezerwować reqmore B-goal
+3 dwa reqmore B-quantity
+4 miejsca reqmore NoLabel
+
+# text: zgadzam siÄ™
+# intent: infrom
+# slots:
+1 zgadzam infrom NoLabel
+2 siÄ™ infrom NoLabel
+
+# text: tak
+# intent: inform
+# slots:
+1 tak inform NoLabel
+
+# text: jaki jest koszt tej rezerwacji
+# intent: reqmore
+# slots:
+1 jaki reqmore NoLabel
+2 jest reqmore NoLabel
+3 koszt reqmore NoLabel
+4 tej reqmore NoLabel
+5 rezerwacji reqmore NoLabel
+
+# text: a ile kosztuje bilety Å‚Ä…cznie
+# intent: reqmore
+# slots:
+1 a reqmore NoLabel
+2 ile reqmore NoLabel
+3 kosztuje reqmore NoLabel
+4 bilety reqmore NoLabel
+5 Å‚Ä…cznie reqmore NoLabel
+
+# text: ok dziękuję
+# intent: ack
+# slots:
+1 ok ack NoLabel
+2 dziękuję ack NoLabel
+
+# text: witam
+# intent: hello
+# slots:
+1 witam hello NoLabel
+
+# text: chciałbym zarezerwować bilet ale nie wiem na co
+# intent: inform
+# slots: zarezerwować:goal
+1 chciałbym inform NoLabel
+2 zarezerwować inform B-goal
+3 bilet inform NoLabel
+4 ale inform NoLabel
+5 nie inform NoLabel
+6 wiem inform NoLabel
+7 na inform NoLabel
+8 co inform NoLabel
+
+# text: czy film historia mojej żony jest ciekawy
+# intent: reqmore
+# slots:
+1 czy reqmore NoLabel
+2 film reqmore NoLabel
+3 historia reqmore B-title
+4 mojej reqmore I-title
+5 żony reqmore I-title
+6 jest reqmore NoLabel
+7 ciekawy reqmore NoLabel
+
+# text: dobrze to poproszÄ™
+# intent: inform
+# slots:
+1 dobrze inform NoLabel
+2 to inform NoLabel
+3 poproszÄ™ inform NoLabel
+
+# text: ulgowy
+# intent: inform
+# slots:
+1 ulgowy inform NoLabel
+
+# text: czy jest jakaÅ› maksymalna liczba
+# intent: reqmore
+# slots:
+1 czy reqmore NoLabel
+2 jest reqmore NoLabel
+3 jakaÅ› reqmore NoLabel
+4 maksymalna reqmore NoLabel
+5 liczba reqmore NoLabel
+
+# text: to poproszÄ™ 100
+# intent: inform
+# slots:
+1 to inform NoLabel
+2 poproszÄ™ inform NoLabel
+3 100 inform NoLabel
+
+# text: tak jak powiedziałem ulgowe
+# intent: inform
+# slots:
+1 tak inform NoLabel
+2 jak inform NoLabel
+3 powiedziałem inform NoLabel
+4 ulgowe inform NoLabel
+
+# text: środek sali
+# intent: inform
+# slots: środek:area
+1 środek inform B-area
+2 sali inform NoLabel
+
+# text: tak
+# intent: confirm
+# slots:
+1 tak confirm NoLabel
+
+# text: nie dziękuje
+# intent: negate confirm
+# slots:
+1 nie negate confirm NoLabel
+2 dziękuje negate confirm NoLabel
+
+# text: dzień dobry
+# intent: hello
+# slots:
+1 dzień hello NoLabel
+2 dobry hello NoLabel
+
+# text: chciałbym zarezerwować seans bilet na seans
+# intent: inform
+# slots: zarezerwować:goal
+1 chciałbym inform NoLabel
+2 zarezerwować inform B-goal
+3 seans inform NoLabel
+4 bilet inform NoLabel
+5 na inform NoLabel
+6 seans inform NoLabel
+
+# text: jakie filmy sÄ… obecnie na ekranach
+# intent: reqmore
+# slots: jakeifilmysÄ…obecnie:goal
+1 jakie reqmore B-goal
+2 filmy reqmore I-goal
+3 sÄ… reqmore I-goal
+4 obecnie reqmore I-goal
+5 na reqmore NoLabel
+6 ekranach reqmore NoLabel
+
+# text: sobota
+# intent: inform
+# slots: sobota:date
+1 sobota inform B-date
+
+# text: poproszÄ™ 2 bilety na innych ludzi
+# intent: inform
+# slots: poproszę2:quantity,innychludzi:title
+1 poproszÄ™ inform B-quantity
+2 2 inform I-quantity
+3 bilety inform NoLabel
+4 na inform NoLabel
+5 innych inform B-title
+6 ludzi inform I-title
+
+# text: jeden ulgowy i jeden zwykły
+# intent: inform infrom
+# slots: jeden:quantity,jeden:quantity
+1 jeden inform infrom B-quantity
+2 ulgowy inform infrom NoLabel
+3 i inform infrom NoLabel
+4 jeden inform infrom B-quantity
+5 zwykły inform infrom NoLabel
+
+# text: na środku sali
+# intent: infrom
+# slots: naśrodku:area
+1 na infrom B-area
+2 środku infrom I-area
+3 sali infrom NoLabel
+
+# text: pewnie
+# intent: ack
+# slots:
+1 pewnie ack NoLabel
+
+# text: czy te miejsca sš obok siebie
+# intent: reqmore
+# slots:
+1 czy reqmore NoLabel
+2 te reqmore NoLabel
+3 miejsca reqmore NoLabel
+4 sš reqmore NoLabel
+5 obok reqmore NoLabel
+6 siebie reqmore NoLabel
+
+# text: dzień dobry
+# intent: hello
+# slots:
+1 dzień hello NoLabel
+2 dobry hello NoLabel
+
+# text: chciałabym zarezerwować bilety
+# intent: inform
+# slots:
+1 chciałabym inform NoLabel
+2 zarezerwować inform NoLabel
+3 bilety inform NoLabel
+
+# text: jaki film jest grany jutro w godzinach popołudniowych
+# intent: request
+# slots: jutro:date,popołudniowych:interval
+1 jaki request NoLabel
+2 film request NoLabel
+3 jest request NoLabel
+4 grany request NoLabel
+5 jutro request B-date
+6 w request NoLabel
+7 godzinach request NoLabel
+8 popołudniowych request B-interval
+
+# text: czy sš wcześniejsze seanse
+# intent: reqmore
+# slots: wcześniejszeseanse:goal
+1 czy reqmore NoLabel
+2 sš reqmore NoLabel
+3 wcześniejsze reqmore B-goal
+4 seanse reqmore I-goal
+
+# text: w takim razie chcę zarezerwować bilety na psie pazury
+# intent: inform
+# slots: zarezerwować:goal,psepazury:title
+1 w inform NoLabel
+2 takim inform NoLabel
+3 razie inform NoLabel
+4 chcÄ™ inform NoLabel
+5 zarezerwować inform B-goal
+6 bilety inform NoLabel
+7 na inform NoLabel
+8 psie inform B-title
+9 pazury inform I-title
+
+# text: komu przysługuje ulga
+# intent: nan
+# slots:
+1 komu NoLabel
+2 przysługuje NoLabel
+3 ulga NoLabel
+
+# text: kim jest senior
+# intent: nan
+# slots:
+1 kim NoLabel
+2 jest NoLabel
+3 senior NoLabel
+
+# text: w takim razie chcę zarezerwować normalne bilety na psie pazury
+# intent: inform
+# slots: zarezerwować:goal,psiepazury:title
+1 w inform NoLabel
+2 takim inform NoLabel
+3 razie inform NoLabel
+4 chcÄ™ inform NoLabel
+5 zarezerwować inform B-goal
+6 normalne inform NoLabel
+7 bilety inform NoLabel
+8 na inform B-title
+9 psie inform I-title
+10 pazury inform I-title
+
+# text: na środku
+# intent: inform
+# slots: naśrodku:area
+1 na inform B-area
+2 środku inform I-area
+
+# text: 3
+# intent: inform
+# slots: 3:quantity
+1 3 inform B-quantity
+
+# text: tak
+# intent: ack
+# slots:
+1 tak ack NoLabel
+
+# text: ale chciałam 3 bilety
+# intent: negate
+# slots: 3:quantity
+1 ale negate NoLabel
+2 chciałam negate NoLabel
+3 3 negate B-quantity
+4 bilety negate NoLabel
+
+# text: zgadzam siÄ™
+# intent: ack
+# slots:
+1 zgadzam ack NoLabel
+2 siÄ™ ack NoLabel
+
+# text: tak
+# intent: ack
+# slots:
+1 tak ack NoLabel
+
+# text: nier
+# intent: negate
+# slots:
+1 nier negate NoLabel
+
+# text: tak
+# intent: ack
+# slots:
+1 tak ack NoLabel
+
+# text: nie
+# intent: nan
+# slots:
+1 nie NoLabel
+
+# text: dzień dobry
+# intent: hello
+# slots:
+1 dzień hello NoLabel
+2 dobry hello NoLabel
+
+# text: chciałbym dowiedzieć się jaki jest aktualnie repertuar
+# intent: request
+# slots: jakijestaktualnierepertuar:goal
+1 chciałbym request NoLabel
+2 dowiedzieć request NoLabel
+3 siÄ™ request NoLabel
+4 jaki request B-goal
+5 jest request I-goal
+6 aktualnie request I-goal
+7 repertuar request I-goal
+
+# text: jutro jest w repertuarze film inni ludzie
+# intent: request
+# slots: jutro:date,inniludzie:title
+1 jutro request B-date
+2 jest request NoLabel
+3 w request NoLabel
+4 repertuarze request NoLabel
+5 film request NoLabel
+6 inni request B-title
+7 ludzie request I-title
+
+# text: ile kosztuje bilet na ten film
+# intent: request
+# slots:
+1 ile request NoLabel
+2 kosztuje request NoLabel
+3 bilet request NoLabel
+4 na request NoLabel
+5 ten request NoLabel
+6 film request NoLabel
+
+# text: ulogwy
+# intent: nan
+# slots:
+1 ulogwy NoLabel
+
+# text: w górnej części sali
+# intent: inform
+# slots: górnejczęści:area
+1 w inform NoLabel
+2 górnej inform B-area
+3 części inform I-area
+4 sali inform NoLabel
+
+# text: gdzie znajduje się to miejsce względem ekranu
+# intent: reqmore
+# slots:
+1 gdzie reqmore NoLabel
+2 znajduje reqmore NoLabel
+3 siÄ™ reqmore NoLabel
+4 to reqmore NoLabel
+5 miejsce reqmore NoLabel
+6 względem reqmore NoLabel
+7 ekranu reqmore NoLabel
+
+# text: chciałbym na środku
+# intent: inform
+# slots: naśrodku:area
+1 chciałbym inform NoLabel
+2 na inform B-area
+3 środku inform I-area
+
+# text: zgadzam
+# intent: ack
+# slots:
+1 zgadzam ack NoLabel
+
+# text: jaka jest cena
+# intent: reqmore
+# slots:
+1 jaka reqmore NoLabel
+2 jest reqmore NoLabel
+3 cena reqmore NoLabel
+
+# text: dobrze rezerwuje
+# intent: ack
+# slots:
+1 dobrze ack NoLabel
+2 rezerwuje ack NoLabel
+
+# text: chciałbym anulować rezerwację
+# intent: deny
+# slots:
+1 chciałbym deny NoLabel
+2 anulować deny NoLabel
+3 rezerwacjÄ™ deny NoLabel
+
+# text: dziekuje
+# intent: bye
+# slots:
+1 dziekuje bye NoLabel
+
+# text: cześć
+# intent: hello
+# slots:
+1 cześć hello NoLabel
+
+# text: co można u was zjeść
+# intent: request
+# slots:
+1 co request NoLabel
+2 można request NoLabel
+3 u request NoLabel
+4 was request NoLabel
+5 zjeść request NoLabel
+
+# text: co można obejrzeć w kwietniu
+# intent: request
+# slots: comożnaobejrzeć:goal
+1 co request B-goal
+2 można request I-goal
+3 obejrzeć request I-goal
+4 w request NoLabel
+5 kwietniu request B-interval
+
+# text: kiedy gracie dkf zamek
+# intent: request
+# slots: kiedygracie:goal
+1 kiedy request B-goal
+2 gracie request I-goal
+3 dkf request NoLabel
+4 zamek request NoLabel
+
+# text: poproszÄ™ dwa bilety ulgowe na 25/04/2022 12:15 15:50
+# intent: inform
+# slots: poproszędwa:quantity,12:15:time
+1 poproszÄ™ inform B-quantity
+2 dwa inform I-quantity
+3 bilety inform NoLabel
+4 ulgowe inform NoLabel
+5 na inform NoLabel
+6 25.04.2022 inform B-date
+7 12:15 inform B-time
+8 15:50 inform B-time
+
+# text: pierwszy rzšd po lewej stronie
+# intent: inform
+# slots: pierwszyrzšdpopolewej:area
+1 pierwszy inform B-area
+2 rzšd inform I-area
+3 po inform I-area
+4 lewej inform I-area
+5 stronie inform NoLabel
+
+# text: tak
+# intent: ack
+# slots:
+1 tak ack NoLabel
+
+# text: zgadzam siÄ™
+# intent: ack
+# slots:
+1 zgadzam ack NoLabel
+2 siÄ™ ack NoLabel
+
+# text: jaki jest numer mojej rezerwacji
+# intent: reqmore
+# slots:
+1 jaki reqmore NoLabel
+2 jest reqmore NoLabel
+3 numer reqmore NoLabel
+4 mojej reqmore NoLabel
+5 rezerwacji reqmore NoLabel
+
+# text: dziękuję systemie
+# intent: thankyou
+# slots:
+1 dziękuję thankyou NoLabel
+2 systemie thankyou NoLabel
+
+# text: siema
+# intent: hello
+# slots:
+1 siema hello NoLabel
+
+# text: chcę iść do kina
+# intent: inform
+# slots:
+1 chcÄ™ inform NoLabel
+2 iść inform NoLabel
+3 do inform NoLabel
+4 kina inform NoLabel
+
+# text: co gracie
+# intent: request
+# slots:
+1 co request NoLabel
+2 gracie request NoLabel
+
+# text: to na fdantastyczne zwierznera prosze
+# intent: inform
+# slots: fdantastycznezwierznera:title
+1 to inform NoLabel
+2 na inform NoLabel
+3 fdantastyczne inform B-title
+4 zwierznera inform I-title
+5 prosze inform NoLabel
+
+# text: a co macie
+# intent: request
+# slots:
+1 a request NoLabel
+2 co request NoLabel
+3 macie request NoLabel
+
+# text: a na za tydzień
+# intent: request
+# slots: zatydzień:interval
+1 a request NoLabel
+2 na request NoLabel
+3 za request B-interval
+4 tydzień request I-interval
+
+# text: to na za tydzień na cud guadalupe proszę
+# intent: inform
+# slots: zatydzień:interval:cudguadalupe:title
+1 to inform NoLabel
+2 na inform NoLabel
+3 za inform B-interval
+4 tydzień inform I-interval
+5 na inform NoLabel
+6 cud inform B-title
+7 guadalupe inform I-title
+8 proszÄ™ inform NoLabel
+
+# text: to na coÅ› innego
+# intent: request
+# slots:
+1 to request NoLabel
+2 na request NoLabel
+3 coÅ› request NoLabel
+4 innego request NoLabel
+
+# text: dzisiaj
+# intent: inform
+# slots: dzisiaj:date
+1 dzisiaj inform B-date
+
+# text: zaskocz mnie
+# intent: null
+# slots:
+1 zaskocz null NoLabel
+2 mnie null NoLabel
+
+# text: no to jakoś niech będzie jakoś to będzie
+# intent: inform
+# slots: jakośtobędzie:title
+1 no inform NoLabel
+2 to inform NoLabel
+3 jakoÅ› inform NoLabel
+4 niech inform NoLabel
+5 będzie inform NoLabel
+6 jakoÅ› inform NoLabel
+7 to inform B-title
+8 będzie inform I-title
+
+# text: jeden dla mnie drugi dla kota
+# intent: nan
+# slots: jeden:quantity,drugi:quantity
+1 jeden B-quantity
+2 dla NoLabel
+3 mnie NoLabel
+4 drugi B-quantity
+5 dla NoLabel
+6 kota NoLabel
+
+# text: to jeden będzie
+# intent: infrom
+# slots: jeden:quantity
+1 to infrom NoLabel
+2 jeden infrom B-quantity
+3 będzie infrom NoLabel
+
+# text: normalny
+# intent: null
+# slots:
+1 normalny null NoLabel
+
+# text: na środku gdzieś
+# intent: inform
+# slots: naśrodku:area
+1 na inform B-area
+2 środku inform I-area
+3 gdzieÅ› inform NoLabel
+
+# text: niech będzie
+# intent: ack
+# slots:
+1 niech ack NoLabel
+2 będzie ack NoLabel
+
+# text: jakieś potwierdzenie rezerwacji dostanę czy mogę po prostu wejść i usišść
+# intent: request
+# slots:
+1 jakieÅ› request NoLabel
+2 potwierdzenie request NoLabel
+3 rezerwacji request NoLabel
+4 dostanÄ™ request NoLabel
+5 czy request NoLabel
+6 mogÄ™ request NoLabel
+7 po request NoLabel
+8 prostu request NoLabel
+9 wejść request NoLabel
+10 i request NoLabel
+11 usišść request NoLabel
+
+# text: wybieram batmana o 16:20
+# intent: inform
+# slots: batmana:title,o16:20:time
+1 wybieram inform NoLabel
+2 batmana inform B-title
+3 o inform B-time
+4 16:20 inform I-time
+
+# text: wybieram na noże o 9:30
+# intent: inform
+# slots: nanoże:title,o9:30:time
+1 wybieram inform NoLabel
+2 na inform B-title
+3 noże inform I-title
+4 o inform B-time
+5 09:30 inform I-time
+
+# text: wybieram batmana gdzieÅ› wieczorem
+# intent: inform
+# slots: batmana:title,wieczorem:interval
+1 wybieram inform NoLabel
+2 batmana inform B-title
+3 gdzieÅ› inform NoLabel
+4 wieczorem inform B-interval
+
+# text: wybieram na noże o 9:30
+# intent: inform
+# slots: nanoże:title,o9:30:time
+1 wybieram inform NoLabel
+2 na inform B-title
+3 noże inform I-title
+4 o inform B-time
+5 09:30 inform I-time
+
+# text: wybieram batmana w nocy
+# intent: inform
+# slots: batmana:title,wnocy:interval
+1 wybieram inform NoLabel
+2 batmana inform B-title
+3 w inform B-interval
+4 nocy inform I-interval
+
+# text: wybieram na noże o 9:30
+# intent: inform
+# slots: nanoże:title,o9:30:time
+1 wybieram inform NoLabel
+2 na inform B-title
+3 noże inform I-title
+4 o inform B-time
+5 09:30 inform I-time
+
+# text: wybieram ups 2 o godzinie 10:45
+# intent: inform
+# slots: ups2:title,ogodzinie10:45:time
+1 wybieram inform NoLabel
+2 ups inform B-title
+3 2 inform I-title
+4 o inform B-time
+5 godzinie inform I-time
+6 10:45 inform I-time
+
+# text: chcę iść na matki rówonegłe o 21:30
+# intent: inform
+# slots: matkirówonegłe:title,o21:30:time
+1 chcÄ™ inform NoLabel
+2 iść inform NoLabel
+3 na inform NoLabel
+4 matki inform B-title
+5 rówonegłe inform I-title
+6 o inform B-time
+7 21:30 inform I-time
+
+# text: wybierz mi film pod tytułem inni ludzie
+# intent: inform
+# slots: inniludzie:title
+1 wybierz inform NoLabel
+2 mi inform NoLabel
+3 film inform NoLabel
+4 pod inform NoLabel
+5 tytułem inform NoLabel
+6 inni inform B-title
+7 ludzie inform I-title
+
+# text: chcÄ™ uncharted
+# intent: inform
+# slots: uncharted:title
+1 chcÄ™ inform NoLabel
+2 uncharted inform B-title
+
+# text: idÄ™ na 12:45
+# intent: inform
+# slots: na12:45:time
+1 idÄ™ inform NoLabel
+2 na inform B-time
+3 12:45 inform I-time
+
+# text: idÄ™ na pierwszÄ… na batmana
+# intent: inform
+# slots: pierwszÄ…:time,batmana:title
+1 idÄ™ inform NoLabel
+2 na inform NoLabel
+3 pierwszÄ… inform B-time
+4 na inform NoLabel
+5 batmana inform B-title
+
+# text: idÄ™ na drugÄ… na batmana
+# intent: inform
+# slots: drugÄ…:time,batmana:title
+1 idÄ™ inform NoLabel
+2 na inform NoLabel
+3 drugÄ… inform B-time
+4 na inform NoLabel
+5 batmana inform B-title
+
+# text: idę na trzecią na na noże
+# intent: inform
+# slots: trzecią:time,nanoże:title
+1 idÄ™ inform NoLabel
+2 na inform NoLabel
+3 trzeciÄ… inform B-time
+4 na inform NoLabel
+5 na inform B-title
+6 noże inform I-title
+
+# text: ten o czwartej
+# intent: inform
+# slots: oczwartej:time
+1 ten inform NoLabel
+2 o inform B-time
+3 czwartej inform I-time
+
+# text: matki równoległe dwunasta
+# intent: inform
+# slots: matkirównoległe:title,dwunasta:time
+1 matki inform B-title
+2 równoległe inform I-title
+3 dwunasta inform B-time
+
+# text: na noże
+# intent: inform
+# slots: nanoże:title
+1 na inform B-title
+2 noże inform I-title
+
+# text: ambulans
+# intent: inform
+# slots: ambulans:title
+1 ambulans inform B-title
+
+# text: wybierz to nie wypada
+# intent: inform
+# slots: toniewypada:title
+1 wybierz inform NoLabel
+2 to inform B-title
+3 nie inform I-title
+4 wypada inform I-title
+
+# text: dwa siedzenia
+# intent: inform
+# slots: dwa:quantity
+1 dwa inform B-quantity
+2 siedzenia inform NoLabel
+
+# text: jedno
+# intent: inform
+# slots: jedno:quantity
+1 jedno inform B-quantity
+
+# text: trzy bileciki na 19:00 na batmana na środku
+# intent: inform
+# slots: trzy:quantity,na19:00:time,batmana:title,naśrodku:area
+1 trzy inform B-quantity
+2 bileciki inform NoLabel
+3 na inform B-time
+4 19:00 inform I-time
+5 na inform NoLabel
+6 batmana inform B-title
+7 na inform B-area
+8 środku inform I-area
+
+# text: cztery
+# intent: inform
+# slots: cztery:quantity
+1 cztery inform B-quantity
+
+# text: pięc biletów poproszę
+# intent: inform
+# slots: pięc:quantity
+1 pięc inform B-quantity
+2 biletów inform NoLabel
+3 poproszÄ™ inform NoLabel
+
+# text: poproszÄ™
+# intent: inform
+# slots:
+1 poproszÄ™ inform NoLabel
+
+# text: h1 h2 h3
+# intent: inform
+# slots: h1h2h3:seats
+1 h1 inform B-seats
+2 h2 inform I-seats
+3 h3 inform I-seats
+
+# text: chcę wybrać 3 bilety miejsca h3 h4 h5
+# intent: inform
+# slots: 3:quantity,h3h4h5:seats
+1 chcÄ™ inform NoLabel
+2 wybrać inform NoLabel
+3 3 inform B-quantity
+4 bilety inform NoLabel
+5 miejsca inform NoLabel
+6 h3 inform B-seats
+7 h4 inform I-seats
+8 h5 inform I-seats
+
+# text: daj mi trzy bilety na seans na godzinÄ™ 19 miejsca a14 a15 a16
+# intent: inform
+# slots: trzy:quantity,nagodzinę19:time,a14a15a16:seats
+1 daj inform NoLabel
+2 mi inform NoLabel
+3 trzy inform B-quantity
+4 bilety inform NoLabel
+5 na inform NoLabel
+6 seans inform NoLabel
+7 na inform B-time
+8 godzinÄ™ inform I-time
+9 19 inform I-time
+10 miejsca inform NoLabel
+11 a14 inform B-seats
+12 a15 inform I-seats
+13 a16 inform I-seats
+
+# text: poproszę jeden bilecik na seans pod tytułem batman miejsca j12
+# intent: inform
+# slots: jeden:quantity,batman:title,j12:seats
+1 poproszÄ™ inform NoLabel
+2 jeden inform B-quantity
+3 bilecik inform NoLabel
+4 na inform NoLabel
+5 seans inform NoLabel
+6 pod inform NoLabel
+7 tytułem inform NoLabel
+8 batman inform B-title
+9 miejsca inform NoLabel
+10 j12 inform B-seats
+
+# text: a10a11
+# intent: inform
+# slots:
+1 a10a11 inform NoLabel
+
+# text: a12 a13
+# intent: inform
+# slots: a12a13:seats
+1 a12 inform B-seats
+2 a13 inform I-seats
+
+# text: z43 z44 z43 z44 z45
+# intent: inform
+# slots: z43z44z43z44z45:seats
+1 z43 inform B-seats
+2 z44 inform I-seats
+3 z43 inform I-seats
+4 z44 inform I-seats
+5 z45 inform I-seats
+
+# text: wybierz j43 k44 l43 c44 d45
+# intent: inform
+# slots: j43k44l43c44d45:seats
+1 wybierz inform NoLabel
+2 j43 inform B-seats
+3 k44 inform I-seats
+4 l43 inform I-seats
+5 c44 inform I-seats
+6 d45 inform I-seats
+
+# text: co gracie wieczorem
+# intent: inform
+# slots: gracie:goal,wieczorem:interval
+1 co inform NoLabel
+2 gracie inform B-goal
+3 wieczorem inform B-interval
+
+# text: co gracie jutro
+# intent: inform
+# slots: gracie:goal,jutro:date
+1 co inform NoLabel
+2 gracie inform B-goal
+3 jutro inform B-date
+
+# text: co gracie po południu
+# intent: inform
+# slots: gracie:goal,popołudniu:interval
+1 co inform NoLabel
+2 gracie inform B-goal
+3 po inform B-interval
+4 południu inform I-interval
+
+# text: co gracie rano
+# intent: inform
+# slots: gracie:goal,rano:interval
+1 co inform NoLabel
+2 gracie inform B-goal
+3 rano inform B-interval
+
+# text: jakie filmy sÄ… wieczorem
+# intent: inform
+# slots: filmy:goal,wieczorem:interval
+1 jakie inform NoLabel
+2 filmy inform B-goal
+3 sÄ… inform NoLabel
+4 wieczorem inform B-interval
+# text: co gracie za trzy dni
+# intent: inform
+# slots: zatrzydni:date
+1 co inform NoLabel
+2 gracie inform NoLabel
+3 za inform B-date
+4 trzy inform I-date
+5 dni inform I-date
+
+# text: co gracie za dwa dni
+# intent: inform
+# slots: zadwadni:date
+1 co inform NoLabel
+2 gracie inform NoLabel
+3 za inform B-date
+4 dwa inform I-date
+5 dni inform I-date
+
+# text: co gracie w sobotÄ™
+# intent: inform
+# slots: wsobotÄ™:date
+1 co inform NoLabel
+2 gracie inform NoLabel
+3 w inform B-date
+4 sobotÄ™ inform I-date
+
+# text: co gracie w niedzielÄ™
+# intent: inform
+# slots: wniedzielÄ™:date
+1 co inform NoLabel
+2 gracie inform NoLabel
+3 w inform B-date
+4 niedzielÄ™ inform I-date
+
+# text: co leci w poniedziałek
+# intent: inform
+# slots: wponiedziałek:date
+1 co inform NoLabel
+2 leci inform NoLabel
+3 w inform B-date
+4 poniedziałek inform I-date
+
+# text: co leci we wtorek
+# intent: inform
+# slots: wewtorek:date
+1 co inform NoLabel
+2 leci inform NoLabel
+3 we inform B-date
+4 wtorek inform I-date
+
+# text: co leci w piÄ…tek
+# intent: inform
+# slots: wpiÄ…tek:date
+1 co inform NoLabel
+2 leci inform NoLabel
+3 w inform B-date
+4 piÄ…tek inform I-date
+
+# text: co jest puszczane w sobotÄ™
+# intent: inform
+# slots: wsobotÄ™:date
+1 co inform NoLabel
+2 jest inform NoLabel
+3 puszczane inform NoLabel
+4 w inform B-date
+5 sobotÄ™ inform I-date
+
+# text: co jest grane w niedzielÄ™ o 12:00
+# intent: inform
+# slots: wniedzielÄ™:date,o12:00:time
+1 co inform NoLabel
+2 jest inform NoLabel
+3 grane inform NoLabel
+4 w inform B-date
+5 niedzielÄ™ inform I-date
+6 o inform B-time
+7 12:00 inform I-time
+
+# text: poproszÄ™ trzy bilety moje miejsca to h1h3h56
+# intent: inform
+# slots:
+1 poproszÄ™ inform NoLabel
+2 trzy inform NoLabel
+3 bilety inform NoLabel
+4 moje inform NoLabel
+5 miejsca inform NoLabel
+6 to inform NoLabel
+7 h1h3h56 inform NoLabel
+
+# text: wymień seansy jutro
+# intent: inform
+# slots: jutro:date
+1 wymień inform NoLabel
+2 seansy inform NoLabel
+3 jutro inform B-date
+
+# text: pojutrze co jest
+# intent: inform
+# slots: pojutrze:date
+1 pojutrze inform B-date
+2 co inform NoLabel
+3 jest inform NoLabel
+
+# text: a co gracie po jutrze
+# intent: inform
+# slots: gracie:goal,pojutrze:date
+1 a inform NoLabel
+2 co inform NoLabel
+3 gracie inform B-goal
+4 po inform B-date
+5 jutrze inform I-date
+
+# text: czy gracie dziÅ› batmana albo na noze
+# intent: inform
+# slots: dziÅ›:date,batmana:title,nanoze:title
+1 czy inform NoLabel
+2 gracie inform NoLabel
+3 dziÅ› inform B-date
+4 batmana inform B-title
+5 albo inform NoLabel
+6 na inform B-title
+7 noze inform I-title
+
+# text: czy w niedzielę gracie na noze lub batman lub piosenki o miłości
+# intent: inform
+# slots: wniedzielÄ™:date,batman:title
+1 czy inform NoLabel
+2 w inform B-date
+3 niedzielÄ™ inform I-date
+4 gracie inform NoLabel
+5 na inform NoLabel
+6 noze inform NoLabel
+7 lub inform NoLabel
+8 batman inform B-title
+9 lub inform NoLabel
+10 piosenki inform NoLabel
+11 o inform NoLabel
+12 miłości inform NoLabel
+
+# text: czy wolne sÄ… miejsca h2 h3
+# intent: inform
+# slots: h2h3:seats
+1 czy inform NoLabel
+2 wolne inform NoLabel
+3 sÄ… inform NoLabel
+4 miejsca inform NoLabel
+5 h2 inform B-seats
+6 h3 inform I-seats