DSSM模型是在2013年10月发表的。原论文见:Learning Deep Structured Semantic Models for Web Search using Clickthrough Data
一、现有的语义模型弊端
潜在的语义模型(如LSA),是想要把一个查询映射到基于关键词的语义级别的相关的文档中,这样的匹配往往不如人意。
在实际生活中,人们往往会使用不同的词汇来表示相同或相似的含义。
二、提出的新观点
作者提出开发一系列新的具有深层次结构的潜在语义模型,将查询和文档映射一个共同的低维空间中,通过计算查询和文档之间的距离来获得他们之间的相关性。通过Clickthrough Data(点击数据)最大化给定查询的被点击文档的条件可能性,对提出的深度结构化语义模型进行区分性训练。为了能够让模型应用到大规模的网络搜索应用中,使用了Word Hashing技术,用来表示大型词汇表。
三、DSSM模型
DSSM模型结构见图1所示。
是比较典型的输入层、隐层、输出层深度模型结构,再计算查询与文档之间的相似度,输出概率。
1.用DNN来计算语义特征
Figure 1: Illustration of the DSSM. It uses a DNN to map high-dimensional sparse text features into low-dimensional dense features in a semantic space. The first hidden layer, with 30k units, accomplishes word hashing. The word-hashed features are then projected through multiple layers of non-linear projections. The final layer’s neural activities in this DNN form the feature in the semantic space.
- 输入层
将查询内容和文档通过bag-of-words(词袋)模型,将500k转化为30k的稀疏向量。
bag-of-words模型可以通过示例了解下。
文档 1:“我喜欢跳舞,小明也喜欢。”
文档 2:“我也喜欢唱歌。”
基于以上这两个文档,便可以构造一个由文档中的关键词组成的词典:
词典={1:“我”,2:“喜欢”,3:“跳舞”,4:“小明”,5:“也”,6:“唱歌”}
这个词典一共包含6个不同的词语,利用词典的索引号,上面两个文档每一个都可以用一个6维向量表示(用整数数字0~n(n为正整数)表示某个单词在文档中出现的次数。这样,根据各个文档中关键词出现的次数,便可以将上述两个文档分别表示成向量的形式:
文档 1:[1, 2, 1, 1, 1, 0]
文档 2:[1, 1, 0, 0, 1, 1]
-
隐层
隐层内采用的是DNN结构。
l i = f ( W i l i − 1 + b i ) , i = 2 , . . . , N − 1 l_i = f(W_{i}l_{i-1}+b_{i}),i=2,...,N-1 li=f(Wili−1+bi),i=2,...,N−1 -
输出层
全连接输出。
y = f ( W N l N − 1 + b N ) y = f(W_{N}l_{N-1}+b_{N}) y=f(WNlN−1+bN)
f ( x ) = 1 − e − 2 x 1 + e − 2 x f(x) = \frac{1-e^{-2x}}{1+e^{-2x}} f(x)=1+e−2x1−e−2x
在输出层激活函数使用tanh。
4.计算相似度
R
(
Q
,
D
)
=
c
o
n
s
i
n
e
(
y
Q
,
y
D
)
=
y
Q
T
y
D
∥
y
Q
∥
∥
y
D
∥
R(Q,D) = consine(y_{Q}, y_{D}) = \frac{{y_{Q}}^{T}y_{D}}{\|y_{Q}\| \|y_{D}\|}
R(Q,D)=consine(yQ,yD)=∥yQ∥∥yD∥yQTyD
y
Q
y_{Q}
yQ是查询向量,
y
D
y_{D}
yD是文档向量
给定查询,将根据文档的语义相关度评分对其进行排序。
通过softmax将Query和document的语义相似性转化为一个后验概率。
p
(
D
∣
Q
)
=
e
x
p
(
γ
R
(
Q
,
D
)
)
e
x
p
(
Σ
(
D
′
∈
D
γ
R
(
Q
,
D
′
)
)
p(D|Q) = \frac{exp(\gamma R(Q,D))}{exp(\Sigma_{(D'\in D }\gamma R(Q,D'))}
p(D∣Q)=exp(Σ(D′∈DγR(Q,D′))exp(γR(Q,D))
其中:
γ
\gamma
γ是一个平滑因子
参考资料:
1.Bag-of-words模型原理