企业新闻 翻译动态 各地分公司 口译服务地区 译文赏析 特色专栏 文学类
会员登录
   
分类导航
 
企业新闻  (1210)
翻译动态  (143)
各地分公司  (400)
口译服务地区  (365)
译文赏析  (109)
特色专栏  (35)
文学类  (0)
 
最新文章
 
更多
 
藏文数词识别与翻译
专业翻译机构--丽都翻译公司-因为专业 所以卓越   2014-02-22 20:16:18 作者:北京大学学报(自然科学版) 2013年01期 来源:中国科学院计算技术研究所;中国科学院研究生院;青海师范大学藏文信息研究中心 孙萌 华却才让 刘凯 吕雅娟 刘群 文字大小:[][][]
摘要 通过对藏文数词内部构词规律及外部边界信息进行分析,提出对藏文数词基本构件定义的方案。采取最优路径决策模型判断数词构件边界,然后通过有限自动机模型识别并翻译基本数词,最后用模板匹配算法处理复杂数词。结果表明,提出的方法对数词识别与翻译的F值达到98.73%,在藏汉机器翻译的测试集上的BLEU提高了2.64%。
 关键词 藏文;数词基本构件;自动机;数词识别;数词翻译
 中图分类号 TP391
 Tibetan Number Identification and Translation
 SUN Meng 1,2,†,HUA Quecairang 3,LIU Kai 1,LÜYajuan 1,LIU Qun 1
 1.Institute of Computing Technology,Chinese Academy of Sciences,Beijing 100190;2.Graduate University,Chinese Academy
 of Sciences,Beijing 100049;3.Tibetan Information Research Center,QingHai Normal University,Xining 810008;
 †E-mail:sunmeng@ict.ac.cn Abstract The authors propose a definition of Tibetan number basic component through analyzing the inner structure and the boundary information.A best path decision was applied in judging basic component,then the number was recognized and translated by a finite automation model,finally a template matching algorithm was used for processing complicated number.The F-score of identification and translation is98.73%and the BLEU score of Tibetan-Chinese translation obtains an improvement of2.64%.Key words Tibetan;number basic component;automation;number indentification;number translation 藏文是一种具有逻辑格语法体系的拼音文字,经过1400多年不断的发展,已经成为我国藏族地区和其他藏传佛教传播地广泛使用的文字,同时藏文也是世界上最复杂的语言文字之一。藏文的复杂性表现在两个方面。一方面,藏文属于汉藏语系藏缅语族,词之间缺少明显标记。另一方面藏文是拼音文字,由30个辅音字母、4个元音字母以及上下加字组成,并且藏文的拼写形式又可以分为横向和纵向,在时态上具有曲折变化。藏文分词[1-5]已经是藏文信息处理[6]中的一个难题,而藏文数词的构成方式更加灵活多样,普通的统计模型已不适用于藏文数词识别与翻译。 在藏文中,数词通常有3种表达方式。第一种是阿拉伯数字,比如“2012”;第二种是藏文基本数字构件:༠(0),༡(1),༢(2),༣(3),༤(4),༥(5),༦(6),༧(7),༨(8),༩(9),比如“༢༠༡༢(2012)”;第三种是藏文组合数词,组合数词是由藏文数词基本构件以一定的规则组合而成,比如“ʀམ་ȕ་ȑ་(35)”。前两种表达形式通过简单的匹配和映射就可以实现识别和翻译,但是藏文组合数词的构成规律复杂多变,并且藏文的数词基本构件通常具有歧义性,因为数词的基本构件也会作为普通词的组成部分。藏文的数词识别与翻译模块是藏汉翻译系统中不可或缺的组成部分,然而国内外对其研究很少,
76仅有Liu等[7]提出基于数词组件分类的藏文数词识别算法,第一次系统地阐述了藏文复杂的数词构成方式,并总结归纳为12条基本规则。他们预先定义5种数词构件的集合,并相应定义6种标签,分别是基本数词、前缀数词、连接数词、后缀数词、独立数词和非数词。通过查询音节所属的集合初始化序列的标签,经过若干迭代操作修改标签,最终识别数词。然而,由于藏文本身丰富的表达方式和灵活的构词规律,所谓的数词构件可能是一个非数词的组件,从而导致识别的错误。其次,在文献[7]中提到的5种数词构件集合存在重合现象,应该考虑左右邻信息,避免分类错误。另外,藏文数词有多种构词方式表示同一个数值,藏文数词的翻译也是一个难点。还有,Liu 等提出的多次迭代修改标注的方法,时间复杂度较高。
 本文中,我们深入研究了藏文数词的构词规律,对藏文数词构件进行更为细致的分类,并添加数词消歧模块,采用三层模型,自底向上,准确识别并翻译藏文数词。
 1藏文数词组成规律
 藏文的组合数词,譬如类似汉语中的“三十五”,“一百二十六”,通常由基本数词构件按照一定规律组合连接。藏文从一到九可以看做基本构件,如“གཅིགགཉིས།གʀམ།བཞི།ȑ།ȯགབȭན།བȄད།དǻ།”。单位词百、千、万、十万、百万、千万、亿也是基本构件,如“བȄ།Ȫོང་།ǹི།འɍམ།ས་ཡ།Ɏེ་བ།ȭང་Ɋར།”。然而,基本构件会有较多变体,比如,“一”也可以写做“དང་པོ་”、“ཅིག”和“གཅིག”等。从1~100藏文的表达方式较为多样,语言现象较多,而某些构词方式更倾向于习惯语法,不遵从语言专家总结的构词规律。因此我们将基本数词构件的范围扩展到1~100,大于100的藏文数词的构词方式相比而言更容易用规则描述,构建面向大于100的藏文数词的规则库会很大的减少规则的数量,并会极大地避免规则冲突。
 目前,国内外对藏文数词的种类和范围没有统一的规范的定义。本文综合考虑藏文的数词构词规律和规则存储使用方式,将藏文数词划分为5类:基本数词、序数词、分数、单位词和时间词。
 基本数词 仅有数词构件组成的数词,如“ʀམ་Ȫོང་བȄ་དང་བȕ་གཅིག(3111)”和“ǹི་བȕ་གཅིག་(11万)”。
 序数词 表示次序的数词,如“ǰབས་གʀམ་པ་(第三届)”。分数 包括普通分数,如“ʀམ་ཆའི་གཉིས་(三分之二)”,百分数、千分数和万分数,如“བȄ་ཆའི་གཉིས་(百分之二)”。
 单位词 单位+基本数词,如“Ʉི་ལེ་ǿ་བཞི་མ་ཉི་ɿ་(二十平方公里)”。
 时间词 表示时间概念的词,如“༡༩༣༠ལོར(一九三零年)”。
 2 总体框架
 由于藏文数词构词特有的复杂性,统计方法不能精确刻画其复杂的规律,而单一的规则模型描述能力有限。为避免多粒度规则之间的包含和冲突,我们将提高单一规则模型构建的复杂度。本文采用
 为3个独立的阶段,即边界识别、基本数词识别和翻译和复杂数词识别和翻译,简化问题,从而降低模型的复杂度。由于藏文句子中没有分隔符,第一层模型用以识别基本数词构件;第二层模型根据识别出来的基本数词构件,通过有限状态自动机识别并翻译基本数词;第三层模型把基本数词泛化为变量,以识别更大粒度的复杂数词。流程如图1所示。
 首先,根据基本构件表将藏文句子切分并构建成一个有向图,通过最优路径算法将正确的数词基本构件识别出来;然后,采用自动状态机表述基本数词规则,仅需扫描一遍句子便可识别并翻译出基本数词;最后,将识别出的基本数词泛化为一个变量,通过复杂数词规则进而识别并翻译出更复杂的数词,如日期、序数词和单位词等。藏文数词识别的过程可以划分为状态识别和状态转换两个阶段,而数词翻译根据状态转移路径生成对应译文。藏文属于拼音文字,音节可以作为基本构词单位,但是音节与音节之间缺少明显的分隔符,因此藏文数词识别的第一步是确定数词构件的边界。藏文数词基本构件可以定义7种类别,即对应7种不同输入,可采用有限自动机描述状态之间的转移。
 3.1边界识别模型
 根据藏文数词基本构件的含义和语法功能,我们将其划分为以下7种类别。
 基数词 0到100之间的藏文数词及其变体,据大规模语料统计,平均每个基数词有一到两个变体。基数词既可以单独表示数词意义,又能够遵循特定语言规律组合成复合数词。
 数量词 单位词是指具有百、千、万、十万、百万、千万和亿等含义的词,藏文单位词为“བȄ་/Ȫོང་(Ȫོང་ɋག་)/ǹི་/(ǹི་ཚǑ་ǹི་ɋག་)/འɍམ་(འɍམ་ɋག་)/ས་ཡ་/Ɏེ་བ་/ȭང་Ɋར་”。藏文单位词的位置较为灵活,可以放于基数词之前和之后。
 数词前缀 数词前缀通常为表示1~9含义基本数词,但是其中1~3有其特殊形式,其余前缀数词与基数词集合存在交集。数词前缀通常和单位词搭配。
 小数点 包含两种形式:“ཚǃག་/Ǿངས་Șང་”。主要用以表示小数。
 连接词 不具有数词意义,但具有语法功能。否定数词 指མེད་,在数词中表示“否定”的意思。如“ʀམ་Ȫོང་ȯག་བȄ་བȕ་མེད་གʀམ།(3603)”,在基数词བȕ་(10)之后的否定数词མེད་,表明“没有10”,即十位数位置上应该设为零。
 数词后缀 不影响数词的含义,仅具有语法功能,如“པ་/བ་”。
 本文定义的7类构件,存在以下3个问题:首先,数词前缀集合和基数词集合存在重合;其次,集合中某个数词构件也可能是另一个数词构件的子串;最后,所定义的7类数词构件在实际使用中还可能被用做普通词的构件。
 解决上述3个问题,有两种方案。一是将各种类型的规则都用一个模型建模,但融合不同类型规则会增加模型的复杂度,并且,过多规则带来的规程冲突和相互影响也会增大编码实现的难度。二是用多个模型,每个模型仅处理一类或几类问题,层层推进,模型之间接口清晰,模型边界定义简单,不仅简化了实现的难度,更易于今后的维护。本文采用第二种方案。
 藏文数词识别的第一步就是要确定数词构件的边界。第一层边界识别模型主要是对句子进行初步切分,得到一个数词构件粒度合适的粗分结果。粗分结果的准确性和包容性直接影响后续两个模块的效果,并最终影响整个数词识别与翻译系统的正确率和召回率。边界问题包含数词构件本身边界判断和数词与非数词的边界判断。
 数词构件本身边界识别存在着一定的歧义性。例如,一个数词构件也可能是另一个数词构件的子串。数词“ʀམ་Ȫོང་བȄ་དང་བȕ་གཅིག(3111)”,其中“གཅིག(1)”、“བȕ་(10)”和“བȕ་གཅིག(11)”均可被识别为基数词,但在此数词中,基数词是“བȕ་གཅིག(11)”,而“གཅིག(1)”和“བȕ་(10)”只是“བȕ་གཅིག(11)”的子串。正向最大匹配和逆向最大匹配算法可以在一定程度上解决数词构件识别的歧义性,为了提高识别的准确率,本文采用基于词图的识别算法。
 首先,根据本文定义的数词构件词典,找出句子中所有可能的数词,构造数词识别的有向无环图(如图2所示)。图中的边表示一个数词构件,并赋予相应的权重。然后将在此词图中的最优路径作为数词构件的识别结果。
 求解有向图最优路径问题可以选择时间复杂度为O(V 2)的Dijkstra算法,其中V表示图中顶点的数量。但是本文用到的词图属于按照拓扑顺序排列节点的有向图,因此可以简化Dijkstra算法,从左至右依次计算每个节点与源点之间的最短路径,时间复
