劉鑫 李世杰 廖逸文
摘 要 文章研究了常用的推薦系統(tǒng)模型及協(xié)同過濾推薦算法,綜合討論分析了協(xié)同過濾算法應(yīng)用于資源推薦時存在的問題,提出了一種改進的協(xié)同過濾推薦算法,根據(jù)輸入的用戶屬性特征等信息,使用相似性計算公式獲得相似用戶群,建立最佳的鄰居集合,解決傳統(tǒng)算法中的冷啟動問題,同時利用k-means聚類降低用戶尋找最近鄰所消耗的時間,解決了資源過載而帶來的速度瓶頸問題。
關(guān)鍵詞 協(xié)同過濾算法;資源推薦;k-means聚類
中圖分類號 TP3 文獻標識碼 A 文章編號 1674-6708(2018)219-0155-02
近年來,Internet技術(shù)的飛速發(fā)展和個性化推薦系統(tǒng)開發(fā)技術(shù)的不斷成熟,學生可以在網(wǎng)絡(luò)上查閱的資源數(shù)量越來越多,范圍越來越廣泛,對于如此龐大的網(wǎng)絡(luò)資源,學生想要快速的找到自己真正需要的資源卻越發(fā)困難。利用個性化推薦算法,可以擺脫網(wǎng)絡(luò)資源過載問題,高效且精準把所需要的資源推送給學生,然而,針對學生提供的個性化學習資源推薦系統(tǒng)卻不常見。大多網(wǎng)絡(luò)資源個性化推薦系統(tǒng)僅僅是將大量的學習資源按照一定的排序方式簡單的羅列在一起,學生用戶需要時還需要自己進行關(guān)鍵字檢索,效率低且不利于在線學習模式的發(fā)展。
文章針對新用戶新項目在推薦系統(tǒng)初始時存在冷啟動問題,評分數(shù)據(jù)稀疏也導(dǎo)致了推薦精度下降的現(xiàn)象,提出了利用k-means聚類算法首先根據(jù)用戶屬性對用戶分類,再結(jié)合協(xié)同過濾的個性化推薦思想,設(shè)計了改進的協(xié)同過濾算法,并應(yīng)用在我校的學習交流系統(tǒng)中的資源推薦模塊中,提高了個性化學習資源推薦的效率和精度。
1 個性化推薦系統(tǒng)及推薦算法
1.1 個性化推薦系統(tǒng)模型
常見的推薦系統(tǒng)由用戶、推薦資源信息庫和推薦模塊構(gòu)成。其中“資源信息庫”模塊包含了系統(tǒng)中全部的用戶基本信息(如用戶年齡、性別、專業(yè)、愛好等)、用戶對資源的瀏覽下載等情況的記錄信息和對資源進行評分的數(shù)據(jù)。信息庫模塊作為推薦模塊的基礎(chǔ)為其提供輸入數(shù)據(jù)。“個性化推薦模塊”根據(jù)信息庫提供的數(shù)據(jù)信息,設(shè)計適合資源推薦的個性化推薦算法,首先基于信息庫提供的數(shù)據(jù)對用戶及資源進行分類,然后在同類用戶群生成資源推薦列表,并將其進行排序,取前 N 個信息對象推薦給新用戶。
1.2 協(xié)同過濾推薦算法
協(xié)同過濾推薦算法的主要思想是想要為某一用戶推薦學習資源,基于用戶喜歡具有相同興趣的用戶喜歡的東西,因此首先找到相似用戶群,然后通過用戶在系統(tǒng)內(nèi)的瀏覽記錄或下載記錄等獲得用戶對項目的評分,建立用戶和資源評價模型,如果有新用戶進入系統(tǒng),則首先為新用戶找到相似用戶群,再根據(jù)相似群用戶的評分排序為新用戶推薦前N個學習資源。算法的推薦過程可以劃分為3個階段:用戶-學習資源建模、生成最近鄰、學習資源推薦。
1)用戶—學習資源建模。根據(jù)用戶對學習資源的評價建立用戶-學習資源的評分矩陣如表1所示,行表示用戶從User1到用戶Usern,共n個用戶,列表示資源從Source1到Sourcem 共m個資源,其中 Rui代表第u個用戶對第i類學習資源的興趣度評分。
3)學習資源推薦。根據(jù)生成的最近鄰居,能夠獲得鄰居用戶對學習資源i的評分信息,從而在不知道目標用戶對學習資源i評分的前提下,就可以通過最近鄰居預(yù)測出目標用戶對該資源的興趣程度,按興趣程度由高到低排序,將排在前面的N項學習資源推薦給目標用戶。
1.3 協(xié)同過濾推薦算法存在的問題
協(xié)同過濾推薦算法當有新用戶或新的學習資源出現(xiàn)時,因為沒有用戶的任何評分數(shù)據(jù),導(dǎo)致推薦系統(tǒng)無法獲取用戶—學習資源評分矩陣,出現(xiàn)冷啟動問題。
隨著用戶訪問的網(wǎng)絡(luò)資源的數(shù)量的增加、類型更加多樣化、用戶與資源的關(guān)系更加復(fù)雜,使得運用協(xié)同過濾算法尋找目標用戶的鄰居時效率越來越低,因此會嚴重影響推薦效率,產(chǎn)生速度瓶頸問題。
2 改進的協(xié)同過濾算法
對算法存在的冷啟動問題,文章設(shè)計系統(tǒng)登錄用戶時,根據(jù)注冊用戶輸入的基本屬性信息,包括用戶的年齡、專業(yè)及愛好取向等建立用戶基本信息表,使用K-means聚類算法進而形成用戶的鄰居集合,即使沒有用戶對資源的評分信息,系統(tǒng)也可以通過計算用戶之間相似性,為新用戶推薦需要的學習資源。為解決速度瓶頸問題,在計算相似度前,使用K-means聚類算法將用戶聚類,再計算目標用戶所屬類別,進而在查找最近鄰居時,只需要和該類別內(nèi)部的用戶進行相似度計算,大大降低了運算量,提高了算法效率。算法的執(zhí)行過程如下:
1)輸入用戶屬性特征描述,系統(tǒng)收集到的用戶的屬性信息包括性別、年齡、愛好、學歷、專業(yè),并為其設(shè)計二進制編碼。
2)預(yù)處理用戶屬性特征信息,得到用戶興趣愛好向量。
3)使用K-means聚類算法根據(jù)用戶提供的初始化信息進行聚類,首先隨機選取用戶的職業(yè)或受教育程度來設(shè)計K個聚類質(zhì)心,計算每個用戶與該職業(yè)或受教育程度聚類質(zhì)心的距離,將用戶劃分到最近的簇內(nèi),循環(huán)直到所有用戶都聚類完成。
4)為新用戶歸類到所屬的簇,將簇內(nèi)的用戶作為目標用戶查找鄰居的用戶群,使用相似度計算公式,找到最近鄰。
5)最后根據(jù)最近鄰生成學習資源推薦的序列,將前N項學習資源推薦給目標用戶。
3 改進的協(xié)同過濾算法在在線學習交流系統(tǒng)中的應(yīng)用
采用改進后的協(xié)同過濾推薦算法,可以通過對學習者年齡、專業(yè)、性別以及興趣愛好的分析,根據(jù)用戶特征向量,結(jié)合K-means聚類算法生成相似用戶群,很容易解決傳統(tǒng)算法遇到的冷啟動問題。同時,引入K-means聚類算法將查找最近鄰的范圍縮小到聚類生成的簇中,從而大大的減少了計算最近鄰所消耗的時間,提高推薦效率。改進后的算法在在線學習交流系統(tǒng)中執(zhí)行個性化資源推薦的流程見圖1,用戶登錄在線交流系統(tǒng)界面,在校師生可以根據(jù)自己的賬號登錄系統(tǒng),首次登錄的未注冊的師生可以進行系統(tǒng)內(nèi)資源瀏覽學習,如果想要其他操作需要完成注冊。系統(tǒng)內(nèi)部自動收集注冊師生的基本信息,包括年齡、專業(yè)、愛好等,為每個注冊的師生建立學習者信息庫,使用K-means 算法計算用戶間相似性,再通過改進的協(xié)同過濾算法預(yù)測新用戶可能喜好的學習資源集合,并對該集合內(nèi)部的學習資源按喜好程度排序,將前N個資源作為最終推薦集合推薦給用戶。
4 結(jié)論
文章在個性化推薦算法的基礎(chǔ)上,為了在我校設(shè)計開發(fā)的在線交流系統(tǒng)實現(xiàn)學習資源的個性化推薦功能,針對協(xié)同過濾算法存在的不足,利用K-means聚類算法首先對用戶和學習資源進行分類,然后在進行相似性計算,在數(shù)據(jù)量逐漸增大的形勢下,實現(xiàn)資源的個性化推薦。通過驗證,推薦效率與推薦質(zhì)量都有所提升。
參考文獻
[1]馮永,陳顯勇.基于評分信息量的協(xié)同過濾算法研究[J].計算機工程與應(yīng)用,2013,49(20):198-201.
[2]韋素云,業(yè)寧,等.基于項目聚類的全局最近鄰的協(xié)同 過濾算法[J].計算機科學,2012,39(12):149-152.
[3]王龍.教育資源推薦服務(wù)中若干關(guān)鍵技術(shù)的研究[D].長春:吉林大學,2013.
[4]孫歆,王永固,等.基于協(xié)同過濾技術(shù)的在線學習資源個性化推薦系統(tǒng)研究[J].中國遠程教育,2012,32(8):78-82.
[5]趙寧,王學軍.推薦系統(tǒng)中協(xié)同過濾技術(shù)的研究[J].河北省科學院學報,2013,30(2):62-65.