關鍵詞: 網(wǎng)絡知識社區(qū); 好友推薦; 用戶相似度; 核心度; 用戶反饋; 虛擬社區(qū); 個性化推薦; 推薦模型
DOI:10.3969 / j.issn.1008-0821.2024.05.007
〔中圖分類號〕G201 〔文獻標識碼〕A 〔文章編號〕1008-0821 (2024) 05-0001-02
網(wǎng)絡知識社區(qū)作為SNS 的一種形式, 在知識交流中扮演著重要的角色。這是以知識分享、交流為目的的網(wǎng)絡社交平臺。用戶之間基于共同的興趣、知識獲取的需求、知識共享的行為而聚集成各種社群, 并通過一定的機制來維系社區(qū)秩序[1] , 如科學網(wǎng)博客、經(jīng)管之家、Research Gate 等。然而, 隨著信息量急速增長, 人們也進入了信息過載的時代,系統(tǒng)如何有效地幫助用戶挖掘潛在的好友, 使用戶能夠從浩如煙海的信息中找到感興趣的好友, 成為社交網(wǎng)絡系統(tǒng)建設中一項非常重要的業(yè)務需求和個性化服務[2] , 也是當前網(wǎng)絡知識社區(qū)研究的熱點話題。當前常見的好友推薦方法是以用戶屬性為基礎,通過相似度計算來進行好友推薦。然而大部分系統(tǒng)在給用戶進行推薦后并未及時收集用戶的反饋結(jié)果,導致推薦系統(tǒng)無法根據(jù)用戶的喜好修正推薦列表,從而影響了個性化推薦效果。針對這個問題, 艾磊等[3] 建立基于有限狀態(tài)機的用戶交互模型, 生成用戶的個性化需求和偏好, 以會話式的交互方式進行推薦。段薇等[4] 通過用戶信息行為獲取用戶個性化的信息需求, 結(jié)合協(xié)同過濾算法構(gòu)建高校移動圖書館的個性化推薦模型來提供推薦服務。
本研究同時考慮到真實的網(wǎng)絡知識社區(qū)中用戶交互行為具有稀疏性, 容易導致用戶的興趣建模不準確問題, 忽略用戶行為受敏感信息的影響而導致的決策結(jié)果不公平[5] 等問題引入用戶反饋模型。用戶反饋可以帶來一些潛在的好處, 比如它提供了對好友推薦模型的直接洞察, 使得好友推薦模型更準確地反映用戶偏好; 還能使得達到某一準確度所需的訓練數(shù)據(jù)減少; 它可以帶來更靈活的用戶推薦模型, 尤其在用戶偏好不穩(wěn)定的領域非常有用[6] 。通過正負反饋機制, 根據(jù)用戶每一次的正負反饋結(jié)果,動態(tài)調(diào)整好友推薦列表, 逐步提高用戶對推薦列表的滿意度。因此, 本文以網(wǎng)絡知識社區(qū)的典型代表—科學網(wǎng)博客為例, 通過爬蟲獲取樣本數(shù)據(jù), 從用戶相似度計算和反饋兩個視角出發(fā), 構(gòu)建好友推薦模型, 使用數(shù)據(jù)分析軟件Python, 結(jié)合人工實驗進行好友推薦, 以期為用戶提供高效地、個性化地推薦。
1 相關研究
1.1 好友推薦方面
好友推薦可以分為單一好友推薦和混合好友推薦[7] 。單一好友推薦又分為基于內(nèi)容和基于社交關系的好友推薦。混合好友推薦可以分為并行式、切換式、迭代式推薦。好友推薦基本過程是以用戶節(jié)點信息為基礎, 提取用戶特征信息, 計算用戶相似度, 取Top-k 用戶進行推薦。
國內(nèi)外學者多從用戶的屬性特征構(gòu)造用戶畫像的角度, 來進行相似度計算。在好友推薦中, 度量兩個用戶之間的相似性被稱為用戶相似度計算[8] 。最初的用戶相似度計算來源于協(xié)同過濾算法, 該算法被廣泛應用于個性化的推薦系統(tǒng)。典型的協(xié)同過濾推薦算法是基于用戶的協(xié)同過濾算法展開的, 其基本原理是利用評分數(shù)據(jù)形成用戶鄰居, 根據(jù)評分相似的最近鄰居的評分數(shù)向目標用戶進行推薦[9] 。但是隨著用戶和項目數(shù)的增多, 協(xié)同過濾技術存在數(shù)據(jù)稀疏性和推薦質(zhì)量差的缺點。為了解決這些問題, 國內(nèi)外學者進行了大量的研究, 例如, 榮輝桂等[6] 定義了社交網(wǎng)站用戶屬性以及相似度構(gòu)成與計算方法, 提出一種改進的協(xié)同過濾算法。在此基礎上, 嚴冬梅等[9] 通過計算用戶對項目的興趣度來對用戶進行分組, 并采用貝葉斯算法與相似度度量方法相結(jié)合計算出用戶的最近鄰集合。這種方法構(gòu)造了有效的用戶鄰居集合, 有利于解決用戶數(shù)據(jù)的稀疏性問題。
此外, 一些研究者結(jié)合用戶的社交網(wǎng)絡對好友推薦算法進行優(yōu)化和改進。如徐志明等[10] 主要討論了微博的用戶關系分析技術, 并將用戶關系強度定義為用戶之間的相似度。符饒[11] 則基于節(jié)點分析,首先從用戶的所在地理位置出發(fā), 考慮簽到的時間以及簽到的地理位置, 然后進一步通過計算用戶之間的相似度來決定向目標用戶推薦潛在的好友。周磊[12] 綜合考慮節(jié)點分析和網(wǎng)絡分析兩個方面, 區(qū)分了明星用戶與冷門用戶對用戶的不同影響, 根據(jù)用戶的社交信息特點, 對用戶相似度計算方法進行研究并提出了改進。
1.2 用戶反饋方面
推薦反饋的概念最早出現(xiàn)于推薦系統(tǒng)當中, 如何將推薦結(jié)果友好地呈現(xiàn)給用戶和獲得用戶反饋意見都是迫切需要人們研究的問題[13] 。在推薦系統(tǒng)中, 反饋可大致分為顯式反饋和隱式反饋。顯式反饋是指用戶可以在推薦系統(tǒng)中對物品的喜愛程度進行打分, 這種打分既可以以分數(shù)的形式進行給出,也可以用文字來直接表達出用戶的感受。隱式反饋最直觀地體現(xiàn)在用戶的瀏覽行為當中。在相關研究中, Nichols D M[14] 對隱式反饋的潛在應用進行了研究, 并將用戶的瀏覽行為分成了查閱、保持和引用3 類。許昕[15] 在構(gòu)建用戶興趣模型初期, 設計了一種基于用戶瀏覽內(nèi)容和瀏覽行為的隱式自反饋用戶興趣模型??紤]到用戶的興趣會隨時間變化,高永兵等[16] 提出了一種新的自適應推薦方法, 其主要思想就是通過隱式收集用戶的反饋記錄, 再使用反饋處理機制分析用戶的行為, 挖掘用戶的需求。在很多場景下, 顯式反饋數(shù)據(jù)十分稀疏, 而隱式反饋數(shù)據(jù)相對豐富, 并且避免了用戶的操作負擔, 較為容易獲取, 許多研究人員逐漸意識到隱式反饋數(shù)據(jù)的價值, 將目光轉(zhuǎn)移到了基于隱式反饋的推薦方法上。
此外, 根據(jù)用戶反饋的結(jié)果可以將反饋分為正反饋和負反饋兩個方面。正反饋是指用戶對推薦結(jié)果的積極反饋, 例如用戶點擊、購買、評論等行為。在推薦系統(tǒng)中, 正反饋是推薦算法的重要評價指標之一, 用于衡量推薦算法的準確性和有效性。負反饋是指用戶對推薦結(jié)果的消極反饋, 例如用戶忽略、刪除、標記為垃圾等行為。在推薦系統(tǒng)中, 負反饋也是一個重要的評價指標。通過分析用戶的正負反饋行為, 推薦系統(tǒng)可以不斷優(yōu)化推薦結(jié)果, 減少用戶的不滿和誤導, 提高用戶的滿意度和體驗感。李以正[17] 分別根據(jù)系統(tǒng)中的“后控詞表” 和“檢索規(guī)則庫” 來向用戶提供初級反饋和高級反饋, 以改進情報檢索系統(tǒng)。傅鶴崗等[18] 利用用戶最新的評價信息來自動更新推薦模型, 能夠?qū)崟r反映用戶的興趣變化, 提高推薦的準確度。尹云飛等[19] 提出基于歷史推薦信息的正負反饋優(yōu)化調(diào)整策略, 揭示了在線社交網(wǎng)絡中好友關系刻畫的心理學認知問題和推薦的動態(tài)變化問題, 很好地將用戶反饋與好友推薦結(jié)合在一起。但傳統(tǒng)的推薦反饋只考慮用戶的正反饋信息, 即用戶—項目的點擊數(shù)據(jù)[20] 。而用戶的負反饋信息往往被忽略了, 如推薦給用戶的項目, 用戶并沒有點擊就是一種負反饋。通過將負反饋信任融入基于用戶興趣的推薦方法中, 能夠提高社交網(wǎng)絡中好友推薦的質(zhì)量[21] 。
1.3 研究述評
綜上所述, 早期研究中的好友推薦主要采用協(xié)同過濾算法, 但隨著技術水平的發(fā)展, 信息過載問題日益凸顯, 協(xié)同過濾等算法的數(shù)據(jù)項目稀疏以及冷啟動問題表現(xiàn)得越來越明顯, 不能充分滿足用戶的推薦需求。此外, 核心用戶能夠幫助用戶快速了解社區(qū), 盡管學者在進行好友推薦時也考慮到了核心用戶的重要性, 但很少有研究考慮同時推薦社區(qū)中相似度較高的用戶和本社區(qū)的核心用戶。用戶反饋方面, 目前學者們有關個性化研究的視角已經(jīng)從單向的用戶推薦轉(zhuǎn)向用戶動態(tài)行為的反饋, 但現(xiàn)有的推薦算法容易造成用戶信息繭房的問題, 且忽視了用戶自身的反饋信息。本研究依據(jù)科學網(wǎng)博客所構(gòu)建的好友推薦模型, 結(jié)合用戶相似度和用戶反饋, 以提高用戶推薦的準確性。
2 模型構(gòu)建
隨著時間的遷移, 網(wǎng)絡知識社區(qū)中累積了大量的用戶基本信息和社交、博文數(shù)據(jù)。顧佳云等[22]將虛擬社區(qū)中的學者信息分為基本信息、博文信息、社交信息, 并以此建立用戶興趣相似度的計算模型。高良誠[23] 融合用戶關系—興趣—位置, 綜合考慮用戶社交關系、興趣愛好、地理位置等用戶信息,對相似度進行加權(quán)計算, 作為推薦算法的依據(jù)?;谝陨夏P?, 本文結(jié)合科學網(wǎng)博客用戶的多屬性特征, 以及社區(qū)核心用戶的度量指標, 構(gòu)建了好友推薦模型。首先, 通過爬蟲工具爬取網(wǎng)絡知識社區(qū)的樣本數(shù)據(jù), 結(jié)合用戶的多屬性特征、社區(qū)核心用戶的度量方式, 建立相似度評價指標體系; 其次, 通過計算各級指標權(quán)重, 利用相似度計算得到用戶對之間的綜合相似度, 同時得到用戶核心度排名; 最后, 結(jié)合人工實驗引入用戶反饋機制, 針對每次推薦的結(jié)果進行動態(tài)調(diào)整, 為用戶進行最優(yōu)推薦。具體模型如圖1 所示。
2.1 用戶相似度計算
2.1.1 相似度計算指標
科學網(wǎng)博客申請審核嚴格, 用戶信息豐富, 并且博文很大程度上能夠反映學者的學習興趣與專業(yè)方向。對于給定的一個用戶u, 其用戶的基本屬性信息包含3 種一級指標(背景信息、社交關系、博文信息), 因此用戶之間的綜合相似度計算可分解為3 種屬性信息的表示。即Profile(u)= {Background(u),Relation(u),Tweet(u)}, 具體說明如下:1) Background(u): 表示u 的背景信息, 包含4 個二級指標(用戶組、研究領域、知識背景、地域), 均為短文本信息, 可表示為字符串。
2) Relation(u): 表示用戶的社交關系信息, 用共同好友屬性來表示, 本文分別將用戶好友集進行整合, 形成用戶好友列表集。
3) Tweet(u): 表示用戶u 發(fā)布的全部博客所拼接成的長文本, 主要處理過程包括文本預處理、權(quán)重計算、相似度計算。
因此, 通過對科學網(wǎng)博客用戶信息指標進行篩選, 將用戶背景信息、社交信息、博文信息作為計算用戶相似度的一級指標, 同時根據(jù)社區(qū)的節(jié)點特征對用戶背景信息進一步細分, 形成二級指標體系,具體指標劃分和其含義如表1 所示。
2.1.2 背景相似度計算
在科學網(wǎng)博客中, 用戶的背景信息是由用戶組、研究領域、知識背景、地域4 個指標進行表示的。
用戶組表示用戶在社區(qū)中的積分等級, 綜合反映用戶注冊時間長短以及發(fā)表博文的積極性; 研究領域代表博主目前研究的主要問題, 由學科所在的學科大類、二級學科、研究方向三級組成, 共同反映用戶的學科方向; 知識背景即教育背景, 反映了用戶教育經(jīng)歷, 可以用于推薦具有相同教育經(jīng)歷的好友,提高計算準確度; 地域是用戶的所在區(qū)域, 精確到省市區(qū), 區(qū)域相同用戶更利于雙方產(chǎn)生知識交流。本文使用Python 的Jieba 庫對指標內(nèi)容進行分詞處理。對用戶背景信息使用Jieba 分詞中的精確模式函數(shù)Jieba.lcut, 該函數(shù)能夠?qū)⒕渥幼罹_地分詞,適合于文本分析。定義如式(1) 所示:
當集合A、B 都為空時, J(A,B)定義為1。在涉及到用戶相似度計算過程中, 均采用Jaccard 算法進行用戶之間的相似度計算。Jaccard Index, 又稱為Jaccard 相似系數(shù)(Jaccard Similarity), 用于比較有限樣本集之間的相似性和差異性, Jaccard 系數(shù)值越大, 樣本相似度越高。其計算方法如式(2)所示:
2.1.6 用戶核心度計算
從相關理論概念中可以看出, 網(wǎng)絡社區(qū)的核心用戶也被稱為高影響力用戶或關鍵用戶等。這些用戶往往擁有活躍性、權(quán)威性、影響力等方面的特征[27] , 對用戶的觀點和行為方面具有重要的影響作用。社會影響力理論認為, 社會網(wǎng)絡中的一些節(jié)點具有更高的影響力和知名度, 他們的言行舉止可以對其他節(jié)點產(chǎn)生更大的影響力。在好友推薦中,推薦核心用戶就是基于社會影響力的一種策略。因此, 通過向用戶推薦核心用戶, 推薦系統(tǒng)可以增加用戶之間的社交互動和參與度, 從而提高用戶的滿意度和忠誠度。此外, 從長尾理論[28] 角度討論核心用戶推薦也是非常有意義的。
本文從社區(qū)最近鄰思想出發(fā), 在分析處于長尾分布不同位置用戶作用的基礎之上, 結(jié)合網(wǎng)絡知識社區(qū)核心用戶的屬性信息, 建立了核心用戶指標體系, 如圖3 所示。在項目評審中, 一些研究[29-30]從科學計量學角度將專家科研能力納入專家遴選標準, 重點考察專家研究方向、學術水平、科研經(jīng)驗、知名度等信息。因此, 本文也從科學計量角度去計算核心用戶的推薦指數(shù)[31] (Recommendation Index,RI)。在本文中, 推薦指數(shù)主要從學者本身的積極性以及用戶的權(quán)威性來考慮, 將推薦指數(shù)認為是由用戶的積極性(s)、用戶的權(quán)威性(n)、加權(quán)的線性組合而成即可表示為式(8)。其中λ 表示用戶積極性的權(quán)值, 通過熵權(quán)法可以確定其具體值。在后續(xù)反饋調(diào)節(jié)過程中, 涉及調(diào)用式(8) 則λ 保持不變。
RI =λs+(1-λ)n (8)
該節(jié)核心用戶的指標權(quán)重采用熵權(quán)法進行確定。熵權(quán)法是一種以信息熵為權(quán)重標準, 計算各指標權(quán)重的方法。根據(jù)信息論的基本原理, 信息是系統(tǒng)有序程度的度量, 因此稱熵的度量值為信息熵[32] ??衫渺貦?quán)法確定各指標的權(quán)重, 以減少主觀因素對指標權(quán)重的影響, 使評價結(jié)果更為客觀。
2.2 用戶反饋機制
隨著用戶推薦算法的不斷發(fā)展, 好友推薦算法也產(chǎn)生了一系列的負面作用, 其中“信息繭房” 成為一個越來越突出的問題。目前的推薦算法普遍將用戶所需信息等價為用戶喜歡的內(nèi)容進行推送, 長此以往人們便會被同質(zhì)性信息包圍[33] 。學界對個性化推薦與信息繭房的關系一直存在爭議。一方面,以個性化推薦為代表的信息篩選技術可能會產(chǎn)生過濾氣泡[34] , 為用戶的信息偏食制造條件, 加劇信息繭房; 另一方面, 信息偏食本質(zhì)上是由于個體的選擇性心理造成的, 推薦算法反而有利于用戶接觸到更多樣化的信息, 減輕信息繭房的負面效應[35] 。用戶反饋考慮到了用戶的接受程度, 能夠拓寬用戶的交友選擇, 使得用戶了解更廣泛的知識, 減輕了信息繭房的影響。在好友推薦系統(tǒng)中, 假設用戶A為待推薦用戶, 若用戶A 的待推薦好友形成了如上所述的好友列表, 將用戶B 推薦給用戶A。若用戶A 接受用戶B, 則繼續(xù)給A 推薦與B 相似的用戶, 此為正反饋推薦。正反饋調(diào)節(jié)會將與用戶B相似較高的用戶推薦給A, 從而提高成為好友的可能性。若用戶A 不接受用戶B, 則與用戶B 相似的用戶不再推薦給A, 此為負反饋推薦。結(jié)合用戶的初始推薦列表進行正負反饋調(diào)節(jié)。鑒于反饋調(diào)節(jié)需要進行多次, 因此需要引入相似度調(diào)節(jié)公式以此來修改相似度值, 從而調(diào)節(jié)推薦列表, 用戶正反饋后的相似度公式如式(14) 所示:
其中, λ 表示正負反饋調(diào)節(jié)因子, 根據(jù)實際用戶相似度矩陣值可設置為λ = 0 01。通過反饋得到的相似度對用戶相似度矩陣和核心列表用戶進行調(diào)節(jié), 使得在進行二次推薦時能夠根據(jù)用戶的喜好來推薦用戶。為便于處理迭代的相似度值, 因此需要對相似度進行歸一化處理, 本文引入Softmax 函數(shù), 又稱為歸一化函數(shù)。Softmax 函數(shù)是邏輯函數(shù)的一種推廣, 它能將一個含任意實數(shù)的K 維向量“壓縮” 到另外一個K 維實向量σ(z)中, 使得每一個元素的范圍在(0,1)之間, 并且所有元素的和為1。Softmax 函數(shù)實際上是有限項離散概率分布的梯度對數(shù)歸一化。因此, Softmax 函數(shù)在包括多項邏輯回歸、多項線性判別分析、樸素貝葉斯分類器和人工神經(jīng)網(wǎng)絡等的多種基于概率的多分類問題方法中都有著廣泛應用。特別的, 在多項邏輯回歸和線性判別分析中, 函數(shù)的輸入是從K 個不同的線性函數(shù)得到的結(jié)果。而樣本向量x 屬于第j 個分類的概率如式(16) 所示:
3 實證研究與模型檢驗
3.1 數(shù)據(jù)收集與預處理
不同于其他通用社交網(wǎng)站, 科學網(wǎng)博客由于服務用戶群體細分程度較高, 因此整體用戶體量適中,交互也相對更加頻繁; 同時, 科學網(wǎng)博客擁有詳細的個人主頁, 用戶基本信息填寫完整性較高; 在用戶社交關系和交互行為數(shù)據(jù)的記錄方面, 科學網(wǎng)擁有“請求—通過” 方式的雙向好友系統(tǒng), 用戶在平臺上的所有交互行為, 包括發(fā)文、評論、回復、留言等數(shù)據(jù)也會被平臺完整地記錄, 從而采集到的樣本數(shù)據(jù)的數(shù)量和質(zhì)量都比較高; 此外, 科學網(wǎng)博客對出于研究目的獲取樣本數(shù)據(jù)的限制也較少。以上數(shù)據(jù)體量適中、數(shù)據(jù)規(guī)范完整、用戶生成內(nèi)容質(zhì)量高、數(shù)據(jù)可得性好等特點, 使得科學網(wǎng)博客適合作為本文實證研究的對象。因此, 本文選擇“科學網(wǎng)博客” 作為數(shù)據(jù)來源, 通過Python 程序開發(fā)的網(wǎng)絡爬蟲爬取科學網(wǎng)博客中2013 年1 月6 日—2022年12 月28 日所有的8 大板塊的已注冊的用戶信息,涵蓋了科學網(wǎng)博客的所有的動態(tài)用戶。共獲得了121 173條數(shù)據(jù), 其中包括97 329條用戶博客信息以及23 844條用戶基本信息。數(shù)據(jù)集清洗了博文數(shù)量或好友數(shù)量為0 以及隱私設置不可見的用戶, 選取了10 412個用戶同時根據(jù)博主ID 對博文進行合并, 得到了用戶對應69 854條博客信息。其中, 用戶的基本屬性信息包括用戶的UID、用戶名、用戶的知識背景、研究領域、博客訪問量、好友數(shù)和好友列表、博文數(shù)以及博文數(shù)據(jù)集、居住地、用戶組、威望值、積分、金幣值。部分經(jīng)處理后的用戶的背景、好友列表信息如表2 所示, 同時使用TF-IDF方法對用戶的博文信息進行處理即得到表3。
3.2 用戶相似度計算
3.2.1 用戶相似度矩陣
本文采用層次分析法計算用戶指標權(quán)重, 該方法是20 世紀70 年代, 美國運籌學家Saaty TL 正式提出的一種系統(tǒng)化的、層次化的、結(jié)合定性與定量的層次權(quán)重決策分析方法。以用戶背景、用戶社交關系、用戶博文的一級指標和二級指標為依據(jù),可以得到二級指標的權(quán)重以及一級指標對應的值,具體結(jié)果如表4 所示。其中, 一級指標中用戶的背景信息為0.616, 對應的二級指標權(quán)重分別是0.154、0.277、0.123、0.062。用戶的研究領域比重最高,科學網(wǎng)博客在收集用戶背景信息時要著重關注用戶的研究背景。此外, 用戶的社交關系權(quán)重為0.267,博文信息所占比重為0.117??梢钥闯鲇脩舯尘靶畔⑺急戎剌^大, 因此在科學網(wǎng)博客推薦系統(tǒng)中要著重考慮用戶背景信息的重要性。根據(jù)表2~ 表4對用戶的綜合相似度進行計算, 得到了用戶的相似度矩陣表, 其中部分數(shù)據(jù)如表5 所示。
3.2.2 用戶核心度
根據(jù)3.2節(jié)采用熵權(quán)法計算核心用戶核心度指標, 權(quán)重系數(shù)和信息熵計算結(jié)果如表6 所示。
根據(jù)表6 可知, 在核心用戶指標權(quán)重中, 用戶的威望值對核心用戶評價影響最大, 所占權(quán)重為0. 292, 用戶博客訪問量次之, 所占權(quán)重為0.162。而用戶的回帖數(shù)和用戶的在線時長分別是0.144、0.139, 用戶粉絲量次之, 用戶的活躍度和金幣值分別是0.074 和0.071??梢钥闯鲇脩舻耐禉?quán)重最大, 說明威望值對核心用戶指標影響最大, 因此, 后續(xù)在考慮科學網(wǎng)博客用戶推薦時可以著重考慮用戶的威望值和用戶的博客訪問量的影響。通過式(8) 可以計算出每個核心用戶的推薦指數(shù), 進一步可以得到核心用戶列表。社區(qū)Top-k 用戶如表7 所示, 從表7 中可以看出, 用戶排名越靠前,表明該用戶在社區(qū)核心度越高, 其中用戶UID 為415 的用戶核心度最高, 其次分別為用戶UID 為39731、41174 等的用戶。通過在該網(wǎng)站進行查證,表中用戶的排名與各自領域內(nèi)的聲譽一致, 表明本研究的核心用戶計算是有效的。
3.3 模型檢驗
為進一步驗證本文提出的用戶相似度計算模型在好友推薦方面的有效性, 選?。?000名用戶進行測試, 采用Top -k 常用的推薦評價指標準確率(Precision)、召回率(Recall)以及綜合準確率和召回率的調(diào)和平均值F1-measure 來評價好友推薦結(jié)果。如式(18) ~式(20) 所示:
實驗對經(jīng)典的基于內(nèi)容的好友推薦模型、基于用戶相似度和基于用戶核心度以及本文提出的綜合相似度和核心度模型, 來檢驗4 種推薦模型的推薦效果。設置好友推薦數(shù)量在k =5、10、15、20、25,5 種情況下來比較, 考慮到部分社區(qū)用戶的好友數(shù)量較少, 所以在評定時將好友閾值設為15, 對高于閾值的用戶進行評價。其推薦算法準確率、召回率和調(diào)和平均值F1-measure 比較結(jié)果如圖4~圖6所示。
由圖4~圖6 可知, 通過消融實驗, 與傳統(tǒng)的基于內(nèi)容相比, 其他3 種模型的準確率、召回率和F1-measure 都高于傳統(tǒng)的基于內(nèi)容的好友推薦。此外, 本研究提出的融合相似度和核心度模型, 明顯優(yōu)于其他3 種推薦模型, 前者同時考慮了用戶的多維屬性以及社區(qū)的核心用戶, 更加符合現(xiàn)實生活中用戶的需求。這就說明了本文所提出的用戶相似度和核心用戶計算模型具有很好的推薦效果。
為了進一步驗證反饋機制的有效性, 采用人工實驗的方法來測評推薦和反饋模型。為保證實驗的科學性, 從“圖書與情報” 學科領域找到了5 位專家、碩士生, 從“信息科學” 領域找到了3 位碩士生, 以及“生命科學” “工程材料” “化學科學” “地球科學” 領域的5 位碩士生共計13 位測試者對推薦和反饋模型結(jié)果進行評價。測評過程如下: ①根據(jù)測試者的信息, 通過Python 計算出推薦用戶UID。在初始推薦列表中, 采用由核心列表和相似度矩陣生成推薦列表; ②獲取到測試者的用戶推薦列表后, 測試者根據(jù)推薦用戶UID 仔細查看研究獲取的用戶信息, 并讓測試者進行評價, 即是否有意向添加此用戶為好友。在本研究中, 將有意愿添加推薦好友用數(shù)字1 表示, 數(shù)字0 則表示測試者無意愿添加推薦用戶。根據(jù)實驗者實際需求,將初始推薦好友數(shù)目設置為n = 5。在測試者實驗過程中, 要求測試人員必須逐一查看推薦UID 對應的用戶的具體信息, 并及時記錄測試者的評價結(jié)果。經(jīng)過初始推薦, 得到了13 份測評和24 次反饋, 如表8 所示。
根據(jù)用戶評價結(jié)果可以看出, 以測試者1 為例,在測評中推薦的核心用戶1792012、69474 是測試者1 所在學科領域的較有影響力的用戶, 對博主具有較高的推薦價值。而3379832、34822、3478110在測試者1 的推薦列表中由相似度矩陣生成, 與測試者1 有極高的相似度, 易于雙方產(chǎn)生知識交流。這說明了本文提出的相似度計算模型推薦的用戶具有很高的相關性, 其他測試者也符合測試者1 特征。
在用戶的初始混合好友推薦中, 有4 位測試者對自己好友推薦列表都有意愿添加好友, 同時也獲得了其他9 位測試者的數(shù)據(jù)。針對其他9 位測試者繼續(xù)進行正負反饋調(diào)節(jié), 以確保其獲得推薦的好友能獲得用戶的全部滿意, 并得出具體的反饋次數(shù)。
根據(jù)第一次反饋結(jié)果, 只有測試者3 和測試者10 對反饋的結(jié)果并不完全滿意。而其他7 位測試者在經(jīng)過一次反饋后, 均對經(jīng)過正負反饋調(diào)節(jié)的好友達到了滿意。這說明在經(jīng)過一次反饋時, 正負反饋根據(jù)用戶的評價選取了更合適的好友推薦列表。隨后, 繼續(xù)對剩下的用戶進行相同的調(diào)節(jié), 其數(shù)據(jù)如表10 所示。
在經(jīng)過二次反饋之后, 測評者對于推薦的好友有更強烈的意愿添加為好友。測試者3 和測試者10 對經(jīng)過二次反饋的好友列表達到了滿意。經(jīng)研究發(fā)現(xiàn), 本文所提出的好友推薦模型在經(jīng)過兩次反饋后, 能夠使得用戶達到較高的滿意度, 因此應將反饋次數(shù)設置在兩次從而達到較好的效果。
4總結(jié)
本研究提出一種新型好友推薦模型, 從用戶相似度計算和反饋的角度出發(fā), 基于Python 處理用戶相似度和用戶核心度, 并結(jié)合反饋機制為用戶進行好友推薦。本文首先從科學網(wǎng)博客學術社區(qū)爬取用戶數(shù)據(jù), 使用TF-IDF 提取用戶博文關鍵詞。同時使用層次分析法確定用戶相似度計算指標權(quán)重,結(jié)合用戶的背景信息、好友列表信息和博文信息形成用戶相似度矩陣。通過熵權(quán)法計算核心用戶指標權(quán)重, 根據(jù)用戶的權(quán)威性和積極性及其相應的二級指標, 得到了核心用戶列表。融合相似度矩陣和核心列表, 得到了用戶的Top-k 推薦列表。最后, 本文引入了用戶反饋機制, 能夠根據(jù)用戶對推薦列表的正負反饋, 動態(tài)調(diào)整用戶待推薦列表, 有效提高了用戶推薦的質(zhì)量。但是論文仍存在以下不足: ①實驗雖然采?。裕疲桑模?方法進行關鍵詞的提取, 但缺少對博主情感詞語的描述; ②本文只是提出了一種反饋的思路, 即實驗時僅對少量的用戶進行人工測試, 未來可采取機器學習等方法進一步深入研究; ③人工實驗并未反映用戶對用戶的滿意程度。
(責任編輯: 郭沫含)