CN110852118B - 分布式机器翻译方法及系统 - Google Patents
分布式机器翻译方法及系统 Download PDFInfo
- Publication number
- CN110852118B CN110852118B CN201911093206.2A CN201911093206A CN110852118B CN 110852118 B CN110852118 B CN 110852118B CN 201911093206 A CN201911093206 A CN 201911093206A CN 110852118 B CN110852118 B CN 110852118B
- Authority
- CN
- China
- Prior art keywords
- machine translation
- task
- translation engine
- information
- subtask
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Machine Translation (AREA)
Abstract
本发明涉及机器翻译技术领域,尤其涉及一种分布式机器翻译方法及系统;翻译方法包括以下步骤:将待翻译信息进行任务分解,生成若干子任务,并生成各子任务与客户号之间的关联信息;将分解后的各子任务信息添加到任务列表中;根据任务列表信息、各翻译引擎承载权重、各翻译引擎运行状态以及实时任务负荷信息计算各子任务分发的目标翻译引擎;翻译结果信息返回后,进行任务整合,将翻译结果返回指定客户。本发明所公开的分布式机器翻译方法及系统,将需要翻译的语言信息分为若干个具有独立意义的语言信息块,然后进行分布式并行翻译,并将翻译完之后的结果进行汇总,形成最终翻译结果,配置灵活,承载能力强,计算资源得到合理有效的利用。
Description
技术领域
本发明涉及机器翻译技术领域,尤其涉及一种分布式机器翻译方法及系统。
背景技术
机器翻译,又称为自动翻译,是利用计算机将一种自然语言(源语言)转换为另一种自然语言(目标语言)的过程。机器翻译系统按照部署方式分为两种:面向大众用户的开放式系统和面向特定用户的本地化部署系统。
中国专利CN201810845896.1提供了一种神经网络机器翻译模型的训练方法和装置,包括:获取多种高资源语言对和低资源语言对;对高资源语言对的源语言和低资源语言对的源语言在字符级别上进行拼写统一化操作;将操作后的每种高资源语言对作为对应的父模型的训练集,将操作后的低资源语言对作为孩子模型的训练集,根据预设顺序对各父模型按照迁移学习的方法进行训练,以使得上一个父模型的源语言的词向量和目标语言的词向量迁移至下一个父模型;根据最后一个训练好的父模型训练所述孩子模型,获得用于翻译低资源语言的神经网络机器翻译模型;有助于在低资源的语言对上训练出来的孩子模型性能上得到明显提升。
然而,开放式系统对翻译质量、翻译速度、并发处理能力及异常处理能力具有很高要求。随着神经网络机器翻译技术的逐步成熟,翻译引擎在执行翻译任务时已经不需要依赖大数据量的模型,使得单一语种引擎可以部署在不同类型的单个计算节点之上,甚至单一节点可部署多个引擎,部署方式灵活多变。由于基于神经网络的机器翻译是一项需要大量计算的自然语言处理过程,单一节点受计算能力限制,无法满足多客户使用的速度与实时性要求。目前机器翻译系统采用固定数量、配置的方式部署,虽然实现了分布式翻译,但因为配置不够灵活,经常造成计算资源的浪费或承载能力不足时无法及时扩容等问题,极大地影响系统性能及客户使用体验。
因此,为了解决上述问题,急需发明一种新的分布式机器翻译方法及系统。
发明内容
本发明的目的在于:提供一种通过采用Http协议实现分布式并行计算的多语言机器翻译方法及系统。
本发明提供了下述方案:
一种分布式机器翻译方法,其特征在于:包括以下步骤:
S1、部署若干机器翻译引擎;
S2、部署基于HTTP协议的云服务端;
S3、设定各翻译引擎初始运行状态、服务承载权重及初始化实时负荷信息;
S5、将待翻译信息进行任务分解,生成若干子任务,并生成各子任务与客户号之间的关联信息;
S6、将分解后的各子任务信息添加到任务列表中;
S7、根据任务列表信息、各翻译引擎承载权重、各翻译引擎运行状态以及实时任务负荷信息计算各子任务分发的目标翻译引擎;当与翻译引擎建立连接失败或超时,将当前翻译引擎状态进行修改,并重新计算目标翻译引擎;
S8、翻译结果信息返回后,根据生成的子任务与客户号关联信息进行任务整合,将翻译结果返回指定客户,并修改对应的各翻译引擎的运行状态及实时任务负荷信息。
根据本发明的实施例,分布式机器翻译方法还包括:
S4、对输入云服务端210的海量语言信息进行预处理,将输入信息中的拼写错误、大小写不规范以及拉丁语系单词间空格缺失问题进行修正。
根据本发明的实施例,部署若干机器翻译引擎的步骤,具体为:
在支持异构的物理机集群中各台物理机的各计算节点上部署若干特定语言方向的机器翻译引擎;
部署基于HTTP协议的云服务端210的步骤,具体为:
在物理机集群其中一台或集群外部一台物理机上部署基于HTTP协议的云服务端210。
根据本发明的实施例,将待翻译信息进行任务分解的步骤,具体为:
对输入的信息以句子为单位进行拆分,将单个翻译任务拆分成若干个句子,每个句子作为一个待翻译子任务,并对其按顺序标号。
根据本发明的实施例,任务分发的步骤为:
首先获取状态为可用的翻译引擎,根据各翻译引擎当前任务量与任务权重计算各翻译引擎当前负载率,对负载率进行倒排序,将任务列表212中第一个子任务发送到负载率最低的翻译引擎。
根据本发明的实施例,任务整合的步骤为:
当有翻译子任务完成并返回时,根据访问的客户号与子任务编号,判断当前访问的全部子任务是否已翻译完成,如果已完成,则按照子任务编号按顺序进行整合,并返回给指定的客户。
根据本发明的实施例,各翻译引擎当前状态的管理过程为:
通过设定定时器,对当前状态为1的翻译引擎,每隔60秒发送一次连接测试,如果连接失败,将翻译引擎状态修改为0;对当前状态为0的翻译引擎,每个600秒发送一次连接测试,如果连接成功,将翻译引擎状态修改为1。
根据本发明的实施例,各翻译引擎实时负荷信息的管理过程为:
当有任务发送时,根据当前发送的任务量及目标翻译引擎ID,更新目标翻译引擎的实时负荷;当翻译结果返回时,根据返回的任务及目标翻译引擎ID,更新目标翻译引擎的实时负荷。
根据本发明的实施例,还提供了一种分布式机器翻译系统,包括:
若干机器翻译引擎;
以及基于HTTP协议的云服务端210,用于:
设定各翻译引擎初始运行状态、服务承载权重及初始化实时负荷信息;
将待翻译信息进行任务分解,生成若干子任务,并生成各子任务与客户号之间的关联信息;
将分解后的各子任务信息添加到任务列表212中;
根据任务列表212信息、各翻译引擎承载权重、各翻译引擎运行状态以及实时任务负荷信息计算各子任务分发的目标翻译引擎;当与翻译引擎建立连接失败或超时,将当前翻译引擎状态进行修改,并重新计算目标翻译引擎;
翻译结果信息返回后,根据生成的子任务与客户号关联信息进行任务整合,将翻译结果返回指定客户,并修改对应的各翻译引擎的运行状态及实时任务负荷信息。
根据本发明的实施例,云服务端210包括:
任务分解器211,用于对输入的信息以句子为单位进行拆分,将单个翻译任务拆分成若干个句子,每个句子作为一个待翻译子任务,并对其按顺序标号;
任务分发器213,用于获取状态为可用的翻译引擎,根据各翻译引擎当前任务量与任务权重计算各翻译引擎当前负载率,对负载率进行倒排序,将任务列表中第一个子任务发送到负载率最低的翻译引擎;
监控器214,用于管理内存中的各翻译引擎当前状态、各翻译引擎服务权重以及各翻译引擎实时负荷信息;
以及任务整合模块215,用于当有翻译子任务完成并返回时,根据访问的客户号与子任务编号,判断当前访问的全部子任务是否已翻译完成,如果已完成,则按照子任务编号按顺序进行整合,并返回给指定的客户。
本发明产生的有益效果:
本发明所公开的分布式机器翻译方法及系统,翻译方法包括以下步骤:部署若干机器翻译引擎;部署基于HTTP协议的云服务端;设定各翻译引擎初始运行状态、服务承载权重及初始化实时负荷信息;将待翻译信息进行任务分解,生成若干子任务,并生成各子任务与客户号之间的关联信息;将分解后的各子任务信息添加到任务列表中;根据任务列表信息、各翻译引擎承载权重、各翻译引擎运行状态以及实时任务负荷信息计算各子任务分发的目标翻译引擎;当与翻译引擎建立连接失败或超时,将当前翻译引擎状态进行修改,并重新计算目标翻译引擎;翻译结果信息返回后,根据生成的子任务与客户号关联信息进行任务整合,将翻译结果返回指定客户,并修改对应的各翻译引擎的运行状态及实时任务负荷信息;将需要翻译的语言信息分为若干个具有独立意义的语言信息块,然后添加到任务列表进行分布式并行翻译,并将翻译完之后的结果进行汇总,形成最终翻译结果,满足多客户使用的速度与实时性要求,配置灵活,承载能力强,计算资源得到合理有效的利用。
附图说明
图1为本发明的分布式机器翻译方法的流程框图。
图2为本发明的分布式机器翻译系统的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整地传达给本领域的技术人员。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本发明所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非被特定定义,否则不会用理想化或过于正式的含义来解释。
参见图1所示,一种分布式机器翻译方法,其特征在于:包括以下步骤:
S1、部署若干机器翻译引擎;
S2、部署基于HTTP协议的云服务端;
S3、设定各翻译引擎初始运行状态、服务承载权重及初始化实时负荷信息;
S5、将待翻译信息进行任务分解,生成若干子任务,并生成各子任务与客户号之间的关联信息;
S6、将分解后的各子任务信息添加到任务列表中;
S7、根据任务列表信息、各翻译引擎承载权重、各翻译引擎运行状态以及实时任务负荷信息计算各子任务分发的目标翻译引擎;当与翻译引擎建立连接失败或超时,将当前翻译引擎状态进行修改,并重新计算目标翻译引擎;
S8、翻译结果信息返回后,根据生成的子任务与客户号关联信息进行任务整合,将翻译结果返回指定客户,并修改对应的各翻译引擎的运行状态及实时任务负荷信息。
所述的分布式机器翻译方法还包括:
S4、对输入云服务端的海量语言信息进行预处理,将输入信息中的拼写错误、大小写不规范以及拉丁语系单词间空格缺失问题进行修正。
其中,部署若干机器翻译引擎的步骤,具体为:
在支持异构的物理机集群中各台物理机的各计算节点上部署若干特定语言方向的机器翻译引擎;
部署基于HTTP协议的云服务端的步骤,具体为:
在物理机集群其中一台或集群外部一台物理机上部署基于HTTP协议的云服务端210。
将待翻译信息进行任务分解的步骤,具体为:
对输入的信息以句子为单位进行拆分,将单个翻译任务拆分成若干个句子,每个句子作为一个待翻译子任务,并对其按顺序标号。
任务分发的步骤为:
首先获取状态为可用的翻译引擎,根据各翻译引擎当前任务量与任务权重计算各翻译引擎当前负载率,对负载率进行倒排序,将任务列表中第一个子任务发送到负载率最低的翻译引擎。
任务整合的步骤为:
当有翻译子任务完成并返回时,根据访问的客户号与子任务编号,判断当前访问的全部子任务是否已翻译完成,如果已完成,则按照子任务编号按顺序进行整合,并返回给指定的客户。
各翻译引擎当前状态的管理过程为:
通过设定定时器,对当前状态为1的翻译引擎,每隔60秒发送一次连接测试,如果连接失败,将翻译引擎状态修改为0;对当前状态为0的翻译引擎,每个600秒发送一次连接测试,如果连接成功,将翻译引擎状态修改为1。
各翻译引擎实时负荷信息的管理过程为:
当有任务发送时,根据当前发送的任务量及目标翻译引擎ID,更新目标翻译引擎的实时负荷;当翻译结果返回时,根据返回的任务及目标翻译引擎ID,更新目标翻译引擎的实时负荷。
参见图2所示,一种分布式机器翻译系统包括:
若干机器翻译引擎;
以及基于HTTP协议的云服务端210,用于:
设定各翻译引擎初始运行状态、服务承载权重及初始化实时负荷信息;
将待翻译信息进行任务分解,生成若干子任务,并生成各子任务与客户号之间的关联信息;
将分解后的各子任务信息添加到任务列表212中;
根据任务列表信息、各翻译引擎承载权重、各翻译引擎运行状态以及实时任务负荷信息计算各子任务分发的目标翻译引擎;当与翻译引擎建立连接失败或超时,将当前翻译引擎状态进行修改,并重新计算目标翻译引擎;
翻译结果信息返回后,根据生成的子任务与客户号关联信息进行任务整合,将翻译结果返回指定客户,并修改对应的各翻译引擎的运行状态及实时任务负荷信息。
云服务端210包括:
任务分解器211,用于对输入的信息以句子为单位进行拆分,将单个翻译任务拆分成若干个句子,每个句子作为一个待翻译子任务,并对其按顺序标号;
任务分发器213,用于获取状态为可用的翻译引擎,根据各翻译引擎当前任务量与任务权重计算各翻译引擎当前负载率,对负载率进行倒排序,将任务列表中第一个子任务发送到负载率最低的翻译引擎;
监控器214,用于管理内存中的各翻译引擎当前状态、各翻译引擎服务权重以及各翻译引擎实时负荷信息;
任务整合模块215,用于当有翻译子任务完成并返回时,根据访问的客户号与子任务编号,判断当前访问的全部子任务是否已翻译完成,如果已完成,则按照子任务编号按顺序进行整合,并返回给指定的客户。
本实施例中所述的分布式机器翻译方法及系统,翻译方法包括以下步骤:部署若干机器翻译引擎;部署基于HTTP协议的云服务端;设定各翻译引擎初始运行状态、服务承载权重及初始化实时负荷信息;将待翻译信息进行任务分解,生成若干子任务,并生成各子任务与客户号之间的关联信息;将分解后的各子任务信息添加到任务列表中;根据任务列表信息、各翻译引擎承载权重、各翻译引擎运行状态以及实时任务负荷信息计算各子任务分发的目标翻译引擎;当与翻译引擎建立连接失败或超时,将当前翻译引擎状态进行修改,并重新计算目标翻译引擎;翻译结果信息返回后,根据生成的子任务与客户号关联信息进行任务整合,将翻译结果返回指定客户,并修改对应的各翻译引擎的运行状态及实时任务负荷信息;将需要翻译的语言信息分为若干个具有独立意义的语言信息块,然后添加到任务列表进行分布式并行翻译,并将翻译完之后的结果进行汇总,形成最终翻译结果,满足多客户使用的速度与实时性要求,配置灵活,承载能力强,计算资源得到合理有效的利用。
本实施例中所述的分布式机器翻译方法包括以下步骤:
S1、在支持异构的物理机集群中各台物理机的各计算节点上部署若干特定语言方向的机器翻译引擎;
S2、在物理机集群其中一台或集群外部一台物理机上部署基于HTTP协议的云服务端;
S3、设定各翻译引擎初始运行状态、服务承载权重]及初始化实时负荷信息:
S4、对于输入的海量语言信息进行预处理;
S5、任务分解器将待翻译信息按照独立语言信息进行任务分解,生成若干子任务,将访问ID与子任务编号组合为Key,将子任务文本内容作为Value进行保存;
S6、将分解后的各子任务信息添加到任务列表212中;
S7、任务分发器211根据任务列表212信息、各翻译引擎承载权重及各翻译引擎运行状态与实时任务负荷信息等计算各任务发送[9]的目标翻译引擎;当与翻译引擎建立连接失败或超时,将当前翻译引擎状态修改为0,并重新计算目标翻译引擎;
S8、翻译结果信息返回后,根据任务分解器211生成的任务与客户号关联信息进行任务整合,将翻译结果返回指定客户,并修改监控器214中对应的各翻译引擎运行状态及实时任务负荷信息。
本实施例中所述的分布式机器翻译方法,S1中所述的异构的物理机集群指集群中各物理机可采用不同的硬件架构,且可以采用不同类型的计算节点;S1中所述机器翻译引擎采用基于Transformer框架的神经网络算法;S1中所述特定语言方向的机器翻译引擎是指不用语种的翻译引擎相互独立,采用不同的数据及算法。
本实施例中所述的分布式机器翻译方法,S2中所述云服务210端包含了任务分解器211、任务分发器213、监控器214及任务整合模块215;S3中所述翻译引擎初始运行状态是指系统启动时翻译引擎是否处于可用状态[13],用数值表示,0表示不可用,1表示可用;S3中所述服务承载权重是指因该方法支持不同类型的计算节点,装载翻译引擎的不同计算节点任务处理能力不同,因此赋予不同的服务承载权重,以数值表示,最小步进单位为1,不设上限;S4中所述预处理是指将输入信息中可能存在的拼写错误、大小写不规范、拉丁语系单词间空格缺失等问题进行修正;S5中所述任务分解是指对于输入的信息以句子为单位进行拆分,将单个翻译任务拆分成若干个句子,每个句子作为一个待翻译子任务,并对其按顺序标号;S6中所述任务列表是内存中的一个哈希表,以访问ID与子任务作为Key值,子任务内容为Value值;当产生新任务时,写入哈希表;当任务完成时,从哈希表中删除;S7中所述任务分发是指首先获取监控器214中状态为可用的翻译引擎,根据各翻译引擎当前任务量与任务权重计算各翻译引擎当前负载率(任务量除以任务权重),对负载率进行倒排序,将任务列表212中第一个子任务发送到负载率最低的翻译引擎。
本实施例中所述的分布式机器翻译方法,所述的任务分解器将接收到的翻译任务进行最小单元完整语义信息的任务拆分,将当前访问ID、拆分后的子任务编号组合为Key,将拆分后的子任务内容作为Value进行保存;所述的监控器,管理内存中的各翻译引擎当前状态、各翻译引擎服务权重、各翻译引擎实时负荷信息;所述的监控器任务整合模块,当有翻译子任务完成并返回时,根据访问ID与子任务编号,判断当前访问的全部子任务是否已翻译完成,如果已完成,则按照子任务编号按顺序进行整合,并返回;所述的监控器管理内存中各翻译引擎当前状态,通过设定定时器,对当前状态为1的翻译引擎,每隔60秒发送一次连接测试,如果连接失败,将翻译引擎状态修改为0;对当前状态为0的翻译引擎,每个600秒发送一次连接测试,如果连接成功,将翻译引擎状态修改为1;所述的监控器管理内存中各翻译引擎实时负荷信息,是指当有任务发送时,根据当前发送的任务量及目标翻译引擎ID,更新目标翻译引擎的实时负荷;当翻译结果返回时,根据返回的任务及目标翻译引擎ID,更新目标翻译引擎的实时负荷。
本实施例还提供一种适于实现上文描述的一种分布式机器翻译方法及系统的计算机系统。计算机系统包括处理器和计算机可读存储介质。该计算机系统可以执行根据本发明实施例的方法。
具体地,处理器例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器还可以包括用于缓存用途的板载存储器。处理器可以是用于执行根据本发明实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质,例如可以是非易失性的计算机可读存储介质,具体示例包括但不限于:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD—ROM);存储器,如随机存取存储器(RAM)或闪存;等等。
计算机可读存储介质可以包括计算机程序,该计算机程序可以包括代码/计算机可执行指令,其在由处理器执行时使得处理器执行根据本发明实施例的方法或其任何变形。
计算机程序可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序中的代码可以包括一个或多个程序模块,例如包括任务分解器211、任务分发器213、监控器214、任务整合模块215。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被处理器执行时,使得处理器可以执行根据本发明实施例的方法或其任何变形。
根据本发明的实施例,上述模块中的至少一个可以实现为计算机程序模块,其在被处理器执行时,可以实现上面描述的相应操作。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本发明实施例的方法。
根据本发明的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种分布式机器翻译方法,其特征在于:包括以下步骤:
S1、部署若干机器翻译引擎;
S2、部署基于HTTP协议的云服务端;
S3、设定各机器翻译引擎初始运行状态、服务承载权重及初始化实时任务负荷信息;
S5、将待翻译信息进行任务分解,生成若干子任务,并生成各子任务与客户号之间的关联信息;
S6、将分解后的各子任务信息添加到任务列表中;
S7、根据任务列表信息、各机器翻译引擎服务承载权重、各机器翻译引擎运行状态以及实时任务负荷信息计算各子任务分发的目标机器翻译引擎;当与机器翻译引擎建立连接失败或超时,将当前机器翻译引擎运行状态进行修改,并重新计算目标机器翻译引擎;
S8、翻译结果信息返回后,根据生成的子任务与客户号关联信息进行任务整合,将翻译结果返回指定客户,并修改对应的各机器翻译引擎的运行状态及实时任务负荷信息;
其中,各子任务分发的步骤为:
首先获取运行状态为可用的机器翻译引擎,根据各机器翻译引擎当前任务量与任务权重计算各机器翻译引擎当前负载率,对负载率进行倒排序,将任务列表中第一个子任务发送到负载率最低的机器翻译引擎。
2.根据权利要求1所述的分布式机器翻译方法,其特征在于:还包括:
对输入云服务端的海量语言信息进行预处理,将输入信息中的拼写错误、大小写不规范以及拉丁语系单词间空格缺失问题进行修正。
3.根据权利要求2所述的分布式机器翻译方法,其特征在于:部署若干机器翻译引擎的步骤,具体为:
在支持异构的物理机集群中各台物理机的各计算节点上部署若干特定语言方向的机器翻译引擎;
部署基于HTTP协议的云服务端的步骤,具体为:
在物理机集群其中一台或集群外部一台物理机上部署基于HTTP协议的云服务端。
4.根据权利要求3所述的分布式机器翻译方法,其特征在于:
将待翻译信息进行任务分解的步骤,具体为:
对输入的信息以句子为单位进行拆分,将单个翻译任务拆分成若干个句子,每个句子作为一个待翻译子任务,并对其按顺序标号。
5.根据权利要求1所述的分布式机器翻译方法,其特征在于:任务整合的步骤为:
当有翻译子任务完成并返回时,根据访问的客户号与子任务编号,判断当前访问的全部子任务是否已翻译完成,如果已完成,则按照子任务编号按顺序进行整合,并返回给指定的客户。
6.根据权利要求5所述的分布式机器翻译方法,其特征在于:各机器翻译引擎当前运行状态的管理过程为:
通过设定定时器,对当前运行状态为1的机器翻译引擎,每隔60秒发送一次连接测试,如果连接失败,将机器翻译引擎运行状态修改为0;对当前运行状态为0的机器翻译引擎,每隔600秒发送一次连接测试,如果连接成功,将机器翻译引擎运行状态修改为1。
7.根据权利要求6所述的分布式机器翻译方法,其特征在于:各机器翻译引擎实时任务负荷信息的管理过程为:
当有任务发送时,根据当前发送的任务量及目标机器翻译引擎ID,更新目标机器翻译引擎的实时任务负荷;当翻译结果返回时,根据返回的任务及目标机器翻译引擎ID,更新目标机器翻译引擎的实时任务负荷。
8.一种分布式机器翻译系统,其特征在于:包括:
若干机器翻译引擎;
以及基于HTTP协议的云服务端,用于:
设定各机器翻译引擎初始运行状态、服务承载权重及初始化实时任务负荷信息;
将待翻译信息进行任务分解,生成若干子任务,并生成各子任务与客户号之间的关联信息;
将分解后的各子任务信息添加到任务列表中;
根据任务列表信息、各机器翻译引擎服务承载权重、各机器翻译引擎运行状态以及实时任务负荷信息计算各子任务分发的目标机器翻译引擎;当与机器翻译引擎建立连接失败或超时,将当前机器翻译引擎运行状态进行修改,并重新计算目标机器翻译引擎;
翻译结果信息返回后,根据生成的子任务与客户号关联信息进行任务整合,将翻译结果返回指定客户,并修改对应的各机器翻译引擎的运行状态及实时任务负荷信息;
其中,基于HTTP协议的云服务端包括:
任务分发器,用于获取状态为可用的机器翻译引擎,根据各机器翻译引擎当前任务量与任务权重计算各机器翻译引擎当前负载率,对负载率进行倒排序,将任务列表中第一个子任务发送到负载率最低的机器翻译引擎。
9.根据权利要求8所述的分布式机器翻译系统,其特征在于:
云服务端包括:
任务分解器,用于对输入的信息以句子为单位进行拆分,将单个翻译任务拆分成若干个句子,每个句子作为一个待翻译子任务,并对其按顺序标号;
监控器,用于管理内存中的各机器翻译引擎当前运行状态、各机器翻译引擎服务承载权重以及各机器翻译引擎实时任务负荷信息;以及
任务整合模块,用于当有翻译子任务完成并返回时,根据访问的客户号与子任务编号,判断当前访问的全部子任务是否已翻译完成,如果已完成,则按照子任务编号按顺序进行整合,并返回给指定的客户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911093206.2A CN110852118B (zh) | 2019-11-08 | 2019-11-08 | 分布式机器翻译方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911093206.2A CN110852118B (zh) | 2019-11-08 | 2019-11-08 | 分布式机器翻译方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110852118A CN110852118A (zh) | 2020-02-28 |
CN110852118B true CN110852118B (zh) | 2022-02-01 |
Family
ID=69601193
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911093206.2A Active CN110852118B (zh) | 2019-11-08 | 2019-11-08 | 分布式机器翻译方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110852118B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113962229A (zh) * | 2021-09-27 | 2022-01-21 | 北京百度网讯科技有限公司 | 异步翻译系统、方法、设备和存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1969493B1 (en) * | 2006-02-17 | 2018-12-26 | Google LLC | Encoding and adaptive, scalable accessing of distributed models |
US8626486B2 (en) * | 2006-09-05 | 2014-01-07 | Google Inc. | Automatic spelling correction for machine translation |
CN102567312A (zh) * | 2011-12-30 | 2012-07-11 | 北京理工大学 | 一种基于分布式并行计算框架的机器翻译方法 |
CN103257958B (zh) * | 2012-02-16 | 2016-01-20 | 中兴通讯股份有限公司 | 一种基于云存储的翻译方法及系统 |
-
2019
- 2019-11-08 CN CN201911093206.2A patent/CN110852118B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110852118A (zh) | 2020-02-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10997176B2 (en) | Massive time series correlation similarity computation | |
CN107450961A (zh) | 一种基于Docker容器的分布式深度学习系统及其搭建方法、工作方法 | |
US10878335B1 (en) | Scalable text analysis using probabilistic data structures | |
CN110580197A (zh) | 大型模型深度学习的分布式计算架构 | |
RU2605041C2 (ru) | Способы и системы для отображения тем микроблогов | |
US20220245337A1 (en) | Automated graph based information extraction | |
CN111143039B (zh) | 一种虚拟机的调度方法、装置及计算机存储介质 | |
US10885042B2 (en) | Associating contextual structured data with unstructured documents on map-reduce | |
Silva et al. | Integrating big data into the computing curricula | |
CN111143390A (zh) | 更新元数据的方法及装置 | |
CN110852118B (zh) | 分布式机器翻译方法及系统 | |
US10313457B2 (en) | Collaborative filtering in directed graph | |
US11250080B2 (en) | Method, apparatus, storage medium and electronic device for establishing question and answer system | |
CN114424197A (zh) | 使用分层聚类的罕见主题检测 | |
CN115599359A (zh) | 一种代码生成方法、装置、设备及介质 | |
CN112749543B (zh) | 一种信息解析过程的匹配方法、装置、设备及存储介质 | |
US20140033184A1 (en) | Localizing computer program code | |
CN106843822B (zh) | 一种执行代码生成方法及设备 | |
US11874844B2 (en) | Automatic neutral point of view content generation | |
CN117787290A (zh) | 基于知识图谱的绘图提示方法和装置 | |
CN106599244B (zh) | 通用的原始日志清洗装置及方法 | |
CN114547336A (zh) | 一种文本数据处理方法、装置、设备及存储介质 | |
CN114911814A (zh) | 一种基于知识资源库更新的咨询服务方法及系统 | |
CN113434143A (zh) | iOS应用界面布局装置及方法 | |
CN114556326B (zh) | 用于生成自然语言表达变体的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |