利索能及
我要发布
收藏
专利号: 2019112917264
申请人: 东北大学秦皇岛分校
专利类型:发明专利
专利状态:已下证
更新日期:2024-12-10
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种利用上下文和方面记忆信息的情感分类方法,其特征在于,包括以下步骤:步骤1、选择待进行情感分析的数据集;

步骤2、建立基于方面的情感分析模型;

所述基于方面的情感分析模型包括上下文记忆构建模块,方面记忆更新模块和情感分类模块;

所述上下文记忆构建模块包括词嵌入层、位置相关层和BiLSTM层;

所述词嵌入层将每个单词映射成词嵌入向量之后,将句子和方面用嵌入向量表示;设定输入的句子是s={w1,w2,...,wn},其中,wn为句子中的第n个单词,n是句子的长度,方面是a={wt,...,wt+k},其中,k是方面中单词的个数,即方面的长度,且t+k<n,即方面是句子的子集;将每个单词映射成词嵌入向量之后,句子向量表示为vs={e1,e2,...,en};当方面包含单个的单词时,使用方面单词的嵌入向量et来表示方面向量va,当方面包含多个单词时,使用et到et+k这k个嵌入向量均值池化的结果来表示方面向量va;

所述位置相关层计算句子中每个单词与方面之间的距离,进而得出在句子中每个单词的位置权重,使得靠近方面的单词所占的比重增大,而远离方面的单词所占的比重减小;对于给定的方面和句子中第i个单词的位置关系通过位置相关系数gi表示,如下公式所示:其中,t是方面中第一个单词的位置,N是一个超参数,n是句子的长度,k是方面的长度;

在数据集中,长度小于最大长度的语句的末尾填充零,所以当i>n时,位置相关系数gi=0;

为了使方面的信息被完全考虑,使句子中每个单词的词嵌入向量ei和方面向量va上进行相乘再连接的操作来融合文本和方面的信息,计算公式如下所示:f(ei,va)=[ei;ei⊙va]           (2)其中,符号“⊙”表示点乘操作,符号“;”表示连接操作;

则位置相关层的输出如公式所示:

xi=f(ei,va)*ga,i∈[1,n]          (3)其中,xi表示结合了位置权重以及方面信息的词向量;

所述BiLSTM层接收位置相关层的输出,得到句子中给定单词的特征表示;

所述BiLSTM层采用双向LSTMs模型连接句子中单词前后两个方向的特征表示,得到句子中给定单词的特征表示;第i个单词前向LSTM的细胞状态 和隐藏状态 是从它前一个位置的细胞状态 隐藏状态 和当前的输入向量xi得到的;第i个单词后向LSTM的细胞状态 和隐藏状态 是从它后一个位置的细胞状态 隐藏状态 和xi得到的;前向和后向LSTMs表示为:其中,g(LSTM)表示LSTM的计算;

连接句子中单词前后两个方向的输出表示为:

其中,符号“||”表示连接操作,hi表示单词i的最终隐藏状态;

所述方面记忆更新模块包括hop个计算层,每个计算层均包括多头注意力层和更新方面记忆层;

所述多头注意力层使用多头自注意力机制或多头编码解码注意力机制为每个单词特征表示设置权重,然后将这些单词的特征表示和权重聚合起来得到考虑了上下文单词之间相关性的输出或考虑了方面和上下文单词之间相关性的输出,进而得到最终的句子表示;

所述更新方面记忆层将注意力层输出的句子表示r与方面向量va相加,从而得到新的方面向量v′a,如下公式所示:v′a=r+va            (13)

将新的方面向量v′a作为下一个计算层的方面向量,将方面向量v′a重新通过下一个计算层的多头注意力层和更新方面记忆层,直到达到预设的最大的hop数量,hop是一个超参数,需要对其预设定值;

所述情感分类模块是将在方面记忆更新模块中进行多次更新方面记忆之后输出的方面向量v′a输入到线性层和softmax层来预测方面情感;

步骤3、通过交叉熵损失函数与L2正则化项的和来训练基于方面的情感分析模型,如下公式所示:其中,T是训练集所包含的句子数量,C是所有情感类别的集合,(s,a)表示句子和对应的方面,pc(s,a)表示给定句子s和方面a下的预测的分类概率,yc(s,a)是真实情感类别对应的独热码向量,λ是正则化项的权重,θ是模型中的所有权值参数;

步骤4、将待进行情感分析的数据集通过训练好的基于方面的情感分析模型,实现文本的情感分析。

2.根据权利要求1所述的一种利用上下文和方面记忆信息的情感分类方法,其特征在于,所述步骤2中使用多头自注意力机制的具体方法为:对句子中每个单词的隐藏状态hi和方面向量va使用相乘再连接的方式将方面向量的信息编码到文本表示中,得到新的单词向量ui,计算公式如下所示:ui=[hi;hi⊙va]             (8)

为了使得生成的每个句子表示都含有上下文和其需要预测的方面的含义,对生成的向量矩阵u使用多头自注意力机制;使用向量矩阵u得到query矩阵Q∈Rn×d,key矩阵K∈Rn×d和value矩阵V∈Rn×d,其中,d是单词向量ui的维度;然后使用不同的参数矩阵WiQ∈Rn×d/h,WiK∈n×d/h V n×d/hR 和Wi ∈R ,把得到的Q,K,V矩阵做h次线性转换,其中h是一个超参数;将每个新生成的Q与K的转置KT相乘,除以 再进行softmax的操作得到句子中单词与单词之间对应的权重,然后将这个权重再乘以每个新生成的V,得到考虑了上下文单词之间相关性的输出;

headi=Attention(QWiQ,KWiK,VWiV)            (8)最后将h次注意力的结果拼接在一起形成的向量再做一次线性转换,如下公式所示:M=Concat(head1,...,headh)WO           (9)其中,headi表示第i次注意力操作,Attention(Q,K,V)表示一次注意力操作,Concat表示连接操作,Concat(head1,...,headh)表示将h次的注意力结果连接起来,WO是参数矩阵;

最后将结果M经过一个线性层和softmax操作,并且将输出与隐藏状态hi加权,得到最终句子的表示r,如下公式所示:其中,Wh是参数矩阵。

3.根据权利要求1所述的一种利用上下文和方面记忆信息的情感分类方法,其特征在于,所述步骤2中使用多头编码解码注意力机制的具体方法为:使用隐藏状态hi和方面向量va相乘的结果{hi⊙va}得到Q矩阵,使用隐藏状态{hi}得到K和V矩阵;把得到的Q,K,V矩阵做h次线性转换,然后把新生成的Q与K的转置KT相乘,除以再进行softmax的操作得到单词对应方面的权重,然后将结果再乘以新生成的V,得到考虑了方面和上下文单词之间相关性的输出;将h次注意力的结果拼接在一起形成的向量再做一次线性转换;最后将结果经过一个线性层和softmax操作,并且将输出与hi加权,得到最终句子表示r。