CN107436865B - 一种词对齐训练方法、机器翻译方法及系统 - Google Patents
一种词对齐训练方法、机器翻译方法及系统 Download PDFInfo
- Publication number
- CN107436865B CN107436865B CN201610353921.5A CN201610353921A CN107436865B CN 107436865 B CN107436865 B CN 107436865B CN 201610353921 A CN201610353921 A CN 201610353921A CN 107436865 B CN107436865 B CN 107436865B
- Authority
- CN
- China
- Prior art keywords
- words
- translation
- sentence
- parallel
- vocabulary
- 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
- 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
- G06F40/44—Statistical methods, e.g. probability models
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本申请公开了一种词对齐训练方法、机器翻译方法及系统,用以提高词对齐训练效率。本申请提供的一种词对齐训练方法,包括:确定多个平行语料的词汇翻译总表,所述词汇翻译总表包括每一平行语料中源语句的词到目标语句的词的翻译概率;将所述词汇翻译总表进行拆分,得到多个词汇翻译子表,所述词汇翻译子表包括至少一个平行语料中的源语句的词到目标语句的词的翻译概率;基于所述词汇翻译子表,确定平行语料中的源语句的词与目标语句的词的对齐关系。
Description
技术领域
本申请涉及信息处理技术领域,尤其涉及一种词对齐训练方法、机器翻译方法及系统。
背景技术
统计机器翻译技术是当前机器翻译的主流技术,词对齐是机器翻译训练技术的核心,词对齐是从双语句对中经过统计与分析,计算出每个双语句对中词与词之间的对齐结果。词对齐的性能直接影响后续翻译准确性。
词对齐技术属于线下训练部分,一个好的统计机器翻译系统,训练语料规模一般情况下都在上千万句级别,现有技术中词对齐训练可以在单台机器上实现,但由于训练语料数量庞大,因此得到的词对齐训练结果需要占据很大内存,并且需要花费很长时间,例如,在内存128G的服务器上,基于上千万句级别的训练语料的词对齐训练所花费时间在60小时左右。一次翻译系统升级,往往伴随着多次的词对齐训练和试验,所以线下词对齐训练成为机器翻译系统的升级瓶颈,严重影响翻译系统迭代升级的速度。
为了提高词对齐训练速度,减轻单台机器的运行压力,现有技术中还可以采用分布式集群进行词对齐训练,即在多台机器上进行词对齐训练,但是,无论采用哪种词对齐训练技术,现有技术中的词对齐训练都需要维护一张很大矩阵的词汇表,也就是源语言词汇到目标语言词汇的二维矩阵,通常而言,该矩阵能达到20G以上或者更大,维护如此之大的矩阵给技术带来很大的挑战。在单机模式下,容易导致内存不足,并且单机的词对齐训练过程需要占用较长时间。但是在分布式集群中,每个集群都需要加载如此之大的矩阵,会将集群的资源消耗掉,与此同时,在集群中分发如此之大的矩阵也会耗光整个集群的网络资源,并且也会影响词对齐训练的效率。
发明内容
本申请实施例提供了一种分布式词对齐训练方法、机器翻译方法及系统,用以提高词对齐训练效率,并且减轻分布式集群的资源消耗。
本申请实施例提供的一种词对齐训练方法,包括:
确定多个平行语料的词汇翻译总表,所述词汇翻译总表包括每一平行语料中源语句的词到目标语句的词的翻译概率;
将所述词汇翻译总表进行拆分,得到多个词汇翻译子表,所述词汇翻译子表包括至少一个平行语料中的源语句的词到目标语句的词的翻译概率;
基于所述词汇翻译子表,确定平行语料中的源语句的词与目标语句的词的对齐关系。
通过该方法,确定多个平行语料的词汇翻译总表,所述词汇翻译总表包括每一平行语料中源语句的词到目标语句的词的翻译概率;将所述词汇翻译总表进行拆分,得到多个词汇翻译子表,所述词汇翻译子表包括至少一个平行语料中的源语句的词到目标语句的词的翻译概率;基于所述词汇翻译子表,确定平行语料中的源语句的词与目标语句的词的对齐关系,从而提高了词对齐训练效率。具体地,在分布式计算系统中,上述得到的词汇翻译总表比较大,若分发到分布式计算系统中的所有的节点需要耗费很久的时间。因此,本申请实施例中,通过将上述得到的词汇翻译总表拆分成很多小的词汇翻译子表,后续可以将词汇翻译子表分发到分布式计算系统中的不同的计算节点分别进行相应计算,从而极大的降低了分发所需的时间,提高了词对齐训练效率,并避免了分布式系统对于资源的限制问题。
可选地,确定多个平行语料的词汇翻译总表,具体包括:
针对所述平行语料,采用源语句的词与目标语句的词的翻译概率,计算该平行语料中源语句的词与目标语句的词的对齐概率;
根据所述平行语料中源语句的词与目标语句的词的对齐概率,计算源语句的词与目标语句的词的翻译概率,生成包括每一平行语料中源语句的词到目标语句的词的翻译概率的词汇翻译总表。
可选地,将所述词汇翻译总表进行拆分,得到多个词汇翻译子表,具体包括:
以平行语料为单位,将所述词汇翻译总表进行拆分,得到多个词汇翻译子表。
可选地,以平行语料为单位,将所述词汇翻译总表进行拆分,得到多个词汇翻译子表,包括:
针对每一平行语料,将该平行语料的标识与该平行语料中源语句的词到目标语句的词的翻译概率的对应关系添加到词汇翻译总表;
对添加有平行语料的标识的词汇翻译总表进行拆分,确定每一平行语料的标识对应的源语句的词与目标语句的词,以及该源语句的词与目标语句的词的翻译概率;
以平行语料的标识为单位,聚合同一平行语料的标识对应的源语句的词与目标语句的词的翻译概率,得到每一平行语料标识对应的词汇翻译子表。
可选地,基于所述词汇翻译子表,确定平行语料中的源语句的词与目标语句的词的对齐关系,具体包括:
分布式集群中的第一节点将不同的所述词汇翻译子表,发给分布式集群中的不同的第二节点,由第一节点和第二节点基于源语句的词与目标语句的词的翻译概率、对齐概率进行迭代处理,直至满足预设的收敛条件时,输出平行语料中的源语句的词与目标语句的词的对齐关系。
可选地,将每一平行语料的标识与对应的词汇翻译子表进行压缩,然后再发给分布式集群中的不同的第二节点,从而可以进一步节省存储空间。
可选地,所述的收敛条件包括:达到预设的迭代处理次数;或者,当前计算得到的源语句的词与目标语句的词的对齐概率相比上一次计算得到的同一源语句的词与同一目标语句的词的对齐概率的差值,在预设范围内。
可选地,所述词汇翻译总表以及所述词汇翻译子表中的源语句的词以及目标语句的词,均用数字编码表示。
可选地,任一所述词的数字编码,是预先根据该词在所述多个平行语料中的出现概率确定的。
本申请实施例提供的一种机器翻译方法,包括:
确定需要翻译的源语句;
根据预先训练得到的平行语料中的源语句的词与目标语句的词的对齐关系,确定需要翻译的源语句所对应的目标语句;
其中,所述对齐关系是采用如下方式训练得到的:
确定多个平行语料的词汇翻译总表,所述词汇翻译总表包括每一平行语料中源语句的词到目标语句的词的翻译概率;
将所述词汇翻译总表进行拆分,得到多个词汇翻译子表,所述词汇翻译子表包括至少一个平行语料中的源语句的词到目标语句的词的翻译概率;
基于所述词汇翻译子表,确定平行语料中的源语句的词与目标语句的词的对齐关系。
与上述词对齐训练方法相对应地,本申请实施例提供的一种词对齐训练系统,包括:
第一单元,用于确定多个平行语料的词汇翻译总表,所述词汇翻译总表包括每一平行语料中源语句的词到目标语句的词的翻译概率;
第二单元,用于将所述词汇翻译总表进行拆分,得到多个词汇翻译子表,所述词汇翻译子表包括至少一个平行语料中的源语句的词到目标语句的词的翻译概率;
第三单元,用于基于所述词汇翻译子表,确定平行语料中的源语句的词与目标语句的词的对齐关系。
可选地,所述第一单元具体用于:
针对所述平行语料,采用源语句的词与目标语句的词的翻译概率,计算该平行语料中源语句的词与目标语句的词的对齐概率;
根据所述平行语料中源语句的词与目标语句的词的对齐概率,计算源语句的词与目标语句的词的翻译概率,生成包括每一平行语料中源语句的词到目标语句的词的翻译概率的词汇翻译总表。
可选地,所述第二单元具体用于:
以平行语料为单位,将所述词汇翻译总表进行拆分,得到多个词汇翻译子表。
可选地,所述第二单元具体用于:
针对每一平行语料,将该平行语料的标识与该平行语料中源语句的词到目标语句的词的翻译概率的对应关系添加到词汇翻译总表;
对添加有平行语料的标识的词汇翻译总表进行拆分,确定每一平行语料的标识对应的源语句的词与目标语句的词,以及该源语句的词与目标语句的词的翻译概率;
以平行语料的标识为单位,聚合同一平行语料的标识对应的源语句的词与目标语句的词的翻译概率,得到每一平行语料标识对应的词汇翻译子表。
可选地,所述系统为分布式集群,所述分布式集群中的第一节点将不同的所述词汇翻译子表,发给分布式集群中的不同的第二节点,由第一节点和第二节点基于源语句的词与目标语句的词的翻译概率、对齐概率进行迭代处理,直至满足预设的收敛条件时,输出平行语料中的源语句的词与目标语句的词的对齐关系。
可选地,所述的收敛条件包括:达到预设的迭代处理次数;或者,当前计算得到的源语句的词与目标语句的词的对齐概率相比上一次计算得到的同一源语句的词与同一目标语句的词的对齐概率的差值,在预设范围内。
可选地,所述词汇翻译总表以及所述词汇翻译子表中的源语句的词以及目标语句的词,均用数字编码表示。
可选地,任一所述词的数字编码,是预先根据该词在所述多个平行语料中的出现概率确定的。
本申请实施例提供的一种机器翻译系统,包括:
确定单元,用于确定需要翻译的源语句;
翻译单元,用于根据预先训练得到的平行语料中的源语句的词与目标语句的词的对齐关系,确定需要翻译的源语句所对应的目标语句;
训练单元,用于采用如下方式训练得到所述对齐关系:
确定多个平行语料的词汇翻译总表,所述词汇翻译总表包括每一平行语料中源语句的词到目标语句的词的翻译概率;
将所述词汇翻译总表进行拆分,得到多个词汇翻译子表,所述词汇翻译子表包括至少一个平行语料中的源语句的词到目标语句的词的翻译概率;
基于所述词汇翻译子表,确定平行语料中的源语句的词与目标语句的词的对齐关系。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种词对齐训练方法的总体流程示意图;
图2为本申请实施例提供的一种词对齐训练方法的具体流程示意图;
图3为本申请实施例提供的分布式集群的结构示意图;
图4为本申请实施例提供的一种词对齐训练系统的结构示意图;
图5为本申请实施例提供的一种机器翻译系统的结构示意图。
具体实施方式
本申请实施例提供了一种词对齐训练方法及系统,用以提高词对齐训练效率。
本申请实施例针对现有技术的缺点,提出了一种高效的分布式词对齐训练方法。采用倒排索引的技术计算每个句对所需要的词汇表(即所述的每一平行语料中的源语句的词与目标语句的词的词汇翻译子表),然后该词汇表可以随双语句对一起分发到并行集群中的每个处理节点,避免了动态加载整个平行语料的词汇表(即所述的源语句的词与目标语句的词的词汇翻译总表),降低了并行集群中的每个处理节点的资源消耗。其次,避免了使用提前过滤的策略减少整个大的词汇表,而是每个句对只维护单独自己需要的词汇表,由于该词汇表动态分发到所需要的计算节点,占用内存极少,无需动态内存加载技术。最后,本申请实施例采用了Huffman词汇数字化压缩策略、gzip压缩词汇表策略,将占用存储空间降低到现有技术的1/50,解决了存储空间不足而导致训练失败的问题,据估计1000万平行语料规模,仅占用存储空间100G。
下面结合附图对本申请实施例提供的技术方案进行说明。
参见图1,本申请实施例提供的一种词对齐训练方法,包括:
S101、确定多个平行语料的词汇翻译总表,所述词汇翻译总表包括每一平行语料中源语句的词到目标语句的词的翻译概率;
关于所述词汇翻译总表,例如,若有一个平行语料:
我来自中国
I come from China
将我来自中国分为3个词,分别为我、来自、中国,同理,将I come from China分为3个词,分别为I、come from、China,则建立了包含3*3=9个对应关系的词汇翻译总表。
S102、将所述词汇翻译总表进行拆分,得到多个词汇翻译子表,所述词汇翻译子表包括至少一个平行语料中的源语句的词到目标语句的词的翻译概率;
S103、基于所述词汇翻译子表,确定平行语料中的源语句的词与目标语句的词的对齐关系。
也就是说,本申请实施例将整个大的源语句的词与目标语句的词的词汇翻译总表进行拆分,以每一平行语料为单位,拆分成多个小的源语句的词与目标语句的词的词汇翻译子表,每一平行语料对应一源语句的词与目标语句的词的词汇翻译子表,从而可以分发到并行集群中的每个处理节点,由分布式的多个处理节点并行地进行后续处理,因此提高了词对齐训练效率。
可选地,确定多个平行语料的词汇翻译总表,具体包括:
针对所述平行语料,采用源语句的词与目标语句的词的翻译概率,计算该平行语料中源语句的词与目标语句的词的对齐概率;
根据所述平行语料中源语句的词与目标语句的词的对齐概率,计算源语句的词与目标语句的词的翻译概率,生成包括每一平行语料中源语句的词到目标语句的词的翻译概率的词汇翻译总表。
预先初始化源语句的词与目标语句的词的词汇翻译概率,不同的词可以初始化相同或不同的词汇翻译概率,初始化的词汇翻译概率可以设置的很小,例如:预先初始化源语句的词与目标语句的词的翻译概率均为10-6,则以上述平行语料为例,我与I的对齐概率是我到I的翻译概率除以我到I的翻译概率与我到come from的翻译概率、我到China的翻译概率的和,即10-6/(10-6+10-6+10-6)。
假设所有平行语料中,与我存在对应关系的分别为I、me、my,并且经计算得到我与I的对齐概率是0.8,我与me的对齐概率是0.9,我与my的对齐概率是0.5,则我到I的翻译概率为:0.8/(0.8+0.9+0.5)。
可选地,将所述词汇翻译总表进行拆分,得到多个词汇翻译子表,具体包括:
以平行语料为单位,将所述词汇翻译总表进行拆分,得到多个词汇翻译子表。
可选地,以平行语料为单位,将所述词汇翻译总表进行拆分,得到多个词汇翻译子表,包括:
步骤一:针对每一平行语料,将该平行语料的标识与该平行语料中源语句的词到目标语句的词的翻译概率的对应关系添加到词汇翻译总表;
例如:该步骤一结束后得到的词汇翻译总表中的一行为:
我I平行语料1/3/5翻译概率;
其中,我和I分别出现在平行语料1、3、5中,1、3、5分别为三个不同的平行语料的标识,该行中的翻译概率,即我到I的翻译概率。
步骤二:对添加有平行语料的标识的词汇翻译总表进行拆分,确定每一平行语料的标识对应的源语句的词与目标语句的词,以及该源语句的词与目标语句的词的翻译概率;
例如:将添加有平行语料的标识的词汇翻译总表中的一行:我I平行语料1/3/5翻译概率,拆成三行,分别为:
平行语料1我I翻译概率
平行语料3我I翻译概率
平行语料5我I翻译概率
步骤三:以平行语料的标识为单位,聚合同一平行语料的标识对应的源语句的词与目标语句的词的翻译概率,得到每一平行语料标识对应的词汇翻译子表。
例如聚合平行语料1中的所有源语句的词与目标语句的词的翻译概率,从而得到平行语料1对应的词汇翻译子表。
可选地,基于所述词汇翻译子表,确定平行语料中的源语句的词与目标语句的词的对齐关系,具体包括:
分布式集群中的第一节点将不同的所述词汇翻译子表,发给分布式集群中的不同的第二节点(例如,一个第二节点处理一个词汇翻译子表),由第一节点和第二节点基于源语句的词与目标语句的词的翻译概率、对齐概率进行迭代处理,直至满足预设的收敛条件时,输出平行语料中的源语句的词与目标语句的词的对齐关系。其中,所述第一节点,可以称为reduce节点,所述第二节点,可以称为map节点。
可选地,由第一节点和第二节点基于源语句的词与目标语句的词的翻译概率、对齐概率进行迭代处理,直至满足预设的收敛条件时,输出平行语料中的源语句的词与目标语句的词的对齐关系,具体包括:
第二节点基于平行语料对应的词汇翻译子表中的翻译概率,确定该平行语料的源语句的词与目标语句的词的对齐概率,并根据对齐概率判断是否满足预设的收敛条件,若是,则输出该平行语料的词对齐训练结果,否则,将该平行语料的源语句的词与目标语句的词的对齐概率发送给第一节点,由第一节点基于源语句的词与目标语句的词的对齐概率,计算源语句的词与目标语句的词的翻译概率,并发送给第二节点基于该翻译概率计算源语句的词与目标语句的词的对齐概率,并根据对齐概率判断是否满足预设的迭代结束条件,如此类推,直到满足预设的收敛条件为止。
可选地,所述的收敛条件包括:达到预设的迭代处理次数,例如4次;或者,当前计算得到的源语句的词与目标语句的词的对齐概率相比上一次计算得到的同一源语句的词与同一目标语句的词的对齐概率的差值,在预设范围内,即相邻两次迭代结果相差无几,可以认为已经收敛,没必要再次进行迭代计算。
相应地,本申请实施例提供的一种机器翻译方法,包括:
确定需要翻译的源语句;
根据预先训练得到的平行语料中的源语句的词与目标语句的词的对齐关系,确定需要翻译的源语句所对应的目标语句;
其中,所述对齐关系是采用如下方式训练得到的:
确定多个平行语料的词汇翻译总表,所述词汇翻译总表包括每一平行语料中源语句的词到目标语句的词的翻译概率;
将所述词汇翻译总表进行拆分,得到多个词汇翻译子表,所述词汇翻译子表包括至少一个平行语料中的源语句的词到目标语句的词的翻译概率;
基于所述词汇翻译子表,确定平行语料中的源语句的词与目标语句的词的对齐关系。
可选地,所述词汇翻译总表以及所述词汇翻译子表中的源语句的词以及目标语句的词,均用数字编码表示。从而可以节省存储空间,并提高计算词汇翻译概率和词对齐概率的效率。
可选地,任一所述词的数字编码,是预先根据该词在所述多个平行语料中的出现概率确定的。
可选地,采用如下方式确定每一词的数字编码:
针对每一平行语料中的每一训练语句,统计该训练语句中每个词的出现概率;
统计所有平行语料中每个词的出现概率,并根据所有平行语料中每个词的出现概率,确定相应的数字编码。
可选地,词的出现概率越大,该词的数字编码越小。从而可以进一步节省存储空间,并提高计算词汇翻译概率和词对齐概率的效率。
下面给出本申请实施例提供的技术方案的更为详细的举例说明。
参见图2,本申请实施例提出了一种分布式词对齐训练方法,具体包括以下三部分内容。
第一部分、数字化:首先,平行语料经过map阶段统计每个训练句子中词出现的局部频率,例如每一map节点统计一个平行语料中每个词出现的频率,并发送给reduce节点,然后在reduce阶段,由reduce节点统计每个词在所有平行语料中出现的频率。得到所有词的出现频率之后,依据词的出现频率由高到低进行排序,然后从0开始对每一个词进行数字化。一种实施方式是采用Huffman数字化,当然也可以采用其他方式进行数字化。Huffman数字化的思想就是出现频率最多的词用较小的数字编码进行表示,出现频率较少的词用较大的数字编码表示,达到降低全局存储空间的目的。经过Huffman数字化之后,由字符串组成的平行语料转变成数字组成的平行语料,之后所有的流程都在数字化的平行语料上进行操作。
其中,所述平行语料也可以称为双语语料,是自然语言处理中的专业术语。就是一种语言的句子与另外一种语言句子存在一一对应关系的语料。举个例子,中英平行语料如下:
中:我来自中国。英:I come from China.
中:我很高兴啊!英:I am very happy!
所述的map阶段,主要是map节点统计一句或多句话中每句话中的词出现的频率。举个例子:如果map阶段的输入只有两句话,经过map阶段之后,输出结果如下:
第一句话“you like cat and I like dog”,其map阶段之后的输出结果如下面表一所示:
单词 | 频率 |
you | 1 |
like | 2 |
cat | 1 |
and | 1 |
I | 1 |
dog | 1 |
表一
表一中所示,单词“you”在第一句话中出现1次,单词“like”出现2次……以此类推。
第二句话“you love me and I love you”,其map阶段之后的输出结果如下面表二所示:
单词 | 频率 |
you | 2 |
love | 2 |
me | 1 |
and | 1 |
I | 1 |
表二
以上表一、表二统计的是词的局部频率,即统计的是在每一句话中每个词出现的频率。
所述的reduce阶段主要统计每个词在所有训练语句中出现的频率。该阶段主要在map阶段每一map节点的输出结果之上进行累加,或者称为聚合。继续以上述两句话为例进行说明:
将上述表一和表二的结果进行合并,得到如下表三所示结果:
单词 | 频率 |
you | 3 |
like | 2 |
cat | 1 |
dog | 1 |
and | 2 |
love | 2 |
me | 1 |
I | 2 |
表三
map阶段统计了词在每一个训练语句中出现的频率,而reduce阶段统计词出现在所有训练语句中的频率。若总共有上述第一句话和第二句话共两句话,则map阶段分别统计每一句话中词出现的频率,reduce阶段将map阶段的输出进行合并,得到词在全局中出现的频率。
对于每一个词,该词出现在所有句子中的频率,就是指全局频率,也可以称为该词的词频,如表三中所示。
例如,平行语料如下:
中:我来自中国。英:I come from China.
中:我很高兴啊!英:I am very happy!
上述两个平行语料经过上述的map和reduce阶段的词频统计,得到结果如下面的表四中的前两列所示:
表四
需要说明的是,由上述表四所示,标点符号也可以看作是词,进行词频统计以及数字化处理。
然后,根据词频进行Huffman数字化,词频越大,Huffman数字越小,词频越小,Huffman数字越大。每个单词有且仅有一个Huffman数字,这个数字唯一的代表了该单词。所述的数字化平行语料,即指将数字代替单词的过程,经过该过程,上述两个平行语料可以最终得到如下结果的表示方式:
中:0 3 4 15英:1 8 9 10 2
中:0 5 6 7 14英:1 11 12 13 2
第二部分、EM算法:通过多次迭代求出源语句和目标语句的词汇翻译概率(源语句的词到目标语句的词的翻译概率)和词汇对齐概率(源语句的词与目标语句的词的对齐概率),EM算法流程主要包括以下三个步骤:
步骤一、初始化:首先初始化源语言和目标语言的词汇翻译概率,全部赋值成很小的概率值。例如,在经过数字化的平行语料上,初始化词汇化翻译概率,该概率例如为10-6。
以上述数字化平行语料的第一句(中:0 3 4 15英:1 8 9 10 2)为例,其各个词的初始化词汇翻译概率如下表五所示:
表五
从上面的表五中可以看出,所述词汇翻译概率就是中文的每一个词与英文的每一个词的翻译概率。初始化的词汇翻译概率通常取值比较小。
步骤二、词对齐概率计算:
该步骤对应EM算法中的E步骤,map阶段的输入流是数字化的平行语料,通过查询上一轮迭代产生的词汇翻译概率表(或初始化的词汇翻译概率表),求出一个平行语料(f,e)的对齐概率,其中f=(f0,f1,...,fn)表示源语言句子,即源语句,e=(e0,e1,...,em)表示目标语句,则计算单词(fi,ej)的对齐概率的公式如下:
其中,f(french缩写)表示源语句,其共有n+1个单词,例如,
中:我来自中国。=>f=(我,来自,中国,。)
中:我很高兴啊!=>f=(我,很,高兴,啊,!)
e(english缩写)表示目标语句,其共有m+1个单词,例如:
英:I come from China.=>e=(I,come,from,China,.)
英:I am very happy.=>e=(I,am,very,happy,.)
此处的公式就是计算平行语料中的源语句中每一个单词到目标语句中每一个单词的对齐概率。
map阶段,每一map节点输出以源语言单词fi为key,其候选对齐目标语单词ej为value,利用分布式集群节点按照key排序的特性,输出到reduce节点。
其中,所述的EM算法,即最大期望算法(Expectation Maximization Algorithm,又译期望最大化算法),是一种迭代算法,用于含有隐变量(hidden variable)的概率参数模型的最大似然估计或极大后验概率估计。最大期望算法经过两个步骤交替进行计算:
第一步是计算期望(E),简称E步骤:利用对隐藏变量的现有估计值,计算其最大似然估计值;
第二步是最大化(M),简称M步骤:最大化在E步骤上求得的最大似然值来计算参数的值。
M步骤上找到的参数估计值被用于下一个E步骤计算中,这个过程不断交替进行。
总体来说,EM的算法流程如下:
初始化分布参数;
E步骤:估计未知参数的期望值,给出当前的参数估计;
M步骤:重新估计分布参数,以使得数据的似然性最大,给出未知变量的期望估计。
重复E步骤和M步骤,直到收敛为止。
其中的E步骤就是根据隐藏变量的现有估计值(例如本申请实施例中的词汇翻译概率),计算对齐的最大似然估计值。以上述例子进行说明:假设只以中文端的“我”进行说明,初始化的词汇翻译概率表如下表六所示,其中“我”在上述两个平行语料(第一平行语料:中:0 3 4 15英:1 8 9 10 2,以及第二平行语料:中:0 5 6 7 14英:1 11 12 13 2)中都有出现过,因此“我”可以对齐到这两个平行语料中的英语的两个句子中的任何一个单词。
表六
需要说明的是,上述表六中,初始化的词汇翻译概率均为10-6,也可以设置为其他的不同值。
因此,根据表六进行归一化就可以得到单词“我”对应到上述两个平行语料中所有单词的对齐概率,比如表六中第一行源语句中的单词0(即“我”)到目标语句中的单词1(即“I”)的对齐概率计算公式如下:
同理,表六中第一行源语句中的单词0到目标语句中的单词11(即单词“am”)的对齐概率计算公式如下:
经过本申请实施例中的计算对齐概率之后,也就是map阶段的核心计算逻辑计算完之后,需要将计算之后的词对齐概率分发到reduce节点上。分布式系统(比如hadoop,ODPS)节点之间的分发都是通过(key,value)形式进行的,相同的key分发到同一个reduce节点上。map阶段输出的key是源语句词汇,value是目标语句词汇与对齐概率组合形成的,例如,如下表七所示:
表七
需要说明的是,参见图3,本申请实施例提供的技术方案是由分布式集群实现的,该分布式集群包括map节点和reduce节点。本申请实施例中所述的map阶段,就是由map节点执行操作的阶段,所述reduce阶段就是由reduce节点执行操作的阶段。所谓的迭代处理,就是各个map节点将各自的处理结果发给reduce节点,由reduce节点进行相关的聚合操作,然后再讲结果分发给不同的map节点,再由各个map节点进行相关的处理后,将各自的处理结果发给reduce节点,由reduce节点进行相关的聚合操作,如此反复,直到满足收敛条件,输出源语句的词与目标语句的词的对齐结果。
步骤三、词汇翻译概率计算:
该步骤对应EM算法中的M步骤,map阶段的输出按照key排序后输出到本步骤的reduce节点上。根据map阶段和reduce阶段的特点,同一个key对应的输出流,肯定会分发在同一个reduce节点上,所以可计算出源语句单词到目标语句单词的翻译概率:
该概率输出后,重复步骤二、三直到收敛,收敛时步骤二不再计算词对齐概率,而是直接输出对齐结果,源语句单词fi对齐的目标语句词汇为:
本申请实施例中的M步骤主要根据词对齐概率计算词汇翻译概率。分布式系统,一般由map节点和reduce节点组成。map节点做数据的处理,然后将处理好的数据分发到reduce节点,reduce节点负责进行数据的聚合以及进一步处理。
以单词“我”为例,假设map阶段输出内容如下表八所示:
Key | Value | 来源 |
0 | 1_0.2 | 第1句话 |
0 | 1_0.2 | 第2句话 |
0 | 2_0.2 | 第1句话 |
0 | 2_0.2 | 第2句话 |
0 | 8_0.2 | 第1句话 |
0 | 9_0.2 | 第1句话 |
0 | 10_0.2 | 第1句话 |
0 | 11_0.2 | 第2句话 |
0 | 12_0.2 | 第2句话 |
0 | 13_0.2 | 第2句话 |
表八
上述表八就是reduce节点接收到的内容,在进行计算词汇翻译概率之前,可以首先做一下格式的转换,将上述表八转换成如下表九所示的格式:
表九
根据上述公式以及上面转换后的表九,计算词汇翻译概率如下:
可以看出,此处的K为集合(1,2,8,9,10,11,12,13),A代表的是集合{a(0|1),a(0|2),a(0|8),a(0|9),a(0|10),a(0|11),a(0|12),a(0|13)}
计算得到了源语句的词到目标语句的词的翻译概率后,在任意一个平行语料中,选择词对齐概率最大的作为最后的对齐。举个例子,以上面的两个平行语料(第一平行语料:中:0 3 4 15英:1 8 9 10 2,以及第二平行语料:中:0 5 6 7 14英:1 11 12 13 2)中的“我”为例,假设其词汇翻译概率表如下表十所示:
表十
从上述表十中可以看出,单词“0”对应单词“1”的词汇翻译概率最大,因此,就选择单词“0”与单词“1”对齐。即从目标语句(1,2,8,9,10,11,12,13)中选择出一个词汇与源语句中的单词“0”进行对齐,选择词汇翻译概率最大的那个即可,同理,对于源语句中的其他单词,也采用类似方式进行词对齐。
第三部分、词汇表计算:
在数字化的平行语料上,首先建立词汇到平行语料的倒排索引,该索引说明哪些词汇出现在哪些平行语料里面。得到倒排索引之后,和第二部分输出的词汇翻译总表(即所有的源语句中的词与目标语句中的词的对齐关系的词汇表)进行合并,即针对每一平行语料,将该平行语料的标识与该平行语料中源语句的词到目标语句的词的翻译概率的对应关系添加到词汇翻译总表,得到每个词汇的词汇翻译概率与所出现的平行语料的标识(ID)的对应关系。然后,经过map阶段,按照平行语料的ID为key进行分发词汇及其词汇翻译概率,在reduce阶段将同一平行语料的ID的所有词汇聚合在一起,然后使用gzip压缩策略进行压缩,并保存每一平行语料对应的词汇表,即词汇翻译子表。该压缩的词汇表用于第二部分的输入。
例如,针对平行语料1“中:我来自中国。英:I come from China.”;以及,平行语料2“中:我很高兴啊!英:I am very happy!”,建立如下表十一所示的倒排索引,就是词汇到句子的索引,平行语料同理,可以将句子等同于平行语料。
词汇 | 平行语料ID |
0_1 | 1和2 |
0_8 | 1 |
0_10 | 1 |
0_2 | 1和2 |
………. | …….. |
表十一
上述表十一中的第一列就是源语句中的词汇到目标语句的词汇的对齐结果,第二列是词汇出现过的平行语料的集合。比如单词“0_1”出现在平行语料1和平行语料2中,因此是“1和2”。
上述的整体大词汇表,即上述步骤三得到的多个平行语料的词汇翻译总表,该词汇翻译总表保存了所有源语句中的词汇到目标语句的词的翻译概率。举例如下:
词汇 | 词汇翻译概率 |
0_1 | 0.25 |
0_8 | 0.1 |
0_10 | 0.1 |
0_2 | 0.15 |
………. | …….. |
表十二
例如,上述表十二中的第一行,表示单词“0”到单词“1”的词汇翻译概率为0.25。
该第三部分主要执行两个步骤,第一个步骤就是两个表的合并操作,例如将上述表十一和表十二进行合并,得到如下所示的表十三:
表十三
第二个步骤是以句子ID为key,以词汇_翻译概率为value分发到reduce节点上。因此map阶段的输出为如下表十四所示:
Key | Value |
1 | 0_1|0.25 |
2 | 0_1|0.25 |
1 | 0_8|0.1 |
2 | 0_10|0.1 |
1 | 0_2|0.15 |
2 | 0_2|0.15 |
表十四
可见,该第三部分最终得到的结果,就是每一平行语料中的源语句的词与目标语句的词的词汇翻译子表,其中包括句子标识与源语句的词与目标语句的词的对齐关系,以及词汇翻译概率。
综上:
本申请实施例提供的技术方案中,所有计算过程都是在分布式集群上进行,训练速度为单机模式的5~6倍,以3300万句对英土语料为例,单机抽取正反对齐需要30个小时,而本申请实施例只需要3.5个小时左右。
其中,所述的正反对齐解释如下:
对齐分为两个方向,一种是正向对齐(f到e的对齐),一种是反向对齐(e到f的对齐)。由于对齐中有一个较强的约束,允许多对一,不允许一对多。多对一的含义就是源语句的多个词汇对应目标语句的同一个词汇。因此才会出现了正反对齐。最终的对齐结果其实是正反对齐的合并结果。
本申请实施例中采用倒排索引实时计算词汇表:reduce节点通过使用倒排索引的技术,建立词汇到平行语料的倒排,然后和词汇翻译总表进行合并,然后以平行语料为单位进行拆分,得到每个平行语料所需要的词汇翻译子表,随平行句对一起分发到map节点,极大的降低了内存的占用。同时,由于每个map节点无需加载词汇翻译总表,该词汇翻译总表一般会多达20G,在并行集群上无需分发该词汇翻译总表,同时也无需使用提前过滤的策略将低概率的词汇表进行过滤,保证了概率的归一化,无精度损失。通过倒排索引的技术,实时计算每个平行句对所需的词汇翻译子表,不仅极大的降低了内存的使用,从几G降低为几M,而且无需使用动态内存加载以及过滤低概率词汇表,保证了概率的归一化,提高了训练的精度。
另外,关于本申请实施例中的Huffman数字化及词汇翻译子表压缩:通过Huffman数字化平行语料以及在倒排索引过程中使用gzip压缩算法对词汇翻译子表进行压缩,将存储空间降低为之前的1/50,解决了在训练大规模语料时由于存储空间不足而导致训练失败的问题,即节约了存储空间,提高系统性能。
本申请实施例提供的一种机器翻译方法,包括:
确定需要翻译的源语句;
根据预先训练得到的平行语料中的源语句的词与目标语句的词的对齐关系,确定需要翻译的源语句所对应的目标语句;
其中,所述对齐关系是采用如下方式训练得到的:
确定多个平行语料的词汇翻译总表,所述词汇翻译总表包括每一平行语料中源语句的词到目标语句的词的翻译概率;
将所述词汇翻译总表进行拆分,得到多个词汇翻译子表,所述词汇翻译子表包括至少一个平行语料中的源语句的词到目标语句的词的翻译概率;
基于所述词汇翻译子表,确定平行语料中的源语句的词与目标语句的词的对齐关系。
与上述方法相对应地,本申请实施例提供的一种词对齐训练系统,参见图4,包括:
第一单元11,用于确定多个平行语料的词汇翻译总表,所述词汇翻译总表包括每一平行语料中源语句的词到目标语句的词的翻译概率;
第二单元12,用于将所述词汇翻译总表进行拆分,得到多个词汇翻译子表,所述词汇翻译子表包括至少一个平行语料中的源语句的词到目标语句的词的翻译概率;
第三单元13,用于基于所述词汇翻译子表,确定平行语料中的源语句的词与目标语句的词的对齐关系。
可选地,所述第一单元具体用于:
针对所述平行语料,采用源语句的词与目标语句的词的翻译概率,计算该平行语料中源语句的词与目标语句的词的对齐概率;
根据所述平行语料中源语句的词与目标语句的词的对齐概率,计算源语句的词与目标语句的词的翻译概率,生成包括每一平行语料中源语句的词到目标语句的词的翻译概率的词汇翻译总表。
可选地,所述第二单元具体用于:
以平行语料为单位,将所述词汇翻译总表进行拆分,得到多个词汇翻译子表。
可选地,所述第二单元具体用于:
针对每一平行语料,将该平行语料的标识与该平行语料中源语句的词到目标语句的词的翻译概率的对应关系添加到词汇翻译总表;
对添加有平行语料的标识的词汇翻译总表进行拆分,确定每一平行语料的标识对应的源语句的词与目标语句的词,以及该源语句的词与目标语句的词的翻译概率;
以平行语料的标识为单位,聚合同一平行语料的标识对应的源语句的词与目标语句的词的翻译概率,得到每一平行语料标识对应的词汇翻译子表。
可选地,所述词对齐训练系统为分布式集群,所述分布式集群中的第一节点将不同的所述词汇翻译子表,发给分布式集群中的不同的第二节点,由第一节点和第二节点基于源语句的词与目标语句的词的翻译概率、对齐概率进行迭代处理,直至满足预设的收敛条件时,输出平行语料中的源语句的词与目标语句的词的对齐关系。
可选地,所述的收敛条件包括:达到预设的迭代处理次数;或者,当前计算得到的源语句的词与目标语句的词的对齐概率相比上一次计算得到的同一源语句的词与同一目标语句的词的对齐概率的差值,在预设范围内。
可选地,所述词汇翻译总表以及所述词汇翻译子表中的源语句的词以及目标语句的词,均用数字编码表示。
可选地,任一所述词的数字编码,是预先根据该词在所述多个平行语料中的出现概率确定的。
参见图5,本申请实施例提供的一种机器翻译系统,包括:
确定单元21,用于确定需要翻译的源语句;
翻译单元22,用于根据预先训练得到的平行语料中的源语句的词与目标语句的词的对齐关系,确定需要翻译的源语句所对应的目标语句;
训练单元23,用于采用如下方式训练得到所述对齐关系:
确定多个平行语料的词汇翻译总表,所述词汇翻译总表包括每一平行语料中源语句的词到目标语句的词的翻译概率;
将所述词汇翻译总表进行拆分,得到多个词汇翻译子表,所述词汇翻译子表包括至少一个平行语料中的源语句的词到目标语句的词的翻译概率;
基于所述词汇翻译子表,确定平行语料中的源语句的词与目标语句的词的对齐关系。
综上所述,本申请实施例提供了分布式词对齐训练、机器翻译方法和装置,主要具体有以下特点:
并行化训练:所有计算过程都是在分布式集群上进行,训练速度为单机模式的5~6倍,以3300万句对英语语料为例,单机抽取正反对齐需要30个小时,而本申请实施例只需要3.5个小时左右。
词汇表实时计算:传统的词对齐方法都是维护一张很大矩阵的词汇翻译总表,也就是词汇到词汇的二维矩阵,通常而言,该矩阵能达到20G以上或者更大,维护如下之大的矩阵给技术带来很大的挑战。在单机模式下,直接存储于内存中就可以有效解决问题。但是在分布式集群中,每个集群都需要加载如此之大的矩阵,会将集群的资源消耗掉,与此同时,分发如此之大的矩阵也会耗光整个集群的网络资源。为了解决上述问题,本申请实施例通过使用倒排索引的技术,建立词汇到句子的倒排,然后和词汇翻译总表进行合并,然后以平行语料为单位进行拆分,得到每个平行语料所需要的词汇翻译子表,随平行句对一起分发到map节点,极大的降低了内存的占用。同时,由于每个map节点无需加载词汇翻译总表,该词汇翻译总表一般会多达20G,在并行集群上无需分发该词汇翻译总表,同时也无需使用提前过滤的策略将低概率的词汇表进行过滤,保证了概率的归一化,无精度损失。通过倒排索引的技术,实时计算每个平行句对所需的词汇翻译子表,不仅极大的降低了内存的使用,从几G降低为几M,而且无需使用动态内存加载以及过滤低概率词汇表,保证了概率的归一化,提高了训练的精度。
关于本申请实施例中的Huffman数字化及词汇翻译子表压缩:通过Huffman数字化平行语料以及在倒排索引过程中使用gzip压缩算法对词汇翻译子表进行压缩,将存储空间降低为之前的1/50,解决了在训练大规模语料时由于存储空间不足而导致训练失败的问题,即节约了存储空间,提高系统性能。
需要说明的是,本申请实施例中基于分布式集群的并行化化训练,替代方案可以是在单机上的词对齐训练工具。
总之,本申请实施提供的技术方案,相对于业内传统的单机训练系统,线下模型训练的时间缩短到单机模式的1/5左右,加快了系统升级的迭代速度。相对于业内的分布式训练系统,占用的存储空间降低了50倍,使得在大规模语料,比如上亿规模的词对齐训练成为了可能。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (16)
1.一种词对齐训练方法,其特征在于,该方法包括:
确定多个平行语料的词汇翻译总表,所述词汇翻译总表包括每一平行语料中源语句的词到目标语句的词的翻译概率;
将所述词汇翻译总表进行拆分,得到多个词汇翻译子表,所述词汇翻译子表包括至少一个平行语料中的源语句的词到目标语句的词的翻译概率;
基于所述词汇翻译子表,确定平行语料中的源语句的词与目标语句的词的对齐关系;
其中,确定多个平行语料的词汇翻译总表,具体包括:
针对所述平行语料,采用源语句的词与目标语句的词的翻译概率,计算该平行语料中源语句的词与目标语句的词的对齐概率;
根据所述平行语料中源语句的词与目标语句的词的对齐概率,计算源语句的词与目标语句的词的翻译概率,生成包括每一平行语料中源语句的词到目标语句的词的翻译概率的词汇翻译总表。
2.根据权利要求1所述的方法,其特征在于,将所述词汇翻译总表进行拆分,得到多个词汇翻译子表,具体包括:
以平行语料为单位,将所述词汇翻译总表进行拆分,得到多个词汇翻译子表。
3.根据权利要求2所述的方法,其特征在于,以平行语料为单位,将所述词汇翻译总表进行拆分,得到多个词汇翻译子表,包括:
针对每一平行语料,将该平行语料的标识与该平行语料中源语句的词到目标语句的词的翻译概率的对应关系添加到词汇翻译总表;
对添加有平行语料的标识的词汇翻译总表进行拆分,确定每一平行语料的标识对应的源语句的词与目标语句的词,以及该源语句的词与目标语句的词的翻译概率;
以平行语料的标识为单位,聚合同一平行语料的标识对应的源语句的词与目标语句的词的翻译概率,得到每一平行语料标识对应的词汇翻译子表。
4.根据权利要求1所述的方法,其特征在于,基于所述词汇翻译子表,确定平行语料中的源语句的词与目标语句的词的对齐关系,具体包括:
分布式集群中的第一节点将不同的所述词汇翻译子表,发给分布式集群中的不同的第二节点,由第一节点和第二节点基于源语句的词与目标语句的词的翻译概率、对齐概率进行迭代处理,直至满足预设的收敛条件时,输出平行语料中的源语句的词与目标语句的词的对齐关系。
5.根据权利要求4所述的方法,其特征在于,所述的收敛条件包括:达到预设的迭代处理次数;或者,当前计算得到的源语句的词与目标语句的词的对齐概率相比上一次计算得到的同一源语句的词与同一目标语句的词的对齐概率的差值,在预设范围内。
6.根据权利要求1所述的方法,其特征在于,所述词汇翻译总表以及所述词汇翻译子表中的源语句的词以及目标语句的词,均用数字编码表示。
7.根据权利要求6所述的方法,其特征在于,任一所述词的数字编码,是预先根据该词在所述多个平行语料中的出现概率确定的。
8.一种机器翻译方法,其特征在于,包括:
确定需要翻译的源语句;
根据预先训练得到的平行语料中的源语句的词与目标语句的词的对齐关系,确定需要翻译的源语句所对应的目标语句;
其中,所述对齐关系是采用如下方式训练得到的:
确定多个平行语料的词汇翻译总表,所述词汇翻译总表包括每一平行语料中源语句的词到目标语句的词的翻译概率;
将所述词汇翻译总表进行拆分,得到多个词汇翻译子表,所述词汇翻译子表包括至少一个平行语料中的源语句的词到目标语句的词的翻译概率;
基于所述词汇翻译子表,确定平行语料中的源语句的词与目标语句的词的对齐关系;
其中,确定多个平行语料的词汇翻译总表,具体包括:
针对所述平行语料,采用源语句的词与目标语句的词的翻译概率,计算该平行语料中源语句的词与目标语句的词的对齐概率;
根据所述平行语料中源语句的词与目标语句的词的对齐概率,计算源语句的词与目标语句的词的翻译概率,生成包括每一平行语料中源语句的词到目标语句的词的翻译概率的词汇翻译总表。
9.一种词对齐训练系统,其特征在于,包括:
第一单元,用于确定多个平行语料的词汇翻译总表,所述词汇翻译总表包括每一平行语料中源语句的词到目标语句的词的翻译概率;
第二单元,用于将所述词汇翻译总表进行拆分,得到多个词汇翻译子表,所述词汇翻译子表包括至少一个平行语料中的源语句的词到目标语句的词的翻译概率;
第三单元,用于基于所述词汇翻译子表,确定平行语料中的源语句的词与目标语句的词的对齐关系;
其中,所述第一单元具体用于:
针对所述平行语料,采用源语句的词与目标语句的词的翻译概率,计算该平行语料中源语句的词与目标语句的词的对齐概率;
根据所述平行语料中源语句的词与目标语句的词的对齐概率,计算源语句的词与目标语句的词的翻译概率,生成包括每一平行语料中源语句的词到目标语句的词的翻译概率的词汇翻译总表。
10.根据权利要求9所述的系统,其特征在于,所述第二单元具体用于:
以平行语料为单位,将所述词汇翻译总表进行拆分,得到多个词汇翻译子表。
11.根据权利要求10所述的系统,其特征在于,所述第二单元具体用于:
针对每一平行语料,将该平行语料的标识与该平行语料中源语句的词到目标语句的词的翻译概率的对应关系添加到词汇翻译总表;
对添加有平行语料的标识的词汇翻译总表进行拆分,确定每一平行语料的标识对应的源语句的词与目标语句的词,以及该源语句的词与目标语句的词的翻译概率;
以平行语料的标识为单位,聚合同一平行语料的标识对应的源语句的词与目标语句的词的翻译概率,得到每一平行语料标识对应的词汇翻译子表。
12.根据权利要求9所述的系统,其特征在于,所述系统为分布式集群,所述分布式集群中的第一节点将不同的所述词汇翻译子表,发给分布式集群中的不同的第二节点,由第一节点和第二节点基于源语句的词与目标语句的词的翻译概率、对齐概率进行迭代处理,直至满足预设的收敛条件时,输出平行语料中的源语句的词与目标语句的词的对齐关系。
13.根据权利要求12所述的系统,其特征在于,所述的收敛条件包括:达到预设的迭代处理次数;或者,当前计算得到的源语句的词与目标语句的词的对齐概率相比上一次计算得到的同一源语句的词与同一目标语句的词的对齐概率的差值,在预设范围内。
14.根据权利要求9所述的系统,其特征在于,所述词汇翻译总表以及所述词汇翻译子表中的源语句的词以及目标语句的词,均用数字编码表示。
15.根据权利要求14所述的系统,其特征在于,任一所述词的数字编码,是预先根据该词在所述多个平行语料中的出现概率确定的。
16.一种机器翻译系统,其特征在于,包括:
确定单元,用于确定需要翻译的源语句;
翻译单元,用于根据预先训练得到的平行语料中的源语句的词与目标语句的词的对齐关系,确定需要翻译的源语句所对应的目标语句;
训练单元,用于采用如下方式训练得到所述对齐关系:
确定多个平行语料的词汇翻译总表,所述词汇翻译总表包括每一平行语料中源语句的词到目标语句的词的翻译概率;
将所述词汇翻译总表进行拆分,得到多个词汇翻译子表,所述词汇翻译子表包括至少一个平行语料中的源语句的词到目标语句的词的翻译概率;
基于所述词汇翻译子表,确定平行语料中的源语句的词与目标语句的词的对齐关系;
其中,确定多个平行语料的词汇翻译总表,具体包括:
针对所述平行语料,采用源语句的词与目标语句的词的翻译概率,计算该平行语料中源语句的词与目标语句的词的对齐概率;
根据所述平行语料中源语句的词与目标语句的词的对齐概率,计算源语句的词与目标语句的词的翻译概率,生成包括每一平行语料中源语句的词到目标语句的词的翻译概率的词汇翻译总表。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610353921.5A CN107436865B (zh) | 2016-05-25 | 2016-05-25 | 一种词对齐训练方法、机器翻译方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610353921.5A CN107436865B (zh) | 2016-05-25 | 2016-05-25 | 一种词对齐训练方法、机器翻译方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107436865A CN107436865A (zh) | 2017-12-05 |
CN107436865B true CN107436865B (zh) | 2020-10-16 |
Family
ID=60452936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610353921.5A Active CN107436865B (zh) | 2016-05-25 | 2016-05-25 | 一种词对齐训练方法、机器翻译方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107436865B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110874535B (zh) * | 2018-08-28 | 2023-07-25 | 阿里巴巴集团控股有限公司 | 依存关系对齐组件、依存关系对齐训练方法、设备及介质 |
KR20210032809A (ko) * | 2019-09-17 | 2021-03-25 | 삼성전자주식회사 | 동시 통역 방법 및 장치 |
CN113609249B (zh) * | 2021-09-09 | 2023-04-28 | 北京环境特性研究所 | 目标模型仿真数据存储方法及装置 |
CN115130481A (zh) * | 2022-06-16 | 2022-09-30 | 京东科技信息技术有限公司 | 一种模型训练、机器翻译方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030197A (zh) * | 2006-02-28 | 2007-09-05 | 株式会社东芝 | 双语词对齐方法和装置、训练双语词对齐模型的方法和装置 |
CN102509549A (zh) * | 2011-09-28 | 2012-06-20 | 盛乐信息技术(上海)有限公司 | 语言模型训练方法及系统 |
CN103116578A (zh) * | 2013-02-07 | 2013-05-22 | 北京赛迪翻译技术有限公司 | 一种融合句法树和统计机器翻译技术的翻译方法与装置 |
CN105183722A (zh) * | 2015-09-17 | 2015-12-23 | 成都优译信息技术有限公司 | 一种汉英双语翻译语料的对齐方法 |
-
2016
- 2016-05-25 CN CN201610353921.5A patent/CN107436865B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101030197A (zh) * | 2006-02-28 | 2007-09-05 | 株式会社东芝 | 双语词对齐方法和装置、训练双语词对齐模型的方法和装置 |
CN102509549A (zh) * | 2011-09-28 | 2012-06-20 | 盛乐信息技术(上海)有限公司 | 语言模型训练方法及系统 |
CN103116578A (zh) * | 2013-02-07 | 2013-05-22 | 北京赛迪翻译技术有限公司 | 一种融合句法树和统计机器翻译技术的翻译方法与装置 |
CN105183722A (zh) * | 2015-09-17 | 2015-12-23 | 成都优译信息技术有限公司 | 一种汉英双语翻译语料的对齐方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107436865A (zh) | 2017-12-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9740688B2 (en) | System and method for training a machine translation system | |
CN107436865B (zh) | 一种词对齐训练方法、机器翻译方法及系统 | |
CN108133045B (zh) | 关键词提取方法与系统、关键词提取模型生成方法与系统 | |
US8972201B2 (en) | Compression of genomic data file | |
CN107729322B (zh) | 分词方法及装置、建立句子向量生成模型方法及装置 | |
CN108921188B (zh) | 一种基于Spark大数据平台的并行CRF方法 | |
CN111400338A (zh) | Sql优化方法、装置、存储介质及计算机设备 | |
CN109558482B (zh) | 一种基于Spark框架的文本聚类模型PW-LDA的并行化方法 | |
CN108776673B (zh) | 关系模式的自动转换方法、装置及存储介质 | |
US20230214605A1 (en) | Multilingual unsupervised neural machine translation with denoising adapters | |
CN111178095B (zh) | 一种面向子词切分的BPE-Learn加速方法 | |
CN110928981A (zh) | 一种文本标签体系搭建及完善迭代的方法、系统及存储介质 | |
CN106156142B (zh) | 一种文本聚类的处理方法、服务器及系统 | |
CN112000848A (zh) | 一种图数据处理方法、装置、电子设备及存储介质 | |
CN110263917B (zh) | 一种神经网络压缩方法及装置 | |
CN111143390A (zh) | 更新元数据的方法及装置 | |
Wang et al. | The NiuTrans machine translation system for WMT18 | |
CN108334532B (zh) | 一种基于Spark的Eclat并行化方法、系统及装置 | |
CN103488629A (zh) | 一种机器翻译中翻译单元表的抽取方法 | |
CN106843822B (zh) | 一种执行代码生成方法及设备 | |
CN111695689A (zh) | 一种自然语言处理方法、装置、设备及可读存储介质 | |
CN112231471A (zh) | 文本处理方法及装置、计算机设备、存储介质 | |
CN106055543B (zh) | 基于Spark的大规模短语翻译模型的训练方法 | |
Shen et al. | Massive power device condition monitoring data feature extraction and clustering analysis using MapReduce and graph model | |
CN112395856B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20211105 Address after: No. 699, Wangshang Road, Binjiang District, Hangzhou, Zhejiang Patentee after: Alibaba (China) Network Technology Co.,Ltd. Address before: Cayman Islands Grand Cayman capital building, a four storey No. 847 mailbox Patentee before: ALIBABA GROUP HOLDING Ltd. |