彭艦,王屯屯,陳瑜,劉唐,徐文政
?
基于跨平臺的在線社交網絡用戶推薦研究
彭艦1,王屯屯1,陳瑜1,劉唐2,徐文政1
(1. 四川大學計算機學院,四川 成都 610065;2. 四川師范大學基礎教學學院,四川 成都 610068)
在社交網絡用戶推薦研究領域,通過提取用戶的行為模式對其進行好友推薦。但是用戶的行為是多樣性的,在不同的社交平臺,用戶可能有不同的行為模型。提出跨平臺用戶推薦模型,同時對用戶相關的所有社交網絡平臺進行建模,最后將用戶在所有平臺的行為模式進行融合。基于真實的新浪微博數據集和知乎數據集,通過一系列對比實驗證明,跨平臺用戶推薦模型可以更加全面準確地刻畫用戶行為,更好地進行用戶推薦。
跨平臺;用戶推薦;在線社交網絡;數據挖掘
隨著互聯網應用的發展,在線社交網絡已吸引和聚集了大量用戶,如Facebook、Twitter、新浪微博和知乎等知名社交網絡。在這些社交網絡平臺上,每天的活躍用戶數量和產生的社交信息量巨大。僅僅在新浪微博平臺,每天的活躍用戶可達6 000萬個,平均產生數億條微博信息[1],新浪微博已成為國內用戶數量眾多的重要社交網絡平臺。如何對數量眾多的新浪微博用戶進行有效的個性化推薦已成為社交網絡研究中一個非常重要的課題。
針對新浪微博的用戶推薦問題,目前已有較多的研究[2,3]。研究者主要通過提取用戶在新浪微博平臺的行為特征對其進行建模,但是用戶的行為是多樣性的,在不同的社交平臺會有不同的喜好。單獨地利用一個平臺的信息為用戶進行建模,可能不足以全面反映用戶的興趣愛好。如果能同時參照和結合用戶在其他社交網絡平臺中的信息,可以更加全面準確地了解用戶的興趣愛好以及行為特征。因此,在文檔中進行用戶個性化推薦研究的同時,融合其他平臺的信息來進行跨平臺的用戶推薦,從而提升推薦的效率和準確度。例如,用戶張三在新浪微博平臺(目標平臺)注冊賬號,并且經常發布或轉發足球相關內容,傳統的單平臺用戶推薦模型只是根據用戶在新浪微博的行為特征對其進行建模,得出的結論是他的興趣愛好主要是足球,于是為他推薦足球相關的用戶。此外,張三在知乎平臺(輔助平臺)經常討論軟件開發等相關問題,而且活躍度比在新浪微博高很多。如果能同時結合張三在2個平臺上的行為,得到的結論是張三喜歡足球,但是更喜歡軟件開發。為張三推薦好友時,不僅要推薦足球相關的用戶,也要推薦軟件開發相關的用戶,而且軟件開發相關的用戶在推薦列表中的位置更加靠前。可能由于張三在微博平臺未接觸到軟件開發相關的用戶,導致其在微博平臺沒有表現出在軟件開發方面相關的興趣愛好和用戶行為。
綜上所述,如果只是單獨地依據用戶在微博平臺的用戶行為特征為用戶進行建模,很可能會導致片面地理解用戶興趣愛好。本文所提跨平臺推薦模型URCP,不僅考慮到用戶在新浪微博(目標平臺)的興趣愛好,更結合了其在知乎平臺(輔助平臺)上的行為特征,最終將該用戶在所有相關平臺的興趣愛好結合起來進行微博好友推薦。
在進行跨平臺用戶推薦時,首先遇到的問題是數據采集。每個單獨的平臺可以通過爬蟲技術或調用API獲取相應數據,但是如何將同一個用戶在不同平臺的賬號信息對應起來是很困難的;其次,每個社交平臺具有一定的差異性。例如,知乎平臺沒有轉發功能。如何采用統一的方法為用戶進行建模也是很大的挑戰;最后一個問題是用戶冷啟動問題,即無法獲取新注冊用戶的行為特征。
本文的主要貢獻如下。
1) 提出了一種基于跨平臺的在線社交網絡用戶推薦模型URCP,通過融合用戶在多個社交網絡平臺的信息,可以更加全面地刻畫用戶行為,更加準確地進行好友推薦。傳統的推薦算法只能對用戶在目標平臺的行為進行建模,不足以反映用戶全部的興趣愛好。本文所提跨平臺推薦模型,不僅考慮到用戶在目標平臺的興趣愛好,同時將用戶在其他輔助平臺的行為特征融入整個模型中,對用戶進行更加全面的建模,進而可以更加準確地對用戶進行好友推薦。
2) 提出了一種新的跨社交網絡用戶采集方法,為跨平臺研究提供了數據支持,而且具有很好的擴展性。國外提出的跨平臺數據采集方法主要利用賬號關聯工具或Google+API。但是在國內,大部分社交平臺都沒有賬號關聯工具,而且也沒有與Google賬號進行關聯,所以需要使用一個適合國內社交網絡發展情況的跨平臺數據采集方法。
3) 基于跨平臺的用戶推薦,對于新注冊用戶,將輔助平臺的數據遷移到目標平臺,可以很好地解決冷啟動問題。傳統的解決用戶冷啟動的方法是采用基于批判式會話的方式來逐漸引導用戶,但是基于會話的方式會使推薦周期較長。本文所提冷啟動解決方案主要借助于用戶在其他平臺的行為特征進行興趣愛好的遷移。
社交網絡用戶推薦已成為一個研究熱點。由于現有的推薦系統大都建立在單一社交平臺的基礎上,利用用戶的鏈接信息(例如,關注其他人與被其他人關注)或內容信息(用戶個人簡歷和用戶已經發布的內容)來進行推薦,導致其推薦效果仍有較大的提升空間。此外,在單一的平臺上進行推薦容易導致數據過于稀疏和數據的過度擬合[4]。
協同過濾(CF, collaborative filtering)是使用較廣泛的技術,根據用戶產生的評分信息來預測用戶的偏好[5]。然而,實踐中,CF系統容易受到不公平評分的影響。文獻[6]提出,協同過濾的方法不適用于用戶推薦,并且當考慮到人與人之間的關系時,需要考慮的因素比較多。在圖像挖掘領域,人們經常把社交網絡用戶推薦問題當作圖形中的鏈路預測問題來解決。文獻[7]將該問題定義為給定一個社交網絡某個時間點的圖形快照,目的就是找到在未來某個時間點之前,圖形將會增加的邊。但這種方法并不能夠很好地反映真實生活中人們進行朋友選擇的用戶偏好[8]。
潛在狄利克雷分配(LDA, latent Dirichlet allocation)模型的提出使越來越多的人使用LDA進行語義分析和用戶推薦。文獻[9]利用LDA模型對用戶進行建模,提出top-推薦算法,向用戶推薦個關注用戶以及用戶可能感興趣的文章。文獻[1]針對用戶的興趣總是在發生變化這一現象,利用LDA對用戶的內容進行主題生成來挖掘出用戶潛在的興趣。
文獻[4]指出,利用其他平臺的數據可以緩解數據稀疏問題,并且提高用戶模型的預測性能。文獻[10]提出以標簽為基礎的用戶簡歷,并且提出了一系列跨系統用戶建模的方法。文獻[11]利用Twitter平臺的數據生成最新的話題,并向YouTube平臺的用戶推薦相關的視頻。文獻[12]提出利用源平臺的數據豐富目標平臺的數據來進行視頻的推薦,以此解決目標平臺的數據稀疏問題和冷啟動問題。文獻[13]利用在線LDA(OSLDA, online streaming latent Dirichlet allocation)模型實時地生成主題向量,并通過遷移學習算法來實現多媒體的應用。文獻[14]指出,源平臺向目標平臺的數據轉移主要是通過遷移學習完成的,而轉移學習主要依賴于對齊用戶或對齊數據。
本文提出基于對齊用戶的跨平臺方法對用戶進行推薦。在進行跨平臺推薦系統的研究中,如何有效獲取不同平臺的數據是一個重要的環節。文獻[10~12]利用Friendfeed、About.me和Google+API等工具進行跨平臺的數據采集。但是,由于很多社交網絡用戶沒有使用賬號管理工具或Google+,導致他們提出的數據采集方法無法對某些用戶或社交平臺進行數據采集。文獻[15~18]提出了各種專門模型用于找到多個平臺中對應多個賬號的同一個用戶。這些方法主要是利用自然語言處理技術或時空關系來進行判斷。例如,在2個不同的平臺(A和B)上,發現平臺A上某個用戶的名稱與平臺B上某個用戶的名稱很相似,就可以在一定程度上認為這是同一個用戶。很有可能是2個不同的用戶,由于看了同一部電影就起了相似的名稱。因此,現實情況的復雜性導致這些方法的效果不是很理想。
在社交網絡用戶推薦中,除了數據稀疏問題外,另外一個比較重要的問題是用戶冷啟動問題。傳統的解決方法是,不斷與用戶進行會話,在每一次會話中,用戶對推薦對象的一個特征進行批判,然后根據用戶的批判特征逐漸引導用戶找到其期望的推薦對象[19],這種方法最大的問題在于會話周期太長。雖然有很多研究者提出一些改進的方法來減少用戶會話次數,但是效率還是比較低[20~22]。本文所提基于跨平臺的解決方法,不用通過用戶會話解決用戶冷啟動問題,以快速方便地進行用戶推薦。

