摘 要 本文首先讨论了个性化推荐的相关技术,分析比较了推荐系统中的几种推荐方法;然后讨论了社会网络相关概念,研究了社会网络的表示与构建方法;之后深入研究了推荐系统中的一个重要问题——相似度计算方法,其中包括传统的基于用户和基于项目的相似度计算方法,以及基于社会网络的相似度算法。本文最后部分利用MovieLens网站提供的数据,对传统的相似度算法及改进算法进行比较,验证了算法的效果。 关键词:推荐技术,社会网络,相似度算法,用户-项目评分矩阵 Abstract First, we introduce the technology of recommendation systems, analyze several recommendation methods. Then, the basic concepts of social networks are introduced, and we also study the representation and construction of social networks. After that we study deeply an issue of recommendation systems—— the algorithms of similarity, including typical user-based algorithms, item-based algorithms and algorithms based on social networks. In the last part of the paper we compare the typical user-based algorithms and modified algorithms by using the data from MovieLens website. Keywords: Recommendation Technology, Social Networks, Similarity Algorithm, User-Item Rating Matrix 目 录 第1章 引言 1 1.1 研究背景 1 1.2 研究现状 1 第2章 个性化推荐相关技术 2 2.1 基于关联规则的推荐技术 2 2.2 基于内容的推荐技术 3 2.3 协同过滤推荐技术 5 2.4 混合推荐技术 7 2.5 个性化推荐技术总结 8 第3章 社会网络相关技术 10 3.1 社会网络相关概念 10 3.2 社会网络的表示 12 3.3 社会网络的结构特性 13 3.4 社会网络的构建方法 15 第4章 相似度计算方法 18 4.1 传统相似度计算方法 18 4.1.1 余弦相似性 18 4.1.2 相关相似性 19 4.1.3 修正的余弦相似性 19 4.2 传统相似度计算方法分析 19 4.3 改进的传统相似度计算方法 21 4.3.1 评分矩阵的改进方法 21 4.3.2 改进的相关相似度计算方法 21 4.4 基于项目的相似度计算方法 22 4.4.1 项目的类别属性 23 4.4.2 基于项目的相似度计算 24 4.5 基于项目的相似度算法的应用 26 4.6 基于图的相似度算法 27 4.6.1 基于图的推荐方法 27 4.6.2 相似度算法 29 第5章 算法的实现与比较 31 5.1 数据集 31 5.2 实验环境和度量标准 32 5.2.1 实验环境 32 5.2.2 度量标准 32 5.3 算法实现及流程图 33 5.4 算法实现方案 35 5.5 实现结果及分析 35 第6章 结束语 38 6.1 本文的工作 38 6.2 进一步的工作 38 参考文献 41 致 谢 43 附录 45 外文资料原文 51 译文 55
第1章 引言 1.1 研究背景 随着经济和科技的发展,各种信息服务资源迅猛增长,不仅远远超出了人的浏览范围,而且良莠不齐。这导致服务使用者变得越来越无从选择,严重地影响了信息利用的效率和效果,如何有效地推荐这些服务成为一个迫待解决的问题。推荐系统越来越为人们所重视并被广泛应用于电子商务、数字图书馆等领域。 1.2 研究现状 推荐系统有很多研究领域,在1997年以前,推荐系统主要用于信息过滤,如电子邮件的过滤等。随着互联网的普及和电子商务的发展,推荐系统逐渐成为电子商务IT技术的一个重要研究内容。因为推荐系统可以预测用户的喜好,发现用户的兴趣,因此被电子商务商家广泛采用。个性化推荐服务用于网上产品推荐和营销,如Amazon书店已获得了巨大成功。除了应用于信息过滤和电子商务以外,推荐系统还可以应用到其他领域,如社会网络,新闻传媒等。 社会网络分析(Social Network Analysis)作为数据挖掘的一个重要分支已经受到越来越多的关注。社会网络分析是一种链接分析(Link Analysis)技术,它通过研究社会网络,理解其结构和行为的过程。由于社会网络中存在大量的信息可用于分析和挖掘,基于社会网络分析已经被引入到各种应用领域,包括经济领域、广告传播与市场营销、计算机网络病毒与犯罪网络、恐怖袭击预测、以及IT与通信行业。 由于社会网络分析方法适用范围较广,所以可以将社会网络分析引入推荐系统中,已有研究表明基于社会网络的个性化推荐能解决传统个性化推荐存在的数据稀疏问题、新用户和新项目等等问题,但现有的社会网络分析通常仅仅处理几十到几百个网络结点的小规模网络,不能处理大规模的复杂网络,因此无法满足电信网络上百万数量级的大规模网络计算平台的需要。 基于以上原因研究基于社会网络的推荐系统,本文研究推荐系统中的部分技术——相似度计算方法,分析比较传统的及改进过的相似度算法,然后通过实验验证其效果。
第2章 个性化推荐相关技术 现有的推荐系统已经进行了相当多的研究,并已经应用于实际的工程项目。一般而言,个性化推荐系统通常包括三个组成要素:推荐候选对象(Item)、用户(User)、推荐技术(Method)。其中推荐技术是推荐系统的最核心、最关键的部分,在很大程度上决定了推荐系统的性能。 推荐技术主要有基于规则的推荐、基于内容的推荐、协同过滤推荐以及综合以上几种技术的混合推荐技术。其中基于规则的推荐技术主要针对商品进行的,基于内容的推荐技术是针对单个用户进行的,协同过滤推荐技术是当前最成功的推荐技术,其基本思想是基于评分相似的最近邻居的评分数据向目标用户产生推荐。下面将对几种主要的技术进行详细介绍。 2.1 基于关联规则的推荐技术 关联规则是发现事务数据库中不同商品(项目)之间的联系,这些规则找出顾客购买行为模式,如购买了某一商品对购买其他商品的影响。发现这样的规则可以应用于商品货架设计、货存安排以及根据购买模式对用户进行分类。目前关联规则不仅在商业领域得到了成功应用,其他领域也有很好的应用和发展,是数据挖掘研究中的一个重要课题。 关联规则挖掘由Agrawal等人对市场购物篮分析时首先提出,该过程通过发现顾客放入其购物篮中不同商品之间的联系,分析顾客的购物习惯。关联规则可以发现存于数据库的项目或属性间的有趣的关系,这些关系是预先未知的和隐藏的,也就是说不能通过数据库的逻辑操作(例如表的连接)或统计的方法得出。这说明他们不是基于数据库本身的固有属性(如函数依赖关系),而是基于数据库中数据项目的同时出现的特征,所发现的关联规则可以辅助人们进行市场运作,决策支持及商业管理和网站设计等等。 使用项目关联进行推荐的理论依据[1]:每个用户都有多种兴趣,对应于多个兴趣组;每条项目关联的前件相当于一个兴趣组,而规则的后件则相当于该兴趣组的推荐。因而,当对用户应用完所有可以应用的项目关联以后,用户也就获得了对应于其他不同兴趣的推荐。 在挖掘出商品间的相互关系之后,可根据关系制定相应的规则,然后根据制 定的规则向用户进行推荐。比如事先生成的购买规则是“如果购买了牛奶,就会同时购买面包”,那么当用户再次浏览牛奶相关的商品时,网站可以同时向用推荐与面包相关的信息。基于规则的推荐方式较多地应用于电子商务网站,根据用户浏览和购买的日志生成规则,向用户推荐感兴趣的商品。
|