一种产品评论情感分类方法和系统与流程

文档序号:20769258发布日期:2020-05-15 19:26阅读:190来源:国知局
一种产品评论情感分类方法和系统与流程

本发明涉及情感分类领域,属于一种产品评论情感分类方法和系统。



背景技术:

随着智能手机、平板电脑、无线传感器网络等各种普适系统的快速发展,人类已经生活在由通信网、互联网、传感网相互融合的混合网络环境中。其中,基于评论的情感分析是意见挖掘领域的一个重要分支和研究方向,主要研究如何采用自动化的方法,从用户的评论中获取用户对事物的褒贬倾向。

由于情感分类可以在一定程度上解决网上各种评论信息杂乱的现象,方便用户准确地定位所需信息,因此,情感分类已成为一项具有较大实用价值的关键技术,是组织和管理数据的有力手段,该领域的研究得到了很多专家的重视。情感分类的方法有两种,一种是基于语义词典的分类方法,一种是基于机器学习的分类方法。其中,基于机器学习的情感分类虽然已经有过不少的研究,但目前大部分研究只是单纯地从文本出发,以传统的机器学习的方式,只使用文本信息进行情感分类,没有考虑过文本之外的其他一些因素(例如文本所针对产品的属性信息等),这些与文本相关的潜在因素也是十分重要的。以一个餐厅为例,用户对该餐馆的评价往往会跟该餐厅的用餐环境、价格区间、餐厅的种类、噪音大小等因素息息相关。如果在对评论进行情感分类的过程中,不结合考虑这些因素,所获得的分类结果的准确性和针对性无疑会大打折扣。



技术实现要素:

本发明的目的在于提供一种产品评论情感分类方法和系统,充分考虑文本与其他因素之间的联系,通过提取与评论相关联对象产品的属性信息,来辅助提升对评论星级预测的准确度。实验表明,本发明能够在一定程度上显著提升评论打星状况分类的准确度。

为达到上述目的,本发明提供如下技术方案:

结合图1,一种产品评论情感分类方法,所述情感分类方法包括:

s1:获取对象产品相关评论的文本信息,对其进行文本转换,以将文本信息转换成统一的向量形式;

s2:以转换成向量形式的评论为基础,区分并且提取对象产品的至少一个属性标签;

s3:以转换成向量形式的评论为基础,预测得到评论的情感标签;

s4:结合对象产品的属性标签和预测得到的评论的情感标签,针对对象产品的每个评论进行情感分类与属性分类的联合学习,寻找两者之间存在的共性关系。

进一步的实施例中,步骤s1中,所述获取对象产品相关评论的文本信息,对其进行文本转换,以将文本信息转换成统一的向量形式包括以下步骤:

s11:将训练集中每个评论相关句子x中的所有单词统计到词汇集合v中,每个单词设置有相应的编号xi,xi表示句子x中的第i个单词,每个单词xi∈v由一连串的字符ci=[c1,c2,…,cl]组成,其中l是这个单词的最大长度并且每个单词都要加到这个长度上;

s12:将每个句子x表示为[v[x1],v[x2],…,v[xn]]的形式,其中n为每个句子所包含的单词个数,q∈rd×|c|是词汇的表示矩阵,c记为字符的词汇,d为字符向量的维度

s13:将词向量以及词汇集合v作为输入,传入到embedding层,再由embedding层构建字符向量ci,ci∈rd×l,将ci的集合作为lstm的输入。

进一步的实施例中,步骤s2中,所述以转换成向量形式的评论为基础,区分并且提取对象产品的至少一个属性标签是指,采用多层感知器训练二进制分类器来预测对象产品的属性极性,包括以下步骤:

s21:将评论的文本信息表示为输入向量h,采用lstm的隐藏层以学习更高层次的特征hb:

s22:将隐藏层生成的hb作为softmax输出层的输入,经过softmax层预测商品的属性标签为pb:

pb=softmax(wbhb+bb)

其中,wb,bb均为实验模型的参数。

进一步的实施例中,步骤s3中,所述以转换成向量形式的评论为基础,预测得到评论的情感标签是指,采用多层感知器训练二进制分类器预测给定评论的情感极性,包括以下步骤:

s31:将评论的文本信息作为输入向量h,采用lstm的隐藏层来学习更高层次的特征hp:

s32:将隐藏层生成的hp作为normal输出层的输入,经过normal层预测的情感极性标签为pp:

pp=normal(wphp+bp)

其中,wp,bp均为实验模型的参数。

进一步的实施例中,步骤s4中,所述结合对象产品的属性标签和预测得到的评论的情感标签,针对对象产品的每个评论进行情感分类与属性分类的联合学习,寻找两者之间存在的共性关系包括以下步骤:

s41:将一个评论的打星情况p,以及该评论所对应对象产品的各个属性q(q1,q2,…,qn)作为参数进行输入,其中,p使用了高斯分布来计算值,q使用了标准的softmax函数进行分类,p用来预测评论的打星情况来获得分类的能力,q用来区分不同属性来获得域不变的特征;

s42:记f(xi)是所输入评论语句对应的特征向量,星级分类q映射特征向量f(xi)到它所对应的标签,将此映射参数用θy标记,星级分类在基于交叉熵损失的资源域ns样本上训练,星级分类损失ltask表示为:

其中,yi是对应于xi∈s(x)的星级分类标签,是最高softmax层的输出:s(x)是输入的评论与对应星级分类样本对的集合;

在训练期间,对参数θf和θy进行优化,使分类损失ltask最小化,θf是xi映射到特征向量f(xi)的映射参数;

s43:属性标记分类器将相同的隐藏状态h映射到具有参数θd的属性标签,目的是以以下属性损失函数ltype区分属性标签:

其中,di是样本i的正确属性标注,是顶层的输出,nt指来自目标域的nt样本,

通过使θd上的损耗最小,同时使θf上的损耗最大,将属性分类器训练到损耗函数的鞍点;

优化θf确保属性标记分类器不能区分属性,换言之,找到星级分类与属性分类之间存在的共性关系。

基于前述产品评论情感分类方法,本发明还提及一种产品评论情感分类系统,所述情感分类系统包括文本转换器、属性标记分类器、评论星级分类器;

所述文本转换器用于将文本信息转换成统一的向量形式,所述属性标记分类器用于区分产品的属性信息,所述评论星级分类器用于区分评论的星级信息。

进一步的实施例中,所述情感分类系统采用multi-lstm神经网络搭建而成,包括多个lstm层,所述多个lstm层分为主lstm层和辅助lstm层;

其中,所述主lstm层用于在评论语句的基础上,对评论进行星级的分类;所述辅助lstm层用于评论语句的基础上,区分对象产品的各种属性信息。

本发明的有益效果在于:

1)充分考虑文本与其他因素之间的联系,通过提取与评论相关联对象产品的属性信息,来辅助提升对评论星级预测的准确度。实验表明,本发明能够在一定程度上显著提升评论打星状况分类的准确度;并且,获取的样本数越多,样本的均衡性越好,参与分类的属性信息越多,评论的情感分类效果越佳。

2)采用了multi-lstm神经网络,对文本进行情感分类。multi-lstm神经网络主要使用了多个lstm层,分为主lstm层,以及辅助lstm层。以本发明所做实验为例,主lstm层就是在评论语句的基础上,进行星级的分类。辅助lstm层就是在评论语句的基础上,用于区分对象产品的各种属性信息。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。

附图说明

图1为本发明的产品评论情感分类方法流程图。

图2为本发明的产品评论情感分类系统的结构示意图。

图3为实施例二中的餐厅种类分布情况示意图。

图4是实施例二中的餐厅售价区间分布情况示意图。

图5是不同训练样本数量下效果的lstm和multi-lstm的训练效果对比图。

具体实施方式

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

实施例一

本发明采用了一种multi-lstm神经网络,用于学习属性域和目标域之间的共同特征,属性域即产品的属性分类块,目标域即评论的星级分类块。multi-lstm的体系结构如图2所示。该模型由三个部分组成:文本转换器、属性标记分类器、评论星级分类器。文本转换器用于将文本信息转换成统一的向量形式,属性标记分类器用于区分产品的属性信息,评论星级分类器用于区分评论的星级信息。接下来,我们会详细介绍每部分的作用以及实现方法。

一、文本的表示

文本转换器以句子作为输入,我们把句子记为x,并把句子中第i个单词记为xi,把训练集中所有单词的词汇集合记为v,c记为字符的词汇。d为字符向量的维度,q∈rd×|c|是词汇的表示矩阵。每个单词xi∈v是由一连串的字符ci=[c1,c2,…,cl]组成,其中l是这个单词的最大长度并且每个单词都要加到这个长度上。ci∈rd×l将成为lstm的输入。具体的做法是,先将训练集中所有的句子中所有单词统计到词汇集合v中,每个单词都会有一个相应的编号,这样每个句子就可以表示为[v[x1],v[x2],…,v[xn]]的形式,其中n为每句话单词的个数。将这样的词向量以及词汇集合v作为输入,传入到embedding层,再由embedding层构建字符向量ci,ci的集合作为lstm的输入。

二、情感的分类

情感的分类是对带有感情色彩的主观性文本进行分析、处理、归纳和推理,并最终将文本的态度划分到侧重于正面情感还是负面情感的过程。在本发明中,我们将情感的分类看成一个回归问题,情感分析旨在预测评论文本的情感标签,其目的是为了找出评论者或作者在某些话题上或针对某一产品的观点态度,从而可以对海量产品的评论信息进行分析挖掘。日常消费中,许多消费者在购买产品前往往要在互联网上了解该商品的相关评论信息,而互联网的信息量巨大,浏览全部信息需要浪费大量的精力,这时候就需要情感分类的技术对评论进行有效地梳理,为用户提供该产品的一个综合的印象。以本发明的实验为例,我们所做的情感的分类也就是星级分类,判断一条评论对于一家餐厅的情感倾向,星级越高也就表示该条评论对该餐厅具有更加积极的正面评价。本发明的输入星级标签为(0.2,0.4,0.6,0.8,1.0),分别对应评论的星级分类1星,2星,3星,4星,5星。通过lstm的训练,获得一个连续型的星级评价。在实验中,我们使用多层感知器训练二进制分类器预测给定评论的极性,将评论的文本信息作为输入向量h,使用lstm的隐藏层来学习更高层次的特征。隐藏层生成的hp作为normal输出层的输入,经过normal层预测的情感极性标签为pp:

pp=normal(wphp+bp)

其中,wp,bp均为实验模型的参数。

三、商品属性的分类

不同的商品会有着不同的属性信息,这些商品的属性信息有时候会成为该商品的优势或劣势,因此对用户的评论产生一定正面的或者负面的影响,分析这些商品属性与评论之间的关系,将会对评论的情感分类产生一定的帮助。但首先要做的是将商品的属性信息进行区分出来。商品属性的分类可以看做是一项分类任务,在实验中,我们使用多层感知器训练二进制分类器来预测给定商品的属性极性,将评论的文本信息表示为输入向量h,使用lstm的隐藏层来学习更高层次的特征。隐藏层生成的hb作为softmax输出层的输入,经过softmax层预测商品的属性标签为pb:

其中,wb,bb均为实验模型的参数。

实施例二

以餐厅为例,本发明所做的商品属性的分类也就是对餐厅的属性信息进行分类,实验选取了两种比较有代表性的属性信息,分别是类别信息(category)和价格区间信息(pricerange)。

一、类别信息

类别信息将餐厅划分为不同种类的的餐厅,以本实验为例,将餐厅划分成了十种不同的菜系:墨西哥菜系(mexican),新式美国菜系(americannew),传统美国菜系(americantraditional),意大利菜系(italian),中国菜系(chinese),日本菜系(japanese),地中海菜系(mediterranean),泰国菜系(thai),越南菜系(vietnamese),其他菜系(others)。输入餐厅的种类信息,进行训练,对于一个用于测试的评论,获得其评论的餐厅的种类。情感在评论中可能受到多种因素的影响,其中餐厅的类别就是其中的一个。如下表例1和例2所示,例1这条评论表明自己是对墨西哥菜的好坏很有经验,并表示了对这家餐厅的墨西哥菜的赞美。例2这条评论讲述了自己去吃一家日本寿司店的经历,评论者喜欢这里的寿司但不喜欢这个地方。

例1评论本身是一个褒义的评论,例2评论本身是一个中性的评论。但两条评论中关于餐厅中的属性信息,一个是墨西哥菜,一个是日本菜,例子中这两条相关都会对评论的情感倾向产生一个较为积极的影响。

表1餐厅类别属性影响举例

二、价格区间信息

价格区间信息区分不同餐厅的价格,以本实验为例,将餐厅的价格划分为(low,normal,high,veryhigh,other)总计五个区间。输入餐厅的价格信息,进行训练,对于一个用于测试的评论,获得其评论的餐厅的价格划分。价格也是影响评论情感的一个关键。如下表例3和例4所示,例3这条评论中表明了评论者对该餐厅价格的极力赞美,并列举了具体的事例彰显价格的公道。例4这条评论中表明了评论者对该餐厅价格的些许不满,并给上自己认为比较合适的价格。很显然,例3中的价格属性信息将对例3中的评论的情感倾向产生一个积极的影响,而例4中的价格属性信息将对例4中的评论的情感倾向产生一个负面的影响。

表2餐厅价格区间属性影响举例

三、情感分类与商品属性分类的联合学习

将一个评论的打星情况p,以及该评论所对应餐厅的各个属性q(q1,q2,…,qn)作为参数进行输入,p使用了高斯分布来计算值,q使用了标准的softmax函数进行分类。p用来预测评论的打星情况来获得分类的能力,q用来区分不同属性来获得域不变的特征。

记f(xi)是所输入评论语句对应的特征向量,星级分类q映射特征向量f(xi)到它所对应的标签,我们将此映射参数用θy标记。星级分类在基于交叉熵损失的资源域ns样本上训练:

其中yi是对应于xi∈s(x)的星级分类标签,是最高softmax层的输出:在训练期间,对参数θf和θy进行优化,使分类损失ltask最小化。这样可以保证p(f(xi))可以在目标域进行正确的分类。

反之,属性分类器将相同的隐藏状态h映射到具有参数θd的属性标签。属性分类器的目的是以以下损失函数区分属性标签:

其中di是样本i的正确属性标注,是顶层的输出,nt指来自目标域的nt样本。通过使θd上的损耗最小,同时使θf上的损耗最大,将属性分类器训练到损耗函数的鞍点,优化θf确保属性标记分类器不能区分属性,换言之,找到星级分类与属性分类之间存在的共性关系。

总的来说,前述方法是以一家餐厅的评论为出发点,预测评论的打分情况,以评论本身为基本,以餐厅的属性为辅,寻找餐厅属性与评论之间的内在联系,得到共同特征,来取得比单纯对评论文本信息进行情感分类更加好的分类效果。

实施例三

下面分别采用长短记忆神经网络(lstm),multi-lstm神经网络来进行实验,通过对比实验的结果,来验证我们所提出的模型的分类的性能情况。

一、实验设置

本发明实验数据来自于美国最大的点评网站yelp,收集了其中关于餐厅的属性信息及其相关的评论信息,并从所收集的信息中筛选出合适的数据进行训练与测试,下面将介绍不同模型的具体设置情况。

(1.1)评价标准

本实验采用了统一的标准rmse(均方根误差)来进行评价,均方根误差是观测值与真值偏差的平方与观测次数n比值的平方根,能够很好的反映预测值和真实值的偏离情况,评价标准rmse的公式如下:

其中gri为真实评论情感得分,pri为预测评论情感倾向。

(1.2)数据集数量及数据分布情况

训练集为1891条评论,测试集为3310条评论,为了保证训练的有效性,对评论进行了均衡化的分布筛选,以下为评论分布情况。

表3评论的星级分布情况

图3为实施例二中的餐厅种类分布情况示意图。图4是实施例二中的餐厅售价区间分布情况示意图。

(1.3)参数设置

实验中神经网络的激活函数使用了normal和softmax,分别对应于评论的情感预测以及属性分类。采用了adma算法优化模型参数,其他的参数设置如表4所示。

表4实验参数设置表

二、实验结果比较以及分析

(2.1)和基准结果进行比较

为了评估我们所提出的muti-lstm的性能,我们选择与只使用lstm的方法进行结果的对比,对比结果如表5所示。

表5和基准系统进行比较

通过表5可以看到,两种模型之间的表现还是有差异的,使用lstm模型得到的rmse的结果为0.260,使用muti-lstm模型得到的rmse的结果为0.249,两者相差了0.011。进一步进行计算可以得到,muti-lstm的结果比lstm的结果要好上约4%,进步还是比较明显的,说明评论之外的其他的餐厅属性信息对评论的情感回归预测能起到一定的帮助,在较为好的数据集下,即评论信息与餐厅属性信息高度相关的数据集下,餐厅属性信息将起到更大的帮助,评论的情感回归预测将更加准确。

(2.2)不同因素的影响

本实验中,我们选取了餐厅的种类以及价格区间来进行实验,用于提高对评论的情感预测的准确度。为了进一步地比较不同因素对于评论的情感预测的影响情况,我们做了第二组实验,将不同的影响因子单独的拿出来进行比较,对比结果如表6所示。

表6不同因素的效果比较

通过对比发现,无论是餐厅的种类信息还是价格区间信息,对于评论的情感预测都有着一定的帮助,但是提升的效果很细微,当这两种影响因子结合起来时,能够捕捉到更多的属性信息,区别更多的评论,效果就比较明显了。可以预知,当一条评论包含更多个餐厅的属性信息时,使用多个属性分类器,将更好地区分评论,以此更加有效地对评论进行情感回归预测。

(2.3)不同训练样本的影响

为了研究不同的训练样本对实验结果的影响,我们对训练集做了一个划分,分别取10%,20%,30%,...,100%,来比较不同样本数量的情况下,muti-lstm模型和lstm模型效果如何,对比结果如图5所示。

可以看到,在不同数量的训练集下,lstm模型以及muti-lstm模型的训练效果都有所波动,但总体上来说还是muti-lstm的效果比较好。产生波动的原因,可能是在新的数量的数据集下,样本没有进行均衡化,导致训练样本中餐厅的属性信息与评论信息相关度时高时低,导致较好或是较差的结果,但普遍地来说,餐厅的属性信息都将会对评论的情感回归预测产生一定的良性帮助。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

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