NLP技术在金融资管领域的落地实践_java


分享嘉宾:李渔 熵简科技 联合创始人

编辑整理:Hoh

内容来源:DataFunTalk

注:欢迎转载,转载请在留言区留言。


导读:在数字化浪潮的大背景下,金融资管行业的先行者正在积极探索将人工智能、大数据等先进技术用于构建面向未来的智能化投资研究平台。本文将从金融资管领域对于数据智能的需求入手,详细介绍自然语言处理技术在金融资管领域的典型落地实践。针对海量文本的信息挖掘场景,我们利用Transformer、CNN等最新研究成果以及团队自研的 tag2vec 等技术,构建了端到端的文本大数据分析系统,包含了从海量文本智能化采集、文本数据结构化到辅助投资决策的全流程,实现千万级文本数据的采集和快速分析,进而帮助客户进行快速精准的行业分析和投资决策。针对少样本下的文本数据监控场景,我们基于熵简NLP技术中台所提供的分层技术架构,利用文本增强技术、少样本学习、迁移学习等思想,在少样本场景下构建高效能的金融舆情监控系统,帮助金融资管客户实现从数据负债到数据资产的跨越,从中获取前瞻的商业洞察,赢得先机。

文的主要内容包括:

  • 背景及技术架构

  • 端到端的招标文本分析系统

  • 少样本场景下的金融舆情监控系统

  • 总结和展望

01背景及技术架构

1. 非结构化数据快速增长

NLP技术在金融资管领域的落地实践_java_02

信息不对称是金融行业的本质特征与竞争焦点。如上图,是一张来自IDC的报告,表明最近几年全球新增的数据有80%来自非结构化数据。所以大量及时有效的信息分布在非结构化的文本数据中,如研报、新闻资讯、twitter 中,金融机构需要借助自然语言处理技术从中高效、准确地挖掘出结构化信息,从中获取前瞻的商业洞察。

NLP技术在金融资管领域的落地实践_java_03

我们团队运用迁移学习、少样本学习、无监督学习等人工智能领域最新思想和技术,已经构建起完善的自然语言处理技术架构,提供端到端的海量文本分析和监控系统,帮助金融资管客户跨越非结构化文本到结构化数据的鸿沟,进而辅助客户进行快速的行业分析、投资决策。

接下来我们看下NLP技术如何嵌入到行业分析和投资决策的:

2. 智能投研流程

NLP技术在金融资管领域的落地实践_java_04

智能化的投研流程包括:

  • 数据层:这一阶段的核心任务是数据的获取。包括结构化和非结构化数据两大类,其中非结构化数据包括如研究报告、新闻资讯等等。

  • 数据中台:这一阶段的核心任务是将原始数据转化为投资研究可以直接用的指标类数据。一方面,系统利用NLP技术,将非结构化的文本数据转化为结构化的数据。在此基础上,系统利用大数据、机器学习等技术,将NLP结构化之后的数据以及其他原本就是结构化的数据进行建模分析,进一步将数据淬炼为知识。

  • 知识图谱:这一阶段的核心任务是将上一步得到的知识和事实,转变为投资建议。机器利用已经沉淀了分析师投研框架的知识图谱,通过逻辑推理、风险控制等方式,将上一阶段获取的大量知识进行分析和推理,最终形成具有决策参考价值的投研情报。

最终这三个阶段形成了一个完整的从数据获取->数据处理->数据建模->逻辑推理的链条。这个链条构成了一个完全自动化、工业化、24小时不停机的智能化投研系统。

为了实现智能投研系统的目标,我们来看下自然语言处理技术的架构是什么样的:

3. 自然语言处理技术架构

NLP技术在金融资管领域的落地实践_java_05

我们的自然语言处理技术架构分为:应用层、组件层和预料层。

应用层:直接对接业务逻辑,目前熵简科技30+端到端文本分析系统,服务于20+金融资管和咨询领域的机构,累计30+业务应用场景。

组件层:提供自然语言处理中的基础算法组件,包括智能分词组件、词性标注、依存语法分析、词向量、语义相似度、命名实体识别组件。

