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

Space库命名实体识别(NER)损失函数及相关技术咨询

Space库在NER任务中的损失函数说明

标准推荐损失函数

Space库针对通用命名实体识别(NER)任务,默认推荐使用交叉熵损失(Cross-Entropy Loss),具体为适配序列标注场景的逐token交叉熵损失。该损失会自动忽略padding token的计算,适配BIO/BIOES等主流标注体系,适用于大多数常规NER任务场景。

特定场景备选损失函数

针对不同的NER细分场景,库内提供以下备选损失函数:

  • 加权交叉熵损失(Weighted Cross-Entropy Loss):用于解决实体类别样本不均衡问题,允许为稀有实体类别设置更高的损失权重,提升模型对小众实体的识别能力。
  • 多标签交叉熵损失(Multi-Label Cross-Entropy Loss):专门适配嵌套实体识别场景,支持单个token对应多个实体标签的损失计算,满足嵌套实体的标注需求。
  • 边界感知损失(Boundary-Aware Loss):针对实体边界模糊、难以精准识别的场景,强化实体起始(B-)和结束(E-)位置的损失权重,帮助模型更好地定位实体边界。

损失函数定制支持

Space库完全支持自定义损失函数,有两种实现方式:

  1. 继承库内的LossBase基类,重写compute_loss方法,实现自定义的损失计算逻辑;
  2. 直接将自定义的损失函数对象(需符合框架的损失函数接口要求)传入训练器的loss_fn参数,替换默认损失函数。

库内实现方式

所有内置损失函数均封装在space.losses模块下,以类的形式实现(继承自主流深度学习框架的损失模块类,如PyTorch的nn.Module):

  • 标准交叉熵损失对应CrossEntropyLossForNER类,内部通过mask机制过滤padding token,仅计算有效token的损失;
  • 加权交叉熵损失通过在初始化时接收class_weights参数,在损失计算阶段为不同类别分配对应权重;
  • 多标签损失调整了损失计算的维度逻辑,支持对每个token的多个标签分别计算损失后求和。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 10:43:11