首页> 中国专利> 一种商家总体评论中方面评分的确定方法及装置

一种商家总体评论中方面评分的确定方法及装置

摘要

本发明实施例提供了一种商家总体评论中方面评分的确定方法及装置。所述方法包括:针对获得的每个第一用户评论,根据预设第一规则或预设第二规则,识别所述第一用户评论的文本评论中的每个词对;针对每个词对,根据预设第一公式、保存的每个联合概率,计算所述词对在每个方面、取每个可选得分时的概率,根据计算得到的每个概率,获得每个方面对应的概率和值,并将最大的概率和值对应的方面确定为所述词对归属的方面,并确定所述词对在该方面的得分;针对每个方面,根据确定的每个第一用户评论中在该方面的词对的得分,确定所述待评分商家在所述方面的方面评分。本实施例能够提高评分网站上商家的总体评论中方面评分的准确性。

著录项

  • 公开/公告号CN105955957A

    专利类型发明专利

  • 公开/公告日2016-09-21

    原文格式PDF

  • 申请/专利权人 北京邮电大学;

    申请/专利号CN201610294366.3

  • 发明设计人 石川;赵惠东;李依桐;

    申请日2016-05-05

  • 分类号G06F17/27(20060101);G06Q10/06(20120101);

  • 代理机构北京柏杉松知识产权代理事务所(普通合伙);

  • 代理人马敬;项京

  • 地址 100876 北京市海淀区西土城路10号

  • 入库时间 2023-06-19 00:30:14

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-01-25

    授权

    授权

  • 2016-10-19

    实质审查的生效 IPC(主分类):G06F17/27 申请日:20160505

    实质审查的生效

  • 2016-09-21

    公开

    公开

说明书

技术领域

本发明涉及计算机软件技术领域,特别涉及一种商家总体评论中方面评分的确定方法及装置。

背景技术

目前,一些评分网站上常常设置有对商家的总体评论,其中包括总评分、方面及方面评分等信息,图1可以作为一个商家的总体评论的例子,其中总评分为4.5(用星的个数来表示),方面及方面评分包括:口味9.0,环境8.8,服务8.6。当一个用户想要选择商家去消费时,可以将评分网站上商家的方面评分作为参考,这里的用户是指将要去商家消费的新用户。例如,一个用户比较注重餐厅环境,当他打算从评分网站上选择餐厅时,他可以选择评分网站上总体评论中环境评分高的餐厅。因此,商家的总体评论中的方面评分对用户来说具有很重要的参考意义。

现有技术中,一般是根据用户对商家的每个用户评论来获得总体评论中的方面评分的,这里的用户是指曾经去过该商家消费过的用户。图2可以作为用户评论的一个例子,其中包括用户名、用户的总评分、用户的方面评分等内容。现有的研究中,针对每个商家常常根据多个用户评论中的方面评分求平均值得到总体评论中对应的方面评分。但是由于用户在对商家进行评价时,对方面的打分具有一定的随意性,并且仅仅根据用户评论中的方面评分获得总体评论中的方面评分,其准确性不高,因此用户体验不高。

发明内容

本发明实施例的目的在于提供了一种商家总体评论中方面评分的确定方法及装置,能够提高评分网站上商家的总体评论中方面评分的准确性。

为了达到上述目的,本发明公开了一种商家总体评论中方面评分的确定方法,应用于终端,所述方法包括:

获得待评分商家的多个第一用户评论;所述第一用户评论中至少包括总评 分、文本评论和每个方面的方面评分;

针对每个第一用户评论,根据预设第一规则或预设第二规则,识别所述第一用户评论的文本评论中的每个词对;针对每个词对,根据预设第一公式、保存的每个联合概率,计算所述词对在每个方面、取每个可选得分时的概率,根据计算得到的每个概率,获得每个方面对应的概率和值,并将最大的概率和值对应的方面确定为所述词对归属的方面;根据确定的所述词对归属的方面、计算得到的所述词对在该方面取每个可选得分时的概率以及预设第二公式,确定所述词对在该方面的得分;

针对每个方面,根据确定的每个第一用户评论中在该方面的词对的得分,确定所述待评分商家在所述方面的方面评分。

较佳的,所述每个可选得分采用以下步骤得到:

根据保存的每个第二用户评论,获得所述第二用户评论中总评分的平均值,获得所述第二用户评论中每个方面评分的平均值;

针对每个方面,根据获得的总评分的平均值以及所述方面的方面评分的平均值,将所述总评分的平均值与所述方面的方面评分的平均值的差值确定为所述方面的可选得分。

较佳的,所述根据预设第一公式、保存的每个联合概率,计算所述词对在每个方面、取每个可选得分时的概率包括:

根据保存的每个联合概率,计算所述词对在每个方面、取每个可选得分时的概率;其中,p(z,rb|h,m)为所述词对(h,m)在方面z、取可选得分rb时的出现概率,p(h,m,r,d,z,rb)表示保存的第二用户评论d中总评分取r并且第二用户评论中的词对(h,m)在方面z取可选得分rb时对应的联合概率,p(h,m,r,d,z,rb)为根据保存的第二用户评论、采用最大期望算法EM算法得到的。

