當(dāng)前,深度學(xué)習(xí)之于自然語言處理,有其局限性。那么它所能起作用的邊界在哪里呢?對此問題,我們應(yīng)當(dāng)深思。
近日,在北京語言大學(xué)舉辦的第四屆語言與智能高峰論壇上,華為諾亞方舟實驗室語音語義首席科學(xué)家劉群教授高屋建瓴,細(xì)致分析了深度學(xué)習(xí)時代NLP的已知與未知。
他從自然語言處理基于規(guī)則、統(tǒng)計到深度學(xué)習(xí)的范式遷移出發(fā),探討了深度學(xué)習(xí)方法解決了自然語言處理的哪些問題以及尚未解決哪些問題。
劉群教授認(rèn)為尚未解決的這些問題最終是由深度學(xué)習(xí)的四大邊界——數(shù)據(jù)邊界、語義邊界、符號邊界和因果邊界所共同造成的。要想在這些尚未解決的問題上尋找突破,需要從深度學(xué)習(xí)的這些邊界出發(fā),去探索新的解決方案。
這個報告主題為《基于深度學(xué)習(xí)的自然語言處理:邊界在哪里?》。可謂是站在 NLP 塔尖上對整個領(lǐng)域的復(fù)盤。
我們一起來看劉群教授本次的報告正文:
感謝大會給我這個機會來這里跟大家進行一次交流。今天我不講我的具體工作,而是講我多年來研究機器翻譯、自然語言處理的一些體會和感想,從更加抽象的層面討論一些問題,這些想法不一定成熟,如有不恰當(dāng)?shù)牡胤剑M蠹抑刚?/p>
自然語言處理的范式遷移:從規(guī)則、統(tǒng)計到深度學(xué)習(xí)
相信大家對自然語言處理的范式遷移,都深有體會。以機器翻譯為例,很多年前大家都是采用基于規(guī)則的方法,基本思想是依靠人來寫規(guī)則并教機器如何去翻譯。后來,大家也慢慢發(fā)現(xiàn)這條路走不通,因為人不可能將所有的規(guī)則都寫窮盡,并且也寫不出大量太細(xì)的規(guī)則。
因此大家之后就轉(zhuǎn)向了基于統(tǒng)計的機器翻譯方法,即給機器一堆語料讓機器自己去學(xué)習(xí)翻譯規(guī)則,不過它學(xué)到的還是一些符號層面的規(guī)則,但被賦予了概率。到一定程度后,統(tǒng)計機器翻譯就遇到了一些瓶頸,也很難再度提高。
隨著這幾年來深度學(xué)習(xí)方法的引入,機器翻譯的水平又有了一個大幅提高,使得機器不再在符號層面做翻譯,而是將整個推理過程映射到一個高維空間中,并在高維空間中進行運算。不過,我們只能理解輸入輸出而不知道其在高維空間中具體如何進行運算的,并且機器自動學(xué)習(xí)了什么東西,我們也說不太清楚。
下面我試圖來探討幾個問題:一是深度學(xué)習(xí)解決了自然語言處理的哪些問題?二是還有哪些自然語言處理問題是深度學(xué)習(xí)尚未解決的?三是基于深度學(xué)習(xí)的自然語言處理,其邊界在哪里?
深度學(xué)習(xí)解決了自然語言處理的哪些問題
自然語言處理領(lǐng)域有很多難題,此前研究者費了好大勁去解決的問題,深度學(xué)習(xí)方法出現(xiàn)以后,一些問題被很好地解決了,或者雖然還沒有徹底解決,但是提供一個很好的框架。這些問題主要包括:詞語形態(tài)問題、句法結(jié)構(gòu)問題、多語言問題、聯(lián)合訓(xùn)練問題、領(lǐng)域遷移問題以及在線學(xué)習(xí)問題。這里我主要講下前四個問題,不對后兩個問題進行展開。
詞語形態(tài)問題
詞語形態(tài)問題,即 Morphology,研究的是詞的構(gòu)成。在中文中,它體現(xiàn)在詞的切分上,在英語等大部分其他語言中則主要體現(xiàn)在形態(tài)的分析上。其中詞語切分在包括機器翻譯在內(nèi)的中文信息處理中,曾是一個非常令人頭痛的問題,我們也花了很多精力去解決。
在基于規(guī)則和基于統(tǒng)計的機器翻譯方法下,詞語形態(tài)分析是機器翻譯首先需要解決的問題。
對于中文而言,由于基于漢字的翻譯效果很差,因而分詞是必須解決的問題,也就是說如果不做分詞或分詞做得不好,即便用統(tǒng)計方法,效果也會很糟糕。然而分詞本身又面臨很多問題,因為中文詞語本來就不是一個定義很明確的單位,導(dǎo)致分詞缺乏統(tǒng)一的規(guī)范,分詞粒度難以把握。
而中文以外的很多語言都存在形態(tài)問題,其中英文的形態(tài)問題比較簡單,因為英語詞的變化比較少。而很多其他語言的變化是很多的,例如法語有四五十種變化,俄語則更多。另外以土耳其和波斯語為例的黏著語,一個詞可能有上千種變化,即一個詞后面可以加很多種詞綴,這對于自然語言處理尤其是機器翻譯而言,是非常棘手的。
而且對于這些形態(tài)豐富的語言而言,分析的難度也很大,一般只有語言學(xué)家才能把詞語的形態(tài)說得比較清楚。同時,形態(tài)本身其實是一層結(jié)構(gòu),所有統(tǒng)計機器翻譯都建立在某種結(jié)構(gòu)的基礎(chǔ)上,例如詞語層、短語層、句法層,或者說基于詞的、基于短語、基于句法的方法,那如果想在這些結(jié)構(gòu)中再加入一層形態(tài)結(jié)構(gòu),統(tǒng)計機器翻譯的建模就會變得非常困難。
在統(tǒng)計機器翻譯時代,復(fù)雜形態(tài)的語言處理非常困難,對此有一個比較著名的方法叫做 Factored statistical machine translation,即基于要素的翻譯方法,就是將一個詞分成很多要素,然后分別翻譯每個要素,最后匯總起來。不過我很不喜歡這個方法,因為我認(rèn)為它不夠優(yōu)雅,且非常冗余,效果也不是很好。
然而語言形態(tài)這個問題在神經(jīng)網(wǎng)絡(luò)框架下就基本不成問題了,這個領(lǐng)域的研究者對中文分詞的討論也不太多了,雖然也有一些關(guān)于如何在神經(jīng)網(wǎng)絡(luò)框架下將詞分得更好的探索,我也看到過幾篇挺有意思的相關(guān)文章,但是對于機器翻譯而言,中文分詞已經(jīng)構(gòu)不成根本性挑戰(zhàn)了,因為現(xiàn)在機器翻譯基本上可以不做分詞了,大部分中文機器翻譯系統(tǒng)基本上基于漢字來實現(xiàn),性能跟基于詞的系統(tǒng)比沒有太大區(qū)別。
針對形態(tài)復(fù)雜的語言,現(xiàn)在提出了一種基于subword(子詞)的模型或基于character(字符)的機器翻譯模型,效果也非常好。我認(rèn)為這是一個統(tǒng)一且優(yōu)雅的方案。
自動化所張家俊老師他們的一篇論文就介紹了基于子詞的模型方案的解決思路,如下圖所示,第一行是標(biāo)準(zhǔn)的中文,第二行是做了分詞以后的。現(xiàn)在一般系統(tǒng)基于漢字即可,就是第三行,但是我們也可以做分詞,比如第五行做BPE,將“繁花似錦”分成“繁花”、“似”、“錦”這三個子詞部分。
基于字符的模型則是從字母的層面來做,對英文一個字母一個字母地建模和翻譯,翻譯效果也非常好。所以我認(rèn)為在神經(jīng)網(wǎng)絡(luò)框架下,形態(tài)問題基本上不是什么太大的問題。
句法結(jié)構(gòu)問題
下面看句法結(jié)構(gòu)問題。
無論是在基于規(guī)則還是基于統(tǒng)計的機器翻譯框架下,句法分析對機器翻譯的質(zhì)量都起著重要的影響作用。其中在基于統(tǒng)計的機器翻譯中,基于短語的方法獲得了很大成功,因此現(xiàn)在大部分統(tǒng)計方法都不做句法分析。
但是對于中英文這種語法結(jié)構(gòu)相差較大的語言而言,做句法分析要比不做句法分析的結(jié)果好很多,所以句法分析還是很重要的。不過句法分析難度很大,一方面會帶來模型復(fù)雜度的增加,另一方面句法分析本身存在的錯誤會影響翻譯的性能。
而目前在神經(jīng)網(wǎng)絡(luò)機器翻譯框架下,神經(jīng)網(wǎng)絡(luò)可以很好地捕捉句子的結(jié)構(gòu),無需進行句法分析,系統(tǒng)可以自動獲得處理復(fù)雜結(jié)構(gòu)句子翻譯的能力。
大概 2005 年至 2015 年期間,我一直在做基于統(tǒng)計的機器翻譯,也就是研究如何在統(tǒng)計方法中加入句法方法,在這么多年的研究中,我們提出了很多種方法也寫了很多篇論文,下圖中的這些模型概括了我們之前提出的那些方法。
我們的工作主要聚焦于樹到樹、樹到串的方法。美國和歐洲很多學(xué)者在做串到樹的方法,樹到樹的方法做得都比較少。另外我們還做了一些森林方法的研究,即如何避免句法分析錯誤。不過,這些問題在神經(jīng)網(wǎng)絡(luò)框架下基本上也不存在了。
舉例來說,“第二家加拿大公司因被發(fā)現(xiàn)害蟲而被從向中國運輸油菜籽的名單中除名”是一個好幾層的嵌套結(jié)構(gòu),但是機器翻譯的結(jié)果“The second Canadian company was removed from the list of transporting rapeseed to China due to the discovery of pests”在結(jié)構(gòu)上翻譯得很好。下面一個例子在結(jié)構(gòu)上也沒有什么錯誤。
神經(jīng)網(wǎng)絡(luò)機器翻譯方法是沒有用到任何句法知識的,僅憑從網(wǎng)絡(luò)中學(xué)到的復(fù)雜結(jié)構(gòu)就能實現(xiàn)這么好的效果,這樣的話,對機器翻譯來說做句法分析就沒有太大意義了。當(dāng)然句法結(jié)構(gòu)并不是完全沒有意義,現(xiàn)在也有不少人在研究,但是我認(rèn)為這已經(jīng)不再是機器翻譯的一個主要難點了。
多語言問題
曾經(jīng),我們機器翻譯研究者的一個理想,就是在基于規(guī)則的時代實現(xiàn)多語言翻譯。當(dāng)時很多人都在做多語言翻譯,甚至是中間語言翻譯,如下圖,中間語言翻譯其實是一個理想的方案,因為多語言的互相翻譯通過某個中間語言來實現(xiàn),是能夠節(jié)省很多成本的:如果使用中間語言,開發(fā)系統(tǒng)的數(shù)量隨翻譯語言的數(shù)量呈線性增長;否則,開發(fā)系統(tǒng)的數(shù)量隨翻譯語言的數(shù)量呈平方增長。
但在基于規(guī)則方法的機器翻譯時代,中間語言的方法是不可行的,正如日本機器翻譯專家 Makoto Nagao教授曾經(jīng)說過的一句話,當(dāng)我們使用中間語言的時候,分析階段的輸出結(jié)果必須采用這樣一種形式:這種形式能夠被所有不同語言的機器翻譯所使用。然而這種細(xì)微程度實際上是不可能做到的。
在基于統(tǒng)計方法的機器翻譯時代,普遍采用的是 Pivot 方法,即在兩個語言的互譯中,先將所有語言翻譯成英語,再翻譯成另一種語言。這樣的話就能夠使得多語言機器翻譯成為可能。
但是這種方法也存在一些問題,即會導(dǎo)致錯誤傳播和性能下降。另一方面,我們做多語言翻譯的另一個想法是希望能夠利用多語言之間互相增強的特點,即很多語言有相似的特點,因而如果無法利用上這種增強的話,這種方法就并非那么理想了。
在神經(jīng)網(wǎng)絡(luò)機器翻譯時代,谷歌就直接利用中間語言的方法做出了一個完整且龐大的系統(tǒng),將所有語言都放在一起互相翻譯以及將所有文字都放在一起編碼。雖然這個系統(tǒng)目前還不是很完美,但是距離理想的 Interlingua 已經(jīng)很接近了。
之后,谷歌又推出了Multilingual BERT,將104種語言全部編碼到一個模型里面,這在原來是不可想象的。
雖然這兩個方法現(xiàn)在還無法徹底解決多語言問題,但是它們整個框架非常漂亮,效果也非常好,所以我覺得針對這兩個方面,我們還有很多事情可以做。
聯(lián)合訓(xùn)練問題
在統(tǒng)計機器翻譯時代,因為各模塊都是互相獨立訓(xùn)練的,導(dǎo)致錯誤傳播的問題很嚴(yán)重,所以聯(lián)合訓(xùn)練也成為了提高性能的有效手段。
但聯(lián)合訓(xùn)練本身又會導(dǎo)致模型復(fù)雜度的大大增加,使得開發(fā)和維護變得困難。同時由于搜索范圍急劇擴大,系統(tǒng)開銷也嚴(yán)重增加。不僅如此,由于模塊太多,只能有限的模塊進行聯(lián)合訓(xùn)練,所以不可能將所有模塊都納入聯(lián)合訓(xùn)練。
而在神經(jīng)網(wǎng)絡(luò)機器翻譯框架下,端到端訓(xùn)練成為標(biāo)準(zhǔn)模式,所有模塊構(gòu)成一個有機的整體,針對同一個目標(biāo)函數(shù)同時訓(xùn)練,有效避免了錯誤傳播,提高了系統(tǒng)性能。
還有哪些自然語言處理問題深度學(xué)習(xí)尚未解決?
由于深度學(xué)習(xí)的應(yīng)用,我們以前費很大勁去做的一些事情,現(xiàn)在基本上不需要再去做了。但是深度學(xué)習(xí)本身還是存在很多問題的,包括資源稀缺問題、可解釋性問題、可信任問題、可控制性問題、超長文本問題以及缺乏常識問題等等。
資源稀缺問題
資源稀缺問題大家都很清楚,然而這個問題遠(yuǎn)比我們大部分人想象的要嚴(yán)重得多。一般而言,對于常見語言,機器翻譯可以做得很好,然而現(xiàn)實世界中有幾千種語言,曾經(jīng)就有一篇報告統(tǒng)計出 7000 多種語言,當(dāng)然有文字的語言并沒有這么多,其中絕大部分語言都是資源稀缺語言,并且絕大多數(shù)專業(yè)領(lǐng)域?qū)嶋H上也都是資源稀缺的領(lǐng)域。
以下面針對醫(yī)療領(lǐng)域的 WMT 2019 評測為例,它的語料庫包括 3000多個文檔、4 萬多個句子。在機器翻譯領(lǐng)域,幾百萬個句子的語料已經(jīng)是小數(shù)量的了,商業(yè)系統(tǒng)基本上都有好幾千萬句子的訓(xùn)練語料。然而這里才4萬多個句子,是存在嚴(yán)重資源稀缺問題的,翻譯的質(zhì)量也非常糟糕,基本上是不可接受的。另外從數(shù)據(jù)上來看,西班牙語有10萬多個,法語有7萬多個,中文沒有,也就是說基本收集不到中文醫(yī)療領(lǐng)域的翻譯數(shù)據(jù)。
在工業(yè)界,想要解決的大部分問題都是沒有標(biāo)注語料的,需要自己去標(biāo),然而也基本上沒有那么多錢去對很多的語料做標(biāo)注。所以資源稀缺問題要比我們想象的嚴(yán)重得多。
資源稀缺對神經(jīng)網(wǎng)絡(luò)機器翻譯的影響很大。從下圖來看,上面兩條線指基于統(tǒng)計的機器翻譯方法,下面這條線指神經(jīng)網(wǎng)絡(luò)機器翻譯方法,我們可以看到神經(jīng)網(wǎng)絡(luò)的方法只有在語料很多的情況下,表現(xiàn)才能超過統(tǒng)計方法,在語料不夠大時,表現(xiàn)并不比統(tǒng)計方法更好。
可解釋性問題和可信任問題
我們給神經(jīng)網(wǎng)絡(luò)輸入一個東西,它就會輸出一個結(jié)果,然而其在高維空間的計算過程我們是不知道的,這就存在可解釋問題。但我認(rèn)為這個問題的嚴(yán)重性要視情況而定,我們有時候需要解釋性,卻并不是所有時候都需要解釋性,比如人腦做決定,有時間可能只是靈機一動的靈感,至于怎么來的,人自己都不一定能夠解釋得清楚。
而可解釋性帶來的一個更重要的問題是可信任問題。一些關(guān)鍵性領(lǐng)域如醫(yī)療領(lǐng)域,比如說病人看病,如果系統(tǒng)給出一個癌癥的診斷而無法給出理由的話,病人是不敢治療的。所以在這些關(guān)鍵性的應(yīng)用上,可解釋性是非常重要的,因為這個問題會導(dǎo)致信任問題。
機器翻譯中的一個可信任問題是翻譯錯誤。比如說重要的人名、地名和機構(gòu)名是不應(yīng)該翻錯的,以翻譯美國政府的一個工作報告為例,如果使用之前的語料來訓(xùn)練,機器就會直接將美國總統(tǒng)(特朗普)翻譯成布什總統(tǒng)了,這就是一個很嚴(yán)重的錯誤了。
第二個可信任問題是翻譯出來的意思與原意相反,這在機器翻譯中也很常見,且較難避免,因為這種意思相反的表達在語料庫中的統(tǒng)計特征是非常接近的,都是在陳述同一件事情,因此在機器翻譯中很容易導(dǎo)致翻譯出與原意相反的結(jié)果。
第三個可信任問題則是機器翻譯犯一些過于幼稚的、完全不該犯的問題,這就會直接給人帶來不信任感。
可控制性問題
由于系統(tǒng)有時候的效果總不能令人滿意或總出現(xiàn)錯誤,所以我們希望系統(tǒng)變得可控,即知道怎么對其進行修改從而避免犯這種錯誤。
基于規(guī)則的機器翻譯方法中,我們是可以通過修改規(guī)則來糾正;基于統(tǒng)計的機器翻譯方法,雖然改的方式繞一點,但是統(tǒng)計的數(shù)據(jù)都是可解釋的,我們可以在其中加上一個短語表來糾正,而在神經(jīng)網(wǎng)絡(luò)機器學(xué)習(xí)方法中,我們幾乎是不能進行修改的。
比如對于重要的人名、地名、機構(gòu)名、術(shù)語,我們希望機器嚴(yán)格按照給定的方式進行翻譯,不能隨便亂翻。我之前在愛爾蘭的時候帶學(xué)生做過這方面的比較早期的工作,目前的引用量還比較高,現(xiàn)在我們對這項工作進行了一些改進,可以比較好地解決機器翻譯的可控制性問題,但是這項工作還僅適用于機器翻譯這一特例,而無法做到通用化去解決神經(jīng)網(wǎng)絡(luò)在整個自然語言處理領(lǐng)域存在的可控制性問題。
超長文本問題
現(xiàn)在的神經(jīng)網(wǎng)絡(luò)機器翻譯在處理長文本方法取得了很大的進步。早期的神經(jīng)網(wǎng)絡(luò)翻譯系統(tǒng)常被人詬?。憾叹渥臃g得好但長句子卻翻譯得很糟糕。而現(xiàn)在,這種情況已經(jīng)得到了非常大的改善,一般的長句都翻譯得不錯,但漏翻等小錯誤還是不可避免。
現(xiàn)在基于長文本訓(xùn)練的語言模型如BERT、GPT,其訓(xùn)練的文本單位一般都是幾百字到上千字,所以長度在這個范圍內(nèi)的文本處理沒有太大問題,并且 GPT生成一千字以內(nèi)的文本都可以生成得非常流暢。
目前機器翻譯能夠處理比較長的文本,但是不能說長文本問題就解決了,它本身還存在很多挑戰(zhàn):
一個是基于篇章的機器翻譯問題,不光是我們,學(xué)術(shù)界還有很多同行都在研究這個問題?;谄碌臋C器翻譯實驗證明,對改進翻譯質(zhì)量起作用的上下文只有前1-3個句子,更長的上下文反倒會降低當(dāng)前句子的翻譯質(zhì)量。按理來說,上下文更長,機器翻譯的效果應(yīng)該是更好的,那為什么反而翻譯得更差呢?這是不合理的。
另一個是預(yù)訓(xùn)練語言模型問題?,F(xiàn)在機器翻譯的訓(xùn)練長度一般是幾百字到上千字,然而實際處理的文本可能不止一千字,比如說一篇八頁的英文論文,起碼都兩三千字了。因此預(yù)訓(xùn)練語言模型在實際處理更長文本的時候,還是會遇到很多問題,這種情況下,語言模型消耗計算資源巨大,計算所需時空消耗會隨著句子長度呈平方或者三次方增長,所以現(xiàn)有模型要想支持更長的文本,還有很多問題尚待解決。
缺乏常識問題
這里我以不久前去世的董振東先生提供的例子為例(如下圖所示),“bank”是翻譯中一個經(jīng)典的歧義詞,有“銀行”和“岸”的意思,在什么語境下翻譯成哪個意思,對于人來說很容易理解,但是即使有 fishing、water這樣的相關(guān)提示詞存在,谷歌翻譯器還是將這個詞翻譯成了“銀行”。在神經(jīng)網(wǎng)絡(luò)機器翻譯時代,這種常識性錯誤依舊比較普遍存在。
另外一個例子就是 GPT 的文本生成。GPT 在文本生成方面已經(jīng)做得很好了,然而即便如此,還是會犯很多常識性的錯誤。以下面這個經(jīng)典案例為例,前面人類輸入的句子是“在一項研究中,科學(xué)家們發(fā)現(xiàn)了一群獨角獸,它們生活在安第斯山脈一個偏遠(yuǎn)的還沒被開發(fā)山谷中,更令人驚訝的是這些獨角獸會說一口流利的英語”,其中“獨角獸會說一口流利的英語”在現(xiàn)實生活中是荒唐、完全不可能的事。然而,GPT系統(tǒng)就根據(jù)這一句話生成了一個故事。
故事寫得很漂亮,但是存在錯誤,比如第一句就是錯誤的,“科學(xué)家根據(jù)它們獨特的角,將它們命名為Ovid’s Unicorn,這些有著銀色的四個角的獨角獸是原來科學(xué)家所不曾見過的”這句話本身就矛盾,獨角獸怎么會有四個角呢?這是很明顯的一個邏輯錯誤。所以常識問題,在機器翻譯中依舊是一個非常嚴(yán)重的問題。
基于深度學(xué)習(xí)的自然語言處理,其邊界在哪里?
那自然語言處理中哪些問題是可以解決的,哪些是不可以解決的呢?這就涉及到它的邊界問題。我認(rèn)為深度學(xué)習(xí)有幾個重要的邊界:數(shù)據(jù)邊界、語義邊界、符號邊界和因果邊界。
數(shù)據(jù)邊界
數(shù)據(jù)邊界是限制當(dāng)前機器翻譯技術(shù)發(fā)展的約束之一,這個比較好理解,就是指數(shù)據(jù)不夠,這是現(xiàn)有方法無法解決的。
語義邊界
人工智能在很多領(lǐng)域都大獲成功,其中在圍棋、電子競技等項目上獲得的成功最大,包括早期還沒有深度學(xué)習(xí)乃至統(tǒng)計方法時,在 Winograd 系統(tǒng)上就很成功了,為什么會取得這么大的成功?
我認(rèn)為這是因為這些領(lǐng)域能夠?qū)陀^世界的問題進行精確建模,因此能做得很好;而現(xiàn)在自然語言處理系統(tǒng)大部分都無法對客觀世界進行精確建模,所以很難做好。另外比如像智能音箱、語音助手系統(tǒng)能夠取得一定成果,很大程度上也是因為這些系統(tǒng)對應(yīng)著明確定義的任務(wù),能對物理世界建模,不過一旦用戶的問話超出這些預(yù)定義的任務(wù),系統(tǒng)就很容易出錯。
機器翻譯的成功是一個比較特殊的例子,這是因為它的源語言和目標(biāo)原因的語義都是精確對應(yīng)的,所以它只要有足夠的數(shù)據(jù)而并不需要其他的支撐,就能取得較好的效果。
現(xiàn)在的自然語言處理系統(tǒng)大部分,還只是流于對詞語符號之間的關(guān)系建模,沒 有對所描述的問題語義進行建模,即對客觀世界建模。而人理解語言的時候,腦子里一定會形成一個客觀世界的影像,并在理解影像后再用自己的語言去描述自己想說的事情。
實際上,自然語言處理的理想狀態(tài)應(yīng)該是能夠?qū)陀^世界進行描述并建模,然而對客觀世界建模相當(dāng)復(fù)雜,實現(xiàn)并不容易。以顏色這個屬性為例,可以用三個 8 位數(shù)進行建模,可以組合出數(shù)千萬種顏色,但刻畫顏色的詞語只有數(shù)十個,詞語和顏色模型的對應(yīng)關(guān)系很難準(zhǔn)確地進行描述。
在機器翻譯的研究中,對客觀世界建模并不新鮮,早期的本體或者知識圖譜、語義網(wǎng)絡(luò),都是人類專家試圖對客觀世界建立通用性模型的一種長期努力,其中一項集大成的成果便是知識圖譜,但是它目前還沒有辦法很好地應(yīng)用到深度學(xué)習(xí)中來。不過,我認(rèn)為這是一個很值得探索的方向。
總而言之,我認(rèn)為自然語言處理的一個理想的改進方向就是做世界模型或語義模型,換句話說,就是不僅僅只做文本間的處理,還必須落地到現(xiàn)實世界中,去對現(xiàn)實世界建模,而知識圖譜這是其中一個較為值得探索的具體方向。
符號邊界
心理學(xué)家將人的心理活動分為潛意識和意識,用我的話來理解就是,可以用語言描述的心理活動稱作意識,而無法用語言描述的心理活動稱為潛意識。
神經(jīng)網(wǎng)絡(luò)實際上則是潛意識的行為,可以輸入語言和輸出語言表達,但是無法對整個推理和計算過程進行描述,這本身就是它的一個重要缺陷。
舉一個簡單的例子:使用有限狀態(tài)自動機,可以精確地定義一些特定的表示形式,如數(shù)詞、年份、網(wǎng)址等等,但再好的神經(jīng)網(wǎng)絡(luò)也很難準(zhǔn)確地學(xué)習(xí)到有限狀態(tài)自動機的表達能力,這是很多實用的自然語言處理系統(tǒng)仍然離不開符號這種規(guī)則方法的原因。
因果邊界
人類對客觀世界中發(fā)生的事情中的因果關(guān)系都有明確的理解。所以很容易去蕪存真,抓住問題的本質(zhì)。
神經(jīng)網(wǎng)絡(luò)無法做到這一點,它根據(jù)數(shù)據(jù)學(xué)習(xí)到的東西去做出判斷而并沒有理解真正的因果關(guān)系,即并不知道哪些因素是事情發(fā)生的真正原因,哪些是輔助性的判斷依據(jù),因而很容易做出錯誤的判斷 。
實際上,僅僅根據(jù)統(tǒng)計數(shù)據(jù)進行推斷,很難得到真正的因果關(guān)系。真正的因果關(guān)系,只有通過精心設(shè)計的實驗才能得出,例如藥物的有效性,美國、中國藥物局都需要花上幾十年的時間做實驗,最終才能確定出一個因果關(guān)系,相當(dāng)不容易。
今天我講了基于深度學(xué)習(xí)的自然語言處理依舊面臨的幾個問題,而我認(rèn)為這些問題最終是由我前面提到的四個邊界造成的,并且不是由邊界中的某一個造成,而是由多個邊界的共同干擾所造成的。對此,我用一個關(guān)系圖來描述這種對應(yīng)關(guān)系,如下圖所示。
附:問答部分
聽眾提問:在統(tǒng)計機器翻譯時代,有分詞分析、句法分析以及語義分析等共性任務(wù),那在神經(jīng)網(wǎng)絡(luò)機器翻譯時代是否也有這樣一些共性任務(wù)呢?
劉群:顯然是有的。一個是預(yù)訓(xùn)練語言模型,它實際上就是在將語言當(dāng)成一個共性任務(wù)來處理,其之所以現(xiàn)在取得這么大的成功,我認(rèn)為某種程度上就是因為這種共性任務(wù)的處理方式。
第二個是知識圖譜,它其實也是一種共性任務(wù),這個領(lǐng)域的研究者做了這么多年的研究,我認(rèn)為是非常有意義的,所以我們現(xiàn)在也在想辦法將知識圖譜和自然語言處理結(jié)合起來做研究。
另外在手機助手、音箱等語音對話系統(tǒng)中,也能夠體現(xiàn)這種共性任務(wù),比如說系統(tǒng)中的多個技能,包括控制家電、播放音樂等,如果進行單個處理的話,各項技能之間會“打架”,因此就需要將這些問題進行共性任務(wù)處理,這樣的話就會變得非常復(fù)雜,所以對話系統(tǒng)在這種共性任務(wù)上的研究,是比較值得探索的。
感謝劉群教授對本文內(nèi)容的審閱和確認(rèn)。 雷鋒網(wǎng)(公眾號:雷鋒網(wǎng))雷鋒網(wǎng)雷鋒網(wǎng)