【问题标题】:Return all possible entity types from spaCy model?从 spaCy 模型返回所有可能的实体类型?
【发布时间】:2021-12-01 13:33:40
【问题描述】:
有没有一种方法可以从 spaCy 中的模型中提取所有可能的命名实体类型?您可以通过在示例文本上运行来手动找出它,但我想有一种更程序化的方式来做到这一点?
例如:
import spacy
model=spacy.load("en_core_web_sm")
model.*returns_entity_types*
【问题讨论】:
标签:
python
nlp
spacy
named-entity-recognition
【解决方案1】:
像ner 这样的统计管道组件在.labels 下提供它们的标签:
import spacy
nlp = spacy.load("en_core_web_sm")
nlp.get_pipe("ner").labels
【解决方案2】:
这可能不是最通用的答案,但对于 en_core_web_sm,这会返回命名实体类型。
model = spacy.load("en_core_web_sm")
list(model.__dict__['_meta']['accuracy']['ents_per_type'].keys())
['ORG', 'CARDINAL', 'DATE', 'GPE', 'PERSON', 'MONEY', 'PRODUCT', 'TIME', 'PERCENT', 'WORK_OF_ART', 'QUANTITY', 'NORP', 'LOC', 'EVENT', 'ORDINAL', 'FAC', 'LAW', 'LANGUAGE']