第一章 绪论
1.1 课题研究背景及意义
1.1.1 课题研究背景
新兴技术的飞速发展不断颠覆人们的日常生活方式,人们日常的交流、交友、支付、购物等行为都已经由线下转至线上,互联网的普及和大规模电子商务的发展带给大家极大的便利和舒适感,不论身在何处,网络和互联网终端设备都可以为你提供你想了解的信息资源,也可以分享你想分享给大家的信息资源。但同时,大量用户的线上操作、线上的资源共享、线上数据的产生直接导致了全球数据量爆炸式增长,据 IDC 预测,全球的电子数据量在 2020 年将会达到 32ZB,其中半结构化和非结构化的数据比例在逐年攀升,现如今已经占据全球网络数量的85%左右[1]。急剧增长的资源数量让人们不得不耗费更多的时间和精力去搜寻有价值的信息,信息过载的现象日趋严重。如何快速有效的从这些纷繁复杂的资源中获取有价值的信息成为了当前大数据发展的关键难题。
信息检索可以为用户过滤掉大量无用信息,但主动性不强,近年来,随着移动互联设备的普及,大量用户都在网上留下了自己的行为信息,很多用户也乐于留下自己对网上资源的评价以供其他用户参考。在网上的数据积累到一定量之后,对其进行数据挖掘和数据分析,可以获得用户的喜好和个性化需求信息,针对用户的需求为其产生推荐,推荐系统(Recommender System, RS)应运而生,作为解决“信息过载”问题的有效方法,推荐系统已经成为学术界和工业界的关注热点。
.......................
1.2 国内外研究现状
1.2.1 推荐系统研究现状
推荐系统的发展源于一个简单的现象,人们日常做的很多决策总是依赖于其他人提供的建议。为了模拟这种行为,20 世纪 90 年代初期第一个推荐系统通过算法将社区用户的建议推荐给了一个正在在寻找推荐的用户。1992 年,为了帮助用户过滤邮件,解决用户邮件过载的问题,XeroxPaloAlto 研究中心开发了实验系统 Tapestry[11],协同过滤在这里被首次提出。1994 年,为了帮助用户在大量的网络新闻中找到自己感兴趣的新闻,第一个自动推荐的系统 GroupLens 被Resnick 等[12]开发出来,这个系统成功地将协同过滤应用于互联网,此后,协同过滤技术被广泛应用于各种网站中。到了 1997 年,推荐系统因其能为用户产生个性化的资源推荐开始被广泛关注[13]。相比于其他经典的信息系统工具和技术(如数据库或搜索引擎),推荐系统的研究是相对较新的。
随着互联网发展,推荐系统开始被应用到了商业领域中,电子商务网站的出现促使了推荐系统的飞速发展,人们对推荐系统的兴趣大大增加。在 Amazon.com、YouTube、Netflix 和 Last.fm 等国外网站中,推荐系统都扮演了重要的角色。Amazon 的算法工程师提出了基于物品内容的协同过滤方法[14],通过改进推荐算法为用户产生了高质量的推荐,为电子商城销量的提升做出了贡献。在 Last.fm音乐网站中,用户通过标记标签对自己喜欢的音乐和歌手进行分类,系统根据用户的标签为用户产生推荐,也取得了不俗的推荐效果。
......................
第二章 推荐系统相关技术
2.1 推荐系统相关理论与技术
推荐算法是推荐系统的核心,通过收集用户的历史行为记录,分析用户与项目、用户与用户、项目与项目之间的关系帮助用户发现可能感兴趣的项目。用 U表示所有用户的集合,I 表示所有项目的集合,效用函数 S 来计算项目 i 对用户u 的推荐度,推荐算法的形式化定义如下所示:
(1)基于内容的推荐(Content-Based Recommendation,CB)[42]
根据用户已知的兴趣、偏好等属性特征,同其它项目内容的属性特征相匹配,
以此为用户产生新的推荐。通过显式或隐式反馈的方式获取用户有过相关操作的项目,从这些项目的属性特征中分析出用户的偏好特征,最后根据用户特征和待推荐项目特征的匹配度对所有待推荐项目进行排序,并产生项目推荐列表。基于内容的推荐方法主要是根据用户的偏好特征和项目的属性特征产生推荐,因此项目的特征提取就是该方法产生推荐的关键所在,没有用户历史评分数据问题,没有冷启动问题,没有数据稀疏问题,但目前为止,还没有十分有效的特征提取方法被提出,这是基于内容的推荐方法没有被广泛应用的主要原因。
(2)协同过滤推荐(Collaborative Filtering Recommendation,CF)[43]
协同过滤推荐分两种:基于用户或项目的协同过滤推荐,基于模型的协同过滤推荐。第一种是根据用户或者项目的近邻集合来产生推荐,后者是通过构建算法模型来为用户产生推荐。该算法因为简单有效、容易实现而被广泛运用。但用户历史数据稀疏、新用户新项目的冷启动等问题会影响它的推荐性能。
.....................
2.2 数据处理技术
真实数据通常需要经过预处理,以便于机器学习技术在分析阶段使用。推荐系统需要用到的理论和数据处理技术大体可以概括为以下几个方面:数据预处理、相似度的计算、评分预测和评价标准。
2.2.1 标签预处理
数据预处理的目的一般是降低特征矩阵的维数、减少运算时间,在本文算法中,通过对标签进行预处理来降低评分矩阵的维度。处理过程如下:
(1)文档集的形成
本算法采用 TF-IDF 来给标签赋予权重[54-55],根据用户对项目的评分行为可以将用户和项目联系起来,进而将用户和项目标签进行联系,认为如果一个用户评价了一个项目则该用户拥有该项目的所有标签,用户评价的所有项目的标签集组成一个用户文档 du,例如,假设用户 u1一共评价了 3 个项目 i1,i2,i3,项目i1,i2,i3包含的标签如表 2-1 所示,表中数字 1 表示项目包含该标签,0 表示不包含,则用户 u 的文档 du1={a, d, e, a, b, c, e,b,c,d,e}。
.......................
3.1 推荐模型的构建 ........................................ 13
3.1.1 构建线性模型 ......................................... 13
3.1.2 构建代价函数 ........................ 13
第四章 基于近邻用户的协同过滤推荐算法 ................................................ 21
4.1 推荐模型的构建 ...................................... 21
4.1.1 聚类 ............................... 21
4.1.2 相似度权重计算 ................................. 21
第五章 两种算法模型的混合推荐 ......................................... 28
5.1 推荐模型的构建 .............................. 28
5.2 算法设计 .................................. 28
第五章 两种算法模型的混合推荐
5.1 推荐模型的构建
将上文提出的基于线性回归模型的推荐算法同基于近邻用户的协同过滤推荐算法进行结合产生推荐,根据两种推荐算法的实验结果,设计算法模型如下:
1) 根据近邻用户的算法为目标用户确定近邻用户,计算所有近邻用户中项目的评分均值记为 Pr1;
2) 根据被所有近邻用户评分过的项目,获取这些项目在线性回归模型中的评分预测值记为 Pr2;
3) 结合上述两种方法产生的推荐结果,根据下式(5-1)为用户产生最终的预测评分值 PR。
........................
第六章 总结与展望
6.1 总结
在这个数据愈发庞大、用户需求愈发个性化的时代,推荐系统的高效率和便捷性可以大幅度提升用户的体验感。但推荐系统要想进一步发展,现下必须要解决的问题有因用户历史记录导致的数据稀疏性的问题、冷启动问题,庞大的数据量导致的扩展性问题,以及不断增加的数据导致的时效性问题等。已经有众多学者针对上述问题提出了改进方法,但仍存在一些问题长期无法得到改善。本文通过标签信息挖掘用户和项目之间的潜在关系,对用户-项目评分矩阵进行转化来解决用户评分数据稀疏的问题,结合标签和用户评分记录提高推荐系统的准确度,根据标签信息为用户产生合理的推荐原因。以下是工作总结:
1、对推荐系统的发展和国内外研究现状进行总结,对推荐系统现存的问题和已提出的解决方案进行了简单介绍。重点介绍了协同过滤的发展优势和制约其发展的问题,介绍了标签在推荐系统中起到的重要作用。
2、采用 TF-IDF 的方式将用户-项目评分矩阵和项目标签相结合,计算用户的标签权重矩阵,没有采用用户标注的标签,降低了对数据的要求,可以缓解由于标签不存在导致的数据稀疏问题。
3、结合线性回归模型,构建代价函数,采用梯度下降的方法最小化代价函数的值来计算项目的标签权重,最后根据用户和项目标签权重的线性关系为目标用户产生推荐列表,并通过实验验证了算法的推荐效果。
4、采用基于近邻用户的协同过滤算法,根据用户的标签权重寻找用户的近邻用户集,根据近邻用户集的评分情况确定推荐项目集,最后通过实验对比了不同方法的推荐效果。
参考文献(略)