结合用户和产品信息的神经网络情感分析方法与流程

文档序号:17013312发布日期:2019-03-02 02:20阅读:158来源:国知局
结合用户和产品信息的神经网络情感分析方法与流程

本发明涉及自然语言处理以及情感分析领域,尤其涉及一种基于注意力机制结合用户和产品信息的神经网络情感分析模型。



背景技术:

情感分析任务旨在通过人们的语言文字分析人们所表达的情感或者挖掘“用户”的意见,是数据挖掘领域和自然语言处理领域的一项重要任务。近年来,由于互联网评论网站的快速成长,评论文本数据海量出现,情感分析任务吸引了越来越多研究者的注意。

本发明解决的重点问题是情感分析任务中的情感分类任务。情感分类任务从文本的结构角度划分,可以分为三个级别:词语级别、句子级别、文本段级别。词语级别的情感分类主要是对给定词语的情感极性划分,例如“积极”、“消极”或者不同等级情感强度;句子级别情感分类是对给定的一句话预测其情感倾向;文本段级别情感分类是对用户所表达的完整文本段进行情感倾向预测。文本段级别情感分类是情感分类任务中至关重要的一个环节,因为“用户”表达的“评论”经常是以文本段的形式出现,所以文本段级别的情感分类具有更广阔的应用价值;同时大量词语级别和句子级别情感分类研究的最终目的也是为了预测文本段级别的情感倾向。文本段级别的情感分类任务假设一段“评论”是一个特定“用户”表达的对一个特定“产品”的情感,同时,这里所提及的“评论”、“用户”、“产品”都是一个形象化的称呼,“评论”可以指任意类型文本段,“用户”指文本段的生成者,“产品”指文本段描述的目标。

现阶段大多数工作都把情感分类任务看作文本分类任务的一个特殊任务。这些工作把不同的情感极性或者情感强度视为不同的分类,随后采用机器学习算法提取相应特征如“词袋”向量,训练分类器对文本段进行情感分类。由于分类器的性能强烈依赖于所提取特征的质量,所以这类研究的重心基本都放在如何从文本或者外部的情感词典提取更行之有效的特征。

近些年来深度神经网络模型在计算机视觉、语音识别和自然语言处理领域得到了成功的应用,一些研究者受此启发,将神经网络应用到了情感分析领域,提出了基于神经网络的情感分析模型,这种模型能够自主学习文本的低维特征向量,不需要额外的特征提取环节。目前的大多数此类神经网络情感分析模型把一句话或者一段文本作为事先构建好的神经网络的输入,随之即生成这句话或者这段文本的语义特征向量。但是这样的神经网络情感分类模型只利用了文本信息,忽略了重要的用户和产品特征信息,而用户和产品的特征属性往往对预测文本的情感强度具有重大的意义。

为了在情感分类任务中吸收用户和产品的信息,现有工作在神经网络中把每个用户和产品表示成一个文本修饰矩阵和表示向量,在词向量输入层利用用户和产品的文本修饰矩阵修正每个词语的向量表示,在文本表示输出层将文本表示向量与用户、产品表示向量级联生成新的文本表示向量,作为文本特征向量进行分类。这种策略一定程度上提升了预测文本段情感分类任务的性能,但是依然存在着一些问题:(1)每个用户和产品的文本修饰矩阵在有限的数据下很难被训练完全。尽管网络上拥有着海量评论数据,但对于单一的用户而言,用户的评论数据往往只有几十条左右,这种小量级的数据很容易导致文本修饰矩阵训练得不充分。(2)这种方法只在词语层的情感倾向判断上利用了用户和产品信息的特征属性,而用户和产品的特征属性往往不仅反映在词语层面,也反映在句子层面。例如,在Yelp数据上的一条两星商铺评论(Yelp评论打分为五星制,星级越高表示越满意),“一个很好的吃牛排的地方,我是这里夏威夷披萨的忠实粉丝…但是我不想为两个人的晚餐花费100美元”,我们可以发现,这条评论收获两星差评的主要原因来源于后一句“但是我不想为两个人的晚餐花费100美元”的情感倾向,而与前一句的情感倾向相关性不大。

综上所述,神经网络模型在情感分析领域,尤其是情感分类任务上取得了良好的效果,但是如何在神经网络情感分类模型中更行之有效地吸收用户和产品特征信息,以得到更准确的情感分类结果依然是一个十分重要的待解决问题。



技术实现要素:

本发明提供一种结合用户和产品信息的神经网络情感分析方法,用于解决现有技术中不能很好的在神经网络情感分类模型中更行之有效地吸收用户和产品特征信息,以得到更准确的情感分类结果的问题。

本发明提供一种结合用户和产品信息的神经网络情感分析方法,包括:

获取待分析的文本段信息、用户信息和待评目标信息;

根据所述文本段信息和长短期记忆神经网络模型在词语层面、句子层面上构建句子、文本段的语义向量;根据所述句子和文本段的语义向量,以及用户信息和待评目标信息获得句子和文本段的增强向量;

根据文本段的增强向量获得文本段的情感分类。

优选地,所述根据所述文本段信息和长短期记忆神经网络模型在词语层面、句子层面上构建句子、文本段的语义向量,包括:

采用文本深度表示模型在相应领域文本语料库中训练语言模型获得词向量;

根据所述词向量和语义分析算式获得句子的语义向量,所述语义分析算法为:

每一步给定当前输入词向量使用上一步的隐状态和记忆单元状态来得到这一步的隐状态和记忆单元状态

其中,i,f,o表示长短期记忆神经网络的输入、遗忘和输出门,⊙表示逐位相乘,σ表示sigmoid函数,W和b表示待训练的参数;为词向量,将得到的隐状态通过一个平均池化层得到当前句子的语义向量;

根据所述句子的语义向量和语义分析算式获得文本段的语义向量,所述语义分析算法为:

每一步给定当前输入句子的语义向量使用上一步的隐状态和记忆单元状态来得到这一步的隐状态和记忆单元状态

其中,i,f,o表示长短期记忆神经网络的输入、遗忘和输出门,⊙表示逐位相乘,σ表示sigmoid函数,W和b表示待训练的参数;为句子的语义向量,将得到的隐状态通过一个平均池化层得到文本段的语义向量。

优选地,所述根据所述句子和文本段的语义向量,以及用户信息和待评目标信息获得句子和文本段的增强向量,包括:

根据用户信息和待评目标信息分别映射获得用户特征向量和目标特征向量;

根据用户特征向量和目标特征向量和关键词语的重要性参数值获得句子的增强向量,具体为:

其中,表示句子中第j个词的重要性参数值;表示词向量的隐状态;si表示句子的增强向量;

根据用户特征向量和目标特征向量、关键句子的重要性参数值和句子的增强向量获得文本段的增强向量,具体为:

其中,βi表示句子中第j个句子的重要性参数值;si表示句子增强向量的隐状态;d表示文本段的增强向量

优选地,

其中,WH、WU和WP是词语层级神经网络的权重矩阵,v是权重向量,vT表示v的转置;用户特征向量和目标特征向量u、p;b表示待训练的参数。

优选地,

e(si,u,p)=vTtanh(WHsi+WUu+WPp+b)

其中,WH、WU和WP是句子层级神经网络的权重矩阵,v是权重向量,vT表示v的转置;用户特征向量和目标特征向量u、p;b表示待训练的参数。

优选地,所述根据文本段的增强向量获得文本段的情感分类并输出显示,包括:

将获得的文本段的增强向量作为情感分类特征,并映射到预测目标空间的多个预设情感分类上:

其中,为情感分类映射特征,Wc为线性矩阵,bc为偏移向量;

采用softmax层计算文本段在每个情感分类上的概率:

其中pc为文本段在情感分类c上的预测概率,C为情感分类类别的数量。

优选地,还包括:通过随机梯度下降,最小化评价函数,对所有参数进行学习与更新;

所述评价函数为预测情感分布和实际情感分布之间的交叉熵,

其中为实际情感分布,当文本段的实际情感恰为分类c时,其值为1,否则为0,D表示训练文本语料库。

由上述技术方案可知,本发明提供的一种结合用户和产品信息的神经网络情感分析方法,通过结合用户和产品的信息,提出了一个有效的神经网络情感分类模型。在文本的词语层级和句子层级分别结合了用户和产品的特征信息引入注意力机制,使得情感分类性能大大提升。

附图说明

图1为本发明一实施例提供的结合用户和产品信息的神经网络情感分析方法的流程示意图;

图2为本发明一实施例提供的结合用户和产品信息的神经网络情感分析方法的层次结构示意图。

具体实施方式

下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。

图1示出了本发明实施例提供一种结合用户和产品信息的神经网络情感分析方法,包括:

S11、获取待分析的文本段信息、用户信息和待评目标信息。

在本步骤中,需要说明的是,用户信息为对待评目标进行评价的用户的基本信息。可包括注册信息、评价历史信息、兴趣爱好信息等。待评目标信息为用户所进行评价的目标的基本信息。待评目标可为产品,基本信息可为产品名称、产品类型、产品质量等。待分析的文本段信息为用户对待评目标的评价语句。

S12、根据所述文本段信息和长短期记忆神经网络模型在词语层面、句子层面上构建句子、文本段的语义向量。

在本步骤中,需要说明的是,如图2所示,首先定义一个文本段d包含n个句子{S1,S2,…,Sn}。li表示文本段中第i个句子的长度。第i个句子Si包括li个单词,分别为

在词语层级,首先把文本段中每一个句子的每一个词映射为一个低维连续向量。采用文本深度表示模型(如word2vec)将文本段中的句子进行表征获得词向量。word2vec是一个将单词转换成向量形式的工具。可以把对文本内容的处理简化为向量空间中的向量运算,计算出向量空间上的相似度,来表示文本语义上的相似度。

根据词向量和语义分析算式获得句子的语义向量。把文本段中的每一句话中的词向量当作一个长短期记忆神经网络的输入,得到每一句话的语义向量表示。语义分析算式具体为:

每一步给定当前输入词向量使用上一步的隐状态和记忆单元状态来得到这一步的隐状态和记忆单元状态

其中,i,f,o表示长短期记忆神经网络的输入、遗忘和输出门,⊙表示逐位相乘,σ表示sigmoid函数,W和b表示待训练的参数;为词向量,将得到的隐状态通过一个平均池化层得到当前句子的语义向量。

根据所述句子的语义向量和语义分析算式获得文本段的语义向量。把句子的语义向量当作句子层级长短期神经网络的输入,在得到每一步的隐状态输出之后同样通过一个池化层得到文本段的语义向量表示d。具体如下:

每一步给定当前输入句子的语义向量使用上一步的隐状态和记忆单元状态来得到这一步的隐状态和记忆单元状态

其中,i,f,o表示长短期记忆神经网络的输入、遗忘和输出门,⊙表示逐位相乘,σ表示sigmoid函数,W和b表示待训练的参数;为句子的语义向量,将得到的隐状态通过一个平均池化层得到文本段的语义向量。

S13、根据所述句子和文本段的语义向量,以及用户信息和待评目标信息获得句子和文本段的增强向量。

在本步骤中,需要说明的是,对于不同的用户和不同的产品,很直观地可以想到,在词语层级,每一个单词对构建句子表示的贡献是不同的,在句子层级,每一个句子对构建文本段表示的贡献也是不同的,因此,使用注意力机制来得到每一个词语对句子表示的重要程度,每一个句子对文本段表示的重要程度。首先,根据用户信息和待评目标信息分别映射获得用户特征向量和目标特征向量,把每一个用户和产品分别映射为一个低维连续向量u和p,初始化为随机向量,并在训练过程中不断对其进行更新。

在词语层级,根据用户特征向量和目标特征向量、关键词语的重要性参数值获得句子的增强向量。用表示对于当前用户、产品,句子中第j个词的重要性参数值,则句子的增强向量表示通过词语层相应句子的长短期神经网络的所有隐状态加权平均得到:

结合用户和产品特征向量u和p,对组成句子的每一个单词定义一个打分函数以衡量每个单词的重要程度,打分函数具体形式如下:

这里WH、WU和WP是神经网络的权重矩阵,v是权重向量,vT表示v的转置。那么通过选择注意力机制可定义词语层长短期记忆神经网络每一个隐状态的权重如下:

由此,便可根据上述的加权平均策略获得每一个句子的增强向量表示。

在句子层级,根据用户特征向量和目标特征向量、关键句子的重要性参数值和句子的增强向量获得文本段的增强向量,具体为:

其中,βi表示句子中第j个句子的重要性参数值;si表示句子增强向量的隐状态;d表示文本段的增强向量。

结合用户和产品特征向量u和p,对组成句子的每一个单词定义一个打分函数以衡量每个单词的重要程度,打分函数具体形式如下:

e(si,u,i)=vTtanh(WHsi+WUu+WPp+b)

这里WH、WU和WP是神经网络的权重矩阵,v是权重向量,vT表示v的转置。那么通过选择注意力机制可定义词语层长短期记忆神经网络每一个隐状态的权重βi如下:

由此,便可根据上述的加权平均策略获得每一个文本段的增强向量表示。

S15、根据文本段的增强向量获得文本段的情感分类。

所述根据文本段的增强向量获得文本段的情感分类,包括:

将获得的文本段的增强向量d作为情感分类特征,使用一个非线性层将d映射到预测目标空间C个情感分类上,如下所示:

之后使用一个softmax层计算文本段在每个情感分类上的概率,如下所示:

其中pc为文本段在情感分类c上的预测概率,C为情感分类类别的数量。由此,我们获得了待分类文本段的情感分布。

通过随机梯度下降,最小化评价函数,对所有参数进行学习与更新。

具体地,通过最小化评价函数学习所有的参数,定义评价函数为预测情感分布和实际情感分布(即答案)之间的交叉熵,如下所示:

其中为实际情感分布,当文本段的实际情感恰为分类c时,其值为1,否则为0,D表示训练文本语料库。我们采用随机梯度下降算法对模型中的所有参数进行更新优化。

本发明实施例提供的一种结合用户和产品信息的神经网络情感分析方法,通过结合用户和产品的信息,提出了一个有效的神经网络情感分类模型。在文本的词语层级和句子层级分别结合了用户和产品的特征信息引入注意力机制,使得情感分类性能大大提升。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本领域普通技术人员可以理解:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明权利要求所限定的范围。

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