基于短语的阿拉伯语到中文的机器翻译系统.doc

上传人:rrsccc 文档编号:9316971 上传时间:2021-02-18 格式:DOC 页数:11 大小:34KB
返回 下载 相关 举报
基于短语的阿拉伯语到中文的机器翻译系统.doc_第1页
第1页 / 共11页
基于短语的阿拉伯语到中文的机器翻译系统.doc_第2页
第2页 / 共11页
基于短语的阿拉伯语到中文的机器翻译系统.doc_第3页
第3页 / 共11页
基于短语的阿拉伯语到中文的机器翻译系统.doc_第4页
第4页 / 共11页
基于短语的阿拉伯语到中文的机器翻译系统.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《基于短语的阿拉伯语到中文的机器翻译系统.doc》由会员分享,可在线阅读,更多相关《基于短语的阿拉伯语到中文的机器翻译系统.doc(11页珍藏版)》请在三一文库上搜索。

1、基于短语的阿拉伯语到中文的机器翻译系统 基于短语的阿拉伯语到中文的机器翻译系统 自然语言处理在国内已经得到了充分的发展,尤其是在中文处理方面已经达到了相对较高的水平;同时在机器翻译方面,也取得了长足的进步,但主要研究还是在中文与英文的互翻译上,对于一些相对较小的语种来说,国内的研究还比较少,如在阿拉伯语与中文的翻译方面,还处于起步阶段。本文采用国际上流行的基于短语的统计机器翻译思想,借鉴了国际上阿拉伯语到英语1、英语到中文2,3的机器翻译处理方法,利用国内外现有的开源工具,建立了一个简易的阿拉伯语到中文的翻译系统。 1 系统描述 基于短语的统计机器翻译模型 基于短语的统计机器翻译46以短语作为

2、翻译的基本单位。对于一个阿拉伯语句子,翻译系统将其划分为多个连续的词语串7;然后将每一个阿拉伯语短语翻译为汉语短语;最后将产生的汉语短语进行顺序调整,并输出译文,如图1所示。 1.基准的统计机器翻译系统 在统计机器翻译中,假定一个源语言句子 fJ1=f1fjfJ,要被翻译成目标语言句子为cI1=c1M1Ss=1log pm1(es|fs) 这个判定准则是凸的,并存在全局最优。 笔者引入以下六个特征,并将其整合到log-linear模型中:短语翻译概率为p(c|a);逆向短语翻译概率为p(a|c);词汇化的短语翻译概率为lex(c|a);逆向词汇化的短语翻译概率为lex(a|c);中文语言模型为

3、lm(cI1);中文句子长度为I。 翻译系统的整个流程图如图2所示。 整个系统由以下模块构成:训练语料库预处理模块、中文分词工具、阿拉伯语词形分析工具、词语对齐模块、短语抽取模块、语言模型训练模块、语言模型应用工具、输入预处理模块、解码模块、输出后处理模块。 每个模块都是一个可独立执行的文件,可以运行在Linux平台上。模块之间以文件作为接口,这些文件包括训练语料库、规范的训练语料库、分词的训练语料库、词语对齐的语料库、短语翻译概率表、语言模型、输入文本、输出文本。 预处理和规范化工具 一个训练语料的流程图如图3所示。 训练语料的预处理 训练语料都是中文和阿拉伯文句子对齐的语料,在进行GIZA

4、+训练前,需要对这些语料进行加工处理。对语料进行预处理的主要工作就是进行中文分词和阿拉伯语的词形分析。实现原理如下: a)中文分词 系统中使用Stanford NLP自然语言处理小组开发的中文分词开源工具13对文档进行处理,分词后的文件保持原文件名,同时产生原文件的备份文件。举例如图4所示。 b)阿拉伯语的词形分析 系统中使用了Diab开发的进行阿拉伯语词形分析,但是在处理前,首先要利用软件Encode-Arabic将阿拉伯语的句子转换为Buckwalter编码的格式;然后再将经过编码转换的句子输入到AMIRA,依次进行词法分析、词性标注和短语划分。举例如图5所示。2.词语对齐 本模块的主要目

