mockup improvement

This commit is contained in:
Łukasz Jędyk 2021-04-26 09:57:03 +02:00
parent 0de57cc830
commit d075382862
3 changed files with 27 additions and 14 deletions

View File

@ -4,15 +4,21 @@ from UserAct import UserAct
class DP: class DP:
""" """
Moduł, który tworzy reprezentację tekstową aktu systemowego wybranego przez taktykę dialogu. Moduł decydujący o wyborze kolejnego aktu, który ma podjąć system prowadząc rozmowę.
Wejście: Akt systemu (rama) Wejście: Reprezentacja stanu dialogu (rama)
Wyjście: Tekst Wyjście: Akt systemu (rama)
""" """
def __init__(self): def __init__(self):
pass pass
def chooseTactic(self, frameList=None): 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] systemAct = [0]
return systemAct return systemAct

View File

@ -9,7 +9,9 @@ class NLG:
pass pass
def toText(self, systemAct): def toText(self, systemAct):
if(systemAct == [0]): if systemAct == [1]:
return "Witaj, nazywam się XXX" return "Nie rozumiem o czym mówisz."
if systemAct == [2]:
return "Do widzenia."
else: else:
return "???" return "Witaj, nazywam się Janusz."

17
main.py
View File

@ -1,5 +1,5 @@
from NaturalLanguageUnderstanding import NLU from NaturalLanguageUnderstanding import NLU
from NaturalLAnguageGeneration import NLG from NaturalLanguageGeneration import NLG
from DialogueStateTracker import DST from DialogueStateTracker import DST
from DialoguePolicy import DP from DialoguePolicy import DP
@ -7,12 +7,17 @@ if __name__ == "__main__":
nlu = NLU() nlu = NLU()
dst = DST() dst = DST()
nlg = NLG()
dp = DP() dp = DP()
nlg = NLG()
userFrame = nlu.parseUserInput("czesc") while(1):
dst.addFrame(userFrame) user_input = input("Wpisz tekst: ")
systemAct = dp.chooseTactic(dst.getFrames())
text = nlg.toText(systemAct) user_frame = nlu.parseUserInput(user_input)
dst.addFrame(user_frame)
system_act = dp.chooseTactic(dst.getFrames())
text = nlg.toText(system_act)
print(text) print(text)
if text == "Do widzenia.":
break