2021-04-26 14:26:52 +02:00
|
|
|
from presenter.chatbot_modules.DialogueStateTracker import DialogueStateTracker
|
2021-04-26 15:00:45 +02:00
|
|
|
from presenter.chatbot_modules.NaturalLanguageGeneration import NaturalLanguageGeneration
|
2021-04-26 13:31:00 +02:00
|
|
|
from presenter.chatbot_modules.NaturalLanguageUnderstanding import NaturalLanguageUnderstanding
|
2021-04-26 15:00:45 +02:00
|
|
|
from presenter.chatbot_modules.DialoguePolicy import DialoguePolicy
|
2021-04-26 13:31:00 +02:00
|
|
|
|
|
|
|
|
|
|
|
class Presenter:
|
2021-04-26 14:26:52 +02:00
|
|
|
dialogue_state_tracker = DialogueStateTracker()
|
|
|
|
nlu = NaturalLanguageUnderstanding()
|
2021-04-26 15:00:45 +02:00
|
|
|
policy = DialoguePolicy()
|
|
|
|
nlg = NaturalLanguageGeneration()
|
2021-04-26 13:31:00 +02:00
|
|
|
|
|
|
|
def process_user_input(self, user_input):
|
2021-04-26 14:26:52 +02:00
|
|
|
user_frames = self.nlu.text_to_user_frame(user_input)
|
|
|
|
dialogue_state = self.dialogue_state_tracker.processUserAct(user_frames)
|
2021-04-26 15:00:45 +02:00
|
|
|
system_frames = self.policy.resolve_system_acts(dialogue_state)
|
|
|
|
msg = self.nlg.generate_text(system_frames)
|
|
|
|
return msg
|