基於物品的推薦方法及系統的製作方法
2023-05-25 01:03:56 1
基於物品的推薦方法及系統的製作方法
【專利摘要】本發明提供一種基於物品的推薦方法及系統,其中的方法包括:通過用戶歷史評價獲得已評價物品的物品對;根據所有用戶對物品對的評價值,得到物品對的相關係數並進行緩存;根據所緩存的物品對的相關係數,獲得所有用戶已評價物品的相關物品集合;並將所有用戶已評價物品進行數據塊的切分,並對所切分的數據塊進行並行化處理;通過對所有用戶已評價物品的評價值進行線性預測得出未評價物品集合中的物品的預測值,並對所有預測值進行合併,得到未評價物品集合中的物品的最終預測值;根據最終預測值將未評價物品推薦給用戶。通過本發明能夠解決基於物品推薦算法的準確性問題,提高計算效率。
【專利說明】基於物品的推薦方法及系統
【技術領域】
[0001]本發明涉及基於物品的推薦【技術領域】,更為具體地,涉及一種基於物品的推薦方法及系統。
【背景技術】
[0002]隨著電子商務規模的不斷擴大、商品個數和種類的快速增長,顧客往往需要花費大量的時間才能找到自己想買的商品。這種瀏覽大量無關信息和產品的過程無疑會使淹沒在信息過載問題中的消費者不斷流失。
[0003]個性化推薦是根據用戶的興趣特點和購買行為向用戶推薦用戶感興趣的信息和商品的推薦方法,這種推薦方法可以通過分析用戶的習慣、歷史記錄等數據,較為準確地向用戶提供感興趣的信息,如視頻、書籍、音樂、商品、新聞等,在很大程度上解決了「信息過載」和「信息迷失」帶來的各種問題。在推薦資源的精確度足夠高的情況下,個性化推薦還是提高用戶粘性的一個非常好的途徑。
[0004]在個性化推薦【技術領域】,上述推薦的信息可概括為物品,目前基於物品的個性化推薦算法主要有以下兩種:
[0005](I)協同過濾算法:通過用戶對物品的歷史評價計算物品間的相似度a,然後利用相似度a來預測用戶對未評價物品的評分。從數學模型的角度來看,該算法可理解為令線性回歸模型y=ax+b中的b=0的情況。協同過濾算法實際上僅考慮了物品間的相似度對推薦結果的影響。
[0006](2)Slopeone算法:通過用戶對物品的歷史評價計算物品間的差值b,然後利用差值b來預測用戶對未評價物品的評分。從數學模型的角度來看,該算法可理解為令線性回歸模型y=ax+b中的a=l的情況。Slopeone算法實際上僅考慮了物品間的差對推薦結果的影響。
[0007]圖1為傳統的基於物品的推薦方法流程圖。
[0008]如圖1所示,協同過濾算法和Slopeone算法的推薦過程包括:步驟SllO物品推薦開始、步驟S120用戶歷史評價、步驟S130計算物品的相似度或平均值、步驟S140計算為評價物品預測值、步驟S150按預測值對未評價物品降序排列、步驟S160給用戶推薦排名前N的物品、步驟S170物品推薦結束。可知傳統的物品推薦方法中都採用了線性回歸的「簡化版本」,即只考慮相似度或只考慮平均差。因為在海量用戶和物品的情況下,y=ax+b模型的計算複雜度非常高,很難滿足實時推薦的要求,因此,不得不犧牲一定的模型準確性來提高運算效率。
[0009]在海量用戶物品情況下,使用y=ax+b模型進行推薦存在以下三個問題:
[0010]問題一:圖1傳統的基於物品的推薦方法流程圖中所示步驟S130中對y=ax+b模型進行擬合的計算複雜度很高。
[0011]因為,傳統的y=ax+b模型的計算過程為:
[0012]對於用戶一物品矩陣:
【權利要求】
1.一種基於物品的推薦方法,包括: 獲取一個用戶的已評價物品,生成所述用戶的已評價物品集合,然後從所述用戶的已評價物品集合中取出任意兩件物品組成物品對; 根據所有用戶對所述物品對的評價值,分別對所述物品對中的物品進行線性擬合,以得到所有用戶已評價物品中物品對的相關係數並進行緩存;然後根據所緩存的物品對的相關係數,獲得所有用戶已評價物品的相關物品集合;根據所有用戶已評價物品的相關物品集合中物品的個數,確定所有用戶已評價物品的熱門程度,然後根據所述熱門程度將所有用戶已評價物品進行數據塊切分,並對所切分的數據塊進行並行化處理,以得到所有用戶已評價物品的相關物品集合中的物品的預測值;根據用戶每個已評價物品的相關物品集合生成所述用戶的可預測物品集合,根據可預測物品集合和用戶的已評價物品集合生成所述用戶的未評價物品集合; 通過對任一用戶預測出的未評價物品集合中的物品的所有預測值進行合併,得到所述用戶未評價物品集合中的物品的最終預測值; 根據所述最終預測值將所述未評價物品集合中的未評價物品推薦給所述用戶。
2.如權利要求1所述的基於物品的推薦方法,其中,所述未評價物品預測值的計算公式為:
I(atkvmt+btk)
_ t=l mkc 其中,Vmk為未評價物品預測值,Vmt為能夠預測出未評價物品預測值的物品給出的預測值,C為能夠預測出未評價物品預測值的物品給出的預測值個數,atk、btk為物品對的相關係數。
3.如權利要求1所述的基於物品的推薦方法,其中,所述所有用戶已評價物品的相關物品集合中物品的個數與所述所有用戶已評價物品的熱門程度成正比。
4.如權利要求1所述的基於物品的推薦方法,其中,在根據所述熱門程度將所有用戶已評價物品進行數據塊切分的過程中, 所切分的各數據塊的熱門程度的總和一致。
5.如權利要求1所述的基於物品的推薦方法,其中,在對所切分的數據塊進行並行化處理,以得到所有用戶已評價物品的相關物品集合中的物品的預測值的過程中, 通過物品對的相關係數及用戶對已評價物品的評價值進行線性預測得到所有用戶已評價物品的相關物品集合中的物品的預測值。
6.一種基於物品的推薦系統,包括: 物品對獲取單元,用於根據一個用戶已評價的物品,得到所述用戶的已評價物品集合,然後從所述用戶的已評價物品集合中取出任意兩件物品以獲取物品對; 所有用戶已評價物品的相關物品集合獲取單元,用於根據對所述物品對中的物品進行單獨擬合,得到物品對的相關係數並進行緩存,根據緩存的物品對的相關係數獲取所有用戶已評價物品的相關物品集合; 預測值獲取單元,用於根據將所有用戶已評價物品進行數據塊的切分,並對所述數據塊並行化處理,獲得所有用戶已評價物品的相關物品集合中的物品的預測值; 未評價物品集合獲取單元,用於根據用戶每個已評價物品的相關物品集合生成所述用戶的可預測物品集合,根據可預測物品集合和所述用戶的已評價物品集合獲得所述用戶的未評價物品集合; 最終預測值獲取單元,用於對預測出的未評價物品集合中的物品的所有預測值進行合併獲取所述未評價物品集合中的物品的最終預測值; 物品推薦單元,用於根據未評價物品集合中的未評價物品的最終預測值將物品推薦給用戶。
7.如權利要求6所述的基於物品的推薦系統,其中,在所述未評價物品的預測值獲取單元中,對所述數據源塊進行並行化處理的過程中,根據物品對的相關係數及已評價物品的評價值進行線性預測得 到所有用戶已評價物品的相關物品集合中的物品的預測值。
【文檔編號】G06Q30/02GK103700007SQ201310703736
【公開日】2014年4月2日 申請日期:2013年12月18日 優先權日:2013年12月18日
【發明者】趙影, 張霞, 趙立軍, 任英傑 申請人:東軟集團股份有限公司