APP下载

传统蒙古文与西里尔蒙古文相互转换方法的研究

2014-08-03高光来闫学亮魏宏喜

计算机工程与应用 2014年23期
关键词:蒙古文字母证据

飞 龙,高光来,闫学亮,魏宏喜

内蒙古大学 计算机学院,呼和浩特 010021

传统蒙古文与西里尔蒙古文相互转换方法的研究

飞 龙,高光来,闫学亮,魏宏喜

内蒙古大学 计算机学院,呼和浩特 010021

1 引言

蒙古文是一个跨多国、多地区的语言,在世界上有广泛影响,使用者分布在中国、蒙古国和俄罗斯联邦等国家,尤其是中国和蒙古国使用的蒙古语言文字是“语同文不同”,即语言相同,文字不同。在中国使用的蒙古文叫“传统蒙古文”,在蒙古国使用的蒙古文叫“西里尔蒙古文”(也叫新蒙古文,基立尔蒙古文,斯拉夫蒙古文等)。

随着中国和蒙古国两国之间的文化、教育和经济的交流与合作不断深入,两国之间的文字转换工作也变得极其重要。传统蒙古文和西里尔蒙古文的相互转换工作会给两国蒙古族同胞的交流带来更多的便利,并且对蒙古族的科学,文化和教育发展同样具有重要的意义。

包萨日娜、乌日力嘎和Hao Li[1-6]等人采用基于词典的方法和基于规则的方法对传统蒙古文和西里尔蒙古文的相互转换进行了一系列的研究,并取得了一定的成果。但是,蒙古文是通过词根缀接多个后缀的方式生成新词的,按照这种生成方式,可以构成近100万的蒙古文单词,词典一般很难全部包含。而且,基于规则的方法很难归纳出所有的转换规则,并且相当一部分单词并不遵循转换规则。所以,基于词典和基于规则的方法有较大的局限性,很难达到实用要求。

本文提出了基于联合序列模型[7-8]的传统蒙古文和西里尔蒙古文的相互转换方法,并优化了相关参数。实验中,基于联合序列模型的转换方法对传统蒙古文到西里尔蒙古文的转换(Traditional Mongolian To Cyril Mongolian Conversion,T2C)和西里尔蒙古文到传统蒙古文的转换(Cyril Mongolian To Traditional Mongolian Conversion,C2T)都得到了较好的实验效果。

2 传统蒙古文和西里尔蒙古文的比较

西里尔蒙古文是从传统蒙古文演变而成的,语法和词汇基本相同。传统蒙古文和西里尔蒙古文的字母对照如表1所示。传统蒙古文和西里尔蒙古文之间有不可分割的联系,但二者之间有一定的区别:

(1)传统蒙古文有35个字母,其中包含8个元音字母和27个辅音字母[9]。西里尔蒙古文也有35个字母,其中包含13个元音字母,20个辅音字母,硬化字母和软化字母各一个[10]。

(2)西里尔蒙古文字母区分大小写,而传统蒙古文字母不区分大小写。西里尔蒙古文字母的大写用法跟英语相似。传统蒙古文字母不区分大小写,并且每个字母在词中变化有很多,在单词中,字母在上、中、下位置不同将导致写法也不相同[11]。

(3)西里尔蒙古文和传统蒙古文书写方向不同。西里尔蒙古文采用的是从左到右的书序,从上到下的行序,而传统蒙古文采用从上到下的书序,从左到右的行序[12]。

(4)书面语和口语的差别程度在西里尔蒙古文与传统蒙古文中并不相同。西里尔蒙古文中的书面语和口语基本保持一致,口语中怎么发音就基本上怎么拼写,而传统蒙古文的书面语与口语不是一一对应的,书面语转口语时会出现元音和辅音的脱落、增加和变换等现象[13]。

表1 西里尔蒙古文和传统蒙古文字母对照

传统蒙古文和西里尔蒙古文相互转换时单词之间基本上是一一对应的,但是由于上述传统蒙古文和西里尔蒙古文的区别,从而它们的字母不是一一对应,有一对多或多对一的现象。这些问题给传统蒙古文和西里尔蒙古文的相互转换工作带来了一定的困难。

3 基于联合序列模型的转换方法

3.1 联合序列模型

传统蒙古文单词和西里尔蒙古文单词都是由字母串组成的,假设G为传统蒙古文字母串的集合,西里尔蒙古文字母串集合为Φ。T2C转换问题可表述为:

公式(1)表示对于传统蒙古文单词g∈G*寻找最有可能对应的西里尔蒙古文单词ϕ∈Φ*。*表示所有字符串的集合。与此相似,C2T转换问题也可以表示成公式(1)的形式。本文以T2C转换为例描述了基于联合序列模型的转换方法,而C2T转换方法跟T2C转换方法完全相同。

联合序列模型的基本思想是输入和输出序列共同可以生成包含输入和输出符号的联合单位的共同序列。简单情况下,每个单位带有零或一个输入符号和零或一个输出符号。这相当于有限状态转换器(FST)的传统定义。这种可以由多个输入和输出符号组成的单位称之为共同序列(Co-sequence)或联合多元(Joint Multigram)[14]。本文把传统蒙古文和西里尔蒙古文字母的联合多元(Traditional-Cyril Mongolian joint multigram)简称为tracyone。

tracyone是一对不等长的传统蒙古文字母和西里尔蒙古文字母序列的组合={g,φ}∈Q⊆G*×Φ*。使用gq和φq分别表示的第一和第二部分。如果tracyone最多包含一个传统蒙古文字母和一个西里尔蒙古文字母,则称之为单数tracyone。Q的列表可以从训练数据中获得,也可以通过手工指定。

传统蒙古文字母和西里尔蒙古文字母序列被分成相等的段数,这样的分组称为联合分割。对齐项是可以交换使用的。把这特殊的对齐类型称为“m-to-n”。对于一个给定的输入和输出字符串对,分割tracyone的结果不是唯一的。对于可能有歧义的m-to-n对齐,可以对输入的字母串进行自由的组合。例如,把传统蒙古文单词“转写:ebdegde,对应的西里尔蒙古文:эвдэгд)分割成3个或7个tracyone同样是有效的,如图1和图2所示。

图1 生成3个tracyone序列的结果图

图2 生成7个tracyone序列的结果图

这种模糊的联合概率是由所有相匹配的tracyone序列的总和来决定的:

其中,q∈Q*是tracyones的一个序列,S(g,φ)是 g和φ的所有联合分割的集合:

这里∧表示序列的串联,K=|q|表示tracyone序列q的长度。联合概率分布 p(g,φ)成为了tracyone序列q= q1q2…qK上的概率分布 p(q),它可以用标准的M-gram模型近似表示:

位置 j<1和 j>K是被视为特殊的边界符号qj=⊥,它允许作为蒙古文单词的开始和结束位置的特征现象来建模。下面介绍了对于这种模型的估计方法。

3.2 模型估计

3.2.1 Multigram的最大期望值

下面考虑在不是联合分割的训练数据中对可变长度单元的模型的推理问题。给定N个传统蒙古文单词和对应的西里尔蒙古文单词的训练样本O1,O2,…,ON=(g1,φ1),(g2,φ2),…,(gN,φN),但是传统蒙古文和对应的西里尔蒙古文字母没有水平对齐。首先,由于一个联合分割S定义唯一的联合序列,发现如果有一个联合序列模型,就可以计算每个训练样本的任何联合分割概率:

因此,训练数据的对数似然值可以用所有分割的总和来表示:

在联合单位中分割S是一个隐藏的变量。最大似然率训练可以采用期望最大化算法(EM)。首先考虑上下文独立的unigram(M=1)情况,更新参数θ′的重估公式如下:

其中,n(q)是在序列q中tracyone出现的次数。把e(;θ)称其为 q 的证据(evidence),它表示在当前的参数θ下训练样本中出现的期望值。e(;θ)可以通过前向后向过程计算得到。

对于高阶模型(M>1),用h来表示在前边的联合单元序列 hj=(qj-M+1,qj-M+2,…,qj-1)。用 nq,h(q)来表示在序列 q 中 M-gram qj-M+1,qj-M+2,…,qj-1出现的次数。重估公式如下:

此外,默认序列q中已经包含了开始和结束边界标志。

显然,上述公式不允许新的tracyone出现的概率为零。所以通过人工设置比较满意的长度约束,并均匀分布到所有tracyones来初始化模型参数。通常只使用一个简单的上限 L,即 |gq|≤L 和 |φq|≤L,但排除了不会生成的情况|gq|=|φq|=0。所以,更复杂的约束是可想而知的,例如传统蒙古文字母和西里尔蒙古文字母序列长度的不同范围,或下限设置。一个被公认的初始分布是tracyones总数的倒数:

其中,l=r=0表示附加的序列结束标志。

tracyone的长度约束参数L对tracyone的数目有明显的影响。序列模型的其他外部参数是最大极限的历史长度M。M和L一起规定了模型的有效范围,即在给定的位置字母或音素的数目影响估计的概率值。

