一種基于產品項目特征擴充的最近鄰協同過濾方法
【專利摘要】本發明公開了一種基于產品項目特征擴充的最近鄰協同過濾方法(IFA),該方法包括如下步驟:1)用二維表表示產品的評分數據;2)基于樸素貝葉斯分類器的貧信息用戶項目相似度計算;3)富信息用戶項目相似度計算;4)基于貧信息用戶的項目相似度與富信息用戶的項目相似度融合;5)結合基于項目的協同過濾算法給出未評分產品的評分預測值集合,并取前N項作為最終推薦結果。本發明能有效反映用戶評價的真實情況,提高個性化推薦精度。
【專利說明】
一種基于產品項目特征擴充的最近鄰協同過濾方法
技術領域
[0001] 本發明屬于電子商務領域,具體地說是一種基于產品項目特征擴充的最近鄰協同 過濾方法(Item FeatureAugmentation,IFA) 〇
【背景技術】
[0002] 電子商務的迅速發展,使得如何有效提高用戶購買率成為各大電商企業主要思考 的問題,協同過濾技術作為個性化推薦應用最早和最為成功的技術之一,能夠很好地基于 項目或用戶之間的相似性對企業的購買決策提供技術支撐,基于項目最近鄰的協同過濾推 薦技術因為其可擴展性強和可解釋性好成為了基于最近鄰協同過濾算法中最流行的算法, 在亞馬遜購物網站和Netflix電影租賃網站中都得到了實際應用。
[0003] 項目相似度計算是基于項目最近鄰協同過濾算法中最重要的步驟,它決定了協同 過濾算法中項目最近鄰選擇和鄰居的評分加權,進而影響算法最終的推薦精度。傳統計算 兩個產品的項目相似度的方法是首先分離出對兩個項目都有評分行為的用戶評分項,然后 對這些用戶的評分項利用皮爾遜相似度或者余弦距離等計算方法計算項目相似度,現有研 究方法雖然為個性化推薦的構建提供基礎理論支撐和實踐指導,但是仍然存在諸多問題: [0004] (1)數據稀疏性問題加劇。在實際生活中,消費者購買的產品在整個產品目錄中占 比很少。因此在對實際的電子商務數據集計算兩個產品的項目相似度時會有大量只對一個 產品有過評分行為的用戶。如表1所示,在計算產品I#PI2的項目相似度時,傳統的項目相似 度計算方法只利用了 U3和U7對這兩個產品的評分,而山,U2,U4,U 5,U6的評分信息將被直接忽 視,導致大量的評分信息沒有得到有效利用,這就會更一步加劇數據稀疏性問題。
[0005]表 1
[0007] (2)相似性計算的不準確。基于皮爾遜相似度公式計算得到的項目相似度會存在 下面的情況:那些被較少用戶共同評價過的項目對可能有著相對更高的相似度,但是如果 兩個項目被大量用戶評價過,但僅僅有兩個用戶對他們同時評價,這并不能表明它們之間 有著非常高的相似度。這也就導致現有協同過濾算法中對項目之間相似性的計算相似性度 量出現誤差,降低了推薦系統的精度。
【發明內容】
[0008] 本發明為克服現有技術存在的不足之處,提出一種基于產品項目特征擴充的最近 鄰協同過濾方法,以期能充分利用評分信息來反映用戶評價的真實情況,使得計算得到的 項目鄰居可靠性更高,從而提高個性化推薦的精度。
[0009] 為了達到上述目的,本發明所采用的技術方案為:
[0010] 本發明一種基于產品項目特征擴充的最近鄰協同過濾方法的特點是按如下步驟 進行:
[0011] 步驟一、用二維表T= {U,I,S}表示產品的評分數據;
[0012] 所述二維表T中,U={Ur-,Uu,…,U|U|}表示用戶集合,I = {Ir-,Ii,…,I|i|}表示 產品集合,S={S(1)…,S(s),…,S (|s)}表示用戶對產品的評分集合;
[0013] 所述用戶集合U中,| u |為用戶的總數目,Uu表示第u個用戶;| u | ;所述產品 集合I中,I i I為產品的總數目,^表示第i個產品;I i I ;所述評分集合S中,S(s)表示所 述評分集合中第s個評分,且Sa)< . . . <SW< . . . <SW ;
[0014] 令第u個用戶Uu對第i個產品Ii的評分為Su,i,且Su,iGS;
[0015] 對任意第i個產品Ii和第j個產品1」;若第u個用戶1^對所述第i個產品Ii和第j個產 品Ij均有評分Su,i和S u,j,則表示第u個用戶Uu為富信息用戶;第u個用戶Uu對第i個產品Ii的 評分S u>1和第u個用戶Uu對第j個產品込的評分Sy均稱為富信息用戶評分項;1彡涔|i|;i辛 j;
[0016] 對任意第i個產品Ii和第j個產品Ij;若第u個用戶Uu僅對所述第i個產品Ii有評分 SU>1S僅對第j個產品L有評分Su+則表示第u個用戶Uu為貧信息用戶;第u個用戶U u對第i個 產品h的評分Su>1和第u個用戶Uu對第j個產品I」的評分Sy均稱為貧信息用戶評分項;并有: [00 17]當第u個用戶uu僅對所述第j個產品Ij有評分Su,j時,第u個用戶U u對第i個產品Ii的 評分Su,d#為貧信息用戶評分項中的缺失值;
[0018] 令所有產品具有的項目特征集合為G = {gl…,gn,…,g | n|},gn表示所有產品的第n 個項目特征;令貧信息用戶評分項中的缺失值Su>1所代表的第i個產品h的項目特征集合為 Gi= {gi,r",gi,n,…,gi, |n|} ;gi,n表示第i個產品Ii在第n個項目特征gn上的特征值;若第i個 產品Ii具有第n個項目特征g n,則gi,n=l;否則,gi,n = 0;Kn彡|n| ;
[0019] 步驟二、假設第u個用戶Uu為貧信息用戶;第u個用戶仏對所述第i個產品h的評分 Su>1為貧信息用戶評分項中的缺失值;計算貧信息用戶Uu對所述第i個產品1忐所述第j個產 品Ij的項目相似度 Simu(Ii,Ij);
[0020] 步驟2.1、利用式(1)計算獲得貧信息用戶Uu對所述第i個產品h的評分項中的缺失 值Su,i為S (s)時的先驗概率P(S(S)):
[0022]式(1)中,I(u)表示貧信息用戶Uu對所述產品集合I中所有已評分的產品集合;item 表示所述已評分產品集合I(u)中的任一產品;|I(U)|表示所述已評分產品集合I(u)中的產品 數目;S u,ltem表示貧信息用戶Uu對所述已評分產品集合I(u)中產品item的評分;
[0023] | {itemGl(u)|Su,ltem=S(s)} |表示貧信息用戶Uu在所述已評分產品集合I(u)中評分 Su,item為s(s)的產品數目;
[0024]步驟2.2、利用式(2)計算獲得貧信息用戶Uu對所述第i個產品h的評分項中的缺失 值Su,i為S(s)時的似然函數P(gn| S(s)):
[0026] 式(2 )中,gitem, ^^表示貧信息用戶Uu對所述已評分產品集合I(u)中的產品item在第n 個項目特征gn上的特征值;I UtemGl(U),gi,n=l |Su,item=S(S)ngitem,n = gi,n} | 表示貧信息 用戶Uu對所述已評分的產品集合I(u)中的產品item中評分S u,ltem為S(s),且貧信息用戶Uu對產 品item在第n個項目特征g n上的特征值gitem,n與第i個產品Ii在第n個項目特征gn上的特征值 g 1>n取值均為T的項目個數;
[0027] 步驟2.3、利用式(3)計算獲得貧信息用戶1]11對所述第1個產品11的評分511, 1為5(3)時 的概率 P(S(s)|li):
[0029] 步驟2.4、重復步驟2.1-步驟2.3,從而獲得貧信息用戶Uu對第i個產品Ii的缺失值 Su,i分別為S (1)…,S(s),…,S(s)時的概率,并將最大概率所對應的評分作為貧信息用戶仏對 第i個產品^的缺失值S u>1的預測評分;
[0030] 步驟2.5、重復步驟2.4,預測所有貧信息用戶評分項中的缺失值,從而補全所述二 維表T中所有貧信息用戶的缺失值;
[0031] 步驟2.6、基于傳統皮爾森相關系數,利用式(4)得到貧信息用戶Uu對所述第i個產 品Ii與所述第j個產品Ij的項目相似度sin/ u(Ii,Ij):
[0033] 式(4)中,R 表示在補全所有貧信息用戶的缺失值二維表T中,既對所述 第i個產品Ii有評分Su, i,又對所述第j個產品Ij有評分Su, j的貧信息用戶Uu;瓦表示在補全所 有貧信息用戶的缺失值二維表T中,所有貧信息用戶對第i個產品h的平均評分;g表示在 補全所有貧信息用戶的缺失值二維表T中,所有貧信息用戶對第j個產品I』的平均評分;
[0034] 步驟2.7、基于加權皮爾森相關系數,利用式(5)計算得到貧信息用戶Uu對所述第i 個產品Ii與所述第j個產品Ij的項目相似度sim u(Ii,Ij):
[0036]式(5)中,V,. HR.表示既對所述第i個產品Ii的有評分Su,i,又對所述第j個產品Ij I .} 有評分Sy的貧信息用戶數目,A是待調節參數;
[0037]步驟三、假設第v個用戶Uv即為富信息用戶;計算富信息用戶Uv對所述第i個產品h 與所述第j個產品Ij的項目相似度simv(Ii,Ij) 彡|u| ;v乒u;
[0038]步驟3.1,基于傳統皮爾森相關系數,利用式(6)得到富信息用戶Uv對所述第i個產 品Ii與所述第j個產品Ij的項目相似度sin/ v(Ii,Ij):
[0040] 式(6)中,表示既對所述第i個產品1冊有評分Sv>1,又對所述第j個產 品込有評分Sq的富信息用戶U、;完表示所有富信息用戶對第i個產品h的平均評分;男表示 所有富信息用戶對第j個產品込的平均評分;
[0041] 步驟3.2、基于加權皮爾森相關系數,利用式(7)計算得到富信息用戶Uv對所述第i 個產品Ii與所述第j個產品Ij的項目相似度sim v(Ii,Ij):
[0043] 式(7)中,表示既對所述第i個產品1:的有評分Su>1,又對所述第j個產品 込有評分Sy的富信息用戶數目,Y是另一個待調節參數;
[0044] 步驟四、利用式(8)進行基于貧信息用戶Uu對所述第i個產品1:與所述第j個產品込 的項目相似度simudi,込),與富信息用戶U v對所述第i個產品1:與所述第j個產品込的項目 相似度simv(Ii,Ij)的項目相似度融合;得到融合相似度sim(Ii,I j):
[0045] sim(Ii,Ij) = (l-y ) X simu(Ii, Ij)+y Xsimv(Ii,Ij) (8)
[0046] 式(8)中,y是待調節參數;
[0047] 步驟五、根據所述融合相似度simahlj,利用基于項目的協同過濾算法,獲得未 評分產品的所有最終預測評分的降序排序集合;選取所述預測評分的降序排序集合的 前N項作為推薦結果,并推薦給所述貧信息用戶Uu。
[0048]與已有技術相比,本發明的有益效果體現在:
[0049] 1、本發明對協同過濾方法中項目最近鄰的計算,在已有傳統協同過方法中僅對兩 個項目均有評分項的富信息用戶評分項近似性計算上,新加入對兩個項目中只有一個評分 的貧信息用戶項的相似性計算,所提方法考慮到所有用戶的已有評分,因此該方法計算得 到的項目最近鄰可靠性更高,有效克服了數據稀疏性這一問題,為已有信息的充分利用提 供了解決思路,其推薦精度明顯優于基于Pearson,Weighted Pearson,Cosine Norm,概率 矩陣分解(PMF)相似度的項目最近鄰協同過濾方法。
[0050] 2、本發明中使用基于多元伯努利模型的樸素貝葉斯分類器,對兩個產品中僅有一 個項目評分的貧信息用戶評分缺失值進行評分概率預測,已有評論信息對貝葉斯分類器相 關參數的學習以及對信息用戶評分項的缺失值的預測提供了可靠真實的支持,且選取概率 最高評分為缺失值的預測值,能夠真實有效反映消費者整體對產品評分現實情況,提高了 個性化推薦的精度。
[0051 ] 3、本發明中對貧信息用戶與富信息用戶均使用McLanugh 1 in提出的加權皮爾森相 關系數來計算項目相似度,貧信息用戶評分項與富信息用戶項的相似度具有統一的測量尺 度,保證了后續步驟中兩類用戶項相似度融合的可操作性,確保了項目最近鄰計算的穩定 性與可靠性。
[0052] 4、本發明中在進行基于富信息用戶評分項的相似度和基于貧信息用戶的項目相 似度進行融合時,引入調節參數對二者進行線性融合,其中通過交叉驗證方法對調節參數 進行尋優,使得推薦精度效果得以顯著提高,克服了現有技術中僅基于對二者均有評分的 富用戶信息推薦技術的缺點。
[0053] 5、本發明可用于手機和書籍等實體產品,音樂和電影等數字產品,旅游計劃和度 假行程等服務產品的個性化推薦系統,可以在網頁和APP等平臺同時使用,以期提高商家和 消費者的雙向經濟效益及整體滿意度。
【附圖說明】
[0054]圖1為本發明的流程示意圖;
[0055] 圖2為本發明富信息用戶評分項與貧信息用戶說明圖;
[0056] 圖3為本發明訓練集和測試集比例0.3,參數A對算法的影響分析實驗結果;
[0057]圖4為本發明訓練集和測試集比例0.5,參數A對算法的影響分析實驗結果;
[0058]圖5為本發明訓練集和測試集比例0.7,參數A對算法的影響分析實驗結果;
[0059] 圖6為本發明訓練集和測試集比例0.9,參數A對算法的影響分析實驗結果;
[0060] 圖7為本發明訓練集和測試集比例0.3,參數Y對算法的影響分析實驗結果;
[0061 ]圖8為本發明訓練集和測試集比例0.5,參數y對算法的影響分析實驗結果;
[0062] 圖9為本發明訓練集和測試集比例0.7,參數Y對算法的影響分析實驗結果;
[0063] 圖10為本發明訓練集和測試集比例0.9,參數Y對算法的影響分析實驗結果。
【具體實施方式】
[0064]如圖1所示,一種基于產品項目特征擴充的最近鄰協同過濾方法(Item Feature Augmentation, IFA),是按如下步驟進行:
[0065] 步驟一、用二維表T={U,I,S}表示產品的評分數據;
[0066] 所述二維表T中,U={Ur-,Uu,…,Uu}表示用戶集合,I = {Ir-,Ii,…,I|i|}表示產 品集合,S= {S(1)…,S(s),…,S(s)}表示用戶對產品的評分集合;
[0067] 所述用戶集合U中,| u |為用戶的總數目,Uu表示第u個用戶;1彡u彡| u | ;所述產品 集合I中,I i I為產品的總數目,^表示第i個產品;I i I ;所述評分集合S中,S(s)表示所 述評分集合中第s個評分,且Sa)< . . . <SW< . . . <SW ;
[0068]令第u個用戶Uu對第i個產品Ii的評分為Su,i,且Su,iGS;
[0069] 如圖2所示,對任意第i個產品Ii和第j個產品Ij;若第u個用戶Uu對所述第i個產品 Ii和第j個產品Ij均有評分S u,i和Su,j,則表示第u個用戶Uu為富信息用戶;第u個用戶Uu對第i 個產品h的評分S u>1和第u個用戶Uu對第j個產品I」的評分Sy均稱為富信息用戶評分項; | i | ;i^j;
[0070] 如圖2所示,對任意第i個產品Ii和第j個產品Ij;若第u個用戶Uu僅對所述第i個產 品h有評分S U>1S僅對第j個產品I」有評分Su+則表示第u個用戶Uu為貧信息用戶;第u個用 戶U u對第i個產品h的評分Su>1和第u個用戶Uu對第j個產品込的評分Sy均稱為貧信息用戶 評分項;并有:
[0071]當第u個用戶Uu僅對所述第j個產品Ij有評分Su,j時,第u個用戶Uu對第i個產品Ii的 評分Su,d#為貧信息用戶評分項中的缺失值;
[0072]令所有產品具有的項目特征集合為G = { gl…,gn,…,g | n | },對于本文后續實驗中使 用的電影產品中數據,其項目特征集合即為電影的流派集合,gn表示所有產品的第n個項目 特征;令貧信息用戶評分項中的缺失值S u>1所代表的第i個產品Ii的項目特征集合為G1 = {gi,r",gi,n,…,gi, |n| } ;gi,n表示第i個產品Ii在第n個項目特征gn上的特征值;若第i個產品 Ii具有第n個項目特征gn,貝ljgi,n = 1 ;否則,gi,n = 0 ; I n I ;如表2所示:
[0073]表 2
[0075] 步驟二、對任意第i個產品Ii和第j個產品Ij;當第u個用戶Uu僅對所述第j個產品Ij 有評分S UJ寸,第u個用戶Uu即為貧信息用戶;第u個用戶仏對所述第i個產品h的評分SU,A 貧信息用戶評分項中的缺失值;計算貧信息用戶U u對所述第i個產品^與所述第j個產品Ij 的項目相似度simu(Ii,Ij);
[0076] 在進行相似度simi(Ii,Ij)計算之前,要對缺失值Su,i進行預測,本發明中首先基于 貧信息用戶的歷史評分記錄和產品的項目特征信息進行樸素貝葉斯分類器的訓練;然后基 于該分類器對貧信息用戶評分項中的缺失值3 11,1進行預測。由于后續實驗中所使用的電影 產品的項目特征數據均為電影的流派數據,不存在出現次數問題,故而使用基于多元伯努 利模型的樸素貝葉斯分類器。
[0077] 步驟2.1、利用式(1)計算獲得貧信息用戶Uu對所述第i個產品h的評分項中的缺失 值Su,i為S (s)時的先驗概率P(S(S)):
[0079]式(1)中,I(u)表示貧信息用戶Uu對所述產品集合I中所有已評分的產品集合;item 表示所述已評分產品集合I(u)中的任一產品;|I(U)|表示所述已評分產品集合I(u)中的產品 數目;S u,lte,示貧信息用戶仏對所述已評分產品集合I(u)中產品item的評分;| {itemei(u) Su,ltem=S(s)}|表示貧信息用戶Uu在所述已評分產品集合I (u)中評分Su,lte^S(s)的產品數 目;
[0080]步驟2.2、利用式(2)計算獲得貧信息用戶Uu對所述第i個產品h的評分項中的缺失 值Su,i為S(s)時的似然函數P(gn| s(s)):
[0082]式(2 )中,gitem, ^^表示貧信息用戶Uu對所述已評分產品集合I(u)中的產品item在第n 個項目特征gn上的特征值;I UtemGl(U),gi,n=l |Su,item=S(S)ngitem,n = gi,n} | 表示貧信息 用戶Uu對所述已評分的產品集合I(u)中的產品item中評分S u,ltem為S(s),且貧信息用戶Uu對產 品item在第n個項目特征gn上的特征值gitem,n與第i個產品Ii在第n個項目特征g n上的特征值 g1>n取值均為T的項目個數;
[0083]步驟2.3、利用式(3)計算獲得貧信息用戶1]11對所述第1個產品11的評分5 11,1為5(3)時 的概率 P(S(s)|li):
[0085]為防止參數概率為0的情況,本發明對上述參數均使用拉普拉斯平滑方法。
[0087] 步驟2.4、重復步驟2.1-步驟2.3,從而獲得貧信息用戶Uu對第i個產品Ii的缺失值 Su,i分別為S (1)…,S(s),…,S(s)時的概率,并將最大概率所對應的評分作為貧信息用戶仏對 第i個產品^的缺失值S u>1的預測評分;
[0088] 步驟2.5、重復步驟2.4,預測所有貧信息用戶評分項中的缺失值,從而補全所述二 維表T中所有貧信息用戶的缺失值;
[0089] 步驟2.6、基于傳統皮爾森相關系數,利用式(4)得到貧信息用戶Uu對所述第i個產 品Ii與所述第j個產品Ij的項目相似度sin/ u(Ii,Ij):
[0091] 式(4)中,% 表示在補全所有貧信息用戶的缺失值二維表T中,既對所述 第i個產品Ii有評分Su,i,又對所述第j個產品Ij有評分Su, j的貧信息用戶uu; $表示在補全所 有貧信息用戶的缺失值二維表T中,所有貧信息用戶對第i個產品h的平均評分;忍表示在 補全所有貧信息用戶的缺失值二維表T中,所有貧信息用戶對第j個產品I』的平均評分;
[0092] 步驟2.7、基于加權皮爾森相關系數,利用式(5)計算得到貧信息用戶Uu對所述第i 個產品Ii與所述第j個產品Ij的項目相似度sim u(Ii,Ij):
[0094]式(5)中,表示既對所述第i個產品1:的有評分Su>1,又對所述第j個產品Ij 有評分Su, j的貧信息用戶數目,A是待調節參數,A的具體取值由交叉驗證實驗確定;
[0095]步驟三、對任意第i個產品Ii和第j個產品I」;當第v個用戶Uv對第i個產品Ii和第j 個產品I調有評分SvjPSq,則第V個用戶Uv即為富信息用戶;計算富信息用戶Uv對第i個產 品Ii與第j個產品Ij的項目相似度sim v(Ii,Ij); Kv彡|u| ;v乒u;
[0096]步驟3.1,基于傳統皮爾森相關系數,利用式(6)得到富信息用戶Uv對第i個產品h 與第j個產品Ij的項目相似度sin/vdijj):
[0098] 式(6)中,矣表示所有富信息用戶對第i個產品h的平均評分;$表示所有富信息 用戶對第j個產品L的平均評分表示既對第i個產品1:的有評分Sv>1,又對第j 個產品I j有評分Sv, j的富信息用戶Uv;
[0099] 步驟3.2、基于加權皮爾森相關系數,利用式(7)計算得到富信息用戶Uv對第i個產 品Ii與第j個產品Ij的項目相似度sim v(Ii,Ij):
[0101] 式(7)中,表示既對第i個產品I i的有評分Su, i,又對第j個產品I j有評分 SU>J的富信息用戶數目,A'是另一個待調節參數,A'的具體取值由交叉驗證實驗確定;
[0102] 步驟四、利用式(8)進行基于貧信息用戶Uu對第i個產品h與第j個產品I」的項目相 似度simu(Ii,Ij),與富信息用戶U v對第i個產品Ii與第j個產品Ij的項目相似度Simv(Ii,Ij) 的項目相似度融合;得到融合相似度sinKh,Ij):
[0103] sim(Ii,Ij) = (l-y ) Xsimu(Ii,Ij)+y Xsimv(Ii,Ij) (8)
[0104] 式(8)中,y是待調節參數,y的具體取值由交叉驗證實驗確定;
[0105] 步驟五、根據所述融合相似度simahlj,利用基于項目的協同過濾算法一一式 (9),獲得未評分產品的所有最終預測評分的降序排序集合;選取所述預測評分的降序排 序集合的前N項作為推薦結果,并推薦給所述貧信息用戶Uu。
[0106] 步驟5.1、當用戶Uu對所述第i個產品^未真實產生評分Su,dt,利用式(9)計算得到 用戶U u對所述第i個產品^的最終預測評分值|,;
[0108] 式(9)中,f表示除第i個產品h外產品集合I內的其他所有產品;$表示用戶對第 i個產品^真實產生評分的所有評分的平均評分,即第i個產品h的平均評分f的計算不包 括步驟二中通過樸素貝葉斯分類器獲得的預測評分。
[0109] 步驟5.2、重復步驟5.1,計算獲得用戶Uu對所有未真實產生評分的最終預測評分 t:并進行降序排列,獲得未評分產品預測評分值的排序集合;
[0110] 步驟5.3、選取所述未評分項排序集合的前N項作為推薦結果推薦給所述用戶Uu。
[0111] 針對本發明方法進行實驗論證,具體包括:
[0112] 1)準備標準數據集
[0113] 本發明使用GroupLens的MovieLenslOOk數據集。這個數據集包括943個用戶對 1682部電影的100000條評分記錄。每個用戶評價過至少20部電影。此外,這個數據集包含每 個電影的流派信息,電影庫中的所有電影共涉及到18種流派,每種流派下的電影個數如表3 所示,每個電影至少涉及到一種流派信息。
[0114] 表3
[0115]
[0116] 2)評價指標
[0117] 采用均方根誤差(RMSE)作為本實施例的評價指標,式(10)。將具有最優效果的IFA 算法與其它基準算法進行比較,均方根誤差RMSE通過計算測試集中實際的用戶評分與對應 項的最終預測值之間的偏差度量預測的準確性,RMSE越小,推薦質量越高:
[0119] 式(10)中,Su,^測試集ITest中用戶Uu對第i個產品h的實際評分,之,為算法計算 得到的用戶Uu對第i個產品h的預測評分,|lTest|為測試集中評分記錄個數。
[0120] 3)IFA算法的參數選擇
[0121] IFA算法有兩個參數控制著算法的結果,分別是利用加權皮爾遜相關系數計算富 信息用戶與貧信息用戶的項目相似度時的加權因子A,基于富信息用戶與貧信息用戶的項 目相似度貢獻權重y。本發明中先確定使得Weighted Pearson算法取得最優預測精度的入, 然后用確定的X來調節最優的Y。
[0122] 3.1)加權因子入:
[0123] 參數A對Weighted Pearson的影響如圖3~圖6所示,由于篇幅限制這里本發明中 只列出了訓練集和測試集比例為〇.3,0.5,0.7和0.9,不同的測試集1^的產品項目集規格 Neighbor Size下,即測試集中的評分記錄數目不同時,參數A對算法的影響分析實驗結果。 發現對于所有稀疏度等級的數據集,使得Weighted Pearson算法獲得最優評分預測精度的 入維持在140-200之間。這證實了較少的富信息用戶數目不一定意味著項目對有著較高的相 似度。在后續確定最優y的試驗中,本發明將各個稀疏度數據集的A分別設為180,180,190, 140〇
[0124] 3.2)相似度貢獻權重y :
[0125] 在確定使得Weighted Pearson算法取得最優預測精度的A后,本發明分別展示了 y從0到1變化時算法的預測精度的變化,如圖7~圖10所示。由公式(8)知,當y取1時,IFA 算法轉變為Weighted Pearson算法:當訓練集和測試集比例為0.3時,我們發現IFA算法在 Y取0-0.9之間的任意數,算法效果都優于Y取1時的效果,這充分說明了利用樸素貝葉斯 分類器預測貧信息用戶評分項的貧信息用戶評分項中的缺失值的有效性;當訓練集和測試 集比例為0.5,0.7和0.9時算法Y取0.8-0.9之間的任意數算法IFA算法效果都要優于 Weighted Pearson算法,這表明了融合貧信息用戶評分項可以提升評分預測精度。此外對 所有稀疏度等級的數據集,T在0.9-0.95時算法取得最優,這也說明雖然貧信息用戶評分 項有助于提升推薦準確性,但是用戶的實際評分項還是為用戶鄰居選擇貢獻最大。
[0126] 4)在標準數據集上進行實驗
[0127] 表4為各個算法在不同訓練/測試集比例的數據集上的RMSE值。每種數據集中最好 的算法用粗體表示。本發明表4列出了所提的IFA算法在各種比例下相對于其它算法的提 升,并對提升求取均值。我們發現在7種不同稀疏度條件的數據集下,所提IFA算法在5種較 為稀疏的數據集下均優于其它所有算法,只在在1個較為密集的數據集下IFA算法略遜于 Cosine Norm算法,在ratio為0.8時IFA算法和Cosine Norm算法表現相當。
[0128]與Pearson算法相比,IFA算法在所有稀疏條件下的效果都優于Pearson算法,平均 提升精度為3.0%。此外,我們發現Pearson算法在所有稀疏度條件的數據集下的推薦精度 都遜于所有其它算法。這表明考慮貧信息用戶的評分項有助于提升推薦的預測精度。
[0129] 表4
[0130]
[0131] 與基于Weighted Pearson的算法相比,IFA算法在所有稀疏度條件下都優于 Weighted Pearson算法,精度平均提升為0.8%。特別是當訓練集和測試集比例為30%和 40%時,此時訓練集中的評分數據極度稀疏,IFA算法相對于Weighted Pearson算法的提升 分別為1.5%和1.2%,這說明利用項目項目特征對貧信息用戶評分項的貧信息用戶評分項 中的缺失值進行預測有助于緩解數據集的稀疏性問題。另外我們發現Weighted Pearson在 所有稀疏度條件下的效果都優于Pearson算法,這說明懲罰貧信息用戶過多的項目對的相 似度有助于提升基于項目最近鄰協同過濾算法的評分預測精度。
[0132] 與基于Cosine Norm相似度的項目最近鄰協同過濾算法相比,所提算法在訓練集 和測試集比例為30%-70%時均優于Cosine Norm算法,當訓練集和測試集比例為90%時, Cosine Norm算法略遜于所提IFA算法。總體來說,Cosine Norm是對數據集稀疏度依賴非常 高的算法,當數據集較為密集時,算法效果非常好,但是當數據集極度稀疏時,該算法幾乎 是最差的算法。
[0133]與基于概率矩陣分解(PMF)的算法相比,所提算法在所有數據集上均優于PMF算 法,不過值得一提的是,PMF算法在最為稀疏的一個數據集中的表現僅次于所提IFA算法。
【主權項】
1. 一種基于產品項目特征擴充的最近鄰協同過濾方法,其特征是按如下步驟進行: 步驟一、用二維表T = {U,I,S}表示產品的評分數據; 所述二維表T中,U={Ur-,Uu,…,U|U|}表示用戶集合,I = {Ir-,Ii,…,I|i|}表示產品集 合,S={S(1)…,S(s),…,S(s)}表示用戶對產品的評分集合; 所述用戶集合U中,| u |為用戶的總數目,Uu表示第u個用戶;1彡u彡| u | ;所述產品集合I 中,I i I為產品的總數目,h表示第i個產品;I i I ;所述評分集合S中,S(s)表示所述評 分集合中第s個評分,且S(1)<~<S (s)<~<S(s); 令第u個用戶Uu對第i個產品Ii的評分為Su, i,且Su, i G S; 對任意第i個產品Ii和第j個產品Ij;若第u個用戶Uu對所述第i個產品Ii和第j個產品Ij 均有評分Su,dPSu」,則表示第u個用戶Uu為富信息用戶;第u個用戶U u對第i個產品h的評分 Su,i和第u個用戶Uu對第j個產品1」的評分Su,」均稱為富信息用戶評分項;| i | ; i乒j ; 對任意第i個產品Ii和第j個產品Ij;若第u個用戶Uu僅對所述第i個產品Ii有評分Su,i或 僅對第j個產品L有評分Su+則表示第u個用戶Uu為貧信息用戶;第u個用戶Uu對第i個產品 h的評分Su>1和第u個用戶Uu對第j個產品I」的評分Sy均稱為貧信息用戶評分項;并有: 當第u個用戶Uu僅對所述第j個產品I」有評分Sy時,第u個用戶Uu對第i個產品h的評分 Su,d#為貧信息用戶評分項中的缺失值; 令所有產品具有的項目特征集合為G = {gl…,gn,…,g|n|},gn表示所有產品的第n個項 目特征;令貧信息用戶評分項中的缺失值Su>1所代表的第i個產品h的項目特征集合為 Gi= {gi,r",gi,v,gi, |n|} ;gi,n表示第i個產品Ii在第n個項目特征gn上的特征值;若第 i個產品Ii具有第n個項目特征gn,則gi,n=l;否則,gi,n = 0;Kn彡|n| ; 步驟二、假設第u個用戶Uu為貧信息用戶;第u個用戶Uu對所述第i個產品h的評分SU>1S 貧信息用戶評分項中的缺失值;計算貧信息用戶Uu對所述第i個產品^與所述第j個產品込 的項目相似度simu(Ii, Ij); 步驟2.1、利用式(1)計算獲得貧信息用戶Uu對所述第i個產品h的評分項中的缺失值 Su,i為S(s)時的先驗概率P(S(S)):式(1)中,I(u)表示貧信息用戶Uu對所述產品集合I中所有已評分的產品集合;item表示 所述已評分產品集合I(u)中的任一產品;|I(U)|表示所述已評分產品集合I(u)中的產品數目; Su,ltem表示貧信息用戶Uu對所述已評分產品集合I(u)中產品item的評分; {itemGl(u)|Su,ltem=S(s)}|表示貧信息用戶U u在所述已評分產品集合I(u)中評分Su,ltem 為S(s)的產品數目; 步驟2.2、利用式(2)計算獲得貧信息用戶Uu對所述第i個產品h的評分項中的缺失值 Su,i為S(s)時的似然函數P(gn| S(s)):式⑵中,gltem,n表示貧信息用戶仏對所述已評分產品集合I(u)中的產品item在第n個項 目特征gn上的特征值;| {itemG I(u),gi,n=l I Su,item=S(S) ngitem,n = gi,n} I 表示貧信息用戶Uu 對所述已評分的產品集合I(u)中的產品item中評分Su,ltemSS (s),且貧信息用戶Uu對產品 item在第n個項目特征gn上的特征值gitem,n與第i個產品Ii在第n個項目特征g n上的特征值 g1>n取值均為T的項目個數; 步驟2.3、利用式(3)計算獲得貧信息用戶1]11對所述第1個產品11的評分511, 1為5(3)時的概 率 P(S(s)|li):步驟2.4、重復步驟2.1-步驟2.3,從而獲得貧信息用戶Uu對第i個產品Ii的缺失值Su, i分 別為S(1)…,S(s),…,S(s)時的概率,并將最大概率所對應的評分作為貧信息用戶U u對第i個 產品^的缺失值Su,:的預測評分; 步驟2.5、重復步驟2.4,預測所有貧信息用戶評分項中的缺失值,從而補全所述二維表 T中所有貧信息用戶的缺失值; 步驟2.6、基于傳統皮爾森相關系數,利用式(4)得到貧信息用戶Uu對所述第i個產品h 與所述第j個產品Ij的項目相似度sin/udijj):式⑷中,表示在補全所有貧信息用戶的缺失值二維表T中,既對所述第i 個產品Ii有評分Su, i,又對所述第j個產品I j有評分Su, j的貧信息用戶Uu;瓦表示在補全所有 貧信息用戶的缺失值二維表T中,所有貧信息用戶對第i個產品h的平均評分;$表示在補 全所有貧信息用戶的缺失值二維表T中,所有貧信息用戶對第j個產品I』的平均評分; 步驟2.7、基于加權皮爾森相關系數,利用式(5)計算得到貧信息用戶Uu對所述第i個產 品Ii與所述第j個產品Ij的項目相似度simu(Ii,Ij):式(5)中,& n% |表示既對所述第i個產品Ii的有評分Su, i,又對所述第j個產品Ij有評 分Sy的貧信息用戶數目,A是待調節參數; 步驟三、假設第v個用戶Uv即為富信息用戶;計算富信息用戶Uv對所述第i個產品1:與所 述第j個產品Ij的項目相似度simv(Ii,Ij);Kv彡|u| ;v乒u; 步驟3.1,基于傳統皮爾森相關系數,利用式(6)得到富信息用戶Uv對所述第i個產品h 與所述第j個產品Ij的項目相似度sin/vdijj):式(6)中,% n%表示既對所述第i個產品^的有評分Sv>1,又對所述第j個產品込 有評分Sq的富信息用戶U、;完表示所有富信息用戶對第i個產品h的平均評分;$表示所有 富信息用戶對第j個產品込的平均評分; 步驟3.2、基于加權皮爾森相關系數,利用式(7)計算得到富信息用戶Uv對所述第i個產 品Ii與所述第j個產品Ij的項目相似度simv(Ii,Ij):式⑴中,表示既對所述第i個產品1:的有評分Su>1,又對所述第j個產品I洧評 分Sy的富信息用戶數目,A'是另一個待調節參數; 步驟四、利用式(8)進行基于貧信息用戶Uu對所述第i個產品1:與所述第j個產品I」的項 目相似度simuaulj),與富信息用戶Uv對所述第i個產品1:與所述第j個產品込的項目相似 度sim v(Ii,Ij)的項目相似度融合;得到融合相似度sim(Ii,I j): sim(Ii,Ij) = (l-y ) Xsimu(Ii,Ij)+y Xsimv(Ii,Ij) (8) 式(8)中,y是待調節參數; 步驟五、根據所述融合相似度simahlj,利用基于項目的協同過濾算法,獲得未評分 產品的所有最終預測評分的降序排序集合;選取所述預測評分的降序排序集合的前N項 作為推薦結果,并推薦給所述貧信息用戶U u。
【文檔編號】G06Q30/06GK106055715SQ201610547148
【公開日】2016年10月26日
【申請日】2016年7月12日
【發明人】劉業政, 宋穎欣, 王錦坤, 姜元春, 孫見山, 孫春華
【申請人】合肥工業大學