diff --git a/dialogue_system.py b/dialogue_system.py index 24ac55e..da322ab 100644 --- a/dialogue_system.py +++ b/dialogue_system.py @@ -49,7 +49,7 @@ def main(): formatted_prediction = format_prediction(slots, intent) for slot in formatted_prediction: if slot[2]=='seat': - if ',' in slot[3]: + if ',' in slot[3]: # ??? seat,row = slot[3].split(',') formatted_prediction.remove(['inform', 'Cinema', 'seat', slot[3]]) formatted_prediction.append(['inform', 'Cinema', 'seat', seat]) @@ -144,7 +144,7 @@ def main(): for slot,value in dst.state['belief_state']['cinema']['semi'].items(): if slot == 'payments' and value == '': print('Czy chciałbyś dokonać płatności online?') - input_user = input() + input_user = input('> ') if input_user.lower() == 'tak': print(nlg.update([['cinema','request',slot,'online']])) dst.update([['inform', 'Cinema', 'payments', 'online']]) diff --git a/modules/NLG.py b/modules/NLG.py index 27f8063..789881a 100644 --- a/modules/NLG.py +++ b/modules/NLG.py @@ -11,25 +11,25 @@ class NLG: for domain, intent, slot, value in system_act: if domain == 'cinema' and intent == 'inform' and slot == 'seat': if value == '': - self.answer += f'Gdzie dokładnie chciałabyś/byś zarezezrwować miejsce. ' + self.answer += f'Gdzie dokładnie chciałbyś/chciałabyś zarezerwować miejsce? ' 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": - 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": - 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 == 'cancel_book': if len(value): - self.answer += f'Rezerwacja na maila: {value} została anulowana. ' + self.answer += f'Rezerwacja na adres e-mail: {value} została anulowana. ' elif value == '': - self.answer += f'Proszę podać e-mail na który była rezerwacja miejsce. ' + self.answer += f'Proszę podać e-mail na który dokonana została rezerwacja miejsce. ' else: self.answer += f'Rezerwacja nie została anulowana. ' elif domain == 'cinema' and intent == 'request' and slot == 'movie': if value == '': - self.answer += f'Na jaki film chciałbyś/abyś pójść. ' + self.answer += f'Na jaki film chciałbyś/chciałabyś pójść? ' elif domain == 'cinema' and intent == 'inform' and slot == 'movie': if value == '': self.answer += f'Nie znalazłem filmu. ' @@ -44,28 +44,28 @@ class NLG: self.answer += f'Dnia {value} prezentujemy Batmana o 18:00 i Sing 2 o 20:30. ' elif domain == 'cinema' and intent == 'request' and slot == 'e-mail': if value== '': - self.answer += 'Prosze podać e-mail. ' + self.answer += 'Proszę podać adres e-mail. ' elif domain == 'cinema' and intent == 'request' and slot == 'date': if value== '': - self.answer += 'Którego dnia chciałabyś/byś pani obejrzeć ten film. ' + self.answer += 'Którego dnia chciałbyś/chciałabyś obejrzeć ten film? ' elif domain == 'cinema' and intent == 'request' and slot == 'name': if value== '': - self.answer += 'Prosze podać imie i nazwisko. ' + self.answer += 'Proszę podać imię i nazwisko. ' elif domain == 'cinema' and intent == 'request' and slot == 'phone': if value== '': - self.answer += 'Prosze podać numer telefonu. ' + self.answer += 'Proszę podać numer telefonu. ' elif domain == 'cinema' and intent =='request' and slot == '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. ' elif value == '': - self.answer += f'W jakim rzędzie chciałbyś/abyś zarezerwować miejsce. ' + self.answer += f'W jakim rzędzie chciałbyś/chciałabyś zarezerwować miejsce? ' else: self.answer += f'Nie ma wolnych miejsc w rzędzie {value}. ' elif domain == 'cinema' and intent =='request' and slot == 'seat_place': if value in value_dict['train']['seat_place']: self.answer += f'W rzędzie 4 jest wolne miejsce {value}. ' else: - self.answer += f'W rzędzie 4 nie ma wolnego miejsce {value}. ' + self.answer += f'W rzędzie 4 nie ma wolnego miejsca {value}. ' elif domain == 'cinema' and intent =='offer' and slot == 'seat': if value in value_dict['train']['seat']: self.answer += 'Sala jest obłożona w 15%. Głównie w rzędach 4, 5 i 6. ' @@ -73,27 +73,27 @@ class NLG: if value in value_dict['train']['seat']: self.answer += f'Miejsce {value} jest wolne. ' elif value == '': - self.answer += f'Jakie miejsce chciałbyś/abyś zarezerwować. ' + self.answer += f'Jakie miejsce chciałbyś/chciałabyś zarezerwować? ' else: self.answer += f'Miejsce {value} nie jest wolne. ' elif domain == 'cinema' and intent == 'inform' and slot == 'Location': - self.answer += 'Kino znajduję się na ulicy Jana Pawła 2/40. ' + self.answer += 'Kino znajduje się na ulicy Jana Pawła 2/40. ' elif domain == 'cinema' and intent == 'inform' and slot == 'cinema_name': self.answer += 'Kino nazywa sie 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}. ' + self.answer += f'Dostępny jest seans na godzinę {value}. ' else: self.answer += f'Nie mamy aktualnie seansu na taką godzinę. ' elif domain == 'cinema' and intent == 'request' and slot == 'tickettype': if value == '': - self.answer += 'Czy chciałabyś/byś bilet normalny czy ulgowy? ' + self.answer += 'Czy chciałbyś/chciałabyś bilet normalny czy ulgowy? ' elif domain == 'cinema' and intent == 'request' and slot == 'quantity': if value == '': - self.answer += 'Ile biletów chciałabyś/byś zarezerwować. ' + self.answer += 'Ile biletów chciałbyś/chciałabyś zarezerwować? ' elif domain == 'cinema' and intent == 'request' and slot == 'hour': if value == '': - self.answer += 'O jakiej godzinie chciałabyś/byś zobaczyć film. ' + self.answer += 'O jakiej godzinie chciałbyś/chciałabyś zobaczyć film? ' elif domain == 'cinema' and intent == 'request' and slot == 'payments': if value == 'online': self.answer += 'Proszę dokonać płatność online. Dziękujemy za skorzystanie z naszych usług. ' diff --git a/modules/__pycache__/NLU.cpython-37.pyc b/modules/__pycache__/NLU.cpython-37.pyc new file mode 100644 index 0000000..69dd2cd Binary files /dev/null and b/modules/__pycache__/NLU.cpython-37.pyc differ diff --git a/modules/__pycache__/NLU.cpython-38.pyc b/modules/__pycache__/NLU.cpython-38.pyc index 6966565..4800599 100644 Binary files a/modules/__pycache__/NLU.cpython-38.pyc and b/modules/__pycache__/NLU.cpython-38.pyc differ diff --git a/modules/dialogue_state.py b/modules/dialogue_state.py index f90100e..02043d7 100644 --- a/modules/dialogue_state.py +++ b/modules/dialogue_state.py @@ -22,8 +22,8 @@ def default_state(): "quantity": 0, "tickettype": "", "payments": "", - "cancel_book_status":"", - "cancel_buy_status":"" + "cancel_book_status": False, + "cancel_buy_status": False } } }