文本翻译方法、装置、电子设备及计算机可读存储介质

文档序号:169373 发布日期:2021-10-29 浏览:17次 >En<

阅读说明:本技术 文本翻译方法、装置、电子设备及计算机可读存储介质 (Text translation method and device, electronic equipment and computer readable storage medium ) 是由 梁云龙 孟凡东 徐金安 陈钰枫 于 2021-01-25 设计创作,主要内容包括:本申请实施例提供了一种文本翻译方法、装置、电子设备及计算机可读存储介质,涉及语言处理技术领域。该方法通过获取待翻译文本以及与待翻译文本关联的情绪标签来生成待翻译序列,对待翻译序列进行编码获取情绪预测向量和文本处理向量,然后对情绪预测向量和文本处理向量进行解码,获取目标译文,实现在翻译过程中引入情绪因素,并且在译文中体现对应的情绪,提高了翻译的准确性,使该翻译方法可以适用于更多复杂场合。(The embodiment of the application provides a text translation method and device, electronic equipment and a computer readable storage medium, and relates to the technical field of language processing. The method comprises the steps of generating a sequence to be translated by obtaining a text to be translated and an emotion label associated with the text to be translated, coding the sequence to be translated to obtain an emotion prediction vector and a text processing vector, decoding the emotion prediction vector and the text processing vector to obtain a target translation, introducing emotion factors in the translation process, reflecting corresponding emotion in the translation, improving the translation accuracy and enabling the translation method to be suitable for more complex occasions.)

文本翻译方法、装置、电子设备及计算机可读存储介质

技术领域

本申请涉及语言处理技术领域,具体而言,本申请涉及一种文本翻译方法、装置、电子设备及计算机可读存储介质。

背景技术

自然语言处理是计算机科学领域与人工智能领域中的一个重要方向。将计算机作为语言研究的强大工具,在计算机的支持下对语言信息进行定量化的研究,并提供人与计算机之间能共同使用的语言描写。

随着自然语言处理相关研究的发展,人们一直在探索利用机器进行文本翻译的方法。目前,基于人工神经网络的机器翻译技术逐渐兴起,通常将待翻译语句划分为多个子句,再进行建模,实现对语句的分析和翻译,在此过程中,还可以通过模型中的注意力网络实现对上下文信息的参考。但这种方式,在复杂的应用环境下,翻译结果依然不够准确。

发明内容

本申请的目的旨在至少能解决上述的技术缺陷之一,特别是翻译准确度不高的技术缺陷。

第一方面,提供了一种文本翻译的方法,该方法包括:

获取待翻译文本,获取与待翻译文本关联的至少一个情绪标签;至少一个情绪标签用于预测待翻译文本的情绪;

基于待翻译文本和情绪标签生成待翻译序列;

对待翻译序列进行编码获取情绪预测向量和文本处理向量;

对情绪预测向量和文本处理向量进行解码获取目标译文;目标译文与待翻译文本的情绪相对应。

在第一方面的可选实施例中,基于待翻译文本和情绪标签生成待翻译序列,包括:

获取待翻译文本的关联文本;

将待翻译文本、关联文本和情绪标签拼接生成待翻译序列。

在第一方面的可选实施例中,获取与待翻译文本关联的至少一个情绪标签,包括:

识别关联文本对应的文本情绪;

基于文本情绪生成至少一个情绪标签。

在第一方面的可选实施例中,对待翻译序列进行编码获取情绪预测向量和文本处理向量,包括:

将待翻译序列分割为至少一个单元,并确定每个单元对应的单元向量;

基于单元向量获取情绪预测向量和与待翻译文本对应的文本处理向量。

在第一方面的可选实施例中,基于单元向量获取情绪预测向量和与待翻译文本对应的文本处理向量,包括:

基于单元向量获取与待翻译序列对应的至少一个序列向量;

从序列向量中确定出情绪预测向量以及与待翻译文本对应的至少一个中间向量;

对中间向量进行编码,得到文本处理向量。

在第一方面的可选实施例中,对情绪预测向量和文本处理向量进行解码获取目标译文,包括:

基于情绪预测向量获取含有预设情绪种类的情绪分布向量;

将情绪分布向量转化为情绪特征向量;

对文本处理向量进行解码,得到至少一个解码向量;

将至少一个解码向量分别与情绪特征向量进行拼接,获取目标译文。

在第一方面的可选实施例中,将情绪分布向量转化为情绪特征向量,包括:

基于情绪分布向量确定至少一个预设情绪和预设情绪对应概率;

从预设的情绪表示矩阵中确定出与预设情绪对应的情绪表示向量;

基于预设情绪对应的概率和情绪表示向量获取情绪特征向量。

第二方面,提供了一种文本翻译的装置,该装置包括:

获取模块,用于获取待翻译文本,获取与待翻译文本关联的至少一个情绪标签;至少一个情绪标签用于预测待翻译文本的情绪;

生成模块,用于基于待翻译文本和情绪标签生成待翻译序列;

编码模块,用于对待翻译序列进行编码获取情绪预测向量和文本处理向量;

解码模块,用于对情绪预测向量和文本处理向量进行解码获取目标译文;目标译文与待翻译文本的情绪相对应。

在第二方面的可选实施例中,生成模块在基于待翻译文本和情绪标签生成待翻译序列时,具体用于:

获取待翻译文本的关联文本;

将待翻译文本、关联文本和情绪标签拼接生成待翻译序列。

在第二方面的可选实施例中,获取模块在获取与待翻译文本关联的至少一个情绪标签时,具体用于:

识别关联文本对应的文本情绪;

基于文本情绪生成至少一个情绪标签。

在第二方面的可选实施例中,编码模块在对待翻译序列进行编码获取情绪预测向量和文本处理向量时,具体用于:

将待翻译序列分割为至少一个单元,并确定每个单元对应的单元向量;

基于单元向量获取情绪预测向量和与待翻译文本对应的文本处理向量。

在第二方面的可选实施例中,编码模块在基于单元向量获取情绪预测向量和与待翻译文本对应的文本处理向量时,具体用于:

基于单元向量获取与待翻译序列对应的至少一个序列向量;

从序列向量中确定出情绪预测向量以及与待翻译文本对应的至少一个中间向量;

对中间向量进行编码,得到文本处理向量。

在第二方面的可选实施例中,解码模块在对情绪预测向量和文本处理向量进行解码获取目标译文时,具体用于:

基于情绪预测向量获取含有预设情绪种类的情绪分布向量;

将情绪分布向量转化为情绪特征向量;

对文本处理向量进行解码,得到至少一个解码向量;

将至少一个解码向量分别与情绪特征向量进行拼接,获取目标译文。

在第二方面的可选实施例中,解码模块在将情绪分布向量转化为情绪特征向量时,具体用于:

基于情绪分布向量确定至少一个预设情绪和预设情绪对应概率;

从预设的情绪表示矩阵中确定出与预设情绪对应的情绪表示向量;

基于预设情绪对应的概率和情绪表示向量获取情绪特征向量。

第三方面,提供了一种电子设备,该电子设备包括:

存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现上述任一实施例的文本翻译方法。

第四方面,本发明还提供了一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现上述任一实施例的文本翻译方法。

上述的文本翻译方法,通过获取待翻译文本和与待翻译文本关联的情绪标签来生成待翻译序列,对待翻译序列进行编码获取情绪预测向量和文本处理向量,然后对情绪预测向量和文本处理向量进行解码,获取目标译文,实现在翻译过程中引入情绪因素,并且在译文中体现对应情绪,提高了翻译的准确性,使该翻译方法可以适用于更多复杂场合。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对本申请实施例描述中所需要使用的附图作简单地介绍。

图1为本申请实施例提供的一种文本翻译方法的流程示意图;

图2为本申请实施例提供的一种文本翻译方法中的获取待翻译序列的示意图;

图3为本申请实施例提供的一种文本翻译方法中将待翻译序列通过嵌入层的流程示意图;

图4为本申请实施例提供的一种文本翻译方法中的编码器子结构示意图;

图5为本申请实施例提供的一种文本翻译方法中的编码器子结构示意图;

图6为本申请实施例提供的一种文本翻译方法中的通过编码器获取至少一个序列向量的流程示意图;

图7为本申请实施例提供的一种文本翻译方法中的从序列向量中确定情绪预测向量和中间向量的流程示意图;

图8为本申请实施例提供的一种文本翻译方法中的通过编码器对单元向量进行编码的流程示意图;

图9为本申请实施例提供的一种文本翻译方法中的情绪分布向量示意图;

图10为本申请实施例提供的一种文本翻译方法中的解码器子结构示意图;

图11为本申请实施例提供的一种文本翻译方法中的解码器子结构示意图;

图12为本申请实施例提供的一种文本翻译方法中的对单元向量进行编码和解码的流程示意图;

图13为本申请实施例提供的一种文本翻译方法中的对单元向量进行编码和解码的流程示意图;

图14为本申请实施例提供的一种文本翻译方法中的获取情绪特征向量的流程示意图;

图15为本申请实施例提供的一种文本翻译方法的流程示意图;

图16为本申请实施例提供的一种文本翻译装置的结构示意图;

图17为本申请实施例提供的一种文本翻译的电子设备的结构示意图。

具体实施方式

下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本发明的限制。

本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

自然语言处理(Natural Language Processing,NLP)是指利用人类交流所使用的自然语言与机器进行交互通讯的技术。通过人为的对自然语言的处理,使得计算机对其能够可读并理解。而自然语言处理相关研究的起点与人类对机器翻译的探索密切相关,想要实现通过机器翻译自然语言文本,就要探索能使计算机理解自然语言语义并且以自然语言表达给定的含义的方法。

随着人工智能技术的发展,基于神经网络的机器翻译方法逐渐超越了曾经的规则翻译法和统计翻译法,成为当今主流技术方案。神经网络机器翻译方法通过编码器和解码器结构,实现对变长输入句子的建模。其中,编码器实现对源语言句子的“理解”,形成一个特定维度的浮点数向量,之后解码器根据此向量逐字生成目标语言的翻译结果。该方法解决了传统方法中的许多问题,例如调序模型的长度限制等,并且提升了流畅性,但针对复杂的应用场景时,仍然会出现翻译准确性不高的情况,例如在对话翻译场景中不能很好地考虑到情绪因素,翻译后得到的译文难以体现出对应的情绪。

本申请提供的文本翻译方法、装置、电子设备和计算机可读存储介质,旨在解决现有技术的如上技术问题。

下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

本申请实施例中提供的文本翻译的方法,该方法可以应用于服务器,也可以应用于终端。

本技术领域技术人员可以理解,这里所使用的“终端”可以是手机、平板电脑、PDA(Personal Digital Assistant,个人数字助理)、MID(Mobile Internet Device,移动互联网设备)等;“服务器”可以用独立的服务器或者是多个服务器组成的服务器集群来实现。

本申请实施例中提供了一种文本翻译的方法,该方法可以应用于服务器,也可以应用于终端,如图1所示,该方法可以包括:

步骤S101,获取待翻译文本,获取与待翻译文本关联的至少一个情绪标签;至少一个情绪标签用于预测待翻译文本的情绪。

