《基于信任与用户兴趣变化的协同过滤方法研究-王占.pdf》由会员分享,可在线阅读,更多相关《基于信任与用户兴趣变化的协同过滤方法研究-王占.pdf(9页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、情报学报2017年2月 第36卷第2期Journal of the China Society for Scientific and Technical Information,Feb201 7,36(2):1 97205基于信任与用户兴趣变化的协同过滤方法研究王 占,林 岩(大连海事大学管理科学与工程系,大连 116026)摘 要 协同过滤算法是网上推荐系统最常用的算法,但是传统的协同过滤算法很难解决数据稀疏、冷启动、用户兴趣变化等问题。本文提出基于信任与用户兴趣变化的协同过滤改进方法。该方法将信任引入到传统协同过滤算法中,构建用户信任模型,用信任的传递特性为用户匹配更多邻居用户,从而可以在
2、一定程度上缓解数据稀疏性等问题。随着时间的变化,用户的兴趣也会发生变化,本文利用时间遗忘函数来模拟用户的兴趣变化。本算法综合用户相似度、用户信任度及用户兴趣变化,为目标用户推荐项目。最后利用数据实验验证本方法的有效性。关键词 推荐系统;协同过滤;信任网络;用户兴趣变化Research on Collaborative Filtering Method Based onTrust and the Change of UserS InterestWang Zhan and Lin Yan(Department ofManagement Science and Engineering,Dalian
3、Maritime University,Dalian I 1 6026,China)Abstract:The collaborative filtering algorithm is the mostly applied algorithm in the internet recommendation systems,but itS not effective in solving the problems of data sparsity,cold start and the change of userS interestThispaper proposes a collaborative
4、 filtering algorithm based on trust and the change of userS interestThe trust is introduced into the traditional collaborative filtering algorithm,build user trust model,use trust transfer characteristic forthe user to match more neighbors,which can to some extent alleviate the problems of data spar
5、sity and cold start USersThe userS interest will change with timesoriginal score data will not be able to express the userS current interestIn this paper,the forgetting function of time is proposed to simulate the change of userS interestTaking the usersimilarity,user trust and the change of userS i
6、nterests into consideration,we construct the new method to recommenditems to the target userFinally,experimental schemes are used to verify the effectiveness of our methodKey words:recommendation system;collaborative filtering;trust network;the change of userS interest引 口互联网上涌现出大量信息,用户会迷失其中,出现信息过载问题
7、1。搜索引擎可以在一定程度上缓解信息过载的问题,但是传统搜索引擎提供的共性信息并不能满足每个用户的不同偏好。在这种状况下,个性化推荐系统应运而生,推荐系统能在海量的数据中挖掘出有用的信息,为用户推荐感兴趣的项目,提供个性化服务。比如Amazon对用户做出的商品推荐、YouTube的视频推荐、Linkedln的社交推荐等等都是针对用户个人提供的个性化推荐。推荐系统方便用户准确获取目标项目信息,降低了网上搜索成本;同时也为企业带来巨大收益,比如基于协同过滤算法与关联规则的推荐系统为Amazon带来了30左右的销售额。协同过滤算法是互联网推荐系统中应用最广泛收稿日期:20160621基金项目:国家自
8、然科学基金面上项目“支持协同创作的社会化媒体知识集成研究”(71571025 o作者简介:王占,男,1988年生,硕士,主要研究方向为网络推荐算法,Email:821021493qqcorn;林岩,男,1972年生,博士,博士生导师,主要研究方向为知识管理,Email:linyandlmualiyuncom。http:weigendcomteachingstanfordData Mining and Electronic Business:The Social Data Revolution万方数据198 情 报 学 报 第36卷的算法,已经在很多知名电子商务平台中运用【2】。协同过滤算法模拟
9、日常生活中的“朋友建议”:找到与目标用户具有相似兴趣的用户,通过他们对项目的评价(评分)信息判断目标用户感兴趣的项目,进而对用户进行项目推荐。这种算法的基本步骤为:根据用户对项目的评分数据建立评分矩阵;根据评分矩阵,利用相似度公式计算出目标用户的邻居集(确定与目标用户具有相似兴趣的其他用户);根据邻居的评分值,运用预测评分公式对目标用户未评分的项目进行预测评分,将预测评分值最高的若干项目推荐给目标用户。传统协同过滤算法在实际运用中面临一些问题:数据稀疏性(由于很少用户对商品进行评分,而造成评分矩阵稀疏程度大,无法准确测定用户间相似度);冷启动(由于系统缺乏有关新用户和新项目的信息,很难利用有效
10、的信息为新用户进行新项目的推荐);用户兴趣变化(用户对商品的兴趣可能随着时间而发生变化,固执于用户历史兴趣会导致推荐精度偏差)。这些问题导致传统协同过滤算法适用范围较小、推荐质量不高【34】。目标用户针对邻居用户的推荐而对项目的实际采纳行为,可以转化描述为目标用户对邻居的“信任”。由于信任程度的差异而导致不同邻居对目标用户的推荐力度具有异质性。在传统的协同过滤算法中引入用户问信任可以提高推荐精准度;利用信任的传递性能为目标用户匹配更多邻居用户,在很大程度上缓解数据稀疏性、用户冷启动问题。另外,用户的兴趣会随着时间发生变化,产生兴趣迁移现象51,如果正确引入针对兴趣变化的修正,会有效提高推荐质量
11、。针对协同过滤算法存在的数据稀疏性、冷启动和用户兴趣变化等问题,本文把信任引入协同过滤算法中,并利用时间遗忘函数来模拟用户的兴趣变化,提出基于信任与用户兴趣变化的协同过滤方法。2相关研究21协同过滤算法协同过滤算法已经广泛运用到各大电子商务网站的推荐系统中。在推荐系统中建立用户兴趣模型时,大部分原始数据是用户评分值,推荐系统中协同过滤算法的主要步骤为:数据表示、邻居用户(项目)的形成和资源推荐【61。常用的数据表示是构建评分矩阵;形成邻居的过程是根据用户一项目评分矩阵,利用相似度度量公式计算出目标用户或目标项目的邻居集,常见的相似度计算方法有:余弦相似性(Cosine Similarity),
12、修正的余弦相似性(AdjustCosine Similarity)和皮尔森相关系数(PearsonCorrelation)_刀;资源推荐是利用目标用户的邻居集,通过预测评分公式,对目标用户未评分的项目进行预测评分,将预测评分值最高的若干个项目推荐给目标用户。目前协同过滤算法被分为三大类:基于内存的协同过滤、基于模型的协同过滤、混合协同过滤8】。具体分类如图1所示。圜圈圈网圈基于内存的协同过滤算法就是利用相似度公式来对用户或项目进行计算,采用近邻技术,根据最终邻居的评分来给目标用户提供推荐,现在大型的电子商务系统大都采用基于内存的协同过滤算法。但是传统的基于内存的协同过滤算法存在着数据稀疏性的弊
13、端,即评分矩阵中太多的未知元素导致相似度计算很难代表两项间的真实距离9,10】。为了解决这个问题,人们发展了基于模型的协同过滤算法,包括聚类模型10,11、贝叶斯网络1 21、融合机器学习的方法1 3等等。基于模型的协同过滤算法可以离线的方式建立关于用户兴趣模型,对目标用户进行预测。但是基于模型的协同过滤算法的建模过程过于复杂,降低了推荐系统的性能。混合协同过滤是基于内存和基于模型的协同过滤相结合的形式,虽然推荐精度有所提升,但是建模过程也过于复杂。传统的基于内存协同过滤算法主要缺陷是数据稀疏和冷启动的问题34,为了解决这个问题,同时保持基于内存协同过滤算法的简便性优势,把“信任”的概念引入协
14、同过滤算法中。22 协同过滤算法中引入人员信任在线下活动中,人员之问的信任会影响个人对万方数据第2期 王 占等:基于信任与用户兴趣变化的协同过滤方法研究 199某项目的采纳决策。信任的对象一般是熟悉的家人或朋友,可以从他们那里获取有关是否采纳某项目(比如是否购买某商品)的建议。然而在网络环境中,用户面对的直接对象是虚拟的网络和陌生的他人。然而有研究表明,用户也会将计算机、网站及其他新兴媒介当做信任的对象并与其产生交互,并且在交互过程中,用户的反应与在实际的社会人际关系中人对人的反应相类似【1制。电子商务环境中的信任具有主观性、动态性、非对称、弱传递、时间衰减的特质1引。协同过滤算法模拟销售人员
15、向用户推荐商品,其基本思路是参考其他用户的历史行为为目标用户推荐项目。如果目标用户接受了推荐的项目,就可以看做她(他)信任了推荐系统,进一步的,也可以看做她(他)信任了为其推荐该项目的其他用户(即协同过滤算法中的邻居用户)【1 61。需要说明的是,这种目标用户对其他用户的信任,并不是实际社会关系上的信任,而是从目标用户对待推荐项目的反馈行为中挖掘出来的目标用户与某些其他用户之间的兴趣关联,而这种关联往往是潜在的,不为目标用户所知的。近些年信任关系在推荐算法中的应用受到关注。Massa等【17】提出利用信任数据进行推荐的协同过滤算法,这种修正算法能够很好解决数据稀疏性和冷启动问题。Massa等1
16、 7】在著名的大众消费点评epinionscom网站上截取的数据集具有典型的数据稀疏性和冷启动问题,利用皮尔逊相关系数计算用户相似性时误差较大,导致传统协同过滤算法出现较大偏差。引入信任关系以后,可以利用用户间信任数据进行推荐,同时利用信任数据可以得到更多邻居,从而缓解数据稀疏性问题,也能在一定程度上缓解冷启动问题。但是在Et常生活中,用户对商品的评分数据非常少,对不认识的其他用户的信任数据更不愿意主动评分,并且作者没有提出具体的信任关系传递规则,导致用户间的信任数据很难获取,在实际中很难利用信任数据为其他用户进行推荐。为了解决这个问题,夏小伍等【i 8】提出的基于信任机制的协同过滤算法中,用
17、整体信任度代替相似度进行预测评分,在一定程度上解决了数据稀疏性问题,最后的推荐精准度有所提升。而李湛等1 9】则针对信任信息获取障碍的问题,提出一种基于隐性信任的协同过滤推荐方法。这种方法建立起用户对其邻居和对项目的隐性信任模型,根据用户及其信任邻居的历史喜好向用户推荐项目,实验表明该方法推荐更为准确。但是,即便引入信任的概念,由于实际的评分数据较少,数据稀疏性的问题依然存在。为了弥补这个漏洞,有人提出引入“间接信任”的概念,进而在人员之间区分直接信任和间接信任201。直接信任指两个用户在某些行为方面表现为直接交互,并且通过直接交互的行为而对对方产生的直接信任关系。间接信任指两个用户没有直接进
18、行交互,而是根据信任弱传递性的性质,信任从一个用户传递到下一个用户,经过不止一次的传递到达需求信任的用户,两个用户之间需要其他用户的搭桥完成信任的传递211。在大多数网站上,用户对项目的评价数据非常少,因此用户之间的直接信任数据非常少,增加间接信任数据会大大填补数据稀疏性导致的空缺。总之,对于协同过滤算法中存在的用户评分数据稀疏性、冷启动等问题,信任关系的引入对这些问题有一定程度的缓解作用。23用户兴趣变化相关研究用户的兴趣会随时间变化,越是最近的评分行为,越能代表用户当前的兴趣,一般短时间内用户的兴趣比较稳定。如果用户很早就进行过评分,而此时的兴趣可能经过了多次变化,和评分时的兴趣相似程度较
19、小。根据用户在不同时刻的评分分配不同的权重,可以更准确地推荐。评分权重的产生有不同方式:(1)模拟遗忘曲线心理学家艾宾浩斯提出了著名的记忆遗忘曲线,人的记忆随着时间的变化,记忆量持续下降,刚开始的时候,遗忘速度非常快,越往后遗忘的速率逐渐下降,当时间过了足够久的话,记忆已经遗忘的非常多,但记忆量保持相对稳定2 21。很多学者就是采用不同的方法来模拟遗忘曲线,然后在不同时间设定不同的权重,这是评分加权中最常用的一种方法【2 3|。(2)线性时问函数线性时间函数就是采用评分权重随时间逐步变化,其变化过程呈现直线的方式,然后对用户的兴趣变化建立时间线性权重模型【2 41。(3)非线性时间函数非线性时
20、间函数也是采用权重随时间逐步变化的,变化的过程与遗忘曲线的方式类似,但是变化的快慢形式也是各不相同,然后对用户的兴趣变化建立时间非线性权重模型2 51。万方数据200 情 报 学 报 第36卷(4)时间窗技术时间窗技术就是研究如何划分有效的时问段来描述用户在时间段内的兴趣,最直接的评分选择实现技术就是通过时间窗技术,选择在时间与当前时间点相距较近的评分赋予较大的权重261。3 基于信任与用户兴趣变化的协同过滤方法构建过程31基本的协同过滤算法本文方法采用传统协同过滤算法的基本构架,即首先建立评分矩阵,然后获得邻居,最后产生推荐。构建评分矩阵:对数据预处理,构建用户项目评分矩阵,用m,矩阵表示,
21、m代表m个用户,胛代表n个项目,矩阵元素R“代表用户i对项目,的评分。获得邻居:根据上述评分矩阵,利用相似度度量公式计算出目标用户邻居集,本文采用皮尔森相关系数的计算方法:sim(u,v)=(R厂瓦)(Rv,i-瓦)idu。i善E1(R厂万)2,乏(R厂瓦)2V 。 Vfk其中,毛,表示用户U和v共同评价过项目的集合,R“和月。,分别表示用户U和v对项目i的评分,R和足,分别表示用户甜和v评分的均值。产生推荐:运用预测评分公式对目标用户未评分的项目进行预测评分,将分值最高的若干个项目推荐给目标用户。采用的预测评分公式如下:sim(u,V)(R,iR)工一 、 y, y圪广万+盟弋丽矿(2)wN
22、其中,肌为目标用户的邻居集合,R,为目标用户对项目i的预测评分,凡,表示用户v对项目f的评分,R,和墨,分别表示用户“和y评分的均值。下面分别介绍在这个计算过程中引入用户信任和时问遗忘函数的方法。32用户信任模型由于用户的评分数据非常稀疏,在采用传统协同过滤算法计算用户之间相似度会出现一定程度的失真,同时也无法直接计算出大部分用户之间的相似度,严重影响推荐系统的性能。为了缓解数据稀疏性的缺陷,本文采用用户问信任,并且把信任分为直接信任和间接信任,用直接信任度来表示有直接关联用户的信任程度,用间接信任来表示没有直接关联却有可能存在信任关系的用户。(1)直接信任度由于直接表达用户信任度的方式在电子
23、商务网站上很少存在,所以大部分关于对用户间信任度的研究都是从用户评分数据中隐式获取。为了求出两个用户之间单独的直接信任度,本文借鉴ODonovan的思路,计算出两个用户之问的初始信任度:一个用户能为另一个用户推荐项目的次数中,计算出被推荐的用户满意推荐次数的比例,此比例可当做被推荐用户对主动推荐用户的初始信任度271。假设两个用户U、V,利用预测评分公式根据用户预测用户y关于项目i的评分值PH胁如果PuM;与用户矿的真实评分值R矿,比较,得到的绝对差值不超过值s,则可以认为根据用户U为用户矿关于项目i进行了一次成功的推荐,如果绝对差值大于,则认为推荐失败。则成功推荐的表达式为:l弓只i一彤,占
24、 (3)其中,根据用户u为用户y推荐需要采用基于用户协同过滤算法的预测评分机制,预测公式为:弓肜i=R矿+。fRu)sim(U,矿) (4)其中,彤表示用户矿对所有评价过项目的平均评分,尼,表示用户u对所有评价过项目的平均评分,sim(U,功为用户u和y的相似度,Ruf为用户u对项目i的评分。用Correct(UKf)表示用户u对用户V关于项目i的预测准确性,1为预测成功,0为预测失败。C0删(叫,f):川,一Rv,川Q(5)o,I弓肌iRls用TrustSet表示用户u对用户V成功推荐项目的次数。TrustSet(U,y)=Correct(U,V,i) (6)涎jU其中,而为用户【,能为用户
25、矿推荐项目的集合,用AllSet(U n来表示用户U对用户矿所有能够推荐项目的次数,则可以得出用户矿对用户u的初始信任度表达式为:ITrustSet(Uy、I啾以2锸耐e(7)l以ffo fI L。r ll上面所得到的初始信任度考虑了隐式获取方万方数据第2期 王 占等:基于信任与用户兴趣变化的协同过滤方法研究 201式,下面考虑从显式信息中来分析影响用户直接信任度的一些因素。例如在用户项目评分矩阵中,评分制采用的是数字l到5的离散值,有用户A、B对五个相同的项目都进行了评分,其中用户A、B对五个项目的评分都是1分,经过基于用户的协同过滤算法相似度的计算,认为用户A、B具有极高的相似度,当其中一
26、个用户购买了感兴趣的项目后,会给另一个用户推荐相似的项目。实际上当用户A、B以前对这五个项目评价都为1分时,说明用户A、B对这五个项目都不会感兴趣,虽然经过相似度公式推测出来用户A、B很相似,只是表明用户A、B不感兴趣的项目很相似,并不能表示用户A、B对感兴趣的项目相似。所以本文在此引入兴趣度,设两用户u、矿共同的评分项目集为七矿,若用户U、V对项目集,u,中的某些项目评分值大于等于感兴趣评分阈值尺,说明用户u、矿对这些项目都感兴趣,若对共同项目评分值小于评分阈值R,说明用户U、V对这些项目都不感兴趣。若Iuv月存在的比例越大,说明用户的兴趣越相似,也会在一定程度上加强两个用户的信任度。其中定
27、义兴趣信任度的公式如下: 觑据煳f乃缎f(u,矿1:蝉(8)、 7 Iu矿l其中,i厶i表示用户U、V共同评分的项目个数,I厶尺l表示用户【,、矿共同评分值大于R的项目个数。综合考虑用户的初始信任度和用户的兴趣信任度,可得用户矿对用户u的直接信任度计算公式如下:T(V,U)=InterestTrust(u,矿)木靠(矿,u)一ITrustSet(U,矿)|I锄RI f 9)lAllSet(U,y) l毛Pl根据上述方法计算出用户间的直接信任度,建立信任度矩阵P。(2)间接信任度为了缓解数据稀疏性问题,为用户匹配更多的用户,需要根据信任的传递性,将更多没有直接交互的用户联系起来,并确定这些没有直
28、接交互用户的间接信任度。其中传递规则在信任的传递过程中起到重要作用,可是目前并没有一种规范的传递规则,本文经过对信任网络的分析,提出一种新的传递规则。信任在网络中从一个节点传递到另一个节点时,往往通过以下两种方式:a单路径传递单路径传递是信任从网络一个节点传递到没有直接关联的另一个节点时,只能通过固定的仅有的一条路径才能到达,例如,图2中用户U和用户V存在唯一的信任传递路径L(u,K1,K2,Km,矿),直线表示用户直接信任关系,虚线表示间接信任关系。图2单路径信任传递根据六度空间理论,可以认定信任从用户u传递到用户V传递长度不会超过6,设路径长度阈值为,其中日62引。由于信任具有弱传递性,用
29、户之间传递长度越大,信任度下降越多,在此可以设定信任在传递过程中的长度衰减因子p的公式为:臼:H-N+I (10)月其中,H为路径长度阈值,为当前路径传递的长度。在一条信任传递路径中,如果有两个直接交互用户的直接信任度很低,例如用户K,对用户恐的直接信任度为01,则说明用户K。对用户恐的信任度非常低,几乎是不信任了,信任在这两个用户之间传递就没有必要了,因此可以设定一个信任度阈值y,当两个用户之间的直接信任度小于阈值y,便可以终止此条路径的信任传递。在信任传递时会出现多个用户问不同大小的直接信任度,直接信任度数值有大有小,但是根据木桶效应,最小的直接信任度会使整条路径的信任程度出现下降,拉低整
30、条单路径的信任度,于是采用信任传递路径中两个用户之间的最小直接信任度为间接信任度重要因素。同时考虑到信任随传递出现的长度衰减性,在此可定义单路径信任传递用户移对用户V的间接信任度公式为:正,y 2MINTv,K1,k,矿)臼,M1N州K,砭。,矿y (11)0, MIN川K,k,矿yb多路径传递多路径传递是信任从网络一个节点传递到没有直接关联的另一个节点时,通过多条不同路径都能到达。其中单路径信任传递可认为是多路径的一种万方数据202 情 报 学 报 第36卷特例,即用户之间的信任传递路径只有一条,例如图3所示,用户U和用户矿存在多条传递路径三1、上2、L(n一1)、Ln,直线表示用户直接信任
31、关系,虚线表示间接信任关系。羽3多路径信任传递对于用户u到用户矿存在的多路径信任传递,可以分别计算出路径三1、三2、L(n一1)、Ln作为单路径时的间接信任度弓j-矿,弓j-y,巧I矿。其中,在不同的传递路径中,每条传递路径得到两用户的间接信任度不会全部相同,例如,用户甲通过用户乙计算出对用户丁的间接信任度为09,在其他信任传递路径上用户甲通过用户丙计算出对用户丁的间接信任度为07,这时却无法确定哪条路径传递信任的效果最好。一个用户受到不同信任传递的路径数越多,用户得到的信任就越客观,因此为了克服单条路径信任的主观性,就需要考虑每条传递路径的作用,定义用户u和用户V的整体间接信任度为多条传递路
32、径信任度的平均值,计算公式表示为:毛矿利阳(弓by,弓j马y,巧jy)(12)根据上述方法计算出用户间的间接信任度,然后填充到直接信任度矩阵中,构建用户信任度矩阵丁。33时间遗忘函数传统协同过滤算法利用用户项目评分矩阵来为目标用户进行预测推荐,但是随着时间的变化,推荐系统依然沿用原来的评分矩阵,推荐的结果会出现偏差。这是由于评分矩阵中用户的评分数值一直是固定的,用户的兴趣却不是固定的,会随着时间的变化而出现一定的变化。借鉴艾宾浩斯记忆遗忘曲线描述人类遗忘过程常用方法的有指数函数和线性遗忘函数。从函数变化图中可以看出指数函数衰减过快,而线性遗忘函数衰减过慢,都不太符合用户兴趣变化趋势。本文考虑到
33、用户兴趣变化与人类遗忘过程较为相似,根据用户的评分时间不同,采用了一种非线性遗忘函数来模拟用户兴趣的变化,此时间遗忘函数如下:Tmax_t(f)=1eV矗“一Tmm (13)其中,。指的是用户在系统中最晚的评分时间,;。指的是用户在系统中最早的评分时间,t为当前计算评分的时间(Tm。KTm。)。其中e一sit)1,随着t的增大,sit)的值逐渐增大,说明用户曾经评分时间如果离最近评分时间越靠近,其分配的权重越大,修正的评分更符合用户当前的兴趣爱好。34 结合信任与用户兴趣变化的协同过滤方法基于信任与用户兴趣变化的协同过滤方法流程图如图4所示。图4 基丁信任与剧户兴趣变化的协同过滤方法流程图输入
34、:目标用户u,用户一项目评分矩阵,用户评分时间矩阵。输出:目标用户U收到的推荐列表。Step 1建立用户项目评分矩阵尺。根据用户的购买记录、评分数据、评分次数等历史行为,经过推荐系统对数据的预处理,构建用户项目评分矩阵R。Step 2建立用户相似度矩阵S。在基于皮尔森的协同过滤基础上,结合公式(13)的时间遗忘函数,寻找目标用户邻居时考虑用户兴趣随时间的变化,改进的用户评分相似度公式为:sim(u,V)=(咒,;母厂(乙,1)-瓦)(R,木地,f)-瓦)is-zee (14)根据改进的相似度公式计建立用户相似度矩阵S。万方数据第2期 王 占等:基于信任与用户兴趣变化的协同过滤方法研究 203S
35、tep 3构建用户信任度矩阵L在修正的用户项目评分矩阵R中,利用公式(9)计算出用户间的直接信任度,建立信任度矩阵尹,然后利用公式(10)和公式(11)计算出用户间的间接信任度,然后填充到直接信任度矩阵尹中,构建用户信任度矩阵咒Step 4将用户相似度矩阵S和信任度矩阵丁合并为综合相似度矩阵形。由于评分数据的稀疏性,决定了用户相似度矩阵S也会出现稀疏性的缺陷,所以将用户信任度矩阵丁合并到用户相似度矩阵s中,合并规则如下:W(i,)= 型巡掣,如黝(f,加oSim(i,)+T(i,)。 聊),女口黝(f,舻。,嚣篙)0,如果丁(f,)=oStep 5获得目标用户的邻居集合。目标用户的邻居集是预测
36、评分的重要参考主体,一般有两种方式获得邻居集,一种是从综合相似度矩阵中,选取与目标用户u的综合相似度职最接近的个邻居用户集,另一种是选取大于一个设定的阈值暇目)的邻居用户集。Step 6预测评分并进行推荐。本文采用用户间综合相似度暇功来替代公式(2)中的用户间相似度Sim(U功,同时也要考虑时间对用户兴趣变化的影响,因此把时间遗忘函数加入到预测评分公式:尼i=w(u,矿)(彤,i木f(t)一再)万+堕豇丽歹厂一)矿其中,B,表示目标用户u对项目i的预测评分,岛,表示目标用户u对项目的平均评分,u目标用户【,的邻居用户集,彤;表示邻居用户V对项目i的评分,R表示用户y对项目的平均评分。经过对多个
37、项目预测评分后,选择评分值最高的前个(预设值)项目形成TopN推荐列表,然后为目标用户进行推荐。http:wwwgrouplensorg4实验验证及结果分析41 实验数据本文使用的是著名的m1100k数据集,该数据集中有943个用户对1682部电影的评价信息,并且每个用户至少评价20部电影,采用1到5整数评分制。实验中的数据可以分为训练集和测试集,将用户评分表中的100000条信息随机分成8万条和2万条,8万条信息为训练集,2万条信息为测试集,然后利用训练集中的预测来对测试集进行验证。42实验评价指标平均绝对误差(MAE)是最常用来评估算法精准度的指标,该指标就是利用训练集中的数据预测项目的评
38、分,来与测试集中项目的真实评分值来对比,计算出来其绝对差值的平均,其中MAE的值越小,推荐的效果越好,平均绝对误差(MAE)计算公式如下:J霉一足I朋爿E=土生一 (17)N其中,i为目标用户预测到并且具有真实评分的项目,Pf表示目标用户对于项目i的预测评分值,R;表示项目i的真实评分值,为目标用户预测到并且具有真实评分的项目个数。43实验及结果分析(1)确定直接信任程度阈值一般来说,在用户问直接信任度很低的情况下,利用信任继续传递可能会把两个不太信任的用户关联起来,从而在一定程度上使推荐结果失真。对于如何界定直接信任程度多少算低,从而使信任传递不再进行,本文选取不同的阈值y,设定),值从01
39、到09,增量为01,然后根据邻居数目分别为20、30、40来计算改进的协同过滤方法的平均绝对误差(MAE),最后结果如图5所示。实验分析:从图5中可以看出在不同邻居数的情况下,取信任度阈值7=04比取其他不同信任度阈值y时得到的平均绝对误差(MAE)都要小,所以本文中在直接信任度大于等于04时可以进行信任的传递,当用户间直接信任度小于o4便不进行信任传递。万方数据204 情 报 学 报 第36卷霎图5信任度阈值y对MAE的影响(2)间接信任对缓解数据稀疏性的效果为了验证引入信任之后根据不同的传递长度对数据稀疏性是否起到了缓解作用,选用120个用户对643部电影的3437条评分信息,设置信任传递
40、长度分别设为1、2、3、4,然后统计出该信任矩阵的稀疏度如表1所示:表1信任传递后的稀疏程度实验分析:由上可以看出,信任的第一次传递对信任稀疏度的缓解效果比较明显,以后进行的传递对缓解信任稀疏度的效果不太明显。经过一步到两步的信任传递,用户的信任度矩阵较之前稠密不少,便能在一定程度上缓解数据稀疏性和用户冷启动问题。(3)实验主要结果本实验对传统的协同过滤算法、基于信任的协同过滤方法与本文提出的方法进行比较,三种方法均采用的邻居用户个数从4到20,个数增量为4,则三种方法的平均绝对误差(MAE)结果如图6所示。O86084082山080蔓078O76074O720704图68 12 16 20邻
41、居个数三种方法的MAE值对比图实验分析:从图6中可以看出,当用户邻居个数从5到20时候,三种方法的平均绝对误差(MAE)都逐渐下降,三种方法的预测精度都得到了提升。本文引入了信任,并考虑到了用户兴趣变化问题,所以本文提出的方法优于传统协同过滤算法和基于信任的协同过滤方法。5 结 论本文针对协同过滤算法中存在的数据稀疏性、用户冷启动和推荐精准度等问题,分别建立用户信任模型和用户兴趣变化模型。用信任的传递特性为用户匹配更多邻居用户,从而可以在一定程度上缓解数据稀疏性、用户冷启动等问题。对于用户兴趣变化问题,把时间因素考虑进来,提出时间遗忘函数,利用评分加权法,突出近期用户评分对推荐的贡献。然后把信
42、任和用户兴趣变化融入到基于用户的协同过滤算法中,把用户信任度和用户相似度综合考虑,根据综合相似度计算出目标用户的邻居集合,最后为目标用户进行预测推荐。经过最后的实验方案验证了本文提出算法的有效性。以后的工作还要继续研究如何获得信任模型中更好的信任传递规则以及没有用户的显示评分时候如何获取用户的隐式评分。参考文献1 李勇,徐振宁Internet个性化信息服务研究综述J计算机工程与应用,2002(19):183-1872 Gong S J,Ye H W,Tan H SCombining MemoryBased andModelBased Collaborative Filtering in Rec
43、ommender SystemCPacificAsia Conference on Circuits,Communicationsand Systems,2009:6906933 刘平峰,聂规划,陈冬林电子商务推荐系统研究综述J情报杂志,2007,26(9):46504 马丽电子商务个性化推荐技术分析及比较J计算机系统应用,2008,17(12):58615】 金玮,张克君,曲文龙,等分布式Web用户兴趣迁移模式挖掘研究J】计算机工程,2006,32(24):44-476 Sarwar B,Karypis G,Konstan J,et a1Itembased CollaborativeFilt
44、ering Recommendation AlgorithmsCProceedings of thelOth International Conference on World Wide WebACM2001:2852957 嵇晓声个性化推荐系统中相似性度量方法研究【D重庆:重庆邮电大学,201 I8Huang X,Peng F,An A,et a1Dynamic Web Log Session Identification with Statistical Language ModelsJJournal of the万方数据第2期 王 占等:基于信任与用户兴趣变化的协同过滤方法研究 205A
45、merican Society for Information Science and Technology,2004,55(14):129013039 吴湖,王永吉,王哲,等两阶段联合聚类协同过滤算法【J软件学报,2010,21(5):10421054【10】鲁骁,王书鑫,王斌,等一种融合地理位置信息的协同过滤推荐算法J中文信息学报,201 6,30(2):64731 1陈克寒,韩盼盼,吴健基于用户聚类的异构社交网络推荐算法【J计算机学报,2013,36(2):34935912】Miyahara K,Pazzani M JCollaborative Filtering with the Si
46、mpleBayesian ClassifierCPacific Rim International Conference onArtificial IntelligenceSpringer Berlin Heidelberg,2000:67968913Koren YCollaborative Filtering with Temporal DynamicsJCommunications ofthe ACM,2010,53(4):899714】何秀娟基于信任的协同过滤推荐模型研究D】杭州:杭州电子科技大学,201015】蔡浩,贾宇波,黄成伟结合用户信任模型的协同过滤推荐方法研究J计算机工程与应用
47、,2010,46(35):14815116郭艳红,邓贵仕,雒春雨基于信任因子的协同过滤推荐算法J】计算机工程,2008,34(20):1-3【17Massa P,Bhattacharjee BUsing Trust in Recommender System:an Experimental AnalysisCProceedings of 2nd InternationalConference on Trust Management,Oxford,England,2004夏小伍,王卫平基于信任模型的协同过滤推荐算法J】计算机工程,201 1,37(21):2628李湛,吴江宁基于用户行为特征分析
48、的隐性信任协同过滤推荐方法J】情报学报,2013,32(5):490496吴应良,姚怀栋,李成安一种引入间接信任关系的改进协同过滤推荐算法J现代图书情报技术,2015,3 1(9):3845李道全,粱永全,张炜电子商务系统信任管理研究综述J计算机应用研究,2010,27(4):12071212刘乃答,江志恒关于艾滨浩斯保持曲线的注记J测绘信息与工程,1989(3):5861于洪,李转运基于遗忘曲线的协同过滤推荐算法J南京大学学报:自然科学版,2010,46(5):520527邢春晓,高凤荣,战思南,等适应用户兴趣变化的协同过滤推荐算法J计算机研究与发展,2007,44(2):296301朱国玮,周利基于遗忘函数和领域最近邻的混合推荐研究J管理科学学报,2012,15(5):5564皮佳明基于用户兴趣变化的协同过滤算法研究【D昆明:云南财经大学,2014ODonovan J-Smyth BTrust in Recomender SystemsCProceedings of the 10th