基于Mahout的电影推荐网站的设计与实现(JAVA语言实现)

1.概要
本系统是一个以Mysql为数据库,利用Java servlet开发的基于B/S结构的电影推荐网站。服务器是Apache Tomcat,推荐库是Apache Mahout,在Eclipse环境下进行开发。采用的数据集是明尼苏达大学双子城计算机科学与工程系的研究实验室GroupLens研究实验室收集的电影数据。
2.需求分析
本系统的用户分为普通用户和管理员,普通用户的功能主要包含三个部分,分别是:登录查看所有电影,查看自己评分的电影并进行管理,点击查看由系统推荐的电影。管理员的功能包含两部分:登录管理用户信息和管理电影信息。用例图分别如下:
管理员用例
用户用例
3.数据库设计
数据来源:
数据来源:http://www.grouplens.org/node/12
数据库设计:
数据表分为三张主要表,一是存储用户评分数据集的电影评分表,二是储存电影信息的电影信息表,三是存储用户信息的用户表。
主要数据表
逻辑设计:
本系统的数据集的关系为:用户的信息和电影的信息通过电影评分表来进行联系,用户根据用户Id来和正在查看的电影的Id来在电影评分表中确定其对当前电影的评分。
数据集中的关系模型:
电影(电影Id,电影名称,发行日期,类型)
电影评分(用户Id,电影Id,评分时间)
用户(用户Id,密码,用户类型)
数据集中数据的实体关系图如图:
数据实体关系图
4.功能模块设计与实现
1.首页
网站首页在用户正确登录后可见,其功能是显示所有的电影。由后台代码获取到数据库中Movies表中的信息后,将其显示出来,电影海报在系统文件夹中以电影名称命名,首页需要将电影海报读取显示出来。由于有的海报数据的缺失,有的电影海报不能显示。
2.我的电影
我的电影页面包含在电影评分表中当前用户评过分的所有电影信息以及评分,用户在此页面可以对自己评分过的电影修改自己以前的评分,也可以删除此电影。
3.推荐模块的设计
利用mahout的推荐算法,分别实现了基于用户的推荐,基于内容的推荐和基于SlopeOne的推荐,部分代码如图:
推荐代码示例
4.管理模块
管理员登录后默认跳转到此页面,在此页面管理员可以对电影信息和用户信息进行管理。
系统整体的架构图如图:
整体功能图
5.项目截图
登录:
在这里插入图片描述
首页:
在这里插入图片描述
我的电影页:
在这里插入图片描述
推荐页:
在这里插入图片描述
在这里插入图片描述
管理页:
在这里插入图片描述
6.项目源码
源码私聊,有偿。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值