推荐系统专题 | MiNet:跨域CTR预测

简介: 推荐系统专题 | MiNet:跨域CTR预测

面记录一篇跨域CTR预测的推荐系统文章笔记,在参考资料的基础上增加了点理解:


paper:MiNet: Mixed Interest Network for Cross-Domain Click-Through Rate Prediction

image.png


与上一篇提到的跨越召回模型不同,这一篇文章是用于解决跨域ctr预测问题,也就是一个排序模型(精排模型)。用源域(新闻信息)来优化目标域(广告信息)的点击率。


1. Abstract


现有的模型中主要是解决单域的ctr预测问题,但是广告通常以自然内容显示,这为跨域CTR预测提供了机会。所以,作者提出了混合兴趣网络( Mixed Interest Network)来处理跨域问题,其中源域是新闻信息,目标域是广告。

image.png


MiNet联合三种用户兴趣包含两种级别的注意力机制来有效的解决这个跨域问题。


2. Introduction


预测的点击率会影响广告排名策略和广告收费模型。因此,为了保持理想的用户体验和最大化收入,准确估计广告的点击率至关重要。但是现有主要针对单域CTR预测,主要对特征交互,用户历史行为和上下文信息等方面建模,直接使用广告数据进行CTR预测。


MiNet利用跨越的新闻数据来优化CTR预测问题。跨域CTR预测的一个主要优点是,通过跨域丰富数据,可以缓解目标域中的数据稀疏性和冷启动问题,从而提高预测性能。为了有效的利用跨域数据,这里作者考虑了三种类型的用户兴趣:


  1. 跨域的长期兴趣(Long-term interest across domains):每个用户都有自己的user ID, age group, gender and city 特征,这些特征反应了用户的长期内在兴趣。
  2. 源域的短期兴趣(Short-term interest from the source domain):对于要预测其CTR的每个目标广告,在源域中存在相应的短期用户行为(例如,用户刚刚观看的新闻)。虽然一条新闻的内容可能与目标广告的内容完全不同,但它们之间可能存在一定的相关性。例如,一个用户在观看了一些娱乐星闻之后有很大的概率点击一个游戏广告,基于这样的关系,我们就可以从源域中的有用的信息迁移到目标域中。
  3. 目标域的短期兴趣(Short-term interest in the target domain):对于每个目标广告,目标域中也有相应的短期用户行为。用户最近点击的广告可能会对用户在短期内点击的广告产生强烈影响。


尽管如此,其仍面临了五大挑战:

  1. 并非所有点击的新闻都表示目标广告的点击率
  2. 同样,并非所有点击的广告都能提供目标广告的点击率信息
  3. 模型必须能够将知识从新闻转移到广告(也就是需要将源域的知识迁移到目标域)
  4. 三种用户兴趣的相对重要性可能因不同的目标广告而异。例如,如果目标广告类似于最近点击的广告,那么目标领域中的短期兴趣应该更重要;如果目标广告与最近点击的新闻和广告都无关,那么长期利益应该更重要
  5. 由于特征数量不同,目标广告和三种用户兴趣类型的广告表现可能具有不同的Embedding维度,维度差异可能会自然而然地增强或减弱某些表示法的影响


为了应对这些挑战,作者提出了混合兴趣网络(MiNet),其结构如下所示(注意这幅图的全部符号标识,这及其重要):

image.png

image.png

MiNet提出了两种不同的attention机制:item-level 和 interest-level:

  • item-level 的attention应用于源域和目标域,可以自适应地从最近点击的新闻/广告中提取有用信息(以应对挑战1和2)
  • 引入 transfer matrix 将知识从新闻转移到广告(以应对挑战3)。这里提个醒,item-level attention 作用于源域,提取源域的信息时需要迁移矩阵,但是作用于目标域的时候不需要迁移矩阵,因为点击广告 click ad 和目标广告 target ad 是同一个域,无需迁移矩阵(具体细节见后续的数学公式)
  • 长期的用户兴趣 P u   是基于cross-domain 的数据学习的,也可以进行知识迁移(以应对挑战3)
  • 引入 interest-level 的attention动态调整三类用户兴趣的重要性(以应对挑战4)
  • 具有适当激活功能的 interest-level attention 也可以处理维度差异问题(以应对挑战5)


3. Model Design


在线广告点击率预测的任务是建立一个预测模型来估计用户点击特定广告的概率,定义 cross-domain CTR 预测任务为从源域中利用数据来提升目标域的CTR预估。在这篇文章中,源域是自然新闻提要,目标域是广告。在这个场景中,源域和目标域共享同一组用户,但是没有重复的特征(share the same set of users, but there are no overlapped items)


