基于地理-社会-评论关系的典型化兴趣点推荐方法

2019-12-04 03:15孟祥福张霄雁赵路路赵泽祺
小型微型计算机系统 2019年11期
关键词:聚类矩阵算法

孟祥福,毛 月,张霄雁,赵路路,赵泽祺

(辽宁工程技术大学 电子与信息工程学院,辽宁 葫芦岛 125105)

1 引 言

近年来,随着移动互联网技术和智能设备的快速发展,用户能够更加方便的获得自己的实时位置信息,这使基于位置的社交网络(Location-Based Social Networks,LBSN)和兴趣点(POI,Point of Interest,例如酒店、旅游景点等)推荐技术得到了广泛关注.现有的研究工作主要是利用用户签到的历史数据及其情景信息(如地理信息、社交关系)来提高推荐质量,但忽视了兴趣点的评论信息,导致对兴趣点属性的挖掘并不深入.评论信息是指用户访问过该兴趣点后对该兴趣点的真实描述,用户在进行兴趣点选择时通常会参考兴趣点的评论信息,这使得用户评论成为兴趣点推荐中需要考虑的一个重要属性.另外,目前的推荐系统大都追求推荐的个性化[1-4],对于兴趣点推荐而言,即为用户提供满足其偏好和需求的兴趣点,这就导致推荐结果大部分都是用户熟悉的区域,覆盖有限,兴趣点之间的相似度较高,用户选择余地小,从而导致用户的视野变窄.

针对上述问题,本文首先提出了一种兴趣点之间的地理-社会-评论关系模型,用于评估兴趣点之间的相关度;并且,在评估用户评论文本的相似度时,本文提出的方法在一定程度上解决了用户评论中经常出现错别字的问题,并考虑了评论文本的语义信息.对于推荐结果的选取,本文根据兴趣点之间的相关度,提出了一种兴趣点典型化推荐方法,旨在为用户推荐具有代表性和差异性的兴趣点.

2 相关工作

本文工作主要与兴趣点推荐算法和短文本分析方法相关,下面分别对这两个方面的国内外相关工作进行分析.

兴趣点推荐算法:近年来,兴趣点推荐主要考虑两方面的信息. 1)基于情景信息(地理因素、社会关系)的推荐.地理因素很大程度上影响用户的行为,用户更加倾向于去访问他们熟悉的地方,地理属性是兴趣点推荐算法必须考虑的基本因素;在社交网络中,用户的爱好一般会与自己的好友较为相似,用户经常会访问好友强烈推荐的地点,即可以利用访问用户社会网络关系来提升兴趣点推荐算法的性能,因此LBSN的兴趣点推荐充分考虑了情景信息.Ference[5]等人从用户偏好、社会影响和地理邻近度的角度出发,提出了一种协作推荐框架,经过数据分析,得到好友关系和地理位置具有强关联性,进而将其融合进行推荐.Zhang[6]等人将社会链接和地理信息融合到统一的POI推荐框架中,提出了ORec兴趣点推荐方法.上述方法在一定程度上提高了推荐的准确性,但推荐模型没有考虑用户评论,且推荐结果不具有多样性.Xu等人[7]为了缓解高维稀疏数据的冷启动问题,同时解决社会关系、基于内容的方法和协同过滤的兼容性问题,提出基于社会和内容的协同过滤模型. 2)基于用户评论的推荐.用户在选择兴趣点时通常会参考该兴趣点的评论信息,通过对评论文本的挖掘可以发现用户对兴趣点的偏好,衡量兴趣点之间的相似性,使推荐结果更具有实际意义.高明[8]等人基于LDA模型推断微博的主题分布和用户的兴趣向量,提出了一种适用于微博的实时推荐算法.Yin[9,10]等人根据主题模型LDA预测用户的兴趣程度和基于本地的兴趣点,提出了LCARS系统,实现脱机建模和在线推荐.现有的方法虽在一定程度上能够得到令用户满意的推荐结果,但都只是侧重于考虑上述的单个因素,或者其中两个因素,这就导致了对兴趣点属性的挖掘不够全面,因此本文在推荐模型中综合考虑了兴趣点的地理位置、用户社会关系以及评论文本信息,更加深入的量化了空间对象之间的耦合关系,在推荐时更能反映现实场景.另外,上述现有方法主要是给用户推荐其满意的兴趣点,却忽略了推荐列表本身的多样性和代表性,导致推荐的兴趣点之间较为相似并且是用户较为熟悉的地点,本文提出了一种兴趣点典型化推荐方法,旨在为用户推荐具有代表性和差异性的兴趣点,从而扩充用户视野和丰富用户体验.

