2.1 深度特征抽取(Extracting Side Features with Deep Learning)
图4总结了一系列工作使用深度学习进行特征抽取,并用于协同过滤的基本框架。介于深度学习技术抽取出的特征通常是相对较短、稠密的向量(也称为嵌入式表示,embedding),可以和基于隐向量的矩阵分解方法无缝结合,因此这类工作大都采用矩阵分解模型进行协同过滤。例如,文献[33]在音乐推荐任务中,采用卷积神经网络(CNN)从音乐的原始特征中抽取出音乐表示,优化目标函数式(2)获得用户的隐向量;文献[36]在电影推荐任务中,采用去噪自动编码模型(DAE)从用户和电影的原始特征中抽取隐向量表示,优化目标函数式(1)学习模型参数;文献[34]在新闻推荐任务中,采用多层感知机(MLP)从用户的原始特征(如查询文本和点击记录等)和新闻的原始特征(如文本描述和类别信息等)中抽取出隐向量表示;文献[39]在图片推荐的任务中,采用卷积网络AlexNet抽取出较为抽象的图片表示。
值得一提的是,以上方法均采用向量内积作为用户和物品的交互函数,也就是矩阵分解的基本模型。我们发现向量内积的方式尽管在协同过滤的任务上简单高效,但在建模实体之间的相似度时有一定的局限性,尤其是在考虑实体之间的排序时[6]。考虑到神经网络有极强的近似连续函数的能力[32],一个可行的改进方案是使用神经网络从数据中学习该交互函数。