CN102567312A - 一种基于分布式并行计算框架的机器翻译方法 - Google Patents
一种基于分布式并行计算框架的机器翻译方法 Download PDFInfo
- Publication number
- CN102567312A CN102567312A CN2011104532780A CN201110453278A CN102567312A CN 102567312 A CN102567312 A CN 102567312A CN 2011104532780 A CN2011104532780 A CN 2011104532780A CN 201110453278 A CN201110453278 A CN 201110453278A CN 102567312 A CN102567312 A CN 102567312A
- Authority
- CN
- China
- Prior art keywords
- translation
- file
- machine translation
- data
- node
- 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.)
- Pending
Links
Images
Landscapes
- Machine Translation (AREA)
Abstract
本发明涉及一种基于分布式并行计算框架的机器翻译方法,首先在机群上部署分布式计算环境,并在每个数据节点都部属机器翻译引擎;将需要翻译的语言信息经过预处理后分块存储在分布式文件系统中,然后启动多个任务进行分布式并行翻译,并将翻译之后的结果进行汇总,形成最终翻译之后的文档。本发明通过采用分布式并行计算框架实现了翻译任务的并行执行,大大提高了翻译系统的翻译效率,并具有良好的可扩展性。
Description
技术领域
本发明涉及一种机器翻译方法,特别涉及一种基于MapReduce分布式并行计算框架的海量语言机器翻译方法,属于云计算与机器翻译领域。
背景技术
机器翻译是将一种自然语言翻译为另一种自然语言的自动翻译技术。机器翻译系统按照用户不同可以分为两种:面向大型用户和应用系统的高性能机器翻译系统和面向普通用户的普及型翻译系统。高性能翻译系统对翻译质量、翻译速度、并发处理能力具有很高要求。由于机器翻译是一项需要大量计算的自然语言处理过程,不仅需要复杂的数据支撑,而且需要高强度的自动推理和统计计算,而目前的翻译系统主要采用集中式单机版,处理大数据量的翻译任务往往需要数小时甚至数天时间,这对于企业应用来说是无法接受的,因此翻译性能不足已成为制约高性能机器翻译系统发展的瓶颈之一。
MapReduce是Google提出的一种实现分布式并行计算的编程模型,它让程序员只需要关注数据的处理,而不用关心数据的分布式存储、任务调度、容错等复杂的分布式计算问题。此外该编程模型具有良好的可扩展性,可以在动态调整的集群上进行海量数据处理任务。MapReduce编程模型将计算过程分为Map阶段和Reduce阶段。数据被切分为不同大小的分块,采用<Key,Value>的形式在集群中分布式存储。集群中的每个节点都有一些Map和Reduce任务。Map任务将输入的<Key,Value>进行处理,然后生成另外一些<Key,Value>。Reduce任务将具有相同Key的<Key,Value>数据进行集中处理。MapReduce就是通过这种简单的模型来处理海量数据。本发明中主要采用MapReduce的开源实现Hadoop。Hadoop是由Apache组织开发的开源分布式计算环境,其主要包含MapReduce和HDFS两个子项目。MapReduce子项目实现了Google提出的MapReduce分布式并行计算框架,HDFS子项目实现了一个在集群上运行的分布式文件系统。
高性能机器翻译系统,尤其是基于规则的机器翻译系统解决海量数据机器翻译的方法主要是通过使用高性能服务器。这种解决方案主要具有以下不足:一、翻译系统处理并发访问的能力较弱。当需要翻译的任务较多时,单台高性能服务器处理并发访问的能力将成为整个翻译系统的瓶颈。二、翻译系统可扩展性较差。由于翻译引擎是部署在单台高性能服务器上,很难对系统进行扩展,即使可以通过配置添加多台服务器进行集群化机器翻译,该过程也多为手动,并且将要面临节点失效、任务同步等问题。
发明内容
有鉴于此,本发明的主要目的是为高性能机器翻译应用提供一种便于管理和扩展的集群化解决方法,通过采用MapReduce分布式并行计算框架实现海量语言机器翻译。
本发明的基本原理是将需要翻译的语言信息分块存储在分布式文件系统中,然后启动多个任务进行分布式并行翻译,并将翻译之后的结果进行汇总,形成最终翻译之后的文档。
本发明的目的是通过以下技术方案实现的:
一种基于分布式并行计算框架的机器翻译方法,包括以下步骤:
第一步:在机群上部署Hadoop分布式计算环境,其中一台为调度节点即名字节点,其余为计算节点即数据节点,然后在每个计算节点上都部署机器翻译引擎;
第二步:设定HDFS分布式文件系统的数据分块大小;
第三步:对于输入的海量语言信息进行预处理,将待翻译信息按照文档、段落、句子进行编号;将预处理后的待翻译文档以Hadoop特有文件格式HAR进行文件聚合,将大量小文件聚合为大文件,然后提交给MapReduce集群计算系统中的调度节点;
第四步:调度节点根据设定的数据块大小对聚合文件中的数据进行划分,如果分割点位于一个句子中间,则将整个句子置于之前或之后的数据划分中;将文档、段落、句子的编号组合为Key,将待翻译的文本内容作为Value进行保存;
第五步:调度节点为每一个数据划分创建一个Map任务,动态的分配到各计算节点;
第六步:各Map任务在运行过程中,将相应的数据块提交到部署在其所在计算节点上的机器翻译系统中,并得到该部分数据的翻译结果;
第七步:Reduce任务把各Map任务的翻译结果从计算节点的本地磁盘拷贝到分布式文件系统中;
第八步:将Map任务运算之后的结果按照Key值进行整体排序;
第九步:所有的拷贝工作都结束后,Reduce任务即将所有的Map任务运算结果聚合为结果文件;
第十步:根据聚合时的标记以及运算结果的Key值,将翻译后的聚合文件进行分解,生成相应文档的翻译结果。
本发明提出的基于MapReduce分布式并行计算框架的机器翻译方法,具有以下优点:
(1)本发明提出的高性能机器翻译方法通过采用分布式并行计算框架MapReduce实现了翻译任务的并行执行,大大提高了翻译系统的翻译效率;
(2)本发明提出机器翻译方法具有良好的可扩展性,随着海量信息机器翻译需求变化,可以很方便的增加或者减少翻译系统中计算节点的数量。
(3)本发明提出的机器翻译方法具有较好的并发处理能力,由于翻译任务被均衡的分配到整个翻译机群上进行,可以同时有多个并发任务运行,并且调度节点会根据节点任务情况进行负载均衡调度。
附图说明
图1是本发明的机器翻译方法的整体框架示意图。
图2是本发明的Map过程算法流程图。
图3是本发明的Reduce过程的算法流程图。
具体实施方式
本发明所提出的基于MapReduce分布式并行计算框架的机器翻译方法,其总体流程图如图1所示。其基本思路是搭建一个由若干台计算机组成的计算集群,在集群中部署Hadoop平台,在每个计算节点上部署一个机器翻译系统。调度节点根据输入数据的规模将数据进行划分,为每一个划分创建一个Map任务,Map任务被动态的分配到各计算节点上进行运行。Map任务访问本机上的机器翻译系统,并得到翻译结果。Reduce任务将所有的翻译结果进行汇总,得到最终结果。以下步骤说明了一个由四个节点组成的翻译系统的实施方法:
第一步:搭建Hadoop平台。假设搭建由四台计算机组成的MapReduce翻译系统。其中一台作为服务器节点负责作业的控制调度,其余三台作为数据节点进行具体的翻译计算,三个数据节点的名称依次为:datanode1,datanode2,datanode3。为这四个节点安装Linux系统,然后下载最新的Hadoop安装文件,根据Hadoop安装文档安装配置Hadoop平台;
通过修改HDFS的配置文件mapred-default.xml中的dfs.block.size属性设定HDFS分布式文件系统的数据分块大小;在Hadoop系统中,Map任务的数量=文件大小/数据块大小,所以数据块规模将直接影响Map任务的数量。在Hadoop系统的默认设置中,数据块大小为64MB,这对于其他海量数据信息处理来说是合理的,但是对于机器翻译应用来说,1MB的文档中将包含超过10万个单词,因此如果按照64MB进行分块,每个Map任务的计算时间将会很长,并行程度不高,因此应将数据分块的大小减小。对于机器翻译应用来说,数据分块大小设定在10KB至1MB之间。经过实验验证,数据分块为45KB时,系统会得到较好的运算效率。
第二步:在三个计算节点上部署机器翻译系统,在本实施例中采用了华建集团的翻译引擎;
第三步:设置好相关信息后,运行Hadoop;
a)由于Hadoop主要用于处理海量数据,如果用于处理大量小文件,性能会受到很大影响。所以首先将待翻译文件进行预处理,将待翻译信息按照文档、段落、句子进行编号,然后通过Hadoop自带工具hadoop archive将预处理后的文件聚合为HAR文件,并将聚合后的HAR文件作为参数输入到调度节点;
b)调度节点将文件中的数据按照数据分块进行划分,为每个划分创建一个Map任务;
c)Map任务被动态的分配到不同的计算节点上;
Map任务槽数为在一个节点可同时运行的Map任务数,这个参数的取值并非越大越好,当一台机器上同时运行的Map任务数过多时,会导致运算性能下降。经实验验证,槽数为8时,翻译系统会获得最好的翻译效率。
d)在Map函数内部,从划分的数据中读取预处理之后的<Key,Value>数据,将Value值代表的待翻译信息通过程序接口发送给本节点上的机器翻译引擎;
由于本实例中具体使用的机器翻译系统类型的缘故,Map任务是通过通过程序接口访问机器翻译引擎,每次向翻译引擎传送的翻译数据量会影响计算效率。应该让翻译数据尽量平均的分布在整个集群上,因此每次向翻译引擎传送的数据量不能太大,但是也不能太小,经实验测得,约1.5K/次的数据传送率可以得到较好的计算效率;
e)翻译引擎经过计算,得到翻译结果,将翻译结果返回给Map任务,Map任务将返回的翻译结果做为新的Value值,生成新的<Key,Value>中间结果;
f)随着Map任务的进行,控制节点启动一定数量的Reduce任务,Reduce任务将各个Map任务的翻译结果从本地磁盘拷贝到分布式文件系统中;
g)所有的拷贝工作都结束后,Reduce任务即将所有的翻译结果,按Key值进行排序整理,得到已完成翻译的聚合文件;
h)控制程序将聚合文件进行拆分,按照Key值和记录的原始文件信息生成与输入文档对应的翻译结果文档。
应该理解的是,本实施方式只是本发明实施的具体实例,不应该是本发明保护范围的限制。在不脱离本发明的精神与范围的情况下,对上述内容进行等效的修改或变更均应包含在本发明所要求保护的范围之内。
Claims (5)
1.一种基于分布式并行计算框架的机器翻译方法,包括以下步骤:
第一步:在机群上部署Hadoop分布式计算环境,其中一台为调度节点即名字节点,其余为计算节点即数据节点,然后在每个计算节点上都部署机器翻译引擎;
第二步:设定HDFS分布式文件系统的数据分块大小;
第三步:对于输入的海量语言信息进行预处理,将待翻译信息按照文档、段落、句子进行编号;将预处理后的待翻译文档以Hadoop特有文件格式HAR进行文件聚合,将大量小文件聚合为大文件,然后提交给MapReduce集群计算系统中的调度节点;
第四步:调度节点根据设定的数据块大小对聚合文件中的数据进行划分,如果分割点位于一个句子中间,则将整个句子置于之前或之后的数据划分中;将文档、段落、句子的编号组合为Key,将待翻译的文本内容作为Value进行保存;
第五步:调度节点为每一个数据划分创建一个Map任务,动态的分配到各计算节点;
第六步:各Map任务在运行过程中,将相应的数据块提交到部署在其所在计算节点上的机器翻译系统中,并得到该部分数据的翻译结果;
第七步:Reduce任务把各Map任务的翻译结果从计算节点的本地磁盘拷贝到分布式文件系统中;
第八步:将Map任务运算之后的结果按照Key值进行整体排序;
第九步:所有的拷贝工作都结束后,Reduee任务即将所有的Map任务运算结果聚合为结果文件;
第十步:根据聚合时的标记以及运算结果的Key值,将翻译后的聚合文件进行分解,生成相应文档的翻译结果。
2.根据权利要求1所述的一种基于分布式并行计算框架的机器翻译方法,其特征在于,第二步中所述数据分块大小设定在10KB至1MB之间。
3.根据权利要求2所述的一种基于分布式并行计算框架的机器翻译方法,其特征在于,第二步中所述数据分块大小为45KB。
4.根据权利要求1或2或3所述的一种基于分布式并行计算框架的机器翻译方法,其特征在于,在一个节点可同时运行的Map任务数即Map任务槽数为8。
5.根据权利要求1或2或3所述的一种基于分布式并行计算框架的机器翻译方法,其特征在于,第六步中Map任务向机器翻译系统传送翻译数据的数据传送率为1.5K/次。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104532780A CN102567312A (zh) | 2011-12-30 | 2011-12-30 | 一种基于分布式并行计算框架的机器翻译方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104532780A CN102567312A (zh) | 2011-12-30 | 2011-12-30 | 一种基于分布式并行计算框架的机器翻译方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN102567312A true CN102567312A (zh) | 2012-07-11 |
Family
ID=46412753
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104532780A Pending CN102567312A (zh) | 2011-12-30 | 2011-12-30 | 一种基于分布式并行计算框架的机器翻译方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102567312A (zh) |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103713942A (zh) * | 2012-09-28 | 2014-04-09 | 腾讯科技(深圳)有限公司 | 在集群中调度运行分布式计算框架的方法和系统 |
WO2014166446A1 (zh) * | 2013-07-10 | 2014-10-16 | 中兴通讯股份有限公司 | 文件访问处理方法、系统及计算机存储介质 |
CN104462073A (zh) * | 2014-12-26 | 2015-03-25 | 武汉传神信息技术有限公司 | 文档协同翻译的处理方法和系统 |
CN105159891A (zh) * | 2015-08-05 | 2015-12-16 | 焦点科技股份有限公司 | 一种构建多语言网站实时翻译的方法 |
WO2016119276A1 (zh) * | 2015-01-30 | 2016-08-04 | 深圳市华傲数据技术有限公司 | 基于Hadoop框架的大规模对象识别方法 |
CN106156010A (zh) * | 2015-04-20 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 翻译训练方法、装置、系统、以及在线翻译方法及装置 |
WO2016206564A1 (zh) * | 2015-06-26 | 2016-12-29 | 阿里巴巴集团控股有限公司 | 作业调度方法、装置及分布式系统 |
CN106446688A (zh) * | 2016-11-09 | 2017-02-22 | 中国科学院软件研究所 | 一种基于dcr的动态漏洞挖掘方法及系统 |
CN107515860A (zh) * | 2017-08-07 | 2017-12-26 | 中译语通科技(青岛)有限公司 | 一种基于神经元的机器翻译方法 |
CN108664331A (zh) * | 2018-05-22 | 2018-10-16 | 腾讯大地通途(北京)科技有限公司 | 分布式数据处理方法及装置、电子设备、存储介质 |
CN108874738A (zh) * | 2018-06-05 | 2018-11-23 | 中国平安人寿保险股份有限公司 | 分布式并行运算方法、装置、计算机设备及存储介质 |
CN109359305A (zh) * | 2018-09-05 | 2019-02-19 | 盛云未来(北京)科技有限公司 | 一种多语言同声互译的方法和设备 |
US10334028B2 (en) * | 2016-04-11 | 2019-06-25 | Fujitsu Limited | Apparatus and method for processing data |
CN110222105A (zh) * | 2019-05-14 | 2019-09-10 | 联动优势科技有限公司 | 数据汇总处理方法及装置 |
CN110852118A (zh) * | 2019-11-08 | 2020-02-28 | 北京中献电子技术开发有限公司 | 分布式机器翻译方法及系统 |
CN111158887A (zh) * | 2019-12-31 | 2020-05-15 | 中国银行股份有限公司 | 一种集中式数据分布式处理方法及装置 |
CN117370400A (zh) * | 2023-12-05 | 2024-01-09 | 民航成都信息技术有限公司 | 航空数据的加工聚合处理方法、装置、电子设备及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080098370A1 (en) * | 2006-10-20 | 2008-04-24 | Marcus Felipe Fontoura | Formal Language and Translator for Parallel Processing of Data |
CN102209087A (zh) * | 2010-03-31 | 2011-10-05 | 国际商业机器公司 | 在具有存储网络的数据中心进行MapReduce数据传输的方法和系统 |
-
2011
- 2011-12-30 CN CN2011104532780A patent/CN102567312A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080098370A1 (en) * | 2006-10-20 | 2008-04-24 | Marcus Felipe Fontoura | Formal Language and Translator for Parallel Processing of Data |
CN102209087A (zh) * | 2010-03-31 | 2011-10-05 | 国际商业机器公司 | 在具有存储网络的数据中心进行MapReduce数据传输的方法和系统 |
Non-Patent Citations (2)
Title |
---|
JIMMY LIN等: "Low-Latency, High-Throughput Access to Static Global Resources within the Hadoop Framework", 《TECH REPORT HCIL》 * |
郭本俊等: "基于MPI的云计算模型", 《计算机工程》 * |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103713942B (zh) * | 2012-09-28 | 2018-01-05 | 腾讯科技(深圳)有限公司 | 在集群中调度运行分布式计算框架的方法和系统 |
CN103713942A (zh) * | 2012-09-28 | 2014-04-09 | 腾讯科技(深圳)有限公司 | 在集群中调度运行分布式计算框架的方法和系统 |
WO2014166446A1 (zh) * | 2013-07-10 | 2014-10-16 | 中兴通讯股份有限公司 | 文件访问处理方法、系统及计算机存储介质 |
CN104281414A (zh) * | 2013-07-10 | 2015-01-14 | 中兴通讯股份有限公司 | 分布式文件系统及其小文件访问方法 |
CN104281414B (zh) * | 2013-07-10 | 2018-07-06 | 南京中兴软件有限责任公司 | 分布式文件系统及其小文件访问方法 |
CN104462073A (zh) * | 2014-12-26 | 2015-03-25 | 武汉传神信息技术有限公司 | 文档协同翻译的处理方法和系统 |
WO2016119276A1 (zh) * | 2015-01-30 | 2016-08-04 | 深圳市华傲数据技术有限公司 | 基于Hadoop框架的大规模对象识别方法 |
CN106156010A (zh) * | 2015-04-20 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 翻译训练方法、装置、系统、以及在线翻译方法及装置 |
US10521268B2 (en) | 2015-06-26 | 2019-12-31 | Alibaba Group Holding Limited | Job scheduling method, device, and distributed system |
WO2016206564A1 (zh) * | 2015-06-26 | 2016-12-29 | 阿里巴巴集团控股有限公司 | 作业调度方法、装置及分布式系统 |
CN105159891A (zh) * | 2015-08-05 | 2015-12-16 | 焦点科技股份有限公司 | 一种构建多语言网站实时翻译的方法 |
CN105159891B (zh) * | 2015-08-05 | 2018-05-04 | 焦点科技股份有限公司 | 一种构建多语言网站实时翻译的方法 |
US10334028B2 (en) * | 2016-04-11 | 2019-06-25 | Fujitsu Limited | Apparatus and method for processing data |
CN106446688A (zh) * | 2016-11-09 | 2017-02-22 | 中国科学院软件研究所 | 一种基于dcr的动态漏洞挖掘方法及系统 |
CN107515860A (zh) * | 2017-08-07 | 2017-12-26 | 中译语通科技(青岛)有限公司 | 一种基于神经元的机器翻译方法 |
CN108664331A (zh) * | 2018-05-22 | 2018-10-16 | 腾讯大地通途(北京)科技有限公司 | 分布式数据处理方法及装置、电子设备、存储介质 |
CN108874738A (zh) * | 2018-06-05 | 2018-11-23 | 中国平安人寿保险股份有限公司 | 分布式并行运算方法、装置、计算机设备及存储介质 |
CN109359305A (zh) * | 2018-09-05 | 2019-02-19 | 盛云未来(北京)科技有限公司 | 一种多语言同声互译的方法和设备 |
CN110222105A (zh) * | 2019-05-14 | 2019-09-10 | 联动优势科技有限公司 | 数据汇总处理方法及装置 |
CN110852118A (zh) * | 2019-11-08 | 2020-02-28 | 北京中献电子技术开发有限公司 | 分布式机器翻译方法及系统 |
CN111158887A (zh) * | 2019-12-31 | 2020-05-15 | 中国银行股份有限公司 | 一种集中式数据分布式处理方法及装置 |
CN111158887B (zh) * | 2019-12-31 | 2023-11-17 | 中国银行股份有限公司 | 一种集中式数据分布式处理方法及装置 |
CN117370400A (zh) * | 2023-12-05 | 2024-01-09 | 民航成都信息技术有限公司 | 航空数据的加工聚合处理方法、装置、电子设备及介质 |
CN117370400B (zh) * | 2023-12-05 | 2024-02-13 | 民航成都信息技术有限公司 | 航空数据的加工聚合处理方法、装置、电子设备及介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102567312A (zh) | 一种基于分布式并行计算框架的机器翻译方法 | |
US9740706B2 (en) | Management of intermediate data spills during the shuffle phase of a map-reduce job | |
Hu et al. | Flutter: Scheduling tasks closer to data across geo-distributed datacenters | |
Li | Scaling distributed machine learning with system and algorithm co-design | |
CN103246749B (zh) | 面向分布式计算的矩阵数据库系统及其查询方法 | |
CN108388474A (zh) | 基于dag的智能分布式计算管理系统及方法 | |
Wang et al. | Research and implementation on spatial data storage and operation based on Hadoop platform | |
CN105930479A (zh) | 一种数据倾斜处理方法及装置 | |
Zalipynis | Chronosdb: distributed, file based, geospatial array dbms | |
Babar et al. | An optimized IoT-enabled big data analytics architecture for edge–cloud computing | |
Elsayed et al. | Mapreduce: State-of-the-art and research directions | |
CN104036029A (zh) | 大数据一致性对比方法和系统 | |
Silva et al. | Integrating big data into the computing curricula | |
US20130173229A1 (en) | Computer aided modeling | |
KR102001409B1 (ko) | 호스팅된 분석계를 위한 동적 n-차원 큐브 | |
CN109669987A (zh) | 一种大数据存储优化方法 | |
CN105335135B (zh) | 数据处理方法和中心节点 | |
Leida et al. | Distributed SPARQL query answering over RDF data streams | |
Packiaraj et al. | Hypar-fca: a distributed framework based on hybrid partitioning for fca | |
CN104239520A (zh) | 一种基于历史信息的hdfs数据块放置策略 | |
Fanibhare et al. | Smartgrids: Mapreduce framework using hadoop | |
CN115857918A (zh) | 数据处理方法、装置、电子设备及存储介质 | |
CN114817226A (zh) | 政府数据的处理方法及装置 | |
Balicki et al. | Harmony search to self-configuration of fault-tolerant grids for big data | |
CN116414801A (zh) | 数据迁移方法、装置、计算机设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20120711 |