较佳的,所述根据确定的所述词对归属的方面、计算得到的所述词对在该 方面取每个可选得分时的概率以及预设第二公式,确定所述词对在该方面的得分包括:

根据确定的所述词对归属的方面、计算得到的所述词对在该方面取每个可选得分时的概率以及确定所述词对在该方面的得分;

其中,rz,h,m为所述词对(h,m)在该方面z的得分,p(rb|h,m,z)为所述词对(h,m)在该方面z取每个可选得分rb时的概率。

较佳的,所述针对每个第一用户评论,根据预设第一规则或预设第二规则,识别所述第一用户评论的文本评论中的每个词对包括:

当所述第一用户评论为英文时,从所述第一用户评论中识别每个单词的词性;根据识别出的词性以及保存的词性与词对之间的第一对应关系,识别所述第一用户评论的文本评论中的每个短语;根据识别出的每个短语,提取每个短语的词根,识别所述第一用户评论的文本评论中的每个词对;

当所述第一用户评论为中文时,对所述第一用户评论的文本评论进行分词,获得所述第一用户评论对应的每个分词;根据获得的每个分词,识别所述每个分词的词性;根据识别出的词性以及保存的词性与词对之间的第二对应关系,识别所述第一用户评论的文本评论中的每个词对。

为了达到上述目的,本发明还公开了一种商家总体评论中方面评分的确定装置,应用于终端,所述装置包括:

用户评论获得模块,用于获得待评分商家的多个第一用户评论;所述第一用户评论中至少包括总评分、文本评论和每个方面的方面评分;

词对得分确定模块,用于针对每个第一用户评论,根据预设第一规则或预设第二规则,识别所述第一用户评论的文本评论中的每个词对;针对每个词对,根据预设第一公式、保存的每个联合概率,计算所述词对在每个方面、取每个可选得分时的概率,根据计算得到的每个概率,获得每个方面对应的概率和值,并将最大的概率和值对应的方面确定为所述词对归属的方面;根据确定的所述 词对归属的方面、计算得到的所述词对在该方面取每个可选得分时的概率以及预设第二公式,确定所述词对在该方面的得分;

方面评分确定模块,用于针对每个方面,根据确定的每个第一用户评论中在该方面的词对的得分,确定所述待评分商家在所述方面的方面评分。

较佳的,所述装置还包括可选得分确定模块;

所述可选得分确定模块,用于根据保存的每个第二用户评论,获得所述第二用户评论中总评分的平均值,获得所述第二用户评论中每个方面评分的平均值;针对每个方面,根据获得的总评分的平均值以及所述方面的方面评分的平均值,将所述总评分的平均值与所述方面的方面评分的平均值的差值确定为所述方面的可选得分。

较佳的,所述词对得分确定模块具体用于:

根据保存的每个联合概率,计算所述词对在每个方面、取每个可选得分时的概率;其中,p(z,rb|h,m)为所述词对(h,m)在方面z、取可选得分rb时的出现概率,p(h,m,r,d,z,rb)表示保存的第二用户评论d中总评分取r并且第二用户评论中的词对(h,m)在方面z取可选得分rb时对应的联合概率,p(h,m,r,d,z,rb)为根据保存的第二用户评论、采用最大期望算法EM算法得到的。

较佳的,所述词对得分确定模块具体用于:

根据确定的所述词对归属的方面、计算得到的所述词对在该方面取每个可选得分时的概率以及确定所述词对在该方面的得分;

其中,rz,h,m为所述词对(h,m)在该方面z的得分,p(rb|h,m,z)为所述词对(h,m)在该方面z取每个可选得分rb时的概率。

较佳的,所述词对得分确定模块具体用于:

当所述第一用户评论为英文时,从所述第一用户评论中识别每个单词的词性;根据识别出的词性以及保存的词性与词对之间的第一对应关系,识别所述第一用户评论的文本评论中的每个短语;根据识别出的每个短语,提取每个短语的词根,识别所述第一用户评论的文本评论中的每个词对;

当所述第一用户评论为中文时,对所述第一用户评论的文本评论进行分词,获得所述第一用户评论对应的每个分词;根据获得的每个分词,识别所述每个分词的词性;根据识别出的词性以及保存的词性与词对之间的第二对应关系,识别所述第一用户评论的文本评论中的每个词对。

由上述技术方案可见,本发明实施例中,首先,获得待评分商家的多个第一用户评论,第一用户评论中至少包括总评分、文本评论和每个方面的方面评分。然后,针对每个第一用户评论,根据预设第一规则或预设第二规则,识别所述第一用户评论的文本评论中的每个词对,并确定每个词对归属的方面以及每个词对在所归属方面的得分。最后,针对每个方面,根据确定的每个第一用户评论中的词对在该方面的得分,确定待评分商家在该方面的方面评分。

其中,在确定每个词对归属的方面时,根据预设第一公式、保存的每个联合概率,计算所述词对在每个方面、取每个可选得分时的概率,然后根据计算得到的每个概率,获得每个方面对应的概率和值,并将最大的概率和值对应的方面确定为所述词对归属的方面。每个词对在所归属方面的得分,是根据确定的所述词对归属的方面、计算得到的所述词对在该方面取每个可选得分时的概率以及预设第二公式来确定的。

