一种基于图神经网络的方面级情感分析方法

文档序号:27047351发布日期:2021-10-24 07:28阅读:357来源:国知局
一种基于图神经网络的方面级情感分析方法

1.本发明属于数据自然语言处理领域,涉及一种基于图神经网络的方面级情感分析方法。


背景技术:

2.方面级情感分析也叫基于方面的情感分析(absa),是一种细粒度的文本情感分析任务,它的目标是预测给定方面在其所在文本中表达的情感极性,其中“方面”可以是实体或实体的属性,文本可以是评论、推文等,情感极性一般分为积极(正向)、消极(负向)和中立3种。早期的工作主要集中在提取一组特征来训练情感分类器,这些方法包括基于规则的方法和基于统计的方法,它们依赖于劳动强度大的特征工程。近年来,深度神经网络方法可以生成没有手工特征的句子密集向量,向量是低维的词表示形式,保留了丰富的语义信息,因此受到越来越多的关注。
3.目前在处理方面级情感分析任务时通常都是使用深度学习的方法,比如:2014年,kim等人首次将cnn应用于情感分析任务,利用预训练后的词向量与cnn结合,得到文本表示进行分类。2015年,tang等人提出利用长短期记忆网络(lstm)对句子之间的情感关系进行建模,解决了梯度消失和梯度爆炸缺陷。2016年,tang等人提出td

lstm模型,首先建模了上下文词和方面目标词之间的语义相关系;同年,提出的memnet模型,把记忆网络引入了方面级情感分析任务中,将上下文视为外部记忆,并从多跳架构中受益。2017年,ma等人提出了一种交互式注意网络(ian),使用两个注意力网络来交互式地检测目标描述的重要单词和整个上下文的重要单词。2018年,xue等人提出一种基于tanh

relu门控制机制的cnn模型(gcae),摆脱了rnn和attention等耗时耗内存的网络结构,同时门机制又很好的利用了方面词的信息,使得模型的精度不减反增。2019年,zhang等人将图卷积网络(gcn)应用到了absa中,gcn能解决attention和cnn不能关注长距离范围信息的缺点。2020年,zhang等人提出的了目标导向的结构化注意力网络(tg

san),通过多层的注意力机制最终提取出文本的深层语意信息,取得了不错的效果。但是,上述及现有方法在处理absa任务时会存在以下缺陷:
4.(1)大部分的方法都是基于注意力机制和卷积神经网络的模型。由于这两类模型只能处理规则的欧几里得式的数据,不能处理网状结构,不擅长捕获长距离的句法依赖信息,所以不能充分的考虑句法依存关系对于情感极性判断的影响。
5.(2)少部分基于图神经网络的方法的设计合理性不足,无法充分利用文本的句法关系,且方面目标词和上下文的语义交互不足,取得的效果不佳。
6.(3)当前的方法效果较好的模型设计较复杂,模型设计简单的效果不佳。
7.因此,亟需一种能同时解决上述各种缺陷的方面级情感分析方法。


技术实现要素:

8.有鉴于此,本发明的目的在于提供一种基于图神经网络的方面级情感分析方法,
改进基于注意力机制的模型无法捕获长距离句法依赖关系的缺点,提升模型识别长距离句法关系的能力;改进基于图神经网络模型的方面目标词和上下文的语义交互不足的缺点,增强句子的语义表达。
9.为达到上述目的,本发明提供如下技术方案:
10.一种基于图神经网络的方面级情感分析方法,具体包括以下步骤:
11.s1:特征输入阶段:使用bert预训练语言模型进行词向量映射,再进行一次bilstm层的计算,得到含有上下文语义信息表示的隐藏特征;
12.s2:语义特征提取阶段:采用多层的多跳注意力图神经网络magna进行语义特征提取;
13.s3:方面目标词和上下文语义交互阶段:将步骤s2提取到的特征进行一个遮蔽操作,然后与经过bilstm层的隐藏特征进行一个点积注意力操作,关注那些对目标重要的信息而忽略对于目标不重要的信息,充分进行语义提取,以到达提取出关键信息的作用;
14.s4:标签预测阶段:首先对步骤s3中得到的特征进行一个最大池化操作以提取出最突出的语义特征,接着进行一个线性变换降维后再softmax操作得到最后的预测结果表示。
15.进一步,步骤s1中,参与计算的词向量是以高维的数字向量来代表一句话中的每一个标记(token)。
16.进一步,步骤s2中,采用多层的多跳注意力图神经网络magna进行语义特征提取,具体包括:使用spacy进行依存句法分析得到依存句法分析树,把单跳连接的节点和连接关系得到的邻接矩阵am保存为本地文件;同时引入局部位置信息,对于方面目标词前后三个单词范围内的词使用1表示,超过这个范围的词使用0表示,得到局部位置权重矩阵lm,将邻接矩阵am和局部权重矩阵lm相加,得到带有局部位置权重信息的邻接矩阵m,用于语义特征计算,magna能够利用单跳连接信息生成为2跳连接信息;通过多层的magna操作后,可以得到丰富的基于依存句法结构的多跳连接信息,丰富的上下文语义的表达;同时在每层magna之间都通过一个线性变换操作来降维度,进行一个dropout操作防止过拟合,最后再进行一个残差连接。
17.进一步,所述magna包括注意力计算模块、多头注意力扩散模块,两个归一化层、前馈层和两个残余连接模块。
18.进一步,所述注意力计算模块的计算过程包括:给点图v表示节点的集合,ε表示边的集合,计算一条边(v
i
,r
k
,v
j
)的注意力得分表达式为:
[0019][0020]
其中,是第l层可训练的参数,d
(l)
和d
r
分别表示编码维度,v
i
和v
j
表示点,r
k
表示边,l=1,