圖1 模型總體框架
在線社交網絡中,用戶產生的行為數據極其龐大。不同的社交網絡平臺之間的差異也較大。因此,在研究跨平臺的社交網絡用戶推薦時,如何處理好單個用戶在多個平臺的行為數據成為一個關鍵問題。本節將重點介紹如何獲取用戶在多個平臺的行為數據,并對其進行數據清洗,最后利用這些數據對用戶進行建模。本文所提模型總體框架如圖1所示。
在圖1中,上部分為目標平臺,下部分為輔助平臺的其中一個。在目標平臺中,用戶A發布了“文檔1”,“文檔1”生成了“主題1”和“主題2”,這2個主題構成了用戶A的主題。用戶B發布了“文檔2”和“文檔3”,其中,“文檔2”生成了“主題3”和“主題4”,“文檔3”生成了“主題5”,最終“主題3”和“主題4”以及“主題5”構成了用戶B的主題。用戶C轉發了“文檔3”,發布了“文檔4”,其中,“文檔4”生成了“主題6”,最終“主題5”和“主題6”構成了用戶C的主題。通過各個用戶的主題向量,為目標用戶推薦“用戶1”“用戶2”“用戶3”等。輔助平臺與目標平臺結構類似。最終將所有平臺的推薦列表融合起來,為目標用戶生成最終的推薦列表。
每個用戶在不同的平臺,可以發布自己的原創文章或轉發其他人的文章。通過提取用戶的文檔信息,可以挖掘出其潛在的興趣愛好。在每個平臺上,都會生成用戶的主題空間,利用用戶的主題分布,向目標用戶推薦與其興趣愛好最接近的用戶。在不同的平臺,用戶的主題分布不同,導致同一個用戶在不同的平臺產生的推薦列表不一致。通過一個融合模型,對所有的推薦用戶列表進行重排序,從而得到目標用戶最終的推薦列表。下面將詳細介紹框架各個部分。
在跨平臺研究中,目前主流的數據采集方法是利用賬號工具和調用谷歌提供的API。但是,由于一些社交網絡平臺的各種限制,這些方法難以有效獲取到用戶的完整數據。例如,新浪微博并沒有提供賬號管理工具與其他平臺進行關聯,也未對外提供API幫助開發者獲取新浪微博用戶關聯的其他平臺賬號。為解決此問題,本文提出了一種新的跨平臺數據采集方法。首先,通過網絡爬取獲取賬號匹配關系;然后,通過各個平臺對外提供的API進行數據獲取。例如,新浪微博提供了跨平臺登錄功能,在登錄某些社交平臺時,注冊用戶可以使用微博賬號進行登錄,如知乎、豆瓣、人人網和優酷等社交平臺均允許采用微博賬號登錄。因此,基于該功能可獲得微博用戶在其他平臺的數據信息。本文為改善新浪微博用戶的推薦效果,選用知乎作為新浪微博的輔助平臺。由于知乎是一個話題性討論及典型的問答社區,在該平臺上更容易分析出用戶感興趣的話題和用戶的喜好。
如果一個用戶同時擁有新浪微博賬號以及知乎賬號,并且該用戶曾經利用新浪微博賬號登錄知乎,知乎平臺會在該用戶首頁進行特殊標識,表明該用戶的知乎賬號已經與其新浪微博賬號進行關聯。為獲取用戶的新浪微博和知乎的賬號對應關系,本文需要對知乎的用戶首頁進行網絡爬取。通過解析網頁,判斷是否已關聯新浪微博平臺。如果用戶已經關聯,通過數據解析即可獲取用戶在新浪微博和知乎上的賬號對應關系。此外,由于新浪微博提供了公開的API,可以使開發者容易獲取到新浪微博用戶的大部分信息。因此,利用新浪微博平臺和知乎平臺對外提供的這些API,通過傳入不同的用戶ID即可便捷地獲取到用戶對應的各種信息,從而有效解決了難以獲取不同平臺信息的問題。具體實現過程為大量爬取知乎用戶的個人首頁,保存網頁內容到本地。離線對網頁內容進行解析,發現知乎名為“張亮”的用戶,關聯了新浪微博平臺,并給出了其在新浪微博平臺的個人首頁地址。對該網址進行解析,可以得到該用戶新浪微博和知乎平臺的賬號對應關系為{izlmichael,張亮}。最后將用戶名作為參數傳入對應平臺的API,即可獲取該用戶在不同平臺的信息。
在用戶冷啟動問題上,本文提出了較為簡單和高效的解決方案。如果用戶需要在目標平臺上進行推薦,但是該用戶對于目標平臺是新注冊用戶,傳統的推薦算法無法對其進行推薦。基于會話的冷啟動解決方案需要與用戶進行交互,而且比較耗時。本文所提跨平臺解決方案,可以將該用戶在其他平臺上的信息復制到目標平臺,這樣就可以較為快速地解決用戶冷啟動問題。例如,當需要對新浪微博上的一個用戶進行推薦時,發現該用戶是新注冊用戶,無法確定其興趣愛好。但是該用戶的新浪微博賬號已經關聯了知乎賬號,而且該用戶在知乎上發布過很多文章。可以將該用戶在知乎上的興趣愛好遷移到新浪微博平臺,這樣就可以獲取其興趣愛好,并利用推薦算法對其進行推薦。如果用戶在知乎上的興趣愛好與其在微博上的一致,可以解決用戶冷啟動問題;如果用戶在2個平臺的興趣愛好不一致,興趣愛好的遷移,可以發現用戶在新浪微博平臺無法表現出的興趣愛好。本文認為,用戶的興趣愛好由該用戶在所有平臺的興趣愛好共同組合而成,任意單個平臺的興趣愛好都不足以完全表示用戶的興趣愛好。
在線社交網絡平臺的結構較為復雜,如何選取合適的用戶特征進行建模是用戶推薦系統中的另一個重要環節。考慮到用戶的興趣會隨著時間發生變化,如果能充分利用用戶最近的行為即可有效解決該問題。在本文模型中,利用用戶在各個平臺最近發布的文章或內容來分析該用戶最新的興趣。同時,本文通過對新浪微博用戶觀察分析,發現水軍有個普遍存在的特征:關注了很多其他用戶,但是很少有其他用戶關注自己。因此,本文通過某個用戶的關注數量和被關注數量的比值來識別和剔除社交網絡中水軍的相關數據。在實驗分析中,發現若某用戶的關注人數遠遠大于其粉絲數量,則該用戶是水軍的概率也較大。文獻[23]指出,可以通過一個用戶的所有關注用戶和被關注用戶之間的關注關系間的距離來判斷該用戶是否為水軍。本文利用該方法對實驗對象進行逐一判斷,并將水軍直接剔除。由于微博平臺具有訪問次數限制,無法直接通過接口驗證用戶間的關注關系。為解決此問題,本文爬取各個用戶的關注列表,并通過分析關注列表來分析用戶之間的關注關系。例如,若用戶A在用戶B的關注列表中,則認為B關注了A,即B是A的粉絲。
興趣愛好建模是針對每個用戶的。本文采用最常用的概率主題模型LDA模型來對微博用戶進行興趣度建模。利用LDA進行用戶建模時,需要對文檔進行分詞和過濾等數據預處理操作。本文采用的分詞算法來源于網上的開源代碼(jieba)。關于單詞的過濾,比較流行的做法是按照詞性進行過濾,例如,只保留動詞和名詞。但是這樣會導致用戶信息的進一步缺失。為了盡可能地保留用戶信息,本文按照單詞的出現次數進行過濾。
在對微博數據進行分析時,發現用戶A關注用戶B的主要動機是由于用戶A和用戶B具有相同的興趣愛好和共同關注的話題。基于此,本文通過共同的話題關系來對用戶進行建模,并采用LDA主題模型進行用戶的話題建模。LDA主題模型是話題建模中較流行的方法,可用于識別大規模文檔集中潛藏的主題信息。然而,由于微博內容具有典型的短文本特性,直接使用經典的LDA模型用于微博用戶建模的效果并不理想。因此,本文提出一種改進的基于LDA 的微博用戶模型。在改進模型中,首先將所有用戶的微博基于用戶進行劃分,并將每個用戶發布的微博進行合并,以此來作為該用戶的信息來源。同時,將標準LDA模型的“文檔—主題—詞”3層結構轉變為“用戶—主題—詞”的用戶模型,并利用該模型進行用戶建模。在使用LDA模型對用戶進行建模時,模型的好壞與以下3個參數聯系非常緊密:伸張系數和以及主題數量。
傳統的用戶推薦中,一般通過評分矩陣獲得用戶向量。但是這種方法容易受到不公平評分的影響。此外,實踐中,用戶的打分也不能完全反映出該用戶的真實興趣愛好。而LDA模型通過用戶進行概率主題分析,可以獲取其潛在的興趣愛好。為便于理解本文模型,表1給出了文章中出現的符號及其描述。

