基于用户评论分析的自动评分推荐算法研究

2018-10-19 06:52王佳齐
电子世界 2018年19期
关键词:词库短语排序

王佳齐

一、前言

随着网络购物时代的到来,消费者越来越多的选择在网上购买自己心仪的商品。其中淘宝网是当前国内最大的网络购物平台,据艾瑞咨询①的调查结果显示,在2016年淘宝网占据了国内超过80%的网络购物市场份额。根据2013年的数据显示,淘宝网在当年的商品数量超过8亿件,卖家数超过了700万。时至今日,淘宝网必然已经有着更多的商品和卖家。

随着商品种类和数量的激增,消费者搜索和筛选的时间成本也会随之增长。因此,搜索、排序和推荐功能在互联网购物场景下扮演着非常重要的角色。如何在用户搜索的过程中,高效地识别出用户的个人偏好、客观地评价所有商品的优劣,以及生成最符合用户期待的排序结果,就成为了电商平台十分关心的问题。目前的解决方案,却存在着以下两个方面问题:

(1)现有排序结果主要依赖于买家打分的均值,主观性较强。同时,每个商品只有一个平均分,评价维度过于单一。

(2)买家的评论数据往往更加真实客观,尤其能够多元化、多维度地描述商品的真实情况。然而当评论过多时,会面临严重的“信息过载”问题。

基于此,本文提出了一种基于用户偏好和评论情感分析的排序和推荐方法,该方法在用户搜索时获取用户的偏好选择,利用层次分析法建立偏好矩阵并形成偏好权重向量;之后,利用自然语言处理的方法将每条评论分词并进行语义情感分析,确定每条评论对用户所关心属性的褒贬情感,自动生成单条评论相对客观的分数;最后将偏好权重向量与相应属性的所有评论分数进行加权求和,最终得到每件商品的总分,进而形成搜索排序结果。这种排序方法能够很好地解决以上两个问题,为现有的搜索排序方法提供了新的启发和解决方案。

二、国内外相关研究

对商品的用户评论信息处理研究在近些年得到了广泛关注,国外研究起步较早并取得了更领先的突破。其主要的思路和方法是建立研究领域对应的情感词库,根据评论中单词的褒义和贬义程度进行赋值和评分。其中Mike Y.Chen②对雅虎的股票留言板数据进行提取分析,用来判断投资者对不同股票的基本态度。而Turney③等人提出了基于语义空间模型的情感分类方法,利用PMI-IR算法计算评论单词在“极差”和“极好”之间的差值,从而依次判断该短语的情感倾向性,从而对一些评论数据进行态度积极和消极的分类。

国内的相关研究也有很多进展,孙文俊④等人研究了网络上对图书的评论数据,将情感分析方法与统计学方法结合起来,建立了新的评价模型。丁宇新⑤等人对新闻评论的情感进行分析和分类,引用了Naïve Bayes Classi fi cation 的方法,并结合了最大熵模型。朱嫣岚⑥⑦对知网HowNet词库进行了详细的划分整理,共收集了超过三千情感词汇,然后根据相似度匹配并确定评论倾向。

与前人的研究相比,本文创新点主要体现在以下几个方面:

(1)研究主要针对于电商平台的评论,具有很强的应用针对性;

(2)利用自然语言处理的方法对每个分词进行了词性标定,在评价情感倾向的同时还计算该评价与用户偏好属性集之间的相关性;

(3)对句子形成整体的情感评分,并将某商品大量评论的评分与用户自定义的属性权重向量进行加权求和,求出的商品综合评分并依此排序。

三、解决方案的整体设计

本文提出的基于用户偏好和评论情感分析的搜索排序解决方案,其主要流程包含三个部分的功能:

(1)在用户执行搜索操作时,通过系统的问题提示,用户可通过属性间的对比赋值体现自己对商品不同属性的重视程度。根据用户原始的赋值结果,利用层次分析法⑧生成用户偏好矩阵P。之后对矩阵进行一致性检验,对通过一致性检验的偏好矩阵计算出用户个性化的权重向量。

