论文地址:Learning deep structured semantic models for web search using clickthrough data
深度语义模型(Deep Structured Sematic models, DSSM)是在2013年由微软的研究人员提出,主要解决的是在搜索的过程中,对于传统的依靠关键词匹配的方法的弊端(语义上的相似)提出的潜在语义模型。
首先将query和documents分别表示成向量 x Q x_Q xQ和 x D x_D xD,通过深度网络将其表示为同一个空间中的向量 y Q y_Q yQ和 y D y_D yD。计算query和documents之间的相似性:
R ( Q , D ) = c o s i n e ( y Q , y D ) = y Q T y D ∥ y Q ∥ ∥ y D ∥ R\left ( Q,D \right )=cosine\left ( y_Q,y_D \right )=\frac{y_Q^Ty_D}{\left \| y_Q \right \|\left \| y_D \right \|} R(Q,D)=cosine(yQ,yD)=∥yQ∥∥yD∥yQTyD
而 x x x与 y y y之间,通过深层的神经网络连接(注意:上图中 l 1 l_1 l1层时word hashing)。对于正常的过程中, l i l_i li层的输出为:
l i = f ( W i l i − 1 + b i ) l_i=f\left ( W_il_{i-1}+b_i \right ) li=f(Wili−1+bi)
其中, W i W_i Wi是第 l i l_i li层网络的权重, b i b_i bi是第 l i l_i li层网络的偏置。 f f f是第 l i l_i li层网络的激活函数。
至于将query和documents表示成向量 x Q x_Q xQ和 x D x_D xD,有多种不同的方法,在文章中,作者针对英文文本设计了word hashing的方法。在中文场景下我们也可以使用预训练好的词向量。我们重点需要理解如何去训练这个网络。
在上面的计算过程中,我们将相似性转换成后验的分布,以保证越相似的概率值越大:
P ( D ∣ Q ) = e x p ( γ R ( Q , D ) ) ∑ D ′ ∈ D e x p ( γ R ( Q , D ′ ) ) P\left ( D\mid Q \right )=\frac{exp\left ( \gamma R\left ( Q,D \right ) \right )}{\sum _{{D}'\in \mathbf{D}}exp\left ( \gamma R\left ( Q,{D}' \right ) \right )} P(D∣Q)=∑D′∈Dexp(γR(Q,D′))exp(γR(Q,D))
其中, γ \gamma γ为平滑因子。训练的过程中,对于 Q Q Q,选择一个正样本 D + D^+ D+以及4个负样本 { D j − ; j = 1 , ⋯   , 4 } \left \{ D_j^-;j=1,\cdots,4 \right \} {Dj−;j=1,⋯,4},损失函数为:
L ( Λ ) = − l o g ∏ ( Q , D + ) P ( D + ∣ Q ) L\left ( \Lambda \right )=-log\prod _{\left ( Q,D^+ \right )}P\left ( D^+\mid Q \right ) L(Λ)=−log(Q,D+)∏P(D+∣Q)
在文章的APPENDIX部分,作者给出了网络中参数的具体计算过程。