1. 程式人生 > >Attention+:一種基於關注關係與多使用者行為的圖推薦演算法

Attention+:一種基於關注關係與多使用者行為的圖推薦演算法

劉夢娟, 王巍, 李楊曦,等. AttentionRank~+:一種基於關注關係與多使用者行為的圖推薦演算法[J]. 計算機學報, 2017(3).

基於Random Walk的TSPR演算法

該演算法採用一階Markov-chain計算遊走 概 率。方法如下:分別從每個使用者節點出發,在“用物品”二分圖上進行一輪Random Walk;每當到達 一個節 點 時,需要判斷是以概β繼續向下遊走,還是以1-β概率返回出發點重新遊走;重複遊走過程,直到二分圖上使用者與物品的遊走概率(即相似度)收斂到穩定值;最終,根據使用者對物品的遊走概率生成每個使用者的物品推薦列表。

演算法設計

步驟:
演算法流程圖

構建“使用者-物品”反饋圖

“用 戶 -物品”反饋圖中,不僅設計了基於使用者多種反饋型別的“使用者 -物品”邊,還增加了反映使用者共同反饋緊密程度的“使用者-使用者”邊,以提高具有共同興趣的使用者節點之間的遊走概率。
使用者-物品反饋圖
假設系統中有N 種使用者反饋型別,每種反饋型別發生的總次數記為(F1,F2,…,FN),首先按照式(2)計算每種反饋型別對應的 歸 一 化 後 的 權 重,記 為 (f1,f2,…,fN ),f1+f2+…+fN =1;然後根據使用者vu對物品vi的歷史反饋記錄,計算邊e(vu,vi)的權值w(vu,vi),如式(3)所示,這裡numm(vu,vi)是使用者Vu對物品vi執行第 m 種反饋型別的次數,通常numm(vu,vi)的取值為0 或 1,表示使用者是否執行過這種反饋,因 此“使用者 -物品”邊的權重範圍為(0,1]
這裡寫圖片描述

  • “使用者-使用者”邊的建立
    借鑑Hammock寬度的概念:即如果兩個使用者共同反饋的物品數越多,則說明兩個使用者的興趣相似度越高,在 兩 個 用 戶 之 間 建 立 一 條 無 向 邊,可 以 增 加Random Walk時從使用者節點到與其興趣相似的使用者節點,以及這些節點的反饋物品節點的遊走概率.使用者相似度的計算該論文提出一種基於“使用者 -物品”邊權重的計算方法:假設使用者x 和使用者y 有共同反饋的物品集合為{i1,i2,…,iS},這裡共同反饋的物品數為S,則使用者相似度計算如式(4)所示:
    使用者相似度
    如果usersim(x,y)大於設定的相似度閾值k,則在兩個使用者節點之間建邊,閾值k 稱為 Hammock 寬度.“使用者 -使用者”邊的權重計算方法如式(5):
    使用者-使用者邊的權重

    本文中設定α=0.5,用於調節“使用者 -使用者”邊與“使用者 -物品”邊的權重保持一致,限制取值範圍為(0,1]。

構建使用者興趣圖

使用者興趣圖
A使用者關注了C使用者,則建立一條從C(被關注使用者)指向A(關注使用者)的有向邊。

假設使用者節點vu在興趣圖中關注的使用者集合為IN (vu),|IN(vu)|表示被vu關注的使用者節點個數,simi(vy,vi)表示被關注使用者節點vy在反饋圖上與節點vi的相似度資訊,則經過興趣圖擴散相似度資訊後,使用者節點vu獲得的反饋圖中各節點的相似度資訊(資訊擴散所獲得的相似度):
這裡寫圖片描述
這裡寫圖片描述

Random Walk和擴散過程

完成n次Random Walk後,使用者節點vu與反饋圖中每個節點vi的相似度(隨機遊走所得相似度)
這裡寫圖片描述

再利用式(6)或式(7)計算相似度,達到資訊擴散的目的。

綜合考慮了從反饋圖和從興趣圖分別得到的節點相似度資訊,其中γ∈[0,1]是調節引數,用於調節兩種資訊源對最終相似度的影響程度,最終得到的每個使用者節點與反饋圖中個節點的相似度為:
這裡寫圖片描述
判斷該相似度是否收斂,若沒收斂則繼續隨機遊走和擴散。下一輪 RandomWalk時的初始狀態只跟上一輪得到的節點相似度有關
這裡寫圖片描述

分類

並非所有使用者都受其關注物件行為的影響.為此本論文設計一個樸素貝葉斯分類器,用以將存在關注行為的使用者劃分為兩類:受關注物件正影響或無影響的使用者類 C1、受 關注物件負影 響 的 用 戶 類C2.根據分類結果將 C2類使用者及其對應的關注邊從興趣圖中刪除。
設計分類器:考慮每個使用者元組有2個屬性,記為u=(x1,x2),其中屬性x1表示該使用者關注其他使用者的數量|IN(vu)|,屬性x2表示使用者與其被關注物件的平均相似度。
這裡寫圖片描述
這裡寫圖片描述