CTR预估模型DSSM

1. 简介

CTR预估模型主要用于搜索,推荐,计算广告等领域,传统CTR模型包括逻辑回归LR模型,因子分解机FM模型,梯度提升树GBDT模型等。
优点是可解释性强,训练和部署方便,便于在线学习。

搜索广告的场景中,query 和document使用不同的单词,同一个单词不同形态来表达同一个概念,需要通过文本的单词匹配来计算query和document的相似性。

2. DSSM 模型

思想:
将query 和document降维到公共的低维空间, 在低维空间,query 和document的相似性通过两者的距离来衡量。
和 LSA(latent semantic model)的区别:
(1)LSA的低维空间通过无监督学习,利用单词的共现规律来训练;
(2)DSSM的低维空间通过有监督学习,利用(query,document)pair对的点击规律来训练。

CTR预估模型DSSM

模型训练阶段
(1)计算给定query下每个document的后验概率。
前向传播:
CTR预估模型DSSM

CTR预估模型DSSM
γ\gamma是平滑因子。
最小化损失函数:
CTR预估模型DSSM

模型预测阶段:
DSSM模型将原始的文本特征映射到低维的语义空间。
(1)将query 和document表示为词频向量,向量由每个单词出现的词频组成。
CTR预估模型DSSM
将 q 和 d 映射到降维语义空间,得到 query的语义向量 yqy_q 和document的语义向量 ydy_d.

(2)计算 yqy_qydy_d 的相似度:

R(q,d)=cos(yd,yq)=yqyqyqyd R(q,d) = cos(y_d, y_q) = \frac{y_q \cdot y_q}{|| y_q || \cdot || y_d ||}

(3)对于给定的query, 计算所有的document 和他的相似度, 并截取 top K 个document即可得到排序结果:
CTR预估模型DSSM

3. 模型实现细节

word hashing:
目的:减少 bag-of-words的维度。比如,词库有50万,用one-hot的方式来表示单词的话,每个单词的向量维度就是50万,会导致输入的参数很多。
方法: word hash。
给定单词,如 word, 增加开始和结束的mask,比如#word#. 然后,把单词用n-grams来表示, 比如 3-grams: #wo, wor, ord. 最后 char-level n-grams单词的向量来表示。

但目前存在一个问题:冲突。不同的单词可以有相同的 n-grams 向量表示,以下统计了冲突的比例:
CTR预估模型DSSM
可以看到 letter-trigram的冲突比例是可以接受的。

优点:缓解 out-of-vacabulary.

实验设置
模型结构: 四层
第一层 word hash: word映射到char-level 3-gram, 映射规则固定。
第二层,第三层输出为300 维;
最后一层为输出层, 输出128维向量。

权重初始化:
CTR预估模型DSSM
fanin, fanout 是输入单元数量,输出单元数量。

假如模型原始词汇表是50万, word hash后只有3万。

实验效果
CTR预估模型DSSM


参考:

  1. Learning Deep Structured Semantic Models for Web Search using Clickthrough Data;
  2. CTR 预估模型:神经网络模型