DSSM

原文: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

你可能感兴趣的:(DSSM)