自然語言理解

自然語言理解

自然語言理解:自然語言處理是計算機科學領域與人工智慧領域中的一個重要方向。它研究能實現人與計算機之間用自然語言進行有效通信的各種理論和方法。

基本簡介


自然語言理解示意圖
自然語言理解示意圖
Natural Language Understanding 俗稱人機對話。人工智慧的分支學科。研究用電子計算機模擬人的語言交際過程,使計算機能理解和運用人類社會的自然語言如漢語、英語等,實現人機之間的自然語言通信,以代替人的部分腦力勞動,包括查詢資料、解答問題、摘錄文獻、彙編資料以及一切有關自然語言信息的加工處理。這在當前新技術革命的浪潮中佔有十分重要的地位。研製第 5代計算機的主要目標之一,就是要使計算機具有理解和運用自然語言的功能。
自然語言理解是一門新興的邊緣學科,內容涉及語言學、心理學、邏輯學、聲學、數學和計算機科學,而以語言學為基礎。自然語言理解的研究,綜合應用了現代語音學、音系學語法學、語義學、語用學的知識,同時也向現代語言學提出了一系列的問題和要求。本學科需要解決的中心問題是:語言究竟是怎樣組織起來傳輸信息的?人又是怎樣從一連串的語言符號中獲取信息的?
這一領域的研究將涉及自然語言,即人們日常使用的語言,包括中文、英文、俄文、日文、德文、法文等等,所以它與語言學的研究有著密切的聯繫,但又有重要的區別。自然語言處理並不是一般地研究自然語言,而在於研製能有效地實現自然語言通信的計算機系統,特別是其中的軟體系統。因而它是計算機科學的一部分。

主要特徵


語言是人類區別其他動物的本質特性。在所有生物中,只有人類才具有語言能力。人類的多種智能都與語言有著密切的關係。人類的邏輯思維以語言為形式,人類的絕大部分知識也是以語言文字的形式記載和流傳下來的。因而,它也是人工智慧的一個重要,甚至核心部分。
用自然語言與計算機進行通信,這是人們長期以來所追求的。因為它既有明顯的實際意義,同時也有重要的理論意義:人們可以用自己最習慣的語言來使用計算機,而無需再花大量的時間和精力去學習不很自然和習慣的各種計算機語言;人們也可通過它進一步了解人類的語言能力和智能的機制。
實現人機間自然語言通信意味著要使計算機既能理解自然語言文本的意義,也能以自然語言文本來表達給定的意圖、思想等。前者稱為自然語言理解,後者稱為自然語言生成。因此,自然語言處理大體包括了自然語言理解和自然語言生成兩個部分。歷史上對自然語言理解研究得較多,而對自然語言生成研究得較少。但這種狀況近年來已有所改變。
無論實現自然語言理解,還是自然語言生成,都遠不如人們原來想象的那麼簡單,而是十分困難的。從目前的理論和技術現狀看,通用的、高質量的自然語言處理系統,仍然是較長期的努力目標,但是針對一定應用,具有相當自然語言處理能力的實用系統已經出現,有些已商品化,甚至開始產業化。典型的例子有:種資料庫和專家系統的自然語言介面、各種機器翻譯系統、全文信息檢索系統、自動文摘系統等。
自然語言處理,即實現人機間自然語言通信,或實現自然語言理解和自然語言生成是十分困難的。造成困難的根本原因是自然語言文本和對話的各個層次上廣泛存在的各種各樣的歧義性或多義性(ambiguity)。
自然語言理解
自然語言理解
一個中文文本從形式上看是由漢字(包括標點符號等)組成的一個字元串。由字可組成詞,由詞可組成片語,由片語可組成句子,進而由一些句子組成段、節、章、篇。無論在上述的各種層次:字(符)、詞、片語、句子、段,……還是在下一層次向上一層次轉變中都存在著歧義和多義現象,即形式上一樣的一段字元串,在不同的場景或不同的語境下,可以理解成不同的詞串、片語串等,並有不同的意義。一般情況下,它們中的大多數都是可以根據相應的語境和場景的規定而得到解決的。也就是說,從總體上說,並不存在歧義。這也就是我們平時並不感到自然語言歧義,和能用自然語言進行正確交流的原因。但是一方面,我們也看到,為了消解歧義,是需要極其大量的知識和進行推理的。如何將這些知識較完整地加以收集和整理出來;又如何找到合適的形式,將它們存入計算機系統中去;以及如何有效地利用它們來消除歧義,都是工作量極大且十分困難的工作。這不是少數人短時期內可以完成的,還有待長期的、系統的工作。
以上說的是,一個中文文本或一個漢字(含標點符號等)串可能有多個含義。它是自然語言理解中的主要困難和障礙。反過來,一個相同或相近的意義同樣可以用多個中文文本或多個漢字串來表示。
因此,自然語言的形式(字元串)與其意義之間是一種多對多的關係。其實這也正是自然語言的魅力所在。但從計算機處理的角度看,我們必須消除歧義,而且有人認為它正是自然語言理解中的中心問題,即要把帶有潛在歧義的自然語言輸入轉換成某種無歧義的計算機內部表示。
歧義現象的廣泛存在使得消除它們需要大量的知識和推理,這就給基於語言學的方法、基於知識的方法帶來了巨大的困難,因而以這些方法為主流的自然語言處理研究幾十年來一方面在理論和方法方面取得了很多成就,但在能處理大規模真實文本的系統研製方面,成績並不顯著。研製的一些系統大多數是小規模的、研究性的演示系統。

初始研究


自然語言理解從 20世紀 60年代初開始研究,由於 N.喬姆斯基在語言學理論上的突破和此後各家理論的發展,以及計算機功能的不斷提高,目前已經取得了一定的成果,分為語音理解和書面理解兩個方面。語音理解 用口語語音輸入,使計算機"聽懂"語音信號,用文字或語音合成輸出應答。方法是先在計算機里貯存某些單詞的聲學模式,用它來匹配輸入的語音信號,稱為語音識別。這只是一個初步的基礎,還不能達到語音理解的目的。因為單憑聲學模式無法辨認人和人之間、同一個人先後發音之間的語音差別,也無法辯認連續語流中的語音變化;必須綜合應用語言學知識,以切分音節和單詞,分析句法和語義,才能理解內容,獲取信息。

發展歷史


成功產品
成功產品
60年代至70年代初期,研究工作一直停留在單詞的語音識別上,進展不大。直到70年代中期才有所突破,建立了一些實驗系統,能夠理解連續語音的內容,但是還限於少數簡單的語句(見自然語言語音理解系統)。書面理解 用文字輸入,使計算機"看懂"文字元號,也用文字輸出應答。這方面的進展較快,70年代初期取得突破,中期以後又有所發展。目前已能在一定的辭彙、句型和主題範圍內查詢資料,解答問題,閱讀故事,解釋語句等,有的系統已付諸應用。
由於絕大多數語種使用的是拼音文字,計算機識別拼音字母已無問題,而輸入又是按單詞分別拼寫,因此書面理解一般沒有切分音節和單詞的問題,只需直接分析辭彙、句法和語義。但是漢語用的是漢字,無論是用漢字編碼輸入還是將來計算機能直接認識漢字,都要首先解決切分單詞的問題,因為輸入就是一連串漢字,詞和詞之間沒有空隔。書面理解的基本方法是:在計算機里貯存一定的辭彙、句法規則、語義規則、推理規則和主題知識。語句輸入后,計算機自左至右逐詞掃描,根據詞典辨認每個單詞的詞義和用法;根據句法規則確定短語和句子的組合;根據語義規則和推理規則獲取輸入句的含義;查詢知識庫,根據主題知識和語句生成規則組織應答輸出。目前已建成的書面理解系統應用了各種不同的語法理論和分析方法,如生成語法、系統語法、格語法、語義語法等等,都取得了一定的成效。

研究方向


大約90年代開始,自然語言處理領域發生了巨大的變化。這種變化的兩個明顯的特徵是:對系統輸入
要求研製的自然語言處理系統能處理大規模的真實文本,而不是如以前的研究性系統那樣,只能處理很少的詞條和典型句子。只有這樣,研製的系統才有真正的實用價值。
對系統的輸出
鑒於真實地理解自然語言是十分困難的,對系統並不要求能對自然語言文本進行深層的理解,但要能從中抽取有用的信息。例如,對自然語言文本進行自動地提取索引詞,過濾,檢索,自動提取重要信息,進行自動摘要等等。
同時,由於強調了“大規模”,強調了“真實文本”,下面兩方面的基礎性工作也得到了重視和加強。
(1)大規模真實語料庫的研製。大規模的經過不同深度加工的真實文本的語料庫,是研究自然語言統計性質的基礎。沒有它們,統計方法只能是無源之水。
(2)大規模、信息豐富的詞典的編製工作。規模為幾萬,十幾萬,甚至幾十萬詞,含有豐富的信息(如包含詞的搭配信息)的計算機可用詞典對自然語言處理的重要性是很明顯的。
自然語言理解與機器
自然語言理解與機器
雖然上述新趨勢給自然語言處理領域帶來了成果,但從理論方法的角度看,由於採集、整理、表示和有效應用大量知識的困難,這些系統更依賴於統計學的方法和其他“簡單”的方法或技巧。而這些統計學的方法和其他“簡單”的方法似乎也快達到它們的極限了,因此,目前在自然語言處理界廣泛爭論的一個問題便是:要取得新的更大的進展,主要有待於理論上的突破呢,還是可由目前已有的方法的完善和優化實現?答案還不清楚。大致上,更多的語言學家傾向於前一種意見,而更多的工程師則傾向於後一種意見。回答或許在“中間”,即應將基於知識和推理的深層方法與基於統計等“淺層”方法結合起來。自然語言處理理論上的一種突破就是自然語言的實質理解,關於自然語言真正理解的研究目前已取得進展。

存在問題


目前存在的問題有兩個方面:一方面,迄今為止的語法都限於分析一個孤立的句子,上下文關係和談話環境對本句的約束和影響還缺乏系統的研究,因此分析歧義、詞語省略、代詞所指、同一句話在不同場合或由不同的人說出來所具有的不同含義等問題,尚無明確規律可循,需要加強語用學的研究才能逐步解決。另一方面,人理解一個句子不是單憑語法,還運用了大量的有關知識,包括生活知識和專門知識,這些知識無法全部貯存在計算機里。因此一個書面理解系統只能建立在有限的辭彙、句型和特定的主題範圍內;計算機的貯存量和運轉速度大大提高之後,才有可能適當擴大範圍.
以上存在的問題成為自然語言理解在機器翻譯應用中的主要難題,這也就是當今機器翻譯系統的譯文質量離理想目標仍相差甚遠的原因之一;而譯文質量是機譯系統成敗的關鍵。中國數學家、語言學家周海中教授曾在經典論文《機器翻譯五十年》中指出:要提高機譯的質量,首先要解決的是語言本身問題而不是程序設計問題;單靠若干程序來做機譯系統,肯定是無法提高機譯質量的;另外在人類尚未明了大腦是如何進行語言的模糊識別和邏輯判斷的情況下,機譯要想達到“信、達、雅”的程度是不可能的。