短文本分析方法:现有的短文本相似度评估方法大致为三类,第一类是基于词语共现的方法[11-13],词语共现模型是自然语言处理中一个较为经典的模型,其基本思想是如果两个文本包含较多的共同词语那么它们是语义相关的或相似的;第二类是基于外部知识库的方法[14,15],该类方法通过引入外部词典(如HowNet,WordNet,同义词词林等)来计算词项之间的相似度.第三类是基于主题模型的方法[16,17],最具代表性的有LSI和LDA.LSI解决了文本向量矩阵高维度的问题,但在降维的同时也会丢失文本结构信息,无法解决多义词问题,LDA能够挖掘文档-主题分布和主题-词分布,虽能解决一词多义和多词一义的问题,但该模型在处理短文本时,由于短文本特征稀疏,一个词被分配给某个主题的次数和一个主题包括的词数目难以收敛,因此不适合较短文本.综合可见,基于词语共现的方法只是根据词频信息来评估相似度而并未考虑语义信息,将短文本转化为向量后,会出现维度高、数据稀疏、一词多义等问题;利用外部知识库则无法解决语料库中未涵盖词的语义问题,如用户评论中误拼的词语;而基于主题模型的方法不合适处理用户评论文本.本文提出的用户评论文本相似度度量方法可避免数据稀疏问题,同时在一定程度上解决了用户评论中经常出现错别字的问题,并考虑了评论短文本的语义信息.

3 总体解决方案

本文提出的兴趣点推荐模型主要分为两个处理阶段,解决方案的系统框架图如图1所示.

1)兴趣点相关度评估与聚类.融合兴趣点的地理位置、社会关系以及评论文本三方面因素,构建地理-社会-评论关系模型,形成兴趣点相关度矩阵,以此来评估兴趣点之间的相关关系;根据兴趣点之间的相关度,采用谱聚类算法对兴趣点进行聚类[18],使得相关度较高的兴趣点聚成一类且各个聚类之间具有较低的相关度.

图1 总体框架图Fig.1 General framework diagram

2)兴趣点的典型化选取.利用概率密度估计方法,从上述每个聚类中选择一个具有最大概率密度的兴趣点,然后采用泊松分布与矩阵分解相结合的概率因子模型来拟合用户访问兴趣点次数矩阵,从而对选取的典型兴趣点进行个性化排序.

4 兴趣点的地理-社会-评论关系模型的构建

4.1 兴趣点地理位置距离

对于兴趣点pi和pj,其地理距离定义为:

(1)

其中,E(pi,pj)为地点pi和pj之间的欧式距离,maxD为地点集合中任意两点之间的最大距离.

因此,兴趣点pi和pj之间的地理相关度为:

Sp(pi,pj)=1-Dp(pi,pj)

(2)

4.2 兴趣点社会关系距离

文献[19]的提出的社会距离体现了用户之间的亲密度,对于兴趣点pi和pj,其社会距离定义为:

(3)

其中,

(4)

其中,

Ua={ua|ua∈{Upi∪Upj}}

(5)

(6)

(7)

其中,Upi、Upj分别表示访问过兴趣点pi和兴趣点pj的用户集合,SUa,Ub表示用户社会联系的亲密度,Pua、Pub分别为用户ua和用户ub访问过的地点的集合.

