基于融合卷积神经网络的协同过滤模型

2018-01-09 13:07杨锡慧
软件导刊 2017年12期
关键词:协同过滤推荐系统卷积神经网络

杨锡慧

摘要:在传统推荐系统中,通常基于协同过滤推荐算法挖掘评分中的隐含特征,但在实际应用中,评分矩阵往往十分稀疏,很难充分地表示用户偏好特征与物品描述特征。为了充分挖掘评论文本中的隐含特征,并在一定程度上缓解数据稀疏性问题,提出一种深度协同过滤模型(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)。基于协同过滤的推荐算法善于发现用户新的喜好,具有推荐新信息的能力,而且其推荐性能不会随着用户数量的增加而大幅下降。但是,由于协同过滤算法基于历史数据形成推荐,因此该算法仍然存在“冷启动”与“稀疏性”问题。

猜你喜欢
协同过滤推荐系统卷积神经网络
基于用户偏好的信任网络随机游走推荐模型
基于深度卷积神经网络的物体识别算法