1
今年8月,雷鋒網(wǎng)將在深圳舉辦盛況空前的“全球人工智能與機器人峰會”,屆時雷鋒網(wǎng)將發(fā)布“人工智能&機器人Top25創(chuàng)新企業(yè)榜”榜單。目前,我們正在拜訪人工智能、機器人領(lǐng)域的相關(guān)公司,從中篩選最終入選榜單的公司名單。
如果你也想加入我們的榜單之中,請聯(lián)系:2020@leiphone.com。
圖片來源:Indy100
上周,谷歌發(fā)布了Parsey McParseface(對于一個挑戰(zhàn)人工智能領(lǐng)域最難問題的尖端技術(shù),這也真是迷之命名)。雖然過去的五年,計算機完成了許多了不起的壯舉——從贏得“Jeopardy!”(編者注:美國一項智力問答游戲電視節(jié)目,2011年IBM華生(Watson)計算機與比賽中的人類選手一決高下,贏得了比賽冠軍)到打敗世界圍棋冠軍,可是計算機還是沒法理解人類所說的語言。語言是人類最復(fù)雜的日常功能之一。因此,可以解讀人類語言的McParseface才會引起人們的熱切關(guān)注。
McParseface的能力相當于大小學生級別:將句子分解、識別名詞和動詞、并理解句子中的所有部分怎么樣互相聯(lián)系起來。舉個例子,它可以告訴你句子中的動詞原形,誰是動詞相關(guān)的主語、誰又是賓語。
這聽起來不是很高級,但這是通往人與機器人用自然語言溝通的重要一步。要讓Siri能夠理解“你能幫我找找更多的貓咪照片嗎?”,Siri首先必須得知道自己得找什么,它必須首先理解什么是“貓咪照片”。
要理解一個句子的語法結(jié)構(gòu)看起來非常簡單。我們?nèi)祟惷刻觳恍枰匾馑伎季涂梢宰龅搅?。但是,有時候我們的大腦也會繞暈。不信你試試下面的這些句子:
The horse raced past the barn fell. (中文直譯:馬兒跑過了谷倉摔。)
在英語中,這句話乍一看完全看不懂。如果去掉最后的一個單詞,“The horse raced past the barn”是一個很完整的句子,為什么最后多出來一個單詞“fell”?難道馬兒跑過的那個東東不是“谷倉”,而是“谷倉摔”(什么鬼)?
整句話感覺一點都不通順,但是如果換一種結(jié)構(gòu),那語義上就通順了:
The horse (that was raced past the barn) fell.(中文直譯:被用來跑過谷倉的馬兒摔了。)
這就是語言學中被稱為“花園小徑”句子的一個著名例子(編者注:這種句子的實際結(jié)構(gòu)與意義與讀者最初所理解的結(jié)構(gòu)或意義不同,由于詞匯歧義或語法歧義,對讀者的語義理解造成了困難。因為句子中詞語或詞組可以按照不同的方式組合,在語法結(jié)構(gòu)分析圖中會像花園小徑一樣分叉延伸,因而被稱作“花園小徑”句子。)你開始讀的時候,你會相信句子是這個意思。但是當你讀完整句,你會發(fā)現(xiàn)之前自己想錯了。這句話中的動詞原形是“fell”(摔)而不是“raced”(跑)。句子的核心骨架是“The horse fell(馬兒摔了)”。其他的詞語都是修飾。
即便是人,讀這樣的句子也會搞錯意思——這是理解自然語言的困難之一。一不小心事情就變復(fù)雜了。“中等長度的句子——例如20至30個詞語的長度——可能會有幾百、幾千甚至幾萬種可能的語法結(jié)構(gòu),這不是什么稀罕事。”谷歌研究員Slav Petrov在關(guān)于Parsey McParseface的一篇博客文章中這樣寫道。
通常,我們的大腦會利用語境和真實世界中的知識(簡稱“常識”),來排除不可能的語義解讀。例如,如果有人說“爸爸用藍莓混合面團”,我們會認為藍莓是面團中的一種原料——而不會認為,藍莓是爸爸混合面團時所使用的某種搟面工具。
花園小徑句子則讓我們的直覺誤導(dǎo)了我們。這種句子會結(jié)合一些常見詞組,讓我們以為這是一種以前出現(xiàn)過很多次的句子。讀著讀著,我們就會發(fā)現(xiàn),不對!我們又被誤導(dǎo)了。花園小徑句子中的詞語排列很罕見,有時候我們會愣住,然后在腦子中拼命搜索所有的可能性。(難道“horse”(馬)這里當做動詞使用?難道“fell”(摔)此處是當做名詞使用?“raced”(跑)有沒有我沒想到的別的含義?)
語言的難度不只是搞笑的繞口令?!按蟛糠诌@些句子都是心理語言學家發(fā)明的,專門用來誤導(dǎo)人類的大腦。”MIT認知科學家Ted Gibson說?!拔覀儼l(fā)明了這些例子,來測試人類大腦是如何理解語言的。”科學家們觀察人們?nèi)绾螒?yīng)付這些繞口令一樣的奇怪句子,從而發(fā)現(xiàn)了大腦是如何讓語言理解(至少大部分時候)都非常簡單。
那些讓你懵逼的花園小徑句子,在人工智能看來如何呢?也許我們會覺得人都被玩懵逼了,人工智能當然比更加沒轍了??墒墙Y(jié)果讓人吃驚,Parsey McParseface的表現(xiàn)還挺不錯的。
這個來自谷歌的動圖給我們解釋了SyntaxNet的原理,SyntaxNet就是支持McParseface的系統(tǒng)。
句子“I booked a ticket to Google."(我預(yù)定了一張去谷歌的車票。)軟件從左到右閱讀,嘗試了各種詞組結(jié)合的可能性并進行分析,當閱讀完最后一個詞語后,軟件認為"I"(我)為主語、"booked"(預(yù)定)為動詞、"tickect to Google”(去谷歌的車票)是賓語的可能性最高。圖片來源:Indy100
Parsey McParseface閱讀句子的方法和人類挺像的。它按順序,從左到右處理文字;當它閱讀到句子結(jié)尾的時候,它會判斷哪一種句子語法組合的可能性最高。我們剛才舉例的那個句子中,軟件進行了兩種句子語法可能性的猜測。第一種將“raced”(跑)作為句子的動詞原形,不正確。第二種將“fell”(摔)作為句子中的動詞原形,正確。
當然,這種人工智能的習慣還不完美。谷歌稱,當研究員從報紙中摘取了一些句子來讓Parsey McParseface識別其中的動詞原形,軟件可以達到94%的精確度。這比其他一些與之競爭的系統(tǒng)要更好一些。(在最近的一篇論文中,谷歌炫耀了Parsey McParseface的一個強化版本,精確度比這更高。至于其他競爭系統(tǒng),你可以點擊鏈接,試試斯坦福大學NLP的某個版本。如果你想試試更簡單、不過更加快速的語言分析器,可以試一試spaCy。你得在自己的電腦上下載Parsey McParseface,有點麻煩。)
Parsey McParseface竟然可以搞定花園小徑句子。我測試的時候,軟件成功解讀了以下句子:
The old man the boat.
While the man hunted the deer ran into the woods.
While Anna dressed the baby played in the crib.
后文會有關(guān)于這些句子正確與錯誤意思的分析。雖然上面幾個句子都沒問題,我用下面的這些句子把Parsey McParseface玩懵逼了:
I convinced her children are noisy.
The coached smiled at the player tossed the Frisbee.
The cotton clothes are made up of grows in Mississippi.
(如果你自己也懵逼了,不要捉急慢慢看——或者,直接跳去文末看解答。)
當我把這些例子給谷歌一位發(fā)言人看的時候,他也同意,AI領(lǐng)域還有進步的空間。不過話說回來,好多人類也看不懂我寫的句子,還是不要去隨便怪計算機太蠢。
而且,話說回來,真實生活中沒有人是這樣說話的。Gibson解釋道,這種語法難題是為誤導(dǎo)大腦而專門設(shè)計的——為了看看人們?nèi)绾螒?yīng)對這種情況。
“人類的語言真的是非常復(fù)雜?!盙ibson說,“任何一個正常長度的句子,都有幾千幾萬種可能的解讀方式。”語言學的一個重要問題,就是人類如何從這么多的可能性中,快速挑選出正確的選項。
花園小徑句子的試驗顯示了我們極度依賴經(jīng)驗。我們可以依靠直覺,感覺出這個詞組模式是常見還是罕見的。我們更傾向于常見的詞語或者詞組——對于這些詞,我們理解得更快。詞語越是熟悉,解碼句子語法也就越簡單。這種傾向讓我們可以輕松應(yīng)對日常生活。但是遇到花園小徑句子的時候,我們的弱點也就暴露了。
例如這句話:“The cotton clothing is made up of grows in Mississippi.”(正確含義為“用來做衣服的棉花是在密西西比種植?!保侨藗冮喿x的時候會以為“cotton clothing”(棉質(zhì)衣物)是一個不可分的詞組。)我們很容易被誤導(dǎo),以為這句話講的是“棉質(zhì)衣物”,因為“cotton clothing”這個詞組非常常見。
又例如這句話:“While the man hunted the deer ran into the woods.”(直譯為“當男人捕獵鹿跑進樹林?!闭_意思為:“當男人捕獵的時候,鹿跑進樹林?!钡钦`導(dǎo)含義中,男人在捕獵鹿,因為“hunt the deer”(捕獵鹿)像是一個連續(xù)不可分的詞組。)我們立刻會認為句子中說的那個人在獵鹿,不只是因為捕獵鹿是一種我們能夠想象、理解其含義的事物,還因為,我們習慣于看見“hunt”(捕獵)這個詞與某個獵物聯(lián)系起來的詞組。
如果要讓句子更容易理解,我們可以說:“While the man hunted the vice president ran into the woods.”(直譯為”當男人捕獵副總統(tǒng)跑進森林?!保┻@聽起來還是比較別扭,但是比上面那個句子更容易看懂,因為,怎么說呢,就算捕獵鹿對你來說是一件非常稀罕的事情,你也會感覺在樹林中捕獵鹿的幾率,還是要比捕獵副總統(tǒng)的幾率高一些吧。
關(guān)于花園小徑句子研究還在繼續(xù)。研究人員發(fā)現(xiàn),人們經(jīng)常以自相矛盾的奇怪方式解讀句子,例如以下的這個句子:
“While Anna dressed the baby played in the crib.”
當你閱讀這句英文句子的時候,一開始你可能會以為Anna正在給小寶寶穿衣服,Anna是主語,而小寶寶(the baby)是“dress”(穿衣)這個動詞的賓語,因為“dress the baby”(給小寶寶穿衣)是一個非常常見的詞組。但是當你讀到句子結(jié)尾的時候可能就懵逼了,你可能會意識到,“the baby”(小寶寶)并不是“dress”(穿衣)這個動詞的賓語,而是“played in the crib”(在搖籃中玩耍)這個動作的主語,也就是說,是這句話真正的主語。如果這句話中加個逗號,就可以排除歧義了:
“While Anna dressed, the baby played in the crib.”
因為“the baby”(小寶寶)是句子的主語,那就不能同時作為“dress”(穿衣)的賓語了。這樣的矛盾之處提醒我們再回句子開頭去看看。第二次閱讀句子,我們就意識到Anna應(yīng)該不是在給小寶寶穿衣,而是在給自己穿衣。
當研究員給人們測試這些句子的時候,研究員發(fā)現(xiàn)很多人對這句話的理解是這樣的:Anna既給自己穿衣,也給小寶寶穿衣。這就說不通了。Anna和小寶寶不能同時作為句子的賓語。研究員認為,這說明人們對于語言來說習慣于“偷懶”。人們喜歡走捷徑,懶得花力氣去把其中的語法結(jié)構(gòu)想透徹,除非是在萬不得已的情況下(例如語法考試?)。
沒玩夠?再來看一個句子:
“The coach smiled at the player tossed a Frisbee.”
如果直接翻譯,這句話就是“教練笑隊員扔一個飛盤?!边@其實與傳統(tǒng)的花園小徑句子完全相反,傳統(tǒng)的花園小徑句子,首先會把你誤導(dǎo)去一條錯誤的語法路徑上。這句話不是誤導(dǎo),簡直是綁架——你從正確的起點開始,最終都不知道被誤導(dǎo)到哪兒去了。
句子最重要的核心是頭六個詞:“The coach smiled at the player”。最后的三個單詞是額外的,為了讓你對于“the player”(隊員)有更多的了解。但是不知道怎么搞的,最后三個單詞把整句話都攪得不清不楚了。我們看了這個句子都很想搞明白,到底教練還是隊員扔了一個飛盤。
最近幾年在學術(shù)界,關(guān)于這句話到底怎么回事有很多爭論。傳統(tǒng)的語言處理理論都沒法解釋清楚,為什么這句話讓人如此繞不過來彎。
目前在MIT的認知科學家Roger Levy在幾年前提出了一個有趣的想法:也許人們覺得自己閱讀句子的時候誤解了什么,所以才如此懵逼。我們在日常生活中經(jīng)常碰到誤解的句子。Levy認為,我們的大腦也許想要預(yù)測那些在溝通中丟失的、含糊地咕噥出來的或者閱讀時被忽視的單詞,以修復(fù)完整的句子含義。這種模糊識別策略可以幫助我們修復(fù)“壞掉”的句子。然而在花園小徑句子的案例中,這項策略反而幫了倒忙。
有很多方式可以對這個句子進行微調(diào)。Levy在論文中提出了以下幾種方法:
The coach who smiled at the player tossed a Frisbee.(在句子中加入了單詞“who”修改了句子語法結(jié)構(gòu),語義變?yōu)椋合蜿爢T微笑了的教練,扔出了一個飛盤。)
The coach smiled as the player tossed a Frisbee. (在句子中加入了單詞“at”修改了句子語法結(jié)構(gòu),語義變?yōu)椋寒旉爢T扔出了一個飛盤,教練笑了。)
The coach smiled and the player tossed a Frisbee. (在句子中加入了單詞“and”修改了句子語法結(jié)構(gòu),語義變?yōu)椋航叹毿α?,然后隊員扔出了一個飛盤。)
The coach smiled at the player who tossed a Frisbee. (與第一句一樣,也是在句子中加入了單詞“who”修改了句子語法結(jié)構(gòu),但是由于位置不同,句子的語義變?yōu)椋航叹殞θ映鲲w盤的那個隊員微笑。)
The coach smiled at the player and tossed a Frisbee. (與第三句一樣,也是在句子中加入了單詞“and”修改了句子語法結(jié)構(gòu),但是由于位置不同,句子的語義變?yōu)椋航叹殞﹃爢T微笑,然后扔出了一個飛盤。)
當人們閱讀原本的句子的時候,也許腦海里腦補了以上所有的可能性,因此造成了困惑不知道句子到底是什么意思。
我們來看這句話:“The mother gave the candle the daughter.”(媽媽給蠟燭女兒。)對于這句話,Gibson說:“我們有時候都沒注意到這個句子有什么不對的地方,我們會自動把句子修改為‘The mother gave the candle to the daughter.’”
我們現(xiàn)在已經(jīng)看到了花園小徑句子的威力,完全可以把我們的大腦繞暈。今天學到的要點就是:語言很復(fù)雜,雖然我們平時都覺得說話很容易。當我們沒法好好說話的時候,可能才會發(fā)現(xiàn)語言真正的規(guī)則。所以,讓機器進行自然語言處理,也比我們想象得要難多了。
前面還有兩個沒有解釋的花園小徑句子,你都看懂了嗎?感謝你看完長文,答案拿去不謝:
The old man the boat.
解釋:通常我們會將“The old man”(老人)看成一個詞組,這樣就沒法理解本句話含義。“The old”省略單詞“man”也可以表達“老人”的意思,而“man”這個單詞則有語義歧義,既有“人”的意思也可以有“操縱、掌控”的意思,此處使用第二種意思就能理解本句話:“老人掌控著船?!?/p>
I convinced her children are noisy.
解釋:通常人們會認為“her children”是連續(xù)的詞組,這樣的話“are noisy”就會缺少主語,無法理解。可以在句子中加入逗號將“her children”打斷,從而避免歧義:“I convinced her, children are noisy.”(我說服她,小孩是很吵鬧的。)
Via Washington Post
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。