首页> 中国专利> 一种机器翻译中翻译单元表的抽取方法

一种机器翻译中翻译单元表的抽取方法

摘要

本发明提出了一种机器翻译中翻译单元表的抽取方法,本发明运行于Hadoop并行计算平台上,包括以下步骤:根据输入的双语对齐语料和词对齐文件,选择想要抽取的内容,并对相关信息进行合并;根据需要选择是否平滑和平滑方法,进行相应的平滑计数和合并;计算相应概率,输出最终结果文件。对比现有的集中式抽取方法,能大大加快程序运行时间;同时通过在计算概率的过程中可以选择性加入多项平滑技术,能够处理在训练数据集中由于数据稀疏和经验分布带来的过拟合现象,使得其中的概率更符合真实世界的情况,在实际情况中也能提高计算机机器翻译系统的性能。

著录项

  • 公开/公告号CN103488629A

    专利类型发明专利

  • 公开/公告日2014-01-01

    原文格式PDF

  • 申请/专利权人 南京大学;

    申请/专利号CN201310439927.0

  • 发明设计人 黄书剑;孙辉丰;戴新宇;陈家骏;

    申请日2013-09-24

  • 分类号G06F17/28;

  • 代理机构江苏圣典律师事务所;

  • 代理人胡建华

  • 地址 210093 江苏省南京市汉口路22号南京大学

  • 入库时间 2024-02-19 21:48:50

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-02-03

    授权

    授权

  • 2014-02-05

    实质审查的生效 IPC(主分类):G06F17/28 申请日:20130924

    实质审查的生效

  • 2014-01-01

    公开

    公开

说明书

技术领域

本发明涉及一种计算机统计机器翻译和并行计算领域,特别是一种分布式抽取短 语、层次短语表及词汇化调序模型的方法。

背景技术

统计机器翻译自上世纪90年代以来发展十分迅速,取得了很大的进步,逐渐成为 机器翻译领域中的研究热点。相对于基于规则的机器翻译系统,统计方法的最大优点 在于无需人工编写规则,可以利用语料库直接通过训练得到机器翻译系统。而基于短 语或层次短语的统计机器翻译系统可以更好地把握局部上下文的依赖关系,在性能上 优于基于词的统计机器翻译方法;相对于基于句法的统计机器翻译,又具有很好的通 用性,且搜索空间比较小。

基于短语和层次短语的统计机器翻译系统的工作过程如下:输入待翻译的句子S, 将之切分为n个短语,即S=s1,s2,……sn,接着将每个源短语si翻译成目标语言短语ti, 生成目标语言句子T=t1,t2,……tn。最后在所有可能的候选翻译中找出概率最高的句 子。而短语表、层次短语表和词汇化调序模型在基于短语和层次短语的统计机器翻译 系统中扮演重要角色,其中短语表和层次短语表可以用来在翻译过程中找出翻译概率 最大的目标短语;而词汇化调序模型则可以用来调整翻译结果中短语的次序,使得翻 译结果更符合人们的习惯。在现有的发明技术中,如中科院计算所2009年申请的《统 计机器翻译短语抽取方法》专利中,着重于抽取和计算概率的算法,没有提到如何实 现本项工作,如果采用集中式抽取方法进行三个文件的抽取,即利用一台计算机独立 完成工作,随着训练语料规模的不断增加,程序的时间消耗越来越大,而且每当试验 一种新的词对齐方式都要重新抽取这些翻译规则,这样一来更是凸显了集中式抽取方 法在效率上的不足,因此需要寻求更快抽取这些翻译规则的方法。

Hadoop是由Apache基金会开发的一个分布式系统基础架构,用户可以在不了解 分布式底层细节的情况下开发分布式程序,充分利用集群进行高速运算和存储。Hadoop 为大数据处理工作提供了优秀的数据存储与运算平台,对于大规模训练语料下抽取短 语、层次短语表和调序规则的工作,可以通过编写hadoop分布式程序,充分利用多台 计算结点来完成该项工作,从而缩短工作时间,提高效率。

发明内容

发明目的:本发明所要解决的技术问题是针对集中式抽取方法在效率上的不足, 提出一种机器翻译中翻译单元表的抽取方法。

为了解决上述技术问题,本发明公开了一种机器翻译中翻译单元表的抽取方法, 该方法的所有步骤均运行于Hadoop并行计算平台上,利用Hadoop并行计算平台分别 抽取短语表、层次短语表以及词汇化调序模型。