一般情况下,用最大似然估计法训练模型时,很可能会出现过拟合现象,并且在预测未出现的数据时效果不佳。同样,从训练样本中分析得到的一些单调初始化的tracyone会达到某个概率聚集,而只有其中的小部分将有助于“正确”的模型估计。这两个问题分别会通过下面讨论的平滑和裁剪进行处理。

3.2.2 证据裁剪

证据裁剪可以解决过拟合问题。也就是说,修剪低于阈值的证据值,取代在方程(12)中的 p(|h;θ):

此过程不可能在迭代过程中使tracyones逐渐消失。证据裁剪同时有效地控制了tracyone列表的大小。在训练数据上,阈值τ需要进一步调整。

3.2.3 减值证据

比较估计公式(12)和典型的N-gram语言模型,注意到,除了用证据值替代传统的N-gram计数值,面临着本质上是相同的建模问题。众所周知,有效的平滑技术对建立好的语言模型是至关重要的。实证研究表明,用插值和边缘保留回退分布作绝对减值,也被称为Kneser-Ney平滑,比所有其他已知的平滑方法的效果都要好。不同于传统语言模型的计数值,证据值是一个小数。所以采用从传统的语言模型获取的结果时必须谨慎,因为它们的推导可能依赖于整数计数的假设。绝对减值和插值估计方程如公式(15)所示:

为清楚起见,添加了一个下标M表示分布的阶数。dM≥0 是减值参数。pM-1(|)是广义的,低阶(M-1)-gram 的分布使取决于减少的历史i=(i-M+2,i-M+3,…,i-1)。λ(h)为归一化参数,它使得所有的分布总和到1。

在语言模型中的最小计数值为1(除了未见过的事件),然而证据值可以变得任意小,实际上小于减值。所以减值的证据估计包含证据裁剪的一种形式:用低于减值参数的证据值的tracyones拒绝进入模型。证据裁剪这种形式和明确的形式(14)之间的一个显著区别是在减值里对未见过的事件分配了减值证据,而在其余的证据有效地分配到了所有可见的事件。

仍然需要指定回退分布 pM-1。对减少历史hˉ想利用一致性约束:

当然,公式(17)中的 pM-1()也需要平滑处理。平滑 pM-1的两个方法看上去比较合理。第一是在公式(15)中“插入”减少的证据值(18),第二是平滑约束条件。

事实证明,除了对减值参数不同的解释,这两种方法会得到相同的结果。绝对减值递归地应用于低阶分布 pM-2,pM-3,…,p0。零元分布 p0跟所有潜在的tracyone(13)相同。由于小数的证据值不适合它自己的运算,所以在持有集(the hold-out set)上优化减值参数d。

3.2.4 自底向上的模型建立和减值期望最大化

迭代过程中,用单调的概率分布初始化unigram模型(11),即所有可能的multigrams有相同的初始概率。在训练集上,用不受约束的计数c(q)选择性的初始化,即在每个词中不管相邻的tracyones的重复,计tracyone的出现次数。

通过应用平滑方法,这些计数(受tracyone长度约束的限制)被用于计算初始的概率分布。高阶的M-gram模型使用以前生成的(M-1)-gram模型进行初始化。这意味着,在低阶模型中只允许与不减值的M-gram相符合的历史。

现在要解决的是证据减值怎么样与EM算法相互进行交互的问题。首先,优化减值需要数据集,这数据集独立于计算证据值时的数据集。不分离这些数据集会导致减值的总值会低估。为此,从训练数据中分离训练集Ot和典型的较小的持有集Oh。训练集用于计算证据值,而持有集用于调整减值参数。

在每个迭代中原始的EM算法确实提高了样本出现的可能性,但这通常会导致过度拟合和在某个点上持有集的可能性将开始减小。因此,在减值EM算法中为了确保持有集的可能性不降低,会更新减值。

3.3 解码

估计模型之后,公式(1)可以用于T2C转换。从传统蒙古文到西里尔蒙古文转换时,通常用极大值来近似公式(2)中的总和。

具体来说,对给定的传统蒙古文字母串寻找最有可能对应的tracyone序列,并转换成对应的西里尔蒙古文字母串。

4 实验

实验采用的性能评价标准为词误识率(Word Error Rate,WER)和字母误识率(Letter Error Rate,LER)。

其中,Ncorrect为转换正确的单词数目,Ntotal为所有需要转换的单词数,Nphtotal为所有需要转换的单词对应的字母个数总合,Nins为转换时出现的插入错误个数,Ndel为转换时所有出现的删除错误总合,Nsub为转换时所有出现的替换错误总合。

4.1 实验1:基于联合序列模型的转换实验

