金融文本信息情感分析(负面及主体判定)
向AI转型的程序员都关注了这个号????????????
机器学习AI算法工程 公众号:datayx
给定一条金融文本和文本中出现的金融实体列表,
负面信息判定:判定该文本是否包含金融实体的负面信息。如果该文本不包含负面信息,或者包含负面信息但负面信息未涉及到金融实体,则负面信息判定结果为0。
负面主体判定:如果任务1中包含金融实体的负面信息,继续判断负面信息的主体对象是实体列表中的哪些实体。
分析:
给定一条金融信息X以及对应的实体集合S, 我们首先要判断该金融信息是否包含负面信息;如果包含负面信息,需要找出负面信息的主体E。
输入:金融信息
输出:是否包含负面信息(0/1);负面信息主体的集合E(其中E是S的子集)
简单来说就是需要判定给定金融文本是否包含金融实体的负面信息,并从给定实体列表中找出负面实体。
开源代码 数据集 获取:
关注微信公众号 datayx 然后回复 金融 即可获取。
AI项目体验地址 https://loveai.tech
通过统计发现在训练集合测试集中有大量的title和text是相似的,这需要作数据处理去除掉这些冗余信息,涉及到输入文本的选择问题。
由上图可知,title和text长度在训练集和测试集中的分布几乎一致。
由于数据集中很多样本的title和text一样或者很相近,因此不是所有样本都需要考虑将title和text拼接作为文本,因此统计了title与text的编辑距离小于100的样本数量在训练集和测试集中的占比,如下图所示:
经大致分析发现,实体列表中很多实体与该列表中其它实体存在包含关系,而大多数子实体都不是key_entity;因此我们统计了实体列表中含有子实体的样本数量在训练集和测试集中的占比,可视化结果如下:
以下是我们对本题的难点描述和解题思路展示:
因为该题数据不规范,含有噪声,因此需要对文本进行清洗,清洗流程如下图所示:
我们还对实体列表进行了相关处理,即去子词:
方案设计
首先展示我们团队的整体方案,如下图所示:
我们总共提出了三种不同方案来解决该问题,分别是:
实体SA(Sentiment Analysis)
文档SA+实体SA
多任务模型
接下来分别对三种方案进行讲解,第一种是实体SA,即把两个子任务当成一个实体情感分析-分类任务:
样本构造样例:
以下是文本构造方法设计:
文本构造之后我们对该样本实体列表中的其它实体进行了替换,起到了标记其它实体位置的作用,替换方案如下:
最后是模型设计,我们通过构造句子对分类任务,微调bert模型:
第二种是文档SA+实体SA,该方法就是先判断样本是否是负面的,如果样本是负面的再判断该样本的实体列表中每个实体的情感:
下图是文档SA、实体SA的输入设计和模型构建方法:
第三种是多任务模型,该方法将两个子任务结合起来共同学习;该方法启发于层次性多任务模型[2] 和多任务中的特征共享[3]:
将多任务模型应用到本赛题中,将bert的最底层[CLS]向量取出来,在其后接两个单独的全连接层;两个全连接层分别对应文档情感二分类任务和实体二分类任务的特征表示,最后再在两个特征表示后面加上相应的输出层;微调过程中损失函数由上图的公式计算得出。
经过线上验证,我们的文档SA效果应该就比其它团队高至少将近一个千分点,因此为了方便后期模型融合和纠正方案一和方案三的negative准确性,本团队提出了情感校验的后处理方法,如下图所示:
最后是模型融合,我们分别尝试了stacking和voting,最终决定采用voting,因为voting效果更好,鲁棒性更强。
方案总结
三种方案对比下来,多任务模型表现优于另外两种方案。
初赛受规则的影响,有点过拟合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
长按图片,识别二维码
金融文本信息情感分析(负面及主体判定)相关推荐
- 华为云获CCF BDCI 2019金融实体级情感分析大赛冠军
近日,在2019 CCF大数据与计算智能大赛(CCF Big Data & Computing Intelligence Contest,简称CCF BDCI)决赛中,华为云语音语义创新Lab ...
- 金融科技之情感分析:股民情绪指数与股市价格的相关性分析
金融科技之情感分析(一):股民情绪指数与股市价格的相关性分析 源代码获取 前言 文本数据源介绍 评论数据爬取 数据存储和查询 计算情绪指数 股票历史价格数据的获取 相关性分析和可视化 源代码获取 20 ...
- 如何做中文文本的情感分析?
如何做中文文本的情感分析? 这是本学期在大数据哲学与社会科学实验室做的第三次分享了. 第一次分享的是:如何利用"wordcloud+jieba"制作中文词云? 第二次分享的是:如何 ...
- 基于深度学习的汽车行业评论文本的情感分析
使用卷积神经网络对汽车行业评论文本进行情感分析. dateset 爬取汽车之家车主口碑评论文本,抽取口碑中最满意以及最不满意评论文本,分别作为正向情感语料库和负向情感语料库. 爬虫技术视频链接:htt ...
- 【Bert、T5、GPT】fine tune transformers 文本分类/情感分析
[Bert.T5.GPT]fine tune transformers 文本分类/情感分析 0.前言 text classification emotions 数据集 data visualizati ...
- NLP之TEA:基于SnowNLP实现自然语言处理之对输入文本进行情感分析(分词→词性标注→拼音简繁转换→情感分析→测试)
NLP之TEA:基于SnowNLP实现自然语言处理之对输入文本进行情感分析(分词→词性标注→拼音&简繁转换→情感分析→测试) 目录 NLP分词 NLP词性标注 NLP情感分析-TEA NLP常 ...
- CCF 金融信息负面及主体判定
赛题地址:https://www.datafountain.cn/competitions/353 参考baseline: https://github.com/zhiyumeng/0.81-gens ...
- python英文文本情感分析_舆情信息浩如烟海?看看如何用Python进行英文文本的情感分析...
市场每天都在生成海量的舆情信息,这些信息可以帮助我们识别市场情绪的转变.如果只是人工地去跟踪大量的舆论和研报显然缺乏效率.我们可以试试让机器来完成这个工作. 数据科学在数值领域中很常见,但这个不断壮大 ...
- Day 9: TextBlob——对文本进行情感分析
又是"30天学习30种新技术"的一天,我打算暂时把JavaScript放一放,然后学下用Python进行文本处理.本文的重点是情感分析.我在几年前就对情感分析产生了兴趣,当时我想写 ...
最新文章
- 爱奇艺蒙版AI:弹幕穿人过,爱豆心中坐
- Python函数默认参数陷阱
- MySQL计算表行数_计算MySQL表中行数的最快方法?
- js练习4(注册验证)
- jquery知识点总结(转)
- PSCAD v4.21-ISO
- 【软件工程】重要知识点
- 埃夫特机器人示教器linux屏幕多少钱,不限 埃夫特机器人电路板维修
- 关闭”xx程序已停止工作”提示窗口
- 集成Ueditor秀米
- webfont应用系列(二)如何制作图标字体?
- Andorid通话自动录音
- Apache Hudi 详解
- 计算机排第三!新增的工学硕士博士学位
- 符号的英文读法(转)
- u盘安装盘的制作汇总
- Milky都能学会的C#编程(一)——编程是啥?可以吃吗?
- 启信宝牵手国家队,征信服务进化再加速
- Python使用opencc工具进行繁简转换
- 计算机考试的选做题,最新主观题机考注意事项!不了解这些你会后悔的!
热门文章
- Maven自动压缩脚本 和 样式文件配置
- Django 找不到模版报错 django.template.exceptions.TemplateDoesNotExist: index.html
- Swift类属性 static
- Linux学习之二十、循环
- 小强的HTML5移动开发之路(51)——jquerymobile中改善页面访问速度
- 新浪微博API使用方法
- 学会科学饮水令你越喝越美
- 未来计算机作文700字,未来的科技作文700字
- python怎么直接操作git_基于python实现操作git过程代码解析
- Linux和qt电子横幅,【Qt】 自定义组件_滚动横幅弹窗对话框字体图标等