【眼界】NLP 迎來了黃金時代

dicksonjyl560101發表於2019-12-07


作者丨王斌

策劃丨劉燕

來自 | InfoQ

時鐘撥回到 20 年前。

那一年,我以機器翻譯方向的博士畢業,到幾家單位應聘。當年,畢業的博士還很少。因此,應聘單位對我似乎還是網開一面,這導致我經歷的應聘過程都十分輕鬆短暫。幾個單位基本只關心兩個問題:第一,“你是博士?“,第二,“你會 C++ 嗎?“ 當得到肯定的答覆之後,對方就給了 offer。雖然這麼容易拿到了 offer,但其實我並不開心,因為他們並不關心我的博士研究方向,也不關心我今後做什麼。我自己很不甘心也覺得不太靠譜,畢竟在專業方向上做了這麼多年,丟掉實在可惜,於是我拒絕了這些 offer,選擇留在了研究所繼續從事 NLP 相關的科研工作。

走到今天來看,我確實是幸運的: NLP 歷盡低谷,終於迎來了大爆發的“黃金”時代!

NLP(自然語言處理,Natural Language Processing) 是利用計算機對人類的語言文字進行處理。由於語言文字是人類交流溝通的最基本方式,因此 NLP 也是最典型的 AI 領域之一,被譽為“人工智慧皇 冠上的明珠”。幾百年來,多少人為了摘得這顆“明珠”,付出了艱苦的努力。 個人認為,和 AI 的發展類似,NLP 的發展也同樣經歷瞭如下的三個階段:

第一個階段的 NLP 主要基於規則。我讀博士的那幾年,現在看上去好像正好處於這個時代後期(這一點純屬不成熟的個人看法。不少人仍然在繼續探索規則方法。規則方法在很多領域仍然具有很強的生命力)。透過人工或者自動半自動地收集規則,機器可以完成一系列 NLP 任務。以機器翻譯為例,只要輸入的新句子能夠匹配上事先設定或得到的規則,並且假定這些規則是正確的話,系統可能會輸出一條看似還不錯的結果。但如果上述任一條件不滿足的話,系統可能會輸出讓人不知所云的結果。而自然語言太過複雜,透過有限的規則來刻畫,幾乎是不可能的事情。 因此,基於規則的方法可能在某個特定的小領域能夠取得不錯的結果,一旦推廣到更寬泛的領域,效果往往很不理想。

第二個階段的 NLP 主要基於統計,更明確地說,基於資料 + 統計機器學習方法。進入二十一世紀,計算機硬體能力的快速提升和資料量的增長,使得資料驅動的方法悄然成為主流。很多基於統計機器學習的 NLP 方法其實早就在基於規則的年代被人提出,但一直到這個階段才為人廣為所知、廣為人用。最著名的是 IBM 的統計機器翻譯模型,該模型最早提出於 1990 年,然而十幾年後才真正大放異彩。正是資料 + 算力驅動了這一變革過程。 在這個階段的 NLP 當中,人工特徵工程 + 統計機器學習成了很多 NLP 任務的標配。不論是搜尋引擎還是統計機器翻譯,都基本如此。然而,這些傳統統計機器學習的方法的一個最大問題是特徵工程,即好的特徵需要人類不斷的探索和努力,有時歸結於靈感或者只是運氣,讓人無法捉摸。雖然有些特定任務中的人類特徵總結得還相當不錯,但是一旦換一個任務這些特徵可能就完全無法使用。 “找特徵”成了基於統計的 NLP 任務的最主要工作。

第三個階段的 NLP 主要是基於深度學習。本質上說,深度學習也是一種統計機器學習方法,因此這個階段本質上也是資料 + 統計機器學習。但是,深度學習已經在很多領域表現優異,其名頭已經蓋過傳統的統計機器學習。因此,說這個階段基於深度學習毫不為過。上一個階段最讓人頭疼的就是特徵問題,本質上就是 NLP 的物件 (字、詞、短語、句子、段落、篇章等) 如何表示的問題。而 深度學習的最大好處就是能夠自動學到物件的表示,從而避免了人工特徵工程的大工作量和難以保證的結果。為了學到物件的較好的表示,深度學習方法通常一方面採用深層的神經網路方法來學習,另一方面需要更大量的資料。因此,大量硬體的投入對於這個階段來說通常也必不可少。

儘管存在可解釋性差、運算代價巨大等問題,但深度學習 NLP 帶來了大量 NLP 任務效果的提升。就以機器翻譯為例,統計機器翻譯已經在效果上較大幅度領先於早先的規則機器翻譯系統,而基於深度神經網路的機器翻譯又將效果再度提高了一個臺階。在很多其他 NLP 任務上,基於深度學習的方法也基本領先於傳統方法。 機器翻譯和機器閱讀等任務甚至都號稱“超過了人類”。 造成這種結果的基本原因就是深度學習這個“黑盒子”似乎找到了以往人類沒有發現的好用的特徵,這些特徵獨自或者和人類提出的特徵結合能夠發揮出更好的效果。

