CN115130479A - 机器翻译方法、目标翻译模型训练方法及相关程序和设备 - Google Patents

机器翻译方法、目标翻译模型训练方法及相关程序和设备 Download PDF

Info

Publication number
CN115130479A
CN115130479A CN202210384885.4A CN202210384885A CN115130479A CN 115130479 A CN115130479 A CN 115130479A CN 202210384885 A CN202210384885 A CN 202210384885A CN 115130479 A CN115130479 A CN 115130479A
Authority
CN
China
Prior art keywords
translation
vector
sentence
prefix
target
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
CN202210384885.4A
Other languages
English (en)
Other versions
CN115130479B (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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202210384885.4A priority Critical patent/CN115130479B/zh
Publication of CN115130479A publication Critical patent/CN115130479A/zh
Application granted granted Critical
Publication of CN115130479B publication Critical patent/CN115130479B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Machine Translation (AREA)

Abstract

本公开提供一种机器翻译方法、目标翻译模型训练方法及相关程序和设备,涉及机器翻译技术领域。包括:获取第一源端句子和第一翻译方向标签,第一翻译方向标签用于指示对第一源端句子按照第一翻译方向进行翻译;根据第一翻译方向标签在目标翻译模型的至少一个前缀向量子模型中确定与第一翻译方向对应的第一前缀向量子模型;目标翻译模型还包括多语言翻译子模型;从第一前缀向量子模型的参数中提取第一翻译方向对应的第一预测前缀向量,第一预测前缀向量是目标翻译模型从第一翻译方向上的训练样本中提取出来的、用于对第一翻译方向进行描述的向量;多语言翻译子模型根据第一预测前缀向量将第一源端句子按照第一翻译方向翻译为第一目标端句子。

Description

机器翻译方法、目标翻译模型训练方法及相关程序和设备
技术领域
本公开涉及机器翻译技术领域,尤其涉及一种机器翻译方法、目标翻译模型训练方法、装置、电子设备、计算机产品和计算机可读存储介质。
背景技术
一般的神经机器翻译(Neural Machine Tranlation,NMT)实现的是一种语言到另一种语言的翻译。然而随着技术的发展,将一般的神经机器翻译NMT扩展到多语言场景下的神经机器翻译(multi-NMT)的需求逐渐显示出来。例如,翻译软件对多语言翻译的需求;例如,视频软件对多语言翻译的需求(一段视频里可能需要将一个或多个语言翻译为一个或多个语言);再例如,现场直播过程中对多语言翻译的需求。
但是,相关技术中提供的多语言神经机器翻译multi-NMT方法需要针对每一翻译方向单独训练一神经网络模型。那么随着翻译方向的增多,多语言翻译对应的模型参数量逐倍增加,不仅降低了多语言翻译效率,还会耗费大量的计算资源。
需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解。
发明内容
本公开的目的在于提供一种机器翻译方法、目标翻译模型训练方法、装置、计算机产品、电子设备以及计算机可读存储介质,提供了一种多语言机器翻译方法,该多语言机器翻译方法减少了了多语言翻译的计算资源,提高了多语言翻译效率。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
本公开实施例提供了一种机器翻译方法,包括:获取第一源端句子和第一翻译方向标签,所述第一翻译方向标签用于指示对所述第一源端句子按照第一翻译方向进行翻译;根据所述第一翻译方向标签在目标翻译模型的至少一个前缀向量子模型中确定与所述第一翻译方向对应的第一前缀向量子模型,其中各个前缀向量子模型之间参数独立;所述目标翻译模型还包括多语言翻译子模型,其中不同翻译方向在所述多语言翻译子模型中共享参数;从所述第一前缀向量子模型的参数中提取所述第一翻译方向对应的第一预测前缀向量,所述第一预测前缀向量是所述目标翻译模型从所述第一翻译方向上的训练样本中提取出来的、用于对所述第一翻译方向进行描述的向量;所述多语言翻译子模型根据所述第一预测前缀向量将所述第一源端句子按照所述第一翻译方向翻译为第一目标端句子。
本公开实施例提供了一种目标翻译模型训练方法,所述方法包括:获取第三源端句子、第三目标端句子以及第一翻译方向标签,所述第一翻译方向标签用于标识所述第三目标端句子是按照第一翻译方向对所述第三源端句子进行翻译后获得的;根据所述第一翻译方向在目标翻译网络的至少一个前缀向量子网络中确定所述第一翻译方向对应的第一前缀向量子网络,其中各个前缀向量子网络之间参数独立;其中所述目标翻译网络还包括多语言翻译子模型,所述多语言翻译子模型是通过多个翻译方向的训练样本预训练完成的;从所述第一前缀向量子网络的参数中提取所述第一翻译方向对应的第一训练前缀向量;所述多语言翻译子模型根据所述第一训练前缀向量将所述第三源端句子翻译为第三目标端预测句子;根据所述第三目标端句子、所述第三目标端预测句子调整所述第一前缀向量子网络中的参数,以获得第一前缀向量子模型;根据所述第一前缀向量子模型、所述多语言翻译子模型确定目标翻译模型,以便通过所述目标翻译模型将第一源端句子在所述第一翻译方向下进行翻译。
本公开实施例提供了一种机器翻译装置,包括:第一源端句子确定模块、第一前缀向量子模型第一确定模块、第一预测前缀向量确定模块和第一目标端句子确定模块。
其中,所述第一源端句子确定模块用于获取第一源端句子和第一翻译方向标签,所述第一翻译方向标签用于指示对所述第一源端句子按照第一翻译方向进行翻译;所述第一前缀向量子模型第一确定模块用于根据所述第一翻译方向标签在目标翻译模型的至少一个前缀向量子模型中确定与所述第一翻译方向对应的第一前缀向量子模型,其中各个前缀向量子模型之间参数独立;所述目标翻译模型还包括多语言翻译子模型,其中不同翻译方向在所述多语言翻译子模型中共享参数;所述第一预测前缀向量确定模块用于从所述第一前缀向量子模型的参数中提取所述第一翻译方向对应的第一预测前缀向量,所述第一预测前缀向量是所述目标翻译模型从所述第一翻译方向上的训练样本中提取出来的、用于对所述第一翻译方向进行描述的向量;所述第一目标端句子确定模块用于所述多语言翻译子模型根据所述第一预测前缀向量将所述第一源端句子按照所述第一翻译方向翻译为第一目标端句子。
在一些实施例中,所述至少一个前缀向量子模型还包括第二前缀向量子模型,所述机器翻译装置还包括:第二源端句子获取模块、第二前缀向量子模型确定模块、第二预测前缀向量确定模块和第二目标端句子确定模块。
其中,所述第二源端句子获取模块用于获取第二源端句子和第二翻译方向标签,所述第二翻译方向标签用于指示对所述第二源端句子按照第二翻译方向进行翻译;所述第二前缀向量子模型确定模块用于根据所述第二翻译方向标签在所述至少一个前缀向量子模型中确定与所述第二翻译方向对应的所述第二前缀向量子模型;所述第二预测前缀向量确定模块用于从所述第二前缀向量子模型中提取所述第二翻译方向对应的第二预测前缀向量,所述第二预测前缀向量是所述目标翻译模型从所述第二翻译方向上的训练样本中提取出来的、用于对所述第二翻译方向进行描述的向量;所述第二目标端句子确定模块用于所述多语言翻译子模型根据所述第二预测前缀向量将所述第二源端句子按照所述第二翻译方向翻译为第二目标端句子。
在一些实施例中,所述机器翻译装置还包括:待翻译源端句子获取模块、分流解析模块和翻译方向确定模块。
其中,待翻译源端句子获取模块用于在获取第一源端句子和获取第二源端句子之前获取多个待翻译源端句子,所述多个待翻译源端句子包括所述第一源端句子和所述第二源端句子;分流解析模块用于对所述多个待翻译源端句子进行分流解析,以从所述待翻译源端句子中解析出所述第一源端句子和所述第二源端句子;翻译方向确定模块用于确定所述第一源端句子的翻译方向标签为所述第一翻译方向标签、所述第二源端句子的翻译方向标签为所述第二翻译方向标签,以根据所述第一翻译方向标签和所述第二翻译方向标签从所述至少一个前缀向量子模型中获取所述第一预测前缀向量和所述第二预测前缀向量,以便所述多语言翻译子模型根据所述第一预测前缀向量和所述第二预测前缀向量对所述第一源端句子和所述第二源端句子同时进行不同翻译方向的翻译。
在一些实施例中,所述第一预测前缀向量确定模块包括:第一预向量获取单元、全连接单元和拼接单元。
其中,所述第一预向量获取单元用于通过所述第一前缀向量子模型获取所述第一翻译方向对应的第一预向量;所述全连接单元用于通过所述第一前缀向量子模型对所述第一预向量进行全连接处理,获得第一中间向量;所述拼接单元用于通过所述第一前缀向量子模型将所述第一中间向量与所述第一预向量进行拼接,以获得所述第一预测前缀向量。
在一些实施例中,所述第一前缀向量子模型包括第一全连接结构,所述第一全连接结构包括第一投影结构和第二投影结构,所述第一投影结构包括第一投影参数,所述第二投影结构包括第二投影参数;其中,所述全连接单元包括:第一投影子单元、中间投影向量获取子单元和第二投影子单元。
其中,所述第一投影子单元用于通过第一投影参数对所述第一预向量进行投影操作,以获得第一投影向量;所述中间投影向量获取子单元用于在所述第一投影向量和零向量对应位置处的值中选取最大值,生成中间投影向量;所述第二投影子单元用于通过第二投影参数对所述中间投影向量进行投影操作,以获得所述第一中间向量。
在一些实施例中,所述多语言翻译子模型包括编码端和解码端;其中,所述第一目标端句子确定模块包括:第一源端句子向量获取单元、前缀向量拼接单元、第一编码向量获取单元、解码处理单元和第一目标端句子获取单元。
其中,所述第一源端句子向量获取单元用于获取所述第一源端句子对应的第一源端句子向量;所述前缀向量拼接单元用于将所述第一预测前缀向量与所述第一源端句子向量进行拼接,以获得第一待翻译向量;所述第一编码向量获取单元用于通过所述编码端对所述第一待翻译向量进行编码处理,获得第一编码向量;所述解码处理单元用于通过所述解码端对所述第一编码向量进行解码处理,获得第一解码向量;所述第一目标端句子获取单元用于根据所述第一解码向量将所述第一源端句子翻译为所述第一目标端句子。
本公开实施例中还提供了一种目标翻译模型训练装置,所述目标翻译模型训练装置包括:第三源端句子获取模块、第一前缀向量子网络确定第二模块、第一训练前缀向量确定模块、第三目标端预测句子、第一前缀向量子模型训练模块和目标翻译模型确定模块。
其中,所述第三源端句子获取模块用于获取第三源端句子、第三目标端句子以及第一翻译方向标签,所述第一翻译方向标签用于标识所述第三目标端句子是按照第一翻译方向对所述第三源端句子进行翻译后获得的;所述第一前缀向量子网络确定第二模块用于根据所述第一翻译方向在目标翻译网络的至少一个前缀向量子网络中确定所述第一翻译方向对应的第一前缀向量子网络,其中各个前缀向量子网络之间参数独立;其中所述目标翻译网络还包括多语言翻译子模型,所述多语言翻译子模型是通过多个翻译方向的训练样本预训练完成的;所述第一训练前缀向量确定模块用于从所述第一前缀向量子网络的参数中提取所述第一翻译方向对应的第一训练前缀向量;所述第三目标端预测句子用于所述多语言翻译子模型根据所述第一训练前缀向量将所述第三源端句子翻译为第三目标端预测句子;所述第一前缀向量子模型训练模块用于根据所述第三目标端句子、所述第三目标端预测句子调整所述第一前缀向量子网络中的参数,以获得第一前缀向量子模型;所述目标翻译模型确定模块用于根据所述第一前缀向量子模型、所述多语言翻译子模型确定目标翻译模型,以便通过所述目标翻译模型将第一源端句子在所述第一翻译方向下进行翻译。
在一些实施例中,所述至少一个前缀向量子网络还包括第二前缀向量子网络;其中,所述目标翻译模型确定模块包括:第四源端句子获取单元、第二前缀向量子网络确定单元、第二训练前缀向量获取单元、第四目标端预测句子获取单元、第一参数调整单元和目标翻译模型第一确定单元。
其中,所述第四源端句子获取单元用于获取第四源端句子、第四目标端句子以及第二翻译方向标签,所述第二翻译方向标签用于标识所述第四目标端句子是按照第二方向翻译对所述第四源端句子翻译后获得的,所述第一翻译方向与所述第二翻译方向不同;所述第二前缀向量子网络确定单元用于根据所述第二翻译方向在所述至少一个前缀向量子网络中确定所述第二翻译方向对应的第二前缀向量子网络;所述第二训练前缀向量获取单元用于从所述第二前缀向量子网络的参数中提取所述第二翻译方向对应的第二训练前缀向量;所述第四目标端预测句子获取单元用于所述多语言翻译子模型根据所述第二训练前缀向量将所述第四源端句子翻译为第四目标端预测句子;所述第一参数调整单元用于根据所述第四目标端句子、所述第四目标端预测句子调整所述第二前缀向量子网络中的参数,以获得第二前缀向量子模型;所述目标翻译模型第一确定单元用于根据所述第一前缀向量子模型、所述第二前缀向量子模型以及所述多语言翻译子模型确定所述目标翻译模型,以便通过所述目标翻译模型将第二源端句子在所述第二翻译方向下进行翻译。
在一些实施例中,所述目标翻译模型训练包括:训练句对获取模块、训练句对解析模块、和确定翻译方向模块。
其中,训练句对获取模块用于在获取第三源端句子和获取第四源端句子之前获取多个平行训练句对,所述多个平行训练句对包括第一平行训练句对和第二平行训练句对,所述第一平行训练句对包括所述第三源端句子和所述第三目标端句子,所述第二平行训练句对包括所述第四源端句子和所述第四目标端句子;训练句对解析模块用于对所述多个平行训练句对进行分流解析,以从所述多个平行训练句对中解析出所述第一平行训练句对和所述第二平行训练句对;确定翻译方向模块用于确定所述第一平行训练句对的翻译方向标签为所述第一翻译方向标签、所述第二平行训练句对的翻译方向标签为所述第二翻译方向标签,以根据所述第一翻译方向标签和所述第二翻译方向标签从所述至少一个前缀向量子模型中获取所述第一训练前缀向量和所述第二训练前缀向量,以便所述多语言翻译子模型根据所述第一训练前缀向量和所述第二训练前缀向量对所述第三源端句子和所述第四源端句子同时进行不同翻译方向的翻译。
在一些实施例中,所述目标翻译模型训练装置还包括:第五源端句子获取模块、第六源端句子获取模块、第一训练样本生成模块、第二训练样本生成模块和多语言翻译子模型训练子模块。
其中,第五源端句子获取模块用于在根据所述第一翻译方向在目标翻译网络的至少一个前缀向量子网络中确定所述第一翻译方向对应的第一前缀向量子网络之前,获取第五源端句子、第五目标端句子以及第一翻译方向标签,所述第一翻译方向标签用于标识所述第五目标端句子是按照第一翻译方向对所述第五源端句子进行翻译后获得的;所述第六源端句子获取模块用于获取第六源端句子、第六目标端句子以及第二翻译方向标签,所述第二翻译方向标签用于标识所述第六目标端句子是按照第二方向翻译对所述第六源端句子进行翻译后获得的,所述第一翻译方向与所述第二翻译方向不同;所述第一训练样本生成模块用于根据所述第五源端句子、所述第五目标端句子和所述第一翻译方向标签生成第一训练样本;所述第二训练样本生成模块用于根据所述第六源端句子、所述第六目标端句子和所述第二翻译方向标签生成第二训练样本;所述多语言翻译子模型训练子模块用于通过所述第一训练样本和所述第二训练样本对多语言翻译网络进行训练,以获得所述多语言翻译子模型。
在一些实施例中,所述多语言翻译网络包括编码端和解码端;其中,所述多语言翻译子模型训练子模块包括:第五源端句子向量获取单元、第五待翻译向量生成单元、第五编码向量生成单元、第五解码向量生成单元和多语言翻译子模型参数调整单元。
其中,所述第五源端句子向量获取单元用于获取所述第五源端句子的第五源端句子向量、所述第五目标端句子的第五目标端句子向量以及所述第一翻译方向标签对应的第一翻译方向标签向量;所述第五待翻译向量生成单元用于将所述第五源端句子向量和所述第一翻译方向标签向量进行拼接以生成第五待翻译向量;所述第五编码向量生成单元用于通过所述编码端对所述第五待翻译向量进行编码处理,获得第五编码向量;所述第五解码向量生成单元用于所述解码端根据所述第五目标端句子向量对所述第五编码向量进行解码处理,获得第五解码向量;所述多语言翻译子模型参数调整单元用于根据所述第五源端句子向量和所述第五解码向量调整所述多语言翻译网络的参数值,获得所述多语言翻译子模型。
在一些实施例中,所述多语言翻译子模型训练子模块还包括:第六源端句子向量获取单元、第六待翻译向量生成单元、第六编码向量生成单元、第六解码向量生成单元和多语言翻译子模型生成单元。
其中,所述第六源端句子向量获取单元用于获取所述第六源端句子的第六源端句子向量、所述第六目标端句子的第六目标端句子向量以及所述第二翻译方向标签的第二翻译方向标签向量;所述第六待翻译向量生成单元用于将所述第六源端句子向量和所述第二翻译方向标签向量进行拼接以生成第六待翻译向量;所述第六编码向量生成单元用于通过所述编码端对所述第六待翻译向量进行编码处理,获得第六编码向量;所述第六解码向量生成单元用于所述解码端根据所述第六目标端句子向量对所述第六编码向量进行解码处理,获得第六解码向量;所述多语言翻译子模型生成单元用于根据所述第五源端句子向量和所述第五解码向量、所述第六源端句子向量和所述第六解码向量调整所述多语言翻译网络的参数值,获得所述多语言翻译子模型。
本公开实施例提出一种电子设备,该电子设备包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现上述任一项所述的机器翻译方法。
本公开实施例提出一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述任一项所述的机器翻译方法或者目标翻译模型训练方法。
本公开实施例提出一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述机器翻译方法或者目标翻译模型训练方法。
本公开实施例提供的机器翻译方法、装置、计算机产品、电子设备和计算机可读存储介质,通过第一前缀向量子模型从第一翻译方向上的训练样本中提取出来能够对第一翻译反向进行特异性描述的第一预测前缀向量,然后通过该第一前缀预测向量实现了对第一源端句子的翻译。该方法既能通过第一前缀向量子模型中的第一预测前缀向量为第一源端句子增添第一翻译方向上的特异性翻译信息,又能通过多语言翻译子模型将第一源端句子映射至多语言共享的语义空间中,联合第一前缀向量子模型提供的各个翻译方向上的特异性信息和多语言翻译子模型提高的多语言共享信息对第一源端句子进行翻译,可以提高多语言翻译中对第一源端句子进行翻译的翻译准确度。另外,本申请在多语言翻译子模型的基础上增加了前缀向量子模型来实现多语言翻译,相比于针对每一翻译方向均训练一模型的相关技术,本申请使用较少的模型参数实现了较优的翻译质量,节约了计算资源,提高了多语言翻译速度。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了可以应用于本公开实施例的机器翻译方法和装置、或者目标模型的训练方法和装置的示例性系统架构的示意图。
图2是根据一示例性实施例示出的一种机器翻译方法的流程图。
图3是根据一示例性实施例示出的一种机器翻译方法的流程图。
图4是根据一示例性实施例示出的一种通过多语言翻译子模型进行机器翻译方法的流程图。
图5是根据一示例性实施例示出的一种目标翻译模型训练方法的流程图。
图6是根据一示例性实施例示出的一种目标翻译模型训练方法的流程图。
图7是根据一示例性实施例示出的一种多语言翻译子模型训练方法的流程图。
图8是根据一示例性实施例示出的一种目标翻译网络的结构示意图。
图9是根据一示例性实施例示出的一种全连接网络结构的示意图。
图10是根据一示例性实施例示出的一种机器翻译装置的框图。
图11是根据一示例性实施例示出的一种目标翻译模型训练装置的框图。
图12示出了适于用来实现本公开实施例的的电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
本公开所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和步骤,也不是必须按所描述的顺序执行。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
在本申请的描述中,除非另有说明,“/”表示“或”的意思,例如,A/B可以表示A或B。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,“至少一个”是指一个或多个,“多个”是指两个或两个以上。“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同;用语“包含”、“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述,需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
下面首先对本申请实施例涉及的部分用语进行解释说明,以便于本领域技术人员理解。
源端句子:机器翻译系统输入的待翻译的句子。
目标端句子:机器翻译系统输出的翻译译文。
平行语料/平行句对:源端句子与其对应的目标端句子构成的句对,用于机器翻译模型训练。
Transformer:变换器,一种以自注意力为主要部件的深度学习模型框架。
sequence-to-sequence:端到端系统。一种深度学习的框架。
Multilingual Neural Machine Translation:多语言神经机器翻译,multi-NMT。一种通用的机器翻译方法,可支持多种不同语言的翻译,如中文-越南语、中文-泰语、英文-越南语、英文-韩语等等。
Pretrain machine translation model:预训练机器翻译模型,PretrainMTM。
Pre-training:预训练模型阶段。用于训练初始模型。
Fine-tuning:微调模型阶段。用于训练得到最终需要的模型(如目标翻译模型)。
multi-prefix:多语言前缀。针对多语言中的每个语种,设计一种连续空间的或离散空间的前缀信息。
CP multi-NMT:连续型前缀多语言翻译模型。
轻量级模型:参数量少、模型训练效率高的模型。
前文介绍了本申请实施例所涉及到的一些名词概念,下面介绍本申请实施例涉及的技术特征。
本申请实施例提供的方案涉及人工智能的机器学习(Machine Learning,ML)等技术,其中机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。具体通过如下实施例进行说明。
下面结合附图对本公开示例实施方式进行详细说明。
在对本公开实施例介绍之前,可以对相关技术进行简要说明。
当前,本领域技术人员常用的两种针对multi-NMT的优化手段是:一、为每种源语言单独训练一个encoder(编码端),每种目标语言单独训练一个decoder(解码端),然后encoder和decoder之间共享一个attention(注意力层),本领域技术人员将其称之为multi-channel模型(多通道模型)。二、不管源端和目标端多少种语言,统一训练一个encoder和一个decoder,然后进行attention(自注意力计算),本领域技术人员将其称之为share-channel模型(共享通道模型)。
现有的multi-NMT方案,完全依赖于多语种的数据分布,在多语种的训练句对前加上区分性的翻译方向标签,然后输入multi-NMT模型进行学习训练。
其中share-channel模型的确能够在不增加模型参数量的前提下完成multi-NMT的训练任务,但是从翻译效果的角度来看,其在某些数据分布不均的翻译方向上带来效果上的损失也是不可忽略的,比如有三个语种中英、中日、中韩,其中中英有8000w的训练样本,中日有5000w的训练样本,而中韩只有10万的训练样本,这样三种数据放到一起去训练的话,会导致中韩的训练精度非常的差。另外,简单粗暴的模型参数全量共享以及所有语种数据的大融合的这种训练,本身就存在风险——完全忽视了每个语种的特异性属性,比如:“娘”这个词,在中文中是“母亲”的意思,在日语中是“女儿”的意思,如果不加区分的话,会导致无法在相应的语种翻译中正确翻译。
而另一种multi-channel的模型方案,摒弃了前者的模型参数全量共享的策略,转向针对每个语种训练一个独立的encoder和decoder模型组件,且只共享其中的attention网络。这种方法在效果上虽然要优于前者,但是其模型规模之大、训练流程冗长,也随着语种数量的增加而呈线性增长的趋势。
与以上方法不同,本公开引入了预训练+微调的思路,在通过前缀向量子模型保证翻译效果无损的前提下,通过多语言翻译子模型将不同翻译方向的语言的信息表示映射到同一个语义空间中,从而使得不同翻译方向的语言共享模型参数以达到模型轻量化的结果。其中,在大规模多语言数据上的预训练模型(即多语言翻译子模型)能够将不同翻译方向的语言的信息表示映射到同一个语义空间中,在后续的Fine tuning(微调)阶段,然后重加载多语言翻译子模型作为目标翻译模型的子网络(subNet PretrainMTM)。区别于传统的方法,本申请一方面保持多语言翻译子模型的网络参数在之后的微调过程中不动以达到轻量级的效果,另一方面为了体现每个语言的特异性属性,针对每个翻译方向设计了一种前缀向量子网络。本申请既通过目标翻译模型拉近了多语言的语义空间,又体现出了各语言的特异性信息,同时达到了模型的轻量级效果。
下面将通过具体实施例,对本公开提出的机器翻译方法以及该机器翻译方法中使用的目标翻译模型的训练方法进行说明。
图1示出了可以应用于本公开实施例的机器翻译方法和装置、或者目标模型的训练方法和装置的示例性系统架构的示意图。
如图1所示,系统架构可以包括终端设备设备和翻译设备,用户可以使用终端设备通过网络与翻译设备交互,以接收或发送消息等。如图1中的步骤S1所示,用户可以使用终端设备通过网络向翻译设备发送包含第一源端句子的翻译请求;如图1中的步骤S6所示,用户可以通过终端设备通过网络从翻译设备接收翻译结果。
其中,终端设备可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机、台式计算机、可穿戴设备、虚拟现实设备、智能家居等等。
其中,翻译设备可以是一种终端设备,也可以是一种服务器。
服务器可以是提供各种服务的服务器,例如对用户利用终端设备所进行操作的装置提供支持的后台管理服务器。后台管理服务器可以对接收到的请求等数据进行分析等处理,并将处理结果反馈给终端设备。
服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器等,本公开对此不做限制。
如图1所示,翻译设备可例如执行步骤S2:获取第一源端句子和第一翻译方向标签,第一翻译方向标签用于指示对第一源端句子按照第一翻译方向进行翻译;翻译设备可例如执行步骤S3:根据第一翻译方向标签在目标翻译模型的至少一个前缀向量子模型中确定与第一翻译方向对应的第一前缀向量子模型,其中不同前缀向量子模型中的参数用于对不同翻译方向的翻译特性进行描述;目标翻译模型还包括多语言翻译子模型,其中不同翻译方向在多语言翻译子模型中共享参数;翻译设备可例如执行步骤S4:从第一前缀向量子模型的参数中提取第一翻译方向对应的第一预测前缀向量,第一预测前缀向量是目标翻译模型从第一翻译方向上的训练样本中提取出来的、用于对第一翻译方向进行描述的向量;翻译设备可例如执行步骤S5:多语言翻译子模型根据第一预测前缀向量将第一源端句子按照第一翻译方向翻译为第一目标端句子。
翻译设备还可例如执行步骤:获取第三源端句子、第三目标端句子以及第一翻译方向标签,第一翻译方向标签用于标识第三目标端句子是按照第一翻译方向对第三源端句子进行翻译后获得的;翻译设备还可例如执行步骤:根据第一翻译方向在目标翻译网络的至少一个前缀向量子网络中确定第一翻译方向对应的第一前缀向量子网络,其中各个前缀向量子网络之间参数独立;其中目标翻译网络还包括多语言翻译子模型,多语言翻译子模型是通过多个翻译方向的训练样本预训练完成的;翻译设备还可例如执行步骤:从第一前缀向量子网络的参数中提取第一翻译方向对应的第一训练前缀向量;翻译设备还可例如执行步骤:多语言翻译子模型根据第一训练前缀向量将第三源端句子翻译为第三目标端预测句子;翻译设备还可例如执行步骤:根据第三目标端句子、第三目标端预测句子调整第一前缀向量子网络中的参数,以获得第一前缀向量子模型;翻译设备还可例如执行步骤:根据第一前缀向量子模型、多语言翻译子模型确定目标翻译模型,以便通过目标翻译模型将第一源端句子在第一翻译方向下进行翻译。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的,服务器可以是一个实体的服务器,还可以为多个服务器组成,根据实际需要,可以具有任意数目的终端设备、网络和服务器。
本领域技术人员可以知晓,图1中的终端、服务器、网络和网络侧设备的数量仅仅是示意性的,根据实际需要,可以具有任意数目的终端、网络和服务器。本公开实施例对此不作限定。
在上述系统架构下,本公开实施例中提供了一种机器翻译方法和目标翻译模型训练方法。
图2是根据一示例性实施例示出的一种机器翻译方法的流程图。本公开实施例所提供的方法可以由任意具备计算处理能力的电子设备来执行,例如该方法可以由服务器或终端设备来执行,也可以由服务器和终端设备共同执行,在下面的实施例中,以服务器为执行主体为例进行举例说明,但本公开并不限定于此。
参照图2,本公开实施例提供的机器翻译方法可以包括以下步骤。
步骤S202,获取第一源端句子和第一翻译方向标签,第一翻译方向标签用于指示对第一源端句子按照第一翻译方向进行翻译。
源端句子可以指的是待翻译的句子,该待翻译的句子可以是任意一种语言下的句子,例如可以是中文句子、英文句子、德文句子或者法文句子等,本申请对源端句子的语言不做限制。其中,第一源端句子可以指的是某一个待翻译的源端句子,本申请对第一源端句子的语言不做限制。
翻译方向标签可以指的是一种对源端句子的翻译方向进行指示的标签,例如可以指示将源端句子按照中译英的翻译方向进行翻译,例如可以指示将源端句子按照德译法的翻译方向进行翻译,本公开对此不做限制。其中,第一翻译方向标签用于指示对第一源端句子按照第一翻译方向进行翻译。本公开对第一翻译方向不做限制,可例如是中译英方向、德译法方向、中译韩方向等。
在一些实施例中,可以通过数字(例如1)作为第一翻译方向标签,还可以通过某一符号或者某一文字作为第一翻译方向标签,本申请对此不做限制。
可以理解的是,各个翻译方向标签使用的可以是同一种语言或者同一种数字类型等,但本公开对此不做限制。
步骤S204,根据第一翻译方向标签在目标翻译模型的至少一个前缀向量子模型中确定与第一翻译方向对应的第一前缀向量子模型,其中不同前缀向量子模型中的参数用于对不同翻译方向的翻译特性进行描述;目标翻译模型还包括多语言翻译子模型,其中不同翻译方向在多语言翻译子模型中共享参数。
其中,目标翻译模型可以包括至少一个前缀向量子模型和一个多语言翻译子模型,该至少一个前缀向量子模型可以包括第一前缀向量子模型。其中,第一前缀向量可以包括至少一层,每一层中可以包括至少一个网络结构,该网络结构可以包括至少一个卷基层或者全连接结构等,本公开对各个前缀向量的层数、每一层中的结构均不进行限制。
其中,多语言翻译模型可以是任意一种可以进行多语言翻译的网络模型,例如可以是一种多语言神经机器翻译模型,该多语言神经机器翻译模型可例如是Transformer网络架构、M2M-100网络结构(一种多语言翻译模型)、BERT(Bidirectional EncoderRepresentation from Transformers,基于Transformer的双向编码表示)网络结构、BART网络结构等(标准的Transformer模型),本公开对多语言翻译子模型的具体网络结构形式不做限制,任意可以用于多语言翻译的网络结构均在本公开的保护范围内。
其中,前缀向量子模型可以是一种参数数量较少的网络结构,例如该前缀向量子模型的参数数量可以远少于多语言翻译子模型的网络模型。其中不同前缀向量子模型中的参数用于对不同翻译方向的翻译特性进行描述。
在一些实施例中,该前缀向量子模型可以例如是MLP(Multi-Layer Perceptron,MLP)网络、Dense(Densenet,密集卷积)网络等,该前缀向量子模型还可以是只包括全连接网络结构的网络,还可以是只包括卷积结构的网络,还可以是只包括注意力结构的网络,任意可以进行训练的网络结构均可以是本申请中的前缀向量子网络,本公开对前缀向量子模型的具体结构和层次不做限制。
在一些实施例中,一个翻译方向可以单独对应一个前缀向量子模型,各个前缀向量子模型之间参数独立。
在一些实施例中,不同翻译方向可以共享一个多语言翻译子模型,并且不同翻译方向在该多语言翻译子模型中共享参数。
在一些实施例中,多语言翻译子模型的参数可以对多个语言翻译方向之间的翻译共性进行描述,而每个前缀向量子模型可以对自身对应的翻译方向上的特异性特征进行描述。
在一些实施例中,可以通过大规模的多语言平行句对预训练获得多语言翻译子模型。可想而知预训练结束后的多语言翻译子模型本身已然能够对不同的翻译方向的源端句子进行翻译,但是由于该预训练结束后的多语言翻译子模型仅包括各个翻译方向的翻译共性,而不包括各个翻译方向的翻译特性信息,导致该预训练结束后的多语言翻译子模型的翻译精度较低。
在一些实施例中,可以预先将翻译方向与前缀向量子模型之间一一对应的关联起来,例如可以将第一翻译方向与目标翻译模型中的第一前缀向量子模型进行关联。那么,当接收到某一翻译方向时,可以对应的找到该翻译方向对应的前缀向量子模型。例如当接收到第一翻译方向时,可对应的找到该第一翻译方向对应的第一前缀向量子模型。
步骤S206,从第一前缀向量子模型的参数中提取第一翻译方向对应的第一预测前缀向量,第一预测前缀向量是目标翻译模型从第一翻译方向上的训练样本中提取出来的、用于对第一翻译方向进行描述的向量。
在一些实施例中,各个前缀向量子模型中可以包括多个已经训练完成的参数,通过前缀向量子模型中的参数可以确定该前缀向量子模型对应的翻译方向的预测前缀向量。在一些实施例中,该预测前缀向量可以是从训练样本中提取处理的,用于对其对应的翻译方向上的个性翻译特征进行描述。
在一些实施例中,可以从第一前缀向量子模型的参数中提取出该第一翻译方向对应的第一预测前缀向量,而该第一预测前缀向量可以是在目标翻译模型的微调训练过程中从第一翻译方向上的训练样本中提取出来的。
在一些实施例中,第一前缀向量子模型可以是一种包括有全连接结构的网络模型,那么从第一前缀向量子模型的参数中提取第一翻译方向对应的第一预测前缀向量可以包括以下步骤:通过第一前缀向量子模型获取第一翻译方向对应的第一预向量(该第一预向量可以是第一前缀向量子模型中的某一个参数值);通过第一前缀向量子模型对第一预向量进行全连接处理,获得第一中间向量;通过第一前缀向量子模型将第一中间向量与第一预向量进行拼接,以获得第一预测前缀向量。
在一些实施例中,第一前缀向量子模型可以包括第一全连接结构,第一全连接结构可以包括第一投影结构和第二投影结构,该第一投影结构可以包括第一投影参数,第二投影结构可以包括第二投影参数。那么,通过第一前缀向量子模型对第一预向量进行全连接处理,获得第一中间向量可以包括:通过第一投影参数对第一预向量进行投影操作,以获得第一投影向量;在第一投影向量和零向量对应位置处的值中选取最大值,生成中间投影向量;通过第二投影参数对中间投影向量进行投影操作,以获得第一中间向量。
在另外一些实施例中,第一前缀向量子模型还可以是一种MLP模型、RNN模型等,本公开对第一前缀向量子模型的网络结构不做限制,同时也对从第一前缀向量子模型中提取第一预测前缀向量的提取方式不做限制。
步骤S208,多语言翻译子模型根据第一预测前缀向量将第一源端句子按照第一翻译方向翻译为第一目标端句子。
在一些实施例中,可以根据第一源端句子获取第一源端句子向量,例如可以通过embedding处理将第一源端句子向量化以获得该第一源端句子向量。
在一些实施例中,可以将第一预测前缀向量与第一源端句子向量进行拼接,然后通过多语言翻译模型对拼接后的向量进行处理,以将第一源端句子按照第一翻译方向翻译为第一目标端句。
在一些实施例中,多语言翻译网络可以包括编码端和解码端。那么,多语言翻译子模型根据第一预测前缀向量将第一源端句子按照第一翻译方向翻译为第一目标端句子可以包括以下步骤:将第一源端句子向量和第一翻译方向标签向量进行拼接以生成第一待翻译向量;通过编码端对第一待翻译向量进行编码处理,获得第一编码向量;解码端对第一编码向量进行解码处理,获得第一解码向量;根据第一源端句子向量和第一解码向量调整多语言翻译网络的参数值,获得多语言翻译子模型。
上述过程具体可以参考Transformer、BERT等网络结构进行多语言翻译的翻译过程,本公开不再赘述。
本公开实施例提供的机器翻译方法,可以通过从第一翻译方向上的训练样本中提取出来的能够对第一翻译反向进行特异性描述的向量实现了对第一源端句子的翻译,既能通过多语言翻译子模型将第一源端句子映射至一多语言共享的语义空间中,又能通过第一前缀向量子模型中的第一预测前缀向量为第一源端句子增添第一翻译方向上的翻译信息,从而增加语言准确度。总而言之,本公开实施例,在通过多个前缀向量子模型来提高各个翻译方向上的翻译准确度,又通过多语言翻译模型进行多语言翻译来降低翻译参数量,进而节约计算资源、提高翻译效率。
在一些实施例中,上述第一源端句子和第二源端句子的翻译过程可以串行实现,也可以并行实现,本公开对此不做限制。即上述目标翻译模型支持多语言并行翻译。具体过程可以包括:获取多个待翻译源端句子,其中多个待翻译源端句子包括第一源端句子和第二源端句子;对多个待翻译源端句子进行分流解析,以从待翻译源端句子中解析出第一源端句子和第二源端句子;确定第一源端句子的翻译方向标签为第一翻译方向标签、第二源端句子的翻译方向标签为第二翻译方向标签;从目标翻译模型的至少一个前缀向量子模型中为第一翻译方向标签确定对应的第一前缀向量子模型、为第二翻译方向标签确定对应的第二前缀向量子模型;从第一前缀向量子模型中获取第一翻译方向标签对应的第一预测前缀向量;从第二前缀向量子模型中获取第二翻译方向对应的第二预测前缀向量;将第一预测前缀向量与第一源端句子对应的向量特征进行特征融合,以获得第一待翻译特征向量;将第二预测前缀向量与第二源端句子对应的向量特征进行特征融合,以获得第二待翻译特征向量;通过目标模型的多语言翻译子模型对第一待翻译特征向量和第二待翻译特征向量同时进行处理,以获得第一源端句子对应的第一目标端句子和第二源端句子对应的第二目标端句子。
图3是根据一示例性实施例示出的一种机器翻译方法的流程图。
参照图3,本公开实施例提供的机器翻译方法可以包括以下步骤。
在一些实施例中,上述目标翻译模型可以包括至少一个前缀向量,该至少一个前缀向量子模型还可以包括第二前缀向量子模型。其中,第一前缀向量可以包括至少一层,每一层中可以包括至少一个网络结构,该网络结构可以是至少一个卷积层、全连接结构等,本公开对此不做限制。
在一些实施例中,第一前缀向量子模型与第二前缀向量子模型的网络结构可以相同,也可以不同,本申请对此不做限制。
步骤S302,获取第一源端句子和第一翻译方向标签,第一翻译方向标签用于指示对第一源端句子按照第一翻译方向进行翻译。
步骤S304,根据第一翻译方向标签在目标翻译模型的至少一个前缀向量子模型中确定与第一翻译方向对应的第一前缀向量子模型,其中各个前缀向量子模型之间参数独立;目标翻译模型还包括多语言翻译子模型,其中不同翻译方向在多语言翻译子模型中共享参数。
步骤S306,从第一前缀向量子模型的参数中提取第一翻译方向对应的第一预测前缀向量,第一预测前缀向量是目标翻译模型从第一翻译方向上的训练样本中提取出来的、用于对第一翻译方向进行描述的向量。
步骤S308,多语言翻译子模型根据第一预测前缀向量将第一源端句子按照第一翻译方向翻译为第一目标端句子。
步骤S310,获取第二源端句子和第二翻译方向标签,第二翻译方向标签用于指示对第二源端句子按照第二翻译方向进行翻译。
其中,第二翻译方向与第一翻译方向可以相同,也可以不同,本申请对此不做限制。
步骤S312,根据第二翻译方向标签在至少一个前缀向量子模型中确定与第二翻译方向对应的第二前缀向量子模型。
其中,第二源端句子可以指的是一个待翻译的源端句子,本申请对第二源端句子的语言不做限制。
在一些实施例中,当第一翻译方向与第二翻译方向相同时,那么根据第二翻译方向确定的第二前缀向量子模型就是上述第一前缀向量子模型;当第一翻译方向与第二翻译方向不同时,那么根据第二翻译方向确定的第二前缀向量子模型与根据第一翻译方向确定的第一前缀向量子模型不同。
步骤S314,从第二前缀向量子模型中提取第二翻译方向对应的第二预测前缀向量,第二预测前缀向量是目标翻译模型从第二翻译方向上的训练样本中提取出来的、用于对第二翻译方向进行描述的向量。
在一些实施例中,当第一翻译方向与第二翻译方向相同时,那么根据第二翻译方向确定的第二预测前缀向量就是上述第一预测前缀向量;当第一翻译方向与第二翻译方向不同时,那么根据第二翻译方向确定的预测前缀向量与根据第一翻译方向确定的预测前缀向量不同。
步骤S316,多语言翻译子模型根据第二预测前缀向量将第二源端句子按照第二翻译方向翻译为第二目标端句子。
在一些实施例中,可以从第二前缀向量子模型的参数中提取出该第二翻译方向对应的第二预测前缀向量,该第二预测前缀向量可以是在目标翻译模型的训练过程中从第二翻译方向上的训练样本中提取出来的。
在一些实施例中,第二前缀向量子模型可以是一种包括有全连接结构的网络模型,那么从第二前缀向量子模型的参数中提取第二翻译方向对应的第二预测前缀向量可以包括以下步骤:通过第二前缀向量子模型获取第二翻译方向对应的第二预向量(该第二预向量可以是第二前缀向量子模型中的某一个参数值);通过第二前缀向量子模型对第二预向量进行全连接处理,获得第二中间向量;通过第二前缀向量子模型将第二中间向量与第二预向量进行拼接,以获得第二预测前缀向量。
在一些实施例中,第二前缀向量子模型可以包括第二全连接结构,第二全连接结构可以包括第三投影结构和第二四投影结构,该第三投影结构可以包括第三投影参数,第四投影结构可以包括第四投影参数。那么,通过第二前缀向量子模型对第二预向量进行全连接处理,获得第二中间向量可以包括:通过第三投影参数对第三预向量进行投影操作,以获得第三投影向量;在第三投影向量和零向量对应位置处的值中选取最大值,生成第三中间投影向量;通过第四投影参数对第三中间投影向量进行投影操作,以获得第第二中间向量。
在另外一些实施例中,第二前缀向量子模型还可以是一种MLP模型、RNN模型等,本公开对第二前缀向量子模型的网络结构不做限制,同时也对从第二前缀向量子模型中提取第二预测前缀向量的提取方式不做限制。
上述实施例给出了按照第一翻译方向对第一源端句子进行翻译和按照第二翻译方向对第二源端句子进行翻译的多语言的翻译过程,本领域技术人员可以根据上述实施例对其他源端句子进行翻译。
本公开实施例提供的机器翻译方法,可以通过从第一翻译方向上的训练样本中提取出来的能够对第一翻译反向进行特异性描述的向量实现了对第一源端句子的翻译,又可以通过从第二翻译方向上的训练样本中提取出来的能够对第二翻译方向进行特异性描述的向量实现了对第二源端句子的翻译,实现了多语言翻译。上述实施例,既能通过多语言翻译子模型将第一源端句子和第二源端句子映射至一多语言共享的语义空间中,又能通过第一前缀向量子模型和第二前缀向量子模型将第一源端句子和第二源端句子分别映射至不同的语义空间中。因此,本实施例提供的技术方案,在通过多语言翻译模型提取出不同翻译语句上的翻译共性外,还通过前缀向量子模型提取出不同翻译语句的翻译特异性信息。使得在多语言翻译过程中既能通过前缀向量子模型提高翻译准确度,又能通过共性的多语言翻译子模型降低翻译参数量,节约计算资源,从而提高翻译效率。
图4是根据一示例性实施例示出的一种通过多语言翻译子模型进行机器翻译方法的流程图。
在一些实施例中,本公开提供的多语言翻译子模型可以包括编码端和解码端。
那么参照图4,本公开实施例提供的机器翻译方法可以包括以下步骤。
步骤S402,获取第一源端句子对应的第一源端句子向量。
步骤S404,将第一预测前缀向量与第一源端句子向量进行拼接,以获得第一待翻译向量。
其中,上述拼接过程可以在多语言翻译子模型中完成,也可以在多语言翻译子模型之外完成,本公开对此不做限制。
步骤S406,通过编码端对第一待翻译向量进行编码处理,获得第一编码向量。
步骤S408,通过解码端对第一编码向量进行解码处理,获得第一解码向量。
步骤S410,根据第一解码向量将第一源端句子翻译为第一目标端句子。
本实施例提供的技术方案,在通过多语言翻译子模型对第一源端句子进行翻译时,结合了能够对第一翻译方向进行特异性描述的第一预测前缀向量,提高了翻译准确度。
图5是根据一示例性实施例示出的一种目标翻译模型训练方法的流程图。
参照图5,本公开实施例提供的目标翻译模型训练方法可以包括以下步骤。
步骤S502,获取第三源端句子、第三目标端句子以及第一翻译方向标签,第一翻译方向标签用于标识第三目标端句子是按照第一翻译方向对第三源端句子进行翻译后获得的。
其中,第三源端句子可以指的是一个待翻译的源端句子,本申请对第三源端句子的语言不做限制。第三目标端句子可以指的是一种按照第一翻译方向对第三源端句子翻译后的句子,本申请对第三目标端句子的语言不做限制。第三源端句子和第三目标端句子可以形成一个句对,用于对目标网络模型进行训练。
第一翻译方向标签用于标识第三目标端句子是按照第一翻译方向对第三源端句子进行翻译后获得的。
步骤S504,根据第一翻译方向在目标翻译网络的至少一个前缀向量子网络中确定第一翻译方向对应的第一前缀向量子网络,其中各个前缀向量子网络之间参数独立;其中目标翻译网络还包括多语言翻译子模型,多语言翻译子模型是通过多个翻译方向的训练样本预训练完成的。
在本实施例中,多语言翻译子模型已经通过多个平行句对预训练完毕。在本实施例中,可以将预训练完毕的多语言翻译子模型重加载至目标翻译网络模型中,以作为目标翻译网络模型的一个子网络,并保持多语言翻译子模型的参数在后续的微调过程中不变。
步骤S506,从第一前缀向量子网络的参数中提取第一翻译方向对应的第一训练前缀向量。
上述第一训练前缀向量的获取过程与上述第一预测前缀训练向量的获取过程一致,只是一个是在使用过程中获得的(例如第一预测前缀向量),一个是在训练过程中获得的(例如第一训练预测向量),本公开对第一训练前缀向量的获得过程不再赘述。
步骤S508,多语言翻译子模型根据第一训练前缀向量将第三源端句子翻译为第三目标端预测句子。
在一些实施例中,多语言翻译子模型可以是通过翻译方向标签和平行句对预训练后获得的。
在本实施例中,可以将多语言翻译子模型的翻译方向标签对应的信息替换为本申请中的第一训练前缀向量,然后对第三源端句子进行翻译,获得了第三目标端预测句子。
步骤S510,根据第三目标端句子、第三目标端预测句子调整第一前缀向量子网络中的参数,以获得第一前缀向量子模型。
在一些实施例中,可以根据第三目标端句子和第三源端句子计算损失值,然后根据计算出来的损失值调整第一前缀向量子网络中的参数,以便下次使用,并在第一前缀向量子网络中的参数调整的过程中保持多语言翻译子模型的参数不变。
步骤S512,根据第一前缀向量子模型、多语言翻译子模型确定目标翻译模型,以便通过目标翻译模型将第一源端句子在第一翻译方向下进行翻译。
当第一前缀向量子模型训练完毕后,可以根据第一前缀向量子模型和多语言翻译子模型对第一翻译方向上的第一源端句子进行翻译了。
本实施例引入了预训练+微调的思路,在通过前缀向量子模型保证翻译效果无损的前提下,还通过多语言翻译子模型能将不同翻译方向的语言的信息表示映射到同一个语义空间中,使得不同翻译方向的语言共享模型参数以达到模型轻量化的结果。其中,在大规模多语言数据上的预训练模型(即多语言翻译子模型)能够将不同翻译方向的语言的信息表示映射到同一个语义空间中,在后续的微调阶段,然后重加载多语言翻译子模型作为目标翻译模型的子网络。区别于传统的方法,本实施例一方面保持多语言翻译子模型的网络参数在之后的微调过程中不动以达到轻量级的效果,另一方面为了体现每个语言的特异性属性,针对每个语种设计了一种前缀向量子网络。本申请通过目标翻译模型既拉近了多语言的语义空间,又体现出了各语言的特异性信息,同时达到了模型的轻量级效果。
图6是根据一示例性实施例示出的一种目标翻译模型训练方法的流程图。
在一些实施例中,上述至少一个前缀向量子网络还包括第二前缀向量子网络。
参照图6,本公开实施例提供的目标翻译模型训练方法可以包括以下步骤。
步骤S602,获取第四源端句子、第四目标端句子以及第二翻译方向标签,第二翻译方向标签用于标识第四目标端句子是按照第二方向翻译对第四源端句子翻译后获得的,第一翻译方向与第二翻译方向不同。
其中,第四源端句子可以指的是一个待翻译的源端句子,本申请对第四源端句子的语言不做限制。第四目标端句子可以指的是一种按照第一翻译方向对第四源端句子翻译后的句子,本申请对第四目标端句子的语言不做限制。第四源端句子和第四目标端句子可以形成一个句对,用于对目标网络模型进行训练。
第二翻译方向标签用于标识第四目标端句子是按照第二翻译方向对第四源端句子进行翻译后获得的,第一翻译方向与第二翻译方向可以是不同的翻译方向。
步骤S604,根据第二翻译方向在至少一个前缀向量子网络中确定第二翻译方向对应的第二前缀向量子网络。
步骤S606,从第二前缀向量子网络的参数中提取第二翻译方向对应的第二训练前缀向量。
上述第二训练前缀向量的获取过程与上述第二预测前缀训练向量的获取过程一致,只是一个是在使用过程中获得的(例如第二预测前缀向量),一个是在训练过程中获得的(例如第二训练预测向量),本公开对第二训练前缀向量的获得过程不再赘述。
步骤S608,多语言翻译子模型根据第二训练前缀向量将第四源端句子翻译为第四目标端预测句子。
在一些实施例中,多语言翻译子模型可以是通过翻译方向标签和平行句对预训练后获得的。
在本实施例中,可以将多语言翻译子模型的翻译方向标签对应的信息替换为本申请中的第一训练前缀向量,然后对第四源端句子进行翻译,获得了第四目标端预测句子。
步骤S610,根据第四目标端句子、第四目标端预测句子调整第二前缀向量子网络中的参数,以获得第二前缀向量子模型。
在一些实施例中,可以根据第四目标端句子和第四源端句子计算损失值,然后根据计算出来的损失值调整第二前缀向量子网络中的参数,以便下次使用,并在第二前缀向量子网络中的参数调整的过程中保持多语言翻译子模型的参数不变。
步骤S612,根据第一前缀向量子模型、第二前缀向量子模型以及多语言翻译子模型确定目标翻译模型,以便通过目标翻译模型将第二源端句子在第二翻译方向下进行翻译。
当第二前缀向量子模型训练完毕后,可以根据第二前缀向量子模型和多语言翻译子模型对第一翻译方向上的第一源端句子进行翻译了。
在一些实施例中,上述通过第三源端句子进行训练的过程与通过第四源端句子进行训练的过程可以串行实现,也可以并行实现(即同时训练),本公开对此不做限制。
在一些实施例中,通过第三源端句子和第四源端句子对目标翻译模型进行同时训练的过程可以包括以下步骤:获取多个平行训练句对,多个平行训练句对包括第一平行训练句对和第二平行训练句对,第一平行训练句对包括第三源端句子和第三目标端句子,第二平行训练句对包括第三源端句子和第三目标端句子;对多个平行训练句对进行分流解析,以从多个平行训练句对中解析出第一平行训练句对和第二平行训练句对;确定第一平行训练句对的翻译方向标签为第一翻译方向标签、第二平行训练句对的翻译方向标签为第二翻译方向标签;从目标翻译模型的至少一个前缀向量子模型中为第一翻译方向标签确定对应的第一前缀向量子模型、为第二翻译方向标签确定对应的第二前缀向量子模型;从第一前缀向量子模型中获取第一翻译方向标签对应的第一训练前缀向量;从第二前缀向量子模型中获取第二翻译方向对应的第二训练前缀向量;将第一训练前缀向量与第三源端句子对应的向量特征进行特征融合,以获得第三待翻译特征向量;将第二训练前缀向量与第四源端句子对应的向量特征进行特征融合,以获得第四待翻译特征向量;通过目标模型的多语言翻译子模型对第三待翻译特征向量和第四待翻译特征向量同时进行处理,以获得第三源端句子对应的第三目标端预测句子和第四源端句子对应的第四目标端预测句子;根据第三目标端句子第三目标端预测句子、第四目标端句子和第四目标端预测句子确定损失值;根据该损失值调整第一前缀向量子网络中的参数。本实施例引入了预训练+微调的思路,在翻译效果无损的前提下,既能将不同翻译方向的语言的信息表示映射到同一个语义空间中,又能使得不同翻译方向的语言共享模型参数以达到模型轻量化的结果。其中,在大规模多语言数据上的预训练模型(即多语言翻译子模型)能够将不同翻译方向的语言的信息表示映射到同一个语义空间中,在后续的Fine tuning(微调)阶段,然后重加载多语言翻译子模型作为目标翻译模型的子网络(subNet PretrainMTM)。区别于传统的方法,本申请一方面保持多语言翻译子模型的网络参数在之后的微调过程中不动以达到轻量级的效果,另一方面为了体现每个语言的特异性属性,针对每个语种设计了一种前缀向量子网络。本申请通过目标翻译模型既拉近了多语言的语义空间,又体现出了各语言的特异性信息,同时达到了模型的轻量级效果。
图7是根据一示例性实施例示出的一种多语言翻译子模型训练方法的流程图。
参照图7,本公开实施例提供的多语言翻译子模型训练方法可以包括以下步骤。
步骤S702,获取第五源端句子、第五目标端句子以及第一翻译方向标签,第一翻译方向标签用于标识第五目标端句子是按照第一翻译方向对第五源端句子进行翻译后获得的。
其中,第五源端句子可以指的是一个待翻译的源端句子,本申请对第五源端句子的语言不做限制。第五目标端句子可以指的是一种按照第一翻译方向对第五源端句子翻译后的句子,本申请对第五目标端句子的语言不做限制。第五源端句子和第五目标端句子可以形成一个句对,用于对目标网络模型进行训练。
其中,第五源端句子可以与第三源端句子相同,也可以不同,本公开对此不做限制。第五目标端句子可以与第三目标端句子相同,也可以不同,本公开对此不做限制。
第一翻译方向标签用于标识第五目标端句子是按照第一翻译方向对第五源端句子进行翻译后获得的。
步骤S704,获取第六源端句子、第六目标端句子以及第二翻译方向标签,第二翻译方向标签用于标识第六目标端句子是按照第二方向翻译对第六源端句子进行翻译后获得的,第一翻译方向与第二翻译方向不同。
其中,第六源端句子可以指的是一个待翻译的源端句子,本申请对第六源端句子的语言不做限制。第六目标端句子可以指的是一种按照第二翻译方向对第六源端句子翻译后的句子,本申请对第六目标端句子的语言不做限制。第六源端句子和第六目标端句子可以形成一个句对,用于对目标网络模型进行训练。
其中,第六源端句子可以与第四源端句子相同,也可以不同,本公开对此不做限制。第六目标端句子可以与第四目标端句子相同,也可以不同,本公开对此不做限制。
第二翻译方向标签用于标识第六目标端句子是按照第二翻译方向对第六源端句子进行翻译后获得的。
步骤S706,根据第五源端句子、第五目标端句子和第一翻译方向标签生成第一训练样本。
步骤S708,根据第六源端句子、第六目标端句子和第二翻译方向标签生成第二训练样本。
步骤S710,通过第一训练样本和第二训练样本对多语言翻译网络进行训练,以获得多语言翻译子模型。
在一些实施例中,可以对第一翻译方向标签进行向量化以获得第一翻译方向标签向量,例如可以通过embedding技术对第一翻译方向标签进行向量化。
在一些实施例中,可以对第五源端句子进行向量化以获得第五源端句子向量,例如可以通过embedding技术对第五源端句子进行向量化。
在一些实施例中,可以将第一翻译方向标签向量与第五源端句子向量进行拼接,然后将拼接后的向量输入至目标翻译网络模型以获得第五目标端预测句子。
在一些实施例中,可以对第二翻译方向标签进行向量化以获得第二翻译方向标签向量,例如可以通过embedding技术对第二翻译方向标签进行向量化。
在一些实施例中,可以对第六源端句子进行向量化以获得第六源端句子向量,例如可以通过embedding技术对第六源端句子进行向量化。
在一些实施例中,可以将第二翻译方向标签向量与第六源端句子向量进行拼接,然后将拼接后的向量输入至目标翻译网络模型以获得第六目标端预测句子。
在一些实施例中,可以根据第五目标端预测句子和第五目标端句子确定第一子损失值,可以根据第六目标端预测句子和第六目标端句子确定第二子损失值,然后根据第一子损失值和第二子损失值确定目标损失值;最后根据该目标损失函数对多语言翻译子模型的参数进行调整,从而完成对多语言翻译子模型的训练。
具体地,上述多语言翻译网络可以包括编码端和解码端。那么通过第一训练样本对多语言翻译网络进行训练以获得多语言翻译子模型的训练过程可以具体包括:获取第五源端句子的第五源端句子向量、第五目标端句子的第五目标端句子向量以及第一翻译方向标签对应的第一翻译方向标签向量;将第五源端句子向量和第一翻译方向标签向量进行拼接以生成第五待翻译向量;通过编码端对第五待翻译向量进行编码处理,获得第五编码向量;解码端根据第五目标端句子向量对第五编码向量进行解码处理,获得第五解码向量;根据第五源端句子向量和第五解码向量调整多语言翻译网络的参数值,获得多语言翻译子模型。
那么通过第一训练样本和第二训练样本对多语言翻译网络进行训练,以获得多语言翻译子模型具体可以包括:获取第六源端句子的第六源端句子向量、第六目标端句子的第六目标端句子向量以及第二翻译方向标签的第二翻译方向标签向量;将第六源端句子向量和第二翻译方向标签向量进行拼接以生成第六待翻译向量;通过编码端对第六待翻译向量进行编码处理,获得第六编码向量;解码端根据第六目标端句子向量对第六编码向量进行解码处理,获得第六解码向量;根据第五源端句子向量和第五解码向量、第六源端句子向量和第六解码向量调整多语言翻译网络的参数值,获得多语言翻译子模型。
可以理解的是,上述第五源端句子和第六源端句子的训练过程可以并行实现,也可以串行实现,本公开对此不做限制。
图8是根据一示例性实施例示出的一种目标翻译网络的结构示意图。
如图8所示,上述目标翻译网络可以包括前缀子网络(subNet prefix)801和预训练翻译子模型(subNet PretrainMTM)802。其中,预训练翻译子模型802可以是Transformer结构,前缀子网络801可以包括M个相互独立的前缀向量子模型subNeti(如前缀向量子模型1(subNet1)8011、前缀向量子模型2(subNet2)8012、前缀向量子模型i(subNeti)8013或者前缀向量子模型M(subNetM)8014等),M代表翻译方向的数量,i取1,2,3...M。其中,每个前缀向量子模型中均包括一对应的前缀向量(如前缀向量1(prefix1)、前缀向量2(prefix2)、前缀向量i(prefixi)、……前缀向量M(prefixM)),不同前缀向量子模型中的前缀向量用于对不同翻译方向的翻译信息进行描述。
(一)预训练翻译子模型802
预训练翻译子模型802可以采用Transformer结构,它是一种端到端的encoder-decoder attention网络。其中,预训练翻译子模型802的左半部分为encoder端(编码端),将离散输入序列X=(x1,x2,...,xn)映射到连续表示
Figure BDA0003594527550000321
n为大于1的整数。预训练翻译子模型802的右半部分可以为decoder端(解码端),根据encoder的输出序列
Figure BDA0003594527550000322
和decoder端上一个时刻的历史解码信息,可以生成一个输出序列Y=(y1,y2,...,yn)。具体地:
(1)encoder端
encoder端可以有Nx=6层,每层包括两个sub-layers(子层):第一个sub-layer是multi-head self-attention mechanism(多头自注意力机制),用来计算输入的自注意力;第二个sub-layer是应用全连接网络(图中的前馈网络Feed Foward)。其中每个sub-layer都使用了残差网络和层归一化,因此每个sub-layer的输出都是:
LayerNorm(x+Sublayer(x))
其中Sublayer(x)表示Sub-layer对输入x做的映射,LayerNorm代表归一化处理。
(2)decoder端
decoder也是Nx=6层,每层包括3个sub-layers(子层):第一个是Masked multi-head self-attention(掩膜多头自注意力机制),用于计算目标端句子的自注意力(训练阶段是目标端句子,使用阶段是随机生成的参数),但因为是随着时序的生成过程,模型无法观测到将来的时序信息,因此在时刻t(t大于等于0),需要对输入序列做Mask(掩膜)操作。第二个sub-layer是对encoder的输入进行多头自注意力(multi-head self-attention)计算。第三个sub-layer是全连接网络(即图中的前馈网络Feed Foward),与Encoder相同。
(二)前缀子网络801
在一些实施例中,前缀子网络可以包括batch分流模块、至少一个前缀向量子网络和输出模块,其中每个前缀向量子网络可以包括多层,例如可以有Nx=6层。其中:
(1)batch分流
batch分流是一种简单的逻辑操作,主要用于将输入inputs中包含的不同翻译方向标签的句子(如<zhid>、<zhvi>、<enid>、<envi>、<zhen>、<enzh>)解析出来,送入各翻译方向标签对应的前缀向量子网络subNetprefix:subNet1,subNet2,...,subNet M,M为大于或者等于1的整数中。举例说明如下:
假设输入inputs为{X=X1,X2,X3,X4},其中X1表示<zhid>句对的中的源端句子“<zhid>宜必思悉尼达令港酒店”,X2表示<zhvi>句对的中的源端句子“<zhvi>也许他才是受害者。”,X3表示<enid>句对中的源端句子“<enid>that's more like it.did you openthe wrong locker?so i sorted it out for you.”,X4表示<enid>句对中的源端句子“<envi>why do you want to see me?”,<zhid>、<zhvi>、<enid>、<enid>代表翻译方向标签。
batch分流操作实现的是依据X中的每个Xi{i=1,2,3,4}序列的句首的翻译方向标签,将不同的翻译方向的句子分别输入不同的subNet网络中的功能。例如subNet1接收<zhid>的源端句子,subNet2接收<zhvi>的源端句子,subNet3接收<enid>的源端句子,subNet4接收<envi>的源端句子...以此类推至更多的翻译方向。batch分流的目的是使得每一个翻译方向的训练数据,只经过独立的subNet进行训练,利用每个翻译方向独立的subNet网络来学习每个翻译方向的特异性属性。
(2)前缀向量子网络i(subNeti,i大于等于1且小于等于M)
subNeti{i=1,2,3,...,M}是整个前缀子网络subNet prefix的核心所在,由M个结构相同、参数独立的子网络组成,其中M表示多语言翻译的翻译方向的数量(M为大于等于1的整数),即每一个翻译方向,独享一个subNet子网络,通过前面的batch分流操作,使得每一个翻译方向的训练数据,只经过专门独立的subNet进行训练,通过利用每个翻译方向独立的subNet网络来学习每个翻译方向的特异性属性。
这里我们假设subNeti取i=1是专门表示<zhid>方向的子网络,通过batch分流操作,解析得到输入inputs X中的X1属于<zhid>方向,则选择subNet1网络的中的prefix1参数作为其输入。prefix1参数是由长度为P(P为训练超参数,一般取3)的embedding矩阵组成。
在一些实施例中,前缀向量子网络subNet1为一个简单但有效的sub-layer——使用了残差网络和层归一化的全连接网络,其输出为:
prefixi+1=LayerNorm(prefixi+Sublayer(prefixi))
其中:
LayerNorm为通用的层归一化操作,在模型的训练过程中,随着网络深度的增加,数据的分布会不断发生变化,使用LayerNorm可以保证保证数据特征分布的稳定性,加速模型收敛。
残差网络体现在prefixi+Sublayer(prefixi)计算上,随着网络深度的增加,通过残差网络,输入信号可以从任意低层直接传播到高层,由于包含了一个天然的恒等映射,一定程度上可以解决网络退化问题,这利于模型的训练。
关于公式中的Sublayer(prefixi)这里我们使用的是一个瓶颈结构的网络来进行全连接操作,如下图9所示:
具体地,
Sublayer(prefixi)=max(0,prefixiW1+b1)W2+b2
其中W1、b1表示Down Projection(低维投影)中的低维度参数,W2、b2表示UpProjection(高维投影)中的高维度参数。这种瓶颈结构的全连接网络,相比较传统简单的全连接网络,瓶颈结构的全连接网络使用的是两层全连接网络,一方面增加了模型的非线性变换计算,另一方面增加了模型参数容量,这对模型的效果提升有较大帮助。
(3)输出模块
输出模块是batch分流的逆向操作,也是一种逻辑操作。主要作用是将各个前缀向量子网络subNet1,subNet2,...,subNet M的输出结果,按照输入inputs X中的对应顺序,进行拼batch操作,然后送入subNetPretrainMTM网络(多语言翻译子模型)中,与subNetPretrainMTM网络的原始输入Inputs进行对应维度的拼接,作为subNet PretrainMTM网络的新的输入;
具体地,本发明实现步骤如下:
步骤一:进行多语言翻译子模型PretrainMTM的预训练
集合所有待优化的多语言翻译的训练句对(假设需要进行机器翻译优化的翻译方向为中-印尼、中-越南、英-印尼、英-越南、中-英、英-中六个方向,实际应用中可扩充至数十种甚至上百种翻译方向),在句对的源端句子前增加翻译方向标签,如下表中所示:
Figure BDA0003594527550000351
Figure BDA0003594527550000361
在上表中类型的所有语言方向的句对组成的训练集上,进行多语言翻译子模型subNet PretrainMTM的预训练。
步骤二:目标翻译模型的训练:
目标翻译模型的训练的主要路线是共享subNet PretrainMTM模型参数,微调前缀向量子网络subNet prefix。
步一:首先随机初始化目标翻译模型,然后将步骤一中预训练的多语言翻译子模型subNet PretrainMTM重加载进目标翻译模型,并设置该部分网络参数固定不再更新(subNet PretrainMTM网络参数量记为P1,实际应用中可能约为7亿)。
步二:微调前缀向量子网络subNet prefix(微调前缀向量子网络subNet prefix网络参数量记为P2,实际应用中约为subNet PretrainMTM参数量的10%,约7千万)。
假设输入inputs为{X=X1,X2,X3,X4},通过batch分流后分别输入subNeti网络中,将subNeti网络输出通过输出模块得到与输入inputs同样维度的inputs序列,记为{X_prefix=X_Prfix1,X_Prfix2,X_Prfix3,X_Prfix4}。最后,将X_prefix与X进行对应维度的拼接,得到{XX_prefix=[X_Prfix1,X1],[X_Prfix2,X2],[X_Prfix3,X3],[X_Prfix4,X4]}。
将上述步骤得到的XX_prefix作为新的输入,送入subNetPretrainMTM网络中进行后续计算。关于subNet PretrainMTM网络中的计算细节,上文做过简要介绍,因是现有使用的最为广泛的Transformer结构,这里不再赘述。
在中-印尼<zhid>、中-越南<zhvi>、英-印尼<enid>、英-越南<envi>、中-英<zhen>、英-中<enzh>、中-泰<zhth>、英-泰<enth>共8个翻译方向上,共计4亿句对多语言翻译训练集上,通过本案提出的连续型前缀多语言翻译模型CP multi-NMT模型,得到的有益效果收益如下:
1)相比于效果最优的单语言翻译模型,目标翻译模型在保证平均效果下降0.3个BLEU范围内,做到大幅节省翻译模型的人工、机器训练成本。在模型参数量上,相比于针对某一个翻译方向都训练一个翻译模型,目标翻译模型共计节约云端部署参数量为:8*P1-(p1+8*P2),其中P2远小于P1。在实际应用中的8个多翻译方向的翻译中,P1约7亿参数量,P2约7000万参数量,因此,通过目标翻译,共计可节约云端部署模型参数量为43.4亿;
2)相比于常用的share-channel和multi-channel多语言翻译模型,目标翻译模型由于兼顾到各个语言的语言特异性和共性,在效果上有平均0.7个BLEU的幅度提升,且保证了模型训练和云端部署的高效性。
本公开提出一种多语言神经机器翻译场景下的轻量级模型训练方法:预训练+多语言前缀微调。在经过大规模多语言数据预训练的高参数量预训练模型PretrainMTM的基础上,通过引入针对具体语言特定的连续空间向量的前缀进行提示性学习,同时保持高参数量预训练模型的参数在所有语言方向上共享,以此实现高效的、轻量级的多语言神经机器翻译模型的训练。
具体地,假设目标翻译模型包括中-泰、中-越南、中-日、中-韩、英-泰、英-日、英-越南等M个方向语种的翻译任务。在目标翻译模型网络的训练优化过程中,首先重加载一个预训练的多语言翻译子模型Pretrain-MTM作为目标翻译模型网络的子网络(subNetPretrainMTM);然后我们为每个翻译方向单独构建一个连续空间的、轻量级的前缀向量子网络(subNet prefix:subNet1,subNet2,...,subNet M),在Fine Tuning阶段专门训练优化该前缀向量子网络,保持重加载的subNet PretrainMTM网络参数不变。以此实现一种新的轻量级多语言神经机器翻译,该方法我们称之为continuous prefix multi-NMT,简称CPmulti-NMT。
在一些实施例中,本公开提供的技术方案能应用到某个视频软件的视频字幕项目中。该视频软件的视频字幕翻译可以包含中、英、日、韩、泰、越、印尼等数十个语种之多,且后续语种数量仍在持续不断地扩充之中。通过一套模型完成所有语言的翻译的多语言翻译的应用势在必行。在视频字幕项目,CP multi-NMT在保证高质量翻译效果的同时,其轻量级的模型参数、以及高效的模型训练,无疑是该项目降本增效的一把利器。在提升用户体验的同时,大大降低了模型优化流程和复杂度。
基于与上述机器翻译方法相同的发明构思,本公开实施例中还提供了一种机器翻译装置,如下面的实施例。由于该装置实施例解决问题的原理与上述机器翻译方法实施例相似,因此该装置实施例的实施可以参见上述机器翻译方法实施例的实施,重复之处不再赘述。
图10是根据一示例性实施例示出的一种机器翻译装置的框图。参照图10,本公开实施例提供的机器翻译装置1000可以包括:第一源端句子确定模块1001、第一前缀向量子模型第一确定模块1002、第一预测前缀向量确定模块1003和第一目标端句子确定模块1004。
其中,第一源端句子确定模块1001可以用于获取第一源端句子和第一翻译方向标签,第一翻译方向标签用于指示对第一源端句子按照第一翻译方向进行翻译;第一前缀向量子模型第一确定模块1002可以用于根据第一翻译方向标签在目标翻译模型的至少一个前缀向量子模型中确定与第一翻译方向对应的第一前缀向量子模型,其中各个前缀向量子模型之间参数独立;目标翻译模型还包括多语言翻译子模型,其中不同翻译方向在多语言翻译子模型中共享参数;第一预测前缀向量确定模块1003可以用于从第一前缀向量子模型的参数中提取第一翻译方向对应的第一预测前缀向量,第一预测前缀向量是目标翻译模型从第一翻译方向上的训练样本中提取出来的、用于对第一翻译方向进行描述的向量;第一目标端句子确定模块1004可以用于多语言翻译子模型根据第一预测前缀向量将第一源端句子按照第一翻译方向翻译为第一目标端句子。
此处需要说明的是,上述第一源端句子确定模块1001、第一前缀向量子模型第一确定模块1002、第一预测前缀向量确定模块1003、第一目标端句子确定模块1004对应于方法实施例中的S202~S408,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述方法实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以在诸如一组计算机可执行指令的计算机系统中执行。
在一些实施例中,至少一个前缀向量子模型还包括第二前缀向量子模型,机器翻译装置还包括:第二源端句子获取模块、第二前缀向量子模型确定模块、第二预测前缀向量确定模块和第二目标端句子确定模块。
其中,第二源端句子获取模块用于获取第二源端句子和第二翻译方向标签,第二翻译方向标签用于指示对第二源端句子按照第二翻译方向进行翻译;第二前缀向量子模型确定模块用于根据第二翻译方向标签在至少一个前缀向量子模型中确定与第二翻译方向对应的第二前缀向量子模型;第二预测前缀向量确定模块用于从第二前缀向量子模型中提取第二翻译方向对应的第二预测前缀向量,第二预测前缀向量是目标翻译模型从第二翻译方向上的训练样本中提取出来的、用于对第二翻译方向进行描述的向量;第二目标端句子确定模块用于多语言翻译子模型根据第二预测前缀向量将第二源端句子按照第二翻译方向翻译为第二目标端句子。
在一些实施例中,所述机器翻译装置还包括:待翻译源端句子获取模块、分流解析模块和翻译方向确定模块。
其中,待翻译源端句子获取模块用于在获取第一源端句子和获取第二源端句子之前获取多个待翻译源端句子,所述多个待翻译源端句子包括所述第一源端句子和所述第二源端句子;分流解析模块用于对所述多个待翻译源端句子进行分流解析,以从所述待翻译源端句子中解析出所述第一源端句子和所述第二源端句子;翻译方向确定模块用于确定所述第一源端句子的翻译方向标签为所述第一翻译方向标签、所述第二源端句子的翻译方向标签为所述第二翻译方向标签,以根据所述第一翻译方向标签和所述第二翻译方向标签从所述至少一个前缀向量子模型中获取所述第一预测前缀向量和所述第二预测前缀向量,以便所述多语言翻译子模型根据所述第一预测前缀向量和所述第二预测前缀向量对所述第一源端句子和所述第二源端句子同时进行不同翻译方向的翻译。
在一些实施例中,第一预测前缀向量确定模块1003可以包括:第一预向量获取单元、全连接单元和拼接单元。
其中,第一预向量获取单元可以用于通过第一前缀向量子模型获取第一翻译方向对应的第一预向量;全连接单元可以用于通过第一前缀向量子模型对第一预向量进行全连接处理,获得第一中间向量;拼接单元可以用于通过第一前缀向量子模型将第一中间向量与第一预向量进行拼接,以获得第一预测前缀向量。
在一些实施例中,第一前缀向量子模型包括第一全连接结构,第一全连接结构包括第一投影结构和第二投影结构,第一投影结构包括第一投影参数,第二投影结构包括第二投影参数;其中,全连接单元包括:第一投影子单元、中间投影向量获取子单元和第二投影子单元。
其中,第一投影子单元可以用于通过第一投影参数对第一预向量进行投影操作,以获得第一投影向量;中间投影向量获取子单元可以用于在第一投影向量和零向量对应位置处的值中选取最大值,生成中间投影向量;第二投影子单元可以用于通过第二投影参数对中间投影向量进行投影操作,以获得第一中间向量。
在一些实施例中,多语言翻译子模型包括编码端和解码端;其中,第一目标端句子确定模块1004可以包括:第一源端句子向量获取单元、前缀向量拼接单元、第一编码向量获取单元、解码处理单元和第一目标端句子获取单元。
其中,第一源端句子向量获取单元可以用于获取第一源端句子对应的第一源端句子向量;前缀向量拼接单元可以用于将第一预测前缀向量与第一源端句子向量进行拼接,以获得第一待翻译向量;第一编码向量获取单元可以用于通过编码端对第一待翻译向量进行编码处理,获得第一编码向量;解码处理单元可以用于通过解码端对第一编码向量进行解码处理,获得第一解码向量;第一目标端句子获取单元可以用于根据第一解码向量将第一源端句子翻译为第一目标端句子。
由于装置1000的各功能已在其对应的方法实施例中予以详细说明,本公开于此不再赘述。
基于与目标翻译模型训练方法相同的发明构思,本公开实施例中还提供了一种目标翻译模型训练装置,如下面的实施例。由于该装置实施例解决问题的原理与上述目标翻译模型训练方法实施例相似,因此该装置实施例的实施可以参见上述目标翻译模型训练方法实施例的实施,重复之处不再赘述。
图11是根据一示例性实施例示出的一种目标翻译模型训练装置的框图。参照图11,本公开实施例提供的目标翻译模型训练装置1100可以包括:第三源端句子获取模块1101、第一前缀向量子网络确定第二模块1102、第一训练前缀向量确定模块1103、第三目标端预测句子1104、第一前缀向量子模型训练模块1105和目标翻译模型确定模块1106。
其中,第三源端句子获取模块1101可以用于获取第三源端句子、第三目标端句子以及第一翻译方向标签,第一翻译方向标签用于标识第三目标端句子是按照第一翻译方向对第三源端句子进行翻译后获得的;第一前缀向量子网络确定第二模块1102可以用于根据第一翻译方向在目标翻译网络的至少一个前缀向量子网络中确定第一翻译方向对应的第一前缀向量子网络,其中各个前缀向量子网络之间参数独立;其中目标翻译网络还包括多语言翻译子模型,多语言翻译子模型是通过多个翻译方向的训练样本预训练完成的;第一训练前缀向量确定模块1103可以用于从第一前缀向量子网络的参数中提取第一翻译方向对应的第一训练前缀向量;第三目标端预测句子1104可以用于多语言翻译子模型根据第一训练前缀向量将第三源端句子翻译为第三目标端预测句子;第一前缀向量子模型训练模块1105可以用于根据第三目标端句子、第三目标端预测句子调整第一前缀向量子网络中的参数,以获得第一前缀向量子模型;目标翻译模型确定模块1106可以用于根据第一前缀向量子模型、多语言翻译子模型确定目标翻译模型,以便通过目标翻译模型将第一源端句子在第一翻译方向下进行翻译。
在一些实施例中,至少一个前缀向量子网络还包括第二前缀向量子网络;其中,目标翻译模型确定模块1106可以包括:第四源端句子获取单元、第二前缀向量子网络确定单元、第二训练前缀向量获取单元、第四目标端预测句子获取单元、第一参数调整单元和目标翻译模型第一确定单元。
其中,第四源端句子获取单元可以用于获取第四源端句子、第四目标端句子以及第二翻译方向标签,第二翻译方向标签用于标识第四目标端句子是按照第二方向翻译对第四源端句子翻译后获得的,第一翻译方向与第二翻译方向不同;第二前缀向量子网络确定单元可以用于根据第二翻译方向在至少一个前缀向量子网络中确定第二翻译方向对应的第二前缀向量子网络;第二训练前缀向量获取单元可以用于从第二前缀向量子网络的参数中提取第二翻译方向对应的第二训练前缀向量;第四目标端预测句子获取单元可以用于多语言翻译子模型根据第二训练前缀向量将第四源端句子翻译为第四目标端预测句子;第一参数调整单元可以用于根据第四目标端句子、第四目标端预测句子调整第二前缀向量子网络中的参数,以获得第二前缀向量子模型;目标翻译模型第一确定单元可以用于根据第一前缀向量子模型、第二前缀向量子模型以及多语言翻译子模型确定目标翻译模型,以便通过目标翻译模型将第二源端句子在第二翻译方向下进行翻译。
在一些实施例中,所述目标翻译模型训练包括:训练句对获取模块、训练句对解析模块、和确定翻译方向模块。
其中,训练句对获取模块用于在获取第三源端句子和获取第四源端句子之前获取多个平行训练句对,所述多个平行训练句对包括第一平行训练句对和第二平行训练句对,所述第一平行训练句对包括所述第三源端句子和所述第三目标端句子,所述第二平行训练句对包括所述第四源端句子和所述第四目标端句子;训练句对解析模块用于对所述多个平行训练句对进行分流解析,以从所述多个平行训练句对中解析出所述第一平行训练句对和所述第二平行训练句对;确定翻译方向模块用于确定所述第一平行训练句对的翻译方向标签为所述第一翻译方向标签、所述第二平行训练句对的翻译方向标签为所述第二翻译方向标签,以根据所述第一翻译方向标签和所述第二翻译方向标签从所述至少一个前缀向量子模型中获取所述第一训练前缀向量和所述第二训练前缀向量,以便所述多语言翻译子模型根据所述第一训练前缀向量和所述第二训练前缀向量对所述第三源端句子和所述第四源端句子同时进行不同翻译方向的翻译。
在一些实施例中,目标翻译模型训练装置还可以包括:第五源端句子获取模块、第六源端句子获取模块、第一训练样本生成模块、第二训练样本生成模块和多语言翻译子模型训练子模块。
其中,第五源端句子获取模块可以用于在根据第一翻译方向在目标翻译网络的至少一个前缀向量子网络中确定第一翻译方向对应的第一前缀向量子网络之前,获取第五源端句子、第五目标端句子以及第一翻译方向标签,第一翻译方向标签用于标识第五目标端句子是按照第一翻译方向对第五源端句子进行翻译后获得的;第六源端句子获取模块用于获取第六源端句子、第六目标端句子以及第二翻译方向标签,第二翻译方向标签用于标识第六目标端句子是按照第二方向翻译对第六源端句子进行翻译后获得的,第一翻译方向与第二翻译方向不同;第一训练样本生成模块可以用于根据第五源端句子、第五目标端句子和第一翻译方向标签生成第一训练样本;第二训练样本生成模块可以用于根据第六源端句子、第六目标端句子和第二翻译方向标签生成第二训练样本;多语言翻译子模型训练子模块可以用于通过第一训练样本和第二训练样本对多语言翻译网络进行训练,以获得多语言翻译子模型。
在一些实施例中,多语言翻译网络包括编码端和解码端;其中,多语言翻译子模型训练子模块可以包括:第五源端句子向量获取单元、第五待翻译向量生成单元、第五编码向量生成单元、第五解码向量生成单元和多语言翻译子模型参数调整单元。
其中,第五源端句子向量获取单元可以用于获取第五源端句子的第五源端句子向量、第五目标端句子的第五目标端句子向量以及第一翻译方向标签对应的第一翻译方向标签向量;第五待翻译向量生成单元可以用于将第五源端句子向量和第一翻译方向标签向量进行拼接以生成第五待翻译向量;第五编码向量生成单元可以用于通过编码端对第五待翻译向量进行编码处理,获得第五编码向量;第五解码向量生成单元可以用于解码端根据第五目标端句子向量对第五编码向量进行解码处理,获得第五解码向量;多语言翻译子模型参数调整单元可以用于根据第五源端句子向量和第五解码向量调整多语言翻译网络的参数值,获得多语言翻译子模型。
在一些实施例中,多语言翻译子模型训练子模块还可以包括:第六源端句子向量获取单元、第六待翻译向量生成单元、第六编码向量生成单元、第六解码向量生成单元和多语言翻译子模型生成单元。
其中,第六源端句子向量获取单元可以用于获取第六源端句子的第六源端句子向量、第六目标端句子的第六目标端句子向量以及第二翻译方向标签的第二翻译方向标签向量;第六待翻译向量生成单元可以用于将第六源端句子向量和第二翻译方向标签向量进行拼接以生成第六待翻译向量;第六编码向量生成单元可以用于通过编码端对第六待翻译向量进行编码处理,获得第六编码向量;第六解码向量生成单元可以用于解码端根据第六目标端句子向量对第六编码向量进行解码处理,获得第六解码向量;多语言翻译子模型生成单元可以用于根据第五源端句子向量和第五解码向量、第六源端句子向量和第六解码向量调整多语言翻译网络的参数值,获得多语言翻译子模型。
由于装置1100的各功能已在其对应的方法实施例中予以详细说明,本公开于此不再赘述。
描述于本申请实施例中所涉及到的模块和/或单元和/或子单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块和/或单元和/或子单元也可以设置在处理器中。其中,这些模块和/或单元和/或子单元的名称在某种情况下并不构成对该模块和/或单元和/或子单元本身的限定。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
图12示出了适于用来实现本公开实施例的的电子设备的结构示意图。需要说明的是,图12示出的电子设备1200仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图12所示,电子设备1200包括中央处理单元(CPU)1201,其可以根据存储在只读存储器(ROM)1202中的程序或者从储存部分1208加载到随机访问存储器(RAM)1203中的程序而执行各种适当的动作和处理。在RAM 1203中,还存储有电子设备1200操作所需的各种程序和数据。CPU 1201、ROM 1202以及RAM 1203通过总线1204彼此相连。输入/输出(I/O)接口1205也连接至总线1204。
以下部件连接至I/O接口1205:包括键盘、鼠标等的输入部分1206;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1207;包括硬盘等的储存部分1208;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1209。通信部分1209经由诸如因特网的网络执行通信处理。驱动器1210也根据需要连接至I/O接口1205。可拆卸介质1211,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1210上,以便于从其上读出的计算机程序根据需要被安装入储存部分1208。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1209从网络上被下载和安装,和/或从可拆卸介质1211被安装。在该计算机程序被中央处理单元(CPU)1201执行时,执行本申请的系统中限定的上述功能。
需要说明的是,本公开所示的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备中所包含的;也可以是单独存在,而未装配入该设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被一个该设备执行时,使得该设备可实现功能包括:获取第一源端句子和第一翻译方向标签,第一翻译方向标签用于指示对第一源端句子按照第一翻译方向进行翻译;根据第一翻译方向标签在目标翻译模型的至少一个前缀向量子模型中确定与第一翻译方向对应的第一前缀向量子模型,其中各个前缀向量子模型之间参数独立;目标翻译模型还包括多语言翻译子模型,其中不同翻译方向在多语言翻译子模型中共享参数;从第一前缀向量子模型的参数中提取第一翻译方向对应的第一预测前缀向量,第一预测前缀向量是目标翻译模型从第一翻译方向上的训练样本中提取出来的、用于对第一翻译方向进行描述的向量;多语言翻译子模型根据第一预测前缀向量将第一源端句子按照第一翻译方向翻译为第一目标端句子;或者使得该设备科实现功能包括:获取第三源端句子、第三目标端句子以及第一翻译方向标签,第一翻译方向标签用于标识第三目标端句子是按照第一翻译方向对第三源端句子进行翻译后获得的;根据第一翻译方向在目标翻译网络的至少一个前缀向量子网络中确定第一翻译方向对应的第一前缀向量子网络,其中各个前缀向量子网络之间参数独立;其中目标翻译网络还包括多语言翻译子模型,多语言翻译子模型是通过多个翻译方向的训练样本预训练完成的;从第一前缀向量子网络的参数中提取第一翻译方向对应的第一训练前缀向量;多语言翻译子模型根据第一训练前缀向量将第三源端句子翻译为第三目标端预测句子;根据第三目标端句子、第三目标端预测句子调整第一前缀向量子网络中的参数,以获得第一前缀向量子模型;根据第一前缀向量子模型、多语言翻译子模型确定目标翻译模型,以便通过目标翻译模型将第一源端句子在第一翻译方向下进行翻译。
根据本申请的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例的各种可选实现方式中提供的方法。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,本公开实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,包括若干指令用以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者智能设备等)执行根据本公开实施例的方法,例如图2、图3、图4、图5、图6或图7的一个或多个所示的步骤。
本领域技术人员在考虑说明书及实践在这里公开的公开后,将容易想到本公开的其他实施例。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未申请的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。
应当理解的是,本公开并不限于这里已经示出的详细结构、附图方式或实现方法,相反,本公开意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。

