NLP技术在金融资管领域的落地实践
优采云 发布时间: 2020-08-09 14:36在数字化浪潮的大背景下,金融资管行业的先行者正在积极探求将人工智能、大数据等先进技术用于建立面向未来的智能化投资研究平台。本文将从金融资管领域对于数据智能的需求入手,详细介绍自然语言处理技术在金融资管领域的典型落地实践。针对海量文本的信息挖掘场景,我们借助Transformer、CNN等最新研究成果以及团队自研的 tag2vec 等技术,构建了端到端的文本大数据剖析系统,收录了从海量文本智能化采集、文本数据结构化到辅助投资决策的全流程,实*敏*感*词*融舆情监控系统,帮助金融资管顾客实现从数据负债到数据资产的跨越,从中获取前瞻的商业洞察,赢得先机。
本文的主要内容包括:
01
背景及技术构架
1. 非结构化数据快速下降
信息不对称是金融行业的本质特点与竞争焦点。如上图,是一张来自IDC的报告,表明近来几年全球新增的数据有80%来自非结构化数据。所以大量及时有效的信息分布在非结构化的文本数据中,如研报、新闻资讯、twitter 中,金融机构须要利用自然语言处理技术从中高效、准确地挖掘出结构化信息,从中获取前瞻的商业洞察。
我们团队运用迁移学习、少样本学习、无监督学习等人工智能领域最新思想和技术,已经建立起建立的自然语言处理技术构架,提供端到端的海量文本剖析和监控系统,帮助金融资管顾客跨越非结构化文本到结构化数据的鸿沟,进而辅助顾客进行快速的行业剖析、投资决策。
接下来我们看下NLP技术怎么嵌入到行业剖析和投资决策的:
2. 智能投研流程
智能化的投研流程包括:
最终这三个阶段产生了一个完整的从数据获取->数据处理->数据建模->逻辑推理的链条。这个链条构成了一个完全自动化、工业化、24小时不停机的智能化投研系统。
为了实现智能投研系统的目标,我们来看下自然语言处理技术的构架是什么样的:
3. 自然语言处理技术构架
我们的自然语言处理技术构架分为:应用层、组件层和意料层。
应用层:直接对接业务逻辑,目前熵简科技30 端到端文本剖析系统,服务于20 金融资管和咨询领域的机构,累计30 业务应用场景。
组件层:提供自然语言处理中的基础算法组件,包括智能动词组件、词性标明、依存句型剖析、词向量、语义相似度、命名实体辨识组件。
语料层:语料层提供基础层中各算法组件、应用层中各算法模块的训练和测试语料。
通过这些方法建立的自然语言处理构架有两个显而易见的益处:
接下来介绍两个比较典型的应用场景:招投标文本剖析系统和金融舆情监控系统。
其中:
通过这两个典型的金融应用场景,来分享我们在实际实践的过程中遇见的一些问题和解决思路。
02
端到端的招投标文本剖析系统
什么是招投标数据?
公司在采购软硬件时,一般会发布一个招标公告,供应商听到公告后,撰写并递交自己的投标书,甲方评估后发布中标公告,告知你们谁中标。
招投标数据为何重要?
对于一家上市公司而言,如果主营业务是toB的模式,我们可以通过招投标的数据来预测公司的营业收入,比如一家公司中标了一个大单,我们可以通过招投标数据提早预知。
如上图的案例:
左边是一家公司披露的中标公告,中标金额6.5亿,公告的发布时间是17年的10月17日;中间是我们在互联网公开数据中采集到的中标公告,无论是项目名称、中标单位、中标金额,都和右边的内容是一致的,唯一不同的是时间,我们采集到数据的时间比公司披露的时间,早了16天,这就可以帮助我们在获得关键信息上占有优势。
1. 招投标大数据剖析系统技术构架图
为了实现全网的招投标数据监控,我们研制了端到端的智能化招投标文本剖析系统,实现了千万级招投标文本的流式处理。主要包括:智能化网页抽取系统、招投标文本剖析服务和数据展示。 首先我们的招投标文本剖析系统会从外部海量的招投标网站上采集最原创的招投标标书,接下来用招投标文本剖析服务对标书进行结构化的处理,把其中最关键的信息提取下来,最终借助数据展示、分析面板对数据进行二次的剖析和展示,方便业务人员使用。
下面为你们介绍其中最核心的两个算法组件,智能网页抽取系统和招投标信息抽取模型。
2. 智能网页抽取系统
常规的数据采集步骤包括:
由于须要采集的网站非常多,需要大量的人力,导致成本十分高,效率低下。所以我们须要一套智能化的信息抽取引擎。可以从海量网页类文本数据中自动化地抽取出特定区域、特定用途的文本片断,即从招投标网页数据中抽取标书标题、标书正文。
难点:
网页抽取的物理模型:
每一个网页可以等价成带有各种信息的树,新闻正文的文本、图片、超链接分布在树上的各个黑色节点,因此须要剔除无关节点,再根据节点位置信息进行序列化,这里的难点是怎样高精度的剔除无关节点。
构建 Tag embedding:
我们首先要解决的问题是把网页中的html编码的标签和属性进行数值化的表示。针对这个问题,受到 word2vec 的 Skip-gram 思想启发,我们提出了 tag embedding 的算法模型,目标函数如上。其关键思想是用当前节点的 tag 去预测父节点的 tag 和子节点的 tag。
Tag embedding模型的特征:
基于全联接网路的二分类器:
有了Tag embedding以后,我们进一步提出了基于三层前馈神经网络的二分类器,主要拿来判定节点是否保留。
如上图,输入特点主要包括:父节点的标签信息、子节点的标签信息、当前节点的标签信息,以及当前节点在其它方面的特点,比如当前节点收录文本的宽度是多少、超链接的数量是多少。
模型性能:
使用相对简单的三层前馈神经网络的缘由,主要是:
同时,这种模型的思想还可以推广到其它任务:
目前,我们早已实现了海量招投标文本的采集,接下来我们须要把文本数据进行结构化,得到我们想要的数据数组。
3. 招投标信息抽取模型
① 提取目标:
我们招投标信息提取模型的目标是从海量的招投标标书中,提取关键信息,如招标单位、中标单位、中标金额、产品类型 等等。
这其中的难点是招投标文件完全由撰写人来制定,没有规范统一的格式,无法通过统一化的规则处理:
② 特定实体类抽取方案:
我们把这个任务具象以后,跟命名实体识别十分类似,在我们的处理框架中,把它定义为特定实体类抽取,其结构包括:预处理层、实体提取层、实体判断层、选举决策层。这里重点介绍下实体提取层和实体判断层:
通过这些两阶段处理,多模型融合。第一阶段不依赖于领域语料,采用通用命名实体辨识语料训练。第二阶段在少量招投标专业语料训练即可。同时实现了高召回和高精度。
接下来详尽介绍下这两阶段中的核心模块,通用命名实体辨识和CNN判定器。
③ 基于改进Transformer的命名实体辨识
对于通用命名实体辨识组件,我们团队先后迭代了几个版本,目前最新的方案参考了复旦大学邱老师团队在19年提出的模型。在这个模型中我们主要是以改进的Transformer模型为主要的特点提取器,再结合CRF层,引入全局约束信息来实现命名实体辨识任务。左图为整个方案的*敏*感*词*,右图为原生的Transformer结构,用来做对比。
我们的方案相对于原生的Transformer主要做了两个方面改进:
具体的实验疗效如下:
④ 基于卷积神经网络的实体裁定
这里我们采用TextCNN作为核心组件,整个网路由Embedding层、卷积层和前向网路层构成。
招投标信息抽取模型的测试结果:
我们在5000条招投标数据上的测试结果如上,简单总结如下:
4. 端到端招投标大数据剖析系统
基于上面的成果,我们可以建立起招投标大数据剖析系统,这一系统收录了从海量标书智能化采集、文本数据结构化到辅助投资决策的全流程,实现千万级文本数据的采集和快速剖析,帮助顾客预测跟踪 toB行业与公司的发展状况及竞争格局。
5. 招投标大数据剖析系统部份功能展示
这里展示了怎样运用招投标数据对海康威视进行公司发展状况剖析和业绩预测。比如,通过历史数据回测,我们发觉中标数据与公司定期公布的季度收入高度相关,因此这一数据可以作为未来业绩预测的一项重要参考基准。另外,利用地域剖析,我们可以了解到海康威视在不同地区的竞争格局和产值状况,从而更深入地了解这家公司的经营状况。
6. 小节
03
少样本场景下的金融舆情监控系统
1. 金融舆情监控系统
在金融领域,存在两类机构,一类是卖方,一类是买方。买方通常直接操作股票的买卖,如公募基金、私募基金等;卖方主要进行股票的剖析和研究,为卖方提供咨询和建议,主要包括券商和独立的研究机构等。通常一家卖方机构,往往会对接多家买方机构为其服务。我们晓得,微信已然成为了一个工作平台,因此微信群成了买方服务的重要场景,一个分析师常常会有几十个买方服务群,每时每刻都可能收到来自那些群的信息轰炸。这一场景主要面临的疼点有:
针对那些疼点,我们提出了金融舆情监控系统的解决方案,可以做到:
金融舆情监控系统的流程:
首先把微信群中的信息,如文本信息、链接、文件等抽取成公司、行业、机构等3类标签,然后进行业务分类,目前有4个大类,11个小类,同时我们的系统都会把结构化的文本提取下来,如文章作者、会议时间等等。这样就可以做好多有价值的应用:如热点追踪、分类汇总、报告检索、事件发觉、投研月历等等。
2. 金融舆情监控系统技术构架图
金融舆情监控系统技术构架包括3层服务:金融舆情文本剖析服务、数据清洗服务、展示服务。
其中,金融舆情文本剖析服务最关键的三个组件是:信息类型分类、一级行业分类和特定实体提取。
3. 少样本窘境
在实践中,很多与金融领域内的问题都与特定的场景相关,金融公司一般面临的少样本窘境主要包括:
针对少样本窘境,常用的路径有:迁移学习、数据提高、无监督学习、半监督学习。接下来,我们通过介绍金融舆情中两类主要算法组件的实现方法,来分享我们解决少样本问题的思路。
4. 微信信息分类模型
微信信息分类模型的目标:对微信群里的文本信息、文件、链接消息等消息进行分类,分为公司深度、公司点评、行业深度、行业点评、宏观策略报告、固收报告、调研纪要、会议纪要、调研约请、会议约请及其他,共11个类别。
整个模型是以TextCNN网路和Fasttext作为两个基本模型,再通过XGBoost将两个模型集成上去。这里用到的TextCNN网路与后面的招投标网路基本是一致的,除了在Embedding层,我们把位置向量除去了。其益处有:
5. 文本提高技术
文本提高技术是一类低成本的数据杠杆,可以在不引入新数据下,有效撬动模型性能,尤其在少样本场景下。
常用的场景包括:
总的来说,由于文本提高技术可以提升模型的鲁棒性,除非数据量十分丰富,通常可以采用文本提高技术进行尝试,一般都有正向的疗效。
典型的文本提高技术有:
关于文本提高技术的详尽介绍,可参考我们团队之前的一篇文章:
6. 数据提高的实验结果
样本集情况:
实验结果见下图,总结如下:
最终的实验结果见上图,通过本文提高技术以及一些其它方式,我们基本解决了少样本问题。
文本提高技术为何可以在没有引入额外数据的情况下,起到如此好的疗效?