2019-CCF-BDCI-金融信息负面及主体判定-top1赛后分享

迁移学习怎么学习团队

前言

今年CCF-BDCI共有13道算法赛,其中涵盖了数据挖掘、自然语言处理、计算机视觉、数据库等多个方向;今年乘此机会参加了两个赛题,除了这个赛题还有另一个赛题【乘用车细分市场销量预测】,方案分享点此处。本赛题队友之前也分享过,传送门。“遥想公瑾当年“,自然语言处理还停留在word2vec,不知Bert是何物。说到这,特意感谢郭大苏神,本次竞赛使用的微调Bert的代码是借鉴他们两位的,感谢他们无私的技术分享!最后留下一句感叹,时光已逝,技术迭代更新太快,保持学习才能保证我们的竞争力;2020,只争朝夕,不负韶华!


团队介绍

本团队5位成员分别来自华为、武汉大学、重庆邮电大学。团队成员配合默契,各尽其才,早在2019DigSci科学数据挖掘竞赛中取得不错的成绩。团队能取得当前成绩,跟每一位成员都密不可分。


赛题分析

赛题描述如下图所示,其实这题可以看作两个子任务。
赛题分析


我们对训练集和测试集中的title和text长度进行了可视化展示,如下图所示:
标题长度统计分析
文本长度统计分析
由上图可知,title和text长度在训练集和测试集中的分布几乎一致。


由于数据集中很多样本的title和text一样或者很相近,因此不是所有样本都需要考虑将title和text拼接作为文本,因此统计了title与text的编辑距离小于100的样本数量在训练集和测试集中的占比,如下图所示:
文本统计分析


经大致分析发现,实体列表中很多实体与该列表中其它实体存在包含关系,而大多数子实体都不是key_entity;因此我们统计了实体列表中含有子实体的样本数量在训练集和测试集中的占比,可视化结果如下:
候选实体统计分析


以下是我们对本题的难点描述和解题思路展示:
在这里插入图片描述


因为该题数据不规范,含有噪声,因此需要对文本进行清洗,清洗流程如下图所示:
文本清洗


我们还对实体列表进行了相关处理,即去子词:
实体预处理


方案设计

首先展示我们团队的整体方案,如下图所示:
整体方案设计
我们总共提出了三种不同方案来解决该问题,分别是:

  • 实体SA(Sentiment Analysis)
  • 文档SA+实体SA
  • 多任务模型

接下来分别对三种方案进行讲解,第一种是实体SA,即把两个子任务当成一个实体情感分析-分类任务:
实体SA
样本构造样例:
实体SA
以下是文本构造方法设计:
实体SA
文本构造之后我们对该样本实体列表中的其它实体进行了替换,起到了标记其它实体位置的作用,替换方案如下:
实体SA
最后是模型设计,我们通过构造句子对分类任务,微调bert[1]模型:
实体SA


第二种是文档SA+实体SA,该方法就是先判断样本是否是负面的,如果样本是负面的再判断该样本的实体列表中每个实体的情感:
文档SA+实体SA
下图是文档SA、实体SA的输入设计和模型构建方法:
文档SA+实体SA


第三种是多任务模型,该方法将两个子任务结合起来共同学习;该方法启发于层次性多任务模型[2] 和多任务中的特征共享[3]:
多任务模型
多任务模型
将多任务模型应用到本赛题中,将bert的最底层[CLS]向量取出来,在其后接两个单独的全连接层;两个全连接层分别对应文档情感二分类任务和实体二分类任务的特征表示,最后再在两个特征表示后面加上相应的输出层;微调过程中损失函数由上图的公式计算得出。


经过线上验证,我们的文档SA效果应该就比其它团队高至少将近一个千分点,因此为了方便后期模型融合和纠正方案一和方案三的negative准确性,本团队提出了情感校验的后处理方法,如下图所示:
情感校验
情感校验


最后是模型融合,我们分别尝试了stacking和voting,最终决定采用voting,因为voting效果更好,鲁棒性更强。
情感校验


方案总结

最后是总结部分:
方案效果对比
三种方案对比下来,多任务模型表现优于另外两种方案。
赛题总结
初赛受规则的影响,有点过拟合A榜;到了复赛阶段,摒弃了所有后处理人工规则,因此在B榜切换之后只降了5个万分点,足以说明模型的稳定性。在文本预处理方面我们团队进行了充分地探索,提出了实体掩盖和多种文本构造方法;在模型方面,我们提出了bert+特征三输入、多任务模型;最后还提出了情感校验,进一步提升了预测的准确性。


开源代码

https://github.com/rogeroyer/2019-CCF-BDCI-Finance-Information-Negative-Judgment


参考文献

[1] Devlin J, Chang M, Lee K. et al. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. NAACL-HLT, 2019.
[2] Hashimoto K, Xiong C, Tsuruoka Y, et al. A joint many-task model: Growing a neural network for multiple nlp tasks[J]. arXiv preprint arXiv:1611.01587, 2016.
[3] Pentyala, Shiva K., Mengwen Liu and Markus Dreyer. “Multi-Task Networks With Universe, Group, and Task Feature Learning.” ACL (2019).

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值