以音节为输入单位的藏文输入模型研究
2008-06-24
作者:王维兰
摘 要:以藏文" title="藏文">藏文音节作为输入的基本单位,建立了音节与词的编码模型" title="编码模型">编码模型以及音节输入、词汇输入和联想输入的模型并实现了藏文输入方案。试验结果表明,该方案科学、合理。输入方法简单、方便、快速。
关键词:藏文输入 编码模型 输入系统模型
藏文输入是藏文信息处理的一个重要内容。目前藏文输入法主要有基字输入法、拉丁输入法和区位码输入法[1]。基字输入法类似于拼写输入法[2],国外的Wylie[3]输入法即为拉丁输入法。基字输入法和拼写输入法都是将字丁拆分成藏文字母,然后规定编码顺序,或者按照藏文书写规则依次输入。Wylie输入法是键入字丁的拉丁转写,从而转换为藏文字丁。总之,这几种输入法都是以藏文字丁为编码单位输入的。根据字丁的叠加层数,有不等的击键次数:基字字丁需2键;叠字(含元音)字丁击键次数比层数少1;无元音的3层叠字则需4键。参考文献[4]实现了一种藏文词组输入方案,其基本特点是按照单音节词、双音节词、三音节词、四音节词和多音节词分别以每个词各音节的基字与后置字编码,实现藏文词输入。本文建立以音节为基本输入单位的输入模型、词汇输入模型及其相应的联想输入,从理论和实现的角度解决藏文的快速输入问题。
2 藏文输入法编码方案模型
2.1 以音节为输入单位的可行性及其编码模型的建立
藏文音节结构的两种形式如图1所示。一个音节有7个成分,1、2、3、4、5、6、7分别为基字、上加字、下加字、前加字、后加字、又后加字和元音位置。除基字外,其它任何成分少一个或几个,只要符合音节规则,都是合法音节。从左到右形成4个纵向单位,除第二个纵向单位外,其他三个部分都不缺或少一个、两个、三个和四个,则分别形成四字、三字、双字和单字音节。词由一个或多个音节构成,音节之间用音节点分隔。
目前在中文Windows环境下处理藏文,音节的每一个纵向单位即字丁占一个汉字位置。
首先建立藏文音节编码方案的模型,表示以音节为单位的输入方案的可行性。根据参考文献[5]、[6]的启发并分析藏文的特点,定义了5个集合:(1)T={t:t是藏文音节}是规范藏文音节集。藏文有严格的音节拼写规则,规范音节是本方案必须获得的一个统计数据,根据已经统计的数据[7][8],集合T含有的元素个数约12 000左右。以此集为基础建立如下各集。(2)W={为一个词包含的音节数,w是词}为藏文词集。(3)C={c:c是键盘字符}是编码字符集。C可以是小写26个英文字母、大写英文字母、10个数字0~9以及键盘上的其他字符。(4)S={s:s=C1C2……Cm,其中Ck∈C,k=1,2,……n是英文字母数目}是藏文数字、符号、音节、梵文代码集。每个代码s都是一个或若干编码字符。因为S是T对应的编码集,而不同音节有相同的代码现象,如对三字音节:和双字音节:的编码就可能一样,因为前一个音节中的第二个字母在第二个音节中是下加字(变形显示),所以S集的元素个数小于T集,即|S|≤|T|。(5)L={==∈S,k=1,2,……m},m为词li包含的音节数,li为词的代码串,对应的代码}。
设规范藏文音节集T中所有子集(即幂集)表示为2T,S为T的代码集。根据以上集合可建立如下音节编码模型。
定义1 若g是S到2T的一个映射:g:S→2T,即s→g(s)且对任意的音节t∈T,g-1({t}≠,则称g为一种音节编码方案。若存在s∈S,使得|g(s)|>1,则称g为有重码的音节编码方案,这时,g(s)中的藏文音节的代码都是s。若对于每个s∈S,总有|g(s)|=1,则g为无重码的音节编码。
若g为无重码的藏文音节编码,则g是S到T的单满射。这样s和g(s)一一对应。实际上g不是一个单满射,这在实际设计中是允许的。反之,任何一个规范音节,根据某种编码方式都有编码。如果把以音节为单位的藏文信息输入过程看成通过输入音节代码得到藏文音节的过程,则有:
定义2 音节的代码转换为藏文的模型可以表示为:ti=g2°g1(si),其中gi(si)表示取得代码Si的重码音节集,g2表示重码音节中的选择处理,最后得到规范音节集中的藏文音节ti。
因为|gi(si)|≥1,即代码Si所对应的音节至少有一个,当|gi(si)|>1时,即代码Si对应多个音节,而g2表示从这多个音节中选取一个。可以由输入者完成,也可以由计算机自动完成。如果自动完成,则必须通过音节的转移概率或藏文语言知识的应用。
因为信息输入是一个状态转移过程,如前面定义的藏文音节集、代码集、代码字符集,可以建立如下音节输入模型:
定义3 代数系统<2T,S,g,,T>称为以音节为单位的藏文输入处理系统模型,其2T是藏文音节集T的所有子集(即T的幂集),称为该代数系统的状态集;空集表示初始状态;T为终结状态集;g称为状态转移函数,是2T×S到T的一个映射:g:2T×S→2T。若用q表示状态,则模型:(q,s) g(q,s)=q∪{g(i)(g1(s))}就表明在状态q下,如果再输入代码s,则得到以s为代码的重码音节集g1(s)。n=|g1(s)|是g1(s)中所含元素的个数。g(i)(g1(s))表示从g1(s)的元素集合{g(1)(g1(s)),g(2)(g1(s)),……g(n)(g1(s))}中取定一个。
因为藏文的词都是由若干个音节组成的,所以当音节的代码集是S时,若用f键符表示空格,则S+f表示音节代码加空格符的集合。于是词的代码集为:
(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|是词包含的音节个数},于是有:
定义4 若g是(S+f)i-1S到词集W的所有子集2W的一个满射,则g为一藏文词输入编码方案。对于该编码方案g,若有w∈W,则g(-1)({w})=是不允许的;若有s∈(S+f)i-1S,则可以有g(s)=。
有了藏文词的编码方案,即可以得到词输入系统的模型:
定义5 一个词输入系统的模型是一个5元代数系统<2W,L,g,,W>,其含义如下:
2W是藏文词集W的所有子集,是该代数系统的状态集;L=(S+f)i-1S是词的代码集;空集表示一个词也没有输入时的初始状态;W称为系统的终结状态集;g称为状态转移函数,是2W×L到2W的一个映射:g:2W×L→2W,(q,l)|→g(q,l)=q∪{g(i)(g1(l))}。其中g1是一个词编码方案,它是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="面的">面的模型可以发现,如果以s为代码的音节集g(i)(g1(s))和以l为代码的词集g(i)(g1(l))的个数很多,在实际输入法应用中可选择两种方法:一是手工键选,即在输入法候选窗口通过翻页选择。如果每次都要不断翻页选择,不仅打断人的思维,也不能有效提高输入速度。二是通过语言知识的统计和应用自动选择。鉴于藏文语言应用研究的现状,通过两种办法来解决这个问题:(1)词频。通过静态的词频排序尽量减少翻页,达到快速输入的目的。(2)智能记忆。将静态统计和输入时的动态统计情况相结合,通过记忆,不断调整静态统计的结果,适应输入者的动态需要,减少翻页键选。
2.2 音节和词的联想输入
在设计联想输入时分为以下两个层次。
(1)音节输入过程的联想
音节t可以用代码s表示,而s=C1C2……Ck,Ci∈C,i=1,2,……k,C1C2……Ck是对一个音节的编码。一个音节最多由四个纵向单位,七个成分组成,最少只有一个辅音字母,所以音节的代码串是不定长码。于是,音节的联想可以有多种方式,如由前加字联想可能的基字、上加字、下加字、后加字和又后加字;或由基字联想可能的其他成分而组合成的规范音节。随着代码序列s的输入,每个Ci的输入既和前面字母的结合有确定性,又对后面有联想结果,以供选择,直到音节代码输入结束。
(2)词输入过程的联想
词的代码由若干个音节的代码组成,输入第一个" title="第一个">第一个音节时的联想是音节的联想,输入第二个及以后的音节时则进入词的联想。词的联想是根据前面的n个音节联想的,当输入第n+1个音节的第一个代码时,联想下一个可能音节的词,依次类推。
3 实验结果与分析
前面用藏文的拉丁转写作为输入代码,实现了以音节为输入单位的藏文输入法。图2为输入窗口和选择窗口,实现一个音节的输入和联想过程。当输入y时,联想出以为基字的所有可能的音节;当输入yo时,联想出以基字位置的所有音节;当输入yos时,联想出以为基字、后加字拉丁转写为sa的藏文音节(此时有惟一一项)。
图3为词的联想输入过程。输入一个6音节的词(其拉丁转写为:kun brtags kyi ma rig pa),候选窗口序号1所在的词即为要输入的词。如左侧的输入窗口和候选窗口所示,当输入第二个音节的拉丁转写首字母时,联想出所有第一个音节为kun,第二个音节的前加字、基字为ba的藏文词。随着输入的继续,候选窗口列表在已确定的前面几个音节的前提下,联想后面的音节。
上述输入方案以实现为目标,以实用为目的。在本方案的基础上,设计和实现了一个藏文输入系统。实验表明该输入方案科学、合理。
参考文献
1 彭寿全,黄 可.汉字信息处理.成都:电子科技大学出版社,1994:336~360
2 柔 特,才智杰.班智达藏文词组输入法的设计与实现.少数民族语言信息技术研究进展——中国少数民族语言信息技术与语言资源库建设学术研讨会论文集,2004:228
3 谷文祥.关于计算机汉字信息输入处理的一个新模型.计算机研究与发展,1995;(7):61~65
4 钱培德.计算机汉字I/O处理的数学模型.中文信息学报,1992;(2):46~51
5 王维兰.现代藏文语言单位频率和频级关系的统计分析.科学技术与工程,2004;(5):413~417
6 王维兰,陈万军.藏文字丁、音节频率及其信息熵.术语标准化与信息技术,2004;(2):27~31