,l;根据图中边的信息,可以得到一个注意力得分矩阵s
(l)
,表达式为:
[0021][0022]
然后,运用逐行的softmax计算在l层融合了节点i和j的注意力值
[0023]
进一步,利用所述多头注意力扩散模块计算多跳邻居的多头注意力扩散,具体包括:利用注意力矩阵a的幂,通过图扩散来计算多跳邻居的注意分数如下:
[0024][0025]
其中,θ
i
表示是第i个头的注意力参数,w
o
表示权重矩阵,mh表示多头数,h
(l)
、分别表示中间计算的状态;
[0026]
然后进行层规范化和残差连接和层规范化其中,表示权重矩阵。
[0027]
进一步,每层magna的计算表达式为:
[0028][0029]
其中,为可训练的权重矩阵,就是线性变换降维,表示偏差,d
h
表示隐藏状态维度,σ表示非线性激活函数,d={d
vi
},v
i
∈v,其中表示与节点i相邻的节点j的度数m
ij
之和。
[0030]
进一步,步骤s4中,在训练阶段使用交叉熵计算真实标签和预测标签之间的损失值,在测试阶段根据预测结果表示来做模型方法的效果评价。
[0031]
本发明的有益效果在于:
[0032]
(1)本发明通过语言的依存句法关系,将图神经网络应用于方面目标和上下文语境的交互计算;结合图神经网络来处理不规则的句法结构信息,比单纯使用注意力机制和卷积神经网络的模型,更能捕获长距离范围的句法信息。
[0033]
(2)本发明将局部位置信息加入给邻接矩阵用于语义计算,一定程度上规避了依存句法分析器潜在的句法分析错误,同时丰富了方面目标的语义表达。
[0034]
(3)本发明设计的模型在双向长短期记忆模型编码的基础上,引入多跳注意力图神经网络(magna)对文本进行建模,提取出了含有深层语义的特征信息表示,使用点乘注意力机制进行语义交互,以找出对方面极性判断有影响的上下文信息。
[0035]
(4)本发明引入了残差连接和最大池化操作,进一步提升了模型的效果。
[0036]
本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。
附图说明
[0037]
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作优选的详细描述,其中:
[0038]
图1为基于图神经网络的方面级情感分析方法的流程框图。
具体实施方式
[0039]
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
[0040]
其中,附图仅用于示例性说明,表示的仅是示意图,而非实物图,不能理解为对本发明的限制;为了更好地说明本发明的实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;对本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
[0041]
本发明实施例的附图中相同或相似的标号对应相同或相似的部件;在本发明的描述中,需要理解的是,若有术语“上”、“下”、“左”、“右”、“前”、“后”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此附图中描述位置关系的用语仅用于示例性说明,不能理解为对本发明的限制,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语的具体含义。
[0042]
请参阅图1,为一种基于图神经网络的方面级情感分析方法,主要分为四个部分,分别是特征输入部分,语义特征提取部分,方面目标词和上下文语义交互部分,以及标签预测部分,详细信息如下:
[0043]
(1)在特征输入部分,主要是以高维的数字向量,代表一句话中的每一个标记(token),而最终参与计算的是这些高维向量,这里并没有使用常规的glove词嵌入进行词向量映射,而是使用bert预训练语言模型进行词向量映射,bert相对glove进行词向量表示的维度更大,所含语义信息更加丰富,这里再进行一次bilstm层的计算,得到含有上下文语义信息表示的隐藏特征。
[0044]
(2)语义特征提取部分,首次将多跳注意力图神经网络(magna)引入absa任务中,该部分采用的是多层的magna进行语义特征提取,我们使用spacy进行依存句法分析得到依存句法分析树,把单跳连接的节点和连接关系得到的邻接矩阵am保存为本地文件,同时引入局部位置信息,对于方面目标词前后三个单词范围内的词使用1表示,超过这个范围的词使用0表示,得到局部位置权重矩阵lm,将邻接矩阵am和局部权重矩阵lm相加,得到带有局部位置权重信息的邻接矩阵m,用于语义特征计算,magna能够利用单跳连接信息生成为2跳连接信息,通过多层的magna操作后,可以得到丰富的基于依存句法结构的多跳连接信息,丰富的上下文语义的表达。同时在每层magna之间都通过一个线性变换操作来降维度,进行一个dropout操作防止过拟合,最后再进行一个残差连接。
[0045]
(3)方面目标词和上下文语义交互部分,将(2)得到的特征进行一个遮蔽操作后,与经过bilstm层的隐藏特征进行一个点积注意力操作,关注那些对目标重要的信息而忽略对于目标不重要的信息,充分进行语义提取,已到达提取出关键信息的作用。
[0046]
(4)标签预测部分,先对(3)中得到的特征进行一个最大池化操作以提取出最突出的语义特征,接着进行一个线性变换降维后再softmax操作得到最后的预测结果表示,在训
练阶段会使用交叉熵计算真实标签和预测标签之间的损失值,在测试阶段就会根据预测结果表示来做模型方法的效果评价。
[0047]
如图1所示,本发明方法的实施过程包括如下具体步骤:
[0048]
步骤1:对于原始文本进行依存句法分析得到依存句法树,根据依存句法树的连接关系,这里使用了单跳连接,生成邻接矩阵信息am,同时引入局部位置信息,对于方面目标词前后三个单词范围内的词使用1表示,超过这个范围的词使用0表示,得到局部位置权重矩阵lm,分别对am和lm保存文件;同时使用bert预训练语言模型对原始文本进行词向量映射,所以词对应的词嵌入其中d
emb
表示词向量维度,值为768。
[0049]
步骤2:为了捕捉句子中的方面级的情感特征,同时反映出词在句子中的位置信息,采用bilstm来保留句子中每个单词的上下文信息,分别计算出前后向的隐藏状态向量为和其中n为句子的长度,τ1表示方面目标中第一个词在句中的位置,τ
m
表示方面目标中最后一个词在句中的位置,然后拼接前后向的隐藏状态为d
h
表示隐藏状态维度,值为768,“;”表示拼接。由于d
emb
的维度过高,因此d
h
的维度也是比较大,计算量过大,所以需要对得到的隐藏状态做一个线性变换,以方便计算,此时d
h
值为300。
[0050]
步骤3:将邻接矩阵am和局部权重矩阵lm相加,得到带有局部位置权重信息的邻接矩阵m,将m中的边的信息和h
c
特征进行点积得到送入l层magna进行语义特征提取。magna由注意力计算组件,多头注意力扩散组件,两个层归一化组件,前馈层组件和2个残余连接组件组成。
[0051]
首先,进行注意力计算模块,给点图v表示节点的集合,ε表示边的集合,计算一条边(v
i
,r
k
,v
j
)的注意力得分由以下公式计算:
[0052][0053]
其中是第l层的可训练的参数,根据图中的边的信息,可以得到一个注意力得分矩阵s
(l)
,计算如如下面的公式:
[0054][0055]
接着运用逐行的softmax计算在l层融合了节点i和j的注意力值
[0056]
其次,计算多跳邻居的多头注意力扩散,这一过程局域单挑注意力矩阵a的幂,通过图扩散来计算多跳邻居的注意分数如下:
[0057][0058]
其中
[0059]
接下来会进行一个层规范化和残差连接和层规范化和层规范化
[0060]
最后,我们每层magna的计算可以表示为如下公式:
[0061][0062]
其中,为可训练的权重矩阵,可用于降维,表示偏差,σ表示非线性激活函数,v
i
∈v,其中表示和i节点相邻的j节点的度数之和,这样得到的每一层的输出维度都是2d
h
,维度的值为600。
[0063]
步骤4:对于上一层得到的输出进行遮蔽操作,只保留方面目标词位置的值,其他位置的值全部置为0,此时的遮蔽操作,只保留方面目标词位置的值,其他位置的值全部置为0,此时的
[0064]
步骤5:将h
m
和h
c
进行点积注意力计算,从隐藏状态向量h
c
中检索与方面目标词在语义上相关的重要特征,并因此为每个上下文词设置基于检索的注意力权重,用于最后的方面情感极性判断,令k=v=h
c
,q=h
m
,所以计算的表示如下公式所示:
[0065]
h
a
=attnetion(q,k,v)=softmax(qk
t
)v
[0066]
其中
[0067]
步骤6:基于上一层的输出h
a
,对其特征维度进行最大池化操作得到最终的特征表示,f=maxpool(h
a
),把最终的特征传入softmax层得到用于情感极性分类,分类特征表示如下公式:
[0068]
p=soft max(w
p
f+b
p
)
[0069]
其中,和分别是可学习的权重和偏差。
[0070]
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1