查看原文
其他

CCF BDCI2019 金融信息负面及主体判定 冠军方案解析

曹高雄 AINLP 2020-10-22

作者:曹高雄

公司:华为技术有限公司

方向:算法工程师




前言

本文根据在CCF BDCI答辩会议中演讲的PPT内容,给出了完整的技术方案,主要从团队介绍、赛题分析、方案设计和赛题总结四个方面阐述。本次比赛的难点在于文本数据来源多、内容格式脏、数据长、实体标注噪音大涉及情感分析和实体判别两个任务。参赛者需要判定给定金融文本是否包含金融实体的负面信息,并从给定实体列表中找出负面实体。

本次比赛历时两个多月,非常感谢遇到如此优秀的队友们一路风雨同舟、相互鼓励、相互支持,最终拿下冠军!

团队介绍

我们队本来一开始叫transfer,由于主办方的要求需改为中文队伍名,于是学霸队友们将队伍名改为了迁移学习怎么学习,我们是最正经的一支队伍!!!

曹高雄 华为技术有限公司 算法工程师

周阳 重庆邮电大学 研一

罗杰 重庆邮电大学 研一

陈重元 重庆邮电大学 研一

刘永强 武汉大学 研一

其中阳哥我们团队的GM(GPU master),kaggle大神,杰哥是我们队的颜值担当, 重元是我们队的低调大神,永强是武汉大学学霸。

赛题分析——赛题介绍

CCF大数据与计算智能大赛(CCF Big Data & Computing Intelligence Contest,简称CCF BDCI)是由中国计算机学会大数据专家委员会于2013年创办的国际化智能算法、创新应用和大数据系统大型挑战赛事,是全球大数据与人工智能领域最具影响力的活动之一。

国家计算机网络应急技术处理协调中心(简称“国家互联网应急中心”,英文简称CNCERT或CNCERT/CC),成立于2001年8月,为非政府非盈利的网络安全技术中心,是中国计算机网络应急处理体系中的牵头单位。作为国家级应急中心,CNCERT的主要职责是:按照“积极预防、及时发现、快速响应、力保恢复”的方针,开展互联网网络安全事件的预防、发现、预警和协调处置等工作,维护公共互联网安全,保障关键信息基础设施的安全运行。

随着互联网的飞速进步和全球金融的高速发展,金融信息呈现爆炸式增长。如何从海量的金融文本中快速准确地挖掘出关键信息,成为了投资者和决策者重点考虑的问题之一。本赛题关注金融文本中的信息主体的挖掘和面向主体的负面消息检测,在风控和舆情分析等领域有很大现实意义。

该任务分为两个子任务:
给定一条金融文本和文本中出现的金融实体列表,

  1. 负面信息判定:判定该文本是否包含金融实体的负面信息。如果该文本不包含负面信息,或者包含负面信息但负面信息未涉及到金融实体,则负面信息判定结果为0。

  2. 负面主体判定:如果任务1中包含金融实体的负面信息,继续判断负面信息的主体对象是实体列表中的哪些实体。

赛题详情(Competition Details) - DataFountainwww.datafountain.cn

简单来说就是参赛者需要判定给定金融文本是否包含金融实体的负面信息,并从给定实体列表中找出负面实体。

赛题分析——数据分析

通过统计发现在训练集合测试集中有大量的title和text是相似的,这需要作数据处理去除掉这些冗余信息,涉及到输入文本的选择问题。

通过统计发现在训练集合测试集中有大量的伴随实体出现,这对模型的训练和预测造成了很大干扰,于是需要对实体列表过滤。

赛题分析——数据清洗

对文本中title和text编辑距离大于100的进行title和text合并,同时去掉实体列表中的伴随实体

方案设计——整体方案

本方案包含六个部分,这里主要介绍三种不同的方案。

方案一——实体SA

本方案将问题转化为一个实体SA的二分类任务,主要包括三步:重构样本、构造输入文本、构造句子对分类任务。

第一步重构样本,针对entity中的实体逐个拆成单实体,若存在于key_entity中打标签为1,否则打标签为0.

第二步,构造输入文本,如上图所示。

接着进行实体掩盖,针对文本中的其他实体全部用“其他实体”四个字替换掉,以去除其他实体对当前实体造成的影响。

最后,将重新构建的文本和实体以句子对的方式输入进Bert构建分类任务。

方案二——文档SA+实体SA

本方案分为两步,首先判定一条文本是否包含负面实体,接着再对具有负面实体的文本找出相关的负面实体。

方案三——多任务模型

本方案根据2016年一篇描述层次性多任务模型和2019年一篇ACL关于描述多任务中的特征共享论文设计了自己的多任务模型,首先同时对情感任务和实体任务同时进行训练,将情感任务得到的特征以及输出的情感概率与实体任务特征相拼接,再输入到上层任务中进行实体分类,所用的损失函数为情感与实体任务的加权交叉熵。

针对三个方案,方案三是最好的,但是方案一和方案二也不差,由于三个方案差异性较大,所以最后做模型融合能够提高好几个千分点的效果,这里就不一一赘述了。

赛题总结

针对我们的模型方案,我们的模型方案鲁棒性是比较强的我们在复赛A榜是一直保持第一,并领先第二一个千分点,在复赛B榜我们也能保持第二,并只差第一两个万分点,由于B榜只能提交一次,本来我们还有的提分结果都没能提交,不过由于我们方案比较多样,并且具有创新性的多任务模型,具有良好的鲁棒性,无人工规则,可扩展性强等特点,最后评委老师给了我们冠军。

这里也很感谢评委老师以及主办方给我们机会,有幸多得冠军,也感谢答辩现场其他队伍,让我们见识到了许多我们没想到的思路。

各方案代码链接如下,欢迎star:

https://github.com/xiong666/ccf_financial_negative

xiong666/ccf_financial_negativegithub.com

感悟

本次比赛与队友们一路风风雨雨走过两个多月,期间多次做得思路全无,幸好有队友们一直相互加油相互打气,才到最后夺得冠军,在此很感谢遇到如此优秀的队友们。其实从读书到现在做了这么多比赛,让我感触最深的还是那句话:团队协作很重要。有一起相互协作,相互信任,踏踏实实做事的队友,并且专注做一件事非常重要。同时对于比赛方案的设计,建议根据实际经验多观察数据做好顶层方案的设计,一个好的方案不是靠凭空瞎想而得到的,否则得到的很可能是不切实际的想法。最后非常欢迎志同道合特别是有相关实际经验的朋友们能一起共同探讨,相互学习。

最后祝大家圣诞节快乐!!!

于2019年圣诞节

曹高雄




原文链接


https://zhuanlan.zhihu.com/p/99222193

本文由作者投稿,点击'阅读原文'直达原文链接,欢迎投稿,AI、NLP均可。


推荐阅读


CCL“中国法研杯”相似案例匹配评测竞赛 - TOP队伍攻略分享


2019法研杯比赛--阅读理解任务第4名团队参赛总结


法研杯cail2019阅读理解比赛记录(第5名团队分享)


简单有效的多标准中文分词


征稿启示| 让更多的NLPer看到你的文章


AINLP-DBC GPU 云服务器租用平台建立,价格足够便宜


我们建了一个免费的知识星球:AINLP芝麻街,欢迎来玩,期待一个高质量的NLP问答社区


关于AINLP


AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP君微信(id:AINLP2),备注工作/研究方向+加群目的。


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存