CN113515959A - 机器翻译模型的训练方法、机器翻译方法及相关设备 - Google Patents
机器翻译模型的训练方法、机器翻译方法及相关设备 Download PDFInfo
- Publication number
- CN113515959A CN113515959A CN202110700079.9A CN202110700079A CN113515959A CN 113515959 A CN113515959 A CN 113515959A CN 202110700079 A CN202110700079 A CN 202110700079A CN 113515959 A CN113515959 A CN 113515959A
- Authority
- CN
- China
- Prior art keywords
- training
- term
- corpus
- constraint
- machine translation
- 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
- 238000012549 training Methods 0.000 title claims abstract description 519
- 238000013519 translation Methods 0.000 title claims abstract description 180
- 238000000034 method Methods 0.000 title claims abstract description 111
- 239000011159 matrix material Substances 0.000 claims description 55
- 238000012545 processing Methods 0.000 claims description 44
- 230000006870 function Effects 0.000 claims description 18
- 238000003860 storage Methods 0.000 claims description 15
- 238000000926 separation method Methods 0.000 claims description 12
- 238000004590 computer program Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 5
- 238000004891 communication Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 11
- 238000013507 mapping Methods 0.000 description 11
- 238000004364 calculation method Methods 0.000 description 10
- 238000013500 data storage Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000009286 beneficial effect Effects 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 108060003951 Immunoglobulin Proteins 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005429 filling process Methods 0.000 description 2
- 102000018358 immunoglobulin Human genes 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 238000007781 pre-processing Methods 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000021615 conjugation Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 238000002203 pretreatment Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 238000010845 search algorithm Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/126—Character encoding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Machine Translation (AREA)
Abstract
本公开提供一种机器翻译模型的训练方法、机器翻译方法及相关设备,该训练方法包括:获取原始训练语料和训练用术语词典;根据训练用术语词典,对原始训练语料进行匹配检索,得到若干训练用术语匹配项;所述训练用术语匹配项包括:训练用源端术语及其对应的训练用目标端术语;根据若干训练用术语匹配项,生成辅助训练语料,并将所述原始训练语料和所述辅助训练语料进行组合,得到组合训练语料;为每个训练用目标端术语添加训练用术语位置标签,得到若干训练用术语约束项,并根据若干所述训练用术语约束项,得到训练用术语约束;根据所述组合训练语料和所述训练用术语约束,对所述机器翻译模型进行训练。本公开还提供了一种机器翻译方法及相关设备。
Description
技术领域
本公开涉及机器翻译技术领域,尤其涉及一种机器翻译模型的训练方法、机器翻译方法及相关设备。
背景技术
本部分旨在为权利要求书中陈述的本申请的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。
近年来,随着机器学习技术的飞速发展,机器翻译技术也在几次模型结构的变革下取得了巨大的进展,机器翻译被更加广泛地用到了各种翻译场景中,但同时也暴露出越来越多亟待解决的问题,这其中一大问题便是专业术语的错译问题。
发明内容
有鉴于此,非常需要一种改进的方法,能够有效地改善机器翻译过程中术语的错译问题。
本公开示例性实施例提供了一种机器翻译模型的训练方法,包括:
获取原始训练语料和训练用术语词典;
根据所述训练用术语词典,对所述原始训练语料进行匹配检索,得到若干训练用术语匹配项;所述训练用术语匹配项包括:训练用源端术语及其对应的训练用目标端术语;
根据若干所述训练用术语匹配项,生成辅助训练语料,并将所述原始训练语料和所述辅助训练语料进行组合,得到组合训练语料;
为每个所述训练用目标端术语添加训练用术语位置标签,得到若干训练用术语约束项,并根据若干所述训练用术语约束项,得到训练用术语约束;
根据所述组合训练语料和所述训练用术语约束,对所述机器翻译模型进行训练。
在一些示例性实施例中,所述根据所述组合训练语料和所述训练用术语约束,对所述机器翻译模型进行训练,具体包括:根据所述组合训练语料和训练用术语约束,构建损失函数;以所述损失函数最小为训练目标,对所述机器翻译模型进行训练。
在一些示例性实施例中,所述根据所述组合训练语料和所述训练用术语约束,对所述机器翻译模型进行训练,具体包括:对于所述组合训练语料中的任一训练用目标端语句,将所述训练用目标端语句进行右侧填充和右偏移;将所述训练用目标端语句对应的所述训练用术语约束进行左侧填充和右偏移。
在一些示例性实施例中,所述根据所述组合训练语料和所述训练用术语约束,对所述机器翻译模型进行训练,具体包括:将所述训练用术语约束和所述训练用目标端语句进行拼接;将拼接后的所述训练用术语约束与所述训练用目标端语句进行改进的多头自注意力处理。
在一些示例性实施例中,所述改进的多头自注意力处理,具体包括:获取拼接后的所述训练用术语约束与所述训练用目标端语句的训练用自注意力权重矩阵,并提取所述训练用自注意力权重矩阵的对角线上各位置的值,作为训练用待用值;将所述训练用自注意力权重矩阵中,所有填充处理对应的位置赋值为负无穷;根据所述训练用待用值,将所述训练用自注意力权重矩阵的对角线上各位置重新赋值,得到修正的训练用自注意力权重矩阵;根据所述修正的训练用自注意力权重矩阵,得到更新后的所述拼接后的所述训练用术语约束与所述训练用目标端语句的表示。
在一些示例性实施例中,所述根据若干所述训练用术语匹配项,生成辅助训练语料,并将所述原始训练语料和所述辅助训练语料进行组合,得到组合训练语料,具体包括:从所述原始训练语料中,提取所有包括有所述训练用术语匹配项的双语句对,以得到第一子辅助训练语料;对于第一子辅助训练语料中的每个所述训练用术语匹配项,为该训练用术语匹配项包括的所述训练用源端术语和所述训练用目标端术语中的至少一个添加所述训练用术语位置标签,以得到第二子辅助训练语料;将所述第一子辅助训练语料和第二子辅助训练语料作为所述辅助训练语料,与所述原始训练语料进行组合,以得到所述组合训练语料;或,将所述第二子辅助训练语料作为所述辅助训练语料,与所述原始训练语料进行组合,以得到所述组合训练语料。
在一些示例性实施例中,所述根据若干所述训练用术语约束项,得到训练用术语约束,具体包括:将若干所述训练用术语约束项依次拼接,并在末位的所述训练用术语约束项后添加断句符,以得到所述训练用术语约束。
在一些示例性实施例中,所述训练用术语位置标签包括:开始位置符和结束位置符;所述开始位置符和所述结束位置符还均包括有索引信息,所述索引信息用于表达所述训练用术语位置标签对应的所述训练用术语匹配项在其所属的训练用语句包括的所有所述训练用术语匹配项中首次出现的索引顺序。
基于同一发明构思,本公开示例性实施例还提供了一种机器翻译方法,包括:
获取待翻译语句和术语词典;
根据所述术语词典,对所述待翻译语句进行匹配检索,得到若干术语匹配项;所述术语匹配项包括:源端术语及其对应的目标端术语;
为每个所述目标端术语添加术语位置标签,得到若干术语约束项,并根据若干所述术语约束项,得到术语约束;
将所述待翻译语句和所述术语约束输入预先训练的机器翻译模型,得到所述待翻译语句对应的翻译结果;所述机器翻译模型是基于上述任一方法训练得到的。
在一些示例性实施例中,所述机器翻译模型包括编码器和解码器;所述解码器包括:拼接模块、改进的多头自注意力模块、多头注意力模块、前馈网络和分离模块。
在一些示例性实施例中,所述将所述待翻译语句和所述术语约束输入预先训练的机器翻译模型,得到所述待翻译语句对应的翻译结果,具体包括:将所述待翻译语句输入所述编码器,得到所述待翻译语句对应的中间表示;将所述中间表示与所述术语约束输入所述解码器,得到所述待翻译语句对应的翻译结果;所述翻译结果包括由所述机器翻译模型逐步输出的若干输出词。
在一些示例性实施例中,所述机器翻译模型每一步输出一所述输出词,具体包括:在所述拼接模块,将所述术语约束与已输出的输出词进行拼接;在所述改进的多头自注意力模块,将拼接后的所述术语约束与已输出的输出词进行改进的多头自注意力处理,得到第一注意力特征;在所述多头注意力模块,基于所述中间表示与所述第一注意力特征,进行多头注意力处理,得到第二注意力特征;在所述前馈网络,对所述第二注意力特征进行特征提取,得到拼接特征;在所述分离模块,将所述拼接特征分离,得到术语约束特征表示和目标端特征表示;所述目标端特征表示用于确定当前步的所述输出词。
在一些示例性实施例中,所述在所述改进的多头自注意力模块,将拼接后的所述术语约束与已输出的输出词进行改进的多头自注意力处理,得到第一注意力特征,具体包括获取所述拼接后的所述术语约束与已输出的输出词的自注意力权重矩阵;提取所述自注意力权重矩阵的对角线上各位置的值,作为待用值;将所述自注意力权重矩阵中,所有填充处理对应的位置赋值为负无穷;根据所述待用值,将所述自注意力权重矩阵的对角线上各位置重新赋值,得到修正的自注意力权重矩阵;根据所述修正的自注意力权重矩阵,得到所述第一注意力特征。
基于同一发明构思,本公开示例性实施例还提供了一种机器翻译模型的训练装置,包括:
获取模块,被配置为获取原始训练语料和训练用术语词典;
匹配模块,被配置为根据所述训练用术语词典,对所述原始训练语料进行匹配检索,得到若干训练用术语匹配项;所述训练用术语匹配项包括:训练用源端术语及其对应的训练用目标端术语;
语料生成模块,被配置为根据若干所述训练用术语匹配项,生成辅助训练语料,并将所述原始训练语料和所述辅助训练语料进行组合,得到组合训练语料;
约束生成模块,被配置为为每个所述训练用目标端术语添加训练用术语位置标签,得到若干训练用术语约束项,并根据若干所述训练用术语约束项,得到训练用术语约束;
训练模块,被配置为根据所述组合训练语料和所述训练用术语约束,对所述机器翻译模型进行训练。
基于同一发明构思,本公开示例性实施例还提供了一种机器翻译装置,包括:
获取模块,被配置为获取待翻译语句和术语词典;
匹配模块,被配置为根据所述术语词典,对所述待翻译语句进行匹配检索,得到若干术语匹配项;所述术语匹配项包括:源端术语及其对应的目标端术语;
约束生成模块,被配置为为每个所述目标端术语添加术语位置标签,得到若干术语约束项,并根据若干所述术语约束项,得到术语约束;
翻译模块,被配置为将所述待翻译语句和所述术语约束输入预先训练的机器翻译模型,得到所述待翻译语句对应的翻译结果;所述机器翻译模型是基于上述任一方法训练得到的。
基于同一发明构思,本公开示例性实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一项所述的机器翻译模型的训练方法和/或机器翻译方法。
基于同一发明构思,本公开示例性实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行如上任一所述的机器翻译模型的训练方法和/或机器翻译方法。
从上面所述可以看出,本公开提供的机器翻译模型的训练方法、机器翻译方法及相关设备,通过在解码器端融入术语约束,同时利用术语位置标签来提供术语约束项间的映射关系信息,来实现更加合理、流畅的术语干预翻译效果。本公开实施例的术语干预方案不增加解码搜索空间,所以不影响实际解码速度;而且,本公开实施例的术语约束和目标句共享目标端词表,因此也不存在源语言和目标语言跨语系导致的OOV问题,能够有效地改善术语错译问题,提升翻译的准确度。
附图说明
为了更清楚地说明本公开或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本公开示例性实施例的应用场景示意图;
图2为本公开示例性实施例的翻译模型的训练方法流程示意图;
图3为本公开示例性实施例的机器翻译模型的结构示意图;
图4为本公开示例性实施例的机器翻译方法流程示意图;
图5为本公开示例性实施例的翻译模型的训练装置结构示意图;
图6为本公开示例性实施例的机器翻译装置结构示意图;
图7为本公开示例性实施例的电子设备结构示意图。
具体实施方式
下面将参考若干示例性实施方式来描述本申请的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本申请的范围。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
根据本公开的实施方式,提出了一种机器翻译模型的训练方法、机器翻译方法及相关设备。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
为了方便理解,下面对本公开实施例中涉及的名词进行解释:
机器翻译:是指利用机器学习模型来实现机器翻译的一种技术;
术语:是指在特定学科领域用来表示概念的称谓的集合;
术语约束:是指一组预先定义好的术语集合;
术语干预:是指在预先指定了术语约束的前提下,使得翻译结果满足所有术语约束的一类技术。
下面参考本申请的若干代表性实施方式,详细阐释本申请的原理和精神。
发明概述
现有技术中,存在一些针对术语错译问题的改进方案。例如,Tagging方法,该方法通过后处理替换实现术语干预,具体是通过在训练数据中加入术语标签,使模型额外学会术语标签的映射关系;在翻译时,在待翻译文本中的术语两侧添加术语标签,先获得带术语标签的原始翻译结果,再使用术语替换掉术语标签及其原始术语翻译,从而得到最终的带术语干预的翻译结果。又如,词约束解码类方法,该类方法过直接修改解码使用的BeamSearch算法,扩大搜索空间,将目标术语囊括在扩大后的搜索空间中,并强制要求目标术语出现在翻译结果中,从而实现术语干预。
在实现本公开的过程中,发明人发现上述现有技术均存在明显不足。对于Tagging方法,由于采用后处理方式直接用目标术语替换翻译结果中的片段,并未考虑其他翻译内容和被替换的内容的关联性,因此在实际使用中容易出现重复翻译、不连贯翻译的问题,影响翻译的准确度和流畅度。对于词约束解码类方法,由于仅用到了目标端术语,没有利用到源端术语的信息,因此容易出现术语生成位置不合理的问题;同时,该类方法增加了解码算法的复杂度,解码时间成倍增加。此外,现有技术中的Code-Switch方法,在进行带有术语的翻译任务时,当源端语言和目标端语言语系跨度较大时,存在明显的OOV(Out ofVocabulary)问题,造成该方法应用场景有限。
为了解决上述问题,本公开提供了一种机器翻译模型的训练方法、机器翻译方法及相关设备,通过在解码器端融入术语约束,同时利用术语位置标签来提供术语约束项间的映射关系信息,来实现更加合理、流畅的术语干预翻译效果。本公开实施例的术语干预方案不增加解码空间,所以不影响实际解码速度;而且,本公开实施例的术语约束和目标句共享目标端词表,因此也不存在跨语系导致的OOV问题,能够有效地改善术语错译问题,提升翻译的准确度。
在介绍了本申请的基本原理之后,下面具体介绍本申请的各种非限制性实施方式。
应用场景总览
参考图1,其为本申请实施例提供的机器翻译模型的训练方法、翻译方法的应用场景示意图。该应用场景包括终端设备101、服务器102、和数据存储***103。其中,终端设备101、服务器102以及数据存储***103之间均可通过有线或无线的通信网络连接。终端设备101包括但不限于桌面计算机、移动电话、移动电脑、平板电脑、媒体播放器、智能可穿戴设备视、个人数字助理(personal digital assistant,PDA)或其它能够实现上述功能的电子设备等。服务器102和数据存储***103均可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式***,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。
服务器102用于向终端设备101的用户提供翻译服务,终端设备101中安装有与服务器102通信的客户端,用户可通过该客户端输入待翻译语句。用户通过该客户端发出指令进行翻译后,客户端将待翻译语句发送给服务器102,服务器102获取翻译语句对应的术语词典,术语词典可以由用户提供,并预先存储于服务器102。当用户提交待翻译语句时,可以通过客户端选择所使用的术语词典,根据用户的选择,服务器102会相应加载对应的术语词典。经过匹配检索后得到包括有源端术语及其对应的目标端术语的若干术语匹配项,并通过为目标端术语添加术语位置标签,以得到术语约束。服务器102将待翻译语句与术语约束输入预先训练的机器翻译模型,获得机器翻译模型输出的翻译结果,然后将翻译结果中的术语位置标签移除得到最终翻译结果,然后将最终翻译结果发送给客户端,客户端向用户展示最终翻译结果,以完成翻译。
数据存储***103中存储有大量训练语料和训练用术语词典,训练语料包括有大量双语句对,双语句对由源端语句和其对应的目端段语句组成。服务器102可以基于大量训练语料和训练用术语词典获取训练用语料,然后使用训练用语料对机器翻译模型进行训练,使得机器翻译模型能够对带有术语的待翻译语句进行翻译。训练数据和训练用术语词典的来源包括但不限于已有的数据库、从互联网爬取的数据或者在用户使用客户端时上传的数据。当机器翻译模型的输出满足预定的要求时,服务器102可以基于机器翻译模型向用户提供翻译服务,同时,服务器102还可以基于新增的训练语料和训练用术语不断优化机器翻译模型。
下面结合图1的应用场景,来描述根据本公开示例性实施方式的机器翻译模型的训练方法、机器翻译方法。需要注意的是,上述应用场景仅是为了便于理解本公开的精神和原理而示出,本公开的实施方式在此方面不受任何限制。相反,本公开的实施方式可以应用于适用的任何场景。
示例性方法
参考图2,本公开实施例提供了一种机器翻译模型的训练方法,包括以下步骤:
步骤S201、获取原始训练语料和训练用术语词典。
具体实施时,可以获取任意的包括有大量双语句对的语料作为所述的原始训练语料。针对于所使用的原始训练语料,具体的是针对于原始训练语料所属的技术领域,相应的获取大量训练用术语词典。
具体实施时,训练用术语词典可以是根据原始训练语料所属的技术领域而相应获取的既有的术语词典,也可以是根据上述技术领域在互联网、数据库等进行收集后得到的。其中,术语词典包括有大量的源端术语,以及该些源端术语分别对应的目标端术语。在对应关系上,术语词典包括的源端术语和目标端术语可以是多对多的。例如,对于“免疫球蛋白M”这一术语,可以包含两个源端表示:Immunoglobulin M、IgM,以及对应的两个目标端表示:免疫球蛋白M、巨球蛋白。
具体实施时,还会对训练用术语词典进行预处理。该预处理是指机器翻译中对于训练数据的常规预处理,例如归一化、分词、转小写等。其中,该预处理是以单个术语表示为单位进行的。对于预处理具体所使用的方法,本公开实施例中不做限定。
需要说明的是,本步骤以及后续步骤中的“训练用”这一前缀表述仅是为了表明相应的技术特征是在机器翻译模型的训练过程中所使用的,并不构成对于相应技术特征的额外限定。
步骤S202、根据所述训练用术语词典,对所述原始训练语料进行匹配检索,得到若干训练用术语匹配项;所述训练用术语匹配项包括:训练用源端术语及其对应的训练用目标端术语。
具体实施时,首先将原始训练语料进行预处理,即对原始训练语料包括的各双语句对进行例如归一化、分词、转小写等处理,以使各双语句对满足后续机器翻译模型的处理要求。对于预处理具体所使用的方法,本公开实施例中不做限定。
具体实施时,基于经预处理后的原始训练语料,通过前述步骤中获取的训练用术语词典对原始训练语料进行匹配检索,该匹配检索具体是指在原始训练语料中检索以确定其中是否包括有训练用术语词典中所包括的各术语。经过匹配检索,可以得到若干训练用术语匹配项,该训练用术语匹配项具体包括训练用源端术语及其对应的训练用目标端术语。例如,对于原始训练语料中的双语句对:“Queer_Eye_star_Jonathan_Van_Ness”、“粉雄_救兵_的_明星_乔纳森_·_凡_·_奈斯”,假设在训练用术语词典中,存在术语对“Queer_Eye”、“粉雄_救兵”,则经过匹配检索,将得到训练用术语匹配项:Queer_Eye~粉雄_救兵。需要说明的是,为更加清楚表示各个示例语句中的空格符,在本公开实施例的说明中,通过“_”来表示各单词之间的空格符。
作为一个可选的实施方式,在训练用术语词典对原始训练语料进行匹配检索时,可以通过构建前缀树并基于键(key)-值(value)的方式进行训练用术语匹配项的匹配获取。具体的,可以首先使用预处理后的训练用术语词典构造双语前缀树,双语前缀树包含源端前缀树和目标端前缀树,其中源端前缀树以源端术语为key,其对应的术语项id为value,而目标端前缀树则以目标端术语为key,其对应的术语项id为value。然后分别使用源端前缀树在源句中进行最长术语匹配获取匹配的源端术语项映射表,目标端前缀树在目标句中进行最长术语匹配获取匹配的目标端术语项映射表,其中术语映射表以术语项id为key,术语在文本中具体出现位置集合为value。
其中,前缀树是一个高效的字符串索引结构,可以根据输入的字符串快速返回从起始位置开始匹配到的最长术语。例如:目标端前缀树中的映射为“粉熊”—>1、“粉熊_救兵”—>2、“乔纳森_·_凡_·_奈斯”—>3。如果输入字符串为“粉雄_救兵_的_明星_乔纳森_·_凡_·_奈斯”,则其会匹配到“粉熊_救兵”从而返回2;然后继续匹配剩余字符串“的_明星_乔纳森_·_凡_·_奈斯”,如果当前字符串未匹配到任何术语,则移除最开始的一个词继续匹配,直到当前字符串为空;这样目标端就可以匹配到两个最长术语“粉熊_救兵”和“乔纳森_·_凡_·_奈斯”,并且获取目标端术语项映射表,{2:[(0,2)],3:[(4,9)]},其中术语映射表中的位置是以词为单位的索引。之后,根据源端术语项映射表和目标端术语项映射表对术语项进行过滤,仅保留源端和目标端出现次数一致的术语项作为训练用术语匹配项。
具体实施时,除了上述使用前缀树在转小写之后进行大小写不敏感匹配外,还可以在转小写之前执行相同操作进行大小写敏感的匹配。此外,也可以使用其他的字符串层面的匹配方法,或者通过深度学习技术进行语义层面的匹配检索以得到训练用术语匹配项。
步骤S203、根据若干所述训练用术语匹配项,生成辅助训练语料,并将所述原始训练语料和所述辅助训练语料进行组合,得到组合训练语料。
具体实施时,从原始训练语料中,提取所有包括有训练用术语匹配项的双语句对,以得到第一子辅助训练语料。也即,第一子辅助训练语料中仅由包括训练用术语匹配项的双语句对构成。
具体实施时,对于第一子辅助训练语料中各双语句对所包括的每个训练用术语匹配项,将该术语匹配项包括的训练用源端术语和训练用目标端术语中的至少一个添加所述训练用术语位置标签,以得到第二子辅助训练语料。
其中,训练用术语位置标签是本公开基于Tagging方法中所使用的术语标签进行改进后获得的。具体的,训练用术语位置标签包括:开始位置符和结束位置符,开始位置符表示为<s:term_idx>,结束位置符表示为<e:term_idx>。添加训练用术语位置标签的具体方式为:开始位置符<s:term_idx>和结束位置符<e:term_idx>分别添加在训练用源端术语或训练用目标端术语的前后。
相比于Tagging方法中的术语标签<start>和<end>,本公开实施例中的开始位置符<s:term_idx>和结束位置符<e:term_idx>,还均进一步包括了索引信息term_idx,该索引信息用于表达训练用术语位置标签对应的训练用术语匹配项在其所属的训练用语句包括的所有训练用术语匹配项中首次出现的索引顺序。索引信息是以第一子辅助训练语料中的训练用语句为单位分别进行索引编号以表达一个训练用语句中出现的所有训练用术语匹配项的先后顺序的。例如,对于第一子辅助训练语料中一个双语句对:“queer_eye_star_jonathan_van_ness”-“粉雄_救兵_的_明星_乔纳森_·_凡_·_奈斯”;其包括两组训练用术语匹配项:“queer_eye”-“粉雄_救兵”、“jonathan_van_ness”-“乔纳森_·_凡_·_奈斯”。采用对训练用源端术语和训练用目标端术语二者均添加训练用术语位置标签的方式,添加后得到的双语句对为:“<s:1>_queer_eye_<e:1>_star_<s:2>_jonathan_van_ness_<e:2>”-“<s:1>_粉雄_救兵_<e:1>_的_明星_<s:2>_乔纳森_·_凡_·_奈斯_<e:2>”。本公开实施例中,通过训练用术语位置标签的加入,将不同的训练用术语匹配项以语句为单元进行了精准的区分,而且将相同的术语通过相同的术语位置标签进行关联,使得后续机器翻译模型的学习和翻译过程中,能够更加准确地定位不同的术语匹配项在翻译结果中的位置,有助于提升翻译的准确度。
具体实施时,对于一个训练用术语匹配项,可以为其包括的训练用源端术语和训练用目标端术语均添加训练用术语位置标签,这样得到的第二子辅助训练语料,即为源端和目标端均带有训练用术语位置标签的双语句对。也可以是,仅为训练用源端术语和训练用目标端术语中的任意一个添加训练用术语位置标签,这样得到的第二子辅助训练语料,即为源端和目标端只有一个带有训练用术语位置标签的双语句对。
具体实施时,将第一子辅助训练语料和第二子辅助训练语料作为辅助训练语料,将其与原始训练语料按照一定比例进行混合后,即得到组合训练语料。也可以是,仅使用第二子辅助训练语料作为辅助训练语料,将其与原始训练语料按照一定比例进行混合后,即得到组合训练语料。
此外,作为一个可选的实施方式,对于得到的组合训练语料,还可以进一步通过BPE(Byte Pair Encoding)算法对组合训练语料进行处理,以将组合训练语料根据BPE词表转换成子词表示,从而实现词表压缩。其中,需要注意的是,在生成子词表示时,需要将训练用术语位置标签对应的表达设置为不进行子词切分,即使得训练用术语位置标签保持原样。
步骤S204、为每个所述训练用目标端术语添加训练用术语位置标签,得到若干训练用术语约束项,并根据若干所述训练用术语约束项,得到训练用术语约束。
具体实施时,对于训练用术语匹配项中的训练用目标端术语,添加训练用术语位置标签后,即得到训练用术语约束项。如前述示例中添加训练用术语位置标签后得到的双语句对为:“<s:1>_queer_eye_<e:1>_star_<s:2>_jonathan_van_ness_<e:2>”-“<s:1>_粉雄_救兵_<e:1>_的_明星_<s:2>_乔纳森_·_凡_·_奈斯_<e:2>”。其中即包括两个训练用术语约束项,分别为:<s:1>_粉雄_救兵_<e:1>和<s:2>_乔纳森_·_凡_·_奈斯_<e:2>。可见,训练用术语约束项即为开始位置符和结束位置符及其间包括的训练用目标端术语。其中,训练用术语约束项也以训练用语句为单位获取,也即对于每个训练用语句分别获取其对应的训练用术语约束项。
具体实施时,对于一个训练用语句,将其包括的所有训练用术语约束项依次拼接,并在末位的训练用术语约束项后添加断句符,以得到训练用术语约束。例如,对于目标端的训练用语句“<s:1>_粉雄_救兵_<e:1>_的_明星_<s:2>_乔纳森_·_凡_·_奈斯_<e:2>”,将其包括的训练用术语约束项<s:1>_粉雄_救兵_<e:1>和<s:2>_乔纳森_·_凡_·_奈斯_<e:2>依次拼接,并在末位的训练用术语约束项<s:2>_乔纳森_·_凡_·_奈斯_<e:2>之后添加断句符<sep>,即得到该训练用语句对应的训练用术语约束:“<s:1>_粉雄_救兵_<e:1>_<s:2>_乔纳森_·_凡_·_奈斯_<e:2>_<sep>”。根据上述方法,则对于每个训练用语句,可以相应的获得其对应的训练用术语约束。
步骤S205、根据所述组合训练语料和所述训练用术语约束,对所述机器翻译模型进行训练。
具体实施时,参考图3,机器翻译模型可以采用包括编码器(Encoder)和解码器(Decoder)的网络架构。在现有技术中,包括编码器和解码器的Transformer模型仅支持双语句对分别作为模型的输入和输出。而本公开实施例的机器翻译模型,则将源端语句和训练用术语约束作为联合输入,目标端语句作为输出。通过组合训练语料和训练用术语约束进行训练后,本公开实施例的机器翻译模型能够学会将输入的训练用术语约束中的训练用术语约束项,根据其对应的源端术语所在的上下文,在对应的翻译结果上下文中生成。
具体实施时,参考图3,编码器对输入的训练用源端语句经过一系列的神经网络的变换之后,表示成一个高维的向量,即中间表示。解码器负责对语义信息重新解码,以获得翻译结果。其中,编码器中包含词向量矩阵,通过该词向量矩阵,将输入的训练用源端语句的各个词分别转换为对应的词向量,以获得训练用源端语句的词向量序列。本公开实施例的解码器,与现有的Transformer模型的解码器类似,由N个相同的解码层堆叠而成。本公开实施例的解码器与现有技术的区别在于:其输入除了包括训练用源端语句的中间表示之外,还包括其对应的训练用术语约束。在每个解码层的输入端通过新增的拼接模块进行双路信号的拼接,在输出端通过新增的分离模块进行双路信号的分离,得到术语约束特征表示和目标端特征表示。
具体实施时,使用目标端特征表示进行损失函数的计算。损失函数的具体计算公式为:其中,为组合训练语料(双语句对+对应的训练用术语约束);(x,y,c)为一条训练数据,包括训练用源端语句x、训练用目标端语句y、训练用术语约束c。相应的,编码器的输出,即中间表示xL的具体计算公式为:xL=Encoder(x)。
此外,在一些其他实施方式中,也可以使用术语约束特征表示和目标端特征表示联合进行损失函数的计算,具体的,可以是将术语约束特征表示和目标端特征表示进行拼接后计算损失函数的值,也可以是根据术语约束特征表示和目标端特征表示分别计算损失函数的值后按权重进行累加。
具体实施时,在训练过程中,由于训练用源端语句对应的训练用目标端语句已知,则在处理解码器的输入时,对于训练用目标端语句通过右偏移的方式使其表示为训练用目标端语句中当前位置的左侧部分。相应的,训练用目标端语句对应的训练用术语约束也同样进行右偏移处理。然后,通过共享的目标端词向量矩阵,获取训练用目标端语句和训练用术语约束分别对应的词向量表示。本公开实施例的机器翻译模型采用相对位置编码,同时为了使得相对位置不随着训练动态变化,将训练用目标端语句和训练用术语约束进行不同的填充处理。具体的,将训练用目标端语句进行右侧填充,将训练用术语约束进行左侧填充。其中,进行右侧填充和左侧填充的具体方式为:对于训练用目标端语句,通过添加<pad>标签的方式,使其与其他训练用目标端语句的长度相同;对于训练用术语约束,通过添加<pad>标签的方式,使其与其他训练用术语约束的长度相同。其中,右侧填充和左侧填充的区别在于填充<pad>标签的方向。例如,假设存在两个训练用术语约束:“<s:1>_粉雄_救兵_<e:1>_<s:2>_乔_<e:2>_<sep>”、“<s:1>_晴天_<e:1>_<sep>”。则后者训练用术语约束输入解码器时进行左侧填充,左侧填充后的结果为:“<pad>_<pad>_<pad>_<pad>_<s:1>_晴天_<e:1>_<sep>”,填充后长度与前者一致。
具体实施时,参考图3,进行填充处理和偏移后,将训练用术语约束和训练用目标端语句在拼接模块进行拼接。拼接时,以训练用术语约束在前、训练用目标端语句在后的方式将二者顺次拼接。可以理解的是,在一些其他实施方式中,在拼接模块将训练用术语约束和训练用目标端语句拼接时,也可以以训练用目标端语句在前、训练用术语约束在后的方式,当采用此顺序拼接时,则训练用术语约束相应改为进行右侧填充,训练用目标端语句进行左侧填充。
具体实施时,参考图3,对于拼接后的训练用术语约束与训练用目标端语句,在改进的多头自注意力模块进行改进的多头自注意力处理。具体的,在改进的多头自注意力处理会进行常规的多头自注意力处理,即根据各个词对应的隐状态通过内积计算得到自注意力权重矩阵,再经过注意力掩码处理(使输出当前步的输出词时仅考虑已输出的词)后,得到注意力掩码后的自注意力权重矩阵。获取该训练用注意力掩码后的自注意力权重矩阵后,提取该训练用注意力掩码后的自注意力权重矩阵的对角线上各位置的值,作为训练用待用值。然后,将训练用注意力掩码后的自注意力权重矩阵中,所有填充处理对应的位置赋值为负无穷。也即,对于前述步骤中进行填充处理时,添加的<pad>标签在训练用注意力掩码后的自注意力权重矩阵中对应位置的注意力权重值赋值为负无穷。最后,再根据之前提取得到的训练用待用值,将训练用注意力掩码后的自注意力权重矩阵的对角线上各位置重新赋值,得到修正的训练用自注意力权重矩阵。根据该修正的训练用自注意力权重矩阵,即能够得到改进的多头自注意力模块的输出,即更新后的训练用术语约束与训练用目标端语句的向量表示。通过上述对于训练用自注意力权重矩阵的对角线上各位置重新赋值,能够有效的防止填充处理时使用的<pad>标签在计算注意力权重值时出现NaN值(非数),保证解码器的正常工作。
参考图3,本公开实施例的机器翻译模型,除了前述提到的拼接模块、改进的多头自注意力模块和分离模块之外,还包括有:基于多头自注意力模块的输出的第一注意力特征与编码器输出的中间表示,进行多头注意力处理的多头注意力模块;基于多头注意力模块输出的第二注意力特征,进行特征提取得到拼接特征的前馈网络;以及,基于分离模块分离出的目标端特征表示进行回归运算得到输出概率的Softmax层等。此外,在上述各层的输出还会进行归一化处理和防止模型退化的残差连接处理。上述各层的工作方式与现有技术中的相应层类似,本公开实施例中不再赘述。
基于前述内容,对于本公开实施例的机器翻译模型的解码器所包括的N个解码层中的任一解码层l,其相关计算公式包括:
cl=ol[:len(cl-1)] (5)
其中,公式(1)为拼接模块进行的拼接处理的计算公式,l-1表示前一个解码层,为仅当前位置及左侧部分的训练用目标端语句,cl-1为训练用术语约束,ql、kl、vl,分别为进行多头自注意力计算使用的查询值、键值和值;公式(2)为改进的多头自注意力模块进行的改进的多头自注意力处理的计算公式,为第一注意力特征;公式(3)为多头自注意力模块进行的多头自注意力处理的计算公式,为第二注意力特征;公式(4)为前馈网络输出的拼接特征的计算公式,ol为拼接特征;公式(5)和公式(6)分别为分离模块分离处理的计算公式,cl为术语约束特征表示,为目标端特征表示。
基于同一发明构思,本公开实施例还提供了一种机器翻译方法。参考图4,所述的机器翻译方法,包括以下步骤:
步骤S401、获取待翻译语句和术语词典;
步骤S402、根据所述术语词典,对所述待翻译语句进行匹配检索,得到若干术语匹配项;所述术语匹配项包括:源端术语及其对应的目标端术语;
步骤S403、为每个所述目标端术语添加术语位置标签,得到若干术语约束项,并根据若干所述术语约束项,得到术语约束;
步骤S404、将所述待翻译语句和所述术语约束输入预先训练的机器翻译模型,得到所述待翻译语句对应的翻译结果;所述机器翻译模型是基于如上任一实施例的机器翻译模型的训练方法训练得到的。
具体实施时,步骤S401至步骤S403的具体实施方式可以参考前述机器翻译模型的训练方法实施例中的步骤S201、步骤S202和步骤S204。具体的,在翻译过程中,获取到的为用户提交的待翻译语句和相应技术领域的术语词典。进行匹配检索得到术语匹配项、以及得到术语约束的具体实施方式,可参考前述机器翻译模型的训练方法实施例中得到训练用术语匹配项、训练用术语约束的具体实施方式。
具体实施时,于步骤S404,参考图3,所述的机器翻译模型包括编码器和解码器;所述解码器包括:拼接模块、改进的多头自注意力模块、多头注意力模块、前馈网络和分离模块。与前述机器翻译模型的训练方法实施例的区别在于,编码器的输入为待翻译语句,解码器的输入为编码器输出的待翻译语句的中间表示以及相应的术语约束。解码器逐步输出若干输出词,以得到待翻译语句对应的翻译结果。其中,在解码器输出全部输出词后,进一步将翻译结果中的术语位置标签移除,移除全部术语位置标签后即得到最终的翻译结果并最终向用户输出。
具体实施时,机器翻译模型每一步会输出一所述输出词,具体步骤包括:
在所述拼接模块,将所述术语约束与已输出的输出词进行拼接;其中,术语约束会进行填充处理,以使得填充后的术语约束与其他术语约束的长度相同。
在所述改进的多头自注意力模块,将拼接后的所述术语约束与已输出的输出词进行改进的多头自注意力处理,得到第一注意力特征;
在所述多头注意力模块,基于所述中间表示与所述第一注意力特征,进行多头注意力处理,得到第二注意力特征;
在所述前馈网络,对所述第二注意力特征进行特征提取,得到拼接特征;
在所述分离模块,将所述拼接特征分离,得到术语约束特征表示和目标端特征表示;所述目标端特征表示用于确定当前步的所述输出词。
具体实施时,在改进的多头自注意力模块,将拼接后的术语约束与已输出的输出词进行改进的多头自注意力处理,得到第一注意力特征,具体包括:
获取拼接后的所述术语约束与已输出的输出词的自注意力权重矩阵;
提取自注意力权重矩阵的对角线上各位置的值,作为待用值;
将自注意力权重矩阵中,所有填充处理对应的位置赋值为负无穷;
根据待用值,将自注意力权重矩阵的对角线上各位置重新赋值,得到修正的自注意力权重矩阵;
根据修正的自注意力权重矩阵,得到第一注意力特征。
示例性设备
参考图5,基于与上述任意机器翻译模型的训练方法实施例相同的发明构思,本公开实施例还提供了一种机器翻译模型的训练装置,包括:
获取模块501,被配置为获取原始训练语料和训练用术语词典;
匹配模块502,被配置为根据所述训练用术语词典,对所述原始训练语料进行匹配检索,得到若干训练用术语匹配项;所述训练用术语匹配项包括:训练用源端术语及其对应的训练用目标端术语;
语料生成模块503,被配置为根据若干所述训练用术语匹配项,生成辅助训练语料,并将所述原始训练语料和所述辅助训练语料进行组合,得到组合训练语料;
约束生成模块504,被配置为为每个所述训练用目标端术语添加训练用术语位置标签,得到若干训练用术语约束项,并根据若干所述训练用术语约束项,得到训练用术语约束;
训练模块505,被配置为根据所述组合训练语料和所述训练用术语约束,对所述机器翻译模型进行训练。
在一些可选的实施方式中,所述训练模块505,具体被配置为根据所述组合训练语料和训练用术语约束,构建损失函数;以所述损失函数最小为训练目标,对所述机器翻译模型进行训练。
在一些可选的实施方式中,所述训练模块505,具体被配置为对于所述组合训练语料中的任一训练用目标端语句,将所述训练用目标端语句进行右侧填充和右偏移;将所述训练用目标端语句对应的所述训练用术语约束进行左侧填充和右偏移。
在一些可选的实施方式中,所述训练模块505,具体被配置为将所述训练用术语约束和所述训练用目标端语句进行拼接;将拼接后的所述训练用术语约束与所述训练用目标端语句进行改进的多头自注意力处理。所述改进的多头自注意力处理,具体包括:获取拼接后的所述训练用术语约束与所述训练用目标端语句的训练用自注意力权重矩阵,并提取所述训练用自注意力权重矩阵的对角线上各位置的值,作为训练用待用值;将所述训练用自注意力权重矩阵中,所有填充处理对应的位置赋值为负无穷;根据所述训练用待用值,将所述训练用自注意力权重矩阵的对角线上各位置重新赋值,得到修正的训练用自注意力权重矩阵;根据所述修正的训练用自注意力权重矩阵,得到更新后的所述拼接后的所述训练用术语约束与所述训练用目标端语句的表示。
在一些可选的实施方式中,所述语料生成模块503,具体被配置为从所述原始训练语料中,提取所有包括有所述训练用术语匹配项的双语句对,以得到第一子辅助训练语料;对于第一子辅助训练语料中的每个所述训练用术语匹配项,为该训练用术语匹配项包括的所述训练用源端术语和所述训练用目标端术语中的至少一个添加所述训练用术语位置标签,以得到第二子辅助训练语料;将所述第一子辅助训练语料和第二子辅助训练语料作为所述辅助训练语料,与所述原始训练语料进行组合,以得到所述组合训练语料;或,将所述第二子辅助训练语料作为所述辅助训练语料,与所述原始训练语料进行组合,以得到所述组合训练语料。
在一些可选的实施方式中,所述约束生成模块504,具体被配置为将若干所述训练用术语约束项依次拼接,并在末位的所述训练用术语约束项后添加断句符,以得到所述训练用术语约束。
在一些可选的实施方式中,所述训练用术语位置标签包括:开始位置符和结束位置符;所述开始位置符和所述结束位置符还均包括有索引信息,所述索引信息用于表达所述训练用术语位置标签对应的所述训练用术语匹配项在其所属的训练用语句包括的所有所述训练用术语匹配项中首次出现的索引顺序。
上述实施例的装置用于实现前述示例性机器翻译模型的训练方法部分中任一实施例中相应的机器翻译模型的训练方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
参考图6,基于与上述任意机器翻译方法实施例相同的发明构思,本公开实施例还提供了一种机器翻译装置,包括:
获取模块601,被配置为获取待翻译语句和术语词典;
匹配模块602,被配置为根据所述术语词典,对所述待翻译语句进行匹配检索,得到若干术语匹配项;所述术语匹配项包括:源端术语及其对应的目标端术语;
约束生成模块603,被配置为为每个所述目标端术语添加术语位置标签,得到若干术语约束项,并根据若干所述术语约束项,得到术语约束;
翻译模块604,被配置为将所述待翻译语句和所述术语约束输入预先训练的机器翻译模型,得到所述待翻译语句对应的翻译结果;所述机器翻译模型是基于如上任一实施例的机器翻译模型的训练方法训练得到的。
在一些可选的实施方式中,所述机器翻译模型包括编码器和解码器;所述解码器包括:拼接模块、改进的多头自注意力模块、多头注意力模块、前馈网络和分离模块。
在一些可选的实施方式中,所述翻译模块604,具体被配置为将所述待翻译语句输入所述编码器,得到所述待翻译语句对应的中间表示;将所述中间表示与所述术语约束输入所述解码器,得到所述待翻译语句对应的翻译结果;所述翻译结果包括由所述机器翻译模型逐步输出的若干输出词。
在一些可选的实施方式中,所述机器翻译模型每一步输出一所述输出词,具体包括:在所述拼接模块,将所述术语约束与已输出的输出词进行拼接;在所述改进的多头自注意力模块,将拼接后的所述术语约束与已输出的输出词进行改进的多头自注意力处理,得到第一注意力特征;在所述多头注意力模块,基于所述中间表示与所述第一注意力特征,进行多头注意力处理,得到第二注意力特征;在所述前馈网络,对所述第二注意力特征进行特征提取,得到拼接特征;在所述分离模块,将所述拼接特征分离,得到术语约束特征表示和目标端特征表示;所述目标端特征表示用于确定当前步的所述输出词。
在一些可选的实施方式中,所述在所述改进的多头自注意力模块,将拼接后的所述术语约束与已输出的输出词进行改进的多头自注意力处理,得到第一注意力特征,具体包括:获取所述拼接后的所述术语约束与已输出的输出词的自注意力权重矩阵;提取所述自注意力权重矩阵的对角线上各位置的值,作为待用值;将所述自注意力权重矩阵中,所有填充处理对应的位置赋值为负无穷;根据所述待用值,将所述自注意力权重矩阵的对角线上各位置重新赋值,得到修正的自注意力权重矩阵;根据所述修正的自注意力权重矩阵,得到所述第一注意力特征。
上述实施例的装置用于实现前述示例性机器翻译方法部分中任一实施例中相应的机器翻译方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于与上述任意机器翻译模型的训练方法实施例或机器翻译方法实施例相同的发明构思,本公开实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的机器翻译模型的训练方法和/或机器翻译方法。
图7示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作***和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述示例性方法部分中任一实施例中相应的机器翻译模型的训练方法和/或机器翻译方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
示例性程序产品
基于与上述任意机器翻译模型的训练方法实施例或机器翻译方法实施例相同的发明构思,本公开实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行前述示例性方法部分中任一实施例中相应的机器翻译模型的训练方法和/或机器翻译方法。
上述非暂态计算机可读存储介质可以是计算机能够存取的任何可用介质或数据存储设备,包括但不限于磁性存储器(例如软盘、硬盘、磁带、磁光盘(MO)等)、光学存储器(例如CD、DVD、BD、HVD等)、以及半导体存储器(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(SSD))等。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上示例性方法部分中任一实施例所述的机器翻译模型的训练方法和/或机器翻译方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
本领域技术技术人员知道,本发明的实施方式可以实现为一种***、方法或计算机程序产品。因此,本公开可以具体实现为以下形式,即:完全的硬件、完全的软件(包括固件、驻留软件、微代码等),或者硬件和软件结合的形式,本文一般称为“电路”、“模块”或“***”。此外,在一些实施例中,本发明还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举示例)例如可以包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络(包括局域网(LAN)或广域网(WAN))连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其它可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其它可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置的产品。
也可以把计算机程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其它可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
此外,尽管在附图中以特定顺序描述了本发明方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。相反,流程图中描绘的步骤可以改变执行顺序。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
申请文件中提及的动词“包括”、“包含”及其词形变化的使用不排除除了申请文件中记载的那些元素或步骤之外的元素或步骤的存在。元素前的冠词“一”或“一个”不排除多个这种元素的存在。
虽然已经参考若干具体实施方式描述了本发明的精神和原理,但是应该理解,本发明并不限于所公开的具体实施方式,对各方面的划分也不意味着这些方面中的特征不能组合以进行受益,这种划分仅是为了表述的方便。本发明旨在涵盖所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。
Claims (17)
1.一种机器翻译模型的训练方法,包括:
获取原始训练语料和训练用术语词典;
根据所述训练用术语词典,对所述原始训练语料进行匹配检索,得到若干训练用术语匹配项;所述训练用术语匹配项包括:训练用源端术语及其对应的训练用目标端术语;
根据若干所述训练用术语匹配项,生成辅助训练语料,并将所述原始训练语料和所述辅助训练语料进行组合,得到组合训练语料;
为每个所述训练用目标端术语添加训练用术语位置标签,得到若干训练用术语约束项,并根据若干所述训练用术语约束项,得到训练用术语约束;
根据所述组合训练语料和所述训练用术语约束,对所述机器翻译模型进行训练。
2.根据权利要求1所述的方法,其中,所述根据所述组合训练语料和所述训练用术语约束,对所述机器翻译模型进行训练,具体包括:
根据所述组合训练语料和训练用术语约束,构建损失函数;以所述损失函数最小为训练目标,对所述机器翻译模型进行训练。
3.根据权利要求1所述的方法,其中,所述根据所述组合训练语料和所述训练用术语约束,对所述机器翻译模型进行训练,具体包括:
对于所述组合训练语料中的任一训练用目标端语句,将所述训练用目标端语句进行右侧填充和右偏移;将所述训练用目标端语句对应的所述训练用术语约束进行左侧填充和右偏移。
4.根据权利要求3所述的方法,其中,所述根据所述组合训练语料和所述训练用术语约束,对所述机器翻译模型进行训练,具体包括:
将所述训练用术语约束和所述训练用目标端语句进行拼接;将拼接后的所述训练用术语约束与所述训练用目标端语句进行改进的多头自注意力处理。
5.根据权利要求4所述的方法,其中,所述改进的多头自注意力处理,具体包括:
获取拼接后的所述训练用术语约束与所述训练用目标端语句的训练用自注意力权重矩阵,并提取所述训练用自注意力权重矩阵的对角线上各位置的值,作为训练用待用值;
将所述训练用自注意力权重矩阵中,所有填充处理对应的位置赋值为负无穷;
根据所述训练用待用值,将所述训练用自注意力权重矩阵的对角线上各位置重新赋值,得到修正的训练用自注意力权重矩阵;根据所述修正的训练用自注意力权重矩阵,得到更新后的所述拼接后的所述训练用术语约束与所述训练用目标端语句的表示。
6.根据权利要求1所述的方法,其中,所述根据若干所述训练用术语匹配项,生成辅助训练语料,并将所述原始训练语料和所述辅助训练语料进行组合,得到组合训练语料,具体包括:
从所述原始训练语料中,提取所有包括有所述训练用术语匹配项的双语句对,以得到第一子辅助训练语料;
对于第一子辅助训练语料中的每个所述训练用术语匹配项,为该训练用术语匹配项包括的所述训练用源端术语和所述训练用目标端术语中的至少一个添加所述训练用术语位置标签,以得到第二子辅助训练语料;
将所述第一子辅助训练语料和第二子辅助训练语料作为所述辅助训练语料,与所述原始训练语料进行组合,以得到所述组合训练语料;或,将所述第二子辅助训练语料作为所述辅助训练语料,与所述原始训练语料进行组合,以得到所述组合训练语料。
7.根据权利要求1所述的方法,其中,所述根据若干所述训练用术语约束项,得到训练用术语约束,具体包括:
将若干所述训练用术语约束项依次拼接,并在末位的所述训练用术语约束项后添加断句符,以得到所述训练用术语约束。
8.根据权利要求1至7任意一项所述的方法,其中,所述训练用术语位置标签包括:开始位置符和结束位置符;所述开始位置符和所述结束位置符还均包括有索引信息,所述索引信息用于表达所述训练用术语位置标签对应的所述训练用术语匹配项在其所属的训练用语句包括的所有所述训练用术语匹配项中首次出现的索引顺序。
9.一种机器翻译方法,包括:
获取待翻译语句和术语词典;
根据所述术语词典,对所述待翻译语句进行匹配检索,得到若干术语匹配项;所述术语匹配项包括:源端术语及其对应的目标端术语;
为每个所述目标端术语添加术语位置标签,得到若干术语约束项,并根据若干所述术语约束项,得到术语约束;
将所述待翻译语句和所述术语约束输入预先训练的机器翻译模型,得到所述待翻译语句对应的翻译结果;所述机器翻译模型是基于权利要求1至8中的任一方法训练得到的。
10.根据权利要求9所述的方法,其中,所述机器翻译模型包括编码器和解码器;所述解码器包括:拼接模块、改进的多头自注意力模块、多头注意力模块、前馈网络和分离模块。
11.根据权利要求10所述的方法,其中,所述将所述待翻译语句和所述术语约束输入预先训练的机器翻译模型,得到所述待翻译语句对应的翻译结果,具体包括:
将所述待翻译语句输入所述编码器,得到所述待翻译语句对应的中间表示;
将所述中间表示与所述术语约束输入所述解码器,得到所述待翻译语句对应的翻译结果;所述翻译结果包括由所述机器翻译模型逐步输出的若干输出词。
12.根据权利要求11所述的方法,其中,所述机器翻译模型每一步输出一所述输出词,具体包括:
在所述拼接模块,将所述术语约束与已输出的输出词进行拼接;
在所述改进的多头自注意力模块,将拼接后的所述术语约束与已输出的输出词进行改进的多头自注意力处理,得到第一注意力特征;
在所述多头注意力模块,基于所述中间表示与所述第一注意力特征,进行多头注意力处理,得到第二注意力特征;
在所述前馈网络,对所述第二注意力特征进行特征提取,得到拼接特征;
在所述分离模块,将所述拼接特征分离,得到术语约束特征表示和目标端特征表示;所述目标端特征表示用于确定当前步的所述输出词。
13.根据权利要求12所述的方法,其中,所述在所述改进的多头自注意力模块,将拼接后的所述术语约束与已输出的输出词进行改进的多头自注意力处理,得到第一注意力特征,具体包括:
获取所述拼接后的所述术语约束与已输出的输出词的自注意力权重矩阵;
提取所述自注意力权重矩阵的对角线上各位置的值,作为待用值;
将所述自注意力权重矩阵中,所有填充处理对应的位置赋值为负无穷;
根据所述待用值,将所述自注意力权重矩阵的对角线上各位置重新赋值,得到修正的自注意力权重矩阵;
根据所述修正的自注意力权重矩阵,得到所述第一注意力特征。
14.一种机器翻译模型的训练装置,包括:
获取模块,被配置为获取原始训练语料和训练用术语词典;
匹配模块,被配置为根据所述训练用术语词典,对所述原始训练语料进行匹配检索,得到若干训练用术语匹配项;所述训练用术语匹配项包括:训练用源端术语及其对应的训练用目标端术语;
语料生成模块,被配置为根据若干所述训练用术语匹配项,生成辅助训练语料,并将所述原始训练语料和所述辅助训练语料进行组合,得到组合训练语料;
约束生成模块,被配置为为每个所述训练用目标端术语添加训练用术语位置标签,得到若干训练用术语约束项,并根据若干所述训练用术语约束项,得到训练用术语约束;
训练模块,被配置为根据所述组合训练语料和所述训练用术语约束,对所述机器翻译模型进行训练。
15.一种机器翻译装置,包括:
获取模块,被配置为获取待翻译语句和术语词典;
匹配模块,被配置为根据所述术语词典,对所述待翻译语句进行匹配检索,得到若干术语匹配项;所述术语匹配项包括:源端术语及其对应的目标端术语;
约束生成模块,被配置为为每个所述目标端术语添加术语位置标签,得到若干术语约束项,并根据若干所述术语约束项,得到术语约束;
翻译模块,被配置为将所述待翻译语句和所述术语约束输入预先训练的机器翻译模型,得到所述待翻译语句对应的翻译结果;所述机器翻译模型是基于权利要求1至8中的任一方法训练得到的。
16.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至13任意一项所述的方法。
17.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行权利要求1至13任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110700079.9A CN113515959B (zh) | 2021-06-23 | 2021-06-23 | 机器翻译模型的训练方法、机器翻译方法及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110700079.9A CN113515959B (zh) | 2021-06-23 | 2021-06-23 | 机器翻译模型的训练方法、机器翻译方法及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113515959A true CN113515959A (zh) | 2021-10-19 |
CN113515959B CN113515959B (zh) | 2022-02-11 |
Family
ID=78066270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110700079.9A Active CN113515959B (zh) | 2021-06-23 | 2021-06-23 | 机器翻译模型的训练方法、机器翻译方法及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113515959B (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109190131A (zh) * | 2018-09-18 | 2019-01-11 | 北京工业大学 | 一种基于神经机器翻译的英语单词及其大小写联合预测方法 |
CN109858044A (zh) * | 2019-02-01 | 2019-06-07 | 成都金山互动娱乐科技有限公司 | 语言处理方法和装置、语言处理***的训练方法和装置 |
CN110309516A (zh) * | 2019-05-30 | 2019-10-08 | 清华大学 | 机器翻译模型的训练方法、装置与电子设备 |
CN110543644A (zh) * | 2019-09-04 | 2019-12-06 | 语联网(武汉)信息技术有限公司 | 包含术语翻译的机器翻译方法、装置与电子设备 |
CN111460838A (zh) * | 2020-04-23 | 2020-07-28 | 腾讯科技(深圳)有限公司 | 智能翻译模型的预训练方法、装置和存储介质 |
CN111597778A (zh) * | 2020-04-15 | 2020-08-28 | 哈尔滨工业大学 | 一种基于自监督的机器翻译译文自动优化的方法和*** |
CN111626064A (zh) * | 2019-02-26 | 2020-09-04 | 株式会社理光 | 神经机器翻译模型的训练方法、装置及存储介质 |
CN112084794A (zh) * | 2020-09-18 | 2020-12-15 | 西藏大学 | 一种藏汉翻译方法和装置 |
CN112633017A (zh) * | 2020-12-24 | 2021-04-09 | 北京百度网讯科技有限公司 | 翻译模型训练、翻译处理方法、装置、设备和存储介质 |
-
2021
- 2021-06-23 CN CN202110700079.9A patent/CN113515959B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109190131A (zh) * | 2018-09-18 | 2019-01-11 | 北京工业大学 | 一种基于神经机器翻译的英语单词及其大小写联合预测方法 |
CN109858044A (zh) * | 2019-02-01 | 2019-06-07 | 成都金山互动娱乐科技有限公司 | 语言处理方法和装置、语言处理***的训练方法和装置 |
CN111626064A (zh) * | 2019-02-26 | 2020-09-04 | 株式会社理光 | 神经机器翻译模型的训练方法、装置及存储介质 |
CN110309516A (zh) * | 2019-05-30 | 2019-10-08 | 清华大学 | 机器翻译模型的训练方法、装置与电子设备 |
CN110543644A (zh) * | 2019-09-04 | 2019-12-06 | 语联网(武汉)信息技术有限公司 | 包含术语翻译的机器翻译方法、装置与电子设备 |
CN111597778A (zh) * | 2020-04-15 | 2020-08-28 | 哈尔滨工业大学 | 一种基于自监督的机器翻译译文自动优化的方法和*** |
CN111460838A (zh) * | 2020-04-23 | 2020-07-28 | 腾讯科技(深圳)有限公司 | 智能翻译模型的预训练方法、装置和存储介质 |
CN112084794A (zh) * | 2020-09-18 | 2020-12-15 | 西藏大学 | 一种藏汉翻译方法和装置 |
CN112633017A (zh) * | 2020-12-24 | 2021-04-09 | 北京百度网讯科技有限公司 | 翻译模型训练、翻译处理方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113515959B (zh) | 2022-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11681877B2 (en) | Systems and method for vocabulary management in a natural learning framework | |
CN112131366B (zh) | 训练文本分类模型及文本分类的方法、装置及存储介质 | |
US10592607B2 (en) | Iterative alternating neural attention for machine reading | |
US20200042596A1 (en) | On-Device Neural Networks for Natural Language Understanding | |
JP7106802B2 (ja) | リソースソート方法、ソートモデルをトレーニングする方法及び対応する装置 | |
US11551002B2 (en) | Learned evaluation model for grading quality of natural language generation outputs | |
US11669679B2 (en) | Text sequence generating method and apparatus, device and medium | |
US11775778B2 (en) | Machine translation of entities | |
CN109710951A (zh) | 基于翻译历史的辅助翻译方法、装置、设备及存储介质 | |
JP2016134037A (ja) | 意味構造検索プログラム、意味構造検索装置、及び意味構造検索方法 | |
CN111488742A (zh) | 用于翻译的方法和装置 | |
Bao et al. | Fine-tuning pretrained transformer encoders for sequence-to-sequence learning | |
CN113343692B (zh) | 搜索意图的识别方法、模型训练方法、装置、介质及设备 | |
JP2022106980A (ja) | クエリ文の生成方法、装置、電子機器及び記憶媒体 | |
KR102531507B1 (ko) | 정보 출력 방법, 장치, 기기 및 저장 매체 | |
JP2022091121A (ja) | テキスト誤り訂正方法、装置、電子デバイス、記憶媒体及びプログラム | |
US20230153550A1 (en) | Machine Translation Method and Apparatus, Device and Storage Medium | |
CN113515959B (zh) | 机器翻译模型的训练方法、机器翻译方法及相关设备 | |
CN113591493B (zh) | 翻译模型的训练方法及翻译模型的装置 | |
CN114201957A (zh) | 文本情感分析方法、装置及计算机可读存储介质 | |
CN113051896A (zh) | 对文本进行纠错的方法、装置、电子设备和存储介质 | |
JP7161255B2 (ja) | 文書作成支援装置、文書作成支援方法、及び、文書作成プログラム | |
JP2019159743A (ja) | 対応関係生成プログラム、対応関係生成装置、対応関係生成方法、及び翻訳プログラム | |
CN114722841B (zh) | 翻译方法、装置及计算机程序产品 | |
JP2019194759A (ja) | 対話システム補強装置及びコンピュータプログラム |
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 |