兴趣点pi和pj之间的社会相关度可表示为:

Ss(pi,pj)=1-Ds(pi,pj)

(8)

4.3 兴趣点评论文本距离

传统的文本相似度度量方法大都将文本看作一组词语的集合,通过计算词语的TF-IDF值对文本建立特征向量,再利用向量之间的余弦相似度或Jaccard相似度等计算文本间的相似度,该类方法未考虑文本的语义信息;同时这种方法建立的向量也存在维度高,数据稀疏等问题.此外,用户评论内容通常较短,错别字也会经常出现,并且语法格式随意.因此,传统的文本处理方法不适用于评论文本的处理和相似度度量.针对上述问题,本文提出了一种新的评论文本相似度度量方法,基本思想是将基于概念间的字符串相似度和概念间的语义相似度相结合,可在一定程度上解决错别字的问题,并且考虑了文本的语义信息.

4.3.1 概念间的字符串相似度度量方法

用户评论文本中经常出现错别字,从而导致基于词典的相似度度量方法并不能度量其相似度,对此本文在文献[20]的基础上,提出了3种字符串相似度度量方法:最长公共子序列(LCS)、从第1个字符开始的最长连续公共子序列(MCLCS1)、从第n个字符开始的最长公共子序列(MCLCSn),并对这3种方法进行线性加权求和,确定概念间的字符串相似度.

给定两个概念Wi、Wj:

1)对最长公共子序列(LCS)进行规范化,将其称为NLCS:

(9)

2)对从字符1开始的最长连续公共子序列(MCLCS1)进行规范化,将其称为NMCLCS1:

(10)

3)对从字符n开始的最长连续公共子序列(MCLCSn)进行规范化,将其称为NMCLCSn:

(11)

概念间的字符串相似度可用下式计算:

α=λ1v1+λ2v2+λ3v3

(12)

其中,λ1、λ2、λ3为可调参数,用于调整NLCS、NMCLCS1以及NMCLCSn在概念字符串相似度中的比重,λ1+λ2+λ3=1.根据文献[20],可取λ1=λ2=λ3=1/3.

来看一个例子.给定一个概念“fresh”,在用户评论文本中很容易将其误拼成“fraesh”.基于词典的相似度度量方法并不能度量其相似度值,因此可利用概念间的字符串相似度计算方法.

LCS(fresh,fraesh)=fresh

MCLCS1(fresh,fraesh)=fr

MCLCSn(fresh,fraesh)=esh

NLCS(fresh,fraesh)=52/5×6≈0.833

NMCLCS1(fresh,fraesh)=22/5×6≈0.133

NMCLCSn(fresh,fraesh)=32/5×6=0.3

α=1/3×0.833+1/3×0.133+1/3×0.3=0.422

因此,“fresh”和“fraesh”字符串相似度为0.422.

4.3.2 概念间的语义相似度度量方法

本文采用WordNet在线词汇参照系统计算概念之间的语义相似度.它与传统词典不同,它使用同义词集合代表概念,利用概念的IS-A关系将概念组合成标准的层次结构.

本文以WordNet的词汇语义分类作为基础,抽取出其中的同义词,然后采用基于向量空间的方法计算相似度,根据文献[21],其工作流程如下:利用WordNet提供的函数接口,首先从WordNet的同义词词集(Synset)、属类词(Class word)和意义解释(Sense explanation)这三个集合中抽取出候选同义词,然后进行特征提取.根据对词汇语义特征的描述,两个意义(Sense)之间的相似度可以通过计算其在三个不同的意义特征空间中的距离来得到.根据意义相似度即可计算出WordNet中两个概念之间的相似度.

下面给出计算两条评论文本的相似度的算法流程:

输入:两条评论文本Ci和Cj

输出:两条评论文本的相似度值S(Ci,Cj)

①对评论文本Ci、Cj进行预处理.在对Ci、Cj进行分词之后,需要去除标点、特殊符号和停用词.处理后文本Ci中剩下x个概念,文本Cj中剩下y个概念,y≥x,否则交换Ci、Cj.

