面向推荐系统的用户评论体验提取方法

2022-06-29 12:37谢裕清孙华成王永利
计算机技术与发展 2022年6期
关键词:聚类标签算法

粟 勇,谢裕清,孙华成,王 远,王永利

(1.南瑞集团有限公司(国网电力科学研究院有限公司),江苏 南京 211100;2.江苏瑞中数据股份有限公司,江苏 南京 211100;3.国网浙江省电力有限公司信息通信分公司,浙江 杭州 310000;4.南京理工大学 计算机科学与工程学院,江苏 南京 210094)

0 引 言

随着大数据的快速发展,推荐系统已经被成功应用到电商大数据领域,用以挖掘用户的历史行为、用户生成内容,并在此基础上建模来推测用户偏好[1-3],并向其推荐可能符合需求的信息。在推荐系统中,用户的主观评价和商品的特征信息并不是以一种约定俗成的形式或者结构存在于评论之中,更多的是以非结构化形式存在,在构建用户画像并将其运用于推荐系统这一方面,对于如何挖掘这些非结构化信息中实际可用的价值,很多学者提出了很多方法。例如,Sheng Feng等[4]提出一种选取合适的用户评论用于产品推荐的方法,但是该方法并没有区分主题产品和非主题产品各自的特征。Valliyammai C[5]提出了一种基于用户评论的旅游推荐系统,根据其他用户的历史评价推荐最佳的旅游方案,但这种方式所采用的支持向量机(support vector machine,SVM)占用了大量内存并且其个性化程度高度依赖于同义词库。Chakraverty等[6]提出了一种跨领域推荐方法。当一个领域中的可用数据缺少时,可以使用来自其他领域的数据(用户评分和评价)进行跨领域推荐。

为了有效区分主题产品特征和非主题产品特征,加强对用户语言模式的本体研究,在现有研究[7-14]的基础上,该文将非结构化的评论信息提取成结构化的多维用户体验信息,提出了一种在评论中提取用户体验的方法。详细介绍了该方法具体的步骤和算法,有利于推荐系统提供更准确的个性化推荐结果。实验结果表明该方法能够实现较高的准确率和丰富的多样性。

1 面向推荐系统的用户体验提取算法

1.1 评论中的用户体验

文献[15]提出了一种能够提取用户体验的自动化方法(AEUE)。其中,该方法定义的用户体验是由提取并过滤后的产品特征词和特征描述词组成。进一步给出用户体验的定义如下:

定义1 用户体验(E):用户体验由一个五元组表示:<体验特征(En),程度副词(Eadv),修饰语(Ea),情感极性(Ev),权重(Ew)>,用该五元组标签表示用户的体验信息,例如“价格很实惠”、“实用性很强”等。En表示名词,如上述中的“价格”、“实用性”,Ea表示修饰词,如“实惠”、“强”等。Eadv表示修饰Ea的副词,如“很”、“较”。Ev为情感极性的数值。Ew表示用户体验权重。

1.2 基于评论的用户体验提取模型

基于评论的挖掘的目的是在非结构性的用户评价语中通过将产品的特征提取出来,构建成特征向量。该文在实际处理过程中将产品特征划分为功能性特征和描述性特征两个方面,下面对这两类特征做简单的介绍:

(1)功能性特征:产品本体元数据,如 “电量持久”、“前置摄像清晰”、“运行内存大”等就是平板电脑的功能性特征描述。

(2)描述性特征:对功能特征的描述,如“8 000 mA电池容量”、“2 500万前置摄像”、“8 G运行内存”等。

受Schein等人[14]的启发,该文将用户体验提取过程总结为如下几个主要步骤:

(1)构建种子词集;

(2)提取体验特征;

(3)匹配出产品特征的修饰性短语或语段;

(4)采用一定方法分析出(3)中短语或语段的情感倾向,主要分为褒义和贬义;

(5)计算用户体验的权重并筛选排序。

下面对上述步骤和其中牵涉的主要算法进行详细的介绍。

1.2.1 构建种子词集

在预处理过程中,分词之后根据词性标注和词频统计排序,再人工选出相关度高的词,由此产生种子。表1列举了部分种子词。

表1 种子词集合

1.2.2 提取体验特征

短语结构文法主要是完成对句子各成分结构化关系的构建。依存文法则是通过句子中词语之间的依存关系来描述句子的结构,主要是中心词和其他句子成分之间的关系。依存文法中具体包含的关系种类由表2给出。

表2 句子依存关系分类及解释

续表2

定义2 体验特征标签(T)。体验特征标签由一个三元组表示,即:<体验特征(En),程度副词(Eadv),修饰语(Ea)>,这个三元组作为中间提取结果。

依存分析后,挖掘每个产品的候选标签集合T,即有:

T={T1,T2,…,Tn}

Ti={t1,t2,…,tm}

ti=,i∈[1,m]

其中,n为产品p评论数,Ti为第i个评论的特征标签。此外还需对三元组做显式去重操作。

基于评论的特征提取方法由算法1描述。

算法1:基于评论的特征提取方法。

输入:产品集合S;产品S的评论集合rS;种子词集合W

输出:T:

1:forsinSdo

2: forrinrSdo

3: preprocess()

4: DP←DependencyParser(rs) //依存文法分析

5: if DP includes

andn∈Wandn∈Wthen

6: //获取

和包含种子词的ADV、SBV依存关系

7:Tpr←

8:end if

9:end for