也就是说,本发明实施例根据用户对商家的每个用户评论的文本内容中的词对所归属的方面以及在该方面的得分来确定商家在该方面的方面评分,其中,根据预设第一公式以及保存的每个联合概率,计算每个词对在每个方面、取每个可选得分时的概率,根据每个方面对应的概率和值的最大值确定词对归属的方面,并根据确定的词对在归属的方面取每个可选得分时的概率确定该词对的得分。而现有技术中,一般根据每个用户评论中的方面评分得到商家在该方面的方面评分,与现有技术不同的是,本发明实施例根据每个用户评论中的文本评论得到商家在该方面的方面评分,由于用户评论中的文本评论能够更准确地表达用户的真实意愿,因此,应用本发明实施例的方法确定方面评分,能够提高评分网站上商家的总体评论中方面评分的准确性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为商家的总体评论的一个例子;

图2为用户评论的一个例子;

图3为本发明实施例提供的商家总体评论中方面评分的确定方法的一种流程示意图;

图4为图3所示实施例对应的方面评分的概率图模型的一种示意图;

图5为图3所示实施例的步骤S302中获得可选得分的一种流程示意图;

图6为用于说明评分偏差存在的一个统计结果;

图7为用于说明评分偏差存在的另一个统计结果;

图8为本发明实施例提供的商家总体评论中方面评分的确定装置的一种结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供了一种商家总体评论中方面评分的确定方法及装置,能够提高评分网站上商家的总体评论中方面评分的准确性。

其中,商家可以包括餐饮类商家、宾馆类商家、美容类商家、电影院类商家和健身类商家等,当然还可以包括其他很多种类商家,本发明对此不做限定。 图1可以作为餐饮类商家总体评论的一个例子,其中,总评分用星的个数表示,方面评分包括口味9.0、环境8.8、服务8.6,与方面评分对应的方面包括口味、环境和服务。

下面通过具体实施例,对本发明进行详细说明。

图3为本发明实施例提供的商家总体评论中方面评分的确定方法的一种流程示意图,应用于终端,所示方法包括如下步骤:

步骤S301:获得待评分商家的多个第一用户评论。

其中,所述第一用户评论中至少包括总评分、文本评论和每个方面的方面评分。图2可以作为餐饮类商家的用户评论的一个例子,其中,总评分为4(4颗星);文本评论为:店面整体挺大的……整体来说性价比比较高;每个方面的方面评分分别为:口味2,环境3,服务2。

需要说明的是,待评分商家的多个第一用户评论是已经购买过所述待评分商家的商品或服务的用户,在购买行为结束之后根据自身的体验而给出的针对待评分商家的评论。

获得多个第一用户评论可以包括从评分网站上抓取用户评论。当然,还可以包括其他方式,本发明对此不做限定。

步骤S302:针对每个第一用户评论,根据预设第一规则或预设第二规则,识别所述第一用户评论的文本评论中的每个词对;针对每个词对,根据预设第一公式、保存的每个联合概率,计算所述词对在每个方面、取每个可选得分时的概率,根据计算得到的每个概率,获得每个方面对应的概率和值,并将最大的概率和值对应的方面确定为所述词对归属的方面;根据确定的所述词对归属的方面、计算得到的所述词对在该方面取每个可选得分时的概率以及预设第二公式,确定所述词对在该方面的得分。

需要说明的是,词对中包括第一词语和第二词语,第一词语为先验词,第二词语为用于限定先验词的修饰词,例如,在口味不错这个词对中,第一词语为口味,第二词语为不错。

在本实施例中,针对每个第一用户评论,根据预设第一规则或预设第二规则,识别所述第一用户评论的文本评论中的每个词对,根据用户评论的语言不 同,其具体识别方式包括:

第一种,当所述第一用户评论为英文时,从所述第一用户评论中识别每个单词的词性;根据识别出的词性以及保存的词性与词对之间的第一对应关系,识别所述第一用户评论的文本评论中的每个短语;根据识别出的每个短语,提取每个短语的词根,识别所述第一用户评论的文本评论中的每个词对。

在从第一用户评论中识别词性时,可以采用词性标签算法POS Tagging从第一用户评论中识别每个单词的词性,当然也可以采用其他方法,本发明对此不做限定。具体的,识别英文文本中单词的词性属于现有技术,具体过程不再赘述。

在从第一用户评论中识别每个短语时,可以根据识别出的每个词性以及表1中的词性与词对之间的第一对应关系,识别第一用户评论的文本评论中的每个短语。当然,第一对应关系还可以包括其他的内容,本发明对此不做限定,并且根据第一对应关系识别短语的过程属于现有技术,其具体过程不再赘述。

在从第一用户评论中识别每个词对时,可以采用英文分词算法Poster Stemmer从识别出的每个短语中提取每个短语的词根,进而识别出每个词对,当然也可以采用其他方法,本发明对此不做限定。具体的,从英文短语中提取短语的词根属于现有技术,具体过程不再赘述。

