0%

推荐系统综述 文章分析

文章地址: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增加神经注意机制:为交互过的物品分配权重,表明对用户表示的重要性;

image-20230502215120856

$\alpha(u,j)$:用户与物品间注意力权重

NAIS删除用户项,便于对不同用户同时建模;

image-20230502215659301

$\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技术。

多媒体信息

多媒体信息包括图片、视频、音频等。

图片推荐

可分为两类:基于内容的模型、混合推荐模型。

  1. 基于内容的模型:适用于依赖视觉影响的情况。使用CNN提取视觉信息,并与文本结合。

  2. 混合推荐模型:同时使用协同信号和视觉内容进行推荐,可以提高性能。

    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的模型。

基于时间和会话的推荐

该类模型同时使用时间和会话进行学习。

可分为两类:第一类学习用户的长期偏好和短期动态偏好,第二类学习统一的用户表示。

  1. 长期/短期偏好

    从历史行为得到长期偏好,从最近的会话得到短期偏好。可以使用分层的注意力网络进行建模。

  2. 统一用户表示

    使用三维神经网络进行推荐。例:Caser

同样存在使用GNN的模型进行推荐,且表现出色。

Discussion and Future Directions

仍有以下方面可以进行优化:

  1. 推荐的Benchmark。推荐方式和场景多种多样,如何为各种推荐方式指定一套统一的Benchmark十分重要。
  2. 图推理技术与自监督学习。图上深度学习十分成功,但自然的图推荐技术尚可改进;将自监督学习整合到推荐中也可解决数据稀疏性等问题。
  3. 多目标社会公益推荐。以前的推荐系统大多只关注推荐准确性,但忽略了社会方面的问题,可能造成偏差。
  4. 复现性。神经网络对初始化、调参等许多方面的依赖程度较高且十分敏感,进行性能测试十分困难。
------------- Thanks for watching -------------