这篇论文,透露谷歌团队构想的“未来搜索”
作者 | 青苹果
来源 | 数据实战派
头图 | 付费下载于 IC Photo
传统的信息检索(IR, Information Retrieval)系统,并不直接回应信息需求,而仅提供对内容的参考。排序(Ranking)是该范式的关键组成部分。
这样的检索系统为用户提供了潜在答案的选择,实际上也给用户带来了相当严重的认知负担。开发问答(QA, Question Answering)系统的动机之一,正是在于希望返回的是答案而非结果的排序列表。
现在已经有很多关于 QA 系统的研究,然而现实中的大规模成功案例依旧匮乏。
在面临信息需求时,用户显然希望可以与专家接触并交流,但通常情况下会将目光投向 IR 系统,如搜索引擎(search engine)。而传统的 IR 系统不直接回答信息需求,只可能提供较权威的参考答案。成功的问答系统提供了由人类专家按需创建的有限语料库,既不及时也不可扩展。
相比之下,大型预训练模型能够直接生成可能对信息需求作出响应的文字,但目前还仅限于业余爱好者的水平而非专家 —— 因为它们没有真正的理解世界,容易产生幻觉,更重要的是,它们无法通过引用训练语料库中的支持性文档来证明自己言论的正确性。
针对这个问题,一支谷歌小组探讨了如何真正利用传统信息检索和大型预训练语言模型的思想,发展能够给出专家建议级别的系统。
在题为 Rethinking Search: Making Experts out of Dilettantes 的文章中,他们设想了基于统一模型构建 IR 系统的方法,通过将给定语料库的所有知识编码到一个可以用于广泛任务的模型中,从而消除了对索引的需求。
如果成功,综合传统 IR 系统和现代大规模 NLP 模型的 IR 模型,有可能产生革命性的转变以及能力上的重大飞跃,包括用在文档检索(document retrieval)、问答(question answering)、摘要(summarization)、分类(classification)、推荐(recommendation)等等场景。
基于语言模型的信息检索
论文通过以下问题来展开讨论:
l 如果完全摆脱索引的概念,并用大型的预训练模型来取代索引的概念会发生什么,能够有效地编码语料库中包含的所有信息?
l 如果检索和排序之间的区别消失了,取而代之的是单一的响应生成阶段,那会如何?
最近在自然语言理解(如 BERT)、大规模语言建模、少样本学习和多任务学习(如 T5)等方面的突破提供了支持,表明这些问题已经不再像几年前那样高不可攀。
文章提出的综合 IR 系统和 NLP 模型的建模方法,旨在通过将传统 IR 系统的索引、检索和排序组件分解为一个单一的统一模型,来替代长期存在的 “先检索后排序” 模式。
在基于模型的检索中,用模型训练代替索引,用模型推理代替检索和排序。两个范式的高级示意图如下图 1 所示:
当然,必须承认模型已经在现代 IR 系统中无处不在地应用。现存和预想的系统之间的重要区别是统一模型取代了索引、检索和排序组件。
从本质上看,它之所以被称为基于模型是因为除了模型什么都没有。
这展现了一种与 IR 系统完全不同的思考方式。
在索引 - 检索 - 排序的范式中,建模工作(例如,查询理解、文档理解、检索、排序等)是在索引本身之上完成的。这导致现代 IR 系统由异构模型的不同混合组成(一个模型用于学习文档表示,另一个模型用于理解文档,还有一个模型用于排序)。
在基于模型的 IR 范式中,模型和索引是一体的。针对先前在索引之上开发的所有内容现在都直接集成到一个统一的模型中。而模型本身是由语料库建立的,就像索引是由语料库建立的一样,但编码的信息预计要复杂得多,以能够解决更广泛的任务。
例如,对于问答任务,所设想的模型能够合成一个答案,而该答案包含来自语料库中许多文档的信息,它将能够通过引用语料库中的支持证据来支撑答案中的断言,这很像一个精心制作的维基百科条目,通过链接到主要来源来支持每个事实的断言。
此外,这仅仅是模型的潜能范围内能够实现的众多新任务之一。
与之密切相关的技术突破点
接下来的部分,将更深入地探讨构建这种系统所需要密切关注的研究方向。
(1)超越语言模型
大规模的预训练 LMs (语言模型,Language Models)已经被证明对广泛的 NLP 和 IR 任务是有用的。然而,这些模型基本上是在术语级别上工作的。常见的自然语言任务,如掩码语言模型(MLM, Masked Language Modeling),通常将一系列术语作为输入,并产生一个或多个术语作为输出。
目前有很多方法可以用这种模型高效地表示查询和文档。然而,先前提出的所有工作几乎都是首先将查询或文档标记为术语序列,然后再将其作为输入传递给某些模型,以各种形式表示模型的输出。
例如,嵌入式可用作学习的表示,生成的术语可用于增加反向索引,模型可以进行微调并用于排序,等等。当然了,这种方法也存在一定的局限性,比如,纯粹根据术语序列学习的 LMs 无法显式地建模术语和文档之间的关系。以 “The sky is blue” 为例,LMs 本质上可以从语料库中学习这句话,但却无法学习术语和单个文档之间的关联。之所以将预训练的 LMs 称为 “外行” 的原因在于,尽管知道得很多,却只局限于皮毛。
由此看来,如何构建高效(训练时间和推理时间)且有效的语料库模型是一个跨领域的开放研究问题。
显然,可以采取多种尝试,例如,一种选择是将哨兵标记添加到每个文档标志符的词汇表中,但问题立即转变为如何对这样的模型进行有意义的训练?
另一种选择是使用单独的模型或过程将文档标识符连接到输入或输出术语序列,这可能更具有可扩展性,但不太统一,因为它可能需要在统一模型本身的 “外部” 完成。
另一项研究挑战是如何有效地扩展文档标识符 tokens 的数量。总的来说,这是一项重要的、潜在的、具有高度影响力的、但长期被忽视的、对 IR 和 NLP 社区都有利的研究。
(2)多任务学习:面向所有信息检索任务的单一模型
团队设想,对于多个 IR 任务,能否让相同的语料库模型担任多任务学习者的角色呢?为此,一旦训练好语料库模型,自然而然地可以用于所有 IR 任务中最经典的任务 —— 文档检索。通过学习和有效利用最新的研究进展,这种模型可能广泛适用于各种任务。
通过利用具有适当定义的预训练目标和微调任务的多任务文本到文本语料库模型,可设想用于 IR 的 “庞大模型” 方法,将其用于文档检索、问答、摘要以及一些新的任务,如文中引言部分所描述的提供专家建议的愿景任务等。
T5 模型与后续的工作一致表明,可以使用一个统一的模型跨多个任务实现最先进的性能。其关键思想是通过任务标识符来利用任务条件,该标识符能够给予模型明确的指示,应该执行哪个任务。
T5 模型已被证明在几个具有挑战性的语言理解基准上达到了最先进的性能。因此,团队殷切期望以类似方式训练的足够高质量的、基于语料库的模型能够在多项任务中实现同样卓越的性能。
下图 2 示例形象说明了如何利用单一统一模型来解决广泛的 IR 任务。其中,这种统一模型的输入是带任务的前缀请求,输出是满足请求的响应。
在此图中,需要注意的是,模型能够执行混合术语和文档标识符定义的任务。与目前广泛使用的基于纯术语的 LMs 相比,这样的设置显然会提供更强的灵活性。
(3)零样本或少样本学习
大型预训练模型的另外一个优点是,在零样本学习和少样本学习情况下表现较好。这尤其适用于有限训练数据可用的任务。
实际上,许多真实世界的 IR 系统只能获得很少的标记数据。因此,基于少数标记实例能够很好地进行泛化,那么其很可能存在重大的实用价值。
零样本和少样本学习在文档排序任务中很常见。例如,ad hoc 检索可以看作是一个零样本学习任务,因为未提供给系统查询相关的文档示例。
此外,相关反馈可以被认为是少样本学习,因为用户手动为一个或多个文档提供标签,系统可以使用这些标签来提高其排名。文中展示的一系列示例说明,拥有一个理解术语序列和文档标识符之间联系的统一多任务模型,可以用一种非常直接的方式,即使只有有限的标签数据可用,也可以提供广泛的直接且强大的用例。
(4)响应生成
使用类似于 T5 的设置或更一般的任何编码 - 解码器模型,可以利用该模型生成广泛的潜在输出类型。如上所述,这些输出可以是术语序列、作为统一语料库模型的一部分学习到的文档标识符、通过微调或少样本学习到的查询意图或文档类别标签等等。
下图 3 显示了现代搜索引擎(左)和现代预训练 LMs 对这个示例查询的响应。搜索引擎识别一个相关网页并尝试提取代码片段,但无法充分回答问题。另一方面,经过训练的 LMs 返回了连贯、集中的回答,看似回答了问题,但未提供答案的上下文,很容易让人产生一种对答案权威性、全面性的质疑。
而本文设想的系统将能够产生像图 3(右)相似的响应。此响应提供了对原材料的引用,使其更容易凸显内容的权威性。这个简单的例子有力地显示了单词和文档序列之间深层联系的重要性。
(5)推理能力
采用基于模型的索引的一个关键优势是,团队可以利用神经网络的模块化,以组成具有特定形式的归纳偏差的新模块。
虽然目前大多数预训练 LMs 都基于 Transformer 模型的体系结构,但是可以通过将这些模型与一个或多个额外的神经模块组合在一起来进行增强。例如,通过允许模型访问外部内存,可以给模型赋予类似推理的能力。为此,可以探索提供类似于记忆的归纳偏差,以实现记忆查找或内容寻址的神经模块。
(6)算术、逻辑、时间和地理推理
众所周知,现代搜索引擎可以处理某种形式的算术推理的查询。
当前的搜索引擎表现得好像它们有某种秩序感、时间感、逻辑性,甚至地理距离感。虽然最近出现了一些工作在神经网络模型的背景下研究这些方面,但开发能够可靠和准确地交付这些类型的推理能力的神经模型仍然十分具有挑战性。此外,在基础级别上,能够处理数字或时间推理的 LMs 是至关重要的,即使是对于文档理解而言,因为要从根本上理解文档内容可能需要具备某种形式的数字常识推理能力。
(7)在单一模型中统一模式
基于模型的范式的另一个关键优势在于它允许在单个模型中统一多个模式。文档通常包含大量的元数据 / 媒体内容,如图像、视频和音频。从传统而言,图像搜索和文档搜索利用的索引差异较大,由此看来,拥有一个能够处理多种模式的统一模型恰好可以弥补这一差距。
(8)利用文档和语料库结构
成功的现代 IR 系统充分利用了与文档相关的所有丰富结构。例如,对于 Web 搜索应用程序来说,出现在标题或锚文本(超链接的代码)中的术语变得更为重要。
目前现存的 LMs 未能考虑到这种丰富的文档结构。如何成功地建模和利用丰富的文档结构是未来研究的一个有趣的方向,可以为预训练的 LMs 的 IR-centric 应用提供显著的优势。
在诸如网络之类的开放语料库中,并非所有的文档都同样具有权威性或可信赖性。有许多已知的技术可以用于估计网页的权威性或真实性,从单页内的事实检查声明到在逻辑域级别上聚合质量信号。
将这些文档权威信号以及其他内容相关的信号,纳入进庞大的语言模型中,这对于改善偏见是至关重要的,可见这些模型更倾向于从未公开的 “野外” 文档中学习。
(9)扩展到多种语言
是否有可能在一个模型中对跨语言的所有文档进行建模呢?
实际上,这对词汇量和模型容量都有影响。如果能够有效地解决这一问题,所设想的模型将可以支持跨语言泛化,并应用于跨语言 IR 等类似任务。鉴于早期工作中多语言 T5 和其他多语言预训练模型的巨大成功,上述设想是可以实现的。
不过,这一点仍然面临着很多挑战,例如确定每种语言的训练数据的最佳比例,以便有效地学习平衡表示。
(10)论规模的挑战
文中概述的建模工作,常常被视为令人难以置信的资源密集型。对这一规模的挑战存在多种观点。首先是模型容量的问题,究竟需要多大的模型才能满足多个任务、数十亿文档、跨十几种语言的文档标识符。其次是文档的长度问题,对于长文档而言,很容易跨越上千个或者更多的子词(subwords)。此外,建模多个文档难免会产生附加成本。
(11)增量学习
“在线” 或 “增量” 学习探索了在新数据连续到达时更新机器学习模型的问题,这种问题不会损害之前数据的性能,此现象被称为 “灾难性遗忘”。“持续性学习” 模式概括了这一点,研究了在不遗忘旧任务的情况下,学习新任务的模型和技术。
虽然已经出现了很多研究,但它主要是在小型数据集和低参数计数的合成设置上进行研究。更有趣且更具挑战性的问题是,让模型 “遗忘” 它们所知道的关于从语料库中删除的文档的所有信息。当隐私或法律原因要求从系统中删除已删除内容片段的所有痕迹时,这就变得更具挑战性,而这正是构建实际 IR 系统的典型需求。
(12)模型的可解释性、可控性和鲁棒性
传统的基于术语的 IR 系统通常是透明的,所以系统在进行测试查询时,其行为往往是可预测的。就算出现偏离预期的行动,也能通过手动干预进行调整。相比之下,现在的深度神经网络便存在很严重的可解释性问题,哪怕明确了模型存在的问题,也无从下手。
因此,模型架构的可解释性、问题的可控性及模型处理查询问题的鲁棒性都是需要考虑的重要因素。
(13)有效整合
如果上述所有这些目标愿景都能实现,那么,最终的系统将是团队设想系统的早期版本。也就是说,由此产生的系统将能够以一种现代 IR 系统、问答系统或预训练的 LMs 都无法做到的方式,为广泛的信息需求提供专家级答案。
总结
简而言之,这支谷歌团队设想了一个雄心勃勃的研究方向,为此提出了一种基于模型的信息检索框架。
该框架通过将语料库中所包含的知识编码到统一的模型中,来打破传统的先索引后排序模式,致力于关注现在 IR 与 NLP 之间的融合,一旦成功,这种统一的模型将可用于处理广泛的任务,为信息需求提供类似人类专家的高质量答案,有望远超今天的搜索或问答系统的能力。
更多精彩推荐
赠书 | 读懂生成对抗神经网络 GAN,看这文就够了搏一搏,单车变摩托!华为天才少年耗时四月将自行车强势升级为自动驾驶基于微软开源深度学习算法,用 Python 实现图像和视频修复点分享点收藏点点赞点在看
相关文章:

selenium+python自动化81-html报告优化(饼图+失败重跑+兼容python23)
优化html报告 为了满足小伙伴的各种变态需求,为了装逼提升逼格,为了让报告更加高大上,测试报告做了以下优化: 测试报告中文显示,优化一些断言失败正文乱码问题新增错误和失败截图,展示到html报告里优化点击…

C#的多线程机制
一.多线程的概念 Windows是一个多任务的系统,如果你使用的是windows 2000及其以上版本,你可以通过任务管理器查看当前系统运行的程序和进程。什么是进程呢?当一个程序开始运行时,它就是一个进程,进程所指包括运行中…

知乎 CTO 李大海:创业公司如何拥抱开源
由计算机学会主办的 CCF C 活动近日走进知乎。知乎合伙人兼 CTO 李大海、搜狗 CEO 王小川、华东师范大学教授王伟在内的企业界、学界技术代表齐聚,带来一场精彩的技术分享盛宴。 围绕「创业公司如何拥抱开源」的分享主题,知乎合伙人兼 CTO 李大海首次披…

如何居中一个浮动元素?
2019独角兽企业重金招聘Python工程师标准>>> 1.<!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>center</title> <style type"text/css"> .p{ position:relative; float:left; left:50…

javascript promise编程
在loop中使用promise: https://stackoverflow.com/questions/17217736/while-loop-with-promises 转载于:https://www.cnblogs.com/kidsitcn/p/7745973.html

bzoj1295
考虑到这道题n,m都很小,我们考虑先穷举起点i 下面我们要做的是找出移走k个障碍后,点i所能到的最大距离 我们可以把这个问题转化为判定性问题 对于一对点i,j,如果他们之间存在一条路径,障碍数(包括起点终点)…

C#程序可将文本文件藏于位图中,也可导出
//使用方法: // BmpSafe.exe /file2bmp (input BMP) (input file to hide) [output file] //BmpSafe.exe /bmp2file (data BMP) [output file] using System; using System.IO; using System.Drawing; public class Bitmap24Writer { protected Bitmap bmp; …

溢价 5 倍欲将 SiFive 收入麾下,英特尔的绝地反击战
作者 | 马超责编 | 张红月出品 | CSDN(ID:CSDNnews)受任于败军之际,奉命于危难之间。近几年硅谷史上的传奇、英特尔几位掌门葛洛夫与欧德宁相继离世,虽然他们早已脱离一线多年,但是他们的离去可能还是让英特…
教你用Vue渐进式搭建聊天室,从JavaScript=TypeScript
前言 VueSocket.io这个轮子已经有很多人造过了,为了不重复造轮子,我将本项目以三阶段实现(大家可以在github中的Releases查看): 纯前端(Vuex)后端前端(JavaScript)后端前…

如何学习linux编程
如果想学习UNIX/LINUX的编程,《APUE》绝对经典的教材,加深一下功底,学习《UNP》的第二卷。这样基本上系统方面的就可以掌握了。如果继续网络编程,建议看《TCP/IP进行网际互连》的第三卷,里面有很多关于应用协议telnet、…

HTML中的form表单有一个关键属性 enctype
HTML中的form表单有一个关键属性 enctype=application/x-www-form-urlencoded 或multipart/form-data。 1、enctype"application/x-www-form-urlencoded"是默认的编码方式,当以这种方式提交数据时,HTTP报文中的内容是: …

赠书 | JavaScript 武力值飙升!用 TensorFlow.js 轻松在浏览器里搞深度学习
近年来,AI 与人类的生活越来越紧密,慢慢变得无处不在。那么提到 AI ,我们会想到什么?小编最先想到的是机器人。早在小学作文中,我就写到 2021 年到处都是机器人,机器人汽车到处飞。结果 2021 年到来&#x…

[译] JWT 与 Spring Cloud 微服务
keyholesoftware.com/2016/06/20/…作者:THOMAS KENDALL译者:oopsguy.com 微服务安全是架构的一个重要部分。具体来说,就是认证和授权模式。 微服务认证和授权处理方式有几种选择,但本文只介绍 JSON Web Token 的使用。 JSON Web …

20步打造最安全的Nginx Web服务器
Nginx是一个轻量级的,高性能的Web服务器以及反向代理和邮箱(IMAP/POP3)代理服务器。它运行在UNIX,GNU/Linux,BSD各种版本,Mac OS X,Solaris和Windows。根据调查统计,6%的网站使用Nginx Web服务器。Nginx是少数能处理C10K问题的服务器之一。跟…

C#创建和调用DLL
一、写在前面 C# 语言是一种简单但功能强大的编程语言,用于编写企业应用程序。 C# 语言从C和 C语言演化而来,在语句、表达式和运算符方面使用了许多 C 功能。 C# 语言在类型安全性、版本转换、事件和垃圾回收等方面进行了相当大的改进和创新。 C# 语言提…

死磕算法!35 篇算法设计实例+6 本必读书打包送你
算法为什么难学?算法在程序中扮演着非常重要的角色,有人将数据结构比喻为程序的骨架,将算法比喻为程序的灵魂,这一点也不为过,正是因为这一点,很多朋友都立志要学好算法,但是我常常看到各种抱怨…

EXCHANGE证书
证书: CA(证书颁发机构)和证书有什么区别? CA:是服务器中的一个服务,主要是用来为计算机(用户)来颁发证书,安装CA的服务器称为证书服务器, 证书:从…

C#2.0模拟List和内置算法
C#中的范型对于很多从C转过来的程序员来说,可以说是一个天大的喜讯。hehe,至少笔者对于这个新特性是充满了敬仰之情。 在C#2.0中,匿名方法、IEnumerable接口和匿名方法的合作,使很多的编程任务变得非常的简单,而且写出…

横扫六大权威榜单后,达摩院开源深度语言模型体系 AliceMind
整理 | AI 科技大本营(ID:rgznai100)自然语言处理(NLP)被誉为 AI 皇冠上的明珠,传统 NLP 模型制作复杂,耗时耗力,且用途单一,难以复用。预训练语言模型是 NLP 领域的研究热点之一&am…

WP8:Unity3D之间的值传递
原地址:http://www.cnblogs.com/zhxilin/p/3799210.html 在前面的讨论中,我们介绍了如何在Unity3D for WP8中使用高于.Net 3.5的第三方库,传送门:http://www.cnblogs.com/zhxilin/p/3311240.html 在Unity3D和WP8的交互当中,如果要…

未来的程序员面临着怎样的职业变化
作为程序员,我们总是身处于如万花筒般变化无常的技术世界里。我们可能也是那群能够最早感知到科技变化所带来巨大影响的人。然而,面对这一波又一波向我们袭来的技术变革,我们是否也能从中窥见一丝规律,从而使自己更好地应对未来呢…

C#中使用Win32和其他库
C# 用户经常提出两个问题:“我为什么要另外编写代码来使用内置于 Windows 中的功能?在框架中为什么没有相应的内容可以为我完成这一任务?”当框架小组构建他们的 .NET 部分时,他们评估了为使 .NET 程序员可以使用 Win32 而需要完成…

神经网络的学习方式网络传播和图卷积,两者到底什么关系?
作者 | Remy Lau本文转载自CSDN博主「deephub」你可能听说过图卷积,因为它在当时是一个非常热门的话题。虽然不太为人所知,但网络传播是计算生物学中用于网络学习的主要方法。在这篇文章中,我们将深入研究网络传播背后的理论和直觉࿰…

string与数值之间的转换
9.50 编写程序处理一个vector<string>,其元素都表示整数型。计算vector中所有元素之和。修改程序,使之计算表示浮点值的string之和。 程序如下: #include<string> #include<vector> #include<iostream> using namespace std;int…

一个完整的大作业
1.选一个自己感兴趣的主题。网址为http://news.gzcc.cn/html/xiaoyuanxinwen/ 2.网络上爬取相关的数据 import requests import re from bs4 import BeautifulSoup urlhttp://news.gzcc.cn/html/xiaoyuanxinwen/ resrequests.get(url) res.encodingutf-8 soupBeautifulSoup(res…

剖析C#的多态
一、什么是多态 面向对象程序设计中的另外一个重要概念是多态性。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。可以把一组对象放到一个数组中,然后调用它们的方法,在这种场合下,多态性作用就体现出来了…

OSPF单区域配置
OSPF单区域配置 实验名称:OSPF单区域配置 实验拓扑: 实验配置步骤: 交换部分: Switch1 Enable Vlan database Vlan 10 name magi Exit 将vlan10加入到端口f0/2 Conf t Int fa0/2 Switchport mode access Switchport access vlan …

一文搞定7大流行后端框架:Spring、Netty、MyBatis、Hibernate、Dubbo...
框架(Framework)是整个或部分系统的可重用设计,表现为一组抽象构件及构件实例间交互的方法;另一种定义认为,框架是可被应用开发者定制的应用骨架。前者是从应用方面而后者是从目的方面给出的定义。 可以说,…

全“芯”关注用户需求 AMD“超轻薄笔记本”杀出重围
现在10.6寸跟11.6寸的笔记本已经占据整个笔记本市场的15%左右,跟过去只有几个点相比,已经有很大的提升了,几乎是百分之百的提升,超轻薄笔记本是大势所趋。这种趋势也带动了两大芯片巨头英特尔和AMD的角逐,英特尔为新一…

“去了太空就别回来了!”贝索斯还没“上天”,就遭美国 5 万多人请愿:不准重返地球...
整理 | 郑丽媛出品 | CSDN(ID:CSDNnews)美国富翁们有钱了都干什么?比尔盖茨买跑车、甲骨文老板拉里埃里森买游艇,还有呢?那必然是亚马逊创始人杰夫贝索斯和特斯拉 CEO 埃隆马斯克都很热爱的“上太空”&…