文章地址:https://arxiv.org/abs/2104.13030
文章名:A Survey on Accuracy-oriented Neural Recommendation: From Collaborative Filtering to Information-rich Recommendation
面向准确性的神经推荐综述:从协同过滤到信息丰富推荐
Abstract & Conclusion
深度学习对推荐模型产生较大影响;
本文将基于深度学习的推荐系统领域的工作分为:
- 协同过滤(collaborative filtering)
- 内容丰富的推荐(content enriched recommendation)
- 时间顺序推荐(temporal/sequential recommendation)
Introduction
- 推荐系统的研究可追溯到1990,基于内容的启发式和协同过滤;矩阵分解模型(2008~2016);效率低;
- 2010中期,深度学习:从具有复杂模式的大数据中学习特别有利;推荐系统也出现了很多基于神经网络的工作,即神经推荐模型(neural recommender models);
与其他综述的不同
- 现有综述大多聚焦于特定主题,或遵循深度学习的分类方式;
- 本综述将着眼于准确性。
组织结构
学习推荐的问题可抽象为:
$$
\hat{y}_{u,i,c}=f(D_u,D_i,D_c)
$$
给定用户$u$、物品$i$、上下文$c$的数据$D_u,D_i,D_c$,让函数$f$学会预测可能性$y$。不同模型的特点:
- 协同过滤模型:忽略$D_c$,只使用用户和物品的ID和交互历史数据;
- 将用户和物品的辅助信息基层到推荐系统的模型(内容丰富模型):加入辅助信息(用户和物品信息),忽略$D_c$;
- 使用上下文数据的模型(context-aware model):三种数据全部考虑;关注最常见的时间上下文(temporal context);
可将上下文信息视为用户数据的一部分;
Collaborative Filtering Models (CF)
利用所有用户的协作行为预测目标用户的行为
使用基于记忆的模型 -> 基于矩阵分解的模型
当前:
- 用户和物品的表示建模;
- 给定表示,用户和物品交互建模
表示学习
目标:学习用户嵌入矩阵P和物品嵌入矩阵Q
难点:用户-物品交互行为的稀疏性。
历史行为聚合增强模型(history behavior attention aggregation models)
传统方法使用独热码关联用户和物品;增加历史信息以达到更好地建模。仍然使用线性矩阵分解。例:FISM model、SVD++
ACF增加神经注意机制:为交互过的物品分配权重,表明对用户表示的重要性;
$\alpha(u,j)$:用户与物品间注意力权重
NAIS删除用户项,便于对不同用户同时建模;
$\alpha(i,j)$:两件物品间注意力权重
应用例:DeepICF、DIN
基于自动编码器的模型(autoencoder based representation learning)
基本路径:输入不完整的用户物品矩阵 -> 编码器学习隐藏表示 -> 解码器重建输入
方式:
- 输入每个用户的历史记录学习用户偏好;
- 输入用户对物品的评分学习用户偏好;
模型扩展:
- 使用自动编码器变体(使用深度学习技术);
- 设计两个并行编码器学习用户和项目表示,使用内积模拟偏好;
聚合历史行为,可视为基于历史行为的扩展
图学习方法(graph learning approaches)
使用图神经网络对图数据结构建模。
例:SpectralCF、GC-MC、NGCF
- 基于神经图的CF模型和经典GNN不同,因此提出新模型LR-GCCF/LightGCN等消除不必要的深度学习步骤;简化的模型效果更好。
交互建模
基于内积的指标
以用户embedding和物品embedding的内积估计偏好;
主要限制:
- 违反三角不等式;缺乏用户之间、物品之间的关联;
- 线性交互建模,无法得到复杂关系
基于距离的指标
使用距离度量作为交互函数;
CML使用欧几里得空间的距离;使用翻译原理模拟行为;
LRML引入关系向量(可训练),效果更好。
基于神经网络的指标
使用MLP、CNN等作为构建块,挖掘交互的复杂和非线性模式;
NCF使用MLP对每个用户-物品对建模;加入MF组件提高推荐质量。
基于CNN:侧重高阶相关性,增加复杂度和成本。
使用AE填补交互矩阵的空白;
GNN优越性
- 数据结构:用户-物品交互可抽象为二分图;
- 可显式编码用户-物品交互的关键协同过滤信号(?)
Content-Enriched Recommendation
CF中仅对用户的行为模式进行了编码,而CER使用辅助数据;
辅助数据分为基于内容的信息和上下文感知数据:
内容信息与用户和物品有关;上下文信息显示了用户决策的环境,如时间数据等;
用户和项目的一般特征
FM(Factorization Machine):见FM
FM优点:对稀疏的数据同样有效,并减少参数大小;
基于MLP(多层感知机)的高阶建模
使用MLP发现高阶相关性;由于黑盒的存在,需要预训练或结构优化。
DeepCrossing:加入残差结构;
NFM:双交互操作;
PNN:按bit的交互建模;
用于K阶建模的交叉网络
设计网络时就设计了交叉网络,在向量级别进行交叉交互;
$x_k=x_0x_{k-1}w_k+b_k+x_{k-1}$
树增强建模
使用树来展现交叉特征;
TEM:决策树提取高阶交互特征,将得到的交互特征输入到注意力模型中。
文本内容信息
基于神经网络的NLP模型,进行文本增强的推荐。
内容输入可分为:与项目或用户有关的内容描述;用户-项目对。第二类在多数情况下退化为第一类。
基于自动编码器(AE)的模型
使用自动编码器(或变体)进行隐藏内容的提取。
CDL(Collaborative Deep Learning):使用堆叠去噪AE学习物品内容的隐藏表示,优化过程通过学习压缩表示和重建过程捕捉内容信息;
$q_i=f_e(x_i)+\theta_i$
词嵌入模型
AE没有考虑到文本输入的独一性,因此引入词嵌入模型。
ConvMF:结合了卷积神经网络和概率矩阵分解,通过TextCNN模型进行学习。
基于评论的深度推荐模型:如DeepCoNN使用并行的TextCNN模型分别学习用户的评论和物品的评论,再使用分解机学习交互。
目标评论信息不可用时:TransNet。
注意力模型
给不同的内容片段分配不同权重,从而自动选择出信息丰富的关键词进行推荐。
文本解释
可以为推荐系统提供文本解释。
基于提取的文本解释:可通过注意力机制,选择具有较大注意力权重的文本片段作为解释的内容。
基于生成的文本解释:通过编码器和解码器机制,输入用户与物品的信息,并输出评论。使用了RNN和MLP技术。
多媒体信息
多媒体信息包括图片、视频、音频等。
图片推荐
可分为两类:基于内容的模型、混合推荐模型。
基于内容的模型:适用于依赖视觉影响的情况。使用CNN提取视觉信息,并与文本结合。
混合推荐模型:同时使用协同信号和视觉内容进行推荐,可以提高性能。
VBPR:使用视觉内容进行统一混合推荐:在两个空间内投影,并结合两个空间内的用户偏好学习预测偏好。
在VBPR基础上也有进一步拓展,如时间演化、图像关联位置表示等。
此外还有GNN方法。
视频推荐
提取视频、音频特征后通过神经网络进行融合。
ACF模型:可总结视频历史记录部分的偏好。
社交网络
社交网络中存在社交关系,兴趣存在相关性。可分为两类:社会关联增强和正则化模型,以及基于GNN的模型。
社会关联增强和正则化模型
将用户行为视为社交领域,将物品偏好行为视为物品领域,并将两种行为融合起来。
可以通过RNN、注意力模型等进行建模。
基于GNN的模型
现实世界中社会扩散过程是递归的,即每个用户都受到全局图结构的递归影响。因此使用GNN模型提高模拟效果。例:DiffNet;
可以使用异构GNN进行建模。例:DiffNet++,效果最好。
知识图谱(KG)
知识图谱提供了用户与物品之间的侧面信息。可分为三类:基于路径的模型、基于正则化的模型、基于GNN的模型。
基于路径的模型
用户到物品的路径可以通过连续的序列表示,通过描述该路径即可得到偏好。但由于获得路径较为复杂且规模较大,难以应用。
基于正则化的模型
知识图谱可以作为额外的损失项用于正则化模型的学习。例:CKE
基于GNN的模型
通过GNN确保高阶连通性。例:KGAT
小结
可以通过增加文本、多媒体、社交网络等辅助数据来提升推荐性能,关键是辅助数据的选择和集成方法。
使用注意力机制可以筛选出最相关的信息;使用GNN方法可以得到更好的结构信息以及高阶相关性。
Temporal & Sequential Models
用户的偏好是随时间变化的,该类模型就是要找到用户的动态偏好或偏好随时间的变化。
可分为基于时间的推荐、基于会话的推荐、以及基于时间和会话的推荐。
基于时间的推荐
大多基于RNN实现。还可考虑上下文因素,如社交影响等来提高模型性能。
例:RRN(递归推荐网络)
最近研究增加了记忆网络等模块用于储存记忆,从而更好地捕捉用户的长期和短期兴趣。
基于会话的推荐
现实世界中常遇到匿名用户(用户ID不可用)的短会话数据,因此引入基于会话的推荐。
例:GRU4REC:类似RNN,递归地更新隐藏状态并输出物品。
同样的,存在基于注意力机制、GNN的模型。
基于时间和会话的推荐
该类模型同时使用时间和会话进行学习。
可分为两类:第一类学习用户的长期偏好和短期动态偏好,第二类学习统一的用户表示。
长期/短期偏好
从历史行为得到长期偏好,从最近的会话得到短期偏好。可以使用分层的注意力网络进行建模。
统一用户表示
使用三维神经网络进行推荐。例:Caser
同样存在使用GNN的模型进行推荐,且表现出色。
Discussion and Future Directions
仍有以下方面可以进行优化:
- 推荐的Benchmark。推荐方式和场景多种多样,如何为各种推荐方式指定一套统一的Benchmark十分重要。
- 图推理技术与自监督学习。图上深度学习十分成功,但自然的图推荐技术尚可改进;将自监督学习整合到推荐中也可解决数据稀疏性等问题。
- 多目标社会公益推荐。以前的推荐系统大多只关注推荐准确性,但忽略了社会方面的问题,可能造成偏差。
- 复现性。神经网络对初始化、调参等许多方面的依赖程度较高且十分敏感,进行性能测试十分困难。