[轉]對當前自然語言處理方法論中的一個疑惑
周錫令
[email protected]
2001-11-8
在大多數情況下,我習慣於研究遠離我們主觀世界的客體。典型的例子是“天體”。在研究的過程中,使用的方法是“建立模型”。研究的進展過程主要表現為“模型的逐步求精”。
比如說,最開始只對兩個天體組成的系統模型進行研究,研究的結果與實際的數據基本符合,但是有微小的差異。於是,我們進一步考慮距離較遠的第三個星體所產生的攝動作用,如此這般,使得我們建立的模型越來越接近實際情況。
對於力學世界,也有類似的現象,最開始建立牛頓力學,它和常規的世界符合得很好;但是當物體的運動速度逐漸接近光速時,又很多現象無法解釋,於是進入了相對論修正。
在自然語言處理工作中,我們好像也是采用類似的方法。我們建立了一個又一個語法模型,希望將盡可能多的語發現象籠括在內。但是和力學、電學等領域相比,所得的結果總是很不能令人滿意。對此,我們總是把原因歸結為:自然語言太復雜!
我們好像忽略了一個很重要的事實,那就是:像“天體”、“集成電路”……這類客體是“完全自立於我們主觀世界之外”的,我們用來研究它們的大腦和這些被研究的對象是完全分開的。研究它們時,用不著為我們自己的大腦的工作過程建立模型。而和“天體”、“集成電路”……這些客觀對象不同,自然語言本身似乎夠不上一個完整的研究對象。作為一個有價值的完整的研究對象,參與其運行機制的主要方面都應該包含在內。
舉例來說,如果有以下一個通訊系統:
圖中的車載計算機通過無線電訊號向接收設備發送訊息。由於各種原因,信號經常受到幹擾。因此發送時在信號中添加了誤差校正碼,而接收設備則擁有根據誤差校正碼校正錯誤的設施。我們在研究這個系統時,一定會整體地從信號的發送、傳輸、幹擾、接收、校正的所有環節來考慮。如果拋開接收這頭的校正環節,單純研究信號的格式、統計規律,一定會得出千奇百怪、沒有太多價值的結果。
然而在研究自然語言時,我們正是采取了這種奇怪的研究方式。自然語言是在人群中為了交流思想而產生和不斷發展的。語言傳遞思想或信息的機制既蘊藏在語言內部的結構,也隱含在人的大腦解讀語言中所包含的符號系列的過程中。可是我們只研究語言本身!
因此對於自然語言傳遞信息的運行機制,不能單單研究語言本身。原則上,應該把“人的大腦的處理語言的過程”也包含在所研究的系統內,這樣才能有結果。
當然,研究大腦解讀語言的過程很困難。但是,如果我們因此就完全放棄這一十分重要的方面,只是在語言的形式結構方面越鉆越細,我們會不會永遠也得不出結果?
目前我們當然還不可能提出大腦的全部模型。但是可以為大腦在理解自然語言時最重要的一個環節先拿出來研究,這就是解惑:補充語句中的缺失部分、糾正結構中的倒錯部分。展開來說,就是:
把自然語言中的語句或者句群看成“含有多處含糊性”,“可以有多種解讀方式”的符號系列,然後利用“知識”,借助“語義合理性準則”從中選出最合乎情理的一種解讀方式,可以看成是為“大腦解讀語言的過程”所建立最初級的模型。
“語法”和“語義”的第一個結合點是不是就在這裏?
根據我現階段的理解,HNC團隊一直在這個方向上努力。當然,這個任務決不是輕而易舉的。由於這條道路涉及全體人類在全部歷史上積累下來的知識的表達和應用,沿著這條道路前進的工作著好像面臨著數學上令人生畏的無窮大問題。因此,要在這個方向上獲得進展、並能得到社會的承認,十分關鍵的一點就是:充分意識到任何工程都是有邊界的,任何技術手段所能解決的問題都是有限的;從而明確有限目標,並睿智地劃分工程的不同實現階段。
最後,我們不妨來對比一下計算機編程語言。在發展這類語言時,從來就是把計算機對語言的處理能力聯系在一起研究的。由於現階段的計算機基本上沒有解惑能力,所以這類語言基本上不允許有含糊性,書寫出來的程序在語法上不能有絲毫差錯。樣樣事情都要交代的明確,沒有不符合語法或者模棱兩可的地方。我說“基本上”是因為當代的計算機也不是絕對沒有一點解惑能力。例如,很多人書寫HTML程序的時候,往往沒有嚴格遵從語法的規定。對於這種情況, 實際的HTML解釋程序往往能夠“正確地加以理解”,也即可以在一頂程度上自動加以補充或改正。而不同公司開發的HTML解釋程序的解惑能力也有程度上的差異。
[轉]對當前自然語言處理方法論中的一個疑惑