在本申请实施例中,待翻译文本可以是一句话、一段话、一篇文章等,还可以是对话过程中的语句。获取待翻译文本的方式可以是用户输入文本,可以是通过计算机自动抓取符合预设条件的文本,还可以是实时对话中经过语音识别后生成的对话文本。

获取与待翻译文本关联的至少一个情绪标签可以是先获取待翻译文本的上下文,再确定上下文对应的至少一个情绪标签,可以将这些情绪标签作为与待翻译文本关联的情绪标签,还可以通过确定待翻译文本的语言发生环境,基于环境种类确定出可能与待翻译文本匹配的情绪标签。

可以用待翻译文本关联的情绪标签预测待翻译文本对应的情绪,为后续在翻译过程中引入情绪因素做准备。

具体的,情绪标签可以是文字形式,例如“开心”、“惊讶”、“愤怒”等;可以是数字或者符号,再将数字或者符号对应于不同的情绪;还可以用向量的形式来表示不同情绪。

在一个示例中,待翻译文本没有上下文或者其他可以用于获取关联情绪标签的信息时,可以设置一个初始化后的待预测情绪标签,用来存放经过编码和解码过程后生成的情绪特征向量,可以通过该情绪特征向量来辅助获取更贴合对应情绪的译文。

步骤S102,基于待翻译文本和情绪标签生成待翻译序列。

在本申请实施例中,可以将待翻译文本和情绪标签进行拼接,生成待翻译序列,便于后续对序列整体进行编码和解码。

在一个示例中,待翻译文本没有上下文或者其他可以用于获取关联情绪标签的信息时,可以设置一个初始化后的待预测情绪标签,拼接在待翻译文本首端。

步骤S103,对待翻译序列进行编码获取情绪预测向量和文本处理向量。

在本申请实施例中,待翻译序列可以包括待翻译文本和待翻译文本关联的情绪标签,可以对待翻译序列进行编码,即可以将待翻译序列输入预设的编码器中,将待翻译序列转化为对应的序列向量,然后可以基于序列向量获取情绪预测向量和文本处理向量。

其中,情绪预测向量可以用于表示待翻译文本对应的情绪预测结果,可以用于在解码过程中引入情绪因素;文本处理向量可以包括在待翻译序列中待翻译文本对应的部分经过段编码后得到的向量。

步骤S104,对情绪预测向量和文本处理向量进行解码获取目标译文;目标译文与待翻译文本的情绪相对应。

在本申请实施例中,可以将情绪预测向量转化为情绪特征向量,可以将文本处理向量进行解码得到解码向量,然后可以将情绪特征向量和解码向量进行特征融合,再通过Softmax层,获取目标译文,目标译文融入了待翻译文本对应的情绪。

本申请中的文本翻译方法,通过获取待翻译文本和与待翻译文本关联的情绪标签来生成待翻译序列,对待翻译序列进行编码获取情绪预测向量和文本处理向量,然后对情绪预测向量和文本处理向量进行解码,获取目标译文,实现在翻译过程中引入情绪因素,并且在译文中体现对应情绪,提高了翻译的准确性,使该翻译方法可以适用于更多复杂场合。

在本申请实施例中,基于待翻译文本和情绪标签生成待翻译序列,可以包括如下步骤:

(1)获取待翻译文本的关联文本;

(2)将待翻译文本、关联文本和情绪标签拼接生成待翻译序列。

其中,待翻译文本的关联文本可以是与待翻译文本有关联关系的文本信息,关联关系可以是上下文关系,还可以是相同文章主题或者相同描述场景等关联关系,例如:当待翻译文本是文章中的某一句或者段落时,关联文本可以是该句或者该段落的前文信息;当待翻译文本是每个场景的对话时,待翻译文本可以为某个角色的发言内容,则关联文本可以是在该发言前的历史对话信息,该历史对话信息可以来自本角色,也可以来自其他参与对话的角色;当翻译文本是在描述某个具体主题时,例如求婚场景时,关联文本可以是同样描述求婚场景的文本信息。

可以将待翻译文本、关联文本和至少一个情绪标签拼接成待翻译序列。与待翻译文本关联的情绪标签可以是指关联文本对应的情绪标签。

在本申请实施例中,可以将待翻译文本的前文信息或者历史对话信息作为待翻译文本的关联文本,与待翻译文本关联的情绪标签可以是指与关联文本对应的情绪标签。为了进一步说明,可以将情绪标签分为已知标签和预测标签,已知标签可以基于关联文本获取,预测标签可以进行初始化后用来存放待翻译文本对应情绪的预测结果,具体的,可以用已知标签和关联文本中包含的特征信息来对预测标签的内容进行预测。

具体的,拼接方式可以是将关联文本置于待翻译文本前面,可以将预测标签置于文本的首端,可以将至少一个已知标签插入与其对应的关联文本中。

在一个示例中,可以在关联文本和待翻译文本组成的整体文本前加一个CLS(classification,分类)标志,可以将该CLS标志作为情绪标签中的预测标签,用来存放待翻译文本对应的情绪预测结果。

其中,CLS标签可以作为无明显语义信息的符号,实现更“公平”地融合文本中各个词的语义信息的效果,从而更好地通过全局的特征信息来对待翻译文本的情绪进行预测。

在一个示例中,如公式(1)所示,CLS标签置于文本首端,用于存放对应于待翻译文本的情绪预测结果;SEP标签置于句与句之间,用来分割文本中的句子,分割依据可以基于标点符号;Xn表示待翻译文本,X0~Xn-1表示关联文本,表示第n-1个关联文本(Xn-1)对应的情绪标签。

