仅从令牌中提取某些命名实体
nlp 234
原文标题 :Extract Only Certain Named Entities From Tokens
快速提问(希望如此)。我是否有可能获得令牌的命名实体,除了带有 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
这可能吗?任何帮助将不胜感激。
回复
我来回复-
Wiktor Stribiżew 评论
该回答已被采纳!
您可以使用列表推导过滤掉实体:
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]
2年前