forked from s151636/Generic_DialogSystem
6.7 KiB
6.7 KiB
import random
def nlg(system_act):
domain, intent, slot, value = system_act
if intent == 'Affirm':
r = random.randint(1, 3)
if r == 1:
return 'Tak'
elif r == 2:
return 'Zgadza się'
else:
return 'Potwierdzam'
if intent == 'Deny':
r = random.randint(1, 3)
if r == 1:
return 'Nie'
elif r == 2:
return 'Nie zgadza się'
else:
return 'Nie potwierdzam'
if intent == 'Canthelp':
r = random.randint(1, 3)
if r == 1:
return 'Przepraszam, ale obawiam się, że nie mogę tego zrobić'
elif r == 2:
return 'Wystąpił błąd, proszę się skontaktować z obsługą'
else:
return 'ERR://23¤Y%/'
if intent == 'Hellomsg':
r = random.randint(1, 3)
if r == 1:
return 'Witaj'
elif r == 2:
return 'Cześć'
else:
return 'Dzień dobry'
if intent == 'Bye':
r = random.randint(1, 3)
if r == 1:
return 'Do zobaczenia'
elif r == 2:
return 'Żegnaj'
else:
return 'Buk zapłać'
if domain == 'Product':
if intent == 'Inform':
if slot == 'Quantity':
if value == 0:
return f'Nie znalazłem produktów spełniających podane kryteria.'
elif value == 1:
return f'Znalazłem jeden produkt spełniającą podane kryteria.'
elif value <= 4:
return f'Znalazłem {value} produkty spełniające podane kryteria.'
elif value <= 9:
return f'Znalazłem {value} produktów spełniających podane kryteria.'
else:
return f'Znalazłem wiele produktów spełniających podane kryteria.'
elif slot == 'Quality':
return f'Znalazłem produkt(y) jakości {value}'
elif slot == 'Price_range':
return f'Znalazłem produkt(y) w przedziale cenowym {value}'
elif slot == 'Type':
return f'Znalazłem produkt(y) typu {value}'
elif slot == 'Brand':
return f'Znalazłem produkt(y) marki {value}'
elif slot == 'Price':
return f'Znalazlem produkt(y) w cenie {value}'
if intent == 'Request':
if slot == 'CreditCardNo':
return 'Podaj nuber karty płatniczej'
if slot == 'Quantity':
return 'Podaj liczbę artykułów'
#if slot == 'Quality':
# return 'Podaj jakość produktów'
if slot == 'Type':
return 'Podaj typ produktu'
if intent == 'Recommend':
if slot == "Name":
r = random.randint(1, 3)
if r == 1:
return f'Kochany użytkowniku, z całego serduszka polecam Ci {value}'
elif r == 2:
return f'Polecam {value}'
else:
return f'Mogę polecić {value}'
nlg(['', 'Hellomsg', '', ''])
'Witaj'
nlg(['Product', 'Inform', 'Brand', 'RedBull'])
'Znalazłem produkt(y) marki RedBull'
nlg(['Product', 'Recommend', 'Name', 'RedBull'])
'Polecam RedBull'
nlg(['Product', 'Request', 'Quantity', '?'])
'Podaj liczbę artykułów'
nlg(['', 'Canthelp', '', ''])
'Przepraszam, ale obawiam się, że nie mogę tego zrobić'
nlg(['', 'Bye', '', ''])
'Do zobaczenia'