推荐系统中的冷启动

问题描述

  • 如何给新加入的用户推荐可能感兴趣的物品?如何将新上架的物品推荐给潜在的用户?这两个问题分别是用户冷启动和物品冷启动,统称为冷启动推荐
  • 尾部用户/cold-start用户,行为稀疏,还存在问题:有噪声,间隔大;目的是得到这部分用户的个性化表示
    • 头部用户相对于长尾用户,具有大量交互
    • 行为: 点击、加购、收藏、购买、(不点击)等
    • 推荐系统--用户行为建模(依赖于行为的规模和质量)--用户活跃度低、行为少(尾部用户,用户行为稀疏且噪音大/频次少、间隔大、带噪声)--CTR预估(用户是否点击目标item,用户兴趣预估)
  • 解决思路主要从两个角度出发: 一是数据水平,二是模型水平;前者利用辅助side信息/数据(数据增强,如微博间关注的关系、用户物品的属性信息、图片文本音频视频等多媒体信息、上下文信息比如购买时的位置时间信息)
    • 把除了id信息以外的别的信息统称为side information,比如属性特征,用户性别、年龄特征,物品的类别、价格,额外的补充信息比如知识图谱,辅助领域等等

数据层面

高效利用属性特征

  • DropoutNet[7]: 在训练过程中加入dropout的机制,使得模型不过度依赖于ID embedding,而是其他内容特征。从而使得冷启动推荐主要是根据内容特征来进行推荐,减小了不好的ID embedding的影响
  • MetaEmbedding[8]: 冷启动推荐效果不佳,主要原因在于交互数量少,ID embedding学不好。那么为了更好地学习ID embedding,应该给ID embedding一个不错的初始化值。MetaEmbedding提出使用物品(广告)其他特征,通过一个生成器来输出一个ID embedding的初始化值。该方法通过使用已有的物品来模拟冷启动的过程来学习这个生成器,对于每一个新加入的物品,都是用这个生成器预测ID embedding的初始化值,基于这个初始化值再做后续的训练及预测
  • Meta Warm Up Framework(MWUF)[9]: 冷启动物品的ID embedding和非冷启动物品的ID embedding的分布不相同,而深度推荐模型的深度模块更适合非冷启动物品(大量数据都是在非冷启动物品上产生)。换句话说冷启动的ID embedding和深度模型之间存在一个gap。MWUF提出通过一个元拉伸网络从物品特征中预测一个拉伸函数,对冷启动ID embedding进行一个特征变换,将其变换到一个更好的特征空间中。另外MWUF还使用一个元偏移网络利用所有的交互过的用户的表示,来输出一个偏移向量,巩固ID embedding的表示(高效利用有限的交互数据)

基于内容的推荐

组推荐/聚类

  • HIM(混合兴趣建模)[1]:用户交互序列间隔大,分session,session内按频次排序(信息时序依赖少,交互展现基于session的特征)

    • 行为的置信度: 频次加权嵌入(更频繁的交互有更高的置信度来表明用户的兴趣);利用负反馈建模正反馈的置信度(负反馈减轻正反馈的稀疏问题;负反馈需要池化,减少单个负反馈内的噪声;计算每个正反馈和池化后的负反馈的欧式距离,与基于内积的注意力机制不同,基于距离的能为与负反馈更不相似的正反馈赋予更大的权重)。将一系列正反馈输入GRU,捕获高频和低频之间的关系。将正反馈输出和负反馈连接得到个性化表示。使用自注意力可得到聚合个性化表示(高阶表示保持某种递进关系)
    • 个性化行为的稀疏: 引入组推荐的思想(隐含用户组)做半个性化建模
      • AE(无监督):encoder为线性层+softmax得到用户对应于各个组的概率,decoder也为线性层,重建损失与聚合个性化表示做比较
      • 使用AE时可引入聚类损失(如KL散度)进行优化
    • 输入为item嵌入,包括目标item和用户历史交互item,后者需要分时间窗口组织,且需要统计频次信息,最后可得到每个session的个性化表示。使用AE得到半个性化表示(启发式重建loss提升聚类的鲁棒性,使用hinge loss,同时随机选择P个用户作为负用户)。各个session的个性化表示和半个性化表示都各自连接。目标item的特征包括 ID、价格、品牌、商户、类型,均连接。使用目标注意力(目标item嵌入和个性化表示以及半个性化表示的点积)。最后连接个性化表示、半个性化表示、目标item表示以及其他特征,进入MLP进行二分类
  • 区分warm用户和cold用户[2]: 针对warm用户使用协同过滤的隐含模型,学习一个嵌入空间,用户和item(track)都表示成d维向量,它们之间的相似性可用内积或余弦相似度来衡量

    • 隐含模型可以是UT-ALS(user-track alternating least squares),使用加权矩阵分解,交互矩阵的元素由启发式规则定义;还可以是TT-SVD(track-track singular value decomposition),使用PMI矩阵,受word2vec的共现上下文启发,基于在不同音乐集中track的共现,warm用户的嵌入通过平均他们聆听历史中的track向量得到
    • 基于上述得到的用户嵌入,计算warm用户的一个划分(k-means),每个用户聚类由用户嵌入的平均表示
    • 自动集成cold用户到现有的嵌入空间并预测他们的偏好
      • 输入特征: 来自不同源;人口信息如年龄、国家,对应的嵌入通过由同一年龄和同一国家的warm用户嵌入平均得到;交互信息;人口信息缺失采用onboarding过程;人口嵌入和交互嵌入连接,进入前馈神经网络,最小化MSE(预测嵌入和实际值)
      • 利用在warm用户上训练好的模型,将cold用户的输入特征输入到该模型中预测cold用户的嵌入向量,这样就集成了cold用户;这是全个性化,还是会有噪声
      • 半个性化:基于上述预测将cold用户包括进warm用户聚类中(和预测嵌入靠的最近的聚类中心),随后推荐预计算的那个聚类中心中的最流行的track
  • 从原始特征中学习半个性化表示,然后再将半个性化表示连接到原始特征中,连接时可使用注意力机制确定不同用户对半个性化表示的依赖;其实学习半个性化表示就是对用户进行聚类,我们可以使用专家网络来直接实现这个目的;不过[23]中的不同专家网络均接受相同的输入,用户的聚类学习能力较弱,借鉴[24]中虚拟核专家的思想,不同专家网络依据注意力机制接受不同的输入,之后再依据注意力机制结合不同专家网络的输出得到用户的个性化表示

基于图的推荐

  • 知识图谱辅助推荐系统[10]
    • 基于嵌入方法(Embedding-based methods)
      • 首先用KGE的方法处理KG,得到实体、关系的embedding,利用推荐系统的方法得到物品、用户的embedding,设计一种模型来融合四类embedding
    • 基于结构方法(Structure-based methods)
      • 将KG和用户物品交互的图结构概括在一个统一的框架下,挖掘图结构信息
  • 在性能方面,KGCN[3] (基于结构的方法)性能最好,DKN表现最差,即KGCN>MKR[5] (基于嵌入的方法)>PippleNet[4] (基于结构的方法)>DKN[6] (基于嵌入的方法)。在可扩展性方面,embedding-based方法可扩展性更好,因为embedding方法可以复用,而structure-based方法在面对新的物品、用户时需要对整个方法需要重新训练。在可解释性方面,structure-based方法的图结构比embedding更直观

基于迁移学习的推荐

  • 将知识从头部迁移到尾部
  • 交叉域
  • 基于映射的方法[11]: 通过学习一个从源领域到目标领域的映射函数,将用户或者物品在源领域的embedding映射到目标领域,来作为目标领域的初始化。但是现有的这类方法在冷启动物品或者用户上泛化能力不足,TMCDR[12]提出了一种新的框架,来提升这类方法在冷启动上的泛化能力

多行为推荐

  • 一个用户可能只有很少的购买行为,在购买这个目标上,该用户是冷启动用户,但是该用户可能有很多其他行为,比如点击、加购物车等等。通过利用这些辅助行为也可以帮助目标行为上用户冷启动推荐[13-14]

模型层面

  • 高效地利用有限的交互数据

