This commit is contained in:
JulianZablonski 2022-05-30 19:46:44 +02:00
parent 8fd6d664a6
commit 59f84ab360

View File

@ -1,4 +1,5 @@
import json import json
from xml import dom
value_dict = json.load(open('../DST_DP_lab_9-10/value_dict.json')) value_dict = json.load(open('../DST_DP_lab_9-10/value_dict.json'))
class NLG: class NLG:
def __init__(self): def __init__(self):
@ -8,15 +9,17 @@ class NLG:
for domain, intent, slot, value in system_act: for domain, intent, slot, value in system_act:
if domain == 'Cinema' and intent == 'Inform' and slot == 'Seat': if domain == 'Cinema' and intent == 'Inform' and slot == 'Seat':
if value == '': if value == '':
self.answer += f'Nie znalazłem miejsca.' self.answer += f'Gdzie dokładnie chciałabyś/byś zarezezrwować miejsce. '
elif value == "top": elif value == "top":
self.answer += f'Wolne miejsca na górze w rzędzie 10 miejsca od 5 do 10 i od 12 do 14. ' self.answer += f'Wolne miejsca na górze w rzędzie 10 miejsca od 5 do 10 i od 12 do 14. '
elif value <= "bottom": elif value <= "bottom":
self.answer += f'Wolne miejsca na dole w rzędzie 1 miejsca od 2 do 10 i od 12 do 14. ' self.answer += f'Wolne miejsca na dole w rzędzie 1 miejsca od 2 do 10 i od 12 do 14. '
elif value <= "middle": elif value <= "middle":
self.answer += f'Wolne miejsca na środku w rzędzie 6 miejsca od 5 do 10. ' self.answer += f'Wolne miejsca na środku w rzędzie 6 miejsca od 5 do 10. '
else:
self.answer += f'Nie znalazłem miejsca. '
elif domain == 'Cinema' and intent == 'Inform' and slot == 'Movie': elif domain == 'Cinema' and intent == 'Inform' and slot == 'Movie':
if value == None: if value == '':
self.answer += f'Nie znalazłem filmu. ' self.answer += f'Nie znalazłem filmu. '
else: else:
self.answer += f'Film {value} będzie wyświetlany jutro o godzinie 21:30. ' self.answer += f'Film {value} będzie wyświetlany jutro o godzinie 21:30. '
@ -30,13 +33,12 @@ class NLG:
elif domain == 'Cinema' and intent == 'Request' and slot == 'e-mail': elif domain == 'Cinema' and intent == 'Request' and slot == 'e-mail':
if value== '': if value== '':
self.answer += 'Prosze podać e-mail. ' self.answer += 'Prosze podać e-mail. '
else:
pass
elif domain == 'Cinema' and intent == 'Request' and slot == 'name': elif domain == 'Cinema' and intent == 'Request' and slot == 'name':
if value== '': if value== '':
self.answer += 'Prosze podać imie i nazwisko. ' self.answer += 'Prosze podać imie i nazwisko. '
else: elif domain == 'Cinema' and intent == 'Request' and slot == 'phone':
pass if value== '':
self.answer += 'Prosze podać numer telefonu. '
elif domain == 'Cinema' and intent =='Request' and slot == 'Seat_row': elif domain == 'Cinema' and intent =='Request' and slot == 'Seat_row':
if value in value_dict['train']['seat_row']: if value in value_dict['train']['seat_row']:
self.answer += f'W rzędzie {value} są wolne miejsca od 1 do 4 i od 12 do 15. ' self.answer += f'W rzędzie {value} są wolne miejsca od 1 do 4 i od 12 do 15. '
@ -52,6 +54,27 @@ class NLG:
self.answer += f'Miejsce {value} jest wolne. ' self.answer += f'Miejsce {value} jest wolne. '
else: else:
self.answer += f'Miejsce {value} nie jest wolne. ' self.answer += f'Miejsce {value} nie jest wolne. '
elif domain == 'Cinema' and intent == 'Inform' and slot == 'Location':
self.answer += 'Cinema is in Jana Pawła 2/40. '
elif domain == 'Cinema' and intent == 'Inform' and slot == 'Cinema_name':
self.answer += 'Cinema name is Hellios'
elif domain == 'Cinema' and intent == 'Offer' and slot == 'time':
if value in ['15:00','12:00','18:00','18:30','19:00','20:00','20:30','21:00','21:30']:
self.answer += f'Dostępny jest seans na godzine {value}. '
else:
self.answer += f'Nie mamy aktualnie seansu na taką godzinę. '
elif domain == 'Cinema' and intent == 'Request' and slot == 'Ticket':
if value == '':
self.answer += 'Czy chciałabyś/byś bilet normalny czy ulgowy? '
elif domain == 'Cinema' and intent == 'Request' and slot == 'Quantity':
if value == '':
self.answer += 'Ile biletów chciałabyś/byś zarezerwować. '
elif domain == 'Cinema' and intent == 'Inform' and slot == 'Payments':
if value == 'online':
self.answer += 'Proszę dokonać płatność online. Dziękujemy za skorzystanie z naszych usług. '
else:
self.answer += 'Proszę stawić się 30 minut przed seansem aby dokonać płatność. Dziękujemy za skorzystanie z naszych usług. '
return self.answer return self.answer
nlg = NLG() nlg = NLG()