基于Spark的大规模短语翻译模型的训练方法

文档序号:10687043阅读:320来源:国知局
基于Spark的大规模短语翻译模型的训练方法
【专利摘要】本发明公开了一种基于Spark的大规模短语翻译模型的训练方法,包括以下步骤:首先采取Spark分布式地调用单机多线程词对齐训练工具MGIZA++的模式,在大规模平行语料库中使用期望最大化算法进行词对齐模型的迭代训练,生成带有词对齐信息的平行语料库;接着使用上一步生成的带有词对齐信息的双语语料数据,在Spark平台上实现了短语翻译模型的并行化训练,最终得到短语表。本发明提出了一种基于Spark的大规模翻译模型的训练方法,解决了现有翻译系统在翻译模型训练中耗时较长、数据扩展性不佳的问题。
【专利说明】
基于Spark的大规模短语翻译模型的训练方法
技术领域
[0001] 本发明属于计算机统计机器翻译和并行计算领域,具体是一种基于Spark的大规 模短语翻译模型的训练方法。
【背景技术】
[0002] 统计机器翻译自上世纪90年代以来发展十分迅速,取得了很大的进步,逐渐成为 机器翻译领域中的研究热点。相对于基于规则的机器翻译系统,统计方法的最大优点在于 无需人工编写规则,可以利用语料库直接通过训练得到机器翻译系统。而基于短语或层次 短语的统计机器翻译系统可以更好地把握局部上下文的依赖关系,在性能上优于基于词的 统计机器翻译方法;相对于基于句法的统计机器翻译,又具有很好的通用性,且搜索空间比 较小。
[0003] 基于短语的统计机器翻译系统的工作过程如下:输入待翻译的句子S,将之切分为 n个短语,即S = S1,s2,……sn,接着将每个源短语Sl翻译成目标语言短语h,生成目标语言句 子Tit^ts,……t n,最后在所有可能的候选翻译中找出概率最高的句子。与很多其他自然 语言处理应用一样,统计翻译系统的翻译质量通常与语料库的大小成正比,即语料库越大, 翻译质量越好。然而随着语料库规模的日益增长,传统的基于单机的机器翻译系统越来越 难以应对大数据量所导致的计算和存储压力。经典的机器翻译单机训练工具Moses采取了 一系列优化措施,如使用诸如前缀树等高效的数据结构减小内存开销,使用外部排序技术 来处理计算短语翻译概率是数据规模超出内存上界的情况,使用MGIZA++代替GIZA++进行 词对齐训练(MGIZA++在GIZA++的基础上运行多线程技术来加速词对齐模型的训练)。然而, 在一台多核的商业机器上,使用Moses在一个百万级别的大规模双语库上训练词对齐模型 和翻译模型,仍然需要一周以上的时间。因此,传统的基于单机的方法受限于软硬件资源的 不足,已经难以有效应对大规模翻译模型的训练需要。

【发明内容】