语料层:语料层提供基础层中各算法组件、应用层中各算法模块的训练和测试语料。

  • 基础组件的通用语料,如通用文本语料、通用命名实体识别语料等;

  • 领域相关的语料,如金融词典库、研报分类库、上市公司信息库等。

通过这种方式构建的自然语言处理架构有两个显而易见的好处:

  • 我们把共用的组件单独抽离出来,可以快速的构建上层的业务系统

  • 层次分明,各个组件各司其职,对于技术和业务同学都比较友好,容易上手

接下来介绍两个比较典型的应用场景:招投标文本分析系统和金融舆情监控系统。

其中:

  • 招投标文本分析系统的特点是端到端和海量的文本

  • 金融舆情监控系统对应的场景主要是少样本的场景

通过这两个典型的金融应用场景,来分享我们在实际实践的过程中遇到的一些问题和解决思路。

02端到端的招投标文本分析系统

NLP技术在金融资管领域的落地实践_java_06

什么是招投标数据?

公司在采购软硬件时,一般会发布一个招标公告,供应商看到公告后,撰写并提交自己的投标书,甲方评估后发布中标公告,告知大家谁中标。

招投标数据为什么重要?

对于一家上市公司而言,如果主营业务是toB的模式,我们可以通过招投标的数据来预测公司的营业收入,比如一家公司中标了一个大单,我们可以通过招投标数据提前预知。

如上图的案例:

左边是一家公司披露的中标公告,中标金额6.5亿,公告的发布时间是17年的10月17日;中间是我们在互联网公开数据中采集到的中标公告,无论是项目名称、中标单位、中标金额,都和左边的内容是一致的,唯一不同的是时间,我们采集到数据的时间比公司披露的时间,早了16天,这就可以帮助我们在获得关键信息上占有优势。

1. 招投标大数据分析系统技术架构图

NLP技术在金融资管领域的落地实践_java_07

为了实现全网的招投标数据监控,我们研发了端到端的智能化招投标文本分析系统,实现了千万级招投标文本的流式处理。主要包括:智能化网页抽取系统、招投标文本分析服务和数据展示。 首先我们的招投标文本分析系统会从外部海量的招投标网站上采集最原始的招投标标书,接下来用招投标文本分析服务对标书进行结构化的处理,把其中最关键的信息提取出来,最终利用数据展示、分析面板对数据进行二次的分析和展示,方便业务人员使用。

下面为大家介绍其中最核心的两个算法组件,智能网页抽取系统和招投标信息抽取模型。

2. 智能网页抽取系统

NLP技术在金融资管领域的落地实践_java_08

常规的数据采集步骤包括:

  • 对页面采集规则进行撰写

  • 任务下发、下载器实现

  • 根据规则把内容抽取出来

由于需要采集的网站非常多,需要大量的人力,导致成本非常高,效率低下。所以我们需要一套智能化的信息抽取引擎。可以从海量网页类文本数据中自动化地抽取出特定区域、特定用途的文本片段,即从招投标网页数据中抽取标书标题、标书正文

难点:

  • 国内的资讯网站 10 万+ ,网页类型种类繁多,模板不计其数,无法通过统一化的规则处理;

  • 网页内容基于 html 标签以 树 的方式进行组织和布局(二维),而传统文本是一维序列。

网页抽取的数学模型:

NLP技术在金融资管领域的落地实践_java_09

每一个网页可以等价成带有各类信息的树,新闻正文的文本、图片、超链接分布在树上的各个红色节点,因此需要剔除无关节点,再按照节点位置信息进行序列化,这里的难点是如何高精度的剔除无关节点。

构建 Tag embedding:

NLP技术在金融资管领域的落地实践_java_10

我们首先要解决的问题是把网页中的html编码的标签和属性进行数值化的表示。针对这个问题,受到 word2vec 的 Skip-gram 思想启发,我们提出了 tag embedding 的算法模型,目标函数如上。其关键思想是用当前节点的 tag 去预测父节点的 tag 和子节点的 tag。

