【经典论文阅读9】DSSM模型——开搜推算法先河:用点击数据训练深层模型

本文回顾了一篇2013年的CIKM文章,介绍了使用clickthrough数据训练深度结构化语义模型(DSSM)的方法,通过wordhashing技术处理大词汇表,以改善模型的性能和可扩展性。作者强调了监督学习在模型训练中的优势,以及与传统LSA模型的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 全文由『说文科技』原创出品,文章同步更新于同名公众号。版权所有,翻版必究

这篇发表于2013年CIKM上的搜索领域文章。核心思想就是两点:提出使用 clickthrough data 来训练deep structured semantic 模型。反复读后再回顾这篇文章,惊叹作者写作真好!结构相当清晰,逻辑非常流畅。标题里面的『 Deep Structure』对应在Introduction中的Hinton的研究路子;『using Clickthrough Data』则对应LSA模型的另外一条路子。现在来看这些思想已成规矩,在当年却是开创先河的存在!

在这里插入图片描述

1. 摘要

摘要里面首先就提到了作者的思想:
在这里插入图片描述

简言之:使用一个具有deep structure的语义模型将query 和 document都映射到一个低维空间中,并计算两者向量空间上的距离来度量相关性。通过使用点击数据最大化在给定查询下点击文档的条件概率,对所提出的深度结构化语义模型进行有区别的训练。同时作者提出了一个叫做word hashing的技术,该技术能有效提升语义模型处理大词汇表上的能力,从而使得DSSM模型可以应用在具有大词表的问题上。

2. 现存工作

  • matching keywords的方式:不精确,原因是同一个概念经常受库中文档和query的不同词汇、语言风格影响。
    这里的关键词匹配其实就是通常所说的倒排。

  • 当前的lsa模型处理语义差异问题的方法是:将出现在的相似context的的不同term 聚合成同一个语义簇,这么做也能达到使用语义向量进行检索的目的。

    • 从LSA 扩展到PLSA(probabilistic LSA)以及 LDA 同样被提出用于语义检索。
    • 使用无监督数据训练,效果较差。

关于LSA模型的研究线条有二:
第一、使用Clickthrough data学习模型。这类工作很多,不再列举。
第二、Hinton等人提出 Semantic hashing。然而这些方法依然存在问题:

  • 使用无监督的数据训练模型
    在这里插入图片描述

  • 存在scalability challenge
    在这里插入图片描述

再度重复叙述一下本文的核心思想:
在这里插入图片描述

与之前方法的显著不同点:

  • 之前的方法使用无监督训练,本文提出的 DSSM 使用的是 监督学习的方式。数据来源于Web document ranking
  • 针对large vocabularies 这个问题,提出 word hashing 这个方法。这个方法的具体做法是:
    在这里插入图片描述

本质上,DSSM这个工作就是在这两方面的工作上进行了一个提升:
在这里插入图片描述

3. 模型相关

3.1. 模型架构

将纯文本信息映射成语义空间的一个向量(DNN for computing Semantic Features),使用的结构如下图所示:
在这里插入图片描述

  • 模型的输入:a high-dimensional term vector, e.g. raw counts of terms in a query or a document without normalization.
  • 模型的输出:concept vector in a low-dimensional semantic feature space.

3.2. 训练细节

  • 训练数据:使用点击数据

  • 训练目标:最大化『被点击的document的条件概率』 (这很符合常理,就是要让训练的过程符合后验过程)
    使用softmax 公式计算每篇文档被召回的概率:
    在这里插入图片描述

    • 其中γ\gammaγ是softmax 函数中的平滑因子,这个是一个经验值。
    • D 表示待被排序的候选文档,理想情况下,D应该包含所有的可能的文档。现实情况肯定是无法全部罗列所有的文档到D中,所以作者只包含了点击的document,和4个未点击的document。

有了正负样本后,训练目标就很简单了 => 最大化正样本召回的概率
在这里插入图片描述

  • 激活函数
    使用 tanh 作为激活函数:
    在这里插入图片描述

  • 为了避免过拟合

    • 将点击数据分割成两部分:训练集和验证集。在训练集上训练,然后取验证集上效果最好时的参数。
  • 模型有3个隐藏层
    在这里插入图片描述

也就是下面这三层:
在这里插入图片描述

3.3. word hashing技术

目的:用于减少 bag-of-words term vector 的维度。(如果是词表大小的one-hot向量,那么得几万维;如果拆分后,可能one-hot的向量纬度就只有几千。)其实这种方法和后面的分词方法本质上是一样的。
在这里插入图片描述

其实 word-hashing 技术就是 n-gram 思想。下面以单词 good 为例,介绍如何做一个 hashing
step1. 在单词前后拼接#符号,得到 #good#
step2. 将得到的字符串按照 n-grams 拆分,取n=3,那么得到 #go, goo, ood, od#
step3. 那么最后可以用letter n-grams的向量表示这个单词。(我理解就是one-hot 的方法表示这个bag-of-words)

哈希技术可能存在的问题就是冲突,因为可能有两个单词通过 word-harshing 技术得到的 vector 可能是一样的(因为 bag of words 是一样的),作者根据两个词表给出了一个统计:
在这里插入图片描述

通过上表可以看到:

  • 当词表大小是:40k,按照上述的word hashing技术(letter-trigram),得到的token数不过是10306个。
  • 40k 的词表中按照hash技术处理后,只有2个冲突,这个冲突概率非常小,可以忽略不计。
  • 即使词表大小达到了500k,使用Trigram的方式也就只有22个冲突而已,冲突的概率是0.0044%。

4. 疑问

  • large vocabularies是啥意思?
    就是直接理解,大量词汇。

  • input 中的 term vector 是啥?

  • size 如何:可以视作是 IR 中原始的 bag-of-words 特征。也就是被用于检索Web document词汇

  • layer-wise pre-training 是啥意思?

  • DSSM 指的是 Deep Structured Semantic Model,读完整篇文章后,再回复三个问题:有多Deep ?什么样的structure?什么样的semantic?

    • 有多Deep?
      提出了一个三层隐藏层的模型。
    • 什么样的structure?
    • 什么样的semantic?

5. 好句分享

These models are trained on clickthrough data using objectives that tailor to the document ranking task.
tailor to 迎合,使…适用于

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

说文科技

看书人不妨赏个酒钱?

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值