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

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

Info

Publication number
CN106055543A
CN106055543A CN201610346396.4A CN201610346396A CN106055543A CN 106055543 A CN106055543 A CN 106055543A CN 201610346396 A CN201610346396 A CN 201610346396A CN 106055543 A CN106055543 A CN 106055543A
Authority
CN
China
Prior art keywords
phrase
training
word alignment
spark
word
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.)
Granted
Application number
CN201610346396.4A
Other languages
English (en)
Other versions
CN106055543B (zh
Inventor
黄宜华
周娟
顾荣
杨文家
黄书剑
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing University
Original Assignee
Nanjing University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing University filed Critical Nanjing University
Priority to CN201610346396.4A priority Critical patent/CN106055543B/zh
Publication of CN106055543A publication Critical patent/CN106055543A/zh
Application granted granted Critical
Publication of CN106055543B publication Critical patent/CN106055543B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了一种基于Spark的大规模短语翻译模型的训练方法,包括以下步骤:首先采取Spark分布式地调用单机多线程词对齐训练工具MGIZA++的模式,在大规模平行语料库中使用期望最大化算法进行词对齐模型的迭代训练,生成带有词对齐信息的平行语料库;接着使用上一步生成的带有词对齐信息的双语语料数据,在Spark平台上实现了短语翻译模型的并行化训练,最终得到短语表。本发明提出了一种基于Spark的大规模翻译模型的训练方法,解决了现有翻译系统在翻译模型训练中耗时较长、数据扩展性不佳的问题。

Description

基于Spark的大规模短语翻译模型的训练方法
技术领域
本发明属于计算机统计机器翻译和并行计算领域,具体是一种基于Spark的大规模短语翻译模型的训练方法。
背景技术
统计机器翻译自上世纪90年代以来发展十分迅速,取得了很大的进步,逐渐成为机器翻译领域中的研究热点。相对于基于规则的机器翻译系统,统计方法的最大优点在于无需人工编写规则,可以利用语料库直接通过训练得到机器翻译系统。而基于短语或层次短语的统计机器翻译系统可以更好地把握局部上下文的依赖关系,在性能上优于基于词的统计机器翻译方法;相对于基于句法的统计机器翻译,又具有很好的通用性,且搜索空间比较小。
基于短语的统计机器翻译系统的工作过程如下:输入待翻译的句子S,将之切分为n个短语,即S=s1,s2,……sn,接着将每个源短语si翻译成目标语言短语ti,生成目标语言句子T=t1,t2,……tn,最后在所有可能的候选翻译中找出概率最高的句子。与很多其他自然语言处理应用一样,统计翻译系统的翻译质量通常与语料库的大小成正比,即语料库越大,翻译质量越好。然而随着语料库规模的日益增长,传统的基于单机的机器翻译系统越来越难以应对大数据量所导致的计算和存储压力。经典的机器翻译单机训练工具Moses采取了一系列优化措施,如使用诸如前缀树等高效的数据结构减小内存开销,使用外部排序技术来处理计算短语翻译概率是数据规模超出内存上界的情况,使用MGIZA++代替GIZA++进行词对齐训练(MGIZA++在GIZA++的基础上运行多线程技术来加速词对齐模型的训练)。然而,在一台多核的商业机器上,使用Moses在一个百万级别的大规模双语库上训练词对齐模型和翻译模型,仍然需要一周以上的时间。因此,传统的基于单机的方法受限于软硬件资源的不足,已经难以有效应对大规模翻译模型的训练需要。
发明内容
发明目的:针对统计机器翻译中单机的方法受限于软硬件资源的不足,已经难以有效应对大规模翻译模型的训练需要。本发明基于现有的Spark分布式计算框架,该方法使用户可以在交互式或者批处理环境中进行高效的大规模的分布式并行计算,而无需了解底层的并行计算的具体实现细节,解决了现有的大数据处理平台对分布式矩阵运算的性能低,扩展性不好,接口不丰富的问题。
为了实现上述发明目的,本发明的技术方案是:一种基于Spark的大规模短语翻译模型的训练方法,在Spark平台上给定平行语料库,采用分布式调用单机多线程工具MGIZA++的模式进行词对齐训练,进而得到词对齐信息,进行分布式短语翻译模型的训练,包括以下步骤:
(1)利用Spark作为分布式计算执行引擎,使用期望最大化算法总体框架构建大规模词对齐模型,在每个计算节点维护一个Spark的Java虚拟机进程运行时,同时安装单机词对齐训练工具MGIZA++,以便在进行词对齐模型训练时调用;
(2)设置词对齐训练参数,对平行语料库进行分区,使用期望最大化算法对词对齐模型进行迭代训练直到达到指定次数,一般为每个模型迭代3到5次,然后根据训练结果得到语料库的词对齐信息;
(3)使用步骤(2)中输出的带词对齐信息的平行语料库作为输入,进行短语翻译模型的分布式训练,得到短语表。
进一步地,所述步骤(2)的过程具体如下:
1)首先对语料库中的对源语言和目标语言构建词典并编号;使用broadcast将词典分发到每个计算节点,完成语料库编码;对编码后的平行语料库进行分区,采用均匀分割的方式,分成N块数据分区,其中N设为集群中计算节点的数量。
2)设置词对齐模型的训练序列,分别指定IBM模型一、HMM模型、IBM模型三、IBM模型四的迭代次数,例如“1*1*1*H*H*H*3*3*3*4*4*4*”(“1”表示模型一训练,“H”表示HMM模型训练,“3”表示模型三训练,“4”表示模型四训练,“*”表示归一化更新参数);分析词对齐模型的训练序列,为每一次的模型迭代执行一次步骤3)和4),得到最终的模型参数。
3)为每个节点上的数据分区分别调用MGIZA++进行期望最大化算法中E-Step的训练,在每个计算节点维护一个Spark的Java虚拟机进程运行时,每个分区通过Java虚拟机进程直接调用MGIZA++进行词对齐训练,并将训练得到的部分计数写入到HDFS(HadoopDistributed File System,Hadoop分布式文件系统)中。具体过程包括:为每个数据分区构建执行说明书;依次使用parallelize操作、mapPartitionsWithIndex操作以及partitionBy操作,得到一个存储执行说明书的RDD(Resilient Distributed Dataset,弹性分布式数据集),其中各个分区的执行说明书均匀分配给各个计算节点;使用foreachPartition操作分别为每个数据分区调用MGIZA++进行E-Step的训练,训练前首先将执行说明书反序列化,接着根据执行说明书从HDFS中读取输入文件、运行MGIZA++、将输出文件写入HDFS中。
4)从HDFS中读取训练得到的部分计数文件,进行期望最大化算法中的M-Step,对为不同类型的部分计数文件进行最大似然估计,得到新一轮的模型参数,然后将模型参数写入到HDFS中。
5)以步骤2)作为输入,根据最终的模型参数为平行语料库中的每个句对生成最优词对齐,得到带有词对齐信息的平行语料库。
进一步地,所述步骤(3)的过程具体如下:
1)读取步骤(2)中得到的带有词对齐信息的平行语料库,对语料库中每个句对进行词对统计,然后使用最大似然估计方法估计正向和方向的词翻译概率,最终分别得到正向的和反向的词翻译概率表。
2)对平行语料库每个句对进行短语抽取,得到未聚合的短语数据集,数据格式形如(src|||trg|||align,1),其中“src”指源语言短语,“trg”指对应的目标语言短语,“align”为源语言短语和目标语言短语的词对齐关系,“1”表示该短语出现1次,“|||”是间隔符。对每个句对进行抽取短语时首先根据词对齐的句对构建词对齐矩阵,然后根据选定的短语长度,按照特定的匹配策略(一个短语对要满足至少由一个词对齐存在于两个短语之间,并且两个短语之间的所有词对齐不能超过两个短语的范围)搜索符合条件的短语。
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。
4)估计短语翻译概率,通过最大似然估计方法进行估计,正向和反向概率的计算公式分别如下:
p ( f ‾ | e ‾ ) = c o u n t ( f ‾ , e ‾ ) Σ f ‾ c o u n t ( f ‾ , e ‾ )
p ( e ‾ | f ‾ ) = c o u n t ( f ‾ , e ‾ ) Σ e ‾ c o u n t ( f ‾ , e ‾ )
其中指源语言短语,是目标语言短语,表示整个语料库抽取的短语集中对齐的次数。
5)词汇化翻译概率计算。给定一个双语短语对以及短语间的词对齐关系a。a表示源语言短语的词位置i=1,2,3,…,I到目标语言短语的词位置j=1,2,3,…,J之间的词对齐关系,fi表示短语中第i个位置的单词,ej表示中第j个位置的单词,w(fi|ej)和w(ej|fi)分别表示fi和ej的正向的词翻译概率和反向的词翻译概率。分别表示正向词汇化翻译概率和反向词汇化翻译概率,双方向的词汇化翻译概率分别由如下公式计算:
p w ( f ‾ | e ‾ , a ) = Π i = 1 I 1 | { j | ( i , j ) ∈ a } | Σ ∀ ( i , j ) ∈ a w ( f i | e j )
p w ( e ‾ | f ‾ , a ) = Π i = 1 I 1 | { j | ( i , j ) ∈ a } | Σ ∀ ( i , j ) ∈ a w ( e j | f i )
为每个数据中的短语进行上述两个公式的计算,每个分区在计算前,先从HDFS中加载双方向的词翻译概率表(每个节点上只会加载一次参数,节点上的所有分区计算时共享访问参数),然后根据词汇化翻译概率的计算公式计算概率值并返回包括翻译单元、翻译概率以及词汇化翻译概率所有的信息,作为最终训练结果,最后将生成的参数翻译表写入到HDFS。
本发明的有益效果是:(1)通过分布式计算框架Spark对期望最大化算法框架进行并行化,从而方便进行词对齐训练任务。(2)在期望最大化算法E-Step时在每个计算节点调用MGIZA++进行当前节点上数据分区的训练,既可以利用Spark在数据并行化上的优势,提高计算并发度,又可以利用MGIZA++在单机节点上的多线程处理来提高并发度,加快训练过程,很好地解决了在传统的词对齐训练任务中仅使用MGIZA++在计算性能较差的情况,并且可以很好的进行扩展和容错。(3)在期望最大化算法M-Step通过把MGIZA++在每个节点上输出的部分计数文件写到HDFS中,通过分布式最大似然估计算法估计新一轮的模型参数,大大加快了M-Step的训练过程。(4)在得到包含词对齐信息的双语语料文件之后,进行分布式的短语模型的训练,在训练速度相比其他传统的单机短语翻译模型训练方法和现有的分布式短语翻译模型方法均有很大提升。(5)本发明在易用性优于其他的分布式短语翻译模型,传统的机器翻译人员只需要进行简单的陪置,减轻了用户在使用本发明时的学习成本。
附图说明
图1是本发明的整体框架图。
图2是本发明的整体流程图。
图3是词对齐模型的训练流程。
图4是Spark在每个计算节点调用MGIZA++的框架图。
图5是词翻译概率计算的RDD转换图。
图6是短语对抽取的流程。
图7短语对抽取和短语对聚合的RDD转换图。
图8是短语对聚合的应用示例。
图9是短语翻译概率计算过程中的RDD转换图。
图10是词汇化翻译概率计算过程中的RDD转换图。
具体实施方式:
下面结合附图和具体实施例,进一步阐明本发明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读了本发明之后,本领域技术人员对本发明的各种等价形式的修改均落于本申请所附权利要求所限定的范围。
Spark是由是由UC Berkeley AMPLab实验室于2009年发布的分布式内存计算框架,随后在2013年贡献给Apache软件基金会,并与2014年2月份成为Apache顶级项目。RDD(Resilient Distributed Dataset)是Spark中的核心数据结构,它本质上是一种可以基于内存的弹性分布式数据集,允许用户将数据加载至内存后重复地使用,这样的设计适合计算密集型的机器学习算法和交互式查询算法。基于内存计算特点,与Hadoop MapReduce相比,Spark在迭代计算和交互式应用上的性能快10-100倍。用户可以在不了解分布式底层细节的情况下开发分布式程序,充分利用集群进行高速运算和存储。
Spark和HDFS为大数据处理工作提供了优秀的数据存储与运算平台,对于大规模训练语料下的词对齐模型的训练和翻译模型的训练,可以通过编写Spark分布式程序,充分利用多台计算结点来完成该项工作,从而缩短算法训练时间,极大地提高工作效率。
本发明的技术方案主要由两个软件模块和两个模型组成:两个软件中一个是分布式大数据处理系统Spark,另一是单机的词对齐训练工具MGIZA++;两个模型指的是词对齐模型和短语翻译模型。分布式大数据处理系统Spark是Apache基金会的一个开源系统(项目主页http://spark.apache.org/),这个软件不属于本发明内容。单机词对齐训练工具MGIZA++是一个经典的多线程词对齐训练工具,MGIZA++软件本身不属于本发明内容。整个系统框架如图1所示,系统架构图中最上面两层关于词对齐训练和短语翻译模型的训练方法属于该发明内容。
用户在本发明执行大规模短语翻译模型的训练流程如图2所示:用户通过交互式的方式或批处理的方式,指定输入的平行语料库数据;从HDFS中读入语料数据后,进行词对齐模型训练,得到带词对齐的平行语料库;然后以带词对齐的平行语料库作为输入,进行分布式短语翻译模型训练。进一步地,整个技术方案包括以下步骤:
(1)利用Spark作为分布式计算执行引擎,使用期望最大化算法总体框架构建大规模词对齐模型,在每个计算节点维护一个Spark的Java虚拟机进程运行时,同时安装单机词对齐训练工具MGIZA++,以便在进行词对齐模型训练时可以调用。
(2)设置词对齐训练参数,对平行语料库进行分区,使用期望最大化算法对词对齐模型进行迭代训练直到达到指定次数,然后根据训练结果得到语料库的词对齐信息,具体流程如图3所示。
(3)使用步骤(2)作为输入,进行短语翻译模型的分布式训练,得到短语表。
进一步地,所述步骤(2)的过程具体如下:
1)首先对语料库中的对源语言和目标语言构建词典并编号;使用broadcast将词典分发到每个计算节点,完成语料库编码;对编码后的平行语料库进行分区,采用均匀分割的方式,分成N块数据分区,其中N设为集群中计算节点的数量。
2)设置词对齐模型的训练序列,分别指定IBM模型一、HMM模型、IBM模型三、IBM模型四的迭代次数,例如“1*1*1*H*H*H*3*3*3*4*4*4*”(“1”表示模型一训练,“H”表示HMM模型训练,“3”表示模型三训练,“4”表示模型四训练,“*”表示归一化更新参数);分析词对齐模型的训练序列,为每一次的模型迭代执行一次步骤3)和4),得到最终的模型参数。
3)为每个节点上的数据分区分别调用MGIZA++进行期望最大化算法中E-Step的训练,在每个计算节点维护一个Spark的Java虚拟机进程运行时,每个分区通过Java虚拟机进程直接调用MGIZA++进行词对齐训练,并将训练得到的部分计数写入到HDFS中。具体过程包括:为每个数据分区构建执行说明书;依次使用parallelize操作、mapPartitionsWithIndex操作以及partitionBy操作,得到一个存储执行说明书的RDD,其中各个分区的执行说明书均匀分配给各个计算节点;使用foreachPartition操作分别为每个数据分区调用MGIZA++进行E-Step的训练,训练前首先将执行说明书反序列化,接着根据执行说明书从HDFS中读取输入文件、运行MGIZA++、将输出文件写入HDFS中。具体流程如图4所示。
4)从HDFS中读取训练得到的部分计数文件,进行期望最大化算法中的M-Step,对为不同类型的部分计数文件进行最大似然估计,得到新一轮的模型参数,然后将模型参数写入到HDFS中。
5)以步骤2)作为输入,根据最终的模型参数为平行语料库中的每个句对生成最优词对齐,得到带有词对齐信息的平行语料库。
进一步地,所述步骤(3)的过程具体如下:
1)词翻译概率计算需要首先从平行语料库中获取词对计数,然后采用最大似然估计方法估计双方向的概率。整个词翻译概率的计算RDD转换的流程如图5所示。
2)短语抽取与聚合。如图6所示,对单个句对进行短语抽取的整个流程包括如下步骤:首先根据词对齐的句对构建词对齐矩阵,然后根据选定的短语长度,按照特定的匹配策略(一个短语对要满足至少由一个词对齐存在于两个短语之间,并且两个短语之间的所有词对齐不能超过两个短语的范围)搜索符合条件的短语。本发明使用flatMap算子对语料库中每个句对进行并行训练,得到未聚合的短语组成的RDD。在短语翻译模型中,短语对是由互为翻译的m个连续的源语言单词和n个连续的目标语言单词组成的结构,与语言学范畴的短语定义无关。例如,“生活水平|||livelihood|||0-01-0”是从上文的示例句对中抽取出来的由2个连续的中文词和1个英文词构成的短语对。
短语抽取结束后,需要对相同的短语进行聚合。图7中给出了从短语对抽取到短语聚合的整个过程的RDD转换图,短语对聚合的具体步骤为在第1步抽取短语并为抽取出来的每个短语对生成一条key/value结构的记录形如(src|||trg|||align,1),其中src指源语言短语,trg指对应的目标语言短语,align为源语言短语和目标语言短语的词对齐关系;然后第2步进行第一阶段聚合,使用Spark中的reduceByKey操作将所有具有相同源语言短语、目标语言短语且词对齐关系一致的短语对进行合并,并统计出现次数,得到如下键值对(src|||trg|||align,count);第三步对前面得到的每个键值对进行一次map操作,将上一步得到的键值对映射成(src|||trg,align|||count|||count);第四步使用reduceByKey操作中将具有不同词对齐关系的相同短语对进行两两合并,得到新的键值对(src|||trg,align|||maxCount|||totalCount),用totalCount记录两个词对齐关系出现次数的和,用maxCount记录两者中词对齐关系出现次数多的一方的次数,用align记录出现次数多的词对齐关系,依次比较最终得到出现次数最多的词对齐关系align,并同时得到该短语对出现次数的总和totalCount。图8是本发明中采用短语对聚合方法的应用示例。
3)翻译概率估计。短语抽取和聚合完成后,短语翻译概率可以通过最大似然估计进行参数估计。图9中所示短语翻译概率计算的RDD转换图,短语翻译中分从源语言到目标语言和从目标语言到源语言两种,因此计算过程中需要用到两次最大似然估计。
4)词汇化翻译概率计算。图10词汇化翻译概率计算过程中的RDD转换图,使用mapPartition操作为每个分区的短语计算词汇化翻译概率,每个分区在计算前,先从HDFS中加载词翻译概率表(通过静态变量和加锁机制实现一个计算节点上只加载一次参数,供所有分区计算任务共享访问),然后使用map根据词汇化翻译概率的计算公式计算概率值并返回包括翻译单元、翻译概率以及词汇化翻译概率所有的信息,作为最终训练结果,最后将生成的参数翻译表写入到HDFS中。
至此我们便完成了短语翻译模型的训练,为了具体衡量本发明的优势,我们选择Chaski(参阅Training phrase-based machine translation models on the cloud:Opensource machine translation toolkit chaski[J],The Prague Bulletin ofMathematical Linguistics,2010,93:37–46)作为基准进行对比,Chaski是基于Hadoop框架构造的翻译模型训练工具,实验中采用相同的物理环境和实验数据,首先指定训练序列为“1*1*1*1*1*H*H*H*H*H*3*3*3*4*4*4”,得到词对齐训练时间的对比结果如表1所示:
表1Chaski与本发明中词对齐训练时间的比较
接着,为测量本法短语翻译模型训练算法的性能,我们与Chaski中的短语翻译模型训练算法进行对比,设置源语言短语和目标语言短语的最大长度都为5,执行时间如下表2所示:
表2Chaski与本发明中短语翻译模型训练时间的比较

