1.一种基于跨度的细粒度情感分析方法,其特征在于,包括以下步骤:步骤1、选择待进行情感分析的数据集,给定一个输入的句子s={w1,w2,...,wn},其中wn为词,n为句子的长度;
步骤2、对待分析数据集建立基于跨度的方面情感分析模型S‑AESC;
步骤2中所述基于跨度的方面情感分析模型S‑AESC包括嵌入层,双GRU层,交互层,跨度提取和注意力机制分类;
所述嵌入层使用BERT作为嵌入层,将句子s={w1,w2,...,wn}的开头和结尾分别连接[CLS]和[SEP]标记,其中句子的长度为n,使用词表将连接之后的句子转化成向量{e1,...ei,...,en},其中ei是结合了标记嵌入(token embedding)、位置嵌入(position embedding)和段嵌入(segment embedding)的向量,i∈[1,n];在层数为L层的Transformer中表示 在第l层的计算如公式(1)所示:l l‑1
X=Transformer(X ),l∈[1,L] (1)l
其中,X为在第l层的Transformer获得的表示, 为在第l层的Transformer获得的表示中的第n项;
所述的双GRU层接收嵌入层的输出,通过更新门zi和重置门ri来生成表示,更新门zi控制前一时刻的状态信息被带入到当前状态中的程度,重置门ri控制忽略前一时刻的状态信息的程度,如公式(2)‑(5)所示:其中,σ为激活函数,tanh为双曲正切函数,和hi分别表示新的门和隐藏表示,其中向量hi的维度为d,Wr、Wz和 分别为重置门、更新门和新的门的参数矩阵;
所述交互层计算方面提取和方面情感分类之间的信息交互;
首先计算一个方面提取的复合张量 其中 为实数域的K维向量,即复合张量βap的维度为K,通过计算来编码ha和hp之间的关联程度,复合张量计算公式如下:T a
βap=tanh((ha) Ghp) (6)其中,ha和hp分别为双GRU层的方面提取和方面情感分类的输出隐藏表示,是一个三维的张量,其中 为三维张量的维度分别为K,d和d,a和p分别为方面提取和方面情感分类的索引;
获得复合张量βap之后,计算方面提取的注意力分数Sap,注意力分数越高证明从第p个词捕捉到的情感与第a个方面之间有较高的相关性,计算公式如下:其中,va为计算注意力分数Sap的可训练的权重向量;
A
然后,所有的ha聚集成矩阵h ,Sap聚集成矩阵SA,通过计算来增强原始的方面提取特征,公式如下:A A P
h=h+soft max(SA)h (8)所述交互层利用方面提取和方面情感分类之间的相互作用,计算方面情感分类的复合张量 通过计算来编码hp与ha之间的关联程度;获得复合张量之后,计算方面情感分类的注意力分数Spa;最后通过计算来增强原始的方面情感分类特征;如公式(9)‑(11)所示:T a
βpa=tanh((hp) Gha) (9)P P P A
h=h+soft max(S)h (11)其中,vp为计算注意力分数Spa的可训练的权重向量;
所述跨度提取是通过预测方面在句子中的起始位置和终止位置来提取方面词,通过如s下公式得到开始位置的概率分布p:
s A
g=vsh (12)s s
p=softmax(g) (13)s s
其中,g为开始位置的预测得分,vs是计算g的可训练的权重向量;
e
通过如下公式得到结束位置的概率分布p:
e A
g=veh (14)e e
p=softmax(g) (15)e e
其中,g为结束位置的预测得分,ve是计算g的可训练的权重向量;
s e
对于每个句子,首先从多个开始位置和结束位置的两种预测得分g 和g中选取前M个分数,其中M为正整数,然后在结束位置不小于开始位置以及两个预测得分和相加超过阈值γ下,将所有候选跨度(si,ej)及其启发式正则化分数yl添加到一个列表Y中;由于方面为短实体,所以将启发式正则化的分数yl计算为两个分数之和减去跨度长度,计算公式如下:其中, 表示开始位置si的预测得分, 表示结束位置ej的预测得分;
每次从列表Y中选出分数最大的方面作为提取出的方面,之后删去列表Y中与选出的方面有重叠词语的方面,直到列表Y为空或者已经提取出O个,其中O为超参数;
所述注意力机制分类是使用注意力机制的集成来进行情感分类;给定一个方面跨度(si,ej),其中si为开始位置,ej为结束位置;
首先利用注意力机制对句子的方面提取的边界计算注意力分数α,然后计算所有单词关于提取边界的加权和xr,计算如公式(17)、(18)所示:其中,vr为权重向量, 为跨度(si,ej)的表示集合并且表示为交互层方面情感分类的输出; 为跨度的注意力分数;
利用方面情感分类的输出hp计算注意力分数αp,然后计算表示所有单词的加权和xh,计算如公式(19)、(20)所示:αp=softmax(vhhp) (19)其中,vh是计算αp的可训练的权重向量;
将边界的加权和xr、所有单词的加权和xh集成连接起来,得到最终的加权表示x,计算如公式(21)所示:x=[xr;xh] (21)p
将得到的最终的加权表示x经过公式(22)得到最终的极性概率p:p
p=softmax(Wptanh(Wxx)) (22)其中,Wp是进行tanh计算时定义的可训练的参数矩阵,Wx进行softmax计算时定义的可训练的参数矩阵;
步骤3、通过联合训练损失函数L对模型进行优化;
步骤4、将待进行情感分析的数据集通过训练好的基于跨度的方面情感分析模型,提取出每个句子中的所有方面{a1,...,at},并预测出它们的情感极性,其中方面的数量为t,实现文本的情感分析。
2.根据权利要求1所述的一种基于跨度的细粒度情感分析方法,其特征在于,步骤3中所述联合训练损失函数L包括方面提取的损失函数La以及方面情感分类的损失函数Lp,如公式(23)所示:L=La+Lp (23)所述方面提取的损失函数La如公式(24)所示:其中, 表示第i个词为一个方面的开始, 表示第j个词为方面的结束位置, 表示第i个词为一个方面的开始的概率, 表示第j个词为方面的结束位置的概率;
所述方面情感分类的损失函数Lp如公式(25)所示:p
其中,y是真实极性的独热码(one‑hot)向量,c是情感标签的数量。