这几天在面一些研究院,其中一位面试官提到NER中实体类别不均衡的处理方法,当时从比赛trick上给出了回答,这里做一个总结。
问题描述:
NER中样本不均衡,作者从以下两个角度描述这个问题。
1. 实体类别不均衡。以实体类别地点、人物、时间三类实体为例,训练集中人物出现100000个、地点1000个、时间400个。
2. 单个样本中实体过少,导致"O"标签与实体标签(“B”、“I”)分布不均衡。
知乎上有一个相关问题:nlp序列标注任务如何处理类别极度不平衡问题? - 知乎 https://www.zhihu.com/question/340333687
解决方案:
- 数据增强
常规的欠采样和过采样方法在序列标注任务上,稍微思考一下就是不靠谱的。在这个任务上如果直接在样本上操作,不能欠采样,导致样本多的类别也会表现不好。
- 少实体类别替换,丰富少数实体类别样本。具体讲,将少数实体类别的实体随机替换为同类别的其他实体。属于比赛的一个trick吧,直观来看一个实体的范围相对单个样本较短,应该产生过多的影响,但经过实际验证会一定的提升(但是不能保证)。
- 除第一点直接替换文本之外,还有基于词向量的同义词替换、单复数替换、代词替换等。
- 损失函数
以下两个损失函数都是从CV领域借鉴来的。
- focal loss,由何铠明在论文《Focal Loss for Dense Object Detection》提