本站提供专业的[留学生论文]定制业务,如需服务请,联系电话:13671516250.
本文是计算机系统结构论文,本文将混合推荐系统问题转化成机器学习问题,能够综合考虑用户与产品的内容信息和评分信息。但是不像信息检索中的查询词和文档可以用相似度来衡量两者的相关程度,在推荐系统中,用户和产品在内容上不具有可比性,并不能直接用来计算用户和产品的相关程度。
第一章绪论
本章节首先介绍了个性化推荐系统的研究背景和意义,接着阐述了国内外个性化推荐技术研究的现状,然后提出本文在个性化推荐系统上的所做工作,最后给出本论文的文章组织结构。
1.1研究背景及意义
互联网技术的发展和普及使得网络己成为人们获取各种信息和资源的重要媒介。面对网络上浩瀚如海的信息,用户虽然拥有更多选择但同时也需要花费更多的时间和精力来获得自己想要的信息。这个现象被称为信息过载。
于是,帮助用户更快地找到所感兴趣的资源解决信息过载问题己成为当前研究的热点。其中一种方式就是利用搜索引擎技术来查询自己所需要的信息,例如百度、谷歌、搜狗,搜索以及腾讯搜搜。根据用户的提供的检索关键词,搜索引擎可以返回给用户跟关键词相关的网页。但信息检索系统需要用户有明确的需求,提供优质的搜素关键词,搜索引擎才能够返回给用户满意的结果。但信息及其传播是多元的,不同的用户虽然使用同样的关键词,但信息的需求确实千变万化的。但搜索引擎针对同样的关键词只能返回相同的检索结果,并不能满足用户多种多样的个性化检索需求,也就不能很好地解决信息过载问题。
信息过载问题一个行之有效的方案就是个性化推荐技术。该技术旨在通过挖掘个体用户的兴趣喜好把用户最感兴趣的资源从浩瀚如海的网络信息中抽取出来推荐给相应用户。个性化推荐技术也逐渐成为了电子商务领域不可缺少的工具之一,比如Amazon、Netlix和豆瓣等许多网站都广泛使用了个性化推荐技术。豆瓣是国内应用个性化推荐技术最早的公司之一,它能够根据用户对电影的评分历史,挖掘出不同用户的品味需求,然后向目标用户推荐其可能喜欢观看的电影。京东、亚马逊以及淘宝等电子商务网站也大量利用了个性化推荐技术,买家在浏览一些商品时,系统会针对用户当前浏览的商品和用户之前产生的浏览点击收藏购买等历史信息向用户推荐一些用户可能需要的商品。可见,在日趋激烈的竞争环境下,个性化推荐系统不仅能够为商家带来商业利益,最重要的是还能够提供用户良好的的购物体验增加用户对网站的粘度。
1.2国内外研究现状
根据研究算法侧重点的不同,可以将个性化推荐系统分为三类:基于内容的、协同过滤以及混合推荐系统。
基于内容的推荐系统首先对用户和产品信息进行预处理进而抽取用户和产品的文本特征,然后通过分析已经购买或浏览过的产品内容,更新用户的特征信息,而后通过计算用户与产品文本特征之间的相似度,向用户推荐与其购买特征最接近的产品。基于内容的推荐系统需要分析产品的文本信息,因此对音乐、图像、视频等多媒体信息便无从下手,无法分析这些多媒体信息背后隐藏的内容以及信息的质量,也就无法向用户提供靠谱的结果。
相反,协同过滤系统则不需要用户和产品的内容信息,而只是利用用户的历史评分信息来计算用户之间的相似度,然后选择与目标用户相似度高的用户作为邻居,利用近邻对特定产品的评分来预测目标用户对该产品的评分,最后系统根据预测的评分由高到低来向目标用户产生推荐结果。协同过滤系统另外一个优势就是只需要用户的历史评分信息,而对待推荐的对象没有特殊要求,因此能够处理电影、音乐以及视频等难以抽取文本特征信息的对象。
进一步,协同过滤系统可以分为面向评分的和面向排序的两种。面向评分的系统根据用户的历史评分信息来计算用户之间的相似度,然后利用近邻的评分来预测目标用户对待推荐产品的评分。然而,当用户之间的评分的差别较大时,基于评分的相似度度量方式便丧失了捕获用户之间喜好相似度的能力。
第二章相关工作
本章主要介绍与个性化推荐系统相关的原理与技术。首先介绍了协同过滤推荐算法,主要包括面向评分和面向排序的协同过滤算法,然后解释基于内容的推荐算法,最后阐述混合推荐系统的设计框架。
2.1协同过滤方法
协同过滤技术在互联网服务领域发挥了重要作用。其核心思想分为两部分:首先它利用用户的历史信息来计算用户之间的相似度,然后利用与目标用户相似度高的用户作为邻居来预测目标用户对待推荐商品的喜爱程度。系统根据喜爱程度对这些产品进行排序,以向目标用户产生最终的推荐结果。用户的历史评分信息在协同过滤系统中能够最大化地被利用。这些评分值可以是显性值也可以是隐性值。比如说在豆瓣网上用户可以用1-10的数值来表示对某电影的喜好程度,这些评分信息就是显式值。而在淘宝上用户的浏览、点击、评论、收藏和购买的行为则是隐式值。相比显式值,隐式值因包含较多的噪音而难以收集和处理。
2.1.1面向评分的协同过滤系统
面向评分的协同过滤系统的算法主要分为两种:基于记忆的和基于模型的算法。基于记忆的算法是根据用户和产品的历史信息进行预测。其中一个最常用的技术就是基于近邻的方法。
2.1.1.1基于近邻的协同过滤算法
根据利用的是用户的历史评分信息还是产品被购买的信息,可以将基于近邻的协同过滤算法分为基于用户的和基于产品的两类。在基于近邻的协同过滤中,用户和产品本质上是相同的,因此本文只介绍基于用户的协同过滤算法,其工作流程如下:
基于产品的协同过滤算法和基于用户的协同过滤算法本质上是相同的,在此就不赘述。一个需要我们关注的现象是随着用户数量的增加,基于用户的协同过滤算法在计算用户间相似度时就会耗费更多的时间与资源,从而影响系统的性能。因此在产品的数量变化不大的情况下,基于产品的协同过滤算法在电子商务网站中大量使用。有研究基于产品协同过滤算法的推荐效果要好于基于用户的推荐。例如,豆瓣电影的推荐和亚马逊书籍的推荐就是利用的基于产品的协同过滤算法,并取得了较好的效果。但是对于产品数量变化较大的系统,比如新浪微博中关注的用户数,基于用户的协同过滤算法带来的的推荐效果是要好于基于产品的算法。
关于相关性的计算已经吸引了大量的研究,在实际系统中根据场景不同也提出了不同的相似度度量方法。例如缺席投票算法。缺席投票算法是基于记忆的推荐算法的一种,用于解决用户历史评分信息太少而导致用户之间相似度计算不准确的问题。文献研究表明,如果给一些没有被用户评分的产品初始时赋一些缺省值,那么推荐结果的准确性将会显著提高。比如就用一些隐式数据来确定这些缺省值。这些隐式的数据包括用户的购买时间以及产品的上架时间等等。在选择近邻的时候只选择相似度高的前N个用户,而不是所有的用户都参与到预测评分。这样在预测评分的时候不仅能够大大减少计算量,而且还能够提高推荐效果。因为相似度低的产品在预测评分的时候起到的是干扰效果。
2.2基于内容的推荐系统
基于内容的基本过程是对用户和产品首先建立特征文件,然后分析用户和产品的历史信息,这些历史信息包括用户的浏览记录购买历史以及产品的各种属性以及用户对产品的评论等信息,然后依次更新用户和产品的特征信息。系统可以计算用户和产品特征文件的相似度,并向用户推荐与其特征文件相似的产品。比如最近比较火的美剧《纸牌屋》里就利用了基于内容的推荐系统的原理。《纸牌屋》是的一部自制剧。在Netlix上,用户每天产生高达三千多万个行为,如收藏、推荐、回放、暂停等的Netlix订阅用户每天会给出上百万次的评分和搜索行为。这些都被的推荐系统用以训练。Netlix的工程师们发现,喜欢BBC剧、导演David Fincher和演员凯文的用户有很大一部分重叠,于是请来大卫芬奇担任导演,凯文史派西担当男主角拍摄《纸牌屋》。《纸牌屋》不仅是Netflix网站上有史以来观看量最高的剧集,也在世界其他国家大热。这个例子从侧面证明了基于内容的推荐系统的威力。
基于内容的推荐算法需要合适的策略来产生用户和产品的特征文件以及相应的算法来比较用户和产品特征的相似性。算法流程由信息抽取和信息过滤等部分组成。
在信息抽取过程中,面对一些无结构的数据例如文本,需要一些预处理步骤来抽取相关的信息。在文本信息的获取与过滤的研究已经很成熟,因此大部分的基于内容的推荐系统用户和产品特征文件都是建立在文本信息的分析之上。在信息检索中,一种最常用的方法便是矢量空间模型。在矢量空间模型中,词频逆文档频率方法经常用来表示文本特征信息。TF-IDF是一种统计方法,用以评估词项在语料库中的重要程度。词项的重要性和它在文档中出现的次数是正相关关系,但与它在语料库中出现的频率成负相关关系。也就是说如果某个词项在某篇文档中出现了很多次,但在其他文档中却很少出现,则认为该词项就有较强的文档区分能力,适合用来做特征。
第三章面向排序的协同过滤算法.....19
3.1用户表示....21
3.2偏好权重......21
3.3相似度计算.....25
3.4排序预测......28
第四章排序学习在混合推荐系统中的应用........32
4.1问题描述.......32
4.2特征定义......33
第五章实验分析.......38
5.1实验数据集.....38
5.2评测指标.......38
第五章实验分析
5.1实验数据集
为验证本文所提算法的有效性,我们采用了两个具有真实评分的电影数据集:EschMovie和MovieLens。其中EschMovie数据集有280万条用户评分记录。MovieLens数据集则有一百多万条评分信息。表2给出了这两个数据集的细节描述。

在实验过程中,为了保证目标用户和其邻居的共同评分的电影具有一定的数量,我们首先对数据集做了过滤操作:EschMovie中剔除了评分数小于100的用户,MovieLens中剔除了评分数小于50的用户。然后随机选取用户评分的80%用做训练,10%用于校验,其余的10%用于测试。
第六章总结与展望
本文围绕面向排序的个性化推荐算法展开了研究,包括面向排序的协同过滤算法和利用排序学习的混合推荐算法。通过深入研究近年这一领域国内外学者提出的各种方法,分析方法的缺点和不足,提出了一些改善算法,并通过大量的实验验证,给出了分析与比较。本文提出的方法也存在诸多不足,需要在未来的工作中进行优化。
6.1主要工作总结
面对信息爆炸,个性化推荐系统成为一个必不可少的工具。但传统的面向评分的推荐算法存在诸多不足,因此本文基于面向排序的个性化推荐系统,主要做了面向排序的协同过滤算法和运用排序学习进行混合推荐系统的设计两部分工作。在面向排序的协同过滤算法中:
1)提出了用户对产品对偏好的加权方式。用户的偏好包括偏好程度以及偏好的流行度两方面,综合考虑用户偏好的这两个特性,本文算法能够找出与目标用户偏好相似的邻居用户。
2)得到用户的偏好表示后,本文又提出了两种计算用户将偏好相似度的方法,一种是将用户看成由偏好词项组成的文档,利用向量空间模型计算两者的余弦相似度;另一种则是在传统Kendall相关系数的基础上,利用加权的Kendall相关系数计算用户间的偏好相似度。
3)在进行排序预测的时候,本文由提出了两种排序融合的方法。一种是贪婪算法,另外一种则是基于投票的舒尔茨算法。两种方法都取得了较好的推荐效果。
在利用排序学习的混合推荐系统中:
1)对用户和产品特征进行统一表示。通过对用户和产品特征的重新定义,使二者具有一个共同的词典,从而保证了两者在内容上的可比性。通过定义用户和产品的属性特征与评分特征,对用户和产品进行了统一的向量表示。
2)构建了运用排序学习到推荐系统的框架。在此框架之上,任何的排序学习算法都能够被用来构建推荐系统。通过实验也验证了本文框架的有效性。
参考文献(略)
