【我們為什麼挑選這篇文章】大家在搜尋引擎上搜尋關鍵字時,會有找不到自己想要東西的時候嗎?一名工程師試著在 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 編寫導讀與修訂標題,原文標題為 〈程序員:我只想買件沒有格子的襯衫,怎麼就這麼難?〉。)
你可能會有興趣
- 數據科學家、工程師們有福啦!Google「數據搜尋引擎」正式上線
- 工研院「AI Clerk」系統幫搜尋引擎開外掛,想問啥就問啥不用再記關鍵字
- 當領帶也要 Debug 時,Coding 變成服裝設計師必備技能?
TO 有 Twitter 了 -> https://twitter.com/TechOrangeTW