推荐的研究可以追溯到 1990
年代(《Using collaborative filtering to weave an information tapestry》
),在这个时代,早期的工作已经为 content-based filtering
和 Collaborative Filtering: CF
开发了很多启发式方法。
受到 Netflix
挑战赛的普及,矩阵分解Matrix Factorization: MF
方法(《Matrix factorization techniques for recommender systems》
)后来成为很长一段时间(从 2008
年到 2016
年 )的主流推荐模型(《Multiverse recommendation: n-dimensional tensor factorization for context-aware collaborative filtering》
,《Factorizing personalized markov chains for next-basket recommendation》
)。然而,矩阵分解模型的线性特性使得它在处理大型复杂数据时效果较差,例如复杂的 user-item
交互,并且 item
可能包含需要彻底理解的复杂语义(例如文本和图像)。
大约在 2010
年代中期的同一时间,深度神经网络(又叫做深度学习)在机器学习中的兴起已经彻底改变了包括语音识别、计算机视觉、自然语言处理在内的多个领域。深度学习的巨大成功源于神经网络的强大表达能力,这特别有利于从具有复杂模式的大数据中学习。这自然为推荐技术的进展带来了新的机遇。毫无疑问,在过去的几年里,出现了很多关于开发推荐系统的神经网络方法的工作。在这项工作中,论文《A Survey on Accuracy-oriented Neural Recommendation: From Collaborative Filtering to Information-rich Recommendation》
旨在对使用神经网络的推荐模型(称作 neural recommender models
)进行系统性的评价。这是当前推荐研究中最蓬勃发展的课题,不仅近年来取得了许多令人振奋的进展,而且显示出成为下一代推荐系统技术基础的潜力。
相关工作:鉴于推荐研究的重要性和受欢迎程度,最近发表的一些 survey
也回顾了该领域,如《Toward the next generation of recommender systems: A survey of the state-of-the-art and possible extensions》(2005)
、《Collaborative filtering beyond the user-item matrix: A survey of the state of the art and future challenges》(2014)
、《Cross domain recommender systems: A systematic literature review》(2017)
、《Explainable recommendation: A survey and new perspectives》(2020)
、《Graph learning based recommender systems: A review》(2021)
。这里我们简要讨论下我们与这些工作的主要区别,从而强调我们这个 survey
的必要性和意义。
现有的 survey
包括两个主要部分:
《Collaborative filtering beyond the user-item matrix: A survey of the state of the art and future challenges》
)、跨域推荐(《Cross domain recommender systems: A systematic literature review》
)、可解释性推荐(《Tem: Tree-enhanced embedding model for explainable recommendation》
)、知识图谱增强的推荐(《A survey on knowledge graph-based recommender systems》
)、序列推荐(《Deep learning for sequential recommendation: Algorithms, influential factors, and evaluations》
,《Sequence-aware recommender systems》
)、基于会话的推荐(《A survey on session-based recommender systems》
)。《Deep learning based recommender system: A survey and new perspectives》
将关于推荐方法的讨论组织为 MLP based
、autoencoder based
、RNN based
、attention based
。《A review on deep learning for recommender systems: challenges and remedies》
和 《Recommendation system based on deep learning methods: a systematic review and new directions》
也是类似的 survey
。这些 survey
主要比较了使用各种深度学习方法进行推荐的技术差异。和现有 survey
不同,我们的 survey
是从推荐建模的角度以准确率为目标进行组织的,涵盖了最典型的推荐场景,如 CF
方法、content-enriched
方法、时序 temporal/sequential
的方法。这不仅有助于研究人员了解深度学习技术为何、以及何时起作用,而且有助于从业者为特定推荐场景设计更好的解决方案 。
文章组织方式:无论推荐领域和场景如何,我们都可以将 learning to recommend
问题抽象为:
也就是说,学习预测函数 item
的可能性。其中,数据 item
collaborative filtering: CF
模型。协同过滤模型构成了个性化推荐的基础,是推荐领域中研究最多的主题。协同过滤模型可以被视为忽略上下文数据 id
或者交互历史。item
的辅助信息集成到推荐中的模型,例如用户的画像和社交网络、item
的属性和知识图谱。我们将它们称作 content-enriched
模型,它们通过集成辅助信息到 user-item
交互相关联,但是不属于用户内容或 item
内容,如时间time
、位置 location
、历史交互序列。除了用户相关数据 item
相关数据 context-aware
模型还基于上下文数据 下图说明了用于推荐建模的典型数据和三种模型类型。值得注意的是,不同的模型是针对不同的推荐场景而设计的。尽管如此,在很多情况下,我们可以对模型的组件进行简单的调整,使其适合(至少在技术上可行)另一种场景。例如:
CF
模型被设计为首先获得 user representation
和 item representation
,然后在给定这些 user representation
和 item representation
的情况下学习预测函数。为了使得它们 content-enriched
,我们只需要通过内容建模来增强 representation learning
组件。content-enriched
模型也具有上下文感知的能力。尽管这些调整后的模型可能没有正式提出或公布,但是它们可以很简单地获得,值得在实际应用中探索。这种设计灵活性可以归因于神经推荐模型的逐层架构layer-wise architecture
,其中不同的层是为不同的目标而设计的。我们希望这个 survey
能够提供一个清晰的路线图,从而促进从业者理解和更好地设计模型来服务于他们的目标。
CF
的概念源于以下思想:利用所有用户的协同行为collaborative behavior
来预测目标用户的行为。早期的方法使用 memory based
模型直接计算用户的行为相似度(user-based CF
)、或者直接计算 item
的行为相似度 (item-based CF)
)。后来,基于矩阵分解的模型通过寻找编码了 user-item
交互矩阵的潜在空间从而流行开来。鉴于神经网络的复杂建模能力,目前神经 CF
的解决方案可以概括为两类: user
和 item
的 representation
建模、给定 representation
条件下的 user-item
交互的建模。在 CF
中,令用户集合为 item
集合为 item
数量,user-item
交互行为矩阵为 Representation Learning
的总体目标是学习一个 user embedding
矩阵 item embedding
矩阵 representation
,item
representation
,representation
维度。
事实上,由于每个用户的行为数量是有限的(相比于 CF
中的一个关键挑战是 user-item
交互行为的稀疏性。不同类型的 representation learning
模型在输入数据、以及 representation modeling
等方面有所不同。我们将这些模型分为三类:历史行为聚合增强的模型history behavior aggregation enhanced models
、基于自编码器的模型、图学习方法。为了便于说明,我们在下表中列出典型的、用于 CF
的 representation learning
模型。
attention
聚合的模型通过将 one-hot User ID: UID
和 one-hot Item ID: IID
作为输入,经典的潜在因子模型将每个 UID
embedding
向量 IID
embedding
向量 user representation
,而不是仅采用 free embedding
(即单个 ID embedding
向量)。例如:
Factored Item Similarity Model: FISM
将交互的 item embeddings
进行池化从而作为user representation vector
。SVD++
将 UID embedding
embedding
(即 FISM user representation
)相加从而作为 final user representation
。这些模型依赖于简单的线性矩阵分解,并使用启发式heuristics
或等权重equal weights
的方式来聚合交互历史 interaction history。
然而,不同的历史 item
对用户偏好建模的贡献应该不同。因此,一些研究人员将神经注意力机制 neural attention mechanism
集成到 history representation learning
中。一项具有代表性的工作是注意力协同过滤 Attentive Collaborative Filtering: ACF
,它为每个交互 item
分配了一个 user-aware
注意力权重,从而表明该 item
对 user representation
的重要性:
其中:ID embedding
,item
ID emebdding
,item
集合,
其中 MLP
或者简单的内积。
注意,
依赖于用户 的 ID embedding
、历史行为item
的 ID embedding
,因此它是user-aware
的。
- 对于同一个用户,不同的
target item
不会改变注意力权重。- 对于不同的用户,即使是相同的历史行为序列,注意力权重也有所不同(因为不同用户的
ID embedding
不同)。
在实践中,历史 item
的影响可能取决于 target item
。例如,购买手机壳与用户之前购买手机的相关性更高,而购买裤子与用户之前购买衬衫的相关性更高。因此,在考虑预测不同 target item
时,具有动态的 user representation
可能是有益的。为此,Neural Attentive Item Similarity: NAIS
模型将注意力机制修改为 target item-aware
:
其中:
target item
item
user representation
的贡献。0
和 1
之间(如 0.5
)的超参数,用于平滑不同长度的交互历史。这种方式的
user representation
依赖于target item
,因为无法离线预计算好user representation
,因此也无法方便地部署到线上。
类似的注意力机制已被用于从交互历史中学习 representation
,例如 Deep Item-based CF: DeepICF
模型、Deep Interest Network: DIN
模型。因此,交互历史要比单个 user ID
包含更多信息,是 representation learning
的合适选择。
基于自编码器的模型基于以下思想:重构输入从而获得更好的 representation learning
。基于自编码器的模型将 incomplete
的 user-item
矩阵作为输入,并使用编码器学习每个 instance
的 hidden representation
,然后进一步使用解码器基于这个 hidden representation
来重构输入。
representation
,并将学到的 user representation
馈入解码器网络从而输出每个用户的预测偏好。item
被所有用户的评分记录作为输入,并学习每个 item
的潜在 representation
从而重构每个 item
在所有用户上的预测偏好。与自编码器的发展类似,基于自编码器的模型的扩展也可以分为两类:
CF
。这些模型可以被视为使用复杂的深度学习技术来学习用户编码器或 item
编码器。user
和 item
的对偶性,设计了两个并行编码器来学习 user representation
和 item representation
,然后还使用内积来建模用户对 item
的偏好。值得注意的是:基于自编码器的 CF
方法也可以归类为 historical behavior attention based
模型的扩展,因为这些方法采用深度神经网络来聚合历史行为。因此,为了简单起见,我们只简单介绍了基于自编码器的模型,并没有重复具体的技术细节。
CF
效应反映在一群用户的交互历史中。因此,使用群体性的交互历史有可能提高 representation
质量。从 user-item
交互图interaction graph
的角度来看,单个用户的交互历史相当于用户的一阶连接性first-order connectivity
。因此,一个自然的扩展是从 user-item
图结构中挖掘高阶连接性 higher-order connectivity
。例如,某个用户的二阶连接性由与相同 item
共同交互的相似用户所组成。
幸运的是,随着社区中对图数据结构进行建模的图神经网络 Graph Neural Networks: GNNs
的成功,人们已经提出了一些研究来建模 user-item
二部图结构,从而用于基于神经图neural graph
的 representation learning
。给定 user-item
二部图,就像许多经典的基于潜在因子的模型一样,令 free user latent matrix
、 free item latent matrix
,即 0
阶的 user embeddinig
和 item embedding
。这些基于神经图的模型以邻域聚合的方式迭代地更新 user embedding
和 item embedding
。例如,每个用户 user embedding
更新为:
其中:
item
representation
,representation
。item
集合,item
的 representation
在第 每个 item
item embedding
更新也是类似的。最后,每个用户(或者 item
)的 final embedding
可以视为该用户(或者 item
)在每一层的 embedding
的组合。
上述步骤可以视为 user-item
二部图中的 embedding
传播。使用预定义的层数 user embedding representation
和 item embedding representation
生成步骤中直接编码了高达
SpectralCF
利用 CF
的谱图卷积 spectral graph convolution
。GC-MC
和 NGCF
建模了原始空间中 user-item
交互的图卷积,在实践中更加有效effective
和高效efficient
。最近,研究人员认为,这些基于神经图的 CF
模型与经典 GNN
不同,因为 CF
模型不包含任何用户特征或 item
特征。直接复用 GNN
中的 embedding
变换(即 CF
模型,包括 LR-GCCF
和 LightGCN
,它们消除了不必要的深度学习操作。这些简化的基于神经图的模型在实践中显示出卓越的性能,而无需仔细选择激活函数。
令 representation
模型中学到的用户 item
embedding
,交互建模组件interaction modeling component
旨在建模交互函数 interaction function
,其中交互函数根据user representation
和 item representation
来估计用户对 target item
的偏好。在下文中,我们描述了如何根据学到的 embedding
来建模用户的预估偏好,记做
大多数之前的推荐模型依赖于 user embedding
和 item embedding
之间的内积来估计 user-item pair score
:
尽管基于内积的方法取得了巨大的成功并且非常简单,但是之前的工作表明:简单地执行内积有两个主要限制:
user representation
和历史item
的 representation
相似,但是无法保证 user-user
关系、item-item
关系之间的相似性传播similarity propagation
。item
之间的复杂关系。然而,在交互建模方面,与复杂的函数和度量相比,简单的内积要高效的多,尤其是在在线推荐和大规模推荐方面。
为解决第一个问题(即,相似性传播),一些工作借鉴了翻译原理的思想,并使用距离度量来作为交互函数。距离度量固有的三角不等式在帮助捕获用户和 item
之间的潜在关系方面发挥着重要作用。例如,如果用户 item
item
representation
应该在潜在空间中接近。
为此,CML
(《Collaborative metric learning》
)在欧氏空间中最小化每个 user-item
交互 <u, i>
之间的距离:
TransRec
(《Translation-based recommendation》
)不是最小化每个观察到的 user-item pair
之间的距离,而是利用翻译原理建模用户的序列行为。
具体而言,用户 representation
被视为 item
representation
和接下来要访问的 item
representation
之间的翻译向量 translation vector
,即
与使用简单的 metric learning
的 CML
不同( CML
假设每个用户的 embedding
与该用户喜欢的每个 item embedding
同样地接近),LRML
(《Latent relational metric learning via memory-based attention for collaborative ranking》
)引入了关系向量 user-item pair
之间的关系。正式地,得分函数定义为:
其中关系向量 memory matrix
memory
模块,memory
槽的个数。因此 memory
槽的 attentive sum
。结果,关系向量不仅保证了三角不等式,而且获得了更好的表达能力。
与使用线性度量的上述方法不同,最近的研究采用了多种神经网络架构(从 MLP
、CNN
到自编码器),作主要构建块 main building block
来挖掘 user-item
交互的复杂和非线性模式。
MLP
来代替 user-item
之间的相似性建模,因为 MLP
是对任何复杂连续函数进行建模的通用函数逼近器。NCF
采用 MLP
建模每个 user-item pair
之间的交互函数:NCF
还在交互建模中加入了通用的 MF
组件,从而同时利用了 MF
的线性和 MLP
的非线性来提高推荐质量。CNN based
架构来建模交互。这种模型首先通过 user embedding
和 item embedding
的外积来生成 interaction maps
,从而显式地捕获 embedding
维度之间的 pairwise correlations
(《Outer product-based neural collaborative filtering》
、《Personalized top-n sequential recommendation via convolutional sequence embedding》
)。这些基于 CNN
的 CF
模型侧重于 representation
维度之间的高阶相关性。然而,这种性能提升是以增加模型复杂度和时间成本为代价的。user-item
交互矩阵的补全。由于编码器和解码器可以通过神经网络来实现,这种非线性变换的 stacks
使得推荐器更有能力从所有历史交互 item
的复杂组合中建模 user representation
。最近的许多研究表明 GNN
在 user representation learning
和 item representation learning
中的优越性。我们将其成功归因于:
user-item
交互可以天然地表示为 user
节点和 item
节点之间的二部图。GNN
可以通过消息传播机制对 user-item
交互关键的协同过滤信号collaborative filtering signal
进行显式的编码。在协同过滤中,item representation
仅对协同信号(用户的行为模式)进行编码,但是忽略了语义相关性 semantic relatedness
。为了增强 representation learning
,许多研究人员跳出了 user-item
交互的范畴并利用辅助数据。辅助数据可以分为两类:基于内容content based
的信息、上下文感知context-aware
数据。
基于内容的信息:包含用户关联的内容、item
关联的内容,例如常规的用户特征和 item
特征、文本内容(如 item tag
、item
文本描述、item
评论)、多媒体描述(如图像信息、视频信息、音频信息)、用户社交网络、知识图谱。
我们根据可用的内容信息将相关工作分为五类:用户和 item
的常规特征、文本内容信息、多媒体信息、社交网络、知识图谱。
上下文感知数据:包含用户做出 item
决策时的环境,这通常表示一些不在用户或 item
范畴内的描述。上下文信息包括时间time
、位置location
、以及从传感器收集到的特定数据(如速度和天气)等等。由于篇幅有限,我们讨论最典型的上下文数据:时间数据。
我们在下图中说明了一些代表性工作。
分解机 Factorization Machine: FM
提供了特征交互建模的直观思想。由于特征通常是稀疏的,FM
首先将每个特征 latent embedding
second-order interaction
建模为:FM
对二阶交互显式地建模,并使用 embedding based
模型来降低参数规模从而计算任意两个特征的相似度。
Field-aware FM: FFM
从 FM
扩展而来,它通过 field aware
特性来使用多个 latent embeddings
从而扩展每个特征。FM
也从 FM
扩展而来,它通过直接扩展了二阶特征交互而来。尽管这些模型能够建模高阶特征交互,但是它们在建模过程中会受到 noisy
的特征交互的影响。
研究人员探索了采用神经网络自动发现复杂的高阶特征交互,从而进行 CTR
预估和推荐的可能性。如下表所示,除了基于 FM
的方法之外,当前关于该主题的相关工作可以分为三类:隐式 MLP
结构、显式 K
阶建模、树增强模型。
由于特征交互是 hidden
的,研究人员建议首先通过一个 embedding layer
来嵌入特征,然后利用 MLP
来发现高阶相关性。由于 MLP
是黑盒方法,因此可以将这类方法视为对特征交互进行隐式地建模,并且我们不知道 MLP
结构的模型的输出中会产生什么样的特征交互。由于 MLP
存在训练困难,一些研究人员提出了预训练技术。其他一些研究人员在 MLP
中注入特定结构从而更好地捕获特征交互:
DeepCrossing
设计了残差结构,从而在每两层 MLP
之后添加 original input
。NFM
架构在 MLP layer
之前提出了 Bi-Interaction
操作。PNN
同时建模了bit-wise
的feature embedding
交互,以及vector-wise
的特征交互。除了复杂的高阶交互之外,还有一种有效的方法是将 MLP based
的高阶建模与经典的线性模型相结合(如 Wide&Deep
和 DeepFM
)。
交叉网络cross network
不同于 MLP based
的算法,它具有精心设计的交叉网络操作,因此一个 K
层的交叉网络就可以对最高 K
阶的特征交互进行建模。第 hidden layer
的输出
其中 embedding
维度。
xDeepFM
不是在 bit-wise level
进行交叉操作,而是在 vector-wise level
显式地应用交叉交互。这些类型的模型能够学习有界bounded-degree
的特征交互。
proxy
,从而用于推荐中的交叉特征解释 cross feature explanation
。具体而言,TEM
首先利用决策树以交叉特征的形式提取特征的高阶交互,然后将交叉特征的 embedding
输入到注意力模型中进行预测。因此,决策树的深度决定了特征交互的最高阶次。此外,通过无缝结合 embedding
和 tree based
模型,TEM
能够统一它们的优势:强大的表达能力和可解释性。神经网络技术彻底改变了自然语言处理 Natural Language Processing: NLP
。这些神经网络 NLP
模型能够对文本内容进行 multi-level
的、自动的 representation learning
,并且可以结合在推荐框架中从而实现更好的 user semantic embedding learning
和 item semantic embedding learning
。鉴于上述基于神经网络的 NLP
模型,我们讨论了一些基于上述技术的、典型的文本增强推荐模型。
用于推荐的文本内容输入可以分为两类:
item
或用户相关联的内容描述,例如文章的摘要、用户的内容描述。user-item pair
,例如用户将 tag
添加到 item
上、或用户对 item
撰写评论。对于第二类,大多数模型聚合了与每个用户或每个 item
相关的内容。此时,第二类内容信息退化为第一类。
接下来,我们不区分输入文本内容的数据类型,并将上下文内容contextual content
建模的相关工作总结为以下几类:基于自编码器的模型、word embedding
、注意力模型、用于推荐的文本解释。
通过将 item
内容视为原始特征,例如 bag-of-words representation
或 item tag representation
,这些模型使用自编码器及其变体来学习 item
的 bottleneck hidden content representation
。
例如,Collaborative Deep Learning: CDL
同时学习每个 item
embedding
stacked denoising autoencoder
学习来自 item
内容 hidden representation
,以及一个并未编码到内容中的辅助 embedding
其中:
bottleneck hidden vector
。item
内容中捕获的 free item latent vector
(类似于许多经典的、基于潜在因子的 CF
模型),在模型优化过程中,目标函数是同时优化来自用户历史行为的 rating based
的损失,以及来自autoencoder
的内容重建损失:
其中:
rating based
的损失,user-item
评分矩阵,在这个基础的基于自编码器的推荐模型之后,一些研究提出了改进从而考虑内容信息的唯一性 uniqueness
。例如,人们提出了 Collaborative Variational AutoEncoder: CVAE
,它不是学习 item
内容的确定性的 vector representation
,而是用变分自编码器同时恢复评分矩阵和辅助内容信息。
研究人员还建议利用 item
内容中的 item
邻居信息来更好地表达 bottleneck representation
。《Embedding-based news recommendation for millions of users》
提出了一种具有弱监督的降噪自编码器来学习每个 item
的分布式 representation vector
。此外,由于用户和 item
都可以关联内容信息,因此人们已经提出了基于双自编码器dual autoencoder
的推荐模型。
自编码器为无监督 feature learning
提供了通用的神经解决方案,它不考虑文本输入的唯一性 uniqueness
。最近,研究人员提出利用 word embedding
技术来获得更好的内容推荐。随着 TextCNN
的成功,人们提出了 Convolutional Matrix Factorization: ConvMF
从而将 CNN
集成到概率矩阵分解中。令 item
item
潜在 embedding
矩阵 embedding representation
为中心的高斯分布:
其中: TextCNN
的参数,item
embedding
向量。
除了 CNN based
模型之外,研究人员还采用了各种 state-of-the-art
内容embeddign
技术(例如RNN
),从而用于 item
内容 representation
。
评论信息广泛出现在推荐 application
中,是用户表达对 item
的感受的自然形式。给定用户的评分记录和相关评论,大多数基于评论的推荐算法将用户(或 item
)的历史评论文本聚合为用户内容输入 item
内容输入
深度模型 DeepCoNN
是基于评论的推荐。如下图所示,DeepCoNN
由两个用于内容建模的并行 TextCNN
组成:
item
item embedding
。然后,DeepCoNN
提出了一种分解机来学习 user latent vector
和 item latent vector
之间的交互。具体而言,DeepCoNN
可以表述为:
许多研究实验发现,评论文本的最大预测能力来自于 target user
对 target item
的特定评论。由于 user-item pair
的相关评论在测试阶段不可用,因此人们提出了 TransNet
来解决 target
评论信息不可用时的情况。
TransNet
有一个 source network
,该 source network
是不包含联合评论joint review
DeepCoNN
。此外,TransNet
也有一个 target network
,该 target network
建模当前的 user-item pair
item
的评论,target network
也可以近似被测试的 user-item pair
的、预估的评论
注意力机制也被广泛用于 content enriched
推荐系统。给定 item
的文本描述,人们已经提出了基于注意力的模型来为不同的内容分配注意力权重,以便为 item content representation
自动选择信息元素。
CNN
会学习推文中的 trigger words
,从而获得更好的标签推荐(《Hashtag recommendation using attention-based convolutional neural network》
)。item
,人们提出了一种注意力模型来选择性地聚合每个历史 item
的 content representation
,从而用于用户 content preference embedding
建模。user collaborative embeddings
和 item collaborative embeddings
,注意力网络也被设计用于捕获这两种数据源之间的相关性correlation
和对齐性alignment
。co-evolutionary
的 topical
注意力正则化矩阵分解模型,其中用户注意力特征从结合了用户评论的注意力网络中学习。user representation
和 item representation
模型忽略了 user-item pair
之间的交互行为,并且提出了一种叫做 DAML
的双注意力模型来学习相互增强的 user representation
和 item representation
。item
内容有时以多视图形式(如标题、正文、关键字等)呈现,多视图注意力网络通过聚合来自不同视图的多个 representation
来学习统一的 item representation
。co-attention
来学习两种模式之间的相关性,从而更好地学习 item representation
。人们开始对为推荐提供文本解释(而不是提高推荐准确率)的兴趣越来越大。当前使用文本输入的可解释性推荐解决方案可以分为两类:基于抽取的模型、基于生成的模型。
基于抽取的模型:基于抽取的模型聚焦于选择重要的文本片段进行推荐解释。注意力技术被广泛用于基于提取的可解释推荐,学到的注意力权重经验性地展示了不同元素对模型输出的重要性。之后,抽取注意力权重较大的文本片段作为推荐解释。
除了从评论中抽取文本片段之外,还有其他方法可以抽取有用的文本信息进行解释,例如 review-level
的解释(即,评论粒度)。
基于生成的模型:随着语言生成技术的巨大成功,基于生成的模型引起了越来越多的关注。同时给定用户的评分记录和评论,这些模型的关键思想是设计一个 encoder-decoder
结构,其中编码器部分对 user and item
的、相关的 embedding
进行编码,解码器生成与相应 user-item
评论文本的 ground truth
相似的评论。
NRT
是一种 state-of-the-art
模型,它可以同时预测评分并生成评论。编码器部分输入 one-hot user representation
和 one-hot item representation
并输出 user latent embedding
和 item latent embedding
,解码器基于 RNN
结构并生成评论,最后 MLP
结构预测评分。由于我们既有ground truth
的评分记录,也有相应的评论记录,所以评分预测和评论生成这两个任务可以在多任务框架中进行训练。
同时,additional information
和更高级的 encoder-decoder
结构也应用于解释生成。例如,一些方法在编码器中考虑了用户属性和 item
属性,另一些方法在编码器中考虑了多模态 item
数据,还有一些方法在解码器中设计了一个高级的注意力 selector
。
这里我们介绍在推荐系统中建模多媒体内容的相关工作。为了便于解释,我们在下表中总结了不同类型输入数据的、基于多媒体推荐的相关工作。
当前的图像推荐解决方案可以分为两类:基于内容的模型、混合推荐模型。基于内容的模型利用视觉信号来构建 item
视觉 representation
。相比之下,混合推荐模型通过 item
视觉建模来缓解 CF
中的数据稀疏问题。
基于图像内容的推荐:基于图像内容的模型适用于严重依赖视觉影像的推荐场景(如时尚推荐)或用户 feedback
很少的新品。
由于视觉图像通常关联文本描述(如tag
、标题),因此研究人员设计了一些非个性化的推荐系统从而为图像提供 tag
。这些模型应用 CNN
来提取图像视觉信息,并应用 content embedding
模型来获取文本 embedding
。
然后,为了建模视觉信息和文本信息之间的相关性,这些模型要么将文本和图像投影到同一个空间、要么拼接来自不同模态的 representation
、要么设计 co-attention
机制从而更好地描述 item
。
这是为图像打
tag
,跟图像本身属性有关,与用户无关,因此为非个性化的。
对于个性化图像推荐,一个典型的解决方案是将 user
和 item
投影在同一视觉空间中,其中 item
视觉空间来自于 CNN
,user
视觉空间要么来自用户喜欢的 item
、要么来自以用户画像为输入的深度神经网络。
研究人员还认为,CNN
聚焦于全局的 item
视觉 representation
,没有细粒度的建模。因此,人们已经提出了一些复杂的图像语义理解模型image semantic understanding models
来提高图像推荐性能。
makeups
,首先将与美妆相关的面部特征分类为结构化的 coding
,然后将面部属性输入到基于深度学习的推荐系统,从而用于个性化的美妆合成personalized makeup synthesis
。item
,人们提出了一种语义属性的可解释性推荐系统。混合推荐模型:混合模型同时利用协同信号和视觉内容进行推荐,这可以缓解 CF
中的数据稀疏性问题并提高推荐性能。有研究人员提出先提取 item
视觉信息作为特征,然后将 item
视觉特征馈入分解机进行推荐。最近的研究提出了混合视觉推荐的端到端学习框架,而不是效果较差的、两步的学习过程。
Visual Bayesian Personalized Ranking: VBPR
是利用视觉内容进行统一的混合推荐的少数尝试之一。在 VBPR
中,每个 user(item)
被投影到两个潜在空间中:一个视觉空间(该视觉空间基于视觉特征从 CNN
投影而来)、一个协同潜在空间collaborative latent space
(该协同潜在空间捕获了用户潜在偏好)。然后,给定一个关联图像 user-item pair
其中:
item content representation
,即 item
视觉 embedding
。item
潜在向量,embedding
。第一项建模 user-item
的协同效应collaborative effect
,第二项建模 user-item
的视觉内容偏好。
鉴于 VBPR
的基本思想,研究人员进一步介绍了视觉空间中视觉趋势的时间演变temporal evolution
,或图像关联的 location representation
。
在基于矩阵分解的模型中,item
的视觉内容不是将用户的偏好表示为两个空间,而是作为正则化项,从而确保每个 item
学到的 item
潜在向量与从 CNN
学到的视觉图像 representation
相似。
除了学习用于 item
视觉representation
的 CNN content representations
之外,人们还提出了许多模型来考虑来自图像的 additional information
从而进行 item
视觉 representation
,例如从 deep aesthetic network
学到的预训练的 aesthetics
。
当用户在视频帧上显示 time-synchronized
的评论时,研究人员提出了一种多模态框架来同时预测用户对关键帧的偏好并生成个性化的评论。与评论生成模型相比,视觉 embedding
被注入到用户偏好预估部分、以及 LSTM
架构的每个 hidden state
从而实现更好的文本生成。
最近,GNN
在使用启发式图卷积graph convolution
建模图数据方面表现出了强大的性能。PinSage
是将 GNNs
应用于 web-scale
推荐系统的少数尝试之一。给定一个 item-item correlation graph
,PinSage
将节点属性作为输入,并通过迭代式的图卷积来生成 node embedding
从而学习图结构。研究人员还建议形式化 user
、服装、item
的异质图,并执行 hierarchical GNNs
从而进行个性化的服装推荐outfit recommendation
。
研究人员提出了具有丰富视觉信息和音频信息的、content-based
的视频推荐系统。具体而言,这些提出的模型首先提取视频特征和音频特征,然后采用神经网络将这两种特征通过 early fusion
或 late fusion
等技术进行融合。由于这些 content-based
的视频推荐模型不依赖于用户与视频的交互行为,因此它们可以应用于新的视频推荐而无需任何历史行为数据。
与content-based
的推荐模型相比,研究人员提出了一种用于多媒体推荐的注意力协同过滤Attentive Collaborative Filtering: ACF
模型,该模型使用了用户视频交互记录。ACF
利用visual inputs
的注意力机制来学习注意力权重,从而 summarize
用户对历史 item
和 item component
的偏好。
ACF
的核心思想是:利用用户的多媒体行为并将用户显式地投影到两个空间中:协同空间 collaborative space
和视觉空间 visual space
,这样用户的关键帧偏好key frame preference
就可以在视觉空间中被逼近approximated
。作者设计了一个模型来识别用户的协同维度和视觉维度,并建模用户如何从这两个方面做出决定性的 item
偏好。
item
的偏好,并通过社交关系分享他们的兴趣。这些平台中出现了社交推荐,其目标是建模用户之间的社交影响social influence
和社交相关性social correlation
,从而提高推荐性能。社交推荐的根本原因是社交邻居之间存在社交影响,导致用户在社交网络中的兴趣的相关性。我们将社交推荐模型总结为以下两类:社交相关性增强和正则化模型、GNN based
模型。通过将用户的社交行为作为社交域social domain
,将 item
偏好行为作为item
域 item domain
,社交相关性增强和正则化模型试图将来自两个域的用户行为融合在一个统一的 representation
中。对于每个用户,其潜在 embeddign
item domain
的 free embedding
social embedding
其中:
social embedding
。embedding
。不同的模型在社交域 representation
embedding
模型来学习(《Collaborative neural social recommendation》
),也可以从社交邻居的 embedding
中来聚合(《A hierarchical attention model for social contextual image recommendation》
、《Hers:Modeling influential contexts with heterogeneous relations for sparse and cold-start recommendation》
),或者使用 attention based
的 transfer learning
模型从社交域迁移到 item
域 (《An efficient adaptive transfer neural network for social-aware recommendation》
)。
此外 ,社交网络还被用作模型优化过程中的正则化项,假设社交网络中相连的用户在学到的 embedding
空间中更相似(《Collaborative neural social recommendation》
)。
在现实世界中,由于用户个人兴趣的变化和不同的社交影响力,用户的兴趣会随着时间的推移而变化。研究人员使用 RNN
扩展了 social correlation based
的模型,从而建模动态社交影响下用户偏好的演变(《Attentive recurrent social recommendation》
、《Neural framework for joint evolution modeling of user feedback and social links in dynamic social networks》
)。具体而言,每个用户 transition
、以及在
其中:
temporal behaviors
。上述大多数社交推荐模型都利用局部一阶邻居进行社交推荐。在现实世界中,社交扩散过程 social diffusion process
呈现出一种动态的递归效应来影响用户的决策。换句话讲,每个用户都受到全局社交网络图结构的递归影响。为此,研究人员认为,最好利用基于 GNN
的模型来更好地建模推荐的全局社交扩散过程global social diffusion process
。
DiffNet
旨在通过社交 GNN
建模来模拟用户如何受到递归社交扩散过程的影响,从而进行社交推荐。具体而言,DiffNet
递归地将社交影响从第 0
步扩散到 stable diffusion depth K
。令 k
层扩散过程中的 user embedding
,则模型为 :
其中:
free embedding
,随着 step 1
扩散到深度
除了在 user-user
社交图上执行 GNN
之外,研究人员还考虑使用基于异质 GNN
的模型联合建模社交网络中的社交扩散过程和 user-item
二部图中的兴趣扩散过程interest diffusion process
。例如,人们提出 DiffNet++
从而联合建模来自 user-item
二部图的兴趣扩散、以及来自 user-user
社交图的影响扩散,从而用于社交推荐中的用户建模,并取得了 state-of-the-art
性能。
研究人员还考虑利用知识图谱Knowledge Graph: KG
进行推荐,其中知识图谱为 item
提供丰富的辅助信息(如 item
属性、外部知识)。通常,知识图谱以有向图 subject-property-object
的事实 fact
,其中每个三元组表示存在从 head
实体 tail
实体
探索这种内部链接interlink
以及 user-item
交互,是丰富 item
画像、增强 user-item
之间关系的有前景的解决方案。此外,这种图结构赋予推荐系统可解释的能力。最近对知识图谱的工作可以大致分为三类:基于路径的模型 path-based model
、基于正则化的模型regularization-based model
、基于 GNN
的方法GNN-based approach
。
基于路径的方法:许多工作引入了 metapath
和路径从而表达用户和 item
之间的高阶连接,然后将路径输入预测模型来直接推断用户偏好。具体而言,从用户 item
其中:
因此,连接
FMG, MCRec, KPRN
将路径集合转换为 embedding
向量从而表示 user-item
的连接性connectivity.
。这种范式可以概括如下:
其中:
embedding
函数旨在将路径 path
嵌入到一个向量。connectivity representation
。例如,MCRec
和 KPRN
中采用注意力网络来作为池化函数。RippleNet
为每个用户构建 ripple
集合(即从 item
)从而丰富 user representation
。
虽然这些方法显式建模高阶连接性,但是它们在现实世界的推荐场景中极具挑战性,因为它们中的大多数都需要广泛的领域知识来定义 metapath
、或者繁重的特征工程来获得有效的路径。此外,当涉及大量知识图谱实体时,路径的规模很容易达到数百万甚至更大,这使得有效地迁移知识变得困难。
基于正则化的方法:这个研究方向设计了一个联合学习框架,其中使用直接的 user-item
交互来优化推荐器的损失,并使用知识图谱三元组作为 additional loss
项来正则化推荐器模型的学习。具体而言,两个模型分量之间的锚点 anchor
是 overlapped items
的 embedding
。
CKE
利用 Knowledge Graph Embedding
技术(尤其是 TransR
)来生成 item
的 additional representation
,然后将它们与推荐器 MF
的 item embedding
集成,即:
其中:
item ID
为输入的 embedding
函数。KGE
方法的item representation
。类似地,DKN
从 NCF
和 TransE
中生成 item embedding
。这些方法聚焦于通过联合学习框架来丰富 item representation
。
基于 GNN
的方法:基于正则化的方法仅考虑实体之间的直接连接性,并且以相当隐式的方法来编码高阶连接性。由于缺乏显式地建模高阶连接性,因此既不能保证捕获长程连接long-range connectivity
、也无法保证高阶建模的结果是可解释的。最近的研究(如 KGAT, CKAN, MKM-SR, KGCN
) 受到 GNN
进展的启发,探索了图上的消息传递机制从而以端到端方式来利用高阶的连接性。
KGAT
通过将每个用户行为表示为三元组 user-item
交互和知识图谱编码为统一的关系图 relational graph
。基于 item-entity
的 alignment set
,user-item
二部图可以和知识图谱无缝地集成为所谓的协同知识图 collaborative knowledge graph
KGAT
递归地从节点的邻居(可以是用户节点、item
节点、或者其它实体节点)传播 emebdding
从而改善 node embedding
,并且在传播过程中采用注意力机制来区分邻居的重要性:
其中:GNN
函数。
辅助数据(如文本、多媒体、以及社交网络)能够增强 user representation learning
和 item representation learning
,从而提升推荐性能。关键是辅助数据的选择和集成方法。例如:
representation learning
的通用方法,基于 GNN
的方法擅长获取结构信息和高阶相关性从而利用辅助数据。综上所述,根据推荐目标(推荐准确率、可解释性、冷启动问题等),选择合适的辅助数据和集成方法可以帮助推荐模型获得良好的性能。
用户的偏好不是静态的,而是随着时间的推移而动态演变。与使用上述模型对用户的静态偏好static preference
进行建模不同,基于时序 temporal/sequential
的推荐聚焦于对用户的动态偏好dynamic preference
或随着时间的序列模式sequential pattern
进行建模。
给定一个用户集合 item
集合
temporal based recommendation
:对于一个用户 item
user-item
交互行为被表示为一个四元组:session based recommendation
:在某个会话 item
进行交互(例如,用购物车消费、在有限的时间段内浏览互联网)。在许多基于会话的 application
中,用户不登录且用户 ID
不可用。因此,基于会话的推荐的流行方向是从会话数据中挖掘序列的 item-item
交互模式从而获得更好的推荐。temporal and session based recommendation
:这种方法结合了时间推荐和会话推荐的定义,其中每个事务 transaction
被描述为 item
的集合。在这种情况下,需要同时捕获 item
的时间演变temporal evolution
和序列模式。我们在下表中总结了推荐系统中建模时间和序列效应的主要技术,并在下图中说明了一些代表性工作。