CN116362265A - 文本翻译方法、装置、设备和存储介质 - Google Patents
文本翻译方法、装置、设备和存储介质 Download PDFInfo
- Publication number
- CN116362265A CN116362265A CN202310595862.2A CN202310595862A CN116362265A CN 116362265 A CN116362265 A CN 116362265A CN 202310595862 A CN202310595862 A CN 202310595862A CN 116362265 A CN116362265 A CN 116362265A
- Authority
- CN
- China
- Prior art keywords
- translation
- sequence
- mask
- hidden layer
- predicted
- 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.)
- Pending
Links
- 238000013519 translation Methods 0.000 title claims abstract description 295
- 238000000034 method Methods 0.000 title claims abstract description 187
- 239000013598 vector Substances 0.000 claims abstract description 177
- 230000008569 process Effects 0.000 claims abstract description 100
- 238000012986 modification Methods 0.000 claims description 41
- 230000004048 modification Effects 0.000 claims description 41
- 238000012549 training Methods 0.000 claims description 34
- 230000004807 localization Effects 0.000 claims description 25
- 238000004590 computer program Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 10
- 238000012937 correction Methods 0.000 claims description 9
- 230000014759 maintenance of location Effects 0.000 claims description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 16
- 230000000873 masking effect Effects 0.000 abstract description 6
- 230000007246 mechanism Effects 0.000 abstract description 5
- 230000014616 translation Effects 0.000 description 244
- 238000005516 engineering process Methods 0.000 description 17
- 238000012804 iterative process Methods 0.000 description 13
- 238000013528 artificial neural network Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 12
- 230000011218 segmentation Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000003058 natural language processing Methods 0.000 description 7
- 239000003550 marker Substances 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011161 development Methods 0.000 description 3
- 230000018109 developmental process Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000000605 extraction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000010801 machine learning Methods 0.000 description 3
- 230000036961 partial effect Effects 0.000 description 3
- 230000000717 retained effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 230000001737 promoting effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 241000590419 Polygonia interrogationis Species 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 210000004556 brain Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification 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
- 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/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/226—Validation
-
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本发明实施例提供文本翻译方法、装置、设备和存储介质,涉及人工智能技术领域。该方法包括:通过对源语言句子进行编码,得到第一隐藏层向量;然后根据第一隐藏层向量执行迭代翻译过程,在迭代翻译过程中对预测序列的错误进行定位,将错误词语进行掩码后重新预测,直至满足迭代结束条件,将预测序列作为源语言句子的目标语言翻译句子。本申请实施例针对非自回归文本翻译,利用迭代式解码机制提升翻译性能,不同于一次性生成翻译结果的方式,并且其通过迭代翻译过程多次微调中间翻译结果的预测序列,准确判断生成的预测序列中词语的正确性,对其进行错误进行定位,根据定位结果替换需要修改的预测词,能够提升推理速度以及翻译结果。
Description
技术领域
本发明涉及人工智能技术领域,尤其涉及文本翻译方法、装置、设备和存储介质。
背景技术
机器翻译是利用计算机将一种自然语言(源语言)转换为另一种自然语言(目标语言)的过程。随着技术发展,机器翻译在促进政治、经济、文化交流等方面起到越来越重要的作用。
相关技术中利用非自回归的神经网络模型进行翻译,非自回归的机器翻译方法假设目标语言翻译结果中词语之间条件独立,从而同时解码生成整个目标语言的翻译结果。但是这种翻译方式基于独立性假设,忽略翻译结果的内在依赖关系,不能准确定位翻译过程中的错误信息,导致非自回归的机器翻译的解码结果会产生较为严重的不一致性,翻译效果较差。
发明内容
本申请实施例的主要目的在于提出文本翻译方法、装置、设备和存储介质,提高文本翻译的准确性。
为实现上述目的,本申请实施例的第一方面提出了一种文本翻译方法,包括:
获取源语言句子,并对所述源语言句子进行编码,得到第一隐藏层向量;
根据所述第一隐藏层向量执行迭代翻译过程,所述迭代翻译过程包括:
对输入信息进行编码操作,得到第二隐藏层向量,所述输入信息的初始化值为根据所述源语言句子生成的包含文本掩码词的掩码序列;
根据掩码位置、所述第一隐藏层向量和所述第二隐藏层向量进行预测,得到预测序列;所述掩码位置的初始化值为所述文本掩码词在所述掩码序列中的位置;
根据所述第一隐藏层向量和所述预测序列进行错误定位,得到所述预测序列中每个预测词的定位判断结果,以及当所述定位判断结果为修改时,将所述预测词替换为翻译掩码词;
基于所述翻译掩码词、所述预测序列和所述第一隐藏层向量更新所述输入信息,利用所述翻译掩码词在所述预测序列中的位置更新所述掩码位置,重复执行所述迭代翻译过程,直至满足迭代结束条件;
将最后一次迭代过程产生的所述预测序列作为所述源语言句子的目标语言翻译句子。
在一些实施例,根据所述源语言句子生成包含文本掩码词的掩码序列,包括:
获取所述源语言句子的序列长度;
生成与所述序列长度数量相同的所述文本掩码词;
基于所述文本掩码词构建所述掩码序列。
在一些实施例,所述方法应用于文本翻译模型,所述文本翻译模型包括错误修改定位模块,所述错误修改定位模块包括:错误修改模块,所述错误修改模块包括第一编码器模块;所述对输入信息进行编码操作,得到第二隐藏层向量,包括:
将所述输入信息输入所述第一编码器模块进行编码,生成所述第二隐藏层向量。
在一些实施例,所述错误修改模块还包括预测模块,所述预测模块包括第二自注意力层和第一多头注意力层;所述根据掩码位置、所述第一隐藏层向量和所述第二隐藏层向量进行预测,得到预测序列,包括:
将所述第二隐藏层向量输入所述第二自注意力层得到第一预测信息;
将所述第一预测信息和所述第一隐藏层向量输入所述第一多头注意力层得到第二预测信息;
根据所述第二预测信息和所述掩码位置生成每个掩码词的所述预测词,并根据所述预测词生成所述预测序列。
在一些实施例,所述错误修改定位模块还包括:错误定位模块;所述错误定位模块包括:第二编码器模块和定位分类模块;
所述根据所述第一隐藏层向量和所述预测序列进行错误定位,得到所述预测序列中每个预测词的定位判断结果,包括:
将所述预测序列和所述第一隐藏层向量输入所述第二编码器模块进行编码,得到第三隐藏层向量;
将所述第三隐藏层向量和所述第一隐藏层向量输入所述定位分类模块进行分类判断,输出每个所述预测词对应的所述定位判断结果,所述定位判断结果包括:修改和保留。
在一些实施例,所述基于所述翻译掩码词、所述预测序列和所述第一隐藏层向量生成所述输入信息,包括:
根据所述翻译掩码词替换所述预测序列中对应位置的预测词,生成翻译序列;
根据所述翻译序列和所述第一隐藏层向量生成所述输入信息。
在一些实施例,所述迭代结束条件包括:所述预测序列中每个预测词的定位判断结果都是保留,或,在连续的预设迭代次数内,所述预测序列中每个预测词的定位判断结果都相同。
在一些实施例,所述文本翻译模型通过预先训练得到,训练过程中目标函数表示为:
其中,表示所述文本翻译模型的模型参数,/>表示目标函数,M表示迭代次数为M,X表示训练语句,Y表示训练语句对应的翻译标签,/>表示第m次迭代过程中所述错误修改模块的目标向量,/>表示第m次迭代过程中所述错误定位模块的目标向量,/>表示第m次迭代过程中所述错误修改模块的预测训练序列,/>表示所述错误修改模块,/>表示第m次迭代过程中根据所述错误定位模块得到的翻译训练序列,/>表示所述错误定位模块,/>表示在训练语句X和/>的条件下目标向量为/>,/>表示在训练语句X和/>的条件下翻译标签为Y。
为实现上述目的,本申请实施例的第二方面提出了一种文本翻译装置,包括:
获取并编码模块,用于获取源语言句子,并对所述源语言句子进行编码,得到第一隐藏层向量;
迭代翻译模块,用于根据所述第一隐藏层向量执行迭代翻译过程,所述迭代翻译过程包括:
对输入信息进行编码操作,得到第二隐藏层向量,所述输入信息的初始化值为根据所述源语言句子生成的包含文本掩码词的掩码序列;
根据掩码位置、所述第一隐藏层向量和所述第二隐藏层向量进行预测,得到预测序列;所述掩码位置的初始化值为所述文本掩码词在所述掩码序列中的位置;
根据所述第一隐藏层向量和所述预测序列进行错误定位,得到所述预测序列中每个预测词的定位判断结果,以及当所述定位判断结果为修改时,将所述预测词替换为翻译掩码词;
基于所述翻译掩码词、所述预测序列和所述第一隐藏层向量更新所述输入信息,利用所述翻译掩码词在所述预测序列中的位置更新所述掩码位置,重复执行所述迭代翻译过程,直至满足迭代结束条件;
翻译结果获取模块,用于将最后一次迭代过程产生的所述预测序列作为所述源语言句子的目标语言翻译句子。
为实现上述目的,本申请实施例的第三方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法。
为实现上述目的,本申请实施例的第四方面提出了一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法。
本申请实施例提出的文本翻译方法、装置、设备和存储介质,通过对源语言句子进行编码,得到第一隐藏层向量;然后根据第一隐藏层向量执行迭代翻译过程,具体的迭代翻译过程包括:对输入信息进行编码操作,得到第二隐藏层向量,再根据掩码位置、第一隐藏层向量和第二隐藏层向量进行预测,得到预测序列;根据第一隐藏层向量和预测序列进行错误定位,得到预测序列中每个预测词的定位判断结果,当定位判断结果为修改时将预测词替换为翻译掩码词,最后基于翻译掩码词、预测序列和第一隐藏层向量生成输入信息,利用翻译掩码词在预测序列中的掩码位置和输入信息重复执行迭代翻译过程,直至满足迭代结束条件,将预测序列作为源语言句子的目标语言翻译句子。本申请实施例针对非自回归文本翻译,利用迭代式解码机制提升翻译性能,不同于一次性生成翻译结果的方式,并且其通过迭代翻译过程多次微调中间翻译结果的预测序列,准确判断生成的预测序列中词语的正确性,对其进行错误进行定位,根据定位结果替换需要修改的预测词,能够提升推理速度以及翻译结果。
附图说明
图1是本发明实施例提供的文本翻译方法的文本翻译模型结构示意图。
图2是本发明又一实施例提供的文本翻译方法的文本翻译模型结构示意图。
图3是本发明又一实施例提供的文本翻译方法的流程图。
图4是本发明又一实施例提供的文本翻译方法的迭代翻译过程的流程图。
图5是本发明又一实施例提供的文本翻译方法的生成掩码序列的流程图。
图6是图4中的步骤S122的流程图。
图7是图4中的步骤S123的流程图。
图8是本发明又一实施例提供的文本翻译方法的原理示意图。
图9是相关技术中迭代过程示意图。
图10是本发明又一实施例提供的文本翻译方法的迭代过程示意图。
图11是本发明又一实施例提供的文本翻译装置结构框图。
图12是本发明实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本发明实施例的目的,不是旨在限制本发明。
首先,对本发明中涉及的若干名词进行解析:
人工智能(artificial intelligence,AI):是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学;人工智能是计算机科学的一个分支,人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能可以对人的意识、思维的信息过程的模拟。人工智能还是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
自然语言处理(Natural Language Processing, NLP):自然语言处理,简单来说即是计算机接受用户自然语言形式的输入,并在内部通过人类所定义的算法进行加工、计算等系列操作,以模拟人类对自然语言的理解,并返回用户所期望的结果。
神经网络:神经网络是一种以人脑为模型的机器学习。神经网络能够执行深度学习。人工神经网络的基本组成部分是一个感知器,这个感知器可以完成简单的信号处理,然后连接到一个大的网状网络中。
机器翻译是利用计算机将一种自然语言(源语言)转换为另一种自然语言(目标语言)的过程,随着技术发展,机器翻译在促进政治、经济、文化交流等方面起到越来越重要的作用。神经机器翻译系统利用神经网络进行机器翻译,是自然语言处理的一种,其使用编码器将待翻译的源语言句子编码成连续的向量表示,而后给予词表示,使用解码器生成目标语言的翻译。
相关技术中神经机器翻译包括自回归的神经网络翻译和非自回归的神经网络翻译。自回归的方法在解码过程中逐词生成目标语言的翻译结果,其每个词语的生成依赖于已生成翻译结果。非自回归的机器翻译方法假设目标语言翻译结果中词语之间条件独立,从而能够同时解码生成整个目标语言的翻译结果。这种翻译方式比于自回归的方法大大提升了推理的速度,但是由于其基于独立性假设,忽略翻译结果的内在依赖关系,不能准确定位翻译过程中的错误信息,导致非自回归的机器翻译的解码结果会产生较为严重的不一致性,翻译效果较差。
基于此,本发明实施例提供一种文本翻译方法、装置、设备和存储介质,针对非自回归文本翻译,利用迭代式解码机制提升翻译性能,不同于一次性生成翻译结果的方式,其通过迭代翻译过程多次微调中间翻译结果的预测序列,准确判断生成的预测序列中词语的正确性,对其进行错误进行定位,根据定位结果替换需要修改的预测词,能够提升推理速度以及翻译结果。
本发明实施例提供文本翻译方法、装置、设备和存储介质,具体通过如下实施例进行说明,首先描述本发明实施例中的文本翻译方法。
本发明实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(ArtificialIntelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本发明实施例提供的文本翻译方法,涉及人工智能技术领域,尤其涉及数据挖掘技术领域。本发明实施例提供的文本翻译方法可应用于终端中,也可应用于服务器端中,还可以是运行于终端或服务器端中的计算机程序。举例来说,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(Native)应用程序(APP,Application),即需要在操作系统中安装才能运行的程序,如支持文本翻译的客户端,也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意APP中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。其中,终端通过网络与服务器进行通信。该文本翻译方法可以由终端或服务器执行,或由终端和服务器协同执行。
在一些实施例中,终端可以是智能手机、平板电脑、笔记本电脑、台式计算机或者智能手表等。此外,终端还可以是智能车载设备。该智能车载设备应用本实施例的文本翻译方法提供相关的服务,提升驾驶体验。服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器;也可以是区块链系统中的服务节点,该区块链系统中的各服务节点之间形成组成点对点(P2P,Peer To Peer)网络,P2P协议是一个运行在传输控制协议(TCP,Transmission Control Protocol)协议之上的应用层协议。服务器上可以安装文本翻译系统的服务端,通过该服务端可以与终端进行交互,例如服务端上安装对应的软件,软件可以是实现文本翻译方法的应用等,但并不局限于以上形式。终端与服务器之间可以通过蓝牙、USB(Universal Serial Bus,通用串行总线)或者网络等通讯连接方式进行连接,本实施例在此不做限制。
本发明可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本发明可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
首先描述本申请实施例中构建的非自回归的文本翻译模型。参照图1,为文本翻译模型结构示意图。
该实施例中,文本翻译模型包括:依次连接的文本编码模块100和N个错误修改定位模块200,其中,文本编码模型100用于接收输入的源语言句子,对源语言句子进行编码之后输入到错误修改定位模块200,最后一个错误修改定位模块200输出将源语言句子翻译成目标语言句子之后的目标语言翻译句子。可以理解的是错误修改定位模块的数量N大于或等于1,该数量可以根据实际开发情况设定,例如可以将多次验证得到最优迭代次数作为该数量,本实施例对此不做具体限定。
参照图2,是本申请一实施例中文本翻译模型示意图。
图2中文本编码模型100包括第一输入层110、第一编码层120和Ne个结构相同的子编码模块130构成,其中每个子编码模块130依次由第一自注意力层131以及第一前馈神经网络层132构成。源语言句子依次经过第一输入层110、第一编码层120和Ne个结构相同的子编码模块130得到第一隐藏层向量He。在一实施例中,文本编码模型100可以根据Transformer模型结构的编码器-解码器得到。
在一实施例中,参照图2,错误修改定位模块200包括:错误修改模块210和错误定位模块220。其中,错误修改模块210包括:第二输入层211、第一编码器模块212、Nr个结构相同的预测模块213和第一softmax层214构成,其中,每个预测模块213依次由第二自注意力层2131、第一多头注意力层2132和第二前馈神经网络层2133构成。其中,第一隐藏层向量He输入每个预测模块213的第一多头注意力层2132,同时,输入信息依次经过第二输入层211、第一编码器模块212、Nr个结构相同的预测模块213和第一softmax层214得到预测序列。在一实施例中,错误修改模块210可以根据Transformer模型结构的编码器-解码器得到。
上述实施例中,错误定位模块220包括:第三输入层221、第二编码器模块222、Nl个结构相同的定位分类模块223和第二softmax层224构成,其中,每个定位分类模块223依次由第三自注意力层2231、第二多头注意力层2232和第三前馈神经网络层2233构成。其中,第一隐藏层向量He输入每个定位分类模块223的第一多头注意力层2132,同时,第一隐藏层向量He和错误修改模块210输出的预测序列依次经过第三输入层221、第二编码器模块222、Nl个结构相同的定位分类模块223和第二softmax层224得到定位判断结果。在一实施例中,错误定位模块220可以根据Transformer模型结构的编码器-解码器得到。
在一实施例中,对于N个依次连接的错误修改定位模块200,前一个错误修改定位模块200输出的定位判断结果、预测序列、文本编码模块100输出的第一隐藏层向量He共同作为下一个错误修改定位模块200的输入信息,最终得到源语言句子的目标语言翻译句子。
可以理解的是,上述实施例中数量Ne、数量Nr、数量Nl均为超参数,可以通过训练得到,或者通过经验值设定,本实施例对此不做具体限定。
下面描述本发明实施例中的文本翻译方法。
图3是本发明实施例提供的文本翻译方法的一个可选的流程图,图3中的方法可以包括但不限于包括步骤S110至步骤S130。同时可以理解的是,本实施例对图3中步骤S110至步骤S130的顺序不做具体限定,可以根据实际需求调整步骤顺序或者减少、增加某些步骤。
步骤S110:获取源语言句子,并对源语言句子进行编码,得到第一隐藏层向量。
在一些实施例中,源语言句子可以是单个句子,也可以是包含多个句子的文段。本实施例对源语言句子的获取方式不做具体限定。源语言句子可以是接收用户输入得到,例如接收用户的聊天信息输入得到。另外,源语言句子也可以通过计算机设备得到,例如通过计算机设备的输入界面实时采集得到、通过计算机设备从文本数据库中提取得到或通过计算机设备从网络上爬取得到等。其中,通过计算机设备的输入界面实时采集可以是由计算机设备对当前屏幕上显示的文字进行划线的方式选取。
在一些实施例中,步骤S110中首先对源语言句子进行分词处理,得到分词构成的序列,再利用词向量的生成过程生成对应源语言句子的词向量,这一步骤的目的是得到源语言句子的数学向量表示,完成源语言句子到特征向量的转化过程,将源语言句子转化成计算机能够用于计算的数据格式,数学向量用来表征源语言句子中蕴含的特征信息。
在一些实施例中,上述分词过程可以采用基于词典的分词方法对源语言句子进行分词,得到多个分词构成的序列,该方法按照预设策略将源语言句子的文本信息中待匹配的字符串与预先建立的词典中的词进行匹配。其中,预设策略包括:正向最大匹配法、逆向最大匹配法和双向匹配分词法等。本实施例也可以采用基于统计的机器学习算法对源语言句子进行分词,得到多个分词。在分词操作过程中还包括去除停用词的过程,停用词指在源语言句子中的非实意词语或者其他实际作用较小的词语,常见的停用词可以根据预设的停用词库得到。另外,本实施例不对分词方法做具体限定。
在一些实施例中,得到分词构成的序列后,将其输入文本编码模型100来生成源语言句子的特征表示,即得到源语言句子的第一隐藏层向量He。参照图2,源语言句子依次经过第一输入层110、第一编码层120和Ne个结构相同的子编码模块130得到第一隐藏层向量He。
步骤S120:根据第一隐藏层向量执行迭代翻译过程。
在一实施例中,参照图4,迭代翻译过程包括:
步骤S121:对输入信息进行编码操作,得到第二隐藏层向量。
在一实施例中,设定迭代翻译过程的起点为接收输入信息,每一次迭代过程中输入信息不同,对于第一次迭代过程来说,输入信息为其初始化值。在一实施例中,输入信息的初始化值为根据源语言句子生成的包含文本掩码词的掩码序列。
参照图5,在一实施例中,上述掩码序列的生成过程包括以下步骤:
步骤S510:获取源语言句子的序列长度。
步骤S520:生成与序列长度数量相同的文本掩码词。
步骤S530:基于文本掩码词构建掩码序列。
在一实施例中,序列长度是根据源语言句子S进行分词之后得到的分词数量得到,并且在一实施例序列长度可以是分词数量加num,这里加num的目的是包括源语言句子中的标点符号信息,例如逗号、句号、问号或省略号等。
在一实施例中,假设源语言句子S为:“Thank you.”,其包含标点符号在内的序列长度为3,因此文本掩码词的数量为3,生成的掩码序列X’表示为{[MASK],[MASK],[MASK]},得到掩码序列后,能够得到每个文本掩码词在掩码序列中的位置信息。可以理解的是,文本掩码词可以是填充掩码或前瞻掩码,本实施例对此不做具体限定。
在一实施例中,输入信息的初始化值为上述掩码序列X’,因此得到输入信息后,将输入信息经过第二输入层211后输入如图2中第一编码器模块212进行编码,生成第二隐藏层向量Hr,表示为:
步骤S122:根据掩码位置、第一隐藏层向量和第二隐藏层向量进行预测,得到预测序列。
在一实施例中,参照图6,是一实施例示出的步骤S122的一种具体实现流程图,在本实施例中根据掩码位置、第一隐藏层向量和第二隐藏层向量进行预测,得到预测序列的步骤包括:
步骤S1221:将第二隐藏层向量输入第二自注意力层得到第一预测信息。
步骤S1222:将第一预测信息和第一隐藏层向量输入第一多头注意力层得到第二预测信息。
步骤S1223:根据第二预测信息和掩码位置生成每个掩码词的预测词,并根据预测词生成预测序列。
在一实施例中,由于掩码位置能够表征输入信息中哪些位置的词语是被掩码的,因此该实施例中对被掩码的词语进行预测,从而得到预测序列。在第一次迭代过程中,掩码位置的初始化值为文本掩码词在掩码序列中的位置。参照图2,首先第二隐藏层向量Hr经过预测模块213的第二自注意力层2131得到第一预测信息,然后将第一预测信息和第一隐藏层向量He共同输入第一多头注意力层2132得到第二预测信息,第二预测信息依次经过第二前馈神经网络层2133和第一softmax层214得到预测序列,这里预测序列中包含每个文本掩码词的预测词。由于初始化的掩码位置表征掩码序列中每个词语均是对源语言句子中词语进行掩码生成,因此第一次迭代过程中,预测序列为源语言句子中每个词语的预测词构成。
可以理解的是,在一实施例中,步骤S122中,根据掩码位置可以仅将掩码词对应的第二隐藏层向量的向量值输入到预测模型进行预测,得到预测序列。例如上述示例,假如只有第t个向量值是被[MASK]的值,则仅将第t个向量值/>输入预测序列进行预测,得到预测序列中第t个位置的预测词/>。
其中,表示预测序列中第t个位置的向量值,/>表示预测序列/>的向量长度,并且如果第二隐藏层向量Hr中第t个向量值/>是被[MASK]的值,则预测序列中第t个位置的向量值为预测词/>,否则与第二隐藏层向量Hr中第t个向量值/>相同。
可以理解的是,如果第二隐藏层向量Hr中包含多个被掩码的值,则按照上述过程,将被掩码的向量值输入预测模块中,依次计算每个掩码位置上的预测值,从而得到对每个掩码词均进行预测的预测序列。得到预测序列后,本申请实施例为了提高翻译质量,对预测的词语利用下述步骤进行进一步的错误识别,判断每一个词语是否都准确翻译。
步骤S123:根据第一隐藏层向量和预测序列进行错误定位,得到预测序列中每个预测词的定位判断结果,以及当定位判断结果为修改时,将预测词替换为翻译掩码词。
在一实施例中,定位判断结果包括:修改和保留,即通过错误定位模块的分类判断后,针对预测序列中每个词语均给出保留或者修改的反馈结果。
将上述步骤得到的预测序列输入错误定位模块进行错误定位,对于错误定位模块来说,给定错误修改模块产生的翻译结果,错误定位模块能够基于源语言句子识别出输入的翻译结果中的错误词语,这种错误定位的过程可以被形式化为一个分类过程,因此本申请实施例中使用错误定位模块,将翻译结果预测序列中的每一个词语进行分类得到定位判断结果,具体定位判断结果包括两个不同类型:修改(revise)和保留(keep),如果预测序列中的词语在错误定位模块中被分类为“修改”时,表征预测序列的词语是翻译错误的词,需要进行修改,如果预测序列中的词语在错误定位模块中被分类为“保留”时,表征预预测序列的词语是翻译正确的词,可以保留进翻译结果中。可以理解的是定位判断结果可以构成与预测序列等长的向量,通过数字“0”表示“修改”,或通过数字“1”表示“保留”。
在一实施例中,参照图7,是一实施例示出的步骤S123中根据第一隐藏层向量和预测序列进行错误定位,得到预测序列中每个预测词的定位判断结果的步骤包括:
步骤S1231:将预测序列和第一隐藏层向量输入第二编码器模块进行编码,得到第三隐藏层向量。
步骤S1232:将第三隐藏层向量和第一隐藏层向量输入定位分类模块进行分类判断,输出每个预测词对应的定位判断结果。
然后将第三隐藏层向量输入定位分类模块223进行分类判断,将第一隐藏层向量He输入第二多头注意力层2232,同时第三隐藏层向量依次经过第三自注意力层2231、第二多头注意力层2232和第三前馈神经网络层2233,再将得到的输出信息送入第二softmax层224得到定位判断结果。
其中,和/>表示错误定位模型的模型权重和偏置向量,/>表示标记序列L中第t个位置的定位判断结果,/>表示定位分类模块,/>表示在已知掩码序列/>和预测序列/>中第t个位置的向量值/>的条件下求解/>。
上述实施例得到预测序列中每个预测词的定位判断结果,错误修改模块210的第二输入层211根据定位判断结果,对定位判断结果为“修改”的预测词生成对应的翻译掩码词[MASK],根据翻译掩码词替换预测序列/>中对应位置的预测词后生成翻译序列/>,表示为:
其中,表示翻译序列/>中第t个位置的向量值,/>表示翻译序列/>的向量长度,并且/>表示预测序列/>中第t个向量值/>的定位判断结果为“修改”,则其对应地翻译序列/>中第t个位置的向量值为[MASK],否则与预测序列/>中第t个向量值/>相同。
可以理解的是,如果第二隐藏层向量Hr中包含多个被掩码的值,则按照上述过程,将被掩码的向量值输入预测模块中,依次计算每个掩码位置上的预测值,从而得到对每个掩码词均进行预测的预测序列。得到预测序列后,本申请实施例为了提高翻译质量,对预测的词语利用下述步骤进行进一步的错误识别,判断每一个词语是否都准确翻译。
至此第一次迭代过程结束,判断是否满足迭代结束条件,如果不满足迭代结束条件,则继续执行迭代翻译过程。
步骤S124:基于翻译掩码词、预测序列和第一隐藏层向量生成输入信息,利用翻译掩码词在预测序列中的位置更新掩码位置,重复执行迭代翻译过程,直至满足迭代结束条件。
对于第二次迭代过程(以及后续迭代过程)来说,其输入信息是由翻译序列和第一隐藏层向量生成,对输入信息进行编码操作,得到第二隐藏层向量表示为:
在一实施例中,掩码位置为翻译掩码词在预测序列中的位置,由于翻译掩码词说明该位置上一轮迭代过程中的预测词是错误的,需要进行重新预测,因此本实施例基于掩码位置生成每个翻译掩码词对应的预测词,并根据预测词更新预测序列。可以理解的是,在本次迭代翻译过程中,仅对翻译掩码词进行预测。
接着按照上述错误定位模块的执行步骤,利用预测序列得到翻译序列。
在每一轮迭代翻译过程结束后,判断是否满足迭代结束条件,在一实施例中,迭代结束条件包括两个:
1)根据错误定位模块的输出可知,预测序列中每个预测词的定位判断结果都是保留,则表明该预测序列是源语言句子的正确翻译,将预测序列作为目标语言翻译句子。
2)在连续的预设迭代次数内,预测序列中每个预测词的定位判断结果都相同。例如在连续两次的迭代过程中,预测序列的预测词的定位判断结果不变,此时即使有部分词语可能被标记为修改,但是在连续两次的修改过程中都没有找到最合适的翻译结果,出于对执行效率和运算开销的考量,此时也结束迭代过程,输出预测序列作为源语言句子的目标语言翻译句子。此时的预设迭代次数为2。
可以理解的是,上述两种迭代结束条件只需要满足其中一种即可。
另外,本申请实施例中文本掩码词和翻译掩码词中的[MASK]表示其是通过掩码得到的词,并不代表两者是相同的掩码信息。
步骤S130:将最后一次迭代翻译过程产生的预测序列作为源语言句子的目标语言翻译句子。
在满足迭代结束条件后,将最后一次迭代过程产生的预测序列作为源语言句子的目标语言翻译句子。由上述可知,本申请实施例可以通过迭代翻译过程,对每一次的预测序列进行错误定位,判断是否有需要重新预测的词语,进而提升翻译的结果准确性。
在一实施例中,参照图8,源语言句子为:“Thank you!”,源语言是英语,需要将英语翻译成德语,此时目标语言翻译句子为“Vielen dank!”。
首先对源语言句子进行分词处理,得到分词构成的序列{“Thank”,“you”,“!”},然后分词序列依次经过第一输入层110、第一编码层120和Ne个结构相同的子编码模块130得到第一隐藏层向量He,表示为{,/>,/>},分别对应三个分词。
然后生成源语言句子的掩码序列,根据源语言句子的序列长度3,生成与3个文本掩码词[MASK],再基于三个文本掩码词构建源语言文本对应地掩码序列/>,表示为:{[MASK],[MASK],[MASK]}。
在第一次迭代时,将掩码序列输入错误修改模块210,同时将第一隐藏层向量He输入第一多头注意力层2132,通过第一softmax层214输出预测序列/>,由于掩码位置相关信息表明需要对3个位置的词语均进行预测,因此第一次迭代过程中,预测序列/>为:{“Dank”,“dank”,“!”}。
将预测序列和第一隐藏层向量He输入错误定位模块220,同时将第一隐藏层向量He输入第二多头注意力层2232,通过第二softmax层224得到定位判断结果。由于预测序列中第一个位置的预测词是“Dank”,理论上的预测词应该是“Vielen”,则该预测词对应的定位判断结果应该为“revise”,其余两个位置的预测词正确,其对应的定位判断结果应该为“keep”,则定位判断结果构成的标记序列L表示为:{“revise”,“keep”,“keep”}。
由于不满足迭代结束条件,因此执行第二次迭代翻译过程。首先将标记序列L中定位判断结果为修改的预测词替换为翻译掩码词,然后根据翻译掩码词替换预测序列中对应位置的预测词,生成翻译序列,具体是将原翻译序列的需要修改的预测词替换为“[MASK]”,其余的部分则保持不变,得到的翻译序列表示为:{[MASK],“dank”,“!”},然后将翻译序列和第一隐藏层向量作为输入信息执行上述错误修改流程。由于此时的掩码位置表征第一个位置需要进行重新预测,因此仅对第一个位置的词语进行预测,其他的词语保留,本次迭代过程中,错误修改模块输出的预测序列为:{“Vielen”,“dank”,“!”}。对应地,本次迭代过程中,定位判断结果构成的标记序列L表示为:{“keep”,“keep”,“keep”}。
在一实施例中,文本翻译模型为通过预先训练得到,训练过程设定的迭代次数为M步,训练过程中目标函数表示为:
其中,表示文本翻译模型的模型参数,/>表示目标函数,M表示迭代次数为M,X表示训练语句,Y表示训练语句对应的翻译标签,/>表示第m次迭代过程中错误修改模块的目标向量,/>表示第m次迭代过程中错误定位模块的目标向量,/>表示第m次迭代过程中错误修改模块的预测训练序列,/>表示错误修改模块,/>表示第m次迭代过程中根据错误定位模块得到的翻译训练序列,/>表示错误定位模块,/>表示在训练语句X和/>的条件下目标向量为/>,/>表示在训练语句X和/>的条件下翻译标签为Y。
在一实施例中,在第m步迭代中,将错误修改模型的预测序列和错误定位模型的翻译序列和翻译标签Y进行对比,从而构建错误修改模块和错误定位模块的监督信号和,进而指导错误修改模块和错误定位模块的学习过程,调节两者的模型参数和偏置向量。
其中,T表示训练语句X的序列长度,表示错误定位模块的目标向量中第t个位置的向量值,/>表示错误定位模块输出的翻译训练序列中第t个值,/>表示错误定位模块输出的翻译训练序列中第t个值的期望值,可根据翻译标签Y得到。
本实施例在解码过程中准确判断生成词语的正确性,有效定位迭代翻译过程中产生的词语错误,对错误的词语进行重新预测,提高推理速度和翻译的准确性。同时有效改写翻译结果迭代中出现的错误,能够使迭代尽快结束,进一步提升翻译的速度。
参照图9,相关技术中翻译过程,其在结果过程中无法准确的判断生成词语的正确性。其使用掩码结合预测的方法,其仅仅是采用简单的启发式规则将生成概率较低的词语当作为翻译错误,例如图中所示,输入的源语言句子为{},在迭代过程中,经过编码过程和解码过程得到中间翻译结果为{/>},生成过程中,根据简单的启发规则,模型判断/>和/>位置处的词语生成概率较低,因此对其进行掩码,将其变成[MASK],得到{/>},将其进行翻译,输出的最终翻译结果为{/>},真正的翻译结果应该是{/>},由此可见,但是真正的翻译错误词语/>和/>在中间翻译结果中并没有被识别到,导致这些无法识别的错误影响后续解码生成的翻译性能。此外,由于Mask-Predict无法判断生成的翻译词语的准确性,因此其通常使用固定的解码次数解码生成目标翻译,即使其可以使用非常少的解码次数就可生成准确的翻译,从而限制解码速度的进一步提升。
参照图10,本申请实施例能够找到和修改多步迭代过程的中间翻译结果中的翻译错误。如图10所示,输入的源语言句子为{},在迭代过程中,中间翻译结果为{},生成过程中,错误定位模块判断/>和/>在中间翻译结果中应该被修改,因此对其进行掩码,将其变成[MASK],得到{/>},并在接下来的迭代过程中由错误修改模块对其进行改写生成重新预测,输出的最终翻译结果为{/>},与真正的翻译结果{/>}一致。可见本申请实施例解决了迭代式解码过程中无法准确判断生成词语正确性问题,通过错误定位模块和错误修改模块共同进行中间翻译结果的微调,从而进一步提高推理速度和翻译的准确性。
下面描述本申请实施例的翻译实例。
需要将源语言句子的德语翻译成英语,源语言句子(德语)为:
Den KindernstehenregionaleHandwerker von 11 bis 17UhrhelfendzurSeite.
目标语言翻译句子(英语)为:
Regional craftsmen will assist the children from 11 a.m. to 5 p.m.
首先描述相关技术中基线模型翻译的迭代过程:
迭代次数=1-8:
Regional craftsmen are at their children from 11 a.m. to 5 p.m.
迭代次数=9:
Regional craftsmen are assist their children from 11 a.m. to 5 p.m.
迭代次数=10:
Regional craftsmen are helping the children from 11 a.m. to 5 p.m.
可见,相关技术中需要10次迭代过程得到目标语言翻译句子(英语)。
本申请实施例的迭代过程:
迭代次数=1:
Regional craftsmen are children childrenchildren from 11 a.m. to 5p.m.
迭代次数=2:
Regional craftsmen are assist the children from 11 a.m. to 5 p.m.
迭代次数=3:
Regional craftsmen will assist the children from 11 a.m. to 5 p.m.
可以看出本申请实施例提出的文本翻译方法能够在仅3步迭代内生成合理的翻译结果,并由错误定位模块终止迭代过程,且在第一次迭代时出现的错误也在后续迭代中被纠正。而相关技术中翻译模型无法有效改正翻译中的错误,且进行了更多的迭代,从而导致其推理的速度很慢。因此本申请实施例提出的方法能够有效改写早期翻译结果迭代中出现的错误,并使迭代尽快结束,进一步提升翻译的速度。
可以理解的是,本申请实施例可以应用在新闻文本翻译场景,能够解决当前新闻命名实体识别方法的多模态实体抽取模型中缺少对细粒度图文匹配的建模,导致部分新闻实体识别错误,新闻实体识别准确率低的问题。另外也可以应用在农业文本翻译场景,能够解决当前中文农业命名实体识别方法的多模态实体抽取模型中缺少对细粒度图文匹配的建模,导致部分中文农业实体识别错误,中文农业实体识别准确率低的问题。也可以应用在医疗文本识别场景,能够解决当前医疗命名实体识别方法的多模态实体抽取模型中缺少对细粒度图文匹配的建模,导致部分医疗实体识别错误,医疗实体识别准确率低的问题。上述应用场景仅作示例,并不代表对应用场景进行限定。
本发明实施例提供的技术方案,通过对源语言句子进行编码,得到第一隐藏层向量;然后根据第一隐藏层向量执行迭代翻译过程,具体的迭代翻译过程包括:对输入信息进行编码操作,得到第二隐藏层向量,再根据掩码位置、第一隐藏层向量和第二隐藏层向量进行预测,得到预测序列;根据第一隐藏层向量和预测序列进行错误定位,得到预测序列中每个预测词的定位判断结果,当定位判断结果为修改时将预测词替换为翻译掩码词,最后基于翻译掩码词、预测序列和第一隐藏层向量生成输入信息,利用翻译掩码词在预测序列中的掩码位置和输入信息重复执行迭代翻译过程,直至满足迭代结束条件,将预测序列作为源语言句子的目标语言翻译句子。
本申请实施例针对非自回归文本翻译,利用迭代式解码机制提升翻译性能,不同于一次性生成翻译结果的方式,其通过迭代翻译过程多次微调中间翻译结果的预测序列,准确判断生成的预测序列中词语的正确性,对其进行错误进行定位,根据定位结果替换需要修改的预测词,能够提升推理速度以及翻译结果。
本发明实施例还提供一种文本翻译装置,可以实现上述文本翻译方法,参照图11,该装置包括:
获取并编码模块1110,用于获取源语言句子,并对源语言句子进行编码,得到第一隐藏层向量。
迭代翻译模块1120,用于根据第一隐藏层向量执行迭代翻译过程,迭代翻译过程包括:
对输入信息进行编码操作,得到第二隐藏层向量,输入信息的初始化值为根据源语言句子生成的包含文本掩码词的掩码序列。
根据掩码位置、第一隐藏层向量和第二隐藏层向量进行预测,得到预测序列;掩码位置的初始化值为文本掩码词在掩码序列中的位置。
根据第一隐藏层向量和预测序列进行错误定位,得到预测序列中每个预测词的定位判断结果,以及当定位判断结果为修改时,将预测词替换为翻译掩码词。
基于翻译掩码词、预测序列和第一隐藏层向量更新输入信息,利用翻译掩码词在预测序列中的位置更新掩码位置,重复执行迭代翻译过程,直至满足迭代结束条件。
翻译结果获取模块1130,用于将最后一次迭代过程产生的预测序列作为源语言句子的目标语言翻译句子。
本实施例的文本翻译装置的具体实施方式与上述文本翻译方法的具体实施方式基本一致,在此不再赘述。
本发明实施例还提供了一种电子设备,包括:
至少一个存储器;
至少一个处理器;
至少一个程序;
所述程序被存储在存储器中,处理器执行所述至少一个程序以实现本发明实施上述的文本翻译方法。该电子设备可以为包括手机、平板电脑、个人数字助理(PersonalDigital Assistant,简称PDA)、车载电脑等任意智能终端。
请参阅图12,图12示意了另一实施例的电子设备的硬件结构,电子设备包括:
处理器1201,可以采用通用的CPU(CentralProcessingUnit,中央处理器)、微处理器、应用专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本发明实施例所提供的技术方案;
存储器1202,可以采用ROM(ReadOnlyMemory,只读存储器)、静态存储设备、动态存储设备或者RAM(RandomAccessMemory,随机存取存储器)等形式实现。存储器1202可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1202中,并由处理器1201来调用执行本发明实施例的文本翻译方法;
输入/输出接口1203,用于实现信息输入及输出;
通信接口1204,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;和
总线1205,在设备的各个组件(例如处理器1201、存储器1202、输入/输出接口1203和通信接口1204)之间传输信息;
其中处理器1201、存储器1202、输入/输出接口1203和通信接口1204通过总线1205实现彼此之间在设备内部的通信连接。
本申请实施例还提供了一种存储介质,存储介质为计算机可读存储介质,该存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述文本翻译方法 。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本发明实施例提出的文本翻译方法、文本翻译装置、电子设备、存储介质,通过对源语言句子进行编码,得到第一隐藏层向量;然后根据第一隐藏层向量执行迭代翻译过程,具体的迭代翻译过程包括:对输入信息进行编码操作,得到第二隐藏层向量,再根据掩码位置、第一隐藏层向量和第二隐藏层向量进行预测,得到预测序列;根据第一隐藏层向量和预测序列进行错误定位,得到预测序列中每个预测词的定位判断结果,当定位判断结果为修改时将预测词替换为翻译掩码词,最后基于翻译掩码词、预测序列和第一隐藏层向量生成输入信息,利用翻译掩码词在预测序列中的掩码位置和输入信息重复执行迭代翻译过程,直至满足迭代结束条件,将预测序列作为源语言句子的目标语言翻译句子。本申请实施例针对非自回归文本翻译,利用迭代式解码机制提升翻译性能,不同于一次性生成翻译结果的方式,其通过迭代翻译过程多次微调中间翻译结果的预测序列,准确判断生成的预测序列中词语的正确性,对其进行错误进行定位,根据定位结果替换需要修改的预测词,能够提升推理速度以及翻译结果。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。
Claims (11)
1.一种文本翻译方法,其特征在于,所述方法包括:
获取源语言句子,并对所述源语言句子进行编码,得到第一隐藏层向量;
根据所述第一隐藏层向量执行迭代翻译过程,所述迭代翻译过程包括:
对输入信息进行编码操作,得到第二隐藏层向量,所述输入信息的初始化值为根据所述源语言句子生成的包含文本掩码词的掩码序列;
根据掩码位置、所述第一隐藏层向量和所述第二隐藏层向量进行预测,得到预测序列;所述掩码位置的初始化值为所述文本掩码词在所述掩码序列中的位置;
根据所述第一隐藏层向量和所述预测序列进行错误定位,得到所述预测序列中每个预测词的定位判断结果,以及当所述定位判断结果为修改时,将所述预测词替换为翻译掩码词;
基于所述翻译掩码词、所述预测序列和所述第一隐藏层向量更新所述输入信息,利用所述翻译掩码词在所述预测序列中的位置更新所述掩码位置,重复执行所述迭代翻译过程,直至满足迭代结束条件;
将最后一次迭代翻译过程产生的所述预测序列作为所述源语言句子的目标语言翻译句子。
2.根据权利要求1所述的文本翻译方法,其特征在于,根据所述源语言句子生成包含文本掩码词的掩码序列,包括:
获取所述源语言句子的序列长度;
生成与所述序列长度数量相同的所述文本掩码词;
基于所述文本掩码词构建所述掩码序列。
3.根据权利要求1所述的文本翻译方法,其特征在于,所述方法应用于文本翻译模型,所述文本翻译模型包括错误修改定位模块,所述错误修改定位模块包括错误修改模块,所述错误修改模块包括第一编码器模块;
所述对输入信息进行编码操作,得到第二隐藏层向量,包括:
将所述输入信息输入所述第一编码器模块进行编码,生成所述第二隐藏层向量。
4.根据权利要求3所述的文本翻译方法,其特征在于,所述错误修改模块还包括预测模块,所述预测模块包括第二自注意力层和第一多头注意力层;所述根据掩码位置、所述第一隐藏层向量和所述第二隐藏层向量进行预测,得到预测序列,包括:
将所述第二隐藏层向量输入所述第二自注意力层得到第一预测信息;
将所述第一预测信息和所述第一隐藏层向量输入所述第一多头注意力层得到第二预测信息;
根据所述第二预测信息和所述掩码位置生成每个掩码词的所述预测词,并根据所述预测词生成所述预测序列。
5.根据权利要求4所述的文本翻译方法,其特征在于,所述错误修改定位模块还包括错误定位模块;所述错误定位模块包括第二编码器模块和定位分类模块;
所述根据所述第一隐藏层向量和所述预测序列进行错误定位,得到所述预测序列中每个预测词的定位判断结果,包括:
将所述预测序列和所述第一隐藏层向量输入所述第二编码器模块进行编码,得到第三隐藏层向量;
将所述第三隐藏层向量和所述第一隐藏层向量输入所述定位分类模块进行分类判断,输出每个所述预测词对应的所述定位判断结果,所述定位判断结果包括:修改和保留。
6.根据权利要求5所述的文本翻译方法,其特征在于,所述基于所述翻译掩码词、所述预测序列和所述第一隐藏层向量生成所述输入信息,包括:
根据所述翻译掩码词替换所述预测序列中对应位置的预测词,生成翻译序列;
根据所述翻译序列和所述第一隐藏层向量生成所述输入信息。
7.根据权利要求1所述的文本翻译方法,其特征在于,所述迭代结束条件包括:所述预测序列中每个预测词的定位判断结果都是保留,或,在连续的预设迭代次数内,所述预测序列中每个预测词的定位判断结果都相同。
8.根据权利要求6所述的文本翻译方法,其特征在于,所述文本翻译模型通过预先训练得到,训练过程中目标函数表示为:
9.一种文本翻译装置,其特征在于,包括:
获取并编码模块,用于获取源语言句子,并对所述源语言句子进行编码,得到第一隐藏层向量;
迭代翻译模块,用于根据所述第一隐藏层向量执行迭代翻译过程,所述迭代翻译过程包括:
对输入信息进行编码操作,得到第二隐藏层向量,所述输入信息的初始化值为根据所述源语言句子生成的包含文本掩码词的掩码序列;
根据掩码位置、所述第一隐藏层向量和所述第二隐藏层向量进行预测,得到预测序列;所述掩码位置的初始化值为所述文本掩码词在所述掩码序列中的位置;
根据所述第一隐藏层向量和所述预测序列进行错误定位,得到所述预测序列中每个预测词的定位判断结果,以及当所述定位判断结果为修改时,将所述预测词替换为翻译掩码词;
基于所述翻译掩码词、所述预测序列和所述第一隐藏层向量更新所述输入信息,利用所述翻译掩码词在所述预测序列中的位置更新所述掩码位置,重复执行所述迭代翻译过程,直至满足迭代结束条件;
翻译结果获取模块,用于将最后一次迭代过程产生的所述预测序列作为所述源语言句子的目标语言翻译句子。
10.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至8任一项所述的文本翻译方法。
11.一种计算机可读存储介质,所述存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至8中任一项所述的文本翻译方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310595862.2A CN116362265A (zh) | 2023-05-25 | 2023-05-25 | 文本翻译方法、装置、设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310595862.2A CN116362265A (zh) | 2023-05-25 | 2023-05-25 | 文本翻译方法、装置、设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116362265A true CN116362265A (zh) | 2023-06-30 |
Family
ID=86939417
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310595862.2A Pending CN116362265A (zh) | 2023-05-25 | 2023-05-25 | 文本翻译方法、装置、设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116362265A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116757254A (zh) * | 2023-08-16 | 2023-09-15 | 阿里巴巴(中国)有限公司 | 任务处理方法、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110442878A (zh) * | 2019-06-19 | 2019-11-12 | 腾讯科技(深圳)有限公司 | 翻译方法、机器翻译模型的训练方法、装置及存储介质 |
CN114611505A (zh) * | 2022-03-07 | 2022-06-10 | 云知声智能科技股份有限公司 | 非自回归神经机器翻译解码方法、装置、设备及存储介质 |
US20230119108A1 (en) * | 2021-10-20 | 2023-04-20 | The Toronto-Dominion Bank | Translation model with learned position and corrective loss |
-
2023
- 2023-05-25 CN CN202310595862.2A patent/CN116362265A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110442878A (zh) * | 2019-06-19 | 2019-11-12 | 腾讯科技(深圳)有限公司 | 翻译方法、机器翻译模型的训练方法、装置及存储介质 |
US20230119108A1 (en) * | 2021-10-20 | 2023-04-20 | The Toronto-Dominion Bank | Translation model with learned position and corrective loss |
CN114611505A (zh) * | 2022-03-07 | 2022-06-10 | 云知声智能科技股份有限公司 | 非自回归神经机器翻译解码方法、装置、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
耿昕伟: "迭代式神经机器翻译技术研究", 万方学位论文, pages 69 - 87 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116757254A (zh) * | 2023-08-16 | 2023-09-15 | 阿里巴巴(中国)有限公司 | 任务处理方法、电子设备及存储介质 |
CN116757254B (zh) * | 2023-08-16 | 2023-11-14 | 阿里巴巴(中国)有限公司 | 任务处理方法、电子设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110287479B (zh) | 命名实体识别方法、电子装置及存储介质 | |
US11501182B2 (en) | Method and apparatus for generating model | |
CN115115913A (zh) | 一种数据处理方法、装置、电子设备及存储介质 | |
CN110688854A (zh) | 命名实体识别方法、装置及计算机可读存储介质 | |
CN110162594B (zh) | 文本数据的观点生成方法、装置及电子设备 | |
CN109726397B (zh) | 中文命名实体的标注方法、装置、存储介质和电子设备 | |
CN113705313A (zh) | 文本识别方法、装置、设备及介质 | |
CN114676234A (zh) | 一种模型训练方法及相关设备 | |
CN110991185A (zh) | 一种文章中实体的属性抽取方法及装置 | |
CN110084323A (zh) | 端到端语义解析系统及训练方法 | |
CN114841164A (zh) | 一种实体链接方法、装置、设备及存储介质 | |
CN116362265A (zh) | 文本翻译方法、装置、设备和存储介质 | |
CN116245097A (zh) | 训练实体识别模型的方法、实体识别方法及对应装置 | |
CN115438674A (zh) | 实体数据处理、实体链接方法、装置和计算机设备 | |
CN115640394A (zh) | 文本分类方法、文本分类装置、计算机设备及存储介质 | |
CN115455382A (zh) | 一种二进制函数代码的语义比对方法及装置 | |
CN116258137A (zh) | 文本纠错方法、装置、设备和存储介质 | |
CN114330483A (zh) | 数据处理方法及模型训练方法、装置、设备、存储介质 | |
CN113705207A (zh) | 语法错误识别方法及装置 | |
CN117453880A (zh) | 多模态数据的处理方法、装置、电子设备及存储介质 | |
CN114372454A (zh) | 文本信息抽取方法、模型训练方法、装置及存储介质 | |
CN117132690A (zh) | 一种图像生成方法及相关装置 | |
CN116595023A (zh) | 地址信息的更新方法和装置、电子设备及存储介质 | |
CN114611529B (zh) | 意图识别方法和装置、电子设备及存储介质 | |
CN113177406B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20230630 |
|
RJ01 | Rejection of invention patent application after publication |