Claims (9)

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的大规模短语翻译模型的训练方法,其特征是:所述分区数为计算节点的数目。
CN201610346396.4A 2016-05-23 2016-05-23 基于Spark的大规模短语翻译模型的训练方法 Active CN106055543B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610346396.4A CN106055543B (zh) 2016-05-23 2016-05-23 基于Spark的大规模短语翻译模型的训练方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610346396.4A CN106055543B (zh) 2016-05-23 2016-05-23 基于Spark的大规模短语翻译模型的训练方法

Publications (2)

Publication Number Publication Date
CN106055543A true CN106055543A (zh) 2016-10-26
CN106055543B CN106055543B (zh) 2019-04-09

Family

ID=57174217

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610346396.4A Active CN106055543B (zh) 2016-05-23 2016-05-23 基于Spark的大规模短语翻译模型的训练方法

Country Status (1)

Country Link
CN (1) CN106055543B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107491444A (zh) * 2017-08-18 2017-12-19 南京大学 基于双语词嵌入技术的并行化词对齐方法
CN111176800A (zh) * 2019-07-05 2020-05-19 腾讯科技(深圳)有限公司 文档主题生成模型的训练方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040155427A1 (en) * 2003-02-10 2004-08-12 Honda Motor Co., Ltd. Supporting structure of stabilizer to vehicle body
CN101308512A (zh) * 2008-06-25 2008-11-19 北京金山软件有限公司 一种基于网页的互译翻译对抽取方法及装置
CN101488126A (zh) * 2008-12-31 2009-07-22 深圳市点通数据有限公司 双语语句对齐方法及装置
CN102509549A (zh) * 2011-09-28 2012-06-20 盛乐信息技术(上海)有限公司 语言模型训练方法及系统
CN103488629A (zh) * 2013-09-24 2014-01-01 南京大学 一种机器翻译中翻译单元表的抽取方法
CN105243099A (zh) * 2015-09-17 2016-01-13 成都优译信息技术有限公司 一种基于翻译文件的大数据实时存储方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040155427A1 (en) * 2003-02-10 2004-08-12 Honda Motor Co., Ltd. Supporting structure of stabilizer to vehicle body
CN101308512A (zh) * 2008-06-25 2008-11-19 北京金山软件有限公司 一种基于网页的互译翻译对抽取方法及装置
CN101488126A (zh) * 2008-12-31 2009-07-22 深圳市点通数据有限公司 双语语句对齐方法及装置
CN102509549A (zh) * 2011-09-28 2012-06-20 盛乐信息技术(上海)有限公司 语言模型训练方法及系统
CN103488629A (zh) * 2013-09-24 2014-01-01 南京大学 一种机器翻译中翻译单元表的抽取方法
CN105243099A (zh) * 2015-09-17 2016-01-13 成都优译信息技术有限公司 一种基于翻译文件的大数据实时存储方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
孙辉丰: ""层次短语翻译模型中翻译规则约束问题的研究"", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107491444A (zh) * 2017-08-18 2017-12-19 南京大学 基于双语词嵌入技术的并行化词对齐方法
CN111176800A (zh) * 2019-07-05 2020-05-19 腾讯科技(深圳)有限公司 文档主题生成模型的训练方法和装置