表1 符號及其描述
定義1 文檔集合。令(1,2,…,d,…,d),其中,d表示第個用戶最近發布的篇文章,(d1,d2,…,d,…,d),則是文檔的集合。
定義2 文檔的主題(topic)。令=(1,2,…,t,…,t),其中,t表示生成的第個主題,則是文檔主題。利用LDA模型對用戶文檔進行概率主題建模,得到其主題。


為獲得每個用戶的主題分布,本文中通過3個步驟來實現:1) 從一個用戶的微博中抽取一個主題;2) 從抽取到的主題中抽取一個單詞;3) 重復前面2個步驟,查找出微博中的所有單詞。將上述主題中單詞出現的次數轉換為向量空間模型。
得到每個用戶的主題向量后,通過計算代表用戶興趣愛好的主題向量間的距離,計算2個用戶的相似度。這里的距離采用的是相對熵(KL, kullback leibler divergence),相對熵越小,說明2個用戶的興趣越相似。
在計算2個用戶間的相似度得分時,本文根據式(1)來計算2個不同用戶在不同平臺的行為相似度。2個用戶間的相似度得分定義為



若2個用戶的相似度得分越高,說明2個用戶越相似,則需要優先進行推薦。
對于同一個用戶,在不同的社交網絡平臺中利用相似度分別進行推薦時,通常推薦結果未必能保持一致性。為解決如何得到一個合理的、統一的推薦集合的問題,本文將邏輯回歸的思想引入所提模型中,將用戶在不同平臺的推薦結果進行線性擬合。通過挖掘用戶信息中內在支配推薦排序的信息,很好地解決了傳統使用經驗參數的問題,使模型能夠自適應不同的應用場景,從而可使用任意的輔助平臺進行跨平臺推薦。
對于任意的2個用戶,他們之間融合后的行為相似度由他們在各個平臺的行為相似度進行加權線性組合得到。

