还记得你第一次用谷歌搜索引擎的时候,老师是怎么教你的吗?
在多个关键词中插入空格,比如你想搜一篇机器学习在医学上应用的论文,那么你就会在搜索框中输入“机器学习 医学”。
即使我们掌握了搜索引擎的使用技巧,有时候并不能返回最佳的查询结果。
比如搜索“2019年前往美国的巴西旅客需要签证”(2019 brazil traveler to usa need a visa)。
搜索引擎会关注“巴西”、“美国”、“签证”这些关键词,算法无法理解其中联系的重要性,就会返回有关前往巴西的美国人的无关搜索结果。
搜索的核心是理解语言。因此应该做到无论如何拼写或组合查询中的单词,都要弄清楚用户搜索的内容,并从网络上返回有用的信息。
这些年来,尽管谷歌在NLP领域取得了很多重大突破,但有时做得还不够好,尤其是在复杂或对话式查询中。
这也是人们经常使用“关键词”搜索的原因之一,但这并不是自然的提问方式。
用BERT改善搜索
去年,谷歌提出了一种被成为BERT的NLP技术,今日谷歌宣布将BERT用于自家的搜索引擎之中。
谷歌表示,这是过去五年中最大的飞跃,其中之一是搜索历史上最大的飞跃。
前面提到的查询“2019 brazil traveler to usa need a visa”,过去由于搜索引擎无法理解语义,不知道“前往”(to)在这句话中的重要性,因此返回了错误的结果。
在引入BERT后,谷歌就能掌握这一细微差别,并且知道单词“ to”在这里实际上很重要,并且为该查询提供更相关的结果。
这项突破是谷歌研究Transformer的结果:Transformer模型可处理与句子中与单词之间的关联,而不是一个接一个地单独处理单词。
因此,BERT模型可以通过查看单词前后的单词来考虑全部上下文,这对于理解搜索查询背后的意图尤其有用。
又比如,向搜索引擎提问:“Do estheticians stand a lot at work?” ,过去系统无法理解语句中“stand”的含义。
而BERT了解到“站立”(stand)是和“美容师”(estheticians)工作性质有关的词,从而返回了正确的结果。
在其他一些例子中,BERT可以帮助搜索引擎理解人类语音的一些细微差异,这在过去是计算机无法理解的。
哪些语言能用上
不仅英语国家能用上BERT改进后的谷歌搜索,谷歌表示还会将这项技术推广到其他语种,让更多语言的人用上。
BERT模型强大之处在于,它可以从一种语言中学习并应用于其他语言。因此,谷歌可以采用从大量英语中学习的模型,并将其应用于其他语言。
谷歌正在使用BERT模型来改进20多个国家或地区的搜索引擎,其中包括使用韩语、印地语和葡萄牙语等语言的地方。
仍有改进空间
最后,谷歌在宣传这项技术时,还大方承认了其中的一些缺陷。
比如搜索“哪个州位于内布拉斯加州以南”(what state is south of Nebraska),BERT会猜测你搜索的是“南内布拉斯加州”(South Nebraska)。
谷歌表示,语言理解仍然是一个持续的挑战,将会继续改进搜索。“我们一直在不断进步,并努力在你发送的每条查询中找到正确的含义(以及最有用的信息)。”
谷歌博客:
https://blog.google/products/search/search-language-understanding-bert/
“