基于CNN并融合注意力机制的充盈态三分句关系识别方法*

2022-01-15 06:24苑林飞孙凯丽肖创业
计算机与数字工程 2021年12期
关键词:复句语义卷积

苑林飞 李 源 胡 泉 孙凯丽 肖创业

(1.华中师范大学计算机学院 武汉 430079)(2.华中师范大学人工智能教育学部 武汉 430079)

1 引言

复句在汉语句法中占有重要地位,汉语句子中近三分之二是复句。复句是由连续的两个或者更多个分句组成的语言整体,它表达了一个完整的语言意图,其特点是前后衔接、语义连贯、各分句间具有一定的信息交互功能。无论从形式还是从意义的角度出发,复句都不是孤立存在的,而是各分句互相关联、相互作用,共同构成语义连贯的句子结构,因此复句逻辑语义关系的分析依赖于汉语复句的关系类型识别。

句子可以根据分句的数量分为简单句和复句。复句是包含两个或两个以上分句的句子,含有两个分句的复句为二分句,含有三个分句的复句为三分句。邢福义[1]提出复句三分系统,根据分句之间的逻辑关系,可以分为因果、并列、转折三大类。根据复句中是否含有关系标记,可以划分为有标复句和无标复句。在有标复句的基础上,吴锋文[2]根据关系标记标示复句逻辑关系能力的强弱,将复句进一步划分为充盈态有标复句和非充盈态有标复句。

目前,只有少数研究专注于汉语复句关系的识别,并且没有学者研究深度学习下的充盈态有标三分句的关系类型识别,为此本文的主要研究对象为充盈态有标三分复句。在传统卷积神经网络的基础上添加注意力机制,使得复句中每个词语拥有不同的权重,从而让神经网络在训练的过程中重点关注某些词语,深度挖掘复句中隐藏的信息,获取句间的语义关联特征。在汉语复句语料库(CCCS)和汉语篇章树库(CDTB)上的实验结果表明,本文提出的方法比以往的方法有明显的性能提升。

2 相关工作

2.1 前人工作

基于传统的语言学方法,胡金柱等[3]指出关系词语对标明复句关系有重要作用,结合词性标记和关系词搭配理论,提出了一种关系词提取算法——正向选择算法。但是并非复句中出现的关系标记都是关系词,为了能够更好地识别真正的关系词,胡金柱等[4]提出了对一种典型的关系标记——位置相邻的关系标记进行自动标记的算法。罗进军[5]提出应从有标复句语表序列提取、表里关联模态构建、有标复句语表序列聚类三个方面来实现有标复句层次关系的自动识别。吴锋文[6]探讨了分句主语指称一致性和谓语语义相关性对分句语义关联的影响,分析复句的句法语义特点,提取了若干条层次关系的判定规则,奠定了复句层次关系识别的基础。杨进才等[7]以二句式非充盈态有标复句为研究对象,结合汉语复句的句法理论、关系标记搭配理论,进行了二句式非充盈态有标复句关系类别的自动标识。

在深度学习领域,Kim[8]在卷积神经网络的输入层使用预训练好的词向量,借助卷积和池化过程对句子的隐藏信息进行提取,通过实验证明了卷积神经网络对文本特征提取效果良好。在杨进才等[9]提出了在卷积神经网络中融合关系词特征的FCNN模型,自动分析并学习两个分句之间语法语义等特征,减少了对语言学知识和语言规则的依赖。

2.2 本文提出目的

充盈态有标三分句的识别可以通过以下方法实现:首先建立关系标记数据库,保存关系标记的组合到关系类别的映射,待数据库完成之后,提取复句中的关系标记,然后查询数据库中的这些关系标记所对应的关系类别。但是这样做需要掌握大量语言学知识,并对相关概念有深入的理解,然后才能发现规律;不但耗时耗力,而且会出现遗漏的情况,因为无法穷尽所有关系标记的组合。最后还需要往数据库中录入数据,增加很多的工作量,降低复句识别的效率。随着近年来网络的发展,数据量的爆炸性增长,以及计算机运算能力的增强,尤其是GPU并行计算能力的大幅度提升,深度学习技术在沉寂一段时间后再次绽放光彩,在很多领域都有很好的应用效果。为此本文提出了一种基于注意力机制的卷积神经网络算法(attention-based CNN)来对复句进行关系类型识别,避免人工录入数据,降低工程难度。

