自然語言處理成為未來差什么
說起實現各種各樣的智能系統,大家都認為“善解人意”應該是一個最起碼的條件,一個繞不過去的條件。實現它的一個重要的橋梁就是語言。
拿語言說事,這個我們見得很多了。剛才講的圖靈測試,實際上就是要通過這個對話,通過語言來判斷隱藏在那個不可見的位置跟你對話的到底是人還是機器。
還有中文屋子,大家如果關心智能問題的話也都會比較熟悉,一個屋子里的人不懂中文,只懂英文,但可以執行特定的規則,把符號搬來搬去,最后效果是把英文翻譯成中文,問題是,到底誰懂中文?
另外,從亞里士多德到布爾,從萊布尼茲到維特根斯坦,實際上哲學在20世紀初有一次重要的“語言學轉向”,就是從拍腦袋的思辨到針對文本,看我們的理解,我們的定義,什么時候出現了問題。
語言學里面也有人思考,表現在外部語言和腦子里面的概念的關系,到底是不是一一對應的。今天看到楊義先老師講“孝”這個字的英文到現在沒有對應的貼切翻譯。 有人舉例子說,蒙古人關于馬的詞匯好幾十種,愛斯基摩人對雪的詞匯也有好幾十種,我們不生活在馬和雪的世界的人就很少。是語言造就了概念,還是概念造就了 語言?是全人類有共同的概念,還是有一種語言就塑造一套概念?看來這確實是個問題。
從干活的角度,我們看到了各種“大腦”計劃,各種助手和機器人推出來,有各種搜索和數據庫在精準化,拿語言去搜,也有各種的過去就有推理機,智能機,一直在延續著七八十年代的夢想,雖然進展不大。
但是所有拿語言說事兒的、用語言干事兒的,這中間都繞不開一個問題,即語言到底是怎么回事?這是我們真正搞自然語言理解,搞自然語言處理的人必須面對的問題。我們說要善解人意,人意在哪?它藏在符號怪陣的背后。我們來看這張圖:
上 面最表層的,可能是通過文字的方式表現的,可能是通過語音的方式表現的,也可能是通過電子輸入的方式表現的。再向下有詞法、句法和語義,乃至語用。這是語 言學界標準的層次的劃分,我們現在看中間的虛線,上方涉及到一點點的句法,句法的大部分在下方。以虛線為界,虛線之上的通常認為是淺層,虛線之下的認為是 深層。請注意這里講的是語言學知識的淺層和深層。淺層的這種語言模型見效很快,門檻很低,基本上可以擺脫語言學家,工程師自己可以玩,有數據就可以玩,或 者是標注,找一些中專生就可以玩。然而深層的語言學知識,有一些地方可能說不清楚,可能眾說紛紜,但是淺層解決不了的問題,最終要通過深層來解決。上海電 臺里有一檔節目叫“音樂會說話”,不論是按照什么分詞標準,很多的分詞系統都會把它切成“音樂會/說話”,就是說“音樂會”當做一個詞的切法是應該占優勢 的,但是恰恰這檔節目說的是“音樂/會/說話”,它用到了深層的句法和語義,甚至到語用才確定是一個隱喻,只有到了這個層次反作用回去才發現正確的分詞方 案是什么。
我們也看到了大家對深度學習充滿了期待。但是必須說明,學習的度深和淺,跟學習對象在語言層次上的淺和深是兩個概念。如果是在模型停留在淺層,就是把深度學習用到極致也有局限。
但是深層這個東西就復雜了,因為咱們講證據,淺層的東西大家都看得見,深層有很多是看不見的,看不見就各說各的話,就沒有一個統一的標準,所以這個東西就比較難搞,這是我們看到的一個現狀。
善 解人意的“人意”好不好解,是不是跟語種有關系呢?在這張圖上,我們看到很多中文難以處理的例子。很多評論的第一反應是中文博大精深,中文不一樣,英語很 好的方法到中文就不行。有的人就說我們比別人更懂中文。即使是知識圖譜也出了個“中文知識圖譜”,好象這個知識圖譜到底是知識層面的還是語言層面的這件事 情,都有了商量了。這說明了什么?說明我們還停留在我們對母語的認識的初級階段。我們對母語的認識,和對人類共同的語言機制的認識,還沒有統一起來,中間 還有巨大的鴻溝。
一般來說,我們對母語的認識分成三個 階段:第一階段,碰見這些例子,都認為這是習慣用法,根本沒有規律的,我們也不關心這個,我們的指標很好看。這就完了嗎?可是實際的問題并沒有解決。第二 個階段,規律是有的,但我們的母語就是特殊,我們只能使用特殊的東西把這些問題解決了。是有這么一個見招拆招的階段,但是作用很有限。真正的能夠進到最后 一個階段的人很少很少。這種人既熟悉了母語的特殊性,同時又知道這個世界上關于語言共性普適的進展,而且還能把二者融會貫通結合起來。這種人太少了,而且 這種人跟我們的交流太少了,所以我們不知道他們的存在,更不知道去挖掘他們的寶藏。
經常有一種說法,說基于規則的系統是傻子,基于統計的系 統是瘋子。基于規則的系統,在規則不能覆蓋的地方表現極其糟糕。基于統計的系統,因為很多模型現在只能做到淺層,深層的不知道怎么做,所以實現也只能做到 淺層,有局限,又不知道自己的局限在哪,就出現了明明不知道的,沒有自知之明了,大家一看就知道是笑話,但是他敢拿出來說。還有兩個組合,一個是基于規則 處理淺層語言模型的,比如做英語的詞法的,詞根的變換,還原等,是可以做一點但有限,油水不多了。基于統計處理深層語言模型,是有的,但由于深層模型的本 身是有一個資源建設這樣一個積累在里面的。如果沒有資源建設,深層是無從談起的。你做統計,又要有語料的積累。語料和資源建設的雙重積累是瓶頸,能夠用打 通瓶頸往前走的人不多,但我認為這是正確的路。
在 自然語言處理領域,我感覺到一個不好的現象:厚此薄彼。我們看到,理工農醫各類專業的領域專家是很受尊敬的,唯獨語言學家不受尊重。不僅很多和自然語言相 關的大型的項目里面語言學家的參與度很不夠,就連谷歌的諾維格和語言學家喬姆斯基之間的爭論也是很不友好的,語言學里面有很多寶貝,但是外面的人不認識, 認識不到。那為什么自然語言處理還能這么火呢,我認為這里面一個原因是他們還在吃我所說的“規模紅利”。當我的語料規模非常大、應用面非常廣的時候,即使 是淺層,也能做出很好的效果來,為一些處理到淺層就夠了的應用提供了很好的支持,所以會有這樣的現象。但是另一方面,深層的玩法并沒有大的突破,要想抄 底,別人不做,你來做,總要有一些瓷器活,但是這個瓷器活目前還不行。
對目前這個主流的基于統計的淺層自然語言處理,有兩點我認為是需要高度肯定的:
第 一是使用正確的手段解決了語言邊界這樣一個典型的非良定義的人工智能的問題。所謂非良定義,就是說人知道這個邊界在哪,但是沒有數學公式把這個邊界寫出 來,而且這個邊界是上下文相關的,在不同的環境下是浮動的。對這樣的東西,使用統計學習的方式來獲取領域知識,這是正面的,我認為這個方向是對的。
第 二,是把符號的根基,也就是語言中不可再分的符號代表了什么這件事情,映射到,或者說植根于網絡空間之上。說幾個簡單的例子:關于你在哪的問題,跟你手機 里的地圖聯系起來了;關于你跟哪個人什么關系的問題,跟你的通訊錄聯系起來了,跟你的社交網絡的帳號聯系起來了;天氣的問題,甚至是車次的問題,跟相應的 這樣一些服務聯系起來了。這個是一個最重要的、值得高度肯定的一點。
但 是底下我們還是要講,這是不夠的。對語言學領域的這個知識到底長什么樣,如果不知道長什么樣就想學習,或者說隨便攢一個長什么樣,然后就學習,這個效果會 差得很遠,很少有人真的去關注語言學知識真往深了走到底長什么樣。深層的知識躲在后面,似乎沒有什么硬標準能夠把它們拎出來,或者說你可以畫一樣,他可以 畫另一樣,大家的畫法不一樣。但是,大家要解決、要共同面對的問題難點是明確的:一個是遞歸嵌套的深度,一個是語言成分遠距離相關的寬度。相關成分相距越 遠、遞歸嵌套層數越深,淺層模型越難處理。只要這兩個難點有所突破,我相信不管是把語言模型畫成了一個什么樣子,這個樣子肯定在某種程度上反映了深層的語 言學知識。
我 個人在自然語言處理領域的研究興趣,一是關注語言學知識長什么樣,就是剛才所描述的問題;二是利用RNN(遞歸神經網絡)做語言知識的自動獲取,這個有很 多的花樣,比如可以加棧、加計數器,可以把規則編譯成RNN等等,和自動機的機理非常接近,這個領域是值得特別關注的;三是用自然語言作為知識表示直接進 行模式推理和檢索,是我帶著學生做的方向。個人在純語言學方向也有一些研究興趣。
說 到語言與人工智能的關系,我認為語言從三個角度對人工智能是有貢獻的:第一,語言是一個自然的交互界面,善解人意繞不開這個界面;第二,語言背后是一套知 識,對它怎么學習,怎么表示,和對一般的知識怎么學習和怎么表示,是有共性的;第三,語言是一個窗口,通過對人類語言的觀察,我們可以側面了解人類大腦內 部發生的推理和表示。
但 我還是要提兩個“不指望”。第一是我們做自然語言處理的,不指望人工智能的天上掉下語言處理的餡餅,還是靠自己認識語言,真正地在這個語言上做文章,而不 要在其他的地方做文章,其他的地方沒有出路。第二是不指望語言處理的這個方向,如果突破了的話,會導致人工智能領域出現什么樣的飛躍或者奇跡,這也是不現 實的,因為語言這個東西就是剛才說的許多類別的知識領域之一,就是一個邊角的東西,雖然很重要,雖然躲不開,但是對人工智能那邊沒有太大的影響,那邊該怎 么研究就怎么研究。
看到各種大腦計劃,大腦計劃的外顯能力都離不開自然語言的處理,但是我們還是可以根據語言處理所用到的技術的不同,把它們分幾個類型,如下圖所示:
其 中剛才說的高考是屬于第三個層面的,最后一個類型(分析理解型)最難,其典型就是應用題。誰能解決了我覺得很令人佩服,如果真做好了說明是對語言深一層的 東西掌握了。上圖所舉的應用題,是我們期權培訓教材里面一個考題,自然語言理解怎么樣處理這樣一個題,通過什么方式入手來處理,很有講究。我們看到這里面 有計算和分析,還有價值取向:要賺錢。在這道題里面隱含了一個答題目標,就是如何做才是賺錢的。這是典型的投資邏輯。
搞大腦計劃,一般都是 一個非常龐大的團隊,會進行大規模的標注和訓練,對非限定領域的大數據大語料進行訓練和開發,對各種智能化技術進行綜合集成,這個做出來會很震撼,很酷。 但小團隊也有優勢,可以比較輕靈,在特定領域,限定領域作出出色的應用,比如出門問問。還有另一種方式,就是游俠,他們不太可能大規模地推開業務,只會做 一些核心技術,特別是頂層的建模。我一直主張,在一個自然語言處理系統里,語言學知識到底長什么樣,決定了把后續的學習手段加上之后到底能夠走多遠,這個 東西我想一個項目立項之時,這個思路就已經定了,后面再做也超不過先天局限。而恰恰是這個游俠方式,可以在這個地方走得更遠。
總 結一下我的主要觀點:自然語言處理的核心關鍵問題還沒有解決,但應用方面取得一些進展不是偶然的,有其走得對的地方。突破的鑰匙掌握在語言學家或者是通曉 語言學成果的人手里。最要害的試金石是兩個:遞歸嵌套,遠距相關,如能做到,說明對語言的深層處理能力有標志性的進步。我們認為后面有很多機會,不僅大腦 計劃有機會,游俠模式也有機會,統計走不下去的地方,規則抄底的機會也是存在的。最后說與人工智能的關聯。雖然我是這樣的題目,結論是自然語言處理和人工 智能并沒有強關聯,而自然語言處理可以為人工智能的進步做一點點貢獻,但是是比較微弱的。謝謝。
文章作者:白碩,博士,研究員,中國中文信 息學會常務理事,信息檢索與內容安全專業委員會主任委員,中國科學院計算所、信工所和中國科學院大學兼職博士生導師,上海證券通信有限責任公司董事長。曾 長期從事自然語言處理、信息檢索相關領域研究工作。目前主持輕便高效證券交易系統和證券行業云服務等證券領域信息技術應用研究。
稿源:福布斯中文網