表1

第一对应关系例子hmJJ+NN→NPwonderful/JJ time/NNtimewonderfulRB+JJ→ADJPamazingly/RB friendly/JJfriendlyamazinglyRB+VBN→ADJPnicely/RB appointed/VBNappointednicelyRB+JJ→ADJPas/RB nice/JJniceasVBD+VBG→VPwere/VBD happy/VBGhappywereRB+VBD→VPrecently/RB relocated/VBDrelocatedrecently

在表1中,NP表示名词词对,ADJP表示形容词词对,VP表示动词词对,JJ表示形容词,NN表示名词,RB表示副词,VBN表示动词过去分词,VBD表示动词过去式,VBG表示动词、动名词及现在分词的其中一种。第一对应关系中,箭线左侧为识别到的单词的词性,箭线右侧为识别出的短语,并且,加号+前后的两种词性不分先后顺序。例如,当JJ和NN这两种词性的单词出现时,即可将其识别为一个短语,对应的表1中的例子为wonderful time,其 中wonderful为形容词,time为名词。表1中的h和m一列分别表示从第一用户评论中识别出的词对中的第一词语和第二词语。

第二种,当所述第一用户评论为中文时,对所述第一用户评论的文本评论进行分词,获得所述第一用户评论对应的每个分词;根据获得的每个分词,识别所述每个分词的词性;根据识别出的词性以及保存的词性与词对之间的第二对应关系,识别所述第一用户评论的文本评论中的每个词对。

在对第一用户评论进行分词时,可以采用斯坦福的自然语言处理工具Word Segmenter从第一用户评论的文本内容中获得每个分词,当然也可以采用其他方法获得分词,本发明对此不做限定。具体的,对中文文本内容进行分词属于现有技术,具体过程不再赘述。

从第一用户评论中识别每个中文分词的词性可以采用多种方式,并且其属于现有技术,具体过程不再赘述。

在从第一用户评论中识别每个词对时,可以根据识别出的词性以及表2中的词性与词对之间的第二对应关系,识别第一用户评论的文本评论中的每个词对。当然,第二对应关系还可以包括其他的内容,本发明对此不做限定,并且根据第二对应关系识别短语的过程属于现有技术,其具体过程不再赘述。

表2

编号第二对应关系1amod(N,A)→<N,A>2acomp(V,A)+nsubj(V,N)→<N,A>3cop(A,V)+nsubj(A,N)→<N,A>4dobj(V,N)+nsubj(A,N′)→<N,V>5<h1,m>+conj_and(h1,h2)→<h2,m>6<h,m1>+conj_and(m1,m2)→<h,m27<h,m>+neg(m,not)→<h,not+m>

在表2中,N表示名词,A表示形容词,V表示动词,amod表示形容词修饰短语,acomp表示形容词补足短语,nsubj表示名词主语,cop表示系动词,dobj表示直接宾语,conj_and表示用连词并列的词,neg表示否定修饰词。第二对应关系中,箭线左侧为获得的分词的词性以及分词之间的成分关系,箭线右侧为识别出的短语,并且,加号+前后的两部分不分先后顺序。<,>表示识别出的词对,其中逗号左侧的分词为词对中的第一词语,逗号右侧的分词为词对 中的第二词语。amod(N,A)表示形容词A修饰名词N的短语,第二对应关系其他的内容与此类似。

在本实施例中,根据预设第一公式、保存的每个联合概率,计算所述词对在每个方面、取每个可选得分时的概率可以包括:

根据保存的每个联合概率,计算所述词对在每个方面、取每个可选得分时的概率。其中,p(z,rb|h,m)为所述词对(h,m)在方面z、取可选得分rb时的出现概率,p(h,m,r,d,z,rb)表示保存的第二用户评论d中总评分取r并且第二用户评论中的词对(h,m)在方面z取可选得分rb时对应的联合概率,p(h,m,r,d,z,rb)为根据保存的第二用户评论、采用最大期望算法EM算法得到的。

具体的,词对在每个方面所取的每个可选得分可以是预先设定的,例如可以设置为1分~5分,也可以是根据其他方式获得的,本实施例对此不做限定。

需要说明的是,第二用户评论包括每个用户对每个商家的多个用户评论。其中,每个商家与待评分商家属于同一行业种类,可以包括但是不限于待评分商家,第二用户评论可以包括但不限于第一用户评论。例如,待评分商家为A餐厅,那么第一用户评论全部是针对A餐厅的评论,第二用户评论则可以包括多个用户针对A餐厅、C餐厅、B餐厅、D餐厅等的用户评论。并且,第二用户评论中的用户可以包括但不限于第一用户评论中的用户。

具体的,根据保存的第二用户评论、采用最大期望算法EM算法得到联合概率p(h,m,r,d,z,rb)可以包括:

根据p(h,m,r,d,z,rb)=p(m|rb)p(rb|r,z)p(h|z)p(z|r)p(d|r)p(r),以第二用户评论为数据,采用EM算法得到每个联合概率p(h,m,r,d,z,rb),其中,p(m|rb)表示观察到rb的值时m属于某个值时的概率,p(rb|r,z)表示观察到r和z的值时rb属于某个值时的概率,p(h|z)表示观察到z的值时h属于某个值时的概 率,p(z|r)表示观察到r的值时z属于某个值时的概率,p(d|r)表示观察到r的值时d属于某个值时的概率,p(r)表示r属于某个值时的概率。d为第二用户评论的标识,该标识可以包括编号或名称,当然也可以用其他的形式表示,本发明对此不做限定。

需要说明的是,EM算法属于现有技术。

具体的,当采用EM算法获得每个联合概率中的p(m|rb)、p(rb|r,z)、p(h|z)、p(z|r)、p(d|r)和p(r),可以进行以下设置:

其中,n(h,m,r,d)表示h,m,r,d共同出现的次数,一般取1或者2;

q(z,rb)=p(z,rb|h,m,r,d;Λold)=p(m|rb)p(rb|r,z)p(h|z)p(z|r)p(d|r)p(r)Σz,rbp(m|rb)p(rb|r,z)p(h|z)p(z|r)p(d|r)p(r),

p(h,m,r,d,z,rb|Λ)=p(m|rb)p(rb|r,z)p(h|z)p(z|r)p(d|r)p(r),Λ包括所有参数p(m|rb)、p(rb|r,z)、p(h|z)、p(z|r)、p)d|r)和p(r),Λold表示上一次迭代中p(m|rb)、p(rb|r,z)、p(h|z)、p(z|r)、p(d|r)和p(r)的值,p(m|rb)、p(rb|r,z)、p(h|z)、p(z|r)、p(d|r)和p(r)的初始值可以随机设置。

然后,采用拉格朗日乘子法来最大化并计算参数p(m|rb)、p(rb|r,z)、p(h|z)、p(z|r)、p(d|r)和p(r)的值。

对于p(m|rb),存在约束∑mp(m|rb)=1。应用拉格朗日乘子法,我们能得到关于p(m|rb)的函数:

通过计算可以得到p(m|rb)∝n(h,m,r,d)p(z,rb|h,m,r,d;Λold),所以p(m|rb)的更新函数为

p(m|rb)=Σh,r,d,zn(h,m,r,d)p(z,rb|h,m,r,d;Λold)Σh,m,r,d,zn(h,m,r,d)p(z,rb|h,m,r,d;Λold)

同理,可以得到其他参数的更新函数:

p(rb|r,z)=Σh,m,dn(h,m,r,d)p(z,rb|h,m,r,d;Λold)Σh,m,d,rbn(h,m,r,d)p(z,rb|h,m,r,d;Λold)

p(h|z)=Σm,r,d,rbn(h,m,r,d)p(z,rb|h,m,r,d;Λold)Σh,m,r,d,rbn(h,m,r,d)p(z,rb|h,m,r,d;Λold)

p(z|r)=Σh,m,d,rbn(h,m,r,d)p(z,rb|h,m,r,d;Λold)Σh,m,d,z,rbn(h,m,r,d)p(z,rb|h,m,r,d;Λold)

p(d|r)=Σh,m,z,rbn(h,m,r,d)p(z,rb|h,m,r,d;Λold)Σh,m,d,z,rbn(h,m,r,d)p(z,rb|h,m,r,d;Λold)

p(r)=Σh,m,d,z,rbn(h,m,r,d)p(z,rb|h,m,r,d;Λold)Σh,m,r,d,z,rbn(h,m,r,d)p(z,rb|h,m,r,d;Λold)

针对每个词对,在通过计算得到该词对在每个方面取每个可选得分时的概率之后,获得每个方面对应的概率的和值,并将最大的概率和值对应的方面确定为该词对归属的方面。举例来说,假设针对词对味道鲜美,得到其在每个方面取每个可选得分时的概率见表3。

表3

根据表3中的内容,可以根据每个方面的概率和值得到,口味鲜美在口味方面的概率和值最大,因此可以确定口味鲜美归属于口味方面。

表4中列出了部分识别出的词对中的先验词所归属的方面。

表4

在本实施例中,根据确定的所述词对归属的方面、计算得到的所述词对在该方面取每个可选得分时的概率以及预设第二公式,确定所述词对在该方面的得分,可以包括:

根据确定的所述词对归属的方面、计算得到的所述词对在该方面取每个可选得分时的概率以及确定所述词对在该方面的得分;

其中,rz,h,m为所述词对(h,m)在该方面z的得分,p(rb|h,m,z)为所述词对(h,m)在该方面z取每个可选得分rb时的概率。

继续沿用表3中的例子,词对口味鲜美的得分为:

步骤S303:针对每个方面,根据确定的每个第一用户评论中在该方面的词对的得分,确定所述待评分商家在所述方面的方面评分。

在本实施例中,步骤S303可以包括多种实施方式,例如,可以对每个词对的得分求平均值,将该平均值确定为待评分商家在该方面的方面评分,也可以根据该平均值以及预设的第三规则确定待评分商家在该方面的方面评分。当然,还可以有其他多种实施方式,本实施例对此不做限定。

