周映彤,孟 剑,郭 岩,刘 悦,贺广福,董 琳,程学旗
(1. 中国科学院 计算技术研究所 网络数据科学与技术实验室,北京 100190;2. 国家计算机网络应急技术处理协调中心,北京 100029)
金融公告中关键数据的抽取,在量化分析、信用评估、风险控制、工程建模、运营管理和企业违规监察等应用中都具有一定的实用价值,如图1所示[1]。近年互联网金融信息服务规模保持年平均增长率在30%以上,金融公告信息量正在随着金融市场迅猛发展而爆发,而公告文本语言的多样性提高了人工进行信息抽取的代价。因此,研究金融公告的信息抽取技术具有重要的理论和现实意义。
图1 中国量化金融行业白皮书节选
从文本结构的维度,我们将公告分为半结构化和无结构两类。本文重点研究无结构金融公告中的多元关系抽取技术。
金融公告具有依法强制披露属性,上市公司需要进行指定类别公告的定期披露,每条金融公告都具有明确标识的业务类别,因此本文根据表1将金融公告进行分类具有合理性。
表1 金融公告分类及抽取字段
无结构公告文本结构自由,属于纯文本格式的自然语言文本。相比较其他公告文本,其主要特点在于实体间关系涉及比较复杂的财务关系,即实体间的多元关系。例如,图2所示的无结构金融公告中,要抽取的是“A、B、C”三个字段,属于一组多元关系。
图2 无结构金融公告抽取中多元关系示例
1.1.1监督学习方法
在基于依存语法分析树方面,人们提出了多种基于核函数的实体关系抽取方法,包括依存树核函数方法、最短路径依存树核函数方法、卷积树核函数方法以及它们的组合核函数方法。
Zelenko[2]等利用浅层句法分析结果,用连接实体对的最小公共子树表征关系实例,通过计算两棵子树之间的核函数,训练SVM等分类器,在较小的新闻语料库中取得了较好的关系抽取效果。Culotta[3]等改进Zelenko等的方法,利用依存关系句法树表示关系实例。添加词性、实体类型等特征,并在相似度计算时加入严格的匹配约束。Bunescu[4]等对其做进一步改进,提出了实体对最短依存路径核函数,比较最短依存路径上相同节点的个数,计算核函数,但同样召回率较低。
为了解决上述问题,在基于依存语法分析树的关系抽取任务中,研究人员引入了卷积核函数。卷积核函数通过统计离散结构之间相同子结构的数目,计算两者的相似度。黄瑞红[5]等研究了卷积核方法对中文关系抽取的有效性,发现仅依靠最短依存路径核难以提高中文的实体关系抽取效果。Zhang[6]等和Zhou[7]等利用实体对最短路径树,加入语义关系的不同层面特征,并综合考虑谓语上下文信息,利用了卷积树核函数的方法。Qian[8]等利用实体对的动态依存关系树。庄成龙[9]等在加入语义信息之外,对最短路径树进行裁剪,去掉修饰语冗余和并列冗余信息。虞欢欢[10]等结合关系实例的结构化信息与实体语义信息,构造出二合一句法和实体语义关系树。
1.1.2 无监督方法
Hasegawa[11]等通过将命名实体对之间的文本进行聚类,用聚类结果表示关系类别,使用聚类集合中词频最高的词作为关系描述词。在大规模新闻语料上的实验证明其方法可行。Stevenson[12]引入WordNet语义词典,改善了关系抽取模板聚类时的相似度计算过程。Zhang[13]等利用浅层句法树表示关系实例,通过计算句法树之间的相似度,利用层次聚类算法进行聚类,该方法兼顾了低频实体对之间可能存在的语义关系。Rosenfeld[14]等提出将关系特征和实体特征有效结合的方法。
针对无结构金融公告信息抽取任务,已有算法存在以下不足:
(1) 已有方法主要抽取三元组,而金融公告中的关键信息多具有复杂的财务关系,本质是实体间的多元关系,相关研究还不成熟,往往需要结合上下文间关联。
(2) 现有的开放式信息抽取系统在金融公告垂直域应用不成熟。金融公告抽取的特定任务,已有研究缺少垂直域的优化,没有成熟的针对中文金融公告信息抽取的方法。
(3) 关系抽取多以动词为核心,这样会遗漏以实体名词等为核心的关系,而无结构金融公告中这一类关系很常见,导致召回率下降。
针对垂直域多元关系抽取任务面临的挑战,本文重点研究并设计了无结构金融公告中多元关系抽取算法TextMining和模型FTA-GCN。
基于依存关系树频繁子树挖掘的TextMining算法,主要通过频繁子树挖掘和子树拓展,有效提取无结构金融公告中的多元关系,并且无监督学习算法可以有效降低对标注数据集的依赖,但该算法召回率偏低。
依存句法分析树的结构信息为关联型信息,为了解决TextMining多元关系抽取召回率偏低的问题,本文融合TextMining算法和多头自注意力引导图卷积编码,提出多元关系抽取模型FTA-GCN,使得TextMining得到的频繁子树结构信息被有效利用,在Attention层融合,提高召回率和金融公告多元关系抽取中非动词实体的关注度。
本文将频繁子树挖掘拓展算法、注意力引导图卷积模型等引入到金融公告多元关系抽取任务中,并在构建的金融公告集上做一定垂直域优化。在多元关系抽取的正确率上,FTA-GCN算法较传统GCN方法[15]提升了约8%左右。
垂直域优化主要是针对金融公告多元关系抽取任务中名词实体繁多的现象,本文使用较为成熟的金融实体识别和实体消歧方法来解决繁多名词实体带来的混淆问题。相比开放式抽取,垂直域模型抽取效果具有较大优势。
2.2.1 金融实体识别
本文整理的金融实体名称词典比较详尽。对比了几款实体识别模型,选择在开源HanLP工具(1)HanLP词性标注: 参照https://www.hankcs.com/nlp/part-of-speech-tagging.html#h2-8.提供的网络模型上,加入金融实体词典数据,同时开启人名、地名、专有名词的词典增强模式,进行实体识别垂直域优化,有效地改善了抽取效果。数据集样例如图3所示。
图3 整合的金融实体集
2.2.2 实体消歧
实验选择使用基于检索的实体消歧方法,使用图3中金融实体集中实体的分组聚类来拓展检索,加强了实体消歧效果,特别体现在简称、全称消歧方面。在实体较多且易产生混淆的公告文本中,这种建立在成熟方案上的垂直域优化方法具有适用性。
金融公告数据经过数据清理、词性标注、金融实体识别、实体消歧、构建依存句法分析树几个主要步骤得到依存句法分析树。TextMining算法基于依存分析树进行频繁子树挖掘[16]和拓展,完成金融公告中的多元关系抽取。
2.3.1 子树挖掘算法改进
TextMining频繁子树挖掘算法,首先由句子形成依存句法分析树(Treebank 1.0标签集(2)Treebank 1.0标签集: 参照https://www.hankcs.com/nlp/parsing/neural-network-based-dependency-parser.html.,15类),树结构可以有效利用图结构的各种分析算法。参考自gSpan[16]的FTGen频繁子树挖掘算法,生成超过最低支持度(出现频率)的子树结构。TextMining主要改进点是通过频繁子树依赖路径的拓展来获取更加准确的包含抽取的多元关系的节点信息。频繁子树挖掘本身是一种无监督学习算法,可以有效降低对标注数据集的依赖,但该算法有召回率偏低的问题。通过子树的拓展和调整可以有效改善抽取效果。FTGen算法描述如下:
FTGen(Frequent subtree Generation)算法第一步判断要扩展的频繁子树是否为全树最小深度遍历编码,以避免对重复生成的子树做扩展。第二步对频繁边集中的每条边进行扩展判断。第三步将已提取的边从边集中去掉,减小需要扩展的边集,第四步判断当前提取的边是否为树边,如果是,将其加入到频繁子树t中。第五步判断在频繁子树T中是否存在t的同构子树。如果不存在,将t加入到结果集T中。第六步对扩展后的t递归执行FTGen以得到全部频繁子树。
利用输入句子的依存分析的模型,或者基于依存关系的模型,在关系抽取中被证明是有效的,因为依存树提供了可以在关系抽取中利用的丰富结构,其能够捕获字面形式上比较模糊的远距离句法关系(例如,从句比较长或有复杂的范围限定的情况)。但是与关系相关的大多数信息通常包含在以两个实体的共同所在的公共子树内。并且之前的研究已经表明,通过消除句子中的无关信息,移除此范围之外的词有助于关系抽取,因此出现了以下两方面问题:
(1) 直接在解析树上进行操作的模型通常很难并行化,因此计算效率很低,因为将树对齐并进行有效的批处理训练通常是非常重要的。
(2) 基于主语和宾语之间最短依赖路径的模型计算效率更高,但这种简化的假设也有很大的局限性。当模型仅考虑依赖路径时,一些关键信息(比如: 否定关系)将被丢失。
因此本文希望通过TextMining频繁子树挖掘算法作为移除句子中无关信息的一种新的方式。然而,过于激进的“剪枝”(例如,仅保留一定高频率的频繁子树)可能导致关键信息的丢失。本文设计以频繁子树为中心点的依赖路径拓展技术,保留依存分析树中到频繁子树距离为K以内的节点。K=0,表示仅保留频繁子树即可;K=1,表示保留直接相连的节点;K=∞,表示保留频繁子树所在的整个LCA子树。
这种修剪和拓展策略区别于LCA剪枝、最短依赖路径剪枝,有适应于依存树多元关系抽取的独特优势。实验证明,用K=1进行剪枝可以实现保留相关信息(如否定和连接)和尽可能多地去除无关内容之间的最佳平衡。
本文提出了融合TextMining子树挖掘和注意力图卷积模型的FTA-GCN算法,充分利用TextMining得到的频繁子图节点信息,有效提高多元关系抽取中对非动词实体的抽取效果。
2.4.1 图卷积模型改进
现有的GCN模型[15]在编码依存关系前将全依赖树剪枝为子树,子树中不存在的边在邻接矩阵中对应的元素直接赋值为0。这种方法虽然降低了不相关信息的干扰,但一定程度上消除了原始的全依赖树中的信息。本节的Attention引导层实现的模型直接把整棵依赖树作为输入,可以改善这一问题,如图4所示。
图4 Attention引导层训练过程
(1)
抽取模型如图5所示,改进包括: 每个执行模块都包括Attention引导层、密集连接层和线性组合层。密集连接层通过有效增加模型深度,能够捕捉其丰富的局部和非局部信息,得到更佳的图表征,结构如图6所示。
图5 改进的图卷积模型
图6 密集连接层(子层层数为3)
(2)
最后,通过线性组合将N个分离的密集连接层的输出向量组合成式(4)的hcomb以及每个实体的组合表达hei,he2,…,hei,参考现有GCN方法[15]中的前馈神经网络分类器FFNN进行分类训练和关系抽取。
金融公告多元关系抽取任务中实现的依存关系树“软修剪”方法,通过网络微调和参数优化,自主实现的模型能够更好地利用全依赖树的结构信息,尤其是非直接相连的边、间接的多跳路径连接的信息,有效捕捉这些关联较弱的复杂多元关系,抽取结果优于现有的GCN方法。
2.4.2 FTA-GCN融合算法
TextMining提供了丰富且准确的多元关系节点信息,为了更有效地利用这部分结构信息,本文进一步探索依存分析树结构,提出FTA-GCN算法。该算法融合了TextMining和改进的注意力图卷积模型,充分利用TextMining得到的频繁子图拓展节点信息,将频繁子图结构信息融合进表达矩阵,自主优化表达结构,输入图卷积网络进行训练和分类。由于图卷积的抽取效果高度依赖于正确的解析树输入,这种融合做法对抽取效果的提高有较大帮助。
图7 FTA-GCN Attention层融合
实验所用数据集情况和分类表如表2所示。
表2 实验数据集分类
数据集来源是分类爬取官方披露网站的公告,其中,PubMed是公开的多元关系数据集(医药类)。进行数据预处理、格式转换,为垂直域金融数据分析提供了可供训练的数据集参考。
在无结构金融公告的文本抽取实验中,一般抽取到的是交叉句子,且包含n元关系。本文要解决的关键问题是多元关系抽取。因此,为了更客观地评价抽取效果,本文设计了多元关系正确率的评价指标。
正确率判定方法: 抽取属性值中25%以上为正例,则判断这一组多元关系抽取准确,为正例。
多元关系覆盖率: 在为抽取准确的多元关系组中,抽取属性值为正例的占全部抽取属性值的百分比。
无结构抽取实验流程图如图8所示。
图8 无结构抽取实验流程图
实验1: 实体识别垂直域优化
实验对比了加入金融实体数据集进行垂直域优化后抽取结果的变化,如表3所示。
表3 实体识别垂直域优化
结果分析: 可见本文构建的整合的金融实体优化数据集可以一定程度上做到垂直域优化,提高公告文本抽取的正确率、召回率,这种基于上市公司名分组的拓展,加强了检索模型的实体链接,在金融公告这一类实体较多的文本中,垂直域优化效果体现得比较强。
实验2: 实体消歧方法垂直域优化
实验对比了不同的金融实体消歧方法对抽取效果的影响,在自建金融公告数据集中进行对比验证实验,结果如图9所示。
图9 金融实体消歧方法垂直域优化
结果分析: 综合表3和图9可见无结构金融公告抽取算法的垂直域优化效果,只采用分词和词性标注组件进行训练时,因金融实体间关系复杂,抽取效果不是很好。
实验3: 词向量嵌入方法影响
实验对比了不同方法的词向量嵌入效果,如表4所示。
表4 词向量嵌入方法对比
结果分析: 综合实验数据来看,选用GloVe[21]300维词嵌入可以最好地呈现设计模型的抽取效果,能有效地利用全局的先验统计信息和上下文词的相对权重信息。
实验4: 频繁子树拓展策略对比
验证TextMining频繁子树挖掘算法拓展策略的优化,选择FTA-GCN的模型进行,通过调整TextMining融合到输入邻接矩阵的频繁子树节点信息来验证对比结果。分为频繁子树按依赖路径K值拓展、频繁子树LCA整数和全依存树不进行子树挖掘几个对照组,结果如图10所示。
图10 频繁子树拓展策略对比
结果分析: 基于频繁子树拓展策略的调优,符合前面设计部分的分析,在频繁子树依赖路径拓展K值为1时,达到最佳状态。同样的方法也适用于仅通过频繁子树挖掘来进行多元关系抽取的实验。
实验5: FTA-GCN对非动词关注度提升
最后一个实验是相比于GCN,验证FTA-GCN对名词实体提升的关注度,采用对抽取关键属性中对应词性的占比和数量来评价关注程度和抽取效果,结果如表5所示。
表5 对非动词关注度提升
结果分析: 由于频繁子树挖掘的融合,核心名词实体等作为先验值加权可以导入训练模型中。可以看出,名词实体在FTA-GCN模型进行的关系抽取任务中被更有效地抽取出来。
最终抽取效果比对如图11所示。
图11 抽取效果对比
实验6: PubMed数据集抽取效果对比
PubMed数据集是标准化多元关系抽取测试集,属于英文医学专业数据集,没有进行垂直域的优化,根据文献[15]的数据划分和经验,对超参数进行了网格搜索调优,多头参数N实验选值范围为{1,2,3,4},密集连接层子层参数L实验选值范围为{2,3,4}。实验获得最佳组合和超参数设置为: lr=0.3, num_epoch=100, pooling=max, mlp_layers=2, pooling_l2=0.003,N=2,L=5,具体实验结果如表6所示。
表6 PubMed数据集实验结果
结果分析: 基于规则和种子的启发式具有良好的正确率,召回率欠佳,TextMining和图卷积可以有效进行无结构金融公告信息抽取,具有实用性。
实验7: 自建金融公告数据集抽取效果对比
在本文构建的无结构金融公告数据集上,参考前述实验结果,对超参数进行了网格搜索调优,多头参数N实验选值范围为{1,2,3,4}。实验获得最佳组合和超参数设置为: lr=0.3, num_epoch=100, pooling=max, mlp_layers=2, pooling_l2=0.003, N=2, L=5,实验结果如表7所示。
表7 自建金融公告数据集实验结果
结果分析: 和基于规则、传统Bi-LSTM、GCN三类关系抽取模型相比,FTA-GCN模型达到了最佳的多元正确率,多元正确率较现有GCN方法提升了13%左右,TextMining融合的模型具有良好的抽取正确率,TextMining召回率偏低,但采用的无监督方法降低了人工标注的复杂度。
本文从有效利用依存句法分析树结构出发,首先提出了基于依存关系树频繁子树挖掘的TextMining算法,进行了TextMining无监督多元关系抽取实验。然后基于依存句法分析树,在金融公告多元关系抽取任务中实现了多头自注意力机制引导的图卷积网络抽取模型。最后基于TextMining和改进的注意力图卷积模型融合提出了FTA-GCN抽取算法。本文介绍了TextMining和FTA-GCN的算法和流程,分别在PubMed、自建金融公告数据集上,与基于规则、传统Bi-LSTM和现有GCN[15]的Baseline模型进行了对比实验。同时,在实体词典优化(垂直域优化)、实体消歧优化、词向量嵌入优化、剪枝策略优化、对非动词关注度提升等方面进行了细粒度实验,评价多元关系抽取效果。结果表明,本文算法在无结构金融公告的信息抽取任务上有效、鲁棒,具有实用性。