【演算法讀不懂『否定詞』?】工程師在 Amazon、Google 搜「無條紋襯衫」,結果都是有條紋的!

【我們為什麼挑選這篇文章】大家在搜尋引擎上搜尋關鍵字時,會有找不到自己想要東西的時候嗎?一名工程師試著在 Amazon 上搜尋「無條紋襯衫」,出來的結果卻都是有條紋襯衫,接著在 Google、Bing 上搜尋也都是同樣的結果,這些搜尋引擎的自然語言處理發生了什麼事?(責任編輯:賴佩萱)

本文經 AI 新媒體量子位(公眾號 ID:QbitAI)授權轉載,轉載請連繫出處

作者:量子位

說到工程師的衣服,大家會想到什麼?

自然是格子襯衫了。

但一個國外的工程師,對此感到厭倦,他不想再穿格子襯衫或條紋襯衫,於是他打開了亞馬遜網站,輸入了關鍵詞「無條紋襯衫」(shirt without stripes),結果卻是這樣的:

找件「無條紋襯衫」那麼難?

為什麼幾乎全部都是帶條紋的襯衫啊?

「一定是我打開的設定不對!」或者只是亞馬遜的自然語言處理(NLP)技術不夠好吧!他又接著嘗試了谷歌和微軟的搜尋引擎,結果卻還是這樣:

反正結果就算不是襯衫,也一定帶條紋,甚至還搜出了球衣。

如果把關鍵詞換成「沒有格子的襯衫」(shirt without plaid),結果還是讓人失望。

是不是感到這個世界滿滿的惡意?工程師想買個沒有格子的襯衫怎麼就這麼難!接著,這位工程師把搜尋結果上傳到 GitHub,短短十個小時就獲得了 300 星。

更讓人沒想到是,這件小小的事情影響範圍還在擴大,幾個小時就在 Hacker News 上帶了 400 多條評論。

看來有相同槽點想吐的人,並不少。

Siri 也出問題?

並且事情也「鬧大」了!

大家發現,何止搜尋引擎,現在你只需一個「不」就能讓 AI 助手變「人工智障」。

打開你的 Siri,和它說「不要告訴我天氣」,但 Siri 還是義無反顧地告訴了你天氣狀況。

那麼問題來了:為什麼 AI 會犯如此低級的錯誤呢?

人工智慧無法分辨否定字?

無論是搜尋商品圖片還是詢問天氣,加上了一個「不」或「無」字,就變得複雜起來。這個「不」到底是哪個部分做出否定,可能人類也說不清楚。

這類問題屬於「歸因」問題,可能是統計學方法不能解決的,這就觸及到機器學習的盲點了。

在上面的問題中,處理一個「不」還算比較清晰,但是在一些對準確性有要求的領域,會有很大的問題。比如「無癌症證據」,到底是得到了沒得癌症的證據,還是根本沒有證據呢?

這還算是比較簡單的,人類語言中還有很多雙重否定,有時候連人自己表達的時候都會犯錯。

演算法想學人類語言,必須先懂語言學

處理這類問題,不能使用過去的統計方法,而需要更多關注語法內在的邏輯性,語言學中的喬姆斯基學派的研究者就是這麼認為,但是涉及此類算法的研究很少,甚至很多從事算法的人對此並不感興趣。

一些從事機器學習研究的大型公司,他們研究的算法具有很大的適用性,但是在歸因等情況下,他們的語言模型可能會失敗。

而且神經網路尚未顯示出對此問題的改進。在說「不」這個問題上,各家的 AI 都不能通過圖靈測試,甚至顯得愚蠢。

加入自然語言處理後,搜尋引擎變聰明了嗎?

所以是不是「另有隱情」?是不是因為谷歌沒有在搜尋引擎裡用上 NLP 技術,所以才導致錯誤的結果?

實際上,谷歌去年 10 月就已經在英文版的搜尋引擎裡用上了 BERT(Bidirectional Encoder Representations from Transformers)。

過去,谷歌的搜尋更多的是基於單個單詞的理解。比如「2019 brazil traveler to usa need a visa」,以前的谷歌搜尋會基於 visa、usa、brazil 這幾個關鍵詞,而英文結果裡更多的是美國人諮詢去巴西,所以搜尋結果往往是相反的。

更新後的谷歌能夠理解「to usa」的含義,才能識別正確的結果。

於是這讓一些網友覺得,谷歌、亞馬遜研究多年的 NLP 技術不過如此,要理解人類語言還有很長的路要走。

不過,經過努力,電腦已經能夠搞清楚英文裡的「無癌症證據」(No evidence of cancer、Evidence of no cancer)兩者之間的差別。

Google 作為最大搜尋引擎,有可能帶頭解決嗎?

當然,還有一些技術之外的因素。任何搜尋引擎都繞不開 SEO 和廣告問題。

那些賣條紋襯衫的商家會透過各種優化手段,霸占「條紋」和「襯衫」這兩個關鍵詞的頭部位置,結果導致「no」和「without」之類的關鍵詞被忽略。

一些網友認為,是 SEO 的垃圾訊息毀了搜尋引擎,同時廣告還是谷歌搜尋的重要收入來源,谷歌自己可能也無心解決——這一點自然無法妄加揣測。

不過,我們也用最大的中文搜尋引擎試了試,發現也是一樣的結果:

但往好的一面看,這也意味著時代之問有解了。之前,總有人「抬槓」,在人工智慧的時代裡,你無法判斷跟你交流的是人類還是 AI……

但現在,關鍵來了:機器是不能說「不」的。

(本文經 AI 新媒體量子位 授權轉載,並同意 TechOrange 編寫導讀與修訂標題,原文標題為 〈程序員:我只想買件沒有格子的襯衫,怎麼就這麼難?〉。)

你可能會有興趣


科技報橘 LinkedIn 上線!

最新科技產業動態、技術新突破、專業職能技巧提升 ....... 鎖定 TO  LinkedIn 專業品牌,提升職能與產業 Know-how,躋身產業菁英之列 https://www.linkedin.com/showcase/techorange

點關鍵字看更多相關文章: