Dialogue policy and state tracker update
This commit is contained in:
parent
70606851a1
commit
217f43a282
8
.idea/.gitignore
vendored
Normal file
8
.idea/.gitignore
vendored
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
|
# Datasource local storage ignored files
|
||||||
|
/../../../../../:\Projects\Git\SystemyDialogowe\.idea/dataSources/
|
||||||
|
/dataSources.local.xml
|
||||||
|
# Editor-based HTTP Client requests
|
||||||
|
/httpRequests/
|
15
.idea/SystemyDialogowe.iml
Normal file
15
.idea/SystemyDialogowe.iml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="PYTHON_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager">
|
||||||
|
<content url="file://$MODULE_DIR$" />
|
||||||
|
<orderEntry type="jdk" jdkName="Python 3.9 (se_venv)" jdkType="Python SDK" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
<component name="PyDocumentationSettings">
|
||||||
|
<option name="format" value="PLAIN" />
|
||||||
|
<option name="myDocStringFormat" value="Plain" />
|
||||||
|
</component>
|
||||||
|
<component name="TestRunnerService">
|
||||||
|
<option name="PROJECT_TEST_RUNNER" value="pytest" />
|
||||||
|
</component>
|
||||||
|
</module>
|
6
.idea/inspectionProfiles/profiles_settings.xml
Normal file
6
.idea/inspectionProfiles/profiles_settings.xml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<component name="InspectionProjectProfileManager">
|
||||||
|
<settings>
|
||||||
|
<option name="USE_PROJECT_PROFILE" value="false" />
|
||||||
|
<version value="1.0" />
|
||||||
|
</settings>
|
||||||
|
</component>
|
4
.idea/misc.xml
Normal file
4
.idea/misc.xml
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.9 (se_venv)" project-jdk-type="Python SDK" />
|
||||||
|
</project>
|
8
.idea/modules.xml
Normal file
8
.idea/modules.xml
Normal file
@ -0,0 +1,8 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectModuleManager">
|
||||||
|
<modules>
|
||||||
|
<module fileurl="file://$PROJECT_DIR$/.idea/SystemyDialogowe.iml" filepath="$PROJECT_DIR$/.idea/SystemyDialogowe.iml" />
|
||||||
|
</modules>
|
||||||
|
</component>
|
||||||
|
</project>
|
6
.idea/vcs.xml
Normal file
6
.idea/vcs.xml
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="VcsDirectoryMappings">
|
||||||
|
<mapping directory="$PROJECT_DIR$" vcs="Git" />
|
||||||
|
</component>
|
||||||
|
</project>
|
@ -1,6 +1,7 @@
|
|||||||
from SystemAct import SystemAct
|
from SystemAct import SystemAct
|
||||||
from UserActType import UserActType
|
from UserActType import UserActType
|
||||||
from SystemActType import SystemActType
|
from SystemActType import SystemActType
|
||||||
|
from collections import defaultdict
|
||||||
|
|
||||||
|
|
||||||
class DP:
|
class DP:
|
||||||
@ -11,15 +12,42 @@ class DP:
|
|||||||
"""
|
"""
|
||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
pass
|
self.results = []
|
||||||
|
|
||||||
def chooseTactic(self, frameList=None) -> SystemAct:
|
def chooseTactic(self, current_frame) -> SystemAct:
|
||||||
userAct = frameList[-1]
|
#userAct = frameList[-1]
|
||||||
if userAct.getActType() == UserActType.HELLO:
|
if current_frame.getActType() == UserActType.HELLO:
|
||||||
return SystemAct(SystemActType.WELCOME_MSG)
|
return SystemAct(SystemActType.WELCOME_MSG)
|
||||||
elif userAct.getActType() == UserActType.BYE:
|
elif current_frame.getActType() == UserActType.BYE:
|
||||||
return SystemAct(SystemActType.BYE)
|
return SystemAct(SystemActType.BYE)
|
||||||
elif userAct.getActType() == UserActType.INVALID:
|
elif current_frame.getActType() == UserActType.CONFIRM:
|
||||||
|
# Czy napewno zawsze po Confirm jest Affirm?
|
||||||
|
return SystemAct(SystemActType.AFFIRM)
|
||||||
|
elif current_frame.getActType() == UserActType.NEGATE:
|
||||||
|
# TODO rozpoznanie czy ma się już komplet danych
|
||||||
|
# Affirm (gdy ma się wszystkie potrzebne zdanie)
|
||||||
|
# Request (gdy potrzeba się dopytać dalej)
|
||||||
|
# Bye (gdy to odp na REQMORE)
|
||||||
|
return SystemAct(SystemActType.AFFIRM)
|
||||||
|
elif current_frame.getActType() == UserActType.THANKYOU:
|
||||||
|
return SystemAct(SystemActType.REQMORE)
|
||||||
|
elif current_frame.getActType() == UserActType.INFORM:
|
||||||
|
# TODO najczęściej chyba AFFIRM, CONFIRM_DOMAIN i REQUEST
|
||||||
|
return SystemAct(SystemActType.REQUEST)
|
||||||
|
elif current_frame.getActType() == UserActType.CREATE_MEETING:
|
||||||
|
# TODO najczęściej chyba CONFIRM_DOMAIN i REQUEST
|
||||||
|
return SystemAct(SystemActType.REQUEST)
|
||||||
|
elif current_frame.getActType() == UserActType.UPDATE_MEETING:
|
||||||
|
# TODO rozpoznanie czy ma się już komplet danych jak nie to REQUEST jak tak to CONFIRM_DOMAIN
|
||||||
|
return SystemAct(SystemActType.REQUEST)
|
||||||
|
elif current_frame.getActType() == UserActType.CANCEL_MEETING:
|
||||||
|
# TODO rozpoznanie czy ma się już komplet danych jak nie to REQUEST jak tak to CONFIRM_DOMAIN
|
||||||
|
return SystemAct(SystemActType.REQUEST)
|
||||||
|
elif current_frame.getActType() == UserActType.MEETING_LIST:
|
||||||
|
return SystemAct(SystemActType.INFORM, ["meeting_list"])
|
||||||
|
elif current_frame.getActType() == UserActType.FREE_TIME:
|
||||||
|
return SystemAct(SystemActType.INFORM, ["freetime"])
|
||||||
|
elif current_frame.getActType() == UserActType.INVALID:
|
||||||
return SystemAct(SystemActType.NOT_UNDERSTOOD)
|
return SystemAct(SystemActType.NOT_UNDERSTOOD)
|
||||||
else:
|
else:
|
||||||
return SystemAct(SystemActType.INFORM,['name'])
|
return SystemAct(SystemActType.INFORM,['name'])
|
||||||
|
@ -11,6 +11,12 @@ class DST:
|
|||||||
|
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self.frameList = []
|
self.frameList = []
|
||||||
|
self.state = None
|
||||||
|
|
||||||
|
def update(self, frame):
|
||||||
|
self.addFrame(frame)
|
||||||
|
self.state = frame
|
||||||
|
return self.state
|
||||||
|
|
||||||
def addFrame(self, frame):
|
def addFrame(self, frame):
|
||||||
self.frameList.append(frame)
|
self.frameList.append(frame)
|
||||||
|
@ -6,4 +6,10 @@ class SystemActType(Enum):
|
|||||||
WELCOME_MSG = 0
|
WELCOME_MSG = 0
|
||||||
INFORM = 1
|
INFORM = 1
|
||||||
BYE = 2
|
BYE = 2
|
||||||
|
REQUEST = 3
|
||||||
|
INFORM = 4
|
||||||
|
AFFIRM = 5
|
||||||
|
CONFIRM_DOMAIN = 6
|
||||||
|
OFFER = 7
|
||||||
|
REQMORE = 8
|
||||||
NOT_UNDERSTOOD = -1
|
NOT_UNDERSTOOD = -1
|
||||||
|
Loading…
Reference in New Issue
Block a user