一种基于相似度的混合推荐方法

2015-06-05 08:56胡三宁
三门峡职业技术学院学报 2015年2期
关键词:标签聚类个性化

◎胡三宁

(三门峡职业技术学院教务处,河南三门峡472000)

一种基于相似度的混合推荐方法

◎胡三宁

(三门峡职业技术学院教务处,河南三门峡472000)

提出了一种基于用户兴趣及标签相似度的混合推荐算法,构建基于标签的用户兴趣模型,通过计算与资源相似度完成推荐,同时融合时间因素研究用户兴趣变化,提高了基于内容的推荐中相似度计算的准确率;根据用户兴趣相似度聚类用户,通过兴趣协同推荐减少对评分矩阵的依赖,一定程度上解决了协同过滤中推荐数据缺失问题;同时,结合用户基本信息有望缓解冷启动问题。实验表明该算法具有一定的有效性及可行性。

用户兴趣;标签;相似度;混合推荐

在Web技术高速发展的今天,互联网上的信息呈指数级剧增[1]。然而面对海量的、分散的数字化资源,渴望进行网络学习的用户却往往无法准确获得满足其需要的资源。即尽管“资源海洋”表现为“信息过载”,但由于海量资源与学习者个性化需求之间存在的较大的供需矛盾,仍不可避免的造成了有用信息的“匮乏”[2]。为解决这一矛盾,个性化推荐技术应用而生,并逐渐成为领域研究热点。笔者在总结现有个性化推荐技术的基础上,提出一种基于用户及标签相似度的混合推荐方法。经过实验验证,该方法具有一定的可行性。

1 个性化推荐技术

文献[3]给出推荐系统的非形式化概念:“利用电子商务网站向客户提供商品信息和建议,帮助用户决定应该购买什么产品,模拟销售人员帮助客户完成购买过程。”相应的,文献[4,5,6]给出推荐系统的形式化定义:设C是所有用户(user)的集合,S是所有可以推荐给用户的对象(object)的集合,实际中,C和S集合的规模通常很大,如上百万的顾客以及上亿种歌曲等。设效用函数u()可以计算对象s对用户c的推荐度(如提供商的可靠性和产品的可得性等),即u:C×S→R,R是一定范围内的全序的非负实数,推荐要研究的问题就是找到推荐度R最大的那些对象S*,如式(1):

综合两种理解可以发现,个性化推荐旨在通过建立用户与产品之间的二元关系,利用规则计算或挖掘用户的潜在兴趣对象,从而进行个性化推荐,其本质仍为信息过滤[7,8]。随着互联网的发展,个性化推荐的应用范围不断扩展,但一个完整的推荐系统主要可抽象为三部分[5,6,7],分别是用户建模模块、推荐对象建模模块、推荐算法模块。

整个推荐过程可描述为:通过用户的基本信息及历史行为记录进行用户建模,抽象出用户的潜在兴趣模型;结合领域特征,提取推荐对象特征;结合推荐算法,完成用户需求与推荐对象的有效对接,最终实现个性化推荐。

进一步的,根据侧重内容的不同,推荐算法可以分为基于规则的推荐、基于内容的推荐、协同过滤以及混合推荐等四种[5,7,9]。其中,基于规则的推荐以关联规则为基础,以知识推理为目标,但规则发现及推理演化效率较低;基于内容的推荐源于信息的检索与过滤,重点与难点均是用户与内容间的特征提取与匹配;协同过滤采用最近邻策略,但依赖于用户对资源的评分;混合推荐采取多种推荐方法的组合,以弥补单一推荐技术的弱点。

个性化推荐自被提出,得到了广泛关注与发展。文献[1]提出二分网络协同过滤算法,结合灰色关联相似度实现个性化推荐;文献[2]采用基于二部图的协同推荐,整合协同标注中标签的潜在语义进行音乐推荐;文献[9]通过分析用户行为模式及浏览内容,提出基于用户行为的兴趣度模型,并采用EM算法聚类兴趣相似用户进行协同推荐;文献[10]利用统计分析构建用户偏好模型,进而结合网络推荐模型进行线性组合推荐。文献[11]通过单值分解对评分矩阵进行降维处理,利用近邻粗糙集理论获取最近邻居,最终提出一种基于最近邻居的协同过滤推荐算法。

2 基于相似度的混合推荐算法

2.1 推荐对象特征建模

获取结构化资源的内容特征可以采用TF-IDF等特征提取技术,而对于半结构化、非结构化资源的特征提取,社会化标签出现为其提供了一种行之有效的解决途径。

协同标注的标签(Tag)含有丰富的信息描述对象内容[2],即由用户标注的标签Tagi可以作为资源的特征,多个标签即可构成该资源的特征向量Vres={Tag1,Tag2,…,Tagn}。

在实际推荐过程中发现,多个标签之间存在同义及近义现象;尽管不同标签含有不同词义,但仍存在较强的语义相关性。采用互信息衡量标签Tagi与Tagj间相似度Sim(Tagi,Tagj),具体如式(2)所示:

