然而,事實是理解人類語言遠(yuǎn)比破譯密碼要復(fù)雜得多,因此研究進(jìn)展非常緩慢。1966年的一份研究報告總結(jié)發(fā)現(xiàn),經(jīng)過十年之久的研究,結(jié)果遠(yuǎn)遠(yuǎn)未能達(dá)到預(yù)期,因此支持資金急劇下降,使自然語言處理(特別是機(jī)器翻譯)的研究陷入長達(dá)二十年的低潮。直到二十世紀(jì)八十年代,隨著電子計算機(jī)的計算能力的飛速提高和制造成本的大幅下降,研究者又開始重新關(guān)注自然語言處理這個極富挑戰(zhàn)的研究領(lǐng)域。三十年滄海桑田,此時研究者已經(jīng)認(rèn)識到簡單的語言規(guī)則的堆砌無法實現(xiàn)對人類語言的真正理解。研究發(fā)現(xiàn),通過對大量的文本數(shù)據(jù)的自動學(xué)習(xí)和統(tǒng)計,能夠更好地解決自然語言處理問題,如語言的自動翻譯。這一思想被稱為自然語言處理的統(tǒng)計學(xué)習(xí)模型,至今方興未艾。
那么,自然語言處理到底存在哪些主要困難或挑戰(zhàn),吸引那么多研究者幾十年如一日孜孜不倦地探索解決之道呢?
二、自然語言處理的主要困難
自然語言處理的困難可以羅列出來很多,不過關(guān)鍵在于消除歧義問題,如詞法分析、句法分析、語義分析等過程中存在的歧義問題,簡稱為消歧。而正確的消歧需要大量的知識,包括語言學(xué)知識(如詞法、句法、語義、上下文等)和世界知識(與語言無關(guān))。這帶來自然語言處理的兩個主要困難。
首先,語言中充滿了大量的歧義,這主要體現(xiàn)在詞法、句法及語義三個層次上。歧義的產(chǎn)生是由于自然語言所描述的對象――人類活動非常復(fù)雜,而語言的詞匯和句法規(guī)則又是有限的,這就造成同一種語言形式可能具有多種含義。
例如單詞定界問題是屬于詞法層面的消歧任務(wù)。在口語中,詞與詞之間通常是連貫說出來的。在書面語中,中文等語言也沒有詞與詞之間的邊界。由于單詞是承載語義的最小單元,要解決自然語言處理,單詞的邊界界定問題首當(dāng)其沖。特別是中文文本通常由連續(xù)的字序列組成,詞與詞之間缺少天然的分隔符,因此中文信息處理比英文等西方語言多一步工序,即確定詞的邊界,我們稱為“中文自動分詞”任務(wù)。通俗的說就是要由計算機(jī)在詞與詞之間自動加上分隔符,從而將中文文本切分為獨立的單詞。例如一個句子“今天天氣晴朗”的帶有分隔符的切分文本是“今天|天氣|晴朗”。中文自動分詞處于中文自然語言處理的底層,是公認(rèn)的中文信息處理的第一道工序,扮演著重要的角色,主要存在新詞發(fā)現(xiàn)和歧義切分等問題。我們注意到:正確的單詞切分取決于對文本語義的正確理解,而單詞切分又是理解語言的最初的一道工序。這樣的一個“雞生蛋、蛋生雞”的問題自然成了(中文)自然語言處理的第一條攔路虎。
其他級別的語言單位也存在著各種歧義問題。例如在短語級別上,“進(jìn)口彩電”可以理解為動賓關(guān)系(從國外進(jìn)口了一批彩電),也可以理解為偏正關(guān)系(從國外進(jìn)口的彩電)。又如在句子級別上,“做手術(shù)的是她的父親”可以理解為她父親生病了需要做手術(shù),也可以理解為她父親是醫(yī)生,幫別人做手術(shù)??傊?,同樣一個單詞、短語或者句子有多種可能的理解,表示多種可能的語義。如果不能解決好各級語言單位的歧義問題,我們就無法正確理解語言要表達(dá)的意思。
另外一個方面,消除歧義所需要的知識在獲取、表達(dá)以及運用上存在困難。由于語言處理的復(fù)雜性,合適的語言處理方法和模型難以設(shè)計。
例如上下文知識的獲取問題。在試圖理解一句話的時候,即使不存在歧義問題,我們也往往需要考慮上下文的影響。所謂的“上下文”指的是當(dāng)前所說這句話所處的語言環(huán)境,例如說話人所處的環(huán)境,或者是這句話的前幾句話或者后幾句話,等等。假如當(dāng)前這句話中存在指代詞的時候,我們需要通過這句話前面的句子來推斷這個指代詞是指的什么。我們以“小明欺負(fù)小亮,因此我批評了他”為例。在其中的第二句話中的“他”是指代“小明”還是“小亮”呢?要正確理解這句話,我們就要理解上句話“小明欺負(fù)小亮”意味著“小明”做得不對,因此第二句中的“他”應(yīng)當(dāng)指代的是“小明”。由于上下文對于當(dāng)前句子的暗示形式是多種多樣的,因此如何考慮上下文影響問題是自然語言處理中的主要困難之一。
再如背景知識問題。 正確理解人類語言還要有足夠的背景知識。舉一個簡單的例子,在機(jī)器翻譯研究的初期,人們經(jīng)常舉一個例子來說明機(jī)器翻譯任務(wù)的艱巨性。在英語中“The spirit is willing but the flesh is weak.”,意思是“心有余而力不足”。但是當(dāng)時的某個機(jī)器翻譯系統(tǒng)將這句英文翻譯到俄語,然后再翻譯回英語的時候,卻變成了“The Voltka is strong but the meat is rotten.”,意思是“伏特加酒是濃的,但肉卻腐爛了”。從字面意義上看,“spirit”(烈性酒)與“Voltka”(伏特加)對譯似無問題,而“flesh”和“meat”也都有肉的意思。那么這兩句話在意義上為什么會南轅北轍呢?關(guān)鍵的問題就在于在翻譯的過程中,機(jī)器翻譯系統(tǒng)對于英語成語并無了解,僅僅是從字面上進(jìn)行翻譯,結(jié)果自然失之毫厘,差之千里。