Claims (16)

1.一种机器翻译方法,其特征在于,所述机器翻译方法包括:
获取第一源端句子和第一翻译方向标签,所述第一翻译方向标签用于指示对所述第一源端句子按照第一翻译方向进行翻译;
根据所述第一翻译方向标签在目标翻译模型的至少一个前缀向量子模型中确定与所述第一翻译方向对应的第一前缀向量子模型,其中不同前缀向量子模型中的参数用于对不同翻译方向的翻译特性进行描述;所述目标翻译模型还包括多语言翻译子模型,其中不同翻译方向在所述多语言翻译子模型中共享参数;
从所述第一前缀向量子模型的参数中提取所述第一翻译方向对应的第一预测前缀向量,所述第一预测前缀向量是所述目标翻译模型从所述第一翻译方向上的训练样本中提取出来的;
所述多语言翻译子模型根据所述第一预测前缀向量将所述第一源端句子按照所述第一翻译方向翻译为第一目标端句子。
2.根据权利要求1所述方法,其特征在于,所述至少一个前缀向量子模型还包括第二前缀向量子模型,所述机器翻译方法还包括:
获取第二源端句子和第二翻译方向标签,所述第二翻译方向标签用于指示对所述第二源端句子按照第二翻译方向进行翻译;
根据所述第二翻译方向标签在所述至少一个前缀向量子模型中确定与所述第二翻译方向对应的所述第二前缀向量子模型;
从所述第二前缀向量子模型中提取所述第二翻译方向对应的第二预测前缀向量,所述第二预测前缀向量是所述目标翻译模型从所述第二翻译方向上的训练样本中提取出来的、用于对所述第二翻译方向进行描述的向量;
所述多语言翻译子模型根据所述第二预测前缀向量将所述第二源端句子按照所述第二翻译方向翻译为第二目标端句子。
3.根据权利要求2所述方法,其特征在于,在获取第一源端句子和获取第二源端句子之前,所述机器翻译方法包括:
获取多个待翻译源端句子,所述多个待翻译源端句子包括所述第一源端句子和所述第二源端句子;
对所述多个待翻译源端句子进行分流解析,以从所述待翻译源端句子中解析出所述第一源端句子和所述第二源端句子;
确定所述第一源端句子的翻译方向标签为所述第一翻译方向标签、所述第二源端句子的翻译方向标签为所述第二翻译方向标签,以根据所述第一翻译方向标签和所述第二翻译方向标签从所述至少一个前缀向量子模型中获取所述第一预测前缀向量和所述第二预测前缀向量,以便所述多语言翻译子模型根据所述第一预测前缀向量和所述第二预测前缀向量对所述第一源端句子和所述第二源端句子同时进行不同翻译方向的翻译。
4.根据权利要求1所述方法,其特征在于,从所述第一前缀向量子模型的参数中提取所述第一翻译方向对应的第一预测前缀向量,包括:
通过所述第一前缀向量子模型获取所述第一翻译方向对应的第一预向量;
通过所述第一前缀向量子模型对所述第一预向量进行全连接处理,获得第一中间向量;
通过所述第一前缀向量子模型将所述第一中间向量与所述第一预向量进行拼接,以获得所述第一预测前缀向量。
5.根据权利要求4所述方法,其特征在于,所述第一前缀向量子模型包括第一全连接结构,所述第一全连接结构包括第一投影结构和第二投影结构,所述第一投影结构包括第一投影参数,所述第二投影结构包括第二投影参数;其中,通过所述第一前缀向量子模型对所述第一预向量进行全连接处理,获得第一中间向量,包括:
通过第一投影参数对所述第一预向量进行投影操作,以获得第一投影向量;
在所述第一投影向量和零向量对应位置处的值中选取最大值,生成中间投影向量;
通过第二投影参数对所述中间投影向量进行投影操作,以获得所述第一中间向量。
6.根据权利要求1所述方法,其特征在于,所述多语言翻译子模型包括编码端和解码端;其中,所述多语言翻译子模型根据所述第一预测前缀向量将所述第一源端句子按照所述第一翻译方向翻译为第一目标端句子,包括:
获取所述第一源端句子对应的第一源端句子向量;
将所述第一预测前缀向量与所述第一源端句子向量进行拼接,以获得第一待翻译向量;
通过所述编码端对所述第一待翻译向量进行编码处理,获得第一编码向量;
通过所述解码端对所述第一编码向量进行解码处理,获得第一解码向量;
根据所述第一解码向量将所述第一源端句子翻译为所述第一目标端句子。
7.一种目标翻译模型训练方法,其特征在于,所述方法包括:
获取第三源端句子、第三目标端句子以及第一翻译方向标签,所述第一翻译方向标签用于标识所述第三目标端句子是按照第一翻译方向对所述第三源端句子进行翻译后获得的;
根据所述第一翻译方向在目标翻译网络的至少一个前缀向量子网络中确定所述第一翻译方向对应的第一前缀向量子网络,其中各个前缀向量子网络之间参数独立;其中所述目标翻译网络还包括多语言翻译子模型,所述多语言翻译子模型是通过多个翻译方向的训练样本预训练完成的;
从所述第一前缀向量子网络的参数中提取所述第一翻译方向对应的第一训练前缀向量;
所述多语言翻译子模型根据所述第一训练前缀向量将所述第三源端句子翻译为第三目标端预测句子;
根据所述第三目标端句子、所述第三目标端预测句子调整所述第一前缀向量子网络中的参数,以获得第一前缀向量子模型;
根据所述第一前缀向量子模型、所述多语言翻译子模型确定目标翻译模型,以便通过所述目标翻译模型将第一源端句子在所述第一翻译方向下进行翻译。
8.根据权利要求7所述方法,其特征在于,所述至少一个前缀向量子网络还包括第二前缀向量子网络;其中,根据所述第一前缀向量子模型、所述多语言翻译子模型确定目标翻译模型,包括:
获取第四源端句子、第四目标端句子以及第二翻译方向标签,所述第二翻译方向标签用于标识所述第四目标端句子是按照第二方向翻译对所述第四源端句子翻译后获得的,所述第一翻译方向与所述第二翻译方向不同;
根据所述第二翻译方向在所述至少一个前缀向量子网络中确定所述第二翻译方向对应的第二前缀向量子网络;
从所述第二前缀向量子网络的参数中提取所述第二翻译方向对应的第二训练前缀向量;
所述多语言翻译子模型根据所述第二训练前缀向量将所述第四源端句子翻译为第四目标端预测句子;
根据所述第四目标端句子、所述第四目标端预测句子调整所述第二前缀向量子网络中的参数,以获得第二前缀向量子模型;
根据所述第一前缀向量子模型、所述第二前缀向量子模型以及所述多语言翻译子模型确定所述目标翻译模型,以便通过所述目标翻译模型将第二源端句子在所述第二翻译方向下进行翻译。
9.根据权利要求7所述方法,其特征在于,在根据所述第一翻译方向在目标翻译网络的至少一个前缀向量子网络中确定所述第一翻译方向对应的第一前缀向量子网络之前,所述目标翻译模型训练方法包括:
获取第五源端句子、第五目标端句子以及第一翻译方向标签,所述第一翻译方向标签用于标识所述第五目标端句子是按照第一翻译方向对所述第五源端句子进行翻译后获得的;
获取第六源端句子、第六目标端句子以及第二翻译方向标签,所述第二翻译方向标签用于标识所述第六目标端句子是按照第二方向翻译对所述第六源端句子进行翻译后获得的,所述第一翻译方向与所述第二翻译方向不同;
根据所述第五源端句子、所述第五目标端句子和所述第一翻译方向标签生成第一训练样本;
根据所述第六源端句子、所述第六目标端句子和所述第二翻译方向标签生成第二训练样本;
通过所述第一训练样本和所述第二训练样本对多语言翻译网络进行训练,以获得所述多语言翻译子模型。
10.根据权利要求9所述方法,其特征在于,所述多语言翻译网络包括编码端和解码端;其中,通过所述第一训练样本对多语言翻译网络进行训练,以获得所述多语言翻译子模型,包括:
获取所述第五源端句子的第五源端句子向量、所述第五目标端句子的第五目标端句子向量以及所述第一翻译方向标签对应的第一翻译方向标签向量;
将所述第五源端句子向量和所述第一翻译方向标签向量进行拼接以生成第五待翻译向量;
通过所述编码端对所述第五待翻译向量进行编码处理,获得第五编码向量;
所述解码端根据所述第五目标端句子向量对所述第五编码向量进行解码处理,获得第五解码向量;
根据所述第五源端句子向量和所述第五解码向量调整所述多语言翻译网络的参数值,获得所述多语言翻译子模型。
11.根据权利要求10所述方法,其特征在于,根据所述第五源端句子向量和所述第五解码向量调整所述多语言翻译网络的参数值,获得所述多语言翻译子模型,包括:
获取所述第六源端句子的第六源端句子向量、所述第六目标端句子的第六目标端句子向量以及所述第二翻译方向标签的第二翻译方向标签向量;
将所述第六源端句子向量和所述第二翻译方向标签向量进行拼接以生成第六待翻译向量;
通过所述编码端对所述第六待翻译向量进行编码处理,获得第六编码向量;
所述解码端根据所述第六目标端句子向量对所述第六编码向量进行解码处理,获得第六解码向量;
根据所述第五源端句子向量和所述第五解码向量、所述第六源端句子向量和所述第六解码向量调整所述多语言翻译网络的参数值,获得所述多语言翻译子模型。
12.一种机器翻译装置,其特征在于,所述装置包括:
第一源端句子确定模块,用于获取第一源端句子和第一翻译方向标签,所述第一翻译方向标签用于指示对所述第一源端句子按照第一翻译方向进行翻译;
第一前缀向量子模型第一确定模块,用于根据所述第一翻译方向标签在目标翻译模型的至少一个前缀向量子模型中确定与所述第一翻译方向对应的第一前缀向量子模型,其中各个前缀向量子模型之间参数独立;所述目标翻译模型还包括多语言翻译子模型,其中不同翻译方向在所述多语言翻译子模型中共享参数;
第一预测前缀向量确定模块,用于从所述第一前缀向量子模型的参数中提取所述第一翻译方向对应的第一预测前缀向量,所述第一预测前缀向量是所述目标翻译模型从所述第一翻译方向上的训练样本中提取出来的、用于对所述第一翻译方向进行描述的向量;
第一目标端句子确定模块,用于所述多语言翻译子模型根据所述第一预测前缀向量将所述第一源端句子按照所述第一翻译方向翻译为第一目标端句子。
13.一种目标翻译模型训练装置,所述装置包括:
第三源端句子获取模块,用于获取第三源端句子、第三目标端句子以及第一翻译方向标签,所述第一翻译方向标签用于标识所述第三目标端句子是按照第一翻译方向对所述第三源端句子进行翻译后获得的;
第一前缀向量子网络确定第二模块,用于根据所述第一翻译方向在目标翻译网络的至少一个前缀向量子网络中确定所述第一翻译方向对应的第一前缀向量子网络,其中各个前缀向量子网络之间参数独立;其中所述目标翻译网络还包括多语言翻译子模型,所述多语言翻译子模型是通过多个翻译方向的训练样本预训练完成的;
第一训练前缀向量确定模块,用于从所述第一前缀向量子网络的参数中提取所述第一翻译方向对应的第一训练前缀向量;
第三目标端预测句子,用于所述多语言翻译子模型根据所述第一训练前缀向量将所述第三源端句子翻译为第三目标端预测句子;
第一前缀向量子模型训练模块,用于根据所述第三目标端句子、所述第三目标端预测句子调整所述第一前缀向量子网络中的参数,以获得第一前缀向量子模型;
目标翻译模型确定模块,用于根据所述第一前缀向量子模型、所述多语言翻译子模型确定目标翻译模型,以便通过所述目标翻译模型将第一源端句子在所述第一翻译方向下进行翻译。
14.一种电子设备,其特征在于,包括:
存储器;以及
耦合到所述存储器的处理器,所述处理器被用于基于存储在所述存储器中的指令,执行如权利要求1-6任一项所述的机器翻译方法或者如权利要求7-11任一项所述的目标翻译模型训练方法。
15.一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现1-6任一项所述的机器翻译方法或者如权利要求7-11任一项所述的目标翻译模型训练方法。
16.一种计算机程序产品,包括计算机指令,所述计算机指令存储在计算机可读存储介质中,其特征在于,所述计算机指令被处理器执行时实现权利要求1-6任一项所述的机器翻译方法或者如权利要求7-11任一项所述的目标翻译模型训练方法。
CN202210384885.4A 2022-04-13 2022-04-13 机器翻译方法、目标翻译模型训练方法及相关程序和设备 Active CN115130479B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210384885.4A CN115130479B (zh) 2022-04-13 2022-04-13 机器翻译方法、目标翻译模型训练方法及相关程序和设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210384885.4A CN115130479B (zh) 2022-04-13 2022-04-13 机器翻译方法、目标翻译模型训练方法及相关程序和设备

