CN103488629B - 一种机器翻译中翻译单元表的抽取方法 - Google Patents
一种机器翻译中翻译单元表的抽取方法 Download PDFInfo
- Publication number
- CN103488629B CN103488629B CN201310439927.0A CN201310439927A CN103488629B CN 103488629 B CN103488629 B CN 103488629B CN 201310439927 A CN201310439927 A CN 201310439927A CN 103488629 B CN103488629 B CN 103488629B
- Authority
- CN
- China
- Prior art keywords
- phrase
- alignment
- level
- relative frequency
- translation
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Machine Translation (AREA)
Abstract
本发明提出了一种机器翻译中翻译单元表的抽取方法,本发明运行于Hadoop并行计算平台上,包括以下步骤:根据输入的双语对齐语料和词对齐文件,选择想要抽取的内容,并对相关信息进行合并;根据需要选择是否平滑和平滑方法,进行相应的平滑计数和合并;计算相应概率,输出最终结果文件。对比现有的集中式抽取方法,能大大加快程序运行时间;同时通过在计算概率的过程中可以选择性加入多项平滑技术,能够处理在训练数据集中由于数据稀疏和经验分布带来的过拟合现象,使得其中的概率更符合真实世界的情况,在实际情况中也能提高计算机机器翻译系统的性能。
Description
技术领域
本发明涉及一种计算机统计机器翻译和并行计算领域,特别是一种分布式抽取短语、层次短语表及词汇化调序模型的方法。
背景技术
统计机器翻译自上世纪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和ModifiedKneser-Ney平滑方法(参阅Anempiricalstudyofsmoothingtechniquesforlanguagemodeling,1999,ComputerSpeechandLanguage,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的源短语的数量;对于ModifiedKneser-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和ModifiedKneser-Ney平滑也同样统计(c,nc)对。统计这些量分别需要利用一次MapReduce过程。
对于Kneser-Ney和ModifiedKneser-Ney平滑,在计数的同时要保存相应的短语,这样会导致结果文件过大,如果直接读到内存中将使hadoop集群的开销过大,本方法利用两个MapReduce过程将源短语和目标短语相应的计数合并到步骤11的结果中。
本发明步骤13包括以下步骤:
短语对的正向相对频率为给定源短语翻译为目标短语的相对频率,反向相对频率为给定目标短语翻译为源短语的相对频率。令s表示源短语,t表示目标短语,未使用平滑技术的情况下,对齐短语对的正向相对频率的计算公式如下:
其中c(s,t)是源短语和目标层次短语共同出现的次数,c(s)是源短语的出现次数;
词汇化翻译概率则是将短语对分解成词,假设目标短语t={wt1,wt2,,wti,,wtn},源短语s={WS1,WS2,,WSi,,WSm},其中的wti和WSi是组成短语的词,给定源短语,词汇化翻译概率的计算公式为:
其中a为短语对的词对齐集合。
Good-Turing平滑要根据训练语料的计数特征来重新计算一个值来替代原先的计数值,上式中cg(s,t)的计算公式如下:
其中c(s,t)是短语对共同出现的次数,cg(s,t)是重新估计的数值,nc是所有短语对中出现c次的短语对的个数,直接利用此公式会出现问题:当c过大时,nc+1的值可能为0,从而导致cg为0。为了防止这样的事情,本方法利用线性最小二乘法,设计一个线性方程来拟合(c,nc)对,这样对于所有的c都可以重新计算nc的值。本方法根据实际情况只对出现次数小于或等于1000的短语对的出现次数进行重新估计和拟合。
利用Good-Turing平滑技术后的正向相对频率p(t|s)计算公式为:
其中∑tcg(s,t)代表源短语s固定,目标短语t可变的情况下所有cg(s,t)之和,目标短语t为所有能和源短语s一起被抽取成对齐短语对的短语,满足c(s,t)>0,c(s)是源短语s出现的次数,∑sc(s)是抽取出来的短语对中所有源短语s的出现次数之和,n1是所有短语对中只出现一次的短语对的个数;。
利用Good-Turing平滑技术的对齐短语对的反向相对频率计算公式为:
其中∑scg(s,t)代表目标短语t固定,源短语s可变的情况下所有cg(s,t)之和,源短语s为所有能和目标短语t一起被抽取成对齐短语对的短语,满足c(s,t)>0,c(t)是源短语t出现的次数,∑tc(t)是抽取出来的短语对中所有目标短语t的出现次数之和;本方法中Good-Turing平滑只应用于出现次数不大于1000的短语对,否则利用未加平滑的计算方法。
利用Kneser-Ney平滑的正向相对频率计算公式为:
其中:
利用ModifiedKneser-Ney平滑的正向相对频率计算公式如下:
其中D值随着c(s,t)的变化而变:
当c(s,t)=1时:
当c(s,t)=2时:
当c(s,t)>2时:
计算正向和反向概率需要利用到一个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和ModifiedKneser-Ney平滑。
步骤23,以步骤11和步骤12的结果作为输入,计算层次短语对的正向和反向的相对频率即层次短语互翻译概率,以及词汇化翻译概率,得到层次短语表。
本发明步骤22包括以下步骤:
对于Good-Turing平滑,统计(c,nc)对,其中c是层次短语对的共现次数,nc是所有层次短语对中出现c次的短语对的个数;假设目标层次短语为t,源层次短语为s,对于Kneser-Ney平滑,统计与源层次短语满足共现次数c(s,t)>0的目标层次短语的数量和与目标层次短语满足c(s,t)>0的源层次短语的数量;对于ModifiedKneser-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和ModifiedKneser-Ney平滑也同样统计(c,nc)对。统计这些量分别需要利用一次MapReduce过程。
对于Kneser-Ney和ModifiedKneser-Ney平滑,在计数的同时要保存相应的层次短语,这样会导致结果文件过大,如果直接读到内存中将使hadoop集群的开销过大,本方法利用两个MapReduce过程将源短语和目标短语相应的计数合并到步骤21的结果中。
本发明步骤23包括以下步骤:
层次短语对的正向概率(包括相对频率和词汇化翻译概率)为给定源层次短语翻译为目标层次短语的概率,反向概率为给定目标层次短语翻译为源层次短语的概率,令s表示源层次短语,t表示目标层次短语,未使用平滑技术的情况下,正向相对频率的计算公式如下:
其中c(s,t)是源层次短语和目标层次短语共同出现的次数,c(s)是源层次短语的出现次数;
词汇化翻译概率则是将层次短语对分解成词,假设目标层次短语t={wt1,wt2,,wti,,wtn},源层次短语s={ws1,ws2,,WSi,,WSm},其中的wti和WSi是组成层次短语的词,给定源层次短语,词汇化翻译概率的计算公式为:
其中a为层次短语对的词对齐集合。
Good-Turing平滑要根据训练语料的计数特征来重新计算一个值来替代原先的计数值,上式中cg(s,t)的计算公式如下:
其中c是层次短语对共同出现的次数,cg是重新估计的数值,nc是训练语料中计数c出现的次数,直接利用此公式会出现问题:当c过大时,nc+1的值可能为0,从而导致cg为0。为了防止这样的事情,本方法利用线性最小二乘法,设计一个线性方程来拟合(c,nc)对,这样对于所有的c都可以重新计算nc的值。本方法根据实际情况只对出现次数小于或等于1000的短语对的出现次数进行重新估计和拟合。
利用Good-Turing平滑技术后的层次短语对的正向相对频率p(t|s)计算公式为:
其中∑tcg(s,t)代表源层次短语s固定,目标层次短语t可变的情况下所有cg(s,t)之和,c(s)是源层次短语s出现的次数,∑sc(s)是抽取出来的层次短语对中所有源层次短语的出现次数之和,n1是所有层次短语对中只出现一次的层次短语对的个数。
利用Good-Turing平滑技术的层次短语对的反向相对频率计算公式为:
其中∑scg(s,t)代表目标层次短语t固定,源层次短语s可变的情况下所有cg(s,t)之和,c(t)是源层次短语t出现的次数,∑tc(t)是抽取出来的短语对中所有目标短语的出现次数之和。本方法中Good-Turing平滑只应用于出现次数不大于1000的层次短语对,否则利用未加平滑的计算方法。
利用Kneser-Ney平滑的正向相对频率计算公式为:
其中:
利用ModmedKneser-Ney平滑的正向相对频率计算公式如下:
其中D值随着c(s,t)的变化而变:
当c(s,t)=1时:
当c(s,t)=2时:
当c(s,t)>2时:
计算正向和反向概率需要利用到一个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包括以下步骤:
计算调序规则概率的公式如下:
其中r代表调序规则,c(r)是给定短语对中调序规则r出现的次数,ps(r)是该项调序规则在全局中的得分,计算公式如下:
weight表示权重值,可根据用户需要设定,本方法取值为0.2,cs(r)是该项调序规则在全局中的出现的次数。
最终的词汇化调序模型表由短语对和对应各个调序规则的概率组成,在计算概率的时候分别要计算短语对的上下两个方向的调序规则概率,将对齐语句置于直角坐标系中,从上至下为目标语言句子,从左至右为源语言句子,上方向指当前短语对的紧邻上方,下方向为当前短语对的紧邻下方,一股意义下的调序规则分别是monotone、swap和discontinuous(参阅ASimpleandEffectiveHierarchicalPhraseReorderingModel,2008,Proceedingsofthe2008ConferenceonEmpiricalMethodsinNaturalLanguageProcessing,848-856)。词汇化调序模型结果文件中每一行如下所示:
src|||trg|||p1p2p3p4p5p6
其中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包括以下步骤:
短语对的正向相对频率为给定源短语翻译为目标短语的相对频率,反向相对频率为给定目标短语翻译为源短语的相对频率,根据训练语料中短语对的计数特征来重新计算一个值来替代原先的计数值,替换公式如下:
其中s和t分别代表源端短语和目标端短语,c(s,t)是源短语和目标短语共同出现的次数,nc是所有短语对中出现c次的短语对的个数,cg(s,t)是替换后的数值;
利用Good-Turing平滑技术的正向相对频率p(t|s)计算公式为:
其中c(s)是源短语s出现的次数,n1是所有短语对中只出现一次的短语对的个数。
本发明所述抽取层次短语表包括如下步骤:
步骤21,输入双语对齐语料和对应的词对齐文件,对于双语对齐语料中每一对双语对齐句对,根据词对齐文件中的词对齐信息,首先抽取出所有的对齐层次短语对并记录对应词对齐信息和一次出现次数;接着对相同层次短语对进行合并,即将出现次数相加,并保存出现次数最多的词对齐信息;
步骤22,以步骤11的结果作为输入,采用Good-Turing方法进行平滑处理,统计(c,nc)对,其中c是单个层次短语对的出现次数,nc是所有层次短语对中出现次数为c的层次短语对的个数;
步骤23,以步骤11和步骤12的结果作为输入,计算层次短语对的正向和反向的相对频率即层次短语互翻译概率,以及词汇化翻译概率,得到层次短语表。
本发明步骤23包括以下步骤:
层次短语对的正向相对频率为给定源层次短语翻译为目标层次短语的相对频率,反向相对频率为给定目标层次短语翻译为源层次短语的相对频率,根据训练语料中短语对的计数特征来重新计算一个值来替代原先的计数值,替换公式如下:
其中s和t分别代表源层次短语和目标层次短语,c(s,t)是源短语和目标短语共同出现的次数,nc是所有短语对中出现c次的短语对的个数,cg(s,t)是替换后的数值;
利用Good-Turing平滑技术的正向相对频率p(t|s)计算公式为:
其中s和t分别代表源端短语和目标端短语,c(s)是源短语s出现的次数,n1是所有短语对中只出现一次的短语对的个数。
本发明所述抽取词汇化调序模型包括以下步骤:
步骤31,输入的双语对齐语料和对应的词对齐文件,对于双语对齐语料中每一对双语对齐句对,根据词对齐文件中的词对齐信息,抽取出所有的对齐短语对和对应的调序规则并输出至文件;
步骤32,根据步骤31的结果,统计各个调序规则出现的总次数;
步骤33,合并相同的短语对,统计各调序规则的出现次数和短语对的出现次数,根据步骤32的结果,计算短语对各个调序规则的概率,得到词汇化调序模型表。
本发明步骤33包括以下步骤:
计算调序规则概率的公式如下:
其中r代表调序规则,c(r)是给定短语对中调序规则r出现的次数,ps(r)是该项调序规则在全局中的得分,计算公式如下:
weight表示权重值,取值为0.2,cs(r)是该项调序规则在全局中的出现的次数;
由短语对和对应各个调序规则的概率组成最终的词汇化调序模型表。
实施例
本发明所用的算法全部由Java语言编写实现。实验作为对比的本地抽取程序采用的机型为:IntelXeonE7330处理器,主频为2.4GHZ,内存为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 |
可以看出,本发明的方法对比以往技术显著地缩短了实验时间,提高实验效率。
本发明提供了一种机器翻译中翻译单元表的抽取方法,具体实现该技术方案的方法和途径很多,以上所述是本发明的优选实施方式。本发明适用于输入训练数据较大的情况,如果训练数据过小则集中式抽取方法用时更少。而且在具体实验中,即使是相同的双语对齐语料,不同的词对齐也会对实验运行时间造成影响。理论上说训练数据集越大,本发明相比集中式抽取方法节省的时间就越多。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
Claims (1)
1.一种机器翻译中翻译单元表的抽取方法,其特征在于,利用Hadoop并行计算平台分别抽取短语表、层次短语表以及词汇化调序模型;
所述抽取短语表包括如下步骤:
步骤11,输入双语对齐语料和对应的词对齐文件,对于双语对齐语料中每一对双语对齐句对,根据词对齐文件中的词对齐信息,首先抽取出所有的对齐短语对并记录其词对齐信息和一次出现次数;接着对相同对齐短语对进行合并,即将出现次数相加,并保存出现次数最多的词对齐信息;抽取出的对齐短语对满足词对齐上的相容性,即在原有句子的短语对中一端映射到另一端上的范围不能超过另一端短语的覆盖范围;
步骤12,以步骤11的结果作为输入,采用Good-Turing方法进行平滑处理,统计(c,nc)对,其中c是单个短语对的出现次数,nc是所有短语对中出现次数为c的短语对的个数;
步骤13,以步骤11和步骤12的结果作为输入,计算对齐短语对的正向和反向的相对频率即短语互翻译概率,以及词汇化翻译概率,得到短语表;
步骤13包括以下步骤:
短语对的正向相对频率为给定源短语翻译为目标短语的相对频率,反向相对频率为给定目标短语翻译为源短语的相对频率,根据训练语料中短语对的计数特征来重新计算一个值来替代原先的计数值,替换公式如下:
其中s和t分别代表源端短语和目标端短语,c(s,t)是源短语和目标短语共同出现的次数,nc是所有短语对中出现c次的短语对的个数,cg(s,t)是替换后的数值;
利用Good-Turing平滑技术的对齐短语对的正向相对频率p(t|s)计算公式为:
其中c(s)是源短语s出现的次数,n1是所有短语对中只出现一次的短语对的个数;
利用Good-Turing平滑技术的对齐短语对的反向相对频率计算公式为:
其中c(t)是源短语t出现的次数;
所述抽取层次短语表包括如下步骤:
步骤21,输入双语对齐语料和对应的词对齐文件,对于双语对齐语料中每一对双语对齐句对,根据词对齐文件中的词对齐信息,首先抽取出所有的对齐层次短语对并记录对应词对齐信息和一次出现次数;接着对相同层次短语对进行合并,即将出现次数相加,并保存出现次数最多的词对齐信息;
步骤22,以步骤11的结果作为输入,采用Good-Turing方法进行平滑处理,统计(c,nc)对,其中c是单个层次短语对的出现次数,nc是所有层次短语对中出现次数为c的层次短语对的个数;
步骤23,以步骤11和步骤12的结果作为输入,计算层次短语对的正向和反向的相对频率即层次短语互翻译概率,以及词汇化翻译概率,得到层次短语表;
步骤23包括以下步骤:
层次短语对的正向相对频率为给定源层次短语翻译为目标层次短语的相对频率,层次短语对的反向相对频率为给定目标层次短语翻译为源层次短语的相对频率;
根据训练语料中层次短语对的计数特征来重新计算一个值来替代原先的计数值,替换公式如下:
其中s和t分别代表源层次短语和目标层次短语,c(s,t)是源层次短语和目标层次短语共同出现的次数,nc是所有层次短语对中出现c次的层次短语对的个数,cg(s,t)是替换后的数值;
利用Good-Turing平滑技术的正向相对频率p(t|s)计算公式为:
其中c(s)是源层次短语s出现的次数,n1是所有层次短语对中只出现一次的层次短语对的个数;
利用Good-Turing平滑技术的层次短语对的反向相对频率计算公式为:
其中c(t)是源层次短语t出现的次数;
所述抽取词汇化调序模型包括以下步骤:
步骤31,输入的双语对齐语料和对应的词对齐文件,对于双语对齐语料中每一对双语对齐句对,根据词对齐文件中的词对齐信息,抽取出所有的对齐短语对和对应的调序规则并输出至文件;
步骤32,根据步骤31的结果,统计各个调序规则出现的总次数;
步骤33,合并相同的短语对,统计各调序规则的出现次数和短语对的出现次数,根据步骤32的结果,计算短语对的各个调序规则的概率,得到词汇化调序模型表;
步骤33包括以下步骤:
计算调序规则概率的公式如下:
其中r代表调序规则,c(r)是给定短语对中调序规则r出现的次数,ps(r)是调序规则在全局中的得分,计算公式如下:
weight表示权重值,取值为0.2,cs(r)是该项调序规则在全局中的出现的次数;
由短语对和对应各个调序规则的概率组成最终的词汇化调序模型表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310439927.0A CN103488629B (zh) | 2013-09-24 | 2013-09-24 | 一种机器翻译中翻译单元表的抽取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310439927.0A CN103488629B (zh) | 2013-09-24 | 2013-09-24 | 一种机器翻译中翻译单元表的抽取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103488629A CN103488629A (zh) | 2014-01-01 |
CN103488629B true CN103488629B (zh) | 2016-02-03 |
Family
ID=49828871
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310439927.0A Active CN103488629B (zh) | 2013-09-24 | 2013-09-24 | 一种机器翻译中翻译单元表的抽取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103488629B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105912720B (zh) * | 2016-05-04 | 2019-02-22 | 南京大学 | 一种计算机中涉及情感的文本数据分析方法 |
CN106055543B (zh) * | 2016-05-23 | 2019-04-09 | 南京大学 | 基于Spark的大规模短语翻译模型的训练方法 |
CN107451212A (zh) * | 2017-07-14 | 2017-12-08 | 北京京东尚科信息技术有限公司 | 基于相关搜索的同义挖掘方法和装置 |
CN108829657B (zh) * | 2018-04-17 | 2022-05-03 | 广州视源电子科技股份有限公司 | 平滑处理方法和系统 |
CN111666774B (zh) * | 2020-04-24 | 2022-06-03 | 北京大学 | 基于文档上下文的机器翻译方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763344A (zh) * | 2008-12-25 | 2010-06-30 | 株式会社东芝 | 训练基于短语的翻译模型的方法、机器翻译方法及其装置 |
CN101989261A (zh) * | 2009-08-01 | 2011-03-23 | 中国科学院计算技术研究所 | 统计机器翻译短语抽取方法 |
CN102270196A (zh) * | 2010-06-04 | 2011-12-07 | 中国科学院软件研究所 | 一种机器翻译方法 |
-
2013
- 2013-09-24 CN CN201310439927.0A patent/CN103488629B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101763344A (zh) * | 2008-12-25 | 2010-06-30 | 株式会社东芝 | 训练基于短语的翻译模型的方法、机器翻译方法及其装置 |
CN101989261A (zh) * | 2009-08-01 | 2011-03-23 | 中国科学院计算技术研究所 | 统计机器翻译短语抽取方法 |
CN102270196A (zh) * | 2010-06-04 | 2011-12-07 | 中国科学院软件研究所 | 一种机器翻译方法 |
Non-Patent Citations (3)
Title |
---|
《一种改进的层次短语翻译模型》;刘占一等;《Proceedings of 2010 International Conference on Circuit and Signal Processing & 2010 Second IITA International Joint Conference on Artificial Intelligence(Volume 2)》;20101225;全文 * |
《基于Map-Reduce的自适应双语短语挖掘系统》;李彬等;《昆明学院学报》;20130630;第35卷(第3期);第"2.3分布式双语知识挖掘系统"小节; * |
《基于层 次短语 的统计翻译系统中规则冗余的高效约束方法》;方李成等;《第四届全国学生计算语言学研讨会会议论文集》;20080701;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN103488629A (zh) | 2014-01-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103488629B (zh) | 一种机器翻译中翻译单元表的抽取方法 | |
CN103207856B (zh) | 一种本体概念及层次关系生成方法 | |
US11775594B2 (en) | Method for disambiguating between authors with same name on basis of network representation and semantic representation | |
CN102591988A (zh) | 基于语义图的短文本分类方法 | |
CN105550170A (zh) | 一种中文分词方法及装置 | |
CN111090734B (zh) | 基于层级注意力机制优化机器阅读理解能力的方法和系统 | |
He et al. | Integrating N-best SMT Outputs into a TM System | |
Chen et al. | Semi-supervised feature transformation for dependency parsing | |
Ahrenberg | Alignment | |
Zheng et al. | Long-document cross-lingual summarization | |
CN102681985A (zh) | 一种面向形态丰富语言的翻译方法和系统 | |
Rauf et al. | On the exploration of English to Urdu machine translation | |
Zhang et al. | GSPSummary: a graph-based sub-topic partition algorithm for summarization | |
CN106055543B (zh) | 基于Spark的大规模短语翻译模型的训练方法 | |
Arcan | A comparison of statistical and neural machine translation for Slovene, Serbian and Croatian | |
Qu et al. | Cross-language information extraction and auto evaluation for OOV term translations | |
CN112395856B (zh) | 文本匹配方法、装置、计算机系统及可读存储介质 | |
Daelemans | Michael Carl & Andy Way (eds.): Recent advances in example-based machine translation | |
CN110866407B (zh) | 确定互译文本及文本间相似度分析方法、装置及设备 | |
CN113779200A (zh) | 目标行业词库的生成方法、处理器及装置 | |
Iswarya et al. | Adapting hybrid machine translation techniques for cross-language text retrieval system | |
Zheng et al. | An improved TextRank-based method for chinese text summarization | |
Li et al. | Web document filtering technique based on natural language understanding | |
Yinhan et al. | Calculation of Chinese-Thai Cross-Language Similarity Based on Sentence Embedding | |
Chakrawarti et al. | Phrase-Based Statistical Machine Translation of Hindi Poetries into English |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |