added dialogues wit acts, improved the script
This commit is contained in:
parent
e75f81b6d8
commit
1d0459f8ab
@ -0,0 +1,12 @@
|
|||||||
|
user dzien dobry, czy poleci pan cos z menu? hello()
|
||||||
|
system Witamy w systemie rezerwacji pokoi hotelowych. Czy jest pan zainteresowany w konkretnym menu z restauracji z jednym z hoteli? welcomemsg()
|
||||||
|
user tak, czy sa wolne pokoje z ładnym widokiem dla 2 osob w przyszły weekend? request(room)&inform(people=2,date=next_weekend)
|
||||||
|
system W jakiej miejscowości chciałby dokonać Pan rezerwacji? reques(city)
|
||||||
|
user Warszawa inform(city)
|
||||||
|
system Dobrze, czy zainteresuje Pana 5 gwiazdowy hotel xyz w centrum Warszawy z widokiem na rynek, wliczonym śniadaniem oraz spa? offer(xyz)
|
||||||
|
user a mozna troche dalej, na rynku straszne halasy sa reqalts()
|
||||||
|
system Dobrze, może zainteresuje Pana hotel zzz 7 km od centrum z widokiem na jezioro? offer(zzz)
|
||||||
|
user tak, to jest to confirm()
|
||||||
|
system Dobrze, rezerwacja na termin 01.04.2023 - 02.04.2023 w hotelu zzz została zrobiona. Numer rezerwacji: 111333555 affirm()&inform(reservation_number)
|
||||||
|
user potwierdzam confirm()
|
||||||
|
system Dziękuję, do zobaczenia! bye()
|
|
@ -0,0 +1,13 @@
|
|||||||
|
user dzień dobry hello()
|
||||||
|
system Witamy w systemie rezerwacji pokoi hotelowych. welcomemsg
|
||||||
|
user chciałbym zarezerwować pokój dwuosobowy na dni 25-28 marca 2023 request(people=2,date=25-28 marca 2023)
|
||||||
|
system Dobrze, w jakiej miejscowości chciałby Pan zarezerwować pokój? request(city)
|
||||||
|
user w Poznaniu inform(city)
|
||||||
|
system Dobrze czy ma Pan jeszcze dodatkowe wymagania dotyczące zakwaterowania? request(requirements)
|
||||||
|
user balkon w pokoju, bar w hotelu inform(requirements=balkon&bar)
|
||||||
|
system Dobrze, czy zainteresuje Pana 4 gwiazdkowy hotel xyz znajdujący się 2 km od rynku, który posiada balkon, bar oraz wliczone śniadanie w cenę? offer(xyz)
|
||||||
|
user zależy ile kosztuje reqmore(price)
|
||||||
|
system Hotel xyz kosztuje 220 zł za dobę. inform(price)
|
||||||
|
user brzmi dobrze confirm()
|
||||||
|
system Dobrze, rezerwacja w hotelu xyz na termin 25.03.23 - 28.03.23 została zrobiona. Numer rezerwacji 987654321 affirm()&inform(reservation_number=987654321)
|
||||||
|
user dziękuję thankyou()
|
|
@ -0,0 +1,13 @@
|
|||||||
|
user Witam, z jakim systemem mam do czynienia? hello()&request(system)
|
||||||
|
system Witamy w systemie rezerwacji pokoi hotelowych. welcomemsg()
|
||||||
|
user Chciałbym zarezerowować pokój w jakimś hotelu w Warszawie, możliwie jak najbliżej lotniska. request(room)&inform(city=Warszwa,area=close_to_airport)
|
||||||
|
system Dobrze, czy zainteresowałby Pana hotel xyz, który znajduje się 1,2 km od lotniska i dodatkowo ma wliczone śniadanie w cenę? offer(xyz)
|
||||||
|
user To zależy od tego jaka jest cena. Mogę poprosić o szerszy wybór hoteli? request(price)&reqalts()
|
||||||
|
system Dobrze, mam do zaoferowania parę hoteli spełniających Twoje wymagania: -xyz - 4 gwiazdkowy hotel z bufetem, basenem i parkingiem 200 zł za dobę w odległości 1,2 km od lotniska -yzx - 3 gwiazdkowy hotel niedaleko stadionu z opcją wykupu śniadania 120 zł za dobę w odległości 2,5 km od lotniska -zxy - budżetowy motel z restauracją obok oraz parkingiem strzeżonym 80 zł za dobę położony 4 km od lotniska Czy jest Pan zainteresowany jedną z opcji? select(hotel)
|
||||||
|
user W tej sytuacji jestem zainteresowany rezerwacją tego hotelu, który jest najbliżej inform(option=xyz)
|
||||||
|
system Jaki jest termin wizyty? request(date)
|
||||||
|
user 31.03.2023 - 02.04.2023 inform(date=31.03.2023 – 02.04.2023)
|
||||||
|
system Dobrze, czy rezerwacja ma być dla jednej osoby? request(people)
|
||||||
|
user Tak, dla jednej inform(number_of_people=1)
|
||||||
|
system Dobrze rezerwacja dla 1 osoby w hotelu xyz na termin 31.03.2023 - 02.04.2023 została zrobiona. Numer rezerwacji: 444555666 affirm()&inform(reservation_number=444555666)
|
||||||
|
user dziękuję bardzo thankyou()
|
|
@ -0,0 +1,13 @@
|
|||||||
|
user Witam hello()
|
||||||
|
system Witamy w systemie rezerwacji pokoi hotelowych. welcomemsg()
|
||||||
|
user Witam, chcialbym zarezerwowac pokoj dla 3 osob, 2 os na jeden pokoj a ta trzecia osobno inform(number_of_rooms(2),number_of_people(2,1)
|
||||||
|
system Dobrze, w jakiej miejscowości chciałby Pan zarezerwować ten hotel i w jakim terminie? request(city)
|
||||||
|
user W Sosnowcu, na 9-11 września inform(city=Sosnowiec,date=9-11 września)
|
||||||
|
system Czy zainteresuje Pana hotel xyz w Sosnowcu niedaleko centrum? W cenę ma wliczone śniadanie i dodatkowo jest dostępny basen. offer(xyz)
|
||||||
|
user Poproszę confirm()
|
||||||
|
system Dobrze, rezerwacja na 2 pokoje w hotelu xyz w Sosnowcu została zrobiona na termin 9-11 września. Numer rezerwacji 0987654321. affirm()&inform(reservation_number=0987654321)
|
||||||
|
user Dziękuję, kiedy mogę zapłacić? request(payment)
|
||||||
|
system Zapłacić można albo z góry albo przy odebraniu kluczy do pokoju. inform(payment=z góry albo przy odebraniu kluczy do pokoju.)
|
||||||
|
user Ok, to zapłacę przy odebraniu kluczy inform(payment=przy odebraniu kluczy do pokoju.)
|
||||||
|
system Dobrze, czekamy na Pańską wizytę z niecierpliwością! confirm()
|
||||||
|
user Do zobaczenia bye()
|
|
@ -0,0 +1,16 @@
|
|||||||
|
user chciałbym zamówić jedzenie request(food)
|
||||||
|
system Witamy w systemie rezerwacji pokoi hotelowych. Czy jest pan zainteresowany w konkretnym menu z restauracji w jednym z hoteli? welcomemsg()
|
||||||
|
user podaj menu, dań głównych request(menu)
|
||||||
|
system Dzień dobry, niestety nie mamy dostępu do informacji na temat menu w naszych hotelach. Czy jest Pan zainteresowany rezerwacją pokoju w jednym z hoteli, z którymi współpracujemy? canthelp()
|
||||||
|
user tak jaki hotel jest najbliżej Poznania confirm()&inform(city=Poznań)
|
||||||
|
system Dobrze, mam do zaoferowania parę hoteli spełniających Twoje wymagania: -xyz - 5 gwiazdkowy hotel blisko rynku z bufetem i parkingiem podziemnym -yzx - 4 gwiazdkowy hotel niedaleko stadionu z opcją wykupu śniadania -zxy - budżetowy motel położony 5 km od centrum z restauracją obok oraz parkingiem strzeżonym Czy jest Pan zainteresowany jedną z opcji? offer(xyz,yzx,zxy)
|
||||||
|
user czy w zxy jest basen? request(pool)
|
||||||
|
system zxy nie posiada basenu. negate(pool)
|
||||||
|
user a xyz? request(pool)
|
||||||
|
system xyz posiada spa, jednak nie posiada basenu inform(spa)&negate(pool)
|
||||||
|
user czy sa wolne 2 osobowe pokoje na 25.03? request(rooms=2,date=25.03)
|
||||||
|
system w hotelu xyz są jeszcze 2 wolne pokoje 2-osobowe na termin 25.03. Czy dokonać rezerwacji? inform(availability)&request(confirmation)
|
||||||
|
user tak, o której zaczyna się doba hotelowa? request(check-in/out time)
|
||||||
|
system Doba hotelowa w hotelu xyz zaczyna się o 14. inform(check-in/out time)
|
||||||
|
user potwierdzam rezerwację confirm()
|
||||||
|
system Dobrze, rezerwacja w hotelu xyz na termin 25.03 została zrobiona. Numer rezerwacji 444555666. confirm()&inform(reservation_number=444555666)
|
|
@ -0,0 +1,15 @@
|
|||||||
|
user witam hello()
|
||||||
|
system Witamy w systemie rezerwacji pokoi hotelowych. welcomemsg()
|
||||||
|
user chcialabym dokonac rezerwacji pokoju w warszawie inform(city=Warszawa)
|
||||||
|
system Dobrze, czy masz jakieś dodatkowe wymagania dotyczące zakwaterowania? reqmore()
|
||||||
|
user wazny jest dla mnie jedyny parking oraz sniadania w formie bufetu inform(requirement=parking,requirement=breakfast)
|
||||||
|
system Dobrze, mam do zaoferowania parę hoteli spełniających Twoje wymagania: -xyz - 5 gwiazdkowy hotel blisko rynku z bufetem, basenem i parkingiem -yzx - 4 gwiazdkowy hotel niedaleko stadionu z opcją wykupu śniadania -zxy - budżetowy motel położony 5 km od centrum z restauracją obok oraz hotelem strzeżonym Czy jest Pani zainteresowana jedną z opcji? offer(xyz,yzx,zxy)
|
||||||
|
user w jakiej cenie jest hotel yzx request(price)
|
||||||
|
system Hotel yzx kosztuje 140 zł za dobę. inform(price=140)
|
||||||
|
user dobrze to chcialabym zarezerwowac ten hotel confirm()
|
||||||
|
system Na jaki termin chciałabyś dokonać rezerwacji? request(date)
|
||||||
|
user na DD.MM.RR do DD.MM.RR inform(date=DD.MM.RR do DD.MM.RR)
|
||||||
|
system Dobrze, czy rezerwacja ma być dla jednej osoby? request(people)
|
||||||
|
user dla 2 inform(people=2)
|
||||||
|
system Dobrze rezerwacja dla 2 osób w hotelu yzx na termin DD.MM.RR - DD.MM.RR została zrobiona. Numer rezerwacji: 1234567890 confirm()&inform(reservation_number=1234567890)
|
||||||
|
user dziekuje thankyou()
|
|
@ -0,0 +1,11 @@
|
|||||||
|
user Dzień dobry hello()
|
||||||
|
system Witamy w systemie rezerwacji pokoi hotelowych. welcomemsg()
|
||||||
|
user Chciałbym zarezerwować hotel w Zakopanem na najbliższy weekend. request(hotel)&inform(city=Zakopane)
|
||||||
|
system Dobrze, czy hotel xyz, który znajduje się niedaleko stoku spełniałby Pańskie wymagania? offer(xyz)
|
||||||
|
user Czy hotel posiada przynajmniej 3 gwiazdki oraz basen? request(stars=3,pool)
|
||||||
|
system Dzień dobry, hotel ma 3 gwiazdki i nie posiada basenu. inform(stars=3,pool=false)
|
||||||
|
user Poproszę o znalezienie hotelu z basenem. inform(requirement=pool)
|
||||||
|
system Dobrze, czy 4 gwiazdkowy hotel zyx, który znajduje się 3 km od centrum i posiada basen oraz wliczone w cenę śniadanie Pana zainteresuje? offer(zyx)
|
||||||
|
user Tak proszę o dokonanie rezerwacji pokoju dla trzech osób. confirm&inform(people=3)
|
||||||
|
system Dobrze rezerwacja dla 3 osób w hotelu zyx w Zakopanem na najbliższy weekend została zrobiona. Numer rezerwacji: 999888777 confirm()&inform(reservation_number=999888777)
|
||||||
|
user Dziękuję bardzo thankyou()
|
|
@ -0,0 +1,11 @@
|
|||||||
|
user Dzień dobry hello()
|
||||||
|
system Dzień dobry! Witam w systemie rezerwacji pokojów hotelowych. W czym mogę pomóc? welcomemsg()
|
||||||
|
user Chciałbym zarezerwować pokój na dwie doby, najlepiej z widokiem na miasto. Rezerwacja od 25.03 do 27.03. Czy jest może u Państwa dostępny pokój? inform(requirement=view_of_city,date=25.03-77.03)
|
||||||
|
system Dobrze, czy hotel xyz, który znajduje się blisko centrum by pasował? offer(xyz)
|
||||||
|
user Tak, to ten hotel w Poznaniu confirm()
|
||||||
|
system Dobrze, są jeszcze wolne pokoje w cenie 150 zł za dobę. Czy dokonać rezerwacji? inform(price=150)&request(confirmation)
|
||||||
|
user Tak, poproszę dla dwóch osób inform(people=2)
|
||||||
|
system Dobrze, rezerwacja dla 2 osób jest zrobiona w hotelu xyz o numerze rezerwacji 123456789 confirm()&inform(reservation_number=123456789)
|
||||||
|
user Bardzo dziękuję, będziemy za 3 dni o godzinie 15 thankyou()&confirm()
|
||||||
|
user Do zobaczenia bye()
|
||||||
|
system Dziękuję i do zobaczenia! thankyou()
|
|
@ -0,0 +1,8 @@
|
|||||||
|
user Dzień dobry. Chciałbym anulować rezerwację hello()&inform(cancellation)
|
||||||
|
system Witamy w systemie rezerwacji pokoi hotelowych. welcomemsg()
|
||||||
|
system Dobrze, proszę podać numer rezerwacji. request(reservation_number)
|
||||||
|
user 8976098 inform(reservation_number=8976098)
|
||||||
|
system Dobrze, rezerwacja została anulowana. Czy można poznać powód anulowania? affirm()&request(reason)
|
||||||
|
user Bardzo dziękuję za sprawne załatwienie tematu. Powodem jest choroba mojej żony i niestety nie jesteśmy w stanie udać się w podróż ze względu na jej stan fizyczny. thankyou()&inform(reason=sickness)
|
||||||
|
system Dziękuję za podanie powodu i życzę szybkiego powrotu do zdrowia! thabkyou()
|
||||||
|
user Jeszcze raz bardzo dziękuję thankyou()
|
|
@ -38,7 +38,27 @@ def process_text(text, nazwisko_user, nazwisko_system):
|
|||||||
def read_tsv(file_path):
|
def read_tsv(file_path):
|
||||||
with open(file_path, 'r', encoding='utf-8') as tsv_file:
|
with open(file_path, 'r', encoding='utf-8') as tsv_file:
|
||||||
content = tsv_file.read()
|
content = tsv_file.read()
|
||||||
return content
|
spaces=0
|
||||||
|
pos_of_names = []
|
||||||
|
for letter in range(15,len(content)):
|
||||||
|
if content[letter] =="\n"or content[letter] ==" ":
|
||||||
|
spaces = spaces+1
|
||||||
|
pos_of_names.append(letter)
|
||||||
|
if spaces == 2:
|
||||||
|
break
|
||||||
|
for letter in range(pos_of_names[1],len(content)):
|
||||||
|
if content[letter] =="]":
|
||||||
|
pos_of_names.append(letter+2)
|
||||||
|
for letter2 in range(pos_of_names[2],len(content)):
|
||||||
|
if content[letter2] =="\n":
|
||||||
|
pos_of_names.append(letter2)
|
||||||
|
spaces=spaces+1
|
||||||
|
break
|
||||||
|
if spaces==3:
|
||||||
|
break
|
||||||
|
user = content[14:pos_of_names[1]]
|
||||||
|
operator = content[pos_of_names[2]:pos_of_names[3]]
|
||||||
|
return content,user,operator
|
||||||
|
|
||||||
|
|
||||||
def write_tsv(file_path, content):
|
def write_tsv(file_path, content):
|
||||||
@ -58,18 +78,24 @@ def replace_first_space_with_tab(text):
|
|||||||
new_lines.append(line)
|
new_lines.append(line)
|
||||||
return "\n".join(new_lines)
|
return "\n".join(new_lines)
|
||||||
|
|
||||||
|
def do_all(filename):
|
||||||
if __name__ == '__main__':
|
path="C:/Users/macty/OneDrive/Pulpit/conversations"
|
||||||
# wypelnic przed uruchomieniem
|
file_path = path+"/"+filename
|
||||||
nazwisko_user = "Maślanka"
|
text,user,operator = read_tsv(file_path)
|
||||||
nazwisko_system = "Bałtruszewicz"
|
|
||||||
numer_user = "16"
|
|
||||||
numer_system = "15"
|
|
||||||
file_path = f"/Users/wojciechbatruszewicz/InformatykaStudia/SEMESTR8/SD/PROJEKT/data/dialog-{numer_system}-{numer_user}-01.tsv"
|
|
||||||
|
|
||||||
text = read_tsv(file_path)
|
|
||||||
text = remove_empty_lines(text)
|
text = remove_empty_lines(text)
|
||||||
text = join_lines(text)
|
text = join_lines(text)
|
||||||
text = process_text(text, nazwisko_user, nazwisko_system)
|
text = process_text(text, user, operator)
|
||||||
text = replace_first_space_with_tab(text)
|
text = replace_first_space_with_tab(text)
|
||||||
write_tsv(file_path, text)
|
write_tsv(file_path, text)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
import os
|
||||||
|
|
||||||
|
for filename in os.listdir("C:/Users/macty/OneDrive/Pulpit/conversations"):
|
||||||
|
do_all(filename)
|
||||||
|
#nie działa dla sytuacji gdzie ktoś na początku pisze 2 razy zanim dostanie odpowiedź, ale nie chce mi sie kombinować z poprawianiem tego dla jednej sytuacji
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user