057|基于深度学习的搜索算法:局部和分布表征下的搜索模型
2018-01-12洪亮劼来自北京
《AI技术内参》
周一我们分享了一篇较早利用深度学习技术来进行搜索建模的论文,利用前馈神经网络来对查
询关键字和文档进行信息提取,从而学习到更有意义的语义信息。周三我们分享了另外一篇论
文,可以说是周一分享文章的一个后续工作,探讨了如何利用卷积神经网络来对搜索表征进行
进一步提升。这两篇论文呈现了一个统一的套路,那就是尝试把深度学习的一些经验直接应用
到传统的搜索建模上。这些尝试,也都取得了一些初步成绩。
今天我们来聊一篇2017年刚刚发表的论文《网页搜索中利用文本的局部和分布表征学习匹
配》(LearningtoMatchUsingLocalandDistributedRepresentationsofTextforWeb
Search),这是近期将深度学习模型应用在搜索领域的一个创新。这篇论文发表在世界万维
网大会WWW2017上。
论文背景介绍
下面我们来了解一下这篇论文的作者群信息。
第一作者巴斯卡?米特拉(BhaskarMitra)是微软研究院在剑桥实验室的一名研究员。他已经
发表了多篇利用深度学习技术解决搜索问题的论文。目前,米特拉在伦敦大学学院攻读博士学
位。
第二作者是费尔南多?迪亚兹(FernandoDiaz)在文章发表的时候是微软研究院的一名研究
员,目前则在Spotify工作。迪亚兹长期从事搜索以及信息检索的工作,发表多篇论文,文章
总引用数超过三千次。加入微软之前,他曾经在雅虎研究院从事过研究工作。
文章的第三作者尼克?克拉维尔(NickCraswell)在微软研究院工作,目前是主任级研发经
理,长期从事搜索和信息检索的研究,发表多篇论文,文章总引用数达8千多次。
局部和分布表征下的搜索模型详解
我们详细讲讲这篇论文的核心思想。要想理解这篇论文提出的思路,我们首先要简单回顾一下
这周讲的前两篇文章内容。
本周第一篇介绍的深度结构化语义模型主要是希望利用前馈神经网络来对查询关键字和文档进
行信息提取。第二篇文章尝试用卷积神经网络来提取查询关键字和文档的信息。
不论是前馈网络,还是卷积网络,这些尝试都是想从文本中提取高层次的语义信息。那么今
天这篇文章说得是,并不是所有的相关信息都是高层次的语义信息。这是什么意思呢?
作者们提出了这样一个观点,那就是在搜索的时候,一个非常关键的需求就是被搜索到的文档
应该包含查询关键字;或者反过来说,拥有查询关键字的文档有很大可能是相关的。也就是
说,如果一个模型不能去进行绝对的关键字匹配,那很有可能就无法真正抓住所有的相关信
息。
另一方面,相关信息的提取也需要高层次的语义,比如同义词,或者同一个主题。设想我们需
要查找汽车相关的信息,而一个最新品牌的汽车页面也许并不直接包含“汽车”关键字,但很
明显是一个相关的页面。因此,利用同义词或者整个主题的相关性,通常可以提高搜索效果,
特别是“召回”(Recall)的效果。
那么,很显然,一个好的搜索模型应该兼顾这两个方面,也就是说既能够做到关键字的直接匹
配,也能做到在高层次的语义上进行模糊匹配。
之前讲到的比如利用前馈网络或者卷积网络主要是针对后者,也就是模糊匹配,文章中提到叫
做“分布表征”的匹配。那么,这篇文章的新意就是提出一种捕捉直接匹配的方式,文章叫做
“局部表征”,并且和模糊匹配的分布表征结合在一起,形成一个统一的模型,从而提高搜索
的效果。
具体来说,文章提出的模型是这样的。首先,从整体的网络框架来说,整个网络分成两个部
分:一部分来学习查询关键字和文档的局部表征,也就是完全匹配;另一部分来学习查询关键
字和文档的分布表征,也就是模糊匹配。最后,两个部分分别学习出一个向量,然后两个向量
加和就形成了最后的表征。
完全匹配的局部表征技巧来自于数据的输入。和之前介绍的模型不同,因为我们需要学习查询
关键字和文档之间的匹配信息,因此,网络的输入信息就不单单是查询关键字和文档本身,而
是两者的一个“点积”(Dot-Product),也就是说,网络的输入信息就是两者是否有匹配。
把这个信息作为输入向量之后,这篇文章采用了我们分享过的卷积神经网络的结构,来进一步
提取点积过后的输入向量。
在模糊匹配的分布表征部分,整体的框架和上次分享的模型很类似,也就是对查询关键字和文
档分别进行建模,分别利用卷积神经网络提取高层次的语义信息。然后在高层次的语义信息上
再进行查询关键字和文档表征的乘积(这里是矩阵相对应元素相乘)。最后,在经过基层的隐
含转换(其实就是前馈网络