예제 #1
0
 def clean(self,s):
     s = s.replace('<go> ', '').replace(' SLOT', '_SLOT')
     s = '<GO> ' + s + ' </s>'
     for item in self.entity_dict:
         # s = s.replace(item, 'VALUE_{}'.format(self.entity_dict[item]))
         s = clean_replace(s, item, '{}_SLOT'.format(self.entity_dict[item]))
     return s
예제 #2
0
파일: metric.py 프로젝트: elnaz776655/PARG
 def clean_multiwoz(self, s):
     s = s.replace('<go> ', '')
     s = '<GO> ' + s + ' </s>'
     for item in self.entity_dict:
         entity = " ".join(item.split(" ")[1:])
         # s = s.replace(item, 'VALUE_{}'.format(self.entity_dict[item]))
         tp = " ".join(self.entity_dict[item].split(" ")[1:])
         slot = "[value_" + tp + "]"
         s = clean_replace(s, entity, slot)
     return s
예제 #3
0
    def clean_by_intent(self, s, i):
        s = s.replace('<go> ', '').replace(' SLOT', '_SLOT')
        s = '<GO> ' + s + ' </s>'
        intent = self.raw_data[i]['scenario']['task']['intent']
        slot = {
            'weather': ['weather_attribute', 'location', 'weekly_time'],
            'navigate': ['poi', 'poi_type', 'distance', 'traffic', 'address'],
            'schedule': ['event', 'date', 'time', 'party', 'room', 'agenda']
        }

        for item in self.entity_dict:
            if self.entity_dict[item] in slot[intent]:
                s = clean_replace(s, item, '{}_SLOT'.format(self.entity_dict[item]))
        return s
예제 #4
0
    def clean(self, s, ifreader=False):
        from reader import clean_replace
        s = s.replace('<go> ', '').replace(' SLOT', '_SLOT')
        if ifreader:
            pass
        else:
            s = '<GO> ' + s + ' </s>'
        slot_list = []
        assert (len(self.entity_dict) > 0)
        for item in self.entity_dict:

            # s = s.replace(item, 'VALUE_{}'.format(self.entity_dict[item]))
            s1 = clean_replace(s, item,
                               '{}_SLOT'.format(self.entity_dict[item]))
            if s1 != s:
                slot_list.append(item)
                #print("slot_list", slot_list)
            s = s1

        return s, slot_list