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