Вы можете попытаться определить класс как сопоставление сущностей и выполнить цикл по различным шаблонам / полям
class EntityMatcher(object):
name = 'entity_matcher'
def __init__(self, nlp, terms, label):
patterns = [nlp(text) for text in terms]
self.matcher = PhraseMatcher(nlp.vocab)
self.matcher.add(label, None, *patterns)
def __call__(self, doc):
matches = self.matcher(doc)
for match_id, start, end in matches:
span = Span(doc, start, end, label = match_id)
doc.ents = list(doc.ents)
return doc