一种结合中文句法和图卷积神经网络的情感分类方法
技术领域
本发明涉及一种社交网络技术领域,特别是涉及一种结合中文句法和图卷积神经网络的情感分类方法。
背景技术
近年来,情感分析(Sentiment Analysis,SA)一直是自然语言处理(NaturalLanguage Processing,NLP)领域的一个热门话题,也是近年来的研究热点。情绪分析是一种自动分析文本和解释背后的情绪的过程。通过机器学习和文本分析算法可以按照语句情感将文本分类为肯定,否定和中性三类。随着移动互联网的普及,网络用户已经习惯于在网络上表达意见和建议,比如电商网站上对商品的评价、社交媒体中对品牌、产品、政策的评价等等。网络用户对现实世界的感知和感受,包括他们做出的任何选择,都会受到其他人对现实世界的看法和影响。所以,对网民感兴趣的事物所发表的观点和感受进行挖掘分析,并将其研究成果运用到舆情分析、市场研究、客户体验分析等领域,这就是情感分析的研究意义所在。
发明内容
本发明旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种结合中文句法和图卷积神经网络的情感分类方法。
为了实现本发明的上述目的,本发明提供了一种结合中文句法和图卷积神经网络的情感分类方法,包括以下步骤:
S1,获取社交网络文本,将获取的社交网络文本作为待处理文本,对待处理文本进行预处理;
S2,学习句子及属性子句的上下文信息,得到相应的特征表示;
S3,根据获取的给定文本的依存关系及语法信息,生成句子的语义树;
S4,根据嵌入了特征向量的依赖树,利用图卷积网络生成给定文本的情感特征表示;
S5,利用Softmax分类器构造每个情绪标记的条件概率分布,并输出文本的最终情感标签。
在本发明的一种优选实施方式中,在步骤S1中,对待处理文本进行预处理包括以下之一或者任意组合步骤:
S11,使用正则表达式去除无用符;
S12,将情绪子句的变化维数重塑成统一大小的特征向量;
S13,将中文文本分割成单词;
S14,每个单词或词组映射为实数域上的向量。
在本发明的一种优选实施方式中,在步骤S2中包括:
首先用当前时间步的输入x
t和上一时间步的隐藏状态输出
计算得到原始前反馈输出
其中,Wzx表示当前时间步输入的激活权重;
xt表示当前时间步的输入;
Wzh表示上一时间步的隐藏状态输出的激活权重;
bz表示第一偏置项;
其中,σ()表示激活函数sigmoid;
rt表示当前时间步的重置门输出;
其中,σ()表示激活函数sigmoid;
zt表示当前时间步的更新门输出;
再使用当前时间步的重置门输出rt和当前时间步的输入xt一起计算另一个中间前馈输出:
其中,Wax表示当前时间步输入的激活权重;
xt表示当前时间步的输入;
War表示当前时间步重置门输出的激活权重;
rt表示当前时间步的重置门输出;
ba表示第二偏置项;
at表示中间前馈输出;
对中间前馈输出at做双曲正切激活:
其中,tanh()表示双曲正切函数;
at表示中间前馈输出;
以更新门的输出作为开关,得到当前时间步的隐状态输出:
zt表示当前时间步的更新门输出;
在本发明的一种优选实施方式中,在步骤S3中使用依存关系箭头表示句子的语法关系。
在本发明的一种优选实施方式中,在步骤S4中包括:
H(0)=X,
其中,X表示图卷积模型的输入矩阵;
H(0)表示图卷积模型第0层的隐藏状态;
其中,RELU()表示激活函数;
A表示从语法层得到的句法依赖树的邻接矩阵;
H(l)表示表示图卷积模型第l层的隐藏状态;
W(l)表示表示图卷积模型第l层的权重;
f()表示计算图卷积模型隐藏状态的函数;
H(l+1)=f(H(l),A);
其中,f()表示计算图卷积模型隐藏状态的函数;
H(l)表示表示图卷积模型第l层的隐藏状态;
A表示从语法层得到的句法依赖树的邻接矩阵;
H(l+1)表示图卷积模型第l+1层的隐藏状态。
在本发明的一种优选实施方式中,在步骤S5包括:
yj=softmax(wHj+b),
其中,softmax()表示深度学习中的激活函数;
w表示训练学习到的权重;
Hj表示图卷积层中第j个句子的输出;
b表示训练学习到的偏置;
yj表示第j个句子输出的标签;
其中,yj表示第j个句子输出的标签;
J表示输入句子的总个数;
pj表示第j个句子情感的最终预测值。
在本发明的一种优选实施方式中,在步骤S5中还包括:
其中,J表示输入句子的总个数;
Yj表示j个句子情感的真实值;
pj表示第j个句子情感的最终预测值;
λ表示L2正则化系数;
θ表示表示所有可训练参数;
Loss表示模型的损失值。
在本发明的一种优选实施方式中,还包括评估参数,评估参数包括精确率P、召回率Recall、精确率和召回率的调和均值F1、准确率Acc、宏平均F1值Macro_F1、样本的微平均召回率Micro_R、样本的微平均精确率Micro_P、微平均F1值Micro_F1之一或者任意组合;
其精确率P的计算方法为:
其中,TP表示正确预测的样本;
FN表示当前类别被错误判定为其他类别的样本;
P表示精确率;
其召回率Recall的计算方法为:
其中,TP表示正确预测的样本;
FP表示其他类别被判定为当前类别的样本;
Recall表示召回率;
其精确率和召回率的调和均值F1的计算方法为:
其中,P表示精确率;
Recall表示召回率;
F1表示精确率和召回率的调和均值;
其准确率Acc的计算方法为:
其中,m表示样本的类别;
TPi表示第i类样本正确预测的样本数;
FPi表示其他类别被判定为i类别的样本数;
FNi表示当前i类别被错误判定为其他类别的样本数;
Acc表示准确率;
其宏平均F1值Macro_F1的计算方法为:
其中,m表示样本的类别;
F1i表示当前i类别的F1值;
Macro_F1表示宏平均F1值;
其样本的微平均召回率Micro_R的计算方法为:
其中,m表示表示样本的类别;
TPi表示第i类样本正确预测的样本数;
FPi表示其他类别被判定为i类别的样本数;
Micro_R表示样本的微平均召回率;
其样本的微平均精确率Micro_P的计算方法为:
其中,m表示表示样本的类别;
TPi表示第i类样本正确预测的样本数;
FNi表示当前i类别被错误判定为其他类别的样本数;
Micro_P表示样本的微平均精确率;
其微平均F1值Micro_F1的计算方法为:
其中,Micro_P表示样本的微平均精确率;
Micro_R表示样本的微平均召回率;
Micro_F1表示微平均F1值。
综上所述,由于采用了上述技术方案,本发明能够对获取的社交网络文本情感进行分类,为社交网络平台中的短文本提供更细致、更深入的情感分析。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明机器学习分类器示意图。
图2是本发明GRU内部结构示意图。
图3是本发明情感分类DTGCN模型示意图。
图4是本发明句子长度分布示意图。
图5是本发明BiGRU内部结构图示意图。
图6是本发明dropout对模型结果的影响示意图。
图7是本发明情感分类DTGCN模型表现示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
1前言
文本情感分析技术主要研究如何对文本所表达的观点、情感、立场、态度等主观性信息进行自动分析,从海量文本中识别出人们对某一产品、事件所持有的观点,提高对文本情感分析的效率。
根据对文本处理的粒度不同,情感分析大致可分为词语情感分析、句子情感分析、文档情感分析三个层次。
词语情感分析的对象是在特定的句子中出现的词和短语。表达情感的词大多是名词、动词、副词和形容词,其情感倾向可以分为积极、消极和中性三类,词语情感分析包括对词的情感极性、情感强度以及上下文模式等进行分析。
句子情感分析的对象是在特定的上下文中出现的句子,其目的是通过分析句子中的各种主观性信息,与情感倾向性相关的各个要素,提取句子情感特征,实现对句子情感倾向的判断。
文档情感分析的对象是一篇完整的文章,从整体上分析某篇文章的情感倾向。由于文档情感分析属于文本分类问题,通常采用机器学***台的短文本,因而本发明专利的工作属于句子情感分析。
句子情感分析的研究难点主要在于任意一个人工生成的句子中均包含多层含义。人们用复杂的方式表达意见,而诸如嘲讽、讽刺和隐含意义之类的修辞会影响情感分析的最终结果。
现有的句子情感分析方法大多以深度学习为基础,把短文本作为一个整体对其进行编码,忽视了句子的句法结构,仅利用相邻词语的语义信息,对具体词语进行上下文感知表征而不能确定不相邻的多个单词所描述的情感。近几年来的研究表明通过句法依赖树从属句中的句法信息可以有效地抓取情感特征,为情感分析提供强有力的支持,如Luo H提出了双向依赖树网络,即显式合并与自下而上和自上而下传播分开获得的两种表示形式从而解决方面提取问题。Ahmed M设计了针对句法依赖树和短语结构树的通用注意力框架。Zhang J通过图神经网络建立了沿依赖弧交互模型。利用基于语法的自我注意功能,可直接操纵语法图,获取结构信息。除情感分析外,句法依赖树也使得神经网络在自然语言生成、Dialogue Understanding等NLP 任务上有了很大的提升。由于依赖树的特殊结构,本发明专利通过引入图卷积神经网络(Graph Convolutional Networks,GCN)来捕获高阶语义信息。图卷积最先提出是为了解决社交网络、知识图谱、信息网络中的非欧几里得结构数据,目前广泛运用于图像检测、用户推荐、图像分类。Wan S提出了GCN网络用于文本分类,在整个语料集上构建图,将单词和文章数作为图中的节点,利用共现信息来构建图中的边,然后将文本分类问题看作是节点分类问题,并取得了较好的效果。
本发明专利为了整合语法信息,充分利用句中的语法结构,提出了一种基于句法依赖树的GCN模型来检测情感极性。首先,采用双向的门控神经网络(Gated RecurrentUnit,GRU)对每个词进行特征提取。然后将词特征与依赖解析树的邻接矩阵相融合输入到GCN中,通过最大池化层进行特征融合,最终通过Softmax函数得出结果。
本发明专利主要创新点如下:
·构建了给定中文短文本的句法依赖树,通过句法依赖树分析数据集文本中词汇之间的语法关系,挖掘词汇间的隐藏关系。
·提出了一种基于中文句法依赖树的图形卷积网络情感分类模型(DTGRU)。该模型通过将Bi-GRU提取的初步特征与句子的句法树相融合,再使用GCN进行卷积,获取文本的综合特征,从而实现中文文本情感分类。
·本发明专利与六个基线模型(CNN、LSTM、CNN+LSTM、TextCNN、 BiGRU+GCN)进行比较,以准确率Accuracy(ACC)、精确率P、宏平均F1值(Macro_F1) 和召回率(Recall)作为实验评判指标。通过对比实验得出,DTGRU模型的准确率和 Macro_F1值相对于基准模型提升了4.45%及3.71%,验证了利用语法信息和长期单词依赖的重要性,证明了DTGRU模型在情感分类中的有效性。
2相关工作
2.1情感分类中的深度学习
当前情感分析中的分析技术大体分为3种:基于规则的方法、基于机器学习的方法、基于深度学习的方法。基于规则的方法是使用一组人为制定的规则来帮助识别句子情感极性,例如:定义正极化和负极化的词表,计算给定文本中的极性数,如果正极化的词数大于负极化的词数,算法将返回正极化的判断结果,反之亦然。若两极性出现的次数相同,则返回中性的判断结果。此方法原理相对简单,但工作繁琐且没有考虑单词句子序列中的组合方式,且词性列表更新复杂,需要不断维护。
在基于机器学习的方法中,情感分析任务通常作为一个分类问题来建模,它提供文本给分类器,返回一个肯定、否定或中性的分类结果,如图1所示。
在训练过程中,模型根据训练所用的测试样本学习,将特定的输入(即文本)和相应的输出(标签)联系起来。特征器将输入的文本转换成特征向量。成对的特征向量和标记(如正、负或中性)输入机器学习算法(如朴素贝叶斯(
Bayes)、支持向量机 (SupportVector Machines)和逻辑回归(Logistic Regression))来生成模型。在预测过程中,特征提取器将文本输入转换为特征向量,这些特征向量随后被输入到模型中,生成一个预测标签(如正、负或中性)。
基于深度学习的方法中主要分为两个步骤:首先将需要分类的评论语料表示为语义词向量(Word Embedding);其次,利用不同的语义合成方法,得到与之相对应的句子或文档的特征表达式,最后通过深度神经网络进行分类。目前常用于情感分析的深度学习模型包括:卷积神经网络(Convolutional Neural Networks,CNN)、循环神经网络(RecurrentNeural Network,RNN)、长短记忆神经网络(Long-Short Term Memory, LSTM)等。
Kim利用卷积神经网络(CNN)用预先训练好的词向量对句子级别的文本分类做了一系列实验。从而表明,一个简单的CNN,只需少量超参数调整和静态向量,就可以在多个基准测试中取得出色的结果。Makoto提出将空间金字塔池与Max Pooling 结合使用门控CNN进行客户评论的情感分类。Meng提出了一种基于多层卷积神经网络的迁移学习方法。从源域中提取特征,并在源域和目标域样本之间的卷积层和池化层中共享权重。
除了单独使用CNN,一些研究者还将CNN与RNN结合起来以达到更好的分类效果。Jiang将LSTM与CNN结合在一起,同时利用LSTM处理远程依赖性和CNN 识别本地特征的能力。LSTM提取的特征将通过卷积和池化操作再次进行过滤,以找到重要的局部特征。Luo提出带有门控循环单元(GRU)的CNN用作分类器。根据输入特征矩阵,GRU-CNN增强了单词与单词,文本与文本之间的关系,从而实现了高精度的情感分类。Abid以词嵌入为深度神经结构的输入,采用RNN模型的变体 Bi-LSTM,GRU,Bi-GRU三种循环神经网络进行长期依赖性的捕获。
以上这些工作未使用依赖解析树来训练深度学习网络,忽略了文本的句法信息。而依存解析树可以更加准确、清晰地揭示句子的同义结构。因而,本发明专利采用 Bi-GRU模型和图形卷积神经网络相结合可增强对短文本的情感理解。
2.2 GRU
为了缓解传统RNN的长距离依赖问题和其在反向传播过程中梯度消失和梯度***问题,LSTM在RNN的基础上加入输入门、遗忘门和输出门来控制输入值、记忆值和输出值,这样网络可以对历史信息进行有选择地舍弃或者保留。
GRU是对LSTM的进一步的改进。GRU将LSTM中的遗忘门和输入门用更新门来代替,由于GRU参数较少,代码更容易修改和维护,且大大地减少了训练网络参数过程中的计算量,计算效率更高,需要更短的训练时间。
在单向的神经网络结构中,状态总是从前往后输出的,GRU模型单个时间步的内部结构如图2所示。
图2中r为重置门,决定是否忽略上一个时间步的隐状态ht-1;如果激活权重降低,当前时间步会更多地捕捉到短时间跨度的依赖信息,重置门激活趋于0时,当前时间步的输入xt会更大程度影响隐状态h′的输出,起到遗忘长时间跨度依赖的结果。更新门z选择是否用新的候选隐状态h′来更新输出隐状态ht。GRU模型每个时间步各自具有重置门r和更新门z,每个时间步的隐藏节点会学习捕捉不同时间跨度下不同依赖信息的特征。在文本情感分类中,如果当前时刻的输出能与前一时刻的状态和后一时刻的状态都产生联系如同选词填空一样,通过空白处的上下文推断空白处的词语。这种情况就需要Bi-GRU来建立这种联系。
表1 GRU研究对比
Bi-GRU是由单向、方向相反、输出由这两个GRU的状态共同决定的GRU组成的神经网络模型。在每一时刻,输入会同时提供两个方向相反的GRU,而输出则由这两个单向GRU共同决定。表1展示了本发明专利文献调查中GRU论文的研究对比。
综上所述,尽管越来越多的研究从网络文本中识别对特定主题的积极和消极情绪的方法,但这些研究大多是针对英语文本的情绪分析,而汉语情绪分析领域仍处于萌芽状态。因而,本发明专利为了学习更多中文句子的情感特征,及句子语法中的隐藏信息,提出一种基于句法依赖树的图卷积网络(DTGCN),一方面使用句法依赖树将句法信息聚合到上下文和方面词的表示中,另一方面通过Bi-GRU网络提取句子的初步特征,将其嵌入句法依赖树中,最后将句法依赖树输入图卷积网络得到最终情感特征。
3提出的情感分类方法
在社交网络中,大多数的短文本都有各种各样的情感倾向,而有些文本却没有表达任何情感。在诸如心理学研究或用户情感肖像之类的实际应用中,对社交网络进行情感分析是必要的。本发明专利所设计的DTGCN网络模型共由五层组成:①输入层:主要负责对句子进行一些预处理;②Bi-GRU:利用双向GRU层提取文本的隐藏语义;③语法层:通过分析句中语法关系,获取句法依赖树。④图卷积层:将在编码层提取的特征向量嵌入到句法依赖树的节点上,图卷积网络直接在文本的句法依赖树上操作,获取给定文本的情感特征。⑤输出层:针对图卷积的输出结果利用Softmax层预测相应的情感极性并输出最后将进行分类,得到最终结果。
结合句法依赖树的图卷积情感分类模型DTGCN结构如图3。
3.1输入层
a)Normalization
社交网络中的文本大都是网络文本,其中存在很多无用的价值信息,例如“”~@#¥%……&*等特殊字符,在中文情感分析模型中不会添加较为有意义的信息,且添加这些特殊字符会使得结果复杂化不利于句子分词的进行,可使用正则表达式去除无用符。
由于网络文本长度不固定,为了避免在点积相似度计算中出现不一致的表示,将情绪子句的变化维数重塑成统一大小的特征向量即句子长度小于规定值的,默认自动在后面填充特殊的符号(本发明专利填充0);句子长度大于规定值的,将大于规定值的部分截去。本发明专利数据集的句子长度分布如图4所示,从图4中可以看出,长度大于170的很少,鲜少有大于200长度的句子,句子长度大多分布在150 以内,符合社交网络平台中文本较短的特点,其中140左右长度的句子出现次数最多,因此本发明专利的规定值取为140即句子长度大于140时,多余的部分将会被剔除,不参与模型训练。
b)Tokenization
分词或者称为原始文本的标记化是许多NLP任务的标准预处理步骤。对英语来说,分词通常可以使用空格将语句进行拆分。对于汉语来说,汉语文本有一些不同于英语文本的特点,即书写风格是连续的,没有空格。因此,根据分词标准定义了将中文文本分割成一系列单词的步骤。本发明专利选用一个专门处理中文分词的Python包Jieba。它的工作原理是首先对单个汉字进行标记,然后在返回完整的句子之前用空格连接这些标记。
c)嵌入层(Embedding)
语句属于人类认知过程中产生的高层认知抽象实体,包括神经网络在内的大多数机器学习模型都不能处理原始形式的文本,需要数字作为输入。所以,要将字典中的字符转换为连续向量,就必须进行词嵌入即将一个维度为所有词的数量的高维空间(几万字,十几万个词)嵌入一个维度低得多的连续向量空间(通常是128维或256 维)中,每个单词或词组被映射为实数域上的向量。本发明专利使用随机初始化的方法用一个随机向量来表示每个单词,并且在网络训练过程中会更新向量。
经过上面的三步的操作之后,输入的数据就变成根据索引对应词向量的形成词矩阵。
3.2 Bi-GRU层
编码层的主要任务是利用Bi-GRU分别学习句子及属性子句的上下文信息,并得到相应的特征表示。Bi-GRU的结构如图5所示。
对于Bi-GRU的前向传播算法,可以首先用当前时间步的输入x
t和上一时间步的隐藏状态输出
计算得到原始前反馈输出
其中,W
zx表示当前时间步输入的激活权重;x
t表示当前时间步的输入;W
zh表示上一时间步的隐藏状态输出的激活权重;
表示上一时间步的隐藏状态输出;b
z表示第一偏置项;
表示原始前反馈输出。
其中,σ()表示激活函数sigmoid;
表示输入到重置门的原始前馈输出;r
t表示当前时间步的重置门输出。
其中,
表示输入到更新门的原始前馈输出;z
t表示当前时间步的更新门输出。
再使用当前时间步的重置门输出rt和当前时间步的输入xt一起计算另一个中间前馈输出:
其中,W
ax表示当前时间步输入的激活权重;x
t表示当前时间步的输入;W
ar表示当前时间步重置门输出的激活权重;
表示上一时间步的隐藏状态输出;
表示按矩阵元素进行点乘;r
t表示当前时间步的重置门输出;b
a表示第二偏置项;a
t表示中间前馈输出。
对中间前馈输出at做双曲正切激活:
其中,tanh()表示双曲正切函数;a
t表示中间前馈输出;
表示通过重置门后的状态。
以更新门的输出作为开关,得到当前时间步的隐状态输出:
其中,
表示上一时间步的隐藏状态输出;
表示按矩阵元素进行点乘;z
t表示当前时间步的更新门输出;
表示通过重置门后的状态;
表示当前时间步的隐状态。
3.4语法层
依赖关系有两种表现形式,一种是直接在句子上标出依存关系箭头及语法信息,另外一种是将句子的语法关系做成树状结构。本发明专利使用依存关系箭头表示句子的语法关系。
具体来说通过获取给定文本的依存关系及语法信息,生成句子的语义树,句子的语义树会以邻接矩阵的形式进行存储,若给定文本所有单词组成的顶点集N,则该文本的邻接矩阵表示为
若两个词语i,j间存在箭头相连接则Adj[i,j]=1或者 Adj[j,i]=1。根据Kipf假设边集合包含一个自循环Adj=Adj+I,即对任意顶点v来说 Adj[v,v]=1,其中,I表示单位矩阵。
3.5图卷积层
图卷积层的任务是根据嵌入了特征向量的依赖树,利用图卷积网络生成给定文本的情感特征表示。
对于一个图G(V,E),输入矩阵X是一个N×D的矩阵,N表示节点数,D表示输入的特征数,矩阵内的值为每个节点的特征,同时有图的邻接矩阵A。输出一个N×F的特征矩阵Z,表示学得的每个节点的特征表示,其中,N表示节点数,F是表示的维度(在分类问题中,F代表想要得到的类别个数)。对应本发明专利DTGCN模型来说,输入矩阵X是从Bi-GRU层训练得到的每条文本的特征矩阵,邻接矩阵A为从语法层得到的句法依赖树的邻接矩阵Adj,特征矩阵Z是经过图卷积提取的文本的特征。
式(7)为图卷积的初始状态,图卷积的单层前向传播的形式如式(8)所示,其中每一个神经网络层可以写成式(9)这样一个非线性函数。
H(0)=X (7)
其中,X表示图卷积模型的输入矩阵;H(0)表示图卷积模型第0层的隐藏状态。
其中,RELU()表示激活函数;
表示依赖树的度矩阵;A表示从语法层得到的句法依赖树的邻接矩阵;H
(l)表示表示图卷积模型第l层的隐藏状态;W
(l)表示表示图卷积模型第l层的权重;f()表示计算图卷积模型隐藏状态的函数;H
(l+1)表示表示图卷积模型第l+1层的隐藏状态。
H(l+1)=f(H(l),A) (9)
3.6输出层
3.6.1 MaxPooling(最大池化)
池化处理也可称为降采样(Sub-sampling),仅缩小矩阵的大小,不改变三维张量的深度,池化层减少全连接层的节点个数,也可以通过降低整个神经网络的参数量缓解过拟合风险。本发明专利使用最大池,对图卷积神经网络输出抽取若干特征值,只取其中得分最大的值作为Pooling层保留值,其他特征值全部丢弃。
3.6.2 Softmax
利用Softmax分类器构造每个情绪标记的条件概率分布,并输出微博文本的最终情感标签,输出的标签和情感的预测值的数学表达式如式(10)和式(11)所示。
yj=softmax(wHj+b) (10)
其中,softmax()表示深度学习中的激活函数;w表示训练学习到的权重;Hj表示图卷积层中第j个句子的输出;b表示训练学习到的偏置;yj表示第j个句子输出的标签。
其中,J表示输入句子的总个数;p
j表示第j个句子情感的最终预测值;y
j表示第j个句子输出的标签。式(11)也可以写成
e表示自然底数。根据最终预测值p
j判断其句子的情感极性:若p
j等于预设第一情感值,则第j个句子为消极情感;
若pj等于预设第二情感值,则第j个句子为中立情感;
若pj等于预设第三情感值,则第j个句子为积极情感。其预设第一情感值、预设第二情感值、预设第三情感值可以分别对应0,1,2;也可以是-1,0,1;根据实际情况进行设置。
3.6.3 L2regularization
泛化能力是指对训练数据以外数据做出准确预测的能力,为了增加DTGCN模型的泛化能力,本发明专利在损失函数中加入一个约束项L2范式。
其中,J表示输入句子的总个数;Y
j表示j类情感的真实值;p
j表示第j个句子情感的最终预测值;λ表示L
2正则化系数;θ表示表示所有可训练参数;表示范数;Loss 表示模型的损失值;
为DTGCN模型的初始损失函数。
4实验结果与分析
本发明专利实验环境为Ubuntu16.04LTS操作***,CPU为Corei5-8300H,64G 内存,2TB硬盘,GPU是Nvidia GeForce GTX 1060,实验基于深度学习框架Pytorch 上实现,实验所用开发语言为Python。
4.1数据集
为验证提出的DTGCN模型的有效性,本发明专利爬取99300条有效微博数据,并将其进行标注分为正面、负面和中立3类,训练集和测试集按照8:2比例进行划分,分别用于模型训练和模型测试。数据集中情感极性的具体分布如表2所示。实验中的数据情感类别用one-hot向量进行表示,如Positive的one-hot为[1.0,0.0,0.0]。
表2数据集
|
Positive |
Neutral |
Negative |
Train |
20001 |
46764 |
12675 |
Test |
5371 |
10265 |
4224 |
4.2 Performance Measure
混淆矩阵也称误差矩阵,是表示精度评价的一种标准格式,矩阵每一列代表预测值,每一行代表的是实际的类别。经典混淆矩阵如表3所示。
表3 Confusion Matrix
对于DTGCN的评估采用准确率Accuracy(Acc)、精确率P和宏平均F1值(Macro_F1),微平均F1值(Micro_F1)等评价指标,其中Macro_F1值是指先在混淆矩阵上分别计算出精确率和召回率,再计算平均值,Micro_F1先将各混淆矩阵的对应元素进行平均,得到TP、FP、TN、FN的平均值,再基于这些平均值计算查全率和查准率。对单个类别,设TP是正确预测的样本,FP是其他类别被判定为当前类别的样本,FN是当前类别被错误判定为其他类别的样本,则精确率P、召回率(Recall)和F1值计算公式为:
其中,TP表示正确预测的样本;FN表示当前类别被错误判定为其他类别的样本; P表示精确率。
其中,TP表示正确预测的样本;FP表示其他类别被判定为当前类别的样本;Recall表示召回率。
其中,P表示精确率;Recall表示召回率;F1表示精确率和召回率的调和均值;
准确率Acc、Macro_F1和Micro_F1分别为:
其中,m表示样本的类别;TPi表示第i类样本正确预测的样本数;FPi表示其他类别被判定为i类别的样本数;FNi表示当前i类别被错误判定为其他类别的样本数;Acc 表示准确率。
其中,m表示表示样本的类别;F1i表示当前i类别的F1值;Macro_F1表示宏平均F1值。
其中,m表示表示样本的类别;TPi表示第i类样本正确预测的样本数;FPi表示其他类别被判定为i类别的样本数;Micro_R表示样本的微平均召回率。
其中,m表示表示样本的类别;TPi表示第i类样本正确预测的样本数;FNi表示当前i类别被错误判定为其他类别的样本数;Micro_P表示样本的微平均精确率。
其中,Micro_P表示样本的微平均精确率;Micro_R表示样本的微平均召回率;Micro_F1表示微平均F1值。
4.3超参数设置
通常深度学习算法需要通过优化(模型调整)获取参数的最优值或改变所选模型数据的预处理来提高模型达到最优验证精度,迭代过程调整和评估训练模型的性能。这通常需要经过反复的实验从而改变模型的超参数,或者是包含/排除特定的预处理步骤。然后,对验证集合的性能进行评估,根据实验的准确率、损失率进行调整,直到参数获得最高的验证性能。经过多次迭代,实验设置的超参数如表4所示。
表4参数设置
Parameters |
Value |
Embedding size |
300 |
Bi-GRU Hidden neurons |
180 |
Bi-GRU Hidden layers |
2 |
GCN Network size |
[360,2] |
GCN Activation Function |
Relu |
Learning rate |
0.001 |
Optimizer |
Adam |
由于模型学习的参数较多,容易过度拟合,因此本发明专利为了解决过拟合的问题,在输入层中增加一个dropout层,即按照给定概率随机选择要丢弃的节点,在正向传播的过程中,这些被忽略的节点对下游节点的贡献效果暂时消失,在反向传播中,这些节点也不会有任何权值的更新。为了找到适合模型的dropout数值,在数据集上进行了实验,实验结果如图6所示。
从图6(a)~图6(d)可以看出,当dropout的值为0.7时,红色线条的准确率上升趋势较快,但在5次迭代后数值增长缓慢且波动较大,不能取得模型的最佳结果;当 dropout的值为0.3时,在前期的数值上升趋势较慢,虽粉色线条的波动较为平稳,却未取得模型评价指标的最佳值;当dropout的值为0.5时,相较于其他线条,在训练期间蓝色线条的波动幅度相对较小,且蓝色线条能取得相对其他线条模型更高的指标平均值,即模型的最佳性能。因而本发明专利实验dropout的丢失率设为0.5。
4.4DTGRU模型表现
实验应用数据清理的预处理步骤整理数据集,然后模型加载处理数据,经过模型训练每个句子级别分配一个情感标签(正/负/中立)。模型性能是根据准确率(Acc)、精确率P、召回率(Recall)和宏平均F1值(Macro_F1)指标进行评估,如表5所示。
表5模型评估指标
Acc |
P |
Recall |
Macro_F1 |
Micro_F1 |
90.51 |
90.75 |
90.34 |
90.47 |
90.24 |
具体数值图像如图7所示:
从表5及图7可看出,模型能够取得较高的准确率及宏平均值Macro_F1,证明了本发明专利模型DTGRU能够较好的提取中文短文本的情感特征,能够更准确的分析出社交网络中网民所表达的情感。
4.5不同模型对比分析
为了更好的验证提出的DTGCN模型的有效性,本发明专利选取了几种广泛使用的情绪分类算法作为基线,包括传统的深度学习方法和最先进的神经网络结构,模型结果如表6所示。
模型一:LSTM,它只使用单层LSTM网络对句子进行建模。所有隐藏状态的平均值被视为最终句子表示。
模型二:CNN,卷积神经网络包含卷积计算且具有深度结构的前馈神经网络,也是NLP任务中经典的模型。
模型三:CNN+LSTM,此结构与本发明专利模型类似,但使用LSTM代替GRU 提取文本特征,用CNN代替GCN来提取综合特征。
模型四:TextCNN,CNN时通常会认为是用于计算机视觉方向的工作,Yoon Kim 针对CNN的输入层做了一些变形,提出了文本分类模型TextCNN来处理NLP问题。
模型五:Bi-GRU+GCN,该模型不引入中文短文本的句法信息,直接采用Bi-GRU 对建模,将文本特征输入GCN从而实现情感分析。
表6中按照每个标签类别的模型性能是根据准确率(Acc)、宏平均F1值(Macro_F1)、精确率P和召回率(Recall)进行比较。由表6可知,基于句法的图卷积神经网络(DTGCN)模型在各标签的情感分类中表现良好,在宏平均Macro_F1上DTGCN模型表现优于其他对比模型3.71%。模型一及模型二的实验表明,单纯的一种神经模型(如实验中的LSTM、CNN),因其自身网络结果的局限性,不能较好的学***均Macro_F1 最高,分别为91.21%和91.22%,数据的不平衡性是导致这个结果的一部分原因,由于中立的样本数相对较多,中立样本经过训练所获取的特征更加丰富,因而具有较高的准确率和精密度。
表6极性分类结果的比较
本发明专利首先通过爬取微博数据建立了99200个大规模的中文情感分析语料库用于社交网络中中文短文本的情感分析;其次,本发明专利将高效的双层门控神经网络与图卷积神经网络相结合,构建了DTGCN模型,在数据集上DTGCN模型取得了90.51%的准确率,召回率是90.34%。这一结果与其他最先进的深度学***台中的短文本提供更细致、更深入的情感分析。
句子的属性情感分类是近年自然语言处理领域的一个研究热点。但对中文文本情绪分类的研究与英文文档相比相形见绌。本发明专利针对目前相关研究中仅考虑属性的上下文信息未结合句法依赖树这一现象,提出一种基于句法的图卷积情感分类模型DTGCN,为社交网络中中文短文本的情感分析研究给出一个新的方向。最后,为验证DTGCN模型的有效性,在数据集上进行实验,其准确率和Macro_F1分别为 90.51%和90.47%,且在多个基准模型实验进行对比时,DTGCN的准确率及Macro_F1 分别超出基准模型4.45%和3.71%。实验结果表明了DTGCN能够通过同时利用句法信息和长距离单词依赖性,获取中文样本的情感特征,提高了模型的整体情感分类性能。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。