所述抽取短语表包括如下步骤:

步骤11,输入双语对齐语料和对应的词对齐文件,对于双语对齐语料中每一对双 语对齐句对,根据词对齐文件中的词对齐信息,首先抽取出所有的对齐短语对并记录 其词对齐信息和一次出现次数;接着对相同对齐短语对进行合并,即将出现次数相加, 并保存出现次数最多的词对齐信息;抽取出的对齐短语对满足词对齐上的相容性,即 在原有句子的短语对中一端映射到另一端上的范围不能超过该端短语的覆盖范围;

步骤12,以步骤11的结果作为输入,采用Good-Turing平滑方法进行平滑处理, 统计(c,nc)对,其中c是单个短语对的出现次数,nc是所有短语对中出现次数为c的短语 对的个数。也可以采用Kneser-Ney和Modified Kneser-Ney平滑方法(参阅An empirical  study of smoothing techniques for language modeling,1 999,Computer Speech and  Language,13:359-394)。

步骤13,以步骤11和步骤12的结果作为输入,计算对齐短语对的正向和反向的 相对频率即短语互翻译概率,以及词汇化翻译概率,得到短语表。

本发明步骤12包括以下步骤:

对于Good-Turing平滑,统计(c,nc)对,其中c是短语对的共现次数,nc是所有短语 对中出现c次的短语对的个数;假设目标短语为t,源短语为s,对于Kneser-Ney平滑, 统计与源短语满足共现次数c(s,t)>0的目标短语的数量和与目标短语满足c(s,t)>0 的源短语的数量;对于Modified Kneser-Ney平滑,统计与源短语分别满足c(s,t)=1、 c(s,t)=2和c(s,t)>2的目标短语的数量和与目标短语分别满足c(s,t)=1、c(s,t)=2 和c(s,t)>2的源短语的数量;同时对于Kneser-Ney和Modified Kneser-Ney平滑也同 样统计(c,nc)对。统计这些量分别需要利用一次MapReduce过程。

对于Kneser-Ney和Modified Kneser-Ney平滑,在计数的同时要保存相应的短语, 这样会导致结果文件过大,如果直接读到内存中将使hadoop集群的开销过大,本方法 利用两个MapReduce过程将源短语和目标短语相应的计数合并到步骤11的结果中。

本发明步骤13包括以下步骤:

短语对的正向相对频率为给定源短语翻译为目标短语的相对频率,反向相对频率 为给定目标短语翻译为源短语的相对频率。令s表示源短语,t表示目标短语,未使用平 滑技术的情况下,对齐短语对的正向相对频率的计算公式如下:

p(t|s)=c(s,t)c(s)

其中c(s,t)是源短语和目标层次短语共同出现的次数,c(s)是源短语的出现次数;

词汇化翻译概率则是将短语对分解成词,假设目标短语t={wt1,wt2,,wti,,wtn}, 源短语s={WS1,WS2,,WSi,,WSm},其中的wti和WSi是组成短语的词,给定源短语,词 汇化翻译概率的计算公式为:

plex(t|s)=Πi=1n1|{j|(i,j)a}|*Σ(i,j)ap(wti|wsj)

其中a为短语对的词对齐集合。

Good-Turing平滑要根据训练语料的计数特征来重新计算一个值来替代原先的计 数值,上式中cg(s,t)的计算公式如下:

cg(s,t)=(c(s,t)+1)nc+1nc,

其中c(s,t)是短语对共同出现的次数,cg(s,t)是重新估计的数值,nc是所有短语对 中出现c次的短语对的个数,直接利用此公式会出现问题:当c过大时,nc+1的值可能 为0,从而导致cg为0。为了防止这样的事情,本方法利用线性最小二乘法,设计一个 线性方程来拟合(c,nc)对,这样对于所有的c都可以重新计算nc的值。本方法根据实 际情况只对出现次数小于或等于1000的短语对的出现次数进行重新估计和拟合。

利用Good-Turing平滑技术后的正向相对频率p(t|s)计算公式为:

p(t|s)=cg(s,t)Σtcg(s,t)+p(s)*n1,