Publications (2)

Publication Number Publication Date
CN115130479A true CN115130479A (zh) 2022-09-30
CN115130479B CN115130479B (zh) 2024-05-21

Family

ID=83376358

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210384885.4A Active CN115130479B (zh) 2022-04-13 2022-04-13 机器翻译方法、目标翻译模型训练方法及相关程序和设备

Country Status (1)

Country Link
CN (1) CN115130479B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116611458A (zh) * 2023-05-31 2023-08-18 本源量子计算科技(合肥)股份有限公司 一种文本翻译方法、装置、介质及电子装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10346548B1 (en) * 2016-09-26 2019-07-09 Lilt, Inc. Apparatus and method for prefix-constrained decoding in a neural machine translation system
CN112836526A (zh) * 2021-01-31 2021-05-25 云知声智能科技股份有限公司 一种基于门控机制的多语言神经机器翻译方法及装置
CN113239710A (zh) * 2021-06-23 2021-08-10 合肥讯飞数码科技有限公司 多语言机器翻译方法、装置、电子设备和存储介质
CN113919373A (zh) * 2020-07-07 2022-01-11 阿里巴巴集团控股有限公司 神经机器翻译方法及其模型的训练方法、装置及电子设备

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10346548B1 (en) * 2016-09-26 2019-07-09 Lilt, Inc. Apparatus and method for prefix-constrained decoding in a neural machine translation system
CN113919373A (zh) * 2020-07-07 2022-01-11 阿里巴巴集团控股有限公司 神经机器翻译方法及其模型的训练方法、装置及电子设备
CN112836526A (zh) * 2021-01-31 2021-05-25 云知声智能科技股份有限公司 一种基于门控机制的多语言神经机器翻译方法及装置
CN113239710A (zh) * 2021-06-23 2021-08-10 合肥讯飞数码科技有限公司 多语言机器翻译方法、装置、电子设备和存储介质

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
MELVIN JOHNSON等: "Google’s Multilingual Neural Machine Translation System: Enabling Zero-Shot Translation", ARXIV:1611.04558V2, pages 1 - 7 *
XIANG LISA LI等: "Prefix-Tuning: Optimizing Continuous Prompts for Generation", ARXIV: 2101.00190V1, pages 1 - 15 *
YAOMING ZHU等: "Counter-Interference Adapter for Multilingual Machine Translation", ARXIV:2104.08154V2, pages 1 - 12 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116611458A (zh) * 2023-05-31 2023-08-18 本源量子计算科技(合肥)股份有限公司 一种文本翻译方法、装置、介质及电子装置

