【发布时间】:2020-06-26 01:18:30
【问题描述】:
如果某些命名实体是复合词,如何使用 spaCy 从文本中删除命名实体?
我知道Removing named entities from a document using spacy 的问题 我相信这不是该问题的重复,因为如果命名实体是复合词,则发布的已接受答案将失败。 下面显示了链接问题的接受答案失败的示例代码。
import spacy
nlp = spacy.load('en_core_web_sm')
text_data = 'This is a text document that speaks about entities like New York and Nokia'
document = nlp(text_data)
text_no_namedentities = []
ents = [e.text for e in document.ents]
for item in document:
if item.text in ents:
pass
else:
text_no_namedentities.append(item.text)
print(" ".join(text_no_namedentities))
输出:
This is a text document that speaks about entities like New York and'
从文本中删除命名实体(包括复合词实体)的最佳方法是什么? 谢谢。
附:我会将此作为对链接问题的评论发布,但作为新用户,我缺乏足够的声誉来发表评论。我尝试将其作为答案发布在那里,但由于我不知道解决方案(只有接受的答案会因复合词而失败),所以它不是一个好的答案,因此被删除。一个新问题似乎是留给我的最后手段,但如果这不合适,任何关于在这种情况下正确行动的建议将不胜感激。
【问题讨论】:
标签: python nlp spacy named-entity-recognition