AI内参_59_057_基于深度学习的搜索算法局部和分布表征下的搜索模型
你好,我是洪亮杰。
今天我和你分享的主题是基于深度学习的搜索算法局部和分布表征下的搜索模型。
周一,我们分享了一篇较早利用深度学习技术来进行搜索建模的论文,利用前馈神经网络来对查询关键字和文档进行信息提取,从而学习到更有意义的语义信息。
周三我们分享了另外一篇论文,可以说是周一分享文章的一个后续工作,探讨了如何利用卷积神经网络来对搜索表征进行进一步提升。
这两篇论文呈现了一个统一的套路,那就是尝试把深度学习的一些经验,直接应用的局统的搜索建模上,这些尝试也都取得了一些初步成绩。
今天我们来聊一篇二零一七年刚刚发表的论文网页搜索中利用文本的局部和分布表征学习匹配,这是近期将深度学习模型应用在搜索领域的一个创型。
这篇论文发表在世界万维网大会WWW二零一七上。
下面我们来了解一下这篇论文的作者群信息。
第一,作者,巴斯卡米特拉是微软研究院在剑桥实验室的一名研究员,他已经发表了多篇利用深度学习技术解决搜索问题的论文。
目前,米特拉在伦敦大学学院攻读博士学位。
第二作者是费尔南多迪亚兹,在文章发表的时候是微软研究院的一名研究员,目前则在support fy工作,迪亚斯长期从事搜索以及信息检索的工作,发表多篇论文。
文章总引用数超过三千次。
加入微软之前,他曾经在雅虎研究院从事过研究工作。
文章的第三作者尼克克拉维尔在微软研究院工作,目前是主任及研发经理常期从事搜索和信息检索的研究,发表多篇论文。
文章总引用数达八千多次,我们详细讲讲这篇论文的核心思想。
要想理解这篇论文提出的思作,我们首先要简单回顾一下这周讲的前两篇文章内容。
本周第一篇介绍的深度结构化语义模型,主要是希望利用前馈神经网络来对查询关键词和文档进行信息提取。
第二篇文章尝试用卷积神经网络来提取查询关键字和文档的信息。
不论是前馈网络还是卷积网络,这些尝试都是想从文本中提取高层次的语义信息。
那么今天这篇文章说的是并不是所有的相关信息都是高层次的语义信息,这是什么意思呢?作者们提出了这样一个观点,那就是在搜索的时候,一个非常关键的需求就是被搜索到的文档应该包含查询关键字或者反过来说,拥有查询关键字的文档有很大可能是相关的。
也就是说,如果一个模型不能去进行绝对的关键字匹配,那很有可能就无法真正抓住所有的相关信息。
另一方面,相关信息的提取也需要高层次的语义,比如同义词或者同一个主题设想,我们需要查找汽车相关的信息。
而一个最新品牌的汽车页面,也许并不直接包含汽车关键字,但很明显是一个相关的页面。
因此,利用同义词或者整个主题的相关性,通常可以提高搜索效果,特别是召回的效果。
那么很显然,一个好的搜索模型应该兼顾这两个方面。
也就是说,既能够做到关键字的直接匹配,也能做到在高层次的语义上进行模糊匹配。
之前讲到的,比如利用前馈网络或者卷积网络,主要是针对后者,也就是模糊匹配。
文章中提到叫做分布表征的匹配。
那么这篇文章的新意就是提出一种捕捉直接匹配的方式。
文章叫做局部表征,并且和模糊匹配的分布表征结合在一起,形成一个搜索的模型,从而提高搜索的效果。
具体来说,文章提出的模型是这样的。
首先,从整体的网络框架来说,整个网络分成两个部分,一部分来学习查询关键字和文档的局部表征,也就是完全匹配。
另一部分来学习查询关键字和文档的分布表征,也就是模糊匹配最后两个部分,分别学习出分布向量,然后两个向量加和就形成了最后的表征。
完全匹配的局部表征技巧,来来自于数据的输入。
和之前介绍的模型不同,因为我们需要学习查询关键字和文档之间的匹配信息。
因此,网络的输入信息就不单单是查询关键字和文档本身,而是两者的一个点积。
也就是说,网络的输入信息就是两者是否有匹配。
把这个信息作为输入向量之后,这篇文章采用了我们分享过的卷积神经网络的结构,来进一步提取点积过后的输入向量。
在模糊匹配的分布表征部分,整体的框架和上次分享的模型类似,也就是对查询关键字和文档分别进行建模,分别利用卷积神经网络提取高层次的语义信息,最后在高层次的语义信息上再进行查询关键字和文档表征的乘积。
这里是矩阵相对应元素相乘,最后在经过基层的隐含转换,其实就是前馈网络形成分布表征的最后唯一结果。
从整个模型来看,局部表征和分布表征的主配信息在于如何处理查询关键字和文档的匹配信息。
如果是在原始数据上直接匹配,然后学习匹配后的高层语义,这就是局部表征。
如果是先学习高层语义,然后再匹配,这就是分布表征。
整个模型。
利用相关标签进行的是监督学习流程,并且采用了SGD来优化。
最后来看看局部和分布表征的搜索模型的实验效果。
这篇论文提出的模型还是仅仅使用了查询关键字和文档之间的文字信息。
因此和上两篇分享一样,提出的模型就只能和文字型的排序算法,例如TFIDFBM二五和语言模型进行比较。
文章在数据集上采用了bean的搜索数据,有十九万多的查询关键字,总共有近百万的文档数。
这比之前两个分享里的数据都要大不过。
遗憾的是,这三篇文章都是不同的数据集,每个文档又有四级的相关标签,可以用来计算诸如NDCG这样的指标。
在这篇文章里,作者们比较了一系列的方法,比如TFIDFBM二五以及一些传统的降维方法,比如LSA.然后还比较了之前两个分享中提到的模型。
简单来说,本文模型在最后的比较中取得了非常不错的成绩。
Ndcg在第十位的表现接近零点五三,而之前提出的一系列深度搜索模型,包括我们分享的两个模型达到了差不多零点四五到零点四八左右。
看来既需要完全匹配,还需要模糊匹配,的确能够带来性能上的提升。
在这个数据集上,传统方法其实也不差,比如BM二五的表现有零点四五左右。
而传统的LSA也有零点四四左右的表现。
今天我为你分享了搜索专题的最后一篇内容,那就是利用深度学习技术对搜索算法进行改进的又一个尝试,一个结合了学习完全匹配的局部表征和模糊匹配的分布表征的统一的搜索模型。
一起来回顾一下要点。
第一,我们简要介绍了局部和分布表征搜索模型提出的历史。
第二,我们详细介绍了局部和分布表征搜索模型的核心思路以及实验结果。
给你留一个思考题。
我们这周分享了三个经典的深度学习和搜索相结合的尝试。
你觉得目前深度学习在搜索领域取得的成果,有让你感到特别惊讶的结果吗?欢迎你给我留言,和我一起讨论。
最后预告一个小活动,明天也就是一月十三号晚上八点三十分,我会在即刻时间做一场直播,欢迎你参加,主题是人工智能。
二十问,如果你有想交流的问题,欢迎给我留言。
我们周六直播见。