数学基础
- 线性代数
- 概率论与随机过程
- 数值计算
- 蒙特卡洛方法与 MCMC 采样
- 机器学习方法概论
统计学习
深度学习
- 深度学习简介
- 深度前馈网络
- 反向传播算法
- 正则化
- 深度学习中的最优化问题
- 卷积神经网络
- CNN:图像分类
- 循环神经网络 RNN
- Transformer
- 一、Transformer [2017]
- 二、Universal Transformer [2018]
- 三、Transformer-XL [2019]
- 四、GPT1 [2018]
- 五、GPT2 [2019]
- 六、GPT3 [2020]
- 七、OPT [2022]
- 八、BERT [2018]
- 九、XLNet [2019]
- 十、RoBERTa [2019]
- 十一、ERNIE 1.0 [2019]
- 十二、ERNIE 2.0 [2019]
- 十三、ERNIE 3.0 [2021]
- 十四、ERNIE-Huawei [2019]
- 十五、MT-DNN [2019]
- 十六、BART [2019]
- 十七、mBART [2020]
- 十八、SpanBERT [2019]
- 十九、ALBERT [2019]
- 二十、UniLM [2019]
- 二十一、MASS [2019]
- 二十二、MacBERT [2019]
- 二十三、Fine-Tuning Language Models from Human Preferences [2019]
- 二十四 Learning to summarize from human feedback [2020]
- 二十五、InstructGPT [2022]
- 二十六、T5 [2020]
- 二十七、mT5 [2020]
- 二十八、ExT5 [2021]
- 二十九、Muppet [2021]
- 三十、Self-Attention with Relative Position Representations [2018]
- 三十一、USE [2018]
- 三十二、Sentence-BERT [2019]
- 三十三、SimCSE [2021]
- 三十四、BERT-Flow [2020]
- 三十五、BERT-Whitening [2021]
- 三十六、Comparing the Geometry of BERT, ELMo, and GPT-2 Embeddings [2019]
- 三十七、CERT [2020]
- 三十八、DeCLUTR [2020]
- 三十九、CLEAR [2020]
- 四十、ConSERT [2021]
- 四十一、Sentence-T5 [2021]
- 四十二、ULMFiT [2018]
- 四十三、Scaling Laws for Neural Language Models [2020]
- 四十四、Chinchilla [2022]
- 四十七、GLM-130B [2022]
- 四十八、GPT-NeoX-20B [2022]
- 四十九、Bloom [2022]
- 五十、PaLM [2022] (粗读)
- 五十一、PaLM2 [2023](粗读)
- 五十二、Self-Instruct [2022]
- 句子向量
- 词向量
- 传统CTR 预估模型
- CTR 预估模型
- 一、DSSM [2013]
- 二、FNN [2016]
- 三、PNN [2016]
- 四、DeepCrossing [2016]
- 五、Wide 和 Deep [2016]
- 六、DCN [2017]
- 七、DeepFM [2017]
- 八、NFM [2017]
- 九、AFM [2017]
- 十、xDeepFM [2018]
- 十一、ESMM [2018]
- 十二、DIN [2017]
- 十三、DIEN [2019]
- 十四、DSIN [2019]
- 十五、DICM [2017]
- 十六、DeepMCP [2019]
- 十七、MIMN [2019]
- 十八、DMR [2020]
- 十九、MiNet [2020]
- 二十、DSTN [2019]
- 二十一、BST [2019]
- 二十二、SIM [2020]
- 二十三、ESM2 [2019]
- 二十四、MV-DNN [2015]
- 二十五、CAN [2020]
- 二十六、AutoInt [2018]
- 二十七、Fi-GNN [2019]
- 二十八、FwFM [2018]
- 二十九、FM2 [2021]
- 三十、FiBiNET [2019]
- 三十一、AutoFIS [2020]
- 三十三、AFN [2020]
- 三十四、FGCNN [2019]
- 三十五、AutoCross [2019]
- 三十六、InterHAt [2020]
- 三十七、xDeepInt [2023]
- 三十九、AutoDis [2021]
- 四十、MDE [2020]
- 四十一、NIS [2020]
- 四十二、AutoEmb [2020]
- 四十三、AutoDim [2021]
- 四十四、PEP [2021]
- 四十五、DeepLight [2021]
- 图的表达
- 一、DeepWalk [2014]
- 二、LINE [2015]
- 三、GraRep [2015]
- 四、TADW [2015]
- 五、DNGR [2016]
- 六、Node2Vec [2016]
- 七、WALKLETS [2016]
- 八、SDNE [2016]
- 九、CANE [2017]
- 十、EOE [2017]
- 十一、metapath2vec [2017]
- 十二、GraphGAN [2018]
- 十三、struc2vec [2017]
- 十四、GraphWave [2018]
- 十五、NetMF [2017]
- 十六、NetSMF [2019]
- 十七、PTE [2015]
- 十八、HNE [2015]
- 十九、AANE [2017]
- 二十、LANE [2017]
- 二十一、MVE [2017]
- 二十二、PMNE [2017]
- 二十三、ANRL [2018]
- 二十四、DANE [2018]
- 二十五、HERec [2018]
- 二十六、GATNE [2019]
- 二十七、MNE [2018]
- 二十八、MVN2VEC [2018]
- 二十九、SNE [2018]
- 三十、ProNE [2019]
- Graph Embedding 综述
- 图神经网络
- 一、GNN [2009]
- 二、Spectral Networks 和 Deep Locally Connected Networks [2013]
- 三、Fast Localized Spectral Filtering On Graph [2016]
- 四、GCN [2016]
- 五、神经图指纹 [2015]
- 六、GGS-NN [2016]
- 七、PATCHY-SAN [2016]
- 八、GraphSAGE [2017]
- 九、GAT [2017]
- 十、R-GCN [2017]
- 十一、 AGCN [2018]
- 十二、FastGCN [2018]
- 十三、PinSage [2018]
- 十四、GCMC [2017]
- 十五、JK-Net [2018]
- 十六、PPNP [2018]
- 十七、VRGCN [2017]
- 十八、ClusterGCN [2019]
- 十九、LDS-GNN [2019]
- 二十、DIAL-GNN [2019]
- 二十一、HAN [2019]
- 二十二、HetGNN [2019]
- 二十三、HGT [2020]
- 二十四、GPT-GNN [2020]
- 二十五、Geom-GCN [2020]
- 二十六、Graph Network [2018]
- 二十七、GIN [2019]
- 二十八、MPNN [2017]
- 二十九、UniMP [2020]
- 三十、Correct and Smooth [2020]
- 三十一、LGCN [2018]
- 三十二、DGCNN [2018]
- 三十三、AS-GCN
- 三十四、DGI [2018]
- 三十五、DIFFPOLL [2018]
- 三十六、DCNN [2016]
- 三十七、IN [2016]
- 图神经网络 2
- 图神经网络 3
- 推荐算法(传统方法)
- 一、Tapestry [1992]
- 二、GroupLens [1994]
- 三、ItemBased CF [2001]
- 四、Amazon I-2-I CF [2003]
- 五、Slope One Rating-Based CF [2005]
- 六、Bipartite Network Projection [2007]
- 七、Implicit Feedback CF [2008]
- 八、PMF [2008]
- 九、SVD++ [2008]
- 十、MMMF 扩展 [2008]
- 十一、OCCF [2008]
- 十二、BPR [2009]
- 十三、MF for RS [2009]
- 十四、 Netflix BellKor Solution [2009]
- 推荐算法(神经网络方法 1)
- 一、MIND [2019](用于召回)
- 二、DNN For YouTube [2016]
- 三、Recommending What Video to Watch Next [2019]
- 四、ESAM [2020]
- 五、Facebook Embedding Based Retrieval [2020](用于检索)
- 六、Airbnb Search Ranking [2018]
- 七、MOBIUS [2019](用于召回)
- 八、TDM [2018](用于检索)
- 九、DR [2020](用于检索)
- 十、JTM [2019](用于检索)
- 十一、Pinterest Recommender System [2017]
- 十二、DLRM [2019]
- 十三、Applying Deep Learning To Airbnb Search [2018]
- 十四、Improving Deep Learning For Airbnb Search [2020]
- 十五、HOP-Rec [2018]
- 十六、NCF [2017]
- 十七、NGCF [2019]
- 十八、LightGCN [2020]
- 十九、Sampling-Bias-Corrected Neural Modeling [2019](检索)
- 二十、EGES [2018](Matching 阶段)
- 二十一、SDM [2019](Matching 阶段)
- 二十二、COLD [2020 ] (Pre-Ranking 模型)
- 二十三、ComiRec [2020](https://www.wenjiangs.com/doc/0b4e1736-ac78)
- 二十四、EdgeRec [2020]
- 二十五、DPSR [2020](检索)
- 二十六、PDN [2021](mathcing)
- 二十七、时空周期兴趣学习网络ST-PIL [2021]
- 推荐算法之序列推荐
- 一、FPMC [2010]
- 二、GRU4Rec [2015]
- 三、HRM [2015]
- 四、DREAM [2016]
- 五、Improved GRU4Rec [2016]
- 六、NARM [2017]
- 七、HRNN [2017]
- 八、RRN [2017]
- 九、Caser [2018]
- 十、p-RNN [2016]
- 十一、GRU4Rec Top-k Gains [2018]
- 十二、SASRec [2018]
- 十三、RUM [2018]
- 十四、SHAN [2018]
- 十五、Phased LSTM [2016]
- 十六、Time-LSTM [2017]
- 十七、STAMP [2018]
- 十八、Latent Cross [2018]
- 十九、CSRM [2019]
- 二十、SR-GNN [2019]
- 二十一、GC-SAN [2019]
- 二十二、BERT4Rec [2019]
- 二十三、MCPRN [2019]
- 二十四、RepeatNet [2019]
- 二十五、LINet(2019)
- 二十六、NextItNet [2019]
- 二十七、GCE-GNN [2020]
- 二十八、LESSR [2020]
- 二十九、HyperRec [2020]
- 三十、DHCN [2021]
- 三十一、TiSASRec [2020]
- 推荐算法(综述)
- 多任务学习
- 系统架构
- 实践方法论
- 深度强化学习 1
- 自动代码生成
工具
- CRF
- lightgbm
- xgboost
- scikit-learn
- spark
- numpy
- matplotlib
- pandas
- huggingface_transformer
- 一、Tokenizer
- 二、Datasets
- 三、Model
- 四、Trainer
- 五、Evaluator
- 六、Pipeline
- 七、Accelerate
- 八、Autoclass
- 九、应用
- 十、Gradio
Scala
- 环境搭建
- 基础知识
- 函数
- 类
- 样例类和模式匹配
- 测试和注解
- 集合 collection(一)
- 集合collection(二)
- 集成 Java
- 并发
1.2 Content-Enriched 模型
在协同过滤中,
item representation
仅对协同信号(用户的行为模式)进行编码,但是忽略了语义相关性semantic relatedness
。为了增强representation learning
,许多研究人员跳出了user-item
交互的范畴并利用辅助数据。辅助数据可以分为两类:基于内容content based
的信息、上下文感知context-aware
数据。基于内容的信息:包含用户关联的内容、
item
关联的内容,例如常规的用户特征和item
特征、文本内容(如item tag
、item
文本描述、item
评论)、多媒体描述(如图像信息、视频信息、音频信息)、用户社交网络、知识图谱。我们根据可用的内容信息将相关工作分为五类:用户和
item
的常规特征、文本内容信息、多媒体信息、社交网络、知识图谱。上下文感知数据:包含用户做出
item
决策时的环境,这通常表示一些不在用户或item
范畴内的描述。上下文信息包括时间time
、位置location
、以及从传感器收集到的特定数据(如速度和天气)等等。由于篇幅有限,我们讨论最典型的上下文数据:时间数据。
我们在下图中说明了一些代表性工作。
1.2.1 建模通用特征交互
分解机
Factorization Machine: FM
提供了特征交互建模的直观思想。由于特征通常是稀疏的,FM
首先将每个特征 $ i $ 嵌入到latent embedding
$ \mathbf{\vec v}_i $ 中,并将任何两个特征实例 $ x_i $ (如,年龄)和 $ x_j $ (如,性别)的二阶交互second-order interaction
建模为: $ (x_ix_j)\times \mathbf{\vec v}_i^\top \mathbf{\vec v}_j $ 。自然地,FM
对二阶交互显式地建模,并使用embedding based
模型来降低参数规模从而计算任意两个特征的相似度。Field-aware FM: FFM
从FM
扩展而来,它通过field aware
特性来使用多个latent embeddings
从而扩展每个特征。- 高阶
FM
也从FM
扩展而来,它通过直接扩展了二阶特征交互而来。
尽管这些模型能够建模高阶特征交互,但是它们在建模过程中会受到
noisy
的特征交互的影响。研究人员探索了采用神经网络自动发现复杂的高阶特征交互,从而进行
CTR
预估和推荐的可能性。如下表所示,除了基于FM
的方法之外,当前关于该主题的相关工作可以分为三类:隐式MLP
结构、显式K
阶建模、树增强模型。
a. 基于 MLP 的高阶建模
由于特征交互是
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
)。
b. 用于 K 阶建模的 Cross Network
交叉网络
cross network
不同于MLP based
的算法,它具有精心设计的交叉网络操作,因此一个K
层的交叉网络就可以对最高K
阶的特征交互进行建模。第 $ k $ 个hidden layer
的输出 $ \mathbf{\vec x}_k $ 通过交叉运算来计算:其中
$ \mathbf{\vec x}_0 \mathbf{\vec x}_{k-1}^\top\in \mathbb R^{d\times d} $ 为向量笛卡尔积得到的矩阵, $ d $ 为embedding
维度。xDeepFM
不是在bit-wise level
进行交叉操作,而是在vector-wise level
显式地应用交叉交互。这些类型的模型能够学习有界bounded-degree
的特征交互。
c. 树增强模型
- 由于树可以天然地表达交叉特征,研究人员将树作为一个代理
proxy
,从而用于推荐中的交叉特征解释cross feature explanation
。具体而言,TEM
首先利用决策树以交叉特征的形式提取特征的高阶交互,然后将交叉特征的embedding
输入到注意力模型中进行预测。因此,决策树的深度决定了特征交互的最高阶次。此外,通过无缝结合embedding
和tree based
模型,TEM
能够统一它们的优势:强大的表达能力和可解释性。
1.2.2 建模文本内容
神经网络技术彻底改变了自然语言处理
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
、注意力模型、用于推荐的文本解释。- 第一类是与
a. 基于自编码器的模型
通过将
item
内容视为原始特征,例如bag-of-words representation
或item tag representation
,这些模型使用自编码器及其变体来学习item
的bottleneck hidden content representation
。例如,
Collaborative Deep Learning: CDL
同时学习每个item
$ i $ 的embedding
$ \mathbf{\vec q}_i $ 为两部分的组合:通过堆叠降噪自编码器stacked denoising autoencoder
学习来自item
内容 $ \mathbf {\vec x}_i $ 的hidden representation
,以及一个并未编码到内容中的辅助embedding
$ \vec\theta_i $ 。即:其中:
$ f_e(\cdot) $ 使用自编码器将原始内容输入转换为bottleneck hidden vector
。 $ \vec\theta_i $ 为未在item
内容中捕获的free item latent vector
(类似于许多经典的、基于潜在因子的CF
模型), $ \mathcal N $ 为正态分布, $ \sigma^2 $ 为正态分布的方差。
在模型优化过程中,目标函数是同时优化来自用户历史行为的
rating based
的损失,以及来自autoencoder
的内容重建损失:其中:
$ \mathcal L_R(\cdot,\cdot) $ 为rating based
的损失, $ \mathcal L_X(\cdot,\cdot) $ 为内容重建损失, $ \lambda $ 为衡量两个损失项之间相对权重的超参数。 $ \mathbf R $ 为user-item
评分矩阵, $ \hat{\mathbf R} $ 为预估评分。 $ f_d(\cdot) $ 为解码器, $ f_e(\cdot) $ 为编码器, $ \mathbf X $ 为输入内容。
在这个基础的基于自编码器的推荐模型之后,一些研究提出了改进从而考虑内容信息的唯一性
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
的推荐模型。
b. 利用 Word Embedding 来推荐
自编码器为无监督
feature learning
提供了通用的神经解决方案,它不考虑文本输入的唯一性uniqueness
。最近,研究人员提出利用word embedding
技术来获得更好的内容推荐。随着TextCNN
的成功,人们提出了Convolutional Matrix Factorization: ConvMF
从而将CNN
集成到概率矩阵分解中。令 $ \mathbf{\vec x}_i $ 表示item
$ i $ 的文本输入,则item
潜在embedding
矩阵 $ \mathbf Q $ 表示为以embedding representation
为中心的高斯分布:其中:
$ \mathbf W $ 为TextCNN
的参数, $ \mathbf X $ 为所有文本拼接的输入矩阵; $ \sigma $ 为高斯分布的标准差; $ \mathbf{\vec q}_i $ 为item
$ i $ 的embedding
向量。除了
CNN based
模型之外,研究人员还采用了各种state-of-the-art
内容embeddign
技术(例如RNN
),从而用于item
内容representation
。评论信息广泛出现在推荐
application
中,是用户表达对item
的感受的自然形式。给定用户的评分记录和相关评论,大多数基于评论的推荐算法将用户(或item
)的历史评论文本聚合为用户内容输入 $ D(u) $ (或item
内容输入 $ D(i) $ )。深度模型
DeepCoNN
是基于评论的推荐。如下图所示,DeepCoNN
由两个用于内容建模的并行TextCNN
组成:- 一个专注于通过用户
$ u $ 撰写的评论内容 $ D(u) $ 来学习用户行为。 - 另一个专注于通过
item
$ i $ 收到的评论内容 $ D(i) $ 来学习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
$ \text{rev}_{u,i} $ 的DeepCoNN
。此外,TransNet
也有一个target network
,该target network
建模当前的user-item pair
$ (u,i) $ 的联合评论 $ \text{rev}_{u,i} $ 。因此,即使没有用户对item
的评论,target network
也可以近似被测试的user-item pair
的、预估的评论 $ \widehat{\text{rev}}_{u,i} $ 。
c. 注意力模型
注意力机制也被广泛用于
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
。
- 例如,给定一条推文,基于注意力的
d. 用于推荐的文本解释
人们开始对为推荐提供文本解释(而不是提高推荐准确率)的兴趣越来越大。当前使用文本输入的可解释性推荐解决方案可以分为两类:基于抽取的模型、基于生成的模型。
基于抽取的模型:基于抽取的模型聚焦于选择重要的文本片段进行推荐解释。注意力技术被广泛用于基于提取的可解释推荐,学到的注意力权重经验性地展示了不同元素对模型输出的重要性。之后,抽取注意力权重较大的文本片段作为推荐解释。
除了从评论中抽取文本片段之外,还有其他方法可以抽取有用的文本信息进行解释,例如
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
。
1.2.3 建模多媒体内容
这里我们介绍在推荐系统中建模多媒体内容的相关工作。为了便于解释,我们在下表中总结了不同类型输入数据的、基于多媒体推荐的相关工作。
a. 建模图像信息
当前的图像推荐解决方案可以分为两类:基于内容的模型、混合推荐模型。基于内容的模型利用视觉信号来构建
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
(该协同潜在空间捕获了用户潜在偏好)。然后,给定一个关联图像 $ \mathbf{\vec x}_i $ 的user-item pair
$ (u,i) $ ,结合两个空间的用户偏好来预测的 $ \hat r_{u,i} $ 为:其中:
$ f(\text{CNN}(\cdot)) $ $ f(\text{CNN}(\cdot)) $ 表示通过从原始视觉空间 $ \text{CNN}(\mathbf{\vec x}_i) $ 变换而来的item content representation
,即item
视觉embedding
。 $ \mathbf{\vec p}_u $ 为用户潜在向量, $ \mathbf{\vec q}_i $ 为item
潜在向量, $ \mathbf{\vec w}_u $ 为用户视觉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
。
b. 视频推荐
研究人员提出了具有丰富视觉信息和音频信息的、
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
偏好。
1.2.4 建模社交网络
- 随着社交网络的出现,用户喜欢在这些社交平台上表达对
item
的偏好,并通过社交关系分享他们的兴趣。这些平台中出现了社交推荐,其目标是建模用户之间的社交影响social influence
和社交相关性social correlation
,从而提高推荐性能。社交推荐的根本原因是社交邻居之间存在社交影响,导致用户在社交网络中的兴趣的相关性。我们将社交推荐模型总结为以下两类:社交相关性增强和正则化模型、GNN based
模型。
a. 社交相关性增强和正则化
通过将用户的社交行为作为社交域
social domain
,将item
偏好行为作为item
域item domain
,社交相关性增强和正则化模型试图将来自两个域的用户行为融合在一个统一的representation
中。对于每个用户,其潜在embeddign
$ \mathbf{\vec p}_u $ 由两部分组成:一个来自item domain
的free embedding
$ \mathbf{\vec e}_u $ ,以及一个来自社交域的刻画社交相似性的social embedding
$ \mathbf{\vec h}_u $ 。换句话讲,我们有:其中:
$ g(\cdot,\cdot) $ 以社交网络结构为输入从而建模social embedding
。 $ \mathbf S $ 为刻画了社交网络结构的邻接矩阵。 $ f(\cdot,\cdot) $ 融合了两种embedding
。
不同的模型在社交域
representation
$ \mathbf{\vec h}_u $ 的详细实现上有所不同。例如,可以直接从社交网络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》
)。具体而言,每个用户 $ u $ 在时刻 $ t $ 的潜在偏好 $ \mathbf{\vec h}_u^{(t)} $ 可以建模为该用户前一时刻潜在偏好 $ \mathbf{\vec h}_{u}^{(t-1)} $ 的转移transition
、以及在 $ t-1 $ 时刻来自社交邻居的社交影响 :其中:
$ R_{u}^{(t)} $ 为用户 $ u $ 在时刻 $ t $ 的时间行为temporal behaviors
。 $ \sum_{v\in \mathcal N_u} \alpha_{v,u} \mathbf{\vec h}_v^{(t-1)} $ 为来自该用户的社交邻居的影响, $ \mathcal N_u $ 为用户 $ u $ 的社交邻居, $ \alpha_{v,u} $ 为用户 $ v $ 对于用户 $ u $ 的社交影响力(可以使用均匀的影响力,或者使用注意力模型)。
b. GNN based 方法
上述大多数社交推荐模型都利用局部一阶邻居进行社交推荐。在现实世界中,社交扩散过程
social diffusion process
呈现出一种动态的递归效应来影响用户的决策。换句话讲,每个用户都受到全局社交网络图结构的递归影响。为此,研究人员认为,最好利用基于GNN
的模型来更好地建模推荐的全局社交扩散过程global social diffusion process
。DiffNet
旨在通过社交GNN
建模来模拟用户如何受到递归社交扩散过程的影响,从而进行社交推荐。具体而言,DiffNet
递归地将社交影响从第0
步扩散到stable diffusion depth K
。令 $ \mathbf{\vec h}_u^{(k)} $ 表示用户 $ u $ 在第k
层扩散过程中的user embedding
,则模型为 :其中:
$ \mathbf{\vec x}_u $ 为用户 $ u $ 的特征向量, $ \mathbf{\vec e}_u $ 为用户 $ u $ 的free embedding
, $ f_\text{NN}(\cdot,\cdot) $ 为建模初始社交扩散的神经网络。 $ \mathcal N_u $ 为用户 $ u $ 的邻居集合, $ \mathbf{\vec h}_{\mathcal N_u}^{(k-1)} $ 建模了来自用户 $ u $ 的社交邻居的扩散。 $ \mathbf W^{(k)} $ 为第 $ k $ 层的待学习的权重矩阵, $ [\cdot,\cdot] $ 为向量拼接, $ s(\cdot) $ 为激活函数。
随着
$ k $ 从step 1
扩散到深度 $ K $ ,则上式捕获了递归的社交扩散过程。除了在
user-user
社交图上执行GNN
之外,研究人员还考虑使用基于异质GNN
的模型联合建模社交网络中的社交扩散过程和user-item
二部图中的兴趣扩散过程interest diffusion process
。例如,人们提出DiffNet++
从而联合建模来自user-item
二部图的兴趣扩散、以及来自user-user
社交图的影响扩散,从而用于社交推荐中的用户建模,并取得了state-of-the-art
性能。
c. 建模知识图谱
研究人员还考虑利用知识图谱
Knowledge Graph: KG
进行推荐,其中知识图谱为item
提供丰富的辅助信息(如item
属性、外部知识)。通常,知识图谱以有向图 $ \mathcal G= \left\{(h,r,t)\mid h,t\in \mathcal V,r\in \mathcal R\right\} $ 的形式来组织这类subject-property-object
的事实fact
,其中每个三元组表示存在从head
实体 $ h $ 到tail
实体 $ t $ 的关系 $ r $ , $ \mathcal V $ 为所有实体集合, $ \mathcal R $ 为所有关系集合。探索这种内部链接
interlink
以及user-item
交互,是丰富item
画像、增强user-item
之间关系的有前景的解决方案。此外,这种图结构赋予推荐系统可解释的能力。最近对知识图谱的工作可以大致分为三类:基于路径的模型path-based model
、基于正则化的模型regularization-based model
、基于GNN
的方法GNN-based approach
。基于路径的方法:许多工作引入了
metapath
和路径从而表达用户和item
之间的高阶连接,然后将路径输入预测模型来直接推断用户偏好。具体而言,从用户 $ u $ 到item
$ i $ 的路径可以定义为一系列实体和关系:其中:
$ v_1=u,v_L=i $ , $ v_l\in \mathcal V $ 为节点, $ r_l\in \mathcal R $ 为关系。 $ (v_l,r_l,v_{l+1}) $ 为第 $ l $ 个三元组, $ L-1 $ 表示三元组的数量。
因此,连接
$ u $ 和 $ i $ 的路径集合可以定义为: $ \mathcal P(u,i) = \{\text{path}\} $ 。FMG, MCRec, KPRN
将路径集合转换为embedding
向量从而表示user-item
的连接性connectivity.
。这种范式可以概括如下:其中:
$ f_\text{embed}(\cdot) $ 为一个embedding
函数旨在将路径path
嵌入到一个向量。 $ f_\text{pooling}(\cdot) $ 为一个池化函数旨在将所有路径信息聚合为connectivity representation
。例如,MCRec
和KPRN
中采用注意力网络来作为池化函数。
RippleNet
为每个用户构建ripple
集合(即从 $ \mathcal P $ 派生的高阶邻域item
)从而丰富user representation
。虽然这些方法显式建模高阶连接性,但是它们在现实世界的推荐场景中极具挑战性,因为它们中的大多数都需要广泛的领域知识来定义
metapath
、或者繁重的特征工程来获得有效的路径。此外,当涉及大量知识图谱实体时,路径的规模很容易达到数百万甚至更大,这使得有效地迁移知识变得困难。基于正则化的方法:这个研究方向设计了一个联合学习框架,其中使用直接的
user-item
交互来优化推荐器的损失,并使用知识图谱三元组作为additional loss
项来正则化推荐器模型的学习。具体而言,两个模型分量之间的锚点anchor
是overlapped items
的embedding
。CKE
利用Knowledge Graph Embedding
技术(尤其是TransR
)来生成item
的additional representation
,然后将它们与推荐器MF
的item embedding
集成,即:其中:
$ f_\text{embed}(\cdot) $ 为以item ID
为输入的embedding
函数。 $ f_\text{KGE}(\cdot) $ 为考虑了知识图谱结构的KGE
方法的item representation
。
类似地,
DKN
从NCF
和TransE
中生成item embedding
。这些方法聚焦于通过联合学习框架来丰富item representation
。基于
GNN
的方法:基于正则化的方法仅考虑实体之间的直接连接性,并且以相当隐式的方法来编码高阶连接性。由于缺乏显式地建模高阶连接性,因此既不能保证捕获长程连接long-range connectivity
、也无法保证高阶建模的结果是可解释的。最近的研究(如KGAT, CKAN, MKM-SR, KGCN
) 受到GNN
进展的启发,探索了图上的消息传递机制从而以端到端方式来利用高阶的连接性。KGAT
通过将每个用户行为表示为三元组 $ (u,\text{interact},i) $ ,从而将user-item
交互和知识图谱编码为统一的关系图relational graph
。基于item-entity
的alignment set
,user-item
二部图可以和知识图谱无缝地集成为所谓的协同知识图collaborative knowledge graph
$ \mathcal G=\{(h,r,t)\mid h,t\in \mathcal V^\prime,r\in \mathcal R^\prime\} $ ,其中 $ \mathcal V^\prime = \mathcal V\cup\mathcal U $ 为集成后的节点集合, $ \mathcal R^\prime = \mathcal R\cup \{\text{interact}\} $ 为集成后的关系集合。在这样的图上,KGAT
递归地从节点的邻居(可以是用户节点、item
节点、或者其它实体节点)传播emebdding
从而改善node embedding
,并且在传播过程中采用注意力机制来区分邻居的重要性:其中:
$ f_\text{GNN}(\cdot) $ 为GNN
函数。
1.2.5 总结
辅助数据(如文本、多媒体、以及社交网络)能够增强
user representation learning
和item representation learning
,从而提升推荐性能。关键是辅助数据的选择和集成方法。例如:- 文本信息可以帮助模型生成相应的推荐解释,社交网络信息对于提供用户之间的社交影响力和社交相关以便更好地推荐非常有用。
- 同时,注意力机制是一种从辅助数据中选择最相关信息从而增强
representation learning
的通用方法,基于GNN
的方法擅长获取结构信息和高阶相关性从而利用辅助数据。
综上所述,根据推荐目标(推荐准确率、可解释性、冷启动问题等),选择合适的辅助数据和集成方法可以帮助推荐模型获得良好的性能。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论