Tag embedding模型的特点:

  • 可在大规模数据集上进行无监督训练,学习出 tag 与 tag 之间的语义关联、主次关系等

  • 1000 万+ 原始网页数据参与训练

  • 显著提高后续分类模型的泛化能力

  • 显著降低分类模型对于标注数据量的需求,仅需几万标注数据即可达到很高准确率

基于全连接网络的二分类器:

NLP技术在金融资管领域的落地实践_java_11

有了Tag embedding之后,我们进一步提出了基于三层前馈神经网络的二分类器,主要用来判断节点是否保留。

如上图,输入特征主要包括:父节点的标签信息、子节点的标签信息、当前节点的标签信息,以及当前节点在其它方面的特征,比如当前节点包含文本的长度是多少、超链接的数目是多少。

模型性能:

  • 训练数据量:4 万标注数据,来自 100 个招投标网站

  • 在 1000 个网站上进行了测试,标题提取准确率 98%,正文提取准确率 96% 

使用相对简单的三层前馈神经网络的原因,主要是:

  • 我们的应用场景要求实时处理海量的网页资料,所以对计算效率要求是很高的

  • 受到前面Tag embedding的好处,已经在进行无监督的大规模训练,三层的神经网络已经可以达到很好的性能

同时,这种模型的思想还可以推广到其它任务:

  • 网页类型判定:目录页、正文页、广告页、图片页

  • 其他关键信息:目录链接抽取、作者信息抽取等

目前,我们已经实现了海量招投标文本的采集,接下来我们需要把文本数据进行结构化,得到我们想要的数据字段。

3. 招投标信息抽取模型

① 提取目标:

NLP技术在金融资管领域的落地实践_java_12

我们招投标信息提取模型的目标是从海量的招投标标书中,提取关键信息,如招标单位中标单位中标金额、产品类型 等等。

这其中的难点是招投标文件完全由撰写人来拟定,没有规范统一的格式,无法通过统一化的规则处理:

  • 中标单位的表述多种多样:承建商、供应商等;

  • 第一中标单位放弃;

  • 招标单位出现在标题中;

  • 多个中标价格并存;

  • ……

② 特定实体类抽取方案:

NLP技术在金融资管领域的落地实践_java_13

我们把这个任务抽象之后,跟命名实体识别非常类似,在我们的处理框架中,把它定义为特定实体类抽取,其结构包括:预处理层、实体提取层、实体判别层、选举决策层。这里重点介绍下实体提取层和实体判别层:

  • 实体提取层:集成了基于外部实体库的提取器命名实体识别组件正则实体提取器,来提取机构金额两类实体,最终得到实体集合及上下文特征。

  • 实体判别层:根据其上下文特征判断该实体是否为目标实体,这里我们集成了基于人工规则的实体判断、基于关键词匹配的实体判断以及基于卷积神经网络的实体判断。

通过这种两阶段处理,多模型融合。第一阶段不依赖于领域语料,采用通用命名实体识别语料训练。第二阶段在少量招投标专业语料训练即可。同时实现了高召回高精度。

接下来详细介绍下这两阶段中的核心模块,通用命名实体识别和CNN判别器。

③ 基于改进Transformer的命名实体识别

NLP技术在金融资管领域的落地实践_java_14

对于通用命名实体识别组件,我们团队先后迭代了几个版本,目前最新的方案参考了复旦大学邱老师团队在19年提出的模型。在这个模型中我们主要是以改进的Transformer模型为主要的特征提取器,再结合CRF层,引入全局约束信息来实现命名实体识别任务。左图为整个方案的结构图,右图为原生的Transformer结构,用来做对比。

我们的方案相对于原生的Transformer主要做了两个方面改进:

  • Embedding层:原生Transformer只采用了token embedding,而在我们的方案中同时采用了单个字的嵌入和bigram embedding,有效的增加了输入文本的表达能力。目前已经有很多文献表明,bi-gram embedding 一般可以提高命名实体识别模型的表现。详细的实验,大家可以参考上图中18年的文章。

  • 改进了Transformer结构原有的自注意力层,通过调整原生结构位置的坐标点,可以同时捕捉到方向信息和相对位置信息的特征。

具体的实验效果如下:

NLP技术在金融资管领域的落地实践_java_15

④ 基于卷积神经网络的实体判决