Also Published As

Publication number Publication date
CN115130479B (zh) 2024-05-21

Similar Documents

Publication Publication Date Title
CN110705301B (zh) 实体关系抽取方法及装置、存储介质、电子设备
CN110543645B (zh) 机器学习模型训练方法、介质、装置和计算设备
CN113657399A (zh) 文字识别模型的训练方法、文字识别方法及装置
JP2022058775A (ja) ターゲットオブジェクトの生成方法、装置、電子機器及び記憶媒体
CN111930894A (zh) 长文本匹配方法及装置、存储介质、电子设备
CN112148839A (zh) 图文匹配方法、装置及存储介质
CN113673613A (zh) 基于对比学习的多模态数据特征表达方法、装置及介质
CN115359314A (zh) 模型训练方法、图像编辑方法、装置、介质与电子设备
CN115130479B (zh) 机器翻译方法、目标翻译模型训练方法及相关程序和设备
CN114708474A (zh) 一种融合局部和全局特征的图像语义理解算法
CN116306603A (zh) 标题生成模型的训练方法和标题生成方法、装置和介质
CN112163434A (zh) 基于人工智能的文本翻译方法、装置、介质及电子设备
CN115565177A (zh) 文字识别模型训练、文字识别方法、装置、设备及介质
CN113516972B (zh) 语音识别方法、装置、计算机设备及存储介质
CN117633707A (zh) 一种细粒度多模态中文大语言模型构建方法及计算机存储介质
CN113761924A (zh) 一种命名实体模型的训练方法、装置、设备及存储介质
CN117253239A (zh) 融合版面信息的端到端文档图像翻译方法及装置
CN117236340A (zh) 问答方法、装置、设备和介质
CN116913278A (zh) 语音处理方法、装置、设备和存储介质
CN115357710B (zh) 表格描述文本生成模型的训练方法、装置及电子设备
CN113963358B (zh) 文本识别模型训练方法、文本识别方法、装置及电子设备
CN110162792A (zh) 电网数据管理方法及装置
CN115718904A (zh) 文本处理方法及装置
CN114818746A (zh) 一种文本生成方法、装置、计算机设备及存储介质
CN113591493B (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