2. 智能通信软件与多媒体北京市重点实验室(北京邮电大学), 北京 100876
2. Beijing Key Laboratory of Intelligent Telecommunication Software and Multimedia(Beijing University of Posts and Telecommunications), Beijing 100876, China
近年来,电商平台和团购网站蓬勃发展,逐渐改变了人们的生活和消费方式。在这些平台上,用户可以通过打分和撰写评论来对商品的各方面质量进行评价, 商品的评价信息会极大影响后续消费者的流量[1]。为了从这些大量的评价信息中快速总结出商品各方面的质量优劣进而用于商品推荐,人们开始关注方面分预测研究。
方面分预测的主要任务是预测用户对商品各方面的评分。为了实现有效的方面分预测,通常需要选择有效的文本表示模型来表征文字评论信息。而主题模型因其低维密实和解释性强等原因,受到研究者的青睐[2-3]。
传统的主题模型,如概率潜在语义分析(Probabilistic Latent Analysis,PLSA)[4]和潜在狄利克雷分布(Latent Dirichlet Allocation,LDA)[5]等,常用于分析单词的主题分布,因此,这些模型用于挖掘评论主题时,忽视评论中意见短语强烈的主题指向。针对评论信息的特性,Lu等[6]提出一种改进的PLSA模型来识别评论短语的主题。
当前,方面分预测算法多从内容信息角度来提取特征,如总分和评论的主题分布,却忽视用户和商品间的关联特征。而用户对不同商品的不同评分和评论,实际上构建出一个典型的异质信息网络(Heterogeneous Information Network,HIN)[7], 而HIN中包含了丰富的结构特征,广泛用于解决推荐系统问题[8]。
鉴于前人的研究,本文考虑内容信息和结构信息,提出融合异质信息网络和主题模型的方面分预测算法HINToAsp。首先,从评论短语和总分角度构建了一种Phrase-PLSA模型,用于识别短语的主题;然后,提出了一种基于评论行为的异质信息网络,通过评论的主题分布传递给用户和商品来刻画用户特性和商品属性;最后,在随机游走框架下将内容信息和结构信息有效整合后预测方面分。
本文主要贡献如下:
1) 基于用户对商品的评论数据,构建了评论行为的异质信息网络,有效刻画用户特性和商品属性;
2) 分别基于Phrase-PLSA和HIN来发现评论数据的内容信息和结构信息,并提出了一种随机游走框架将两者有效整合;
3) 在中文和英文评论数据集上不同规模的方面分预测实验,有效证明了所提算法的有效性和泛化性能。
1 相关工作结合评论和评分信息成为解决方面分预测的关键技术。
Zheng等[9]提出一种评价表达模式的LDA (Appraisal-Expression-Patterns-based LDA,AEP-LDA)模型,自动从评论中提取方面词;Wang等[10]提出潜在方面评分分析模型(Latent Aspect Rating Analysis Model,LARAM)算法,从方面级角度分析评论中的观点,并以此来预测用户对各方面的评分;文献[11]提出通过外部知识、总分分布以及情感词语词典等同步提取方面主题及对应评分;Li等[12]提出了一种考虑用户评分偏好影响的PLSA模型。但这些模型普遍只考虑了文本内容信息,忽视了评论网络中丰富的结构信息。
异质信息网络常用于建模社会媒体系统中不同类型的对象和对象间繁杂的交互关系。许多推荐方法通过HIN来整合各类信息:Shi等[13]提出了异质网络上的电影推荐系统(Heterogeneous network Recommendation,HeteRecom),通过元路径包含的语义信息计算电影之间的相似性; Yu等[14]基于元路径隐藏特征建模用户和商品之间的内在联系,分别从全局及个性化角度设计推荐模型; Sun等[15]提出了在科研学术网络上主题建模,并构建科研学术异质网络用于挖掘论文作者相似性; 张邦佐等[16]提出融合异质信息网络和矩阵分解进行总分预测。这些研究表明,在异质信息网络上的结构信息是可靠合理的。
2 PLSA和HIN 2.1 PLSA模型PLSA模型通过期望最大化(Expectation Maximization, EM)算法学习相关参数。图 1是PLSA的概率图模型。
图 1中,d表示一篇文档,z表示隐含主题或方面,w表示文档中的词语。p(di)表示文档di出现的概率,p(zk|di)表示文档di中出现主题z为k的概率,是一个多项分布。p(wj|zk)表示主题k下出现词语wj的概率,也是一个多项分布。图 1中d、w为可观测变量,主题z为隐藏变量,则可观测数据(di, wj)的联合概率分布如下:
$ p\left( {{d_i}, {w_j}} \right) = p\left( {{d_i}} \right)\sum\limits_{k = 1}^K {p\left( {{w_j}\left| {{z_k}} \right.} \right)p\left( {{z_k}\left| {{d_i}} \right.} \right)} $ | (1) |
其中: i∈{1, 2, …, M}, M为文档集大小,j∈{1, 2, …, N}, N为词的总数,k∈{1, 2, …, K},K表示主题总数。通过EM算法来学习式(1)中的参数p(wj|zk)和p(zk|di)。
2.2 HIN概念异质信息网络是一种以有向图为数据结构的特殊的信息网络,可以包含多类型对象以及多类型的边。
定义1 异质信息网络。给定一个模式(A, R),其中A表示实体集,R表示关系集。信息网络被定义为有向图G=(V, E),其中对象类型映射函数为Φ: V→A,关系类型映射函数为Ψ: E→R。每个对象v∈V属于某一特定的对象类型Φ(v)∈A,每条边e∈E属于某一特定的关系类型Ψ(e)∈R。当对象种类|A|>1或关系种类|R|>1时,此网络即为异质信息网络。
定义2 元路径。元路径P是在模式(A, R)上的路径,表示为
异质信息网络可以有效融合更多的结构信息、包含更丰富的语义,是数据挖掘领域的一个新的方向,异质信息网络用于推荐时,可以更加细致地描述用户和商品间的关系。
3 HINToAsp算法方面分预测的主要挑战是评论的文本建模以及和评分的结合。本文提出一种基于异质信息网络和主题模型的方面分预测算法(Aspect rating prediction method based on Heterogeneous Information Network and Topic model, HINToAsp),分别从内容信息和结构信息两个角度构建了Phrase-PLSA和Review HIN模型。通过Phrase-LDA,以短语为单位构建主题模型,挖掘出短语的主题分布;进而通过Review HIN充分考虑用户和商品间的链接信息,有效刻画用户行为特性和商品属性;通过随机游走框架将两部分结合一起。模型结构如图 2所示。
其中,阴影框表示Review HIN的网络模式,阴影框中箭头表示链路连接关系;右侧为Phrase-PLSA概率图模型。涉及的概念定义如下。
用户(User):用户u表示用户集合U中的一人。
物品(Item):物品s表示物品集合S中的一个商品(如大众点评数据中的餐馆)。
评论(Review):评论d表示用户u对物品s的文本评价信息。
短语(Phrase):由从评论d中抽取的一对词语〈h, m〉组成,h表示先行词,m表示修饰词。
先行词(Head Term):先行词h描述方面信息。
修饰词(Modifier Term):修饰词m描述情感信息。
总评分(Overall Rating):每条评论d对应的总评分r,通常为1~5的整数评分。
方面(Aspect):方面z表示物品s的一个属性或方面。
方面评分(Aspect Rating):方面评分az表示物品s在z方面的打分。
3.1 Phrase-PLSA模型本文提出一种改进的Phrase-PLSA模型,用于融合评论和评分等内容信息进行主题挖掘和方面分预测,图 3为对应的概率图。
Phrase-PLSA采用EM算法推导参数迭代计算公式,详细推导过程如下。
E步中,需要构造下界函数
$ {\mathscr{L}_0} = \sum\limits_{k = 1}^K {q\left( {{z_k}} \right)\lg \left\{ {\frac{{p\left( {h, m, r, d, {z_k}\left| \mathit{\boldsymbol{ \boldsymbol{\varLambda} }} \right.} \right)}}{{q\left( {{z_k}} \right)}}} \right\}} = \mathscr{L}-const $ | (2) |
其中:
$ \begin{array}{l} q\left( {{z_k}} \right) = p\left( {{z_k}\left| {h, m, r, d;{\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{{\rm{old}}}}} \right.} \right) = \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\frac{{p\left( {m\left| {r, {z_k}} \right.} \right)p\left( {h\left| {{z_k}} \right.} \right)p\left( {{z_k}\left| d \right.} \right)p\left( {r\left| d \right.} \right)p\left( d \right)}}{{\sum\limits_{t = 1}^K {p\left( {m\left| {r, {z_t}} \right.} \right)p\left( {h\left| {{z_t}} \right.} \right)p\left( {{z_t}\left| d \right.} \right)p\left( {r\left| d \right.} \right)p\left( d \right)} }} \end{array} $ | (3) |
因此,每次迭代过程中,式(2)中的const只与上一轮的结果有关,只需最大化
$ \begin{array}{l} \mathscr{L} = \sum\limits_{i = 1}^M {\sum\limits_{jh = 1}^{{N_h}} {\sum\limits_{jm = 1}^{{N_m}} {\sum\limits_{k = 1}^K {\sum\limits_{s = 1}^R {n\left( {{h_{jh}}, {m_{jm}}, {r_s}, {d_i}} \right)q\left( {{z_k}} \right)} } } } } \cdot \\ \;\;\;\;\;\;\lg p\left( {{h_{jh}}, {m_{jm}}, {r_s}, {d_i}, {z_k}\left| \mathit{\boldsymbol{ \boldsymbol{\varLambda} }} \right.} \right) \end{array} $ | (4) |
其中:
M步中,最大化下界函数
$ \frac{{\partial \left[{{\mathscr{L}_{p\left( {{m_{jm}}\left| {{r_s}, {z_k}} \right.} \right)}} + \lambda \left( {\sum\limits_{jm = 1}^{{N_m}} {p\left( {{m_{jm}}\left| {{r_s}, {z_k}} \right.} \right)}-1} \right)} \right]}}{{\partial p\left( {{m_{jm}}\left| {{r_s}, {z_k}} \right.} \right)}} = 0 $ | (5) |
计算得到:
$ \begin{array}{l} p\left( {{m_{jm}}\left| {{r_s}, {z_k}} \right.} \right) \propto \\ \;\;\;\;\;\;n\left( {{h_{jh}}, {m_{jm}}, {r_s}, {d_i}} \right)p\left( {{z_k}\left| {{h_{jh}}, {m_{jm}}, {r_s}, {d_i};{\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{{\rm{old}}}}} \right.} \right) \end{array} $ | (6) |
因此
$ \begin{array}{l} p\left( {{m_{jm}}\left| {{r_s}, {z_k}} \right.} \right) = \\ \;\;\;\;\;\;\frac{{\sum\limits_{h, d} {n\left( {h, {m_{jm}}, {r_s}, d} \right)p\left( {{z_k}\left| {h, {m_{jm}}, {r_s}, d;{\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{{\rm{old}}}}} \right.} \right)} }}{{\sum\limits_{h, m'd} {n\left( {h, m', {r_s}, d} \right)p\left( {{z_k}\left| {h, m', {r_s}, d;{\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{{\rm{old}}}}} \right.} \right)} }} \end{array} $ | (7) |
同理,其他参数的更新函数为:
$ \begin{array}{l} p\left( {{h_{jh}}\left| {{z_k}} \right.} \right) = \\ \;\;\;\;\;\frac{{\sum\limits_{m, r, d} {n\left( {{h_{jh}}, m, r, d} \right)p\left( {{z_k}\left| {{h_{jh}}, m, r, d;{\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{{\rm{old}}}}} \right.} \right)} }}{{\sum\limits_{h', m, r, d} {n\left( {h', m, r, d} \right)p\left( {{z_k}\left| {h', m, r, d;{\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{{\rm{old}}}}} \right.} \right)} }} \end{array} $ | (8) |
$ p\left( {{z_k}\left| {{d_i}} \right.} \right) = \frac{{\sum\limits_{h, m, r} {n\left( {h, m, r, {d_i}} \right)p\left( {{z_k}\left| {h, m, r, {d_i};{\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{{\rm{old}}}}} \right.} \right)} }}{{\sum\limits_{h, m, r, z'} {n\left( {h, m, r, {d_i}} \right)p\left( {z'\left| {h, m, r, {d_i};{\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{{\rm{old}}}}} \right.} \right)} }} $ | (9) |
$ p\left( {{r_s}\left| {{d_i}} \right.} \right) = \frac{{\sum\limits_{h, m, z} {n\left( {h, m, {r_s}, {d_i}} \right)p\left( {{z_k}\left| {h, m, {r_s}, {d_i};{\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{{\rm{old}}}}} \right.} \right)} }}{{\sum\limits_{h, m, r', z} {n\left( {h, m, r', {d_i}} \right)p\left( {z\left| {h, m, r', {d_i};{\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{{\rm{old}}}}} \right.} \right)} }} $ | (10) |
$ p\left( {{d_i}} \right) = \frac{{\sum\limits_{h, m, z, r} {n\left( {h, m, r, {d_i}} \right)p\left( {{z_k}\left| {h, m, r, {d_i};{\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{{\rm{old}}}}} \right.} \right)} }}{{\sum\limits_{h, m, d', z, r} {n\left( {h, m, r, d'} \right)p\left( {z\left| {h, m, r, d';{\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{{\rm{old}}}}} \right.} \right)} }} $ | (11) |
在购物或消费过程中,不同用户对不同商品撰写对应的评论文本,这种行为构成了一种评论网络,如图 4(a)所示。本文提出构建基于评论的异质网络,其模式如图 4(b)所示。网络中有用户(U)、商品(S)、评论(D)等三种类型的节点,同时包含了多种元路径及其蕴含的物理意义,如u1d1s1表示用户u1对商品s1撰写评论d1。
主题在评论D和与其相关的用户U和商品S间传播。给定一条评论的主题分布p(zk|di),一个用户u的主题分布按式(12)计算:
$ p\left( {{z_k}\left| u \right.} \right) = \sum\limits_{{d_i} \in {D_u}} {p\left( {{z_k}\left| {{d_i}} \right.} \right)p\left( {{d_i}\left| u \right.} \right)} $ | (12) |
其中:Du表示由u撰写的评论集合。相似地,一个商品s的主题分布的计算公式如下:
$ p\left( {{z_k}\left| s \right.} \right) = \sum\limits_{{d_j} \in {D_s}} {p\left( {{z_k}\left| {{d_j}} \right.} \right)p\left( {{d_j}\left| s \right.} \right)} $ | (13) |
另一方面,主题分布也可以从用户U和商品S传播到评论D中。根据通过主题模型估算出的评论的内在主题分布,提出如下主题传播算法:
$ p\left( {{z_k}\left| {{d_i}} \right.} \right) = \xi p\left( {{z_k}\left| {{d_i}} \right.} \right) + \frac{{\left( {1- \xi } \right)}}{2}\left[{p\left( {{z_k}\left| u \right.} \right) + p\left( {{z_k}\left| s \right.} \right)} \right] $ | (14) |
其中:di是用户u对商品s的评价。ξ表示主题传播过程中,传播偏好参数,用于调节Phrase-PLSA中挖掘的主题分布和Review HIN上传播的主题分布的权重影响:ξ为0表示算法仅考虑Review HIN部分;ξ为1表示算法仅考虑Phrase-PLSA部分,称之为HINToAsp\s。
3.3 方面识别和方面分预测为验证模型有效性,需要将预测的方面评分与真实的方面评分对比。由于预测方面应当与语料库中的要求的方面相对应,因此在构建模型时需要给每个方面预设部分先验词语,如后文4.1节。
在实验中,方面z加入先验知识,计算公式为:
$ \begin{array}{l} p\left( {{h_{jh}}\left| {{z_k}} \right.} \right) = \\ \;\;\;\;\;\frac{{\sum\limits_{m, r, d} {n\left( {{h_{jm}}, m, r, d} \right)p\left( {z\left| {{h_{jm}}, m, r, d;{\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{{\rm{old}}}}} \right.} \right) + \tau \left( {{h_{jm}}, {z_k}} \right)} }}{{\sum\limits_{h', m, r, d} {n\left( {h', m, r, d} \right)p\left( {z\left| {h', m, r, d;{\mathit{\boldsymbol{ \boldsymbol{\varLambda} }}^{{\rm{old}}}}} \right.} \right)} + \tau \left( {h', {z_k}} \right)}} \end{array} $ | (15) |
其中:τ(hjm, zk)表示词语的先验信息,当hjm的主题为zk时,τ(hjm, zk)=1, 否则τ(hjm, zk)=0。
方面识别 根据从模型中学习的参数,基于式(16)计算出对应的phrase属于的方面。
$ \begin{array}{l} {z_{\left\langle {h, m} \right\rangle }} = \arg \mathop {\max }\limits_z \sum\limits_r {p\left( {z, r\left| {h, m} \right.} \right)} = \\ \;\;\;\;\;\;\;\;\;\;\arg \mathop {\max }\limits_z \frac{{\sum\limits_{r, d} {p\left( {h, m, r, d, z} \right)} }}{{\sum\limits_{r, d, z'} {p\left( {h, m, r, d, z'} \right)} }} \end{array} $ | (16) |
方面分预测给定若干短语{〈h, m〉}所描述的实体e时,预测方面z上的得分az。预测公式如下:
$ {a_z} = \frac{{\sum\limits_{\left\langle {h, m} \right\rangle \in e} {\sum\limits_r {r \cdot p\left( {z, r\left| {h, m} \right.} \right)} } }}{{\sum\limits_{\left\langle {h, m} \right\rangle \in e} {\sum\limits_r {p\left( {z, r\left| {h, m} \right.} \right)} } }} $ | (17) |
融合HIN和Phrase-PLSA的HINToAsp算法的具体步骤如下。
输入 评论集D,对应评论短语集{〈h,m〉},集合R,用户集U,商品集S,评论短语先验信息;
输出 每个phrase属于的主题及对应评分。
1) 随机初始化p(mjm|rs, zk)、p(hjh|zk)、p(zk|di)、p(di)、p(rs|di)依据式(15)更新p(hjm|zk)。
2) E步:计算给定参数p(mjm|rs, zk)、p(hjh|zk)、p(zk|di)、p(rs|di)、p(di)时隐藏变量的后验概率,即p(hjh, mjm, rs, di, zk|Λ)。
3) M步:最大化下界函数
4) 返回步骤2)继续迭代,直至收敛结束迭代。
5) 依据式(16)计算得到在Phrase-PLSA上挖掘的评论短语主题。
6) 根据式(12)~(13)将评论集合的主题传递给与其相关的用户集U和商品集S。
7) 根据式(14)将用户U和商品(如餐馆)S的主题分布传播到相关的评论集合D。
8) 返回步骤5)继续迭代直至收敛结束迭代。
9) 固定p(zk|di),重复步骤2)~4)的EM迭代,直至收敛结束迭代。
10)依据式(16),(17)计算融合Phrase-PLSA和HIN信息, 得到每条评论短语的主题及对应评分。
4 实验与分析本章在大众点评(Dianping)和TripAdvisor的数据集上进行了不同规模的实验,验证了HINToAsp的有效性和泛化性能。
4.1 数据预处理及参数设置实验选取数据集为大众点评和TripAdvisor应用上采集的数据集。大众点评是一个集合餐饮娱乐等商家的中文社会媒体平台,消费者可以在上面对商家的“口味”“服务”“环境”等方面评分,并撰写评论。与“大众点评”相似,TripAdvisor上用户的评价包括了总分,英文评论以及在“价值”(Value)“服务”(Service)和“食物”(Food)方面上评分。数据集的统计信息如表 1所示。
数据预处理 主要是从评价中抽取短语,由于两个数据集是不同语言的,所以需要不同的预处理过程。TripAdvisor数据集的预处理过程与文献[1]相似,过程为:1)利用POS(Part-Of-Speech) Tagging标注词性;2)根据词性标注及文献[1]中的规则提取短语;3)采用Porter Stemmer进行词根还原。而处理大众点评数据集时,不需要词根还原,但在标注词性之前需要分词。本文采用Word Segmenter中文分词工具。
先验信息 本文选取先验评论短语见表 2。
实验采用均方根误差(Root Mean Square Error, RMSE)和皮尔逊相关系数(Pearson Correlation Coefficient, PCC)两个评价指标来评价模型有效性。其中: RMSE用于衡量预测值和真实值之间的误差,值越小则算法效果越好;PCC用于衡量集合数据之间的线性关系,比较预测值和实际值是否有相同的趋势变化,值越接近于1则相关性越强。RMSE和PCC的计算公式如下:
$ RMSE = \sqrt {\frac{{\sum\limits_{i = 1}^M {\sum\limits_{k = 1}^K {{{\left( {{{\hat a}_{{d_i}, {z_k}}}-{a_{{d_i}, {z_k}}}} \right)}^2}} } }}{{M \times K}}} $ | (18) |
$ \begin{array}{l} PCC = \frac{{M \times K\sum\limits_{i = 1}^M {\sum\limits_{k = 1}^K {{{\hat a}_{{d_i}, {z_k}}}{a_{{d_i}, {z_k}}}} }-\sum\limits_{i = 1}^M {\sum\limits_{k = 1}^K {{{\hat a}_{{d_i}, {z_k}}}{a_{{d_i}, {z_k}}}} } }}{{\sqrt {M \times K\sum\limits_{i = 1}^M {\sum\limits_{k = 1}^K {{{\left( {{{\hat a}_{{d_i}, {z_k}}}} \right)}^2}} }-\sum\limits_{i = 1}^M {\sum\limits_{k = 1}^K {{{\left( {{{\hat a}_{{d_i}, {z_k}}}} \right)}^2}} } } }} \times \\ \;\;\;\;\;\;\;\;\;\;\;\frac{1}{{\sqrt {M \times K\sum\limits_{i = 1}^M {\sum\limits_{k = 1}^K {{{\left( {{a_{{d_i}, {z_k}}}} \right)}^2}} }-\sum\limits_{i = 1}^M {\sum\limits_{k = 1}^K {{{\left( {{a_{{d_i}, {z_k}}}} \right)}^2}} } } }} \end{array} $ | (19) |
本文实验和三个方面分预测的代表性方法四元组PLSA(Quad-tuples PLSA,QPLSA)[17]、高斯分布的情绪评估(Gaussian distribution for RAting Over Sentiments,GRAOS)模型[18]及情绪均衡主题模型(Sentiment-Aligned Topic Model,SATM)[11]进行了准确度效果对比;此外,还对比了只使用主题模型而忽略异质网络的HINToAsp的模型,称之为HINToAsp\s。
QPLSA提出了一个四元组概率隐藏语义分析模型,四元组是指先行词、修饰词、实体和评分; GRAOS是一个半监督的LDA模型。模型从带有总评分的训练数据中挖掘出带有打分的方面信息,用于分析未被打分的数据的总评分; SATM提出了情感排列主题模型,引入了情感词典和总评分分布这两类额外的信息用于评分预测。
4.3 准确性实验采用RMSE评价模型方面分预测的准确性,设定主题个数K=3,实验在规模分别为25%、50%、75%、100%数据集上进行实验,实验结果见表 3。其中,HINToAsp的参数ξ的取值为4.4节中的最优取值,在大众点评数据集中ξ设置为0.9,TripAdvisor数据集中ξ设置为0.85。
由表 3比较后发现,相对于对比的方法,在两个数据集合的各规模数据集上,HINToAsp模型的RMSE的数值均最小,预测精度最高。而没有引入HIN的HINToAsp\s效果和QPLSA、SATM模型的效果持平,比GRAOS算法效果差。据此,验证了引入结构信息能够有效提高评分预测的准确性,以及HINToAsp模型的有效性。此外,在大部分情况下,HINToAsp模型预测结果的PCC值更好,将方面评分预测问题扩展为方面推荐问题时,HINToAsp算法可以取得更好的效果,推荐的结果更接近真实排名。
综合分析表 3,尽管GRAOS在预测精度上效果也比较好,但是其PCC值是几个模型中最差的,而本文算法效果在两个指标上的效果均最好。
4.4 参数实验在HINToAsp模型中,给定参数ξ调节主题挖掘模型和主题传播模型的贡献度。ξ取值为0至1中的实数。当ξ=1时,主题传播模型不生效,只使用主题挖掘模型部分。参数ξ的取值由参数实验决定。实验结果见图 5。
由图 5(a)可知,大众点评数据集上,ξ=0.9时,取得最好的效果,ξ=1时,模型效果不是最好,因此可见,不能盲目使用结构信息。由图 5(b)可知,TripAdvisor数据集上ξ=0.85时取得最好预测效果。
5 结语本文提出了一种基于异质信息网络和主题模型的方面分预测算法HINToAsp。从内容信息和结构信息角度分别构建了基于PLSA的主题挖掘模型以及基于HIN的主题传播模型;充分考虑了评论、评分等文本信息以及用户和商品之间构成的链接信息。本文通过和其他算法如QPLSA、SATM的对比,验证了HINToAsp算法的有效性。参数实验表明,恰当引入结构信息可以更加高效地进行评分预测和在评分预测基础上的推荐任务。
[1] | MOGHADDAM S, ESTER M. On the design of LDA models for aspect-based opinion mining[C]//Proceedings of the 21st ACM International Conference on Information and Knowledge Management. New York:ACM, 2012:803-812. https://link.springer.com/chapter/10.1007/978-3-319-55394-8_3 |
[2] | 林晓勇, 代苓苓, 史晟辉, 等. 基于主题模型的矩阵分解推荐算法[J]. 计算机应用, 2015, 35(S2): 122-124. (LIN X Y, DAI L L, SHI S H, et al. Matrix factorization recommendation based on topic model[J]. Journal of Computer Applications, 2015, 35(S2): 122-124.) |
[3] | 王春龙, 张敬旭. 基于LDA的改进K-means算法在文本聚类中的应用[J]. 计算机应用, 2014, 34(1): 249-254. (WANG C L, ZHANG J X. Improved K-means algorithm based on latent Dirichlet allocation for text clustering[J]. Journal of Computer Applications, 2014, 34(1): 249-254. DOI:10.11772/j.issn.1001-9081.2014.01.0249) |
[4] | HOFMANN T. Probabilistic latent semantic indexing[C]//Proceedings of the 22nd Annual International ACM SIGIR Conference on Research and Development in Information Retrieval. New York:ACM, 1999:50-57. https://www.coursehero.com/file/p3p99u3/Hofmann-T-1999-Probabilistic-Latent-Semantic-Indexing-In-Proceedings-of-the/ |
[5] | BLEI D M, NG A Y, JORDAN M I. Latent Dirichlet allocation[J]. Journal of Machine Learning Research, 2003, 3(1): 993-1022. |
[6] | LU Y, ZHAI C X, SUNDARESAN N. Rated aspect summarization of short comments[C]//Proceedings of the 18th International Conference on World Wide Web. New York:ACM, 2009:131-140. https://link.springer.com/article/10.1007/s11042-014-2158-0 |
[7] | SUN Y, HAN J, ZHAO P, et al. RankClus:integrating clustering with ranking for heterogeneous information network analysis[C]//Proceedings of the 12th International Conference on Extending Database Technology:Advances in Database Technology. New York:ACM, 2009:565-576. https://link.springer.com/chapter/10.1007/978-3-319-31863-9_2/fulltext.html |
[8] | SHI C, LI Y, ZHANG J, et al. A survey of heterogeneous information network analysis[J]. IEEE Transactions on Knowledge and Data Engineering, 2017, 29(1): 17-37. DOI:10.1109/TKDE.2016.2598561 |
[9] | ZHENG X, LIN Z, WANG X, et al. Incorporating appraisal expression patterns into topic modeling for aspect and sentiment word identification[J]. Knowledge-Based Systems, 2014, 61(2): 29-47. |
[10] | WANG H, LU Y, ZHAI C X. Latent aspect rating analysis without aspect keyword supervision[C]//Proceedings of the 17th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York:ACM, 2011:618-626. |
[11] | WANG H, ESTER M. A sentiment-aligned topic model for product aspect rating prediction[EB/OL].[2016-11-20]. http://www.anthology.aclweb.org/D/D14/D14-1126.pdf. |
[12] | LI Y, SHI C, ZHAO H, et al. Aspect mining with rating bias[C]//Proceedings of the 2016 Joint European Conference on Machine Learning and Knowledge Discovery in Databases. Berlin:Springer International Publishing, 2016:458-474. http://lpis.csd.auth.gr/xml-citations-formatted.asp?authorid=2 |
[13] | SHI C, ZHOU C, KONG X, et al. HeteRecom:a semantic-based recommendation system in heterogeneous networks[C]//Proceedings of the 18th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York:ACM, 2012:1552-1555. https://link.springer.com/article/10.1007/s41060-016-0031-0 |
[14] | YU X, REN X, SUN Y, et al. Personalized entity recommendation:a heterogeneous information network approach[C]//Proceedings of the 7th ACM International Conference on Web Search and Data Mining. New York:ACM, 2014:283-292. https://www.hindawi.com/journals/wcmc/2017/6783240/ref/ |
[15] | SUN Y, HAN J. Mining heterogeneous information networks:a structural analysis approach[J]. ACM SIGKDD Explorations Newsletter, 2013, 14(2): 20-28. DOI:10.1145/2481244 |
[16] | 张邦佐, 桂欣, 何涛, 等. 一种融合异构信息网络和评分矩阵的推荐新算法[J]. 计算机研究与发展, 2014, 51(S2): 69-75. (ZHANG B Z, GUI X, HE T, et al. A novel recommender algorithm on fusion heterogeneous information network and rating matrix[J]. Journal of Computer Research and Development, 2014, 51(S2): 69-75.) |
[17] | LUO W, ZHUANG F, ZHAO W, et al. QPLSA:Utilizing quad-tuples for aspect identification and rating[J]. Information Processing and Management, 2015, 51(1): 25-41. DOI:10.1016/j.ipm.2014.08.004 |
[18] | LUO W, ZHUANG F, CHENG X, et al. Ratable aspects over sentiments:predicting ratings for unrated reviews[C]//Proceedings of the 2014 IEEE International Conference on Data Mining. Piscataway, NJ:IEEE, 2014:380-389. |