元学习/元优化

  • 只以一些过去的交互item来预测用户的偏好(解决数据稀疏性)
  • 大部分方法采用基于优化的算法,如model-agnostic元学习MAML
  • MAMO[22]
    • 元学习先为所有用户学习全局共享初始化参数/先验知识(meta-training),然后为每个用户单独学习个性化参数(基于一些样本进行一或几个的更新步)(meta-testing);全局参数通过最小化所有训练任务的损失来更新。局限在于不稳定、收敛慢、泛化差,特别是会导致局部最优
    • 内存增强元优化MAMO(自适应元学习)
      • 特征特定内存: 解决局部最优;当初始化模型参数时提供个性化偏差项;包含两个内存矩阵,一个存储用户画像,另一个存储梯度
      • 任务特定内存: 学会捕捉不同item上共享的潜在用户偏好共性,矩阵存储权重
      • 训练开始,随机初始化全局参数,包括用户和item嵌入函数参数、预测函数参数以及上述三个矩阵。局部学习期间,用全局参数初始化模型参数,其中用户嵌入函数参数需要引入偏差项;初始化偏好内存,计算预测分数,局部更新偏好内存和模型参数(支持集)。全局更新(查询集)
  • Twitter recommendation[15]: 针对推特上的冷启动物品推荐,使用用户交互过的物品,来预测一个分类器,然后使用该生成的分类器判断用户是否对冷启动的物品感兴趣,这个思想和metric-based meta learning很相似
  • MeLU[16]采用一种基于梯度的元学习算法MAML来学习一个深度推荐模型公共的初始化参数,然后针对每一个冷启动用户,使用有限的交互数据来对这个初始化模型进行微调,得到用户定制化的模型进行推荐
  • MetaHIN[17]: 异构图通常也含有大量额外的信息。MetaHIN在MeLU的基础上引入异构信息网络,进一步提升了冷启动的效果
    • 除了用户直接交互的item,还引入与用户语义相关的item,以此来丰富交互
    • 也结合基于内容的方法(从数据水平上减轻cold-start问题)
    • meta-path: 高阶图结构捕获语义上下文(多方面的,每一个path表示一个方面)
    • 使用异质语义上下文来增强支持集和查询集
    • co-adaptation元学习: 学习细粒度先验知识;全局先验被抽象成一个基模型
      • semantic-wise adaptation
      • task-wise adaptation
    • 基模型: 以用户或item的特征初始化他们的嵌入
  • 冷启动场景: 在推荐系统中有时会有新的场景出现,比如亚马逊电商推荐,增加一个母婴场景,新的场景通常只有少量交互数据,如何利用其他场景帮助冷启动场景进行推荐。S^2meta[20]提出了一种基于元学习的方法,思想和少样本学习类似
  • 冷启动市场营销任务: 在推荐系统中每天会有大量新的市场营销任务来推广各种内容、广告等等。这些新的市场营销任务通常只会给有限的种子用户(对定向内容感兴趣的用户,可以理解为交互数据),如何根据少量种子用户进行更大规模的推广。MetaHeac[21]提出了一种基于元学习的方法,该方法同时可以建模多个市场营销任务之间的关系

探索和利用

  • 主要思想是在冷启动的过程中,什么时候应该去探索用户额外的兴趣偏好,什么时候应该基于现有的兴趣偏好进行推荐。针对物品侧也是同理,什么时候应该尝试进行推广[18-19]

参考文献

  • [1] 2020 | Hybrid Interest Modeling for Long-tailed Users | Lifang Deng et al.
  • [2] 2021 | KDD | A Semi-Personalized System for User Cold Start Recommendation on Music Streaming Apps | Léa Briand et al.
  • [3] 2019 | WWW | Knowledge Graph Convolutional Networks for Recommender Systems | H. Wang et al.
  • [4] 2018 | CIKM | RippleNet: Propagating User Preferences on the Knowledge Graph for Recommender Systems | H. Wang et al.
  • [5] 2019 | WWW | Multi-Task Feature Learning for Knowledge Graph Enhanced Recommendation | H. Wang et al.
  • [6] 2018 | WWW | DKN: Deep knowledge-aware network for news recommendation | H. Wang et al.
  • [7] 2017 | NIPS | DropoutNet: Addressing Cold Start in Recommender Systems
  • [8] 2019 | SIGIR | Warm Up Cold-start Advertisements: Improving CTR Predictions via Learning to Learn ID Embeddings
  • [9] 2021 | SIGIR | Learning to Warm Up Cold Item Embeddings for Cold-start Recommendation with Meta Scaling and Shifting Networks
  • [10] 2019 | KDD | Knowledge-aware Graph Neural Networks with Label Smoothness Regularization for Recommender Systems
  • [11] 2017 | IJCAI | Cross-Domain Recommendation: An Embedding and Mapping Approach
  • [12] 2021 | SIGIR | Transfer-Meta Framework for Cross-domain Recommendation to Cold-Start Users
  • [13] 2020 | SIGIR | Multi-behavior Recommendation with Graph Convolutional Networks
  • [14] 2021 | KDD | Modeling the Sequential Dependence among Audience Multi-step Conversions with Multi-task Learning in Targeted Display Advertising
  • [15] 2017 | NIPS | A Meta-Learning Perspective on Cold-Start Recommendations for Items
  • [16] 2019 | KDD | MeLU: Meta-Learned User Preference Estimator for Cold-Start Recommendation
  • [17] 2020 | KDD | Meta-learning on Heterogeneous Information Networks for Cold-start Recommendation
  • [18] 2010 | WWW | A Contextual-Bandit Approach to Personalized News Article Recommendation
  • [19] 2019 | WWW | Policy Gradients for Contextual Recommendations
  • [20] 2019 | KDD | Sequential Scenario-Specific Meta Learner for Online Recommendation
  • [21] 2021 | KDD | Learning to Expand Audience via Meta Hybrid Experts and Critics for Recommendation and Advertising
  • [22] 2020 | KDD | MAMO: Memory-Augmented Meta-Optimization for Cold-start Recommendation
  • [23] 2018 | KDD | Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts | Google
  • [24] 2021 | Mixture of Virtual-Kernel Experts for Multi-Objective User Profile Modeling | Tencent

posted on 2021-07-12 21:12  锋上磬音  阅读(910)  评论(0编辑  收藏  举报