NLP技术在金融资管领域的落地实践_java_16

这里我们采用TextCNN作为核心组件,整个网络由Embedding层、卷积层和前向网络层构成。

  • Embedding层:我们采用了表征词汇语义信息的Word Embedding和代表每个词相对位置信息的Position Embedding,可以有效的捕捉上下文位置信息。

  • 卷积层:在卷积层我们采用了不同大小的卷积窗口,来捕捉不同距离的特征;同时我们把最大池化改成了top k pooling,通过保留一些模型弱的特征,来保证模型的鲁棒性。

招投标信息抽取模型的测试结果:

NLP技术在金融资管领域的落地实践_java_17

我们在5000条招投标数据上的测试结果如上,简单总结如下:

  • 高召回实体提取器:采用基于 TENER 的命名实体识别 + 基于外部信息库的实体提取+消歧模型 的混合架构,使得三类实体的平均召回率为 0.97

  • 高精度实体判别器:基于 CNN + 人工规则 + 关键词匹配的联邦竞选架构,实现高鲁棒性,平均精确率为 0.96

  • 并行计算,模型轻量,计算效率高。比BERT模型F1值高两个百分点,同等硬件条件下,预测速率是BERT的20倍,计算效率很高。

4. 端到端招投标大数据分析系统

NLP技术在金融资管领域的落地实践_java_18

基于前面的成果,我们可以构建起招投标大数据分析系统,这一系统包含了从海量标书智能化采集、文本数据结构化到辅助投资决策的全流程,实现千万级文本数据的采集和快速分析,帮助客户预测跟踪 toB行业与公司的发展状况及竞争格局。

  • 海量标书智能采集:覆盖700+招投标网站,5000+万份标书,其中60%为政府网站,20%为央企及国企网站,20%为医院、学校等事业单位及细分行业招投标公示平台。

  • 文本数据结构化:对于海量标书进行实时处理,从中提取 中标金额招标单位中标单位等关键信息,提供客户、地域、时间等多维度分析。

5. 招投标大数据分析系统部分功能展示

NLP技术在金融资管领域的落地实践_java_19

NLP技术在金融资管领域的落地实践_java_20

这里展示了如何运用招投标数据对海康威视进行公司发展状况分析和业绩预测。比如,通过历史数据回测,我们发现中标数据与公司定期公布的季度收入高度相关,因此这一数据可以作为未来业绩预测的一项重要参考基准。另外,利用地域分析,我们可以了解到海康威视在不同地区的竞争格局和营收状况,从而更深入地了解这家公司的经营状况。

6. 小节

  • 提出了一种 Tag embedding 的算法,实现了 html 标签的分布式表示。在此基础上,结合网页其他特征,我们构建了一种基于前馈神经网络的网页内容自动化抽取系统,实现了 700+ 招投标网站、千万级标书的自动化采集

  • 构建了一种两阶段思想的招投标信息提取系统。在第一阶段,以改进的Transformer网络为核心实现了F1达到 0.97 的实体提取。在第二阶段,以带有 Position embedding 的CNN 网络为核心,最终实现了F1值接近0.96 的整体系统表现。

  • 构建了一种以网页内容自动化抽取、招投标信息提取模型为核心的端到端招投标大数据分析系统,实现了5000万+文本数据的采集和快速分析,可帮助客户预测跟踪 to B行业与公司的发展状况及竞争格局。

03少样本场景下的金融舆情监控系统

1. 金融舆情监控系统

NLP技术在金融资管领域的落地实践_java_21

在金融领域,存在两类机构,一类是买方,一类是卖方。买方一般直接操作股票的买卖,如公募基金、私募基金等;卖方主要进行股票的分析和研究,为买方提供咨询和建议,主要包括券商和独立的研究机构等。通常一家买方机构,往往会对接多家卖方机构为其服务。我们知道,微信已经成为了一个工作平台,因此微信群成了卖方服务的重要场景,一个分析师往往会有几十个卖方服务群,每时每刻都可能收到来自这些群的信息轰炸。这一场景主要面临的痛点有:

  • 消息遗漏:微信群数量众多,无法及时查看消息,一些文件超过有效期无法查看

  • 噪音过多:群内消息类型各异,信息噪音过多,寻找有用信息困难

  • 信息零散:无法汇总全部信息,了解卖方观点的全局趋势

