首頁>科技>

作者:劉知遠,清華大學計算機系副教授、博士生導師。主要研究方向為自然語言處理、表示學習、知識圖譜和社會計算。2011年獲得清華大學博士學位,已在ACL、IJCAI、AAAI等人工智慧領域的著名國際期刊和會議發表相關論文80餘篇,Google Scholar統計引用超過12000次。承擔多項國家自然科學基金。曾獲清華大學優秀博士學位論文、中國人工智慧學會優秀博士學位論文、清華大學優秀博士後、中文資訊學會青年創新獎,入選《麻省理工科技評論》“35歲以下科技創新35人”中國區榜單(MIT TR-35 China)、中國科協青年人才託舉工程、中國計算機學會青年學者提升計劃。擔任中文資訊學會青年工作委員會主任,中文資訊學會社會媒體處理專委會委員、秘書,SCI期刊Frontiers of Computer Science青年編委,多次擔任ACL、EMNLP、COLING、IJCNLP等著名國際會議的領域主席。

什麼是自然語言處理

簡單地說,自然語言處理(Natural Language Processing,簡稱NLP)就是用計算機來處理、理解以及運用人類語言(如中文、英文等),它屬於人工智慧的一個分支,是計算機科學與語言學的交叉學科,又常被稱為計算語言學。由於自然語言是人類區別於其他動物的根本標誌。沒有語言,人類的思維也就無從談起,所以自然語言處理體現了人工智慧的最高任務與境界,也就是說,只有當計算機具備了處理自然語言的能力時,機器才算實現了真正的智慧。

從研究內容來看,自然語言處理包括語法分析、語義分析、篇章理解等。從應用角度來看,自然語言處理具有廣泛的應用前景。特別是在資訊時代,自然語言處理的應用包羅永珍,例如:機器翻譯、手寫體和印刷體字元識別、語音識別及文語轉換、資訊檢索、資訊抽取與過濾、文字分類與聚類、輿情分析和觀點挖掘等,它涉及與語言處理相關的資料探勘、機器學習、知識獲取、知識工程、人工智慧研究和與語言計算相關的語言學研究等。

值得一提的是,自然語言處理的興起與機器翻譯這一具體任務有著密切聯絡。機器翻譯指的是利用計算機自動地將一種自然語言翻譯為另外一種自然語言。例如自動將英文“I like Beijing Tiananmen Square”翻譯為“我愛北京天安門”,或者反過來將“我愛北京天安門”翻譯為“I like Beijing Tiananmen Square”。由於人工進行翻譯需要訓練有素的雙語專家,翻譯工作非常耗時耗力。更不用說需要翻譯一些專業領域文獻時,還需要翻譯者瞭解該領域的基本知識。世界上有超過幾千種語言,而僅聯合國的工作語言就有六種之多。如果能夠透過機器翻譯準確地進行語言間的翻譯,將大大提高人類溝通和了解的效率。

《聖經》裡有一個故事說巴比倫人想建造一座塔直通天堂。建塔的人都說著同一種語言,心意相通、齊心協力。上帝看到人類竟然敢做這種事情,就讓他們的語言變得不一樣。因為人們聽不懂對方在講什麼,於是大家整天吵吵鬧鬧,無法繼續建塔。後來人們把這座塔叫作巴別塔,而“巴別”的意思就是“分歧”。雖然巴別塔停建了,但一個夢想卻始終縈繞在人們心中:人類什麼時候才能擁有相通的語言,重建巴別塔呢?機器翻譯被視為“重建巴別塔”的偉大創舉。假如能夠實現不同語言之間的機器翻譯,我們就可以理解世界上任何人說的話,與他們進行交流和溝通,再也不必為相互不能理解而困擾。

事實上,“人工智慧”被作為一個研究問題正式提出來的時候,創始人把計算機國際象棋和機器翻譯作為兩個標誌性的任務,認為只要國際象棋系統能夠打敗人類世界冠軍,機器翻譯系統達到人類翻譯水平,就可以宣告人工智慧的勝利。四十年後的1997年,IBM公司的深藍超級計算機已經能夠打敗國際象棋世界冠軍卡斯帕羅夫。而機器翻譯到現在仍無法與人類翻譯水平相比,從此可以看出自然語言處理有多麼困難!

1954年1月7日,美國喬治敦大學和IBM公司合作實驗成功地將超過60句俄語自動翻譯成英語。雖然當時的這個機器翻譯系統非常簡單,僅僅包含6個語法規則和250個詞,但由於媒體的廣泛報道,紛紛認為這是一個巨大的進步,導致美國政府備受鼓舞,加大了對自然語言處理研究的投資。實驗完成者也當即自信地撰文稱,在三到五年之內就能夠完全解決從一種語言到另一種語言的自動翻譯問題。他們認為只要制定好各種翻譯規則,透過大量規則的堆砌就能夠完美地實現語言間的自動翻譯。

