CN111814493A - 机器翻译方法、装置、电子设备和存储介质 - Google Patents
机器翻译方法、装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN111814493A CN111814493A CN202010318439.4A CN202010318439A CN111814493A CN 111814493 A CN111814493 A CN 111814493A CN 202010318439 A CN202010318439 A CN 202010318439A CN 111814493 A CN111814493 A CN 111814493A
- Authority
- CN
- China
- Prior art keywords
- translation
- portions
- degree
- correspondence
- engine
- 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
Links
- 238000013519 translation Methods 0.000 title claims abstract description 520
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000003860 storage Methods 0.000 title claims abstract description 14
- 238000006243 chemical reaction Methods 0.000 claims description 23
- 238000012986 modification Methods 0.000 claims description 13
- 230000004048 modification Effects 0.000 claims description 13
- 230000014616 translation Effects 0.000 description 411
- 238000010586 diagram Methods 0.000 description 19
- 238000004422 calculation algorithm Methods 0.000 description 18
- 230000008569 process Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 230000006870 function Effects 0.000 description 7
- 239000012634 fragment Substances 0.000 description 6
- 238000009826 distribution Methods 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 238000011156 evaluation Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000010845 search algorithm Methods 0.000 description 2
- 238000011524 similarity measure Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 101000822695 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C1 Proteins 0.000 description 1
- 101000655262 Clostridium perfringens (strain 13 / Type A) Small, acid-soluble spore protein C2 Proteins 0.000 description 1
- 101000655256 Paraclostridium bifermentans Small, acid-soluble spore protein alpha Proteins 0.000 description 1
- 101000655264 Paraclostridium bifermentans Small, acid-soluble spore protein beta Proteins 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000004888 barrier function Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000001303 quality assessment method Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/42—Data-driven translation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
根据本公开的实施例提供一种机器翻译方法、装置、电子设备和存储介质。在此提出的方法包括:获得第一语言的原文以及原文的第二语言的第一译文;经由翻译引擎将原文的多个部分分别转换为第二语言的第二译文的多个部分;确定第二译文的多个部分与第一译文的多个部分的对应关系;以及基于所确定的对应关系,使用原文的多个部分作为输入并且至少使用第二译文的多个部分以及第一译文的多个部分作为输出来更新翻译引擎。根据本公开的事实,可以提高翻译引擎的更新效率,从而有效改进了翻译性能。
Description
技术领域
本公开的各实现方式机器翻译领域,更具体地,涉及机器翻译方法、装置、设备和计算机存储介质。
背景技术
在很多场景中需要不同语言之间的翻译。例如,某些社交平台支持来自不同的国家和地区的用户之间的交流,这些用户往往各自使用不同的语言,这就需要提供不同语言之间的翻译和转换。另外,在国际化业务中,客户服务中心会收到不同语言的客户咨询,并且需要提供相应语言的回复。但是,很难雇佣到同时精通多门语言的客户服务人员,而且其成本也很高。在这种情况下,可以通过提供翻译来克服服务人员与客户之间的交流障碍。
可以借助专业翻译人员的人工翻译来满足上述场景中的翻译需求。但是,人工翻译效率较低,而且人力物力成本很高。因此,自动化的机器翻译得到了快速发展。机器翻译可以在无需用户介入的情况下利用计算机将一种自然语言转换成另一种自然语言。
发明内容
本公开的实施例提供了一种机器翻译方案。
在本公开的第一方面,提供了一种机器翻译方法。在该方法中,获得第一语言的原文以及原文的第二语言的第一译文。经由翻译引擎将原文的多个部分分别转换为第二语言的第二译文的多个部分。继而,确定第二译文的多个部分与第一译文的多个部分的对应关系。基于所确定的对应关系,使用原文的多个部分作为输入并且至少使用第二译文的多个部分以及第一译文的多个部分作为输出来更新翻译引擎。
在本公开的第二方面,提供了一种机器翻译装置。该装置包括:获得模块,被配置为获得第一语言的原文以及原文的第二语言的第一译文;第一转换模块,被配置为经由翻译引擎将原文的多个部分分别转换为第二语言的第二译文的多个部分;第一确定模块,被配置为确定第二译文的多个部分与第一译文的多个部分的对应关系;以及第一更新模块,被配置为基于所确定的对应关系,使用原文的多个部分作为输入并且至少使用第二译文的多个部分以及第一译文的多个部分作为输出来更新翻译引擎。
在本公开的第三方面,提供了一种电子设备,包括:存储器和处理器;其中存储器用于存储一条或多条计算机指令,其中一条或多条计算机指令被处理器执行以实现根据本公开的第一方面的方法。
在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有一条或多条计算机指令,其中一条或多条计算机指令被处理器执行实现根据本公开的第一方面的方法。
附图说明
结合附图并参考以下详细说明,本公开各实现方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开的若干实现方式。在附图中:
图1示意性示出了根据本公开的某些实施例的示例翻译过程;
图2示意性根据本公开的某些实施例的机器翻译方法的流程图;
图3示意性示出了根据本公开的某些实施例的翻译引擎的示例架构的框图;
图4示意性示出了根据本公开的某些其他实施例的机器翻译方法的流程图;
图5示意性示出了根据本公开的某些实施例的机器翻译装置的示意性结构框图;以及
图6示意性示出了根据本公开的示例性实现的计算设备的框图。
具体实施方式
下面将参照附图更详细地描述本公开的优选实现。虽然附图中显示了本公开的优选实现,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实现所限制。相反,提供这些实现是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
在本文中使用的术语“翻译引擎”是指具有自然语言翻译功能的部件,可以将一种语言的原文转换或翻译成另一种语言的译文。翻译引擎可以由软件、硬件、固件或者其任意组合来实现。
在文本中使用的术语“双语平行语料”是指包含相互对应(也称为“对齐”)的双语句对或双语词对的语言材料的数据集。双语平行语料可以用来训练或更新翻译引擎。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实现”和“一个实现”表示“至少一个示例实现”。术语“另一实现”表示“至少一个另外的实现”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
目前,自动化的机器翻译得到了快速发展。由于翻译性能较好,基于神经网络的机器翻译技术受到了广泛关注。此种翻译技术利用深度学习算法,通过神经网络模型将一种自然语言翻译为另一种自然语言。基于神经网络的机器翻译技术是一种资源依赖型技术,通常需要大量高质量的双语平行语料来训练翻译模型。在训练过程中,翻译模型可以捕捉和学习语料中的语言信息,从而优化翻译性能。双语平行语料的质量越高并且数量越多,训练后的翻译模型的翻译质量越高。如果语料质量太差,翻译模型会学习到语料中的错误,导致翻译结果很差。如果语料数量太少,翻译模型学习到的语言信息不够,也会导致翻译结果较差。
然而,高质量的双语平行语料数量较少,而且很难收集。特别是,有一些语言使用人数较少。为讨论方便,使用人数较少的语言被称为“低资源语言”,反之,使用人数较多的语言称为“高资源语言”。收集与低资源语言对齐的语料十分困难,而收集两种低资源语言的对齐语料更加困难。因此,需要解决双语平行语料(特别是低资源语言相关的平行语料)收集困难的问题。
一种已知的方法是利用其他语言的对齐语料来辅助低资源语言的翻译。该方法将多种语言的对齐语料混合,其中包括高资源语言的对齐语料和低资源语言的对齐语料。对齐语料可以包括双语句对。该方法对于每个句对,在源语言句子和目标语言句子前都加入一个标记位,用于表示相应的语言种类。这样,在训练翻译模型时,能够利用其他语言的语料学习到的语法信息来弥补缺少低资源语言语料的问题。然而,该方法没有尝试为低资源语言获取更多的语料,没有从根本上增加低资源语言的语料数量。由于语料的缺少,导致该语言的很多词汇都无法被学习到,因此会出现较严重的未登录词汇问题,翻译质量仍然较差。
另一种已知的方法是采用句对齐算法来辅助构建双语平行语料。例如,存在一些未对齐的语料,诸如名著的多语言译本、一些影视作品的多语言字幕等。这些语料虽然没有按句子对齐,但是基本上是按段对齐的。该方法正是基于这种假设,利用基于句对齐算法开发的句对齐工具来对语料进行对齐处理。
下面描述该方法的示例过程。假设一种语言的一段原文与另一种语言的一段译文是对应的。原文和译文都可以分成很多连续的句子序列(也称为“片段”)。原文片段和译文片段可以组成片段对。该方法首先测量片段对之间的距离。片段对之间的距离越大,表明片段对互相对应或者对齐的概率越低。可以例如采用如下算法来测量片段对之间的距离。原文片段和译文片段都可以视为由多个字符组成。例如,一个英文单词可以视为一个英文字符,而一个汉字可以视为一个中文字符。假设一个原文字符的对应译文字符的数目服从正态分布,即N(c,s2),其中c表示期望,而s2表示方差。某个片段对之间的距离d可以计算如下:
d=-log(Prob(match|δ),
其中l1和l2分别表示该片段对中的原文片段和译文片段的字符总数。参数match表示对齐模式的概率分布,其与原文片段和译文片段中的句子数有关。Prob(|)表示求条件概率。在估计了片段对之间的距离之后,该方法通过动态规划来寻找对齐段落中距离最小的片段对划分。
此种方法可以简单快速地进行句对齐操作。但是,由于该方法并没有尝试寻找真正对齐的句子,所以得到的只是动态规划下的最佳选择。而实际获取到的双语语料很难保证每一句原文都有一句相应的译文,一段原文的相应译文也可能在不同的段落中。因此,这样构建的对齐语料只是一种假对齐。而且,每对句子的长度越接近,对齐的实际效果越差,越接近直接一句对一句。因此,这种方法还需要大量复杂的后续处理来进一步优化语料。
本公开的实施例提出了一种机器翻译方案。在本公开的实施例中,首先获得一种语言(称为“第一语言”)的原文及其另一种语言(称为“第二语言”)的译文(称为“第一译文”)。第一语言和第二语言可以是任意适当自然语言。原文和第一译文都包括多个部分。原文的多个部分分别经由翻译引擎转换为第二语言的译文(称为“第二译文”)的相应部分。确定第二译文的多个部分与第一译文的多个部分的对应关系。由于第二译文的各个部分与原文的各个部分一一对应或对齐,所以第二译文与第一译文的对应关系也反映了原文与第一译文的对应关系。基于所确定的对应关系,能够使用原文的多个部分作为输入并且使用两个译文的多个部分作为输出来更新翻译引擎。
根据本公开的实施例,可以利用由翻译引擎生成的第二译文来有效地构建原文与第一译文的高质量平行语料。特别是,可以为低资源语言构建更多的平行语料。利用所构建的平行语料来更新翻译引擎,明显提高了翻译引擎的更新效率,从而快速有效地提高了机器翻译的质量。
首先参见图1,其示出了根据本公开的某些实施例的示例翻译过程100。如图所示,所获得的第一语言的原文105及其第二语言的第一译文110可以分别是第一语言的文档及其第二语言的译文文档,或者可以是两个文档的一部分。原文105包括多个部分115-1、115-2……115-K(总称为或者单独称为“部分115”),而第一译文110也包括多个部分120-1、120-2、120-3……120-M(统称为或者单独称为“部分120”)。K和M为任意适当正整数,其可以相等或者可以不相等。原文105和第一译文110的各个部分之间没有一一对应,因此是未对齐。
原文105的多个部分115-1、115-2……115-K经由翻译引擎分别转换为第二语言的第二译文130的相应部分135-1、135-2……135-K(统称为或者单独称为“部分135”)。第二译文130的各个部分与原文的各个部分是一一对应的,因此对齐的。
在本公开的各实施例中,确定第二译文130的各个部分与第一译文110的各个部分之间的对应关系。由于第二译文130与原文105是对齐的,所以第二译文130与第一译文110的对应关系也反映了原文105与第一译文110的对应关系。例如,如图所示,第二译文130的部分135-1对应于第一译文110的两个部分120-1和120-2,第二译文130的部分135-2对应于第一译文110的部分120-3。相应地,与第二译文130的部分135-1相对应的原文105的部分115-1对应于第一译文110的两个部分120-1和120-2,与第二译文130的部分135-2相对应的原文105的部分115-2对应于第一译文110的部分120-3。
基于所确定的对应关系,能够使用原文105和第一译文110构建高质量的对齐语料。分别将原文105和第一译文110作为翻译引擎的输入和输出来更新翻译引擎,可以显著提高翻译引擎的更新效率,提高翻译性能。
图2示出了根据本公开的某些实施例的机器翻译方法200的流程图。为讨论方便,下文将结合图1对方法200进行说明。
如图2所示,在框205,获得第一语言的原文105和第二语言的第一译文110。第一语言和第二语言可以是任意适当自然语言。原文105和第一译文110可以是可以分别是第一语言的文档及其第二语言的译文文档,或者是两个文档的一部分。作为示例,原文105和第一译文110可以是名著的多语言译本、影剧作品的多语言字幕或网站新闻的多语言版本等等的全文或者全文中的一部分。
原文105和第一译文110可以被划分成多个部分,如图1所示。可以任意适当方式执行该划分。作为示例,可以通过分句将原文105和第一译文110分成多个部分,其中每个部分可以包括一个或多个句子或者一个或多个句子序列。可以采用任意适当的分句标准或手段。例如,可以使用标点符号作为分句标准。备选地或附加地,可以借助于专用的分句工具或软件。
除了以句子为基本单元进行划分外,在某些实施例中,还可以将词组或短语或者句子序列作为标准来进行划分。在某些其他实施例中,原文105和第一译文110可以在被获得之前就已经被分成了多个部分。在这种情况下,可以不再对原文105和第一译文110进行划分。
在框210,经由翻译引擎将原文105的多个部分分别转换成第二译文130的多个部分。在某些实施例中,在执行原文105到第二译文130的转换之前,可以首先对翻译引擎进行初始化。例如,可以利用已有的第一语言和第二语言的双语平行语料来训练翻译引擎,以初始化或热启动翻译引擎。也可以不执行该初始化,而直接冷启动翻译引擎。例如,可以不使用双语平行语料,而借助第一语言的单语语料随机地将第一语言的词语或句子转换成第二语言的词语或句子。
翻译引擎可以使用当前已知以及将来开发的任何适当的机器学习算法来实现原文105到第二译文130的转换。例如,可以采用集束搜索(Beam Search)算法或者贪心(Greedy)算法来执行该转换。这两种算法都是在每个时间步(例如,对应于原文105的每个部分)选择最有可能的结果。集束搜索算法和贪心算法都关注于可能性较高的译文候选,丢弃了部分译文候选,因而使译文候选分布发生了改变。
在某些实施例中,在将原文105转换为第二译文130的过程中,可以引入变化,以提供第二译文130的多样性。例如,在对原文105的某个部分进行转换时,可以经由翻译引擎基于从该部分之前的部分转换得到的第二译文130的相应部分的修改来进行转换。举例而言,在将原文105的某一部分(例如,部分115-1)转换为第二译文130的相应部分(例如,部分135-1)之后,可以对第二译文130的该部分(例如,部分135-1)进行修改。修改后的第二译文130的该部分(例如,部分135-1)被反馈回翻译引擎的输入端,与原文105的待转换部分(例如,部分115-k,其中k为大于1小于K的正整数)一起输入到翻译引擎,以供翻译引擎在转换时参考。
在某些实施例中,翻译引擎可以包括编码引擎和解码引擎。在这些实施例中,修改后的第二译文130的相应部分(例如,部分135-1),可以与经由编码引擎编码的原文105部分(例如,部分115-k)一起输入到解码引擎。由解码引擎基于修改后的第二译文130的相应部分(例如,部分135-1),对编码后的原文105部分(例如,部分115-k)进行解码。
这样,所得到第二译文130的相应部分(例如,部分135-k)也会发生改变。可以在每个时间步(例如,对应于原文105的每个部分)进行转换或翻译时都进行上述修改。如此,不像集束搜索算法或贪心算法那样对译文候选分布进行裁剪,而是可以对实际的译文候选分布进行采样。
可以对第二译文130采用任意适当的修改方式。作为示例,可以将第二译文130的待修改部分中的某个或某些词语替换为同义词或者相近词。备选地或附加地,在第二译文130的待修改部分被表示为由0和1组成的位序列的情况下,可以将其中的部分0替换成1,或者将部分1替换成0,从而通过加噪声的方式来对第二译文130进行修改。
在某些实施例中,第二译文130的修改方式可以针对原文105的不同部分而不同,从而进一步增加第二译文130的多样性。例如,在对原文105的某个部分进行转换时,可以将用作转换参考的第二译文130的待修改部分中的某些词语替换成同义词。而在对原文105的另一部分进行转换时,可以将第二译文130的待修改部分中的另外一些词语替换成同义词。
除了对用作转换参考的第二译文130进行修改之外,还可以通过直接修改原文105的待转换部分来增加第二译文130的多样性。例如,可以将原文105的待转换部分中的某个或某些词语替换为同义词或者相近词,或者可以将用于表示该部分的由0和1组成的位序列中的部分0替换成1,或者将部分1替换成0。
通过引入上述修改和变化,可以获得原文105的多个版本的译文。例如,可以通过使用不同的修改方式将原文105转换成多个版本的译文。举例而言,可以通过采用同义词或相近词替换的方式将原文105转换为一个版本的译文,通过加噪声的方式将原文105转换为另一版本的译文。这样,除了第二译文130之外,可以通过使用不同的修改方式将原文105转换成另一不同版本的译文(称为“第三译文”)。以此方式,可以为翻译引擎的训练和更新构建更多的对齐语料,从而提高了翻译引擎的更新效率,提高了翻译性能。
翻译引擎可以采用任意适当架构来执行原文105到第二译文130的转换。图3示出了根据本公开的某些实施例的翻译引擎的示例架构300。在此示例中,翻译引擎执行基于神经网络的机器学习过程来实现原文105到第二译文130的转换。
如图3所示,在架构300中,翻译引擎包括编码引擎305和解码引擎310。编码引擎305和解码引擎310可以由软件、硬件、固件或者其任意组合来实现。编码引擎305和解码引擎310可以包括一个或多个变换器(transformer)模块315。变换器模块近年来在基于神经网络的机器学习领域已经得到了广泛应用。
作为示例,如图3所示,变换器模块315可以包括多头自注意力块320、前馈网络325以及残差连接和正则化层330。多头自注意力块320是较核心的模块,用于学习输入的原文105的内部信息或结构。例如,多头自注意力块320可以对输入的原文105中的句子和词进行自注意力计算,以便学习句子之间和/或句子内部词之间的依赖关系,由此可以很好的捕获原文105内部的长距离依赖关系,从而更好地捕获原文105的内部结构。而且,多头自注意力块320可以并行地进行自注意力计算,从而实现了较好的自然语言处理效果。应当理解,当前已知以及将来开发的变换器模块的任何适当结构都可在此使用,本公开的范围在此方面不受限制。
在架构300中,在对原文105的一个部分进行转换时,首先由编码引擎305对原文105的该部分进行编码,例如将其转换为固定长度的向量。继而,由解码引擎310对编码后的原文105部分进行解码,例如可以将该向量转换为第二译文130的相应部分。
在此示例中,如图3所示,翻译得到的第二译文130的相应部分可以反馈回到解码引擎310的输出嵌入块335,经过掩码多头自注意力块340以及残差连接和正则化层330处理之后,与经由编码引擎305编码的原文105的待转换部分一起输入到解码引擎310侧的变换器模块315,以供解码引擎310在解码时参考。在某些实施例中,在将第二译文130的相应部分反馈回解码引擎310之前,可以对其进行修改。继而,解码引擎310可以基于修改后的第二译文130的该部分,对经过编码的原文105的待转换部分进行解码。
应当理解,图3所示的架构300仅仅是示例性的而非限制的。架构300可以包含当前已知以及将来开发的可用于机器翻译的任何其他结构、模块或功能。
下面继续参考图2,在将原文105的各个部分转换为第二译文130的相应部分之后,在框215,确定第二译文130的多个部分与第一译文110的多个部分的对应关系。例如,可以针对第二译文130的每个部分,确定第二译文130的该部分与第一译文110的各个部分的对应程度,继而根据针对第二译文130的所有部分确定的对应程度来确定第二译文130与第一译文110的对应关系。
可以使用任意适当方式并且依据任意适当标准来确定第二译文130的一个部分与第一译文110的一个部分的对应程度。在某些实施例中,可以基于第二译文130与第一译文110的这两个部分的相似程度来确定其对应程度。可以采用任意适当方式来确定相似程度。在某些实施例中,可以使用双语评估替换(bilingual evaluation understudy,简称为“BLEU”)算法来评估第二译文130和第一译文110的相似程度。
BLEU算法是一种快速有效并且不受语言种类限制的评估翻译质量的算法。该算法的评估依据是机器翻译同专业人工翻译越接近则质量越好。作为示例,BLEU算法可以使用以下公式(1)至(3)来进行评估。
在上面的公式(1)至(3)中,n表示n元词组,wn表示各n元词组的权重,其通常为1/N。Pn指示基于n元词组评估的准确率,其取决于第二译文130中的n元词组中有多少出现在第一译文110中,其中C表示第二译文130中的n元词组的集合,n_gram′表示第二译文130中的全部n元词组,Count()表示对其进行计数,n_gram表示第二译文130中的出现在第一译文110中的n元词组,Countclip()表示对这些n元词组进行计数。BP表示惩罚因子,其中r和c分别表示第二译文130和第一译文110的两个相应部分的长度,用于避免出现第二译文130的某个部分由于过短而被确定为相似程度很高的情况。
BLEU算法所评估的是第二译文130相对于第一译文110的相似程度。为了进一步提高相似程度评估的可靠性,在某些实施例中,还可以评估第一译文110相对于第二译文130的相似程度。下面结合一个具体示例来描述的此方面的示例实施例。作为示例,第一译文110和第二译文130如下。
例如,使用公式(3)基于二元词组来确定第二译文130相对于第一译文110的相似程度。由此,翻译译文(例如,第二译文130)相对于参考译文(例如,第一译文110)的相似程度可以由翻译译文中的二元词组在参考译文中出现的比率来表示。例如,第二译文130中总共有两个二元词组“live support”和“support representative”,而这两个二元词组都出现在第一译文110中。这样,第二译文130相对于第一译文110的相似程度可以按照以下等式(4)来计算:
bleu=2/2=1 (4)
由于第二译文130与第一译文110与的单词数目不匹配,造成了评估结果指示二者的相似程度很高。然而,实际上第二译文130与第一译文110的相似程度并不高。
为了进一步提高相似程度评估的可靠性,将第一译文110和第二译文130交换,重新使用上述算法评估第一译文110相对于第二译文130相似程度。第一译文110中总共有八个二元词组,其中有两个二元词组“live support”和“support representative”出现在第二译文130中,因此第二译文130相对于第一译文110的相似程度可以按照以下等式(5)来计算:
reverse_bleu=2/8=0.25 (5)
此结果指示第一译文110相对于第二译文130的相似程度不高。
在某些实施例中,为了进一步提高评估可靠性,可以同时考虑第二译文130相对于第一译文110的相似程度以及第一译文110相对于第二译文130的相似程度来确定第二译文130与第一译文110的相似程度。
例如,可以同时考虑上面的等式(4)和等式(5),使用以下公式(6)来评估第二译文130与第一译文110的相似程度。
其中bleu指示二译文130相对于第一译文110的相似程度,而reverse_bleu指示第一译文110相对于第二译文130的相似程度。如此,公式(6)将第二译文130相对于第一译文110的相似程度以及第一译文110相对于第二译文130的相似程度同时纳入评估指标,从而兼顾了第二译文130的各个部分与第一译文110的各个部分之间的一对多和多对一的对应关系。
在基于相似度来确定第二译文130与第一译文110的对应关系时,可以针对第二译文130的每一部分,确定其与第一译文110的所有部分120-1、120-2……120-M的相似程度,从而可以得到M个相似程度。基于针对第二译文130的所有部分135确定的相似程度,可以例如通过动态规划找出第二译文130与第一译文110的一种对应关系,以使得第二译文130与第一译文110的相似程度最高。应当理解,除了考虑相似程度,还可以采用当前已知以及将来开发的其他翻译质量评估算法来确定第二译文130与第一译文110的对应程度。
在某些实施例中,在确定第二译文130的一个部分与第一译文110的一个部分的对应程度时,可以考虑这两个部分之前的一个或几个部分的对应关系。例如,可以基于第二译文130的之前部分与第一译文110的该部分的对应程度(称为“第一对应程度”)、第二译文130的之前部分与第一译文110的之前部分的对应程度(称为“第二对应程度”)、以及第二译文130的该部分与第一译文110的之前部分的对应程度(称为“第三对应程度”)中的至少一个对应程度,来确定第二译文130的该部分与第一译文110的该部分的对应程度。在某些实施例中,可以选择第一对应程度、第二对应程度与第三对应程度中的最大对应程度,继而基于最大对应程度以及第二译文130的该部分与第一译文110的该部分的相似程度来确定第二译文130和第一译文110的这两个部分的对应程度。
下面描述一个具体示例。假设dp(i,j)表示第二译文130的部分135-i与第一译文110的部分120-j的对应程度,其中i为大于2且小于K的任意适当正整数,j为大于2且小于M的任意适当正整数,则dP(i,j)可以通过以下公式(7)来计算。
其中dp(i-1,j-1)表示第二译文的部分135-(i-1)与第一译文110的部分120-(j-1)的对应程度,dp(i-1,j)表示第二译文130的部分135-(i-1)与第一译文110的部分120-j的对应程度,dp(i,j-1)表示第二译文的部分135-i与第一译文110的部分120-(j-1)的对应程度;bleu(i,j)表示第二译文130的部分135-i与第一译文110的部分120-j的相似程度,例如可以使用公式(6)来计算。
在此示例中,dp(i,j)等于dp(i-1,j-1)、dp(i-1,j)和dp(i,j-1)中的最大值与bleu(i,j)之和。这样,在确定第二译文130与第一译文110对应程度时,可以将第二译文130的各部分与第一译文110的各部分之间的一对多和多对一的对应关系考虑在内。例如,如果第二译文130的部分135-i单独对应于第一译文110的部分120-j,则dp(i-1,j-1)较大。如果第二译文130的部分135-i和前面的部分135-(i-1)都对应于第一译文110的部分120-j,则dp(i-1,j)较大。如果第二译文的部分135-i对应于第一译文110的部分120-j和前面的部分120-(j-1),则dp(i,j-1)较大。以此方式,可以有效统计出第二译文130和第一译文110的各部分之间的一对一、一对多和多对一的情况。
在计算了dp(i,j)之后,可以保存的第二译文130和第一译文110的对齐部分的序号。例如,如果dp(i,j)=dp(i-1,j)+bleu(i,j),则表明第二译文130的部分135-i和前面的部分135-(i-1)都对应于第一译文110的部分120-j,则可以将这种对应关系保存下来。在针对第二译文130的所有部分都计算了dp(i,j)之后,就可以确定第二译文130与第一译文110的对应关系。
考虑到即使是完全无关的两个语料,也可以按照上述方式得到某种对应关系,为了进一步提高第二译文130与第一译文110的对应关系确定的可靠性,在某些实施例中,可以设定一个阈值,将dp(i,j)与阈值进行比较。如果dp(i,j)比阈值大,则保存相应的对齐序号。如果dp(i,j)小于阈值,则丢弃该结果。在第一译文110中存在某些多余的信息(例如,关于译者的信息等)时,会出现这样的情况。以此方式,在确定第二译文130与第一译文110的对应关系时,可以将第一译文110中的无关信息排除在外。
应当理解,上面的公式(7)仅仅是示例性的而非限制的。在某些实施例中,除了选择针对前面部分确定的对应程度的最大值,还可以使用其他任意适当方式来参考前面部分的相关对应程度。
由于第二译文130的各个部分与原文105的各个部分一一对应或对齐,所以第二译文130与第一译文110的对应关系也反映了原文105与第一译文110的对应关系。由此,可以根据所确定的第二译文130与第一译文110的对应关系,构建原文105和第一译文110的对齐语料。
继而,在框220,基于所确定的第二译文130与第一译文110的对应关系,使用原文105的多个部分作为输入并且至少使用第二译文130的多个部分以及第一译文110的多个部分作为输出来更新翻译引擎。例如,可以基于所确定的对应关系,将对应或对齐的原文105的部分与第一译文110的部分及相应的第二译文130的部分,分别作为翻译引擎125的输入和输出来更新翻译引擎125。
如上所述,在某些实施例中,可以通过引入变化,经由翻译引擎将原文105转换为多个译文版本。例如,可以通过在转换时采用不同的修改方式,将原文105转换成不同于第二译文130的第三译文。在这些实施例中,在对翻译引擎进行更新时,可以将第三译文的多个部分也作为翻译引擎的输出来进一步优化翻译引擎的更新过程。
方法200的上述操作可以迭代地执行。例如,可以再收集一些第一语言的原文及其第二语言的译文,按照上述过程构建新的高质量的第一语言和第二语言的平行语料。可以将这些新语料与原语料结合,利用其再次更新翻译引擎。这样,可以形成一个不断对翻译引擎进行更新和优化的闭环,即,利用翻译引擎获得高质量的对齐语料,再利用新的对齐语料进一步优化翻译引擎。如此,可以显著提高翻译引擎的翻译性能和效率。
图4示出了根据本公开的某些其他实施例的机器翻译方法400的流程图。在此示例中,第一语言为中文,第二语言为英文。为讨论方便,下文将结合图1对方法400进行说明。
如图4所示,在框405,首先对翻译引擎进行初始化。在框410,获得原文105及其第一译文110。作为示例,所获得的原文105和第一译文110如下所示。
在框415,对原文105和第一译文110进行分句,以得到原文105的多个部分115-1、115-2……115-K和第一译文110的多个部分120-1、120-2……120-M。在此示例中,原文105和第一译文110通过分句被分成了如下部分。
在框420,经由翻译引擎将原文105的多个部分115-1、115-2……115-K分别转换成第二译文130的多个部分135-1、135-2……135-K。例如,原文105被转换成如下第二译文130。
在框425,确定第二译文130的多个部分与第一译文110的多个部分的对应关系。例如,首先利用上面的公式(6),针对第二译文130的每个部分,确定其与第一译文110的各个部分的相似程度。在此示例中,同样以翻译译文中的二元词组在参考译文中出现的比率为基准,并且将标点符号也纳入统计,具体计算过程如下。
bleu(1,1)=8/11
reverse_bleu(1,1)=8/19
f1-bleu=2*bleu*reverse_bleu/(bleu+reverse_bleu)=0.53
……
bleu(3,2)=8/13
reverse_bleu(3,2)=8/13
f1-bleu=2*bleu*reverse_bleu/(bleu+reverse_bleu)=0.62其中bleu(i,j)表示第二译文130的第i部分相对于第一译文110的第j部分的相似程度,reverse_bleu(i,j)表示第一译文110的第j部分相对于第二译文130的第i部分的相似程度,f1-bleu表示第二译文130的一个部分与第一译文110的一个部分的相似程度。
继而,基于针对第二译文130的所有部分以及第一译文110的所有部分确定的f1-bleu,使用上面的公式(7)来确定第二译文130的各个部分与第一译文110的各个部分的对应关系。
在此示例中,第三译文130的部分135-1对应于第一译文110的部分120-1和120-2,第三译文130的部分135-2对应于第一译文110的部分120-3。由于原文105和第二译文130是一一对应的,因此可以构建原文105与第一译文110以及第二译文130的对齐语料,如下所示:
在框430,更新翻译引擎。例如,收集所得到的对齐的双语语料,将这些新语料和原语料结合,用来更新翻译引擎。接下来,可以返回到框410,从而形成一个不断对翻译引擎进行更新的闭环,进一步优化翻译性能。
应理解,上文结合图1至3描述的操作和特征同样适用于方法400,并且具有同样的效果,具体细节不再赘述。
本公开的实施例还提供了用于实现上述方法或过程的相应装置。图5示出了根据本公开的某些实施例的机器翻译装置500的示意性结构框图。
如图5所示,装置500可以包括获得模块510、第一转换模块520、第一确定模块530和第一更新模块。获得模块510被配置为获得第一语言的原文以及原文的第二语言的第一译文。第一转换模块520被配置为经由翻译引擎将原文的多个部分分别转换为第二语言的第二译文的多个部分。第一确定模块530被配置为确定第二译文的多个部分与第一译文的多个部分的对应关系。第一更新模块540被配置为基于所确定的对应关系,使用原文的多个部分作为输入并且至少使用第二译文的多个部分以及第一译文的多个部分作为输出来更新翻译引擎。
在某些实施例中,第一转换模块520可以包括:修改模块,被配置为针对原文的多个部分中的一个部分,修改从原文的一个部分之前的部分转换得到的第二译文的多个部分中的相应部分;以及第二转换模块,被配置为经由翻译引擎,基于修改后的第二译文的相应部分来转换原文的一个部分。
在某些实施例中,翻译引擎可以包括编码引擎和解码引擎。在这些实施例中,第二转换模块可以包括:编码模块,被配置为经由编码引擎对原文的一个部分进行编码;以及解码模块,被配置为经由解码引擎,基于修改后的第二译文的相应部分对编码后的原文的一个部分进行解码。
在某些实施例中,第一确定模块530可以包括第二确定模块,被配置为确定第二译文的多个部分中的一个部分与第一译文的多个部分的对应程度。
在某些实施例中,第二确定模块可以包括:第三确定模块,被配置为针对第一译文的多个部分中的一个部分,至少部分地基于以下中的至少一项来确定第二译文的一个部分与第一译文的一个部分的对应程度:第二译文的一个部分之前的部分与第一译文的一个部分之前的部分的第一对应程度,第二译文的一个部分之前的部分与第一译文的一个部分的第二对应程度,以及第二译文的一个部分与第一译文的一个部分之前的部分的第三对应程度。
在某些实施例中,第三确定模块可以包括:第四确定模块,被配置为确定第二译文的一个部分与第一译文的一个部分的相似程度;第五确定模块,被配置为确定第一对应程度、第二对应程度与第三对应程度中的最大对应程度;以及第六确定模块,被配置为基于最大对应程度和所确定的相似程度,确定第二译文的一个部分与第一译文的一个部分的对应程度。
在某些实施例中,第四确定模块可以包括:第七确定模块,被配置为确定第二译文的一个部分相对于第一译文的一个部分的第一相似程度;第八确定模块,被配置为确定第一译文的一个部分相对于第二译文的一个部分的第二相似程度;以及第九确定模块,被配置为基于第一相似程度和第二相似程度,确定第二译文的一个部分与第一译文的一个部分的相似程度。
在某些实施例中,装置500还可以包括第三转换模块,被配置为经由翻译引擎,将原文的多个部分分别转换为原文的第二语言的不同于第二译文的第三译文的多个部分。在这些实施例中,第一更新模块540可以包括第二更新模块,被配置为基于所确定的对应关系,使用原文的多个部分作为输入并且使用第二译文的多个部分、第三译文的多个部分以及第一译文的多个部分作为输出来更新翻译引擎。
装置500中所包括的单元可以利用各种方式来实现,包括软件、硬件、固件或其任意组合。在一些实施例中,一个或多个单元可以使用软件和/或固件来实现,例如存储在存储介质上的机器可执行指令。除了机器可执行指令之外或者作为替代,装置500中的部分或者全部单元可以至少部分地由一个或多个硬件逻辑组件来实现。作为示例而非限制,可以使用的示范类型的硬件逻辑组件包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD),等等。
图6示出了其中可以实施本公开的一个或多个实施例的计算设备/服务器600的框图。应当理解,图6所示出的计算设备/服务器600仅仅是示例性的,而不应当构成对本文所描述的实施例的功能和范围的任何限制。
如图6所示,计算设备/服务器600是通用计算设备的形式。计算设备/服务器600的组件可以包括但不限于一个或多个处理器或处理单元610、存储器620、存储设备630、一个或多个通信单元640、一个或多个输入设备650以及一个或多个输出设备660。处理单元610可以是实际或虚拟处理器并且能够根据存储器620中存储的程序来执行各种处理。在多处理器系统中,多个处理单元并行执行计算机可执行指令,以提高计算设备/服务器600的并行处理能力。
计算设备/服务器600通常包括多个计算机存储介质。这样的介质可以是计算设备/服务器600可访问的任何可以获得的介质,包括但不限于易失性和非易失性介质、可拆卸和不可拆卸介质。存储器620可以是易失性存储器(例如寄存器、高速缓存、随机访问存储器(RAM))、非易失性存储器(例如,只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、闪存)或它们的某种组合。存储设备630可以是可拆卸或不可拆卸的介质,并且可以包括机器可读介质,诸如闪存驱动、磁盘或者任何其他介质,其可以能够用于存储信息和/或数据(例如用于训练的训练数据)并且可以在计算设备/服务器600内被访问。
计算设备/服务器600可以进一步包括另外的可拆卸/不可拆卸、易失性/非易失性存储介质。尽管未在图6中示出,可以提供用于从可拆卸、非易失性磁盘(例如“软盘”)进行读取或写入的磁盘驱动和用于从可拆卸、非易失性光盘进行读取或写入的光盘驱动。在这些情况中,每个驱动可以由一个或多个数据介质接口被连接至总线(未示出)。存储器620可以包括计算机程序产品625,其具有一个或多个程序模块,这些程序模块被配置为执行本公开的各种实施例的各种方法或动作。
通信单元640实现通过通信介质与其他计算设备进行通信。附加地,计算设备/服务器600的组件的功能可以以单个计算集群或多个计算机器来实现,这些计算机器能够通过通信连接进行通信。因此,计算设备/服务器600可以使用与一个或多个其他服务器、网络个人计算机(PC)或者另一个网络节点的逻辑连接来在联网环境中进行操作。
输入设备650可以是一个或多个输入设备,例如鼠标、键盘、追踪球等。输出设备660可以是一个或多个输出设备,例如显示器、扬声器、打印机等。计算设备/服务器600还可以根据需要通过通信单元640与一个或多个外部设备(未示出)进行通信,外部设备诸如存储设备、显示设备等,与一个或多个使得用户与计算设备/服务器600交互的设备进行通信,或者与使得计算设备/服务器600与一个或多个其他计算设备通信的任何设备(例如,网卡、调制解调器等)进行通信。这样的通信可以经由输入/输出(I/O)接口(未示出)来执行。
根据本公开的示例性实现方式,提供了一种计算机可读存储介质,其上存储有一条或多条计算机指令,其中一条或多条计算机指令被处理器执行以实现上文描述的方法。
这里参照根据本公开实现的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理单元,从而生产出一种机器,使得这些指令在通过计算机或其他可编程数据处理装置的处理单元执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其他可编程数据处理装置、或其他设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实现的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开的各实现,上述说明是示例性的,并非穷尽性的,并且也不限于所公开的各实现。在不偏离所说明的各实现的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文公开的各实现。
Claims (18)
1.一种机器翻译方法,包括:
获得第一语言的原文以及所述原文的第二语言的第一译文;
经由翻译引擎将所述原文的多个部分分别转换为所述第二语言的第二译文的多个部分;
确定所述第二译文的所述多个部分与所述第一译文的多个部分的对应关系;以及
基于所确定的对应关系,使用所述原文的所述多个部分作为输入并且至少使用所述第二译文的所述多个部分以及所述第一译文的所述多个部分作为输出来更新所述翻译引擎。
2.根据权利要求1所述的方法,其中将所述原文的所述多个部分分别转换为所述第二译文的所述多个部分包括:
针对所述原文的所述多个部分中的一个部分,
修改从所述原文的所述一个部分之前的部分转换得到的所述第二译文的所述多个部分中的相应部分;以及
经由所述翻译引擎,基于修改后的所述第二译文的所述相应部分来转换所述原文的所述一个部分。
3.根据权利要求2所述的方法,其中所述翻译引擎包括编码引擎和解码引擎,并且基于修改后的所述第二译文的所述相应部分来转换所述原文的所述一个部分包括:
经由所述编码引擎对所述原文的所述一个部分进行编码;以及
经由所述解码引擎,基于修改后的所述第二译文的所述相应部分对编码后的所述原文的所述一个部分进行解码。
4.根据权利要求1所述的方法,其中确定所述第二译文的所述多个部分与所述第一译文的所述多个部分的对应关系包括:
确定所述第二译文的所述多个部分中的一个部分与所述第一译文的所述多个部分的对应程度。
5.根据权利要求4所述的方法,其中确定所述第二译文的所述一个部分与所述第一译文的所述多个部分的所述对应程度包括:
针对所述第一译文的所述多个部分中的一个部分,至少部分地基于以下中的至少一项来确定所述第二译文的所述一个部分与所述第一译文的所述一个部分的对应程度:
所述第二译文的所述一个部分之前的部分与所述第一译文的所述一个部分之前的部分的第一对应程度,
所述第二译文的所述一个部分之前的所述部分与所述第一译文的所述一个部分的第二对应程度,以及
所述第二译文的所述一个部分与所述第一译文的所述一个部分之前的所述部分的第三对应程度。
6.根据权利要求5所述的方法,其中确定所述第二译文的所述一个部分与所述第一译文的所述一个部分的所述对应程度包括:
确定所述第二译文的所述一个部分与所述第一译文的所述一个部分的相似程度;
确定所述第一对应程度、所述第二对应程度与所述第三对应程度中的最大对应程度;以及
基于所述最大对应程度和所确定的相似程度,确定所述第二译文的所述一个部分与所述第一译文的所述一个部分的所述对应程度。
7.根据权利要求6所述的方法,其中确定所述第二译文的所述一个部分的所述相似程度包括:
确定所述第二译文的所述一个部分相对于所述第一译文的所述一个部分的第一相似程度;
确定所述第一译文的所述一个部分相对于所述第二译文的所述一个部分的第二相似程度;以及
基于所述第一相似程度和所述第二相似程度,确定所述第二译文的所述一个部分与所述第一译文的所述一个部分的所述相似程度。
8.根据权利要求1所述的方法,还包括:
经由所述翻译引擎,将所述原文的所述多个部分分别转换为所述原文的所述第二语言的不同于所述第二译文的第三译文的多个部分,并且
更新所述翻译引擎包括:基于所确定的对应关系,使用所述原文的所述多个部分作为输入并且使用所述第二译文的所述多个部分、所述第三译文的所述多个部分以及所述第一译文的所述多个部分作为输出来更新所述翻译引擎。
9.一种机器翻译装置,包括:
获得模块,被配置为获得第一语言的原文以及所述原文的第二语言的第一译文;
第一转换模块,被配置为经由翻译引擎将所述原文的多个部分分别转换为所述第二语言的第二译文的多个部分;
第一确定模块,被配置为确定所述第二译文的所述多个部分与所述第一译文的多个部分的对应关系;以及
第一更新模块,被配置为基于所确定的对应关系,使用所述原文的所述多个部分作为输入并且至少使用所述第二译文的所述多个部分以及所述第一译文的所述多个部分作为输出来更新所述翻译引擎。
10.根据权利要求9所述的装置,其中所述第一转换模块包括:
修改模块,被配置为针对所述原文的所述多个部分中的一个部分,修改从所述原文的所述一个部分之前的部分转换得到的所述第二译文的所述多个部分中的相应部分;以及
第二转换模块,被配置为经由所述翻译引擎,基于修改后的所述第二译文的所述相应部分来转换所述原文的所述一个部分。
11.根据权利要求10所述的装置,其中所述翻译引擎包括编码引擎和解码引擎,并且所述第二转换模块包括:
编码模块,被配置为经由所述编码引擎对所述原文的所述一个部分进行编码;以及
解码模块,被配置为经由所述解码引擎,基于修改后的所述第二译文的所述相应部分对编码后的所述原文的所述一个部分进行解码。
12.根据权利要求9所述的装置,其中所述第一确定模块包括:
第二确定模块,被配置为确定所述第二译文的所述多个部分中的一个部分与所述第一译文的所述多个部分的对应程度。
13.根据权利要求12所述的装置,其中所述第二确定模块包括:
第三确定模块,被配置为针对所述第一译文的所述多个部分中的一个部分,至少部分地基于以下中的至少一项来确定所述第二译文的所述一个部分与所述第一译文的所述一个部分的对应程度:
所述第二译文的所述一个部分之前的部分与所述第一译文的所述一个部分之前的部分的第一对应程度,
所述第二译文的所述一个部分之前的所述部分与所述第一译文的所述一个部分的第二对应程度,以及
所述第二译文的所述一个部分与所述第一译文的所述一个部分之前的所述部分的第三对应程度。
14.根据权利要求13所述的装置,其中所述第三确定模块包括:
第四确定模块,被配置为确定所述第二译文的所述一个部分与所述第一译文的所述一个部分的相似程度;
第五确定模块,被配置为确定所述第一对应程度、所述第二对应程度与所述第三对应程度中的最大对应程度;以及
第六确定模块,被配置为基于所述最大对应程度和所确定的相似程度,确定所述第二译文的所述一个部分与所述第一译文的所述一个部分的所述对应程度。
15.根据权利要求14所述的装置,其中所述第四确定模块包括:
第七确定模块,被配置为确定所述第二译文的所述一个部分相对于所述第一译文的所述一个部分的第一相似程度;
第八确定模块,被配置为确定所述第一译文的所述一个部分相对于所述第二译文的所述一个部分的第二相似程度;以及
第九确定模块,被配置为基于所述第一相似程度和所述第二相似程度,确定所述第二译文的所述一个部分与所述第一译文的所述一个部分的所述相似程度。
16.根据权利要求9所述的装置,还包括:
第三转换模块,被配置为经由所述翻译引擎,将所述原文的所述多个部分分别转换为所述原文的所述第二语言的不同于所述第二译文的第三译文的多个部分,并且
所述第一更新模块包括:第二更新模块,被配置为基于所确定的对应关系,使用所述原文的所述多个部分作为输入并且使用所述第二译文的所述多个部分、所述第三译文的所述多个部分以及所述第一译文的所述多个部分作为输出来更新所述翻译引擎。
17.一种电子设备,包括:
存储器和处理器;
其中所述存储器用于存储一条或多条计算机指令,其中所述一条或多条计算机指令被所述处理器执行以实现根据权利要求1至8中任一项所述的方法。
18.一种计算机可读存储介质,其上存储有一条或多条计算机指令,其中所述一条或多条计算机指令被处理器执行以实现根据权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010318439.4A CN111814493B (zh) | 2020-04-21 | 2020-04-21 | 机器翻译方法、装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010318439.4A CN111814493B (zh) | 2020-04-21 | 2020-04-21 | 机器翻译方法、装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111814493A true CN111814493A (zh) | 2020-10-23 |
CN111814493B CN111814493B (zh) | 2024-06-25 |
Family
ID=72848308
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010318439.4A Active CN111814493B (zh) | 2020-04-21 | 2020-04-21 | 机器翻译方法、装置、电子设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111814493B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112836529A (zh) * | 2021-02-19 | 2021-05-25 | 北京沃东天骏信息技术有限公司 | 生成目标语料样本的方法和装置 |
CN113887190A (zh) * | 2021-08-20 | 2022-01-04 | 北京中科凡语科技有限公司 | 双语对齐的方法、装置、电子设备及可读存储介质 |
WO2022116821A1 (zh) * | 2020-12-04 | 2022-06-09 | 北京有竹居网络技术有限公司 | 基于多语言机器翻译模型的翻译方法、装置、设备和介质 |
CN114997188A (zh) * | 2022-06-01 | 2022-09-02 | 阿里巴巴(中国)有限公司 | 翻译评估方法、翻译评估模型训练方法及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004220266A (ja) * | 2003-01-14 | 2004-08-05 | Cross Language Inc | 機械翻訳装置および機械翻訳方法 |
CN104834633A (zh) * | 2015-05-29 | 2015-08-12 | 厦门大学 | 一种云翻译输入法及系统 |
WO2017112813A1 (en) * | 2015-12-22 | 2017-06-29 | Sri International | Multi-lingual virtual personal assistant |
CN109710948A (zh) * | 2018-11-27 | 2019-05-03 | 语联网(武汉)信息技术有限公司 | 机器翻译引擎推荐方法及装置 |
-
2020
- 2020-04-21 CN CN202010318439.4A patent/CN111814493B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004220266A (ja) * | 2003-01-14 | 2004-08-05 | Cross Language Inc | 機械翻訳装置および機械翻訳方法 |
CN104834633A (zh) * | 2015-05-29 | 2015-08-12 | 厦门大学 | 一种云翻译输入法及系统 |
WO2017112813A1 (en) * | 2015-12-22 | 2017-06-29 | Sri International | Multi-lingual virtual personal assistant |
CN109710948A (zh) * | 2018-11-27 | 2019-05-03 | 语联网(武汉)信息技术有限公司 | 机器翻译引擎推荐方法及装置 |
Non-Patent Citations (1)
Title |
---|
张敏;李冬梅;尹朝霞;: "基于信息技术的科技翻译系统研究", 情报科学, no. 02 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022116821A1 (zh) * | 2020-12-04 | 2022-06-09 | 北京有竹居网络技术有限公司 | 基于多语言机器翻译模型的翻译方法、装置、设备和介质 |
CN112836529A (zh) * | 2021-02-19 | 2021-05-25 | 北京沃东天骏信息技术有限公司 | 生成目标语料样本的方法和装置 |
CN112836529B (zh) * | 2021-02-19 | 2024-04-12 | 北京沃东天骏信息技术有限公司 | 生成目标语料样本的方法和装置 |
CN113887190A (zh) * | 2021-08-20 | 2022-01-04 | 北京中科凡语科技有限公司 | 双语对齐的方法、装置、电子设备及可读存储介质 |
CN114997188A (zh) * | 2022-06-01 | 2022-09-02 | 阿里巴巴(中国)有限公司 | 翻译评估方法、翻译评估模型训练方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111814493B (zh) | 2024-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110427618B (zh) | 对抗样本生成方法、介质、装置和计算设备 | |
CN112541343B (zh) | 基于词对齐的半监督对抗学习跨语言摘要生成方法 | |
JP4945086B2 (ja) | 論理形式のための統計的言語モデル | |
CN111814493B (zh) | 机器翻译方法、装置、电子设备和存储介质 | |
US9552355B2 (en) | Dynamic bi-phrases for statistical machine translation | |
KR101435265B1 (ko) | 언어 변환에 있어서 다중 리딩 모호성 해결을 위한 방법 | |
US8046211B2 (en) | Technologies for statistical machine translation based on generated reordering knowledge | |
US7209875B2 (en) | System and method for machine learning a confidence metric for machine translation | |
US20060282255A1 (en) | Collocation translation from monolingual and available bilingual corpora | |
Wu et al. | Inversion transduction grammar constraints for mining parallel sentences from quasi-comparable corpora | |
CN105068997B (zh) | 平行语料的构建方法及装置 | |
KR20040044176A (ko) | 구문들 사이의 번역 관계를 학습하기 위한 통계적 방법 및장치 | |
CN110210043A (zh) | 文本翻译方法、装置、电子设备及可读存储介质 | |
US20080208566A1 (en) | Automated word-form transformation and part of speech tag assignment | |
CN107102983B (zh) | 一种基于网络知识源的中文概念的词向量表示方法 | |
CN113836271B (zh) | 自然语言处理的方法和产品 | |
Jian et al. | [Retracted] LSTM‐Based Attentional Embedding for English Machine Translation | |
CN111814479B (zh) | 一种企业简称生成及其模型的训练方法及装置 | |
Jung et al. | End-to-end Korean part-of-speech tagging using copying mechanism | |
Ngo et al. | Combining advanced methods in japanese-vietnamese neural machine translation | |
CN107798386B (zh) | 基于未标注数据的多过程协同训练 | |
CN106776590A (zh) | 一种获取词条译文的方法及系统 | |
CN116306594A (zh) | 一种医学ocr识别纠错方法 | |
CN113486680B (zh) | 文本翻译方法、装置、设备及存储介质 | |
Saengthongpattana et al. | Thai-english and english-thai translation performance of transformer machine translation |
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 |