针对这些痛点,我们提出了金融舆情监控系统的解决方案,可以做到:

  • 无遗漏:自动汇总卖方群中的全部研究资料,包括各类调研邀请、文章分享、微信消息和PDF文件

  • 高效率:可进行行业、公司、消息类别在内的多维筛选,精准定位有用信息

  • 可持续:能够按照微信群或发言人的方式进行信息订阅,持续关注特定券商、特定团队的信息

  • 可分析:聚合特定时段的全部信息,进行多维度热点分析,为用户推送热门信息

NLP技术在金融资管领域的落地实践_java_22

金融舆情监控系统的流程:

首先把微信群中的信息,如文本信息、链接、文件等抽取成公司、行业、机构等3类标签,然后进行业务分类,目前有4个大类,11个小类,同时我们的系统还会把结构化的文本提取出来,如文章作者、会议时间等等。这样就可以做很多有价值的应用:如热点追踪、分类汇总、报告检索、事件发现、投研日历等等。

2. 金融舆情监控系统技术架构图

NLP技术在金融资管领域的落地实践_java_23

金融舆情监控系统技术架构包括3层服务:金融舆情文本分析服务、数据清洗服务、展示服务。

NLP技术在金融资管领域的落地实践_java_24

其中,金融舆情文本分析服务最关键的三个组件是:信息类型分类、一级行业分类和特定实体提取。

3. 少样本困境

NLP技术在金融资管领域的落地实践_java_25

在实践中,很多与金融领域内的问题都与特定的场景相关,金融公司通常面临的少样本困境主要包括:

  • 数据搜集成本高:与业务场景相关,可搜集的数据量少,数据搜集的时间成本很高。

  • 数据标注难度高:金融领域的问题,需要业务人员甚至金融分析师参与标注。

针对少样本困境,常用的路径有:迁移学习、数据增强、无监督学习、半监督学习。下来,我们通过介绍金融舆情中两类主要算法组件的实现方式,来分享我们解决少样本问题的思路。

4. 微信信息分类模型

NLP技术在金融资管领域的落地实践_java_26

微信信息分类模型的目标:对微信群里的文本信息、文件、链接消息等消息进行分类,分为公司深度、公司点评、行业深度、行业点评、宏观策略报告、固收报告、调研纪要、会议纪要、调研邀请、会议邀请及其他,共11个类别。

整个模型是以TextCNN网络和Fasttext作为两个基本模型,再通过XGBoost将两个模型集成起来。这里用到的TextCNN网络与前面的招投标网络基本是一致的,除了在Embedding层,我们把位置向量去掉了。其好处有:

  • 高鲁棒性:采用 XGBoost 将多层CNN网络和Fasttext网络集成,融合深层模型与浅层模型的长处,提供算法鲁棒

  • 模型轻量,计算效率高。

5. 文本增强技术

NLP技术在金融资管领域的落地实践_java_27

文本增强技术是一类低成本的数据杠杆,可以在不引入新数据下,有效撬动模型性能,尤其在少样本场景下。

常用的场景包括:

  • 少样本场景:扩充原始样本集,性价比高,又快又省。

  • 样本不均衡:扩充小比例类别,平衡样本集,提升模型性能。

  • 提高鲁棒性:在训练集中引入噪声,提升模型鲁棒性。

  • 半监督训练:用于无标签数据,构造半监督训练的样本对。

总的来说,由于文本增强技术可以提高模型的鲁棒性,除非数据量非常丰富,通常可以采用文本增强技术进行尝试,一般都有正向的效果。

典型的文本增强技术有:

  • 回译:基本思想是原始语种1 -> 语种2 -> 语种3 -> 原始语种1。

  • EDA:本思想是对原始文本进行四类随机操作,分别包括同义词替换、随机插入、随机交换随机删除

  • 非核心词替换:基本思想是利用TF-IDF评估句子中每个单词的重要性,用词典中非核心词去替换句子中的不重要词。

