趙麗坤, 王于可
(1.長春醫學高等專科學校計算機教研室, 長春 130000; 2.吉林大學計算機學院, 長春 130012)
社交網絡在人們的工作、學習和生活中發揮著重要的作用,人們之間的互動、交流方式不再局限于時間、地點。然而,隨著社交平臺用戶數量的增多,以用戶為中心的信息生產模式造成了社交平臺數據的大量增長,引發信息過載問題[1],人們要想在龐大的數據信息中快速、準確尋找到自己所需要的內容較為困難。為此,相關專家提出了以搜索引擎為核心的數據信息檢索與推薦技術,其原理是通過用戶輸入相關詞匯來實現信息檢出,進而完成數據推薦,然而受用戶對關鍵信息的提取與描述的影響,這種方法檢出的信息質量不高,因此數據推薦精度并不能得到很好的保證[2]。
李凱凱等[3]通過移動社交網絡用戶行為和偏好的預測機制的建立進行了基于移動社交網絡的用戶情景化偏好預測、采集和識別研究;冉曉斌等[4]進行實證分 析Tobit模型對個體特征信息和使用行為數據,證實個體特征調節同伴活躍度與個體活躍度之間的作用;喬少杰等[5]提出一種新的基于模塊度聚類和圖計算思想面向復雜網絡大數據的重疊社區檢測算法,使得識別準確率增加;莫文杰等[6]所做研究表明,基于移動sink節點與集合節點的優化分簇算法與已有的低功耗自適應分簇算法相比, 具有良好的能耗均衡性;王保華等[7]采用基于以平均負載率為中心的預測域的免疫遺傳算法對優化模型進行全局最優求解,使MVB(multifunction vehicle bus)網絡的負載能力得到提高,加強系統的控制;包濤等[8]集成了五種不同性能的AI算法進行無功優化計算,用以指導電網對無功投切量和變壓器變比等參數的優化調整;郭昆等[9]在人工數據集和真實數據集上的實驗表明,文中算法可以有效應對網絡結構突變和增量計算累積誤差帶來的影響,降低時間復雜度。但以上文獻研究有關社交網絡用戶行為數據周期部分內容需要用戶提供明確關鍵詞才可完成信息檢索,在一定程度上受到用戶本身的限制,忽視了人工智能的先進性與重要性。
針對上述問題,以協同過濾為核心研究一種推薦算法,以用戶以往社交行為和數據基礎,建立一個相關模型,從而為用戶主動推薦所需要或感興趣的數據信息。根據上述描述,基于人工智能的社交網絡用戶行為數據周期推薦算法共分為三個部分:首先根據用戶行為建立評分矩陣,然后計算評分矩陣與網絡數據內容相似度并進行相似度排序,最后將相似度最高的N個數據項目推薦給用戶。與傳統推薦算法相比,基于人工智能({a,b}協同過濾)的社交網絡用戶行為數據周期推薦算法性能更好,為測試本文推薦算法的有效性,進行仿真測試,以便用戶快速尋找所需信息,提高社交平臺服務質量。
隨著互聯網技術的廣泛應用,社交網絡平臺上的用戶能夠輕而易舉地獲得大量數字信息資料,然而面對這些龐大的數據信息,如何從中有效識別出自己所需要的信息成為用戶面臨的一大問題[10]。面對上述信息超載現象,個性化信息服務技術成為研究的重點課題。人們力求在人工智能的幫助下,使得社交網絡平臺能夠自動識別出用戶當前感興趣的信息內容,從而實現為用戶主動推薦。
在社交網絡平臺上經常會主動搜索一些自己感興趣的內容,如電影、美食、音樂、明星等,將這一搜索過程轉變為完全自動化的推薦過程,就被稱為推薦協同信息過濾[11],簡稱協同過濾,其基本原理如圖1所示。

圖1 推薦協同信息過濾基本原理Fig.1 Basic principle of recommended collaborative information filtering
協同過濾是依據信息交流平臺用戶的歷史行為分析其興趣愛好,然后通過計算用戶興趣愛好數據內容的相似性來找到與用戶興趣愛好相似的群體[12],最后將相似性較高的前N個群體推薦給用戶的過程。下面對協同過濾過程進行形式化描述。
設A為社交網絡用戶行為數據集合,B為待推薦數據集合,用戶對某一項目的查詢歷史通過一個矩陣來表示,公式如下:

(1)
式(1)中:a∈A代表用戶,b∈B代表集合B中第b項目;T表示評價矩陣,其中每一項tab∈{-1,0,1}都代表用戶a對項目b的搜尋,“-1” 表示用戶對項目b不感興趣,“0” 表示用戶a對項目b未關注,“1” 表示用戶a對項目b感興趣,由此可得:

(2)
給定一個用戶項目對,令Q{a,b}代表用戶a對項目b的感興趣程度,即Q∈{A?B→T}。給定一個待推薦數據集合列表C,根據Q{a,b}計算C中每個項目的得分,表示如下:

(3)
根據式(3)能夠獲取得分結果,然后根據分值按照從大到小的順序排列,將得分最高的前N個項目Ra作為該用戶行為數據[13],進行用戶感興趣程度數據周期推薦。
協同過濾下的社交網絡用戶行為數據周期推薦算法,是在以下前提條件下進行的,也就是說,若用戶在進行某些項目的測試,得到的分數結果接近,則其在進行其他種類的項目測試,得到分數結果也較接近[14]。因此,協同過濾的核心步驟是依據用戶對特定項目的喜愛程度創建評分規則矩陣,即利用用戶的瀏覽記錄、點擊、收藏內容等作為評分指標,對用戶的感興趣項進行打分,以此建立評分矩陣,如表1所示。
一般情況下,只要尋找到與用戶興趣愛好相近的項目,就可完成數據周期推薦[15],而尋找到相近的項目就需要進行相似性計算問題研究。一般相似性計算方法有兩種:皮爾遜相關系數相似度、余弦相似度計算。
1.2.1 皮爾遜相關系數相似度計算
Pearson(皮爾遜)相關系數,又被稱為Pearson積差關聯性系數,對于延續的變量之間的系數關聯性,起到衡量作用,其取值范圍為[-1,1][16],公式表示為

(4)

1.2.2 余弦相似度計算
用戶a和用戶a′通過兩個n維向量Ia和Ia′來表示,則二者之間的相似度為

(5)
式(5)中:cos(Ia,Ia′)為向量Ia和Ia′之間的夾角余弦值,其值越大,用戶之間的相似度就越大,反之則越小[17-18]。
然而上述標準的余弦相似度與用戶自身制定的評分標準有著直接關系,標準定得過高或過低均會對相似度計算結果產生直接影響。為此,需要進行修正,公式為

(6)
式(6)中:Iaa′為修正后用戶a和用戶a′配合測評項目的集合量;Ia表示用戶a測評過后的子集;Ia′表示用戶a′測評過后的子集。
根據上述分析,選擇皮爾遜相關系數方法對用戶之間的相似度進行計算。根據皮爾遜相關系數方法的相關公式[式(4)]可知計算公式為

(7)
在上述的基礎上,根據已經計算好的相似度生成用戶鄰居集,實現社交網絡用戶行為數據周期推薦。在這里生成用戶鄰居集的方法有兩種:一是閾值法,即通過判斷相似度是否大于設定閾值,當大于閾值時,該用戶就是目標用戶最近的鄰居,也就是要推薦的數據[19-20]。二是Top-N法,其原理是按照從大到小的順序自動生成推薦列表,然后取其中相似度最高的前N個用戶組成集合,也就是說,按照一定順序排列組合,最終依據用戶對測評項目結果的滿意程度選取最佳偏好,實現非測評項目的預測目的,并形成集合推薦給用戶,即要推薦的周期數據,形成數據集。典型預測公式為

(8)
轉換為

(9)

(10)
式中:Fa,b為預測偏好值。
綜合前面的描述,協同過濾下的社交網絡用戶行為數據周期推薦算法實現過程如圖2所示。

圖2 協同過濾下社交網絡用戶行為數據周期推薦算法Fig.2 Recommendation algorithm of social network user behavior data cycle under collaborative filtering
STEP 1根據用戶評分建立m×n用戶-項目評分矩陣。
STEP 2計算鄰域間目標用戶的相似性,且依據用戶對項目的滿意程度和契合程度規劃相近的鄰域集。
STEP 3利用 Top-N 法建立推薦列表,實現社交網絡目標用戶行為數據周期推薦。
在算法設計完成后,需要進行性能測試,以驗證本文算法的性能以及推薦質量。實驗采集GaGaMatch社交平臺(www.gagamatch.com)的1 000位用戶數據,包括用戶的瀏覽記錄、點擊、收藏內容等,將其興趣愛好定為電影、美食、美妝及影視明星等,并進行用戶-項目評價打分,產生約1 000萬個評分數據,以此作為實驗測試數據,進行社交網絡用戶行為數據周期推薦性能分析。
在MATLAB環境下進行實驗分析,運行系統為Windows 8。實驗參數設置如表2所示。

