aitech-sd-lab/NLG_lab_11/NLG.py

41 lines
1.7 KiB
Python
Raw Normal View History

2022-05-25 13:14:24 +02:00
import json
value_dict = json.load(open('../DST_DP_lab_9-10/value_dict.json'))
def nlg(system_act):
domain, intent, slot, value = system_act
if domain == 'Cinema' and intent == 'Inform' and slot == 'Seat':
if value == '':
return f'Nie znalazłem miejsca'
elif value == "top":
return f'Wolne miejsca na górze w rzędzie 10 miejsca od 5 do 10 i od 12 do 14'
elif value <= "bottom":
return f'Wolne miejsca na dole w rzędzie 1 miejsca od 2 do 10 i od 12 do 14'
elif value <= "middle":
return f'Wolne miejsca na środku w rzędzie 6 miejsca od 5 do 10'
elif domain == 'Cinema' and intent == 'Inform' and slot == 'Movie':
if value == None:
return f'Nie znalazłem filmu'
else:
return f'Film {value} będzie wyświetlany jutro o godzinie 21:30'
elif domain == 'Cinema' and intent == 'Offer' and slot == 'Closestscreening':
if value in ['dziś','jutro','pojutrze']:
return f'{value} prezentujemy Batmana o 18 i coś o 20'
elif value in value_dict['train']['day']:
return f'w {value} prezentujemy Batmana o 18 i coś o 20'
elif value in value_dict['train']['day']:
return f'dnia {value} prezentujemy Batmana o 18 i coś o 20'#lista dni 01.01 itd.
elif domain == 'Cinema' and intent == 'Request' and slot == 'e-mail':
if value== '':
return 'podaj e-mail'
else:
pass
elif domain == 'Cinema' and intent == 'Request' and slot == 'name':
if value== '':
return 'podaj imie i nazwisko'
else:
pass
print(nlg(['Cinema', 'Offer', 'Closestscreening', "poniedziałek"]))
# print(value_dict['train']['day'])