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

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

前言

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

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

赛题分析——赛题介绍

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

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

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

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

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

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

赛题详情

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

image.png

image.png



image.png

赛题分析——数据分析

image.png

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

image.png

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

赛题分析——数据清洗

image.png

image.png


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

方案设计——整体方案

image.png

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

方案一——实体SA

image.png

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

image.png

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

image.png

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

image.png


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

image.png

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

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

image.png

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

方案三——多任务模型

image.png

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

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


赛题总结

image.png

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

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

各方案代码链接如下

xiong666/ccf_financial_negativegithub.com

感悟

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

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

                                                                                                               于2019年圣诞节

                                                                                                                         xiong


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。