5、标就是实现训练语料库中的句子自动词语对齐。 其基本思想是利用GIZA+进行汉语到阿拉伯语、阿拉伯语到汉语两个方向的训练,再对两个方向的对齐结果按照Och等人14提出的Heuristic的思路进行优化。GIZA+实现了IBM统计翻译模型,但得到的对齐结果忽略了多对多及多对一的情况。为了解决GIZA+词语对齐的问题,通常利用双向对齐的结果进行优化。优化的方法采用了以两个方向对齐结果的交集为中心点,检查其上下左右及对角相邻的八个点,若在并集中,则作为扩展的对齐点加入对齐序列中。具体实现伪代码如下: NEighboring=,); Align_Intersect=intersect(c2f,f2c);

6、 Align_Union=union(c2f,f2c); Heuristic(); Heuristic(): for chinese word c=0cn for arabic word f=0fn if(c aligned with f) for each neighboring point(c-new,f-new) if(c-new not aligned and f-new not aligned) and (c-new,f-new) in Align_Union) add alignment point (c-new,f-new); 2.短语抽取 目标:从词对齐的语料库中自动学习阿拉伯

7、语短语到汉语短语的翻译。 实现原理:很多基于短语的统计机器翻译系统的短语抽取方法都很相似,根据这些方法,本模块实现了从词对齐中自动抽取双语短语的算法。基本思想就是首先根据词对齐生成最大似然词汇化辞典;然后进行短语抽取;最后对每一个短语对计算四个翻译概率。 生成最大似然词汇化翻译表 对于已经进行了词对齐的语料,直接估计最大似然词汇化翻译表,用于短语对的词汇化概率计算。如果直接用GIZA+产生的翻译表计算,由于有的词条在GIZA+词典中没有出现,导致会有一些短语对的词汇化概率为0,而且GIZA+词典中没有w(a|NULL)和w(c|NULL)这两个概率值。直接估计的方法就是直接抽取对齐的词对,如果

8、某个词没有与之对齐的翻译词,就认为它与NULL对齐;然后计算同现次数,按照式分别计算出w(c|f)和w(f|c),从而直接生成词汇化的翻译表。 w(c|f)=count(c, f)/countc(c, f) w(f|c)=count(c, f)/countf(c, f) 短语抽取 从词语对齐的语料库中抽取双语短语,要求短语对必须与词对齐相容。定义如下: (c, f)BPcic:(ci, fi)WfifAND fjf:(ci, fj)Wcic 其中:W表示词语对齐的矩阵。抽取方法就是提取对齐矩阵中所有以对齐点为顶点的矩形,条件是与矩形所在行范围内的词源对齐的目标词都在这个矩形的列范围内,反之亦然

9、,如图6所示。 经常参加体育运动 $trk dAmA fY Aln$ATAt AlryADyp 图词语对齐矩阵 计算概率 短语抽取完后,再计算四个翻译概率:p(a|c),lex(a|c)、p(c|a)、lex(c|a)。计算方法就是对所有生成的短语对分别计算阿拉伯语短语、中文短语以及两者的同现次数;然后求商得到p(a|c)和 p(c|a),最后利用节中生成的词典按照 lex(cJ1|aI1,w)=Jj=11/i|(j,i)w(j,i)wP(cj|ai)(8) 计算得到lex(c|a)和lex(a|c)。 核心模块的设计 实现原理:解码部分主要参考了Koehn的Pharaoh系统说明文档。其解码

10、的过程可以分为以下几步: a)获取候选短语。根据输入的已分词的阿拉伯语句子,按照顺序切分的阿拉伯语短语片段从双语词表中获取对应的中文短语及其概率信息。 b)计算未来概率。在已获取的中文候选短语的基础上,动态规划计算任意连续位置间的概率情况。 c)产生扩展假设。中文句子按照从左至右的顺序产生,用候选短语进行扩展,计算出相应的代价,进行beam search。 d)根据beam search中每一步假设的代价,选择最低的假设,回溯产生中文译文。 图7是核心模块的系统流程。 选择候选短语 一般地,一个双语短语表是非常庞大的,对于一个输入句子,只需选择与这个句子相关的短语就可以了,这样可以节省内存空间

11、。为了便于解码,候选短语中需记录以下信息:阿拉伯语短语的起始、结束位置;阿拉伯语短语对应的中文短语翻译;翻译概率。然后可以穷举一个阿拉伯语句子的所有可能短语,对每一个阿拉伯语短语查找双语短语表,将双语短语表中汉语部分与之完全匹配的短语选择出来,参考以下算法: for start=0 to () for end=start to () if(start-end)MAX_PHRASE_LEN) break; string phrase=ArabicWordstart,end; Search translation options for phrase from Bilingual Phrase t