然而,事實是理解人類語言遠比破譯密碼要複雜得多,因此研究進展非常緩慢。1966年的一份研究報告總結髮現,經過十年之久的研究,結果遠遠未能達到預期,因此支援資金急劇下降,使自然語言處理(特別是機器翻譯)的研究陷入長達二十年的低潮。直到二十世紀八十年代,隨著電子計算機的計算能力的飛速提高和製造成本的大幅下降,研究者又開始重新關注自然語言處理這個極富挑戰的研究領域。三十年滄海桑田,此時研究者已經認識到簡單的語言規則的堆砌無法實現對人類語言的真正理解。研究發現,透過對大量的文字資料的自動學習和統計,能夠更好地解決自然語言處理問題,如語言的自動翻譯。這一思想被稱為自然語言處理的統計學習模型,至今方興未艾。

那麼,自然語言處理到底存在哪些主要困難或挑戰,吸引那麼多研究者幾十年如一日孜孜不倦地探索解決之道呢?

自然語言處理的主要困難

自然語言處理的困難可以羅列出來很多,不過關鍵在於消除歧義問題,如詞法分析、句法分析、語義分析等過程中存在的歧義問題,簡稱為消歧。而正確的消歧需要大量的知識,包括語言學知識(如詞法、句法、語義、上下文等)和世界知識(與語言無關)。這帶來自然語言處理的兩個主要困難。

首先,語言中充滿了大量的歧義,這主要體現在詞法、句法及語義三個層次上。歧義的產生是由於自然語言所描述的物件――人類活動非常複雜,而語言的詞彙和句法規則又是有限的,這就造成同一種語言形式可能具有多種含義。

例如單詞定界問題是屬於詞法層面的消歧任務。在口語中,詞與詞之間通常是連貫說出來的。在書面語中,中文等語言也沒有詞與詞之間的邊界。由於單詞是承載語義的最小單元,要解決自然語言處理,單詞的邊界界定問題首當其衝。特別是中文文字通常由連續的字序列組成,詞與詞之間缺少天然的分隔符,因此中文資訊處理比英文等西方語言多一步工序,即確定詞的邊界,我們稱為“中文自動分詞”任務。通俗的說就是要由計算機在詞與詞之間自動加上分隔符,從而將中文文字切分為獨立的單詞。例如一個句子“今天天氣晴朗”的帶有分隔符的切分文字是“今天|天氣|晴朗”。中文自動分詞處於中文自然語言處理的底層,是公認的中文資訊處理的第一道工序,扮演著重要的角色,主要存在新詞發現和歧義切分等問題。我們注意到:正確的單詞切分取決於對文字語義的正確理解,而單詞切分又是理解語言的最初的一道工序。這樣的一個“雞生蛋、蛋生雞”的問題自然成了(中文)自然語言處理的第一條攔路虎。

其他級別的語言單位也存在著各種歧義問題。例如在短語級別上,“進口彩電”可以理解為動賓關係(從國外進口了一批彩電),也可以理解為偏正關係(從國外進口的彩電)。又如在句子級別上,“做手術的是她的父親”可以理解為她父親生病了需要做手術,也可以理解為她父親是醫生,幫別人做手術。總之,同樣一個單詞、短語或者句子有多種可能的理解,表示多種可能的語義。如果不能解決好各級語言單位的歧義問題,我們就無法正確理解語言要表達的意思。

另外一個方面,消除歧義所需要的知識在獲取、表達以及運用上存在困難。由於語言處理的複雜性,合適的語言處理方法和模型難以設計。

例如上下文知識的獲取問題。在試圖理解一句話的時候,即使不存在歧義問題,我們也往往需要考慮上下文的影響。所謂的“上下文”指的是當前所說這句話所處的語言環境,例如說話人所處的環境,或者是這句話的前幾句話或者後幾句話,等等。假如當前這句話中存在指代詞的時候,我們需要透過這句話前面的句子來推斷這個指代詞是指的什麼。我們以“小明欺負小亮,因此我批評了他”為例。在其中的第二句話中的“他”是指代“小明”還是“小亮”呢?要正確理解這句話,我們就要理解上句話“小明欺負小亮”意味著“小明”做得不對,因此第二句中的“他”應當指代的是“小明”。由於上下文對於當前句子的暗示形式是多種多樣的,因此如何考慮上下文影響問題是自然語言處理中的主要困難之一。

