You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取spaCy NER模型的实体标签置信度分数?

获取spaCy实体识别的标签置信度分数

要获取spaCy为实体分配的标签置信度分数,你可以通过以下两种方式实现:

方法一:直接访问实体的扩展属性(spaCy v3及以上版本)

训练完成的NER模型会自动为识别出的实体添加._.score扩展属性,直接读取该属性就能拿到对应标签的置信度分数:

nlp = spacy.load('output_/model-best')
doc = nlp("hello world")
for entity in doc.ents:
    print(entity.text, entity.label_, entity._.score)

方法二:通过NER管道获取全量标签分数

如果需要查看每个token对应所有实体标签的概率分布,可以调用NER管道的predict方法获取原始预测数据,再结合标签映射解析:

nlp = spacy.load('output_/model-best')
doc = nlp("hello world")
ner_pipe = nlp.get_pipe("ner")
# 获取每个token的所有标签分数
raw_scores = ner_pipe.predict(doc)
# 获取模型支持的所有实体标签
all_labels = ner_pipe.labels

for idx, token in enumerate(doc):
    token_scores = raw_scores[idx]
    print(f"Token: {token.text}")
    for label, score in zip(all_labels, token_scores):
        print(f"  {label}: {score:.4f}")

注意:低版本spaCy可能不支持._.score扩展属性,建议升级到v3及以上版本使用第一种方法。

内容的提问来源于stack exchange,提问作者SteveS

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 09:05:20