结合注意力机制与图卷积网络的汉语复句关系识别
2023-01-18陈佳杰
郑 浩,李 源,沈 威, 陈佳杰
(1. 华中师范大学 计算机学院,湖北 武汉 430079;2. 华中师范大学 语言与语言教育研究中心,湖北 武汉 430079)
0 引言
汉语复句的关系识别是判断句子语义关系的类别倾向从而区分关系类别,如因果关系、并列关系与转折关系等,是自然语言处理任务中的核心基础任务之一。该任务在篇章语义解析以及机器阅读理解、关系抽取等下游任务中都有着非常重要的作用[1]。
复句的结构较为复杂,是由连续的两个及两个以上的分句所构成的语言整体,从而实现完整意图的表达,其特点是前后衔接、语义连贯、各分句间具有一定的信息交互功能。从形式和意义的角度看,复句都不是孤立存在的,而是由各分句单元相互关联、相互作用,共同构成的语义连贯的句子结构。复句除了本身的语义之外,还与分句之间的逻辑语义有关[2]。因此,理解复句内各语言组件之间的关联和信息交互,对复句整体理解和分析结果具有很大帮助。
关系连接词对复句的句法关联和语义关联具有重要的标示功能,是复句自动分析的形式标记[3]。根据是否含有显式连接词,复句可分为显式复句和隐式复句,其中显式复句可由连接词直接判定分句单元间的语义关系。如例1为显式复句,由连接词“既,又”连接各分句,分句2与分句3都是分句1的补充说明,即为并列关系类型。而例2中由于缺乏直观明确的连接词线索,难以被直接识别,但结合上下文以及句子结构等信息,可间接地推断出该复句的关系类型为并列关系。
例1: 共产主义道德的形成,既有客观的物质基础,又有主观的思想条件。
[复句关系](显式并列关系)
例2: 共产主义道德的形成,有客观的物质基础,有主观的思想条件。
[复句关系](隐式并列关系)
隐式复句关系识别缺少明确的连接词,需要从语义、句法及上下文特征等隐含的信息中得到判定结果,若要实现该类复句的自动识别,就需要从复句内获取上下文语义、句法以及交互信息等间接地进行分析得到判定结果。另外,上述例子属于复句的三分句结构,即包含三个子句,它相较一般的二分句而言句法结构更为复杂,且存在多个分句句间语义干扰,以及由分句跨度大引起的语义跳转等问题。因此,对于该类复句的语义分析研究难度更大且更具挑战性,目前尚未存在对该类复句的研究。本文将专注于隐式复句三分句的关系识别研究。
传统特征工程和机器学习[4-5]的方法,如从复句中抽取主语、谓语等语法特征和自动句法树的句法、词法、位置特征等方法依赖人工的标注以及总结,需要耗费大量的人力与时间,随着语料资源的扩充,模型的可拓展性较差。此外,容易引发以下问题: ①信息缺失,如词袋模型表示复句时,将句子映射到无序的单词集合中,完全丢失了句子内部的单词序列信息; ②特征稀疏,使用词袋模型时,不同的词汇作为完全不同的特征时,词汇在训练数据中出现次数较少,在词表中呈现稀疏化[6]; ③特征有限,利用人工构建的特征向量,特征数量较少并且维度较低,复句关系识别性能不稳定。
近年来,深度神经网络在语义关系识别、语义分析等相关任务中得到了广泛应用,性能表现优越。主要包括以下几种方法: ①基础神经网络,如单一的卷积神经网络、循环神经网络等,将复句映射为低维稠密的向量表示后再进行网络训练,以此计算并识别复句内各分句间的语义关系[7-9]。此类方法大多将复句作为整体进行构建模型,没有注意各分句单元之间的信息交互特征; ②利用注意力机制捕获复句中分句的重要信息[10],以辅助模型对复句的语义理解[11]。这类方法相比之前的基础神经网络模型能够学习更多的关键信息[12],但仍未考虑各分句单元间的交互信息; ③基于复杂混合神经网络[13]的模型则是利用不同功能的网络结构或其他门控网络、机器学习等方法共同联合建模,以挖掘各分句单元间的深层语义交互特征,其缺点是没有考虑到复句各成分间的结构与交互,未能有效抽取复句各成分间的交互信息。
针对识别过程中语义信息的关联程度以及上下文信息的有效获取,本文使用BERT预训练模型获取词向量,利用Bi-LSTM将每个句子编码为包含上下文信息的向量,通过注意力机制得到每个句子间词嵌入的权重矩阵,并利用图卷积网络获取更深层次的语义信息,以此达到关系识别的目的。本文主要贡献如下:
(1) 将BERT模型作为输入层,以获取词嵌入。该模型能充分利用上下文之间的字词关系,从而有效提取文本特征,提高文本处理准确率。
(2) 将Bi-LSTM注意力机制与GCN相结合,对汉语复句展开关系识别研究。通过Bi-LSTM获取的双向词向量与注意力机制获取的权重矩阵构建图结构,利用GCN捕获图结构的各句子间的交互信息特征,使得模型能够学习到更好的图表示。
(3) 实验结果表明,本文方法能够学习到复句的全局语义信息。通过构建的图结构充分挖掘句中各成分间的信息交互特征,经实验验证,在汉语复句语料库(CCCS)和清华汉语树库(TCT)两大基准数据集中均取得了较之前方法更好的效果。
1 相关工作
汉语复句的关系识别研究是自然语言处理的基础研究工作。自2005年发布人工标注的汉语复句专用语料库(CCCS)以来,大量研究工作者开始进行汉语复句的相关研究工作,研究内容包括从传统机器学习方法到深度神经网络模型。由于语法结构复杂、表达形式多样化以及语料量不够充分,汉语复句的关系识别任务难度较大, 同时相比英文而言,汉语关系识别的研究相对较少。另外,由于隐式复句缺少句间连接词线索,相对显式复句其关系识别更具挑战性。
1.1 传统方法
传统方法包括概率统计方法和机器学习方法,它们主要集中在特征工程建设和分类算法上。例如,周文翠等[14]基于语言学知识,利用复句的主语、谓语、方位词等构建特征表示,并使用支持向量机(SVM)学习算法对分句间并列关系进行识别。洪鹿平等[15]将CRF模型运用到复句关系的识别中。吴云芳等[16]提出一种无指导的方法,通过对句子语义相似度和结构相似度计算识别复句的并列关系。但是,该方法未能较好地融合结构信息,只能计算逗号两侧相邻的二分句,无法识别包含多分句的复句并列关系。杨进才等[17]在吴的工作基础上,依据句法理论、关系词搭配理论利用语义相关度算法对复句二分句进行了关系识别以改善其性能。此类方法的汉语复句关系识别,使用的语言学特征为人工标注,存在特征表示不够充分、语义信息的学习不够丰富等问题,相比使用深度神经网络的方法,该方法不能表现单词间的关联信息。
1.2 深度学习方法
深度学习方法在中英文文本的句间关系研究中做出了许多贡献,其研究思路主要分两类: ①词嵌入和句子表示; ②深度神经网络构建。单词嵌入在关系识别以及其他深度学习相关任务中起到了积极作用。Hashimoto等[18]提出一种新颖的词嵌入学习方法,通过在大型未标记的语料库上使用词汇关系特定特征来预测单词, 以此构建特征向量建立一个关系分类模型。然而,常规的单词嵌入未能考虑到字符级别的形态信息,导致无法处理一些词语的关系特征不充分问题。
深度神经网络模型,主要由卷积神经网络(CNN)、循环神经网络(RNN)及附加的外部功能网络机制如注意力机制、门控机制等构成。Kim[19]首次将CNN用于句子分类任务,并在多项文本分类任务中取得了较大的改进,由此开启了从CNNs在计算机视觉领域的应用向自然语言处理中句子层级研究的转变。由于CNNs只能捕获到句子的局部语义特征,缺乏学习时间特征的能力,无法够捕获长距离语义信息。为此,Zhang和Wang提出了一个基于RNN的模型架构以实现关系识别[20],经验证明,基于RNN的模型比基于CNN的方法能够达到更好的效果,对于伴随着长距离关系的句子,RNN模型具有明显的优势。尽管RNN网络实现了访问过去和将来的上下文信息,但当两个时间步间缺口较大时,容易引起梯度消失和爆炸问题。Hochreiter和Schmidhuber提出长短时记忆LSTM单元,一种特殊的RNN网络结构[21],用来克服梯度消失的问题。Zhang等将LSTM与CNN相联合提出一种新的模型结构BiLSTM-CNN,实现对句子语义关系的识别[22]。在以上工作的基础上,Zhou等提出了一种基于注意力机制的双向长短时记忆网络(Att-BLSTM)[23],此网络模型可以捕捉句中任意位置重要的语义信息,从而提升模型的识别性能。CoNLL 2016[24]中介绍了许多传统方法和深度学习方法用于关系识别任务的模型,实验结果表明,传统方法和深度学习方法都是有效的且被广泛使用,但它们主要侧重于捕获连续单词的序列信息,无法获取非连续和存在跨度的单词间的关联交互信息。
1.3 图卷积神经网络
目前许多研究已经尝试使用图卷积神经网络(GCN)处理含有丰富关系的图数据,将卷积操作从网格数据延伸到了图数据。早在2016年Kipf和Welling[25]针对分类任务提出了一个简易的图卷积神经网络模型,该模型在多个基准数据集中取得了最好的效果。与此同时,GCNs也被应用于NLP的其他研究任务,如语义角色标注[26]、机器翻译[27]、文本分类[28]。它们将文档或句子视为一个图结构,单词作为节点,并依靠节点之间的关系构建图结构。这些研究表明,GCN能够有效捕获节点之间的关系。受到这些研究的启发,在本文的工作中,通过BERT获取词向量,在构建图时,本文将句子的位置表示视为节点,将句子间各位置表示连接作为边,两个连接节点经过注意力机制获取的权重作为图的权重矩阵,实现GCN捕获各句子间的语义的交互信息,然后通过卷积操作获取各邻节点的局部图结构和特征,辅助识别复句的语义关系倾向。
2 模型介绍
本文根据邢福义[29]的复句三分系统,将汉语复句语义关系分成因果关系、并列关系和转折关系三大类别。如图1所示,本文模型由以下5部分组成: ①数据清洗,去除句子中特殊符号等无关信息,进行格式统一。②编码层,用BERT模型进行中文词向量获取,由Bi-LSTM获取句子位置表示的双向向量,提取句子上下文语义信息。③注意力机制层,将每个位置表示输入到注意力机制层,获取句间权重,作为下一步图的邻接矩阵。④图卷积层,将具有上下文信息的隐向量与权重矩阵输入到一层GCN网络,获取句子节点间更深层次的交互信息特征。⑤分类,通过全连接层和softmax函数获得复句所属关系的概率分布。
图1 Att-BLSTM与GCN相结合模型
2.1 预处理
文本信息中可能存在特殊字符等影响识别过程的一些噪声,在最初阶段,首先要清除文本中所含的特殊符号。数据的分布式表示是构建神经网络的前提,它在向量空间中能够帮助算法学习,以实现更好的性能表现。这种数据的分布式表示被称为词嵌入空间。高质量的词嵌入表示能够辅助模型捕获精确和丰富的语法和语义信息。因此,本文采用中文预训练的基于全词掩码训练的双向编码表示模型(BERT-wwm)[30]获得各单词对应的固定维度的词嵌入。
2.2 编码层
本文将每条复句中的各个单词进行向量表示x∈Rd,d是词向量的维度。每条复句的向量表示为:X={x1,x2,…,xn},这里xi∈Rd(i=1,…,n)表示复句X中的第i个单词,n为句子长度。
本文将句子表示X={x1,x2,…,xn}作为Bi-LSTM网络层的输入层。其中,Bi-LSTM网络由前向和反向的LSTM单元组成,对句子建模时,分别对句子进行前后编码,捕获句子过去和未来的上下文信息。LSTM主要由三个部件组成: 输入门、遗忘门和输出门,这里对LSTM网络做一个简单的介绍,给定一个变成序列S=(x1,x2,…,xt),xt表示第t个单词的词嵌入,第t步的ht的计算步骤如式(1)~式(5)所示。
2.3 注意力层
多头注意力允许模型共同关注来自不同位置的不同表示子空间的信息[31]。本文使用的多头注意力机制中包含query、key和value三个部分。在本文模型中,三个部分的值都是每条复句编码之后的特征向量,向量表示为X={h1,h2,…,hn}。首先将代表句子参数的特征向量的query、key和value的三个矩阵通过线性变换Q=WQΧ,K=WKΧ,V=WVΧ,(WQ∈Rd×d,WK∈Rd×d,WV∈Rd×d,是可训练的参数,在模型开始训练时进行线性初始化,之后参与模型训练)得到Q、K、V三个向量,注意力计算如式(6)、式(7)所示。
其中,dk是缩放因子。为了并行计算,可以在一组queries上计算注意力函数,将多个queries堆叠成Q,同理keys和values也被堆叠成K和V。这为一次放缩点积操作,需要做h次,每一次算一个头,不共享参数,然后将h次的放缩点积操作结果进行拼接,再进行一次线性变换得到的值作为多头注意力的结果,如式(8)所示。
MHead=concat(headi,…,headh)W
(8)
其中,W是可学习的参数矩阵。多头注意力特点在于进行h次计算,由于加入位置信息和多头注意力机制,因此在生成节点时不仅包含参数顺序,并且包含相关信息特征,增加了有用的信息,最终得到节点的向量表示{h1,h2,…,ht}如式(9)所示。
(9)
2.4 图卷积层
本文采用GCN网络进行建模,GCN是一种可以对图的结构进行编码的多层神经网络。它通过沿加权边吸收相邻节点的信息,诱导节点表示。其中一层GCN只编码关于近邻的信息。这样,一个参数中的节点就会自动从另一个参数中挑选出节点的语义信息,从而进行简洁的交互过程。接下来,本文将介绍图卷积的细节。
图2 图结构示例
(10)
2.5 Fully connected和语义关系识别层
3 实验
3.1 实验数据
本文所用数据集是从汉语复句语料库(CCCS)和汉语篇章树库(CDTB)两大语料库中筛选的三分复句。汉语复句语料库(CCCS)中复句主要来源为《人民日报》和《长江日报》,收录共658 447条各种句式的现代汉语复句[32];汉语篇章树库(CDTB)[33]是根据语义而不是句法基础定义标注句子标签,包含显式和隐式复句关系类型。
本文分别在CCCS和CDTB中选出13 246条和6 745条本文实验所需的三分句结构复句。复句的关系类别由因果关系、并列关系、转折关系构成,具体分布情况如表1所示。
表1 实验数据统计
3.2 实验设置
本文对复句进行词嵌入表示时使用的预训练的词向量表示,是由讯飞与哈工大实验室在Google通过大型语料库Wikipedia训练的Bert模型改进得到的BERT-wwm预训练模型,此模型可以学习词的语义信息,获得具有语义信息的词向量。本文将单词维度设置768维,复句长度设为固定值,取语料库中句子的最大长度为n=82,若句子长度不够82,则模型在预处理阶段对该句子向量的最后进行填充0的补齐操作。在网络模型训练中,本文将Bi-LSTM网络的隐藏层维度设为180,并且在GCN网络的卷积层中,将GCN设为L=4的网络结构。在模型学习过程中,学习率LR设为0.000 01。另外,还在网络结构中引入dropout策略避免过拟合现象,并将其值设为dropout=0.5。本文采用8: 2的比例将数据集随机划分为训练集和测试集。本文batch_size大小设为32,训练的epoch设为200。
3.3 模型优化
本文提出的模型,在训练过程中采用ADam优化器并使用梯度下降的方法优化网络模型中的每个mini-batches。另外,反向传播算法可以在迭代过程中更新模型参数。模型的目标函数即损失函数为交叉熵函数,以此定义预测标签与真实标签之间的损失。具体的计算如式(13)所示。
(13)
其中,Ti是复句真实标签的one-hot编码表示,而yi是softmax函数预测得到的每个类别的概率值,m为复句的标签类别个数。本文在Loss函数中引入了L2的正则化项,以此来避免训练过程中的过拟合,上式中,λ是模型的一个超参数,θ是W(s)、b(s)等其他模型中所有可训练的超参数。
4 实验结果和分析
4.1 Baseline模型
为了验证我们所提模型的性能,本文选择几个关系分类和相似任务的算法作为baseline模型方法进行对比。
SVM在这个方法中,复句的主语、谓语、方位词等语法词汇特征被利用,然后使用传统的分类器SVM对汉语复句的关系识别展开研究。
CNN我们采用CNN-non-static方法,使用预训练的单词嵌入进行关系识别,利用一个卷积层与池化操作实现关系分类。
LSTM-CNN该方法中,使用循环神经网络与卷积神经网络相联合的方式对句子建模提取语义特征,然后利用两层前向传播网络实现句子的分类任务。我们将此方法应用于复句的关系分类中,并使用预训练的词嵌入。
SGCN该方法首先通过Bi-LSTM构建句子的语义相互作用、相互关联的图结构,然后使用GCN卷积操作提取图结构的深层语义关联特征,从而实现隐式句子的关系识别。我们将该方法应用于复句的关系识别中,建模初阶段使用预处理的单词嵌入。
4.2 实验结果和分析
以上baseline模型中,包括传统机器学习模型和最新的神经网络框架。与目前最好的汉语复句关系分类算法和最佳性能表现的句子分类算法对比,本文的模型表现更优。实验结果如表2所示。
从表2可以看出,本文提出的结合注意力机制与图卷积网络相结合的模型与传统机器学习模型SVM相比,在去除连接词和包含显示连接词的关系识别中,正确率分别提升了约4%和7%。在传统方法中,模型仅利用了句子的语法特征而未考虑句子的语义信息及句间的关联性。而深度神经网络模型使用一种蕴含丰富语义信息的词向量表示句子,这种词向量的使用为模型学习提供了更多有用的信息。本文提出的模型通过使用BERT预训练模型更好的得到了句子间具有语义信息的词向量。
表2 实验对比结果 (单位: %)
相较于先前的深度学习模型,本文提出的模型的性能有明显的改善,包含交互信息的GCN网络模型能够通过卷积操作获得更有价值的语义关联信息,它体现了分句间各单词的交互关联特征。在SGCN模型中,通过使用Bi-LSTM网络得到的隐藏层向量构建句子的图表示,利用GCN网络抽取图中各节点间的交互特征实现分类。该过程虽能很好地捕获句子的语义信息,但获取的单词间的交互信息不够。与SGCN相比,本文使用注意力机制获得单词间动态交互的矩阵表示,为在更好构建句子的图表示的同时带来更多的句子间的关联信息,使模型具有更好的识别效果。
与CNN和LSTM-CNN相比,Bi-LSTM和GCN的结合可以更加有效地得到上下文的语义信息。尽管Bi-LSTM能够捕获到序列的先前以及未来的依赖信息,但其结构是定向的,而句中各单词间的交互是非定向的。除此以外,LSTM无法对复杂的图形进行建模。而GCN是非定向的,且能够构建复杂的图形结构,因此使用GCN为句中单词间的交互关系建模更合适。
5 总结与展望
本文提出了一个结合注意力机制与图卷积网络的汉语复句关系识别模型。实验结果展示,与多项关系分类任务的方法对比,该模型都达到了目前最好的性能表现。将该模型与之前的模型对比,在编码阶段通过Bi-LSTM与注意力机制获得复句的隐表示,模型在训练过程中能够更好地学习到复句的上下文语义信息,并捕获到句子间的语义交互特征,训练过程使用注意力机制与图卷积网络进行训练,能够更好地将各句子间的语义交互信息进行捕获学习。未来的工作中,我们将继续探索对汉语复句的关系识别效果更好的图表示结构,同时继续对汉语复句细粒度的关系进行分类研究,将不局限于因果语义关系、并列语义关系、转折语义关系三大类别。