在一个示例中,如图2所示,“初次见面”可以为待翻译文本,“你好”可以为关联文本,CLS标签放置于文本首端,用于存放关于“初次见面”对应情绪的预测结果,SEP标志放置于“你好”和“初次见面之间”,用于分句。“开心”则可以是关于“初次见面”对应的情绪标签,即关联文本对应的情绪标签中的已知标签。

在本申请实施例中,进行待翻译文本、关联文本和至少一个情绪标签拼接时,用于拼接的情绪标签可以是文字形式,例如“开心”、“惊讶”、“愤怒”等;可以是数字或者符号,再将数字或者符号对应于不同的情绪;还可以用向量的形式来表示不同情绪。

在本申请实施例中,获取与待翻译文本关联的至少一个情绪标签,可以包括:识别关联文本对应的文本情绪;基于文本情绪生成至少一个情绪标签。其中,关联文本对应的情绪标签可以是已知的,也可以是经过用于识别文本情绪的神经网络模型识别生成的。

在本申请实施例中,对待翻译序列进行编码获取情绪预测向量和文本处理向量,可以包括如下步骤:

(1)将待翻译序列分割为至少一个单元,并确定每个单元对应的单元向量。

其中,可以基于词法分析结果将待翻译序列分割为至少一个单元(token),该单元可以是字,也可以是词,可以再对每个单元进行编码,将编码后得到的稀疏向量映射成低维的字向量或词向量,即确定出每个单元对应的单元向量。

在本申请实施例中,将待翻译序列分割为至少一个单元,并确定每个单元对应的单元向量可以通过深度学习领域中的嵌入(Embedding)层来实现,将大型稀疏向量转换为保留语义关系的低维空间,减少资源占用,并且保留词之间的内在语义关系,并且这个关系会在训练过程中变得相对成熟。

具体的,可以用不同功能的嵌入层叠加使用,例如,可以包括以下嵌入层中的一种或多种:词嵌入层(word embedding),用于分词并用较短的向量表示该词;位置嵌入层(positional embedding),用于给每个单元加上位置信息,可以通过训练学习或者公式计算获取;轮次嵌入层(turn embedding),用于在文本分层次或者文本为对话内容有多个对话轮次时,分割轮次;角色嵌入层(role embedding),用于在文本中有多个角色时,基于角色归属分割文本,例如小说文本中将不同角色做的动作内容进行分割,或者对话文本中,基于不同角色的发言,对文本进行分割。

在一个示例中,如图3所示,应用于对话翻译场景时,嵌入层可以由四层叠加组成:词嵌入层(word embedding)、位置嵌入层(positional embedding)、轮次嵌入层(turnembedding)、角色嵌入层(role embedding)。其中,词嵌入层可以用于对“关联文本1”、“情绪标签1”、“关联文本2”、“情绪标签2”和“待翻译文本”进行分词得到至少一个单元,并且用较低维的向量表示该单元;位置嵌入层可以用于对每个单元加上位置信息,对单元进行排序;轮次嵌入层可以用于区分每个轮次,假设在对话场景中,“关联文本1”、“关联文本2”属于第一轮次,即第一轮对话内容,“待翻译文本”属于第二轮次,则可以在“关联文本2”与“待翻译文本”之间嵌入轮次标识;角色嵌入层可以用于基于文本角色属性来进行分割,例如在对话场景中,“关联文本1”、“关联文本2”是角色A的发言,“待翻译文本”为角色B的发言,则可以在“关联文本2”与“待翻译文本”之间嵌入角色标识。

可以将四层不同作用的嵌入层的输出进行相加处理。

在本申请实施例中,Embedding层的权重可以用预训练模型代替,若由预训练模型代替Embedding层,可以不需要事先训练权重参数。例如,可以采用BERT(BidirectionalEncoder Representations from Transformers)预训练模型作为Embedding层。

其中,BERT模型适合句子和段落级别的任务,同时在处理高层语义信息提取任务时有较好的性能,其优点是能够获取上下文相关的双向特征表示。基于单元向量获取情绪预测向量和与待翻译文本对应的文本处理向量。

(2)基于单元向量获取情绪预测向量和与待翻译文本对应的文本处理向量。

在本申请实施例中,可以对至少一个单元向量进行编码,从编码结果中确定情绪预测向量和待翻译文本对应的文本处理向量。

其中,可以通过输入编码器进行编码,编码器可以包含注意力(Attention)机制,在产生输出的同时,产生一个“注意力”范围表示接下来输出时需要关注输入序列的重点部分,根据关注的区域来产生下一个输出。

情绪预测向量可以用于表示经过编码后对待翻译文本对应情绪的预测结果,文本处理向量可以是指对待翻译序列分割成的单元进行编码后得到的序列向量中对应于待翻译文本的部分。情绪预测向量、文本处理向量和序列向量之间的关系将在后续内容中进行说明。

在本申请实施例中,基于单元向量获取情绪预测向量和与待翻译文本对应的文本处理向量,可以包括如下步骤:

(1)基于单元向量获取与待翻译序列对应的至少一个序列向量。

在本申请实施例中,可以对单元向量用编码器进行编码,得到与待翻译序列对应的至少一个序列向量,序列向量与单元向量可以一一对应。

其中,编码器可以包括多层子结构,每层子结构可以包括自注意力层和前馈神经网络层,如图4所示,X1、X2和X3可以表示三个单元向量,先输入自注意力层,得到处理后的Z1、Z2和Z3,再将Z1、Z2和Z3输入前馈神经网络,完成单层子结构对单元向量的编码过程。

在本申请实施例中,自注意力层可以是自注意力机制(Self-Attention),随着输入待处理序列的每个单元,自注意力会关注整个输入序列的所有单元,将所有相关单元的理解融入正在处理的单元中,对编码过程进行辅助。其中自注意力机制可以是单头注意力机制,也可以是多头注意力机制(Multi-Head Attention)。

