Compare commits
2 Commits
d02bd4b5ae
...
d789fcc10b
Author | SHA1 | Date | |
---|---|---|---|
d789fcc10b | |||
adfea71871 |
@ -4,7 +4,12 @@ import json
|
|||||||
import copy
|
import copy
|
||||||
|
|
||||||
|
|
||||||
class DialogStateMonitor:
|
def normalize(value):
|
||||||
|
value = value.lower()
|
||||||
|
return ' '.join(value.split())
|
||||||
|
|
||||||
|
|
||||||
|
class DialogStateMonitor(DST):
|
||||||
def __init__(self, initial_state_file: str = '../attributes.json'):
|
def __init__(self, initial_state_file: str = '../attributes.json'):
|
||||||
DST.__init__(self)
|
DST.__init__(self)
|
||||||
with open(initial_state_file) as file:
|
with open(initial_state_file) as file:
|
||||||
@ -25,28 +30,28 @@ class DialogStateMonitor:
|
|||||||
if frame.act == 'inform/order':
|
if frame.act == 'inform/order':
|
||||||
new_order = dict()
|
new_order = dict()
|
||||||
for slot in frame.slots:
|
for slot in frame.slots:
|
||||||
new_order[slot.name] = slot.value
|
new_order[slot.name] = normalize(slot.value)
|
||||||
self.__memory['order'].append(new_order)
|
self.__memory['order'].append(new_order)
|
||||||
elif frame.act == 'inform/address':
|
elif frame.act == 'inform/address':
|
||||||
for slot in frame.slots:
|
for slot in frame.slots:
|
||||||
self.__memory['address'][slot.name] = slot.value
|
self.__memory['address'][slot.name] = normalize(slot.value)
|
||||||
elif frame.act == 'inform/phone':
|
elif frame.act == 'inform/phone':
|
||||||
for slot in frame.slots:
|
for slot in frame.slots:
|
||||||
self.__memory['phone'][slot.name] = slot.value
|
self.__memory['phone'][slot.name] = normalize(slot.value)
|
||||||
elif frame.act == 'inform/order-complete':
|
elif frame.act == 'inform/order-complete':
|
||||||
self.__memory['order-complete'] = True
|
self.__memory['order-complete'] = True
|
||||||
elif frame.act == 'inform/delivery':
|
elif frame.act == 'inform/delivery':
|
||||||
for slot in frame.slots:
|
for slot in frame.slots:
|
||||||
self.__memory['delivery'][slot.name] = slot.value
|
self.__memory['delivery'][slot.name] = normalize(slot.value)
|
||||||
elif frame.act == 'inform/payment':
|
elif frame.act == 'inform/payment':
|
||||||
for slot in frame.slots:
|
for slot in frame.slots:
|
||||||
self.__memory['payment'][slot.name] = slot.value
|
self.__memory['payment'][slot.name] = normalize(slot.value)
|
||||||
elif frame.act == 'inform/time':
|
elif frame.act == 'inform/time':
|
||||||
for slot in frame.slots:
|
for slot in frame.slots:
|
||||||
self.__memory['time'][slot.name] = slot.value
|
self.__memory['time'][slot.name] = normalize(slot.value)
|
||||||
elif frame.act == 'inform/name':
|
elif frame.act == 'inform/name':
|
||||||
for slot in frame.slots:
|
for slot in frame.slots:
|
||||||
self.__memory['name'][slot.name] = slot.value
|
self.__memory['name'][slot.name] = normalize(slot.value)
|
||||||
|
|
||||||
def read(self) -> dict:
|
def read(self) -> dict:
|
||||||
return self.__memory
|
return self.__memory
|
||||||
|
Loading…
Reference in New Issue
Block a user