DSSM
2019-10-18 本文已影响0人
xiiatuuo
原文:Learning Deep Structured Semantic Models for Web Search using Clickthrough Data
摘要
- 提出了一种新的基于dnn的隐语义模型
- 使用真实的qd点击数据来进行训练,以求得最大的条件似然
- 使用wordhash解决大规模网页检索的效率问题
- 目前取得了sota的效果
1. 介绍
- 隐语义模型能解决显性语义不match的case
- 无监督的有:LSA、LDA、DAE等,比较松耦合
- 有监督的有:BLTMs、DPMs都用来解决ranking的问题
- DSSM
-- 将query和doc进行非线性映射到同一空间
-- 通过余弦相似度来进行相似度的衡量
-- 通过点击的doc来最大化query和doc的条件似然
-- 使用wordhashing来进行大规模词表的降维
-- 最终NDCG@1取得了明显的提升
2. 相关工作
- LSA
-- 使用SVD对document-term矩阵进行分解得到query和doc的低维向量
-- 在LSA的基础上,translation模型可以引入query-doc的点击对来进行训练 - DAE
-- 使用生成模型(RBM)来将输入mapping到低维向量
-- 通过最小化重建时候的交叉熵来进行训练
-- 中间层或者bottleneck层的特征可以用来最为rangknig的feature
-- 问题1:无法引入点击对信号
-- 问题2:参数太多,只支持2000词的bag规模
3. DSSM
DSSM- 模型配置
-- word hashing
-- 多层神经网络,使用tanh作为激活函数,初始化使用特殊的uniform分布 -
word hashing
-- 字符trigrams,比如good变成go,goo,ood,od
-- 好处:词典规模缩小、相同词的不同形态转换、没见过的新词
-- 坏处:冲突率
word hashing - 学习
-- 假设query下的doc被点击就算他俩相关
-- 使用softmax来作为损失函数、最大化条件似然
-- 每组一个正样本,4个负样本(不同的负样本策略影响不大)
-- word hash规模30k,前两个隐层300维,输出层128维
-- 使用mini-batch 1024一次,SGD优化,训练20轮以内,使用tanh作为激活函数,初始化使用特殊的uniform分布
-- 每层的pre-training没啥用
4. 实验
- 评估集
-- 16150英文query,每一个query抽取了15个doc,0-4进行打分,0表示不相干,4表示很相关,使用NDCG指标来进行评价,同时用t-检验,p-value需要低于0.05
-- 文本中进行空格分割和全部小写,数字保留
-- 一半数据可以用来进行训练超参数调整,但是最终结果用整体 - 训练集和测试集
-- query-title的提取方法参考了Smoothing Clickthrough Data for Web Search Ranking
-- click field比title field更重要,但是由于长尾数据没有这方面信息,所以在这个实验中忽略了,只用title field信息
-- 这个研究的目标是在有充分点击信息的数据中,通过使用模型来提高长尾和新url的检索请看,所以只用title field来进行ranking。
-- 随机选取了点击信息充分的100M的query-doc对来进行训练,预处理的方式和评估集一样 -
结果
result