[0004] 发明目的:针对统计机器翻译中单机的方法受限于软硬件资源的不足,已经难以 有效应对大规模翻译模型的训练需要。本发明基于现有的Spark分布式计算框架,该方法使 用户可以在交互式或者批处理环境中进行高效的大规模的分布式并行计算,而无需了解底 层的并行计算的具体实现细节,解决了现有的大数据处理平台对分布式矩阵运算的性能 低,扩展性不好,接口不丰富的问题。
[0005] 为了实现上述发明目的,本发明的技术方案是:一种基于Spark的大规模短语翻译 模型的训练方法,在Spark平台上给定平行语料库,采用分布式调用单机多线程工具MGIZA+ +的模式进行词对齐训练,进而得到词对齐信息,进行分布式短语翻译模型的训练,包括以 下步骤:
[0006] (1)利用Spark作为分布式计算执行引擎,使用期望最大化算法总体框架构建大规 模词对齐模型,在每个计算节点维护一个Spark的Java虚拟机进程运行时,同时安装单机词 对齐训练工具MGIZA++,以便在进行词对齐模型训练时调用;
[0007] (2)设置词对齐训练参数,对平行语料库进行分区,使用期望最大化算法对词对齐 模型进行迭代训练直到达到指定次数,一般为每个模型迭代3到5次,然后根据训练结果得 到语料库的词对齐信息;
[0008] (3)使用步骤(2)中输出的带词对齐信息的平行语料库作为输入,进行短语翻译模 型的分布式训练,得到短语表。
[0009] 进一步地,所述步骤(2)的过程具体如下:
[0010] 1)首先对语料库中的对源语言和目标语言构建词典并编号;使用broadcast将词 典分发到每个计算节点,完成语料库编码;对编码后的平行语料库进行分区,采用均匀分割 的方式,分成N块数据分区,其中N设为集群中计算节点的数量。
[0011] 2)设置词对齐模型的训练序列,分别指定IBM模型一、HMM模型、IBM模型三、IBM模 型四的迭代次数,例如"1*1*1*H*H*H*3*3*3*4*4*4*"( "1"表示模型一训练,"H"表示HMM模 型训练,"3"表示模型三训练,"4"表示模型四训练,表示归一化更新参数);分析词对齐 模型的训练序列,为每一次的模型迭代执行一次步骤3)和4),得到最终的模型参数。
[0012] 3)为每个节点上的数据分区分别调用MGIZA++进行期望最大化算法中E-Step的训 练,在每个计算节点维护一个Spark的Java虚拟机进程运行时,每个分区通过Java虚拟机进 程直接调用MGIZA++进行词对齐训练,并将训练得到的部分计数写入到HDFS(Had〇〇p Distributed File System,Hadoop分布式文件系统)中。具体过程包括:为每个数据分区构 建执行说明书;依次使用parallelize操作、mapPartitionsWithlndex操作以及 partitionBy操作,得到一个存储执行说明书的RDD(Resilient Distributed Dataset,弹 性分布式数据集),其中各个分区的执行说明书均匀分配给各个计算节点;使用 ;^^3〇11?31'1:;[1:;[011操作分别为每个数据分区调用1?}124++进行£-3丨6口的训练,训练前首先 将执行说明书反序列化,接着根据执行说明书从HDFS中读取输入文件、运行MGIZA++、将输 出文件写入HDFS中。
[0013] 4)从HDFS中读取训练得到的部分计数文件,进行期望最大化算法中的M-Step,对 为不同类型的部分计数文件进行最大似然估计,得到新一轮的模型参数,然后将模型参数 写入到HDFS中。
[0014] 5)以步骤2)作为输入,根据最终的模型参数为平行语料库中的每个句对生成最优 词对齐,得到带有词对齐信息的平行语料库。
[0015] 进一步地,所述步骤(3)的过程具体如下:
[0016] 1)读取步骤(2)中得到的带有词对齐信息的平行语料库,对语料库中每个句对进 行词对统计,然后使用最大似然估计方法估计正向和方向的词翻译概率,最终分别得到正 向的和反向的词翻译概率表。
[0017] 2)对平行语料库每个句对进行短语抽取,得到未聚合的短语数据集,数据格式形 如(src| | |trg| | |align,l),其中"src"指源语言短语,"trg"指对应的目标语言短语, "align"为源语言短语和目标语言短语的词对齐关系,"1"表示该短语出现1次,"| | |"是间 隔符。对每个句对进行抽取短语时首先根据词对齐的句对构建词对齐矩阵,然后根据选定 的短语长度,按照特定的匹配策略(一个短语对要满足至少由一个词对齐存在于两个短语 之间,并且两个短语之间的所有词对齐不能超过两个短语的范围)搜索符合条件的短语。
[0018] 3)以步骤2)为输入,使用两阶段聚合操作完成短语聚合操作。具体过程如下:第一 步进行第一阶段聚合,使用Spark中的reduceByKey操作将所有具有相同源语言短语、目标 语言短语且词对齐关系一致的短语对进行合并,并统计出现次数,得到如下键值对(src| | trg| | |align,count),其中count为短语集中词对齐为align的短语对src| | |trg出现的总 次数;第二步对前面得到的每个键值对进行一次map操作,将上一步得到的键值对映射成 (src| | |trg,align| | |count| | |count);第四步使用reduceByKey操作中将具有不同词对齐 关系的相同短语对进行两两合并,得到新的键值对(src| | |trg,align| | |maxCount| | totalCount),用totalCount记录两个词对齐关系出现次数的和,用maxCount记录两者中词 对齐关系出现次数多的一方的次数,用align记录出现次数多的词对齐关系,依次比较最终 得到出现次数最多的词对齐关系align,并同时得到该短语对出现次数的总和totalCount。
[0019] 4)估计短语翻译概率,通过最大似然估计方法进行估计,正向和反向概率的计算 公式分别如下:
[0022] 其中f指源语言短语4是目标语言短语,count(/_,e_)表示整个语料库抽取的短语 集中f与5对齐的次数。
[0023] 5)词汇化翻译概率计算。给定一个双语短语对厂3以及短语间的词对齐关系表 示源语言短语的词位置i = l,2,3,…,I到目标语言短语的词位置j = l,2,3,…,J之间的词 对齐关系,心表示短语f中第i个位置的单词,幻表示6_中第j个位置的单词,《(心|幻)和w( ej h)分别表示匕和幻的正向的词翻译概率和反向的词翻译概率。plv(/|e_,a)和pvv_(e-|/ _,a)分别 表示正向词汇化翻译概率和反向词汇化翻译概率,双方向的词汇化翻译概率分别由如下公 式计算:
[0026]为每个数据中的短语进行上述两个公式的计算,每个分区在计算前,先从HDFS中 加载双方向的词翻译概率表(每个节点上只会加载一次参数,节点上的所有分区计算时共 享访问参数),然后根据词汇化翻译概率的计算公式计算概率值并返回包括翻译单元、翻译 概率以及词汇化翻译概率所有的信息,作为最终训练结果,最后将生成的参数翻译表写入 到HDFS。
[0027]本发明的有益效果是:(1)通过分布式计算框架Spark对期望最大化算法框架进行 并行化,从而方便进行词对齐训练任务。(2)在期望最大化算法E-Step时在每个计算节点调 用MGIZA++进行当前节点上数据分区的训练,既可以利用Spark在数据并行化上的优势,提 高计算并发度,又可以利用MGIZA++在单机节点上的多线程处理来提高并发度,加快训练过 程,很好地解决了在传统的词对齐训练任务中仅使用MGIZA++在计算性能较差的情况,并且 可以很好的进行扩展和容错。(3)在期望最大化算法M-Step通过把MGIZA++在每个节点上输 出的部分计数文件写到HDFS中,通过分布式最大似然估计算法估计新一轮的模型参数,大 大加快了M-Step的训练过程。(4)在得到包含词对齐信息的双语语料文件之后,进行分布式 的短语模型的训练,在训练速度相比其他传统的单机短语翻译模型训练方法和现有的分布 式短语翻译模型方法均有很大提升。(5)本发明在易用性优于其他的分布式短语翻译模型, 传统的机器翻译人员只需要进行简单的陪置,减轻了用户在使用本发明时的学习成本。
【附图说明】
[0028]图1是本发明的整体框架图。
[0029] 图2是本发明的整体流程图。
[0030] 图3是词对齐模型的训练流程。
[0031]图4是Spark在每个计算节点调用MGIZA++的框架图。
[0032]图5是词翻译概率计算的RDD转换图。
[0033]图6是短语对抽取的流程。
[0034]图7短语对抽取和短语对聚合的RDD转换图。
[0035]图8是短语对聚合的应用示例。
[0036]图9是短语翻译概率计算过程中的RDD转换图。
[0037]图10是词汇化翻译概率计算过程中的RDD转换图。
【具体实施方式】:
[0038] 下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明 本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各 种等价形式的修改均落于本申请所附权利要求所限定的范围。
[0039] Spark是由是由UC Berkeley AMPLab实验室于2009年发布的分布式内存计算框 架,随后在2013年贡献给Apache软件基金会,并与2014年2月份成为Apache顶级项目。RDD (Resilient Distributed Dataset)是Spark中的核心数据结构,它本质上是一种可以基于 内存的弹性分布式数据集,允许用户将数据加载至内存后重复地使用,这样的设计适合计 算密集型的机器学习算法和交互式查询算法。基于内存计算特点,与Hadoop MapReduce相 比,Spark在迭代计算和交互式应用上的性能快10-100倍。用户可以在不了解分布式底层细 节的情况下开发分布式程序,充分利用集群进行高速运算和存储。
[0040] Spark和HDFS为大数据处理工作提供了优秀的数据存储与运算平台,对于大规模 训练语料下的词对齐模型的训练和翻译模型的训练,可以通过编写Spark分布式程序,充分 利用多台计算结点来完成该项工作,从而缩短算法训练时间,极大地提高工作效率。
[0041] 本发明的技术方案主要由两个软件模块和两个模型组成:两个软件中一个是分布 式大数据处理系统Spark,另一是单机的词对齐训练工具MGIZA++;两个模型指的是词对齐 模型和短语翻译模型。分布式大数据处理系统Spark是Apache基金会的一个开源系统(项目 主页http : //spark. apache . org/ ),这个软件不属于本
【发明内容】
。单机词对齐训练工具 MGIZA++是一个经典的多线程词对齐训练工具,MGIZA++软件本身不属于本
【发明内容】
。整个 系统框架如图1所示,系统架构图中最上面两层关于词对齐训练和短语翻译模型的训练方 法属于该
【发明内容】

[0042]用户在本发明执行大规模短语翻译模型的训练流程如图2所示:用户通过交互式 的方式或批处理的方式,指定输入的平行语料库数据;从HDFS中读入语料数据后,进行词对 齐模型训练,得到带词对齐的平行语料库;然后以带词对齐的平行语料库作为输入,进行分 布式短语翻译模型训练。进一步地,整个技术方案包括以下步骤:
[0043] (1)利用Spark作为分布式计算执行引擎,使用期望最大化算法总体框架构建大规 模词对齐模型,在每个计算节点维护一个Spark的Java虚拟机进程运行时,同时安装单机词 对齐训练工具MGIZA++,以便在进行词对齐模型训练时可以调用。
[0044] (2)设置词对齐训练参数,对平行语料库进行分区,使用期望最大化算法对词对齐 模型进行迭代训练直到达到指定次数,然后根据训练结果得到语料库的词对齐信息,具体 流程如图3所示。
[0045] (3)使用步骤(2)作为输入,进行短语翻译模型的分布式训练,得到短语表。
[0046] 进一步地,所述步骤(2)的过程具体如下:
[0047] 1)首先对语料库中的对源语言和目标语言构建词典并编号;使用broadcast将词 典分发到每个计算节点,完成语料库编码;对编码后的平行语料库进行分区,采用均匀分割 的方式,分成N块数据分区,其中N设为集群中计算节点的数量。
[0048] 2)设置词对齐模型的训练序列,分别指定IBM模型一、HMM模型、IBM模型三、IBM模 型四的迭代次数,例如"1*1*1*H*H*H*3*3*3*4*4*4*"( "1"表示模型一训练,"H"表示HMM模 型训练,"3"表示模型三训练,"4"表示模型四训练,表示归一化更新参数);分析词对齐 模型的训练序列,为每一次的模型迭代执行一次步骤3)和4),得到最终的模型参数。
[0049] 3)为每个节点上的数据分区分别调用MGIZA++进行期望最大化算法中E-Step的训 练,在每个计算节点维护一个Spark的Java虚拟机进程运行时,每个分区通过Java虚拟机进 程直接调用MGIZA++进行词对齐训练,并将训练得到的部分计数写入到HDFS中。具体过程包 括:为每个数据分区构建执行说明书;依次使用P a r a 1 1 e 1 i z e操作、 mapPartitionsWithlndex操作以及partitionBy操作,得到一个存储执行说明书的RDD,其 中各个分区的执行说明书均勾分配给各个计算节点;使用for eachPart i t i on操作分别为每 个数据分区调用MGIZA++进行E-Step的训练,训练前首先将执行说明书反序列化,接着根据 执行说明书从HDFS中读取输入文件、运行MGIZA++、将输出文件写入HDFS中。具体流程如图4 所示。
[0050] 4)从HDFS中读取训练得到的部分计数文件,进行期望最大化算法中的M-Step,对 为不同类型的部分计数文件进行最大似然估计,得到新一轮的模型参数,然后将模型参数 写入到HDFS中。
[0051] 5)以步骤2)作为输入,根据最终的模型参数为平行语料库中的每个句对生成最优 词对齐,得到带有词对齐信息的平行语料库。
[0052] 进一步地,所述步骤(3)的过程具体如下:
[0053] 1)词翻译概率计算需要首先从平行语料库中获取词对计数,然后采用最大似然估 计方法估计双方向的概率。整个词翻译概率的计算RDD转换的流程如图5所示。
[0054] 2)短语抽取与聚合。如图6所示,对单个句对进行短语抽取的整个流程包括如下步 骤:首先根据词对齐的句对构建词对齐矩阵,然后根据选定的短语长度,按照特定的匹配策 略(一个短语对要满足至少由一个词对齐存在于两个短语之间,并且两个短语之间的所有 词对齐不能超过两个短语的范围)搜索符合条件的短语。本发明使用flatMap算子对语料库 中每个句对进行并行训练,得到未聚合的短语组成的RDD。在短语翻译模型中,短语对是由 互为翻译的m个连续的源语言单词和n个连续的目标语言单词组成的结构,与语言学范畴的 短语定义无关。例如,"生活水平I I |livelihood| | |〇-〇1-〇"是从上文的示例句对中抽取出 来的由2个连续的中文词和1个英文词构成的短语对。
[0055] 短语抽取结束后,需要对相同的短语进行聚合。图7中给出了从短语对抽取到短语 聚合的整个过程的RDD转换图,短语对聚合的具体步骤为在第1步抽取短语并为抽取出来的 每个短语对生成一条key/value结构的记录形如(src| | |trg| | |align,l),其中src指源语 言短语,trg指对应的目标语言短语,align为源语言短语和目标语言短语的词对齐关系;然 后第2步进行第一阶段聚合,使用Spark中的reduceByKey操作将所有具有相同源语言短语、 目标语言短语且词对齐关系一致的短语对进行合并,并统计出现次数,得到如下键值对 (src| | |trg| | |align,count);第三步对前面得到的每个键值对进行一次map操作,将上一 步得到的键值对映射成(src| | |trg,align| | |count| | |count);第四步使用reduceByKey操 作中将具有不同词对齐关系的相同短语对进行两两合并,得到新的键值对(src| | | trg, align| | |maxCount| | |totalCount),用totalCount记录两个词对齐关系出现次数的和,用 maxCount记录两者中词对齐关系出现次数多的一方的次数,用al i gn记录出现次数多的词 对齐关系,依次比较最终得到出现次数最多的词对齐关系align,并同时得到该短语对出现 次数的总和to ta 1 Count。图8是本发明中采用短语对聚合方法的应用示例。
[0056] 3)翻译概率估计。短语抽取和聚合完成后,短语翻译概率可以通过最大似然估计 进行参数估计。图9中所示短语翻译概率计算的RDD转换图,短语翻译中分从源语言到目标 语言和从目标语言到源语言两种,因此计算过程中需要用到两次最大似然估计。
[0057] 4)词汇化翻译概率计算。图10词汇化翻译概率计算过程中的RDD转换图,使用 11^口?31'1:;[1:;[011操作为每个分区的短语计算词汇化翻译概率,每个分区在计算前,先从110?3 中加载词翻译概率表(通过静态变量和加锁机制实现一个计算节点上只加载一次参数,供 所有分区计算任务共享访问),然后使用map根据词汇化翻译概率的计算公式计算概率值并 返回包括翻译单元、翻译概率以及词汇化翻译概率所有的信息,作为最终训练结果,最后将 生成的参数翻译表写入到HDFS中。
[0058] 至此我们便完成了短语翻译模型的训练,为了具体衡量本发明的优势,我们选择 Chaski(参阅Training phrase-based machine translation models on the cloud:Open source machine translation toolkit chaski[J],The Prague Bulletin of Mathematical Linguistics,2010,93:37-46)作为基准进行对比,Chaski是基于Hadoop框 架构造的翻译模型训练工具,实验中采用相同的物理环境和实验数据,首先指定训练序列 为"1*1*1*1*1*H*H*H*H*H*3*3*3*4*4*4",得到词对齐训练时间的对比结果如表1所示:
[0059] 表1Chaski与本发明中词对齐训练时间的比较
[0061 ]接着,为测量本法短语翻译模型训练算法的性能,我们与Chaski中的短语翻译模 型训练算法进行对比,设置源语言短语和目标语言短语的最大长度都为5,执行时间如下表 2所示:
[0062]表2Chaski与本发明中短语翻译模型训练时间的比较
【主权项】
1. 一种基于Spark的大规模短语翻译模型的训练方法,其特征在于在Spark平台上给定 平行语料库,采用分布式调用单机多线程工具MGIZA++的模式进行词对齐训练,进而得到词 对齐信息,进行分布式短语翻译模型的训练,包括以下步骤: (1) 利用Spark作为分布式计算执行引擎,使用期望最大化算法总体框架构建大规模词 对齐模型,在每个计算节点维护一个Spark的Java虚拟机进程运行时,同时安装单机词对齐 训练工具MGIZA++,以便在进行词对齐模型训练时调用; (2) 设置词对齐训练参数,对平行语料库进行分区,使用期望最大化算法对词对齐模型 进行迭代训练直到达到指定次数,然后根据训练结果得到语料库的词对齐信息; (3) 使用带有词对齐信息的平行语料库作为输入,进行短语翻译模型的分布式训练,得 到短语表。2. 根据权利要求1所述的基于Spark的大规模短语翻译模型的训练方法,其特征是:所 述步骤(2)中包含以下步骤: 1) 首先对语料库中的对源语言和目标语言构建词典并编号;使用broadcast将词典分 发到每个计算节点,完成语料库编码;对编码后的平行语料库进行分区,采用均匀分割的方 式,分成N块数据分区,其中N设为集群中计算节点的数量; 2) 设置词对齐模型的训练序列,指定模型训练的顺序和相应的迭代次数;分析词对齐 模型的训练序列,为每一次的模型迭代执行一次步骤3)和4),得到最终的模型参数; 3) 为每个节点上的数据分区分别调用MGIZA++进行期望最大化算法中E-Step的训练, 在每个计算节点维护一个Spark的Java虚拟机进程运行时,每个分区通过Java虚拟机进程 直接调用MGIZA++进行词对齐训练,并将训练得到的部分计数文件写入到HDFS中; 4) 从HDFS中读取训练得到的部分计数文件,进行期望最大化算法中的M-Step,对为不 同类型的部分计数文件进行最大似然估计,得到新一轮的模型参数,然后将模型参数写入 到HDFS中; 5) 以步骤2)中训练得到的最终的模型参数作为输入,为平行语料库中的每个句对生成 最优词对齐,得到带有词对齐信息的平行语料库。3. 根据权利要求2所述的基于Spark的大规模短语翻译模型的训练方法,其特征是:所 述步骤3)中包含以下步骤: ① 为每个数据分区构建执行说明书,包括设置调用特定模型的可执行文件、设置调用 MGIZA++执行时配置文件、设置本轮输入文件以及本轮输出文件,最后生成一个序列化的执 行说明书; ② 使用所述序列化的执行说明书作为输入,指定分区数,得到一个存储执行说明书的 弹性分布式数据集,所述弹性分布式数据集以HashPartitioner分区,其中各个分区的执行 说明书均匀分配给各个计算节点; ③ 以执行说明书作为输入,分别为每个数据分区调用MGIZA++进行E-Step的训练,训练 前首先将执行说明书反序列化,接着根据执行说明书从HDFS中读取输入文件、运行MGIZA+ +、将输出文件写入HDFS中。4. 根据权利要求1所述的基于Spark的大规模短语翻译模型的训练方法,其特征是:所 述步骤(3)中包含以下步骤: a)以带词对齐信息的平行语料库作为输入,使用最大似然估计方法计算双方向的词翻 译概率表; b)以带词对齐信息的平行语料库作为输入,对语料库中的每个句对并行地进行短语抽 取,首先根据词对齐的句对构建词对齐矩阵,接着根据选定的短语长度,按照特定的匹配策 搜索符合条件的短语; C)以所述步骤b)抽取出的短语集作为输入,采用两步聚合操作,第一步聚合操作将词 对齐相同的短语进行聚合,第二步聚合操作聚合词对齐不同但是短语相同的短语,并保留 出现次数最多的词对齐; d) 以聚合后的短语集作为输入,采用最大似然估计方法计算短语翻译概率; e) 以步骤d)中计算了短语翻译概率的短语集作为输入,计算短语的词汇化翻译概率, 得到短语表。5. 根据权利要求4所述的基于Spark的大规模短语翻译模型的训练方法,其特征是:所 述特定的匹配策略为:一个短语对要满足至少有一个词对齐存在于两个短语之间,并且两 个短语之间的所有词对齐不能超过两个短语的范围。6. 根据权利要求4所述的基于Spark的大规模短语翻译模型的训练方法,其特征是:所 述步骤e)中包含以下步骤:为每个数据分区内的短语计算词汇化翻译概率,每个分区在计 算前,使用基于HDFS的参数加载策略加载词翻译概率表,然后访问词翻译概率表并计算概 率值,最后返回短语表并将所述短语表写入HDFS中,所述短语表中包括短语对、短语翻译概 率以及词汇化翻译概率信息。7. 根据权利要求6所述的基于Spark的大规模短语翻译模型的训练方法,其特征是:所 述基于HDFS的参数加载策略为:每个计算节点上的计算任务在为数据分区计算词汇化翻译 前,从HDFS中载入词翻译概率表,通过使用静态变量和加锁机制保证一个计算节点上只加 载一次词翻译概率表,供多个计算任务共享访问。8. 根据权利要求1所述的基于Spark的大规模短语翻译模型的训练方法,其特征是:所 述指定次数为3至5次。9. 根据权利要求3所述的基于Spark的大规模短语翻译模型的训练方法,其特征是:所 述分区数为计算节点的数目。
【文档编号】G06F17/30GK106055543SQ201610346396
【公开日】2016年10月26日
【申请日】2016年5月23日
【发明人】黄宜华, 周娟, 顾荣, 杨文家, 黄书剑
【申请人】南京大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1