于用戶消費、參與以及進行行為交互的數據信息,比如 商品、廣告以及虛擬信息等。
[0128] 本實施例中,以電子商務網站中的商品為例進行說明;所述項目中的其它類型的 數據信息與商品相類似,參照本實施例提供如下商品的推薦方法即可,本實施例不在一一 列出。
[0129] 所獲取待推薦給目標用戶的項目集合包括以下步驟:
[0130] 1)獲取所述目標用戶的參與行為涉及的商品;
[0131] 所述的參與行為包括用戶在電子商務網站購物過程中,對應于商品的瀏覽、點擊、 收藏、加入購物車、支付和/或分享等行為。
[0132] 在獲取所述目標用戶的參與行為涉及的商品之前,要進行數據的準備工作,即:獲 取用戶在電子商務網站購物過程中瀏覽、點擊、收藏、加入購物車、支付和分享等行為所對 應的數據。本實施例中,電子商務網站將用戶在購物過程中產生的相關數據存儲到數據庫 中。此外,服務器會周期性的(比如每天)將該數據導入云計算平臺(比如Hadoop)。
[0133] 完成上述的數據準備工作之后,獲取所述目標用戶的參與行為涉及的商品。需要 說明的是,所述商品是指包含一件或多件商品的商品集。
[0134] 2)獲取該項目對應的項目種類下所有的有過用戶的參與行為的項目的集合,將所 述項目的集合作為待推薦給目標用戶的項目集合;
[0135] 根據上述步驟1)獲取到目標用戶的參與行為涉及的商品之后,對于所述商品:
[0136] 確定每一件商品對應的商品種類(比如電子產品、食品、圖書音像等);
[0137] 獲取該商品種類下所有的有過用戶參與行為的商品的集合,并將該商品的集合作 為待推薦給目標用戶的商品集合。
[0138] 步驟S102,獲取對所述待推薦給目標用戶的項目集合中項目有過參與行為的用戶 組成的用戶集合。
[0139] 步驟SlOl確定了待推薦給目標用戶的商品集合,對于該商品集合中的每一件商 品,獲取對該商品有過參與行為的用戶;類似的,獲取所述商品集合中所有商品有過參與行 為的用戶集合。
[0140] 步驟S103,獲取該用戶集合中的每一用戶的影響力值。
[0141] 所述用戶的影響力值表征項目活動中用戶之間的相互影響程度。本實施例中,為 了反應不同的用戶類型之間用戶的行為差異性和用戶之間的相互潛在影響,引入用戶的影 響力值的概念,并且將用戶的影響力值作為不同用戶之間的差異性判斷標準。
[0142] 具體的,用戶在電子商務網站購物過程中,用戶的影響力值能夠反應用戶在電子 商務網站當中的影響力,并且不同用戶(比如資深用戶和小白用戶)之間的購物行為也有 所差異;所述用戶的影響力值隱含在用戶購物的歷史行為當中,一定程度能夠反映用戶對 某類商品或者某個領域的認知水平,在協同過濾推薦中,影響力值比較高的用戶通常代表 該用戶對某種類型的商品或者某個領域認識較深,并且影響力值比較高的用戶能夠為普通 用戶的購物產生一定的影響,通常表現為影響力值比較高的用戶能夠為普通用戶的購物提 供一定程度的指導。
[0143] 所述影響力值的計算過程如下:
[0144] 1)獲取所述用戶集合中每一用戶針對于所述項目集合中每一項目的活躍度,并形 成用戶與項目的矩陣;
[0145] 所述活躍度表征所述用戶集合中每一用戶針對于所述項目集合中每一項目的參 與程度;活躍度可以表現為用戶針對于某一商品的評分,也可以是用戶針對于該商品的參 與行為;
[0146] 例如:用戶多次購買某一商品或者對該商品的評級很高,則認為用戶針對于該商 品具有較高的活躍度;反之。
[0147] 更進一步,用戶針對于某一商品的參與行為的有很多種(比如瀏覽、點擊、收藏、 加入購物車、支付和/或分享等),為了體現用戶不同的參與行為之間的差異性,對用戶的 每一種參與行為賦予一個值,g卩:行為權重;
[0148] 例如:
[0149] 用戶的瀏覽行為對應的行為權重為1 ;
[0150] 用戶的點擊行為對應的行為權重為2 ;
[0151] 用戶的收藏行為對應的行為權重為5 ;
[0152] 用戶的加入購物車行為對應的行為權重為10 ;
[0153] 用戶的支付行為對應的行為權重為20 ;
[0154] 用戶的分享行為對應的行為權重為8。
[0155] 此外,為了表征用戶針對于不同商品之間同一參與行為不同的參與的次數,引入 參與次數;
[0156] 參與次數表征用戶針對于某一商品的同一參與行為的參與的次數。
[0157] 所述用戶集合中每一用戶針對于所述商品集合中每一商品的活躍度計算包括如 下兩步:
[0158] a、對于所述用戶集合中每一用戶,獲取該用戶針對于所述商品集合中每一商品的 所有參與行為的集合,以及該集合中每一種參與行為的參與次數和每一種參與行為對應的 行為權重;
[0159] b、計算所述集合中每一種參與行為的參與次數與行為權重的乘積,并計算該集合 中所有參與行為的參與次數與行為權重的乘積的加權值,將該加權值作為所述用戶集合中 每一用戶針對于所述商品集合中每一商品的活躍度。
[0160] 用戶的參與行為用Xk表不,該參與行為Xk對應的次參與數用T k表不,該參與行為 Xk對應的行為權重用Wk表示,用戶i針對于商品j的活躍度用Alj表示;
[0161] 例如:
[0162] X1表示瀏覽、X2表示點擊、X3表示收藏、X4表示加入購物車、X 5表示支付和X6表示 分孕;
[0163] 則1至評6的值依次為:1、2、5、10、20和8 ;
[0164] 對于 Tk;
[0165] 如果用戶沒有針對于該商品的參與行為,則Tk = 0 ;
[0166] 如果用戶有針對于該商品的參與行為,則Tk的值等于該參與行為對應的參與次數 的值;
[0167] U用戶i針對于商品j的活躍度為:Σ Xk*Tk*Wk,其中,k e (1,K)。
[0168] 完成上述獲取用戶集合中每一用戶針對于所述商品集合中每一商品的活躍度步 驟之后,形成用戶和商品的矩陣;
[0169] 將所述用戶集合中所有的用戶按照次序逐個排成一列;將所述商品集合中所有的 商品按照次序逐個排成一行;形成用戶與商品的矩陣,并將所述用戶集合中每一用戶針對 于所述商品集合中每一商品的活躍度對應到所述矩陣,如下表:
[0170]
[0171]
[0172] 將該矩陣用Amxn表示;將該矩陣的元素(即:所述用戶集合中每一用戶針對于所 述商品集合中每一商品的活躍度)用A 1,表示;
[0173] 其中,M代表所述用戶集合中的用戶數,N代表所述商品集合中的商品數;i代表用 戶i,j代表商品j ;
[0174] 計算出所述用戶集合中所有用戶針對于所述商品集合中每一商品的活躍度Au,并 將所有的A 1,值填入上表后,就獲得完整的用戶與商品的矩陣Amxn。
[0175] 此外,用戶的參與行為對應的行為權重的設置需遵循以下兩點:
[0176] a、用戶的參與行為與對應的行為權重之間具有如下關系:用戶針對于向品的參與 行為發生的越早,則該參與行為對應的行為權重就越高;
[0177] b、對于一件商品,用戶的參與行為與對應的行為權重并不是一成不變的;
[0178] 例如:用戶在電子商務網站購物過程中,對于一件商品,在該商品的銷量大于預設 的銷量閾值之后,用戶對該商品的購買行為可以看跟隨行為,此時,對所述商品的銷量大于 預設的銷量閾值之后的購買行為作出降權處理,即:降低用戶的參與行為與對應的行為權 重的值。
[0179] 2)生成并初始化用戶向量,以及商品本征向量;
[0180] 所述用戶向量的元素值代表所述用戶集合中用戶初始的影響力值,所述項目本征 向量的元素值代表所述項目集合中項目的屬性的初始值。
[0181] 用戶向量用E表不,商品本征向量用Q表TK ;
[0182] 定義用戶向量E = (1,1,1,…,I) e RM,商品本征向量Q = (1,1,1,…I) e Rn ;并 且
[0183] I E I = M, I Q I = N ;
[0184] 其中,M代表所述用戶與商品的矩陣Amxn中的用戶數,N代表所述用戶與商品的矩 陣A mxn中的商品數;
[0185] 初始化用戶向量E :
[0186] E = (1,1,1,…,I);
[0187] 定義所述用戶集合中每一用戶初始的影響力值均為1,表示所有用戶的初始影 響力值都相等,即:所有用戶對商品的認知程度以及針對于該商品的活躍值均處于同一水 平;
[0188] 初始化商品本征向量Q :
[0189] Q = (1,1,1,…,1);
[0190] 定義所述商品集合中所有商品的屬性的初始值為1,表示所有商品初始的屬性是 相同的,處于同一水平。
[0191] 3)通過能量傳播迭代算法對所述用戶與項目的矩陣、用戶向量和項目本征向量 進行迭代計算,并將所述迭代計算后用戶向量的元素值作為所述用戶集合中用戶的影響力 值。
[0192] 本實施例中,所述能量傳播迭代算法如下:
[0193] ①E = Q*Amxnt;
[0194] ② Q=E*Amxn;
[0195] 其中,E為用戶向量用E,Q為商品本征向量。
[0196] 在①式中,將所述商品本征向量Q與所述用戶與商品的矩陣Amxn的轉置矩陣A mxnt 相乘,表示所述商品集合中每一商品的本征屬性(即:商品的作用力)作用到所述用戶集合 中每一用戶的影響力值上,將該過程視為商品上的作用力通過用戶的參與行為作用到用戶 影響力的一次能量傳播;
[0197] 在②式中,將所述用戶向量E與所述用戶與商品的矩陣Amxn相乘,表示所述用戶集 合中所有用戶的影響力值通過有用戶的參與行為的商品作用到其他用戶上,對其他用戶在 電子購物網站當中的行為產生影響;并且該步驟完成之后,商品本征向量Q代表的商品集 合中商品的屬性不再為本征屬性,商品本征向量Q轉變為商品向量Q。
[0198] 此外,定義迭代次數k,并且根據迭代次數k重復上述能量傳播迭代算法。所述迭 代次數k根據經驗值(通常,迭代次數t合理的取值在4 - 10之間)確定或者將所述能量 傳播迭代算法收斂時所述能量傳播迭代算法的重復次數迭代次數k的值。所述能量傳播迭 代算法收斂的是指用戶向量用E或者商品向量Q在相鄰兩次迭代計算后模的差值小于設置 定的值。
[0199] 所述能量傳播迭代算法根據所述迭代次數k完成迭代計算后,將此時的用戶向量 E作為所述用