亓 晉,許 斌,胡筱旋,徐匾珈,肖星琳
(南京郵電大學 南京210003)
隨著移動互聯網的飛速發展,Facebook、Twitter、微博、微信、社交網站等構成的在線社會網絡[1](online social network,OSN)成為人們生活不可或缺的信息共享與溝通工具,并逐漸成為社會輿論傳播的新興主流途徑。一方面,OSN是連接現實社會和虛擬網絡空間的紐帶,匯聚了大量的關系、行為等可感知和可計算的人類社會的數字足跡。各種類型的OSN中產生的網絡行為已經能夠在很大程度上反映現實世界以及宏觀輿論導向的真實狀況,因而受到從政府機關到商業企業等各個領域的廣泛關注;另一方面,OSN快速崛起,已發展為規模異常龐大且具有實時隨機動態變化特征的行為載體,呈現出多源異構、信息傳播突發涌現、用戶和網絡行為陣發性等特點,其上聚集的海量龐雜、多源異構、大范圍時空關聯的用戶及網絡行為信息的認知及個性化推薦正在成為社會科學和自然科學領域的研究熱點。
推薦系統在20世紀90年代中期成為一個獨立的研究領域,被認為是應對“信息過載”的一個有效手段,現有的推薦系統可以分為3類:基于內容的推薦、協同過濾推薦(collaborative filtering recommendation,CFR)和混合推薦[2~4],其中協同過濾推薦是應用最為廣泛的推薦算法,它通過先推測出所有用戶的偏好,再根據互為鄰居的使用情況向其推薦相應的項目。
目前,國內外的學者和研究團隊已經對面向OSN的推薦系統展開了一系列相關的研究工作[5,6],并取得了一定成果。Sanchez等人結合協同過濾與基于內容的技術,提出了一種混合圖像推薦系統,以創造一種高度適應任何類型用戶的移動社交網絡[7]。Zanda等人設計和實現了一種移動社交活動推薦系統,整合Facebook社交網絡移動數據和傳感器數據向用戶提出活動推薦[8]。Lara等人將社交網絡中的組推薦系統通過模型的實例化,應用于Facebook的電影推薦中[9]。上述3篇參考文獻分別從算法、數據來源、模型等各方面改善了OSN推薦系統,豐富了OSN推薦系統的內容。Sun Z B等人考慮到用戶之間的社會關系,提出了一種社會正則化方法來提高推薦的準確性[10]。Kardan等人基于社交網絡上的信息及過去的廣告和狀態,提出了一種在社交網絡平臺上更具針對性的廣告推薦框架,為用戶提供更精確的信息推薦[11]。上述兩篇參考文獻利用用戶的社會關系OSN上的用戶信息來提高信息推薦的準確性,但總體來說,以上方法對于如何充分挖掘OSN上用戶行為并進行更為有效的個性化推薦,仍存在一定的局限性。
隨著對于認知科學研究的深入,將認知科學與信息科學相融合已經成為目前研究的熱點之一。目前國內外研究多是集中在信息檢索上[12],形成了許多具有代表性的認知信息檢索模型。如果能結合OSN用戶特征、文本信息及興趣偏好等可認知的用戶行為與推薦系統相結合,并實現高效、個性化的推薦服務,將會是有意義的研究方向。因此,本文設計了一種基于用戶行為認知的OSN協同推薦框架,在數據感知基礎上實現微博用戶特征、文本特征和用戶興趣偏好的行為認知,利用協同過濾算法,給出預測結果,實現個性化的電影推薦服務。
基于用戶行為認知的在線社交網絡協同推薦框架分為3層,如圖1所示。
第一層是數據感知層,負責從數據源感知相關數據,包括用戶信息以及用戶相關的文本信息數據,并將數據存入數據庫中,方便行為認知層計算;第二層為行為認知層,是框架的核心,負責將第二層感知到的初始數據進行處理,包括用戶特征分析、文本信息分析和用戶興趣建模3部分,認知結果將為上層的協同推薦提供支撐;第三層是協同推薦層,通過分析行為認知層所提交的認知結果,利用協同過濾算法,實現對用戶的個性化推薦。
數據感知層主要負責感知數據源的特定信息,包括:用戶信息,包括用戶的基本信息、用戶關注的好友等;用戶發布的文本信息,包括用戶發布的信息、用戶轉發的信息、用戶評論和點贊等信息。常用的數據感知方式有網絡爬蟲以及OSN提供的API。
·網絡爬蟲。最常用的數據感知方式是網絡爬蟲,負責從OSN獲取用戶及其文本信息以便后續的數據處理。以新浪微博為例,網絡爬蟲首先需要模擬用戶的登錄過程進行相關數據的爬取,登錄成功后即可獲取相關信息:一種是以文件的形式將用戶及其微博信息進行記錄;另一種是預先設定關鍵詞,根據關鍵詞匹配進行抓取數據。

圖1 基于用戶行為認知的在線社交網絡協同推薦框架
·OSN開放API。除網絡爬蟲的方式外,部分OSN向企業及個人提供開放API以滿足開發需求。該方法比網絡爬蟲更為簡單高效,但對單次獲取的信息量有一定的限制。
行為認知層主要負責將數據感知層獲取的初始數據進行處理,通過對用戶、文本信息分析,獲取用戶及文本特征,建立用戶興趣模型,為推薦層的協同推薦提供支撐。
3.2.1 用戶特征
特征1(年齡特征)用戶的年齡是一個自然數。為了避免數據稀疏的問題,將用戶年齡以15歲為起始點(即高一學生的平均年齡)進行分組,每6年為一組<15~20>、<21~26>、<27~32>、<33~38>、<39~44>、<45~50>、<50以上>。考慮個人隱私問題,將部分不填寫或錯誤填寫信息的用戶劃為無年齡組,每組的編號為用戶的年齡特征,即年齡特征=<15~20,21~26,27~32,33~38,39~44,45~50,50以上,無年齡>。
特征2(性別特征)用戶的性別特征分3類,即性別特征=<男性、女性、保密>。
特征3(個人標簽特征)OSN向用戶提供自定義標簽的功能或興趣標簽功能,用戶可根據自己的喜好設置相關標簽。本系統采用隱含狄利克雷分配LDA來分析用戶的興趣類別,通過計算用戶潛在的興趣向量,選擇權重最好的一個作為用戶的興趣類別,指定30類興趣,再加上部分用戶不使用自定義標簽,則共分31類。
特征4(組合特征)這是特征生成中較為常見的一種方式。本框架采用的組合特征包括<年齡×性別>、<年齡×標簽>、<性別×標簽>及<年齡×性別×標簽>。
3.2.2 文本信息
本系統采用中國科學院開發的分詞系統ICTCLAS系統進行文本信息分析,可有效進行中文分詞、詞性標注、未登錄詞識別等功能。
中文分詞和詞性標注后,需要進行關鍵詞的提取。關鍵詞的提取是文本處理過程中的關鍵步驟,選詞的結果將會直接影響最終的分類結果。文本特征抽取算法各有優缺點,考慮到OSN用戶行為認知中保留重要的詞語的特點,該框架采用改進的TF-IDF算法[13]。
首先,在TF-IDF中引入了置信度conf(wj,cm):

其 中,0<conf(wj,cm)≤1,cm為一個特定的類別,wj為 特征詞,N(wj,cm)表示cm中包含特征詞wj的文檔總數,N(wj,all)表示的所有類別中包含特征詞wj的文檔總數。
其次,引入特征詞wj的支持度sup(wj):

其中,0<sup(wj)≤1,N(all)表示全部訓練文檔集中文檔的總數,N(wj,all)表示的所有類別中包含特征詞wj的文檔總數。
由式(1)、式(2)可以得到一個主導度量:

滿足閾值dom(wj,cm)=1的特征詞被當作關鍵詞。若文檔dj中特征詞集合包含關鍵詞cw(wj,cm),文檔dj就會被劃分至cm中。即關鍵詞可以用于確定文檔是否被分至一個特定的類別。
為了避免特征詞的組合爆炸現象,該算法采取分層的方法進行選擇,且能夠較好地選擇高頻詞匯作為可選擇的關鍵詞。
3.2.3 用戶興趣建模
在用戶特征分析和文本特征分析的基礎之上,基于分布估算法的建模方法構建用戶興趣模型[14]。
首先找出用戶“感興趣”的項目集合su,定義su中的項目是用戶u評分高于其平均評分的項目:

其中,ru,n表示用戶u對項目n的評分,tn表示項目n的特征向量:

其中,kj是特征關鍵字,wj是kj的權重,而權重則由TF-IDF計算得出。
建模過程如下。
(1)隨機地從su中抽取n個關鍵詞放入Ku中,其中權重分別賦為0.1、0.3、0.5、0.7、0.9:

(2)初 始 化 群 體B0={profile1,profile2,…,profilen},其 中,profilen=((ki,wi),(kj,wj),…,(kk,wk)),(ki,wi)按 照 模 型p=(((k1,0.1),c1,1),…,((k1,0.9),c1,5),…,((kn,0.9),cn,5))隨機采樣。其中cn,i表示(ki,wi)的選取概率。cn,i初始為1/N,N為Ku中元素個數。
(3)當演化代數小于Maxgen時,執行下列過程:
·使用Fitness(profilen)=∑i∈sulog計算B0中每個個體的適應值,選擇前M(M ·使用更新后的p對Ku進行N次隨機采樣,得到新群體,并返回步驟(3)。 (4)選擇適應值最好的個體作為建模結果。 協同推薦層通過使用協同過濾算法,對行為認知層處理完成的數據進行分析,利用修正余弦相似度尋找最近鄰并產生相應推薦,實現對用戶的個性化推薦。 常用的相似度計算有余弦相似性、曼哈頓相似度、修正余弦相似度、Tanimoto相似度和皮爾遜(Pearson)相似度。本框架選擇修正余弦相似度來查找最近鄰[14]。 對于任意用戶和,相似度為: 其中,Iij為興趣模型中共有關鍵詞的集合,是用戶u1關鍵詞權重的平均值,wi,c是用戶ui關鍵詞c的權重。 得到最近鄰后,產生相應推薦。假設用戶u的最近鄰集合為NNu,則u對推薦對象i的評分可以通過計算得出,即: 其中,sim(u,n)指的是用戶u和NNu中的用戶n的相似度,ru指的是用戶u對推薦項目的評分,PRu,i則是指預測。 本實驗所用的數據來源于GroupLens研究小組提供的MovieLens公開數據集 (http://movieslens.umn.edu),包括943個用戶對1 682個項目(影片)的10萬條投票記錄,其中每個用戶至少對20部電影進行過評價,評分區間為1~5分。并選取其中80 000條作為訓練集,剩余460個用戶的20 000條評價作為測試集。 實驗硬件環境為Intel inside CORE-i5系列CPU、2.8 GHz主頻、4 GB內存。實驗軟件環境為Windows7操作系統、MyEclipse、SQL Server 2008數據庫。 為了驗證本文所提出的推薦框架的有效性,實驗分別選取成功率、平均絕對誤差(mean absolute error,MAE)和Pearson積矩相關系數(Pearson product-moment correlation coefficient,PCC)作為評價系統性能的指標,通過分析3種評價指標驗證框架的優越性。 (1)成功率 成功率r表示系統推薦的N部電影與用戶所有評分電影里的前N部的吻合程度。 (2)平均絕對誤差 mae表示某個用戶的預測評分與實際評分之間的偏差程度,而MAE通過計算所有用戶mae的均值來體現推薦系統的整體性能,mae和MAE越小表明推薦系統質量越高。設預測的用戶總數為m,用戶i評分集為(pi1,pi2,…,pin),實際的用戶評分集(qi1,qi2,…,qin),則mae的計算式為: MAE的計算式為: (3)Pearson積矩相關系數 Pearson積矩相關系數(PCC)衡量的是預測評分和真實評分的線性相關程度,取值區間為[-1,1],越接近1,表示系統的預測值與實際值越相近,即系統性能越好。設rα表示電影α的實際評分表示預測評分,則PCC計算式為: 4.4.1 成功率 分別對460個用戶進行推薦5部電影和推薦10部電影的成功率分析,從中隨機選取125個用戶成功率,結果如圖2所示。 圖2 推薦5部和10部電影的成功率 圖2 中橫坐標表示隨機挑選的125個用戶,縱坐標表示對某一用戶推薦N部電影的成功率,其中成功率為0的點表示該用戶并未評價任何電影,以致無法評價其成功與否。由圖2可知,推薦5部電影的實線與推薦10部電影的虛線大致吻合,說明本文所提出的框架穩定性較好。經計算,推薦5部和推薦10部的平均成功率分別為=37.13%、r10=55.84%,均大于30%,屬較高水平。同時實驗也選取了15部、20部、25部,計算其平均成功率并與上述實驗結果一起比較,見表1。 表1 推薦不同部數平均成功率 由表1可知,推薦系統成功率與推薦部數密切相關,推薦部數越多,成功率越高。但如果推薦太多,用戶反而難以翻閱,且增加系統負擔,因此結合成功率與實際情況,推薦5部較為合適。 4.4.2 平均絕對誤差 根據第4.4.1節對于成功率的分析,計算出當推薦5部電影時,每個用戶的mae值如圖3所示。 圖3 每個用戶mae分布 用戶對電影的評分是1~5的整數,當用戶未對電影評分時默認為0。由圖3可知,在推薦的電影數量為5部時,縱坐標代表各個用戶的mae值,mae值的大小表示用戶實際評分與預測評分相差的數值。由式(10)計算出系統整體的MAE為0.967,表示用戶實際評分與預測評分相差為1分左右,說明用戶的實際評分和系統的預測評分差距不大,預測值基本能表示用戶對該電影的喜惡程度。 4.4.3 Pearson積矩相關系數 利用電影的評分向量,計算每部電影的PCC,以估計預測評分和實際評分的線性相似度,結果如圖4所示。 圖4 1680部電影的PCC值 圖4 中,PCC指標表示越接近1,則系統預測評分與用戶實際評分越接近,說明該系統性能較好。由圖4可知,1 600部電影對應的PCC值始終位于0.7以上,處于一個比較高的水平,說明本文提出的推薦系統的預測值與實際值較為接近,推薦系統的推薦質量較高,性能較好。 隨著社交網絡的不斷發展,用戶與用戶之間的社交關系也愈加復雜,社交網絡每天也會產生愈加龐大的數據信息,如何從中發掘有用的信息并為用戶提供合適的個性化推薦有著重要的意義。實驗結果表明,同時考慮用戶社交特征以及用戶的數據信息能夠更為有效地為服務推薦提供決策支持,使得成功率以及誤差都有著較好的結果。本文構建了一個基于協同過濾算法的推薦框架,通過分析用戶的社交特征以及用戶的數據信息,為用戶進行興趣建模,從而為用戶進行合適的推薦。實驗證明,本框架具有較好的成功率和實驗誤差,具有良好的應用效果。 1 徐恪,張賽,陳昊等.在線社會網絡的測量與分析.計算機學報,2014,36(9):165~188 Xu K,Zhang S,Chen H,et al.Measurement and analysis of online social network.Chinese Journal of computers,2014,36(9):165~188 2 Burke R.Hybrid recommender systems:survey and experiments.User ModelingandUser-AdaptedInteraction,2002,12(4):331~370 3 Herlocker,J L,Konstan J A.Terveen K,et al.Evaluating collaborative filtering recommender systems.ACM Transactions on Information Systems,2004,22(1):5~53 4 Hofmann T.Latent semantic models for collaborative filtering.ACM Transactions on Information Systems,2004,22(1):89~115 5 Adomavicius G,Tuzhilin A.Toward the next generation of recommender systems:a survey of the state-of-the-art and possible extensions.IEEE Transactions on Knowledge and Data Engineering,2005,17(6):734~749 6 Resnick P, Varian H R. Recommender systems.Communications of the ACM,1997(40):56~58 7 Sanchez G,Faustion A,Barrilero G,et al.Social and content hybrid image recommender system for mobile social networks.Mobile Networks and Applications.2012,17(6):782~795 8 Zanda A,Eibe S,Menasalvas E.SOMAR:a social mobile activity recommender.Expert Systems with Applications,2012,39(9):8423~8429 9 Quijano-Sanchez L,Diaz-Agudo B,Recio-Garcia J A.Development of a group recommender application in a social network.Knowledge-Based Systems,2014(71):72~85 10 Sun Z,Han L,Huang W,et al.Recommender systems based on social networks.Journal of Systems Software,2015(99):109~119 11 Kardan A A,Hooman M.Targeted advertisement in social networks using recommender systems.Proceedings of 7th International Conference on e-Commerce in Peveloping Countries:With Focus one-Secury(ECDC),Kish Island,Iran,2013 12 Koren J,Zhang Y,Liu X.Personalized interactive faceted search.Proceedings of World Wide Web Conference Series,Beijing,China,2008:477~486 13 Zhang Y T,Gong L,Wang Y C.An improved TF-IDF approach for text classification.Journal of Zhejiang University-Science A:Applied Physics &Engineering,2005,6A(1):49~55 14 梁天一,梁永全,樊健聰等.基于用戶興趣模型的協同過濾推薦算法.計算機應用與軟件,2014(11)Liang T Y,Liang Y Q,Fan J C,et al.Collaborative filtering recommendation algorithm based on user interest model.Computer Applications and Software,2014(11)3.3 協同推薦層


4 實驗結果分析
4.1 實驗數據來源
4.2 實驗環境
4.3 評價指標



4.4 實驗結果及分析




5 結束語