基于attentionCNNs和CCR的文本情感分析方法与流程

文档序号:11458591阅读:3705来源:国知局
基于attention CNNs和CCR的文本情感分析方法与流程

本发明是一种对文本情感进行分析的方法,属于自然语言处理领域。



背景技术:

随着推特(twitter)、脸书(facebook)、微博(weibo)等社交平台和亚马逊(amazon)、淘宝(taobao)等电子商务平台的兴起,网络上评论性文本资源与日俱増。面对来自微博、论坛的大量非结构化的评论文本,迫切需要通过自然语言处理技术对文本中表达的情感倾向进行分析判断。例如,从评论中识别出商品属性的情感信息,可为商家和其他用户提供决策支持;在舆情监控中,政府可及时了解民众对突发事件、社会现象的态度,引导舆论趋势。传统情感分析绝大多数都是采用传统nlp特征与机器学习相结合的方式来构建模型。但传统nlp特征的设计往往需要专家的领域知识,人工成本较高,系统的泛化性和迁移性差。近两年兴起的深度学习方法能较好地弥补上述方法的缺陷,深度学习能够自动学习出描述数据本质的特征表达,从而避免了人工设计特征的缺陷。

目前,深度学习用于情感分析的技术包括词向量,卷积神经网络和循环神经网络等。每个词通过一组词向量表示,并且词向量与词向量之间存在特定关系。句子表示为词向量矩阵后,利用卷积神经网络convolutionalneuralnetwork(cnn)结构提取文本特征。但这种特征只能表示文本的局部信息缺乏全局特征,所提取的特征较为单一,不足以体现文本的情感极性。特征质量直接决定情感分类精度的高低,因此怎样提取出更合适的文本特征是一项非常重要的工作。其次传统词向量的学习是通过训练学习语言模型而得到的产物,词的分布式表达中仅包含了语义和语法信息,缺乏了情感信息,而在情感分析任务中,情感信息起着非常重要的作用。



技术实现要素:

本发明提出一种基于attentioncnns结合注意力的卷积神经网络和ccr多模一致回归的文本情感分析方法,通过分析分词文本的情感极性,解决只提取分析文本的局部特征,从而导致缺乏全局特征,提取的特征单一,不足以体现文本的情感极性的问题。

为达到发明目的采取的具体技术方案为:

基于attentioncnns和ccr的文本情感分析方法:

步骤一、首先将原始文本数据分为训练样本及测试样本。然后对原始文本数据进行分词处理得到分词文本,利用分词文本进行语义词向量和情感词向量训练。利用已有情感词典进行词典词向量构建。

步骤二、利用语义词向量、情感词向量和词典词向量分别表示分词文本,得到三种类型初始输入词向量矩阵。利用长短时记忆网络lstm捕获三种类型初始输入词向量矩阵中每一单词的上下文语义,融入上下文信息后得到三种类型输出词向量矩阵,输出词向量矩阵能够消除单词歧义。

所述三种类型初始输入词向量矩阵包括:初始输入词典词向量矩阵、初始输入语义词向量矩阵和初始输入情感词向量矩阵。所述三种类型输出词向量矩阵包括:输出词典词向量矩阵、输出语义词向量矩阵和输出情感词向量矩阵。

步骤三、利用卷积神经网络cnn并结合不同滤波长度的卷积核提取三种类型输出词向量矩阵的局部特征。

步骤四、利用三种不同的注意力机制,即长短时记忆网络注意力机制、注意力采样以及注意力向量分别提取输出语义词向量矩阵和输出情感词向量矩阵的全局特征。

步骤五、对原始文本数据提取人工设计特征。

步骤六、利用所述局部特征、所述全局特征及所述人工设计特征对多模一致回归目标函数进行参数训练。

步骤七、求得多模一致回归最佳参数,通过多模一致回归预测方法对初始输入词向量矩阵进行正向,中立或者负向情感极性分析。

具体地,所述语义词向量训练:采用skip-gram模型训练语义词向量。该模型从目标词w的上下文c中选择一个词,将上下文c中的一个词作为模型输入,预测目标词w。首先将原始文本数据进行分词处理得到分词文本,然后将分词文本送入skip-gram模型,通过最大化语义词向量损失函数:

得到语义词向量。其中,z表示分词处理后的文本,w表示目标词,c表示目标词所对应的上下文,wj表示上下文c中的一个词,j表示上下文c中单词个数,p(wj|w)表示通过目标词w预测wj的概率。

所述情感词向量训练:在skip-gram模型基础上加入分类层softmaxlayer,用于训练情感词向量。语义部分损失函数与语义词向量相同,情感部分损失函数为

lsentiment=∑y·log(y_pred)

其中,y-pred=softmax(x)表示预测的情感标签,x表示上述训练得到的语义词向量,y表示真实情感标签。最后将语义词向量损失函数lsemantic和情感部分损失函数lsentimen线性结合得到情感词向量损失函数:其中表示权重因子。通过最小化情感词向量损失函数l得到情感词向量,该向量既包含了语义关系又融入了情感信息。

所述词典词向量构建:情感词典包含一个词的情感得分,不同情感词典得分标准不同。本发明将所有情感词典单词得分归一化到[-1,1],得到词典词向量矩阵。矩阵中每一行代表一个词在不同情感词典的情感得分,若一单词未出现在某一情感词典当中,用0代替。

具体地,步骤二的具体过程为:原始文本数据经过分词处理后的分词文本利用上述所得词向量表示,得到三种类型初始输入词向量矩阵d且即d是一个n×di的矩阵,其中n表示句子中单词个数,di表示相应词向量维度,i={1,2,3}。所述初始输入语义词向量矩阵表示为初始输入词典词向量矩阵表示为初始输入情感词向量矩阵表示然后,利用双向长短时记忆网络lstm结构捕获单词的上下文信息用于歧义消除,单词的上文信息向量表示为下文信息向量表示为其中dl和dr分别对应上文和下文信息向量的维度。融入上下文信息后的输出词向量矩阵表示为其中dl+di+dr为融合后的词向量维度。所述输出语义词向量矩阵表示为输出词典词向量矩阵表示为以及输出情感词向量矩阵表示为

具体地,所述步骤三的具体处理过程为:利用滤波长度l的cnn卷积核,对三种类型的输出词向量矩阵进行卷积操作,卷积参数不同的滤波长度卷积核得到不同的卷积矩阵当滤波长度l=g时,卷积矩阵为g元卷积矩阵,其中m为卷积核个数。对输出语义词向量矩阵和输出情感词向量矩阵卷积核个数为m1。对输出词典词向量矩阵卷积核个数为m2。然后对卷积矩阵s每一列进行最大化采样得到输出词向量矩阵的局部特征xl,其中输出语义词向量矩阵的局部特征表示为xl1,输出词典词向量的局部特征表示为xl2,输出情感词向量的局部特征表示为xl3

具体地,所述步骤四的具体处理过程为:

a、利用双向长短时记忆网络注意力机制提取输出词向量矩阵的全局特征,计算输出词向量矩阵中每个单词的注意力权重。首先,同样通过lstm结构得到每个单词所对应的隐向量。然后,根据隐向量计算得到输出词向量矩阵中第i个词的初始权重其中表示输出词向量矩阵中第i个词的隐向量,ba为偏置参数,wa和vt为网络结构权重参数。对输出词向量矩阵其对应的初始权重向量表示为其中表示输出词向量矩阵中第i个词初始权重,n为输出词向量矩阵中单词个数。接着对初始权重向量进行归一化操作得到概率权重向量其中表示输出词向量矩阵中第i个词概率权重。最后将概率权重向量aa与输出词向量矩阵相乘得到全局特征。由于词典词向量维度较低,忽略词典词向量全局特征。语义词向量全局特征表示为xg1,情感词向量全局特征表示为xg3

b、注意力采样提取输出词向量矩阵的全局特征:首先,根据均匀分布uni(-β,β)随机初始化类别矩阵其中c表示情感类别数,包括正向,中立和负向三个类别,表示均匀分布的区间参数。定义关联矩阵来捕获卷积矩阵s和类别矩阵wclass之间的关系,其中关联矩阵g=stuwclass,st为转置后的卷积矩阵,u为权重矩阵。随后对关联矩阵g进行归一化操作获得注意力矩阵a,最后转置卷积矩阵st与a相乘得到特征信息。对矩阵sta的每一行进行最大化处理,筛选出对情感极性判断最相关的特征其中p和q分别表示矩阵sta的行和列,最后得到输出词向量矩阵的全局特征。同样,语义词向量全局特征表示为xg1,情感词向量全局特征表示为xg3

c、注意力向量提取输出词向量矩阵的全局特征:首先对滤波长度l=1的一元卷积矩阵的行进行最大化处理得到一元注意力向量,转置后的输出词向量矩阵与之一元注意力向量相乘得到一元全局特征。对二元词组,同样对滤波长度l=2的二元卷积矩阵行进行最大化处理得到二元注意力向量,二元输出词向量矩阵表示为其中二元输出词向量矩阵每一行表示为ri为输出词向量矩阵第i行,转置二元输出词向量矩阵与二元注意力向量相乘得到二元全局特征。同样,词典词向量维度低,忽略其全局特征。语义词向量所有全局特征首尾相连融合成xg1,情感词向量所有全局特征首尾相连融合为xg3

具体地,所述人工设计特征包括:形态学特征、词性特征、否定检测、词典得分。所述形态学特征包括大写单词个数、问号出现次数,感叹号出现次数。所述词性特征包括:每种词性词在句中所出现次数。所述否定检测包括:否定词出现次数。所述词典得分包括:句子情感总得分和句子最后一词得分。

具体地,所述步骤六的具体处理过程为:首先定义p和q为两种长度相同的离散概率分布,d(p||q)定义为kl散度之和:d(p||q)=dkl(p||q)+dkl(q||p)。将语义词向量局部特征xl1、词典词向量局部特征xl2、全局特征xg1及人工特征xt首尾相连聚合成特征x1=[xt;xg1;xl1;xl2]t。同样将情感词向量局部特征xl3、词典词向量局部特征xl2、全局特征xg3及人工特征xt首尾相连聚合成特征x2=[xt;xg3;xl3;xl2]t。将特征x1和特征x2首尾相连聚合成特征xc。最后,最小化多模一致回归目标函数求得多模一致回归的参数。

其中,代表第i个训练样本所提取的特征所预测的概率类别分布,代表第i个训练样本的融合特征所预测的概率类别分布,yi表示真实概率分布,k={1,2}表示不同方面所融合的特征,n表示训练样本数,θc和θk都为正则参数,λ为超参。

具体地,所述步骤七的具体处理过程为:特征所预测情感类别概率分布表示为其中表示特征预测为正向情感类别的概率,表示特征预测为中立情感类别的概率,表示特征预测为负向情感类别的概率。然后利用多模一致回归进行最终情感类别概率预测。输入词向量矩阵属于第j个情感类别概率为:

其中j=1,2,3分别代表正向,中立和负向三种情感类别。

由于卷积神经网络提取的特征仅表现文本的局部,本发明在skip-gram模型上增加了分类层(softmaxlayer)用于训练情感词向量,通过搜集大量的情感词典,构成了一个更全面的词典向量,将注意力机制提取文本全局特征与局部特征进行ccr机制融合结合,达到提高分类精度的目的。该方法能够同时捕捉语义及情感信息,提高情感分析的精确度,丰富文本提取的特征。

附图说明

图1为本发明的系统流程图;

图2为情感词向量模型图;

图3为lstmattention结构图;

图4为一元注意力向量结构图;

图5为二元注意力向量结构图;

图6为本发明系统模型图。

具体实施方式

