楊錫慧
摘要:在傳統推薦系統中,通常基于協同過濾推薦算法挖掘評分中的隱含特征,但在實際應用中,評分矩陣往往十分稀疏,很難充分地表示用戶偏好特征與物品描述特征。為了充分挖掘評論文本中的隱含特征,并在一定程度上緩解數據稀疏性問題,提出一種深度協同過濾模型(CFiCNN):融合卷積神經網絡的協同過濾模型。該模型利用卷積神經網絡抽取用戶-物品評論數據中的隱含特征,基于協同過濾的矩陣分解方法,進行評分預測。在4個真實數據集上對該模型進行了評估實驗,并與3個常用模型進行對比。實驗結果表明,該模型能夠很好地抽取到用戶與物品的隱含特征,并且進行更準確的評分預測。
關鍵詞:推薦系統;評分預測;卷積神經網絡;協同過濾;矩陣分解
DOIDOI:10.11907/rjdk.172511
中圖分類號:TP301
文獻標識碼:A 文章編號:1672-7800(2017)012-0044-05
Abstract:In the traditional recommendation system, collaborative filtering is widely used to extract implied features. However, in practice, the rating matrix is usually very sparse, which is difficult to fully represent users preferences and items features. In order to fully extract the implicit features in reviews and to alleviate the sparseness of data to a certain extent, this paper proposes a deep collaborative filtering model, named collaborative filtering integrating convolutional neural network (CFiCNN). This model uses convolution neural network to extract the implicit features in the user-item reviews, and then predicts ratings based on the matrix factorization. In this paper, CFiCNN is evaluated on four real data sets and compared with three commonly used models. The experimental results show that CFiCNN can extract the implicit features of the user and the commodity well, and make a more accurate rating prediction.
Key Words:recommendation system; ratings prediction; convolutional neural network; collaborative filtering; matrix factorization
0 引言
隨著互聯網技術的迅猛發展,每天都有大量文字、圖片、視頻等數據被上傳到互聯網中[1],分析用戶的反饋信息和物品描述信息,挖掘兩者中的隱含特征,對用戶進行個性化推薦十分必要。
傳統推薦算法主要有兩大類:一類是基于內容的推薦算法,另一類是基于協同過濾的推薦算法[2-4]。基于內容的算法根據用戶或物品的元數據,即用戶的個人信息和物品的內容信息,發現用戶或物品間的相關性,據此產生推薦。基于協同過濾的方法更看重用戶的歷史數據,如購買歷史、評分等[5],在實際應用中,該算法往往能取得更精確的推薦。然而,基于協同過濾的推薦算法存在稀疏性問題,較難有效抽取數據特征[6]。因此,如何有效緩解稀疏性問題,是推薦系統中需要深入研究的熱點。
近年來,深度學習在圖像識別、文本處理和自然語言處理等方面數據深層次隱含特征的挖掘上取得了一定進展,其中,卷積神經網絡(Convolutional Neural Network, CNN)表現尤為突出[7-8]。卷積神經網絡是一種前饋神經網絡,其特殊的網絡結構使之更類似于生物神經網絡,因此能夠很好地抽取數據的深層隱含特征[9]。本文提出的基于融合卷積神經網絡的協同過濾模型(Collaborative Filtering integrating Convolutional Neural Network,CFiCNN)基于卷積神經網絡理論,提取用戶和物品數據的深層隱含特征,并將其融合到傳統協同過濾算法中,實驗表明有較好效果。
1 相關研究
1.1 傳統推薦算法
傳統推薦算法主要包括基于內容的算法和基于協同過濾的算法。基于內容的推薦算法源自信息檢索[10-11],其假設“用戶會喜歡和他過去喜歡的物品類似的物品”,核心思想是基于用戶和物品的內容信息,例如用戶性別、興趣偏好、物品的描述信息等,挖掘其相關性,然后根據用戶過去喜歡的物品,為其推薦類似的物品。受限于特征信息的提取能力,基于內容的推薦方法效果并不理想。
基于協同過濾的推薦算法是目前應用最為廣泛的算法,被認為第一個應用協同過濾的系統是Grundy書籍推薦系統[12]。1992年,David Goldberg[13]首次在論文中提出了“協作型過濾”一詞,并將協同過濾應用于其設計的Tapestry郵件處理系統。基于協同過濾的推薦算法根據評分評論等歷史數據,挖掘用戶或物品之間的相似性,并據此預測評分,形成推薦。基于協同過濾的推薦算法可分為3種:基于用戶的協同過濾、基于物品的協同過濾和基于模型的協同過濾。基于用戶的協同過濾是最早的一種協同過濾算法,其基于最近鄰搜索,使用不同相似性度量指標,如Pearson相關性系數、余弦相似度等方法,計算用戶間的相似性,并據此進行推薦[14]。基于物品的協同過濾和基于用戶的協同過濾類似,但它計算的是物品間的相似性。基于模型的協同過濾算法常用矩陣分解(Matrix Factorization, MF)抽取隱含信息,包括Lee等[15]在2001提出非負矩陣分解模型(Non-negative Matrix Factorization,NMF),Salankhutdinov等[16]在2008年及Rennie等[17]在2005年分別提出的最大間隔矩陣分解(Max-margin Matrix Factorization, MMMF) 以及概率矩陣分解模型(Probabilistic Matrix Factorization, PMF)。基于協同過濾的推薦算法善于發現用戶新的喜好,具有推薦新信息的能力,而且其推薦性能不會隨著用戶數量的增加而大幅下降。但是,由于協同過濾算法基于歷史數據形成推薦,因此該算法仍然存在“冷啟動”與“稀疏性”問題。