②对于处理后的Ci、Cj中,删除δ个相同的概念,则Ci={pi1,pi2,…,pi(x-δ)},Cj={rj1,rj2,…,rj(y-δ)},若x-δ=0(即Ci、Cj完全相同),则转到⑥.

③建立一个(x-δ)×(y-δ)的字符串相似度矩阵,称其为M1.

④建立一个(x-δ)×(y-δ)的语义相似度矩阵,称其为M2.

⑤建立一个(x-δ)×(y-δ)的联合矩阵,称其为M.

M=(M1+M2)/2

(13)

⑥从联合矩阵M中找到最大的元素γij.如果γij≥0,将γij添加到ρ列表中,并删除第i行第j列的所有元素.重复这一过程,直到x-δ-|ρ|=0.

⑦计算两条评论文本Ci、Cj的相似度为:

(14)

为了得到在0-1之间的数值,本文将结果乘以x和y的倒数调和平均值.

至此可得到兴趣点pi和pj之间的评论相关度:

Sc(pi,pj)=S(Ci,Cj)

(15)

4.4 兴趣点地理-社会-评论相关度

根据(1)-(15)式,分别得到了兴趣点之间的地理相关度、社会相关度以及评论文本相关度,由此可以得到兴趣点之间的地理-社会-评论相关度为:

Sgsc(pi,pj)=θ1Sp(pi,pj)+θ2Ss(pi,pj)+θ3Sc(pi,pj)

(16)

其中,θ1、θ2、θ3为可调参数,用于调整地理相关度、社会相关度、评论文本相关度在兴趣点相关度中的比重,其中θ1+θ2+θ3=1.

5 兴趣点的典型化选取

5.1 基于兴趣点相关度矩阵的聚类

为了得到具有多样性的兴趣点推荐列表,需将第4节得到的兴趣点相关度矩阵进行聚类,进而从不同类别中选取典型性的兴趣点.谱聚类是一种基于图论的聚类方法,该算法只需要数据之间的相似度矩阵即可,并更适合在高维度的数据上运行,因此本文采用谱聚类中规范割集准则[22]进行兴趣点的聚类.

图2是一个带权无向图,顶点之间的连线表示两个顶点之间的联系,边的权重代表顶点的相关度,本文用wij代表顶点i与j之间的相关度.假设图2的无向图被分为两类G1和G2,以n维向量(这里n=7)q=[q1,q2,…,qn]记录该无向图的划分方法(若顶点i属于G1,则qi=c1;若顶点i属于G2,则qi=c2),划分方案可表示为q=[c1,c1,c1,c1,c2,c2,c2].按此划分方案,划分最优子图时所截断的兴趣点关系图中边的权重之和的函数,即损失函数可表示为:

(17)

图2 谱聚类示意图Fig.2 Spectral clustering diagram

又因为:

(18)

合并算公式(17)和公式(18)可得:

(19)

其中,L=D-W.根据瑞利熵性质,当q为L最小特征值时,可以取到qTLq的最小值,即Ncut(G1,G2)的最小值.而当需要将带权无向图划分为k个子图时,则可取前m个最小特征值对应的特征向量,组成一个n×m矩阵R,第i个行向量代表顶点i,进而利用k-means聚类划分可最终得到k个兴趣点聚类.

由于采用最小切割准则的谱聚类结果容易出现歪斜分割问题,即偏向小区域分割现象,因此本文采用规范割集准则(Normalized cut)对兴趣点进行划分.其损失函数表示为:

(20)

划分方案为:

(21)

其中,d1、d2、d分别表示图G1、G2、G的权值之和,采用规范割集划分准则的聚类过程与上述过程相同,这里不再赘述.

5.2 兴趣点的典型化选取

