席園園 胡文潔 王進強 周書冉 吳 限 徐 露
(河南師范大學 河南 新鄉(xiāng) 453007)
在數(shù)據(jù)時代到來之際,海量的信息為我們帶來了很多的便利,但是與此同時,也為我們帶來了很大的麻煩與負擔。如何在海量的信息中提取我們有用的信息成為了一個新的難題。此時推薦系統(tǒng)的孕育而生,為我們在這一難題上貢獻一份力量。但是在推薦系統(tǒng)發(fā)展至今冷啟動問題有成為一熱門研究話題。
傳統(tǒng)的協(xié)同過濾算法可分為3步驟:
1.1 建立用戶個人檔案。通過收錄用戶的信息,包括對某一特定事物的評價,和行為等,來形成用戶的個人“信息檔案”。如表1所示。
1.2 尋找相似度最近的用戶。通過相似度的計算。來找相似度最為接近的兩個用戶,形成最近鄰居
1.3 推薦階段。在第二步的基礎上利用相似度最近的兩個用戶的用戶集,來進行推預測薦。
經(jīng)典的推薦算法一般如下:
其中,a,pi代表待被推薦用戶和對項目的預測值大??;uyr代表被推薦用戶a的相似度最近的用戶的用戶集中的用戶a對項目λ的評價。這里的目標用戶a的最近鄰居鄰居集用NN(nearest neighbour)表示,因此,u∈NN。通過對用戶集中用戶的評價這里可以返回用戶的相似集U{U1,U2,…,Ui,…}(U1表示第1個用戶,U2表示第2個用戶,Ui表示第i個用戶,下同)。本文計算相似度使用了余弦相似度計算公式,它通過計算兩個向量的余弦夾角,來得出余弦相似度。那么,對于m*n的用戶 -標簽矩陣,用戶U1,U2的相似度計算公式如(2)所示:
根據(jù)上述步驟可以得到相似用戶集合,從而可以對待被推薦的用戶的行為進行計算、預測,得出其推薦結果。目標用戶a與其相似度最為相近的用戶,此時的用戶組成一個用戶集用NN表示,因此,u∈NN。協(xié)同過濾是推薦系統(tǒng)中一個經(jīng)典的算法,但是該算法未能解決冷啟動問題,致使一些剛進入網(wǎng)絡,沒有行為的用戶,無法進行相似度計算,從而進行推薦。所以鑒于就引入了信任網(wǎng)絡和用戶標簽,來解決冷啟動問題。
信任網(wǎng)絡是依據(jù)一個常用的人際交往定律而成的,一個人能通過六個人找到世界上任何一個人?;诖耍谕扑]系統(tǒng)構建信任網(wǎng)絡,尋找最短路徑。依據(jù)新用戶信任的用戶的推薦來預測新用戶的愛好和行為,從而進行推薦[1]。
信任網(wǎng)絡的構建采用Dijkstra算法,構建最短路徑圖。從而尋找出最信任的用戶,構建出信任網(wǎng)絡。這樣就極其方便的解決了冷啟動問題,方便了新用戶的使用。
但是信任網(wǎng)絡依據(jù)用戶的個人信息太少,而且用來求取的最短路徑算法過于簡單,不能智能應對推薦系統(tǒng)的復雜程度。這也是信任網(wǎng)絡在解決冷啟動問題的存在的不足之處。
在新用戶進入一個環(huán)境中時,系統(tǒng)并沒有可靠的參考資料來進行參考推薦,這也是冷啟動問題的根源。但是如果用戶在進入系統(tǒng)時已知了一些屬性,我們就可以根據(jù)這些屬性即對用戶下的標簽來進行推薦。
以下以微博推薦為主解釋標簽獲取和計算[2]:
(1)標簽獲取算法如下:
①收集標簽,通過對用戶關注的人和關注自己的人的標簽的收集來獲取最原始的用戶標簽。其中將自己關注的和關注自己的標簽進行比重的劃分。
②篩選排序,對收集到的所有標簽進行排序,按標簽的權重值和出現(xiàn)次數(shù)排序,根據(jù)自己的預測精度來確定需要保留多少個。通過保留的標簽進行處理。
③根據(jù)返回用戶最愛標簽列表(出現(xiàn)次數(shù)最多的),組成的一個標簽矩陣,該標簽矩陣可以對其進行標簽相似度的計算,根據(jù)自己預測精度來確定自己相似度需要取,可以從矩陣選出推薦用戶。
(2)標簽獲取算法計算步驟:
①遍歷用戶關注和粉絲兩種好友,返回最感興趣標簽表。對多個用戶進行最感興趣標簽表整理后,得到用戶 -標簽矩陣表。
②計算相似度。相似度計算算法可以用于計算用戶或項目相似度。
原有信任網(wǎng)絡在構建時存在著嚴重的缺陷,實施的可行性較低。并且假設網(wǎng)絡已經(jīng)構建起來后在其中尋找最短路徑時一般使用的是廣度優(yōu)先或者深度優(yōu)先遍歷之類的算法,如果在信任網(wǎng)絡變化時對應的數(shù)據(jù)結構也得發(fā)生變化,軟件耗時較大。所以基于此本文建立動態(tài)信任網(wǎng)絡模型,并通過粒子群優(yōu)化算法優(yōu)化信任網(wǎng)絡的最短路徑。
動態(tài)信任網(wǎng)絡對的協(xié)同過濾算法采用的推薦過程共有6個部分組成,分別是評分矩陣,信任矩陣、信任網(wǎng)絡搜索、推薦系統(tǒng)列表、信任動態(tài)更新、評分預測這六部分。
通過評分矩陣和信任矩陣的輸入,在信任網(wǎng)絡中進行搜索,根據(jù)評分情況進行分類。導出推薦系統(tǒng)列表,在推薦系統(tǒng)列表的基礎上再進行評分預測,以最新評分預測進行信任動態(tài)更新得出新的信任矩陣,以此構成循環(huán),進行動態(tài)信任網(wǎng)絡模型。利用粒子群優(yōu)化算法來優(yōu)化最短路徑。
粒子群算法解釋如下:
粒子群算法受飛鳥集群活動的規(guī)律啟發(fā)。以鳥飛行覓食為例,將鳥當成粒子,擁有兩個屬性,速度和位置(包括自己的位置和食物的位置),大概知道距離食物有多遠,但不知道具體的位置。但是粒子可以根據(jù)自己的屬性計算出距離食物的路線,通過在粒子群中的搜索目前離食物最近的鳥的周圍區(qū)域,繼而鳥群會根據(jù)最短距離進行調(diào)整。以下是粒子群算法解析:
假設在任意空間中隨機對粒子進行初始化,采用粒子的位置表示可能的方案的解,在其每次迫近最佳位置的迭代過程中,粒子會根據(jù)兩個極值來完成自我更新,分別是個體極值,單粒子找到最佳解。另外則是全局極值,全部粒子群體找到的最佳解。
更新自己的速度和位置公式:
基于標簽的推薦協(xié)同過濾推薦系統(tǒng)在相似度計算時采用余弦相似度的做法,但是依然存在很多
缺陷?;诖吮疚奶岢鲆环N新的算法與標簽化的協(xié)同過濾系統(tǒng)融合從而更加精準的計算出在標簽化的前提下的用戶相似度情況[3]。
本文相關相似性又稱為Pearson相關性,其方法表示為:
信任網(wǎng)絡和用戶標簽化的配合使用使得協(xié)同過濾冷啟動問題得到較好的解決,適用于大多數(shù)場景,具有較強的普遍適用性。并且該混合算法對信任網(wǎng)絡和用戶標簽化算法進行了逐一的優(yōu)化,算法的整體效率較好。
協(xié)同過濾推薦系統(tǒng)在生活中有著較為廣泛的應用。本文針對協(xié)同過濾推薦系統(tǒng)冷啟動問題進一步研究,優(yōu)化信任網(wǎng)絡和標簽化算法并將二者進行有機結合提出一種新的算法來解決協(xié)同過濾冷啟動問題。
信任網(wǎng)絡和標簽化推薦算法在協(xié)同過濾推薦系統(tǒng)中都有著較為優(yōu)異的表現(xiàn),但是存在著問題,經(jīng)過對這些問題進行算法優(yōu)化,使二者更具有實用性和可行性。