[發明專利]面向流式數據的分布式在線推薦方法有效
| 申請號: | 201410089697.4 | 申請日: | 2014-03-12 |
| 公開(公告)號: | CN103886047B | 公開(公告)日: | 2017-07-07 |
| 發明(設計)人: | 張寅;邊科;王東輝;魏寶剛 | 申請(專利權)人: | 浙江大學 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30;H04L29/08 |
| 代理公司: | 杭州求是專利事務所有限公司33200 | 代理人: | 張法高 |
| 地址: | 310027 浙*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 面向 數據 分布式 在線 推薦 方法 | ||
技術領域
本發明涉及計算機推薦系統,尤其涉及一種面向流式數據的分布式在線推薦方法。
背景技術
隨著互聯網的飛速發展,各種信息正在爆炸性增長,從而導致“信息過載”的出現,針對這一問題,個性化推薦系統應運而生。個性化推薦系統能夠為用戶提供很好的決策支持和個性化服務。
協同過濾算法通過數據挖掘和機器學習等方法,根據擁有相似興趣或行為用戶群的喜好為某一用戶推薦他感興趣的東西。ACM在1994年(ACM,1994:175–186)公布了基于用戶的協同過濾算法,它找到那些具有相似興趣的用戶,綜合這些相似用戶對其他物品的行為記錄,計算某一用戶對物品的喜好程度。World Wide Web在2001年(the10th international conference on World Wide Web.ACM,2001:285–295)公布了一種基于物品的協同過濾推薦算法,它通過建立用戶物品倒排表找到所有被相同用戶點擊過的物品,計算這些物品之間的相似度,根據物品之間的相似度和用戶的行為記錄就能得到推薦列表。WebKDD在2000年(the ACM WebKDD2000Web Mining for E-Commerce Workshop,Boston,MA,2000)公布了一種通過奇異值分解的方法進行矩陣分解,對用戶物品得分矩陣降維處理,增加數據稠密度,預測用戶對物品的感興趣程度。NIPS在2012年(NIPS,2012:1232-1243)公布了一種分布式隨即梯度下降算法,它把訓練數據被分成多份,每份訓練數據由一個模型訓練集群復本來處理,模型的參數統一存儲在一系列參數服務器上,每臺模型訓練服務器只需要訪問少量的參數服務器來存取它所負責的模型分區所需的部分參數。
發明內容
本發明的目的是為克服上述現有方法推薦延時性強,計算性能較低等缺點,提供一種實時性強、計算性能高的面向流式數據的分布式在線推薦方法。
面向流式數據的分布式在線推薦方法包括以下步驟:
1)構建分布式計算框架,分布式計算框架包括矩陣分解模塊和推薦結果處理模塊,矩陣分解模塊由若干工作單元組成,其中每個工作單元對應用戶行為數據矩陣中的一組數據塊;
2)接收用戶行為數據并將用戶行為數據發送到對應的工作單元,根據該用戶的推薦反饋,生成負樣本,即用戶可能不感興趣的物品,被推薦的物品中用戶沒用對其產生行為的有較大概率被選中為負樣本;
3)采用分布式隨機梯度下降算法,對用戶行為數據以及負樣本數據進行矩陣分解訓練,并保存新的訓練結果;
4)采用協同過濾的方法,利用用戶行為數據離線計算物品相似度,并定時更新物品相似度數據;
5)對于某個用戶,利用物品相似度計算該用戶最近感興趣物品的相似物品集合,把該集合與該用戶的原推薦列表集合的并集作為用戶的候選推薦集合,并根據步驟3)中的矩陣分解訓練結果計算該用戶對候選推薦集合中所有物品的預測得分,對得分排序,得到該用戶的推薦列表;
6)返回推薦列表,把推薦列表中的物品推薦給用戶。
所述的步驟1)為:構建分布式計算框架,分布式計算框架包括矩陣分解模塊和推薦結果處理模塊,矩陣分解模塊接收用戶行為數據,根據用戶行為數據得到分解矩陣,矩陣分解模塊包含一個數據源節點負責獲取用戶行為數據,一個主節點負責數據分發與任務管理,若干個工作節點負責隨機梯度下降運算進行矩陣分解,若干數據節點負責存儲分解矩陣數據,推薦結果處理模塊包含一個請求節點負責接收推薦請求獲取候選集合,一個排序計算節點負責對候選集合進行排序并得到最終的推薦列表。
所述的步驟2)為:接收用戶行為數據并將用戶行為數據發送到對應的工作單元,根據該用戶的推薦反饋,生成負樣本,即用戶可能不感興趣的物品,被推薦的物品中用戶沒用對其產生行為的有較大概率被選中為負樣本,假設所有物品的數量為n,推薦反饋中未被該用戶接受的物品有m個,它們被選中的概率是普通物品的a倍,a為大于1的整數,選取負樣本時在1到n+(a-1)m之間產生隨機數x,從小到大掃描推薦反饋中未被該用戶接受的物品,每有一個未被該用戶接受的物品,則x減去a-1,直到物品編號大于x,此時編號為x的物品被選為負樣本。
所述的步驟3)為:工作節點接收任務請求后,向數據節點請求對應的用戶分解向量數據和物品分解向量數據,并根據這些數據按遞推公式對用戶分解向量和物品分解向量進行更新,遞推公示如下所示:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江大學,未經浙江大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410089697.4/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種用于膠帶硫化機上的水壓板
- 下一篇:一種車輪轉角測定裝置
- 數據顯示系統、數據中繼設備、數據中繼方法、數據系統、接收設備和數據讀取方法
- 數據記錄方法、數據記錄裝置、數據記錄媒體、數據重播方法和數據重播裝置
- 數據發送方法、數據發送系統、數據發送裝置以及數據結構
- 數據顯示系統、數據中繼設備、數據中繼方法及數據系統
- 數據嵌入裝置、數據嵌入方法、數據提取裝置及數據提取方法
- 數據管理裝置、數據編輯裝置、數據閱覽裝置、數據管理方法、數據編輯方法以及數據閱覽方法
- 數據發送和數據接收設備、數據發送和數據接收方法
- 數據發送裝置、數據接收裝置、數據收發系統、數據發送方法、數據接收方法和數據收發方法
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置
- 數據發送方法、數據再現方法、數據發送裝置及數據再現裝置





