Compare commits

..

2 Commits

Author SHA1 Message Date
d789fcc10b Dodanie normalizacji do DSM 2024-06-07 15:51:02 +02:00
adfea71871 Dodanie normalizacji do DSM 2024-06-07 15:49:41 +02:00

View File

@ -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