中原工学院软件学院实践成果三一报告
班级 :卓越 171
姓名 :杨松桦
实践成果三—报告
专 业:
软件工程_______
课题名称:基于协同过滤算法的论文推荐系统
班 级:
卓越 171_______
学 号:
201719244324___ _
学生姓名:
杨松桦 _______
指导教师:
贾晓辉________
1
中原工学院软件学院实践成果三一报告
班级 :卓越 171
姓名 :杨松桦
2019 年 6 月 20 日
目录
第一章 绪论...........................................................................................................................4
1.1 推荐系统概述..................................................................................................................4
1.2 推荐系统的背景..............................................................................................................5
1.3 推荐系统的应用...............................................................................................................5
1.3.1 电子商务网站........................................................................................................... 6
1.2.2 电影和视频网站....................................................................................................... 7
1.2.3 个性化音乐网络电台............................................................................................... 8
1.2.4 社交网站................................................................................................................... 9
1.2.5 个性化阅读..............................................................................................................10
1.2.6 其他推荐的应用..................................................................................................... 11
1.3 推荐系统的相关技术....................................................................................................12
1.3.1 基于内容推荐......................................................................................................... 12
1.3.2 协同过滤推荐..........................................................................................................12
1.3.3 基于关联规则推荐................................................................................................. 13
1.3.4 基于效用推荐......................................................................................................... 13
1.3.5 基于知识推荐......................................................................................................... 13
1.3.6 组合推荐................................................................................................................. 13
1.3.7 基于深度学习的推荐技术..................................................................................... 14
1.4 实践成果背景................................................................................................................15
第二章 需求分析...............................................................................................................17
2.1 业务分析........................................................................................................................17
2.2 系统功能需求分析........................................................................................................17
2.3 系统性能需求分析........................................................................................................18
2.4 系统数据需求分析.........................................................................................................18
第三章 系统设计...............................................................................................................19
2
中原工学院软件学院实践成果三一报告
班级 :卓越 171
姓名 :杨松桦
3.1 系统功能设计................................................................................................................19
3.2 算法设计.........................................................................................................................21
3.2.1 用户行为分析......................................................................................................... 21
3.2.2 协同过滤算法......................................................................................................... 22
3.2.3 两种协同过滤算法对比......................................................................................... 23
3.2.4 基于用户的协同过滤算法..................................................................................... 23
3.2.5 基于物品的协同过滤算法..................................................................................... 24
3.4 数据库设计....................................................................................................................27
3.4.1 数据库的详细设计................................................................................................. 27
第四章 系统实现.................................................................................................................30
4.1 系统界面实现................................................................................................................30
4.1.1 登录/注册界面........................................................................................................ 30
4.1.2 主页面..................................................................................................................... 31
4.1.3 搜索/分类显示页面................................................................................................ 32
4.1.4 论文阅读页面......................................................................................................... 33
4.2 功能模块实现...........................................................................................................34
4.2.1 注册\登陆模块........................................................................................................ 34
4.2.2 搜索功能..................................................................................................................36
4.2.3 推荐模块..................................................................................................................37
4.2.3 主页模块实现......................................................................................................... 39
第五章 总结.........................................................................................................................41
参考文献:...........................................................................................................................42
3
中原工学院软件学院实践成果三一报告
班级 :卓越 171
姓名 :杨松桦
第一章 绪论
1.1 推荐系统概述
自从 1950 年互联网这一高新技术诞生以来, 在快速推荐了社会产业融合和人类发展
的同时, 也一直呈递出一种指数型的发展趋势. 而存储在互联网中大量的数据的增长长度
导致想要表示的可计量单位都在迅速变化.
近年来,伴随着云计算、-大数据、物联网、人工智能等信息技术的快速发展和传统产
业数字化的转型,数据量呈现几何级增长,据 IDC 预测,全球数据总量预计 2020 年达到
44 个 ZB,我国数据量将达到 8060 个 EB,占全球数据总量的 18%。
时至今日互联网每天新增的数据量达 2.5*10^18 字节,而全球 90%的数据都是在过去
的两年间创造出来的。举个直观的例子来说明一下互联网的数据量:假设大西洋里每一升
海水代表一个字节的数据,那么整个大西洋存储的数据也只能到 2010 年就满了。从外行
的角度看来大数据是个挺了不起的东西,它也确实了不起,不过有一个前提就是我们能够
有效地处理数据。
在这种飞速迭代的发展情况之下, 前两年我们还为这互联网为我带带来的信息遍历,
如今又迭代为了一个极为严重的问题 – 信息过载. 随着信息技术和互联网的发展,人们逐
渐从信息匮乏的时代走入了信息过载(information overload)的时代。在这个时代,无论是
信息消费者还是信息生产者都遇到了很大的挑战:作为信息消费者,如何从大量信息中找
到自己感兴趣的信息是一件非常困难的事情;作为信息生产者, 如何让自己生产的信息
脱颖而出,受到广大用户的关注,也是一件非常困难的事情。推荐系统就 是解决这一矛
盾的重要工具。推荐系统的任务就是联系用户和信息,一方面帮助用户发现对自己 有价
值的信息,另一方面让信息能够展现在对它感兴趣的用户面前,从而实现信息消费者和信
息 生产者的双赢.
图 1.1 推荐系统
4
中原工学院软件学院实践成果三一报告
班级 :卓越 171
姓名 :杨松桦
1.2 推荐系统的背景
如今,我们这代人正经历从信息时代(Information Technology , IT)到数据时代(Data
Technology , DT)的变迁,DT 时代比较明显的标志就是:信息过载。
在 DT 时代,充斥着海量的信息,如何从海量的信息中快捷的帮助特定用户找到感兴
趣的信息呢?有两种相关的解决技术:搜索引擎与推荐系统。
如果用户有着明确的需求, 那么他完全可以使用搜索引擎. 但是,如果用户没有明确
的需求呢?然而大多数适合, 我们其实都没有明确的需求.比如你今天很无聊,想下载一部
电影看看。但当你打开某个下载网站,面对 100 年来发行的数不胜数的电影,你会手足无
措,不知道该看哪一部。此时, 你遇到了信息过载的问题,需要一个人或者工具来帮助
你做筛选,给出一些建议供你选择。如果 这时候有个喜欢看电影的朋友在身边,你可能
会请他推荐几部电影。不过,总不能时时刻刻都去麻烦“专家”给你推荐,你需要的是一
个自动化的工具,它可以分析你的历史兴趣,从庞大的电影库中找到几部符合你兴趣的电
影供你选择。这个工具就是个性化推荐系统.
图 1.2 现状
与搜索引擎不同,推荐系统不需要用户准确地描述出自己的需求,而是根据分析历史
行为建模,主动提供满足用户兴趣和需求的信息。从物品的角度出发,推荐系统可以更好
地发掘物品的长尾(long tail)
推荐系统是一种信息过滤系统,用于预测用户对物品的“评分”或“偏好”。 推荐系统产
生推荐列表的方式通常有两种:协同过滤以及基于内容推荐,或者基于个性化推荐。 协同
过滤方法根据用户历史行为(例如其购买的、选择的、评价过的物品等)结合其他用户的
相似决策建立模型。这种模型可用于预测用户对哪些物品可能感兴趣(或用户对物品的感
兴趣程度)。基于内容推荐利用一些列有关物品的离散特征,推荐出具有类似性质的相似
物品。两种方法经常互相结合(参考混合推荐系统)
1.3 推荐系统的应用
由于 BT 时代的特殊背景和用户的强烈需求, 目前对于推荐系统的应用可以说以及是
5
中原工学院软件学院实践成果三一报告
班级 :卓越 171
姓名 :杨松桦
遍地开完, 只要一个成型成体系的信息化网站, 都面临着巨大的推荐系统需求, 尽管不同
的网站使用不同的推荐系统技术,但总地来说,几乎所有的推荐系统应用都是由前台的展
示页面、后台的日志系统以及推荐算法系统 3 部分构成的。
从网站分类上看, 目前主流大幅度应用推荐系统的网站主要有着以下几种:
1.3.1 电子商务网站
电子商务网站是个性化推荐系统的一大应用领域。在国外著名的电子商务网站亚马逊
是个性化推荐系统的积极应用者和推广者,被 RWW(读写网)称为“推荐系统之王”。
而随着近些年中国互联网的飞速网站,也涌现出了一大批优秀的电子商务网站。例如
下图中国内最大的电商网站,可以看到网站内包括主页的各个地方和角落充斥着推荐的内
容,这背后无疑有着盘根错节的推荐算法。
商品推荐页主要包括的内容有
(1)推荐结果的标题,缩略图以及其他内容属性
(2)推荐结果的评分
(3)推荐理由。
亚马逊的推荐有以下三种:
(1)基于用户之前的行为,例如购买过武侠小说,会继续推荐别的武侠小说。
(2)基于用户的好友关系,例如亚马逊拿到用户的 Facebook 的好友,然后向用户推
荐他的好友都买了啥
(3)基于物品的相似度,例如购买了该商品的用户还买了哪些商品。
图 1.3 淘宝网推荐页面
6
中原工学院软件学院实践成果三一报告
班级 :卓越 171
姓名 :杨松桦
图 1.4 亚马逊推荐页面
1.2.2 电影和视频网站
在电影和视频网站中,个性化推荐系统也是一种重要的应用。这种和电子商务不太一样,
这种用户通常只是想看电影,但是并没有很明确的需求要看那部电影甚至是哪种类型的电影。它能够
帮助用户在浩瀚的视频库中找到令他们感兴趣的视频。在该领域成功使用推荐系统的公司
就是 Netflix 和 YouTube,其中 Netflix 和亚马逊是推荐系统领域最具代表性的两家公司。
YouTube 作为美国最大的视频网站,拥有大量用户上传的视频内容。由于视频数量非
常大,用户在 YouTube 中面临着严重的信息过载问题。为此,YouTube 在个性化推荐领域
也进行了深入研究,尝试了很多算法。在 YouTube 最新的论文中,他们的研究人员表示现
在使用的也是基于物品的推荐算法。为了证明个性化推荐的有效性,YouTube 曾经做个一
个实验,比较了个性化推荐的 点击率和热门视频列表的点击率,实验结果表明个性化推
荐的点击率是 热门视频点击率的两倍。
7
中原工学院软件学院实践成果三一报告
班级 :卓越 171
姓名 :杨松桦
图 1.5
Youtube 主页充斥着推荐
1.2.3 个性化音乐网络电台
个性化推荐的成功应用需要两个条件。第一是存在信息过载,因为如果用户可以很容
易地从所有物品中找到喜欢的物品,就不需要个性化推荐了。第二是用户大部分时候没有
特别明确的需 求,因为用户如果有明确的需求,可以直接通过搜索引擎找到感兴趣的物
品。
在这两个条件下,个性化网络电台无疑是最合适的个性化推荐产品。首先,音乐很多,
用户不可能听完所有的音乐再决定自己喜欢听什么,而且每年新的歌曲在以很快的速度增
加,因此用 户无疑面临着信息过载的问题。其次,人们听音乐时,一般都是把音乐作为
一种背景乐来听,很 少有人必须听某首特定的歌。对于普通用户来说,听什么歌都可以,
只要能够符合他们当时的心 情就可以了。因此,个性化音乐网络电台是非常符合个性化
推荐技术的产品。
8