如算法1所示,G表示输出的词图,w表示边的权重,π记录顶点的前驱,Adj[u]表示顶点u的邻接边的集合,d[u]表示顶点u到源端的距离。
 数词与非数词的边界初步识别是本层模型的第二个任务。
 我们将包含数词构件的普通词语定义为混淆词语。如“གཅིག་Ȍིལ་(统一)”中粗体部分还可以表示数词“一”,“Ʉི་ལེ་ǿ་བཞི་མ་(平方公里)”中粗体部分也可以表示数词“四”。我们可以构建一个混淆词表,如果句子中有混淆词,则在词图上增加一条混淆边,混淆边与普通边竞争,由最优路径算法选择最为合适的切分。
 算法1生成最短路径SHORTESTPATH(G,w)
 for each vertex u,taken in topologically sorted order do for each vertex v∈Adj[u]
 do RELAX(u,v,w)RELAX(u,v,w)if d[v]>d[u]+w(u,v)then d[v]←d[u]+w(u,v)π[v]←u 3.2基本数词识别与翻译模型藏文句子中数词构件的边界确定之后,藏文句子被切分为数词构件和非数词构件组成的序列。基本数词识别与翻译模型是本系统的核心模块,将上述的序列通过有限自动机识别藏文基本数词并进行翻译。通常的字符串识别往往可以借助正则表达式引擎,只需人工书写正则表达式即可识别出符合要求的字符串。因而正则表达式在传统的文本匹配与替换方面起到非常重要的作用。但是藏文基本数词识别与翻译,因其问题的特殊性,不能直接使用正则表达式实现识别与翻译功能。一是因为藏文数词与汉语数词存在表达上的差异,不能直接通过正则表达式直接替换相应构件进行翻译,要以阿拉伯数词作为翻译的“中间语言”,在识别的同时进行数学运算,计算生成最终的阿拉伯数词;二是边界识别模型没有过多考虑基本构件在句中的上下文信息,又因为前面定义的7种构件类型存在部分重合,还需在本模型中根据上下文信息反馈修改之前确定的构件种类;三是假设用正则表达式表示所有的数词规律,并且规则的数量为M,输入序列的长度为N,则识别此序列中数词的时间复杂度为O(M·N),本模型采用自动机算法,只需扫描一遍序列,即可识别并翻译出所有的基本数词,时间复杂度为O(N)。
 基本数词的识别和翻译可以用状态转换图(图3)表示。
 基于有限自动机的藏文数词识别翻译模型可以看做弧上有标记的有向图,标记的集合就是数词基本构件的种类。将句子以构件作为输入标记,进行状态转移,寻找路径,一旦找到一条从开始节点S 到结束节点E的路径,即识别为一个藏文基本数词。并且在状态转移的同时,自动机内部维持一个变量,用以记录从开始节点到当前节点的数词的“值”。
 例1藏文数词“ཉིས་ǹི་དǻ་བȄ་བȕ་མེད་བȭན་(20907)”。1)先进行数词基本构件划分,得到如下序列:ཉིས་(前缀词−二)ǹི་(数量词−万)དǻ་(基数词−九)བȄ་(数量词−百)བȕ་(数量词−十)མེད་(否定词−没有)བȭན་(基数词−七)。
 2)依次扫描输入的构件序列,进行状态转移:S
 →1→2→3→2→2→5→3→E。
 图3基本数词状态转换图Fig.3 Basic number state switch
