劉 軍, 楊 軍, 宋姍姍
(吉林大學 計算機科學與技術學院, 長春 130012)
推薦系統能為用戶提供精準、快速的業務(如商品、項目、服務等)信息[1], 不僅有利于用戶發現未知的感興趣商品信息, 而且有利于網站以特色項目快速吸引并發展目標用戶群體, 實現用戶和網站的互惠.
目前已有的多數推薦系統算法是解決冷啟動、稀疏等問題[2], 提高推薦的準確性[3], 而針對目標用戶購買意愿的推薦算法相對較少. 文獻[4]將價格影響系數和折扣影響系數混合加權到預測評分中, 由于計算中考慮了更細致的影響用戶購買因子, 從而有效提升了歸一化折損累積增益(NDCG)排序指標, 該算法盡管在購買能力方面有一定效力, 但不是針對購買意愿力及目標用戶的算法; 文獻[5]提出了一種矩陣分解和K-means聚類的推薦算法, 對用戶評分類別中的興趣點值(POI value)重點加權, 從而提高了推薦的準確率和召回率; 文獻[6]提出了一種基于雙聚類的協同過濾推薦算法(BCF), 通過BCF算法將在局部項目上具有相似興趣的用戶聚類, 挖掘出用戶和項目之間的局部相關模式, 從而在一定程度上提高了推薦精度; 文獻[7]通過矩陣分解和多細節層次(LOD)相似度重點解決了數據稀疏及冷啟動問題, 提高了推薦精度; 文獻[8]通過詞嵌入技術, 提出了Prefs2vec算法, 重點突出了詞袋間的多樣性及特征, 提升了基于存儲的協同過濾改進算法.
但上述算法的目標只針對推薦算法精度, 本文提出一種基于用戶購買意愿力的推薦算法, 在用戶購買意愿較強烈的前提下, 向目標用戶準確推薦其感興趣的商品, 在減少用戶導購迷航的同時, 增加用戶購物體驗的滿意度.
協同過濾推薦(CF)算法是推薦系統中廣泛使用的一種方法, 其在聚類的思想下[9], 利用大數據分析、數據挖掘等技術將大部分看起來無交集的人, 通過某些特定的算法挖掘出興趣、愛好都較相似的個別群體, 將他們感興趣的項目組成一個排序列表推薦給興趣相似的人[10]. 協同過濾算法應用在全球電子商務領域中的業績較突出, 例如AMAZON搜索引擎, 其網站上約35%的銷售額來自其個性化推薦. CF算法主要分為基于存儲的方法(Memory_Based)和基于模型的方法(Model_Based). Memory_Based CF是經用戶評過分的項目偏好預測可能最感興趣的未知項目偏好, 分為基于用戶的協同過濾(User_Based CF)和基于項目的協同過濾(Item_Based CF)兩種算法[11]. 基于模型的方法使用機器學習(如聚類[12]、回歸、數據挖掘、關聯規則及Bayes技術等)建立用戶與商品之間以及用戶與用戶之間的關系[13], 然后通過優化過程得到模型參數, 建立的數據模型比原始數據集小, 最終根據模型產生合理的推薦.
實施基于項目協同過濾推薦(IBCF)算法的主要過程: 首先計算項目間的相似度; 其次通過用戶_項目評分矩陣和物品的相似度得出預測評分; 最后通過排序法篩選出最感興趣的項目為用戶生成推薦列表[14]. 測量不同矢量間的相似性通常使用矢量之間的“距離”計算. 設項目a與b之間的相似度為sim(a,b)[15], 其度量方法主要有下列3種.
1) 歐氏距離. 由于平方和是線性規則中的重要表達, 因此多數場景下采用歐氏距離相似度, 表示為

(1)
其中Uab表示對項目a和b評分過的用戶集,ai表示用戶i對項目a的評分.
2) Pearson相似度. 首先預處理異常值, 然后用數量積計算用戶之間的距離. 由于計算相對較復雜, 因此只能應用于帶評分的場景, 對不同量綱的評分, 衡量相似度時效果較好, 可表示為

(2)
3) 余弦相似度. 主要用于評分數據稀疏矩陣, 但易受向量平移的影響, 可表示為

(3)
在實際應用中, 需要分析具體問題, 以便采用最適合的相似度計算公式. 本文利用Pearson相似度計算用戶或物品間相似度得到的實驗效果比其他方法更好[16].
計算項目之間的相似性是以用戶對項目的評分為基礎, 最終評分預測還可以填充稀疏矩陣, 開放源數據集通常分為培訓組和測試組. 傳統的評分預測算法如下:
1) 基于用戶的鄰域算法是關聯與目標用戶相似性最靠前的用戶對物品的預測評分, 構建目標用戶的最終評分, 可表示為