其中,P(Tagi)、P(Tagj)分别表示标签Tagi、Tagj所在文档中出现的概率;P(Tagi,Tagj)为Tagi与Tagj同时出现在同一文档的概率。相似度较高的标签之间,具有较大的语义相关性,在兴趣推荐过程中,更容易获得目标用户的关注。

进一步的,资源Resp与Resq之间的相似度定义为其所含标签间的相似度之和,具体如式(3):

其中,Tagi,Tagj分别Resp与Resq的项。

2.2 用户兴趣建模

用户兴趣是推荐系统的需求驱动,文献[9,12,13]针对用户兴趣挖掘进行了大量研究。其中,文献[9]定义了11种用户浏览行为,并选取7种构建用户的兴趣行为集合;文献[12]采用基于本体论及概率频繁兴趣簇的用户模型并引入兴趣衰减;文献[13]引入局部兴趣相似指导用户建模。

考虑到推荐系统实时性、可操作性要求,采用基于向量空间的用户模型。根据用户历史记录,主要关注用户的关键字检索及浏览历史等。用户针对关键字的检索所表现出的是对该关键字key具有较高的关注,可以抽象为<关键词,浏览次数>二元组,而对资源(主题title)的浏览可以进一步抽象为<主题,驻留时间>二元组。通常意义上,检索次数愈多、驻留时间愈长,表明用户对该资源愈感兴趣。即用户检索及浏览历史可分别用向量V(searchinfo)、V(browseInfo)、表示:

其中,为所检索关键字及其权重构成的向量,且某关键字keyi权重由检索该关键字的次数numi在整个检索过程总次数中的比确定,即

由用户浏览的信息titlei及该条信息的权重组成,浏览某信息titlej的权重为浏览该信息占总浏览时间的比,即

而结合资源由标签标注,将关键词key、主题title替换为标签Tag,同时经归一化处理,用户的兴趣向量可以表示为Vu={<Tag1,w1>,<Tag2,w2>,…,<Tagm,wm>}。

考虑到用户兴趣是随时间变化的量,且用户最近的兴趣更能反映其当前需求[14]。引入时间函数标识用户的兴趣演化,可以更准确的衡量当前资源对目标用户当前兴趣需求的契合程度。因此,在用户检索及浏览过程中,必须考虑时间对Tag权重的影响。通过式(7)衡量时间对用户兴趣的效用衰减:

其中,ti为Tagi标签发生时刻,to为时间原点,δ为衰减因子。

2.3 基于相似度的混合推荐算法

协同推荐依赖于评分矩阵,而当评分数据过于稀疏甚至缺失时,将影响近邻用户的挖掘。为解决该问题,采用基于用户行为相似度的聚类。监督学习需要人工干预,而无监督学习准确率偏低,故笔者采用KMeans与SVM相结合的方法,同时引入GSA计算质点间相互作用,具体算法描述及流程图如下:

算法3-1.用户聚类分析算法

输入:用户兴趣向量

输出:聚类完成的k个簇识别与标记离群点,剩余点执行(2);利用文献[15]中提出算法得出最佳聚类数k;利用KMeans算法进行聚类,至满足终止条件;根据GSA计算质点与当前簇之质心的相互作用,标记作用最强的数据作为训练样本;通过SVM对样本数据进行分类,从而得到SVM分类器;利用上一步得到的SVM分类器对原数据(包含(1)的离群点)重新分类。

其中,因KMeans对离群点极为敏感,故在(1)中,采用基于密度的离群噪声点检测[16]标记离群点。步骤(3)中定义的终止条件(或目标函数)为:簇中心不变,或最小化对象到其所在簇的质心的距离平方和,即满足式(9)时,停止聚类。

获取了资源的特征向量Vres、用户的兴趣向量Vu,用户兴趣与资源特征间的相似度(S)定义为:

其中,Tagi,Tagj分别Vres及Vu的项,Wj为用户对标签,Tagj的兴趣权重。

进一步结合相似用户的聚类,算法3-2给出基于相似度的混合推荐算法伪代码:

算法3-2.基于相似度的混合推荐算法

即对用户Ui,计算其与资源Resj(1≤j≤m)的相似度S;取与Ui具有S最大的、且大于阈值φ的w个资源向其推荐;若满足条件的资源count<w,则补增与该count个资源相似度大于阈值θ的资源,直至w个;若资源数仍少于w,则补增与该用户最相似用户的兴趣资源向其推荐,直至w个。其中,资源Resj(1≤j≤m)为聚类后该簇用户感兴趣的资源集合,通过缩小用户的兴趣范围,减少相似度计算,从而提高算法的实时性。阈值φ的设定,旨在最大限度地保证推荐结果的准确率。推荐资源的补增按照相似资源-相似用户的顺序排列,主要考虑用户潜在兴趣对资源内容更加关注。

3 实验与分析