其中∑tcg(s,t)代表源短语s固定,目标短语t可变的情况下所有cg(s,t)之和,目标 短语t为所有能和源短语s一起被抽取成对齐短语对的短语,满足c(s,t)>0,c(s)是源短语s出现的次数,∑sc(s)是抽取出来的短语对中所有源短语s的出现次数之 和,n1是所有短语对中只出现一次的短语对的个数;。

利用Good-Turing平滑技术的对齐短语对的反向相对频率计算公式为:

p(t|s)=cg(s,t)Σtcg(s,t)+p(s)*n1,

其中∑scg(s,t)代表目标短语t固定,源短语s可变的情况下所有cg(s,t)之和,源短 语s为所有能和目标短语t一起被抽取成对齐短语对的短语,满足c(s,t)>0,c(t)是源短语t出现的次数,∑t c(t)是抽取出来的短语对中所有目标短语t的出现次数之 和;本方法中Good-Turing平滑只应用于出现次数不大于1000的短语对,否则利用未 加平滑的计算方法。

利用Kneser-Ney平滑的正向相对频率计算公式为:

其中:

p(t|s)=c(s,t)-DΣtc(s,t)+α(s)pb(t|s)

α(s)=D*n1(*,t)Σtc(s,t)

pb(t|s)=n1(*,t)Σtn1+(*,t)D=n1n1+2n2

利用Modified Kneser-Ney平滑的正向相对频率计算公式如下:

p(t|s)=c(s,t)-DΣtc(s,t)+α(s)pb(t|s)

其中D值随着c(s,t)的变化而变:

当c(s,t)=1时:D=D1=n1n1+2n2

当c(s,t)=2时:D=D2=2-3*n1n1+2n2*n3n2

当c(s,t)>2时:D=D3=3-4*n1n1+2n2*n4n3

α(s)=D1*n1(*,t)+D2*n2(*,t)+D3*n3+(*,t)Σtc(s,t)

计算正向和反向概率需要利用到一个MapReduce过程。对于短语表和层次短语表 来说,还要对正向和反向概率进行合并得到最终的短语表和层次短语表,因此需要利 用一个MapReduce过程进行合并操作。短语表结果文件中的每一行如下所示:

src|||trg|||p(f|e)lex(f|e)p(e|f) lex(e|f) ppen

其中src表示源端短语,trg表示目标端短语,|||为分隔符,p(f|e)表示反向短语相 对频率,lex(fle)表示反向词汇化翻译概率,p(e|f)表示正向短语相对频率,lex(elf)表示 正向词汇化翻译概率,ppen表示源短语和目标短语共现次数的负倒数。

所述抽取层次短语表包括如下步骤:

步骤21,输入双语对齐语料和对应的词对齐文件,对于双语对齐语料中每一对双 语对齐句对,根据词对齐文件中的词对齐信息,首先抽取出所有的对齐层次短语对并 记录对应词对齐信息和一次出现次数;接着对相同层次短语对进行合并,即将出现次 数相加,并保存出现次数最多的词对齐信息。

步骤22,以步骤11的结果作为输入,采用Good-Turing方法进行平滑处理,统计 (c,nc)对,其中c是单个层次短语对的出现次数,nc是所有层次短语对中出现次数为c的 层次短语对的个数。当然,也可以采用其他平滑方法包括Good-Turing、Kneser-Ney和 Modified Kneser-Ney平滑。

步骤23,以步骤11和步骤12的结果作为输入,计算层次短语对的正向和反向的 相对频率即层次短语互翻译概率,以及词汇化翻译概率,得到层次短语表。

本发明步骤22包括以下步骤:

对于Good-Turing平滑,统计(c,nc)对,其中c是层次短语对的共现次数,nc是所有 层次短语对中出现c次的短语对的个数;假设目标层次短语为t,源层次短语为s,对于 Kneser-Ney平滑,统计与源层次短语满足共现次数c(s,t)>0的目标层次短语的数量和 与目标层次短语满足c(s,t)>0的源层次短语的数量;对于Modified Kneser-Ney平滑, 统计与源层次短语分别满足c(s,t)=1、c(s,t)=2和c(s,t)>2的目标层次短语的数量和 与目标层次短语分别满足c(s,t)=1、c(s,t)=2和c(s,t)>2的源层次短语的数量;同时 对于Kneser-Ney和Modified Kneser-Ney平滑也同样统计(c,nc)对。统计这些量分别需 要利用一次MapReduce过程。