由上述内容可知,本发明实施例根据用户对商家的每个用户评论的文本内容中的词对所归属的方面以及在该方面的得分来确定商家在该方面的方面评分,其中,根据预设第一公式以及保存的每个联合概率,计算每个词对在每个方面、取每个可选得分时的概率,根据每个方面对应的概率和值的最大值确定词对归属的方面,并根据确定的词对在归属的方面取每个可选得分时的概率确定该词对的得分。而现有技术中,一般根据每个用户评论中的方面评分得到商家在该方面的方面评分,与现有技术不同的是,本发明实施例根据每个用户评论中的文本评论得到商家在该方面的方面评分,由于用户评论中的文本评论能够更准确地表达用户的真实意愿,因此,应用本发明实施例的方法确定方面评分,能够提高评分网站上商家的总体评论中方面评分的准确性。

更具体地分析,本发明认为,用户在使用商家提供的服务或产品后,在发表对商家的用户评论之前,已经对该商家有了直观的印象,这种印象包括喜欢或不喜欢,将这种印象数值化后得到用户评论中的总评分。当用户确定了总评分之后,才会构思如何去写文本评论,即,选择适当的词语表达用户的印象,这就包括对商家的每个方面的印象。因此,本发明认为方面评分的概率图模型(Rating-Center Model with Bias,RCMB)应如图4所示。其中,M表示用户对待评分商家的所有用户评论,d表示一条用户评论,r表示该用户评论中的总评分,N表示该用户评论的文本内容中的一个词对,h表示该词对的先验词,m表示该词对的修饰词,z表示该词对归属的方面,rb表示该词对的得分。并且,总评分通过该词对的得分来影响修饰词的选择,总评分也通过方面来影响先验词的选择,方面和该词对的得分是一一对应的。可以了解,总评分是本发明实施例RCMB模型的中心,文本评论是能够体现这个中心的关键点。

在本发明的另一实施例中,为了能准确地确定词对的可选得分,在图3所示实施例的基础上,每个可选得分还可以按照图5所示流程示意图获得,其中包括以下步骤:

步骤S501:根据保存的每个第二用户评论,获得所述第二用户评论中总评分的平均值,获得所述第二用户评论中每个方面评分的平均值。

步骤S502:针对每个方面,根据获得的总评分的平均值以及所述方面的方面评分的平均值,将所述总评分的平均值与所述方面的方面评分的平均值的差值确定为所述方面的可选得分。

在本实施例中,在第二用户评论中,总评分的平均值与每个方面的方面评分的平均值之间存在一个差值,可以将该差值称为评分偏差。也就是说,用户在发表用户评论时,会在总评分和方面评分之间形成一个评分偏差。

为了说明评分偏差真实存在,下面结合具体的统计实例来说明。

参见表5和表6,这两个表是根据两个真实的数据集得到的。第一个数据集是大众点评数据集Dianping,这是一个中国的社交媒体平台,它是关于商业和娱乐等产品的评论平台。本文使用的是关于北京地区餐厅的评论数据。该网站对对餐厅类的用户评论包括中文的文本评论、1个总评分(Overall)和3个方面评分。这3个方面分别是口味(Taste)、服务(Service)和环境(Environment)。第二个数据集是猫途鹰数据集TripAdvisor,这是一个以旅游、宾馆等信息为主的英文评论网站。该网站对宾馆类的用户评论包括英文的文本评论、1个总评分(Overall)和7个方面评分。这7个方面分别是价格(Value)、房间(Room)、位置(Location)、整洁程度(Cleanliness)、前台/员工(Front Desk/Staff)、服务(Service)和商业性(Business)。数据集中所有的评分的取值范围都是1分~5分。对两个数据集的统计结果见表5和表6。

表5

数据集商家数量用户评论数量总评分的平均得分Dianping1,097216,2913.97TripAdvisor1,850197,9703.81

表6

图6为根据大众点评数据集得到的不同餐厅的总评分和方面评分的分布,图7为根据猫途鹰数据集得到的不同宾馆的总评分和方面评分的分布,其中,由于空间限制,只展示了部分方面评分的分布,为了简洁可见,图中的商家按照总评分的大小进行排序显示。图6和图7直观地展示了两个数据集中总评分和方面评分的分布。从两个图中可以发现,在总评分和方面分之间存在明显的偏差。在大众点评数据集上,总评分基本高于所有方面评分,评分偏差平均达到了0.43分。而在猫途鹰数据集中,总评分比所列的两个方面评分要小。

为了验证本发明实施例的有效性,可以对比预测出的方面评分和真实的方面评分。通过本发明实施例中的模型计算出来的方面z应该和网站上设置的方面保持一致。在实际应用中也可以通过预先人工设定方面z来保证更好的结果。因此,可以为方面z加入先验知识。例如,口味方面会包含一些先验词,比如味道、美味等。方法如下:

p(h|z)=Σm,r,d,rbn(h,m,r,d)p(z,rb|h,m,r,d;Λold)+τ(h,z)Σh,m,r,d,rbn(h,m,r,d)p(z,rb|h,m,r,d;Λold)+Σhτ(h,z)

