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

使用spaCy为DataFrame创建NER标签列出现AttributeError如何解决

spaCy实体标签列生成错误解决方法

错误原因

label_是spaCy实体Span对象的专属属性,ner_model(x)返回的是Doc类对象,本身不携带label_属性。你生成实体列时通过.ents拿到了Doc下的所有实体Span列表,生成标签列时也需要先提取ents再遍历取属性。

正确实现代码

1. 与实体列一一对应的实体标签列表(和现有逻辑对齐,推荐使用)

# 注意保持和实体列相同的模型调用,不要混用ner_model和nlp避免结果不一致
df['new_col1'] = df['Combined'].apply(lambda x: [ent.label_ for ent in ner_model(x).ents])

2. 逐token的全序列标签(适用于序列标注场景,非实体token标记为'O')

df['token_labels'] = df['Combined'].apply(lambda x: [f"{token.ent_iob_}-{token.ent_type_}" if token.ent_type_ else "O" for token in ner_model(x)])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 08:00:01