陳小瑩,艾金勇
(1.西藏民族大學信息工程學院,陜西咸陽712082;2.西藏民族大學圖書館,陜西咸陽712082)
基于小字符集編碼的藏文音節(jié)結(jié)構(gòu)判定
陳小瑩1,艾金勇2
(1.西藏民族大學信息工程學院,陜西咸陽712082;2.西藏民族大學圖書館,陜西咸陽712082)
根據(jù)小字符集編碼特征和藏文正字法規(guī)則,并通過占位輔音和非占位輔音在組合字符中的規(guī)則來判定組合字符的構(gòu)成.組合字符的結(jié)構(gòu)確定后,再參照藏文正字法的知識,最終實現(xiàn)現(xiàn)代藏文音節(jié)結(jié)構(gòu)的判定以及各部件的識別.
藏語;小字符集;音節(jié)結(jié)構(gòu);占位輔音
藏文編碼是藏文文字能在計算機中顯示的必要條件,但是由于在藏文文字處理的前期并沒有發(fā)布統(tǒng)一的編碼標準,因此所有研究藏文輸入技術(shù)的機構(gòu)均按照各自標準開發(fā)了藏文輸入系統(tǒng).因基于不同編碼方式的藏文文字在不同的網(wǎng)絡(luò)領(lǐng)域傳播,導致了藏文編碼多樣化[1~2].目前,藏文編碼方案可以分為兩種:第一種是大字符集編碼方案,該方案采取橫向模式編碼,對帶有縱向結(jié)構(gòu)的字丁組合按照一個處理單元進行編碼.這種技術(shù)需要預先設(shè)定藏文音節(jié)中所有存在的垂直組合結(jié)構(gòu),這些垂直預組合結(jié)構(gòu)稱為藏文字丁.按照這種方式編碼,可使藏文文字的處理過程與漢字處理方式相似.以這種編碼方案為主的輸入法系統(tǒng)采用雙字節(jié)方式編碼,一般用一個字庫即可實現(xiàn),但是不同輸入法之間相同字符的碼位并不相同.第二種是小字符集編碼方案,該方案通過藏文基本字符建庫的方法實現(xiàn)藏文文字顯示,所有藏文文字的處理方式按照拼音文字的處理方式進行,采用藏文基本字符動態(tài)組合形式表示藏文,對不同顯示方式的藏文基本字符分別編碼,編碼對象包括輔音、元音、上下加字以及基本符號等[3].
依據(jù)以上分析,本文采用小字符集的編碼方案,對藏文的基本組成部件進行編碼,由這些部件編碼橫向和縱向動態(tài)組合形成藏文音節(jié).
小字符集編碼方案中僅針對藏文基本組成部件進行編碼,由這些部件編碼橫向和縱向動態(tài)組合形成藏文音節(jié).計算機顯示藏文字符時,帶有縱向結(jié)構(gòu)的字丁組合占據(jù)一個字符.縱向結(jié)構(gòu)的第一層輔音決定字符的寬度,稱該輔音為占位輔音,對應(yīng)的編碼為占位輔音編碼,其他疊加在占位輔音下方的輔音字符不單獨占寬度,稱為非占位輔音,對應(yīng)的輔音編碼稱為非占位輔音編碼[4],字符的寬度就是占位輔音的長度.在藏文文字中,元音都在輔音的上方或下方以疊加方式存在,依附于縱向結(jié)構(gòu)的其他字丁,不單獨占寬度,因而其也為非占位字符.
2)若字丁組合中只有一個占位輔音,此外包含元音在內(nèi)最多包含三個連續(xù)的非占位字符.
3)前加字、后加字和再后加字都是以占位輔音的形式存在.
在實際藏文音節(jié)部件分解中可以利用上述藏文音節(jié)編碼特點從一個編碼序列中定位基字.音節(jié)中組合字符的編碼是按照書寫順序存儲的,即按照上加字、基字、下加字和元音的順序儲存的.首先,設(shè)定相應(yīng)的規(guī)則識別藏文音節(jié)組合中所有字符的編碼;其次,再依據(jù)藏文正字法知識辨別音節(jié)中的基字.基字的確定對下一步藏文音節(jié)其他部件的識別非常有利,因此藏文音節(jié)部件的識別工作首先要確定藏文音節(jié)的編碼序列,再從中區(qū)分出占位字符和非占位字符,以及這些字符在音節(jié)字中對應(yīng)的位置.
判斷一個編碼序列中是否包含組合字符可依據(jù)其中是否存在非占位字符來確定,如果不存在非占位字符,則直接按照橫向結(jié)構(gòu)和正字法知識確定基字的位置.如果存在非占位字符則確定該音節(jié)字符串中存在組合字符,此時可以利用音節(jié)編碼特點(2)提供的信息.判別時只需要確定非占位字符編碼的個數(shù)和位置就可以查找到非占位字符編碼.查找到非占位字符編碼后再順序取出第二個編碼判斷其是否屬于非占位字符編碼.如果屬于非占位字符編碼,繼續(xù)順序取出第三個編碼判斷是否屬于非占位字符編碼,如果屬于則可以判斷中間一個為基字.所以,在整個音節(jié)判定過程中,占位輔音和非占位輔音的判定是確定基字的關(guān)鍵,待基字確定后,再依據(jù)藏文正字法知識,進一步判定藏文的音節(jié)結(jié)構(gòu).
根據(jù)藏文結(jié)構(gòu)的描述,現(xiàn)代藏文音節(jié)結(jié)構(gòu)辨識的計算機算法分為兩個步驟:① 利用字符長度和不同字符類型確定字符寬度,利用字符寬度確定基字丁的位置.②根據(jù)基字丁的位置確定藏文結(jié)構(gòu),并識別音節(jié)字各個位置上的字符.
若令Z表示藏文占位輔音編碼集合,F(xiàn)表示藏文非占位輔音編碼集合,元音字符編碼集合用Y表示,F(xiàn)r表示前加字集合,Bh表示后加字集合,l為藏文音節(jié)字的長度即字符個數(shù),w表示藏文音節(jié)字的寬度,h表示藏文音節(jié)中組合字符的高度(無組合字符時h值為1),k和m分別表示藏文音節(jié)字中非占位輔音和元音的個數(shù).根據(jù)藏文音節(jié)的結(jié)構(gòu)組成特點,l、w和h以及h、k和m始終存在如下關(guān)系:
l=w+h-1; 其中h≥1,w≥1,
(1)
h=k+m+1; 其中k≥0,m≥0
(2)
由式(1)和(2)可以得知w=l-k-m,即在已知音節(jié)中字符個數(shù)的情況下,只需要再得到非占位輔音和元音的個數(shù)即可以得到音節(jié)的寬度w.
3.1 藏文音節(jié)基字的確定
從上文的分析可知, 通過識別藏文音節(jié)中字符個數(shù)、非占位輔音和元音個數(shù)即可計算獲得w的數(shù)值后,由于藏文音節(jié)寬度最大為4,所以可根據(jù)以下幾種情況分析基字的位置:
1) 當w=1時,此時為藏文音節(jié)為單字符寬度.則該藏文音節(jié)中位于集合Z內(nèi)的編碼所代表的輔音即為基字.
2) 當w=2時,此時為藏文音節(jié)為雙字符寬度.當音節(jié)字的編碼中含有集合F或Y內(nèi)的編碼時,則該編碼之前位于集合Z內(nèi)的編碼所代表的輔音即為基字.此時基字前面若存在占位輔音,則該占位輔音為前加字,非占位輔音后若有占位輔音則為后加字.若音節(jié)字的編碼中不包含集合F或Y內(nèi)的編碼時,此時藏文音節(jié)結(jié)構(gòu)有三種可能形式:第一種可能是占位輔音存在于集合Fr中,第二個占位輔音存在于集合Bh中,則該藏文音節(jié)包含有后加字;第二種可能是第一個占位輔音存在于集合Fr中,第二個占位輔音不存在于集合Bh中,則該藏文音節(jié)包含有前加字;第三種形式是第一個占位輔音不存在于集合Fr中,第二個占位輔音存在于集合Bh中,則該藏文音節(jié)包含有基字和后加字.
3) 當w=3時,此時為藏文音節(jié)為三字符寬度.當音節(jié)字的編碼中含有集合F或Y內(nèi)的編碼時,則該編碼之前位于集合Z內(nèi)的編碼所代表的輔音即為基字.此時基字前面若存在占位輔音,則該占位輔音為前加字,集合F或Y內(nèi)的編碼之后若存在一個占位輔音則為后加字,若存在兩個占位輔音則為后加字和再后加字.若音節(jié)字的編碼中不包含集合F或Y內(nèi)的編碼時,此時藏文音節(jié)結(jié)構(gòu)同樣存在三種可能形式:第一種可能是第一個占位輔音不存在于集合Fr中,則藏文音節(jié)是基字、后加字和再后加字的組合;第二種可能是第一個占位輔音存在于集合Fr中,第三個占位輔音存在于集合Bh中,則藏文音節(jié)是前加字、基字和后加字的組合;第三種可能是第一個占位輔音存在于集合Fr中,第三個占位輔音不存在于集合Bh中,此時該藏文音節(jié)結(jié)構(gòu)需要人工判斷.
4) 當w=4時,此時為藏文音節(jié)為四字符寬度,根據(jù)藏文音節(jié)結(jié)構(gòu)特點,集合Z內(nèi)的編碼所代表的輔音按順序分別為前加字、基字、后加字和再后加字.
3.2 藏文音節(jié)組合字符的確定
藏文基字確定后,藏文音節(jié)橫向結(jié)構(gòu)基本確立,此時只需要辨識出藏文音節(jié)中組合字符的構(gòu)成即可.這時就需要先通過非占位輔音的個數(shù)k來展開分析[4],見表1.
表1 現(xiàn)代藏文音節(jié)拆分測試結(jié)果表
1) 當k=0時,此時為藏文音節(jié)中不包含非占位輔音,若該藏文音節(jié)中含有集合Y內(nèi)的編碼時則該組合字符為基字和元音,若該藏文音節(jié)中不包含有集合Y內(nèi)的編碼時則該組合字符只有基字.
3) 當k=2時,此時為藏文音節(jié)中包含2個非占位輔音,則該組合字符中必定包含上加字和下加字.若該藏文音節(jié)中含有集合Y內(nèi)的編碼,此時該組合字符為上加字、基字、下加字和元音;若該藏文音節(jié)中不含有集合Y內(nèi)的編碼,此時該組合字符為上加字、基字和下加字.
使用上述音節(jié)判定的方法,通過C#編程實現(xiàn)了音節(jié)判定的功能.測試發(fā)現(xiàn),該方法能對所有藏文音節(jié)實現(xiàn)正確判定.一個藏文音節(jié)編碼序列如果構(gòu)成現(xiàn)代藏文音節(jié),則按照“前加字、上加字、基字、下加字、元音、后加字、再后加字”的順序顯示在表格中(空缺的部件為空白),實驗結(jié)果見表1.
本文主要討論了基于小字符集編碼藏文音節(jié)部件劃分與確定的方法,根據(jù)小字符集編碼特征和藏文正字法規(guī)則,通過占位輔音和非占位輔音在組合字符中的規(guī)則來判定組合字符的構(gòu)成.組合字符的結(jié)構(gòu)確定后,參照藏文正字法的知識,最終實現(xiàn)現(xiàn)代藏文音節(jié)結(jié)構(gòu)的判定以及各部件的識別.但由于藏文本身存在一些梵文音節(jié)和外來的新造詞,這些音節(jié)在基字判別上可能會出現(xiàn)錯誤,因此需要在以后的工作中進一步完善部件識別規(guī)則.
[1] 周季文.藏文拼音教程[M].北京:民族出版社,1983.10.
[2] 扎西次仁.國際標準藏文計算機編碼字符集的研究[J]. 中國藏學,1995,02.
[3] 完么扎西,尼瑪扎西.小字符集現(xiàn)代藏文排序技術(shù)的研究[J].計算機工程與應(yīng)用,2013,08.
[4] 黃小蘭,黃鶴鳴,鐘小莉.現(xiàn)代藏文音節(jié)的劃分與確定[J].計算機應(yīng)用與軟件,2012,09.
[5] 黃鶴鳴,達飛鵬.基于排序的現(xiàn)代藏文音節(jié)判定[J].計算機應(yīng)用,2009,07.652.
Determination of Tibetan Syllable Structure Based on Small Character Set Encoding
CHEN Xiao-ying,AI Jin-yong
(1. School of Information Engineering, Tibet University for Nationalities, Xianyang 712082, China;2. Library, Tibet University for Nationalities, Xianyang 712082, China)
According to the small character set code feature and Tibetan orthography rules, the combination of characters and character combination structure is determined by occupying consonants and non accounted for a consonant in character combination rules to determine and complete the modern Tibetan syllable structure of determination and identification of the components ultimately on the basis of the knowledge of Tibetan orthography.
Tibetan; Small character set; Syllable structure;Occupied consonant;
2015-11-10
本文系西藏自治區(qū)科技廳項目“基于呼吸信號的藏語詩歌韻律聲學研究”(No:2015ZR-14-19)和西藏民族大學校內(nèi)項目“藏族方言的孤立詞識別技術(shù)研究”(No:11myZ05)的階段性研究成果.
陳小瑩(1983—),女,江蘇宿遷人,碩士,實驗師,主要從事實驗語音學方面的研究.
TP391
A
1009-2102(2015)04-0033-04