金融文本信息情感分析(负面及主体判定)

机器学习AI算法工程

共 2834字,需浏览 6分钟

 · 2020-07-11

9285dccab494965342da2ce71ee4be7f.webp

向AI转型的程序员都关注了这个号???

机器学习AI算法工程   公众号:datayx



给定一条金融文本和文本中出现的金融实体列表,

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

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



分析:


给定一条金融信息X以及对应的实体集合S, 我们首先要判断该金融信息是否包含负面信息;如果包含负面信息,需要找出负面信息的主体E。


输入:金融信息
输出:是否包含负面信息(0/1);负面信息主体的集合E(其中E是S的子集)



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



开源代码 数据集 获取:

关注微信公众号 datayx  然后回复  金融  即可获取。

AI项目体验地址 https://loveai.tech



8518c519b3c1e29ba440ff5aaeae743e.webp



260c702badc394b601e1b0ab0c70d6bd.webp



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


1188793b4119f5bd69701f69e632c23d.webp


由上图可知,title和text长度在训练集和测试集中的分布几乎一致。


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


d2ca1f8e2bba950edda83f21ec9f438c.webp




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


bc2c92ddc91940c34f6f925407ac6ca2.webp




以下是我们对本题的难点描述和解题思路展示:


54badbfeca24a601258de34d48849d4e.webp



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



2bd585d785237b9f12e153d5a7073b4a.webp



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

84016845bdb7adce0d9a525a4686cf03.webp


方案设计

首先展示我们团队的整体方案,如下图所示:

730fa83e5076b9270ffc36c688350409.webp


我们总共提出了三种不同方案来解决该问题,分别是:

  • 实体SA(Sentiment Analysis)

  • 文档SA+实体SA

  • 多任务模型

接下来分别对三种方案进行讲解,第一种是实体SA,即把两个子任务当成一个实体情感分析-分类任务:

1b013403e28b5a4ded880c8c63b67531.webp



样本构造样例:

0570d6234bca641699d2abea3742e8b3.webp


以下是文本构造方法设计:


85e4c949dd81cd9e4473025ee655d57c.webp


文本构造之后我们对该样本实体列表中的其它实体进行了替换,起到了标记其它实体位置的作用,替换方案如下:


2c04e8db69a2cf5e120c1ecc4a827996.webp



最后是模型设计,我们通过构造句子对分类任务,微调bert模型:


db364d02b7898d7384e0a761d4d945c7.webp


第二种是文档SA+实体SA,该方法就是先判断样本是否是负面的,如果样本是负面的再判断该样本的实体列表中每个实体的情感:


82f30647385789266abf8377f7ebe220.webp


下图是文档SA、实体SA的输入设计和模型构建方法:


f53810157a8198a7a1d9d0a00c82e8cf.webp


第三种是多任务模型,该方法将两个子任务结合起来共同学习;该方法启发于层次性多任务模型[2] 和多任务中的特征共享[3]:


a5d85bd94515a55efbaebc62869f0780.webp



b9ca003032f702b96c1fa1751d093aa4.webp



将多任务模型应用到本赛题中,将bert的最底层[CLS]向量取出来,在其后接两个单独的全连接层;两个全连接层分别对应文档情感二分类任务和实体二分类任务的特征表示,最后再在两个特征表示后面加上相应的输出层;微调过程中损失函数由上图的公式计算得出。


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


1c34e99a363476e2b2860199a8870878.webp


3137609c5a636f0f1dee5186213d316c.webp


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


978f7cbb932850c2f1a4c5ca6675e3fc.webp



方案总结

a516ec133d3749be649db2d8fbde7e66.webp



三种方案对比下来,多任务模型表现优于另外两种方案。

760b9857e81da1f8622ccbb75f9e58c2.webp


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





阅读过本文的人还看了以下文章:


TensorFlow 2.0深度学习案例实战


基于40万表格数据集TableBank,用MaskRCNN做表格检测


《基于深度学习的自然语言处理》中/英PDF


Deep Learning 中文版初版-周志华团队


【全套视频课】最全的目标检测算法系列讲解,通俗易懂!


《美团机器学习实践》_美团算法团队.pdf


《深度学习入门:基于Python的理论与实现》高清中文PDF+源码


特征提取与图像处理(第二版).pdf


python就业班学习视频,从入门到实战项目


2019最新《PyTorch自然语言处理》英、中文版PDF+源码


《21个项目玩转深度学习:基于TensorFlow的实践详解》完整版PDF+附书代码


《深度学习之pytorch》pdf+附书源码


PyTorch深度学习快速实战入门《pytorch-handbook》


【下载】豆瓣评分8.1,《机器学习实战:基于Scikit-Learn和TensorFlow》


《Python数据分析与挖掘实战》PDF+完整源码


汽车行业完整知识图谱项目实战视频(全23课)


李沐大神开源《动手学深度学习》,加州伯克利深度学习(2019春)教材


笔记、代码清晰易懂!李航《统计学习方法》最新资源全套!


《神经网络与深度学习》最新2018版中英PDF+源码


将机器学习模型部署为REST API


FashionAI服装属性标签图像识别Top1-5方案分享


重要开源!CNN-RNN-CTC 实现手写汉字识别


yolo3 检测出图像中的不规则汉字


同样是机器学习算法工程师,你的面试为什么过不了?


前海征信大数据算法:风险概率预测


【Keras】完整实现‘交通标志’分类、‘票据’分类两个项目,让你掌握深度学习图像分类


VGG16迁移学习,实现医学图像识别分类工程项目


特征工程(一)


特征工程(二) :文本数据的展开、过滤和分块


特征工程(三):特征缩放,从词袋到 TF-IDF


特征工程(四): 类别特征


特征工程(五): PCA 降维


特征工程(六): 非线性特征提取和模型堆叠


特征工程(七):图像特征提取和深度学习


如何利用全新的决策树集成级联结构gcForest做特征工程并打分?


Machine Learning Yearning 中文翻译稿


蚂蚁金服2018秋招-算法工程师(共四面)通过


全球AI挑战-场景分类的比赛源码(多模型融合)


斯坦福CS230官方指南:CNN、RNN及使用技巧速查(打印收藏)


python+flask搭建CNN在线识别手写中文网站


中科院Kaggle全球文本匹配竞赛华人第1名团队-深度学习与特征工程



不断更新资源

深度学习、机器学习、数据分析、python

 搜索公众号添加: datayx  



机大数据技术与机器学习工程

 搜索公众号添加: datanlp

长按图片,识别二维码

浏览 12
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报