自然語言處理
出自 MBA智库百科(https://wiki.mbalib.com/)
自然語言處理(Natural Language Processing)
目錄 |
自然語言處理是電腦科學領域與人工智慧領域中的一個重要方向。它研究能實現人與電腦之間用自然語言進行有效通信的各種理論和方法。自然語言處理是一門融語言學、電腦科學、數學於一體的科學。因此,這一領域的研究將涉及自然語言,即人們日常使用的語言,所以它與語言學的研究有著密切的聯繫,但又有重要的區別。自然語言處理並不是一般地研究自然語言,而在於研製能有效地實現自然語言通信的電腦系統,特別是其中的軟體系統。因而它是電腦科學的一部分。
自然語言處理是電腦科學,人工智慧,語言學關註電腦和人類(自然)語言之間的相互作用的領域。
語言是人類區別其他動物的本質特性。在所有生物中,只有人類才具有語言能力。人類的多種智能都與語言有著密切的關係。人類的邏輯思維以語言為形式,人類的絕大部分知識也是以語言文字的形式記載和流傳下來的。因而,它也是人工智慧的一個重要,甚至核心部分。
用自然語言與電腦進行通信,這是人們長期以來所追求的。因為它既有明顯的實際意義,同時也有重要的理論意義:人們可以用自己最習慣的語言來使用電腦,而無需再花大量的時間和精力去學習不很自然和習慣的各種電腦語言;人們也可通過它進一步瞭解人類的語言能力和智能的機制。
實現人機間自然語言通信意味著要使電腦既能理解自然語言文本的意義,也能以自然語言文本來表達給定的意圖、思想等。前者稱為自然語言理解,後者稱為自然語言生成。因此,自然語言處理大體包括了自然語言理解和自然語言生成兩個部分。歷史上對自然語言理解研究得較多,而對自然語言生成研究得較少。但這種狀況已有所改變。
無論實現自然語言理解,還是自然語言生成,都遠不如人們原來想象的那麼簡單,而是十分困難的。從現有的理論和技術現狀看,通用的、高質量的自然語言處理系統,仍然是較長期的努力目標,但是針對一定應用,具有相當自然語言處理能力的實用系統已經出現,有些已商品化,甚至開始產業化。典型的例子有:多語種資料庫和專家系統的自然語言介面、各種機器翻譯系統、全文信息檢索系統、自動文摘系統等。
自然語言處理,即實現人機間自然語言通信,或實現自然語言理解和自然語言生成是十分困難的。造成困難的根本原因是自然語言文本和對話的各個層次上廣泛存在的各種各樣的歧義性或多義性(ambiguity)。
一個中文文本從形式上看是由漢字(包括標點符號等)組成的一個字元串。由字可組成詞,由詞可組成片語,由片語可組成句子,進而由一些句子組成段、節、章、篇。無論在上述的各種層次:字(符)、詞、片語、句子、段,……還是在下一層次向上一層次轉變中都存在著歧義和多義現象,即形式上一樣的一段字元串,在不同的場景或不同的語境下,可以理解成不同的詞串、片語串等,並有不同的意義。一般情況下,它們中的大多數都是可以根據相應的語境和場景的規定而得到解決的。也就是說,從總體上說,並不存在歧義。這也就是我們平時並不感到自然語言歧義,和能用自然語言進行正確交流的原因。但是一方面,我們也看到,為了消解歧義,是需要極其大量的知識和進行推理的。如何將這些知識較完整地加以收集和整理出來;又如何找到合適的形式,將它們存入電腦系統中去;以及如何有效地利用它們來消除歧義,都是工作量極大且十分困難的工作。這不是少數人短時期內可以完成的,還有待長期的、系統的工作。
以上說的是,一個中文文本或一個漢字(含標點符號等)串可能有多個含義。它是自然語言理解中的主要困難和障礙。反過來,一個相同或相近的意義同樣可以用多個中文文本或多個漢字串來表示。
因此,自然語言的形式(字元串)與其意義之間是一種多對多的關係。其實這也正是自然語言的魅力所在。但從電腦處理的角度看,我們必須消除歧義,而且有人認為它正是自然語言理解中的中心問題,即要把帶有潛在歧義的自然語言輸入轉換成某種無歧義的電腦內部表示。
歧義現象的廣泛存在使得消除它們需要大量的知識和推理,這就給基於語言學的方法、基於知識的方法帶來了巨大的困難,因而以這些方法為主流的自然語言處理研究幾十年來一方面在理論和方法方面取得了很多成就,但在能處理大規模真實文本的系統研製方面,成績並不顯著。研製的一些系統大多數是小規模的、研究性的演示系統。
目前存在的問題有兩個方面:
- 迄今為止的語法都限於分析一個孤立的句子,上下文關係和談話環境對本句的約束和影響還缺乏系統的研究,因此分析歧義、詞語省略、代詞所指、同一句話在不同場合或由不同的人說出來所具有的不同含義等問題,尚無明確規律可循,需要加強語用學的研究才能逐步解決。
- 人理解一個句子不是單憑語法,還運用了大量的有關知識,包括生活知識和專門知識,這些知識無法全部貯存在電腦里。因此一個書面理解系統只能建立在有限的辭彙、句型和特定的主題範圍內;電腦的貯存量和運轉速度大大提高之後,才有可能適當擴大範圍.
以上存在的問題成為自然語言理解在機器翻譯應用中的主要難題,這也就是當今機器翻譯系統的譯文質量離理想目標仍相差甚遠的原因之一;而譯文質量是機譯系統成敗的關鍵。中國數學家、語言學家周海中教授曾在經典論文《機器翻譯五十年》中指出:要提高機譯的質量,首先要解決的是語言本身問題而不是程式設計問題;單靠若幹程式來做機譯系統,肯定是無法提高機譯質量的;另外在人類尚未明瞭大腦是如何進行語言的模糊識別和邏輯判斷的情況下,機譯要想達到“信、達、雅”的程度是不可能的。
最早的自然語言理解方面的研究工作是機器翻譯。1949年,美國人威弗首先提出了機器翻譯設計方案。20世紀60年代,國外對機器翻譯曾有大規模的研究工作,耗費了巨額費用,但人們當時顯然是低估了自然語言的複雜性,語言處理的理論和技術均不成熱,所以進展不大。主要的做法是存儲兩種語言的單詞、短語對應譯法的大辭典,翻譯時一一對應,技術上只是調整語言的同條順序。但日常生活中語言的翻譯遠不是如此簡單,很多時候還要參考某句話前後的意思。
大約90年代開始,自然語言處理領域發生了巨大的變化。這種變化的兩個明顯的特征是:
(1)對系統輸入,要求研製的自然語言處理系統能處理大規模的真實文本,而不是如以前的研究性系統那樣,只能處理很少的詞條和典型句子。只有這樣,研製的系統才有真正的實用價值。
(2)對系統的輸出,鑒於真實地理解自然語言是十分困難的,對系統並不要求能對自然語言文本進行深層的理解,但要能從中抽取有用的信息。例如,對自然語言文本進行自動地提取索引詞,過濾,檢索,自動提取重要信息,進行自動摘要等等。
同時,由於強調了“大規模”,強調了“真實文本”,下麵兩方面的基礎性工作也得到了重視和加強。
(1)大規模真實語料庫的研製。大規模的經過不同深度加工的真實文本的語料庫,是研究自然語言統計性質的基礎。沒有它們,統計方法只能是無源之水。
(2)大規模、信息豐富的詞典的編製工作。規模為幾萬,十幾萬,甚至幾十萬詞,含有豐富的信息(如包含詞的搭配信息)的電腦可用詞典對自然語言處理的重要性是很明顯的。