예제 #1
0
 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]
예제 #2
0
 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')
예제 #3
0
 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
             )
         )
     )
예제 #4
0
 def _level1(self, item, key):
     indexes = decouple(item, 'keywords[].value')
     return list(
         set(
             map(
                 lambda x: x,
                 filter(
                     lambda x: x != {},
                     indexes
                 )
             )
         )
     )
예제 #5
0
 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
                 )
             )
         )
     )