自然語言處理新天地(之三[4]) (轉)
4.3 語句表示式及其格式:namespace prefix = o ns = "urn:schemas--com::office" />
語句表示式這個術語在《HNC理論》中經常使用,上一節還在前面加了HNC修飾詞,這意味著可以有各種各樣的語句表示式。但我們始終沒有給語句表示式下一個定義。這裡建議採用下面的定義:把各語句單位按一定順序排列起來、並形成一定意義的語句表示方式。
按照這個定義,喬姆斯基的S=NP+VP表示式並不符合語句表示式的條件,因為它雖然規定了語句單位的排列順序,但不能保證形成一定意義,其生成能力過強眾所周知,上面所引用的喬氏自嘲名句就是例證。為什麼喬氏表示式不具備語句表示式的資格?簡單地說,是由於他的語句單位選用不當,直接採用短語為語句的下一級構成單位。
表示式HNC21之所以可以充當構成語句表示式的基礎,是由於它規定了一個語句具有一定意義的最小充分必要條件:主語義塊的型別與個數。這句話似乎有一個“多餘”,一個“不通”。“多餘”的是“具有一定意義”,“不通”的是“最小充分必要條件”。
“多餘”說的理由是:既然是語句,當然就具有一定意義,加這個修飾詞不是畫蛇添足麼?這個問題要從兩方面來回答,一,這裡的“一定”不是泛指的“一定”,而是一系列特指的“一定”,這些特指就是各具體句類。二,無意義的語句可以由喬氏表示式大批次“生產”,而且文學和語言學大師們還經常玩弄變無意義為有意義的語言遊戲,站在“以為本”的立場,需要對“意義”加以適當限制。所以,加上修飾詞“一定意義”就很有必要了。
“不通”說的理由是:既然是充分必要條件,就無“最小”之說。這個問題也需要從兩方面來回答。一,語句的意義不僅決定於語義塊的型別和個數,還決定於它們的排序。二,語句的意義雖然主要決定於主語義塊,但輔語義塊的貢獻也不可忽視,有時甚至超過主語義塊。由於這兩重原因,“主語義塊的型別與個數”就只是語句具有一定意義的充分必要條件的“最小值”。嚴格數學意義下的充分必要條件確實無“最小”之說,但語言學借用數學概念,不是需要採取“超然”方式麼,這又是一例而已。
那麼,把表示式HNC21中的各語義塊按什麼順序排列,才能構成語句表示式?不要小看這個問題,它涉及許多基本語言現象的“根”,如西語名詞的格,介詞的語法功能,漢語的“把”字句等。
為了研究語句表示式,最好回到HNC20的形式,並在符號上作兩項簡化:去掉自變數x;把特徵語義塊EK減少到一個。這樣,語句表示式就可以寫成下面比較簡明的形式:
J=[JK]+EK+[{fK}] (J-0)
這是僅有一個特徵語義塊的語句表示式,但是,如果對JK引進塊擴和句蛻的概念,就可以增強它的適應性,允許多個特徵語義塊的存在,從而包括上述全部57組基本句類。這個表示式的物理意義可以這樣來陳述:它代表這樣一類語句,它們以一個特徵語義塊EK為核心,一個或若干個廣義語義塊JKn,並可另行配置一個或若干個輔語義塊。
根據這一陳述,那麼對此類語句的感知或理解,就是要找出這些語義塊。換句話說,語句的感知或理解過程就是一個辨認各個語義塊的過程。這個辨認過程理論上應該分為兩步,第一步是辨認JK、EK、fK三者之間的差異,第二步是辨認三者的內部差異或意義。
設想存在這麼一種理想的自然語言,它對每一個語義塊的上述兩種差異都給出明確的標記,那麼,兩步認定過程就迎刃而解了,什麼兩步和語義塊的順序,都無所謂了。
但是,上述理想語言實際上是不存在的,也是不現實的,因為內部差異的標記非常複雜。自然語言的實際做法是,將上述兩種差異合併為語法特性加以標記。不同的語種在標記的方式或技巧方面各有千秋,不過,比較起來也許是日語表現最“佳”,而漢語表現最“差”。
所謂屈折語的形態變化,黏著語的黏附成分,主要就是為了實現下述兩項功能:一是充當語義塊的差異標記,二是充當語義塊內部構成的指示標記。其它的功能是次要的,甚至是多餘的。
除了標記之外,語義塊本身的排序也可以提供語義塊的辨認資訊。例如,將語句表示式HNC20改寫成下面的兩種形式
J=JK1+EK+[JKm]+[fK], m=2,3¼ (J-1)
J=[JKm]+[fK]+EK (J-2)
就可以減輕語義塊辨認的負擔,因為前者給出了JK1和EK的明確位置資訊,後者明確給出了EK的位置資訊,兩者分別相當於所謂SVO和SOV語言。SVO和SOV之說如果加上“雙O”(雙賓語)和“雙S”(雙主語)的概念,適用性是比較寬的。不過,HNC仍然認為:採用符號JKm替代S和O,對於研究語句表示式的各種變化更為方便。當然這樣做的必要前提是:能夠對JK的下標m賦予確定的語義角色意義,而這一點由於基本句類和混合句類的發現已經不存在任何障礙了。所以,下面將以語句表示式J-1為基礎來討論語句格式問題。
語句格式定義為語句主語義塊的排列順序,每一種排列順序就是一種或一類格式,為什麼有“一種”與“一類”之分?本次研討會有一篇關於語句格式的專題論文,讀者可從中找到答案。格式不管輔語義塊,因此,把J-1再改寫成下面的5種形式:
J =JK1+EK+[JKm] m=2,3
J3=JK1+EK+JK2
J4=JK1+EK+JK2+JK3
J21=JK+EK
J22=JK1+JK2
除了複句之外,這5種形式的語句的覆蓋面對於格式的研究是足夠的。HNC把上列形式的語句統稱基本格式。應該再次強調的是,這裡的JKm都已經在句類的基礎上分配了給定的語義角色,與語法意義下的主語賓語概念完全脫離了關係。完全脫離關係的利弊很值得研究,但不屬於本文的討論範圍了。
基本格式是對語義塊順序資訊的充分利用,其基本特徵是不對任何語義塊給出任何標記資訊,因為它認為位置就包含了所需要的全部資訊,代表了各語義塊的語義角色。這個說法表面上“氣壯如牛”,但是實際上仍然存在問題,各個語義塊之間的邊界就那麼一目瞭然麼?即使說把EK擺在第二號位置可形成兩個天然分界,那J4語句的JK2與JK3之間,J22語句的JK1與JK2之間總存在邊界模糊吧!但是,基本格式就是採取“蠻不講理”的態度,對此置之不理。因此,採用基本格式的語言可以說是“蠻不講理”的語言。
那麼,世界上真有這樣的語言麼?有!有多少我不知道,但我知道至少有一位,那就是漢語。英語對“p400e31-0”有I me 之分,漢語用一個“我”全代表了,甚至還擴充套件到代表my和our。你看漢語之“蠻”,簡直到了“野蠻”的程度,不是嗎?!
然而,正如許多哲人說過的,真理與謬誤常常只有一步之差,漢語的上述“野蠻”正是其高度智慧的表現。“J4語句的JK2與JK3之間,J22語句的JK1與JK2之間”的邊界永遠是“物件B”與“內容C”的邊界,不可能是兩“物件B”或兩“內容C”之間的邊界,如果你能夠區分“物件B”與“內容C”,那麼,這個邊界模糊實際上是不存在的。而人的大腦對於“物件B”與“內容C”的區分是輕而易舉的,據此,漢語就放心使用基本格式了,難道這不是智慧的表現麼!但是,對於來說,這個邊界模糊卻是一道不可忽視的障礙,在《HNC理論》p165中把這一障礙叫做“BC佯謬”。
值得特別指出的是,漢語一方面在嚴格意義上使用基本格式,同時又豐富多彩地使用各種非基本格式,包括HNC定義的規範格式、違例格式和各種省略格式。
規範格式是指主語義塊在基本格式的基礎上互相位置,這時,在每兩個廣義物件語義塊之間就要加上邊界標記,指示邊界後面的廣義物件語義塊的m編號,即該語義塊語義角色的代號。違例格式是對規範格式的違規,預設了部分或全部應有的語義塊邊界標記符。看下面的例句:
1 張三||已經通知了||李四#參加||明天下午的橋牌比賽#。
2 張三||[|已經]^把{參加||明天下午橋牌比賽}的事/||通知了||李四。
3 {參加||明天下午橋牌比賽}的事/||^由||張三||通知||李四。
4 {李四||參加||明天下午橋牌比賽}的事/||^由||張三||通知
5 明天下午的橋牌比賽||^由||張三||通知||李四||(參加)。
6 明天下午的橋牌比賽||張三||要趕緊通知||李四||(參加)。
7 明天下午的橋牌比賽,李四||非參加不可,張三||要趕緊通知。
8 明天下午的橋牌比賽,李四||非參加不可,[|要]^讓張三||趕緊通知||他。
這是內容基本相同的一組資訊轉移句
T3J=TA+T3+TB+T3C, T3C=ErJ
第1句是基本格式,2-5句是規範格式,6-7句是違例格式。下面對這些例句稍作說明。先交代一下標記符號:
|| 語義塊邊界標記符
{ } 原型語蛻標記符
/ 包裝句蛻標記符
# # 塊擴標記符
[| ] 特徵語義塊前向分離標記符
^ 語義塊指示符
資訊轉移句的T3C具有塊擴特性,這裡的塊擴語句是一個效應句
Y90J=YB+Y90+YC
在這個效應句裡省略了YB。根據資訊轉移句與效應句相配合的句類知識,效應句中省略的物件一定是TB,這裡就是李四。如果在YB的位置上出現了人稱代詞“他”,那“他”一定是指TA,而不是YB,這裡就是張三。但應注意,後面的“規則”要排除TB與T3C之間出現逗號的情況。
在規範格式裡,語義塊總數不變。但是,基本格式裡的塊擴語句卻變成了一個包裝原型句蛻,這並非必然現象,但有規律可尋,很值得研究。第五句的參加似乎可以省略,其實不然,一省略就有歧義,參加、參觀、參預(比賽工作人員)的界線就不清楚了。
違例格式的語義塊邊界在第六句裡呈現出“BC佯謬”,在7-8兩句裡,用逗號替代了語義塊邊界標記,這是違例格式常用的語法手段。但逗號的語法功能太多,是不是充當違例格式的語義塊邊界標記符,惟有依靠Eg或Ep的句類知識才能作出判斷。
從上面3種格式的對比可以看出,漢語的不同格式,是對語法範疇“格、時、體、態、式”的綜合運用。漢語語法學家早就知道漢語語序的這一語法功能,並進行過深入的研究,HNC需要虛心學習。但是,“語序”之“語”的單位似乎應該更明確一些,把它劃分為語義塊間和語義塊內兩大型別,是否更有利於漢語的“時、體、態、式”研究?借這個提出問題的機會,我願意鄭重推薦:凡是以語義塊為“序單位”的語言現象,格式的概念是非常有用的。說到這裡,我不禁想起在20世紀遭受到種種不公平評說的國學大師們(這裡按國學的當時標準),他們的功過在21世紀也未必能得到科學的論定。但是,他們對音韻反切表示法的過度鍾愛,卻是可以作出定論的。
本節需要說明的要點現在只剩下“混合句類3192”了。這個數字來於
57(57-1)=3192
沒有任何神秘。混合句類是基本句類的衍生物,基本句類的定義是:主特徵語義塊只表述作用效應鏈的一個環節;混合句類的定義是:主特徵語義塊表述作用效應鏈的兩個(或兩個以上)環節。對混合句類,我只想說這麼一句話,它提供了一個設計、賦予、配置句類知識的巨大空間。我們需要更多的博士來研究這個具有重大意義的課題。
5、結束語
我最害怕展望未來。因為第一,在我看來,未來學儘管出了很多名人,但還不是一門科學。第二,我只是一隻比較勤奮的“刺蝟”,而且永遠學不會“狐狸”的智慧,而展望未來是需要這一智慧的。
對HNC未來的展望不能孤立地進行,要同許嘉璐先生最近提出的中文資訊處理第二階段戰役結合起來考慮。
第二階段戰役從句處理開始,到篇章處理結束。這個戰役在國外已經打響了半個世紀(因為人家不需要字處理戰役),“突破性”進展曾屢有報導,但無一不是曇花一現。自然語言處理屬於人工智慧這個“大雜燴”學科的分支,這一學科的大師級人物中唯一的諾貝爾獎金獲得者H·西蒙先生曾兩次展望人工智慧的光輝前景,但都以徹底破產落幕。我們在展望中文資訊處理第二戰役的前景時,不能不考慮上述歷史背景或事件的根源。
第二戰役的應用領域都涉及到語言知識處理的核心技術,這一核心技術絕對離不開對自然語言的計算機理解。繞過語義或理解另闢蹊徑的做法是當前自然語言處理技術路線的國際主流,但許先生明確指出,繞開語義之路是行不通的。我完全支援許先生的這一基本論斷。
HNC理論為計算機的語句理解制定了一個可以實現的標準,即句類分析技術,併為這一技術配備了一系列相應的知識表示方案。現在,這個技術已經在計算機上初步實現了,本次研討會上有多篇這方面的報告。
當前的基本勢態是:句類分析技術的兩翼(與知識庫)與理論基礎都需要有一個新的飛躍才能贏得第二戰役的決定性勝利。
軟體新飛躍的主要標誌是:對HNC符號體系或類似符號體系(但絕不能是自然語言符號體系本身)實現全面的“編譯”;將句類分析技術升級為擴充套件句類分析技術,實現理解處理20項難點的綜合治理。
知識庫新飛躍的主要標誌是:將句類知識體系或類似的語句知識體系(但絕不能僅僅是句法知識體系)進一步完善;將詞語預期知識的覆蓋率提高到接近人類大腦的水準。
理論基礎新飛躍的主要標誌是:將語境知識形式化,為此不能僅採用“狐狸”式研究,要推進向“刺蝟”方式的轉變;將句群、段落、篇章要點的表示框架形式化,並在研究方式上推進同樣的轉變。
實現上列新飛躍的關鍵在於湧現一支頂尖人才的團隊。這個團隊不僅需要理論和技術人才,還需要市場運作高手;需要張良、韓信、蕭何的緊密配合,還需要一位劉邦來統帥。
我願意毛遂自薦,充當半個張良。
這個團隊的核心正在形成,但還需要擴充套件十倍。
這一擴充套件團隊的基本形成,就是第二戰役決定性勝利即將到來的可靠徵兆。
這就是我對中文資訊處理第二戰役的展望。而HNC的未來,當然是依附於這一展望之上。
本文得到973專案“G1998030506”的支援
* 本文聽取了李耀勇博士後的許多重要建議,特此致謝。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-982719/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 自然語言處理新天地(之三[1]) (轉)自然語言處理
- 自然語言處理新天地(之收藏者言) (轉)自然語言處理
- 自然語言處理(NLP)自然語言處理
- 自然語言處理(NLP)系列(一)——自然語言理解(NLU)自然語言處理
- 自然語言處理(NLP)概述自然語言處理
- 自然語言處理NLP(四)自然語言處理
- Python自然語言處理Python自然語言處理
- Python自然語言處理 1 語言處理與PythonPython自然語言處理
- Perl語言的文書處理模式之三(轉)模式
- HanLP 自然語言處理 for nodejsHanLP自然語言處理NodeJS
- [譯] 自然語言處理真是有趣!自然語言處理
- 自然語言處理:分詞方法自然語言處理分詞
- 自然語言處理與分析(one)自然語言處理
- 中國語文(自然語言處理)作業自然語言處理
- Python自然語言處理 3 處理原始文字Python自然語言處理
- 自然語言處理之jieba分詞自然語言處理Jieba分詞
- 人工智慧 (06) 自然語言處理人工智慧自然語言處理
- 自然語言處理的最佳實踐自然語言處理
- 機器學習工作坊 - 自然語言處理機器學習自然語言處理
- 配置Hanlp自然語言處理進階HanLP自然語言處理
- 自然語言處理NLP快速入門自然語言處理
- 自然語言處理(NLP)入門指南自然語言處理
- 使用Mahout實現自然語言處理自然語言處理
- 自然語言處理與情緒智慧自然語言處理
- Python自然語言處理 4 編寫結構化程式Python自然語言處理
- 大學書信選2(關於自然語言處理) (轉)自然語言處理
- 自然語言處理NLP(6)——詞法分析自然語言處理詞法分析
- Pytorch系列:(六)自然語言處理NLPPyTorch自然語言處理
- 自然語言處理怎麼最快入門?自然語言處理
- 深度解析自然語言處理之篇章分析自然語言處理
- 自然語言處理(NLP)的主要範疇自然語言處理
- 人工智慧--自然語言處理簡介人工智慧自然語言處理
- 自然語言處理中的語言模型預訓練方法自然語言處理模型
- 精通Python自然語言處理 2 :統計語言建模Python自然語言處理
- 探索自然語言處理:語言模型的發展與應用自然語言處理模型
- 12 種自然語言處理的開源工具自然語言處理開源工具
- 【精讀】自然語言處理基礎之RNN自然語言處理RNN
- 自然語言處理(NLP)簡介 | NLP課程自然語言處理