为了从每个聚类中选一个具有代表性的兴趣点,本文采用了概率密度估计方法.概率密度是分析集合中某个对象典型程度的核心方法,本文采用高斯核函数的概率密度估计方法对兴趣点进行典型化选取.基本思想是:给定一个兴趣点集合Q和其中的一个兴趣点o,兴趣点o的典型程度与其他点在Q中的分布情况有关,如果兴趣点o周围的点越密集,则兴趣点o的概率密度越大,兴趣点o就越具有代表性.f(o)是集合Q上的概率密度分布函数:

(22)

根据兴趣点之间的相关度,可以采用式(22)从每个聚类集合中选取一个具有代表性的兴趣点,从而形成典型化的兴趣点推荐集合.

5.3 兴趣点排序

对于5.2节得到的典型化兴趣点推荐集合,还需对其中的兴趣点按用户偏好进行个性化排序.用户访问兴趣点的行为在一定程度上符合以固定的平均瞬时速率随机且独立出现的特点,可用泊松分布近似拟合用户在单位时间内访问某个兴趣点次数,因此本文采用泊松分布与矩阵分解相结合的概率因子模型[23]来拟合用户访问兴趣点次数矩阵(即用户满意度矩阵).若用户对某兴趣点的访问次数越多,则该用户对该兴趣点的兴趣度越高,那么该兴趣点推荐给用户的价值也就越高.

本文用一个m×n(m表示用户个数,n表示兴趣点个数)维矩阵F记录用户访问兴趣点的次数.例如,矩阵中的元素fij表示用户i访问兴趣点j的次数.假设fij满足以yij为均值的泊松分布,则yij可以组成一个与矩阵F具有相同行列数的m×n矩阵Y,并且矩阵Y可被分解为一个m×d维的矩阵U和一个n×d维的矩阵V,其中U中的元素uik(k=1,2,…,d)表示用户i对兴趣点隐藏属性(latent feature)k的偏好程度,V中的元素vjk(k=1,2,…,d)表示兴趣点j对隐藏属性k的贴近程度.假设uik、vjk服从Gamma先验分布,经推导:

(23)

(24)

其中,根据文献[23],αk、βk分别取最优参数20、0.2.

利用公式(23)和(24)进行迭代,最终可以得到拟合度较高的Y=UVT,用来预测用户访问兴趣点的次数.根据该用户满意度矩阵对5.2节得到的典型化的兴趣点推荐集合进行个性化排序,从而得到具有典型性和个性化的推荐列表.

6 效果与实验性能分析

本节介绍实验数据,实验设置以及实验结果,并对实验结果进行分析.

6.1 实验数据

本文采用真实数据集,Yelp数据集,Yelp是美国最大的点评网站,用户可以在该网站上签到,互加好友,上传图片和评论信息.表1-表4分别给出了Yelp数据集格式、社交关系数据格式、地理信息数据格式以及评论文本数据格式.

实验截取经度在-112.0到-111.9之间,纬度在33.3至33.6之间的地区作为实验分析数据,再删除其中签到次数少于5次的用户以及被访问次数少于5次的兴趣点,最终数据包括40033条签到记录,2599个用户、1778个兴趣点以及对应兴趣点的2016、2017年的评论文本.

表1 Yelp数据集介绍
Table 1 Yelp dataset statistics

EventYelpUsers43873POIs111537Review229907

表2 社交关系数据格式
Table 2 Social relationship data format

PropertyYelpUseridQGgWWhEi5R4SLAKN-xwtNQFriendsCCK6WHhMmGqxgmt0vAfRBw

表3 地理信息数据格式
Table 3 Geographic information data format

Property YelpBusinessidbp5ARRJu3_8CBsAS4tOWhALatitude33.4360502Longitude-111.994973

表4 评论文本数据格式
Table 4 Comment text data format

PropertyYelpUseridbv2nCi5Qv5vroFiqKGopiwBusinessid0W4lkclzZThpx3V65bVgigReviewLovethestaff,lovethemeat,lovetheplace.

6.2 实验设置

效果评价标准:本文采用多样性、准确率和召回率这三个指标对算法的效果进行评价.

(25)

(26)

(27)

其中,Lrec表示为用户推荐的兴趣点列表,Dgsc(pi,pj)表示兴趣点pi和pj的地理-社会-评论距离.显然,DivLrec的值越高,推荐列表Lrec的多样性越高.U代表用户集合,Ltest(ua)表示测试兴趣点列表,由测试集中选出的前k个用户ua访问次数最多的兴趣点组成;若用户ua访问的兴趣点个数少于k,则Ltest(ua)由用户ua访问过的所有兴趣点组成,k=|Lrec(ua)|.

推荐模型对比:传统的矩阵分解只是根据用户-兴趣点访问矩阵进行推荐,而并未考虑兴趣点之间的关系,为了验证本文提出的算法的有效性,选取了下列常用的矩阵分解推荐算法进行对比:

PFM:概率因子模型[23],该算法结合泊松分布及矩阵分解进行概率分析,通过梯度下降等方法学习出预测矩阵.

TPFM:该算法结合地理-社会-评论关系模型和谱聚类方法,对兴趣点进行多样性分析,再通过PFM算法拟合用户满意度矩阵.

oTPFM:该算法未考虑用户的评论文本,通过结合地理-社会模型和谱聚类方法,对兴趣点进行多样性分析,再通过PFM算法拟合用户满意度矩阵.

SVD:奇异值分解算法[24],采用奇异值分解的方法进行矩阵分解.SVD是用于将矩阵规约成其组成部分的一种可靠的正交矩阵分解法.

TSVD:该算法结合地理-社会-评论关系模型和谱聚类方法,对兴趣点进行多样性分析,再通过SVD算法拟合用户满意度矩阵.

NMF:非负矩阵分解算法[25],它使分解后的所有分量均为非负值,并且同时实现非线性的维数约减.该算法广泛应用于信号处理,计算机视觉等领域.

TNMF:该算法结合地理-社会-评论关系模型和谱聚类方法,对兴趣点进行多样性分析,再通过NMF算法拟合用户满意度矩阵.

6.3 评论文本相似度的用户满意度调查

本节以调查的方式测试本文提出的评论文本相似度计算方法的准确性.在Yelp数据集上,整理了31个兴趣点的31组评论文本,选取其中的一组评论文本作为基准,利用本文提出的方法和ST-CW算法[26]分别将该基准文本与其余30组评论文本做相似度计算,并整理出与该基准评论文本相似度最高的10组评论.然后邀请了10个用户(硕士生),让他们从30组评论中选出与基准文本最相似的10组评论文本.则算法的准确率为:

(28)

其中,分子代表由不同方法得到的10组评论文本和由用户选出的10组评论文本的交集,即两种方法得到的结果与用户标注结果之间的重叠程度,重叠程度越高,说明用户满意度(算法准确率)越高.

图3 10名用户的满意程度Fig.3 Satisfaction of 10 users

从图3可以看出,本文提出的算法的重叠率为82%,而ST-CW算法的重叠率为69%(重叠率取10个用户的平均值).由此可见,本文提出的算法具有较高的重叠率,即具有较高的准确率.

6.4 推荐结果分析

实验中,以0.1为步长,采用枚举法讨论兴趣点相关度的权重系数.首先令θ1=0.1,分别令θ2=0.1、0.2、…、0.8,θ3=0.8、0.7、…、0.1,然后令θ1=0.2,分别令θ2=0.1、0.2、…、0.7,θ3=0.7、0.6、…、0.1,再令θ1=0.3,分别令θ2=0.1、0.2、…、0.6,θ3=0.6、0.5、…、0.1,以此类推.经测得,当θ1=0.8、θ2=0.1、θ3=0.1时在准确率召回率指标上取得较好的结果,因此选取0.8、0.1、0.1作为地理相关度、社会相关度以及评论相关度的权重系数;而PFM中的参数根据文献[23]中的最优参数设定,αk=20、βk=0.2,该参数经过测试,同样适用于本文所用数据集;在k-means聚类中,本文将重复10次试验,最后取10次结果的平均值以便使结果具有一定的稳定性.为了确定5.1节中的参数m,随机选取50%的数据集作为矩阵分解算法的训练集,剩下的50%作为测试集,测试m对实验结果的影响,实验结果如图4所示.