以下内容就是MiNet模型的细节(这里的分类标题与原paper不相同):


3.1 Feature Embedding

这个部分,按我的理解其实是和单域模型的特征处理方法类似的。对于每个稀疏特征,将其进行One-hot编码,再分别建立一个查找表进行Embedding成一个低维的 dense feature。在工程实现上,可以直接使用 label encoder 直接进行编码,再进行embedding,这两种方式本质上是一样的。因为,本质上都是为embedding建立一个索引,去获取查找表中对应位置的embedding信息而已。


在这之后的所有信息,都是基于低维的embedding来进行操作的。比如对于每个广告实例,将特征划分为用户特征 user features 与广告特征 ad features ,其中取出所有的广告特征 ad features 相关的embedding构成广告的特征表示 r t  。类似的,同样基于取出源域与新闻特征的embedding构成新闻的特征表示 r s 这里需要特别注意,注意看模型的结构图,由于相关的特征描述在文章是中没有清晰的描述的。而在这里,我认为文章目标域的 Target ad 与 Clicked ads 的特征的相同的,Clicked ads 是由许多广告所构建成的一个广告集,但是这些广告共享一样的特征名称。同样的,我也认为文章的源域的 News 与 Clicked news 同样共享一样的特征名。也就是说,历史点击的广告与目标的广告用了一套相同的特征来表示,而历史的新闻数据与点击的新闻数据也同样使用了另外一套相同的特征来表示。


基于这个猜想,之后的所有Embedding编码表示,各类拼接组合其实就比较简单的理解了。后面的内容也就不需要特别详细的说明了,配合公式与模型结构图就够了。


3.2 Item-Level Attention

跨域的长期兴趣

image.png

源域的短期兴趣

新闻的内容可能与目标广告的内容完全不同,但它们之间可能存在一定的相关性。例如,用户在观看一些娱乐新闻后很有可能点击游戏广告。基于这些关系,我们可以将有用的知识从源领域转移到目标领域。


问题:如何了解在历史的点击新闻内容中,哪一条新闻是比较相关的呢?

image.png

通过这种方法,计算得到的 α i 不仅仅是点击新闻的函数, 同时考虑了目标广告和目标用户,也考虑了点击新闻和跨域的目标广告的关系。之后进行一个 softmax 操作,就可以转为为权重,分配给点击新闻集中的每一条新闻。


目标域的短期兴趣

给定一个用户,对于每个要预测其CTR的目标广告,该用户在目标域中也有最近的行为。用户最近点击的广告可能对用户在短期内点击的广告有很大的影响。对于源域的短期兴趣,最后聚合的向量表示为 a t


数学表示为:

image.png

通过这样的操作( softmax 之后),同样可以为历史的点击广告赋予一个自适应的权重 β j ,分配给点击广告集中的每一条广告。其考虑了目标广告和目标用户的多重信息。


3.3 Interest-Level Attention

image.png


3.4 Model Training

通过 Interest-Level Attention 处理后的embedding表示结合的多种信息,最后就可以丢给一个DNN来进行预测,同时用户与新闻也存在点击与否的关系,同样可以丢给另外一个DNN来进行训练,所以这里的用户长期兴趣 p u 是联合训练的。


在实验中,作者分别构建了两个两层的神经网络来进行训练,具体的数学公式就不写出来了。预测点击率其实可以看出是一个二分类问题,只不过是再进行一个逻辑回归,其损失函数可以写为:

image.png

4. Experiment


1. Train Detail

在训练上,作者在验证集上找到最优超参数后,将初始训练集和验证集合并为最终训练集(使用找到的最优超参数进行训练)。


同时设置查找表embedding的维度 D = 10 D = 10D=10,神经网络的层数设置为2,其中的全连接宽度设置为 [512, 256] 或者是 [256,128] 。


  • 与其他模型的对比

image.png

4.2 Ablation Study

  • Ablation Study: Level of Attention

image.png


无论是 item-level attention 还是 interest-level attention 都能提高AUC,两种注意水平的使用都能提高AUC。此外,interest-level attention(sigmoid) 的表现比 interest-level attention(exp) 差得多。这是因为不恰当的激活函数不能有效地解决维度偏差问题。这些结果证明了所提出的层次注意机制的有效性。


  • Ablation Study: Attention Weights

image.png


可以发现,模型可以学习点击新闻与目标广告之间的某种相关性。指示概率较高的新闻通常会获得较高的注意力权重。


  • Ablation Study: Effect of Modeling Different Types of User Interest