藏文数量词的位置较为灵活,可以是“基数词/前缀词+数量词”或者“数量词+基数词/前缀词”,在翻译中就面临数量词是修饰前面的词还是后面的词的问题,可以归结为藏文数量词的前向后向属性判别问题。仅回溯查看前一个输入构件的种类,不足以确定数量词的前向后向属性,需再次回溯,从而根据前两个输入构件的种类,判别数量词的前向后向属性。如ǹི་ཚǑ་(数量词“万”)ʀམ་(前缀词“三”)Ȫོང་(数量词“千”),首先数量词“千”和“三”组合,然后再和数量词“万”结合,译文应该是“三千万”。3.3复杂数词的识别与翻译模型
 基本数词并不包括时间词、序数词、分数和单位词等复杂数词。可以通过人工书写识别翻译模板处理复杂数词。将基本数词泛化为变量X,如果在句子中匹配上对应的模板,则识别并翻译复杂数词,否则仅输出基本数词。
 根据规则中变量X的数量,可以划分为一元规则、二元规则和三元规则。为避免规则的冲突,应该先从三元规则往下进行匹配。譬如,“X1年”和“X1年X2月X3日”,应该遵循最大匹配原则,首先尝试匹配较大模板,如不可匹配,则再匹配较小模板。
 复杂数词识别与翻译的规则定义如下。序数词 ǰབས་X→第X届。时间词 X1ལོའ་ɷ་ིX2པའ་ཚིས་ǃX3→X1年X 2月X3日。分数 X1ཆ་X2→百分之X2(当X1=100)。单位词ɥིས་X1→X1米。复杂数词识别与翻译的策略是:首先将基本数词泛化为变量X,按照规则表中的优先级依次用规则匹配,如果匹配上,则将原句子中的匹配部分标注为已处理,否则,尝试下一条规则。4 实验和分析4.1数词识别与翻译实验我们从政府法律文献和藏文网页中随机抽取2117句含有藏文数词的句子,人工标注和翻译之后作为测试集,从识别和翻译两方面考察系统的性能。实验结果如表1所示。“识别”是指仅考察识别数词的精度,而“识别和翻译”指考察识别与翻译同时正确的精度。从实验结果可以看出识别的F值比识别与翻译的F值稍高,这是因为数词翻译存在一对多的现象,比如“༡༩༣༠ལོར”可以翻译成“一九三零年”或“一九三〇年”,藏文词“ལོ”可以表示“岁”或者“年”的含义。因此必须根据具体语境判断,单纯依靠规则不能解决。另外,对于表示概数意思的藏文数词,还不能很好地处理,譬如“Ȫོང་གʀམ་བཞི་ཆ་ཤས་གཅིག་(三四千一份)”。本系统可以准确处理规范的藏文数词,对于倾向于口语化的藏文数词的识别并翻译,准确率依然达到可以接受的标准。
 4.2数词识别与翻译对藏汉翻译的影响
 藏文数词识别和翻译是藏汉翻译中虽小但必须要解决的问题。因为藏文数词特有的灵活性,不能通过单纯的统计模型处理,本文的主要工作就是研究如何存储和使用专家知识,从而构建高效率高质量的藏文数词识别和翻译系统。将数词识别和翻译模块融入机器翻译模型以提升翻译质量,基本有两种方案:1)在翻译前将对应的数词译文替换藏文数词,然后整句进行翻译;2)在翻译前将藏文数词以及其译文作为短语对动态加入到翻译模型中。第一种方案会在一定程度上影响翻译模型的完整性,本文选择第二种方案作为系统融合的策略。
 本实验中,以汉语作为目标端,采用CWMT2011提供的藏汉双语句对作为训练集语料,表2列出了藏汉双语训练集的统计信息。使用CWMT2011提供的开发集作为本次试验的开发集,共650句。我们从训练集中预留604句含有藏文数词的句子作为测试集,采用GIGA新华语料上训练的5元语言模型,平滑方法采用Kneser-Ney smoothing。
 我们根据文献[8]开发了层次短语解码器[8],并将此作为基线系统,层次短语解码器可以使用从双语语料中抽取的翻译规则,是近年来主流的机器翻译技术。将藏文数词识别和翻译作为句子翻译前的预处理模块,即在翻译每句之前将数词以及其翻译动态地加入到基线系统的规则表中。实验结果如表3所示。