对于Kneser-Ney和Modified Kneser-Ney平滑,在计数的同时要保存相应的层次短 语,这样会导致结果文件过大,如果直接读到内存中将使hadoop集群的开销过大,本 方法利用两个MapReduce过程将源短语和目标短语相应的计数合并到步骤21的结果 中。

本发明步骤23包括以下步骤:

层次短语对的正向概率(包括相对频率和词汇化翻译概率)为给定源层次短语翻 译为目标层次短语的概率,反向概率为给定目标层次短语翻译为源层次短语的概率, 令s表示源层次短语,t表示目标层次短语,未使用平滑技术的情况下,正向相对频率的 计算公式如下:

p(t|s)=c(s,t)c(s)

其中c(s,t)是源层次短语和目标层次短语共同出现的次数,c(s)是源层次短语的出 现次数;

词汇化翻译概率则是将层次短语对分解成词,假设目标层次短语 t={wt1,wt2,,wti,,wtn},源层次短语s={ws1,ws2,,WSi,,WSm},其中的wti和WSi是组 成层次短语的词,给定源层次短语,词汇化翻译概率的计算公式为:

plex(t|s)=Πi=1n1|{j|(i,j)a}|*Σ(i,j)ap(wti|wsj)

其中a为层次短语对的词对齐集合。

Good-Turing平滑要根据训练语料的计数特征来重新计算一个值来替代原先的计 数值,上式中cg(s,t)的计算公式如下:

cg(s,t)=(c(s,t)+1)nc+1nc,

其中c是层次短语对共同出现的次数,cg是重新估计的数值,nc是训练语料中计数c 出现的次数,直接利用此公式会出现问题:当c过大时,nc+1的值可能为0,从而导致 cg为0。为了防止这样的事情,本方法利用线性最小二乘法,设计一个线性方程来拟合 (c,nc)对,这样对于所有的c都可以重新计算nc的值。本方法根据实际情况只对出现 次数小于或等于1000的短语对的出现次数进行重新估计和拟合。

利用Good-Turing平滑技术后的层次短语对的正向相对频率p(t|s)计算公式为:

p(s|t)=cg(s,t)Σscg(s,t)+p(t)*n1,

其中∑tcg(s,t)代表源层次短语s固定,目标层次短语t可变的情况下所有cg(s,t)之 和,c(s)是源层次短语s出现的次数,∑sc(s)是抽取出来的层次短语对中 所有源层次短语的出现次数之和,n1是所有层次短语对中只出现一次的层次短语对的 个数。

利用Good-Turing平滑技术的层次短语对的反向相对频率计算公式为:

p(s|t)=cg(s,t)Σscg(s,t)+p(t)*n1,

其中∑scg(s,t)代表目标层次短语t固定,源层次短语s可变的情况下所有cg(s,t)之 和,c(t)是源层次短语t出现的次数,∑tc(t)是抽取出来的短语对中所有 目标短语的出现次数之和。本方法中Good-Turing平滑只应用于出现次数不大于1000 的层次短语对,否则利用未加平滑的计算方法。

利用Kneser-Ney平滑的正向相对频率计算公式为:

其中:

p(t|s)=c(s,t)-DΣtc(s,t)+α(s)pb(t|s)

α(s)=D*n1(*,t)Σtc(s,t)

pb(t|s)=n1(*,t)Σtn1+(*,t)

D=n1n1+2n2

利用Modmed Kneser-Ney平滑的正向相对频率计算公式如下:

p(t|s)=c(s,t)-DΣtc(s,t)+α(s)pb(t|s)

其中D值随着c(s,t)的变化而变:

当c(s,t)=1时:D=D1=n1n1+2n2

当c(s,t)=2时:D=D2=2-3*n1n1+2n2*n3n2

当c(s,t)>2时:D=D3=3-4*n1n1+2n2*n4n3

α(s)=D1*n1(*,t)+D2*n2(*,t)+D3*n3+(*,t)Σtc(s,t)

计算正向和反向概率需要利用到一个MapReduce过程。对于层次短语表和层次层 次短语表来说,还要对正向和反向概率进行合并得到最终的层次短语表和层次层次短 语表,因此需要利用一个MapReduce过程进行合并操作。层次短语表结果文件中的每 一行如下所示:

src|||trg|||p(f|e)lex(f|e)p(e|f)lex(e|f)ppen