前馈神经网络(FFN,Feed-Forward Networks)可以是单向多层结构,其中每一层包含若干个神经元,各神经元可以接收前一层神经元的信号,并产生输出到下一层。具体的,前馈神经网络可以采用全连接层实现,全连接层可以是一个两层的神经网络组成,先进行线性变换,再进行ReLU非线性变换,最后再进行线性变换。

归一化(Normalize)的方法包括多种,可以是Layer Normalization(LN,横向规范化),可以是Batch Normalization(BN,纵向规范化),还可以是Weight Normalization(WN,参数规范化)。

在一个示例中,使用多头注意力机制可以增加模型捕获不同位置信息的能力,可以和更多位置上的词关联起来;在进行映射时不共享权值,映射到不同的子空间,最后拼接的向量涵盖的信息会更广。增加多头注意力机制的头数,可以提高模型的长距离信息捕捉能力。

在一个示例中,归一化采用Layer Normalization方法,综合考虑一层所有维度的输入,计算该层的平均输入值和输入方差,然后用同一个规范化操作来转换各个维度的输入,不需要保存均值和方差,可以节省额外的存储空间。

在本申请实施例中,前馈神经网络中的全连接层可以替换为卷积层。

在本申请实施例中,编码器子结构中自注意力层与前馈神经网络之间可以加入残差连接,进行求和与归一化,同时在前馈神经网络输出前也进行残差连接,进行求和与归一化后再输出,此时子结构示意图可以如图5所示。其中,X1和X2可以是输入自注意力层的两个单元,Z1和Z2可以是经过自注意力层处理后,X1和X2对应的输出,然后将Z1和Z2变换为矩阵形式,与残差块进行求和,再归一化,得到Z1’和Z2’,可以将Z1’和Z2’输入前馈神经网络,以同样的方法与残差块进行求和再归一化,完成单层子结构对单元向量的编码过程。

在本申请实施例中,加入残差块可以防止在深度神经网络训练中发生退化,缓解了在深度神经网络中增加深度带来的梯度消失问题,残差块的获取可以通过残差网络(Residual Network,ResNet)实现。

在本申请实施例中,获取与待翻译序列对应的至少一个序列向量的流程可以如图6所示,将待翻译序列经过嵌入层层分割为至少一个单元,并得到每个单元对应的单元向量X1、X2、X3、X4和X5,将单元向量输入编码器,编码器包括至少一层子结构,子结构中包括自注意力层和前馈神经网络,编码器对单元向量进行编码后得到对应的序列向量Z1、Z2、Z3、Z4和Z5。

(2)从序列向量中确定出情绪预测向量以及与待翻译文本对应的至少一个中间向量。

在本申请实施例中,序列向量可以与单元向量对应,单元向量可以与待翻译序列中的情绪标签和待翻译文本相对应,情绪标签可以包括已知标签和预测标签。从序列向量中确定情绪预测向量时,可以先确定对应于预测标签的单元向量,再确定对应于该单元向量的序列向量。同理,在从序列向量中确定中间向量时,可以先确定在对应于待翻译文本的至少一个单元向量,再确定对应于这些单元向量的序列向量,该流程示意图可以如图7所示。

其中,待翻译序列中的斜纹部分可以设为情绪标签中的预测标签,用于存放待翻译文本的情绪预测结果,空白部分可以设为关联文本,横纹部分可以设为关联文本对应的已知标签,黑色部分可以设为待翻译文本。可以将待翻译序列输入嵌入层(Embedding),得到单元向量X1、X2、X3、X4、X5、X6和X7,X1为待翻译序列中预测标签对应的单元向量,X6和X7为待翻译序列中待翻译文本部分对应的单元向量。将多个单元向量输入编码器进行编码,得到多个序列向量Z1、Z2、Z3、Z4、Z5、Z6和Z7。序列向量Z1对应于待翻译序列中的预测标签,可以设Z1为情绪预测向量Z1’,序列向量Z6和Z7对应于待翻译序列中的待翻译文本,可以分别设Z6和Z7为中间向量Z6’和Z7’。

(3)对中间向量进行编码,得到文本处理向量。

在本申请实施例中,可以通过编码器将中间向量进行编码,得到文本处理向量。编码器可以分为底层子模型和顶层子模型,分别包括至少一层子结构,每层子结构可以包括自注意力层、前馈神经网络、残差连接。

在本申请实施例中,可以通过掩码(Mask)操作针对序列向量中的中间向量再次编码。通过掩码可以对某些值进行掩盖,使其在参数更新时不产生效果,具体的,在本申请中可以将序列向量中间向量以外的部分进行掩盖,使其不进入下一个编码阶段。

在一个示例中,如图8所示,编码器可以包括六层子结构,可以将第一层子结构作为底层子模型(Bottom Block),第二层至第五层子结构作为顶层子模型(Top Block)。可以将单元向量输入底层子模型,获取序列向量,从序列向量中确定情绪预测向量和中间向量,再将中间向量输入顶层子模型进行编码,得到文本处理向量。

如图8所示,待翻译序列中的斜纹部分可以设为情绪标签中的预测标签,用于存放待翻译文本的情绪预测结果,空白部分可以设为关联文本,横纹部分可以设为关联文本对应的已知标签,深色部分可以设为待翻译文本。可以将待翻译序列输入Embedding层,得到单元向量X1、X2、X3、X4、X5、X6和X7,X1为待翻译序列中预测标签对应的单元向量,X6和X7为待翻译序列中待翻译文本部分对应的单元向量。