关于文本增强技术的详细介绍,可参考我们团队之前的一篇文章:

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

6. 数据增强的实验结果

NLP技术在金融资管领域的落地实践_java_28

样本集情况:

  • 样本集:数据集共包含约 2200 条有效样本。其中,公司点评类样本最多,约 500 条。固收报告和调研邀请最少,在 150~200 条之间。

  • 测试集:随机选择各类别约 100 条数据,共约 900 

  • 训练集:除测试集外的剩余样本数据,共约 1300 条,各类别样本约 150

实验结果见右图,总结如下:

  • 数据杠杆:采用回译、EDA、非核心词替换等多维度文本数据增强方法,三类技术均可以带来 6~9 个百分点的提升。

  • 小样本场景下效果显著:在20%的小样本下(各类样本平均30条),文本增强技术效果最为显著,可以实现约 个百分点的提升。

  • 三类方法效果相近:三类方法均可以有效提升模型性能,在全数据集下,三类方法均可以提升 个百分点左右。

NLP技术在金融资管领域的落地实践_java_29

最终的实验结果见上图,通过本文增强技术以及一些其它方法,我们基本解决了少样本问题。

文本增强技术为什么可以在没有引入额外数据的情况下,起到这么好的效果?

这里给大家分享下我们的思考:

  • 正则化:本质上都是设计者表达了一种模型偏好,或者对于模型的分布施加了较强的先验分布假设。例如,EDA表达的偏好是,模型应该对于文本局部噪声不敏感。

  • 迁移学习:回译的有效性来源于外部预训练好的翻译模型。可以理解为将外部预训练好的模型从其他地方所学习到的信息或者知识迁移到了当前的任务中,提高了整体数据的信息容量,进而更好地指导当前模型的学习。

  • 提高模型鲁棒性:EDA、非核心词替换等技术除了可以从语义层面的噪声来看待,同时还可以看作是对于输入数据施加一般化噪声(与具体任务无关的),实现类似于 dropout 层的功能,而这一思路已经被各个研究证明,可以一定程度提高模型的鲁棒性。

  • 流形根据流形分布定律,同一类标签的文本,往往集中在高维文本空间上,某一个低维流形上,因此有效的文本增强技术应该保证新生成的文本仍然是该流形上的一点。

7. 微信行业分类模型

① 初版

NLP技术在金融资管领域的落地实践_java_30

模型目标:对微信群里的文本信息、文件、链接消息等消息进行行业分类,以中信一级行业分类作为分类基准,包括餐饮旅游、商贸零售、纺织服装、农林牧渔、建筑、石油石化、通信、计算机等 29 个行业类别。这里我们仍然以TextCNN作为baseline尝试解决,只要样本足够,就能得到很好的效果。

NLP技术在金融资管领域的落地实践_java_31

但是问题恰恰是样本量太少了:

  • 样本集:数据集共包含约 1200 条有效样本

  • 测试集:随机选择 600 条,各类别在 10~30 条之间

  • 训练集:除测试集外的剩余样本数据,共约 600 条,各类别在 10~25 条之间

对这个问题,我们提出了三阶段训练的模型优化算法。整个流程如下:

  • Step1:词向量预训练。在数十亿级海量语料上预训练,在10万研报数据上进行二次训练,提升领域相关词汇的 embedding 分布。

  • Step2:在原始样本上训练初版模型,利用这个模型对10万研报数据进行行业分类,保留类别置信度大于某个阈值的研报样本。用这些研报样本二次训练模型。多次迭代这个过程。

  • Step3:将 step2 中的模型参数作为初始值,在原始样本上进行训练,获得最终模型。

整个过程可以类比为:第一阶段是高中学习,主要掌握通识知识。第二阶段是大学本科,主要掌握专业内的基础知识。第三阶段是研究生学习,主要解决专业领域内某一类细分问题。

其中的核心思想是,通过这种三阶段训练的方式,将外部海量研报中关于行业类别的分布信息迁移到微信这个任务中。

