def __call__(self, item): for text in decouple(item, self.unpack): res = self.regex.search(text) if res is None: return names = ['sentiment', 'orgs', 'places'] return [self.name + '_' + name for name in names]
def _level1(self, item, key): if 'sentiment' in key: indexes = decouple(item, 'categoryDoc[].category.value') return indexes if 'places' in key: return self.filter_entity_kind(item, 'GPE') if 'orgs' in key: return self.filter_entity_kind(item, 'ORGANIZATION')
def filter_entity_kind(self, item, type): indexes = decouple(item, 'sentenceScore[].entityLink[].entity') return list( map( lambda x: str(x.id), filter( lambda x: x.kind == type, indexes ) ) )
def _level1(self, item, key): indexes = decouple(item, 'keywords[].value') return list( set( map( lambda x: x, filter( lambda x: x != {}, indexes ) ) ) )
def __call__(self, item, *args: Any, **kwds: Any) -> Any: indexes = decouple(item, 'sentenceScore[].entityLink[].entity.company') return list( set( map( lambda x: x.clean_name, filter( lambda x: x != {}, indexes ) ) ) )