本文提出的层叠式的模型,将藏文数词识别和翻译任务划分为边界识别、基本数词识别翻译和复合数词识别翻译3个相对独立的模块,提高识别与翻译精度的同时,还降低了单一规则模型构建的复杂度。在2117句实际网络文本的测试集上,得到0.9873的F值,验证了本文提出方法的鲁棒性。在翻译实验中,引入数词识别和翻译模块,提升翻译质量,表明模型具有很强的实用性。
 5 结语
 藏文的数词识别和翻译是一项比较基础,又很重要的工作,但是国内外的相关研究较少。本文根据藏文数词的构词规律,定义藏文数词类别和基本构件。提出三层模型,通过基于最优路径决策的数词构件边界识别模型、基于自动机的基本数词识别与翻译模型和基于泛化变量模板的复合数词识别与翻译模型,使得藏文数词识别和翻译的F值达到98.73%。将此模块加入到翻译模型中,翻译效果也得到提升。在现有研究的基础上,我们将进一步研究如何利用上下文信息,更好地指导数词识别。
 参考文献[1]陈玉忠,李保利,俞士汶.藏文自动分词系统的设
 计与实现.中文信息学报,2003,17(3):15−20[2]才智杰.藏文自动分词系统中紧缩词的识别.中文
 信息学报,2009,23(1):35−37[3] Sun Yuan,Yan Xiaodong,Zhao Xiaobing,et al.
 Aresolution of overlapping ambiguity in Tibetan word
 segmentation//Proceedings of the 3 rd International
 Conference on Computer Science and Information Technology.Chengdu,2010:222−225[4]刘汇丹,诺明花,赵维纳,等.SegT:一个实用的藏
 文分词系统.中文信息学报,2012,26(1):97−103[5]Liu Huidan,Nuo Minghua,Ma Longlong,et al.
 Tibetan Word segmentation as syllable tagging using
 conditional random fields//Proceedings of the 25th
 Pacific Asia Conference on Language,Information
 and Computation.Singapore,2011:168–177
 [6]高定国,关白.回顾藏文信息处理技术的发展.西
 藏大学学报:社会科学版,2009,24(3):18−27[7]Liu Huidan,Zhao Weina,Nuo Minghua,et al.Tibetan
 number identification based on classification of
 number components in Tibetan word segmentation//
 Proceedings of the 23 rd International Conference on Computational Linguistics.Beijing,2010:719–724 [8] Chiang D.Hierarchical phrase-based translation.
 Computational Linguistics,2007,33:201–228表2训练语料库统计信息Table 2 Statistics of training corpus 语料规模 藏文 汉语句子 101629 101629词语 1280787 971520
 表3翻译性能对比Table 3 Result of translation 系统 开发集 测试集层次短语基线系统 0.4263 0.2913添加藏文数词识别与翻译 0.4338 0.3177

最新评论
发表评论
标题
内容
表情
 

Copyright © 2018-2019 All rights reserved Design by 南京丽都翻译有限公司

苏ICP备15006944号-1 TEL:025-85525080 E-mail:kefu@lidutrans.cn