一種用于用戶參與項目的推薦方法及裝置的制造方法
【技術領域】
[0001] 本申請涉及互聯網應用技術領域,具體涉及一種用于用戶參與項目的推薦方法。 本申請另外涉及一種用于用戶參與項目的推薦裝置、用戶影響力值的計算方法、用戶影響 力值的計算裝置、用于用戶參與項目的推薦方法和用于用戶參與項目的推薦裝置。
【背景技術】
[0002] 互聯網的出現和普及給用戶帶來了大量的信息,滿足了用戶在信息時代對信息的 需求,但隨著網絡的迅速發展而帶來的網上信息量的大幅增長,使得用戶在面對大量信息 時無法及時獲取到自身有用的信息,不僅花費了大量的時間,而且造成了資源浪費,解決這 個問題的一個辦法是推薦系統,它是根據用戶對信息的需求和興趣等,將用戶感興趣的信 息或者產品等推薦給用戶的系統。其中,協同過濾推薦技術在當前的推薦系統中獲得了較 大的成功。
[0003] 現有技術下,協同過濾推薦技術的推薦方法主要包括以下三種:基于用戶 (User-based)的協同過濾、基于項目(Item-based)的協同過濾和基于模型(Model-based) 的協同過濾。
[0004] 基于用戶(User-based)的協同過濾包括以下三個步驟:
[0005] 1)收集用戶資訊
[0006] 收集可以代表用戶興趣的資訊。一般的網站系統使用評分的方式或是給予評價, 這種方式被稱為"主動評分",此外,還有一種評分方式是"被動評分",是根據用戶的行為模 式由系統代替用戶完成評價,不需要用戶直接打分或輸入評價資料。
[0007] 2)最近鄰搜索
[0008] 計算用戶之間的相似度并且生成"最近鄰居"用戶集是基于用戶(User-based)的 協同過濾的核心。例如:尋找與用戶A具有某種相似性的η個用戶,將所述η個用戶對項目 M的評分作為用戶A對項目M的評分預測。相似度是表征用戶對項目的興趣程度或者評價、 用戶的行為以及用戶的行為涉及的項目的相似程度。一般會根據資料的不同選擇不同的算 法,目前較多使用的相似度算法有余弦相似度算法、皮爾森(Pearson)相關系數算法和調 整余弦相似度算法。
[0009] 3)產生推薦結果
[0010] 有了 "最近鄰居"用戶集,就可以對目標用戶的興趣進行預測,產生推薦結果。依 據推薦目的的不同進行不同形式的推薦,較常見的推薦結果有Top-N推薦,Top-N推薦是選 取目標用戶的興趣最高的N個項目作為推薦項目。
[0011] 現有技術的推薦方法是基于目標用戶和其他用戶之間的相似性向目標用戶推薦 信息,將與目標用戶具有相似性的其他用戶的興趣項目推薦給目標用戶。但是在實際當中, 對于一個項目,不同的用戶對于該項目的興趣度或者需求度并不相同,此時,推薦系統實際 上無法起到應有的作用;這種情況下,必然導致推薦的準確度較低,并且推薦項目的質量下 降。
[0012] 從系統的角度而言,不合適的項目推薦必然會增加用戶之間不必要的信息交互, 從而導致網站服務器或即時通信服務器增加額外負擔,造成網絡資源的浪費。
【發明內容】
[0013] 本申請提供一種用于用戶參與項目的推薦方法,以解決現有技術存在的問題。本 申請另外涉及一種用于用戶參與項目的推薦裝置、用戶影響力值的計算方法、用戶影響力 值的計算裝置、用于用戶參與項目的推薦方法和用于用戶參與項目的推薦裝置。
[0014] 本申請提供一種用于用戶參與項目的推薦方法,包括:
[0015] 獲取待推薦給目標用戶的項目集合;
[0016] 獲取對所述待推薦給目標用戶的項目集合中項目有過參與行為的用戶組成的用 戶集合;
[0017] 獲取該用戶集合中的每一用戶的影響力值;
[0018] 根據用戶的參與行為所涉及的項目獲取所述用戶集合的每一用戶與所述目標用 戶之間的相似度;
[0019] 結合所述用戶集合中每一用戶的影響力值和該用戶集合中每一用戶與所述目標 用戶之間的相似度,計算所述目標用戶對所述待推薦給目標用戶的項目集合中每一項目的 興趣度的預測值;
[0020] 結合該預測值選取所述待推薦給目標用戶的項目集合中至少一個項目向所述目 標用戶推薦;
[0021] 其中,所述用戶的影響力值根據用戶的歷史操作行為確定。
[0022] 可選的,所述獲取待推薦給目標用戶的項目集合包括:
[0023] 獲取所述目標用戶的參與行為所涉及的項目;
[0024] 獲取該項目對應的項目種類下所有的有過用戶的參與行為的項目的集合,將所述 項目的集合作為待推薦給目標用戶的項目集合。
[0025] 可選的,所述獲取該用戶集合中的每一用戶的影響力值包括:
[0026] 獲取所述用戶集合中每一用戶針對于所述項目集合中每一項目的活躍度,并形成 用戶與項目的矩陣;
[0027] 生成并初始化用戶向量和項目本征向量,其中,所述用戶向量的元素值代表所述 用戶集合中用戶初始的影響力值,所述項目本征向量的元素值代表所述項目集合中項目的 屬性的初始值;
[0028] 通過能量傳播迭代算法對所述用戶與項目的矩陣、用戶向量和項目本征向量進行 迭代計算,并將所述迭代計算后用戶向量的元素值作為所述用戶集合中用戶的影響力值;
[0029] 其中,所述活躍度表征所述用戶集合中每一用戶針對于所述項目集合中每一項目 的參與程度。
[0030] 可選的,所述獲取所述用戶集合中每一用戶針對于所述項目集合中每一項目的活 躍度包括:
[0031] 對于所述用戶集合中每一用戶,獲取該用戶針對于所述項目集合中每一項目的所 有參與行為的集合,以及該集合中每一種參與行為的參與次數和每一種參與行為對應的行 為權重;
[0032] 計算所述集合中每一種參與行為的參與次數與行為權重的乘積,并計算該集合中 所有參與行為的參與次數與行為權重的乘積的加權值,將該加權值作為所述用戶集合中每 一用戶針對于所述項目集合中每一項目的活躍度。
[0033] 可選的,所述通過能量傳播迭代算法對所述用戶與項目的矩陣、用戶向量和項目 本征向量進行迭代計算包括:
[0034] 計算所述項目本征向量與所述用戶與項目的矩陣的轉置矩陣的乘積,將該乘積作 為所述用戶向量的值,并將該計算視為項目上的作用力通過用戶行為作用到用戶影響力的 一次能量傳播;
[0035] 將計算獲得的用戶向量與所述用戶與項目的矩陣的乘積作為項目向量,并將該計 算視為用戶的影響力通過有用戶參與行為的項目向其他用戶的一次能量傳播;
[0036] 根據迭代次數重復上述能量傳播運算過程;
[0037] 其中,所述迭代次數根據設定的經驗值確定或者根據被計算的向量在相鄰兩次計 算后的模的差值小于設置定的值而確定。
[0038] 可選的,所述根據用戶的參與行為所涉及的項目獲取所述用戶集合中每一用戶與 所述目標用戶之間的相似度包括:
[0039] 利用相似度算法計算所述用戶集合的每一用戶與目標用戶之間的相似度;
[0040] 其中,所述相似度算法包括:余弦相似度算法、皮爾森(Pearson)相關系數算法或 調整余弦相似度算法。
[0041] 可選的,所述結合所述用戶集合中每一用戶的影響力值和該用戶集合中每一用戶 與所述目標用戶之間的相似度,計算所述目標用戶對所述待推薦給目標用戶的項目集合中 每一項目的興趣度的預測值包括:
[0042] 計算所述用戶集合中每一用戶的影響力值與影響力值對應的參數的乘積以及所 述相似度與相似度對應的參數的乘積;并計算出所述二者乘積相加所得的值;
[0043] 基于所述二者乘積相加所得的值計算所述目標用戶對所述待推薦給目標用戶的 項目集合中每一項目的興趣度的預測值;
[0044] 其中,所述參數的值根據所述項目集合中項目對應的項目種類確定。
[0045] 可選的,所述結合該預測值選取所述待推薦給目標用戶的項目集合中至少一個項 目向所述目標用戶推薦包括:
[0046] 選取所述待推薦給目標用戶的項目集合中所述預測值最高的至少一個項目向所 述目標用戶推薦;或者
[0047] 選取所述項目集合中所述預測值大于設定值的項目向所述目標用戶推薦。
[0048] 本申請另外提供一種用于用戶參與項目的推薦裝置,包括:
[0049] 項目獲取單元,獲取待推薦給目標用戶的項目集合;
[0050] 用戶獲取單元,用于獲取對所述待推薦給目標用戶的項目集合中項目有過參與行 為的用戶組成的用戶集合;
[0051] 影響力值獲取單元,用于獲取該用戶集合中的每一用戶的影響力值;
[0052] 相似度獲取單元,用于根據用戶的參與行為所涉及的項目獲取所述用戶集合的每 一用戶與所述目標用戶之間的相似度;
[0053] 預測值計算單元,用于結合所述用戶集合中每一用戶的影響力值和該用戶集合中 每一用戶與所述目標用戶之間的相似度,計算所述目標用戶對所述待推薦給目標用戶的項 目集合中每一項目的興趣度的預測值;
[0054] 推薦單元,用于結合該預測值選取所述待推薦給目標用戶的項目集合中至少一個 項目向所述目標用戶推薦。
[0055] 本申請還提供一種用戶影響力值的計算方法,包括:
[0056] 獲取對項目有過參與行為的用戶組成的用戶集合,以及有過用戶參與行為的項目 組成的項目集合;
[0057] 獲取所述用戶集合的每一用戶針對于所述項目集合中每一項目的活躍度,并形成 用戶與項目的矩陣;
[0058] 生成并初始化用戶向量以及項目本征向量,其中,所述用戶向量的元素值代表所 述用戶集合中用戶初始的影響力值,所述項目本征向量的元素值代表所述項目集合中項目 的屬性的初始值;
[0059] 通過能量傳播迭代算法對所述矩陣、用戶向量和項目本征向量進行迭代計算,并 將所述迭代計算后的用戶向量的元素值作為所述用戶集合中用戶的影響力值;
[0060] 其中,所述活躍度表征用戶針對于項目的參與程度,所述用戶的影響力值根據用 戶的歷史操作行為確定。
[0061] 可選的,所述獲取所述用戶集合的每一用戶針對于所述項目集合中每一項目的活 躍度包括:
[0062] 對于用戶集合中每一用戶,獲取用戶針對于所述項目集合中每一項目的所有參與 行為的集合,以及該參與行為的集合中每一種參與行為的參與次數和每一種參與行為對應 的行為權重;
[0063] 計算所述集合中每一種參與行為的參與次數與行為權重的乘積,并計算該集合中 所有參與行為的參與次數與行為權重的乘積的加權值,將該加權值作為所述用戶集合中每 一用戶針對于所述項目集合中每一項目的活躍度。
[0064] 可選