实验结果见上图右边部分:

  • 三阶段训练法效果显著:三阶段训练法有效提升模型性能,尤其在在小样本小(约每个类别 5~8 条),得益于迁移学习,可以提升模型 F1 值 48 个百分点。
  • 有效降低样本需求:即使在数据量只有 60% 的情况,模型的表现超过 100% 数据下的 baseline 个百分点。

② 行业记忆网络

NLP技术在金融资管领域的落地实践_java_32

既然3阶段的训练方式是有效的,我们是不是可以把从外部研报学习到的知识用网络单独固化下来?基于这样的一种想法,我们提出了行业记忆网络结构,与TextCNN网络一起构成了混合模型。对于输入的文本,一方面会进行卷积运算和特征提取,另一方面会送入记忆网络中,这个网络首先对原始的文本用网络中学到的industry embedding进行编码,运用多层注意力机制,有效捕获文本中的行业属性,最终在30种不同领域的样本集下训练,捕获了同一个词汇在多种场景下的行业特性。

整个混合模型的迁移学习思想包括:

  • 采用海量通用语料预训练的 word embedding,学习到词的共现信息,即词义信息

  • 采用10万研报上预训练的 industry embedding,学习到词的行业信息

实现原理:

NLP技术在金融资管领域的落地实践_java_33

基本思想是运用外部海量语料,学习词汇的行业领域信息:

Step1:将 10万 的研报语料库按照行业特性,分成29 个样本集。每个样本集包含 1 类行业研报,作为正例。其他 28 类研报随机采样,构成反例。

Step2:针对 29 个样本集,训练 29 个 SVM 模型,目标任务是对研报进行二分类,判断是否属于目标行业。

Step3:将每个词汇在 29 个 SVM 模型的系数抽离出来,构成词汇的 industry embedding:

Vword=[w1,w2,w3,...,w29]

最终实现对于词汇行业信息的分布式表示。右图是industry embedding的可视化效果。右边这张图是 industry embedding 降维之后的可视化的效果。最下面红圈中的词汇包含了海天、啤酒、食品饮料。经常下厨房的同学都知道,海天是国内知名的调味料生产企业,在行业属性上确实应该与啤酒、食品饮料同属一个行业。从这个可视化结果可以看来,industry embedding 的算法已经学习到词汇的行业信息。

行业记忆网络的实验结果:

NLP技术在金融资管领域的落地实践_java_34

最后,我们综合运用了 行业记忆网络和文本增强这两项技术,其中的细节如下:

样本集情况:

  • 样本集:数据集共包含约 1200 条有效样本

  • 测试集:随机选择 600 条,各类别在 10~30 条之间

  • 训练集:除测试集外的剩余样本数据,共约 600 条,各类别在 10~25 条之间

实验结果(见左图):

  • 行业记忆网络效果显著:行业记忆网络可以有效提升模型性能,尤其在在小样本小(约每个类别 5~8 条),结合数据增强技术,可以提升模型 F1 值50 个百分点。

  • 有效降低样本需求:结合行业记忆网络和数据增强技术,即使在数据量只有 60%的情况,模型的表现超过 100% 数据下的 baseline 个百分点

  • 并行计算,模型轻量,计算效率高:模型由 CNN 网络和行业记忆网络构成。其中,CNN 网络和行业记忆网络均支持并行运算,且模型轻量,因此计算效率高。

值得一提的是,相对于前面的三阶段训练算法,行业记忆网络的一个优势是,这个网络是与具体任务无关的。由于它本质上是存储了词汇的行业信息,因此它可以很方便地用到其他涉及到行业分析相关的自然语言处理任务中。

8. 特定实体提取模型

NLP技术在金融资管领域的落地实践_java_35

这里的特定实体提取模型和前面招投标的实体提取模型基本是一致的,唯一不同的是我们在实体提取层引入了实体消歧模块。

9. 金融舆情监控系统功能展示

NLP技术在金融资管领域的落地实践_java_36

最后,简单展示一下金融舆情监控系统的一些功能,如热点追踪和列表视图。在热点追踪页面,用户可以第一时间获取机构的关注焦点,了解卖方的研究热点和公司线索。在列表视图页面,我们可以按照事件、公司、行业、消息类型等等,多维度的查看历史信息。