這個階段帶來的一個重要變化是文字生成任務突然間成為可能。大量的自動寫詩、自動寫稿、自動寫標題等演算法系統紛湧而出,這是以往的階段難以見到的。基於深度學習的 NLP 使得很多工都可以抽象為編碼 - 解碼問題。表面的文字可以編碼為內部的特徵表示,而從特徵表示又可以解碼為表面的文字。這種極簡抽象正好代表了 NLP 的兩個任務,前者叫自然語言理解 (Natural Language Understanding, NLU),後者叫自然語言生成 (Natural Language Generation, NLG)。 這種抽象使得很多原來沒有太多辦法的生成任務至少具有想象的可能。以自動摘要這一任務為例,儘管前人嘗試了很多生成式摘要方法,但基本結論還是抽取式摘要方法更佳。有了深度學習之後,可以將原文編碼為特徵表示,然後再基於該表示生成一個更短的文字,從而得到生成式摘要。另一個任務是圖文生成或文圖生成,即可以根據影像來生成一篇文字,或者基於文字來生成影像,從而實現跨模態的處理。還有,如果不同語言的特徵表示存在對齊的可能性 (很多研究工作組都在嘗試),多語言生成問題也會迎刃而解。

深度學習 NLP 帶來的另一個重要變化是端到端模式的流行。傳統 NLP 任務大都基於流水線模式,即任務會逐層分解,透過多層模組之間的有序呼叫完成某個任務。比如傳統的語音翻譯過程一般為:先將輸入語音轉化為源文字,然後將源文字翻譯成目標文字,最後將目標文字轉換成語音進行輸出。這種流水線方式每一個前面步驟的錯誤都有可能延續到後續模組,從而造成 錯誤的級聯效應。Google 於 2019 年給出了一種端到端的語音翻譯方法,引起了學術界和工業界的廣泛關注。從原理上來說,這種端到端的方法可以避免逐層錯誤傳播的缺點,能夠獲得更好的效果。目前,很多學術機構和公司都在跟進這一具有革命性的方法。當然,端到端的模式已經在其他一些 NLP 任務中獲得了較好的效果,這種直達任務的模式有可能會成為大多數 NLP 任務的新選擇。

近年來深度學習 NLP 本身也出現了新變化, 最典型的就是預訓練 + 微調的任務處理方式變得十分流行。預訓練最早起源於影像處理領域,大家可以在 ImageNet 上訓練出基本的模型,然後將該模型用於新任務中,而只需要對模型進行微調。這種思路也被引入到 NLP 任務中,出現了 ELMo、GPT2、BERT 等預訓練模型。這種做法至少有兩個好處。 其一,新任務可以減少對資料的依賴,因為預訓練模型是基於大量資料得到的,其中編碼了大量重要資訊。 其二,減少了訓練代價,新任務不需要從頭訓練。上述預訓練模型取得了非常令人鼓舞的結果,很多模型在很多 NLP 任務中都取得了更好的結果。 預訓練模型的競賽還一直在繼續。

但基於深度學習的 NLP 方法也有很多不足。可解釋性和運算代價大是這類方法的通用性問題,這裡就不再展開論述。當然, 也是因為可解釋性問題的存在,NLP 中學到的特徵表示到底表徵的是什麼東西目前還不太清楚,這使得深度學習 NLP 方法可控性不強。以文字生成為例,用深度學習生成人類可控的文字目前看還是個大難題。

不管如何,NLP 迎來了屬於自己的黃金時代。

這個時代不僅僅有搜尋、推薦、廣告、資訊流、社交網路等“老樹開新花”的領域,也包括人機對話、機器閱讀、自動寫作等充滿生命力的新興領域。NLP 在內容相關的各種應用中都扮演著極其重要的角色。

NLP 技術的發展不能離開場景,場景和技術的有效結合才能充分發揮出 NLP 技術的能力。身在工業界,我每一天都為 NLP 技術和場景的各種可能組合激動不已。 終於等到你,還好我沒放棄!


 作者介紹

王斌博士,小米人工智慧實驗室主任,NLP 首席科學家。中國中文資訊學會理事,計算語言學、資訊檢索、社會媒體處理、語言與知識計算等專委會委員及《中文資訊學報》編委,中國計算機學會中文資訊處理專業委員會委員。加入小米之前,在中科院計算所、信工所從事自然語言處理和資訊檢索相關的科研工作,任中科院博導、研究員,中科院大學教授。發表學術論文近 150 篇,科研成果獲得國家科技進步二等獎 2 項,省部級科技獎 3 項。是 SIGIR、CIKM、ACL、IJCAI、AAAI、WWW 等會議的程式委員會委員。




https://mp.weixin.qq.com/s/c15oeHZslRxlhw27HQKgog



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29829936/viewspace-2667384/,如需轉載,請註明出處,否則將追究法律責任。

相關文章