数据增强
根据数据传递性进行数据增强
- 原始数据:句子A和句子B相似, 句子A和句子C相似, 句子A和句子D不相似
- 增强后数据:句子A和句子B相似, 句子A和句子C相似, 句子B和句子C相似, 句子A和句子D不相似, 句子B和句子D不相似, 句子C和句子D不相似
通过传递性扩充相似与不相似对,增加训练样本多样性。
预训练模型尝试
| 模型 | 配置 | 得分 |
|---|---|---|
| roberta-wwm-large | 单模 | ~95.4 |
| roberta-wwm-large | + fgm (5 ensemble) | ~95.6 |
| roberta_large_clue / roberta_large_pair | + fgm | ~95.8 |
| NEZHA / NEZHA-wwm | (5 ensemble) + fgm | ~95.9 |
| UER-py | + fgm | ~96.00 |
| 融合 (UER-py + NEZHA) | 10 model ensemble | 96.26 |
模型优化
特征融合
在预训练模型基础上,拼接外部词向量:
- 腾讯词向量:https://ai.tencent.com/ailab/nlp/embedding.html
- fasttext词向量:https://fasttext.cc/
将腾讯词向量和fasttext词向量与预训练模型的输出进行融合,丰富语义表示。
对抗学习 / FGM
采用Fast Gradient Method (FGM) 进行对抗训练,增强模型鲁棒性与泛化能力。参考:https://kexue.fm/archives/7234
在多个预训练模型上都观察到fgm带来的稳定提升(约0.2~0.4个点)。
总结
通过传递性数据增强、多款预训练模型对比、特征融合(腾讯词向量+fasttext)、对抗训练(FGM)以及多模型融合(UER-py + NEZHA 共10模型),最终线上得分达到96.26,获得并列第6名。
方案完整代码已开源于GitHub:https://github.com/lsq357/rank6