為了得到權值向量,本文需要先定義預測函數。

在預測函數基礎上,可以進一步定義在一次用戶推薦過程中的誤差函數。

在單次用戶推薦誤差函數式(4)的基礎上,可以得到在次推薦中總的誤差函數。

權值更新過程如下

對總誤差函數式(5)進行求導,并代入式(6)得到最終的權值更新過程。

按照式(7),不斷進行迭代,當參數不再發生變化時,認為已經達到收斂條件并結束迭代過程。將模型收斂時得到的參數向量作為本文最終的訓練結果。
通過對微博數據的分析發現,絕大多數微博用戶通過興趣愛好來關注其他用戶,即微博用戶和其好友之間擁有相似的話題分布。基于此觀察,在候選用戶中,優先推薦那些與目標用戶話題分布相近的用戶。為用戶集合,u為目標用戶,U為候選用戶,且U?u。
不同的社交網絡平臺上,對候選用戶集中的每一個用戶分別與目標用戶按照相似度進行降序排列。這樣排在前面的用戶,與目標用戶更相似,需要優先推薦。由于在每個平臺上的排序不同,需要對這些用戶進行重新排序。推薦過程實現偽代碼如算法1所示。
算法1 跨平臺用戶推薦
輸入 用戶u的候選用戶集合U;平臺集合;平臺權值向量;用戶u粉絲集合;用戶u關注用戶集合;用戶概率主題分布向量;各個平臺主題數量向量;推薦用戶數量
輸出 用戶u推薦列表T
3) ifP= 0;/*用戶在某平臺信息為空*/
5) ifP!0;
6) = P
7) else
9) if!= 0
10) = P
11) 根據式(1)計算各個用戶間的相似度
12)=(1,2,…,u,…,u)/*按照與目標用戶u的相似度得分降序排序并取前個用戶*/
13) return
對推薦集合的每個用戶u分別判斷該用戶是否為目標用戶的好友,如果是好友關系則認為此次推薦是成功的。
為驗證推薦模型的有效性,本文選取國內用戶活躍度最大的新浪微博作為目標測試平臺,并將國內最大的話題討論平臺知乎作為輔助平臺。實驗中,通過對2個不同平臺的融合來向微博用戶進行好友推薦。同時,將本文提出的推薦模型URCP與文獻中的PYMK[5]、-means[6]、TWILITE[9]等算法進行了一系列的對比實驗。在文獻[5]中,作者通過用戶在MySpace平臺的信息為用戶進行打分,將特征最接近的用戶作為推薦列表。在文獻[6]中,作者利用用戶的文本內容對其進行建模,最后利用-means對用戶進行推薦。在文獻[9]中,作者提取用戶在Twitter平臺的主體分布,推薦前個用戶作為推薦列表。本文所提模型URCP不僅對目標平臺進行建模,同時對輔助平臺進行建模,而且最后通過模型融合算法將用戶的行為模式融合起來作為用戶最終的行為模型,這樣可以更加全面地對用戶進行分析。
本文通過式(8)和式(9)來計算用戶u的推薦準確率和推薦召回率。