再如背景知識問題。 正確理解人類語言還要有足夠的背景知識。舉一個簡單的例子,在機器翻譯研究的初期,人們經常舉一個例子來說明機器翻譯任務的艱鉅性。在英語中“The spirit is willing but the flesh is weak.”,意思是“心有餘而力不足”。但是當時的某個機器翻譯系統將這句英文翻譯到俄語,然後再翻譯回英語的時候,卻變成了“The Voltka is strong but the meat is rotten.”,意思是“伏特加酒是濃的,但肉卻腐爛了”。從字面意義上看,“spirit”(烈性酒)與“Voltka”(伏特加)對譯似無問題,而“flesh”和“meat”也都有肉的意思。那麼這兩句話在意義上為什麼會南轅北轍呢?關鍵的問題就在於在翻譯的過程中,機器翻譯系統對於英語成語並無瞭解,僅僅是從字面上進行翻譯,結果自然失之毫釐,差之千里。

從上面的兩個方面的主要困難,我們看到自然語言處理這個難題的根源就是人類語言的複雜性和語言描述的外部世界的複雜性。人類語言承擔著人類表達情感、交流思想、傳播知識等重要功能,因此需要具備強大的靈活性和表達能力,而理解語言所需要的知識又是無止境的。那麼目前人們是如何嘗試進行自然語言處理的呢?

自然語言處理的發展趨勢

目前,人們主要透過兩種思路來進行自然語言處理,一種是基於規則的理性主義,另外一種是基於統計的經驗主義。理性主義方法認為,人類語言主要是由語言規則來產生和描述的,因此只要能夠用適當的形式將人類語言規則表示出來,就能夠理解人類語言,並實現語言之間的翻譯等各種自然語言處理任務。而經驗主義方法則認為,從語言資料中獲取語言統計知識,有效建立語言的統計模型。因此只要能夠有足夠多的用於統計的語言資料,就能夠理解人類語言。然而,當面對現實世界充滿模糊與不確定性時,這兩種方法都面臨著各自無法解決的問題。例如,人類語言雖然有一定的規則,但是在真實使用中往往伴隨大量的噪音和不規範性。理性主義方法的一大弱點就是魯棒性差,只要與規則稍有偏離便無法處理。而對於經驗主義方法而言,又不能無限地獲取語言資料進行統計學習,因此也不能夠完美地理解人類語言。二十世紀八十年代以來的趨勢就是,基於語言規則的理性主義方法不斷受到質疑,大規模語言資料處理成為目前和未來一段時期內自然語言處理的主要研究目標。統計學習方法越來越受到重視,自然語言處理中越來越多地使用機器自動學習的方法來獲取語言知識。

邁進21世紀,我們已經進入了以網際網路為主要標誌的海量資訊時代,這些海量資訊大部分是以自然語言表示的。一方面,海量資訊也為計算機學習人類語言提供了更多的“素材”,另一方面,這也為自然語言處理提供了更加寬廣的應用舞臺。例如,作為自然語言處理的重要應用,搜尋引擎逐漸成為人們獲取資訊的重要工具,湧現出以百度、谷歌等為代表的搜尋引擎巨頭;機器翻譯也從實驗室走入尋常百姓家,谷歌、百度等公司都提供了基於海量網路資料的機器翻譯和輔助翻譯工具;基於自然語言處理的中文(輸入法如搜狗、微軟、谷歌等輸入法)成為計算機使用者的必備工具;帶有語音識別的計算機和手機也正大行其道,協助使用者更有效地工作學習。總之,隨著網際網路的普及和海量資訊的湧現,自然語言處理正在人們的日常生活中扮演著越來越重要的作用。然而,面向海量的大規模文字資料,人們面臨的一個嚴峻事實是,如何有效利用海量資訊,人們逐漸意識到,單純依靠統計方法已經無法快速有效地從海量資料中學習語言知識。

隨著2013年word2vec技術的發表,以神經網路為基礎的深度學習技術開始在自然語言處理中廣泛使用,深度學習的分散式語義表示和多層網路架構具有強大的擬合和學習能力,顯著提升了自然語言處理各種任務的效能,成為現階段自然語言處理的主要技術方案。

深度學習是純的資料驅動技術方案,需要從大規模標註資料中學習特定任務相關的複雜模式。一方面,有些學者開始探索麵向大規模無標註文字資料的深度學習模型,如ELMo,GPT、BERT等,可以看做從大規模資料中學習知識的極致探索;另一方面,現有深度學習技術尚未考慮人類積累的豐富知識(包括語言知識、世界知識、常識知識、認知知識、行業知識等),如果將深度學習看做經驗主義方法,將符號知識看做理性主義方法,那麼如何充分發揮基於規則的理性主義方法和基於統計的經驗主義方法的優勢,兩者互相補充,更好、更快地進行自然語言處理,仍然是我們需要探索的重要課題。