image.png


当在MiNet中综合考虑所有这些因素时,我们得到了最高的AUC,表明不同类型的兴趣可以互补,联合建模可以得到最佳和更健壮的性能。


5. Conclusion


本文研究了在线广告的跨域CTR预测问题,提出了一种新的方法,称为混合兴趣网络(MiNet),它模拟了三种类型的用户兴趣:


1)跨域的长期兴趣;2)源域的短期兴趣;3)目标域的短期兴趣。


MiNet包含两个level的注意,其中 item-level attention 可以动态地从最近点击的新闻/广告中提取有用信息,interest-level attention 可以自适应地调整不同用户兴趣信号的重要性。离线实验验证了三种用户兴趣模型的有效性和分层注意的使用。在线A/B测试结果也验证了该模型在实际网络广告CTR预测任务中的有效性。


参考资料:


1. 推荐搜索炼丹笔记:MiNet阿里跨域点击率CTR预估


2. MiNet: Mixed Interest Network for Cross-Domain Click-Through Rate Prediction


目录
相关文章
|
机器学习/深度学习 分布式计算 搜索推荐
【推荐系统】推荐系统数据流的经典技术架构+微软、阿里、微软等10大深度学习CTR模型最全演化图谱
【推荐系统】推荐系统数据流的经典技术架构+微软、阿里、微软等10大深度学习CTR模型最全演化图谱
460 0
【推荐系统】推荐系统数据流的经典技术架构+微软、阿里、微软等10大深度学习CTR模型最全演化图谱
|
机器学习/深度学习 搜索推荐 算法
推荐系统专题 | CTR预测跨域处理的解决方案
推荐系统专题 | CTR预测跨域处理的解决方案
260 0
推荐系统专题 | CTR预测跨域处理的解决方案
|
机器学习/深度学习 Web App开发 人工智能
推荐系统专题 | 推荐系统架构与单域跨域召回模型
推荐系统专题 | 推荐系统架构与单域跨域召回模型
751 0
推荐系统专题 | 推荐系统架构与单域跨域召回模型
|
搜索推荐 存储 算法
当个不“佛系”的推荐系统,CTR 预估要做哪些工作?
本篇论文已被 KDD 2019 收录,建议大家收藏阅读。
3344 0
|
3月前
|
搜索推荐 前端开发 数据可视化
【优秀python web毕设案例】基于协同过滤算法的酒店推荐系统,django框架+bootstrap前端+echarts可视化,有后台有爬虫
本文介绍了一个基于Django框架、协同过滤算法、ECharts数据可视化以及Bootstrap前端技术的酒店推荐系统,该系统通过用户行为分析和推荐算法优化,提供个性化的酒店推荐和直观的数据展示,以提升用户体验。
155 1
|
5月前
|
搜索推荐 算法 小程序
基于Java协同过滤算法的电影推荐系统设计和实现(源码+LW+调试文档+讲解等)
基于Java协同过滤算法的电影推荐系统设计和实现(源码+LW+调试文档+讲解等)
|
5月前
|
搜索推荐 算法 小程序
基于Java协同过滤算法的图书推荐系统设计和实现(源码+LW+调试文档+讲解等)
基于Java协同过滤算法的图书推荐系统设计和实现(源码+LW+调试文档+讲解等)
|
3月前
|
搜索推荐 前端开发 数据可视化
基于Python协同过滤的旅游景点推荐系统,采用Django框架,MySQL数据存储,Bootstrap前端,echarts可视化实现
本文介绍了一个基于Python协同过滤算法的旅游景点推荐系统,该系统采用Django框架、MySQL数据库、Bootstrap前端和echarts数据可视化技术,旨在为用户提供个性化的旅游推荐服务,提升用户体验和旅游市场增长。
284 9
基于Python协同过滤的旅游景点推荐系统,采用Django框架,MySQL数据存储,Bootstrap前端,echarts可视化实现
|
3月前
|
搜索推荐 前端开发 算法
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
本文介绍了一个基于用户画像和协同过滤算法的音乐推荐系统,使用Django框架、Bootstrap前端和MySQL数据库构建,旨在为用户提供个性化的音乐推荐服务,提高推荐准确性和用户满意度。
259 7
基于用户画像及协同过滤算法的音乐推荐系统,采用Django框架、bootstrap前端,MySQL数据库
|
6月前
|
搜索推荐 算法 前端开发
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】
196 4
美食物管理与推荐系统Python+Django网站开发+协同过滤推荐算法应用【计算机课设项目推荐】