其中src表示源层次短语,trg表示目标层次短语,…为分隔符,p(fle)表示反向相 对频率,lex(ne)表示反向词汇化翻译概率,p(e|f)表示正向相对频率,lex(e|f)表示正向 词汇化翻译概率,ppen表示源层次短语和目标层次短语共现次数的负倒数。所述抽取 词汇化调序模型包括以下步骤:

步骤31,输入的双语对齐语料和对应的词对齐文件,对于双语对齐语料中每一对 双语对齐句对,根据词对齐文件中的词对齐信息,抽取出所有的对齐短语对和对应的 调序规则并输出至文件;

步骤32,根据步骤31的结果,统计各个调序规则出现的总次数;

步骤33,合并相同的短语对,统计各调序规则的出现次数和短语对的出现次数, 根据步骤32的结果,计算调序规则的概率,得到词汇化调序模型表。

本发明步骤33包括以下步骤:

计算调序规则概率的公式如下:

p(r)=c(r)+ps(r)Σr(c(r)+ps(r)),

其中r代表调序规则,c(r)是给定短语对中调序规则r出现的次数,ps(r)是该项调 序规则在全局中的得分,计算公式如下:

ps(r)=weight*(cs(r)+0.1)Σrcs(r)

weight表示权重值,可根据用户需要设定,本方法取值为0.2,cs(r)是该项调序规 则在全局中的出现的次数。

最终的词汇化调序模型表由短语对和对应各个调序规则的概率组成,在计算概率 的时候分别要计算短语对的上下两个方向的调序规则概率,将对齐语句置于直角坐标 系中,从上至下为目标语言句子,从左至右为源语言句子,上方向指当前短语对的紧 邻上方,下方向为当前短语对的紧邻下方,一股意义下的调序规则分别是monotone、 swap和discontinuous(参阅A Simple and Effective Hierarchical Phrase Reordering Model, 2008,Proceedings of the 2008 Conference on Empirical Methods in Natural Language  Processing,848-856)。词汇化调序模型结果文件中每一行如下所示:

src|||trg|||p1 p2 p3 p4 p5 p6

其中src表示源端短语,trg表示目标端短语,…为分隔符,p1表示上方向是 monotone的概率p2表示上方向是swap的概率,p3表示上方向是discontinuous的概率, p4表示下方向是monotone的概率,p5表示下方向是swap的概率,p6表示下方向是 discontinuous的概率。

有益效果:本发明将抽取短语表、层次短语表和词汇化调序模型的工作与Hadoop 并行计算平台上结合在一起,相比于在单台计算机上进行集中式抽取的方法大大缩短 了程序运行时间,有效利用了Hadoop集群在处理大数据的高效性。同时,各类平滑技 术的使用也可以提高整体机器翻译系统的性能。

本发明运行于Hadoop并行计算平台,充分利用集群威力进行抽取工作。本地集中 式抽取方法在合并相同短语对的时候通常需要对所有短语对进行排序,而Hadoop中的 MapReduce过程有效的解决了该问题。同时在Hadoop平台下,同时利用多台结点进行 抽取工作,相比于本地集中式抽取方法大大缩短了程序运行时间。

附图说明

下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/ 或其他方面的优点将会变得更加清楚。

图1是本发明的流程图。

具体实施方式

本发明提出了一种利用hadoop并行计算平台,充分利用集群威力对统计机器翻译 系统中的重要文件短语、层次短语表及词汇化调序模型进行并行化抽取,缩短实验运 行时间,提高工作效率。现有技术中抽取这些文件的做法通常是利用单台计算机进行 集中式抽取。

如图1所示,本发明公开了一种机器翻译中翻译单元表的抽取方法,利用Hadoop 并行计算平台分别抽取短语表、层次短语表以及词汇化调序模型。

本发明所述抽取短语表包括如下步骤:

步骤11,输入双语对齐语料和对应的词对齐文件,对于双语对齐语料中每一对双 语对齐句对,根据词对齐文件中的词对齐信息,首先抽取出所有的对齐短语对并记录 其词对齐信息和一次出现次数;接着对相同对齐短语对进行合并,即将出现次数相加, 并保存出现次数最多的词对齐信息;抽取出的对齐短语对满足词对齐上的相容性,即 在原有句子的短语对中一端映射到另一端上的范围不能超过该端短语的覆盖范围;

步骤12,以步骤11的结果作为输入,采用Good-Turing方法进行平滑处理,统计 (c,nc)对,其中c是单个短语对的出现次数,nc是所有短语对中出现次数为c的短语对的 个数;

