从DSSM到双塔模型

DSSM

文献链接DSSM

背景

将自然语言转化为向量,计算向量的相似度作为两句(query&doc)的相似度
历史方法:

  • 单词向量空间模型:向量维度是词表,值是词频。计算简单,但是无法解决一词多义(polysemy)和多词一义(synonymy)
  • 话题向量空间模型(潜语义分析,LSA) : X = TY,X是单词向量空间,T是话题空间,Y是文本在话题空间的表示。将文本在单词向量空间表示转化为话题空间上表示。(X -> Y)
  • LSA,PLSA和LDA都是无监督学习,效果不及预期
  • clickthrough data,包含一系列query和clicked document,可以用于文本相似性建模(可以类似监督学习),如BTMs和DPMs,效果好于无监督学习,但是时间复杂度过高(巨大稀疏矩阵运算)
  • 深度自编码(deep auto-encoders),采用无监督方法(重建文档),效果比不上关键词匹配。同样存在因为巨大稀疏矩阵运算带来的时间复杂度过高
  • 关键:如何学习大语料下的语义模型,是提升效果的关键

结构

在这里插入图片描述

  1. 两个文本词汇输入通过word hashing进入一个低维度
  2. 通过DNN生成进一步的低维度向量
  3. 计算两个向量的余弦相似度计算softmax
  4. 利用clickthrough data来训练参数

Word Hashing

因为输入的Term Vector维度和词表长度一样,如果没有word hashing, 那么DNN输入层参数过多( O ( ∣ V ∣ ∗ n 0 ) O(|V|*n_0) O(Vn0))
输入的处理:letter n-grams(词中的字符粒度n-grams,fasttext里用到了相同的技术)

  1. 前后添加##: #good#
  2. 根据n-grams连续切分: #go, goo, ood, od#
  3. 作为输入进入word hashing

letter n-grams实际上可以理解初步学习词根,词尾等信息,学习了语义,降低了维度。部分解决OOV问题

哈希冲突:50W词,降维到30621,冲突比例为0.0044%

negative sampling

在这里插入图片描述
理论上这里分母需要选择所有文档,但是这里负样本(正样本就是clicked)只随机选了四个。经过测试,不同负样本抽样策略不影响结果。

拓展

  1. LSTM-DSSM
  2. CNN-DSSM
  3. MV-DSSM:

Google Two Tower Model

论文还没下到,下到再说。

参考资料:论文|从DSSM语义匹配到Google的双塔深度模型召回和广告场景中的双塔模型思考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值