基于深度学习的推荐系统由数据采集、数据存储、推荐引擎和个性化推荐四个部分组成,如图2-9所示。数据采集模块是通过智能人机接口获取用户信息和需求,收集各类用户和项目相关的数据。例如,用户对项目的评价和关注程度等反馈数据,用户的性别、年龄、喜好等个人信息数据,用户对网站的浏览、点击等行为数据,用户的社会化关系等社会网络数据,项目中存在的天气、地点等情境信息数据。数据存储模块负责对采集的用户情境数据、用户与项目之间的反馈数据、用户画像数据和社会化关系等各类数据资源进行存储,大数据环境下面对海量的数据资源,可以通过基于云计算的云存储方式将采集的数据资源存储在云端中,方便系统进行有效的存储和挖掘计算。推荐引擎模块是整个系统的核心,当分析用户偏好时,推荐系统可以高效快捷地从云端数据库中获取指定的数据资源,通过推荐引擎产生推荐结果,从而提升推荐系统的响应速度。从用户、项目、情境和社会关系中采集的数据,具有以下特点:数据量巨大、没有明确的组织结构、数据内容更新速度快和数据分析困难。针对上述数据特点,推荐引擎部分使用深度学习模型学习并挖掘用户和项目之间相关数据的潜在隐层表示,基于隐层表示丰富项目库和模型库,构建用户和资源之间的矩阵模型。在推荐引擎基础上,个性化推荐模块自动地向用户提供个性化的推荐服务,采用基于“信息推送” 的信息服务模式,将推荐引擎生成的推荐资源以适当的显示模式和相应的数据格式主动推送给用户,并实现智慧化导航服务,为用户提供实时主动的“一站式”信息推荐服务。在增加用户与系统之间黏合度的同时,挖掘了用户潜在的需求,提升了推荐系统的新颖性和精准性。将深度学习技术与传统的推荐方法相结合,不仅更精准地挖掘用户的需求和偏好,而且提升了推荐系统的高效性。
(1)深度学习和基于内容过滤的推荐算法结合
对于基于内容过滤的推荐方法来说,提取有效的数据表示决定了最终的性能。深度学习最大的优势在于通过一种端到端的学习过程,不需要依赖特征工程,自动获得大量非线性数据的深层语义特征。因此,深度学习技术与基于内容过滤的推荐系统结合,首先将用户数据和项目数据进行归一化处理,分别得到用户特征向量和项目特征向量。然后将两种特征向量分别输入深度学习模型中,学习多种类型数据中的隐层表示,然后基于隐层表示计算用户和项目的匹配度,最后使用分类器为用户提供推荐列表。用户对推荐列表中的项目进行评价反馈,然后更新用户与项目之间的反馈数据,用于深度学习模型的训练,深度学习与基于内容过滤的推荐算法结合模型如图2-10所示。
①基于深度信念网络的内容过滤推荐算法。
使用基于内容过滤的推荐算法仅提取传统的音频内容特征限制了用户偏好推荐功能的性能,Wang等[33]将深度信念网络和概率图形模型相结合而构建了新的模型,在网络学习音频内容特征的同时提出个性化的建议。通过将深度信念网络自动学习得到的特征和基于内容过滤的推荐算法所获得的特征相结合,不仅提高了推荐系统的精确性,而且该模型方法优于传统的基于特征的混合推荐方法。为了在信息推荐过程中提取更多深层数据表示,王兆凯等[34]提出了一种深度信念推荐方法,首先使用聚类方法将用户评分数据和用户生成数据进行归一化处理,然后通过深度信念网络学习输入数据中的深层特征表示,再使用狄利克雷模型优化模型参数,最后为用户产生推荐列表。
图2-9 基于深度学习的推荐模型
图2-10 深度学习与基于内容过滤的推荐算法结合
王杰等[35]利用卷积神经网络(CNN)和隐含狄利克雷分布(Latent Dirichlet Allocation,LDA)两种深度学习模型学习并挖掘用户信息和APP信息中潜在的隐层表示,然后将用户的数值特征和用户文本内容的卷积特征以及主题特征相结合得到用户隐层表示,将APP的数值特征和APP文本内容的卷积特征和主题特征相结合得到APP隐层表示,再把用户隐层表示和APP隐层表示融合后用于输出结果预测,实现APP的个性化推荐。李浩君等[36]采用过滤式特征选择算法将学习资源特征和学习者特征进行关联和重构得到联合特征。然后使用深度神经网络模型学习和挖掘联合特征中的潜在特征表示,最后得到个性化的推荐列表。
③基于循环神经网络的内容过滤推荐方法。
为了提高复杂环境下事件识别的可靠性,Bengio等[37]提出了一种基于深度学习的快速检测城市轨道交通系统,增加了客票门事件的鲁棒方法。该方法既可以用来识别多个连续的事件,也可以将移动时间序列矩阵转化为一维向量作为特征描述符。Elkahky等[38]提出了一种基于循环神经网络的多角度深度神经网络模型(Multi-View Deep Neural Network,Multi-View DNN),设用户的相关数据为xu,通过深度学习模型学习用户的特征表示yu;项目的相关内容数据为xi,通过深度学习模型获得项目的隐层表示yi。深度神经网络模型为fU(xU,WU),对于M个样本数据,{(xu,j,xa,j)}0≤j≤M,(xu,j,xa,j)表示用户u和项目a之间的一次交互,并通过公式(2-7)学习网络的参数:
其中N为所有项目的个数,在模型训练完成之后得到用户深层特征表示yU和项目深层特征表示yi,再结合分类器获得用户和项目之间的相似度推荐,根据相似度由高到低进行项目推荐。使用深度学习的方法将从浏览信息和搜索信息中提取的特征映射到一个潜在空间中,使得潜在空间中的用户和用户偏好的相似度达到最大。该网络模型不仅减少了训练数据的大小和输入的维度,而且可以生成简洁且具有语义性的用户特征向量。由此可以看出:从用户视角和多个不同的项目视角出发,并结合深度神经网络模型可以学到用户和用户偏好的最大相似度,精准地获取用户的偏好,和传统推荐方法相比可以更好地为用户提供个性化服务。
(2)深度学习和基于协同过滤的推荐算法结合
基于协同过滤的推荐算法通过学习用户和项目数据的浅层特征来实现推荐,通常会面临数据的稀疏和冷启动等问题。通过网络多次迭代并对数据进行训练的方式,深度学习和挖掘海量多源异构数据中的潜在特征表示,融合多种数据的隐层表示,极大程度地解决了单一数据量不足且多源数据融合困难等问题。基于深度学习的协同过滤方法,首先将用户数据和项目数据的两种线性数据表征通过矩阵因式分解,获得数据的低维向量表示。然后,将用户数据和项目数据量的两种非线性数据表征输入深度神经网络中,获得数据的高维向量表示。最后基于多种向量计算分析用户和项目的匹配度,为用户提供准确的推荐列表。用户对推荐列表中的项目进行评价和反馈,然后更新用户与项目之间的反馈数据,用于深度学习模型的训练,深度学习和基于协同过滤的推荐方法结合模型如图2-11所示。
①基于自编码器的协同过滤推荐算法。
Li等[39]提出一种基于贝叶斯的协同过滤自编码器模型,该模型通过无监督方式,将自编码器和协同过滤相结合,学习和挖掘商品中的深层特征表示,并结合商品内容特征和评分信息特征产生商品推荐列表。针对传统协同过滤算法难以学习深层次用户和项目的隐层表示,以及不能充分提取文本信息的单词之间前后语义关系的问题,罗洋等[40]提出一种融合辅助信息与注意力长短期记忆网络的协同过滤推荐模型。具体步骤如下:
图2-11 深度学习和基于协同过滤的推荐方法结合
首先,使用堆叠降噪自编码器对评分信息和用户辅助信息提取用户潜在向量;
其次,基于注意力长短期记忆网络对项目辅助信息提取项目的潜在向量;
最后,用户特征隐向量和项目特征隐向量使用概率矩阵分解重构向量,最终产生推荐列表。
通过堆叠降噪自编码器和长短期记忆网络两种不用的深度神经网络模型,分别提取了用户数据和项目数据中的深层特征向量,并将两种潜在向量通过概率矩阵分解的方式获得最终的推荐,和传统的协同过滤相比,能够更精确地分析顾客的偏好。
②基于受限玻尔兹曼机的协同过滤推荐算法。
Salakhutdinov等[41]将受限波尔兹曼机(RBM)和协同过滤推荐算法相结合,把输入向量输入网络的显层,获得用户与未知电影之间关系的预测结果。Georgiev等[42]将受限波尔兹曼机(RBM)和协同过滤推荐算法相结合,网络模型对项目评级之间的相关性、用户—用户和项目—项目相关性进行建模,并且以自举的方式对原始训练数据与基于RBM模型生成的数据相结合,然后通过深度学习模型学习和挖掘数据中的潜在隐层表示。为了解决用户评价数据存在严重的数据稀疏性的问题,何洁月等[43]提出了一种实值条件受限玻尔兹曼机(R_CRBM)模型。在R_CRBM模型中,评级数据与辅助信息共同训练网络模型,提升了推荐系统的准确性和高效性。
③基于循环神经网络的协同过滤推荐方法。
循环神经网络和基于协同过滤的推荐系统结合应用,如Liu等[44]将循环神经网络模型和对数双线性模型(Log-bi Linear,LBL)相结合,对用户行为数据和时序情境数据进行建模,得到一种循环对数双线性(Recurrent Log-Bi Linear,RLBL)模型对上下文建模。此外,结合行为历史的连续时差进一步扩展得到时间层面的循环对数双线性(Time-aware Recurrent Log-Bi Linear,TA-RLBL)模型,得到了很好的效果。Chen等[45]将循环神经网络和协同过滤相结合,得到一种融合注意力机制的协同过滤网络(Attentive Collaborative Filtering,ACF),其由组件级的关注模块和项目级的关注模块组成,不仅可以选择组件中的多媒体项目,而且可以预测项目的评分。和传统的协同过滤方法相比,循环神经网络将序列信息的深层特征添加到推荐系统中,更加贴合用户的偏好为用户进行推荐。
(3)深度学习和基于混合推荐系统相结合
传统的协同过滤方法由于仅使用用户对项目的反馈数据学习特征表示,往往会面临单一数据量少且多源数据难融合等问题。因此,在输入数据中添加用户画像、项目内容数据、社会评论等辅助数据可以缓解数据稀疏的问题,我们将这种增加辅助信息的推荐方法称为混合推荐的方法,可以将内容过滤的推荐方法与协同过滤推荐方法相组合。但是,基于混合推荐的方法如何挖掘并融合辅助信息中的深层特征表示成为了新的挑战。
深度学习和基于混合推荐系统结合,将用户对项目的反馈数据、项目内容相关数据以及用户的生成数据共同作为推荐系统的输入数据,然后采用深度学习模型学习输入数据中的潜在隐层表示,最后基于隐层表示产生推荐列表。
①基于自编码器的混合推荐方法。(www.xing528.com)
将不同的项目内容信息结合起来的方法称为协同主题回归(Collaborative Topic Regression,CTR)。然而,当辅助信息非常稀疏时,CTR学习的潜在表示可能不是很有效了。在标签推荐问题上,Wang等[46]提出了一种基于堆叠去噪自编码器(SDAE)的关系栈式降噪自编码器模型(Relational Stacked Denoising Autoencoder,RSDAE),有原则地将深度学习和关系学习相结合,学习更有效的数据表示。对于传统协同过滤方法学习数据类型单一的问题,杨帅等[47]提出了一种基于自编码器的混合推荐算法,该算法除了学习用户对项目的评分信息之外,还通过堆栈降噪自编码器学习用户评论和标签信息中的深层特征表示,再使用矩阵分解方法构建用户—项目偏好矩阵,最后为用户提供推荐列表。
②基于卷积神经网络的混合推荐方法。
为解决数据稀疏和冷启动的问题,Kim等[48]将卷积神经网络(CNN)和概率矩阵分解(PMF)相结合,提出一种基于上下文感知的混合推荐模型,通过卷积神经网络(CNN)挖掘上下文内容中的潜在隐层表示,然后使用概率矩阵分解(PMF)将上下文隐层表示和额外加入的文本信息整合,最后产生推荐列表。卷积神经网络挖掘了数据的深层语义特征,为推荐系统提供了有效的输入数据表示。李思琴等[49]基于卷积神经网络(CNN)提取广告信息、用户信息和用户点击记录等数据中的深层特征,并挖掘特征之间关系的潜在隐层表示,通过对隐层表示的分析和计算,提升了广告点击率的预测质量。
③基于循环神经网络的混合推荐方法。
Bansal等[50]将循环神经网络(RNN)模型用于推荐系统中,该模型的输入数据除了用户评分数据以外,还添加了项目内容数据和类别标签数据作为辅助信息,使用循环神经网络学习文本序列中潜在隐层表示,最后为用户提供更精准的推荐。为了将用户和项目的描述信息充分地运用到推荐系统中,胡思才等[51]提出了一种基于深度神经网络和概率矩阵分解(PMF)的混合推荐算法,使用深度学习模型学习用户评分信息、用户个人信息和项目内容信息中的深层特征表示,然后使用PMF对网络的参数进行调整直到最优状态,再根据特征表示为用户提供个性化的推荐列表。实验表明,该方法在均方误差和平均绝对误差上均优于传统推荐方法。
(4)深度学习和基于社会网络的推荐方法结合
随着“互联网+”时代的到来,互联网和各个行业领域进行了深度的融合。例如,工作中可以使用视频软件进行远程会议,生活中使用交友软件进行社交活动等。但是社会网络产生的数据呈指数型增长,从而导致了信息量严重过载等问题。深度学习和基于社会网络的推荐系统结合是通过深度学习模型学习并发掘用户对项目的反馈数据以及用户的社会化关系等各类数据的潜在隐层表示。其中,用户的社会化关系数据来自用户的网络社交、手机通讯、工作关系、社交群体等各个方面。然后对用户所处的社会关系进行建模,最后更高效地为用户产生推荐列表。
深度学习和基于社会化关系的推荐结合模型如图2-12所示,将用户对项目的反馈数据和社会网络产生的数据共同作为网络模型的输入数据,再利用深度学习模型学习和挖掘用户特征潜在隐层表示、项目特征潜在隐层表示和社会关系特征潜在隐层表示,然后基于隐层表示计算用户和项目的匹配度,最后通过分类器为用户提供推荐列表。用户对推荐列表中的项目进行评价,更新用户与项目之间的反馈数据。
图2-12 深度学习和基于社会化关系的推荐方法结合
①基于自编码器的社会网络推荐方法。
为解决用户评分数据存在严重稀疏性的问题,Pan等[52]分别以评分者、信任者和受信者的角色,联合三个独立的自编码器学习用户数据的深层潜在特征,同一用户单元的公共信息之间可以共享参数,最后将该方法在Top-N推荐任务中应用。洪军建[53]使用堆叠降噪自编码器学习非线性文本数据中的深层特征表示,其中非线性文本数据包括:词的语义信息、词性和相邻词之间的位置信息等。然后基于特征表示对用户感兴趣的人物关系进行建模,最后实现基于文本信息自动生成人物关系的推荐。
②基于受限玻尔兹曼机的社会网络推荐方法。
Nguyen等[54]将受限玻尔兹曼机(RBM)用于推荐系统方法中,使用受限玻尔兹曼机(RBM)学习社交网络关系数据的潜在隐向量,并对用户之间的社交网络进行建模,将模型中相关用户之间的隐藏单元共享,通过深度学习模型来学习用户行为数据中的潜在表示,最后基于潜在表示预测用户的社交偏好。为了挖掘隐藏的社会影响等数据信息,任春霞等[55]对受限玻尔兹曼机进行了改进,该方法从用户个人信息、用户的行为数据和社会环境数据中学习并融合了用户特征、社会影响特征和隐藏的社会关系特征,基于融合特征为用户推荐了适合自身的运动行为。
③基于卷积神经网络的社会网络推荐方法。
Wang等[56]提出了一种视觉内容增强POI推荐方法(Visual Content Enhanced POIRecommendation,VPOI),基于CNN和概率矩阵因子分解方法学习图像数据中的深层隐向量和用户与项目之间相关内容的潜在表示。实验表明,VPOI可以提升推荐系统的准确性。为了减少用户到项目评分数据的稀疏性,刘建成等[57]提出了一种深层混合推荐算法(ConvMF with Segmeng-Max Pooling,ConvMF-S),将ConvMF算法模型中的CNN和Segmeng-Max Pooling相结合,通过改进的模型挖掘文档中的上下文信息,并学习其中的深层隐向量。
④基于循环神经网络的社会网络推荐方法。
Yang等[58]提出了一个模拟社会网络和移动轨迹的神经网络模型。首先,采用网络嵌入的方式构建网络模型。然后,该模型使用循环神经网络和门控循环单元(Gated Recurrent Unit,GRU)模型来捕获移动轨迹在短期或长期水平上的序列相关性,包括:用户访问偏好、朋友的影响、短期顺序上下文和长期顺序上下文。最后,通过将用户网络共享产生推荐列表。实验结果证明该模型的有效性,尤其当网络结构或轨迹数据稀疏时,对基线的改进更为显著。Zhao等[59]针对跨站点冷启动产品推荐问题,通过将电子商务和社交网站的用户连接起来的方式,将用户的特征映射到另一个特征表示上。首先,通过深度神经网络模型挖掘用户浏览记录和购买记录的隐层表示,然后通过改进的梯度Boost树方法学习社会关系网络信息的隐层表示,最后,利用矩阵分解融合学到的两种隐层表示进行训练和预测,从而有效地解决跨平台冷启动问题。Nguyen等[60]基于RBM的模型架构提出了两种潜在的架构:一种是将用户间的社交网络建模用于额外的观察,另一种是将社交网络合并到相关用户间的隐藏单元中。
将深度学习模型用于社会化关系的推荐系统中,社会网络关系的相关数据作为辅助信息融入用户和项目之间更深层的数据表示中,提升推荐系统的高效性,为用户提供准确的推荐列表。但是深度学习与基于社会化关系的推荐系统结合的应用较少,对于如何进行社会化关系影响建模和基于位置社交网络序列模式进行建模可以作为未来研究的重点。
(5)深度学习和基于情境感知的推荐结合方法
基于情境感知的推荐系统是将用户的情境信息添加到推荐系统中,为输入数据增加了额外的辅助信息,有助于提升推荐系统的准确性。深度学习和基于情境感知的推荐系统结合,将时间、天气和地点等某个场景下的情境信息作为系统的辅助信息输入推荐系统中,使用深度学习模型学习和挖掘输入数据的潜在隐层表示,并基于隐层表示进行情境建模,最后为用户提供推荐列表。
深度学习和基于情境感知的推荐结合模型如图2-13所示,将用户的显式反馈数据或隐式反馈数据以及用户的情境信息数据共同作为网络模型的输入数据,再利用深度学习模型学习和挖掘用户特征潜在表示、项目特征潜在表示和情境信息特征隐层表示,然后基于隐层表示为用户提供准确的推荐列表。
图2-13 深度学习和基于情境感知的推荐方法结合
①基于自编码器的情境感知推荐方法。
上下文感知进行引文推荐成功地解决了推荐相关的引用或相关的工作的问题,但是对看不见的文件使用词袋算法会导致价值损失,Fang等[61]提出了一个灵活自编码器架构称为神经引文网络(Neural Citation Network,NCN)来解决情境感知的引用推荐问题。编码器是通过卷积神经网络学习情境数据的隐层表示,解码器循环神经网络生成引用的文章标题,定性证据突出了端到端神经网络的有效性,为引文推荐提供了一个有前途的研究方向。
②基于深度信念网络的情境感知推荐方法。
Huang等[62]提出了一种新的神经概率模型,通过训练一个多层神经网络来计算给定引用上下文的论文被引用的概率,并联合学到的文本内容和被引文献的语义表示。实验研究表明,该模型在召回率、平均准确率(Mean Average Precision,MAP)、平均倒数排名(Mean Reciprocal Rank,MRR)和归一化折损累计增益(Normalized Discounted Cumulative Gain,NDCG)方面明显优于其他先进的模型。刘海鸥等[63]将深度学习用于移动图书馆用户画像的推荐中,使用深度信念网络和深度因子分解自动挖掘用户行为特征的深层表示,实现用户情景化建模的同时根据用户的偏好实时向用户推荐。
③基于循环神经网络的情境感知推荐方法。
Liu等[64]提出了一种时空递归神经网络方法(Spatial Temporal Recurrent Neural Network,ST-RNN),利用不同时间转换矩阵和位置距离对网络每一层时空环境进行建模,并将连续的时间和空间情境信息相结合,极大地提升了整体效率。为解决系统中因添加用户情境信息后出现的数据稀疏问题,Unger等[65]提出了一种新的方法,将环境特征表示为低维无监督的潜在上下文信息,即被建模为数字向量的隐藏上下文模式,再利用无监督深度学习技术和主成分分析从用户手机中收集的数据,让每个用户自动学习潜在上下文。实验表明,推荐系统中添加情境辅助信息显著地提高了推荐系统的预测准确性。
基于深度学习的情境感知推荐系统,不仅将天气、地点和时间等环境信息高效地融入复杂的推荐系统中,而且通过网络的训练,学习和挖掘到各类情境信息中的潜在隐层表示,在一定程度上缓解了数据稀疏和冷启动的问题。但如何获取推荐场景中隐藏的情境信息是未来研究的重点和难点。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。