曲立平,吳家喜
(哈爾濱工程大學 計算機科學與技術學院,哈爾濱 150001)(*通信作者電子郵箱quliping@hrbeu.edu.cn)
近幾十年來,隨著互聯網的快速發展,人們能夠獲取的信息越來越多,但是用戶在面對數量龐大、內容豐富的信息的同時,對如何獲取自己真正想要的信息存在著困惑,因此,大量以個性化推薦為代表的過濾網絡工具應運而生。目前個性化推薦領域大多數研究人員主要研究單領域推薦,如Netflix和Last.fm。單領域推薦往往存在數據稀疏和冷啟動兩大主要問題,使得用戶的個性化推薦效果不理想。如何整合多個不同域中的數據來實現用戶精準推薦已成為近來個性化推薦的研究熱點。
推薦系統如何根據用戶對一類信息(或物品)的喜好,向其推薦其他類型的信息(或物品),被稱為跨域推薦[1-4]。在跨域推薦中存在隨意評分的用戶, 例如,有的用戶即使對購物過程不滿意,但因為好評返紅包等原因仍對物品給出較高的評分;而有的用戶即使對購物過程滿意,因為心情不好等原因對物品給出較低的評分。當該物品的評分數量較少時,隨意評分使得該物品的評分并不能準確表現出用戶的偏愛,從而對推薦結果的準確性產生較大的影響。
目前,大部分研究人員在將輔助域中數據遷移到目標域的過程中,忽略了隨機評分的存在[5-10]。文獻[11]注意到了隨意評分的存在,為所有用戶統一設置了閾值。統一閾值的設置,由于其阻止了隨意性評分對目標域信息的干擾,理論上與不設置閾值的數據遷移相比,其推薦結果的準確率會有所提高; 然而,不同用戶評分的隨意性是不同的,為所有用戶統一設置閾值,不能很好地體現這種隨意性,據此,本文提出一種基于評分可靠性的跨域個性化推薦方法。該方法針對不同的評分可靠性,為用戶設置不同的閾值,以減少隨意評分對推薦效果的影響。
基于評分可靠性的跨域個性化推薦方法的推薦流程主要包括3個階段:預處理階段、處理階段和評估階段,如圖1所示。

圖1 推薦流程
為了降低用戶的隨意評分對推薦效果的影響,本文首先計算用戶評分的可靠性,以此來判斷用戶評分的可信程度。對評分可靠性較高的用戶,為其設置較低的閾值; 對評分可靠性較低的用戶,為其設置較高的閾值。
本文使用用戶評分可靠性來描述用戶評分的可信程度,其值為用戶對所有物品的評分與該物品評分的平均值的標準差,記為Varu,如式(1)所示:
(1)

由式(1)可知,Varu值越小,該用戶的評分可靠性越高。
對于評分可靠性低的用戶,如果其評分的物品的評分數量較少,則該用戶的隨意評分將對推薦結果的準確性產生很大的影響,在將輔助域的數據向目標域遷移時,該用戶對該物品的評分應被忽略。只有當其評分的物品的評分數量較多時,用戶的隨意評分對推薦結果的準確性的影響才能被忽略。而對于評分可靠性高的用戶,因為其評分能夠反映用戶的真實喜好,無論其評分的物品的評分數量多還是少,都可以將輔助域的該數據向目標域遷移。
用戶評分的最高分為5分,最低分為0分。從式(1)可以看出,用戶評分可靠性的取值范圍為[0,5)。按可靠性取值從低到高且間隔長度為1進行分段,可以將用戶評分可靠性的取值分為0,(0,1],(1,2],(2,3],(3,4]和(4,5)共六段。對于用戶可靠性取值為0的用戶,為其設置閾值為T;取值為(0,1]的用戶,設置閾值為T+1;取值為(1,2]的用戶,設置閾值為T+2,以此類推。
基于評分可靠性的跨域個性化推薦方法的處理步驟[11]如下:
1)對每個域進行矩陣分解,并使用交替最小二乘法(Alternating Least Squares, ALS)進行優化,得到最優用戶特征矩陣和物品特征矩陣,如式(2)所示:
R=Um*k*Vk*n
(2)
其中:k為特征數,m為用戶數,n為物品數,Um*k是用戶特征向量,Vk*n是物品特征向量,R是用戶-物品評分矩陣。
2)使用K-Means聚類算法對用戶-物品特征矩陣中的用戶、物品進行聚類。
3)計算每個聚類用戶對應聚類物品的評分的平均值,如式(3)所示:
(3)