3 基于注意力机制的卷积神经网络

3.1 输入层

在模型的初始阶段,对汉语复句语料库和汉语篇章树库中的复句使用基于依存句法的汉语复句分句划分算法[10]获得的三分句后,使用LTP平台[11]提供的API,获得每个分句的词序列,其中k∈{1,2,3},s是固定的词序列长度。然后使用Glove模型预训练得到的词向量,将词序列变为表达特征矩阵R(k)∈Rs×d,其中d是词向量的维度。

3.2 注意力层

在进行卷积运算时,在原有的表达特征矩阵上添加一层注意力特征矩阵。加入注意力机制的目的是给目标分句中与另外两个分句中词语语义关联度高的词语赋予更高的权重,使卷积神经网络更关注这些词语。每一个分句的注意力特征矩阵都是单独计算,图1展示了三分复句中的第一个分句的注意力特征矩阵计算过程。Attention-based CNN中句子的表达特征矩阵与基础CNN中的相同,每行代表句子中相应词语的词向量。将目标分句中的词语与图右侧其余两个分句中的词语进行匹配,得到注意力矩阵A,这样使得矩阵A中的第i行表示目标分句中第i个词语相对于另外两个分句中各个词语的注意力分布情况,A中第j列的值表示另外两个分句中第j个词语对目标分句中各个词语的注意力。因为矩阵A的行向量是目标分句中每个词语的新特征向量,所以可以将矩阵A视为目标分句的新特征矩阵,因此将这个新的特征矩阵与初始的表达特征矩阵结合起来同时当作卷积运算的输入是有意义的,可以通过将矩阵A转换为图2中与目标分句的表达特征矩阵规模相同的灰色矩阵的方法来实现这一点。重复以上步骤三次之后,每个分句都有两个特征矩阵。

图1 基于注意力机制的卷积神经网络框架模型

图2 注意力矩阵计算示意图

Λ(k)∈R2s×d表示第{1,2,3}/{k}个分句的表达特征矩阵的拼接,例如Λ(1)代表第两个分句的表达特征矩阵P(2)和第3个分句的表达特征矩阵P(2)的拼接,如式(1)所示。

通过以下方法定义注意力矩阵A(k)∈Rs×2s(k∈{1,2,3}):

match-score函数很多种实现方式。通过实验发现1/(1+|x-y|)(|·|表示欧式距离)的效果最好。

在得到注意力矩阵A(k)后,可以通过以下方式得到分句k注意力特征矩阵Q(k):

其中W(k)为随机生成的可训练矩阵。

3.3 卷积层

通过注意力层得到了每个分句的注意力特征矩阵,将三个分句的表达特征矩阵Q(1)、Q(2)、Q(3)拼接在一起得到复句的表达特征矩阵Q∈R3s×d:

同理得到复句的表达特征矩阵P∈R3s×d。将P和Q一同输入到卷积层,此时卷积层的输入通道数为2。卷积核的大小为w,则由复句的部分表达特征向量pi-w+1,…,pi的和注意力特征向量qi-w+1,…,qi组成的拼接ci∈R2×w×d(0s时,ci被设置为0向量。在此基础上,使用卷积核w∈R2×w×d,得到更高层次的特征表达:

其中f为ReLU函数,b为偏置参数。

3.4 池化层

池化层使用1-Max方法:在使用卷积核计算得到的特征中遍历寻找最重要的特征。然后将这些通过不同的卷积核得到的显著特征拼接起来的得到一个最终的深层次的语义特征。

3.5 全连接层

得到复句的语义特征向量后,输入全连接层,并使用Softmax函数计算每个类别的概率,最后选择概率最大分类当作最终结果。

4 实验结果与分析

4.1 实验数据集

本文实验使用的数据集为汉语复句语料库和汉语篇章树库[12]。在这两个语料库上使用基于依存句法的汉语复句分句划分算法,筛选语料库中的三分句,然后在此基础上人工筛选充盈态有标复句并标记复句所属的种类。经过筛选后的复句组成充盈态有标三分句语料库(Corpus of Chinese Saturated Compound Sentence,CCSCS)共有16786条复句,数据分布如表1所示。

表1 数据分布统计表

4.2 实验参数

对复句进行词嵌入时,使用在中文维基百科语料库上预训练好的词向量,其维度为100。另外,本文将每个分句的词序列长度设置为固定值16,若分句长度不足16,则模型在预处理阶段该分句进行扩充操作。

为了避免出现过拟合现象,在卷积神经网络中使用了dropout机制,其值设置为0.5。同时实验中的目标函数中加入L2正则化项,用来提高模型的性能,并使用反向传播算法以及随机梯度下降优化算法对神经网络中的参数进行修正。其他参数随机初始化。

4.3 实验结果与分析

将本文提出的方法与其他六种复句关系类别识别方法比较,以此评估模型的性能。第一种,基于统计学理论的关系词判定算法[14];第二种,Huang HH等[15]提出决策树算法(C5.0);第三种,TextCNN[8],根据Kim等的论文提出的卷积神经网络模型,基础的文本处理卷积神经网络。第四种,TextRNN,基于RNN的文本分类模型;第五种,Fast-Text,Facebook于2016年开源的一个词向量计算和文本分类工具;第六种,BiLSTM[13],LSTM的改进版,解决了LSTM无法编码从后往前的信息,可以更好地捕捉双向语义依赖。

表2展示了基于注意力机制的卷积神经网络与以上基准模型的性能比较,其中attention-based CNN(1)、(2)、(3)的区别是match-score函数不同。

由以上数据可以看出,本文提出的模型的效果不但显著高于基于传统的机器学习统计算法,而且无需人工添加各种规则,省去了学习语言学相关知识的成本。同时相较于已有的深度学习模型,效果也有明显改善。

分析实验结果,在传统方法中,模型仅利用了句子的语法特征而未考虑到句子的语义信息以及分句间的关联性。而深度神经网络通过使用高维稠密的词向量表示句子,词向量本身蕴含了丰富的语义信息,这为模型的学习提供了有用的信息。CNN模型将很多类型不同的复句判定为相同的类型,因为其没有针对特定的词语提取更多的有效的特征信息,所以模型无法准确识别。基于注意力机制的卷积神经网相较于基础卷积神经网络效果提升了5%,说明注意力机制能使得模型在训练过程中更加关注特定的词语,从而更好地识别复句的关系类型,验证了注意力机制在汉语复句分类任务中的有效性。

汉语复句分类的任务,不仅是要判断复句之间的逻辑关系,还要判断每一个分句中各个词语对于整个复句的影响大小。为了解决这个问题,提取复句中隐藏的重要信息,本文提出的带有注意力机制的卷积神经网络通过学习复句中蕴含的信息,为每个词语分配不同的注意力值,自动识别句与句之间逻辑关系。为了直观地显示复句中每个词语的注意力分布情况,现将例句“①即使路上会遇到很多困难,②只要我们坚持到底,③就必将走向终点”中每个词语的注意力权重输出,如图3所示。

在图3中,注意力权重越大,颜色越深,反之越浅。最上面的一行代表分句①的注意力矩阵,由图可知,关系标记“即使”的注意力权重最大,说明这个词对卷积的结果影响较大。下方的矩阵每一列代表分句①中的一个词语,每一行代表分句②和分句③中的词语。矩阵中元素颜色的深浅代表当前元素所在行对应的词语和所在列对应的词语的相关度词,例如分句①中的“困难”和分句②和分句③中的“坚持”的相关度很大,从语义上来说这种相关度是合理的。

5 结语

本文在传统的卷积神经网络的基础上添加了注意力机制,赋予复句中词语不同的权重,使得神经网络在训练的过程中重点关注某些词语,深度挖掘复句中隐藏的信息。通过实验结果表明,本文提出的方法对比以往的方法有明显的提升。

在未来的工作中,将对汉语复句更细颗粒度的关系划分进行研究,例如,在已经将句子识别为并列类复句的基础上,看其属于并列、连贯、递进、选择中的哪一类。

猜你喜欢
复句语义卷积
真实场景水下语义分割方法及数据集
连动结构“VP1来VP2”的复句化及新兴小句连接词“来”的形成
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
汉语复句学说的源流
哈汉复合句对比
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
“吃+NP”的语义生成机制研究
情感形容词‘うっとうしい’、‘わずらわしい’、‘めんどうくさい’的语义分析