其中,τ(h,z)表示先验词的先验知识。只有当h和z存在关系的时候,即词h属于方面z的时候,τ(h,z)才会有值δ,否则为0。

下面继续通过具体的实验结果说明本发明实施例的有效性。实验所采用的数据集仍然采用上述数据集大众点评数据集Dianping和猫途鹰数据集TripAdvisor。

实验中,将所提出的本发明的方法RCMB与4种有代表性的最新方法做对比。因为所有的对比方法并没有考虑到评分偏差,为了公平,实验还对比了4种方法的变形,即,将4种方法的结果直接减去评分偏差作为新的对比方法。其中,标有*的方法表示原方法的变形,以示区分。

QPLSA/QPLSA*:基于PLSA框架设计了采用四元组数据的模型,模型不仅生成了细粒度的商品方面的信息,也捕获了词语和评分之间的相关关系。

MRAOS/MRAOS*:一个基于LDA模型的半监督主题模型。利用四元组数据来构建评分与修饰词之间的关系。在模型生成过程中,方面和情感的信息通过联合概率分布来获得。模型认为评分符合多项式分布。

GRAOS/GRAOS*:一个基于LDA模型的半监督主题模型。利用四元组数据来构建评分与修饰词之间的关系。在模型生成过程中,方面和情感的信息通 过联合概率分布来获得。模型认为评分符合高斯分布。

STAM/STAM*:一个基于LDA模型的情感排列主题模型。模型采用了两类先验信息:产品级的总评分分布和词语级的情感词典。

同时,还将模型RCMB简化,去掉表示方面评分的可选得分即隐藏变量rb,记为RCM。RCM可以验证以总评分为中心是否正确。同时,RCM*与RCMB对比,也可以证明,利用评分偏差信息也是很重要的。

下面介绍方面识别的实验结果。

RCMB通过联合概率对每一个词对进行了方面识别,同时也对词对进行了打分。用户是通过词对f来描述产品的每个方面的,而模型要获取用户使用词对f时的目标和情感。表7中展示了针对两个数据集的实验结果。每个方面列出了4个词对f,为了方便理解,把词对f重新组合回短语,并按照打分排序。

表7

一般来所,无论是中文还是英文,提取出的词对f都适当地描述了相应的方面并准确地表达了用户的观点。一方面,先验词h很好地表明了所描述的是哪个方面,比如服务方面的态度、环境方面的装修和Location的area。另一方面,一个正向的修饰词m表明了一个积极的情感倾向并获得了较高的打分。例如,在大众点评数据集的服务方面,词对态度冷冰冰只得到了1.67分,而聪明的服务员却有4.51分。短语及其打分也反映了中西方的不同打分风格。中国的用户打的分相对偏低,而且比较平均,从低分到高分均有分布,而西方的用户打分相对较高,低分比较少。预测的词对评分的分布也符合表6中的两个数据集的方面评分。这也说明了RCMB模型在中英文数据上的有效性。

下面介绍准确性方面的实验结果。

实验中,在不同规模的数据集上通过均方根误差(Root Mean Square Error,RMSE)指标来比较不同方法的表现。RMSE指标的目的是衡量预测的方面评分与真实的方面评分之间的差距,所以该指标可以用来衡量模型预测的方面评分是否准确。表8展示了不同数据集上模型及对比方法的结果。

表8

其中,RMSE是评分预测问题中的一个常用的衡量指标。它能用来衡量预测值与真实值的差距,是预测值与真实值的差距的平方的平均值,再开方,所以RMSE对差距较大的值相对更敏感。对于每一个实体即商家e,可以得到真实的方面评分向量δe和预测的方面评分向量RMSE计算公式如下:

RMSE=Σe=0NeΣi=0NA(δe,i-δ^e,i)2Ne*NA

其中,越小的RMSE值,表示预测效果越好。

从表8中的结果可以看出,对于所有方法,整合了评分偏差信息的模型的预测准确性都有了明显的提高。在所有规模的实验上,RCMB总是优于其他方法。在大众点评数据集上提升尤其明显,主要是因为大众点评数据集上存在明显的评分偏差。尽管在TripAdvisor数据集上评分偏差较小,考虑评分偏差的方法也比原始方法取得了更好的效果。这表明在方面分评分预测问题中,考虑评分偏差是很有意义的。

而且,RCM的结果也比一些对比方法要好。这说明以总评分为中心的有效性。RCMB的效果说明好的利用评分偏差的方法对于提升预测准确率也是很重要的。实验中考虑的以总评分为中心和隐藏的方面评分变量是RCMB模型效果提升的原因。此外,随着数据规模的增加,RCMB的效果也稳定而缓慢地提升,这也反映了RCMB模型是稳定有效的。

下面介绍相关性方面的实验结果。

实验中,还通过皮尔逊相关系数ρ比较了不同方法保持实体即商家间的相对顺序的能力。相对顺序是指预测的方面评分的顺序与真实的方面评分的顺序是否相似。结果在表9中展示。可以看出,评分偏差对商家间的相对顺序的影响很小,所以实验中只比较了原始方法,没有列出减去评分偏差的方法的结果。