表2 軟硬件環境配置
選取以下幾個評價指標進行實驗測試分析,具體如下:
(1)相似度計算準確率。相似度計算結果的準確率對于推薦效果具有重要影響,以相似度計算準確率為指標驗證本文算法的有效性。
(2)推薦精度Z。

(11)
式(11)中:n為社交網絡中用戶的打分項目數量;v為用戶的實際打分;v′為用戶的預測打分。
(3)召回率L。

(12)
式(12)中:α(a)表示在推薦列表中為用戶a召回量;β(a)表示用戶a在測試結果最終選擇的對象集合的召回量。
(4)不同數據源下的推薦耗時。數據推薦結果往往容易受數據源種類的影響,本實驗在單一數據源和多數據源條件下進行推薦耗時測試,驗證本文算法性能。
2.2.1 相似度計算準確率
為驗證上述本文算法推薦精度較高的這一結論,對推薦算法實現過程中的相似度計算這一指標進行分析,分別利用本文算法和文獻[5]算法計算相似度準確率,結果如圖3所示。
根據圖3分析結果可知,本文算法計算精度比文獻[5]算法高,平均在85%左右,提高了計算結果的準確性,為社交網絡用戶行為數據周期推薦的完成奠定了基礎。這是因為詳細分析了皮爾遜相關系數相似度和余弦相似度計算方法,選擇了性能較好的皮爾遜相關系數相似度計算方法,獲取了較好的結果,相似度計算準確率高于文獻方法。

圖3 相似度計算準確率測試結果Fig.3 Test results of similarity calculation accuracy
2.2.2 推薦精度對比
基于上述實驗環境和數據,將本文算法與文獻[5-7]算法的推薦精度進行對比,結果如表3所示。
從表3中可知,將本文算法應用在微博用戶行為數據周期推薦當中,推薦結果的精度在多次實驗測試中均較高,文獻[5]算法的推薦精度最高為92.7%,文獻[6]算法的推薦精度最高為92.8%,文獻[7]算法的推薦精度最高為92.3%,而本文算法的推薦精度最高可達97.2%,具有明顯的優勢,彌補了傳統推薦算法存在的不足,達到了預期目標[18]。

表3 推薦精度對比結果
2.2.3 召回率對比
將本文算法與文獻[6-8]算法的召回率進行對比,結果如圖4所示。
分析圖4可以看出,文獻[6-8]算法的召回率分布范圍集中在40%~60%,召回率較低,本文算法的召回率分布較為平穩,在85%左右波動,最高可達到90%,由此可見,本文算法具有一定的優勢,推薦結果更為全面。

圖4 召回率對比Fig.4 Comparison of recall rate
2.2.4 不同數據源下的推薦耗時對比
在單一數據源和多數據源條件下進行推薦耗時測試,結果如表4所示。

表4 推薦耗時對比
根據表4分析結果可知,本文算法的推薦耗時不受數據源種類的影響,在單一數據源和多數據源條件下推薦耗時均不超過40 ms,而其他三種文獻方法的推薦耗時均受數據源種類的影響,在多數據源條件下的耗時較長。此外,從整體數據分析結果可以看出,本文算法的耗時遠遠低于其他文獻方法,可充分驗證本文算法的有效性。
綜上所述,近年來社交網絡平臺的應用越來越廣泛,在人們的學習、工作、生活中起到了重要作用,但近些年由于海量數據的不斷增長,用戶越來越難以從龐大的信息量當中提取出自己所需要的內容。為此,本次針對以往推薦算法存在的缺點,提出一種基于人工智能的社交網絡用戶行為數據周期推薦算法。該算法以協同過濾為核心,通過計算相似度來提取推薦內容,推薦精度有了極大提高,因此本文算法的性能更優越,更能為個性化服務提供支持。
然而該算法隨著用戶數量的增多,其計算量也在呈現幾何式增長,推薦效率會有所降低,社交網絡平臺服務質量受到影響,且沒有克服用戶本身的限制,推薦方式與內容依舊單一,因此需要進一步改進,增強人工智能算法的應用,提高算法性能,為社交網絡用戶行為數據周期推薦提供更加切實有效的算法推薦。