- 自然語言處理
自然語言處理(NLP)是計算機科學,人工智能,語言學關(guān)注計算機和人類(自然)語言之間的相互作用的領(lǐng)域。語言是人類區(qū)別其他動物的本質(zhì)特性。在所有生物中,只有人類才具有語言能力。人類的多種智能都與語言有著密切的關(guān)系。人類的邏輯思維以語言為形式,人類的絕大部分知識也是以語言文字的形式記載和流傳下來的。因而,它也是人工智能的一個重要,甚至核心部分。
用自然語言與計算機進行通信,這是人們長期以來所追求的。因為它既有明顯的實際意義,同時也有重要的理論意義:人們可以用自己最習慣的語言來使用計算機,而無需再花大量的時間和精力去學習不很自然和習慣的各種計算機語言;人們也可通過它進一步了解人類的語言能力和智能的機制。
實現(xiàn)人機間自然語言通信意味著要使計算機既能理解自然語言文本的意義,也能以自然語言文本來表達給定的意圖、思想等。前者稱為自然語言理解,后者稱為自然語言生成。因此,自然語言處理大體包括了自然語言理解和自然語言生成兩個部分。歷史上對自然語言理解研究得較多,而對自然語言生成研究得較少。但這種狀況已有所改變。
無論實現(xiàn)自然語言理解,還是自然語言生成,都遠不如人們原來想象的那么簡單,而是十分困難的。從現(xiàn)有的理論和技術(shù)現(xiàn)狀看,通用的、高質(zhì)量的自然語言處理系統(tǒng),仍然是較長期的努力目標,但是針對一定應(yīng)用,具有相當自然語言處理能力的實用系統(tǒng)已經(jīng)出現(xiàn),有些已商品化,甚至開始產(chǎn)業(yè)化。典型的例子有:多語種數(shù)據(jù)庫和專家系統(tǒng)的自然語言接口、各種機器翻譯系統(tǒng)、全文信息檢索系統(tǒng)、自動文摘系統(tǒng)等。
自然語言處理,即實現(xiàn)人機間自然語言通信,或?qū)崿F(xiàn)自然語言理解和自然語言生成是十分困難的。造成困難的根本原因是自然語言文本和對話的各個層次上廣泛存在的各種各樣的歧義性或多義性(ambiguity)。
一個中文文本從形式上看是由漢字(包括標點符號等)組成的一個字符串。由字可組成詞,由詞可組成詞組,由詞組可組成句子,進而由一些句子組成段、節(jié)、章、篇。無論在上述的各種層次:字(符)、詞、詞組、句子、段,……還是在下一層次向上一層次轉(zhuǎn)變中都存在著歧義和多義現(xiàn)象,即形式上一樣的一段字符串,在不同的場景或不同的語境下,可以理解成不同的詞串、詞組串等,并有不同的意義。一般情況下,它們中的大多數(shù)都是可以根據(jù)相應(yīng)的語境和場景的規(guī)定而得到解決的。也就是說,從總體上說,并不存在歧義。這也就是我們平時并不感到自然語言歧義,和能用自然語言進行正確交流的原因。但是一方面,我們也看到,為了消解歧義,是需要極其大量的知識和進行推理的。如何將這些知識較完整地加以收集和整理出來;又如何找到合適的形式,將它們存入計算機系統(tǒng)中去;以及如何有效地利用它們來消除歧義,都是工作量極大且十分困難的工作。這不是少數(shù)人短時期內(nèi)可以完成的,還有待長期的、系統(tǒng)的工作。
以上說的是,一個中文文本或一個漢字(含標點符號等)串可能有多個含義。它是自然語言理解中的主要困難和障礙。反過來,一個相同或相近的意義同樣可以用多個中文文本或多個漢字串來表示。
因此,自然語言的形式(字符串)與其意義之間是一種多對多的關(guān)系。其實這也正是自然語言的魅力所在。但從計算機處理的角度看,我們必須消除歧義,而且有人認為它正是自然語言理解中的中心問題,即要把帶有潛在歧義的自然語言輸入轉(zhuǎn)換成某種無歧義的計算機內(nèi)部表示。
歧義現(xiàn)象的廣泛存在使得消除它們需要大量的知識和推理,這就給基于語言學的方法、基于知識的方法帶來了巨大的困難,因而以這些方法為主流的自然語言處理研究幾十年來一方面在理論和方法方面取得了很多成就,但在能處理大規(guī)模真實文本的系統(tǒng)研制方面,成績并不顯著。研制的一些系統(tǒng)大多數(shù)是小規(guī)模的、研究性的演示系統(tǒng)。
目前存在的問題有兩個方面:一方面,迄今為止的語法都限于分析一個孤立的句子,上下文關(guān)系和談話環(huán)境對本句的約束和影響還缺乏系統(tǒng)的研究,因此分析歧義、詞語省略、代詞所指、同一句話在不同場合或由不同的人說出來所具有的不同含義等問題,尚無明確規(guī)律可循,需要加強語用學的研究才能逐步解決。另一方面,人理解一個句子不是單憑語法,還運用了大量的有關(guān)知識,包括生活知識和專門知識,這些知識無法全部貯存在計算機里。因此一個書面理解系統(tǒng)只能建立在有限的詞匯、句型和特定的主題范圍內(nèi);計算機的貯存量和運轉(zhuǎn)速度大大提高之后,才有可能適當擴大范圍.
以上存在的問題成為自然語言理解在機器翻譯應(yīng)用中的主要難題,這也就是當今機器翻譯系統(tǒng)的譯文質(zhì)量離理想目標仍相差甚遠的原因之一;而譯文質(zhì)量是機譯系統(tǒng)成敗的關(guān)鍵。中國數(shù)學家、語言學家周海中教授曾在經(jīng)典論文《機器翻譯五十年》中指出:要提高機譯的質(zhì)量,首先要解決的是語言本身問題而不是程序設(shè)計問題;單靠若干程序來做機譯系統(tǒng),肯定是無法提高機譯質(zhì)量的;另外在人類尚未明了大腦是如何進行語言的模糊識別和邏輯判斷的情況下,機譯要想達到“信、達、雅”的程度是不可能的。
發(fā)展歷史
最早的自然語言理解方面的研究工作是機器翻譯。1949年,美國人威弗首先提出了機器翻譯設(shè)計方案。20世紀60年代,國外對機器翻譯曾有大規(guī)模的研究工作,耗費了巨額費用,但人們當時顯然是低估了自然語言的復(fù)雜性,語言處理的理論和技術(shù)均不成熱,所以進展不大。主要的做法是存儲兩種語言的單詞、短語對應(yīng)譯法的大辭典,翻譯時一一對應(yīng),技術(shù)上只是調(diào)整語言的同條順序。但日常生活中語言的翻譯遠不是如此簡單,很多時候還要參考某句話前后的意思。
大約90年代開始,自然語言處理領(lǐng)域發(fā)生了巨大的變化。這種變化的兩個明顯的特征是:
?。?)對系統(tǒng)輸入,要求研制的自然語言處理系統(tǒng)能處理大規(guī)模的真實文本,而不是如以前的研究性系統(tǒng)那樣,只能處理很少的詞條和典型句子。只有這樣,研制的系統(tǒng)才有真正的實用價值。
?。?)對系統(tǒng)的輸出,鑒于真實地理解自然語言是十分困難的,對系統(tǒng)并不要求能對自然語言文本進行深層的理解,但要能從中抽取有用的信息。例如,對自然語言文本進行自動地提取索引詞,過濾,檢索,自動提取重要信息,進行自動摘要等等。
同時,由于強調(diào)了“大規(guī)模”,強調(diào)了“真實文本”,下面兩方面的基礎(chǔ)性工作也得到了重視和加強。
?。?)大規(guī)模真實語料庫的研制。大規(guī)模的經(jīng)過不同深度加工的真實文本的語料庫,是研究自然語言統(tǒng)計性質(zhì)的基礎(chǔ)。沒有它們,統(tǒng)計方法只能是無源之水。
?。?)大規(guī)模、信息豐富的詞典的編制工作。規(guī)模為幾萬,十幾萬,甚至幾十萬詞,含有豐富的信息(如包含詞的搭配信息)的計算機可用詞典對自然語言處理的重要性是很明顯的。
相關(guān)內(nèi)容
自然語言處理(NLP)是計算機科學,人工智能,語言學關(guān)注計算機和人類(自然)語言之間的相互作用的領(lǐng)域。因此,自然語言處理是與人機交互的領(lǐng)域有關(guān)的。在自然語言處理面臨很多挑戰(zhàn),包括自然語言理解,因此,自然語言處理涉及人機交互的面積。在NLP諸多挑戰(zhàn)涉及自然語言理解,即計算機源于人為或自然語言輸入的意思,和其他涉及到自然語言生成。
現(xiàn)代NLP算法是基于機器學習,特別是統(tǒng)計機器學習。機器學習范式是不同于一般之前的嘗試語言處理。語言處理任務(wù)的實現(xiàn),通常涉及直接用手的大套規(guī)則編碼。
許多不同類的機器學習算法已應(yīng)用于自然語言處理任務(wù)。這些算法的輸入是一大組從輸入數(shù)據(jù)生成的“特征”。一些最早使用的算法,如決策樹,產(chǎn)生硬的if-then規(guī)則類似于手寫的規(guī)則,是再普通的系統(tǒng)體系。然而,越來越多的研究集中于統(tǒng)計模型,這使得基于附加實數(shù)值的權(quán)重,每個輸入要素柔軟,概率的決策。此類模型具有能夠表達許多不同的可能的答案,而不是只有一個相對的確定性,產(chǎn)生更可靠的結(jié)果時,這種模型被包括作為較大系統(tǒng)的一個組成部分的優(yōu)點。
自然語言處理研究逐漸從詞匯語義成分的語義轉(zhuǎn)移,進一步的,敘事的理解。然而人類水平的自然語言處理,是一個人工智能完全問題。它是相當于解決中央的人工智能問題使計算機和人一樣聰明,或強大的AI。自然語言處理的未來一般也因此密切結(jié)合人工智能發(fā)展。
內(nèi)容來自百科網(wǎng)