传统的CVR模型(也就是直接对conversion rate建模的模型)在实际应用中面临两个问题(样本选择偏差与数据稀疏性问题)。为了解决这两个问题,本文提出ESMM模型。该模型巧妙地利用用户行为序列去建模这个问题,从而证明(在淘宝的业务场景下)对Post-click conversion Rate 非常有帮助。其实,其实的真实思想就是基于贝叶斯公式去预估CVR。
1. 摘要
1.1. 问题
-
选择偏差问题(sample selection bias):之前的cvr模型在训练的时候是在有点的数据集上训练,但是推理(真实场景应用的时候)是在整个空间(不知道这个广告会不会被点,也不知道这个商品会不会被点击)这个问题很常见
-
数据稀疏性(data sparsity)问题:让模型难以训练。
- 与CTR相比,CVR的数据要少的多,所以训练CVR的模型相比有些困难。
- CVR的数据量要比CTR的数据少1~3个数据级;
- CVR的训练数据量大概只有CTR的4%。
- 哪里的数据稀疏?为什么稀疏?
- 与CTR相比,CVR的数据要少的多,所以训练CVR的模型相比有些困难。
-
delayed feedback 问题
这个问题也是CVR这个模型面临的问题,但是本文不再关注。
1.2. 解决方法
提出使用一种新的建模方法对CVR进行建模。这种建模方法模拟了用户的行为顺序模式,也就是:impression →click →conversion
(展现、点击、转化),这里的转化指的就是购买、付费等行为。方法具体包括:
- (1)在整个样本空间建模
- (2)采用特征迁移策略(employing a feature representation transfer learning strategy)
2. Introduction
Introduction就是字数扩大版的摘要。
2.1. 介绍CVR这个任务
文章第一段、第二段在介绍CVR这个任务
CVR预估是排序系统中一个非常基础的工作,在在线广告、推荐系统中都非常重要。
CVR 建模指的就是:pCVR = p(conversion|click,impression)
2.2. 现存的问题
- SSB问题
- DS问题
2.3. 尝试的解法
这里不再啰嗦。
2.4. 提出的模型
提出ESMM
模型,这个模型包括:
- 两个辅助任务:
post-view click-through rate(CTR) + post-view click-through&conversion rate(CTCVR)
pCTCVR = pCTR * pCVR
。pCTCVR
和pCTR
都是在整个样本空间下进行估计。所以就缓解了SSB问题。- CVR网络的特征表示和CTR网络是共享,而CTR网络是在整个样本空间下训练的,所以就缓解了DS问题。
3. Method
pCVR 这个任务其实就是计算 p(z = 1|y=1, x)
,其中x是展现物品的特征向量表示,y=1表示有点击,z=1表示有转化(如购买、付费)
。
二者的递推关系式子:
3.1. 模型结构
模型结构,如下图所示:
- 模型输入:~
- 模型输出:在给出一个展现的前提下,输出pCTR, pCVR, pCTCVR。
3.2. 损失函数
只使用CTR and CTCVR 任务计算损失,在整个展现样本的空间下计算,没有使用CVR这个任务的损失。
使用的是交叉熵损失函数。
4. 数据实验
4.1. 数据集分布统计
4.2. 实验效果
- 使用AUC指标,理解一下AUC指标是什么含义。
5. 问题
5.1. pCVR
中的p
是什么意思?
一定要意识到这个p代表的是post-click
,否则直接说是CVR 不就得了?
5.2 模型的输入是什么?
Q:模型具体的输入是什么?也就是对应图中的user filed
和 item filed
分别可以是什么样的数据呢?能举个例子吗?
A:【TODO】可以从下面这个链接中访问作者给出的公开数据集:https://tianchi.aliyun.com/datalab/dataSet.html?dataId=408
5.3 跑一下模型【TODO】
5.4 SSB 问题的理解
6. 英语借鉴
- borrowing the idea from multi-task learning... 从多任务学习借鉴方法