其中,皮尔逊相关系数ρ是一个在-1到1范围内的数值,用来衡量两组数据是否为线性相关,也可以说是衡量两组线性数据是否以相同的趋势变化。ρ的绝对值越接近1,表示相关性越大,其值越接近0,表示相关性越小。+1表示正向线性相关,-1表示负向线性相关。ρ的计算公式如下:

ρ=NΣe=0NeΣi=0NAδe,iδ^e,i-Σe=0NeΣi=0NAδe,iΣe=0NeΣi=0NAδ^e,iNΣe=0NeΣi=0NA(δe,i)2-(Σe=0NeΣi=0NAδe,i)2NΣe=0NeΣi=0NA(δ^e,i)-(Σe=0NeΣi=0NAδ^e,i)2

其中,N表示总数量,既商家的总数量Ne乘以方面的总数量NA。ρ的值越接近1,预测效果越好。

表9

从表9中可以看到,在两个数据集的所有规模的实验上,与其他方法对比,RCMB获得了更高的皮尔逊相关系数ρ。这再一次表明RCMB更加有效地建模了方面与评分之间的关系,因此比其他方法更好地保持了商家间的相对顺序。这个结果也表明RCMB模型很适合用于方面级的推荐系统中,因为它可以获得与真实排序更加接近的商家排序。真实排序反映了各个商家的优劣程度,对于大众点评数据集来说,该排序表示餐厅的受欢迎程度,而RCMB能更好地预测出这种排序。

图8为本发明实施例提供的商家总体评论中方面评分的确定装置的一种结构示意图,应用于终端,并且与图3所示方法实施例相对应,所述装置包括:用户评论获得模块501、词对得分确定模块502和方面评分确定模块503。

其中,用户评论获得模块501,用于获得待评分商家的多个第一用户评论;所述第一用户评论中至少包括总评分、文本评论和每个方面的方面评分;

词对得分确定模块502,用于针对每个第一用户评论,根据预设第一规则或预设第二规则,识别所述第一用户评论的文本评论中的每个词对;针对每个词对,根据预设第一公式、保存的每个联合概率,计算所述词对在每个方面、取每个可选得分时的概率,根据计算得到的每个概率,获得每个方面对应的概率和值,并将最大的概率和值对应的方面确定为所述词对归属的方面;根据确定的所述词对归属的方面、计算得到的所述词对在该方面取每个可选得分时的概率以及预设第二公式,确定所述词对在该方面的得分;

方面评分确定模块503,用于针对每个方面,根据确定的每个第一用户评论中在该方面的词对的得分,确定所述待评分商家在所述方面的方面评分。

在本实施例中,所述装置还可以包括可选得分确定模块(图中未示出);

所述可选得分确定模块,用于根据保存的每个第二用户评论,获得所述第二用户评论中总评分的平均值,获得所述第二用户评论中每个方面评分的平均值;针对每个方面,根据获得的总评分的平均值以及所述方面的方面评分的平均值,将所述总评分的平均值与所述方面的方面评分的平均值的差值确定为所述方面的可选得分。

在本实施例中,所述词对得分确定模块502具体可以用于:

根据保存的每个联合概率,计算所述词对在每个方面、取每个可选得分时的概率;其中,p(z,rb|h,m)为所述词对(h,m)在方面z、取可选得分rb时的出现概率,p(h,m,r,d,z,rb)表示保存的第二用户评论d中总评分取r并且第二用户评论中的词对(h,m)在方面z取可选得分rb时对应的联合概率,p(h,m,r,d,z,rb)为根据保存的第二用户评论、采用最大期望算法EM算法得到的。

在本实施例中,所述词对得分确定模块502具体还可以用于:

根据确定的所述词对归属的方面、计算得到的所述词对在该方面取每个可选得分时的概率以及确定所述词对在该方面的得分;

其中,rz,h,m为所述词对(h,m)在该方面z的得分,p(rb|h,m,z)为所述词对(h,m)在该方面z取每个可选得分rb时的概率。

在本实施例中,所述词对得分确定模块502具体还可以用于:

当所述第一用户评论为英文时,从所述第一用户评论中识别每个单词的词性;根据识别出的词性以及保存的词性与词对之间的第一对应关系,识别所述第一用户评论的文本评论中的每个短语;根据识别出的每个短语,提取每个短语的词根,识别所述第一用户评论的文本评论中的每个词对;

当所述第一用户评论为中文时,对所述第一用户评论的文本评论进行分词, 获得所述第一用户评论对应的每个分词;根据获得的每个分词,识别所述每个分词的词性;根据识别出的词性以及保存的词性与词对之间的第二对应关系,识别所述第一用户评论的文本评论中的每个词对。

由于上述装置实施例是基于方法实施例得到的,与该方法具有相同的技术效果,因此装置实施例的技术效果在此不再赘述。

对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本领域普通技术人员可以理解,上述实施方式中的全部或部分步骤是能够通过程序指令相关的硬件来完成的,所述的程序可以存储于计算机可读取存储介质中。这里所称存储介质,是指ROM/RAM、磁碟、光盘等。

以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号