一种基于文本胶囊神经网络的句子级情感分析方法

文档序号:31637963发布日期:2022-09-24 05:42阅读:91来源:国知局
一种基于文本胶囊神经网络的句子级情感分析方法

1.本发明属于文本情感分析中的句子级情感分析领域,尤其涉及一种基于文本胶囊神经网络的句子级情感分析方法。


背景技术:

2.情感分析是对带有情感色彩的主观性文本进行分析、处理、归纳和推理的过程。句子级情感分析任务,因其具备识别主体情感的特点,在实时情感分析等场景得到了广泛应用,已成为情感分析领域的研究热点之一。
3.传统的情感分类主要采用基于规则和机器学习的方法。由于特征提取过程中存在大量人为干扰因素,越来越多的研究人员使用深度学习方法来实现情感分类。lstm(长短记忆网络)采用多任务训练模型调整参数,可以提高模型的特征提取能力。尽管lstm具有特定的记忆能力,但它仍然无法记住所有信息,并且计算速度较慢。使用cnn(卷积神经网络)对文本信息进行分类的方法逐渐活跃起来,并取得了良好的分类效果。目前,越来越多的学者开始使用transformer模型提取文本特征,通过自注意机制获取句子中单词之间的依赖关系,并更有效地捕捉句子结构。与使用标量值来表示特征的传统神经元不同,胶囊网络节点使用向量值来表示文本中词汇的多属性特征,并使用动态路由机制而不是汇集层结构来识别不明显的文本情感特征。
4.但是目前,深度学习在情感分析领域仍然存在一些困难。一方面,训练样本不足。rnn(递归神经网络)常用于文本分析,但其并行计算困难,梯度容易消失,而transformer具有较强的特征提取能力,但其空间信息提取能力较弱。此外,胶囊神经网络的出现赋予计算机视觉、自然语言处理等领域新的研究契机,作为一种对空间信息十分敏感的方法,其可以利用丰富的文本结构信息,诸如单词的位置信息、语义信息、语法结构等,有效地进行编码且具备强大的文本表达能力。尽管现有的技术已经取得了巨大的进步,当前仍然缺乏有利的方法以捕获情感原因对的底层特征。


技术实现要素:

5.本发明目的在于提供一种基于文本胶囊神经网络的句子级情感分析方法,以解决上述的技术问题。
6.为解决上述技术问题,本发明的一种基于文本胶囊神经网络的句子级情感分析方法的具体技术方案如下:
7.一种基于文本胶囊神经网络的句子级情感分析方法,包括如下步骤:
8.步骤1:使用字词级别与句子级别的编码器获取句子的特征表示;
9.步骤2:使用数据增强的方式获取同一句子的大量特征表示,为每个句子分别生成多个向量表示;
10.步骤3:将每个句子的多个特征表示拼接,得到一个二维矩阵;
11.步骤4:提出改进的文本胶囊神经网络模型来建模步骤3矩阵中句子局部特征与整
体情感极性之间的内在联系;
12.步骤5;矩阵中的每个句子经由文本胶囊网络进行分类,最终预测该句子所对应的情感极性。
13.进一步地,所述步骤1原始输入是包含多个单词的一个句子c,形式化描述为:c=[w1,w2,...,w
|c|
],其中w为句子中的词,l为句子中词的个数,ed为词嵌入维度。
[0014]
进一步地,所述步骤1使用的词向量文件经由word2vec模型预训练得出,词向量的维度取200,框架中bilstm隐藏层状态都为100,在训练过程,使用sgd算法和mini-batch adam进行优化更新,数据的批量大小和学习率分别设为32和0.005,对词嵌入向量使用0.6的失活率,损失函数中的初始权重δ1和δ2都设置为1。
[0015]
进一步地,所述步骤1包括如下具体步骤:
[0016]
步骤1.1:首先对输入句子c使用bilstm网络以获取字词级别的特征表示h,为句子中的每个词积累上下文信息,其中,h=bilstm(c),l是句子中词的数目,hs是lstm隐藏层状态的特征数目;
[0017]
步骤1.2:使用attention pooling机制处理h,使得句子中每个词都能融合句子中其他
[0018]
词的关键信息,过程如下所示:
[0019]
α=softmax(linear(tanh(linear(h)))
[0020]
e=α
th[0021]
其中,linear表示全连接神经网络,得到句子c的特征表示e。进一步地,所述步骤2包括如下具体步骤:
[0022]
步骤2.1:使用多次dropout神经元随机失活作为文本数据增强的方式,为每个句子获取n个特征表示
[0023]ei
=dropout(e)
[0024]
步骤2.2:将e

=[e1,e2,...,en]作为文本胶囊神经网络的原始输入向量。
[0025]
进一步地,所述步骤3将句子的多个特征表示按列的维度拼接配对,得到一个二维矩阵,具体为:将句子e中所有的特征向量都作为句子的表示分量之一,再结合多个表示分量的情况下考虑同一句子不同的特征表示,选取所有句子的特征表示ei,按列的维度进行拼接,得到矩阵e


[0026]e′
=[e1;e2;...;ei;...;en],i=1,2,...,n
[0027]
其中,n为句子表示分量的个数。
[0028]
进一步地,所述步骤4的文本胶囊网络模块具有两层结构:1.初始胶囊层:该层将句子特征聚合为一组与语义相关的句子级语义胶囊;2.分类胶囊层:该层包含多个分别对应某一情感极性的目标胶囊,判断句子是否具有真正的情感极性。
[0029]
进一步地,所述步骤4矩阵中的每个句子经由文本胶囊网络进行分类,预测该句子是否具有相应的情感极性,具体为:
[0030]
步骤4.1:对单个句子的特征表示e

,创建与e

行维度数目一致的胶囊,初始胶囊层使用多个胶囊更加细化了特征的提取过程,使得提取出来的特征更有利于句子的分类,通过n个取值不同的胶囊,通过权重矩阵得到预测向量:
[0031]
[0032]
其中,w
ij
表示连接初始胶囊层和分类胶囊层的权重矩阵,索引i=1,2,...,n代表第几个初始胶囊,索引j=1,2,...,k代表第几个分类胶囊,从而得到多组初始胶囊的输出
[0033]
步骤4.2:对步骤4.1初始胶囊层生成的所有预测向量与动态路由所得权重c
ij
加权求和,得到目标胶囊j的向量表示sj,将挤压函数应用于sj以获得目标胶囊的最终表示vj,即该句子被归纳为代表具有某一情感极性的胶囊中:
[0034][0035][0036]
其中,vi的数目与句子级情感分析任务中情感极性的数目一致,最后,对所有最终的特征表示[v1,...,vk]进行列维度的拼接,并通过全连接神经网络得到输预测结果:
[0037][0038]
进一步地,所述步骤4.2中为预测得到的句子e情感极性,引入损失函数loss:
[0039][0040]
其中,和分别是句子e的真实标签和预测标签,均表示为one-hot向量,预测得出句子e是否具备某一情感极性。
[0041]
本发明的一种基于文本胶囊神经网络的句子级情感分析方法具有以下优点:本发明强调提取融合字词级别与句子级别的特征以增强句子的表示能力,从数据增强的角度出发,产生大量与子句相关的特征表示,缓解了此任务数据集稀缺的问题,并使用文本胶囊神经网络对单个句子的特征表示进行建模,提取出其不同层次的特征,有效提高了情感分析任务的分类性能,并且获取到句子的细粒度特征信息,进一步提高了文本情感分析中的句子级情感分析任务的准确率和解释性。
附图说明
[0042]
图1为本发明基于文本胶囊神经网络的句子级情感分析方法的框架图;
[0043]
图2为本发明文本胶囊网络结构图。
具体实施方式
[0044]
为了更好地了解本发明的目的、结构及功能,下面结合附图,对本发明一种基于文本胶囊神经网络的句子级情感分析方法做进一步详细的描述。
[0045]
如图1所示,本技术提出的一种基于文本胶囊神经网络的句子级情感分析方法,本实施方式中训练数据采用中文句子级情感分析语料库,该语料库共包含愤怒、厌恶、恐惧、高兴、悲伤、惊讶和平静在内的七种情感极性。将数据集十等分,随机选择其中的九份作为训练数据,另外一份作为验证数据,试验重复十次,将十次实验的平均结果作为最终的实验结果,评价指标使用精确率、召回率、f1值和准确率进行比较。
[0046]
具体包括如下步骤:
[0047]
步骤1:使用字词级别与句子级别的编码器获取句子的特征表示;
[0048]
原始输入是包含多个单词的一个句子c,可形式化描述为:c=[w1,w2,...,w
|c|
],其中w为句子中的词,l为句子中词的个数,ed为词嵌入维度。
[0049]
使用的词向量文件经由word2vec模型预训练得出。词向量的维度取200。框架中bilstm隐藏层状态都为100。在训练过程,使用sgd算法和mini-batch adam进行优化更新。数据的批量大小和学习率分别设为32和0.005。对词嵌入向量使用0.6的失活率,损失函数中的初始权重δ1和δ2都设置为1。
[0050]
步骤1.1:首先对输入句子c使用bilstm网络以获取字词级别的特征表示h,为句子中的每个词积累上下文信息。其中,h=bilstm(c),l是句子中词的数目,hs是lstm隐藏层状态的特征数目;
[0051]
步骤1.2:使用attention pooling机制处理h,使得句子中每个词都能融合句子中其他词的关键信息,过程如下所示:
[0052]
α=softmax(linear(tanh(linear(h)))
[0053]
e=α
th[0054]
其中,linear表示全连接神经网络,得到句子c的特征表示e。
[0055]
步骤2:使用数据增强的方式获取同一句子的大量特征表示,为每个句子分别生成多个向量表示;
[0056]
步骤2.1:使用多次dropout神经元随机失活作为文本数据增强的方式,为每个句子获取n个特征表示
[0057]ei
=dropout(e)
[0058]
步骤2.2:将e

=[e1,e2,...,en]作为文本胶囊神经网络的原始输入向量。
[0059]
步骤3:将每个句子的多个特征表示拼接,得到一个二维矩阵;
[0060]
将句子的多个特征表示按列的维度拼接配对,得到一个二维矩阵,具体为:将句子e中所有的特征向量都作为句子的表示分量之一,再结合多个表示分量的情况下考虑同一句子不同的特征表示。选取所有句子的特征表示ei,按列的维度进行拼接,得到矩阵e


[0061]e′
=[e1;e2;...;ei;...;en],i=1,2,...,n
[0062]
其中,n为句子表示分量的个数。
[0063]
步骤4:提出改进的文本胶囊神经网络模型来建模步骤3矩阵中句子局部特征与整体情感极性之间的内在联系;
[0064]
矩阵中的每个句子经由文本胶囊网络进行分类,预测该句子是否具有相应的情感极性,具体为:
[0065]
如图2所示,文本胶囊网络模块具有两层结构:1)初始胶囊层:该层将句子特征聚合为一组与语义相关的句子级语义胶囊;2)分类胶囊层:该层包含多个分别对应某一情感极性的目标胶囊,判断句子是否具有真正的情感极性。
[0066]
步骤4.1:对单个句子的特征表示e