Also Published As

Publication number Publication date
CN106055543B (zh) 2019-04-09

Similar Documents

Publication Publication Date Title
Eisenschlos et al. MATE: multi-view attention for table transformer efficiency
Wang et al. Peacock: Learning long-tail topic features for industrial applications
US11775594B2 (en) Method for disambiguating between authors with same name on basis of network representation and semantic representation
CN108921188B (zh) 一种基于Spark大数据平台的并行CRF方法
CN106874478A (zh) 基于Spark的并行化随机标签子集多标签文本分类方法
CN104063314A (zh) 一种测试数据自动生成装置及方法
CN109657072A (zh) 一种应用于政府辅助决策的智能搜索web系统及方法
US10706030B2 (en) Utilizing artificial intelligence to integrate data from multiple diverse sources into a data structure
Zhao et al. Synchronously improving multi-user English translation ability by using AI
CN103488629B (zh) 一种机器翻译中翻译单元表的抽取方法
Kilias et al. Idel: In-database entity linking with neural embeddings
CN114036276A (zh) 一种信息抽取方法、装置、设备及存储介质
CN106055543A (zh) 基于Spark的大规模短语翻译模型的训练方法
CN109685103A (zh) 一种基于广义k均值算法的文本多标记学习方法
CN106919565A (zh) 一种基于MapReduce的文档检索方法及系统
CN115600595A (zh) 一种实体关系抽取方法、系统、设备及可读存储介质
Kilias et al. IDEL: In-database neural entity linking
CN102663123B (zh) 基于伪种子属性和随机漫步排序的语义属性自动抽取方法及实现该方法的系统
Battulga et al. Hash-tree PCA: accelerating PCA with hash-based grouping
Yanling et al. Research on Entity Recognition and Knowledge Graph Construction Based on Tcm Medical Records
Zou et al. Design of English Translation Intelligent Recognition System Based on Data Analysis Algorithm
CN117056459B (zh) 一种向量召回方法和装置
CN114238070B (zh) 一种基于语义识别的测试脚本生成方法及系统
Chai et al. Efficient distributed knowledge representation learning for large knowledge graphs
Böhlen et al. Iterations for Propensity Score Matching in MonetDB

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant