java+jsp+mysql實(shí)現(xiàn)學(xué)習(xí)資源推薦系統(tǒng)LearningResourceRS
一、開發(fā)工具
Myeclipse10,mysql5.5,navicat、tomcat7、jdk7等(其他版本也可以)。
Navicat下載后,需要先鏈接,填寫連接的用戶名和密碼,我的是root、root,需要先在navicat中創(chuàng)建一個(gè)數(shù)據(jù)庫learningresourcers,然后再發(fā)給你的文件包中有一個(gè)sql文件,可以在navicat中點(diǎn)擊查詢,然后將sql文件中國的內(nèi)容粘貼進(jìn)navicat,再點(diǎn)擊運(yùn)行就可以,或者在naviat中點(diǎn)擊備份,文件包中也有一個(gè)備份文件,點(diǎn)擊完成就可以。
二、開發(fā)框架
SSH開發(fā)框架,Spring、Struts、Hibernate,Spring管理Struts和Hibernate,Struts負(fù)責(zé)請求路徑和返回結(jié)果,Hibernate是負(fù)責(zé)數(shù)據(jù)庫的鏈接。
三:協(xié)同過濾推薦功能
1、根據(jù)調(diào)查問卷推薦:首先根據(jù)調(diào)查問卷每一種類型的成績計(jì)算出用戶之間的相似度(采用余弦算法),根據(jù)相似度找出最近N(在CFUtil類中設(shè)置)個(gè)鄰居,然后推薦最近鄰居中鄰居做題最多的題目和觀看最多的視頻,并將推薦的題目和視頻賦默認(rèn)值(在CFUtil文件中設(shè)置默認(rèn)值1-5)。
2、根據(jù)興趣標(biāo)簽推薦:首先根據(jù)學(xué)生選擇的興趣標(biāo)簽,計(jì)算用戶之間的相似度(采用谷本系數(shù)算法),然后求出目標(biāo)用戶的N個(gè)最近鄰居,然后推薦最近鄰居中鄰居做題最多的題目和觀看最多的視頻,并將推薦的題目和視頻賦默認(rèn)值(在CFUtil文件中設(shè)置默認(rèn)值1-5)。
3、根據(jù)題目的成績推薦:首先根據(jù)用戶對題目的成績計(jì)算用戶之間的相似度(余弦算法),根據(jù)相似度計(jì)算N個(gè)最近鄰居,然后再根據(jù)基于用戶的推薦算法推薦,推薦出來的題目有預(yù)測成績,成績是在管理員給所有題目設(shè)置的分?jǐn)?shù)這個(gè)范圍內(nèi),我們需要給預(yù)測的成績縮小值,縮小至1-5范圍內(nèi),這個(gè)有個(gè)系數(shù),是找出最大的成績?nèi)缓蟪?得出一個(gè)系數(shù),系數(shù)乘以預(yù)測評分,會(huì)將預(yù)測評分縮小值1-5分內(nèi),不會(huì)影響推薦結(jié)果。
4、根據(jù)視頻評分推薦:首先根據(jù)用戶對視頻的評分計(jì)算用戶之間的相似度(余弦算法),然后計(jì)算N個(gè)最近鄰居,然后再根據(jù)基于用戶的推薦算法推薦,推薦出來的視頻由預(yù)測評分。
5、混合推薦:混合推薦就是將以上4中算法加權(quán)推薦,每一種算法都有權(quán)重(在CFUtil類中設(shè)置),權(quán)重乘以預(yù)測分值然后相同的題目或者視頻相加,再除以權(quán)重之和就是預(yù)測的題目或者視頻的最終值,根據(jù)值的高低排序得到推薦的視頻或者題目。
協(xié)同過濾算法采用的是mahout算法jar包。