王扶東,俞立群
(東華大學(xué) 旭日工商管理學(xué)院,上海 200051)
伴隨著用戶數(shù)量增多以及社交網(wǎng)絡(luò)的飛速發(fā)展,不同類型的在線學(xué)習(xí)社區(qū)網(wǎng)站(CSDN、網(wǎng)易公開課、中國大學(xué)MOOC等)不斷涌現(xiàn),其中一種類型為基于興趣的知識經(jīng)驗(yàn)分享的垂直學(xué)習(xí)社區(qū).這些垂直學(xué)習(xí)社區(qū)網(wǎng)站以興趣為導(dǎo)向,專注于某些特定的領(lǐng)域,能將關(guān)注該領(lǐng)域的具有相同興趣的學(xué)習(xí)者聚集在一起,為其提供全面的、深度的學(xué)習(xí)資源和相關(guān)服務(wù),因此這類學(xué)習(xí)網(wǎng)站越來越受到學(xué)習(xí)者歡迎.
垂直學(xué)習(xí)社區(qū)網(wǎng)站包含了海量的博客、帖子、課程視頻等學(xué)習(xí)資源,導(dǎo)致用戶無法快速找到所需學(xué)習(xí)資源,即出現(xiàn)"信息過載"現(xiàn)象.個性化推薦是解決這個難題的方法之一.在垂直學(xué)習(xí)社區(qū)網(wǎng)站中針對學(xué)習(xí)資源的評分十分稀少,傳統(tǒng)的推薦算法無法適用,但存在著大量用戶發(fā)布的博客、帖子等文本信息以及用戶之間的交互信息,這些信息為推薦提供了基礎(chǔ),每個用戶又有不同的學(xué)習(xí)風(fēng)格,對于學(xué)習(xí)資源的需求有所區(qū)別,因此可以綜合這些文本信息和行為信息從學(xué)習(xí)興趣與風(fēng)格的角度研究社會化推薦方法.
學(xué)習(xí)資源是進(jìn)行學(xué)習(xí)的核心要素,也是本推薦系統(tǒng)所需向用戶推薦的項目.學(xué)習(xí)資源個性化推薦的概念目前尚未得到明確,Vesin[1]等提出學(xué)習(xí)資源個性化推薦系統(tǒng)是能夠向用戶推薦其感興趣的學(xué)習(xí)資源并能自適應(yīng)用戶的學(xué)習(xí)風(fēng)格、知識水平.Chen[2]等人也認(rèn)為既要從用戶興趣方面考慮,也要從用戶的學(xué)習(xí)風(fēng)格、認(rèn)知水平、學(xué)習(xí)偏好模式等方面考慮,向用戶進(jìn)行學(xué)習(xí)資源個性化的推薦.
對于個性化學(xué)習(xí)資源推薦算法,國內(nèi)外學(xué)者已經(jīng)做出了不少研究,主要集中在基于協(xié)同過濾的推薦算法、基于內(nèi)容的推薦算法以及最近的社會化推薦算法.在協(xié)同過濾推薦算法方面,Dwivedi[3]等提出一種基于評分?jǐn)?shù)據(jù)且融合用戶的學(xué)習(xí)風(fēng)格、知識水平和信任的加權(quán)混合協(xié)同過濾推薦算法.李浩君[4]等將協(xié)同過濾算法與二進(jìn)制粒子群算法結(jié)合,提出了基于多維特征差異的個性化學(xué)習(xí)資源推薦方法.付芬等[5]針對數(shù)據(jù)稀疏性問題,提出了基于隱式評分和相似度傳遞的學(xué)習(xí)資源推薦算法;在基于內(nèi)容的推薦算法方面,Pappas[6]等利用TED上的數(shù)據(jù)集,證明了在不存在冷啟動問題的情況下,基于內(nèi)容的推薦算法推薦精確度要優(yōu)于基于協(xié)同過濾推薦算法.梁婷婷[7]等提出了基于內(nèi)容過濾PageRank 語義相似替換的Top-k 學(xué)習(xí)資源推薦算法.尹麗玲[8]等針對學(xué)術(shù)資源的推薦,提出了基于內(nèi)容特征與非內(nèi)容特征的推薦算法,有效提高推薦效果;在社會化推薦算法方面,Halawa[9]等基于MBTI理論同時結(jié)合學(xué)生在學(xué)習(xí)管理系統(tǒng)中的行為以及學(xué)生的社交網(wǎng)絡(luò)Facebook上的數(shù)據(jù)來識別學(xué)生學(xué)習(xí)風(fēng)格和偏好完成課程推薦.丁永剛[10]等提出將用戶外部社交網(wǎng)絡(luò)信息引入計算與好友之間的信任度,構(gòu)建新的社會化推薦算法,緩解新用戶冷啟動問題.謝修娟[11]等根據(jù)關(guān)注和評論的數(shù)據(jù)提出一種變權(quán)重相似度計算模型,數(shù)據(jù)稀疏度明顯改善.其他方面,劉忠寶[12]等融合興趣圖譜和本體理論對學(xué)習(xí)者建模建立云環(huán)境下推薦系統(tǒng).
目前學(xué)習(xí)資源的社會化推薦算法中應(yīng)用的是用戶外部社交網(wǎng)絡(luò)信息,這些社交網(wǎng)絡(luò)信息不易獲取且不能真實(shí)地反映用戶在該特定領(lǐng)域的社交關(guān)系.此外,目前大多數(shù)的研究都集中在將信任網(wǎng)絡(luò)應(yīng)用到推薦系統(tǒng)中,對于不信任網(wǎng)絡(luò)的構(gòu)建、傳播以及聚合的研究都比較少,尤其是不信任網(wǎng)絡(luò)在推薦系統(tǒng)上的應(yīng)用.
垂直學(xué)習(xí)社區(qū)具有評分信息稀少但文本和行為信息極為豐富的特點(diǎn).本文基于用戶產(chǎn)生的文本信息和行為信息,提出新的用戶學(xué)習(xí)興趣相似度衡量模型;根據(jù)用戶在垂直學(xué)習(xí)社區(qū)中的交互行為信息構(gòu)建用戶全面信任關(guān)系,包括信任與不信任關(guān)系,計算全面信任度;通過用戶多維度學(xué)習(xí)行為模式分析,自動識別用戶學(xué)習(xí)風(fēng)格;最后提出融合興趣相似度、全面信任度及學(xué)習(xí)風(fēng)格的社會化推薦算法.該方法緩解了評分?jǐn)?shù)據(jù)稀疏問題,并進(jìn)一步考慮到不信任關(guān)系對于推薦結(jié)果的影響,克服了傳統(tǒng)方法的局限性,提高了推薦精度.
在垂直學(xué)習(xí)社區(qū)中,多數(shù)學(xué)習(xí)資源一般都為非結(jié)構(gòu)化的文本數(shù)據(jù),并且?guī)缀鯖]有用戶對于資源的評分,但與用戶相關(guān)的文本信息和行為信息十分豐富,這些非結(jié)構(gòu)化的文本和行為信息都反映了用戶的興趣.因此作者主題模型(Author Topic Model,AT)適用于對信息量大、主題廣泛、規(guī)范性差的垂直社區(qū)中的文本分析及作者興趣的發(fā)現(xiàn).
作者主題模型(AT)的基本假設(shè)是文檔是由詞組成且不考慮詞出現(xiàn)的順序,即為‘詞袋’模型(Bag of Words).對于一篇文檔中的每個單詞W,首先從作者集合中ad隨機(jī)選出一個作者x,然后從作者x對應(yīng)的多項分布θ中采樣一個主題z,再從主題z對應(yīng)的多項分布φ中采樣一個單詞W,采樣過程重復(fù)Nd次,生成一篇文檔.D篇文檔重復(fù)以上過程D次,最終生成整個數(shù)據(jù)集.
由樣本數(shù)據(jù)可估計模型的參數(shù)Θ,Φ(Θ={θ},Φ={φ}),即作者-主題分布,主題-詞分布.公式如下:
作者k分配給主題j的概率:
(1)
主題j分配給詞m的概率:
(2)
在以文本數(shù)據(jù)為主的垂直學(xué)習(xí)社區(qū)中,用戶的興趣可被認(rèn)為是對不同的文本主題的偏愛程度.在利用AT模型對用戶主題進(jìn)行建模時,作者被分配給主題的概率分布可被認(rèn)為是用戶不同興趣分布.AT模型可以計算得到作者-主題的概率分布,也即用戶的興趣分布.在此基礎(chǔ)上利用海林格距離計算兩兩用戶之間的距離,也就可以得到用戶的興趣相似度.海林格距離可以用來度量兩個概率分布之間的距離,將兩個用戶之間的海林格距離定義為:
(3)
式中,p和q表示兩個用戶的主題分布概率,K表示主題數(shù)量.在此基礎(chǔ)上,將兩個用戶之間的興趣相似度定義為:
(4)
上式用來衡量兩個用戶之間的興趣相似度,兩用戶之間的海林格距離越小,則他們的興趣相似度越高.
信任關(guān)系廣泛應(yīng)用于社交網(wǎng)絡(luò)關(guān)系中,可緩解數(shù)據(jù)稀疏性提高推薦精度.垂直學(xué)習(xí)社區(qū)中用戶交互行為極其豐富,可以利用用戶之間的關(guān)注、轉(zhuǎn)發(fā)、瀏覽、評論及點(diǎn)贊等交互行為來建立信任關(guān)系,將信任關(guān)系引入到推薦算法中.傳統(tǒng)的信任關(guān)系只考慮了信任因素,但在社交網(wǎng)絡(luò)中不信任因素也普遍存在,如拉黑、點(diǎn)踩等行為都表達(dá)了不信任.只考慮信任關(guān)系不能全面地反應(yīng)現(xiàn)實(shí)的社會關(guān)系,還需要引入不信任因素,融合信任與不信任因素構(gòu)建全面信任關(guān)系,計算全面信任度,進(jìn)一步提高推薦精確度.
信任關(guān)系的強(qiáng)弱可以由信任度來表示,信任度為0到1之間的一個值,其中0表示完全不信任,1表示完全信任,并且信任度可分為全局信任度和局部信任度.全局信任預(yù)測了全局“聲譽(yù)”值,是“多對一”的關(guān)系,相當(dāng)于整個信任網(wǎng)絡(luò)的所有用戶如何評價某個用戶,在垂直學(xué)習(xí)社區(qū)中,用戶的全局信任度的計算公式如下:
(5)
其中,Tglobal為目標(biāo)用戶u全局信任度,G表示整個用戶信任關(guān)系圖,max(lnd(G))表示圖G中最大用戶信任入度,min(lnd(G))表示圖G中最小用戶信任入度,lnd(u)表示目標(biāo)用戶u的信任入度.其中信任入度的含義為有多少其他用戶對目標(biāo)用戶表現(xiàn)出了信任行為,在垂直學(xué)習(xí)社區(qū)中這些信任行為包括關(guān)注、評論、瀏覽、私信、收藏、點(diǎn)贊等行為.
為了減少計算量以及保持核心信任用戶,當(dāng)兩用戶之間的最短路徑d>2時,即認(rèn)為兩用戶之間的信任度為0.對于具有直接信任關(guān)系的兩個用戶之間局部信任度根據(jù)下述公式計算:
(6)
式中,T1_local(ui,uj)為用戶ui與用戶uj之間的局部信任度,S(ui,uj)為用戶ui與用戶uj之間的交互次數(shù),Si為用戶ui與其有交互的用戶之間的總的交互次數(shù).
對于只具有間接信任關(guān)系的兩個用戶,考慮到信任的傳播與聚合的特性,其信任度的計算公式如下所示:
(7)
式中,Tlocal(ui,uj)表示用戶ui與用戶uj之間的局部信任度,n表示從用戶ui到用戶uj之間有n條最短路徑,um表示用戶ui與用戶uj之間通過用戶um間接相連.
對于既具有直接信任關(guān)系又具有間接信任關(guān)系的兩個用戶,其信任度計算公式如下:
(8)
式中δ為直接信任關(guān)系與間接信任關(guān)系的調(diào)節(jié)系數(shù),δ的取值范圍為0到1,其他符號含義同上.
綜合來看, 兩用戶之間的局部信任度計算方式表示如下:
(9)
綜合考慮全局信任度與局部信任度,用戶i對用戶j的信任度計算公式如下:
Tij=(1-ε)Tglobal+εTlocal
(10)
式中,ε為0到1之間的一個實(shí)數(shù),其含義為局部信任度所占信任度的比例,其取值由垂直學(xué)習(xí)社區(qū)的整體環(huán)境以及歷史數(shù)據(jù)調(diào)試得到.
對于不信任度的計算,也可從全局與局部兩個角度出發(fā).全局不信任相當(dāng)于整個不信任網(wǎng)絡(luò)的所有用戶如何評價某個用戶,如果全局不信任度高就表明這個人的觀點(diǎn)大多人都是不同意的.而局部不信任考慮到用戶的個人主觀觀點(diǎn),與其他用戶無關(guān),并為每個用戶預(yù)測其他用戶的不同不信任值.
全局不信任度高表明了一個人的觀點(diǎn)在該網(wǎng)絡(luò)中不被大多數(shù)人接受,全局不信任度可根據(jù)以下公式進(jìn)行計算:
(11)
式中,DTglobal為用戶全局不信任度,G1表示用戶不信任關(guān)系圖,max(ln(d(G1))表示圖G1中最大用戶不信任入度,min(ln(d(G1))表示圖G1中最小用戶不信任入度,lng(u)表示當(dāng)前用戶u的不信任入度.其中不信任入度的含義為有多少其他用戶對目標(biāo)用戶表現(xiàn)出了不信任行為,在垂直學(xué)習(xí)社區(qū)中不信任行為主要為點(diǎn)踩行為.
局部不信任度則是單純考慮兩兩用戶之間的不信任值.相較于局部信任度的計算要考慮到直接信任與間接信任,也就是信任具有傳播性,不信任的傳播性則是不明確的.一般來說“敵人的敵人是朋友”,所以不信任性的傳播機(jī)制不同于信任機(jī)制,而目前對于不信任的傳播機(jī)制沒有足夠的理論支撐.本文只考慮直接不信任即只考慮有聯(lián)系的用戶之間的不信任度,局部不信任度的計算公式如下:
(12)
式中,DTlocal表示局部不信任度,x表示兩用戶之間的消極交互次數(shù).
綜合考慮全局不信任度與局部不信任度,用戶i對用戶j的不信任度計算公式如下:
DTij=(1-ρ)DTglobal+ρDTlocal
(13)
式中,ρ的取值范圍為0到1.
信任程度的表示由兩部分組成:信任度和不信任度,將不信任度作為一種負(fù)向的權(quán)重值運(yùn)用于信任度中.所以最終用戶i對用戶j的全面信任度計算公式如下:
(14)
如果用戶i對用戶j既存在信任也存在不信任,那么用戶i對用戶j的信任程度就等于信任度減去不信任度,而如果不信任度大于信任度,則表示用戶i對用戶j的信任程度為零.
學(xué)習(xí)風(fēng)格是反映學(xué)習(xí)者個體差異的重要概念之一,也是學(xué)習(xí)資源個性化推薦中不可忽視的因素之一.在學(xué)習(xí)過程中,面對同樣的資源展現(xiàn)形式,不同學(xué)習(xí)風(fēng)格的用戶,對知識的轉(zhuǎn)化吸收程度不同.而匹配用戶學(xué)習(xí)風(fēng)格的學(xué)習(xí)資源推送方式,對用戶學(xué)習(xí)效率的提高有很大的幫助.
目前Felder-Silverman學(xué)習(xí)風(fēng)格模型被廣泛應(yīng)用于測量網(wǎng)絡(luò)學(xué)習(xí)者個性特征,因此本文將以Felder-Silverman學(xué)習(xí)風(fēng)格模型為基礎(chǔ)進(jìn)行用戶學(xué)習(xí)風(fēng)格的識別.針對垂直學(xué)習(xí)社區(qū)中的知識具有碎片化、非線性的特點(diǎn),多數(shù)用戶都是跳躍性非系統(tǒng)化地學(xué)習(xí).同時針對垂直學(xué)習(xí)社區(qū)中知識內(nèi)容的具體與抽象的概念沒有明確的定義,經(jīng)典的Felder-Silverman學(xué)習(xí)風(fēng)格的感悟/直覺型和序列/綜合型不再合適.本文結(jié)合垂直學(xué)習(xí)社區(qū)中社交行為豐富的特點(diǎn),參考格里沙和里奇曼提出的社交互動類型,將參與型與回避型的學(xué)習(xí)風(fēng)格融入到Felder-Silverman風(fēng)格模型中.
學(xué)習(xí)風(fēng)格可以采用顯性與隱性的方法進(jìn)行識別.顯性方法是指采用所羅門學(xué)習(xí)風(fēng)格量表(ILS)識別學(xué)習(xí)風(fēng)格.但所羅門學(xué)習(xí)風(fēng)格量表問題過多,給用戶帶來一定負(fù)擔(dān),導(dǎo)致用戶中途放棄或隨意填寫,最終推測的結(jié)果不夠準(zhǔn)確.對于老用戶及使用了一段時間后的新用戶,可以通過他們平臺上的一系列學(xué)習(xí)行為來判斷并修正其學(xué)習(xí)風(fēng)格,即所謂的隱性方法.本文基于Felder-Silverman學(xué)習(xí)風(fēng)格結(jié)合垂直學(xué)習(xí)社區(qū)特征提出改進(jìn)的Felder-Silverman學(xué)習(xí)風(fēng)格模型,總結(jié)了在垂直學(xué)習(xí)社區(qū)中不同學(xué)習(xí)風(fēng)格的用戶的行為描述和閾值,具體見表1.其中閾值數(shù)值參照Graf[13]以及姜強(qiáng)[14]等已發(fā)表的文獻(xiàn)數(shù)據(jù)再結(jié)合垂直學(xué)習(xí)社區(qū)自身特征確定.
表1 不同學(xué)習(xí)風(fēng)格的用戶的行為模式描述和閾值
Table 1 Behavior pattern descriptions and thresholds for users with different learning styles
學(xué)習(xí)風(fēng)格行為模式模式描述閾值LH活躍/沉思型發(fā)帖/博客量平均一周發(fā)帖量<2>5讀帖/博客量平均一周讀帖量<10>30視覺/言語型文本瀏覽次數(shù)文本瀏覽次數(shù)與內(nèi)容對象瀏覽次數(shù)之比<50%>75%視頻瀏覽次數(shù)視頻瀏覽次數(shù)與內(nèi)容對象瀏覽次數(shù)之比<50%>75%回避/參與型參與交互次數(shù)平均一周交互次數(shù)<20>40
(15)
根據(jù)以上規(guī)則可以計算出用戶j的學(xué)習(xí)風(fēng)格S的值Vj(S),計算公式如下:
(16)
其中n表示行為個數(shù).若Vj(S)∈[-1,-1/3],則認(rèn)為用戶學(xué)習(xí)風(fēng)格為每組學(xué)習(xí)風(fēng)格維度的右側(cè),即“活躍/視覺型”;若Vj(S)∈[-1/3,1/3],則認(rèn)為用戶學(xué)習(xí)風(fēng)格沒有明顯的偏好,屬于“Balance型”;若Vj(S)∈[1/3,1],則認(rèn)為用戶學(xué)習(xí)風(fēng)格為每組學(xué)習(xí)風(fēng)格維度的左側(cè),即“沉思/言語型”.這里的閾值-1/3和1/3是通過文獻(xiàn)研究和不斷證實(shí)后確定的值.
基于協(xié)同過濾推薦算法的思想,本文提出融合興趣相似度、全面信任度及學(xué)習(xí)風(fēng)格的社會化推薦算法.具體步驟如下:
Step 1.相似用戶集獲取
計算用戶相似度:在垂直學(xué)習(xí)社區(qū)網(wǎng)站中,根據(jù)下述公式,綜合興趣相似度、全面信任度及學(xué)習(xí)風(fēng)格計算與目標(biāo)用戶的相似性.
Rank(i,j)=μ·sim(i,j)+λ·trust(i,j)+γ·style(i,j)
(17)
選取相似用戶:根據(jù)計算得到的用戶綜合相似度,按照綜合相似度大小對相似用戶集進(jìn)行排序,取前N個用戶形成待推薦相似用戶集{TopN(Rank(i,j))}
Step 2.學(xué)習(xí)資源選取
根據(jù)待推薦相似用戶集得到這N個用戶感興趣的學(xué)習(xí)資源為ContentN,可認(rèn)為這N個用戶感興趣的學(xué)習(xí)資源也是目標(biāo)用戶最有可能會感興趣的的學(xué)習(xí)資源,即推薦內(nèi)容的首選,去除目標(biāo)用戶已經(jīng)參與過的內(nèi)容Contenti,可形成向目標(biāo)用戶待推薦的學(xué)習(xí)資源集Contenti′,待推薦的學(xué)習(xí)資源集為:
Contenti′={ContentN-ContentN∩Contenti}
(18)
Step 3.學(xué)習(xí)資源推薦
在得到初步待推薦學(xué)習(xí)資源集Contenti′后,根據(jù)初步待推薦學(xué)習(xí)資源集中各學(xué)習(xí)資源的轉(zhuǎn)發(fā)、評論、點(diǎn)贊以及瀏覽的數(shù)量對其進(jìn)行排序,選擇質(zhì)量及受歡迎程度高的內(nèi)容推薦給目標(biāo)用戶.
本文以“CSDN”IT社區(qū)為實(shí)例分析對象,共獲取了7147位用戶發(fā)表的10000篇博客內(nèi)容,364565條用戶行為數(shù)據(jù),其中包括128560條單向關(guān)注數(shù)據(jù)、99829條瀏覽數(shù)據(jù)、99595條評論數(shù)據(jù)、12730條收藏數(shù)據(jù)、12330條私信數(shù)據(jù)以及8737條點(diǎn)贊關(guān)系,2784條點(diǎn)踩關(guān)系.
數(shù)據(jù)收集后進(jìn)行數(shù)據(jù)預(yù)處理,首先為所有博客編號,形成初步文檔集,在初步文檔集的基礎(chǔ)上分詞、去停用詞、去詞頻極低極高詞,得到最終AT模型可輸入文檔集.然后對所有用戶進(jìn)行編號,所有用戶共同構(gòu)成作者集,建立作者-文檔關(guān)系.
區(qū)別于經(jīng)典的AT模型在垂直學(xué)習(xí)社區(qū)中,除了文檔的原作者作為該文檔的作者外,還需將文檔的轉(zhuǎn)發(fā)者、點(diǎn)贊者、收藏者、瀏覽者作為該文檔的共同作者,顯然,具有這四種行為的用戶都對該文檔感興趣,可認(rèn)為是該內(nèi)容的共同作者,同時將具有相似興趣的用戶作為共同作者符合對用戶偏好建模的實(shí)際.
將上述處理后的文檔集和作者-文檔關(guān)系輸入到AT模型中進(jìn)行訓(xùn)練,超參數(shù)α取50/T,T為指定的主題數(shù),取T=40,β取經(jīng)驗(yàn)值0.01,取每個主題中頻繁出現(xiàn)的前10個關(guān)鍵詞.AT模型訓(xùn)練完成后,可以得到用戶-主題的概率分布,即用戶的興趣偏好.同時,可以利用海林格距離計算用戶之間的興趣相似度.
利用關(guān)注、瀏覽、評論、收藏、私信以及點(diǎn)贊等行為數(shù)據(jù),將其輸入gephi軟件來構(gòu)建信任關(guān)系,得到35667個節(jié)點(diǎn)、206917條邊的信任關(guān)系有向圖,并得到各節(jié)點(diǎn)出度與入度.根據(jù)點(diǎn)踩行為數(shù)據(jù),將其輸入到gephi,得到不信任關(guān)系圖,得到1912個節(jié)點(diǎn)、2784條邊的不信任關(guān)系有向圖,并得到各節(jié)點(diǎn)的出度與入度.
根據(jù)得到的節(jié)點(diǎn)出入度及全局信任度計算公式計算得到用戶的全局信任度,再根據(jù)局部信任度計算公式得到用戶局部信任度,取β=0.5即在最終的信任度計算中全局信任度和局部信任度同樣重要.
接下來根據(jù)不信任關(guān)系圖得到的節(jié)點(diǎn)出入度及全局不信任度計算公式計算得到用戶的全局不信任度,再由局部不信任度計算公式得到用戶局部不信任度,取ρ=0.5即在最終的不信任度計算中全局不信任度和局部不信任度同樣重要.最后綜合信任度與不信任度得到用戶之間的信任程度來衡量兩用戶之間的信任關(guān)系.
根據(jù)用戶在學(xué)習(xí)社區(qū)網(wǎng)站上的行為可以判斷并修正其學(xué)習(xí)風(fēng)格.部分用戶的行為如表2所示,再根據(jù)學(xué)習(xí)風(fēng)格識別規(guī)則識別出用戶的具體學(xué)習(xí)風(fēng)格.
以用戶′U0000003′來看,根據(jù)風(fēng)格識別公式可以得到:
VU0000003(S)=14<20
即用戶′U0000003′的學(xué)習(xí)風(fēng)格為“活躍型/視覺型/回避型”.其他用戶的學(xué)習(xí)風(fēng)格可類似進(jìn)行識別.
表2 部分用戶學(xué)習(xí)行為數(shù)據(jù)
Table 2 Some user learning behavior data
用戶發(fā)帖量讀帖量文本閱讀比視頻閱讀比交互次數(shù)U00000031220.00%80.00%14U00000055112.50%87.50%7U000000742100.00%0.00%12U000001151789.47%10.53%56U00000202617.14%82.86%24
基于用戶興趣相似度、全面信任度和學(xué)習(xí)風(fēng)格計算模型,以用戶′U0000082′為例,其與部分用戶的最終相似度如表3所示.
為了驗(yàn)證算法的有效性,將融合相似度、全面信任度及學(xué)習(xí)風(fēng)格的算法分別與只考慮興趣相似度、只考慮全面信任度的算法及考慮興趣相似度、信任度和學(xué)習(xí)風(fēng)格相似度作比較.參考預(yù)測的評價指標(biāo)——平均絕對誤差(MAE),本文推薦的準(zhǔn)確度是測試集中所有用戶推薦的內(nèi)容與重合篇數(shù)之差的和占測試集帖子總數(shù)的比率來衡量,公式如下:
(19)
表3 用戶′U0000082′與部分用戶的最終相似度
Table 3 Final similarity between the user ′U0000082′ and some users
源用戶目標(biāo)用戶興趣相似度信任度不信任度學(xué)習(xí)風(fēng)格相似度綜合相似度排名U0000082U00757130.58540.0769010.46491U0000082U00340070.62200.02560.012400.25419U0000082U00513670.57660.0256010.44093U0000082U01062130.58480.025601/30.31086U0000082U01333720.61330.0256000.25568U0000082U00638370.62040.0142000.253810U0000082U00839930.57120.008502/30.36524U0000082U00460870.64470.025601/30.33485U0000082U01006430.61210.00569010.44712U0000082U00866480.64170.00427000.25847
最終對比結(jié)果如圖1所示.
從圖1中可以看出,融合相似度、全面信任度及學(xué)習(xí)風(fēng)格的算法的MAE最小,表示其推薦準(zhǔn)確度是最高的.同時可以看到加入不信任度后相較于沒有考慮不信任度的推薦準(zhǔn)確度也有所上升,但因?yàn)闇y試集中不信任關(guān)系較為稀疏,提升效果較小.
本文基于垂直學(xué)習(xí)社區(qū)評分信息稀少而文本信息和行為信息豐富的特點(diǎn),提出了融合興趣相似度、全面信任度及學(xué)習(xí)風(fēng)格的社會化推薦算法.在推薦算法構(gòu)建過程中,利用了作者主題模型挖掘用戶興趣分布,提出了基于用戶興趣分布的相似度計算模型;根據(jù)用戶在垂直學(xué)習(xí)社區(qū)中豐富的行為,綜合考慮了信任與不信任因素構(gòu)建了全面信任關(guān)系并計算了全面信任度;基于用戶多維度學(xué)習(xí)行為模式,設(shè)計了自動識別用戶學(xué)習(xí)風(fēng)格規(guī)則.在衡量綜合相似度中,綜合考慮了用戶的興趣相似度、全面信任度以及學(xué)習(xí)風(fēng)格,最后在CSDN的真實(shí)數(shù)據(jù)集上驗(yàn)證了所提算法的有效性.
圖1 不同算法MAE值比較Fig.1 Comparison of MAE values of different algorithms