本发明的方法包括以下步骤:1、利用原始文本数据训练语义词向量和情感词向量并利用搜集的情感词典进行词典词向量构建;2、利用长短时记忆网络lstm捕获单词的上下文语义用于歧义消除;3、利用卷积神经网络(结合不同滤波长度的卷积核提取文本的局部特征;4、再利用三种不同的注意力机制分别提取全局特征;5、对原始文本数据进行人工特征提取;6、利用局部特征,全局特征以及人工特征对多模一致回归目标函数进行训练;7、利用多模一致回归预测方法进行情感极性预测。本发明相对于采用单一词向量或仅提取文本局部特征等方法,能够进一步提高情感分类精度。

如图1和图6所示,基于attentioncnns和ccr的文本情感分析方法具体过程为:

步骤一、首先将原始文本数据分为训练样本及测试样本。然后对原始文本数据进行分词处理得到分词文本,利用分词文本进行语义词向量和情感词向量训练。利用已有情感词典进行词典词向量构建。

所述语义词向量训练:采用skip-gram模型训练语义词向量。该模型从目标词w的上下文c中选择一个词,将上下文c中的一个词作为模型输入,预测目标词w。首先将原始文本数据进行分词处理得到分词文本,然后将分词文本送入skip-gram模型,通过最大化语义词向量损失函数:

得到语义词向量。其中,z表示分词处理后的文本,w表示目标词,c表示目标词所对应的上下文,wj表示上下文c中的一个词,j表示上下文c中单词个数,p(wj|w)表示通过目标词w预测wj的概率。

如图2所示,所述情感词向量训练:在skip-gram模型基础上加入分类层softmaxlayer,用于训练情感词向量。语义部分损失函数与语义词向量相同,情感部分损失函数为

lsentiment=∑y·log(y_pred)

其中,y-pred=softmax(x)表示预测的情感标签,x表示上述训练得到的语义词向量,y表示真实情感标签。最后将语义词向量损失函数lsemantic和情感部分损失函数lsentimen线性结合得到情感词向量损失函数:其中表示权重因子。通过最小化情感词向量损失函数l得到情感词向量,该向量既包含了语义关系又融入了情感信息。

所述词典词向量构建:情感词典包含一个词的情感得分,不同情感词典得分标准不同,本发明将所有情感词典单词得分归一化到[-1,1],得到词典词向量矩阵。矩阵中每一行代表一个词在不同情感词典的情感得分,若一单词未出现在某一情感词典当中,用0代替。

步骤二、利用语义词向量、情感词向量和词典词向量分别表示分词文本,得到三种类型初始输入词向量矩阵。利用长短时记忆网络lstm捕获三种类型初始输入词向量矩阵中每一单词的上下文语义,融入上下文信息后得到三种类型输出词向量矩阵,输出词向量矩阵能够消除单词歧义。三种类型初始输入词向量矩阵包括:初始输入词典词向量矩阵、初始输入语义词向量矩阵和初始输入情感词向量矩阵。所述三种类型输出词向量矩阵包括:输出词典词向量矩阵、输出语义词向量矩阵和输出情感词向量矩阵。

如图3所示,具体过程为:原始文本数据经过分词处理后的分词文本利用上述所得词向量表示,得到三种类型初始输入词向量矩阵d且即d是一个n×di的矩阵,其中n表示句子中单词个数,di表示相应词向量维度,i={1,2,3}。所述初始输入语义词向量矩阵表示为初始输入词典词向量矩阵表示为初始输入情感词向量矩阵表示然后,利用双向长短时记忆网络lstm结构捕获单词的上下文信息用于歧义消除,单词的上文信息向量表示为下文信息向量表示为其中dl和dr分别对应上文和下文信息向量的维度。融入上下文信息后的输出词向量矩阵表示为其中dl+di+dr为融合后的词向量维度。所述输出语义词向量矩阵表示为输出词典词向量矩阵表示为以及输出情感词向量矩阵表示为

步骤三、利用卷积神经网络cnn并结合不同滤波长度的卷积核提取三种类型输出词向量矩阵的局部特征。具体处理过程为:利用滤波长度l的cnn卷积核,对三种类型的输出词向量矩阵进行卷积操作,卷积参数不同的滤波长度卷积核得到不同的卷积矩阵当滤波长度l=g时,卷积矩阵为g元卷积矩阵,其中m为卷积核个数。对输出语义词向量矩阵和输出情感词向量矩阵卷积核个数为m1。对输出词典词向量矩阵卷积核个数为m2。然后对卷积矩阵s每一列进行最大化采样得到输出词向量矩阵的局部特征xl,其中输出语义词向量矩阵的局部特征表示为xl1,输出词典词向量的局部特征表示为xl2,输出情感词向量的局部特征表示为xl3

步骤四、利用三种不同的注意力机制,即长短时记忆网络注意力机制、注意力采样以及注意力向量分别提取输出语义词向量矩阵和输出情感词向量矩阵的全局特征。具体处理过程为:

a、利用双向长短时记忆网络注意力机制提取输出词向量矩阵的全局特征,计算输出词向量矩阵中每个单词的注意力权重。首先,同样通过lstm结构得到每个单词所对应的隐向量。然后,根据隐向量计算得到输出词向量矩阵中第i个词的初始权重其中表示输出词向量矩阵中第i个词的隐向量,ba为偏置参数,wa和vt为网络结构权重参数。对输出词向量矩阵其对应的初始权重向量表示为其中表示输出词向量矩阵中第i个词初始权重,n为输出词向量矩阵中单词个数。接着对初始权重向量进行归一化操作得到概率权重向量其中表示输出词向量矩阵中第i个词概率权重。最后将概率权重向量aa与输出词向量矩阵相乘得到全局特征。由于词典词向量维度较低,本发明忽略其全局特征。语义词向量全局特征表示为xg1,情感词向量全局特征表示为xg3

b、注意力采样提取输出词向量矩阵的全局特征:首先,根据均匀分布uni(-β,β)随机初始化类别矩阵其中c表示情感类别数,包括正向,中立和负向三个类别,表示均匀分布的区间参数。定义关联矩阵来捕获卷积矩阵s和类别矩阵wclass之间的关系,其中关联矩阵g=stuwclass,st为转置后的卷积矩阵,u为权重矩阵。随后对关联矩阵g进行归一化操作获得注意力矩阵a,最后转置卷积矩阵st与a相乘得到特征信息。对矩阵sta的每一行进行最大化处理,筛选出对情感极性判断最相关的特征其中p和q分别表示矩阵sta的行和列,最后得到输出词向量矩阵的全局特征。同样,语义词向量全局特征表示为xg1,情感词向量全局特征表示为xg3

c、注意力向量提取输出词向量矩阵的全局特征:如图4所示,首先对滤波长度l=1的一元卷积矩阵的行进行最大化处理得到一元注意力向量,转置后的输出词向量矩阵与之一元注意力向量相乘得到一元全局特征。如图5所示,对二元词组,同样对滤波长度l=2的二元卷积矩阵行进行最大化处理得到二元注意力向量,二元输出词向量矩阵表示为其中二元输出词向量矩阵每一行表示为ri为输出词向量矩阵第i行,转置二元输出词向量矩阵与二元注意力向量相乘得到二元全局特征。同样,词典词向量维度低,忽略其全局特征。语义词向量所有全局特征首尾相连融合成xg1,情感词向量所有全局特征首尾相连融合为xg3

步骤五、对原始文本数据提取人工设计特征xt。所述人工设计特征包括:形态学特征、词性特征、否定检测、词典得分。所述形态学特征包括大写单词个数、问号出现次数,感叹号出现次数。所述词性特征包括:每种词性词在句中所出现次数。所述否定检测包括:否定词出现次数。所述词典得分包括:句子情感总得分和句子最后一词得分。

步骤六、利用所述局部特征、所述全局特征及所述人工设计特征对多模一致回归目标函数进行参数训练。具体处理过程为:首先定义p和q为两种长度相同的离散概率分布,d(p||q)定义为kl散度之和:d(p||q)=dkl(p||q)+dkl(q||p)。将语义词向量局部特征xl1,词典词向量局部特征xl2,全局特征xg1及人工特征xt首尾相连聚合成特征x1=[xt;xg1;xl1;xl2]t。同样将情感词向量局部特征xl3,词典词向量局部特征xl2,全局特征xg3及人工特征xt首尾相连聚合成特征x2=[xt;xg3;xl3;xl2]t。最后将特征x1和特征x2首尾相连聚合成特征xc。最后,最小化多模一致回归目标函数求得多模一致回归的参数。

其中,代表第i个训练样本所提取的特征所预测的概率类别分布,代表第i个训练样本的融合特征所预测的概率类别分布,yi表示真实概率分布,k={1,2}表示不同方面所融合的特征,n表示训练样本数,θc和θk都为正则参数,λ为超参。

步骤七、求得多模一致回归最佳参数,通过多模一致回归预测方法对初始输入词向量矩阵进行正向,中立或者负向情感极性分析。具体处理过程为:特征所预测情感类别概率分布表示为其中表示特征预测为正向情感类别的概率,表示特征预测为中立情感类别的概率,表示特征预测为负向情感类别的概率。然后利用多模一致回归进行最终情感类别概率预测。输入词向量矩阵属于第j个情感类别概率为:

其中j=1,2,3分别代表正向,中立和负向三种情感类。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1