基于协同过滤的电影推荐系统的设计与实现毕业论文
2021-11-11 20:44:04
论文总字数:19343字
摘 要
信息技术和互联网的高速发展,使人们进入了信息过载的时代。信息过载是指出现了信息过量的问题,人们接受的信息量超过了人们的需要或超出了人们能够处理信息的能力范围。所以,信息的选择性阅读便成为了人们面对海量信息的方式。最常见的选择方式便是关键字搜索,人们通过关键字的查找去寻找自己感兴趣的内容。但是因为很多人并没有很明确的需求和目标,所以这种方法的适用性并不广泛。
为了能够应对这种庞大的信息量,越来越多的推荐算法被研究出来并应用于生活的各个领域,如新闻、影视、商品、音乐等领域,可以根据用户的爱好来推荐用户可能会感兴趣的信息。本文主要研究推荐算法在影视方面的运用,通过使用协同过滤算法,对用户进行个性化的信息推荐。
传统的协同过滤算法,只需关注用户与项目之间的关系,适用性比较强,但是随着用户的增多,也导致了一系列的问题,如系统的稀疏性和可扩展性低等问题。在协同过滤算法进行电影推荐时,会因为用户的评分关系稀疏导致计算出来的相似度会有很大的误差,导致推荐算法的可靠性不高,所以,要通过对稀疏数据的改进来提高推荐算法的可靠性,即需要对推荐算法进行改进。本文研究表明,该方法确实可以改善数据稀疏性问题,提高推荐算法的可靠性。
希望通过本项目的研究,能够提高我对问题的分析、设计和实现的能力,进一步的提高我的软件编程能力。
关键词:电影推荐,协同过滤算法,数据稀疏,修正余弦相关性系数
Abstract
With the rapid development of information technology and Internet, people have entered the era of information overload. Information overload refers to the problem of information overload. The amount of information that people receive exceeds people's needs or beyond people's ability to process information. Therefore, selective reading of information has become a way for people to face massive information. The most common choice is keyword search. People search for the content they are interested in through keyword search. However, because many people do not have clear needs and goals, the applicability of this method is not extensive.
In order to deal with this huge amount of information, more and more recommendation algorithms have been studied and applied to various fields of life, such as news, film and television, commodities, music and other fields, which can recommend information that users may be interested in according to their hobbies. This paper mainly studies the application of recommendation algorithm in film and television, through the use of collaborative filtering algorithm, personalized information recommendation for users.
The traditional collaborative filtering algorithm only needs to pay attention to the relationship between users and projects, which has strong applicability. However, with the increase of users, it also leads to a series of problems, such as low sparsity and scalability of the system. When the collaborative filtering algorithm is used for movie recommendation, it will lead to a large error in the calculated similarity due to the sparse rating relationship of users, resulting in the low reliability of the recommendation algorithm. Therefore, to improve the reliability of the recommendation algorithm by improving the sparse data, that is to say, the recommendation algorithm needs to be improved. The research shows that this method can improve the data sparsity and the reliability of the recommendation algorithm.
I hope that through the research of this project, I can improve my ability of problem analysis, design and implementation, and further improve my software programming ability.
Key Words:Movie recommendation; collaborative filtering algorithm; sparse data,;modified cosine correlation coefficient
目 录
第1章 绪论 6
1.1研究目的及意义 6
1.2相关研究现状 6
1.3本文主要内容 7
第2章 总体设计 8
2.1研究目的 8
2.2功能设计 8
2.2.1 功能图示 8
2.2.2 功能描述 8
2.3数据库设计 9
2.4系统功能模块 12
2.5基于协同过滤的推荐算法 13
2.5.1协同过滤算法的选择 13
2.5.2用户相似度算法的选择 15
2.5.3评测值的计算方法 16
2.6开发平台选择 17
2.6.1 开发工具 17
2.6.2 框架选择 17
第3章 系统具体实现 19
3.1系统基础功能的实现 19
3.2相似度计算流程 20
3.3预测表计算流程 21
3.4评分矩阵的建立 22
第4章 系统测试 23
4.1基础功能的测试 23
4.2协同过滤的可靠性测试 23
4.2.1 相似度的可靠性测试 23
4.2.2 推荐结果的可靠性测试 26
第5章 结论与展望 27
5.1结论 27
5.2展望 27
参考文献 29
致谢 30
第1章 绪论
1.1研究目的及意义
在互联网时代,信息量巨大已经成为当今的时代特色,电影行业也是如此,人们在海量的电影库中,为了寻找自己感兴趣的电影,要花很多时间,这在生活节奏越来越快的当代明显不是一个好的现象。对于一些热门电影的推荐,也许能够满足一部分人的需求,但对于一部分人来说,热门电影仍然无法满足他们的需求,电影又不同于其它信息,很难在没有目标的情况下通过关键字搜索来筛选到想看的电影,因此,设计一个根据用户行为进行推荐的系统就显得很有必要。
为了能够做到用户的个性化推荐,本文引进并研究了协同过滤的推荐算法,通过用户与用户之间的相似行为来进行电影推荐,这种推荐算法能够比较好的针对用户推荐他们感兴趣的电影。但是,因为传统的协同过滤算法存在着数据稀疏和可扩展性低的一些弊端,所以,需要对传统的推荐算法进行改进,本项目就是建立在改进的协同过滤算法的基础上,实现根据用户个性化喜好进行推荐的电影推荐系统。该推荐系统能够尽可能准确的为用户推荐他们感兴趣的电影,从而能够节约他们的搜索时间,使他们能更好的适应当今这个信息过载的时代。
通过此课题的研究,可以提升我的信息分析能力和数据库设计能力,让我能够将一些实际信息更好的通过数据库去存储和表示出来。不仅如此,通过该系统的实现,也提高了我的编程能力,增加了我编程的熟练度,同时,也能促进我对前端的学习,提高我的软件工程能力。
1.2相关研究现状
在国外,通过对三大网站【Jinni】【Criticker】【Movielens】的推荐方式进行研究可以发现,三者都是通过用户行为,根据用户对电影做出的评价,寻找用户与用户之间或者电影与电影之间的相似关系,以此作为推荐依据。但是,这三者的推荐算法又存在差异,在Jinni网站中,是通过将用户与电影进行分类的方式来确定关系,没有一个具体的划分标准,这样的推荐算法导致了其推荐结果与用户的喜好会有很大的偏差。Criticker从某种程度上来说对其进行了改善,通过等级的方式形成兴趣指数,但也存在一定的问题, 当用户评分的电影过少,或者是产生的喜好没有代表性,比如是对一些被大众普遍接受的电影,用户对这些电影的喜爱,并不具备代表性,如果以此为依据, 会使最后的推荐结果相关度不强甚至出现偏离。而Movielens则是通过协同过滤的推荐算法,也是最接近本项目的推荐算法,由于未能找到其具体的实现方法,故无法做出比较[1]。
请支付后下载全文,论文总字数:19343字