12、able 3.计算未来概率 在搜索过程中,程序以Hypothesis来存储汉语短语翻译及概率等信息,并将已翻译相同个数的阿拉伯语词语的Hypothesis存储到同一个栈中。为了减少搜索空间,采用宽度优先的柱式搜索,这样需要对同一个栈中的Hypothesis进行剪枝。尽管同一个栈中存放的Hypothesis覆盖的阿拉伯语词的个数相同,但是其覆盖的位置可能不同;在剪枝时,为了进行比较,不仅要考虑已翻译词的概率,还要考虑未来概率。 未来概率是指如果要完成整个句子的翻译,剩余部分达到的最大概率,它与当前还未翻译的词语相关,根据短语翻译概率、短语长度及语言模型进行估算。在候选短语中,每一个阿拉伯语短语f

13、endstart均对应一个或多个中文短语翻译。利用式求得fendstart的最大翻译概率: TP(fendstart)=maxilog(pi(a,f) 其中:pi(c,f)指短语的四个翻译概率、中文短语长度以及中文短语语言模型概率。利用以下的动态规划算法,可以很容易地求得任意连续串的未来概率。 for each ArabicPhrase in Translation Option TP FutureCost(start,end)=TP;for len=1 to () for i=0 to ()-len for j=i to i+len double p=FutureCost(i,j)+Futu

14、reCost(j+1,i+len); if(pFutureCost(i,i+len) FutureCost(i,i+len)=p; Search 搜索是解码器的核心,候选短语的选择和未来概率的计算都是为搜索做准备的。系统中采用了beam search搜索策略,每一次只保留最好的N个决策,实际上它是一种宽度优先搜索算法。对于一个阿拉伯语句子a1a2an,解码器每次都根据候选短语选择句子中为翻译的一个短语aiaj进行翻译,根据式计算相应概率,产生中文短语翻译,并将这些信息存储到Hypothesis中,根据已经翻译的单词个数m将新产生的Hypothesis存储到相应的栈stack(m)中。当一个句子

15、翻译完毕时,关于这个句子的完整翻译信息可以从最后一个栈stack(n)中向前回溯得到。以下是参考算法: initialize HypothesisStack0,nf create initial Hypothesis hp_init and push to HypothesisStack0; for i=0 to nf-1 for each hypothesis in HypothesisStacki for each new_hp that can be derived form hp covered_number=number of forEign words coverd so far;

16、 push new_hp to HypothesisStackcovered_number; prune HypothesisStackcovered_number; 3.译文的产生 搜索完毕,可以通过回溯产生最终的译文。一般地,系统中只产生一个最好的译文,即从最后一个栈中找到概率最大的Hypothesis,根据其指向父亲节点的指针向前回溯。有时,例如训练log-linear模型的参数或者用N-best 做rerank 等,可能会需要解码器输出多个译文,可以利用A*算法来产生N-best。下面将着重介绍生成1-best算法: find the Hypothesis with the highe

17、st probability in HypothesisStacknf; english_translation=hyp_; father_hyp=hyp_; while father_hyp !=hyp_init english_translation=father_+english_translation; father_hyp=father_; output english_translation; 翻译结果 选取了永中Office2007阿拉伯语版的用户手册和中文版的用户手册作为训练的双语语料库。因为所取的语料大部分限制在计算机办公领域,所以经过测试发现在办公相关的中文句子的翻译过程中

18、,效果较好;但是在其他领域的翻译效果还有待提升。在测试的过程中发现,翻译过程中对于人名和地名的翻译不是很好。虽然翻译的结果能让人们理解源语言的含义,但是要想达到人工翻译的水准,还有巨大的提升空间。所以对于未来的工作,系统还需要从以下三个方面继续进行改进:a)继续丰富和扩充双语语料的语句,扩大语料库的涵盖范围;b)进一步提高人名和地名翻译准确度;c)为了提高语句的翻译质量,希望能够融合基于语义的方法,建立基于实例的log-linear生成模型15,16。 结束语 本系统是基于短语的统计思想,搭建的一个简单的阿拉伯语到中文的统计翻译系统,里面还有很多问题需要进一步探讨。阿拉伯语和中文的机器翻译在我国的研究相对较少,希望通过本文能够更多地关注这个方向的研究和发展。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1