谷歌为其搜索引擎增添了自然语言处理(NLP)功能,它声称这是搜索引擎过去五年来最重大的更新。
搜索只是谷歌在竭力运用BERT的其中一个方面。上个月,谷歌研究人员披露了VideoBERT,这个试验算法充分利用这项技术,可以像人类那样预测接下来几秒可能发生的事情。
该公司在今天早上发表的一篇博文中详细介绍了变化。现将谷歌院士兼搜索副总裁Pandu Nayak撰写的博文《比以往更准确地理解搜索》全文翻译如下:
要说我在15年间从开发谷歌搜索中学到了什么,那就是人们的好奇心无止境。我们每天看到数十亿次搜索,其中15%的查询是我们以前从未见过的——于是我们设计了为预料不到的查询返回结果的方法。
人们使用谷歌搜索时,并不总是很确信执行查询的最佳方法。我们可能不知道使用什么单词正确或如何拼写,因为我们使用谷歌搜索常常是想学习——我们一开始未必拥有知识。
谷歌搜索的核心是理解语言。我们的任务是搞清楚你在搜索什么,并从网上找出有用的信息,不管你在查询中如何拼写或组合单词。虽然多年来我们不断提高语言理解能力,但有时我们还是无法搞明白,尤其是面对复杂查询或对话式查询。实际上,这是人们常常使用“关键词”的原因之一,输入他们认为我们会理解的一连串单词,但实际上并不是他们自然提出问题的方式。
凭借我们的研究团队借助机器学习在语言理解领域取得的最新进展,我们正显著改善对查询的理解,这是过去五年最大的飞跃,也是谷歌搜索发展史上最大的飞跃之一。
将BERT模型应用于搜索
去年,我们引入并开源了基于神经网络的自然语言处理(NLP)预训练技术,该技术名为来自Transformer的双向编码器表示,简称BERT。这项技术使任何人都能够训练各自最新的问题回答系统。
这项突破是谷歌研究transformer的成果,transformer是一种模型,可以相对句子中的所有其他单词来处理单词,而不是逐个单词地处理。因此,BERT模型可以通过查看前后的单词来考虑某单词的全部上下文,这对于理解搜索查询背后的意图尤其有用。
但使这成为可能的不仅仅是软件方面的进步:我们还需要新的硬件。我们可以用BERT构建的一些模型非常复杂,以至于我们使用传统硬件能完成的工作遇到了瓶颈,因此,我们首次使用最新的Cloud TPU快速提供搜索结果,并为你返回更准确的信息。
解读你的查询
这涉及诸多的技术细节,但这对你而言意味着什么?只要将BERT模型应用于谷歌搜索中的排名和精选摘要,我们可以在帮助你找到有用的信息方面大大改进。实际上,说到结果排名,BERT可以帮助搜谷歌索更准确地理解在美国十分之一的英文搜索,我们会逐渐让这项功能支持更多的语言和地区。
尤其针对更长的对话式查询,或“for”和“to”之类的介词与含义有很大关系的搜索,谷歌搜索能够理解你的查询中单词的上下文。你可以以一种你觉得很自然的方式进行搜索。
为了推出这些改进,我们做了大量测试,确保这些更改实际上更有用。下面几个例子表明了我们的评估过程,证明了BERT能够理解你的搜索背后的意图。
这是搜索“2019 brazil traveler to usa need a visa.”(意为“2019年前往美国的巴西游客需要签证”)。“to”一词及其与查询中其他单词的关系对于理解其含义尤为重要。搜索的是前往美国的巴西游客,而不是前往巴西的美国游客。以前,我们的算法无法理解这种关系的重要性,因此我们返回关于前往巴西的美国公民的结果。有了BERT,谷歌搜索就能领会这一细微差别,知道“to”这个很常见的单词在这里实际上很重要,我们可以为该查询提供准确得多的结果。
谷歌搜索中的BERT:签证例子
不妨看看另一个查询:“do estheticians stand a lot at work.”(意为“美容师工作时长时间站着吗?”)。以前,我们的系统采用匹配关键字的方法,将结果中的“stand-alone”(“独立”)一词与查询中的“stand”一词匹配起来。但这不是该上下文中“stand”一词的正确意思。另一方面,我们的BERT模型明白“stand”与工作中要求站着这个概念有关,显示更准确的结果。
谷歌搜索中的BERT:美容师例子
下面是表明BERT帮助我们掌握语言细微差别的另外几个例子,计算机不像人类那样能完全明白这种细微差别。
谷歌搜索中的BERT:药房例子
有了BERT模型,我们可以更好地理解“for someone”是该查询的一个重要部分,而以前我们未理解该含义,于是返回有关按处方配药的一般结果。
改进支持更多语言的谷歌搜索
我们还将应用BERT,让谷歌搜索更好地服务于全球各地的人。这种系统的显著特点是,它们可以将从一种语言学到的东西应用于其他语言。于是,我们可以将从英文改进中学习的模型应用于其他语言。这帮助我们更好地返回采用谷歌搜索支持的多种语言的相关结果。
至于精选摘要,我们现使用BERT模型来改进可以享用该功能的二十多个国家或地区的精选摘要,看到了韩语、印地语和葡萄牙语等语言方面的重大改进。
搜索不是已解决的问题
无论你在搜索什么,或者说什么语言,我们希望能够以一种你觉得自然的方式进行搜索。但你仍时不时把谷歌难住。即使有了BERT,我们也不总是正确理解查询的含义。如果你搜索“what state is south of Nebraska”(“内布拉斯加州以南的州是哪个州?”,BERT所能猜到的是名为“South Nebraska”的社区。(没错,它不在堪萨斯州。)
语言理解仍然是未克服的挑战,它使我们有动力继续改进搜索。我们一直在不断改进,努力找出你发送的每条查询的含义,并返回最有用的信息。