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