10. 小节

  • 提出了一种基于行业记忆网络的迁移学习算法,实现了词汇行业信息的分布式表示。该算法帮助微信行业分类模型在仅有 200 条数据的少样本场景下,实现了 25 个百分点的提升。

  • 提出了一种三阶段模型优化算法,完成了行业知识从外部海量研报到微信行业分类任务的迁移,在仅有120条少样本场景下,实现了 48 个百分点的提升。

  • 回顾了当前几类典型的文本增强技术,证明了文本增强技术是一类低成本的数据杠杆,可以在原有数据集的基础上有效提升模型性能。基于文本增强技术,我们实现了微信类型分类模型 6~9 个百分点的提升,微信行业分类模型 3~30 个百分点的提升。

  • 基于熵简NLP的层次化技术架构,我们构建了一种金融舆情监控系统,用于对卖方微信群消息进行多维度的信息提取和分析,可帮助金融资管客户实现从数据负债到数据资产的跨越,获取前瞻的商业洞察,赢得先机。

04总结和展望

1. 总结

  • 信息不对称是金融业的竞争焦点。大量及时有效的信息都隐藏在非结构化的文本中,金融机构需运用NLP技术理解内容、挖掘信息,从而赢取在关键信息上的竞争优势。

  • 自然语言处理属于认知层面的技术,更是人工智能领域的明珠。目前,这一领域还有很多关键问题和理论没有突破,远远达不到人们期望的水平。我们的经验是,当前的NLP技术不适合做成泛化的工具。技术专家+业务专家,共同挖掘最能发挥技术优势的业务场景。例如,招投标大数据分析系统,金融舆情监控系统。

2. 展望

  • 与业务专家深度碰撞,挖掘出更多可以扎实落地的场景。

  • 尝试更多前沿的技术和思想。比如,尝试基于GPT类生成模型的文本增强技术,尝试将CV领域的新思想、新算法引入进来。

05互动环节

Q:车的消费贷场景,贷后催收预警一般样本量较小,小样本如何学的靠谱? ( baseline是规则 )

A:

  • 数据增强:回译、EDA、非核心词替换、上下文替换,对于文本分类效果明显

  • 迁移学习:其他场景下,具有相似的文本分布的语料。三阶段学习、领域词汇迁移等等

Q:nlp 如今较好的模型资源需求量很大,如bertlarge,xlnet,实际落地时,是堆资源保证效果,还是简化模型呢?

A:对于绝大部分问题,没必要堆资源,因为轻量模型上同样可以实现与BERT类模型相当的表现,甚至更好。

  • 神经网络的近似理论已经说明了,只要网络足够宽,两层的神经网络,也能够无限的逼近于任何连续的函数。大部分情况下,我们其实并不需要BERT这一类重型的模型。

  • 在实际情况下,有一部分金融客户需要私有化部署,BERT对于他们来说负担比较重

  • 可以用BERT训练后的结果作为baseline,用来优化轻量级模型

今天的分享就到这里,谢谢大家。


如果您喜欢本文,欢迎点击右上角,把文章分享到朋友圈~~



NLP技术在金融资管领域的落地实践_java_37分享嘉宾

NLP技术在金融资管领域的落地实践_java_38

李渔 博士

熵简科技 | 联合创始人

博士毕业于清华大学电子工程系,以第一作者身份发表学术论文10余篇,申请专利6项,致力于将先进的自然语言处理及深度学习技术真正落地于金融资管领域,让科技赋能产业。目前负责熵简科技NLP技术中台的建设,包括层次化的分层架构、大数据泛采体系、持续部署的后台支持以及前沿算法的领域内落地等,为熵简科技的各大业务线提供底层技术支持和可落地的解决方案。——END——

关于我们:

DataFunTalk专注于大数据、人工智能技术应用的分享与交流。发起于2017年,在北京、上海、深圳、杭州等城市举办超过100场线下沙龙、论坛及峰会,已邀请近500位专家和学者参与分享。其公众号DataFunTalk累计生产原创文章400+百万+阅读,5万+精准粉丝。

NLP技术在金融资管领域的落地实践_java_39