基于领域知识的个性化推荐算法研究整理版

2021-04-25 13:27:32本页面

基于领域知识的个性化推荐算法研究整理版


【正文】

基于领域知识的个性化推荐算法研究 第31卷 Vo1.31 第21期 №21 计算机工程 ComputerEngineering 2005年11月 November2005 ? 博士论文?文章编号:l000一3428(2005)2l—O007—O3文献标识码:A中图分类号:TP39 基于领域知识的个性化推荐算法研究 张丙奇 (中国科学院计算技术研究所,北京100080) 摘要:提出了利用领域知识进行相似度计算的协同过滤算法,使用户在评分的共同项目很少或为零的情况下也能找到最近邻进行协同推 荐.实验结果表明,该算法解决了传统协同过滤算法中相似性度量方法"

过严"的问题,在过滤初期显着地提高了推荐质量. 关健词:个性化;推荐系统;协同过滤;领域知识;平均绝对误差 ACollaborativeFilteringRecommendationAlgorithm BasedonDomainKnowledge ZHANGBingqi (InstituteofComputingTechnology,ChineseAcademyofSciences,Beijing100080) [AbstractIAnovelmethodwhichexploringhierarchicaldomainknowledgetocomputertheusersimilarityisproposed。

Thismethodcanfind usersneighborhoodandgetpredictionsbyneighborsratingeventheyhavenocommonratingitems.Theexperimentresultsshowthatitcarl proxidebetterpredictionresultsthantraditionalcollaborativealgorithmsatsuchcondition. [KeywordslPersonalizatiomRecommendationsystem:Collaborativefiltering;Domainknowledge。

MAE 随着www的快速发展和网上信息呈指数级的增长,如 何快速,高效地获取和利用信息已成为人们关注的焦点.个 性化服务是服务提供商根据用户访问网站的历史中表现出的 行为和兴趣,动态调节站点的结构和内容,自动适应用户的 浏览和向用户推荐可能感兴趣的内容的过程.个性化服务可 使用户快速,准确地得到所需要的信息. 协同过滤,又叫社会信息过滤,是个性化系统中应用最 广泛和最成功的推荐技术,其本质上是将"word一0f—mouth" 口头推荐的过程自动化,关键思想是认为对一些项目具有相 同兴趣的用户对另一项目也具有相同的兴趣….在协同过滤 中,用户最近邻的查找是否正确。

直接影响系统的推荐质量. 协同过滤适用于不同种类的对象(Web页面,文本,视 频,书籍,CD等)的推荐.Tapestry是最早利用协同过滤技 术的推荐系统,在此系统中,当前用户需要明确声明自己的 观点来形成用户群.GroupLens是基于用户评分的自动化协 同过滤系统,它主要用于电影和新闻的推荐.其它的典型系 统包括Ringo,Fab,Amazon.corn,eBay等. 然而,协同过滤系统刚建立时,由于参与的用户和用户 评分项目很少导致用户评分项的交集很小,传统协同过滤中 的相似性计算方式在这种情况下很难找到最近邻进行推荐, 这被称为系统的"冷启动"现象。

针对这种情况,本文提出 了利用领域知识进行相似度计算的协同推荐算法:通过领域 知识,计算用户评分项的相似性.数据实验结果说明本方法 在用户评分项目较少的情况下,推荐效果优于传统的协同过 滤方法,显着提高了推荐质量. l传统的协同过滤算法 协同过滤也称为面向用户行为的技术,它通过分析用户 的历史数据,生成与当前用户行为,兴趣最相近的用户集, 然后利用他们对项目的评分来预测当前用户对项目的评分产 生推荐列表,即top~Jv推荐. 常用的协同过滤推荐算法主要包括基于用户的协同推 荐,基于项目集的协同推荐,基于模型的协同推荐等.BreeseJ 等对各种协同推荐算法及其性能进行了深入的分析和对比。

在协同推荐系统中,输入的数据是用户评分矩阵(见表 1),可用一个MXN矩阵R似,Jv来表示,其中行代 表个用户,Jv列代表Jv个项目,元素R表示用户i对项 目』的评分.根据项的类型和系统的实现方式,有不同的用 户评分方法.比如用1表示用户对某项目感兴趣,0表示不 感兴趣;也可用1,2,3,4,5等离散值表示对该商品的偏 爱度.用离散值表示用户的偏爱度时,一般采用奇数个等级. 表1用户评分矩阵 ltem/ltemiltemN User,R【lRj,RjN UserRiiRfN UseruRM1RMRMN 基于协同过滤技术的推荐过程分为两个阶段:最近邻的 发现,推荐集合的产生。

(1)最近邻的发现 协同过滤算法的核心是根据用户评分矩阵发现当前用户 的最近邻,即:对当前用户lL,要产生一个依照用户相似度 大小进行排列的邻居的集合Jv={N,N2,…,M},lL不属于Ⅳ, Sim(u,N)>Sim(u,Ni+1),i:1,…,k一1. 传统的相似度计算方式有多种,主要包括如下几种:余 弦(Cosine)相似度计算方法和Pearson相似度计算方法. 基金项目:国家"863"计划基金资助项目(2002AA142110) 作者筒介:张丙奇(1972一),男,博士生,主研方向:网络信息处 理与个性化服务 收稿日期:2004—08—26E?mail:zhan8加@software。

ict.ac.cn ——1—一 其定义分别为: 余弦相似性 其中,i,J是用户i,的评分向量. Pearson相似系数: .一 (尺ll^一R)(R一R) Sim(i,i)=corr(i,i)=—=:================ ,∑(一R),∑..,(一R) 其中,.表示用户i,共同评分的项目集合,表示 用户,对项目的平均评分. (2)推荐集的产生 基于用户的最近邻,可以计算两类推荐结果:用户对任 意项的偏爱度和top一~推荐集. 1)用户对任意项的偏爱度:已知用户i和用户已评分项集, 则用户i对任意项k,(k,)的偏爱度(评分预测)为 —— &。

gt;sim(i,")(R一RⅢ) =尺+ 其中,是用户的平均评分,sim(")足用户,与最近邻 集合中的用户川的相似系数,R是用户川对项k的评分, 是用户"的平均评分,是最近邻的个数 2)!op一~推荐集:分别计算用户i对4:同项目的偏爱度之后, 取偏爱度最高的,片且4在,中的~个项作为top—Iv推荐集. 2传统协同过滤算法中相似度计算分析 在协同过滤系统中,最近邻的查找是否精确,直接影响 推荐效果.而最近邻的查找需要通过用户相似度的计算得剑. 传统协同过滤中的相似度计算方法,如上面的Co小,{:}{似度 和Pearson系数都是基f用户评分项的交集之上。

用户评分 项被表示成欧式空间内的n维向肇,n足项数,并且假设项 之间互相独立. 考虑电影网站的电影分类体系和用户对电影的评分情 况,如图1所示. lRootl —/\▲ IRoma—nceIlComedyActionJ /▲/,▲——,\▲ R2,R3,R4…)BlackKld&l,A2,A3.A4…ComedyFaroiIV —,▲ 1,B2,B3)(KI.K2.K3K4,1) 图1电影领域分类 用户A评分的项目为{,2},用户B评分的项目为 {3,},用户C的评分项目为{A,A2},用户D的评分项为 {,./j,用户E的评分项为{2,3,.

2,K.}. 采用Cosine相似度或Pearson系数的相似度计算结果, 会发现用户A与用户B之间,用户B用户C之问的相似度 均为0. 但是,参考图1中的电影领域知识,从直观上发现,用 户A和用户B应该具有部分的相似度,因为他们都喜欢 Romance类的电影.而用户A和用户C的相似度应小于用户 A和用户B的相似度,因为他们既没有评价相的项FI,也 没有评价同类的项目. 一 8一 当两个用户评分的共同项较少或者根本没有共同的评分 项目时,如果采用传统的相似度计算方法,用户问的相似度 会很小或为零.这种情况在系统刚建立时最为突出,因为在 系统刚建立时,只有很少的用户评价了很少的项目。

数据的 极端稀疏使得用户共同评分的项目很少,这时用户就无法找 到最近邻进行协同推荐. 3基于领域知识的协同过滤算法 为了改进传统的基于"交集"的向量方式相似度计算的 缺陷,本文提出利用领域知识的协同推荐算法:首先,利用 Web站点的领域知识计算用户评价项目之间的相似度,这种 相似度更适合人们的直观上的感觉;通过项集合的相似性计 算用户之间的相似性,得到最近邻进行推荐. (1)基于领域知识的项目之间的语义相似度计算方式 基于语义的相似度计算方法是依赖领域的,需要领域对 象内在关系和结构等知识的支持.而一般Web网站,特别是 电子商务网站,都有相关领域的分类体系的描述。

如图1, 是一个电影网站中关于电影的分类体系描述. 利用领域知识提供的语义进行相似度计算已经得到许多 研究者的关注.文献【3,4】讨论了利用语义知识计算对象之 间相似度问题.项目之间的语义相似度计算主要参考这两篇 文章介绍的方法. 1)相关符号定义 U:将领域分类知识的表示为图1所示的根为Root的树 U,U中节点的标签互异,u的叶子节点可在任何层次上 出现. ,J是f/中所有节点的标签的集合. ,J,J是树f/的所有叶子节点的标签,即是用户评选项 目的集合.在图1中,J,J0=,R2,…,B,B2,…,K1,K2,…, A,A,…每个用户的评分项目集合是,J,J的一个子集。

depth(n):表示从根节点开始到节点的路径的长度. LCA(I11.n):表示节点m,最低公共祖先,即m, 的具有最大路径的公共祖先.任何两个节点至少有一个公共 祖先一根节点,m,的不同公共祖先的路径不同. 2)叶子节点(项)f,的相似度定义为 .. 2depth(LCA(,i)) Sim"0 从上面的定义可以看出,两个节点的相似度属于【0,1】, 当且仅当f,=f,时,相似度为1. (2)评分项目之间的相似性一用户对项的评分的影响 Sim(R,R,)=Sim(1,)(1一I, 一 R , I/MaxRating) 其中,尺,尺分别是用户Ⅱ对项i。

会计电算化相关推荐  
三九文库 www.999doc.com
备案图标苏ICP备2020069977号