随着数据时代的发展,对大量的文本数据进行事件抽取成为当前自然语言处理最重要的任务[1].因果关系是事物发展的一种逻辑关系,提取因果关系成为领域内事件问答、预测等任务[2]的基础.传统因果关系抽取方法依赖手工特征的选择[3],难以兼顾准确度和召回率[4],泛化性较差且跨域适用性不强,难以适应当前大体量的文本数据处理任务.目前,主流因果关系抽取多基于深度学习的方法.文献[5]将因果关系抽取转化为标记任务,运用端到端模型直接提取实体及关系,优于大多数流水线和联合学习方法.文献[6]提出采用迁移嵌入的自注意力因果抽取模型(SCITE),结合双向长短记忆网络(BiLSTM)和条件随机场(CRF)作为主干网络提取因果关系.针对数据不足问题,提出了上下文字符嵌入,设计tag2triplet算法处理多个因果关系元组,并引入多头注意力机制以提高因果关系抽取性能.文献[7]提出级联多结构神经网络(CSNN)模型,由卷积神经网络(CNN)和BiLSTM组成,在CNN中引入注意力机制,模型更加关注中间内容或隐含因果关系的提取,在中文因果关系二元组抽取上实现了优异的效果.文献[8]引入基于句法依存图的图注意力网络(GAT),加强了因果语义特征提取,但GAT中图的选取会影响因果抽取效果,泛化性存在一定缺陷.现有因果关系抽取模型主要抽取短文本或者名词间的因果关系,而且大多数模型是对英文文本进行处理.中文公开数据集的缺乏、数据集标准的不统一及数据集大小都成为制约中文因果关系抽取的因素.尽管如此,将抽取出的因果关系构建成因果关系图谱[9],为下游任务提供逻辑支撑仍是热点研究内容.文献[10]提出了动态因果知识图生成的方法,应用于聊天机器人医疗系统.因果关系图谱可以应用于事件推理、知识问答、预测等任务中.然而现有因果关系图谱不能展示各原因所占权重,很难通过图谱快速定位有用信息及进行重要性分析.针对上述问题,本研究构建了一个中文因果关系四元组数据集,设计了一种中文因果关系分析方法,该方法通过BERT-wwm+CRF模型将因果关系抽取转换成序列标注问题,以此来提取文本中的因果关系四元组;同时,提出了原因权重计算算法,用于计算同一结果不同原因的权重,使具有原因权重的事理图谱构建更加合理,直观、量化地展示出各个原因的重要性.1 中文因果关系分析方法将因果关系抽取任务转化成序列标注任务,首先对数据集进行预处理,然后利用因果关系抽取模型对文本进行关系抽取,并使用原因权重算法计算原因权重,构建最终具有原因权重的因果关系事理图谱.1.1 数据预处理将因果关系抽取任务转化为序列标注任务,对数据集进行预处理,将json格式标签转化为序列标注标签.为满足因果关系四元组及中心词抽取的要求,对文本中因果关系各元组进行标记.具体方法为对每个元组开始位置用“B-元组类别”标记,元组中用“I-元组类别”标记,无标签的地方标记为“NONE”.对文本“近期股市大幅下跌导致股价跌破发行价”进行标注,标注样例如图1所示.10.13245/j.hust.220217.F001图1序列标注示意图1.2 因果关系对提取对目前主流自然语言处理模型BERT,BiLSTM,CRF及BERT-wwm进行实验,最终确立的中文因果关系抽取(CCE)模型由BERT-wwm预训练模型和CRF模块组成,如图2所示.首先将文本按字切分,转换为n个字符(T1~Tn);然后获取输入字符对应的词向量(E1~En),对句子进行编码;随后利用预训练BERT-wwm模型提取上下文中的语义特征信息,其中Trans代表BERT模型中双向自注意力机制,由此得到每个字对应的标签概率pij,其中:i为第i个字;j为标签类别,对每个字生成13维的向量;最后通过CRF约束模块解码并输出最终的预测标签序列b1~bn.10.13245/j.hust.220217.F002图 2中文因果关系抽取模型1.2.1 BERT-wwm预训练模型使用双向变压器结构的BERT模型在自然语言处理领域展现了惊人的性能,其结构来自Transformers模型的编码部分.由于微调预训练BERT模型减少了对自然语言处理任务中精心设计特定体系结构的需求,因此文献[11]基于谷歌BERT模型[12]提出了更适用于中文语言处理的预训练BERT-wwm模型.该模型首先对每个字进行编码,并使用特殊符号[CLS]、[SEP]和[UNK]分别表示一个句子的开头、两个句子之间的分隔和未知字符.模型的输入由词嵌入、分割嵌入和位置嵌入三部分组成,在以多个句子为输入的分类任务中,分割嵌入用于区分句子的不同部分或类型,位置嵌入表示字符位置信息.然后利用中文分词,对文本向量进行全词掩码(MASK),若句子中某个完整的词的部分子词被掩码,则同属该词的其他子词也会被掩码,以此来对模型进行预训练,使其更加完整地学习中文文本上下文语义特征,最终输出具有上下文语义的信息词向量.图3为全词MASK与传统MASK的区别.10.13245/j.hust.220217.F003图3全词MASK与传统MASK的区别1.2.2 BiLSTM模型文献[13]展示了BiLSTM模型在中文实体识别方面优越的性能.因果关系抽取实际上是各元组的识别,BiLSTM模型是通过叠加两个方向相反的LSTM[14]构建的,其结构中设计的一个记忆细胞Ct,可以选择性记忆重要信息,更好地捕捉上下文语义依赖,完成元组抽取任务.相较于传统循环神经网络,LSTM单元结构中添加了门控机制,即遗忘门、记忆门和输出门.图4为LSTM单元示意图,图中:Xt为当前单元的输入;σ和tanh均为激活函数;遗忘门主要对上一个单元传递信息Ht-1进行选择性遗忘,只记忆重要信息,输出为ft;记忆门主要针对本单元输入的重要信息进行记录,输出为it;输出门的输出ot结合Ct来决定当前隐藏层单元的输出ht,最后ft和it更新Ct状态.10.13245/j.hust.220217.F004图 4LSTM单元示意图1.2.3 CRF模型当直接利用BERT或BiLSTM模型进行序列标注时,每个字的标注结果都是独立生成的,未利用标签的上下文信息,这将导致最终输出的标签不一定正确.而CRF能够学习标签的上下文信息,有利于提高标注结果的正确率.本研究将提取的特征输入到CRF中,通过CRF模型[15]的标签转移矩阵获得全局最优的标签序列.给定句子x,标签序列为y,xi为输入句子中第i个字,对应的标签为yi.首先计算x到y的发射概率I和标签到标签的转移概率T,利用G(x,y)计算每个可能的标注结果得分,y'为模型预测的标签,Z(x)为所有可能路径对应分数的指数和,p(y|x)为最终结果的概率分数,计算公式为:G(x,y)=∑iI(xi,yi)+T(yi-1,yi);Z(x)=∑y'exp[G(x,y')];p(y|x)=exp[G(x,y)]Z(x).模型损失函数f'是计算序列的极大对数似然,f'=-logp(y|x)=-G(x,y)+logZ(x).1.3 权重计算通过对提取的因果关系对中同一结果的不同原因计算权重,可以区分主要原因和次要原因,更有利于因果关系的应用.文献[9]利用因果关系对在语料库中出现的频次计算因果关系强度,构建一个因果网络用于挖掘文本中的常识推理,采取带有惩戒因子的方式来建模因果关系的必要性强度和充分性强度.但仅依靠语料库中该因果关系对出现的频次计算权重的方法,易受到语料库大小的影响,算法鲁棒性较低,同时某些偶尔发生的原因也可能具有较大影响.本研究提出了基于因果强度的近似原因权重算法,该算法将造成同一结果的不同原因进行聚类,首先计算因果关系对中的因果关系强度作为原因的初始权重分数,然后利用同类原因之间相似度量及其因果强度来补充原因权重,算法流程如下.a. 使用模型对数据集进行因果关系对抽取,将抽取的因果关系对组成一个集合U,U={U1,U2,⋯,Uv}.通过遍历结果统计出不同结果的所有原因,按结果分类成v类,即集合U中有v个不同的结果,Uv为某个结果的不同原因.b. 对于每一个结果,计算所有因果关系对之间的余弦相似度,用Lpq表示,其中p和q用于标识两个因果关系对,由此得到所有因果关系对之间的相似度集合L={L12,L13,⋯,L1n},其中L=pqcos θ=a•b||a||×||b||.c. 计算出原因在语料库中出现的频次p(ic)、结果在语料库中出现的频次p(je)、原因在该结果中的频次p(ic,je),即p(ic)=∑w∈Wf(ic,we)/M;p(je)=∑w∈Wf(wc,je)/M;p(ic,je)=f(ic,je)/N,式中:W为语料库中所有的元组,w为其中任一元组;ic和we分别为原因i和对应原因i的所有结果;wc和je分别为结果j和对应结果j的所有原因;M为语料库的大小;N为包含结果的因果关系对总数;f(∙)为因果关系对出现的频次.d. 利用层次聚类的凝聚算法计算数据之间的相似性,依次对最相近的数据聚类,并反复迭代这一过程.根据计算出的相似度距离L,使用凝聚层次聚类算法将原因分成K类,每一类中的因果关系对的数量不一定相同.e. 以第一类K1为例,假设K1中有m个不同原因,首先计算出因果关系必要性强度Snec和充分性强度Ssuf,再计算总的因果关系强度,即Snec(ic,je)=p(ic|je)pα(ic)=p(ic,je)pα(ic)p(je);Ssuf(ic,je)=p(je|ic)pα(je)=p(ic,je)p(ic)pα(je);S(ic,je)=Snec(ic,je)λSsuf(ic,je)1-λ,式中:α为惩戒因子,用于减轻频次对权重计算结果的影响;λ用于平衡充分必要关系.f. 同时利用上述计算的距离度量L及各个原因的因果强度Sk1q (q∈(1,m))计算最终的原因权重W,W=∑q=1mLijSk1q.2 实验验证2.1 数据集及参数设置常用于因果关系事件抽取任务的数据集有SemEval-2010 task 8[16]和CEC数据集[17]等,主要针对因果核心词之间的因果关系挖掘,没有考虑到因果事件中名词的谓语或状态,不利于充分表达事件的因果关系.本研究通过网上爬取大量的金融领域因果关系文本,进行数据清洗并标注,构建了一份因果关系数据集.该数据集为json格式,包含原始文本及文本中的5个标签字段,分别为原因中的核心名词、原因中的谓语或状态、中心词、结果中的核心名词、结果中的谓语或状态,并包含这5个字段的开始和结束位置.该数据集由1.185 1×104条数据组成,其中只含有一对因果关系的数据有8 306条,含有多对因果关系的数据有3 545条,总共含有2.391 7×104个因果关系对.多对因果和一对因果的文本数据随机分布在数据集中.使用1×104条文本数据对模型进行训练,使用1 851条数据进行测试.模型的学习率设置为5×10-5,pad_size设置为128,层数设置为2.在权重计算过程中,设置α=0.66,λ=0.5,层次聚类用的阈值设置为0.85.2.2 实验指标使用准确度(P)、召回率(R)和F1分数(F)作为模型序列标注的评价指标,具体计算为:P=正确提取的因果关系对提取的因果关系对;R=正确预测的因果关系对所有真实的因果关系对标签,F=2PR/(P+R),式中所有真实的因果关系对标签是指数据集中所有句子中的所有因果关系四元组总和,只有当预测的因果关系元组和标记的因果关系元组完全匹配时,才被认为预测正确.同时以字为单位,分别对四元组的每个元组按字级进行了P,R和F评测,例如:对于图1中句子“近期股市大幅下跌导致股价跌破发行价”,原因中的谓语或状态的真实标签为“大幅下跌”,字数为4个,若模型预测出原因中的谓语或状态为“下跌”,预测内容为真实标签中的连续字段,字数为2个,则对于原因中的谓语或状态这个元组的评价指标P为预测正确的字数除以预测出的字数,即P=2/2,R为预测正确的字数除以标签字数,即R=2/4.2.3 实验结果2.3.1 因果关系抽取实验本研究首次提出了因果关系四元组抽取任务,并对当前自然语言处理任务中的主流模型进行组合,模型一由谷歌BERT+BiLSTM+CRF组成;模型二由BERT-wwm+BiLSTM+CRF组成;模型三由BERT-wwm+CRF组成,即本文模型.实验对比了三种组合模型在数据集上的抽取性能,本文模型取得的性能指标略优于其他模型,同时也证明了BERT-wwm在序列标注问题上的优秀性能.四元组提取性能如表1所示.10.13245/j.hust.220217.T001表1四元组提取性能模型准确度召回率F1分数模型一0.2870.2340.258模型二0.3000.2640.281本文模型0.3240.2790.300同时,为了更加全面地评测本文模型,还测试了因果关系中心词和单个元组的抽取性能及四元组中各元组的提取性能,单元组及中心词提取的性能测试结果如表2所示.表3为按字为单位对四元组各元组提取的性能测试结果.10.13245/j.hust.220217.T002表2单元组及中心词提取性能参数准确度召回率F1分数元组级0.6640.6600.662中心词0.8700.8680.86910.13245/j.hust.220217.T003表 3各元组提取性能参数准确度召回率F1分数原因核心名词0.7880.7280.757原因谓语或状态0.7880.7350.761结果核心名词0.8610.8050.832结果谓语或状态0.8100.8210.815为验证模型对因果核心词提取的性能,在所构建的中文金融数据集上进行二元组实验.分别计算原因及结果中核心名词的F1分数,与文献[7]中所提CSNN模型进行对比,CCE模型原因和结果的F1分数分别为64.3%和69.7%,相比于CSNN模型原因的62.2%和结果的66.7%分别提高了2.1%和3.0%.由上述实验结果分析可知:因果关系四元组抽取的难点在于元组边界难以预测正确,虽然很难使提取出的四元组同时正确,但本研究所提的CCE模型仍在因果关系四元组抽取任务中取得良好表现.2.3.2 原因权重算法实验对提出的权重计算算法进行性能测试和分析.以“猪肉价格暴涨”为例,通过模型提取出该结果对应的原因如下:政府的环保限养,中美贸易战,原料成本上涨,生猪产能不足,生猪成长周期性长,食品价格上涨,非洲猪瘟爆发.通过计算原因间的相似度,结合层次聚类算法对原因进行分类,并采用原因权重计算公式计算原因权重,表4为在不删减的语料库中权重计算结果.10.13245/j.hust.220217.T004表4权重计算结果原因本文算法文献[9]算法政府的环保限养0.1850.139中美贸易战0.1760.128原料成本上涨0.0990.151生猪产能不足0.0670.142生猪成长周期性长0.1890.162食品价格上涨0.1920.090非洲猪瘟爆发0.1690.107为了更好地将因果关系应用于下游任务,根据上述原因权重,构建出具有原因权重的事理图谱如图5所示.为验证算法的鲁棒性,对原始语料库数据分别随机删除10%,20%,30%,40%和50%后,进行了5次实验,对结果进行归一化并求得平均值作为不同原因的权重值,权重计算结果对比如图6所示,图中:η为随机删减率;ξ为权重值.10.13245/j.hust.220217.F005图5事理图谱示意图10.13245/j.hust.220217.F006图6权重计算结果对比在语料库被随机删减30%以后,文献[9]算法均出现较明显的波动,本文算法更加稳定,受语料库数据丢失的影响较小,说明本研究提出的基于因果强度的近似原因权重算法减小了对语料库数据量的依赖,具有更好的鲁棒性和泛化性,能更加真实地反映原因的重要性.3 结语构建了一个中文因果关系抽取模型,由BERT-wwm+CRF组成,在中文因果关系四元组抽取中取得了比其他组合更好的性能.提出的基于因果强度的近似原因权重算法减少了对语料库大小的依赖,具有更好的鲁棒性和泛化性,能更加真实地反映原因的重要性.影响因果关系四元组抽取性能的原因有以下几点:第一,边界信息难以抽取;第二,数据集的大小影响了模型的学习能力;第三,难以抽取因果关系元组间的相互影响信息.后续拟从提高数据集标注质量及挖掘元组间的相互作用信息方面进行改进.

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读