仅从令牌中提取某些命名实体



快速提问(希望如此(。我是否可以获得令牌的命名实体,除了带有CARDINAL标签的实体(标签是397(。下面是我的代码:

spacy_model = spacy.load('en-core-web-lg')
f = open('temp.txt')
tokens = spacy_model(f.read())
named_entities = tokens.ents #Except where named_entities.label = 397

这可能吗?如有任何帮助,我们将不胜感激。

您可以使用列表理解过滤出实体:

named_entities = [t for t in tokens.ents if t.label_ != 'CARDINAL']

这里有一个测试:

import spacy
nlp = spacy.load("en_core_web_sm")
tokens = nlp('The basket costs $10. I bought 6.')
print([(ent.text, ent.label_) for ent in tokens.ents])
# => [('10', 'MONEY'), ('6', 'CARDINAL')]
print([t for t in tokens.ents if t.label_ != 'CARDINAL'])
# => [10]

相关内容

  • 没有找到相关文章

最新更新