搜索結(jié)果牛頭不對馬嘴?谷歌用BERT改進(jìn)搜索引擎,做到更懂你
曉查 發(fā)自 凹非寺
量子位 報道 | 公眾號 QbitAI
還記得你第一次用谷歌搜索引擎的時候,老師是怎么教你的嗎?
在多個關(guān)鍵詞中插入空格,比如你想搜一篇機器學(xué)習(xí)在醫(yī)學(xué)上應(yīng)用的論文,那么你就會在搜索框中輸入“機器學(xué)習(xí) 醫(yī)學(xué)”。
即使我們掌握了搜索引擎的使用技巧,有時候并不能返回最佳的查詢結(jié)果。
比如搜索“2019年前往美國的巴西旅客需要簽證”(2019 brazil traveler to usa need a visa)。
搜索引擎會關(guān)注“巴西”、“美國”、“簽證”這些關(guān)鍵詞,算法無法理解其中聯(lián)系的重要性,就會返回有關(guān)前往巴西的美國人的無關(guān)搜索結(jié)果。
搜索的核心是理解語言。因此應(yīng)該做到無論如何拼寫或組合查詢中的單詞,都要弄清楚用戶搜索的內(nèi)容,并從網(wǎng)絡(luò)上返回有用的信息。
這些年來,盡管谷歌在NLP領(lǐng)域取得了很多重大突破,但有時做得還不夠好,尤其是在復(fù)雜或?qū)υ捠讲樵冎小?/p>
這也是人們經(jīng)常使用“關(guān)鍵詞”搜索的原因之一,但這并不是自然的提問方式。
用BERT改善搜索
去年,谷歌提出了一種被成為BERT的NLP技術(shù),今日谷歌宣布將BERT用于自家的搜索引擎之中。
谷歌表示,這是過去五年中最大的飛躍,其中之一是搜索歷史上最大的飛躍。
前面提到的查詢“2019 brazil traveler to usa need a visa”,過去由于搜索引擎無法理解語義,不知道“前往”(to)在這句話中的重要性,因此返回了錯誤的結(jié)果。
在引入BERT后,谷歌就能掌握這一細(xì)微差別,并且知道單詞“ to”在這里實際上很重要,并且為該查詢提供更相關(guān)的結(jié)果。
這項突破是谷歌研究Transformer的結(jié)果:Transformer模型可處理與句子中與單詞之間的關(guān)聯(lián),而不是一個接一個地單獨處理單詞。
因此,BERT模型可以通過查看單詞前后的單詞來考慮全部上下文,這對于理解搜索查詢背后的意圖尤其有用。
又比如,向搜索引擎提問:“Do estheticians stand a lot at work?” ,過去系統(tǒng)無法理解語句中“stand”的含義。
而BERT了解到“站立”(stand)是和“美容師”(estheticians)工作性質(zhì)有關(guān)的詞,從而返回了正確的結(jié)果。
在其他一些例子中,BERT可以幫助搜索引擎理解人類語音的一些細(xì)微差異,這在過去是計算機無法理解的。
哪些語言能用上
不僅英語國家能用上BERT改進(jìn)后的谷歌搜索,谷歌表示還會將這項技術(shù)推廣到其他語種,讓更多語言的人用上。
BERT模型強大之處在于,它可以從一種語言中學(xué)習(xí)并應(yīng)用于其他語言。因此,谷歌可以采用從大量英語中學(xué)習(xí)的模型,并將其應(yīng)用于其他語言。
谷歌正在使用BERT模型來改進(jìn)20多個國家或地區(qū)的搜索引擎,其中包括使用韓語、印地語和葡萄牙語等語言的地方。
仍有改進(jìn)空間
最后,谷歌在宣傳這項技術(shù)時,還大方承認(rèn)了其中的一些缺陷。
比如搜索“哪個州位于內(nèi)布拉斯加州以南”(what state is south of Nebraska),BERT會猜測你搜索的是“南內(nèi)布拉斯加州”(South Nebraska)。
谷歌表示,語言理解仍然是一個持續(xù)的挑戰(zhàn),將會繼續(xù)改進(jìn)搜索?!拔覀円恢痹诓粩噙M(jìn)步,并努力在你發(fā)送的每條查詢中找到正確的含義(以及最有用的信息)?!?/p>
谷歌博客:
https://blog.google/products/search/search-language-understanding-bert/