步骤13,以步骤11和步骤12的结果作为输入,计算对齐短语对的正向和反向的 相对频率即短语互翻译概率,以及词汇化翻译概率,得到短语表。

本发明步骤13包括以下步骤:

短语对的正向相对频率为给定源短语翻译为目标短语的相对频率,反向相对频率 为给定目标短语翻译为源短语的相对频率,根据训练语料中短语对的计数特征来重新 计算一个值来替代原先的计数值,替换公式如下:

cg(s,t)=(c(s,t)+1)nc+1nc,

其中s和t分别代表源端短语和目标端短语,c(s,t)是源短语和目标短语共同出现 的次数,nc是所有短语对中出现c次的短语对的个数,cg(s,t)是替换后的数值;

利用Good-Turing平滑技术的正向相对频率p(t|s)计算公式为:

p(t|s)=cg(s,t)Σtcg(s,t)+p(s)*n1,

其中c(s)是源短语s出现的次数,n1是所有短语对中只出现一次的短 语对的个数。

本发明所述抽取层次短语表包括如下步骤:

步骤21,输入双语对齐语料和对应的词对齐文件,对于双语对齐语料中每一对双 语对齐句对,根据词对齐文件中的词对齐信息,首先抽取出所有的对齐层次短语对并 记录对应词对齐信息和一次出现次数;接着对相同层次短语对进行合并,即将出现次 数相加,并保存出现次数最多的词对齐信息;

步骤22,以步骤11的结果作为输入,采用Good-Turing方法进行平滑处理,统计 (c,nc)对,其中c是单个层次短语对的出现次数,nc是所有层次短语对中出现次数为c的 层次短语对的个数;

步骤23,以步骤11和步骤12的结果作为输入,计算层次短语对的正向和反向的 相对频率即层次短语互翻译概率,以及词汇化翻译概率,得到层次短语表。

本发明步骤23包括以下步骤:

层次短语对的正向相对频率为给定源层次短语翻译为目标层次短语的相对频率, 反向相对频率为给定目标层次短语翻译为源层次短语的相对频率,根据训练语料中短 语对的计数特征来重新计算一个值来替代原先的计数值,替换公式如下:

cg(s,t)=(c(s,t)+1)nc+1nc,

其中s和t分别代表源层次短语和目标层次短语,c(s,t)是源短语和目标短语共同 出现的次数,nc是所有短语对中出现c次的短语对的个数,cg(s,t)是替换后的数值;

利用Good-Turing平滑技术的正向相对频率p(t|s)计算公式为:

p(t|s)=cg(s,t)Σtcg(s,t)+p(s)*n1,

其中s和t分别代表源端短语和目标端短语,c(s)是源短语s出现的 次数,n1是所有短语对中只出现一次的短语对的个数。

本发明所述抽取词汇化调序模型包括以下步骤:

步骤31,输入的双语对齐语料和对应的词对齐文件,对于双语对齐语料中每一对 双语对齐句对,根据词对齐文件中的词对齐信息,抽取出所有的对齐短语对和对应的 调序规则并输出至文件;

步骤32,根据步骤31的结果,统计各个调序规则出现的总次数;

步骤33,合并相同的短语对,统计各调序规则的出现次数和短语对的出现次数, 根据步骤32的结果,计算短语对各个调序规则的概率,得到词汇化调序模型表。

本发明步骤33包括以下步骤:

计算调序规则概率的公式如下:

p(r)=c(r)+ps(r)Σr(c(r)+ps(r)),

其中r代表调序规则,c(r)是给定短语对中调序规则r出现的次数,ps(r)是该项调 序规则在全局中的得分,计算公式如下:

ps(r)=weight*(cs(r)+0.1)Σrcs(r)

weight表示权重值,取值为0.2,cs(r)是该项调序规则在全局中的出现的次数;

由短语对和对应各个调序规则的概率组成最终的词汇化调序模型表。

实施例

本发明所用的算法全部由Java语言编写实现。实验作为对比的本地抽取程序采用 的机型为:Intel Xeon E7330处理器,主频为2.4G HZ,内存为32G。分布式抽取程序 采用的机器为本校计算机系系统结构组的Hadoop集群服务器。