本文以从《新蒙汉词典》[15]中搜集的65 232个传统蒙古文和对应的西里尔蒙古文单词作为数据集。在做基于联合序列模型的T2C和C2T转换实验时,选用60 000个词对作为训练集,以5 232个词对作为测试集。

训练T2C和C2T转换的联合序列模型时,持有集的大小为训练集的5%,平滑算法采用Kneser-Ney平滑算法。由于在联合序列模型中tracyone的长度上限L和M-gram的阶数M的大小会直接影响模型的复杂度和实验的结果。因此,在做T2C和C2T转换实验时,本文通过一系列对比实验获得了最优参数。

图3和图4所示的是在不同的tracyone长度上限L和M-gram的阶数M的情况下,T2C和C2T转换的字母误识率结果图。从图3和图4中可以看出当M=1时,L=4的T2C和C2T转换效果最好,L=1的效果最差,但是当M大于4时,L=1的T2C和C2T转换结果都明显要好于其他情况,并且随着M的增加会越发明显。

图3 在测试集上L和M不同值时T2C转换结果比较图

图4 在测试集上L和M不同值时C2T转换结果比较图

当L=1时,在测试集和训练集上对M做了进一步的T2C和C2T实验,实验结果如表2和表3所示。从表2和表3中可以看出M=8时T2C和C2T结果都为最优。当T2C转换时,测试集上的词误识率达到了18.38%,字母误识率达到了6.75%,训练集上的词误识率达到了3.24%,字母误识率达到了0.64%。当C2T转换时,测试集上的词误识率达到了18.77%,字母误识率达到了7.14%,训练集上的词误识率达到了3.24%,字母误识率达到了0.94%。实验中,T2C和C2T转换都得到了较好的实验效果。

表2 在L=1时不同M值的T2C转换结果

表3 在L=1时不同M值的C2T转换结果

4.2 实验2:基于规则的C2T转换方法和基于联合序列模型的C2T转换方法比较

本文对基于规则的C2T转换方法和基于联合序列模型的C2T转换方法进行了比较。基于规则的方法采用了蒙古文词干缀接构形后缀的转换方法[1,3]。本文采用的基于规则的转换方法中西里尔蒙古文和传统蒙古文的对应词干库包含52 830个蒙古文词干,西里尔蒙古文和传统蒙古文的对应静词后缀库包含336个构形后缀,西里尔蒙古文和传统蒙古文的对应动词后缀库包含498个构形后缀。本文结合传统蒙古文和西里尔蒙古文的构词规则,并利用词干库和后缀库建立了基于规则的转换系统。实验中,基于联合序列模型的C2T转换方法采用了 L=1,M=8时的联合序列模型进行了C2T转换。本文对包含11 365个西里尔蒙古文单词的文档集(TestSet1)和包含9 932个西里尔蒙古文单词的文档集(TestSet2)进行了C2T转换实验,实验结果如图5所示。

从图5可以看出基于联合序列模型的C2T转换结果明显好于基于规则的C2T转换结果。并且,通过对实验结果进行分析,发现基于规则的C2T转换方法存在对于词干不包含在词干库中的西里尔蒙古文单词无法进行转换,而且部分蒙古文单词不遵守转换规则等问题。然而,基于联合序列模型的转换方法较好地解决了这些问题。

图5 基于规则和基于联合序列模型的C2T转换结果比较

5 结束语

本文首先对传统蒙古文和西里尔蒙古文进行了比较,然后根据它们的特点提出了基于联合序列模型的传统蒙古文和西里尔蒙古文的相互转换方法,并建立了对应的相互转换系统。为了获得联合序列模型相关参数的最优值,做了一系列实验。实验结果表明,持有集为训练数据的5%,tracyone的长度上限 L=1,M-gram的阶数M=8时,T2C和C2T转换的误识率都为最低。本文提出的基于联合序列模型的相互转换方法很好地解决了传统蒙古文和西里尔蒙古文的相互转换问题,并且基本达到了实用要求。

[1]包萨日娜.传统蒙古文到新蒙文转换中名词及其格附加成分转换的研究[D].呼和浩特:内蒙古大学,2009.

[2]乌日力嘎.传统蒙古文、西里尔蒙古文-汉文电子词典的建立[D].呼和浩特:内蒙古大学,2009.

[3]Li Hao,Sarina B.The study of comparison and conversion about traditional Mongolian and Cyrillic Mongolian[C]// 2011 4th InternationalConference on IntelligentNetworks and Intelligent Systems,2011:199-202.

[4]高红霞,马小蕾.西里尔蒙古文网页向传统蒙古文自动转换系统的文字转换研究[J].内蒙古民族大学学报,2012,18(5):17-18.