(2)针对单一条目的评论Cn,首先利用Sharp ICTLS分词工具将语句划分为短语集Rn,之后进行相应的词性标注。基于不同的句式,将短语集Rn中的名词与属性短语库相对比,确定评论所描述的属性;将Rn中的情感词语与情感短语库相对比分析,并根据褒义、贬义程度进行评分,形成单句情感分数。

(3)基于前两步的方法和模型,对某商品的所有评论集合C进行筛选,根据评论中的“属性短语”与用户关心属性的相关度进行分类,并最终确定相关较高的相关评论集Cr。之后,对相关评论集中的每条评论进行单句评分,并根据相关度和用户偏好属性权重进行加权求和,形成每个商品的总分。最终,可根据商品总分生成搜索排序结果。

四、算法的具体实现

基于第三章中的流程,我们设计了一套具体的算法,包含三个模块,即基于层次分析法的用户偏好模型、基于情感分析的评分生成模型和基于加权求和的排序推荐模型。

1.基于层次分析法的用户偏好模型

由于在实际应用中,每个商品都具有很多不同的属性,而不同的用户对这些属性的偏好程度不仅相同,这个确定用户个性化偏好程度的过程,就是一个多属性排序的问题。可以采用层次分析法(Analytic Hierarchy Process,简称AHP)是来实现,步骤为:

(1)递阶层次结构由不同层次组成以确定权重。

目标层(最高层O):指问题的预定目标,即确定商品的属性重要性权重;

准则层(中间层R):指影响目标实现的准则,准则层又分为更细化的指标;

指标层(最底层I):指该商品诸多具体的指标,分为I1至In共n条属性。

(2)构造偏好矩阵并赋值

根据重要性标度值,在用户执行搜索操作时,完成判断矩阵的信息填写。如果商品属性过多,则可以改为对诸多商品属性进行重要性排序。重要性标度的取值范围为整数1到9,1表示两者重要性一样,数字越大代表两个元素相比时前者的重要性越高。若元素I与元素j的重要性之比为aij,则元素j与元素I的重要性之比为aji=1/aij

基于以上方法的个性化赋值过程,可以最终生成某个用户对一件商品条属性的偏好矩阵,形如表1所示。

(3)权重计算及一致性检验

比较矩阵对应于最大特征值λmax的特征向量,经归一化后即为同一层次相应指标对于上一层次某准则的相对重要性的排序权值。使用python可以很方便快捷地根据偏好矩阵计算出指标层的属性对于上个层次的影响权重。

表1 指标层的个指标的偏好矩阵示意

之后进行一致性检验,基本步骤为:

通过以上流程,可以让用户在执行搜索阶段,利用一系列属性的两两对比和重要性标度,来实现对每个属性重要程度的全局判断,并得到偏好权重向量,用作后续的加权求和排序操作。

2.基于情感分析的评分生成模型

本部分模型主要实现对于某一条选定的评论来说,通过对其情感词语的褒贬感情分析,来自动生成该评论的情感评分的方法。其具体实现步骤为:

(1)选出将某商品N条评论中的任意一条,记做Cn。该评论由诸多汉字构成,因此第一步我们应用分词工具Sharp ICTLS来对该评论进行分词操作。具体采用的是依据字符匹配进行分词操作的解决方案。

(2)词性标注。在对评论进行分词操作后,为了进行后续的情感倾向分析,需要建立短语的结构模型,即要对句子中的名词、动词、形容词等不同词性进行标注和确认。要确定语义情感倾向,就需要对句子的结构格式进行建模和定义。这里借鉴李永胜⑨等人的应用的短语结构进行分析。

