Exemple #1
0
def _get_entity_scopes(dataset):
    intent_entities = extract_intent_entities(dataset)
    intent_groups = []
    entity_scopes = []
    for intent, entities in sorted(iteritems(intent_entities)):
        scope = {
            "builtin": list(
                {ent for ent in entities if is_builtin_entity(ent)}),
            "custom": list(
                {ent for ent in entities if not is_builtin_entity(ent)})
        }
        if scope in entity_scopes:
            group_idx = entity_scopes.index(scope)
            intent_groups[group_idx].append(intent)
        else:
            entity_scopes.append(scope)
            intent_groups.append([intent])
    return [
        {
            "intent_group": intent_group,
            "entity_scope": entity_scope
        } for intent_group, entity_scope in zip(intent_groups, entity_scopes)
    ]
 def fit(self, dataset, intent):
     self.language = dataset[LANGUAGE]
     self.entities = extract_intent_entities(
         dataset, lambda e: not is_builtin_entity(e))[intent]
     self.entities = list(self.entities)
     return self