2021-06-06 12:09:20 +02:00
|
|
|
import random
|
|
|
|
|
2021-05-27 15:11:28 +02:00
|
|
|
class NLG:
|
|
|
|
"""
|
|
|
|
Moduł, który tworzy reprezentację tekstową aktu systemowego wybranego przez taktykę dialogu.
|
|
|
|
|
|
|
|
Wejście: Akt systemu (rama)
|
|
|
|
|
|
|
|
Wyjście: Tekst
|
|
|
|
"""
|
2021-05-30 13:31:34 +02:00
|
|
|
def __init__(self):
|
|
|
|
pass
|
2021-05-27 15:11:28 +02:00
|
|
|
|
2021-06-06 12:09:20 +02:00
|
|
|
def change_to_text(self, system_acts):
|
2021-05-27 15:11:28 +02:00
|
|
|
"""
|
|
|
|
Funkcja zamieniająca akt systemu na tekst rozumiany przez użytkownika.
|
|
|
|
"""
|
2021-06-06 12:09:20 +02:00
|
|
|
if(len(system_acts) == 0):
|
|
|
|
return "Nie mam już nic do powiedzenia :("
|
|
|
|
|
|
|
|
act = system_acts.pop(0)
|
|
|
|
if(len(act) == 0):
|
|
|
|
return "Nie mam już nic do powiedzenia :("
|
|
|
|
|
|
|
|
for variable in act:
|
|
|
|
domain, intent = variable
|
|
|
|
|
|
|
|
if (domain == "inform"):
|
|
|
|
return "test"
|
|
|
|
if(domain == "greeting"):
|
|
|
|
return random.choice(["Cześć, mam na imię Janet", "Hej, jestem Janet. W czym mogę pomóc?", "Dzień dobry, nazywam się Janet"])
|
|
|
|
|
|
|
|
elif(domain == "end_conversation"):
|
|
|
|
return random.choice(["Dziękujemy za skorzystanie z naszych usług!", "Do widzenia!", "Do zobaczenia!"])
|