如果u關注了u,則(u,u)=1;否則,(u,u)=0。

其中,表示候選用戶u中目標用戶的好友數量。
單獨使用準確率或召回率無法對一個推薦模型進行全面的評價,這里采用一個統一的評價指標1值。定義1值為

其中,(u)表示用戶u的準確率,(u)表示用戶u的召回率。
用戶u平均準確率(MAP, mean average precision)的計算式為

其中,表示候選用戶集合中目標用戶的好友數量。
除了準確性外,本文還采用了覆蓋率(coverage)作為評價指標,用來測評一個推薦系統挖掘長尾用戶的能力,定義為

其中,表示系統中所有用戶的集合,()表示為用戶推薦一個長度為的候選用戶集合。覆蓋率越高,代表該推薦系統越好,有更多的人會被推薦,能夠更加有效地緩解推薦系統的馬太效應。

如果某個用戶在知乎平臺沒有回答過問題,說明該用戶在知乎平臺不是很活躍,即知乎平臺對該用戶的興趣集合影響很小,對于該用戶在所有平臺的權值向量中,知乎平臺對應的值設置為0。


圖2 模型的F1值隨主題數量變化



表2 學習步長與初始向量



將6.3節得到的參數代入模型,對用戶進行推薦。本文主要采用離線實驗方法,將數據分為訓練集和測試集,其中,訓練集用來對模型進行訓練,測試集用來對模型的性能進行測評。本文主要從推薦準確性和覆蓋率對模型進行評估,準確性主要包括準確率、召回率、1值和值,具體定義見6.1節。經過實驗發現,本文提出的URCP模型在準確性和覆蓋率方面均優于對比模型,并分別針對URCP模型準確性和覆蓋率較高的原因進行了詳細解釋。
根據式(8),得到實驗結果如圖3所示。

