Added basic mockups
This commit is contained in:
parent
5d9165411a
commit
0de57cc830
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
/venv
|
||||
__pycache__
|
18
DialoguePolicy.py
Normal file
18
DialoguePolicy.py
Normal file
@ -0,0 +1,18 @@
|
||||
from UserActType import UserActType
|
||||
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
|
||||
"""
|
||||
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def chooseTactic(self, frameList=None):
|
||||
if frameList is not None:
|
||||
systemAct = [0]
|
||||
return systemAct
|
19
DialogueStateTracker.py
Normal file
19
DialogueStateTracker.py
Normal file
@ -0,0 +1,19 @@
|
||||
from UserActType import UserActType
|
||||
from UserAct import UserAct
|
||||
|
||||
|
||||
class DST:
|
||||
"""
|
||||
Moduł odpowiedzialny za śledzenie stanu dialogu. Przechowuje informacje o tym jakie dane zostały uzyskane od użytkownika w toku prowadzonej konwersacji.
|
||||
Wejście: Akt użytkownika (rama)
|
||||
Wyjście: Reprezentacja stanu dialogu (rama)
|
||||
"""
|
||||
|
||||
def __init__(self):
|
||||
self.frameList = []
|
||||
|
||||
def addFrame(self, frame):
|
||||
self.frameList.append(frame)
|
||||
|
||||
def getFrames(self):
|
||||
return self.frameList
|
15
NaturalLAnguageGeneration.py
Normal file
15
NaturalLAnguageGeneration.py
Normal file
@ -0,0 +1,15 @@
|
||||
class NLG:
|
||||
"""
|
||||
Moduł, który tworzy reprezentację tekstową aktu systemowego wybranego przez taktykę dialogu.
|
||||
Wejście: Akt systemu (rama)
|
||||
Wyjście: Tekst
|
||||
"""
|
||||
|
||||
def __init__(self):
|
||||
pass
|
||||
|
||||
def toText(self, systemAct):
|
||||
if(systemAct == [0]):
|
||||
return "Witaj, nazywam się XXX"
|
||||
else:
|
||||
return "???"
|
@ -4,6 +4,11 @@ import re
|
||||
|
||||
|
||||
class NLU:
|
||||
"""
|
||||
Moduł odpowiedzialny za analizę tekstu. W wyniku jego działania tekstowa reprezentacja wypowiedzi użytkownika zostaje zamieniona na jej reprezentację semantyczną, najczęściej w postaci ramy.
|
||||
Wejście: Tekst
|
||||
Wyjście: Akt użytkownika (rama)
|
||||
"""
|
||||
|
||||
def __init__(self):
|
||||
self.__actParsePatternList = [
|
||||
@ -31,16 +36,3 @@ class NLU:
|
||||
if match:
|
||||
return UserAct(actType, actParams)
|
||||
return UserAct(UserActType.INVALID)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
nlu = NLU()
|
||||
|
||||
a = nlu.parseUserInput("czesc")
|
||||
b = nlu.parseUserInput("jak masz na imie")
|
||||
c = nlu.parseUserInput("zegnaj")
|
||||
|
||||
print(a)
|
||||
print(b)
|
||||
print(c)
|
||||
|
18
main.py
Normal file
18
main.py
Normal file
@ -0,0 +1,18 @@
|
||||
from NaturalLanguageUnderstanding import NLU
|
||||
from NaturalLAnguageGeneration import NLG
|
||||
from DialogueStateTracker import DST
|
||||
from DialoguePolicy import DP
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
nlu = NLU()
|
||||
dst = DST()
|
||||
nlg = NLG()
|
||||
dp = DP()
|
||||
|
||||
userFrame = nlu.parseUserInput("czesc")
|
||||
dst.addFrame(userFrame)
|
||||
systemAct = dp.chooseTactic(dst.getFrames())
|
||||
text = nlg.toText(systemAct)
|
||||
|
||||
print(text)
|
Loading…
Reference in New Issue
Block a user