(3)与情感词库、属性词库的词语进行比对。其中情感词库以知网的情感词库为准,分为褒义词的情感词库和贬义词的情感词库。而属性词库则根据商品的属性特征进行定义和构建,例如“颜色”、“色彩”都是和“颜色”属性相关的词语,而“物流”、“快递”、“送货”都是和“物流”属性相关的词语。由于属性词库具有很强的商品依赖性,所以在最初阶段,需要人工建立该词库,并在应用过程中不断补充。

(4)对短语的内容进行选取,基本原则为:先寻找评论中与属性词库相匹配的词语,确定该评论评价的是哪方面的属性;再寻找与情感词库相匹配的词语,明确该评论对于所评价属性的感情态度。

(5)计算短语的感情价值。最终,通过分析、匹配和筛选,我们可以挑选出具有明确评价对象和明确感情色彩的短语,作为评分生成的对象。本课题参考李永胜等人⑨的做法,通过统计一个短语模型中表示积极和消极短语出现的次数。同时,为避免感情值过大或过小,使用对数函数进行处理,并对有0次出现的情况进行特殊处理,如下公式所示。

其中Good代表第i个短语模型中的积极感情出现次数,而Bad表示第i个短语模型中消极感情出现的次数。

到底为止,该算法实现了对评论中的评论对象属性的识别、以及对短语模型的情感评分的功能。接下来,再参考用户的个人偏好向量与短语模型的评分,最终确定排序的指标和商品的总分。

3.基于加权求和的排序推荐模型

在短语感情价值计算的基础上,假设商品有n个属性、K条评价,则通过遍历该商品的所有评论,可以实现对所有n个属性的感情评分Vi的分别计算,即得到属性评价分数向量 ,其中:

于是在前两个模型的基础上,假设一个用户的对商品n个属性的偏好权重向量:

则可以得到该商品综合所有评论的最终情感倾向评分为:

最后,通过对不同商品加权后的商品总分进行排序,就可以得到排序搜索的最终结果。

总的来说,整个算法实现该解决方案的流程包含以下三个步骤:

(1)在用户执行搜索操作时,用户通过属性间的对比赋值体现自己对商品不同属性的重视程度,进而利用层次分析法生成用户偏好矩阵P。之后对矩阵进行一致性检验,对通过一致性检验的偏好矩阵计算出用户个性化的权重向量。

(2)针对单一条目的评论Cn,首先利用Sharp ICTLS分词工具将语句划分为短语集Rn,之后进行相应的词性标注。基于不同的句式,将短语集Rn中的名词与属性短语库相对比,确定评论所描述的属性;将Rn中的情感词语与情感短语库相对比分析,并根据褒义、贬义程度进行评分,形成单句情感分数。

(3)基于前两步的方法和模型,对某商品的所有评论集合C进行筛选,凡是对某个商品属性表示明确感情态度的短语,都存放在“相关短语集”中。对该短语集中的每个短语进行独立评分,汇总对每个商品属性的评分上。最终评分向量与用户偏好权重向量进行加权求和,形成商品总分,并根据商品总分生成搜索排序结果。

五、原型系统的设计方案

1.研究对象的选取

我们以淘宝网为研究对象,以女式裙子为商品样本,抓取了在淘宝网搜索“裙子”得到的默认排名前100的商品所有的评论。

进一步地,我们确定了该商品的属性集。在这里,我们仅仅选取了5个属性,作为原型系统的实现与功能验证。属性的层次分类如图1所示。

图1 对样本商品的属性层次分类

3.实验的排序结果

对100件商品的评论进行抓取评论原始数据,对原始数据进行如第四章所描述的处理,根据分词结果,匹配情感短语库和人工定义的属性短语库,对短语进行匹配和评分。

经过对三个典型用户的个人偏好建模和对商品评论分析和评分生成,我们对三个用户的商品评分进行了加权求和,并算出了最终每个商品的得分。对于5款商品,结合不同的用户偏好最终得到了不同的排序结果,如表2所示。