图4 参数m对实验结果的影响Fig.4 Impact of m on experimental result

从图4(a)中可知,m的取值对推荐列表多样性的影响不大;由图4(b)、图4(c)可知,由于PFM、SVD、NMF未采用谱聚类算法,所以它们的结果不受参数m的影响;当m=5时,TPFM、TSVD、TNMF的准确率和召回率都达到了较高的水平.因此本文设定m=5为最优参数.

为了验证评论信息对兴趣点推荐结果的影响,在实验时,将考虑了评论文本的地理-社会-评论模型与未考虑评论文本的地理-社会模型进行对比.分别以10%、20%、…、90%的数据集作为训练集,剩下的90%、80%、…、10%作为测试集,对考虑了评论文本的TPMF算法和未考虑评论文本的oTPFM算法进行对比,图5给出了采用不同比例的训练集和测试集对TPFM和oTPFM推荐结果的影响.

从图5(a)中可知,是否考虑评论文本对推荐结果的多样性影响不大,但从图5(b)和图5(c)中可知,在准确率和召回率指标上,相比于没有考虑评论信息的oTPFM算法,本文提出的TPFM算法均取得了更好的准确率和召回率.由此可见,在原有地理属性和社会属性的基础上,加入用户评论不仅更加符合现实意义,而且还能达到提高推荐准确性的目的,说明本文算法的优越性.

为了更好地验证算法的效果,本文选取m=5,并分别以10%、20%、…、90%的数据集作为训练集,剩下的90%、80%、…、10%作为测试集,对TPFM、PFM、TSVD、SVD、TNMF、NMF进行对比.图6给出了采用不同比例的训练集和测试集对TPFM、PFM、TSVD、SVD、TNMF、NMF推荐结果的影响.

图5 评论文本对实验结果的影响Fig.5 Impact of comment on experimental result

图6 训练数据集对实验结果的影响Fig.6 Impact of training data on experimental result

由图6(a)可知,相比于没有进行多样性分析的PFM、SVD、NMF算法,本文进行多样性分析的TPFM、TSVD、TNMF算法在推荐列表上具有更高的多样性;而图6(b)、图6(c)显示,在准确率、召回率指标上,相比于没有进行多样性分析的PFM、SVD、NMF算法,TPFM、TSVD、TNMF算法也取得了更好的效果;而本文着重介绍的TPFM算法,在多样性、准确率以及召回率方面,普遍高于其他几种算法.进一步验证了本文提出的方法具有更好的性能.

7 总 结

本文根据兴趣点的地理-社会-评论关系相关度,采用谱聚类方法对兴趣点进行分类划分,在此基础上利用概率密度估计方法选取典型兴趣点,在根据拟合的用户满意度矩阵对选取的兴趣点进行个性化排序.

本文提出的算法考虑了兴趣点的多重属性,实现了兴趣点在更高维度上的多样性,更加具有实际意义.实验结果表明,本文提出兴趣点之间的相关度量化模型和推荐算法比传统的矩阵分解算法具有更高的多样性和准确性.下一步将考虑兴趣点更多的属性,如兴趣点的交通情况、兴趣点的时序信息以及兴趣点的消费水平等,同时算法的推荐效率也是值得进一步探究的问题.

猜你喜欢
聚类矩阵算法
一种傅里叶域海量数据高速谱聚类方法
哪种算法简便
Travellng thg World Full—time for Rree
进位加法的两种算法
根据问题 确定算法
面向WSN的聚类头选举与维护协议的研究综述
改进K均值聚类算法
多项式理论在矩阵求逆中的应用
基于Spark平台的K-means聚类算法改进及并行化实现
矩阵