10:end for

1.2.3 情感极性计算

定义3 情感极性(Ev):指根据Ea与Eadv的情感分析得到的、并经过归一化处理后的语义倾向。

Ev计算方法由算法2给出:

算法2:情感极性计算方法。

输入:T:;情感词种子词集合W;

输出:E,包括En、Eadv、Ea、Ev、Ew的五元组。

1:fortinTdo

2:calculate PMI(t,wordpositive)

3:calculate PMI(t,wordnegative)

4:x←SO(t)//计算语义倾向

5:ifx≥threshold1andx≤threshold2

then //根据阈值筛选体验标签

6:E(w)pr=//过滤体验特征标签

7:end if

8: end for

9: Normalization(E)

算法2整体的算法复杂度为O(|W||T|), |T|为用户体验特征标签的数目, |W|为种子词的数目。

1.2.4 用户体验聚类方法

该文主要采用基于隐含狄利克雷分布(latent Dirichlet allocation,LDA)的主题方式进行聚类。使用聚类的目的是让提取的用户体验具有多样性,同时聚类之后还要确保类簇之间保持独立性。

图1 LDA的概率图模型

如图1中表述的是LDA的概率图模型,其中N表示训练语料库中出现的所有词,Z表示隐藏的主题,M表示文档数目,W表示可观测词,K表示主题个数,α、β分别表示每篇文档中主题和每个主题曲的先验狄利克雷分布的超参数,θ∈RM×K表示第m篇文章中的主题分布,φ表示第k个主题中的主题词分布。

由图可知,LDA联合概率为:

p(θ,z,w|α,β)=

(1)

算法3描述了主题聚类算法详细过程。

算法3:LDA主题聚类算法。

输入:主题数目L;文章集合D,即标签词;超参数α、β;

输出:每隔主题下的词概率分布φ;每篇文章的主题概率分布θ;每个主题下φ概率从高到低topN个特征词WtopN

1: for topicsl∈[1,L] do

3: end for

4: for documentsm∈[1,M] do

6: sample document lengthNm~Poiss(ξ)

7: for wordsn∈[1,Nm] do

10: end for

11: end for

1.2.5 用户体验权重计算方法

本节介绍权重的计算和处理。经过上述聚类后就可以得到类簇,再根据类簇的权重大小提取用户体验。最后将归一化权重值赋给Ew。权重计算公式如下:

(2)

其中,|T|为产品中体验特征标签总数,zi为ti标签所属的主题,|zi|为主题中主题词的数目。

2 实验与结果分析

2.1 实验环境

实验在python2.7环境下完成。分词使用的是jieba分词,版本号为0.39。依存文法分析使用的是哈工大语言技术平台的开发接口,采用gensim3.7.3作为LDA主题聚类模型库。

2.2 实验数据

从淘宝的天猫商城选取50个不同种类的产品数据作为实验数据,该文展示的主要是八种部分商品,包括“iPhone X”、“OPPO R11S”、“拜耳电动牙刷”、“吉利剃须刀”、“零食礼包”等等。

2.3 评价指标

为了验证提出方法的有效性,采用准确率(precision)和召回率(recall)来评估体验提取的效果。对于产品i∈I,TP(i)表示该算法对于产品评论集合中提取出的用户体验符合产品特征的集合,FP(i)表示提取出的用户体验与产品特征不相关的集合。推荐结果的precision和recall的定义分别为:

(3)

(4)

并采用F1来评价分类模型的好坏:

(5)

该文采用修正召回率,计算方式如表3所示。

表3 查重率计算

将修正召回率计算得到的F1值称为修正的F1值,记为Fw,传统的F1值记为Ft。当满足C1≥C2时:

(6)

在实验过程中,result1作为提取结果,result2作为对比方法提取的结果。多样性使用语义多样性计算:

(7)

其中,Nindepn表示用户体验的实际标签数,Nrightn表示用户体验的正确标签数。

表4 体验信息特征标签提取结果

2.4 结果分析

为了分别验证体验信息提取的准确性和多样性,设计了两组实验。第一组实验的标签提取结果如表4所示。每类产品选取前5个最相关的体验信息标签,比如对于iPhone X的5个标签为“正品行货”、“操作方便”、“性能强劲”、“屏幕清晰”、“款式漂亮”。实验结果表明文中方法的平均准确率为92.5%。

第二组实验的实验结果由表5给出。表5中方法1代表文中提出的基于推荐系统的用户评论体验提取方法,方法2表示文献[15]中用户体验信息自动提取的方法。可以看到,文中方法最终准确率平均值为0.872 5,略高于AEUE方法的准确率(0.832 5),但是修正召回率和修正F-measure值低于AEUE。所以AEUE在修正召回率计算上更具优势。而采用的LDA聚类保证类簇之间的独立性,故文中方法在多样性上更具优势。

表5 用户体验提取结果对比

3 结束语

为了提高推荐准确度,改善推荐质量,提出一种基于评论的用户体验提取算法。实验结果证明了该算法的有效性,并且能够实现较高的准确率与查全率。

猜你喜欢
聚类标签算法
基于数据降维与聚类的车联网数据分析应用
基于模糊聚类和支持向量回归的成绩预测
Travellng thg World Full—time for Rree
学习算法的“三种境界”
算法框图的补全
算法初步知识盘点
基于密度的自适应搜索增量聚类法
让衣柜摆脱“杂乱无章”的标签
科学家的标签
科学家的标签