[5]明玉.基于词典、规则与统计的蒙古文词切分系统的研究[D].呼和浩特:内蒙古大学,2011.

[6]Zhao Lili,Men Jia,Zhang Congpin,et al.A combination of statistical and rule-based approach for Mongolian lexical analysis[C]//2010 International Conference on Asian Language Processing,Harbin,2010:7-10.

[7]Bisani M,Ney H.Joint sequence models for grapheme-tophoneme conversion[J].Speech Communication,2008,50(5):434-451.

[8]Wang D.Out-of-vocabulary spoken term detection[D].[S.l.]:University of Edinburgh,2010:85-110.

[9]确精扎布.蒙古文编码[M].呼和浩特:内蒙古大学出版社,2000.

[10]嘎拉桑朋斯格.基立尔蒙古文学习读本[M].呼和浩特:内蒙古教育出版社,2006.

[11]清格尔泰.蒙古语语法[M].呼和浩特:内蒙古人民出版社,1992.

[12]图门吉日嘎拉.现代蒙古语[M].呼和浩特:内蒙古大学出版社,2009.

[13]舍·却玛.蒙古文、基里尔文正字法比较研究[M].呼和浩特:内蒙古教育出版社,2010.

[14]Bisani M,Ney H.Multigram-based grapheme-to-phoneme conversion for LVCSR[C]//Proc Eurospeech’03,Geneva,2003:933-936.

[15]张志忠.新蒙汉词典[M].北京:商务印书馆,2011.

BAO Feilong,GAO Guanglai,YAN Xueliang,WEI Hongxi

College of Computer Science,Inner Mongolia University,Hohhot 010021,China

Traditional Mongolian and Cyrillic Mongolian are both Mongolian languages and are widely used in China and Mongolia respectively.With almost the same pronunciations,their written forms are totally different.According to the characteristic of the two languages,this paper proposes a joint sequence model based approach and depicts in detail the corresponding experiments performed.In the experiments,the word error rate and letter error rate for the traditional Mongolian to Cyrillic Mongolian conversion system are 18.38%and 6.75%,and that for Cyrillic Mongolian and traditional Mongolian conversion system are 18.77%and 7.14%.Experimental results show that the proposed approach can meet the basic requirements for practical use.

traditional Mongolian;Cyrillic Mongolian;joint sequence models;joint multigram

传统蒙古文和西里尔蒙古文分别是在中国和蒙古国使用的蒙古文,它们的口语基本相同,但是书写形式完全不同。结合传统蒙古文和西里尔蒙古文的构词特点,提出了基于联合序列模型的传统蒙古文和西里尔蒙古文相互转换方法,并做了大量的相互转换实验。实验中,传统蒙古文到西里尔蒙古文转换系统的词误识率和字母误识率分别达到了18.38%和6.75%,西里尔蒙古文到传统蒙古文转换系统的词误识率字母误识率分别达到了18.77%和7.14%,基本达到了实用要求。

传统蒙古文;西里尔蒙古文;联合序列模型;联合多元

A

TP391.1

10.3778/j.issn.1002-8331.1301-0314

BAO Feilong,GAO Guanglai,YAN Xueliang,et al.Research on conversion approach between traditional Mongolian and Cyrillic Mongolian.Computer Engineering and Applications,2014,50(23):206-211.

国家自然科学基金(No.61263037,No.71163029);内蒙古自然科学基金(No.2014BS0604);内蒙古大学高层次人才引进科研项目资助。

飞龙(1985—),男,博士,讲师,主研方向为蒙古文信息处理、语音识别与语音检索;高光来(1964—),男,教授,博士生导师,主研方向为蒙古文信息处理、模式识别与人工智能;闫学亮(1984—),男,硕士生,主研方向为蒙古文信息处理、信息检索;魏宏喜(1981—),男,博士,副教授,主研方向为蒙古文信息处理、文字识别。E-mail:csfeilong@imu.edu.cn

2013-01-28

2013-06-24

1002-8331(2014)23-0206-06

CNKI网络优先出版:2013-08-22,http://www.cnki.net/kcms/detail/11.2127.TP.20130822.1408.002.html

猜你喜欢

蒙古文字母证据
缓存:从字母B到字母Z
关于新发现的《字母汇编》(蒙古文)
字母派对
关于蒙古文在各种浏览器上显示方法的探讨
对于家庭暴力应当如何搜集证据
略论Khandjamts夫人(基里尔蒙古文)
手上的证据
手上的证据
“证据”:就在深深的水底下——《今生今世的证据》“读不懂”反思
巧排字母等