CN109858044B - 语言处理方法和装置、语言处理系统的训练方法和装置 - Google Patents
语言处理方法和装置、语言处理系统的训练方法和装置 Download PDFInfo
- Publication number
- CN109858044B CN109858044B CN201910105021.2A CN201910105021A CN109858044B CN 109858044 B CN109858044 B CN 109858044B CN 201910105021 A CN201910105021 A CN 201910105021A CN 109858044 B CN109858044 B CN 109858044B
- Authority
- CN
- China
- Prior art keywords
- vector
- layer
- statement
- machine translation
- sentence
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Machine Translation (AREA)
Abstract
本申请提供了语言处理方法和装置、语言处理系统的训练方法和装置,其中,语言处理系统包括:语言模型和机器翻译模型,所述语言模型和所述机器翻译模型包括同一个嵌入层,所述语言处理方法包括:将源语句和参考结果输入至嵌入层,分别生成源语句向量和参考结果向量;将源语句向量和参考结果向量输入机器翻译模型,生成目标语句向量;将源语句向量输入语言模型,生成处理语句向量。由于本申请的机器翻译模型和语言模型共享训练结果,从而与现有技术相比,可以提升语言模型和机器翻译模型的泛化效果,获得更优的输出结果。
Description
技术领域
本申请涉及计算机技术领域,特别涉及语言处理方法和装置、语言处理系统的训练方法和装置。
背景技术
机器翻译模型利用源语言的字典,对输入的源语言句子进行编码,获得一个语义向量;然后再利用目标语言字典对这个语义向量进行解码,获得关于目标语言的序列,作为最终的翻译。
机器翻译模型,其主要思想是将待翻译语句经过编码层(encoder)编码成为一个编码向量,然后利用解码层(decoder)对编码向量进行解码,得到解码向量,然后将解码向量翻译成为对应的翻译语句。
机器翻译模型在训练阶段,是基于平行语料进行优化。其中,平行语料包括互为译文关系的第一语言语句和第二语言语句。将第一语言语句作为样本,第二语言语句作为标签对机器翻译模型进行训练,获得一个对于所有平行语料的建模。
目前,机器翻译模型仅依赖于可获取的平行语料进行有监督学习,大量的单语语料在有监督学习中无法被有效利用。而单语语料在无监督学习中虽然得到利用,但效果又远不如依赖平行语料的有监督学习。
发明内容
有鉴于此,本申请实施例提供了一种语言处理系统及其训练方法和装置、使用方法和装置,计算设备,存储介质和芯片,以解决现有技术中存在的技术缺陷。
本申请实施例公开了一种语言处理方法,用于语言处理系统,所述语言处理系统包括:语言模型和机器翻译模型,所述语言模型和所述机器翻译模型包括同一个嵌入层;
所述方法包括:
将源语句和参考结果输入至嵌入层,分别生成源语句向量和参考结果向量;
将源语句向量和参考结果向量输入机器翻译模型,生成目标语句向量;
将源语句向量输入语言模型,生成处理语句向量。
可选地,所述机器翻译模型包括:编码层和解码层;
将源语句向量和参考结果向量输入机器翻译模型,生成目标语句向量,包括:
将源语句向量输入编码层,得到输出的第一编码向量;
将第一编码向量和参考结果向量输入解码层,得到输出的目标语句向量。
可选地,将源语句向量输入编码层,得到输出的第一编码向量,包括:
将源语句向量输入编码层,得到至少一个第二编码向量;
根据至少一个第二编码向量生成第一编码向量并输出所述第一编码向量。
可选地,根据至少一个第二编码向量生成第一编码向量,包括:
将至少一个第二编码向量分别乘以权重系数,得到第一编码向量。
可选地,根据至少一个第二编码向量生成第一编码向量,包括:
确定至少一个第二编码向量的生成顺序,将最后一个生成的第二编码向量作为第一编码向量。
本申请实施例公开了一种语言处理系统的训练方法,所述语言处理系统包括:语言模型和机器翻译模型,所述语言模型和所述机器翻译模型包括同一个嵌入层,所述训练方法包括:
将第一语句、第二语句和第三语句分别输入至所述嵌入层,生成对应的第一语句向量、第二语句向量和第三语句向量,其中,第二语句和第三语句互为译文关系;
将第一语句向量作为训练样本输入语言模型对所述语言模型进行训练,将第二语句向量作为样本、第三语句向量作为标签对机器翻译模型进行训练,直至达到训练停止条件。
可选地,将第一语句向量作为样本输入语言模型对所述语言模型进行训练,包括:将第一语句向量输入语言模型,得到语言模型的输出向量;
根据语言模型的输出向量得到所述语言模型的第一输出损失,并根据所述第一输出损失调整语言模型的参数以及所述嵌入层的参数。
可选地,所述机器翻译模型包括:编码层和解码层;
将第二语句向量作为样本、第三语句向量作为标签对机器翻译模型进行训练,包括:
将第二语句向量输入编码层,得到输出的第三编码向量;
将第三编码向量和第三语句向量输入解码层,得到输出的解码向量;
根据解码向量计算所述机器翻译模型的第二输出损失,并根据所述第二输出损失调整所述机器翻译模型的参数以及所述嵌入层的参数。
可选地,所述训练停止条件包括:解码向量的误差的变化率小于稳定阈值;
其中,所述解码向量的误差为将所述解码向量与预设的向量验证集进行对比得到。
本申请实施例公开了一种语言处理系统,包括:
语言模型和机器翻译模型,所述语言模型和所述机器翻译模型包括同一个嵌入层;
所述嵌入层接收输入的源语句和参考结果,分别生成源语句向量和参考结果向量;
所述语言模型接收输入的源语句向量,并根据输入的源语句向量生成处理语句向量;
所述机器翻译模型接收输入的源语句向量和参考结果向量,并根据输入的源语句向量和参考结果向量生成目标语句向量。
本申请实施例公开了一种语言处理系统的训练装置,所述语言处理系统包括:语言模型和机器翻译模型,所述语言模型和所述机器翻译模型包括同一个嵌入层;
所述训练装置包括:
第一预处理模块,被配置为将第一语句、第二语句和第三语句分别输入至所述嵌入层,生成对应的第一语句向量、第二语句向量和第三语句向量,其中,第二语句和第三语句互为译文关系;
训练模块,被配置为将第一语句向量作为训练样本输入语言模型对所述语言模型进行训练,将第二语句向量作为样本、第三语句向量作为标签对机器翻译模型进行训练,直至达到训练停止条件。
本申请实施例公开了一种语言处理装置,用于语言处理系统,所述语言处理系统包括:语言模型和机器翻译模型,所述语言模型和所述机器翻译模型包括同一个嵌入层;
所述装置包括:
第二预处理模块,被配置为将源语句和参考结果输入至嵌入层,分别生成源语句向量和参考结果向量;
第一处理模块,被配置为将源语句向量和参考结果向量输入机器翻译模型,生成目标语句向量;
第二处理模块,被配置为将源语句向量输入语言模型,生成处理语句向量。
本申请实施例公开了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,所述处理器执行所述指令时实现如上所述的语言处理系统的训练方法或语言处理方法的步骤。
本申请实施例公开了一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如上所述的语言处理系统的训练方法或语言处理方法的步骤。
本申请实施例公开了一种芯片,其存储有计算机指令,该指令被所述芯片执行时实现如上所述的语言处理系统的训练方法或语言处理方法的步骤。
本申请提供的语言处理系统的训练方法和装置,通过将语言模型和机器翻译模型共同使用同一个嵌入层,并将第一语句经由嵌入层生成的第一语句向量训练语言模型,第二语句和第三语句经由嵌入层生成的第二语句向量和第三语句向量训练机器翻译模型,从而实现语言模型和机器翻译模型的联合训练,从而实现在训练过程中两个模型可以共享训练结果、互相促进和补充学习,分别提升语言模型和机器翻译模型的泛化效果。
本申请提供的语言处理方法和装置,通过将源语句和参考结果输入至嵌入层,分别生成源语句向量和参考结果向量,然后将源语句向量和参考结果向量输入机器翻译模型,生成目标语句向量,将源语句向量输入语言模型,生成处理语句向量。由于本申请的机器翻译模型和语言模型共享训练结果,从而与现有技术相比,可以提升语言模型和机器翻译模型的泛化效果,获得更优的输出结果。
附图说明
图1是本申请实施例的语言处理系统的结构示意图;
图2是本申请实施例的计算设备的结构示意图;
图3是本申请实施例的语言处理方法的流程示意图;
图4是本申请实施例的语言处理系统的训练方法的流程示意图;
图5是本申请实施例的语言处理系统的训练方法的流程示意图;
图6是本申请实施例的语言处理系统的训练方法的流程示意图;
图7是本申请实施例的语言处理装置的结构示意图;
图8是本申请实施例的语言处理系统的训练装置的结构示意图。
具体实施方式
在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是本申请能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施的限制。
在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
首先,对本发明一个或多个实施例涉及的名词术语进行解释。
平行语料:由源语句及其平行对应的翻译后的目标语句构成的双语语料库,适用于有监督学习;
单语语料:由一种语言的语句构成的单语语料库,适用于无监督学习;
多任务学习(Multitask learning):基于共享表示(shared representation),把多个相关的任务放在一起学习的一种机器学习方法。
在本申请中,提供了一种语言处理系统及其训练方法和装置、使用方法和装置,计算设备,存储介质和芯片,在下面的实施例中逐一进行详细说明。
图1示出了本申请实施例公开的语言处理系统的结构示意图。
由图1中可见,语言处理系统101包括:语言模型102和机器翻译模型103,语言模型102和机器翻译模型103包括同一个嵌入层104。
机器翻译模型103还进一步包括:编码层105和解码层106。其中,编码层105对输入的语句向量进行编码得到编码向量,解码层对输入的编码向量进行解码得到解码向量,然后进一步得到解码向量对应的翻译语句,从而实现对输入语句的翻译。
在语言处理系统101的使用阶段:
所述嵌入层104接收输入的源语句和参考结果,分别生成源语句向量和参考结果向量;
语言模型102接收输入的源语句向量,并根据输入的源语句向量生成处理语句向量,并将处理语句向量经由输出层107输出;
机器翻译模型103接收输入的源语句向量和参考结果向量,并根据输入的源语句向量和参考结果向量生成目标语句向量,并将目标语句向量经由解码层106输出。
其中,语言模型有多种。语言模型的训练阶段,思想为利用大量的单语语料进行无监督学习,并基于后向传播(BP)算法对语言模型的参数进行调整。
下面以NNLM(Nerual Network Language Model,神经网络语言模型)为例进行说明。
NNLM的训练数据是一组词序列w1…wT,wt∈V。其中V是所有单词的集合(即词典),Vi表示字典中的第i个单词。NNLM的目标是训练如下模型:
f(wt,wt-1,...,wt-n+2,wt-n+1)=p(wt|w1 t-1)
其中,wt表示词序列中第t个单词,w1 t-1表示从第1个词到第t个词组成的子序列。
NNLM可分为特征映射和计算条件概率分布两部分:
特征映射:通过映射矩阵C∈R|V|×m将输入的每个词映射为一个特征向量,C(i)∈Rm表示词典中第i个词对应的特征向量,其中m表示特征向量的维度。该过程将通过特征映射得到的C(wt-n+1),...,C(wt-1)合并成一个(n-1)m维的向量:(C(wt-n+1),...,C(wt-1))
计算条件概率分布:通过一个函数g(g是前馈或递归神经网络)将输入的词向量序列(C(wt-n+1),...,C(wt-1))转化为一个概率分布y∈R|V|,y中第i位表示词序列中第t个词是Vi的概率,即:
f(i,wt-1,...,wt-n+2,wt-n+1)=g(i,C(wt-n+1),...,C(wt-1))
对于机器翻译模型,一般包括编码器(encoder)和解码器(decoder)。通过编码器对输入的源语句进行编码得到编码向量,再将编码向量经过中间处理后输入至解码器得到解码向量,根据解码向量得到源语句对应的翻译后的目标语句。
机器翻译模型在训练阶段,其训练思想为通过平行语料实现有监督学习,并调整机器翻译模型的参数,得到训练好的机器翻译模型。
本实施例中,通过将语言模型和机器翻译模型共用嵌入层,可以实现语言模型和机器翻译模型的联合训练,从而实现在训练过程中两个模型可以共享训练结果、互相促进和补充学习,分别提升语言模型和机器翻译模型的泛化效果。
由上可见,本实施例的语言处理系统的训练实质为一种多任务学习。多任务学习(Multitask Learning)是一种推导迁移学习方法,主任务(main tasks)使用相关任务(related tasks)的训练信号(training signal)所拥有的领域相关信息(domain-specific information),作为一直推导偏差(inductive bias)来提升主任务(maintasks)泛化效果(generalization performance)的一种机器学习方法。多任务学习涉及多个相关的任务同时并行学习,梯度同时反向传播,多个任务通过底层的共享表示(sharedrepresentation)来互相帮助学习,提升泛化效果。简单来说:多任务学习把多个相关的任务放在一起学习,学习过程(training)中通过一个在浅层的共享(sharedrepresentation)表示来互相分享、互相补充学习到的领域相关的信息(domaininformation),互相促进学习,提升泛化的效果。
图2是示出了根据本说明书一实施例的计算设备200的结构框图。该计算设备200的部件包括但不限于存储器210和处理器220。处理器220与存储器210通过总线230相连接,数据库250用于保存数据。
计算设备200还包括接入设备240,接入设备240使得计算设备200能够经由一个或多个网络260通信。这些网络的示例包括公用交换电话网(PSTN)、局域网(LAN)、广域网(WAN)、个域网(PAN)或诸如因特网的通信网络的组合。接入设备240可以包括有线或无线的任何类型的网络接口(例如,网络接口卡(NIC))中的一个或多个,诸如IEEE802.11无线局域网(WLAN)无线接口、全球微波互联接入(Wi-MAX)接口、以太网接口、通用串行总线(USB)接口、蜂窝网络接口、蓝牙接口、近场通信(NFC)接口,等等。
在本说明书的一个实施例中,计算设备200的上述部件以及图2中未示出的其他部件也可以彼此相连接,例如通过总线。应当理解,图2所示的计算设备结构框图仅仅是出于示例的目的,而不是对本说明书范围的限制。本领域技术人员可以根据需要,增添或替换其他部件。
计算设备200可以是任何类型的静止或移动计算设备,包括移动计算机或移动计算设备(例如,平板计算机、个人数字助理、膝上型计算机、笔记本计算机、上网本等)、移动电话(例如,智能手机)、可佩戴的计算设备(例如,智能手表、智能眼镜等)或其他类型的移动设备,或者诸如台式计算机或PC的静止计算设备。计算设备200还可以是移动式或静止式的服务器。
其中,处理器220可以执行图3所示的语言处理方法中的步骤,包括下述步骤301~303:
301、将源语句和参考结果输入至嵌入层,分别生成源语句向量和参考结果向量。
需要说明的是,对于待翻译的源语句,包括至少一个待翻译词语。在翻译的过程中,依次得到至少一个待翻译词语对应的翻译词语。对于翻译词语,可以作为参考翻译结果输入至嵌入层。
具体地,对于初始的第一个待翻译词语,参考翻译结果为设定的初始值,可以为0;对于除去第一个待翻译词语的其他待翻译词语,参考翻译结果为待翻译的源语句中的当前待翻译词语的前一个待翻译词语所对应的翻译词语。
例如对于源语句“我爱中国”,如果当前待翻译词语为“爱”,那么参考翻译结果为“我”对应的翻译词语“I”。
302、将源语句向量和参考结果向量输入机器翻译模型,生成目标语句向量。
具体地,步骤302包括下述步骤S311~S312:
S311、将源语句向量输入编码层,得到输出的第一编码向量。
在一种具体实施方案中,步骤S311包括:将源语句向量输入编码层,得到至少一个第二编码向量;根据至少一个第二编码向量生成第一编码向量并输出所述第一编码向量。
具体地,编码层可以包括一个第一堆栈层,也可以包括两个或两个以上的第一堆栈层。每个第一堆栈层均会输出一个第二编码向量。
对于包括一个第一堆栈层的情形,第一堆栈层根据输入的源语句向量得到一个第二编码向量。
对于包括两个或两个以上的第一堆栈层的情形,第一个第一堆栈层根据输入的源语句向量得到对应的第二编码向量,将第一个第一堆栈层得到的第二编码向量输入第二个第一堆栈层得到对应的第二编码向量,将第二个第一堆栈层得到的第二编码向量输入第三个第一堆栈层得到对应的第二编码向量……以此类推,得到所有第一堆栈层对应的第二编码向量。
在一种具体实施方案中,根据至少一个第二编码向量生成第一编码向量,包括:将至少一个第二编码向量分别乘以权重系数,得到第一编码向量。
对于一个第二编码向量的情形,可以直接将该第二编码向量乘以权重系数,得到第一编码向量;对于至少两个第二编码向量的情形,可以将每个第二编码向量乘以权重系数,然后求和得到第一编码向量。
在一种具体实施方案中,根据至少一个第二编码向量生成第一编码向量,包括:确定至少一个第二编码向量的生成顺序,将最后一个生成的第二编码向量作为第一编码向量。
对于一个第二编码向量的情形,可以直接将该第二编码向量作为第一编码向量;对于至少两个第二编码向量的情形,可以将最后一个第一堆栈层生成的第二编码向量作为第一编码向量。
S312、将第一编码向量和参考结果向量输入解码层,得到输出的目标语句向量。
具体地,解码层可以包括一个第二堆栈层,也可以包括两个或两个以上的第二堆栈层。每个第二堆栈层均会输出一个解码向量。
对于一个第二堆栈层的情形,将第一编码向量和参考结果向量输入第二堆栈层,得到输出的解码向量作为解码层输出的目标语句向量。
对于至少两个第二堆栈层的情形,将第一编码向量和参考结果向量输入第一个第二堆栈层,得到对应的解码向量;将第一编码向量和第一个第二堆栈层的解码向量输入第二个第二堆栈层,得到对应的解码向量……以此类推,得到最后一个第二堆栈层的解码向量作为解码层输出的目标语句向量。
303、将源语句向量输入语言模型,生成处理语句向量。
需要说明的是,对于步骤302和303,并没有执行顺序的限定,二者可以为并行执行,也可以为先后执行。
本申请提供的语言处理方法,通过将源语句和参考结果输入至嵌入层,分别生成源语句向量和参考结果向量,然后将源语句向量和参考结果向量输入机器翻译模型,生成目标语句向量,将源语句向量输入语言模型,生成处理语句向量。由于本申请的机器翻译模型和语言模型共享训练结果,从而与现有技术相比,可以提升语言模型和机器翻译模型的泛化效果,获得更优的输出结果。
图4是示出了根据本申请一实施例的语言处理系统的训练方法的示意性流程图,包括步骤401至步骤402:
401、将第一语句、第二语句和第三语句分别输入至所述嵌入层,生成对应的第一语句向量、第二语句向量和第三语句向量,其中,第二语句和第三语句互为译文关系。
本实施例中,第一语句为单语语料中的语句,第二语句和第三语句为平行语料中的语句。其中,第二语句和第三语句一一对应,例如第二语句为“我爱中国”,第三语句为“Ilove china”;第二语句为“我吃苹果”,第三语句为“I eatapple”。
对于嵌入层将输入的语句生成语句向量的过程,以第二语句为“我爱中国”为例,生成的第二语句向量X=(x0,x1,x2,x3),其中,x0=“我”,x1=“爱”,x2=“中”,x3=“国”。对于第一语句生成第一语句向量以及第三语句生成第三语句向量的过程,与上述第二语句生成第二语句向量的过程的原理相同,本实施例便不再一一列举说明。
其中,单语语料和平行语料可以通过在预先存储的语料库中获取,也可以为通过网络中的查询而获取。
402、将第一语句向量作为训练样本输入语言模型对所述语言模型进行训练,将第二语句向量作为样本、第三语句向量作为标签对机器翻译模型进行训练,直至达到训练停止条件。
可选地,本步骤402中将第一语句向量作为样本输入语言模型对所述语言模型进行训练,参见图5,包括步骤501~502:
501、将第一语句向量输入语言模型,得到语言模型的输出向量。
502、根据语言模型的输出向量得到所述语言模型的第一输出损失,并根据所述第一输出损失调整语言模型的参数以及所述嵌入层的参数。
具体地,可以利用损失函数,根据语言模型的输出向量得到语言模型的第一输出损失,根据第一输出损失反向调整语言模型的参数以及嵌入层的参数,直至输出向量符合标准。
本实施例中,输出向量的标准可以为预先设置,例如第一输出损失大于设定的阈值。
可选地,将第二语句向量作为样本、第三语句向量作为标签对机器翻译模型进行训练,参见图6,包括下述步骤601~603:
601、将第二语句向量输入编码层,得到输出的第三编码向量。
具体地,步骤601包括下述步骤S611~S612:
S611、将第二语句向量输入编码层,得到至少一个第四编码向量。
具体地,编码层可以包括一个第一堆栈层,也可以包括两个或两个以上的第一堆栈层。每个第一堆栈层均会输出一个第四编码向量。
对于包括一个第一堆栈层的情形,第一堆栈层根据输入的第二语句向量得到一个第四编码向量。
对于包括两个或两个以上的第一堆栈层的情形,第一个第一堆栈层根据输入的第二语句向量得到对应的第四编码向量,将第一个第一堆栈层得到的第四编码向量输入第二个第一堆栈层得到对应的第四编码向量,将第二个第一堆栈层得到的第四编码向量输入第三个第一堆栈层得到对应的第四编码向量……以此类推,得到所有第一堆栈层对应的第四编码向量。
S612、根据至少一个第四编码向量生成第三编码向量并输出所述第三编码向量。
可选地,步骤S612具体包括:将至少一个第四编码向量分别乘以权重系数,得到第三编码向量。
对于一个第四编码向量的情形,可以直接将该第四编码向量乘以权重系数,得到第三编码向量;对于至少两个第四编码向量的情形,可以将每个第四编码向量乘以权重系数,然后求和得到第三编码向量。
可选地,步骤S612具体包括:确定至少一个第四编码向量的生成顺序,将最后一个生成的第四编码向量作为第三编码向量。
对于一个第四编码向量的情形,可以直接将该第四编码向量作为第三编码向量;对于至少两个第四编码向量的情形,可以将最后一个第一堆栈层生成的第四编码向量作为第三编码向量。
602、将第三编码向量和第三语句向量输入解码层,得到输出的解码向量。
具体地,解码层可以包括一个第二堆栈层,也可以包括两个或两个以上的第二堆栈层。每个第二堆栈层均会输出一个解码向量。
对于一个第二堆栈层的情形,将第三编码向量和第三语句向量输入第二堆栈层,得到输出的解码向量作为解码层输出的解码向量。
对于至少两个第二堆栈层的情形,将第三编码向量和第三语句向量输入第一个第二堆栈层,得到对应的解码向量;将第三编码向量和第一个第二堆栈层的解码向量输入第二个第二堆栈层,得到对应的解码向量……以此类推,得到最后一个第二堆栈层的解码向量作为解码层输出的解码向量。
603、根据解码向量计算所述机器翻译模型的第二输出损失,并根据所述第二输出损失调整所述机器翻译模型的参数以及所述嵌入层的参数。
具体地,可以利用损失函数,根据机器翻译模型的解码向量得到机器翻译模型的第二输出损失,根据第二输出损失反向调整机器翻译模型的参数以及嵌入层的参数,直至解码向量符合标准。
本实施例中,解码向量的标准可以为预先设置,例如第二输出损失大于设定的阈值。
下面对本实施例中提及的训练停止条件进行说明。
训练停止条件包括:解码向量的误差的变化率小于稳定阈值;其中,所述解码向量的误差为将所述解码向量与预设的向量验证集进行对比得到。
需要说明的是,本实施例中,得到的解码向量并不直接与作为标签的第三语句对应的向量进行对比计算误差,而是引入了一个向量验证集。如果将解码向量直接与第三语句对应的向量进行对比计算误差,会导致过拟合,导致翻译模型在其他的语句翻译中的表现变差,翻译效果反而适得其反。
稳定阈值可以根据实际需求而设定,例如设置为1%。这样,误差趋于稳定,就可以认为模型训练完毕了。
本申请提供的语言处理系统的训练方法,通过将语言模型和机器翻译模型共同使用同一个嵌入层,并将第一语句经由嵌入层生成的第一语句向量训练语言模型,第二语句和第三语句经由嵌入层生成的第二语句向量和第三语句向量训练机器翻译模型,从而实现语言模型和机器翻译模型的联合训练,从而实现在训练过程中两个模型可以共享训练结果、互相促进和补充学习,分别提升语言模型和机器翻译模型的泛化效果。
以机器翻译模型为例,在训练的阶段通过利用大量的第一语句对语言模型的训练反向调整嵌入层的参数,在使用第二语句和第三语句对机器翻译模型训练的过程中可以学习到语言模型的训练结果,从而实现将单语语料(第一语句)的训练作用于平行语料(第二语句和第三语句)的训练,有助于提升机器翻译模型的泛化效果。
以上实施例为对本申请的语言处理系统的训练方法及语言处理方法的详细说明。下面的实施例会对本申请的语言处理系统的训练装置及语言处理装置进行示意性的说明。
本申请实施例还公开了一种语言处理系统的训练装置,参见图7,包括:
第一预处理模块701,被配置为将第一语句、第二语句和第三语句分别输入至所述嵌入层,生成对应的第一语句向量、第二语句向量和第三语句向量,其中,第二语句和第三语句互为译文关系;
训练模块702,被配置为将第一语句向量作为训练样本输入语言模型对所述语言模型进行训练,将第二语句向量作为样本、第三语句向量作为标签对机器翻译模型进行训练,直至达到训练停止条件。
可选地,训练模块702具体被配置为:
将第一语句向量输入语言模型,得到语言模型的输出向量;
根据语言模型的输出向量得到所述语言模型的第一输出损失,并根据所述第一输出损失调整语言模型的参数以及所述嵌入层的参数。
可选地,机器翻译模型包括编码层和解码层,训练模块702具体被配置为:
将第二语句向量输入编码层,得到输出的第三编码向量;
将第三编码向量和第三语句向量输入解码层,得到输出的解码向量;
根据解码向量计算所述机器翻译模型的第二输出损失,并根据所述第二输出损失调整所述机器翻译模型的参数以及所述嵌入层的参数。
可选地,所述训练停止条件包括:解码向量的误差的变化率小于稳定阈值;
其中,所述解码向量的误差为将所述解码向量与预设的向量验证集进行对比得到。
可选地,训练模块702具体被配置为:
将第二语句向量输入编码层,得到至少一个第四编码向量;
根据至少一个第四编码向量生成第三编码向量并输出所述第三编码向量。
可选地,训练模块702被配置为根据至少一个第四编码向量生成第三编码向量并输出所述第三编码向量,具体包括:
将至少一个第四编码向量分别乘以权重系数,得到第三编码向量;
或
确定至少一个第四编码向量的生成顺序,将最后一个生成的第四编码向量作为第三编码向量。
本申请提供的语言处理系统的训练装置,通过将语言模型和机器翻译模型共同使用同一个嵌入层,并将第一语句经由嵌入层生成的第一语句向量训练语言模型,第二语句和第三语句经由嵌入层生成的第二语句向量和第三语句向量训练机器翻译模型,从而实现语言模型和机器翻译模型的联合训练,从而实现在训练过程中两个模型可以共享训练结果、互相促进和补充学习,分别提升语言模型和机器翻译模型的泛化效果。
本申请实施例还公开了一种语言处理装置,参见图8,包括:
第二预处理模块801,被配置为将源语句和参考结果输入至嵌入层,分别生成源语句向量和参考结果向量;
第一处理模块802,被配置为将源语句向量和参考结果向量输入机器翻译模型,生成目标语句向量;
第二处理模块803,被配置为将源语句向量输入语言模型,生成处理语句向量。
可选地,机器翻译模型包括编码层和解码层,第一处理模块802具体被配置为:
将源语句向量输入编码层,得到输出的第一编码向量;
将第一编码向量和参考结果向量输入解码层,得到输出的目标语句向量。
可选地,第一处理模块802具体被配置为:
将源语句向量输入编码层,得到至少一个第二编码向量;
根据至少一个第二编码向量生成第一编码向量并输出所述第一编码向量。
可选地,第一处理模块802根据至少一个第二编码向量生成第一编码向量,具体包括:
第一处理模块802将至少一个第二编码向量分别乘以权重系数,得到第一编码向量;
或确定至少一个第二编码向量的生成顺序,将最后一个生成的第二编码向量作为第一编码向量。
本申请提供的语言处理装置,通过将源语句和参考结果输入至嵌入层,分别生成源语句向量和参考结果向量,然后将源语句向量和参考结果向量输入机器翻译模型,生成目标语句向量,将源语句向量输入语言模型,生成处理语句向量。由于本申请的机器翻译模型和语言模型共享训练结果,从而与现有技术相比,可以提升语言模型和机器翻译模型的泛化效果,获得更优的输出结果。
本申请一实施例还提供一种计算机可读存储介质,其存储有计算机指令,该指令被处理器执行时实现如前所述语言处理系统的训练方法或语言处理方法的步骤。
上述为本实施例的一种计算机可读存储介质的示意性方案。需要说明的是,该存储介质的技术方案与上述的语言处理系统的训练方法或语言处理方法的技术方案属于同一构思,存储介质的技术方案未详细描述的细节内容,均可以参见上述语言处理系统的训练方法或语言处理方法的技术方案的描述。
所述计算机指令包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需要说明的是,对于前述的各方法实施例,为了简便描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其它顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定都是本申请所必须的。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其它实施例的相关描述。
以上公开的本申请优选实施例只是用于帮助阐述本申请。可选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本申请的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本申请。本申请仅受权利要求书及其全部范围和等效物的限制。
Claims (14)
1.一种语言处理方法,其特征在于,用于语言处理系统,所述语言处理系统包括:语言模型和机器翻译模型,所述语言模型和所述机器翻译模型包括同一个嵌入层,所述机器翻译模型包括编码层和解码层;
所述方法包括:
将源语句和参考结果输入至嵌入层,分别生成源语句向量和参考结果向量;
将源语句向量输入所述编码层,得到输出的第一编码向量;
将所述第一编码向量和所述参考结果向量输入所述解码层,得到输出的目标语句向量;
将源语句向量输入语言模型,生成处理语句向量。
2.如权利要求1所述的方法,其特征在于,将源语句向量输入所述编码层,得到输出的第一编码向量,包括:
将源语句向量输入所述编码层,得到至少一个第二编码向量;
根据至少一个第二编码向量生成第一编码向量并输出所述第一编码向量。
3.如权利要求2所述的方法,其特征在于,根据至少一个第二编码向量生成第一编码向量,包括:
将至少一个第二编码向量分别乘以权重系数,得到第一编码向量。
4.如权利要求2所述的方法,其特征在于,根据至少一个第二编码向量生成第一编码向量,包括:
确定至少一个第二编码向量的生成顺序,将最后一个生成的第二编码向量作为第一编码向量。
5.一种语言处理系统的训练方法,其特征在于,所述语言处理系统包括:语言模型和机器翻译模型,所述语言模型和所述机器翻译模型包括同一个嵌入层,所述训练方法包括:
将第一语句、第二语句和第三语句分别输入至所述嵌入层,生成对应的第一语句向量、第二语句向量和第三语句向量,其中,第二语句和第三语句互为译文关系;
将第一语句向量作为训练样本输入语言模型对所述语言模型进行训练,将第二语句向量作为样本、第三语句向量作为标签对机器翻译模型进行训练,直至达到训练停止条件,其中,所述机器翻译模型包括编码层和解码层,所述编码层用于对所述第二语句向量进行编码输出第三编码向量,所述解码层用于对所述第三编码向量和所述第三语句向量进行解码输出解码向量。
6.如权利要求5所述的训练方法,其特征在于,将第一语句向量作为样本输入语言模型对所述语言模型进行训练,包括:
将第一语句向量输入语言模型,得到语言模型的输出向量;
根据语言模型的输出向量得到所述语言模型的第一输出损失,并根据所述第一输出损失调整语言模型的参数以及所述嵌入层的参数。
7.如权利要求5所述的训练方法,其特征在于,将第二语句向量作为样本、第三语句向量作为标签对机器翻译模型进行训练,包括:
将第二语句向量输入编码层,得到输出的第三编码向量;
将第三编码向量和第三语句向量输入解码层,得到输出的解码向量;
根据解码向量计算所述机器翻译模型的第二输出损失,并根据所述第二输出损失调整所述机器翻译模型的参数以及所述嵌入层的参数。
8.如权利要求5所述的训练方法,其特征在于,所述训练停止条件包括:解码向量的误差的变化率小于稳定阈值;
其中,所述解码向量的误差为将所述解码向量与预设的向量验证集进行对比得到。
9.一种语言处理系统,其特征在于,包括:
语言模型和机器翻译模型,所述语言模型和所述机器翻译模型包括同一个嵌入层,所述机器翻译模型包括编码层和解码层;
所述嵌入层接收输入的源语句和参考结果,分别生成源语句向量和参考结果向量;
所述语言模型接收输入的源语句向量,并根据输入的源语句向量生成处理语句向量;
所述机器翻译模型的编码层接收输入的源语句向量,并根据输入的源语句向量生成第一编码向量,所述机器翻译模型的解码层接收输入的第一编码向量和参考结果向量,并根据输入的第一编码向量和参考结果向量生成目标语句向量。
10.一种语言处理系统的训练装置,其特征在于,所述语言处理系统包括:语言模型和机器翻译模型,所述语言模型和所述机器翻译模型包括同一个嵌入层;
所述训练装置包括:
第一预处理模块,被配置为将第一语句、第二语句和第三语句分别输入至所述嵌入层,生成对应的第一语句向量、第二语句向量和第三语句向量,其中,第二语句和第三语句互为译文关系;
训练模块,被配置为将第一语句向量作为训练样本输入语言模型对所述语言模型进行训练,将第二语句向量作为样本、第三语句向量作为标签对机器翻译模型进行训练,直至达到训练停止条件,其中,所述机器翻译模型包括编码层和解码层,所述编码层用于对所述第二语句向量进行编码输出第三编码向量,所述解码层用于对所述第三编码向量和所述第三语句向量进行解码输出解码向量。
11.一种语言处理装置,其特征在于,用于语言处理系统,所述语言处理系统包括:语言模型和机器翻译模型,所述语言模型和所述机器翻译模型包括同一个嵌入层,所述机器翻译模型包括编码层和解码层;
所述装置包括:
第二预处理模块,被配置为将源语句和参考结果输入至嵌入层,分别生成源语句向量和参考结果向量;
第一处理模块,被配置为将源语句向量输入所述编码层,得到输出的第一编码向量;将所述第一编码向量和所述参考结果向量输入所述解码层,得到输出的目标语句向量;
第二处理模块,被配置为将源语句向量输入语言模型,生成处理语句向量。
12.一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机指令,其特征在于,所述处理器执行所述指令时实现权利要求1-4或者5-8任意一项所述方法的步骤。
13.一种计算机可读存储介质,其存储有计算机指令,其特征在于,该指令被处理器执行时实现权利要求1-4或者5-8任意一项所述方法的步骤。
14.一种芯片,其存储有计算机指令,其特征在于,该指令被所述芯片执行时实现权利要求1-4或者5-8任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910105021.2A CN109858044B (zh) | 2019-02-01 | 2019-02-01 | 语言处理方法和装置、语言处理系统的训练方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910105021.2A CN109858044B (zh) | 2019-02-01 | 2019-02-01 | 语言处理方法和装置、语言处理系统的训练方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109858044A CN109858044A (zh) | 2019-06-07 |
CN109858044B true CN109858044B (zh) | 2023-04-18 |
Family
ID=66897598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910105021.2A Active CN109858044B (zh) | 2019-02-01 | 2019-02-01 | 语言处理方法和装置、语言处理系统的训练方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109858044B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110442878B (zh) * | 2019-06-19 | 2023-07-21 | 腾讯科技(深圳)有限公司 | 翻译方法、机器翻译模型的训练方法、装置及存储介质 |
CN110263353B (zh) * | 2019-06-25 | 2023-10-13 | 北京金山数字娱乐科技有限公司 | 一种机器翻译方法及装置 |
CN110457661B (zh) * | 2019-08-16 | 2023-06-20 | 腾讯科技(深圳)有限公司 | 自然语言生成方法、装置、设备及存储介质 |
CN110795947B (zh) * | 2019-08-30 | 2023-07-14 | 腾讯科技(深圳)有限公司 | 语句翻译方法和装置、存储介质及电子装置 |
CN110503945B (zh) * | 2019-09-06 | 2022-07-08 | 北京金山数字娱乐科技有限公司 | 一种语音处理模型的训练方法及装置 |
CN110598222B (zh) * | 2019-09-12 | 2023-05-30 | 北京金山数字娱乐科技有限公司 | 语言处理方法及装置、语言处理系统的训练方法及装置 |
CN112784003A (zh) * | 2019-11-01 | 2021-05-11 | 华为技术有限公司 | 训练语句复述模型的方法、语句复述方法及其装置 |
CN111462768B (zh) * | 2020-03-12 | 2023-04-25 | 南京邮电大学 | 基于共享训练的多尺度StarGAN的语音转换方法 |
CN113515959B (zh) * | 2021-06-23 | 2022-02-11 | 网易有道信息技术(北京)有限公司 | 机器翻译模型的训练方法、机器翻译方法及相关设备 |
CN114781408B (zh) * | 2022-04-24 | 2023-03-14 | 北京百度网讯科技有限公司 | 同传翻译模型的训练方法、装置及电子设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018023356A1 (en) * | 2016-08-01 | 2018-02-08 | Microsoft Technology Licensing, Llc | Machine translation method and apparatus |
CN108304390A (zh) * | 2017-12-15 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 基于翻译模型的训练方法、翻译方法、装置及存储介质 |
CN109271643A (zh) * | 2018-08-08 | 2019-01-25 | 北京捷通华声科技股份有限公司 | 一种翻译模型的训练方法、翻译方法和装置 |
-
2019
- 2019-02-01 CN CN201910105021.2A patent/CN109858044B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018023356A1 (en) * | 2016-08-01 | 2018-02-08 | Microsoft Technology Licensing, Llc | Machine translation method and apparatus |
CN108304390A (zh) * | 2017-12-15 | 2018-07-20 | 腾讯科技(深圳)有限公司 | 基于翻译模型的训练方法、翻译方法、装置及存储介质 |
CN109271643A (zh) * | 2018-08-08 | 2019-01-25 | 北京捷通华声科技股份有限公司 | 一种翻译模型的训练方法、翻译方法和装置 |
Non-Patent Citations (1)
Title |
---|
基于语义分布相似度的翻译模型领域自适应研究;姚亮等;《山东大学学报(理学版)》;20160531(第07期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109858044A (zh) | 2019-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109858044B (zh) | 语言处理方法和装置、语言处理系统的训练方法和装置 | |
CN109359309B (zh) | 一种翻译方法及装置、翻译模型的训练方法及装置 | |
EP3819809A1 (en) | A dialogue system, a method of obtaining a response from a dialogue system, and a method of training a dialogue system | |
CN109977428B (zh) | 一种答案获取的方法及装置 | |
CN111222347B (zh) | 语句翻译模型的训练方法及装置、语句翻译方法及装置 | |
CN111931518A (zh) | 一种翻译模型的训练方法及装置 | |
CN109710953B (zh) | 一种翻译方法及装置、计算设备、存储介质和芯片 | |
CN111738020B (zh) | 一种翻译模型的训练方法及装置 | |
CN109299479A (zh) | 通过门控机制将翻译记忆融入神经机器翻译的方法 | |
CN110598222A (zh) | 语言处理方法及装置、语言处理系统的训练方法及装置 | |
CN113312919A (zh) | 一种知识图谱的文本生成方法及装置 | |
CN111339780A (zh) | 一种基于多任务模型的词语处理方法及装置 | |
CN115906815A (zh) | 一种用于修改一种或多种类型错误句子的纠错方法及装置 | |
CN115758758A (zh) | 基于相似性特征约束的逆合成预测方法、介质及设备 | |
CN114282555A (zh) | 翻译模型训练方法及装置、翻译方法及装置 | |
CN110175338A (zh) | 一种数据处理方法及装置 | |
CN114692624A (zh) | 一种基于多任务迁移的信息抽取方法、装置及电子设备 | |
CN113919368A (zh) | 一种基于多语言建模的低资源对话生成方法及系统 | |
CN111767744B (zh) | 文本风格迁移系统的训练方法及装置 | |
Lin et al. | A novel beam search to improve neural machine translation for English-Chinese | |
CN112131363A (zh) | 自动问答方法、装置、设备及存储介质 | |
CN113792550B (zh) | 预测答案的确定方法及装置、阅读理解方法及装置 | |
CN114638238A (zh) | 一种神经网络模型的训练方法及装置 | |
CN113886560A (zh) | 庭审问题的推荐方法以及装置 | |
CN113971399A (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 |