(4)

2) 基于物品的鄰域算法是在商品間相似度最靠前的物品集合中, 關聯興趣相似用戶的預測評分, 構建目標用戶的最終評分, 可表示為

(5)

邏輯回歸(logistic regression, LR)是一種常用的處理二分類問題的線性模型[17]. 本文為解決連續的線性函數不適合分類的問題, 引入非線性函數g:Rd→(0,1)預測類別標簽的后驗概率:

(6)
這里邏輯函數作為激活函數,x=(x1,x2,…xd,1)T和ω=(ω1,ω2,…ωd,b)T分別為(d+1)維的增廣特征向量和增廣權重向量.
用表征用戶購買意愿力的特征值(瀏覽Browse、收藏Collect、加購物車Cart)建立購買意愿力評分矩陣Spif. 設商品i在用戶購買意愿力評分中的排名為RankScore(即rsi), 將rsi值作歸一化、標準化處理后, 代入懲罰因子加權公式, 最后將權重代入增強相似度公式, 得出增強矩陣預測評分.
min-max標準化: 以線性方式表示原始數據, 并將數據結果指定在[0,1]內. 對序列x1,x2,…,xn進行線性變換:

(7)
則新序列y1,y2,…,yn∈[0,1]且無量綱.
協同過濾算法作為推薦系統中的最基本算法, 具有重要的研究價值和應用前景[18]. 基于項目的協同過濾(item-based collaborative filtering, IBCF)作為協同過濾算法的分支之一, 具有優異的性能和較強的可解釋性, 已得到廣泛應用[19]. 但數據長尾現象是該算法需解決的主要問題之一[20].
文獻[21]對基于存儲的協同過濾方法進行了改進, 包括缺省投票(根據用戶未評分項目的某些規則給出分數)、倒轉用戶頻率(考慮到在一些大眾物品上評分相似并不能很好地代表兩用戶偏好相似, 在小組中給相似項目打分更有參考意義)、放大示例(增強類似的用戶權重及減少不同的用戶權重), 以此修正物品余弦相似度公式[21], 表示為

(8)
文獻[22]提出了一種基于牛頓冷卻定律的熱門排序懲罰因子算法, 即將熱門排名想象成一個自然冷卻的過程. 同理, 在時間流逝中, 客戶所關注的項目熱度也在不斷下降. 因此, 在“時間”和“溫度”的基礎上構造牛頓漸冷法, 表示為
T=T0e-γ(t-t0).
(9)
之后, 劉歡等[23]進一步改進了該公式, 并將其應用到推薦系統算法中.
本文針對評分矩陣中變量X或Y的線性關系不能清晰體現, 對其進行數據轉換后, 得出新的懲罰因子加權公式為

(10)
其中β為懲罰系數, 本文取β=0.5.
設Se為ERM預測評分, 其值為購買意愿力評分矩陣Spif與權值Wpf-i的加權再除以權值總和. 該算法主要針對有購買意愿的商品排名靠后, 從而未被及時推薦導致的長尾效應. 因頭部標的物會被越來越多的用戶消費, 而質量較好且用戶有購買意愿的長尾標的物由于用戶關注行為較少, 自身描述信息不足而得不到足夠的關注.Se可表示為

(11)
其中Ic表示購買意愿力較強的用戶集合.
設Mui為最終評分, 其值是混合加權基礎型評分矩陣BRM與增強型評分矩陣ERM的加權和, 可表示為

(12)
其中α為調節系數, 本文取α=0.7.
實驗采用本文方法與傳統IBCF算法在進行對比.
1) 傳統IBCF算法. 通過采用余弦相似度計算用戶間的相似度值, 得到推薦結果; LRR(logistic regression recommendation)邏輯回歸是在推薦算法領域內, 通過設定概率閾值對用戶有意購買或無意購買做二值判斷;
2) 本文采用增強矩陣協同過濾推薦(ERM-IBCF)算法. 首先, 通過奇異值分解(SVD)降維, 再以Pearson相似度計算用戶相似度值, 得到基礎型評分矩陣(BRM); 其次, 用懲罰因子作為增強型矩陣ERM的評價權重, 加權表征用戶購買意愿力的商品畫像, 取得增強型矩陣ERM的預測評分; 最后, 混合加權BRM&ERM得到最終評分.
向購買意愿力較強的目標用戶推薦TOP-N個下單可能性最大的商品作為興趣偏好商品, 采用準確率(P)、召回率(R)和綜合評價指標(F1)值作為評價標準對推薦性能進行評估, 分別表示為