,创建与e

行维度数目一致的胶囊,初始胶囊层使用多个胶囊更加细化了特征的提取过程,使得提取出来的特征更有利于句子的分类。通过n个取值不同的胶囊,通过权重矩阵得到预测向量:
[0067][0068]
其中,w
ij
表示连接初始胶囊层和分类胶囊层的权重矩阵,索引i=1,2,...,n代表
第几个初始胶囊,索引j=1,2,...,k代表第几个分类胶囊。从而得到多组初始胶囊的输出
[0069]
步骤4.2:对步骤4.1初始胶囊层生成的所有预测向量与动态路由所得权重c
ij
加权求和,得到目标胶囊j的向量表示sj,将挤压函数应用于sj以获得目标胶囊的最终表示vj,即该句子被归纳为代表具有某一情感极性的胶囊中:
[0070][0071][0072]
其中,vj的数目与句子级情感分析任务中情感极性的数目一致。最后,对所有最终的特征表示[v1,...,vk]进行列维度的拼接,并通过全连接神经网络得到输预测结果:
[0073][0074]
步骤4.2中得到的为句子e预测的情感极性,引入损失函数loss:
[0075][0076]
其中,和分别是句子e的真实标签和预测标签,均表示为one-hot向量。预测得出句子e是否具备某一情感极性。
[0077]
步骤5;矩阵中的每个句子经由文本胶囊网络进行分类,最终预测该句子所对应的情感极性。
[0078]
申请人在数据集上进行了实验。同时采用准确率、精确率、召回率、f1值来衡量实验结果,并且与现有text cnn、bilstm、bilstm(attn)、bert四种句子级情感分析模型进行了对比。最终的结果如表1所示:
[0079]
表1.句子级情感分析模型实验结果
[0080]
modelprecisionrecallf1accuracytextcnn84.37%86.02%85.27%85.77%bilstm78.37%82.36%80.31%80.70%bilstm(attn)82.48%76.85%79.57%81.13%bert88.59%90.45%89.51%89.86%本发明方法结果89.69%91.70%90.69%91.04%
[0081]
可以理解,本发明是通过一些实施例进行描述的,本领域技术人员知悉的,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本技术的权利要求范围内的实施例都属于本发明所保护的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1