可以将多个单元向量输入编码器的底层子模型进行编码,得到多个序列向量Z1、Z2、Z3、Z4、Z5、Z6和Z7。序列向量Z1对应于待翻译序列中的预测标签,可以设Z1为情绪预测向量Z1’,序列向量Z6和Z7对应于待翻译序列中的待翻译文本,可以分别设Z6和Z7为中间向量Z6’和Z7’。将中间向量Z6’和Z7’输入顶层子模型进行编码,得到对应的文本处理向量Y6和Y7。

在本申请实施例中,对情绪预测向量和文本处理向量进行解码获取目标译文,可以包括如下步骤:

(1)基于情绪预测向量获取含有预设情绪种类的情绪分布向量。

在本申请实施例中,可以先将情绪预测向量转化为固定的向量,转化方法可以是与训练中学习所得的参数相乘,然后可以通过Softmax函数得到含有预设种类的情绪分布向量。其中,待翻译文本可能对应于多种情绪,所以情绪分布向量中也可以包含预设情绪种类中的多种情绪。

情绪分布向量可以显示出所有预设种类的情绪以及对应的概率,某种情绪的概率为0时,将该情绪对应的元素设置为0;也可以只表示概率不为0的情绪概率,利用索引进行后续查表操作。

在一个示例中,情绪分布向量的示意图可以如图9所示,如图中方法一,可以显示出所有预设种类的情绪以及对应的概率,其中,开心的概率为0.1,惊讶的概率为0.2,难过的概率为0,害羞的概率为0.3,激动的概率为0.4,后悔的概率为0;如图中方法二所示,也可以只表示概率不为0的情绪概率。

(2)将情绪分布向量转化为情绪特征向量。

在本申请实施例中,可以将情绪分布向量转化为融合多种情绪特征的情绪特征向量,以便后续进行特征拼接,辅助获取目标译文。

(3)对文本处理向量进行解码,得到至少一个解码向量。

在本申请实施例中,对文本处理向量进行解码用到的技术可以包括:掩码、自注意力机制、反馈神经网络等。

在本申请实施例中,可以通过解码器对文本处理向量进行解码得到解码向量,解码器可以由多层解码子结构组成,每层解码子结构可以如图10所示,包括:含有掩码的多头注意力机制(Masked Multi-Head Attention)、多头注意力机制(Multi-Head Attention)和反馈神经网络(FFN,Feed-Forward Networks)。

在本申请实施例中,使用多头注意力机制可以增加模型捕获不同位置信息的能力,可以和更多位置上的词关联起来;在进行映射时不共享权值,映射到不同的子空间,最后拼接的向量涵盖的信息会更广。增加多头注意力机制的头数,可以提高模型的长距离信息捕捉能力。

其中,多头注意力机制可以替换为单头注意力机制;前馈神经网络层、包含掩码的多头注意力机制层以及多头注意力机制层之间的位置顺序可以根据应用需求进行调整,在本申请中不做限制,图10中的位置顺序仅为示例作用。

在本申请实施例中,含有掩码的多头注意力机制(Masked Multi-HeadAttention)中的掩码可以包括覆盖掩码(padding mask)和顺序掩码(sequence mask)。其中,覆盖掩码可以用于调整注意力范围,当输入序列进行对齐时,会产生无意义的填充内容,此时可以利用覆盖掩码避免注意力机制将注意力放在这些部分。具体的,可以将无意义填充位置的值设为负无穷,经过Softmax函数时,这些位置的概率就会接近于0。顺序掩码可以用于使编码器看不见未来的信息,保留模型自回归特性,即在时刻i的时候,解码器的输出只能依赖于i时刻之前的输出,不能依赖i时刻之后的输出,具体的,可以产生一个上三角矩阵,上三角的值全为0,将该矩阵作用于每个序列上。

在本申请实施例中,解码器子结构中前馈神经网络层、包含掩码的多头注意力机制层以及多头注意力机制层之间可以加入残差连接,进行求和与归一化,同时在前馈神经网络输出前也进行残差连接,进行求和与归一化后再输出,结构示意图可以如图11所示。

在本申请实施例中,编码器输出的文本处理向量可以转化为一个包含向量K(键向量)和向量V(值向量)的注意力向量集,输入解码器子结构的自注意力层中,用于帮助解码器确定合适的注意力范围。

底层解码器子结构的输入可以是上一时刻模型的输出,即在对当前待解码的文本处理向量进行解码时,在底层解码器子结构输入上一时间步输出的历史翻译结果。对于输入的历史翻译结果,可以经过与设置在解码器前相同功能的Embedding层后,再输入解码器。

(4)将至少一个解码向量分别与情绪特征向量进行拼接,获取目标译文。

在本申请实施例中,可以将解码向量与情绪特征向量进行拼接后通过Softmax层,将分数变成概率,获取最高概率对应的索引,确定所索引对应的单词,作为当前时间步的输出。可以设置一个终止符号,当解码器输出终止符号时表示解码过程已经完成,得到待翻译文本对应的目标译文,该目标译文内引入了情绪因素。

在一个示例中,如图12所示,编码器内部可以分为顶层子模型和底层子模型,其中,可以从底层子模型输出的至少一个单元向量中确定出情绪预测向量Y1,可以对情绪预测向量Y1进行变换,得到情绪特征向量。可以对顶层子模型输出的文本向量Y2和Y3进行变换,得到包含向量K(键向量)和向量V(值向量)的注意力向量集,输入解码器子结构的自注意力层中,用于帮助解码器确定合适的注意力范围。见图12,选择性地将解码器中底层子结构的内部组成画出,如图所示,包含向量K(键向量)和向量V(值向量)的注意力向量集可以输入至每层编码器子结构中的多头注意力机制层(Multi-Head Attention)中。

