Google 幫搜尋引擎加入有「常識」的演算法

閱讀英語文章時,最讓你困擾的是什麼?遇到一詞多意時不知道該選哪個解釋?還是長句裡難以整理的結構?Google 搜尋引擎其實也跟你一樣困擾。

為了「照顧」Google 搜尋引擎,很多人使用「關鍵詞搜尋法」(keyword-ese)──只輸入關鍵詞,不使用完整的句子。

例如,有人會在搜尋欄裡輸入「痣」、「臀部」、「癌症」,其實他想問的是「我屁股上的痣是不是癌症的徵兆?」

(Source:Unsplash

最近,Google 為搜尋引擎引入了一個名為「BERT」(Bidirectional Encoder Representations from Transformers)的機器學習演算法,幫助前者更好地理解使用者在搜尋欄提出的問題。

引擎更新後有什麼改變?

簡單來說,加入 BERT 後的 Google 搜尋引擎,能夠更好地理解接近自然對話的長句子,因為它能更好地分析了解句子中單詞間的關係。

和傳統演算法不同的是,BERT 在分析詞語時,並不是依次從左到右或從右到左地逐詞分析,而是藉助Google 研發的 Transformer 模型並行分析詞語在整個句子中的關係。

比如,如果搜尋「math practice books for adults」(給成年人的數學練習冊),更新前的搜尋返回結果會將「adults」(成年人)變為「young adults」(年輕人),更新後則不會這樣。

此外,在介詞對整個句子意思影響較大的情況下,加入 BERT 後的理解能力也明顯優於從前。

搜尋「2019 Brazil traveler to usa need a visa」(2019 巴西旅客到美國需要簽證),在更新前,搜尋引擎沒有將「to」考慮在內,更多返回了美國旅客到巴西旅行的資訊。加入 BERT 後,「to」則沒有被忽略。

對於這次更新,Google 副總裁 Pandu Nayak 在官方部落格稱為「代表 5 年裡最大的跨越,也是搜尋史上最大的改進之一」。

目前,BERT 已應用到 Google 搜尋英文版,未來還將擴展到更多不同語言版本。

BERT 或能讓演算法更會「聊天」

據《Fastcompany》報導,為了訓練 BERT,Google 輸入了 11,038 本未經標註的書籍文本和合計 25 億字維基百科英文版的內容。

而且,研究人員還隨機「掩蓋」了文本單詞,讓演算法模型自行想法子「填空」。

學習完所有文本後,演算法開始找到一些在同一文本經常出現的句子和詞語規律,建立了對詞語的基本理解,而且還似乎開始「明白」詞語背後所代表的事物之間存在的關係,這就像一種「常識」。

舉個例子,從前如果在 Google 裡搜尋「do estheticians stand a lot at work」(美容師在工作時需要站很久嗎?),搜尋引擎會將「stand」(站)這個詞語套入「stand-alone」(獨立)的意思,因此無法返回搜尋者想要的消息。

加入 BERT 後,搜尋引擎則能理解,使用者所指的是「站立」的動作,再進一步,也可擴大理解為「美容師這個職業的體力勞動量」。

在處理過程中,系統需要表述它所理解的詞語意思,還有句子的結構及整體內容。結果就是,從某個程度來說,它對語言有一定了解。

這挺奇怪的,因為它對現實世界一無所知。它看不到,聽不到,什麼都沒有。

人工智慧科學家 Yann LeCun 說道。做為 Facebook 的副總裁,LeCun 帶領著團隊,透過對 BERT 進行優化,並輸入更大批量的學習資料,研發出了他們的自有模型「RoBERTa」。Google 原有的 BERT 準確率為 80.5%,而 RoBERTa 則可做到 88.5%。

但為什麼 Facebook 也要研究這個?

如果說當搜尋引擎更能理解使用者輸入的自然語言,反饋更有幫助的內容,那這個改進移植到智慧語音助手上也是可預見的。

和很多科技巨頭公司一樣,Facebook 也在研發智慧語音助手,提升演算法對自然語言的處理能力也是必須。

▲ Facebook 今年宣布將為 Portal 研發語音助手。(Source:Digital Trends

但在語音助手之前,他們先從相對簡單的文本對話入手,做了聊天機器人,而且準備在 RoBERTa 的基礎上擴展更多功能,讓演算法和人聊起天來更自然。

據 LeCun 介紹,很多聊天機器人都會「把天聊死」。

比如,很多機器人講話會自相矛盾。

前一分鐘可能和你說「XXX 的新單太棒了,趕緊一起去打榜」,下一分鐘就說「追星的人都傻」。這主要是因為它們背後是固定資料庫,收到特定的關鍵詞就會調出對應回答。而那些真的是自己生成答案的機器人,又會為了規避自相矛盾而用模糊的答案來回應,顯得冷冰冰。

此外,現有聊天機器人大多知識領域很局限。一旦聊天的人改話題,聊到它不認識的事物,機器人就接不了話。

為此,Facebook 現在正向自己的演算法輸入來自各種領域的大量資訊,並嘗試將這些資訊以更自然的方式加入對話。

未來,他們還計劃教導機器人「引導話題」──當聊天者將話題扯到比較泛的領域時,將內容拉回到特定任務上。

我們相信,我們已經很接近創造出一個能和人們聊下去的機器人。

Facebook 研究人員 Jason Weston 告訴《Fastcompany》。在那天到來之前,希望能練就不被聊天機器帶著走的技能。

(本文由 愛范兒 授權轉載;首圖來源:pixabay)原文出處: Google 幫搜尋引擎加入有「常識」的演算法