41 lines
979 B
Python
41 lines
979 B
Python
from service.dialog_state_monitor import DialogStateMonitor
|
|
from service.dialog_policy import DialogPolicy
|
|
from service.natural_languag_understanding import NaturalLanguageUnderstanding
|
|
from service.natural_language_generation import NaturalLanguageGeneration, parse_frame
|
|
from service.templates import templates
|
|
|
|
# initialize classes
|
|
nlu = NaturalLanguageUnderstanding() # NLU
|
|
monitor = DialogStateMonitor() # DSM
|
|
dialog_policy = DialogPolicy() # DP
|
|
language_generation = NaturalLanguageGeneration(templates) # NLG
|
|
|
|
# Main loop
|
|
user_input = input("Możesz zacząć pisać.\n")
|
|
while True:
|
|
# NLU
|
|
frame = nlu.process_input(user_input)
|
|
# print(frame)
|
|
|
|
# DSM
|
|
monitor.update(frame)
|
|
|
|
# DP
|
|
# print(dialog_policy.next_dialogue_act(monitor.read()).act)
|
|
|
|
# NLG
|
|
act, slots = parse_frame(frame)
|
|
response = language_generation.generate(act, slots)
|
|
print(response)
|
|
|
|
if frame.act == "bye":
|
|
break
|
|
|
|
user_input = input(">\n")
|
|
|
|
|
|
|
|
|
|
|
|
|