当编码器完成对当前进行操作的文本处理向量的解码流程,输出解码向量,可以将解码向量与情绪特征向量进行拼接后通过Softmax层,将分数变成概率,获取最高概率对应的索引,确定所索引对应的单词,作为当前时间步的输出。

在一个示例中,如图13所示,底层解码器子结构的输入可以是上一时刻模型的输出,例如在本示例中,上一时刻的模型输出为“你”,则可以将“你”通过Embedding层后作为底层解码器子结构的输入,获取当前时刻输出的解码向量,再将解码向量与情绪特征向量进行拼接,再通过softmax层,得到当前时刻的模型输出“你好”。

在一个示例中,对第一个文本处理向量进行解码时,解码器底层子结构无输入,模型输出“汤姆”;解码器底层子结构输入“汤姆”,模型输出“汤姆追逐”;解码器底层子结构输入“汤姆追逐”,模型输出“汤姆追逐杰瑞”;解码器底层子结构输入“汤姆追逐杰瑞”,识别出终止符号,模型输出“汤姆追逐杰瑞”,结束翻译流程。

在本申请实施例中,将情绪分布向量转化为情绪特征向量,可以包括如下步骤:

(1)从预设的情绪表示矩阵中确定出与预设情绪对应的情绪表示向量;

(2)基于预设情绪对应的概率和情绪表示向量获取情绪特征向量。

其中,情绪表示矩阵可以是预设的,也可以通过模型训练过程学习获得,预设情绪可以指情绪分布向量中的包含的情绪,在情绪表示矩阵中确定出预设情绪对应的情绪表示向量,可以将每种预设情绪的概率乘以对应的情绪表示向量,再将所有相乘结果进行求和,作为情绪特征向量。

在一个示例中,如图14所示,情绪分布向量可以显示出所有预设种类的情绪以及对应的概率,某种情绪的概率为0时,将该情绪对应的元素设置为0。具体的,图中有三种预设情绪,分别为“开心”、“难过”和“惊讶”,概率分别是“0.6”、“0”和“0.4”,右侧为情绪表示矩阵,大小可以是3X100,通过训练学习得到。在计算情绪特征向量时,可以将情绪分布向量乘以情绪表示矩阵,得到情绪特征向量。

在本申请实施例中,情绪分布向量包含了多种情绪的概率,基于情绪分布向量和情绪表述矩阵获取的情绪特征向量包含了多种情绪的特征参数,使情绪特征更加贴合现实中语言情绪的多样性,提高了翻译的准确性。

在本申请实施例中,可以通过对Transformer模型进行改良,在翻译过程中引入情绪因素,来完成对待翻译文本的翻译操作。其中,Transformer模型是由谷歌推出可以应用于机器翻译任务的模型,可以利用自注意力机制实现快速并行,并且有较好的准确率。

其中,改良后的Transformer模型可以包括嵌入层、情感极性预测模块、编码器和解码器。编码器可以包括底层子模型和顶层子模型,底层子模型和顶层子模型分别包括多层编码器子结构,每层编码器子结构可以包括自注意力机制层、残差连接和归一化层、前馈神经网络层。解码器可以包括多层解码器子结构,每层解码器子结构可以包括含有掩码的多头注意力机制层、多头注意力机制层、前馈神经网络层和残差连接与归一化层。

其中,使用多头注意力机制可以增加模型捕获不同位置信息的能力,可以和更多位置上的词关联起来;在进行映射时不共享权值,映射到不同的子空间,最后拼接的向量涵盖的信息会更广。增加多头注意力机制的头数,可以提高模型的长距离信息捕捉能力。

具体的,可以先将待翻译序列输入嵌入层,将待翻译序列分割为多个单元,并确定每个单元对应的单元向量,可以将单元向量输入模型中的编码中,获取情绪预测向量、文本处理向量。

可以将情绪预测向量通过情感极性预测模块来转化为情绪分布向量。具体的,可以先将情绪预测向量转换为固定长度的向量,然后通过Softmax函数,得到情绪分布向量。

可以通过解码器对文本处理向量进行解码,具体的,文本处理向量将用于帮助解码器每层子结构中的多头注意力机制层确定注意力范围,进行多头交互注意力处理。

当模型存在上一个时间步的输出,则翻译当前单元对应的译文时,可以将上一个时间步的输出经过嵌入层转化为向量后,从最底层编码器子结构输入解码器,得到对应的解码向量,再将解码向量与情绪特征向量进行拼接,再通过softmax层,得到当前时刻的模型输出。

为了更清楚阐释本申请的文本翻译方法,以下将结合具体示例对文本翻译方法进行进一步说明。

在一个示例中,本申请提供文本翻译方法,如图15,包括如下步骤:

步骤S1501,获取待翻译文本和关联文本;获取至少一个情绪标签;情绪标签可以用于预测待翻译文本的情绪;

步骤S1502,将待翻译文本、关联文本和情绪标签拼接生成待翻译序列;

步骤S1503,将待翻译序列分割为至少一个单元,并确定每个单元对应的单元向量;具体的,可以将待翻译序列输入多种功能的嵌入层来获取至少一个单元向量;

步骤S1504,基于单元向量获取待翻译序列对应的至少一个序列向量;具体的,可以将单元向量输入编码器的底层子模型中,得到至少一个序列向量;

步骤S1505,从序列向量中确定出情绪预测向量以及待翻译文本对应的至少一个中间向量;

步骤S1506,对中间向量进行编码获取至少一个文本处理向量;具体的,可以将中间向量输入编码器中的顶层子模型,进行再次编码,得到至少一个文本处理向量;

步骤S1507,基于情绪预测向量获取含有预设情绪种类的情绪分布向量;

步骤S1508,获取情绪表示矩阵,从情绪表示矩阵中确定预设情绪对应的情绪表示向量;