以某学习资源推荐系统数据为基础,从正确推荐数C、准确率P、召回率R、推荐覆盖率COV等[8,17]方面,结合以下三种算法进行比较:

(1)Base_Com:根据用户注册信息聚类而进行的推荐;

(2)Act_Com:根据用户历史行为聚类而进行的推荐;

(3)HAS_Com:笔者提出基于相似度的混合推荐算法。

进一步的,为更准确的评价系统推荐结果,系统在引入标签机制的基础上,允许用户对资源按5分制[18]进行评分,以作为用户对该资源感兴趣程度。下表给出三种实验方法在向系统用户推荐资源的平均结果对比。

鉴于该系统使用面向专业、主题明确,故区别于其他三个指标,COV定义为聚类后簇内用户推荐资源所占系统内全部资源的比例。但由下表可知,尽管笔者提出的方法在准确率与召回率等方面较Base_Com、Act_Com均有改善,但基于用户兴趣的聚类导致推荐多样性的降低及覆盖率的降低。

表3 Top20实验结果

4 结束语

笔者提出的基于相似度的混合推荐算法,通过用户行为挖掘构建基于标签的兴趣模型,结合社会化标签、引入标签相似度概念,融合时间影响以考虑用户兴趣变化,提高了基于内容的推荐中相似度计算的准确率;而根据兴趣相似度进行协同推荐,使得推荐不局限于评分矩阵,一定程度上解决了协同过滤中推荐数据集稀疏及缺失的问题。若结合用户注册信息,可以缓解冷启动问题。实验表明,该算法在准确率、召回率等方面具有良好表现。在今后的工作中,将重点研究用户潜在兴趣变化,并在保证算法准确率的基础上提高推荐的覆盖率。

[1]李霞,李守维.面向个性化推荐系统的二分网络协同过滤算法研究[J].计算机应用研究,2013,30(7):1946-1949.

[2]李瑞敏,林鸿飞,严俊,等.基于用户-标签-项目的语义挖掘的个性化音乐推荐[J].计算机研究与发展, 2014,51(10):2270-2276.

[3]R esn ickP,Varian HR.Recommendersystems[J].Communications ofthe ACM,1997,40(3):56-58.

[4]Ad o mavicius G,Tuzhilin A.Toward the next generation of recommender systems:a survey of the state-of-the-art and possible extensions[J].Daa,2005,17(6):734-749.

[5]许海玲,吴潇,李晓东,等.互联网推荐系统比较研究[J].软件学报,2009,20(2):350-362.

[6]王国霞,刘贺平.个性化推荐系统综述[J].计算机工程与应用,2012,48(7):66-76.

[7]刘建国,周涛,汪秉宏,等.个性化推荐系统的研究进展[J].自然科学进展,2009,19(1):1-15.

[8]刘建国,周涛,郭强,等.个性化推荐系统评价方法综述[J].复杂系统与复杂性科学,2009,6(3):1-10.

[9]王微微,夏秀峰,李晓明.一种基于用户行为的兴趣度模型[J].计算机工程与应用,2012,48(8):148-151.

[10]张新猛,蒋盛益,李霞,等.基于网络和标签的混合推荐算法[J].计算机工程与应用,2015,51(1):119-124.

[11]李慧,胡云,李存华,等.基于近邻关系的个性化推荐算法研究[J].计算机工程与应用,2012,48(36):205-209.

[12]石林,徐飞,徐守坤.基于用户兴趣建模的个性化推荐[J].计算机应用与软件,2013,30(12):211-214.

[13]吴发青,贺樑,夏薇薇,等.一种基于用户兴趣局部相似的推荐算法[J].计算机应用,2008,28(8):1981-1985.

[14]赵婷,肖如良,孙聪,等.融合时间综合影响的轮盘赌游走个性化推荐算法[J].计算机应用,2014,34(4):1114.

[15]周世兵,徐振源,唐旭清,等.Kmeans算法最佳聚类数确定方法[J].计算机应用,2010,30(8):1995-1998.

[16]张毅,刘旭敏,关永,等.基于密度的离群噪声点检测[J].计算机应用,2010,30(3):802-805.

[17]朱郁筱,吕琳媛.推荐系统评价指标综述[J].电子科技大学学报,2012,41(2):163-175.

(责任编辑 卞建宁)

TP391

A

1671-9123(2015)02-0140-05

2015-02-11

胡三宁(1983-),男,河南洛宁人,三门峡职业技术学院教务处教师。

猜你喜欢
标签聚类个性化
坚持个性化的写作
基于K-means聚类的车-地无线通信场强研究
新闻的个性化写作
无惧标签 Alfa Romeo Giulia 200HP
不害怕撕掉标签的人,都活出了真正的漂亮
基于高斯混合聚类的阵列干涉SAR三维成像
上汽大通:C2B个性化定制未来
标签化伤害了谁
科学家的标签
一种层次初始的聚类个数自适应的聚类方法研究