完么扎西
(青海師范大學民族師范學院 青海省西寧市 810008)
藏文是一種輔音音素拼音文字,即一種在文字體系中以輔音為主要成分的音素拼音文字。藏文輔音字母和元音符號拼寫構成藏文(音節(jié))字,藏文(音節(jié))字構成詞,詞構成句子。所以研究藏文的信息熵時,既要研究藏文字符的信息熵,也要研究藏文(音節(jié))字的信息熵,還要研究藏語詞的信息熵。
國內(nèi)外許多學者已經(jīng)研究估測了多種文字的信息熵,如以字符為單位統(tǒng)計的英文、法文、德文、西班牙文和俄文等的信息熵分別為4.03 比特、3.98 比特、4.10 比特和4.01 比特。對于漢字信息熵的估算,采用了多種方法,馮志偉教授采用擴大漢字容量的方法,首次給出了漢字的信息熵為9.65 比特[1];吳軍采用一種統(tǒng)計的方法估測了漢語信息熵的一個上界,即5.17 比特[2];孫帆等采用兩種不同的統(tǒng)計方法,估計了漢字的極限熵值為5.31 比特[3];黃萱菁等采用語言模型中稀疏事件的概率估計方法,估算了漢字的零階熵、一階熵和二階熵,其值分別為9.62,6.18 和4.89 比特[4]。對于藏文信息熵的估算,也有了一定的研究,江荻采用一種統(tǒng)計的方法,在規(guī)模為20 余萬字的藏文單語語料上計算了藏文字符的一階熵、二階熵以及多余度,其值分別為3.9913,1.2531 和0.766[5];嚴海林等人采用一種概率統(tǒng)計的方法,在規(guī)模為4 千萬字符的藏語單語語料上估計了藏文“字丁”的零階熵、一階熵、二階熵和三階熵,以及冗余度,其值分別為9.59、4.80、3.12、2.70 和0.72[6];王維蘭等人采用同樣的方法估算了藏文“字丁”熵值[7]。完么扎西等人采用一種概率統(tǒng)計的方法,在規(guī)模為300 多萬字的藏語單語語料上估測了藏文字符和藏文字的信息熵,其值分別為4.17 比特和8.21 比特[8-9]。
本文在文獻[8]和[9]的基礎上,通過N 元文法模型,建立了以藏文字符為基本單元的四元文法模型、以藏文(音節(jié))字為基本單元的三元文法模型和以藏語詞為基本單元的二元文法模型,并在不同的模型上估算了藏語的信息熵及其困惑度,從而得到了幾種藏語語言模型的性能比較。
藏文是一種音素拼音文字。藏文有嚴謹?shù)钠磳懸?guī)則,它不同于完全線性拼寫的西方拼音文字。藏文既可以橫向拼寫,又可以縱向拼寫,具有非線性的二維結(jié)構。
現(xiàn)代藏文字符共有169 種。經(jīng)過統(tǒng)計發(fā)現(xiàn),現(xiàn)代藏文書面語中比較常用的有輔音字母、反寫字母、并體字母、元音符號、分字符、分句符、云頭符、括號符和數(shù)字符號等共64 個字符[8]。
語言模型 C-M1C-M2 C-M3C-M4 S-M1 S-M2 S-M3W-M1W-M2信息熵 H 4.21 3.06 2.35 2.08 8.41 5.54 3.31 5.343.22困惑度 PP 18.5 8.3 5.1 4.2 340.1 46.5 9.9 40.59.3
圖1:藏文字形的基本結(jié)構
在傳統(tǒng)藏文文法中,每相鄰兩個分字符之間的單位被定義為一個音節(jié)字以下簡稱藏文字。藏文字有一套嚴謹且完備的拼寫文法,并具有一種獨特的非線性二維結(jié)構,如圖1所示。藏文字的拼寫順序是前加字、上加字、基字、下加字、元音字符、后加字、再后加字。藏文字形結(jié)構最少由一個輔音字母,即由單獨一個基字構成,最多由6 個輔音字母構成,元音符號則加在輔音結(jié)構的上方或下方。
根據(jù)信息論的理論,自然語言處理可以看作為通過獲得的信息來消除句中文字的不確定性的過程。統(tǒng)計語言模型是描述自然語言不同語法單位的概率分布的模型,是自然語言處理的核心,它可以消除自然語言處理過程中的不確定性,但是不同的語言模型消除不確定性的能力不同。不同模型的差異,主要體現(xiàn)在語言中確定一個符號平均需要多少信息量,并且能夠定量地描述各語言模型消除不確定性的能力。
根據(jù)香論(Shannon)的信息熵,可以定量地描述在不同的語言中,每個字符(藏語語言中藏文字符、藏文字或藏語詞匯)到底包含多少信息。在自然語言處理中,信息熵表示語言的每個符號所含平均信息量的大小,是語言符號這個隨機變量的不確定性程度的一種度量[10]。
藏語語言或該語言的子集可以看作為一個離散信源。若X 為離散隨機變量(藏語語言中藏文字符、藏文字或藏語詞語),則隨機變量X 的取值集合及其概率測度pi分別為:
X= {x1,x2,…,xn}
pi= P[X=xi]
離散隨機變量X 的概率空間為:
其中,pi(i=1,2,…,N)是語言符號ci(i=1,2,…,N)發(fā)生的概率。若語言符號ci的出現(xiàn)與上下文無關,且出現(xiàn)的概率相等,則該語言符號含有的信息量,即自信息量(H0)為:
但是,藏語自然語言中,構成藏語句子的各語言符號ci出現(xiàn)的概率不可能相等。若暫不考慮語言符號ci的上下文相關性,則該語言符號ci含有的平均信息量為:
在信息論中,H 被定義為信息熵。容易證明H<H0。
因為藏語自然語言中各符號出現(xiàn)的概率不相等,而且各個語言符號上下文相互關聯(lián),所以藏語自然語言可以看作為一個馬爾可夫(Markov)鏈[11]。因此,可以引入n 階Markov 模型來求解已知前面n-1 個語言符號時,后面出現(xiàn)的第n 個語言符號所含的平均信息量:
在信息論中,Hn被稱之為條件熵。通過公式(3)可以計算出一階條件熵、二階條件熵、三階條件熵、……等等,其計算公式分別為:
一階條件熵:
二階條件熵:
依此類推,可以計算出語言符號的任意階條件熵。隨著Markov 鏈階數(shù)的增大,語言符號上下文信息體現(xiàn)得越來越豐富,條件熵也就越來越小??偸怯校?/p>
另外,一個長度為n 的句子S(c1c2…cn)所含的信息量,可用如下公式計算:
在信息論中H(X)被定義為聯(lián)合熵,那么信源中每個語言符號所含平均信息量,即平均信息熵為:
當階數(shù)n 逐漸增加時,上述(3)式和(8)式都隨著階數(shù)n 的增加而呈非負單調(diào)遞減,且有下界[12],也就是說,當階數(shù)n 逐漸增加時,熵逐漸趨于穩(wěn)定而不再增加,此時,這個熵就是語言中一個符號所包含的信息量,叫做極限熵,即
(9)式反映了信源中每個符號的平均信息熵,即語言熵。因為自然語言是各太遍歷、平穩(wěn)的隨機過程,由香論-麥克米蘭-布萊曼定理可知,極限熵可由下式估計:
由于自然語言本身的復雜性和隨意性,計算上述(3)式和(10)式比較復雜,甚至不太可能。但根據(jù)Markov 假設,將語言視為n-1 階馬爾可夫鏈。由此可建立一個N 元文法模型,即N-Gram 模型M。此時平均每個信源符號所含的信息量,即平均信息熵,記為H(PM),并以PM(c1c2…cn)來近似(10)式中的p(cicj…cn),其計算公式為:
由于無條件大于條件熵,所以有H∞≤H(PM)。因此,使用N-Gram模型M 得到的H(PM)是H∞的上界。換句話說,使用統(tǒng)計語言模型計算出的H(PM)的下確界是H∞,從而可以得到:使用N-Gram 模型M 得到的H(PM)越小,模型M 對自然語言的描述越精確[13-14]。H(PM)的物理意義是,已知歷史信息的條件下,使用模型M 預測當前語言符號ci 出現(xiàn)的可能性只有種選擇[15]。所以,稱為語言模型M 的困惑度,記為pp:
語言模型的復雜度也叫困惑度,是語言模型M 描述自然語言能力的一種量度,困惑度越小,說明語言模型M 描述自然語言的能力越強,模型越有效。
如前所述,影響統(tǒng)計語言模型性能的因素包括模型的階數(shù)和構造模型的基本單元。顯然模型的階數(shù)越高則模型的性能越好,當然高階模型的構造難度也越大。同時,構造模型的基本單元也很重要,例如在藏文中,建立語言模型時,可以以藏文字符為單元建立模型,也可以以藏文字為單元建立,還可以以藏語詞匯為單元建立。因為現(xiàn)代藏文字符和藏文字的數(shù)目有限,以藏文字符和藏文字為單元可建立階數(shù)較高的模型,如藏文字符的四元模型和藏文字的三元模型?,F(xiàn)代藏語詞匯的數(shù)目太大,而且尚未構建一種較好分詞語料庫,因而本文只建立了藏語詞的二元模型。因此,本文實現(xiàn)的語言模型有基于藏文字符的一、二、三和四元文法模型(分別編號為C-M1、C-M2、C-M3和C-M4)、以藏文字為單元的一、二和三元文法模型(分別編號為S-M1、S-M2和S-M3)和以藏語詞為單元的二元文法模型(分別編號為W-M2和W-M2)。
在建立語言模型時,由于訓練語料的不規(guī)范,導致某些語言符號串(ci-k+1…ci-1ci)的出現(xiàn)次數(shù)可能為0,或者(13)式中的#(ci-k+1…ci-1ci)=1 和#(ci-k+1…ci-1)=1 而導致P(ci|ci-k+1…ci-1ci)=1,這個問題稱為數(shù)據(jù)稀疏問題。解決這個問題的算法有很多種,其中以Good-Turing 估計、線性插值平滑、Katz 的回退式數(shù)據(jù)平滑最為典型和常用。根據(jù)文獻[4]的研究結(jié)果,本文采用了Katz 的回退式數(shù)據(jù)平滑算法,該算法的公式使用方法見文獻[16]和[17]。
通過上述所建立的語言模型可以實現(xiàn)對語言信息熵的近似估算,利用N-Gram 模型估算現(xiàn)代藏語信息熵的計算步驟分如下兩步:
第一步:建立大規(guī)模藏語語料庫,并對大規(guī)模藏語單語語料中的n 元同現(xiàn)概率進行統(tǒng)計,并估算公式(11)中的條件概率P(ci|ci-k+1…ci-1)。當語料足夠大時,根據(jù)最大似然估計法和大數(shù)定理,有:
其中,#表示(ci-k+1…ci-1ci)和(ci-k+1…ci-1)在語料中出現(xiàn)的累計次數(shù)。
第二步:使用如下公式對H(PM)進行近似計算:
本文以涵蓋藏文新聞、法律、現(xiàn)代公文、現(xiàn)代文學、藏醫(yī)藥和部分宗教文獻等共300 多萬字的大規(guī)模藏語單語語料為統(tǒng)計樣本,應用上述公式(12)和(15)對現(xiàn)代藏語的信息熵進行估算,得到不同的語言模型所估計的現(xiàn)代藏語信息熵和困惑度如表1所示。
從表1 我們可以發(fā)現(xiàn):
(1)隨著模型階數(shù)的升高,信息熵不斷下降,這說明考慮上下文的影響越充分,計算結(jié)果越接近真實的值,就像文獻[5]說的那樣,以藏文字符為單元的模型階數(shù)越高,信息熵越小,模型的多余度越大,其反映了字符之間存在嚴格的制約關系;
(2)不同的模型對語言描述的精確程度不同,所估計的信息熵或困惑度越小,表明模型對語言的刻畫越準確;
(3)語言模型性能的好壞與模型單元和模型階數(shù)都有關,表1 可知,一元詞模型比二元字模型略好,但不如三元字模型,二元詞模型比三元字模型好。
本文引入信息論的方法研究了藏文信息熵。經(jīng)過對300 多萬字的藏單語語料進行統(tǒng)計,估算了不同語言模型的藏文信息熵,給出了一種應用語言模型計算藏語信息熵的方法。這個研究成果應用在計算機藏文快速輸入法、藏文自動校對和藏文自動排序等藏文信息技術基礎研究領域,取得了良好的效果。下一步的主要工作是進一步擴大語料規(guī)模,采用更巧妙的方法,計算更加精確的藏文極限熵。