步骤S1509,基于预设情绪对应的概率和情绪表示向量获取情绪特征向量;

步骤S1510,对文本处理向量进行解码,得到至少一个解码向量;

步骤S1511,将至少一个解码向量分别与情绪特征向量进行拼接,获取目标译文。

本申请实施例提供了一种文本翻译的装置,如图16所示,该图像处理装置160可以包括:获取模块1601、生成模块1602、编码模块1603以及解码模块1604,其中,

获取模块1601,用于获取待翻译文本,获取与待翻译文本关联的至少一个情绪标签;所述至少一个情绪标签用于预测所述待翻译文本的情绪;

生成模块1602,用于基于所述待翻译文本和所述情绪标签生成所述待翻译序列;

编码模块1603,用于对所述待翻译序列进行编码获取情绪预测向量和文本处理向量;

解码模块1604,用于对所述情绪预测向量和所述文本处理向量进行解码获取目标译文;所述目标译文与所述待翻译文本的情绪相对应。

上述的文本翻译装置,通过获取待翻译文本和与待翻译文本关联的情绪标签来生成待翻译序列,对待翻译序列进行编码获取情绪预测向量和文本处理向量,然后对情绪预测向量和文本处理向量进行解码,获取目标译文,实现在翻译过程中引入情绪因素,并且在译文中体现对应情绪,提高了翻译的准确性,使该翻译方法可以适用于更多复杂场合。

本申请实施例中,生成模块1602在基于待翻译文本和情绪标签生成待翻译序列时,具体用于:

获取待翻译文本的关联文本;

将待翻译文本、关联文本和情绪标签拼接生成待翻译序列。

本申请实施例中,获取模块1601在获取与待翻译文本关联的至少一个情绪标签时,具体用于:

识别关联文本对应的文本情绪;

基于文本情绪生成至少一个情绪标签。

本申请实施例中,编码模块1603在对待翻译序列进行编码获取情绪预测向量和文本处理向量时,具体用于:

将待翻译序列分割为至少一个单元,并确定每个单元对应的单元向量;

基于单元向量获取情绪预测向量和与待翻译文本对应的文本处理向量。

本申请实施例中,编码模块1603在基于单元向量获取情绪预测向量和与待翻译文本对应的文本处理向量时,具体用于:

基于单元向量获取与待翻译序列对应的至少一个序列向量;

从序列向量中确定出情绪预测向量以及与待翻译文本对应的至少一个中间向量;

对中间向量进行编码,得到文本处理向量。

本申请实施例中,解码模块1604在对情绪预测向量和文本处理向量进行解码获取目标译文时,具体用于:

基于情绪预测向量获取含有预设情绪种类的情绪分布向量;

将情绪分布向量转化为情绪特征向量;

对文本处理向量进行解码,得到至少一个解码向量;

将至少一个解码向量分别与情绪特征向量进行拼接,获取目标译文。

本申请实施例中,解码模块1604在将情绪分布向量转化为情绪特征向量时,具体用于:

基于情绪分布向量确定至少一个预设情绪和预设情绪对应概率;

从预设的情绪表示矩阵中确定出与预设情绪对应的情绪表示向量;

基于预设情绪对应的概率和情绪表示向量获取情绪特征向量。

在一个可选实施例中提供了一种电子设备,如图17所示,图17所示的电子设备4000包括:处理器4001和存储器4003。其中,处理器4001和存储器4003相连,如通过总线4002相连。可选地,电子设备4000还可以包括收发器4004。需要说明的是,实际应用中收发器4004不限于一个,该电子设备4000的结构并不构成对本申请实施例的限定。

处理器4001可以是CPU(Central Processing Unit,中央处理器),通用处理器,DSP(Digital Signal Processor,数据信号处理器),ASIC(Application SpecificIntegrated Circuit,专用集成电路),FPGA(Field Programmable Gate Array,现场可编程门阵列)或者其他可编程逻辑器件、晶体管逻辑器件、硬件部件或者其任意组合。其可以实现或执行结合本申请公开内容所描述的各种示例性的逻辑方框,模块和电路。处理器4001也可以是实现计算功能的组合,例如包含一个或多个微处理器组合,DSP和微处理器的组合等。

总线4002可包括一通路,在上述组件之间传送信息。总线4002可以是PCI(Peripheral Component Interconnect,外设部件互连标准)总线或EISA(ExtendedIndustry Standard Architecture,扩展工业标准结构)总线等。总线4002可以分为地址总线、数据总线、控制总线等。为便于表示,图17中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器4003可以是ROM(Read Only Memory,只读存储器)或可存储静态信息和指令的其他类型的静态存储设备,RAM(Random Access Memory,随机存取存储器)或者可存储信息和指令的其他类型的动态存储设备,也可以是EEPROM(Electrically ErasableProgrammable Read Only Memory,电可擦可编程只读存储器)、CD-ROM(Compact DiscRead Only Memory,只读光盘)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。

存储器4003用于存储执行本申请方案的应用程序代码,并由处理器4001来控制执行。处理器4001用于执行存储器4003中存储的应用程序代码,以实现前述方法实施例所示的内容。

其中,电子设备包括但不限于诸如移动电话、笔记本电脑、PAD等等移动终端以及诸如数字TV、台式计算机等等固定终端。

本申请实施例提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,当其在计算机上运行时,使得计算机可以执行前述方法实施例中相应内容。与现有技术相比,可以实现在翻译过程中引入情绪因素,并且在译文中体现对应情绪,提高了翻译的准确性,使该翻译方法可以适用于更多复杂场合。

应该理解的是,虽然附图的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,附图的流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

以上所述仅是本发明的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

28页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:翻译方法和装置、存储介质及电子设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!