【技術實現步驟摘要】
本專利技術涉及計算機
,具體涉及一種用于處理協同過濾距離的方法和系統。
技術介紹
互聯網上的信息資源呈指數膨脹帶來了所謂的“信息過載”和“信息迷向”問題,即人們很難找到自己感興趣的信息,即使找到了一些,也經常混有很多“噪音”。因此出現了面向互聯網的信息檢索、信息過濾和協同過濾等技術。但信息檢索不具有智能性,不能學習用戶的興趣,尤其是對具有特定專業興趣的用戶,輸入相同的關鍵詞只能得到相同的檢索結果。信息過濾不能對同一主題的過濾結果區分質量好壞,并且隨著信息資源的劇增,更有效的過濾需要結合人們的質量評價信息?;谠摲N需求,出現了推薦系統,推薦系統是為解決信息過載問題而提出的一種智能代理系統,能從大量信息中向用戶自動推薦出符合其興趣偏好或需求的資源。隨著互聯網的普及和飛速發展,推薦系統已經被廣泛應用于各種領域,尤其在電子商務領域,推薦系統得到了越來越多的研究和應用。目前,幾乎所有的大型電子商務網站都不同程度的使用了各種形式的推薦系統,比如Amazon、CDNOff> eBay和當當網上書店等。其中,協同過濾技術在當前推薦系統的應用中獲得了較大的成功。協同過濾是一類推薦算法。協同過濾考慮了用戶的評價信息。協同過濾分析用戶興趣,在用戶群中找到指定用戶的相似(興趣)用戶,綜合這些相似用戶對某一信息的評價,形成系統對該指定用戶對此信息的喜好程度的預測。主要分為基于用戶的協同過濾(User based)和基于商品的(Item based)兩種。例如基于用戶的協同過濾算法,它的基本思想是如果要為一個用戶推薦其沒有的商品,首先計算其它用戶和這個用戶的喜好的相似程 ...
【技術保護點】
一種用于處理協同過濾距離的方法,包括:針對至少兩個計算服務器,每個參與計算的計算服務器讀取并存儲相應的分塊矩陣數據;所述分塊矩陣數據為從原始矩陣數據中分配給所述計算服務器的分塊矩陣數據;每個參與計算計算服務器計算本地的分塊矩陣數據,獲得本地分塊矩陣數據的協同過濾距離子矩陣;每個參與計算的計算服務器進行各計算服務器間的循環通信計算,獲得本地分塊矩陣數據的協同過濾距離子矩陣;所述每個參與計算的計算服務器進行各計算服務器間的循環通信計算,獲取協同過濾距離子矩陣具體包括:針對每個參與計算的計算服務器,確認當前計算服務器對應的目的計算服務器;所述目的計算服務器用于接收當前計算服務器發送的本地的矩陣數據;每個參與計算的計算服務器發送本地的分塊矩陣數據至目的計算服務器,并接收其他計算服務器發送的分塊矩陣數據;所述其他計算服務器為將當前計算服務器確認為目的服務器的計算服務器;每個接收到分塊矩陣數據的計算服務器,結合本地的分塊矩陣數據,計算獲得本地的分塊矩陣數據和接收到的分塊矩陣數據之間的協同過濾距離子矩陣;將每個參與計算的計算服務器計算得到的所有協同過濾子矩陣進行統一轉換,獲得完整的協同過濾矩陣。
【技術特征摘要】
1.一種用于處理協同過濾距離的方法,包括 針對至少兩個計算服務器,每個參與計算的計算服務器讀取并存儲相應的分塊矩陣數據;所述分塊矩陣數據為從原始矩陣數據中分配給所述計算服務器的分塊矩陣數據; 每個參與計算計算服務器計算本地的分塊矩陣數據,獲得本地分塊矩陣數據的協同過濾距離子矩陣; 每個參與計算的計算服務器進行各計算服務器間的循環通信計算,獲得本地分塊矩陣數據的協同過濾距離子矩陣;所述每個參與計算的計算服務器進行各計算服務器間的循環通信計算,獲取協同過濾距離子矩陣具體包括 針對每個參與計算的計算服務器,確認當前計算服務器對應的目的計算服務器;所述目的計算服務器用于接收當前計算服務器發送的本地的矩陣數據; 每個參與計算的計算服務器發送本地的分塊矩陣數據至目的計算服務器,并接收其他計算服務器發送的分塊矩陣數據;所述其他計算服務器為將當前計算服務器確認為目的服務器的計算服務器; 每個接收到分塊矩陣數據的計算服務器,結合本地的分塊矩陣數據,計算獲得本地的分塊矩陣數據和接收到的分塊矩陣數據之間的協同過濾距離子矩陣; 將每個參與計算的計算服務器計算得到的所有協同過濾子矩陣進行統一轉換,獲得完整的協同過濾矩陣。2.如權利要求1所述的方法,其特征在于,所述針對每個參與計算的計算服務器,確認當前計算服務器對應的目的計算服務器包括 所述針對每個參與計算的計算服務器,根據當前的循環通信計算輪次、當前計算服務器的標識和計算服務器的總個數,確認當前計算服務器對應的目的計算服務器。3.如權利要求2所述的方法,其特征在于,所述針對每個參與計算的計算服務器,根據當前的循環通信計算輪次、當前計算服務器的標識和計算服務器的總個數,確認當前計算服務器對應的目的計算服務器包括 將當前各計算服務器間進行循環通信計算的輪次P,與計算服務器的總個數N的一半N/2進行比較; 如果比較結果符合預設條件,則每個參與計算的計算服務器,根據當前計算服務器的標識i和輪次P,針對N進行取模運算得到結果U,將與u對應的計算服務器作為當前計算服務器的目標計算服務器; 如果比較結果不符合預設條件,則結束獲得協同過濾距離子矩陣的計算。4.如權利要求3所述的方法,其特征在于,所述將當前各計算服務器間進行循環通信計算的輪次P,與計算服務器的總個數N的一半N/2進行比較之后還包括 判斷計算服務器的總個數N是否為偶數; 如果計算服務器的總個數N為偶數,則判斷當前通信輪次P是否為最后一輪通信; 如果當前輪次P是最后一輪通信,則每個參與計算的計算服務器,判斷其標識i是否小于 N/2 ; 如果標識i小于N/2,則標識i小于N/2的計算服務器,進入根據當前計算服務器的標識i和輪次P,針對N進行取模運算得到結果U,將與u對應的計算服務器作為當前計算服務器的目標計算服務器的過程;如果標識i不小于N/2,則進入判斷當前各計算服務器間進行循環通信計算的輪次p,是否小于計算服務器的總個數N的一半N/2的過程; 如果當前輪次P是最后一輪通信,則進入每個參與計算的計算服務器,根據當前計算服務器的標識i和輪次P,針對N進行取模運算得到結果U,將與u對應的計算服務器作為當前計算服務器的目標計算服務器的過程; 如果計算服務器的總個數N為奇數,則進入每個參與計算的計算服務器,根據當前計算服務器的標識i和輪次P,針對N進行取模運算得到結果U,將與u對應的計算服務器作為當前計算服務器的目標計算服務器的過程。5.如權利要求3或4所述的方法,其特征在于, 當所述輪次從O開始計數,計算服務器的標識i從O開始標識,則所述根據當前計算服務器的標識i和輪次P,針對N進行取模運算得到結果u包括 將當前計算服務器的標識i和輪次P,代入公式(i+P+1) % N計算得到結果u ; 當所述輪次從I開始計數,計算服務器的標識i從O開始標識,則所述根據當前計算服務器的標識i和輪次P,針對N進行取模運算得到結果u包括 將當前計算服務器的標識i和輪次P,代入公式(i+P) % N計算得到結果U。6.如權利要求1所述的方法,其特征在于,所述每個參與計算的計算服務器進行各計算服務器間的循環通信計算包括 每個參與計算的計算服務器采用訊息傳遞接口發送函數MPI_send和訊息傳遞接口接收函數MPI_rec...
【專利技術屬性】
技術研發人員:齊路,何銳邦,唐會軍,
申請(專利權)人:北京奇虎科技有限公司,奇智軟件北京有限公司,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。