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

SpaCy SpanCategorizer训练全指标得分为零问题求助

问题排查:Spancat训练指标全零但标注数据有效

核心问题点及修复方案

1. 训练配置中annotating_components配置错误

你的配置里training.annotating_components = ["span_ruler"],这会导致训练时自动运行Span Ruler组件,重新生成标注覆盖掉你预处理好的gold标注(保存在doc.spans["ruler"])。由于你已经提前完成了标注,不需要训练时再通过规则生成,应该将其改为空列表:

[training]
annotating_components = []

2. 评分权重配置导致指标不计算

training.score_weights中设置了spans_sc_f = null且spans_sc_p、spans_sc_r为0.0,这会让评分器完全跳过这些指标的计算,显示为零值。调整为合理的权重配置,比如优先关注F1值:

[training.score_weights]
spans_sc_f = 1.0
spans_sc_p = 0.5
spans_sc_r = 0.5

3. 预处理脚本的潜在验证点

  • 确认doc.spans["ruler"]中的span标签与训练目标完全一致(你的标签是"Effective Date",注意大小写和空格,Spancat对标签大小写敏感)
  • 用spacy validate ./train命令验证训练数据格式是否符合要求,确保没有格式错误

4. Spancat候选span生成匹配问题

你的目标span总长度为11个token(4个DATE token + 7个固定格式token),配置中suggester.sizes = [11,12,13,14,15]是匹配的,但可以检查实际数据中是否存在长度超出此范围的标注,若有则调整sizes覆盖所有可能的目标长度。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 11:47:58