- 资源介绍
- 更新记录
- 安装教程
相关信息
电影推荐系统中运用的推荐算法是基于协同过滤算法(Collaborative Filtering Recommendation)。协同过滤是在信息过滤和信息系统中正迅速成为一项很受欢迎的技术。与传统的基于内容过滤直接分析内容进行推荐不同,协同过滤分析用户兴趣,在用户群中找到指定用户的相似(兴趣)用户,综合这些相似用户对某一信息的评价,形成系统对该指定用户对此信息的喜好程度预测。
电影推荐系统中引用了Apache Mahout提供的一个协同过滤算法的推荐引擎Taste,它实现了最基本的基于用户和基于内容的推荐算法,并提供了扩展接口,使用户方便的定义和实现自己的推荐算法。
电影推荐系统是基于用户的推荐系统,即当用户对某些电影评分之后,系统根据用户对电影评分的分值,判断用户的兴趣,先运用UserSimilarity计算用户间的相似度.UserNeighborhood根据用户相似度找到与该用户口味相似的邻居,最后由Recommender提供推荐个该用户可能感兴趣的电影详细信息。将用户评过分的电影信息和推荐给该用户的电影信息显示在网页结果页中,推荐完成。
Taste的组织结构:
Taste的组织结构如下图所示:
Taste的组织结构图
Taste 由以下五个主要的组件组成:
DataModel:DataModel 是用户喜好信息的抽象接口,它的具体实现支持从任意类型的数据源抽取用户喜好信息。Taste 默认提供 JDBCDataModel 和 FileDataModel,分别支持从数据库和文件中读取用户的喜好信息。
UserSimilarity 和 ItemSimilarity:UserSimilarity 用于定义两个用户间的相似度,它是基于协同过滤的推荐引擎的核心部分,可以用来计算用户的“邻居”,这里我们将与当前用户口味相似的用户称为他的邻居。 ItemSimilarity类似的,计算内容之间的相似度。
UserNeighborhood:用于基于用户相似度的推荐方法中,推荐的内容是基于找到与当前用户喜好相似的“邻居用户”的方式产生的。UserNeighborhood 定义了确定邻居用户的方法,具体实现一般是基于 UserSimilarity 计算得到的。
Recommender:Recommender 是推荐引擎的抽象接口,Taste 中的核心组件。程序中,为它提供一个 DataModel,它可以计算出对不同用户的推荐内容。实际应用中,使用GenericUserBasedRecommender 或者 GenericItemBasedRecommender,分别实现基于用户相似度的推荐引擎或者基于内容的推荐引擎。
电影推荐系统的实现:
1. 数据下载:
到grouplens网站(http://www.grouplens.org/node/12)上下载Data Sets,在该电影系统中我们使用了将近900多用户为1683的电影评了近100000行的数据集。将下载的ml-data_0.zip里的评分数据和电影信息数据取出。将评分文件转换成类似于csv文件格式的文本文件,CSV是逗号分隔值文件(Comma Separated value),是一种用来存储数据的纯文本文件格式,文件名为rating.TXT。可以用写字板打开,如图4.1:
图4.1 rating.txt示意图
将电影数据文件转换成movies.xml文件,扩展标记语言XML是一种简单的数据存储语言,使用一系列简单的标记描述数据。如图4.2:
图4.2 movies.xml示意图
2. 运行
将以上两个文件放入C盘,用Myeclipse加载该web project—movies运行。在首页输入用户号userid以及推荐电影数countr。例如:输入userId:500 count:50.
猜你喜欢
-
(免费分享)springboot+mysqlB2C电子商务平台源码
2021-08-19 -
java ssm高校后勤综合数据管理与分析系统设计与实现源码+论文+远程安装部署+代码讲解
2022-01-18 -
java gradle mysql读书交流+vue源码
2021-05-16 -
springboot vue 就业信息管理系统源码+论文+演示视频
2022-02-16 -
swing宠物管理系统源码+课程报告
2021-05-03 -
(免费分享)springboot+vue前后端分离的考试在线报名管理系统(网上报名系统)(有bug需要修复)
2021-08-06 -
[含论文+源码等]Java swing扫雷游戏的设计与实现
2022-05-03 -
高校智能排课系统设计毕业论文+开题报告+答辩PPT+项目源码(SSM)及数据库
2021-06-04 -
[论文+辩论PPT+源码等]精品微信小程序springboot巧匠家装+后台管理系统前后分离
2022-05-03 -
[含论文+源码等]基于SSM+MySQL实现的家庭医生预约平台
2022-04-09
-
[含论文+源码等]基于JavaWEB的个人网站-博客[包运行成功]
2021-12-17 -
基于安全认证的网络课程教学系统设计与实现+第五稿+中期检查表+ppt+周进展+开题+任务书+申请表+查重报告+安装视频+讲解视频(已降重)
2023-07-01 -
[含论文+答辩PPT+任务书+源码等]基于SSM框架演唱会网上订票系统
2022-04-08 -
基于MQTT的信息推送系统设计与实现app客户端+服务端+论文
2022-05-11 -
SSM框架大学校友信息管理系统的设计与实现+第四稿+中英文翻译+ppt+开题+任务书+申请表+中期检查表+查重报告+安装视频+讲解视频(已降重)
2023-05-30 -
(免费资源)MySQL+OSS SDK+SpringBoot+Spring+SpringMVC+MyBatis+HTML+CSS+JS+Vue+Element UI 网盘 OSS 版
2023-09-04 -
基于SSM的新闻管理系统的设计与实现 毕业论文+项目源码及数据库文件、
2021-11-01 -
基于java的预约挂号系统+第二稿+中期检查表+ppt+周进展+开题+任务书+申请表+查重报告+安装视频+讲解视频(已降重)
2023-06-19 -
青少年夏令营管理系统的设计与开发(社团)+开题报告(springboot+freemarker)
2024-12-13 -
java考试系统是一款基于ssm垂直架构的考试系统源码
2021-07-08
猜你在找
99源码网 » 基于java的电影推系统(包含爬虫项目、SSM电影网站、后台管理系统以及spark推荐系统源码+毕业论文+PPT+说明文档)
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 99源码网