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:
|
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):
|
def __init__(self):
|
||||||
self.__actParsePatternList = [
|
self.__actParsePatternList = [
|
||||||
@ -31,16 +36,3 @@ class NLU:
|
|||||||
if match:
|
if match:
|
||||||
return UserAct(actType, actParams)
|
return UserAct(actType, actParams)
|
||||||
return UserAct(UserActType.INVALID)
|
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