java+jsp+mysql实现学习资源推荐系统LearningResourceRS
一、开发工具
Myeclipse10,mysql5.5,navicat、tomcat7、jdk7等(其他版本也可以)。
Navicat下载后,需要先链接,填写连接的用户名和密码,我的是root、root,需要先在navicat中创建一个数据库learningresourcers,然后再发给你的文件包中有一个sql文件,可以在navicat中点击查询,然后将sql文件中国的内容粘贴进navicat,再点击运行就可以,或者在naviat中点击备份,文件包中也有一个备份文件,点击完成就可以。
二、开发框架
SSH开发框架,Spring、Struts、Hibernate,Spring管理Struts和Hibernate,Struts负责请求路径和返回结果,Hibernate是负责数据库的链接。
三:协同过滤推荐功能
1、根据调查问卷推荐:首先根据调查问卷每一种类型的成绩计算出用户之间的相似度(采用余弦算法),根据相似度找出最近N(在CFUtil类中设置)个邻居,然后推荐最近邻居中邻居做题最多的题目和观看最多的视频,并将推荐的题目和视频赋默认值(在CFUtil文件中设置默认值1-5)。
2、根据兴趣标签推荐:首先根据学生选择的兴趣标签,计算用户之间的相似度(采用谷本系数算法),然后求出目标用户的N个最近邻居,然后推荐最近邻居中邻居做题最多的题目和观看最多的视频,并将推荐的题目和视频赋默认值(在CFUtil文件中设置默认值1-5)。
3、根据题目的成绩推荐:首先根据用户对题目的成绩计算用户之间的相似度(余弦算法),根据相似度计算N个最近邻居,然后再根据基于用户的推荐算法推荐,推荐出来的题目有预测成绩,成绩是在管理员给所有题目设置的分数这个范围内,我们需要给预测的成绩缩小值,缩小至1-5范围内,这个有个系数,是找出最大的成绩然后除以5得出一个系数,系数乘以预测评分,会将预测评分缩小值1-5分内,不会影响推荐结果。
4、根据视频评分推荐:首先根据用户对视频的评分计算用户之间的相似度(余弦算法),然后计算N个最近邻居,然后再根据基于用户的推荐算法推荐,推荐出来的视频由预测评分。
5、混合推荐:混合推荐就是将以上4中算法加权推荐,每一种算法都有权重(在CFUtil类中设置),权重乘以预测分值然后相同的题目或者视频相加,再除以权重之和就是预测的题目或者视频的最终值,根据值的高低排序得到推荐的视频或者题目。
协同过滤算法采用的是mahout算法jar包。