(13)

(14)

(15)
其中: 準確率是通過計算預測偏好與實際偏好相等的數量占整個測試集推薦商品個數的比值衡量推薦的準確度,P(N)表示推薦數量為N時的準確率; 召回率是預測正確的偏好數量占被推薦商品個數的比值,R(N)表示推薦數量為N時的召回率; 綜合評價指標F1值越高說明推薦性能越好.
本文實驗數據來源于天池新人挑戰賽離線賽, 數據包含約1萬個用戶的完整行為和位置信息以及近50萬條的商品信息, 其中用戶行為分類為瀏覽、收藏、加車、購買, 評分分別為1~4分. 實驗中, 將數據劃分為訓練集和測試集兩部分. 通過訓練集預測目標用戶感興趣程度最大的興趣偏好, 再以測試集驗證推薦算法的優劣.
3.3.1 調節懲罰系數β
選取最優的β值, 得出對應的準確率和召回率.
1) 準確率: 截取區間[0.3,0.6]+0.1內實驗數據, 結果如圖1所示.
2) 召回率: 截取區間[0.3,0.6]+0.1內實驗數據, 結果如圖2所示.

圖1 不同懲罰因子下的準確率對比結果Fig.1 Comparison results of accuracy under different penalty factors

圖2 不同懲罰因子下的召回率對比結果Fig.2 Comparison results of recall rates under different penalty factors
在圖1和圖2中, 對于每組推薦長度N, 從左至右分別對應β=0.3,0.4,0.5,0.6. 算法ERM-IBCF中, 當懲罰因子β=0.5時, 準確率和召回率的結果達到最優. 隨著推薦列表長度的增加, 準確率和召回率的值也增大.
3.3.2 LRR和IBCF與ERM-IBCF算法之間推薦結果對比分析

圖3 LRR,IBCF和ERM-IBCF算法的準確率對比結果Fig.3 Comparison results of accuracy of LRR, IBCF and ERM-IBCF algorithms
IBCF和ERM-IBCF兩種算法分別采用兩種不同相似度計算方法, 準確率定義為推薦列表中用戶感興趣且購買意愿較強的商品所占比例, 召回率定義為用戶購買意愿較強商品被推薦的概率. 選擇準確率和召回率作為實驗的基礎評價指標,F1值作為實驗的綜合評價指標, 偏好推薦列表的長度分別取5,10,15,20.
邏輯回歸和兩種基于用戶協同過濾偏好推薦算法在淘寶用戶數據集上的推薦準確率、召回率和F1值結果分別如圖3~圖5所示. 由圖3~圖5可見: 由于ERM-IBCF算法融合了表征用戶購買意愿的評分矩陣, 對購買意愿較強烈的項目進行重點推薦, 因此, ERM-IBCF算法具有更好的重點項目推薦性能; LRR由于包含了較多的目標意愿用戶, 所以準確率和召回率略高于IBCF算法, 但與ERM-IBCF算法相比, 后者由于融合了增強矩陣, 重點推薦購買意愿較強項目, 因此ERM-IBCF算法的準確率和召回率高于LRR. 由圖3和圖4可見, 隨著推薦項目數量的增加, 準確率和召回率的增加也非常明顯, 這主要是因為目標用戶購買意愿較強項目被推薦的數目也在逐漸增多, 從而也逐漸提高了F1值.

圖4 LRR,IBCF和ERM-IBCF算法的召回率對比結果Fig.4 Comparison results of recall rates of LRR, IBCF and ERM-IBCF algorithms

圖5 LRR,IBCF和ERM-IBCF算法的F1值對比結果Fig.5 Comparison results of F1 values of LRR, IBCF and ERM-IBCF algorithms
綜上所述, 本文針對網購行為中商品瀏覽量排名靠前而銷量滯后的問題, 在用戶購買意愿力的基礎上, 提出一種增強評分矩陣協同過濾推薦算法. 通過懲罰因子權重算法, 有效解決了興趣偏移導致的不確定性和因時間等因素導致的感興趣商品關注熱度下降問題; 同時通過對數轉換呈現了用戶購買意愿力評分排名與懲罰因子權值的線性關系; 通過融合增強矩陣中表征用戶購買意愿的評分矩陣, 將用戶感興趣且購買意愿較強的項目從眾多下單盲區中, 對目標用戶重點推薦, 從而增加用戶下單的幾率.