推荐系统与深度学习(2):[阿里][CIKM 2020] MiN
以下为个人对文章的理解记录,如有错误,欢迎指正~~
如果觉得有帮助或者写的还行,点个赞呗~~~

引用: Ouyang W, Zhang X, Zhao L, et al. MiNet: Mixed Interest Network for Cross-Domain Click-Through Rate Prediction[J]. arXiv preprint arXiv:2008.02974, 2020.
论文地址: https://arxiv.org/pdf/2008.02974.pdf
Github源码地址: https://github.com/oywtece/minet
一、背景介绍
目前的点击率预测模型(CTR prediction)通常解决单域问题,同时主要是对特征交互(FM、NFM、AFM等)、用户的历史行为和上下文信息(DIN、DIEN、DSTN等)进行建模。然而,在跟多的情况下,广告通常是和一些自然结果(source domain)一起出现,尽管广告的内容和自然结果的内容相差较大,但用户在自然结果上的浏览行为也可能会对广告点击率预估提供有用的信息,因此,在广告点击率预估中,引入用户在自然结果上的浏览数据作为辅助信息可以提升CTR预估的效果。同时,跨域预估对于解决数据稀疏问题和冷启动问题有很大的优势。
本文主要介绍在UC头条上(如下图所示),如何使用用户在自然结果(source domain)上的浏览行为,来提升在广告(target domain)上的点击率预估效果。

本文的主要贡献:
1)考虑三种类型的用户兴趣用于跨域CTR预估任务。
2)提出了MiNet模型来实现这个目标。
3)在离线数据集上和SOTAs模型进行对比,结果显著提升。
4)将MiNet模型进行应用在UC头条上,通过A/B测试,提高了在线用户点击率。
二、MiNet模型
2.1 整体MiNet模型介绍
MiNet模型整体结构如下。

模型主要建模用户以下三个方面兴趣:
1)跨域长期兴趣(Long-term interest across domains): 用户的年龄、性别、城市等信息反映了用户长期的内在兴趣。通过跨域信息,可以使学到的用户embedding信息更加丰富和稳定。
2)源域短期兴趣(Short-term interest from the source domain):对于需要预测的目标广告(target ad),在自然域(source domain)中可能存在相对应的短期兴趣。例如用户在看完娱乐消息之后,想点击游戏广告。这一部分主要是对用户在自然域上的短期行为进行建模。
3)目标域短期兴趣(Short-term interest in the target domain):相对应的,这一部分是对用户在目标域上的短期浏览行为进行建模。用户前一刻点击的广告可能对用户下一刻将要点击的广告有很强的暗示。
同时包含两个级别的Attention :
1)item-level attention 从用户最近点击的news/ads中提取有用的信息;
2)interest-level attention 能够自适应地调整三种类型用户兴趣的比重(signals)。
3.2 特征Embedding
这一部分没有特别的处理,输入和一般的CTR任务一样,各种类别特征:对于用户,用户ID、年龄、城市等;对于广告,广告ID、广告类别等;对于新闻,新闻ID、新闻类别等;还有用户的历史行为数据类别等。先用ont-hot表示,然后转化为embedding特征。
3.3 跨域长期兴趣建模(Long-term interest across domains)
用用户的基本属性信息来表示用的长期兴趣。例如,一个用户有以下特征:用户id、城市、性别、手机型号等。将他们的embedding信息拼接,来表示用户的长期信息。
3.4 源域短期兴趣建模(Short-term interest from the source domain)
主要是对用户浏览过的自然结果进行建模,抽取用户在source domain中的兴趣。用户近期点击过的每一个自然结果对应的向量用表示。主要的做法是对这些向量进行加权求和,得到输出
:

这里就用到了作者提到的item-level attention机制。attention的一个问题在于如何计算权重

3)Item-level attention。即文中采用的方式。


注意公式中的

3.6 兴趣级别的Attention(Interest-level attention)
通过上述步骤,获得了用户长期兴趣,源域短期兴趣
,目标域短期兴趣
,以及目标广告向量
。因为他们的维度不同,不能直接相加,所以作者通过拼接的方式。

然而,直接拼接的方式不能显示出不同类型兴趣对于目标target ad的影响比重,因此这里提出了Interest-level attention的机制。

权重的计算方式如下:

选择 exp的原因,作者提到

模型的主任务和辅助任务,都使用交叉熵损失函数。最终的损失函数由两者加权获得。


三、实验结果分析
3.1 整体模型的有效性
本文对比了MiNet和部分单域模型和跨域模型的实验结果。从结果可以看出:单域模型中DSTN取得了最好的效果,而且在Company数据集上只输给MiNet模型。(其实DSTN和MiNet是统一作者,能打败我的只有我自己??哈哈)。毫不意外,MiNet取得了最好的结果。
3.2 消融分析: 不同级别attention影响。
结果很直观,说明了(1)模型中使用的分级attention机制对模型影响;(2)使用sigmoid比使用exp 激活函数的效果差说明了激活函数的影响。
3.3 消融分析:Attention权重
这部分给出了两个实例。对于一个活跃的用户,在Clicked ads和Clicked news 都相同的情况下,展示不同广告时item-level attention的权重分布情况。
3.4 消融分析:对不同类型用户兴趣建模影响
在Company数据集上,对短期用户兴趣(short-term interest)的建模带来的效果比对长期用户兴趣建模更加显著,体现在更高的AUC上; 与之相反的是,在Amazon数据集上,对长期用户兴趣的建模带来的效果更好。
3.5 在线部署
结果好就完了。不得不说,大厂的厉害之处。一般的文章到上一步就结束了,酸了酸了。
在模型的分析上,对其中的各个模块的分析都没有拉下。自说自话很重要,自圆其说更加重要。完整的文章结构,清晰的表达思路,加上出众的实验结果,这种文章一看就是要过的,提不出任何问题。
四、总结
在本文中,提出了Mixed Interest Network (MiNet)模型来解决跨域点击率预估问题,并且取得了不错的效果。文中,主要三个方面的用户兴趣进行建模:
1)跨域长期兴趣(Long-term interest across domains);
2)源域短期兴趣(Short-term interest from the source domain);
3)目标域短期兴趣(Short-term interest in the target domain)。
同时通过两个级别的Attention :item-level attention从用户最近点击的news/ads中提取有用的信息;interest-level attention 能够自适应地调整三种类型用户兴趣的比重(signals)。而且需要注意的是,跨域预估对于解决数据稀疏问题和冷启动问题有很大的优势。
道阻且长,好好学习。😁😁