一种属性情感词向量的深度学习方法与流程

文档序号:11519612阅读:693来源:国知局

本发明涉及到互联网产品评论的情感分析,涉及采用深度学习技术获得产品属性情感词向量表达,涉及将属性和情感信息融入到传统语义词向量表达的方法。



背景技术:

随着互联网和电子商务的快速发展,网上购物对人们消费模式产生巨大的影响。各种电商平台,如淘宝、京东、一号店等涵盖了成千上万种的产品。在没有接触实际产品的情况下选购产品,用户的产品评论信息具有很高的参考价值,但对成千上万条评论进行逐条浏览或者通过人工规则进行归纳都很费时费力,应用自然语言处理和机器学习的方法对产品评论进行深度自动挖掘,呈现简明直观的“大家印象”在很大程度上可以改善和提升用户体验。正是因为产品评论挖掘有着强大的现实应用意义和重要的科学研究价值,情感分析(sentimentanalysis,sa)成为越来越多的研究者和工业界的兴趣焦点。传统的产品情感分析通常采用分步法:(1)第一步是属性抽取,即采用传统自然语言处理技术,从用户评论中抽取产品(服饰,数码,食品等)的属性描述(质量,颜色,分辨率,口感等)片段;(2)第二步是情感分析,即根据已构建好的情感词典和由专家人工设计的自然语言特征,采用机器学习算法构建情感分类(正面或负面)的模型系统进行预测。这种分步的策略面临三个主要问题:(1)产品属性的数量须提前确定,然而产品类型成千上万,属性描述更是千变万化,因而属性抽取系统的迁移性较差;(2)情感词典须预先人工设定,然而部分情感词的极性是可变的,固定情感词典无法正确判断基于不同属性上下文的情感词的正确极性;(3)传统情感分析中只有正面和负面情感极性,缺乏针对产品属性的细粒度情感分析。此外,分步法中产品属性抽取产生的误差,也会传播并叠加到后续情感分析中。

表1列出从天猫电商平台上采集到的手机产品的用户评论原始数据,其中用户评论中的黑体下划线文本与“大家印象”标签相对应。例如第一条用户评论中“双摄像头拍照效果确实不错”的内容与“像素很好”这个“大家印象”标签对应起来。

表1天猫电商平台上关于手机产品的用户评论与对应“大家印象”标签的示例表



技术实现要素:

本发明的目的是针对现有技术的不足而提出的一种自动学习产品的属性情感词向量的方法,该方法采用深度学习技术,将产品的属性和情感信息融入到词向量特征的自动学习中,获得属性情感词向量(aspect-basedsentimentwordvector,aswv)特征。该方法不需要采用传统自然语言处理技术进行产品属性词的抽取,避免了属性抽取的误差传播,也克服了情感词只能具有单一情感极性的束缚。

实现本发明目的的具体技术方案是:

一种属性情感词向量的深度学习方法,该方法包括如下步骤:

步骤一:将电子商务网站产品评论的“大家印象”标签作为属性情感标签自动标注产品评论数据集,初始化词向量;

步骤二:提出深度学习模型aswv将评论中蕴含的属性情感信息融入到词向量的训练过程,获得属性情感词向量;

步骤三:如果未满足迭代停止条件,则将属性情感误差反向传播更新属性情感词向量;

步骤四:输出属性情感词向量,构建细粒度的产品评论情感分析系统。

所述步骤一中自动标注产品评论数据集,初始化词向量,包括如下步骤:

步骤a1:将淘宝和京东电子商务网站产品评论的“大家印象”标签作为属性情感标签,自动标注产品评论数据集;

步骤a2:在自动标注数据集上采用谷歌word2vec框架中的skip-gram模型或者cbow模型训练得到预训练的传统语义词向量字典;

步骤a3:通过查表,将产品评论句子中的词初始化为词向量。

所述步骤二中提出深度学习模型aswv将评论中蕴含的属性情感信息融入到词向量的训练过程中,包括如下步骤:

步骤b1:采用传统神经网络语言模型(如word2vec框架中的skip-gram模型或cbow模型)训练蕴含语义信息的词向量表示;

步骤b2:采用深度学习模型(如cnn,rnn或lstm模型)学习蕴含属性情感信息的词向量表示;

步骤b3:融合步骤b1学习的语义信息与步骤b2学习的属性情感信息,训练深度学习模型aswv,获得属性情感词向量。

所述步骤三中反向传播更新属性情感词向量,包括如下步骤:

步骤c1:检查迭代停止条件,如果满足条件,跳到本方法的步骤四,否则将属性情感误差后向传播更新属性情感词向量。

所述步骤四中输出属性情感词向量,构建细粒度的产品评论情感分析系统,包括如下步骤:

步骤d1:输出属性情感词向量;

步骤d2:将得到的属性情感词向量直接作为深度神经网络模型的输入层构建端到端的产品评论情感分析系统;

步骤d3:将得到的属性情感词向量结合传统自然语言处理特征,采用机器学习算法构建产品评论的情感极性分类和情感强度预测系统。

本发明与现有技术不同之处:⑴、本方法不需要传统自然语言处理技术进行产品属性词的抽取,从而避免了属性词抽取误差的传播和叠加。⑵、本方法不需要预先设定固定的情感词典,同时克服了情感词只能具有单一情感极性的束缚。⑶、本方法采用深度学习技术,将产品的属性和情感信息融入到词向量的自动学习中获得属性情感词向量特征,不需要传统自然语言处理技术中人工设计特征的方法,实现针对产品属性的细粒度的情感极性和情感强度分析。⑷、本方法利用产品评论的“大家印象”标签作为训练数据集的属性情感标签,放松对标注数据的要求,降低了人工成本,提高了系统的迁移性。

本发明的有益效果包括:本发明提出采用深度学习技术将产品的属性情感信息融入到词向量特征的自动学习中,从而自动获得产品的属性情感词向量特征。该方法不需要传统自然语言处理进行人工设计特征,避免了传统自然语言处理方法的分步策略所造成的误差传播和叠加,也克服了情感词只能具有单一情感极性的束缚。该方法获得的属性情感词向量是个低维度连续数值型的向量,可以与传统自然语言处理特征相结合,采用机器学习算法构建产品评论的情感极性分类和情感强度预测系统,也可以作为深度神经网络模型的输入层构建端到端的产品评论情感分析系统。

附图说明

图1为本发明的流程图。

具体实施方式

结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。

本发明中所涉及的专业术语的定义如下:

词向量(wordvector):使用低维连续性数值的向量表示文本中的每个词。

语言模型(languagemodel):输入一个长度为n的字符串序列s=(wd1,wd2,wd3,…wdn),每个wd是一个词(word),计算字符串序列s是自然语言的概率p(s),即概率p(wd1,wd2,wd3,…wdn)。常见的神经网络语言模型有collobret提出的c&w模型,和谷歌提出的word2vec框架,采用这些神经网络模型进行语言模型训练,同时获得文本中每个词的词向量表达。

深度学习模型(deeplearningmodel):深度学习模型分为三个部分,即输入层,隐藏层,输出层。其中,隐藏层可以扩展成为多层结构,相邻两层之间的神经元相互连接,层内部神经元没有连接。常用的深度学习模型有卷积神经网络模型(convolutionalneuralnetwork,cnn)、循环神经网络模型(recurrentneuralnetwork,rnn)、长短期记忆神经网络模型(long-shorttermmemory,lstm)等。

属性情感(aspect-basedsentiment):属性是评论类文本的一部分,用来表征产品固有的性质,例如在评论文本“手机音质很赞”中,“手机”是产品,“音质”为产品的属性,“很赞”是对该属性的情感表达。

训练语言模型获得的词向量特征表达蕴含了语义和语法信息,但缺乏属性和情感信息,因此,为了将产品的属性和情感信息融入到词向量特征的自动学习中,获得属性情感词向量特征,本发明的第一步骤利用淘宝和京东电子商务网站产品评论的“大家印象”标签作为属性情感标签去自动标注产品评论数据集,虽然自动标注的质量不如人工标注高,存在噪音,但大大降低了人工成本,可以低成本获得足够大量的标注训练数据样本。在该数据集上采用谷歌word2vec框架中的skip-gram模型或者cbow模型训练语言模型获得预训练的词向量字典,通过查表,将产品评论句子中的词初始化为词向量,初始化过程描述如下:

步骤a1:使用产品属性情感标签l={l1,l2,…,lk}自动标注产品评论数据集中所有的句子s={s1,s2,…,sn},每个句子为字符串序列si={wd1,wd2,…,wdn};

步骤a2:使用skip-gram模型或cbow模型在产品评论数据集上训练语言模型获得预训练的词向量字典;

步骤a3:通过查表初始化词向量得到si={w1,w2,…,wn}。

第一步骤中通过语言模型训练获得的词向量只包含语义和语法信息,没有蕴含属性和情感信息。本发明的第二步骤提出融入属性情感信息的词向量学习模型aswv,该模型采用本发明第一步骤中获得的预训练的词向量作为输入层,将产品评论的“大家印象”标签当做属性情感标签,通过神经网络模型将评论中蕴含的属性情感信息融入到词向量的训练过程中,生成属性情感词向量(aspect-basedsentimentwordvector,aswv),其中语义信息采用神经网络语言模型训练得到(如word2vec框架中的skip-gram模型或cbow模型),属性情感信息采用深度学习模型(如cnn,rnn或lstm模型)学习得到。该词向量学习模型aswv的训练过程描述如下:

输入:产品评论句子词向量si={w1,w2,…,wn},产品属性情感类标li,语言学习模型和深度学习模型及相关参数

输出:属性情感词向量

过程:

步骤b1:将目标词(word)作为语言模型的输入,训练得到蕴含语义信息的词向量表示

(1)以word2vec框架中的skip-gram模型为例,对于序列si,该模型通过使用中心词wij预测上下文c,从而计算si是自然语言的最大后验概率p(si),计算公式如下:

其中p(c|wij;θsem)表示上下文c在中心词为wij,参数为θsem的条件下出现的概率。

(2)使用层次softmax算法或者负抽样算法训练模型参数,训练语言模型的损失函数定义为:

其中,n表示数据集的样本数量,θsem为训练语言模型的参数。

步骤b2:将带有属性情感标签的目标词(word)作为深度学习模型的输入,学习蕴含属性情感信息的词向量表示。以cnn模型为例,训练过程描述如下:

(1)输入句子词向量si={w1,w2,…,wn};

(2)卷积层将输入的词向量进行卷积操作,计算公式如下:

cj=f(utwj-h+1:j+b)(3)

其中,f为非线性函数,如双曲正切激活函数(hyperbolictangent)、s型曲线激活函数(sigmoid)等,b为偏置项,u表示窗口大小为h的卷积滤波器,w(j-h+1:j)表示文本si中的第j-h+1个词到第j个词(共h个词)的词向量。滤波器数量为m,在大小为h的滑动窗口下,得到m个特征值序列c={c1,c2,…,cm},其中每个特征值序列ci=[c1,c2,…,cn-h+1],ci∈rn-h+1,i=[1,…,m]。

(3)为了提取重要特征和控制输出的一致性,池化层将这m个特征值序列c进行池化操作得到一个m维的特征向量

(4)然后,softmax层将这个m维特征向量z进行概率预测,计算公式为:

其中,θsen是softmax层中用于预测类标的k*m的矩阵,θsenl和θsenk分别表示θsen矩阵中对应l类和k类的参数向量。

预测文本s1属于各个属性情感标签的概率分布,对应概率值最高的标签类标即为预测类标。属性情感信息的训练学习是个有监督的学习过程,训练的损失函数为:

其中,l∈rk,使用one-of-k编码,k为样本类标数,θsenj表示θsen矩阵中对应j类的参数向量。

步骤b3:为了将步骤b1学习的语义信息和步骤b2学习的属性情感信息进行融合,该深度学习模型aswv的损失函数计算如下:

本发明的第三步骤是对第二步骤中的属性情感词向量模型进行训练和学习,为了对步骤b3中的损失函数(6)求导,将词向量的语义和属性情感误差进行反向传播(backpropagation),在更新该模型参数的同时,也更新输入层的词向量。直到loss(θsem;θsen)小于阈值θt,则停止更新,获得训练好的属性情感词向量。

最终,本发明的第四步骤输出训练好的属性情感词向量,从而自动获得产品的属性情感词向量特征,该特征可以与传统自然语言处理特征相结合,采用机器学习算法构建产品评论的情感极性和强度分析系统,也可以作为深度神经网络模型的输入层构建端到端的产品评论情感分析系统。

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