实验数据准备如下:4690575句中英双语对齐语料和对应的词对齐文件,将三个文 件进行合并,合并后的文件每一行由经过分词后的中文句子、英文句子和中-英词对齐 信息依次组成,中间以制表符分隔,合并后的文件大小1.31G,之后将文件上传至 Hadoop文件服务器HDFS上。

实施例1

本实施例抽取短语表运行如下:

11.输入双语对齐语料和对应的词对齐文件,设置源语言短语最大长度为3,目标语言 短语最大长度为5,设置抽取的短语对中可以有空短语,对于双语对齐语料中每一 对双语对齐句对,根据词对齐文件中的词对齐信息,首先抽取出所有的对齐短语对 并记录其词对齐信息和一次出现次数;接着对相同对齐短语对的信息进行合并,将 出现次数相加,并保存出现次数最多的词对齐信息;合并后结果共有44018003对 短语对。

12.以步骤1的结果作为输入,采用Good-Turing方法进行平滑处理,统计(c,nc)对, 结果输出至文件,结果文件第一行的c和nc的值分别为1和29281322;

13.以步骤1和步骤2的结果作为输入,计算出现次数大于1的对齐短语对的正向和反 向的相对频率即短语互翻译概率,以及词汇化翻译概率,得到短语表,结果文件中 短语对有14736681对。

实施例2

本发明抽取层次短语表运行如下:

21.输入双语对齐语料和对应的词对齐文件,设置源语言短语最大长度为3,目标语言 短语最大长度为5,设置抽取的短语对中可以有空短语,对于双语对齐语料中每一 对双语对齐句对,根据词对齐文件中的词对齐信息,首先抽取出所有的对齐层次短 语对并记录对应词对齐信息和一次出现次数;接着对相同层次短语对的信息进行合 并,将出现次数相加,并保存出现次数最多的词对齐信息;合并后结果共有层次短 语对430252258对。

22.以步骤1的结果作为输入,采用Good-Turing方法进行平滑处理,统计(c,nc)对, 结果输出至文件,结果文件第一行的c和nc的值分别为1和311014575;

23.以步骤1和步骤2的结果作为输入,计算出现次数大于1的对齐层次短语对的正向 和反向的相对频率即层次短语互翻译概率,以及词汇化翻译概率,得到层次短语表, 结果文件中层次短语对有119237683对。

实施例3

本发明抽取词汇化调序模型运行如下:

31.输入的双语对齐语料和对应的词对齐文件,设置源语言短语和目标语言短语的最大 长度为7,设置抽取的短语对中不能有空短语,对于双语对齐语料中每一对双语对 齐句对,根据词对齐文件中的词对齐信息,抽取出所有的对齐短语对和对应的调序 规则并输出至文件,结果文件中未经合并的短语对有228514143对。

32.根据步骤1的结果,统计各个调序规则出现的总次数,其中上方向mono规则出现 次数为150367615,swap规则出现次数为14918685,discontinuous规则出现次数 为63227843;下方向mono规则出现次数为150103117,swap规则出现次数为 15796851,discontinuous规则出现次数为62614175。

33.合并相同的短语对,统计各调序规则的出现次数和短语对的出现次数,设置weight 值为0.2,计算短语对中各个调序规则的概率,得到词汇化调序模型表,结果文件 中共有短语对25875066对。

以上所有步骤均运行在Hadoop并行计算平台上。

本发明的目的是为了节省抽取短语表、层次短语表和词汇化调序模型的时间,为 了验证本发明的有效性,本发明与本地抽取程序进行实验时间对比。

表1所示为分别在本地和Hadoop上进行抽取短语表、层次短语表和词汇化调序模 型的时间对比。

表1实验时间对比

时间(单位:分钟) 本地 Hadoop 短语表 125 35 层次短语表 1018 210 词汇化调序模型 76 19

可以看出,本发明的方法对比以往技术显著地缩短了实验时间,提高实验效率。

本发明提供了一种机器翻译中翻译单元表的抽取方法,具体实现该技术方案的方 法和途径很多,以上所述是本发明的优选实施方式。本发明适用于输入训练数据较大 的情况,如果训练数据过小则集中式抽取方法用时更少。而且在具体实验中,即使是 相同的双语对齐语料,不同的词对齐也会对实验运行时间造成影响。理论上说训练数 据集越大,本发明相比集中式抽取方法节省的时间就越多。应当指出,对于本技术领 域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰, 这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用 现有技术加以实现。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号