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