王 健,馬佳琳
(沈陽師范大學,遼寧 沈陽 110034)
伴隨著網上購物的不斷發展,電子商務系統為用戶提供了越來越多的選擇。互聯網的發展給人們的生活帶來了巨大便利,同時一個迫切需要解決的問題也擺在面前:現今互聯網的結構日趨復雜,用戶經常會迷失在大量商品信息中,無法順利找到自己需要的商品信息,即信息過載問題。個性化推薦系統正是在信息過載情況下出現的,能夠根據用戶喜好,推薦給用戶所關心和需要的信息,給用戶提供個性化服務,從而讓用戶獲得更好的購物體驗。但是,傳統的推薦算法的推薦準確度不高。本文通過采用融合用戶特征標簽與協同過濾的方式,有效提升推薦系統的精準性。
協同過濾推薦算法主要可分為基于用戶的協同過濾推薦算法和基于物品的協同過濾推薦算法[1]。基于用戶的協同過濾推薦算法的基本思想是根據用戶的歷史行為數據發現用戶對物品的喜歡,如物品購買、收藏、內容評論等,并對這些喜好進行打分,然后根據不同用戶對相同商品偏好信息計算用戶之間的關系,從而在有相同愛好的用戶間進行商品推薦。基于商品的協同過濾推薦算法的基本思想是根據用戶對不同商品的打分情況計算商品之間的相似度,然后根據商品之間的相似性做出相應的推薦。
步驟1:根據用戶評分數據,建立用戶-物品評分矩陣。
步驟2:計算目標用戶和其余用戶之間的相似性,根據相似性找到最相似的K個用戶作為目標用戶的相似鄰居。
步驟3:根據用戶相似鄰居對目標用戶未評分物品的評分信息,對目標用戶未評分物品進行評分預測,選取預測評分最高的前N項作為目標用戶的推薦列表,推薦給目標用戶。
歐幾里得距離法[2]:將用戶對物品的評分轉換成向量形式,由此得到n維的評分向量xi、yi,利用歐幾里得公式計算兩個向量之間的距離,距離值越小,相似度越高。其中,歐幾里得公式為:

余弦相似性[2]:將用戶i和用戶j在n維對象空間上的評分向量分別表示為i、j,利用余弦公式計算兩個用戶向量的夾角余弦值,值越大,兩個用戶越相似。余弦公式為:

相關相似性[2]:將用戶i和用戶j共同評分的物品的集合用Ni,j表示,Ri,g表示用戶i對物品g的評價,Rj,g表示用戶j對物品g的評價,和分別表示用戶i和j對物品的平均評分。利用皮爾遜相關系數算法計算兩個變量的相關系數,絕對值越大,相關性越強。皮爾遜相關性公式為:

將Ptu,h表示為目標用戶tu對未評分物品h的預測評分值,sim(tu,nu)表示為目標用戶tu和鄰居用戶nu之間的相似度值,和分別表示目標用戶tu和鄰居用戶nu對物品的平均評分,Rnu,h表示鄰居用戶nu對物品h的評分,Ntu表示為目標用戶tu的鄰居集合,預測

推薦算法是個性化推薦系統中最核心、最關鍵的技術[3]。推薦算法的好壞基本上決定了推薦質量的優劣。協同過濾推薦算法本身具有很多優點,但是也存在著一些不足,如系統開始時無法對新用戶和新物品進行準確有效的推薦、算法中的數據稀疏性問題等。針對這些問題,本文提出融合用戶特征與協同過濾的個性化推薦算法,以有效緩解數據稀疏性問題和冷啟動問題,提高推薦算法的推薦質量。
網站一般在用戶開始注冊賬號的時候,需要填寫注冊賬號的相關信息,包括用戶名、密碼、手機號以及電子郵箱等信息[4]。但是,在計算用戶之間初期信息相似性的時候,這些信息是毫無意義的。所以,本文采用用戶的性別、年齡、職業以及地址4個特征標簽信息來計算用戶之間初始信息的相似性。
不同性別的用戶在選擇物品時會有不同的偏好。比如,男性用戶選擇物品時會更加注重物品的實用性,而女性更加注重物品的外觀,則計算用戶a和用戶b的性別相似性公式為:

不同年齡的用戶在選擇物品時也不一樣。將年齡劃分為10個年齡組:6歲以下,7~10歲,11~14歲,15~17歲,18~28歲,29~40歲,41~48歲,49~55歲,56~65歲,66歲以上,則計算用戶a和用戶b的年齡相似性公式為:

不同職業的用戶在選擇物品時也會有差異。將職業分類看成一個樹形結構,用H表示總層數,兩個任意的職業結點的長度設為1,H(a,b)表示用戶a的職業和用戶b的職業在樹中最近的共同雙親結點所在的層,則計算用戶a和用戶b的職業相似性公式為:

不同地區的用戶由于受到當地風俗習慣的影響,也會在選擇物品時存在區別。計算用戶a和用戶b的地址相似性公式為:

將上述四個用戶特征融合,分別用a、b、c、d表示性別、年齡、職業、地址的權重系數所占的比重,得到用戶的相似性公式為:

其中,a+b+c+d=1。
將融合用戶特征的相似性公式加入傳統的協同過濾相似性計算公式中,得到計算用戶相似性公式為:

本文實驗采用的是測試數據集,對衡量系統推薦質量采用平均絕對誤差MAE進行評估。其中,實驗使用的測試數據集為網絡開源Movielens數據集,包含了943名用戶對1 682部電影的10萬條評分記錄,評分區間為1~5分[5]。分數越高,表明該用戶越喜愛這部電影。MAE表示通過計算用戶對此電影的預測值與用戶對該電影的實際評分之間的絕對誤差值[6]。MAE的值越小,說明推薦的精準度越高。用Nt表示測試集合中評分的數量,Pc,m表示用戶c對電影m的預測評分,Rc,m表示用戶c對電影m的真實評分。MAE的計算公式為:

實驗中分別取5、10、15、20、25、30作為最近鄰居數用來進行測試,將傳統的協同過濾算法和融合用戶特征與協同過濾的個性化推薦算法進行算法推薦質量比較,實驗結果如圖1所示。

圖1 實驗結果對比
傳統的協同過濾推薦算法中數據稀疏性問題和冷啟動問題影響推薦結果的精準度,因此提出了將融合用戶特征標簽加入傳統協同過濾算法的改進方法。從實驗測試結果可以看出,改進的協同過濾推薦質量獲得了顯著提高。