表2 结合三个用户偏好生成的五款商品评分

通过表2的结果可以看出,评分的确能够根据不同用户的不同偏好而有所差别。具体来说,用户B和用户C在前两款产品,即G1和G2上评分有明显差距。经过对评论的仔细阅读,发现G1商品的评价大多都在赞扬穿着的舒适程度和颜色的鲜艳程度,同时也有不少在抱怨物流太慢、发货不够及时;而G2商品的评论中,不少都在夸赞客服的耐心和细致,但也有不少评论描述了该商品的一些穿着上的缺陷可以看到,目前的原型系统已经可以初步实现根据用户不同的偏好类型而产生不同的评分和排序结果,体现出很好的应用前景和潜力。然而,在目前的原型系统中,仍然存在以下几个方面的问题:

(1)由于中文表述的多义性,使得有些词语的褒贬倾向很难独立地判断。

(2)目前原型系统没有尚没有开发UI界面,也不能实时抓取淘宝的评论数据。

(3)目前原型系统的适用和体验用户数量十分有限,没有得到足够的使用情况反馈。

六、未来研究的展望

随着电子商务的不断繁荣,商品种类和数量的激增,消费者搜索和筛选的时间成本也会随之增长。因此,搜索、排序和推荐功能在互联网购物场景下扮演着非常重要的角色。

本研究创新地提出了基于用户偏好和评论情感分析的排序和推荐方法,利用层次分析法建立用户偏好矩阵并形成属性权重向量;利用自然语言处理的方法进行语义情感分析,自动生成单条评论相对客观的分数;最后将偏好权重向量与相应属性的所有评论分数进行加权求和,进而形成搜索排序结果。这种排序方法能够很好地反映用户挑选商品时的个人偏好,并将根据评论自动生成的分数作为排序的重要指标。原型系统的验证结果显示,该方法确实能够高效、快捷的筛选出最合乎用户心意的商品。

未来的改进之处如下:

(1)开发“网络购买助手”APP或者插件,为用户提供更多帮助。在服务用户的同时获取用户的浏览和购买记录,根据用户的行为数据进行反馈验证,对搜索排序进行不断的优化。

(2)需要进一步解决小众商品的属性提取问题,以及新上架商品的评论冷启动问题。前者可以依靠人工打标签的方式解决;后者可以参考现有评分、卖家信息、用户特征等数据进行粗粒度推荐。

(3)可将该解决方案应用在其他推荐场景中,例如电影推荐、餐厅推荐等。

引文:

①艾瑞咨询.http://www.iresearch.com.cn/

②Chen M Y.Yahoo!for Amazon:Sentiment extraction from small talk on the web[J].Management Science,2007,53(9):1375-1388.

③Turney P D,Littman M L.Measuring praise and criticism:Inference of semantic orientation from association[J].ACM Transaction on Information System(TOIS),2003,21(4):315-346.

④孙文俊.图书领域消费者在线评论的有用性影响因素研究[J].江苏商论,2011(5):58-60.

⑤丁宇新,王晓龙.使用机器学习方法进行新闻的情感自动分类[J].中文信息学报,2007,21(6):95-100.

⑥朱嫣岚,闵锦,周雅倩,等.基于HowNet的词汇语义倾向计算[J].中文信息学报,2006,20(1):14-20.

⑦朱嫣岚.文本情感倾向分析若干问题研究[D].复旦大学,2007.

⑧郭金玉,张忠彬,孙庆云.层次分析法的研究与应用[J].中国安全科学学报,2008,18(5):148-153.

⑨李永胜.基于淘宝网的用户评价的商品推荐系统的设计与实现[D].吉林大学,2015.

猜你喜欢
词库短语排序
排序不等式
一“吃”多用
恐怖排序
节日排序
输入法词库乾坤大挪移
词库音系学的几个理论问题刍议
《健民短语》一则
将用户词库快速导入搜狗五笔词库