圖3 模型的準確率
由圖3可知,本文提出的URCP模型在準確率方面要優于其他對比模型。隨著推薦人數的增大,分母不斷增大,分子的增加速度低于分母,導致模型的準確率不斷下降。同時也發現,當推薦的用戶越少,模型的推薦效果越好。PYMK模型的準確率隨著推薦人數的增加,起伏波動較大,其他3個模型基本呈現平緩下降趨勢。當候選用戶集合長度為2時,URCP模型的準確率最好。
根據式(9),分析了模型的召回率,實驗結果如圖4所示。
由圖4可知,本文提出的URCP模型在召回率方面要優于其他對比模型。隨著的增大,推薦用戶增多,有更多的好友被推薦,導致召回率不斷增大。從圖4中可知,URCP模型和TWILITE模型的召回率要明顯優于PYMK模型和-means模型。

圖4 模型的召回率
在實驗中,依據式(10)來計算1值,圖5給出了實驗結果。

圖5 模型的F1值
由圖5可知,本文URCP模型在1值方面優于其他模型。綜合準確率和召回率的測試結果,發現隨著的增大,雖然準確率在不斷減小,但是召回率和1值在不斷增大。當推薦人數大于6時,準確率的下降速度與召回率的增長速度基本持平,使1值增長速度變緩。當推薦人數大于9時,由于準確率的下降速度大于召回率的增長速度,導致URCP模型的1值開始呈現下降趨勢。
依據式(11),測試了對比模型的,測試結果如圖6所示。
由圖6可知,本文提出的URCP模型在平均準確率方面要優于對比模型。值越大,說明模型能夠把目標用戶最喜歡的用戶放到推薦列表的靠前位置,能夠更加準確地刻畫用戶的興趣愛好,推薦效果更好。URCP模型的值明顯高于其他3個模型,說明該模型為目標用戶推薦的候選用戶更能滿足其興趣愛好。

圖6 模型的MAP值
圖3~圖6的測試結果顯示,相比既有模型,本文URCP模型在推薦的準確性方面具有顯著的優越性。對于TWILITE模型,只是在新浪微博平臺對用戶進行主題提取,并推薦興趣愛好最接近的前個用戶。利用這種模型得到的用戶興趣愛好是片面的,對用戶的興趣愛好描述的不夠全面。例如,用戶在新浪微博平臺發布足球相關的博文,但是其對軍事也很感興趣,卻很少表現出相關的行為動作,導致該模型無法有效地刻畫出用戶在軍事方面的興趣愛好,因此推薦效果不是很理想;對于-means模型,利用用戶發布的文檔之間的相似性對用戶進行好友推薦,效果不如通過提取文檔主題來進行推薦。現有的自然語言處理技術,還無法很好地對文檔直接進行描述,例如對同義詞的處理。文檔A中出現了“推薦系統”一詞,文檔B中出現了“推薦引擎”一詞,在計算2個文檔間的距離時,會認為這是2個完全不同的單詞,導致文檔差異性較大。本文提出的模型將文檔進行主題提取后,能夠更好地反映用戶興趣愛好;對于PYMK模型,利用協同過濾的思想進行用戶推薦,由于系統中有很多用戶更加傾向于關注大量其他用戶,自己卻很少發布博文,于是基于協同過濾的模型會將這些出度特別大但并不經常發布微博的用戶推薦給目標用戶。其次由于社交網絡的數據稀疏性,用戶之間無法通過關注關系很好地聯系起來,于是很多候選用戶與目標用戶興趣愛好相似卻不會被推薦,導致推薦準確性不高;本文URCP模型,分別提取用戶在各個平臺發布的文章,利用隱語義模型提取文章的主題分布,用文檔的主題分布表示用戶的興趣愛好,可以更好地對用戶行為進行描述,并利用回歸模型將用戶在所有平臺的興趣愛好進行綜合考慮,可以更加全面地對用戶的興趣愛好進行刻畫,因此,推薦效果比較好。
一個好的推薦系統,不僅要對用戶進行準確的推薦,還需要盡可能地保證每一個用戶都有機會被推薦給其他用戶,防止關注度越高的用戶越容易被關注,關注度較低的用戶更加不被關注。依據式(12),本文對模型的覆蓋率進行了測評,測試結果如圖7所示。

