开发语言:
Java语言(SpringBoot和SSM框架)两种框架分别实现协同过滤算法新闻推荐系统,使用基于用户、物品的协同过滤推荐算法通过Python爬虫爬取环球日报新闻实现实时计算推荐。
项目在线演示地址:
(服务器性能较差,访问有点慢,请稍微等待)
前台演示地址(推荐用谷歌浏览器 ):http://1.95.71.218:8081/NewsRecommendOnline/
后台演示地址(推荐用谷歌浏览器):http://1.95.71.218:8081/NewsRecommendOnline/admin/login
第二个新闻推荐前台演示地址:http://1.95.71.218:8090/WebNewsRecommendSystem/
第二个新闻推荐后台演示:http://1.95.71.218:8090/WebNewsRecommendSystem/admin/login
源码获取:点我头像进入我的主页在资源栏目下查找或者下方链接、
https://download.csdn.net/download/weixin_46115961/88599510
项目系统创新点:
使用了基于用户和基于物品,根据评分和收藏数据,进行混合推荐,及将两种协同过滤
推荐算法的结果全部输出,同时采用基于用户喜好标签统计的热点推荐解决冷启动和数据稀疏性问题。
冷启动:一个新用户第一次登录,没有评分和收藏数据,那么没有办法进行个性化推荐;
数据稀疏性:会伴随项目的整个运行过程,比如:项目刚上线,新闻数据很多,但是用户及用户的评分、收藏数据较少,用户之间没有交集,那么有些用户就没有推荐结果
开发工具:IDEA,jdk1.8,Mysql8,navicat数据库管理工具,Tomcat,Maven。
后端使用:SpringBoot和SSM(Spring+SpringMVC+Mybatis)两种开发框架分别实现。
前端使用:javascript脚本,jquery脚本,用户端使用bootstrap前端框 架,管理员端使用layui前端框架,layer弹窗组件等。
数据收集:Python爬虫爬取环球日报真实新闻实现实时更新。
功能实现
系统前台:用户具有注册、登录、注销、浏览新闻、搜索新闻、信息修改、密码修改、喜好标签、新闻评分、新闻收藏、新闻评论、排行榜、热点推荐、个性化推荐新闻等功能;
后台管理系统:管理员可以查看数据统计、用户管理、新闻管理、新闻类型管理、评分管理、收藏管理、评论管理、浏览记录管理、用户喜好标签等。
协同过滤推荐功能:
- 热点榜单
根据数据库的新闻数据查询浏览数量最多的新闻进行推荐,同时查询出来的新是不包括当前登录用户已经浏览过的新闻(过滤当前用户已经浏览过的新闻); - 个性化推荐
2.1. 游客:根据新闻总评分和总收藏数量降序查询输出向游客推荐。
2.2. 登录用户:
基于用户的协同过滤推荐算法:根据新闻的评分数据采用基于用户的协同过滤推荐算法实时计算向用户进行新闻推荐;如果没有推荐结果,采用根据登录用户选择的喜好标签下的新闻的总评分降序推荐,同时推荐的新闻是过滤掉当前登录用户已经评分过的新闻;
基于项目的协同过滤推荐算法:根据新闻的收藏数量采用基于项目的协同过滤推荐算法从高到低降序向用户进行推荐;如果没有推荐结果,采用根据登录用户喜好标签下的新闻的收藏数量降序推荐,同时推荐的是当前登录用户没有收藏过的新闻。 - 相关推荐
推荐当前登录用户正在浏览的新闻相同类型下评分较高的新闻,同时推荐的是当前用户没有评分的新闻。
新闻数据来源:爬取环球日报新闻数据
系统项目
-
SpringBoot项目结构(SSM框架的也有)
-
项目结构(SSM框架开发结构)
-
数据库表
6. 前台用户系统
-
后台管理系统
-
代码运行
8.1 基于用户的协同过滤推荐算法
8.2 基于项目(物品)的协同过滤推荐
9. 爬虫实时更新新闻数据
源码获取:点我头像进入我的主页在资源栏目下查找或者下方链接、
https://download.csdn.net/download/weixin_46115961/88599510