推荐系统学习(六)

概述

Convolutional Matrix Factorization for Document Context-Aware Recommendation
PPT
本论文翻译
  用户到项目评分数据的稀疏性是推荐系统质量恶化的主要因素之一。为了处理稀疏性问题,一些推荐技术考虑辅助信息来提高评分预测精度。特别地,当评分数据稀疏时,基于文档建模的方法通过利用文本数据(例如评论,摘要或概要)来提高准确性。然而,由于词袋模型的固有限制,它们在有效利用文档的上下文信息方面存在困难,只能对文档浅层理解。本文提出了一种新颖的上下文感知推荐模型,将卷积神经网络(CNN)集成到概率矩阵分解(PMF)中的卷积矩阵分解(ConvMF)。ConvMF捕获文档的上下文信息,并进一步提高评分预测精度。
  其实相比于之前的CDL和CTR,CNN考虑了文本单词的有序性,使得对文本内容理解更加深刻,从而提高了推荐的精确度。CNN的使用有助于加深对文档的理解,并产生比LDA和SDAE更好的潜在模型,尤其是对于由于缺乏评级而诉诸于描述文件的物品。此外,CNN还可以利用预先训练好的单词嵌入模型,如Glove,来加深对物品描述文档的理解。注意,LDA和SDAE并不能利用预训练的单词嵌入模型,因为它们采用了词袋‘the bag-of-word’模型。

前人研究

  CTR、LDA
出现的问题:
推荐系统学习(六)

本文模型

  ConvMF
推荐系统学习(六)

图模型

推荐系统学习(六)

模型的架构

Embedding Layer - word embeding

  将文本内容数字化,变成一个文本矩阵DRplD \in R^{p*l},ll是文本内容的单词的个数,pp是单词wiw_i的维度.
推荐系统学习(六)

Convolution layer – contextual information

  从文本中提取特征,WcjRpwsW_c^j \in R^{p*ws}是卷积核,即权重,wsws为窗口的宽度,也就是卷积核的大小,bcjRb_c^j \in R是bias,cjRlws+1c^j \in R^{l-ws+1}是一个文本的卷积后的而结果,jj代表不同权重(WcW_c)下的卷积结果数目(WjcW^c_j where j=1,2,3,4,......ncj=1,2,3,4,......n_c).
推荐系统学习(六)

Pooling layer – representative information

  池化层从卷积层提取代表性的特征,并且还通过构建固定长度特征向量的池操作来处理可变长度的文档。 在卷积层之后,文档被表示为n_c上下文特征向量,其中每个上下文特征向量具有可变长度(即,lws+1l-ws + 1上下文特征)。 然而,这种表示方式有两个问题:1)上下文特征cic_i太多,其中大多数语境特征可能无助于提高性能,2)上下文特征向量的长度变化,这使得难以构建以下层。 因此,我们利用maxpoolingmax-pooling,通过从每个上下文特征向量中提取最大上下文特征,将文档的表示形式减少为ncn_c固定长度向量。
推荐系统学习(六)

Output layer – high level features of documents

  一般情况下,在输出层,从上一层获得的高级特征应该转换为特定的任务。 因此,我们在用户和项目潜在模型的kk维空间上投影dfd_f用于我们的推荐任务,最终通过使用传统的非线性投影产生文档潜向矢量。

how to predict rating

PMF+CNN
推荐系统学习(六)

Optimization Methodology

推荐系统学习(六)

评价指标

  RMSE
推荐系统学习(六)

代码

  代码数据集

参考资料

代码复现及原理
经典论文
LibRec:ConvMF