Compare commits
40 Commits
Author | SHA1 | Date | |
---|---|---|---|
9796f8b568 | |||
4747e3bb21 | |||
3c8b0f7e88 | |||
|
a6169d14c1 | ||
|
50429f5cbc | ||
24edd4165e | |||
|
4c1d303555 | ||
|
7c85ecd41f | ||
|
6430f3a8d3 | ||
|
79d1d8be15 | ||
|
09ecf955f6 | ||
|
0cac352a3b | ||
|
4c4d20c222 | ||
101d148175 | |||
|
29f8cb094a | ||
d3a9dacd8f | |||
|
c16fbd98ce | ||
|
47deeca794 | ||
|
1070049371 | ||
|
579602af08 | ||
|
6b34fb466c | ||
|
65bd6c674b | ||
|
0065d342c1 | ||
821f578691 | |||
|
029abd7736 | ||
|
fffd796734 | ||
|
5ea0cedc93 | ||
aeccf04fe8 | |||
8c5a264509 | |||
cf8469875e | |||
117793d93c | |||
5ae2e01569 | |||
e6e13549a1 | |||
7e1462bfbd | |||
1b8c3ffb57 | |||
bf32e11289 | |||
4858c10713 | |||
|
53ddf78dcc | ||
|
4a4fe5d76c | ||
|
60ee88130c |
2
.idea/.gitignore
vendored
Normal file
2
.idea/.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
# Default ignored files
|
||||
/workspace.xml
|
8
.idea/Systemy_DialogowePon15-30.iml
Normal file
8
.idea/Systemy_DialogowePon15-30.iml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<module type="PYTHON_MODULE" version="4">
|
||||
<component name="NewModuleRootManager">
|
||||
<content url="file://$MODULE_DIR$" />
|
||||
<orderEntry type="jdk" jdkName="Python 3.7 (Evaluation)" jdkType="Python SDK" />
|
||||
<orderEntry type="sourceFolder" forTests="false" />
|
||||
</component>
|
||||
</module>
|
6
.idea/inspectionProfiles/profiles_settings.xml
Normal file
6
.idea/inspectionProfiles/profiles_settings.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<component name="InspectionProjectProfileManager">
|
||||
<settings>
|
||||
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||
<version value="1.0" />
|
||||
</settings>
|
||||
</component>
|
4
.idea/misc.xml
Normal file
4
.idea/misc.xml
Normal file
@ -0,0 +1,4 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.7 (Evaluation)" project-jdk-type="Python SDK" />
|
||||
</project>
|
8
.idea/modules.xml
Normal file
8
.idea/modules.xml
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="ProjectModuleManager">
|
||||
<modules>
|
||||
<module fileurl="file://$PROJECT_DIR$/.idea/Systemy_DialogowePon15-30.iml" filepath="$PROJECT_DIR$/.idea/Systemy_DialogowePon15-30.iml" />
|
||||
</modules>
|
||||
</component>
|
||||
</project>
|
6
.idea/vcs.xml
Normal file
6
.idea/vcs.xml
Normal file
@ -0,0 +1,6 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project version="4">
|
||||
<component name="VcsDirectoryMappings">
|
||||
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||
</component>
|
||||
</project>
|
19
data/dialog-01-04-05.tsv
Normal file
19
data/dialog-01-04-05.tsv
Normal file
@ -0,0 +1,19 @@
|
||||
system Witamy w systemie elektronicznej rezerwacji Biletów! W czym mogę pomóc? welcomemsg()&request(akcja)
|
||||
user Dzień dobry, chciałbym pójść dzisiaj do kina, ale nie bardzo nie wiem na co. Czy polecisz mi jakiś seans? hello()&request(seans)
|
||||
system Jaki gatunek filmów najbardziej Cię interesuje? request(gatunek)
|
||||
user Mam ochotę na jakiś film fantasy. inform(gatunek=fantasy)
|
||||
system W najbliższym czasie (najbliższe 2 tygodnie) w naszych kinach grane są następujące filmy z gatunku fantasy: -Avatar -Władca pierścieni: trylogia (wersja reżyserska) -Gwiezdne Wojny: Zemsta Sithów -Interstellar Czy interesuje Cię rezerwacja miejsca na którykolwiek z tych seansów? select(film=[Avatar, Władca pierścieni: trylogia (wersja reżyserska), Gwiezdne Wojny: Zemsta Sithów, Interstellar])
|
||||
user Tak, poproszę bilet na maraton Władcy Pierścieni w wersji reżyserskiej. ack()&inform(movie=Władca pierścieni: trylogia (wersja reżyserska)) ack()&inform(film=Władca pierścieni: trylogia (wersja reżyserska))
|
||||
system Świetny wybór! Którego dnia interesuje Pana/Panią seans, oraz w którym kinie? Kina korzystające z naszego systemu: -MK 51 przy ul. Królowej Jadwigi -MK Stary Browar -Cinema City Franowo affirm()&request(data)&select(kino=[MK 51 przy ul. Królowej Jadwigi, MK Stary Browar, Cinema City Franowo])
|
||||
user Dzisiaj wieczorem w kinie przy ulicy Królowej Jadwigi. inform(data=dzisiaj wieczorem, miejsce=MK 51 przy ul. Królowej Jadwigi)
|
||||
system Dla kina MK przy ul. Królowej Jadwigi film Władcy Pierścieni w wersji reżyserskiej w dniu 30.03.2021 transmitowany jest w następujących godzinach: -18.30 [2D, lektor] -20.15 [2D, lektor] - mało miejsc. inform(dostępne seanse)
|
||||
user Czy jest wersja z napisami w innym kinie w dniu dzisiejszym? reqmore(film z napisami)
|
||||
system Wersje z napisami dla seansu Władca Pierścieni w wersji reżyserskiej w dniu 30.03.2021: -19.15 - kino MK Stary Browar [2D, napisy PL] -20.30 - kino MK Stary Browar [2D, napisy PL] Czy któryś z tych terminów Panu/Pani odpowiada? offer(film=Władca Pierścieni w wersji reżyserskiej, data=30.03.2021)&select(seans=[19.15 - kino MK Stary Browar [2D, napisy PL], 20.30 - kino MK Stary Browar [2D, napisy PL]] )
|
||||
user Proszę bilet na seans w Starym Browarze o godzinie 19.15. ack()&inform(kino=kino MK Stary Browar, godzina=19.15)
|
||||
system Dla seansu o godzinie 19.15 [kino MK Stary Browar sala 3] dostępne są następujące miejsca: <macierz miejsc/img miejsc> które miejsca Pana/Panią interesują? Proszę wskazać miejsca w dowolnej liczbie w formacie rząd-miejsce [np. A-3 oraz A-4] select(miejsca)
|
||||
user D-13 inform(miejsca)
|
||||
system Zarezerwowałem miejsce D-13 w sali 3 w dniu 30.03.2021. Podczas odbioru biletów proszę o podanie kodu rezerwacji: <KOD REZERWACJI> Czy interesuje Pana/Panią jeszcze jakaś rezerwacja? affirm()&inform(kod rezerwacji)&reqmore(inna rezerwacja)
|
||||
user Czy mogę zapłacić online za rezerwację? request(płatność online)
|
||||
system Aby dokonać opłaty za rezerwację prosimy udać się pod adres: <link> używając odpowiedniego kodu rezerwacji. Jednocześnie informuję, że opłacone rezerwacje można odebrać bezpośrednio przed seansem. inform(płatność online)
|
||||
user Dziękuję! thankyou()
|
||||
system Dziękuję za dokonanie rezerwacji. W celu odbioru biletów prosimy o pojawienie się przynajmniej 20 minut przed godziną rozpoczęcia seansu, i przygotowanie kodu rezerwacji. bye()
|
|
17
data/dialog-01-06-02.tsv
Normal file
17
data/dialog-01-06-02.tsv
Normal file
@ -0,0 +1,17 @@
|
||||
system Witamy w systemie elektronicznej rezerwacji Biletów! W czym mogę pomóc? welcomemsg()&request(akcja)
|
||||
user Jakie są premiery w przyszłym tygodniu? request(premiery)
|
||||
system W przyszłym tygodniu (4.04-11.04) premierę mają następujące produkcje: -Dzień Świra -Tarzan -Piraci z Karaibów Czy interesuje Cię rezerwacja miejsca na seans któregoś z tych filmów? offer(premiery=[Dzień Świra, Tarzan, Piraci z Karaibów])
|
||||
user Chciałbym kupić 2 bilety na tarzana inform(bilety=2, film=Tarzan)
|
||||
system Rozumiem. Którego dnia interesuje Pana/Panią seans, oraz w którym kinie? Kina korzystające z naszego systemu: -MK 51 przy ul. Królowej Jadwigi -MK Stary Browar -Cinema City Franowo request(data)&select(kino=[MK 51 przy ul. Królowej Jadwigi, MK Stary Browar, Cinema City Franowo])
|
||||
user MK Stary Browar 12.04.2021 inform(kino=MK Stary Browar, data=12.04.2021)
|
||||
system Oto dostępne godziny seansu Tarzan w Kinie MK Stary Browar dnia 12.04.2021: -17.00 -18.15 -21.15 select(godzina=[17.00, 18.15, 21.15])
|
||||
user 21:12:00 inform(godzina=21.12)
|
||||
system Czy chodziło Ci o godzinę 21.15? expl-conf(godzina=21.15)
|
||||
user Tak ack()
|
||||
system Dla seansu o godzinie 21.15 dostępne są następujące miejsca: <macierz miejsc/img miejsc> które miejsca Pana/Panią interesują? Proszę wskazać liczbę miejsc: 2 w formacie miejsce-rząd [np. A-3 oraz A-4] select(miejsca)
|
||||
user G-12 oraz G-13 inform(miejsca)
|
||||
system Zarezerwowałem miejsca G-12 oraz G-13 w sali 7 w dniu 12.04.2021. Podczas odbioru biletów proszę o podanie kodu rezerwacji: <KOD REZERWACJI> Czy interesuje Pana/Panią jeszcze jakaś rezerwacja? affirm()&reqmore(inna rezerwacja)
|
||||
user Chciałbym zobaczyć moje rezerwacje request(moje rezerwacje)
|
||||
system Rezerwacje użytkownika <id_user>: [G-12, G-13] Data: 12.04.2021 Godzina 21.15 Sala 7 Seans Tarzan. Kod Rezerwacji seansu: <KOD REZERWACJI> To wszystkie rezerwacje. inform(rezerwacje)
|
||||
user Dziękuję, wszysto się zgadza ack()
|
||||
system Dziękuję za dokonanie rezerwacji. W celu odbioru biletów prosimy o pojawienie się przynajmniej 20 minut przed godziną rozpoczęcia seansu, i przygotowanie kodu rezerwacji. bye()
|
|
11
data/dialog-01-10-03.tsv
Normal file
11
data/dialog-01-10-03.tsv
Normal file
@ -0,0 +1,11 @@
|
||||
system Witamy w systemie elektronicznej rezerwacji Biletów! W czym mogę pomóc? welcomemsg()&request(akcja)
|
||||
user Czy można obejrzeć w najbliższym czasie film X? request(info o X)
|
||||
system Jaki termin seansu Pana/Panią interesuje? request(termin)
|
||||
user A jakie terminy są dostępne w tym tygodniu? request(dostępne terminy)
|
||||
system Terminy seansu X dla dni 30.03 - 1.04: -30.03 19.15 - kino MK przy ul. Królowej Jadwigi [2D, napisy PL] -30.03 20.30 - kino MK Stary Browar [2D, napisy PL] -31.03 19.15 - kino MK przy ul. Królowej Jadwigi [2D, napisy PL] -31.03 20.30 - kino MK Stary Browar [2D, napisy PL] -01.04 19.15 - kino MK przy ul. Królowej Jadwigi [2D, napisy PL] -01.04 20.30 - kino MK Stary Browar [2D, napisy PL] Pełen Harmonogram seansów dostępny jest pod tym adresem: <link> select(seans=[30.03 19.15 - kino MK przy ul. Królowej Jadwigi [2D, napisy PL], 30.03 20.30 - kino MK Stary Browar [2D, napisy PL], 31.03 19.15 - kino MK przy ul. Królowej Jadwigi [2D, napisy PL], 31.03 20.30 - kino MK Stary Browar [2D, napisy PL] , 01.04 19.15 - kino MK przy ul. Królowej Jadwigi [2D, napisy PL], 01.04 20.30 - kino MK Stary Browar [2D, napisy PL]])
|
||||
user To chciałbym zarezerwować 4 bilety na ten film 31.03 o 20:30 inform(bilety=4, data=31.03, godzina=20.30)
|
||||
system Dla seansu o godzinie 20.30 [kino MK Stary Browar sala 4] dostępne są następujące miejsca: <macierz miejsc/img miejsc> które miejsca Pana/Panią interesują? Proszę wskazać miejsca w dowolnej liczbie w formacie rząd-miejsce [np. A-3 oraz A-4] select(miejsca)
|
||||
user poproszę miejsca od B-3 do B-6 inform(miejsca)
|
||||
system Zarezerwowałem miejsca B-3, B-4, B-5 oraz B-6 w sali 4 w dniu 31.03.2021 na godzinę 20.30. Podczas odbioru biletów proszę o podanie kodu rezerwacji: <KOD REZERWACJI> Czy interesuje Pana/Panią jeszcze jakaś rezerwacja? affirm()
|
||||
user Dziękuję, to wszystko. thankyou()
|
||||
system Dziękuję za dokonanie rezerwacji. W celu odbioru biletów prosimy o pojawienie się przynajmniej 20 minut przed godziną rozpoczęcia seansu, i przygotowanie kodu rezerwacji. bye()
|
|
11
data/dialog-01-12-01.tsv
Normal file
11
data/dialog-01-12-01.tsv
Normal file
@ -0,0 +1,11 @@
|
||||
system Witamy w systemie elektronicznej rezerwacji Biletów! W czym mogę Panu/Pani pomóc? welcomemsg()&request(akcja)
|
||||
user Chciałbym zarezerwować bilet na najbliższy pokaz Wywiadu z Wampirem. request(rezerwacja, film=Wywiad z Wampirem)
|
||||
system Najbliższe seanse dla filmu Wywiad z Wampirem: -30.03 19.15 - kino MK Stary Browar [2D, napisy PL] -30.03 20.30 - kino MK Stary Browar [2D, lektor] -30.03 21.15 - kino MK przy ul. Królowej Jadwigi [2D, lektor] Czy interesuje Pana którychś z tych terminów? select(seans=[30.03 19.15 - kino MK Stary Browar [2D, napisy PL], 30.03 20.30 - kino MK Stary Browar [2D, lektor], 30.03 21.15 - kino MK przy ul. Królowej Jadwigi [2D, lektor]])
|
||||
user Interesuje mnie godzina 20.30. inform(godzina=20.00)
|
||||
system Dla seansu o godzinie 20.30 dostępne są następujące miejsca: <macierz miejsc/img miejsc> które miejsca Pana/Panią interesują? Proszę wskazać liczbę miejsc: 2 w formacie miejsce-rząd [np. A-3 oraz A-4] request(miejsca)
|
||||
user A-17, A-18 i A-19. inform(miejsca)
|
||||
system Zarezerwowałem miejsca A-17, A-18 oraz A-19 w sali 1 w dniu 30.03.2021 o Godzinie 20.30. Podczas odbioru biletów proszę o podanie kodu rezerwacji: <KOD REZERWACJI> Czy interesuje Pana/Panią jeszcze jakaś rezerwacja? affirm()
|
||||
user Czy są tam udogodnienia dla niepełnosprawnych oraz rodzin z wózkami? request(udogodnienia dla niepełnosprawncyh, udogodnienia dla osób z wózkami dla dzieci)
|
||||
system Nasze kina przystosowane są dla wszystkich widzów. Na legendzie dotyczącej sali w której odbędzie się seans oznaczone są miejsca przystosowane dla osób z niepełnosprawnościami. Czy chciałby Pan/Pani zmodyfikować którąś ze swoich rezerwacji? inform(udogodnienia dla niepełnosprawncyh, udogodnienia dla osób z wózkami dla dzieci)
|
||||
user Nie. To będzie wszystko. Dziękuję za pomoc! : ) ack()&thankyou()
|
||||
system Dziękuję za dokonanie rezerwacji. W celu odbioru biletów prosimy o pojawienie się przynajmniej 20 minut przed godziną rozpoczęcia seansu, i przygotowanie kodu rezerwacji. bye()&inform(odbiór biletów)
|
|
9
data/dialog-01-14-04.tsv
Normal file
9
data/dialog-01-14-04.tsv
Normal file
@ -0,0 +1,9 @@
|
||||
system Witamy w systemie elektronicznej rezerwacji Biletów! W czym mogę pomóc? welcomemsg()&request(akcja)
|
||||
user Chciałbym zarezerwować bilet na film 'X' dnia jutrzejszego o godzinie 18:30 dla rodziny, 2 dorosłych i 2 dzieci request(rezerwacja, film=X, data=jutro, godzina=18.30, bilet_normalny=2, bilet_dziecko=2)
|
||||
system Czy chodzi o film 'X' z Ryanem Goslingiem i Angeliną Jolie, grany o 18.30 w kinie przy ulicy Habrowej 13? confirm-domain(film=X, godzina=18.30, adres=Habrowa 13))
|
||||
user Tak, proszę o bilet w górnej części kina. Jaki będzie koszt? ack()&request(miejsce=górny rząd)&request(cena)
|
||||
system Którego dnia interesuje Pana/Panią seans, oraz w którym kinie? Kina korzystające z naszego systemu: -MK 51 przy ul. Królowej Jadwigi -MK Stary Browar -Cinema City Franowo request(data)&select(kino=[MK 51 przy ul. Królowej Jadwigi, MK Stary Browar, Cinema City Franowo])
|
||||
user Kino MK Stary Browar, dnia jutrzejszego inform(kino=Kino MK Stary Browar, data=jutro)
|
||||
system Podstawowy koszt seansu dla jednej osoby wynosi 22zł, dodatkowo dla filmu X możliwa jest wersja 3D płatna dodatkowo 3zł. inform(cena)
|
||||
user Już wszystko wiem, dziękuję za rozmowę ack()&thankyou()
|
||||
system Dziękuję za rozmowę. bye()
|
|
20
data/dialog-02-01-07.tsv
Normal file
20
data/dialog-02-01-07.tsv
Normal file
@ -0,0 +1,20 @@
|
||||
system Witamy w systemie sprzedaży biletów kinowych. welcomemsg
|
||||
user jakie są dostępne seanse w kinie przy ul. Królowej Jadwigi w Poznaniu w dniu 30.02.2021 request(lista seansów)
|
||||
system W dniu 30.02.2021 nie są dostępne żadne seanse. Możemy za to polecić film “Star Wars: The rise of Skywalker” jutro Inform(lista seansów)
|
||||
user jakie jeszcze seanse są dostępne jutro request(lista seansów)
|
||||
system jutro gramy między innymi filmy: Incepcja, Kocha, lubi, szanuje oraz Gwiezdne wojny: część V – Imperium kontratakuje Inform(lista seansów)
|
||||
user o której leci incepcja request(lista seansów)
|
||||
system Jutro film Incepcja grana jest o godzinach: 13.40 (napisy polskie), 16.00 (napisy polskie) Inform(lista seansów)
|
||||
system Chce Pan/Pani dokonać rezerwacji biletów? request
|
||||
user tak, na 16.00 inform(godzina)
|
||||
system Proszę wybrać rząd od A do G. select(rząd)
|
||||
user B inform(rząd)
|
||||
system Proszę wybrać wolne miejsca [1,2,3,4,5,6,x,x,x,x,11,12,13,14] - znak x oznacza miejsce zajęte select(miejsce)
|
||||
user który rząd jest od góry? request(rząd)
|
||||
system rząd G inform(rząd)
|
||||
user to jednak rząd F inform(rząd)
|
||||
system Proszę wybrać wolne miejsca [1,2,3,4,5,x,x,x,x,x,x,x,13,14] - znak x oznacza miejsce zajęte select(miejsce)
|
||||
user miejsce 4 oraz 5 inform(miejsce)
|
||||
system Rezerwacja została przyjęta. Uprzejmie proszę o odebranie biletów w kasie kina przynajmniej 30 minut przed rozpoczęciem seansu. affirm
|
||||
user dziękuję, to wszystko thankyou
|
||||
system Dziękujemy za skorzystanie z naszych usług! bye
|
|
20
data/dialog-02-03-03.tsv
Normal file
20
data/dialog-02-03-03.tsv
Normal file
@ -0,0 +1,20 @@
|
||||
user Cześć hello
|
||||
system Witamy w systemie sprzedaży biletów kinowych. welcomemsg
|
||||
user Chciałbym zarezerwować salę na seans request(rezerwacja)
|
||||
system Proszę podać datę rezerwacji request(data)
|
||||
user 09.04.2021 inform(data)
|
||||
system Proszę podać godziny rezerwacji (od - do). request(godzina)
|
||||
user 17:00-20:00 inform(godzina)
|
||||
system W tym czasie dostępne są 2 rodzaje sal: mała (50 miejsc) i średnia (100 miejsc). Proszę wybrać rodzaj. Inform & select(sala)
|
||||
user mała inform(sala)
|
||||
system Ile osób będzie brało udział w wydarzeniu? request(ilość osób)
|
||||
user 35 inform(ilość osób)
|
||||
system Proszę podać rodzaj wydarzenia (impreza firmowa, impreza rodzinna, urodziny dziecka). request(rodzaj wydarzenia)
|
||||
user urodziny dziecka inform(rodzaj wydarzenia)
|
||||
system Z jakich usług oferowanych przez Kino będą chcieli państwo korzystać w czasie pobytu (animatorzy, wyżywienie,wypożyczenie sprzętu)? request(oferowane usługi)
|
||||
user wyżywienie inform(wyżywienie)
|
||||
system Rezerwacja sali została przyjęta. Proszę podać numer telefonu w celu dalszego kontaktu. request(numer telefonu)
|
||||
user 123456789 inform(numer telefonu)
|
||||
system Nasz pracownik wkrótce skontaktuje się z państwem w celu omówienia szczegółów i kosztów wydarzenia. affirm
|
||||
user super thankyou
|
||||
system Dziękujemy za skorzystanie z naszych usług! bye
|
|
20
data/dialog-02-05-04.tsv
Normal file
20
data/dialog-02-05-04.tsv
Normal file
@ -0,0 +1,20 @@
|
||||
user Dzień dobry hello
|
||||
system Witamy w systemie sprzedaży biletów kinowych. welcomemsg
|
||||
user Chciałbym zarezerwować bilet request(rezerwacja)
|
||||
system Dzień dobry, proszę podać tytuł filmu request(nazwa filmu)
|
||||
user Minari inform(nazwa filmu)
|
||||
system Proszę podać datę seansu. request(data seansu)
|
||||
user 3.04 inform(data seansu)
|
||||
system Proszę wybrać godzinę seansu: 13.40 (napisy polskie), 16.00 (dubbing) select(godzina seansu)
|
||||
user 13:40 inform(godzina seansu)
|
||||
system Proszę wybrać rząd od A do G. select(rząd)
|
||||
user Którzy rząd znajduje się najdalej ekranu? request(najwyższy rząd)
|
||||
system G inform(rząd)
|
||||
user poproszę rząd G inform(rząd)
|
||||
system Proszę wybrać wolne miejsce [1,2,3,4,5,6,x,x,x,x,11,12,13,14] - znak x oznacza miejsce zajęte select(miejsce)
|
||||
user Poproszę miejsce 11 i 12 inform(miejsce)
|
||||
system Rezerwacja została przyjęta. Uprzejmie proszę o odebranie biletów w kasie kina przynajmniej 30 minut przed rozpoczęciem seansu. affirm
|
||||
user W jakiej formie można dokonać płatność? reqmore(sposób płatności)
|
||||
system Dozwolone metody płatnności w kasie: gotowka, karta płatnicza, BLIK affirm(sposób płatności)
|
||||
user Dziękuję za informację thankyou
|
||||
system Dziękujemy za skorzystanie z naszych usług! bye
|
|
27
data/dialog-02-07-02.tsv
Normal file
27
data/dialog-02-07-02.tsv
Normal file
@ -0,0 +1,27 @@
|
||||
system Witamy w systemie sprzedaży biletów kinowych. welcomemsg
|
||||
user Dzień dobry, jakie są seanse na ten weekend request(lista seansów)
|
||||
system Jakie gatunki najbardziej Cię interesują? Dostępne gatunki: komedia, dramat, thriller, horror. select(gatunek)
|
||||
user wszystkie inform(gatunek)
|
||||
system Polecamy dystopijny film akcji “Matrix”. Trzymająca w napięciu opowieść o życiu w symulacji i o próbie ucieczki z niej. inform(lista seansów)
|
||||
user Jakie filmy są jeszcze grane? request(lista seansów)
|
||||
system w ten weekend gramy między innymi filmy: Incepcja, Kocha, lubi, szanuje oraz Gwiezdne wojny: część V – Imperium kontratakuje inform(lista seansów)
|
||||
user Ile dostępnych miejsc zostało na gwiezdne wojny? request(lista miejsc)
|
||||
system Ponad połowa inform(lista miejsc)
|
||||
system Chce Pan/Pani dokonać rezerwacji? request
|
||||
user Tak, chciałabym zarezerwować 25 miejsc inform(ilość miejsc)
|
||||
user W jakich godzinach seans jest dostępny? request(godzina seansu)
|
||||
system 3 kwietnia: 13.40 (napisy polskie), 16.00 (napisy polskie) 4 kwietnia: 10.40 (dubbing), 18.00 (napisy polskie) select(data seansu)
|
||||
user to 3 kwietnia brzmi super inform(data seansu)
|
||||
system Proszę wybrać godzinę seansu: 13.40 (napisy polskie), 16.00 (napisy polskie) select(godzina seansu)
|
||||
user 13:40 inform(godzina seansu)
|
||||
system Proszę wybrać rzędy od A do G. select(rząd)
|
||||
user (25 miejsc) a, b, c ,d ,e ,f ,g x3,5 inform(miejsca)
|
||||
system Proponuję miejsca: [4,5,6] w rzędzie A [4,5,6] w rzędzie B [4,5,6] w rzędzie C [4,5,6,7] w rzędzie D [4,5,6,7] w rzędzie E [4,5,6,7] w rzędzie F [4,5,6,7] w rzędzie G Czy takie miejsca Pani/Panu odpowiadają? select(miejsca)
|
||||
user tak inform(miejsca)
|
||||
system Świetnie. Rezerwacja została przyjęta. Uprzejmie proszę o odebranie biletów w kasie kina przynajmniej 30 minut przed rozpoczęciem seansu. affirm
|
||||
user Czy posiadam jakiś identyfikator rezerwacji? Nie logowałam się do systemu reqmore(identyfikator rezerwacji)
|
||||
system W celu założenia identyfikatora proszę wejść w LINK<tu będzie> inform(założenie identyfikatora)
|
||||
user ok, czy rezerwacja zostanie tam automatycznie przypisana? reqmore(przypisanie rezerwacji)
|
||||
system Tak, zostanie tam Pani/Panu również przypisany nr identyfikatora, który należy okazać w kasie inform(przypisanie identyfikatora)
|
||||
user Ok super, dziękuję thankyou
|
||||
system Dziękujemy za skorzystanie z naszych usług! bye
|
|
24
data/dialog-02-09-05.tsv
Normal file
24
data/dialog-02-09-05.tsv
Normal file
@ -0,0 +1,24 @@
|
||||
user Cześć hello
|
||||
system Witamy w systemie sprzedaży biletów kinowych. welcomemsg
|
||||
user Jakie gracie filmy 31 marca? (inform(date=31-03)&request(list[movie name]))
|
||||
system Jakie gatunki najbardziej Cię interesują? Dostępne gatunki: komedia, dramat, thriller, horror. ((request=genre)&(select=komedia;dramat;thriller;horror))
|
||||
user dramat inform(genre=dramat)
|
||||
system z gatunku dramat 31 marca gramy Skazani na Shawshank ((expl-conf(date=31-03)&(offer(movie=skazani na shawshank))
|
||||
user A jakiś inny film? (deny(movie=skazani na shawshank)&requalts(movie name)
|
||||
system Może film Glenn’a Ficarra i John’a Requa “Kocha, lubi, szanuje”. W rolach główny Emma Stone i Ryan Gosling. Na pewno ten film poprawi Ci humor! offer(movie=Kocha, lubi, szanuje; starring = glenn, john)
|
||||
user To jest komedia? confirm(genre=comedy)
|
||||
system tak (affirm)
|
||||
user a jakiś thriller? ((deny(genre=comedy))&requalts(genre=thriller))
|
||||
system 31 marca gramy film Incepcja z gatunku: thriller (expl-conf(genre=thriller; date=31-03)&offer(movie-name=Incepcja))
|
||||
user To chciałbym zarezerwować dwa bilety ((confirm(genre=thriller; date=31-03,movie-name=Incepcja))&(inform(ticket-quantity =2)))
|
||||
system 31 marca film grany jest o: 13.40 (napisy polskie) i 16.00 (napisy polskie). Proszę wybrać godzinę ((expl-conf(date=31-03;ticket-quantity =2))&select(time=13.40, langopt=subtitles, polish;time=16.00, langopt=subtitles, polish))
|
||||
user o 16 (confirm(time=13.40))
|
||||
system Proszę wybrać rząd od A do G. (impl-conf(time))&(select(row=A..G))
|
||||
user Najwyżej jak się da request(row=max)
|
||||
system Najwyżej jest rząd G expl-conf(row=G)&inform(row=G)
|
||||
system W tym rzędzie wolne miejsca: [1,2,3,4,5,6,x,x,x,x,11,12,13,14] - znak x oznacza miejsce zajęte select (select(seat-nr=[list])
|
||||
user rezerwuje miejsce G3 i G4 inform(seat-nr=parse(G3,G4))
|
||||
system Rezerwacja została przyjęta. Uprzejmie proszę o odebranie biletów w kasie kina przynajmniej 30 minut przed rozpoczęciem seansu. ((impl-conf(seat-nr; reservation=true))&(goodbyeMsg))
|
||||
user Dziękuję to by było wszystko ack&bye
|
||||
system Dziękujemy za skorzystanie z naszych usług! bye
|
||||
|
Can't render this file because it has a wrong number of fields in line 8.
|
14
data/dialog-02-11-06.tsv
Normal file
14
data/dialog-02-11-06.tsv
Normal file
@ -0,0 +1,14 @@
|
||||
system Witamy w systemie sprzedaży biletów kinowych welcomemsg
|
||||
user Chciałbym dokonać rezerwacji miejsca help
|
||||
system Proszę podać nazwę seansu, na który chciałby Pan/Pani zarezerwować miejsce/a request(movie-name)
|
||||
user Ciekawy film 4 inform(movie-name=ciekawy film 4)
|
||||
system Proszę podać datę seansu. (impl-conf(movie-name))&(request(date))
|
||||
user jutro godzina 12:30 (inform(date=tomorrow; time=12.30))
|
||||
system Proszę wybrać rząd od A do G. (impl-conf(date, time))&(select(row=A..G))
|
||||
user G inform(row=g)
|
||||
system Proszę wybrać wolne miejsca [1,2,3,4,5,6,x,x,x,x,11,12,13,14] - znak x oznacza miejsce zajęte impl-conf(row)&(select(seat-nr=[list])
|
||||
user 11 inform(seat-nr=11)
|
||||
system Rezerwacja została przyjęta. Uprzejmie proszę o odebranie biletów w kasie kina przynajmniej 30 minut przed rozpoczęciem seansu. ((impl-conf(seat-nr; reservation=true))&(goodbyeMsg))
|
||||
user Dziękuję ack&bye
|
||||
system Dziękujemy za skorzystanie z naszych usług! bye
|
||||
|
Can't render this file because it has a wrong number of fields in line 6.
|
14
data/dialog-02-13-01.tsv
Normal file
14
data/dialog-02-13-01.tsv
Normal file
@ -0,0 +1,14 @@
|
||||
user Dzień dobry! hello
|
||||
system Witamy w systemie sprzedaży biletów kinowych. welcomemsg
|
||||
user Chciałabym kupić bilet na seans filmowy. help
|
||||
system Proszę podać tytuł seansu request(movie-name)
|
||||
user Star Wars Episode V inform(movie-name=Star Wars Episode V)
|
||||
system Proszę podać datę seansu. (impl-conf(movie-name))&(request(date))
|
||||
user 04.04.2021 (inform(date=04.04.2021))
|
||||
system Proszę wybrać godzinę seansu: 13.40 (napisy polskie), 16.00 (dubbing) (expl-conf(date=04.04.2021))&select(time=13.40, langopt=subtitles, polish;time=16.00, langopt=subtitles, dubbing))
|
||||
user 13:40 (confirm(time=13.40))
|
||||
system Proszę wybrać rząd od A do G. (impl-conf(time))&(select(row=A..G))
|
||||
user D inform(row=g)
|
||||
system Proszę wybrać wolne miejsca [1,2,3,4,5,6,x,x,x,x,11,12,13,14] - znak x oznacza miejsce zajęte impl-conf(row)&(select(seat-nr=[list])
|
||||
user 11 inform(seat-nr=11)
|
||||
system Rezerwacja została przyjęta. Proszę kliknąć w poniższy link żeby przejść do okna płatności https://platnosci.kino.pl ((impl-conf(seat-nr; reservation=true))&(goodbyeMsg))
|
|
24
data/dialog-02-15-08.tsv
Normal file
24
data/dialog-02-15-08.tsv
Normal file
@ -0,0 +1,24 @@
|
||||
user Dzień dobry! hello
|
||||
system Witamy w systemie sprzedaży biletów kinowych. welcomemsg
|
||||
user Chciałabym wynająć salę w terminie 10.04 inform(offertype=rent; date=10-04)
|
||||
user Czy istnieje taka możliwość? reqmore
|
||||
system Tak, Proszę podać godziny rezerwacji (od - do). (inform(offertype=rent; date=10-04))&(request(time=begin, end))
|
||||
user 18-21 inform(time=parse(18-21))
|
||||
system W tym czasie dostępne są 2 rodzaje sal: mała (50 miejsc) i średnia (100 miejsc). Proszę wybrać rodzaj. (expl-conf(time=18, timelast=3h))&(select(roomtype=small, medium))
|
||||
user 50 miejsc wystarczy w zupełności inform(roomtype=small)
|
||||
user Jaki jest koszt wynajęcia takiej sali? request(cost)
|
||||
system Ta informacja zostanie Pani/Panu udzielona po zakończeniu rozmowy deny(cost)
|
||||
system Ile osób będzie brało udział w wydarzeniu? (request(attendants-quantity))
|
||||
user prawdopodobnie 28 inform(attendants-quantity=28)
|
||||
user maksymalnie 31 inform(attendants-quantity=31)
|
||||
system Z jakich usług oferowanych przez Kino będą chcieli państwo korzystać w czasie pobytu (animatorzy, wyżywienie,wypożyczenie sprzętu)? (impl-conf(attendants-quantity))&(select(offertype=rent; offer=animatorzy, wyżywienie,wypożyczenie sprzętu))
|
||||
user Jedynie wyżywienie (inform(offertype=rent; offer=wyzywienie))
|
||||
user Co macie państwo w ofercie? (reqmore(offertype=rent; offer=wyzywienie))
|
||||
user I do kiedy muszę zdecydować się na konkretny film? (reqmore(offertype=rent;movie-name-deadline))
|
||||
system W ofercie są: popcorn, cola, nachosy (offer(offertype=rent; offer=wyzywienie; menu=popcorn, cola, nachosy))
|
||||
system Na konkretny film trzeba się zdecydować najpóźniej 24h przed planowaną rezerwacją (inform(offertype=rent;movie-name-deadline=24h))
|
||||
user W porządku ack
|
||||
user Czy coś jeszcze powinniśmy teraz ustalić? help
|
||||
system Nie, rezerwacja sali została przyjęta pomyśnie. Proszę kliknąć w poniższy link żeby przejść do okna płatności https://platnosci.kino.pl. W razie dodatkowych pytań prosimy o kontakt. (affirm)&(expl-conf(offertype=rent; date=10-04;roomtype=small; offer=wyzywienie)&(impl-conf(payment=https://platnosci.kino.pl))
|
||||
user Dziękuję bardzo bye
|
||||
system Dziękujemy za skorzystanie z naszych usług! bye
|
|
15
data/dialog-03-04-05.tsv
Normal file
15
data/dialog-03-04-05.tsv
Normal file
@ -0,0 +1,15 @@
|
||||
user Dzień dobry chciałbym zmienić termin zakupionej wcześniej rezerwacji. Czy jest to możliwe? Hello & request(zmiana rezerwacji)
|
||||
system Tak jest to możliwe. Proszę podać numer rezerwacji. Affirm & request(numer rezerwacji)
|
||||
user AX34FGN5467 inform(numer rezerwacji)
|
||||
system Rezerwacja AX34FGN5467 dotyczy filmu X którego seans odbywa się 31.03.2021 o godzinie 20:00. Na jaki film ma zostać zmieniona opłacona rezerwacja? Affirm & request(rezerwacja na film)
|
||||
user Jakie seanse odbywają się 14.04.2020 w godzinach wieczornych? request(lista seansów)
|
||||
system Czy chodziło Ci może o rok 2021? ;) Dnia 14.04.2021 odbywają się seanse: Y 18:20 Z 19:50 C 21:30 Inform(lista seasnów) & select(rezerwacja na film)
|
||||
user Chciałbym zmienić rezerwację na film Z o godzinie 19:50 request(rezerwacja na film)
|
||||
system Proszę wybrać rząd od A (na samym dole) do G (na samej górze). select(rząd)
|
||||
user D inform(rząd)
|
||||
system Proszę wybrać wolne miejsca [1 2 3 4 5 6 x x x x 11 12 13 14] - znak x oznacza miejsce zajęte select(miejsce)
|
||||
user 4 inform(miejsce)
|
||||
system Opłacona rezerwacja została zmieniona. Nowy kod to JRWEHQ43 Affirm & inform(kod rezerwacji)
|
||||
system Czy pomóc w czymś jeszcze? reqmore
|
||||
user Nie to wszystko. Dziękuję za pomoc. Negate & thankyou
|
||||
system Zapraszamy ponownie :) bye
|
Can't render this file because it has a wrong number of fields in line 3.
|
13
data/dialog-03-06-02.tsv
Normal file
13
data/dialog-03-06-02.tsv
Normal file
@ -0,0 +1,13 @@
|
||||
user Dzień dobry hello
|
||||
system Witamy w systemie sprzedaży biletów kinowych. welcomemsg
|
||||
user Jakie sa premiery w najblizszym czasie? request(lista seansów)
|
||||
system Najbliższe premiery to: Film X 31.03.2021 Film Y 01.04.2021 Film Z 02.04.2021 inform(lista seansów)
|
||||
user Gdzie w Poznaniu obejrzę Film Y dnia 01.04.2021 request(film)
|
||||
system Seans filmu Y dnia 01.04.2021 będzie odbywać się w Multikinie 51 przy ulicy Królowej Jadwigi 51. Godziny seansu to: 12:40 (napisy polskie) 20:00 (napisy polskie). Inform(film) & select(kupno biletu)
|
||||
user 20:00 inform(kupno biletu)
|
||||
system Czy bilet ma być opłacony teraz czy przy kasie? request(metoda płatności)
|
||||
user Teraz inform(metoda płatności)
|
||||
system Proszę wybrać wolne miejsca [1 2 3 4 5 6 x x x x 11 12 13 14] - znak x oznacza miejsce zajęte select(miejsce)
|
||||
user 5 inform(miejsce)
|
||||
system Rezerwacja została przyjęta. Proszę kliknąć w poniższy link żeby przejść do okna płatności https://platnosci.kino.pl affirm
|
||||
user Dziękuję thankyou
|
Can't render this file because it has a wrong number of fields in line 4.
|
12
data/dialog-03-10-04.tsv
Normal file
12
data/dialog-03-10-04.tsv
Normal file
@ -0,0 +1,12 @@
|
||||
user Jakie filmy będą w kinie w najbliższy piątek? request(lista seansów)
|
||||
system W najbliższy piątek 02.04.2021 odbywają się seanse filmów: X Y Z. Czy życzy sobie Pan zarezerwować miejsce na seans? Inform(lista seanów) & request(rezerwacja na film)
|
||||
user Tak chciałbym kupić 2 bilety na film X Ack & inform(kupno biletów)
|
||||
system Proszę wybrać godzinę seansu: 12:40 (napisy polskie) 20:00 (napisy polskie) select(kupno biletów)
|
||||
user godzina 20 inform(kupno biletów)
|
||||
system Proszę wybrać rząd od A do G. select(rząd)
|
||||
user Chciałbym miejsca w rzędzie który jest jak najwyżej w sali kinowej. reqalts(rzędy)
|
||||
system Najwyższym rzędem jest G. Obecny status miejsc to: [1 2 3 4 5 6 x x x x 11 12 13 14] - znak x oznacza miejsce zajęte Inform(rzędy) & select(rząd)
|
||||
user Niech będą miejsca 4 i 5 inform(rząd)
|
||||
system Rezerwacja została przyjęta. Proszę kliknąć w poniższy link żeby przejść do okna płatności https://platnosci.kino.pl affirm
|
||||
user Dziękuję to wszystko. thankyou
|
||||
system Zapraszamy ponownie :) bye
|
Can't render this file because it has a wrong number of fields in line 2.
|
14
data/dialog-03-12-03.tsv
Normal file
14
data/dialog-03-12-03.tsv
Normal file
@ -0,0 +1,14 @@
|
||||
user Witam hello
|
||||
system Witamy w systemie sprzedaży biletów kinowych. welcomemsg
|
||||
user Chciałbym kupić bilet na najbliższy pokaz Wywiadu z Wampirem. request(zakup biletów)
|
||||
system Najbliższy seans odbywa się 01.04.2021 w godzinach 12:40 (napisy polskie) 20:00 (napisy polskie). Proszę wybrać godzinę. Inform(lista seansów) & select(zakup biletów)
|
||||
user Wolałbym 20.00 inform(zakup biletów)
|
||||
system Proszę wybrać wolne miejsca [1 2 3 4 5 6 x x x x 11 12 13 14] - znak x oznacza miejsce zajęte select(miejsce)
|
||||
user Chciałbym miejsca 5 i 6. inform(miejsce)
|
||||
system Rezerwacja została przyjęta. Proszę kliknąć w poniższy link żeby przejść do okna płatności https://platnosci.kino.pl affirm
|
||||
user Czy możliwa jest płatność blikiem? reqmore(sposób płatności)
|
||||
system Tak. W celu płatności blikiem proszę przejść na stronę: https://platnosci.kino.pl affirm(sposób płatności)
|
||||
user Czy dostanę potwierdzenie płatności? reqmore(potwierdzenie płatności)
|
||||
system Tak. Potwierdzenie płatności zostanie automatycznie wygenerowane w formacie pliku PDF po sfinalizowaniu opłaty i będzie możliwe do pobrania w oknie płatności oraz zostanie wysłane na e-mail Affirm & inform(potwierdzenie płatności)
|
||||
user Dziękuję za pomoc i miłego dnia : ). thankyou
|
||||
system Zapraszamy ponownie :) bye
|
Can't render this file because it has a wrong number of fields in line 4.
|
12
data/dialog-03-14-01.tsv
Normal file
12
data/dialog-03-14-01.tsv
Normal file
@ -0,0 +1,12 @@
|
||||
user Cześć hello
|
||||
system Witamy w systemie sprzedaży biletów kinowych. welcomemsg
|
||||
user Chciałbym zarezerwować bilet na film 'Y' dla 2 osób. Kiedy jest najbliższy seans? request(rezerwacja na film)
|
||||
system Najbliższy seans filmu 'Y' odbywa się 02.04.2021 w godzinach 12:40 (napisy polskie) oraz 20:00 (napisy polskie). Proszę wybrać godzinę. Inform(lista seansów) & select(rezerwacja na film)
|
||||
user Na godzinę 20 miejsca w górnej części Sali inform(rezerwacja na film)
|
||||
system Proszę wybrać wolne miejsca [1 2 3 4 5 6 x x x x 11 12 13 14] - znak x oznacza miejsce zajęte select(miejsce)
|
||||
user miejsca 3 i 4 inform(miejsce)
|
||||
system Rezerwacja została przyjęta. Uprzejmie proszę o odebranie biletów w kasie kina przynajmniej 30 minut przed rozpoczęciem seansu. affirm
|
||||
user Jakie przekąski są w kinie? request(jedzenie)
|
||||
system Kino oferuje: Popcorn - (mały) (średni) (duży). Nachosy - (małe) (średnie) (duże). Napoje - Cola Fanta Sprite: (napój mały) (napój średni) (napój duży). inform(jedzenie)
|
||||
user Już wszystko wiem dziękuję za rozmowę. thankyou
|
||||
system Zapraszamy ponownie! bye
|
Can't render this file because it has a wrong number of fields in line 5.
|
16
main.py
16
main.py
@ -12,7 +12,7 @@ pairs = (
|
||||
(
|
||||
r"Kto ciebie stworzył(.*)",
|
||||
(
|
||||
"Jarvis został stworzony przez: Dawid Hajder, Jakub Pietrzak, Piotr Biskup i Wiktor Bombola.",
|
||||
"Jarvis został stworzony przez. Dawid Hajder, Jakub Pietrzak, Piotr Biskup i Wiktor Bombola.",
|
||||
|
||||
),
|
||||
),
|
||||
@ -102,11 +102,11 @@ pairs = (
|
||||
),
|
||||
),
|
||||
(
|
||||
r"Uważam (.*)",
|
||||
("Czy wątpisz %1?", "Czy naprawdę tak uważasz?", "Ale nie jesteś pewny %1?"),
|
||||
r"I think (.*)",
|
||||
("Do you doubt %1?", "Do you really think so?", "But you're not sure %1?"),
|
||||
),
|
||||
(
|
||||
r"(.*) (przyjaciel|przyjaciela|przyjacielowi|przyjaciela|przyjacielem|przyjacielu) (.*)",
|
||||
r"(.*) przyjaciel (.*)",
|
||||
(
|
||||
"Opowiedz mi o swoich przyjaciołach.",
|
||||
"Kto przychodzi Ci na myśl, kiedy mowa o przyjacielach?",
|
||||
@ -236,7 +236,7 @@ pairs = (
|
||||
),
|
||||
),
|
||||
(
|
||||
r"(.*) (mama|mamy|mamie|mamę|mamą|mamie|mamo)(.*)",
|
||||
r"(.*) mama(.*)",
|
||||
(
|
||||
"Opowiedz mi o swojej mamie.",
|
||||
"Jaką miałeś relację ze swoją mamą?",
|
||||
@ -247,7 +247,7 @@ pairs = (
|
||||
),
|
||||
),
|
||||
(
|
||||
r"(.*) (tata|taty|tacie|tatę|tatą|tacie|tato)(.*)",
|
||||
r"(.*) tata(.*)",
|
||||
(
|
||||
"Opowiedz mi o swoim ojcu.",
|
||||
"Jak byłeś traktowany przez swojego ojca?",
|
||||
@ -257,7 +257,7 @@ pairs = (
|
||||
),
|
||||
),
|
||||
(
|
||||
r"(.*) (dziecko|dziecka|dziecku|dzieckiem|dziecku|dziecko)(.*)",
|
||||
r"(.*) dziecko(.*)",
|
||||
(
|
||||
"Czy miałeś przyjaciół, kiedy byłeś jeszcze dzieckiem?",
|
||||
"Jakie jest Twoje ulubione wspomnienie?",
|
||||
@ -277,7 +277,7 @@ pairs = (
|
||||
),
|
||||
),
|
||||
(
|
||||
r"quit",
|
||||
r"wyjdź",
|
||||
(
|
||||
"Dziękuję bardzo za rozmowę",
|
||||
"Do widzenia!",
|
||||
|
6
model/DialogueState.py
Normal file
6
model/DialogueState.py
Normal file
@ -0,0 +1,6 @@
|
||||
class DialogueState:
|
||||
|
||||
def __init__(self):
|
||||
self.currentActs = []
|
||||
self.previousActs = []
|
||||
self.date = None
|
15
model/SystemActFrame.py
Normal file
15
model/SystemActFrame.py
Normal file
@ -0,0 +1,15 @@
|
||||
class SystemActFrame:
|
||||
|
||||
def __init__(self, act, parameters):
|
||||
self.act = act
|
||||
self.parameters = parameters
|
||||
|
||||
def __str__(self):
|
||||
result = ""
|
||||
result += "Act: " + self.act + " Parameters: { "
|
||||
for index, parameter in enumerate(self.parameters):
|
||||
result += parameter
|
||||
if index < len(self.parameters) - 1:
|
||||
result += ', '
|
||||
result += ' }'
|
||||
return result
|
15
model/UserActFrame.py
Normal file
15
model/UserActFrame.py
Normal file
@ -0,0 +1,15 @@
|
||||
class UserActFrame:
|
||||
|
||||
def __init__(self, act, parameters):
|
||||
self.act = act
|
||||
self.parameters = parameters
|
||||
|
||||
def __str__(self):
|
||||
result = ""
|
||||
result += "Act: " + self.act + " Parameters: { "
|
||||
for index, parameter in enumerate(self.parameters):
|
||||
result += parameter
|
||||
if index < len(self.parameters) - 1:
|
||||
result += ', '
|
||||
result += ' }'
|
||||
return result
|
18
presenter/Presenter.py
Normal file
18
presenter/Presenter.py
Normal file
@ -0,0 +1,18 @@
|
||||
from presenter.chatbot_modules.DialogueStateTracker import DialogueStateTracker
|
||||
from presenter.chatbot_modules.NaturalLanguageGeneration import NaturalLanguageGeneration
|
||||
from presenter.chatbot_modules.NaturalLanguageUnderstanding import NaturalLanguageUnderstanding
|
||||
from presenter.chatbot_modules.DialoguePolicy import DialoguePolicy
|
||||
|
||||
|
||||
class Presenter:
|
||||
dialogue_state_tracker = DialogueStateTracker()
|
||||
nlu = NaturalLanguageUnderstanding()
|
||||
policy = DialoguePolicy()
|
||||
nlg = NaturalLanguageGeneration()
|
||||
|
||||
def process_user_input(self, user_input):
|
||||
user_frames = self.nlu.text_to_user_frame(user_input)
|
||||
dialogue_state = self.dialogue_state_tracker.processUserAct(user_frames)
|
||||
system_frames = self.policy.resolve_system_acts(dialogue_state)
|
||||
msg = self.nlg.generate_text(system_frames)
|
||||
return msg
|
13
presenter/chatbot_modules/DialoguePolicy.py
Normal file
13
presenter/chatbot_modules/DialoguePolicy.py
Normal file
@ -0,0 +1,13 @@
|
||||
from model.SystemActFrame import SystemActFrame
|
||||
|
||||
|
||||
class DialoguePolicy:
|
||||
|
||||
def resolve_system_acts(self, dialogueState):
|
||||
system_acts = []
|
||||
for act in dialogueState.currentActs:
|
||||
if "request()" in act.act:
|
||||
if 'imię' in act.parameters:
|
||||
system_acts.append(SystemActFrame("inform()", ["imię"]))
|
||||
|
||||
return system_acts
|
17
presenter/chatbot_modules/DialogueStateTracker.py
Normal file
17
presenter/chatbot_modules/DialogueStateTracker.py
Normal file
@ -0,0 +1,17 @@
|
||||
from model.DialogueState import DialogueState
|
||||
|
||||
|
||||
class DialogueStateTracker:
|
||||
|
||||
def __init__(self):
|
||||
self.dialogueState = DialogueState()
|
||||
|
||||
def processUserAct(self, userActsFrame):
|
||||
"""
|
||||
|
||||
:param userActsFrame: input of user acts incoming
|
||||
:return: dialogueState
|
||||
"""
|
||||
self.dialogueState.currentActs = userActsFrame
|
||||
|
||||
return self.dialogueState
|
9
presenter/chatbot_modules/NaturalLanguageGeneration.py
Normal file
9
presenter/chatbot_modules/NaturalLanguageGeneration.py
Normal file
@ -0,0 +1,9 @@
|
||||
class NaturalLanguageGeneration:
|
||||
|
||||
def generate_text(self, system_frames):
|
||||
for system_frame in system_frames:
|
||||
if system_frame.act == 'inform()':
|
||||
if 'imię' in system_frame.parameters:
|
||||
return 'Nazywam się Dia.'
|
||||
else:
|
||||
return 'Nie rozumiem co masz na myśli.'
|
15
presenter/chatbot_modules/NaturalLanguageUnderstanding.py
Normal file
15
presenter/chatbot_modules/NaturalLanguageUnderstanding.py
Normal file
@ -0,0 +1,15 @@
|
||||
import re
|
||||
|
||||
from model.UserActFrame import UserActFrame
|
||||
|
||||
|
||||
class NaturalLanguageUnderstanding:
|
||||
|
||||
def __init__(self):
|
||||
self.user_acts = [
|
||||
(r"Cześć(.*)|czesc|Czesc", UserActFrame('hello()', [])),
|
||||
(r"(.*)imię(.*)|Jak masz na imię(.*)", UserActFrame('request()', ['imię']))
|
||||
]
|
||||
|
||||
def text_to_user_frame(self, text):
|
||||
return [user_act[1] for user_act in self.user_acts if re.match(user_act[0], text)]
|
255
requirements-analysis.md
Normal file
255
requirements-analysis.md
Normal file
@ -0,0 +1,255 @@
|
||||
Tytuł Projektu: System sprzedaży biletów kinowych
|
||||
==============
|
||||
|
||||
Cele:
|
||||
- Kupno biletów.
|
||||
- Rezerwacja miejsc.
|
||||
- Anulowanie rezerwacji.
|
||||
- Wynajęcie sali.
|
||||
- Organizacja wydarzeń okolicznościowych.
|
||||
- Rekomendowanie filmów
|
||||
- Zakup przekąsek, na konkretny seans.
|
||||
- Kupno karnetu (Pomysł by Dawid). Oceńcie czy spoko.
|
||||
|
||||
|
||||
Zadanie 1: Kupno biletów
|
||||
--------------------------------
|
||||
|
||||
*system:* Witamy w systemie sprzedaży biletów kinowych.
|
||||
|
||||
*user:* Dzień dobry, chciałbym kupić bilety na seans "Avatar" James'a Cameron'a.
|
||||
|
||||
*system:* Proszę podać datę seansu.
|
||||
|
||||
*user:* 10.04.2021
|
||||
|
||||
*system:* Proszę wybrać godzinę seansu: 13.40 (napisy polskie), 16.00 (dubbing)
|
||||
|
||||
*user:* 13.40
|
||||
|
||||
*system:* Proszę wybrać rząd od A do G.
|
||||
|
||||
*user:* D
|
||||
|
||||
*system:* Proszę wybrać wolne miejsca [1,2,3,4,5,6,x,x,x,x,11,12,13,14] - znak x oznacza miejsce zajęte
|
||||
|
||||
*user:* 4 i 5
|
||||
|
||||
*system:* Rezerwacja została przyjęta. Proszę kliknąć w poniższy link żeby przejść do okna płatności https://platnosci.kino.pl
|
||||
|
||||
|
||||
Zadanie 2: Rezerwacja miejsc
|
||||
--------------------------
|
||||
|
||||
*system:* Witamy w systemie sprzedaży biletów kinowych.
|
||||
|
||||
*user:* Dzień dobry, chciałbym zarezerwować bilety na seans "Green Book" Peter'a Farrelly'ego.
|
||||
|
||||
*system:* Proszę podać datę seansu.
|
||||
|
||||
*user:* 15.04.2021
|
||||
|
||||
*system:* Proszę wybrać godzinę seansu: 12.40 (napisy polskie), 20.00 (napisy polskie)
|
||||
|
||||
*user:* 20.00
|
||||
|
||||
*system:* Proszę wybrać rząd od A do G.
|
||||
|
||||
*user:* D
|
||||
|
||||
*system:* Proszę wybrać wolne miejsca [1,2,3,4,5,6,x,x,x,x,11,12,13,14] - znak x oznacza miejsce zajęte
|
||||
|
||||
*user:* 11 i 12
|
||||
|
||||
*system:* Rezerwacja została przyjęta. Uprzejmie proszę o odebranie biletów w kasie kina przynajmniej 30 minut przed rozpoczęciem seansu.
|
||||
|
||||
|
||||
Zadanie 3: Anulowanie rezerwacji
|
||||
--------------------------
|
||||
|
||||
*system:* Witamy w systemie sprzedaży biletów kinowych.
|
||||
|
||||
*user:* Dzień dobry, chciałbym anulować rezerwację biletów na seans "Green Book" Peter'a Farrelly'ego.
|
||||
|
||||
*system:* Proszę podać datę seansu.
|
||||
|
||||
*user:* 15.04.2021
|
||||
|
||||
*system:* Proszę podać godzinę seansu: 12.40 (napisy polskie), 20.00 (napisy polskie)
|
||||
|
||||
*user:* 20.00
|
||||
|
||||
*system:* Proszę wybrać rząd zarezerwowanych miejsc (od A do G).
|
||||
|
||||
*user:* D
|
||||
|
||||
*system:* Proszę wybrać miejsca siedzeń [7, 8, 8, 9, 10, 11, 12] - wyświetlają się tylko zarezerwowane miejsca
|
||||
|
||||
*user:* 11 i 12
|
||||
|
||||
*system:* Rezerwacja została pomyślnie anulowana.
|
||||
|
||||
|
||||
Zadanie 4: Wynajęcie sali
|
||||
--------------------------
|
||||
|
||||
*system:* Witamy w systemie sprzedaży biletów kinowych.
|
||||
|
||||
*user:* Dzień dobry, chciałbym zarezerwować salę.
|
||||
|
||||
*system:* Proszę podać datę rezerwacji
|
||||
|
||||
*user:* 15.04.2021
|
||||
|
||||
*system:* Proszę podać godziny rezerwacji (od - do).
|
||||
|
||||
*user:* 16:00 - 20:00
|
||||
|
||||
*system:* W tym czasie dostępne są 2 rodzaje sal: mała (50 miejsc) i duża (200 miejsc). Proszę wybrać rodzaj.
|
||||
|
||||
*user:* Mała
|
||||
|
||||
*system:* Ile osób będzie brało udział w wydarzeniu?
|
||||
|
||||
*user:* 40
|
||||
|
||||
*system:* Z jakich usług oferowanych przez Kino będą chcieli państwo korzystać w czasie pobytu (animatorzy, wyżywienie,wypożyczenie sprzętu)?
|
||||
|
||||
*user:* Wyżywienie
|
||||
|
||||
*system:* Rezerwacja sali została przyjęta. Proszę kliknąć w poniższy link żeby przejść do okna płatności https://platnosci.kino.pl. W razie dodatkowych pytań prosimy o kontakt.
|
||||
|
||||
|
||||
|
||||
Zadanie 5: Organizacja wydarzeń okolicznościowych
|
||||
--------------------------
|
||||
|
||||
*system:* Witamy w systemie sprzedaży biletów kinowych.
|
||||
|
||||
*user:* Dzień dobry, chciałbym zorganizować wydarzenie okolicznościowe.
|
||||
|
||||
*system:* Proszę podać datę wydarzenia
|
||||
|
||||
*user:* 15.04.2021
|
||||
|
||||
*system:* Proszę podać godziny rezerwacji (od - do).
|
||||
|
||||
*user:* 16:00 - 20:00
|
||||
|
||||
*system:* W tym czasie dostępne są 2 rodzaje sal: mała (50 miejsc) i duża (200 miejsc). Proszę wybrać rodzaj.
|
||||
|
||||
*user:* Mała
|
||||
|
||||
*system:* Ile osób będzie brało udział w wydarzeniu?
|
||||
|
||||
*user:* 40
|
||||
|
||||
*system:* Proszę podać rodzaj wydarzenia (impreza firmowa, impreza rodzinna, urodziny dziecka).
|
||||
|
||||
*user:* Impreza firmowa.
|
||||
|
||||
*system:* Z jakich usług oferowanych przez Kino będą chcieli państwo korzystać w czasie pobytu (animatorzy, wyżywienie,wypożyczenie sprzętu)?
|
||||
|
||||
*user:* Wyżywienie, animatorzy.
|
||||
|
||||
*system:* Rezerwacja sali została przyjęta. Proszę podać numer telefonu.
|
||||
|
||||
*user:* 123 456 789
|
||||
|
||||
*system:* Nasz pracownik wkrótce skontaktuje się z państwem w celu omówienia szczegółów i kosztów wydarzenia.
|
||||
|
||||
|
||||
Zadanie 6: Brak seans, na który użytkownik chce kupić bilet i zasugerowanie mu innego, podobnego filmu
|
||||
--------------------------
|
||||
|
||||
*system:* Witamy w systemie sprzedaży biletów kinowych.
|
||||
|
||||
*user:* Dzień dobry, chciałbym kupić bilety na seans "Star Wars: The rise of Skywalker”.
|
||||
|
||||
*system:* Proszę podać datę seansu.
|
||||
|
||||
*user:* 10.04.2021
|
||||
|
||||
*system:* Niestety tego dnia nie mamy w repertuarze"Star Wars: The rise of Skywalker”. Najbliższy seans odbędzie się 14.04.2021. Jeśli chcesz odwiedzić nasze kino, konkretnie tego dnia polecamy “Star Trek: Discovery”. Godziny seansu: 13.00 (napisy pl), 16.00 (napisy pl), 20.00 (napisy ang).
|
||||
|
||||
*user:* Poproszę w takim wypadku bilet na “Star Trek: Discovery” o godzinie 16.00.
|
||||
*system:* Proszę wybrać rząd od A do G.
|
||||
|
||||
*user:* D
|
||||
|
||||
*system:* Proszę wybrać wolne miejsca [1,2,3,4,5,6,x,x,x,x,11,12,13,14] - znak x oznacza miejsce zajęte
|
||||
|
||||
*user:* 4 i 5
|
||||
|
||||
*system:* Rezerwacja została przyjęta. Proszę kliknąć w poniższy link żeby przejść do okna płatności https://platnosci.kino.pl
|
||||
|
||||
Zadanie 7: Zarekomendowanie filmu ( (Piotrek - ja to zrobie :D)
|
||||
--------------------------
|
||||
|
||||
*system:* Witamy w systemie sprzedaży biletów kinowych.
|
||||
|
||||
*user:* Dzień dobry, chciałbym pójść dzisiaj wieczorem do kina, ale nie mam pomysłu na co.
|
||||
|
||||
*system:* Polecamy dystopijny film akcji “Matrix”. Trzymająca w napięciu opowieść o życiu w symulacji i o próbie ucieczki z nie.
|
||||
|
||||
*user:* Nie lubię tego typu filmów. Może coś innego?
|
||||
|
||||
*system:* Jakie gatunki najbardziej Cię interesują? Dostępne gatunki: komedia, dramat, thriller, horror.
|
||||
|
||||
*user:* Chciałbym coś śmiesznego. Coś co poprawi mi humor.
|
||||
|
||||
*system:* Może film Glenn’a Ficarra i John’a Requa “Kocha, lubi, szanuje”. W rolach główny Emma Stone i Ryan Gosling. Na pewno ten film poprawi Ci humor!
|
||||
|
||||
*user:* Ok, poproszę bilet na ten film.
|
||||
|
||||
*system:* Proszę wybrać godzinę seansu: 13.40 (napisy polskie), 16.00 (dubbing)
|
||||
|
||||
*user:* 13.40
|
||||
|
||||
*system:* Proszę wybrać rząd od A do G.
|
||||
|
||||
*user:* D
|
||||
|
||||
*system:* Proszę wybrać wolne miejsca [1,2,3,4,5,6,x,x,x,x,11,12,13,14] - znak x oznacza miejsce zajęte
|
||||
|
||||
*user:* 4 i 5
|
||||
|
||||
*system:* Rezerwacja została przyjęta. Proszę kliknąć w poniższy link żeby przejść do okna płatności https://platnosci.kino.pl
|
||||
|
||||
Zadanie 8: Zamówienie przez internet przekąsek z góry, żeby nie czekać w kolejce
|
||||
--------------------------
|
||||
|
||||
*system:* Witamy w systemie sprzedaży biletów kinowych.
|
||||
|
||||
*user:* Dzień dobry, chciałbym kupić powiększony zestaw dla dwojga z colą oraz nachosami.
|
||||
|
||||
*system:* Oczywiście! Proszę podać datę oraz godzinę seansu, tak żebyśmy mogli przygotować przekąski na czas.
|
||||
|
||||
*user:* “Avatar” 24.04.2021, o godzinie 21.20.
|
||||
|
||||
*system:* Przyjąłem! Czy to wszystko? Przy zakupie zestawu powiększonego duży popcorn może otrzymać Pan/i za połowę ceny!
|
||||
|
||||
*user:* Poprosze w takim razie ten promocyjny popcorn.
|
||||
|
||||
*system:* Zamówienie zostało przyjęte. Proszę kliknąć w poniższy link żeby przejść do okna płatności https://platnosci.kino.pl. Przekąski będą gotowe na 5 min przed rozpoczęciem seansu. Proszę podejść do oznaczonego punktu, żeby odebrać zamówienie bez stania w kolejce!
|
||||
|
||||
Zadanie 9. Kupno karnetu (Dawid)
|
||||
-------------------
|
||||
|
||||
*system:* Witamy w systemie sprzedaży biletów kinowych.
|
||||
|
||||
*user:* Witam. Chciałbym kupić karnet miesięczny.
|
||||
|
||||
*system:* Karnet ma być PREMIUM? (obejmuje filmy 2D i 3D) czy zwykły? (tylko filmy 2d)
|
||||
|
||||
*user:* zwykły
|
||||
|
||||
*system:* Karnet ma być Ulgowy? (zniżka uczniowska do 26 roku życia) czy Normalny?
|
||||
|
||||
*user:* Ulgowy
|
||||
|
||||
*system:* Do sprzedaży jest karnet na ilość miesięcy: (1), (3), (6). Wybierz jedno.
|
||||
|
||||
*user:* 3
|
||||
|
||||
*system:* Wybór został przyjęty. Karnet będzie ważny od momentu zapłaty. Proszę kliknąć w poniższy link żeby przejść do okna płatności https://platnosci.kino.pl
|
12
view/View.py
Normal file
12
view/View.py
Normal file
@ -0,0 +1,12 @@
|
||||
from presenter.Presenter import Presenter
|
||||
|
||||
|
||||
def init_chat():
|
||||
print('Witamy w systemie elektronicznej rezerwacji Biletów! W czym mogę pomóc?')
|
||||
user_input = input()
|
||||
result = Presenter().process_user_input(user_input)
|
||||
print(result)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
init_chat()
|
Loading…
Reference in New Issue
Block a user