4)通過上述的聚類級計算,得到某類用戶對某類物品的聚類級用戶-物品評分矩陣Rc,如式(4)所示:
(4)

(5)



(6)
其中參數α的取值需要隨著實驗不斷地調整,直到最終的評估準確率不再升高為止。
實驗采用了Amazon數據集。該數據集是從1996- 05至2014- 07時間段產生的,共1億多條用戶評分,每條評分記錄包括用戶ID、物品ID、用戶對物品的評分和評分時間戳。由于數據集中Books、Movies和Music三個域的數據量較大,為了避免推薦時數據過于稀疏,本實驗在這三個域上進行。
實驗的對比模型是文獻[11]提出的基于簇類的跨域矩陣分解(Cross-domain Clustering-Based Matrix Factorization, CCBMF)模型。CCBMF模型分為基于簇類的跨域矩陣分解-統一設置閾值(CCBMF-Common Threshold, CCBMF-CT)模型和基于簇類的跨域矩陣分解-不設置閾值(CCBMF-No Threshold, CCBMF-NT)模型。基于簇類的跨域矩陣分解-個性化設置閾值(CCBMF-Personalized Threshold, CCBMF-PT)模型是本文提出的模型,該模型是在CCBMF模型的基礎上,根據用戶的評分可靠性來個性化的設置用戶的閾值。
對Books、Movies和Music域,分別都從2013- 07到2014- 07時間段中用戶評論數量為1,2,…,10的物品中隨機選取20個數據,再從用戶評論數量為10以上的物品中隨機選取300個數據組成用戶數為500的訓練數據集,剩下的數據作為測試數據集。在實驗中,設置特征值數量為20,聚類數量為20。在矩陣分解的過程中,設定目標函數值為0.1。聚類矩陣與目標矩陣線性組合時,α取值為0.5。
實驗采用MAE作為評估指標[12]。MAE的數值越小,推薦的質量就越高,MAE的計算公式如式(7)所示:
(7)

實驗共分3組進行,分別以Books、Movies和Music作為目標域,其他兩個域作為輔助域,閾值T依次從0開始遞增,計算CCBMF-NT、CCBMF-CT和CCBMF-PT的MAE(Mean Absolute Error)值。實驗結果如表1所示。

表1 模型在Books、Movies和Music域的MAE值
實驗過程中發現:隨著閾值T的增大,設置閾值的推薦效果反而不如沒有設置閾值的推薦效果好。因此,實驗在閾值為3后不再繼續遞增閾值。由此可知,在Amazon數據集中,隨意評分的用戶的數量較少。
從表1可以看出:除了目標域為Books且閾值T為3時,其他情況下,CCBMF-CT 和CCBMF-PT的MAE值均小于CCBMF-NT的MAE值,即在將輔助域中數據遷移到目標域的過程中,整體上,設置閾值比不設置閾值的跨域推薦具有更高的預測評分的準確度;除了目標域為Books且閾值T為3,目標域為Movies且閾值T為2和3時,其他情況下,CCBMF-PT的MAE值均小于CCBMF-CT的MAE值,即在將輔助域中數據遷移到目標域的過程中,整體上,個性化的設置閾值比統一的設置閾值的跨域推薦具有更高的預測評分的準確度。
本文提出了基于評分可靠性的跨域個性化推薦方法,給出了用戶評分可靠性的計算方法和個性化閾值的設置方法,描述了跨域個性化推薦方法的推薦流程。通過Amazon數據集驗證了本文方法的推薦效果優于沒有設置閾值的推薦效果,也優于為用戶統一設置閾值的推薦效果。不過該方法仍然存在不足,即根據用戶的評分可靠性等比例分段劃分閾值相對較簡單,進一步需要研究的是如何根據評分數據分布進行非等比例分段劃分閾值。