diff --git a/DialoguePolicy.py b/DialoguePolicy.py index d8bdc24..5f539a5 100644 --- a/DialoguePolicy.py +++ b/DialoguePolicy.py @@ -4,15 +4,21 @@ from UserAct import UserAct class DP: """ - Moduł, który tworzy reprezentację tekstową aktu systemowego wybranego przez taktykę dialogu. - Wejście: Akt systemu (rama) - Wyjście: Tekst + Moduł decydujący o wyborze kolejnego aktu, który ma podjąć system prowadząc rozmowę. + Wejście: Reprezentacja stanu dialogu (rama) + Wyjście: Akt systemu (rama) """ def __init__(self): pass def chooseTactic(self, frameList=None): - if frameList is not None: + if frameList[-1].getActType() is UserActType.INVALID: + systemAct = [1] + return systemAct + elif frameList[-1].getActType() is UserActType.BYE: + systemAct = [2] + return systemAct + else: systemAct = [0] return systemAct diff --git a/NaturalLAnguageGeneration.py b/NaturalLAnguageGeneration.py index dea92d3..e60f8a5 100644 --- a/NaturalLAnguageGeneration.py +++ b/NaturalLAnguageGeneration.py @@ -9,7 +9,9 @@ class NLG: pass def toText(self, systemAct): - if(systemAct == [0]): - return "Witaj, nazywam się XXX" + if systemAct == [1]: + return "Nie rozumiem o czym mówisz." + if systemAct == [2]: + return "Do widzenia." else: - return "???" + return "Witaj, nazywam się Janusz." diff --git a/main.py b/main.py index 01952d3..09d7074 100644 --- a/main.py +++ b/main.py @@ -1,5 +1,5 @@ from NaturalLanguageUnderstanding import NLU -from NaturalLAnguageGeneration import NLG +from NaturalLanguageGeneration import NLG from DialogueStateTracker import DST from DialoguePolicy import DP @@ -7,12 +7,17 @@ if __name__ == "__main__": nlu = NLU() dst = DST() - nlg = NLG() dp = DP() + nlg = NLG() - userFrame = nlu.parseUserInput("czesc") - dst.addFrame(userFrame) - systemAct = dp.chooseTactic(dst.getFrames()) - text = nlg.toText(systemAct) + while(1): + user_input = input("Wpisz tekst: ") - print(text) + user_frame = nlu.parseUserInput(user_input) + dst.addFrame(user_frame) + system_act = dp.chooseTactic(dst.getFrames()) + text = nlg.toText(system_act) + + print(text) + if text == "Do widzenia.": + break