阅读论文:2013 Learning Deep Structured Semantic Models for Web Search using Clickthrough Data
背景
文章研究了具有深层结构得到潜在语义模型,将文档和查询投影到一个低维空间(即表示为低维向量),通过低维向量计算查询和文档的相似度;文章使用了CTR任务对模型进行训练;全文使用了基于n-gram的哈希技术用于处理大型词汇表。
问题建模
模型
全文的模型如下图所示(也称之为双塔模型),输入为通过01编码的查询和文档,使用word Hashing进行降维,接着是三层全连接层,输出为128维的向量,通过此向量计算查询和文档和相似度,给出相似的概率。
文中激活函数使用tanh,最终计算形似度如下所示。
word hashing
使用letter trigams来切分单词(3个字母为一组,#表示开始和结束符),比如将good表示为#good#,再切分为#go, goo, ood, od#,将切分后结果使用01编码,好处是可以压缩编码的空间,三个字母的表达往往能代表英文中的前缀和后缀,而前缀后缀往往具有通用的语义。实验结果如下所示,使用3个字母为一组,较好的考虑了压缩的比例和发生冲突的概率。
实验
文中训练时候使用了query和文档中的title来计算相关度,计算一个查询返回的文档的相关度时进行归一化,如下所示
其中用于平滑得分,D中应该包含所有的查询文档,但是为了训练方便,将D分为和,其中为发生点击的文档,为未发生点击的文档中进行抽样,抽取4个。通过极大似然估计,最小化损失函数,训练损失函数如下,使用SGD训练。
实验结果如下所示,比对方法的介绍和参数设置参考文章,评价指标为NDCG,NDCG用作排序结果的评价指标,评价排序的准确性(越高越好),介绍可见:NDCG及实现。实验中1-8为其他工作中方法,9-12为本文的DSSM模型(具体细节不同)。
具体结论有以下几点
- 本文提出的DSSM模型效果最好(L-WH DNN和1-9对比)
- 在CTR的数据上使用监督学习获得的模型对于排序结果更好(DNN对比DAE)
- word hashing对于大词表的输入排序结果较好,即提升了排序指标也减少了模型参数(L-WH DNN和DNN进行对比)
- 使用深度模型表示语义信息较好(非监督方法:DAE对比LSA,监督方法:L-WH DNN对比L-WH linear和L-WH non-linear)
总结
此处抄自:详解深度语义匹配模型DSSM和他的兄弟姐妹(个人没有太深的领悟。。。)
优点:DSSM 用字向量作为输入既可以减少切词的依赖,又可以提高模型的范化能力,因为每个汉字所能表达的语义是可以复用的。另一方面,传统的输入层是用 Embedding 的方式(如 Word2Vec 的词向量)或者主题模型的方式(如 LDA 的主题向量)来直接做词的映射,再把各个词的向量累加或者拼接起来,由于 Word2Vec 和 LDA 都是无监督的训练,这样会给整个模型引入误差,DSSM 采用统一的有监督训练,不需要在中间过程做无监督模型的映射,因此精准度会比较高。。
缺点:上文提到 DSSM 采用词袋模型(BOW),因此丧失了语序信息和上下文信息。另一方面,DSSM 采用弱监督、端到端的模型,预测结果不可控。