摘要
在互联网时代下,信息量呈指数级增长。海量数据以 0、1 方式编码存放在磁盘等设备中非常方便,但是对于人类来说,我们的脑容量有限,在海量数据中挑选出适合自己的信息变得非常困难。简直如大海捞针,即使使用了分类方法和搜索引擎,我们还是要花大量时间去挑选适合自己的信息,并且经常选取了错误的信息。在这样的情况下, 个性化推荐系统应运而生。从起初的基于内容的推荐,到现在最常用的协同过滤推荐等推荐算法,我们从繁琐庞大的信息中解脱出来,可以接受大量系统推荐给我们的信息。
在大多数电子商务网站上,都运行着个性化推荐系统,不仅提高了用户购买率,还提高了用户体验。其系统内部实现由于基础数据不同也各有不同,而协同过滤算法被广泛应用到这些系统中,发挥着巨大的作用。
本文首先详细介绍了协同过滤算法与推荐系统概要,分析了各种协同过滤算法的优缺点。然后设计了一个简易的电影资源推荐系统,并使用 python、微信公众号等技术实现了这个推荐系统,最后对这个推荐系统做了简单的测试和结果分析。
关键词
个性化推荐系统;协同过滤;机器学习;数据挖掘;数据分析;python
Abstract
In the Internet age, the amount of information is exponential. Huge amounts of data to 0, 1, encoded in devices such as disk is very convenient, but for humans, our brain capacity is limited, selected for their own information in the huge amounts of data becomes very difficult.It's like looking for a needle in a haystack, and even using a taxonomy and search engine, we still have to spend a lot of time sorting out what's right for us and often picking the wrong information. In this case, the personalized recommendation system comes into being.Based on the recommendations from the content, from the beginning to now, the most commonly used collaborative filtering recommendation recommendation algorithm, such as free from complex huge information, we can accept a large number of system is recommended for our information.
On most e-commerce sites, the personalized recommendation system is running, which not only improves the user purchase rate, but also improves the user experience.The internal implementation of the system is different due to the different basic data, and the collaborative filtering algorithm is widely applied to these systems and plays a huge role.
In this paper, we first introduce the collaborative filtering algorithm and recommendation system profile, and analyze the advantages and disadvantages of various collaborative filtering algorithms.Then design a simple movie recommendation system resources, and using the python, micro letter of public technology implements this recommendation system, finally, the recommendation system has made the simple test and the result analysis.
Key words
Personalized recommendation system;Collaborative filtering;Machine learning;Data mining;Data analysis;Python;
目录
摘要 I
Abstract II
1.绪论 4
1.1课题背景及意义 4
1.2国内外研究现状 5
1.3论文内容结构 5
2.协同过滤与相关技术 6
2.1推荐算法介绍 6
2.1.1基于内容的推荐算法 6
2.1.2协同过滤算法 7
2.1.3协同过滤算法分类 7
2.1.4协同过滤优化 8
2.1.5协同过滤推荐的优缺点 9
2.1.6应用场景 10
2.2相关技术介绍 11
3.系统分析与设计 13
3.1需求分析 13
3.2系统设计 14
3.2.1微信公众号 15
3.2.2接口定义 16
3.2.3前后端交互接口 18
3.2.4文本请求 19
3.2.5事件处理 19
3.2.6web 服务器 20
3.3数据库设计 22
3.3.1电影信息表 22
3.3.2其他表结构 22
3.4推荐算法设计 24
4.系统实现 26
4.1数据采集 26
4.1.1爬虫概要 26
4.1.2数据库结构 29
4.1.3爬虫主要逻辑 30
4.1.4页面分析 31
4.1.5数据处理 32
4.2基础功能实现 33
4.2.1后端主要逻辑 33
4.2.2搜索功能 38
4.2.3评价功能 41
4.3协同过滤推荐实现 43
4.3.1读取用户曲线 43
4.3.2用户相似程度 44
4.3.3获得最终结果 45
4.4解决冷启动问题 47
4.4.1解决方案 47
4.4.2代码实现 47
4.4.3其他完善方案 48
5.实验结果分析 49
5.1推荐功能测试 49
5.1.1协同过滤推荐 49
5.1.2基于内容推荐 50
5.2推荐功能优化 52
5.2.1重复推荐 52
5.2.2响应时间 52
5.2.3避免冷启动 52
5.3评价功能优化 53
5.3.1影片名纠纷 53
5.3.2鼓励评分 53
5.4其他辅助功能 54
5.4.1功能说明书 54
5.4.2收藏夹 54
结论 55
参考文献 56
致谢 57