摘 要: 以藏文" title="藏文">藏文音節(jié)作為輸入的基本單位,建立了音節(jié)與詞的編碼模型" title="編碼模型">編碼模型以及音節(jié)輸入、詞匯輸入和聯(lián)想輸入的模型并實現(xiàn)了藏文輸入方案。試驗結(jié)果表明,該方案科學(xué)、合理。輸入方法簡單、方便、快速。
關(guān)鍵詞: 藏文輸入 編碼模型 輸入系統(tǒng)模型
藏文輸入是藏文信息處理的一個重要內(nèi)容。目前藏文輸入法主要有基字輸入法、拉丁輸入法和區(qū)位碼輸入法[1]。基字輸入法類似于拼寫輸入法[2],國外的Wylie[3]輸入法即為拉丁輸入法?;州斎敕ê推磳戄斎敕ǘ际菍⒆侄〔鸱殖刹匚淖帜?,然后規(guī)定編碼順序,或者按照藏文書寫規(guī)則依次輸入。Wylie輸入法是鍵入字丁的拉丁轉(zhuǎn)寫,從而轉(zhuǎn)換為藏文字丁??傊?,這幾種輸入法都是以藏文字丁為編碼單位輸入的。根據(jù)字丁的疊加層數(shù),有不等的擊鍵次數(shù):基字字丁需2鍵;疊字(含元音)字丁擊鍵次數(shù)比層數(shù)少1;無元音的3層疊字則需4鍵。參考文獻[4]實現(xiàn)了一種藏文詞組輸入方案,其基本特點是按照單音節(jié)詞、雙音節(jié)詞、三音節(jié)詞、四音節(jié)詞和多音節(jié)詞分別以每個詞各音節(jié)的基字與后置字編碼,實現(xiàn)藏文詞輸入。本文建立以音節(jié)為基本輸入單位的輸入模型、詞匯輸入模型及其相應(yīng)的聯(lián)想輸入,從理論和實現(xiàn)的角度解決藏文的快速輸入問題。
2 藏文輸入法編碼方案模型
2.1 以音節(jié)為輸入單位的可行性及其編碼模型的建立
藏文音節(jié)結(jié)構(gòu)的兩種形式如圖1所示。一個音節(jié)有7個成分,1、2、3、4、5、6、7分別為基字、上加字、下加字、前加字、后加字、又后加字和元音位置。除基字外,其它任何成分少一個或幾個,只要符合音節(jié)規(guī)則,都是合法音節(jié)。從左到右形成4個縱向單位,除第二個縱向單位外,其他三個部分都不缺或少一個、兩個、三個和四個,則分別形成四字、三字、雙字和單字音節(jié)。詞由一個或多個音節(jié)構(gòu)成,音節(jié)之間用音節(jié)點分隔。
目前在中文Windows環(huán)境下處理藏文,音節(jié)的每一個縱向單位即字丁占一個漢字位置。
首先建立藏文音節(jié)編碼方案的模型,表示以音節(jié)為單位的輸入方案的可行性。根據(jù)參考文獻[5]、[6]的啟發(fā)并分析藏文的特點,定義了5個集合:(1)T={t:t是藏文音節(jié)}是規(guī)范藏文音節(jié)集。藏文有嚴格的音節(jié)拼寫規(guī)則,規(guī)范音節(jié)是本方案必須獲得的一個統(tǒng)計數(shù)據(jù),根據(jù)已經(jīng)統(tǒng)計的數(shù)據(jù)[7][8],集合T含有的元素個數(shù)約12 000左右。以此集為基礎(chǔ)建立如下各集。(2)W={為一個詞包含的音節(jié)數(shù),w是詞}為藏文詞集。(3)C={c:c是鍵盤字符}是編碼字符集。C可以是小寫26個英文字母、大寫英文字母、10個數(shù)字0~9以及鍵盤上的其他字符。(4)S={s:s=C1C2……Cm,其中Ck∈C,k=1,2,……n是英文字母數(shù)目}是藏文數(shù)字、符號、音節(jié)、梵文代碼集。每個代碼s都是一個或若干編碼字符。因為S是T對應(yīng)的編碼集,而不同音節(jié)有相同的代碼現(xiàn)象,如對三字音節(jié):和雙字音節(jié):的編碼就可能一樣,因為前一個音節(jié)中的第二個字母在第二個音節(jié)中是下加字(變形顯示),所以S集的元素個數(shù)小于T集,即|S|≤|T|。(5)L={==∈S,k=1,2,……m},m為詞li包含的音節(jié)數(shù),li為詞的代碼串,對應(yīng)的代碼}。
設(shè)規(guī)范藏文音節(jié)集T中所有子集(即冪集)表示為2T,S為T的代碼集。根據(jù)以上集合可建立如下音節(jié)編碼模型。
定義1 若g是S到2T的一個映射:g:S→2T,即s→g(s)且對任意的音節(jié)t∈T,g-1({t}≠,則稱g為一種音節(jié)編碼方案。若存在s∈S,使得|g(s)|>1,則稱g為有重碼的音節(jié)編碼方案,這時,g(s)中的藏文音節(jié)的代碼都是s。若對于每個s∈S,總有|g(s)|=1,則g為無重碼的音節(jié)編碼。
若g為無重碼的藏文音節(jié)編碼,則g是S到T的單滿射。這樣s和g(s)一一對應(yīng)。實際上g不是一個單滿射,這在實際設(shè)計中是允許的。反之,任何一個規(guī)范音節(jié),根據(jù)某種編碼方式都有編碼。如果把以音節(jié)為單位的藏文信息輸入過程看成通過輸入音節(jié)代碼得到藏文音節(jié)的過程,則有:
定義2 音節(jié)的代碼轉(zhuǎn)換為藏文的模型可以表示為:ti=g2°g1(si),其中g(shù)i(si)表示取得代碼Si的重碼音節(jié)集,g2表示重碼音節(jié)中的選擇處理,最后得到規(guī)范音節(jié)集中的藏文音節(jié)ti。
因為|gi(si)|≥1,即代碼Si所對應(yīng)的音節(jié)至少有一個,當(dāng)|gi(si)|>1時,即代碼Si對應(yīng)多個音節(jié),而g2表示從這多個音節(jié)中選取一個。可以由輸入者完成,也可以由計算機自動完成。如果自動完成,則必須通過音節(jié)的轉(zhuǎn)移概率或藏文語言知識的應(yīng)用。
因為信息輸入是一個狀態(tài)轉(zhuǎn)移過程,如前面定義的藏文音節(jié)集、代碼集、代碼字符集,可以建立如下音節(jié)輸入模型:
定義3 代數(shù)系統(tǒng)<2T,S,g,,T>稱為以音節(jié)為單位的藏文輸入處理系統(tǒng)模型,其2T是藏文音節(jié)集T的所有子集(即T的冪集),稱為該代數(shù)系統(tǒng)的狀態(tài)集;空集表示初始狀態(tài);T為終結(jié)狀態(tài)集;g稱為狀態(tài)轉(zhuǎn)移函數(shù),是2T×S到T的一個映射:g:2T×S→2T。若用q表示狀態(tài),則模型:(q,s) g(q,s)=q∪{g(i)(g1(s))}就表明在狀態(tài)q下,如果再輸入代碼s,則得到以s為代碼的重碼音節(jié)集g1(s)。n=|g1(s)|是g1(s)中所含元素的個數(shù)。g(i)(g1(s))表示從g1(s)的元素集合{g(1)(g1(s)),g(2)(g1(s)),……g(n)(g1(s))}中取定一個。
因為藏文的詞都是由若干個音節(jié)組成的,所以當(dāng)音節(jié)的代碼集是S時,若用f鍵符表示空格,則S+f表示音節(jié)代碼加空格符的集合。于是詞的代碼集為:
(S+f)i-1S=S∪(S+f)S∪……∪+(S+f)m-1S=S∪(S+f)×S∪……∪(S+f)×(S+f)×……(S+f)×S的子集,其中m=max{|k|:|k|是詞包含的音節(jié)個數(shù)},于是有:
定義4 若g是(S+f)i-1S到詞集W的所有子集2W的一個滿射,則g為一藏文詞輸入編碼方案。對于該編碼方案g,若有w∈W,則g(-1)({w})=是不允許的;若有s∈(S+f)i-1S,則可以有g(shù)(s)=。
有了藏文詞的編碼方案,即可以得到詞輸入系統(tǒng)的模型:
定義5 一個詞輸入系統(tǒng)的模型是一個5元代數(shù)系統(tǒng)<2W,L,g,,W>,其含義如下:
2W是藏文詞集W的所有子集,是該代數(shù)系統(tǒng)的狀態(tài)集;L=(S+f)i-1S是詞的代碼集;空集表示一個詞也沒有輸入時的初始狀態(tài);W稱為系統(tǒng)的終結(jié)狀態(tài)集;g稱為狀態(tài)轉(zhuǎn)移函數(shù),是2W×L到2W的一個映射:g:2W×L→2W,(q,l)|→g(q,l)=q∪{g(i)(g1(l))}。其中g(shù)1是一個詞編碼方案,它是L到2W的一個映射;g1(l)是代碼為l的重碼詞集合;g(i)是{g1(l)|l∈L}到W的一個映射。g(i)(g1(l))表示從集{g(1)(g1(l)),g(2)(g1(l)),g(3)(g1(l)),……g(n)(g1(l))}中選取一個,它是詞集W中的一個確定元素。
從上面的" title="面的">面的模型可以發(fā)現(xiàn),如果以s為代碼的音節(jié)集g(i)(g1(s))和以l為代碼的詞集g(i)(g1(l))的個數(shù)很多,在實際輸入法應(yīng)用中可選擇兩種方法:一是手工鍵選,即在輸入法候選窗口通過翻頁選擇。如果每次都要不斷翻頁選擇,不僅打斷人的思維,也不能有效提高輸入速度。二是通過語言知識的統(tǒng)計和應(yīng)用自動選擇。鑒于藏文語言應(yīng)用研究的現(xiàn)狀,通過兩種辦法來解決這個問題:(1)詞頻。通過靜態(tài)的詞頻排序盡量減少翻頁,達到快速輸入的目的。(2)智能記憶。將靜態(tài)統(tǒng)計和輸入時的動態(tài)統(tǒng)計情況相結(jié)合,通過記憶,不斷調(diào)整靜態(tài)統(tǒng)計的結(jié)果,適應(yīng)輸入者的動態(tài)需要,減少翻頁鍵選。
2.2 音節(jié)和詞的聯(lián)想輸入
在設(shè)計聯(lián)想輸入時分為以下兩個層次。
(1)音節(jié)輸入過程的聯(lián)想
音節(jié)t可以用代碼s表示,而s=C1C2……Ck,Ci∈C,i=1,2,……k,C1C2……Ck是對一個音節(jié)的編碼。一個音節(jié)最多由四個縱向單位,七個成分組成,最少只有一個輔音字母,所以音節(jié)的代碼串是不定長碼。于是,音節(jié)的聯(lián)想可以有多種方式,如由前加字聯(lián)想可能的基字、上加字、下加字、后加字和又后加字;或由基字聯(lián)想可能的其他成分而組合成的規(guī)范音節(jié)。隨著代碼序列s的輸入,每個Ci的輸入既和前面字母的結(jié)合有確定性,又對后面有聯(lián)想結(jié)果,以供選擇,直到音節(jié)代碼輸入結(jié)束。
(2)詞輸入過程的聯(lián)想
詞的代碼由若干個音節(jié)的代碼組成,輸入第一個" title="第一個">第一個音節(jié)時的聯(lián)想是音節(jié)的聯(lián)想,輸入第二個及以后的音節(jié)時則進入詞的聯(lián)想。詞的聯(lián)想是根據(jù)前面的n個音節(jié)聯(lián)想的,當(dāng)輸入第n+1個音節(jié)的第一個代碼時,聯(lián)想下一個可能音節(jié)的詞,依次類推。
3 實驗結(jié)果與分析
前面用藏文的拉丁轉(zhuǎn)寫作為輸入代碼,實現(xiàn)了以音節(jié)為輸入單位的藏文輸入法。圖2為輸入窗口和選擇窗口,實現(xiàn)一個音節(jié)的輸入和聯(lián)想過程。當(dāng)輸入y時,聯(lián)想出以為基字的所有可能的音節(jié);當(dāng)輸入yo時,聯(lián)想出以基字位置的所有音節(jié);當(dāng)輸入yos時,聯(lián)想出以為基字、后加字拉丁轉(zhuǎn)寫為sa的藏文音節(jié)(此時有惟一一項)。
圖3為詞的聯(lián)想輸入過程。輸入一個6音節(jié)的詞(其拉丁轉(zhuǎn)寫為:kun brtags kyi ma rig pa),候選窗口序號1所在的詞即為要輸入的詞。如左側(cè)的輸入窗口和候選窗口所示,當(dāng)輸入第二個音節(jié)的拉丁轉(zhuǎn)寫首字母時,聯(lián)想出所有第一個音節(jié)為kun,第二個音節(jié)的前加字、基字為ba的藏文詞。隨著輸入的繼續(xù),候選窗口列表在已確定的前面幾個音節(jié)的前提下,聯(lián)想后面的音節(jié)。
上述輸入方案以實現(xiàn)為目標(biāo),以實用為目的。在本方案的基礎(chǔ)上,設(shè)計和實現(xiàn)了一個藏文輸入系統(tǒng)。實驗表明該輸入方案科學(xué)、合理。
參考文獻
1 彭壽全,黃 可.漢字信息處理.成都:電子科技大學(xué)出版社,1994:336~360
2 柔 特,才智杰.班智達藏文詞組輸入法的設(shè)計與實現(xiàn).少數(shù)民族語言信息技術(shù)研究進展——中國少數(shù)民族語言信息技術(shù)與語言資源庫建設(shè)學(xué)術(shù)研討會論文集,2004:228
3 谷文祥.關(guān)于計算機漢字信息輸入處理的一個新模型.計算機研究與發(fā)展,1995;(7):61~65
4 錢培德.計算機漢字I/O處理的數(shù)學(xué)模型.中文信息學(xué)報,1992;(2):46~51
5 王維蘭.現(xiàn)代藏文語言單位頻率和頻級關(guān)系的統(tǒng)計分析.科學(xué)技術(shù)與工程,2004;(5):413~417
6 王維蘭,陳萬軍.藏文字丁、音節(jié)頻率及其信息熵.術(shù)語標(biāo)準化與信息技術(shù),2004;(2):27~31