自然語言處理作為一個年齡尚不足一個世紀的新興學科,正在進行著突飛猛進的發展。回顧自然語言處理的發展歷程,並不是一帆風順,有過低谷,也有過高潮。而現在我們正面臨著新的挑戰和機遇。例如,目前網路搜尋引擎基本上還停留在關鍵詞匹配,缺乏深層次的自然語言處理和理解。語音識別、文字識別、問答系統、機器翻譯等目前也只能達到很基本的水平。路漫漫其修遠兮,自然語言處理作為一個高度交叉的新興學科,不論是探究自然本質還是付諸實際應用,在將來必定會有令人期待的驚喜和異常快速的發展。

與計算機視覺相比,自然語言處理有什麼特點

從影象和語言兩種模態來看,對文字處理技術的大規模應用要早於計算機視覺。將影象和語言中的處理物件做一個不太嚴謹的對應。如下圖所示,大體上畫素類似於語言中的字母;影象中的物件類似於語言中的單詞/概念;影象中物件組成的場景類似於語言中的句子表達的語義;影片則類似於語言中的篇章(文章)。

在這種類比下看,NLP/IR在單詞層面的處理要比CV中的影象識別簡單得多,只需要做一下tokenization、lemmatization、stemming等(中文複雜一些需要額外做自動分詞),就可以利用關鍵詞匹配完成很多工,例如資訊檢索、文字分類、拼寫糾錯、情感分析、關鍵詞提取等等,實際上已經得到非常廣泛的應用,如搜尋引擎、拼音輸入法、新聞分類、閱讀推薦等。

而由於影象中物件的複雜性和多樣性,僅在物件識別層面,甚至特定的人臉識別,還有很多技術挑戰。只不過是近年來,由於深度學習對非結構資料的強大表示和學習能力,開始讓物件識別走向了實用化。

而進入到更高層面,例如面向影象的場景圖構建,面向文字的句法語義分析,都需要對複雜語境(上下文)的精準而強大的建模能力。所以我感覺,並非NLP發展緩慢,只是兩個領域的發展節奏和階段不同。進入高層任務後,兩個領域都將面臨共同的關鍵挑戰,都可以歸結為複雜語境下的多物件(影象中是不同物件,文字中是不同概念)的語義組合問題。

中文NLP vs 英文NLP在理論、處理上有什麼相同和不同, 尤其是中文 NLP有什麼獨特之處

從實用文字分析技術而言,如果只做主題聚類、文字分類等任務的話,中英文最大差別就在於,中文需要做自動分詞,相關工具包已經很多了,包括題主提到的Jieba,還有哈工大的LTP,北理工的ICTCLAS,還有我們組研製的THULAC。當然,在文字分類時,到底是選詞還是Ngram作為特徵,在SVM+BOW時代曾是個問題。進入到深度學習時代,就直接可以用基於字的神經網路模型了。

從NLP研究角度而言,中英文在詞性標註、句法分析等任務上頗有差異。主要體現在英語有明顯的屈折變化(單複數、時態等)而漢語缺少這些屈折變化,亦即有學者總結的“漢語重義合,英語重形合”。所以,英語裡一個詞被標為動詞還是名詞,沒有太多爭議;漢語裡一個詞應該被標為動詞還是名詞,例如“熱愛學習”、“勞動光榮”中的“學習”、“勞動”如果按照英文語法規範應當標註為名詞。著名語言學家沈家煊先生就曾提出“漢語動詞和名詞不分立”的理論。在句法分析層面漢語也有一些自己的特點,具體需要請教專業的語言學家解答了。

中英文相關分析任務的錯誤率問題。之所以在一些任務上中文分析效能顯著低於英文,除了中文缺少屈者變化、有更多自由度從而提升了分析難度的原因外,中文標註資源相對較少、標註質量相對較低也是關鍵原因之一。語言資源標註既需要語言學家和計算機學者的通力合作,需要花費大量精力和時間,在國內環境下太費力不討好了,希望未來會有改觀。

從更廣闊的語言研究角度而言,中英由於各自承載了兩種截然不同的人類群體的文化資訊,所以在更深層的文化內涵會有更明顯的分野,例如兩種語言的詞彙聯想網路、隱喻風格等,可能會有更大的不同。也許在NLP技術日漸成熟之後,我們可以透過語言更加定量地分析兩種不同文化的差異。

參考文獻張鈸. 自然語言處理的計算模型. 中文資訊學報, 2007, 21(3):3-7.馮志偉. 《統計自然語言處理》序言. 1版. 北京: 清華大學出版社, 2008.孫茂松. 語言計算:資訊科學技術中長期發展的戰略制高點. 語言文字應用, 2005, 3:38-40.

14
最新評論
  • 整治雙十一購物亂象,國家再次出手!該跟這些套路說再見了
  • 996圍困年輕人:同事ICU,逃離榨汁機,進國企又反悔