圖7 模型的覆蓋率
由圖7可知,本文提出的URCP模型在覆蓋率方面要優于其他對比模型。基于-means的聚類模型,會形成以大V用戶為中心的極大簇,推薦給目標用戶的候選用戶,很大一部分都是距離簇心較近的用戶,因此,覆蓋率較低;基于協同過濾的PYMK模型,主要通過關注關系對用戶進行推薦,由于新浪微博中數據較為稀疏,導致很多用戶無法被推薦,覆蓋率較低[24];基于主題模型的TWILITE模型,對用戶進行興趣愛好建模,根據用戶的興趣愛好相似度進行推薦,因此,推薦列表中的用戶大都集中在某個主題領域,所以覆蓋率較小;本文URCP模型,雖然也是利用興趣愛好相似度進行推薦,但是該模型不僅刻畫了用戶在新浪微博平臺的行為特征,還綜合考慮了用戶在其他平臺的興趣。例如,該模型為用戶A推薦了用戶B,是因為用戶A喜歡“足球”相關的內容,雖然用戶B在新浪微博平臺并沒有相關的行為特征,但是在知乎平臺發布了很多“足球”相關的文章,也會被推薦給用戶A,因此,該模型具有較高的覆蓋率。
在現有的在線社交網絡用戶推薦方法中,大部分是基于單平臺的用戶推薦。在單個平臺上,無法全面地理解用戶行為。此外,在單個平臺上,容易發生用戶冷啟動現象。對于一個新加入的用戶,人們無法獲取其行為特征,不能有效地對其進行好友推薦。因此,如何有效進行用戶推薦仍是一個具有挑戰性的問題。如果能融合其他平臺的數據進行跨平臺推薦,則會大大提高用戶推薦的準確性。然而,已有的一些利用跨平臺進行用戶推薦的方法,雖可以在一定程度上解決用戶冷啟動問題,但是其數據采集方法和用戶推薦模型不具有可擴展性。基于此,本文提出了一種新的跨平臺數據采集方法,具有較好的擴展性。此外,本文提出的跨平臺用戶推薦方法,不僅具有很好的推薦效果,而且可以較好地移植到其他跨平臺研究。本文采用基于跨平臺的用戶推薦方法有效融合其他平臺的用戶信息,能夠更加全面地對用戶進行興趣愛好建模,更加準確地進行用戶推薦。基于真實數據集上的實驗結果表明,本文提出的基于跨平臺的用戶推薦模型可以提高用戶推薦效果。
[1] DUAN J, AI Y. LDA topic model for microblog recommendation[C]//International Conference on Asian Language Processing (IALP). 2015: 185-188.
[2] 陳克寒, 韓盼盼, 吳健. 基于用戶聚類的異構社交網絡推薦算法[J]. 計算機學報, 2013, 36(2): 349-359.
CHEN K H, HAN P P, WU J. User clustering based social network recommendation[J]. Journal of Computer, 2013, 36(2): 349-359.
[3] 尚燕敏, 張鵬, 曹亞男. 融合鏈接拓撲結構和用戶興趣的朋友推薦方法[J]. 通信學報, 2015, 36 (2): 117-125.
SHANG Y M, ZHANG P, CAO Y N. New interest-sensitive and network-sensitive method for user recommendation[J]. Journal on Communications, 2015 , 36 (2) :117-125.
[4] ZHONG E, FAN W, WANG J, et al. ComSoc: adaptive transfer of user behaviors over composite social network[C]//The 18th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. 2012: 696-704.
[5] MORICZ M, DOSBAYEV Y, BERLYANT M. PYMK: friend recommendation at myspace[C]//The 2010 ACM SIGMOD International Conference on Management of data. 2010: 999-1002.
[6] DENG Z, HE B, YU C, et al. Personalized friend recommendation in social network based on clustering method[M]//Computational Intelligence and Intelligent Systems. Springer Berlin Heidelberg, 2012: 84-91.
[7] LIBEN-NOWELL D, KLEINBERG J. The link-prediction problem for social networks[J]. Journal of the American Society for Information Science and Technology, 2007, 58(7): 1019-1031.
[8] DAS A S, DATAR M, GARG A, et al. Google news personalization: scalable online collaborative filtering[C]//The 16th international conference on World Wide Web. 2007: 271-280.
[9] KIM Y, SHIM K. TWILITE: a recommendation system for Twitter using a probabilistic model based on latent Dirichlet allocation[J]. Information Systems, 2013, 42(3): 59-77.
[10] ABEL F, ARAUJO S, GAO Q, et al. Analyzing cross-system user modeling on the social Web[C]//International Conference on Web Engineering. 2011: 28-43.
[11] DENG Z, YAN M, SANG J, et al. Twitter is faster: personalized time-aware video recommendation from Twitter to YouTube[J]. ACM Transactions on Multimedia Computing, Communications, and Applications (TOMM), 2013, 11(2): 1-23.
[12] DENG Z, SANG J, XU C. Personalized video recommendation based on cross-platform user modeling[C]//IEEE International Conference on Multimedia and Expo (ICME). 2013.
[13] ROY S D, MEI T, ZENG W, et al. Social transfer: cross-domain transfer learning from social streams for media applications[C]//The 20th ACM International Conference on Multimedia. 2012: 649-658.
[14] PAN S J, YANG Q. A survey on transfer learning[J]. IEEE Transactions on Knowledge and Data Engineering, 2010, 22(10): 1345-1359.
[15] ZHOU X, LIANG X, ZHANG H, et al. Cross-platform identification of anonymous identical users in multiple social media networks[J]. IEEE Transactions on Knowledge and Data Engineering, 2016, 28(2): 411-424.
[16] KONG X, ZHANG J, YU P S. Inferring anchor links across multiple heterogeneous social networks[C]//The 22nd ACM international conference on Information & Knowledge Management. 2013: 179-188.
[17] GAGA O, LEI H, PARTHASARATHI S H K, et al. Exploiting innocuous activity for correlating users across sites[C]//The 22nd International Conference on World Wide Web. 2013: 447-458.
[18] NARAYANAN A, SHMATIKOV V. De-anonymizing social networks[C]//30th IEEE Symposium on Security and Privacy. 2009: 173-187.
[19] SALEM Y, HONG J, LIU W. CSFinder: a cold-start friend finder in large-scale social networks[C]//IEEE International Conference on Big Data (Big Data). 2015: 687-696.
[20] MANDL M, FELFERNIG A. Improving the performance of unit critiquing[C]//International Conference on User Modeling, Adaptation, and Personalization. 2012: 176-187.
[21] MCCARTHY K, SALEM Y, SMYTH B. Experience-based critiquing: reusing critiquing experiences to improve conversational recommendation[C]//International Conference on Case-Based Reasoning. 2010: 480-494.
[22] SALEM Y, HONG J. History-aware critiquing-based conversational recommendation[C]//The 22nd International Conference on World Wide Web. 2013: 63-64.
[23] JONGHYUK S, SANGHO L, JONG K. Spam filtering in twitter using sender-receiver relationship[J]. Recent Advances in Intrusion Detection-international Symposium, 2011, 6961: 301-317.
[24] ADOMAVICIUS G, TUZHILIN A. Toward the next generation of recommender systems: a survey of the state-of-art and possible extensions[J]. IEEE Transactions on Knowledge and Data Engineering, 2005, 17(6): 734-749.
User recommendation based on cross-platform online social networks
PENG Jian1, WANG Tuntun1, CHEN Yu1, LIU Tang2, XU Wenzheng1
1. ComputerScienceSchool, Sichuan University, Chengdu 610065, China 2. College of Fundamental Education, Sichuan Normal University, Chengdu 610068, China
In the field of online social networks on user recommendation, researchers extract users’ behaviors as much as possible to model the users. However, users may have different likes and dislikes in different social networks. To tackle this problem, a cross-platform user recommendation model was proposed, users would be modeled all-sided. In this study, the Sina micro blog and the Zhihu were investigated in the proposed model, the experimental results show that the proposed model is competitive. Based on the proposed model and the experimental results, it can be known that modeling users in cross-platform online social networks can describe the user more comprehensively and leads to a better recommendation.
cross-platform, user recommendation, online social networks, data mining
TP311
A
10.11959/j.issn.1000-436x.2018044
2017-06-26;
2018-01-10
國家自然科學基金資助項目(No.U1333113, No.61602330);四川省科技支撐計劃基金資助項目(No.2014GZ0111);四川省教育廳科研基金資助項目(No.18ZA0404)
The National Natural Science Foundation of China (No. U1333113, No. 61602330), Science and Technology Support Plan Foundation of Sichuan Province (No. 2014GZ0111), The Scientific Research Fund of Sichuan Provincial Education Department (No.18ZA0404)
彭艦(1970-),男,四川成都人,博士,四川大學教授,主要研究方向為大數據、傳感器計算、移動計算等。

王屯屯(1992-),男,河南安陽人,四川大學碩士生,主要研究方向為數據挖掘、推薦系統、用戶行為建模等。
陳瑜(1974-),男,四川成都人,博士,四川大學講師,主要研究方向為進化計算、機器學習等。

劉唐(1980-),男,四川樂山人,博士,四川師范大學副教授,主要研究方向為無線傳感器網絡、無線能量傳輸等。
徐文政(1985-),男,四川成都人,博士,四川大學副研究員,主要研究方向為社交網絡、物聯網、移動計算。
