CN110334359A - 文本翻译方法和装置 - Google Patents
文本翻译方法和装置 Download PDFInfo
- Publication number
- CN110334359A CN110334359A CN201910486659.5A CN201910486659A CN110334359A CN 110334359 A CN110334359 A CN 110334359A CN 201910486659 A CN201910486659 A CN 201910486659A CN 110334359 A CN110334359 A CN 110334359A
- Authority
- CN
- China
- Prior art keywords
- word
- probability
- source
- target
- target word
- 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
- 238000000034 method Methods 0.000 title claims abstract description 98
- 238000013519 translation Methods 0.000 claims abstract description 181
- 230000008859 change Effects 0.000 claims abstract description 58
- 230000001537 neural effect Effects 0.000 claims abstract description 55
- 239000000872 buffer Substances 0.000 claims abstract description 25
- 230000015654 memory Effects 0.000 claims description 51
- 239000013598 vector Substances 0.000 claims description 31
- 238000013473 artificial intelligence Methods 0.000 abstract description 5
- 230000014616 translation Effects 0.000 description 161
- 238000013528 artificial neural network Methods 0.000 description 43
- 238000012549 training Methods 0.000 description 37
- 238000012545 processing Methods 0.000 description 30
- 230000008569 process Effects 0.000 description 29
- 230000006870 function Effects 0.000 description 22
- 239000011159 matrix material Substances 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000013527 convolutional neural network Methods 0.000 description 14
- 238000004364 calculation method Methods 0.000 description 12
- 230000004913 activation Effects 0.000 description 10
- 238000003058 natural language processing Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 9
- 210000002569 neuron Anatomy 0.000 description 9
- 238000007781 pre-processing Methods 0.000 description 9
- 230000000306 recurrent effect Effects 0.000 description 8
- 238000013500 data storage Methods 0.000 description 7
- 238000003062 neural network model Methods 0.000 description 6
- 239000003795 chemical substances by application Substances 0.000 description 5
- 230000003993 interaction Effects 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000013480 data collection Methods 0.000 description 3
- 230000014509 gene expression Effects 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- MHABMANUFPZXEB-UHFFFAOYSA-N O-demethyl-aloesaponarin I Natural products O=C1C2=CC=CC(O)=C2C(=O)C2=C1C=C(O)C(C(O)=O)=C2C MHABMANUFPZXEB-UHFFFAOYSA-N 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 241000282472 Canis lupus familiaris Species 0.000 description 1
- 241000282326 Felis catus Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 239000003999 initiator Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000001902 propagating effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012706 support-vector machine Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/42—Data-driven translation
- G06F40/44—Statistical methods, e.g. probability models
-
- 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
- G06F40/47—Machine-assisted translation, e.g. using translation memory
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Machine Translation (AREA)
Abstract
本申请公开了人工智能领域中的一种文本翻译方法和装置,该方法包括:读取输入缓存区中的待翻译的第一源词;通过神经机器翻译模型,根据所述第一源词预测翻译后的目标词为第一目标词的第一概率;当所述第一概率和第二概率之间的变化率大于或等于变化率阈值时,将所述第一目标词写入输出缓存区,其中,所述第二概率为根据第二源词预测目标词为所述第一目标词的概率,所述第二源词为在所述第一源词之前从所述输入缓存区读取的源词。本申请实施例提供的文本翻译方法,能够降低翻译延迟。
Description
技术领域
本申请涉及机器翻译领域,并且更具体地,涉及一种文本翻译方法和装置。
背景技术
人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
随着人工智能技术的不断发展,让人机之间能够通过自然语言进行交互的自然语言人机交互系统变的越来越重要。人机之间能够通过自然语言进行交互,就需要系统能够识别出人类自然语言的具体含义。通常,系统通过采用对自然语言的句子进行关键信息提取来识别句子的具体含义。
作为自然语言处理(natural language processing,NLP)的重要分支,机器翻译(machine translation,MT)得到了越来越广泛的应用。同时,许多应用场景对机器翻译的实时性提出了较高要求,例如,出境旅行,国际峰会,多方会谈等。因此,如何降低翻译延迟成为一个亟需解决的问题。
发明内容
本申请提供一种文本翻译方法和装置,能够降低翻译延迟。
第一方面,提供了一种文本翻译方法,该方法包括:读取输入缓存区中的待翻译的第一源词;通过神经机器翻译模型,根据所述第一源词预测翻译后的目标词为第一目标词的第一概率;当所述第一概率和第二概率之间的变化率大于或等于变化率阈值时,将所述第一目标词写入输出缓存区,其中,所述第二概率为根据第二源词预测目标词为所述第一目标词的概率,所述第二源词为在所述第一源词之前从所述输入缓存区读取的源词。
本申请实施例中的方法,根据读入更多源词时预测的目标词的概率变化,控制系统进行写操作或读操作,可以更好地利用上下文的语义信息,有助于及时进行读写操作,能够提高翻译效率,从而降低翻译延迟。
在一种可能的实现方式中,所述方法还包括:根据所述第二源词预测目标词词典中的多个候选目标词的概率;确定所述多个候选目标词中概率最大的目标词为所述第一目标词。
在一种可能的实现方式中,在所述读取输入缓存区中的待翻译的第一源词之后,所述方法还包括:根据所述第一源词预测目标词词典中的多个候选目标词的概率;确定所述多个候选目标词中概率最大的目标词为所述第一目标词。
在一种可能的实现方式中,所述根据所述第一源词预测翻译后的目标词为第一目标词的第一概率,包括:根据所述第一源词和所述第二源词预测翻译后的目标词为所述第一目标词的所述第一概率。
本申请实施例中的方法,利用已读入的源词和当前时刻读入的源词进行编码和解码,能够在机器翻译的过程中充分地利用上下文信息,从而能够提高翻译精度。
在一种可能的实现方式中,所述根据所述第一源词和所述第二源词预测目标词为第一目标词的所述第一概率,还包括:根据所述第一源词和所述第一源词所在的待翻译语句中所述第一源词之前的所有源词,预测翻译后的目标词为所述第一目标词的所述第一概率。
本申请实施例中的方法,利用已读入的所有源词和当前时刻读入的源词进行编码和解码,能够在机器翻译的过程中更充分地利用上下文信息,从而能够进一步提高翻译精度。
在一种可能的实现方式中,所述方法还包括:根据所述第一源词确定第一状态信息,所述第一状态信息为所述神经机器翻译模型的隐藏状态;根据所述第二源词确定第二状态信息,所述第二状态信息为所述的所述神经机器翻译模型的隐藏状态;根据所述第一目标词的词向量、所述第一状态信息和所述第二状态信息,确定所述变化率阈值。
本申请实施例中的方法,根据当前时刻读入的源词和所述神经机器翻译模型的状态信息实时更新所述变化率阈值,有助于提高读写控制的准确性,从而有助于降低翻译延迟。
在一种可能的实现方式中,所述神经机器翻译模型包括编码器和解码器,所述隐藏状态为所述解码器的隐藏状态。
在一种可能的实现方式中,所述方法还包括:当所述第一概率和所述第二概率之间的变化率小于所述变化率阈值时,等待读取所述输入缓存区的下一个源词。
本申请实施例中的方法,当读入更多源词时预测的目标词的概率变化较小时,及时控制系统进行读操作,能够提高翻译效率,从而降低翻译延迟。
第二方面,提供了一种文本翻译装置,包括:获取模块,用于读取输入缓存区中的待翻译的第一源词;翻译模块,用于通过神经机器翻译模型,根据所述第一源词预测翻译后的目标词为第一目标词的第一概率;控制模块,用于当所述第一概率和第二概率之间的变化率大于或等于变化率阈值时,将所述第一目标词写入输出缓存区,其中,所述第二概率为根据第二源词预测目标词为所述第一目标词的概率,所述第二源词为在所述第一源词之前从所述输入缓存区读取的源词。
本申请实施例中的装置,根据读入更多源词时预测的目标词的概率变化,控制所述装置进行写操作或读操作,可以更好地利用上下文的语义信息,有助于及时进行读写操作,能够提高翻译效率,从而降低翻译延迟。
在一种可能的实现方式中,所述翻译模块还用于:根据所述第二源词预测目标词词典中的多个候选目标词的概率;确定所述多个候选目标词中概率最大的目标词为所述第一目标词。
在一种可能的实现方式中,所述翻译模块具体用于:根据所述第一源词预测目标词词典中的多个候选目标词的概率;确定所述多个候选目标词中概率最大的目标词为所述第一目标词。
在一种可能的实现方式中,所述翻译模块具体用于:根据所述第一源词和所述第二源词预测翻译后的目标词为所述第一目标词的所述第一概率。
本申请实施例中的装置,利用已读入的源词和当前时刻读入的源词进行编码和解码,能够在机器翻译的过程中充分地利用上下文信息,从而能够提高翻译精度。
在一种可能的实现方式中,所述翻译模块具体用于:根据所述第一源词和所述第一源词所在的待翻译语句中所述第一源词之前的所有源词,预测翻译后的目标词为所述第一目标词的所述第一概率。
本申请实施例中的装置,利用已读入的所有源词和当前时刻读入的源词进行编码和解码,能够在机器翻译的过程中更充分地利用上下文信息,从而能够进一步提高翻译精度。
在一种可能的实现方式中,所述翻译模块还用于:根据所述第一源词确定第一状态信息,所述第一状态信息为所述神经机器翻译模型的隐藏状态;根据所述第二源词确定第二状态信息,所述第二状态信息为所述的所述神经机器翻译模型的隐藏状态;所述控制模块还用于:根据所述第一目标词的词向量、所述第一状态信息和所述第二状态信息,确定所述变化率阈值。
本申请实施例中的装置,根据当前时刻读入的源词和所述神经机器翻译模型的状态信息实时更新所述变化率阈值,有助于提高读写控制的准确性,从而有助于降低翻译延迟。
在一种可能的实现方式中,所述神经机器翻译模型包括编码器和解码器,所述隐藏状态为所述解码器的隐藏状态。
在一种可能的实现方式中,所述控制模块还用于:当所述第一概率和所述第二概率之间的变化率小于所述变化率阈值时,等待读取所述输入缓存区的下一个源词。
本申请实施例中的装置,当读入更多源词时预测的目标词的概率变化较小时,及时控制所述装置进行读操作,能够提高翻译效率,从而降低翻译延迟。
第三方面,提供了一种文本翻译装置,所述系统包括存储介质和中央处理器,所述存储介质可以是非易失性存储介质,所述存储介质中存储有计算机可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述计算机可执行程序以实现所述第一方面或者第一方面的任一可能的实现方式中的方法。
第四方面,提供了一种机器翻译系统,所述系统包括存储介质和中央处理器,所述存储介质可以是非易失性存储介质,所述存储介质中存储有计算机可执行程序,所述中央处理器与所述非易失性存储介质连接,并执行所述计算机可执行程序以实现所述第一方面或者第一方面的任一可能的实现方式中的方法。
第五方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第一方面或第一方面的任一可能的实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面或第一方面的任一可能的实现方式中的方法。
第六方面,提供一种计算机可读存储介质,所述计算机可读介质存储用于设备执行的程序代码,所述程序代码包括用于执行第一方面或者第一方面的任一可能的实现方式中的方法的指令。
第七方面,提供一种电子设备,该电子设备包括上述第二方面中的文本翻译装置、上述第三方面中的文本翻译装置、上述第四方面中的机器翻译系统或者上述第五方面中的芯片。
本申请实施例中的方法,根据读入更多源词时预测的目标词的概率变化,控制系统进行写操作或读操作,可以更好地利用上下文的语义信息,有助于及时进行读写操作,能够提高翻译效率,从而降低翻译延迟。
附图说明
图1是本申请实施例提供的一种自然语言处理的应用场景示意图;
图2是本申请实施例提供的另一种自然语言处理的应用场景示意图;
图3是本申请实施例提供的自然语言处理的相关设备的示意图;
图4是本申请实施例提供的一种系统架构的示意图;
图5是本申请实施例提供的一种RNN模型的示意图;
图6是本申请实施例提供的一种芯片的硬件结构的示意图;
图7是本申请实施例提供的一种神经机器翻译系统的示意图;
图8是本申请实施例提供的文本翻译方法的示意性流程图;
图9是本申请实施例提供的一种文本翻译装置的示意性框图;
图10是本申请实施例提供的另一种文本翻译装置的示意性框图;
图11是本申请实施例提供的机器翻译系统的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
为了更好地理解本申请实施例的方案,下面先结合图1至图3对本申请实施例可能的应用场景进行简单的介绍。
图1示出了一种自然语言处理系统,该自然语言处理系统包括用户设备以及数据处理设备。其中,用户设备包括手机、个人电脑或者信息处理中心等智能终端。用户设备为自然语言数据处理的发起端,作为语言问答或者查询等请求的发起方,通常用户通过用户设备发起请求。
上述数据处理设备可以是云服务器、网络服务器、应用服务器以及管理服务器等具有数据处理功能的设备或服务器。数据处理设备通过交互接口接收来自智能终端的查询语句/语音/文本等问句,再通过存储数据的存储器以及数据处理的处理器环节进行机器学习,深度学习,搜索,推理,决策等方式的语言数据处理。数据处理设备中的存储器可以是一个统称,包括本地存储以及存储历史数据的数据库,数据库可以再数据处理设备上,也可以在其它网络服务器上。
在图1所示的自然语言处理系统中,用户设备可以接收用户的指令,以请求对原文(例如,该原文可以是用户输入的一段英文)进行机器翻译得到机器译文(例如,该机器译文可以是机器翻译得到的中文),然后向数据处理设备发送原文,从而使得数据处理设备对原文进行翻译得到机器译文。
在图1中,数据处理设备可以执行本申请实施例的文本翻译方法。
图2示出了另一种自然语言处理系统,在图2中,用户设备直接作为数据处理设备,该用户设备能够直接接收来自用户的输入并直接由用户设备本身的硬件进行处理,具体过程与图1相似,可参考上面的描述,在此不再赘述。
在图2所示的自然语言处理系统中,用户设备可以接收用户的指令,由用户设备自身对原文进行机器翻译得到机器译文。
在图2中,用户设备自身就可以执行本申请实施例的文本翻译方法。
图3是本申请实施例提供的自然语言处理的相关设备的示意图。
上述图1和图2中的用户设备具体可以是图3中的本地设备301或者本地设备302,图1中的数据处理设备具体可以是图3中的执行设备210,其中,数据存储系统250可以存储执行设备210的待处理数据,数据存储系统250可以集成在执行设备210上,也可以设置在云上或其它网络服务器上。
图1和图2中的数据处理设备可以通过神经网络模型或者其它模型(例如,基于支持向量机的模型)进行数据训练/机器学习/深度学习,并利用数据最终训练或者学习得到的模型对原文进行机器翻译得到机器译文。
由于本申请实施例涉及大量神经网络的应用,为了便于理解,下面先对本申请实施例可能涉及的神经网络的相关术语和概念进行介绍。
(1)神经网络
神经网络可以是由神经单元组成的,神经单元可以是指以xs和截距1为输入的运算单元,该运算单元的输出可以为:
其中,s=1、2、……n,n为大于1的自然数,Ws为xs的权重,b为神经单元的偏置。f为神经单元的激活函数(activation functions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。
(2)深度神经网络
深度神经网络(deep neural network,DNN),也称多层神经网络,可以理解为具有多层隐含层的神经网络。按照不同层的位置对DNN进行划分,DNN内部的神经网络可以分为三类:输入层,隐含层,输出层。一般来说第一层是输入层,最后一层是输出层,中间的层数都是隐含层。层与层之间是全连接的,也就是说,第i层的任意一个神经元一定与第i+1层的任意一个神经元相连。
虽然DNN看起来很复杂,但是就每一层的工作来说,其实并不复杂,简单来说就是如下线性关系表达式:其中,是输入向量,是输出向量,是偏移向量,W是权重矩阵(也称系数),α()是激活函数。每一层仅仅是对输入向量经过如此简单的操作得到输出向量由于DNN层数多,系数W和偏移向量的数量也比较多。这些参数在DNN中的定义如下所述:以系数W为例:假设在一个三层的DNN中,第二层的第4个神经元到第三层的第2个神经元的线性系数定义为上标3代表系数W所在的层数,而下标对应的是输出的第三层索引2和输入的第二层索引4。
综上,第L-1层的第k个神经元到第L层的第j个神经元的系数定义为
需要注意的是,输入层是没有W参数的。在深度神经网络中,更多的隐含层让网络更能够刻画现实世界中的复杂情形。理论上而言,参数越多的模型复杂度越高,“容量”也就越大,也就意味着它能完成更复杂的学习任务。训练深度神经网络的也就是学习权重矩阵的过程,其最终目的是得到训练好的深度神经网络的所有层的权重矩阵(由很多层的向量W形成的权重矩阵)。
(3)卷积神经网络
卷积神经网络(convolutional neuron network,CNN)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器,该特征抽取器可以看作是滤波器。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。
(4)循环神经网络
循环神经网络(recurrent neural networks,RNN)是用来处理序列数据的。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,而对于每一层层内之间的各个节点是无连接的。这种普通的神经网络虽然解决了很多难题,但是却仍然对很多问题无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。RNN之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐含层本层之间的节点不再无连接而是有连接的,并且隐含层的输入不仅包括输入层的输出还包括上一时刻隐含层的输出。理论上,RNN能够对任何长度的序列数据进行处理。
对于RNN的训练和对传统的CNN或DNN的训练一样。同样使用误差反向传播(backpropagation,BP)算法,不过有一点区别。例如,如果将RNN进行网络展开,那么参数W,U,V是共享的,而传统神经网络却不是的。并且在使用梯度下降算法中,每一步的输出不仅依赖当前步的网络,并且还以来前面若干步网络的状态。比如,在t=4时,还需要向后传递三步,已经后面的三步都需要加上各种的梯度。该学习算法称为基于时间的反向传播算法。
既然已经有了卷积神经网络,为什么还要循环神经网络?原因很简单,在卷积神经网络中,有一个前提假设是:元素之间是相互独立的,输入与输出也是独立的,比如猫和狗。但现实世界中,很多元素都是相互连接的,比如股票随时间的变化,再比如一个人说了:我喜欢旅游,其中最喜欢的地方是云南,以后有机会一定要去。这里填空,人类应该都知道是填“云南”。因为人类会根据上下文的内容进行推断,但如何让机器做到这一步?RNN就应运而生了。RNN旨在让机器像人一样拥有记忆的能力。因此,RNN的输出就需要依赖当前的输入信息和历史的记忆信息。
(5)损失函数
在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断地调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(loss function)或目标函数(objective function),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。
(6)反向传播算法
神经网络可以采用误差反向传播(back propagation,BP)算法在训练过程中修正初始的神经网络模型中参数的大小,使得神经网络模型的重建误差损失越来越小。具体地,前向传递输入信号直至输出会产生误差损失,通过反向传播误差损失信息来更新初始的神经网络模型中参数,从而使误差损失收敛。反向传播算法是以误差损失为主导的反向传播运动,旨在得到最优的神经网络模型的参数,例如权重矩阵。
如图4所示,本申请实施例提供了一种系统架构100。在图4中,数据采集设备160用于采集训练数据,本申请实施例中训练数据包括训练原文及训练机器译文(训练原文经过机器翻译系统翻译得到的译文)。
在采集到训练数据之后,数据采集设备160将这些训练数据存入数据库130,训练设备120基于数据库130中维护的训练数据训练得到目标模型/规则101。
下面对训练设备120基于训练数据得到目标模型/规则101进行描述,训练设备120对输入的训练原文进行处理,将输出的机器译文与训练机器译文进行对比,直到训练设备120输出的机器译文与训练机器译文的差值小于一定的阈值,从而完成目标模型/规则101的训练。
上述目标模型/规则101能够用于实现本申请实施例的文本翻译方法,即将原文通过相关预处理(可以采用预处理模块113和/或预处理模块114进行处理)后输入该目标模型/规则101,即可得到机器译文。本申请实施例中的目标模型/规则101具体可以为神经网络。需要说明的是,在实际的应用中,所述数据库130中维护的训练数据不一定都来自于数据采集设备160的采集,也有可能是从其他设备接收得到的。另外需要说明的是,训练设备120也不一定完全基于数据库130维护的训练数据进行目标模型/规则101的训练,也有可能从云端或其他地方获取训练数据进行模型训练,上述描述不应该作为对本申请实施例的限定。
根据训练设备120训练得到的目标模型/规则101可以应用于不同的系统或设备中,如应用于图4所示的执行设备110,所述执行设备110可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmented reality,AR)/虚拟现实(virtual reality,VR),车载终端等,还可以是服务器或者云端等。在图4中,执行设备110配置输入/输出(input/output,I/O)接口112,用于与外部设备进行数据交互,用户可以通过客户设备140向I/O接口112输入数据,所述输入数据在本申请实施例中可以包括:客户设备输入的原文。
预处理模块113和预处理模块114用于根据I/O接口112接收到的输入数据(如原文)进行预处理(具体可以是对原文进行处理,得到词向量),在本申请实施例中,也可以没有预处理模块113和预处理模块114(也可以只有其中的一个预处理模块),而直接采用计算模块111对输入数据进行处理。
在执行设备110对输入数据进行预处理,或者在执行设备110的计算模块111执行计算等相关的处理过程中,执行设备110可以调用数据存储系统150中的数据、代码等以用于相应的处理,也可以将相应处理得到的数据、指令等存入数据存储系统150中。
最后,I/O接口112将处理结果,例如,机器译文反馈给客户设备140。
值得说明的是,训练设备120可以针对不同的下游系统,生成该下游系统对应的目标模型/规则101,该相应的目标模型/规则101即可以用于实现上述目标或完成上述任务,从而为用户提供所需的结果。
在图4中所示情况下,用户可以手动给定输入数据(例如,输入一段文字),该手动给定可以通过I/O接口112提供的界面进行操作。另一种情况下,客户设备140可以自动地向I/O接口112发送输入数据(例如,输入一段文字),如果要求客户设备140自动发送输入数据需要获得用户的授权,则用户可以在客户设备140中设置相应权限。用户可以在客户设备140查看执行设备110输出的结果,具体的呈现形式可以是显示、声音、动作等具体方式(例如,输出结果可以是机器译文)。客户设备140也可以作为数据采集端,采集如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果作为新的样本数据,并存入数据库130。当然,也可以不经过客户设备140进行采集,而是由I/O接口112直接将如图所示输入I/O接口112的输入数据及输出I/O接口112的输出结果,作为新的样本数据存入数据库130。
值得注意的是,图4仅是本申请实施例提供的一种系统架构的示意图,图中所示设备、器件、模块等之间的位置关系不构成任何限制。例如,在图4中,数据存储系统150相对执行设备110是外部存储器,在其它情况下,也可以将数据存储系统150置于执行设备110中。
如图4所示,根据训练设备120训练得到目标模型/规则101,该目标模型/规则101可以是本申请实施例中的神经机器翻译模型,具体的,本申请实施例提供的神经网络可以是CNN,深度卷积神经网络(deep convolutional neural network,DCNN),循环神经网络(recurrent neural network,RNN)等等。
由于RNN是一种非常常见的神经网络,下面结合图5重点对RNN的结构进行详细的介绍。
图5是本申请实施例提供的一种RNN模型的结构示意图。其中,每个圆圈可以看作是一个单元,而且每个单元做的事情也是一样的,因此可以折叠成左半图的样子。用一句话解释RNN,就是一个单元结构的重复使用。
RNN是一个序列到序列的模型,假设xt-1,xt,xt+1是一个输入:“我是中国”,那么ot-1,ot就应该对应“是”,“中国”这两个,预测下一个词最有可能是什么?就是ot+1应该是“人”的概率比较大。
因此,我们可以做这样的定义:
xt:表示t时刻的输入,ot:表示t时刻的输出,st:表示t时刻的记忆。因为当前时刻的输出是由记忆和当前时刻的输出决定的,就像你现在大四,你的知识是由大四学到的知识(当前输入)和大三以及大三以前学到的东西的(记忆)的结合,RNN在这点上也类似,神经网络最擅长做的就是通过一系列参数把很多内容整合到一起,然后学习这个参数,因此就定义了RNN的基础:
st=f(U*xt+W*st-1)
f()函数是神经网络中的激活函数,但为什么要加上它呢?举个例子,假如在大学学了非常好的解题方法,那初中那时候的解题方法还要用吗?显然是不用了的。RNN的想法也一样,既然能记忆了,那当然是只记重要的信息,其他不重要的,就肯定会忘记。但是在神经网络中什么最适合过滤信息呀?肯定是激活函数,因此在这里就套用一个激活函数,来做一个非线性映射,来过滤信息,这个激活函数可能为tanh或ReLU,也可为其他。
假设大四快毕业了,要参加考研,请问参加考研是不是先记住你学过的内容然后去考研,还是直接带几本书去参加考研呢?很显然嘛,那RNN的想法就是预测的时候带着当前时刻的记忆st去预测。假如你要预测“我是中国“的下一个词出现的概率,这里已经很显然了,运用softmax来预测每个词出现的概率再合适不过了,但预测不能直接带用一个矩阵来预测,所有预测的时候还要带一个权重矩阵V,用公式表示为:
ot=softmax(V*st)
其中,ot就表示时刻t的输出。
需要说明的是,如图5所示的RNN仅作为一种循环神经网络的示例,在具体的应用中,循环神经网络还可以以其他网络模型的形式存在。
图6为本申请实施例提供的一种芯片的硬件结构的示意图。该芯片包括神经网络处理器(neural processing unit,NPU)50。该芯片可以被设置在如图4所示的执行设备110中,用以完成计算模块111的计算工作。该芯片也可以被设置在如图4所示的训练设备120中,用以完成训练设备120的训练工作并输出目标模型/规则101。如图5所示的循环神经网络中的算法可在如图6所示的芯片中得以实现。
本申请实施例的文本翻译方法的具体可以在NPU 50中的运算电路503和/或向量计算单元507中执行,从而得到机器译文。
下面对NPU 50中的各个模块和单元进行简单的介绍。
NPU 50作为协处理器可以挂载到主CPU(host CPU)上,由主CPU分配任务。NPU50的核心部分为运算电路503,在NUP 50工作时,NPU 50中的控制器504可以控制运算电路503提取存储器(权重存储器或输入存储器)中的数据并进行运算。
在一些实现中,运算电路503内部包括多个处理单元(process engine,PE)。在一些实现中,运算电路503是二维脉动阵列。运算电路503还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路503是通用的矩阵处理器。
举例来说,假设有输入矩阵A,权重矩阵B,输出矩阵C。运算电路从权重存储器502中取矩阵B相应的数据,并缓存在运算电路中每一个PE上。运算电路从输入存储器501中取矩阵A数据与矩阵B进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)508中。
向量计算单元507可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元507可以用于神经网络中非卷积/非全连接层(fully connected layers,FC)层的网络计算,如池化(pooling),批归一化(batchnormalization),局部响应归一化(local response normalization)等。
在一些实现种,向量计算单元507能将经处理的输出的向量存储到统一缓存器506。例如,向量计算单元507可以将非线性函数应用到运算电路503的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元507生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路503的激活输入,例如用于在神经网络中的后续层中的使用。
统一存储器506用于存放输入数据以及输出数据。
权重数据直接通过存储单元访问控制器505(direct memory accesscontroller,DMAC)将外部存储器中的输入数据搬运到输入存储器501和/或统一存储器506、将外部存储器中的权重数据存入权重存储器502,以及将统一存储器506中的数据存入外部存储器。
总线接口单元(bus interface unit,BIU)510,用于通过总线实现主CPU、DMAC和取指存储器509之间进行交互。
与控制器504连接的取指存储器(instruction fetch buffer)509,用于存储控制器504使用的指令;
控制器504,用于调用指存储器509中缓存的指令,实现控制该运算加速器的工作过程。
一般地,统一存储器506,输入存储器501,权重存储器502以及取指存储器509均可以为片上(on-chip)存储器。NPU的外部存储器可以为该NPU外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(double data rate synchronous dynamic randomaccess memory,DDR SDRAM)、高带宽存储器(high bandwidth memory,HBM)或其他可读可写的存储器。
图7是本申请实施例提供的一种神经机器翻译系统的示意图。该神经机器翻译系统包括输入缓存区、翻译环境、读写控制智能体及输出缓存区。
其中,翻译环境可以为经过预训练的神经机器翻译模型,该神经机器翻译模型由不同的模型实现,例如,基于RNN的翻译模型RNNSearch、基于CNN的翻译模型ConvS2S或基于自注意力(self attention)的翻译模型Transformer。翻译环境可以包括编码器和解码器,编码器可以由神经机器翻译模型实现,解码器也可以由神经机器翻译模型实现;读写控制智能体可以为循环神经网络,该读写控制智能体可以控制该神经机器翻译系统的读写策略。
在本申请中,图7中的神经机器翻译系统可以为实时翻译系统。如图7所示,图7中的x1、x2、x3、x4、x5为待翻译的源词,为翻译后的目标词,为翻译环境当前的状态信息,该状态信息可以包括解码器的隐藏状态(hidden state)、上下文向量及目标词对应的词向量。
可选地,x1、x2、x3、x4、x5可以为待翻译的同一个句子中的多个词, 可以为翻译后的同一个句子中的多个词。
需要说明的是,前述原文可以包括一个或多个待翻译的源词,前述机器译文可以包括一个或多个翻译后的目标词。为了便于理解,下面将神经机器翻译系统的输入统一称为源词,将神经机器翻译系统的输出统一称为目标词。在图8中,会结合图7对本申请实施例中的文本翻译方法800进行详细描述。
本申请实施例提出一种文本翻译方法,能够降低翻译延迟。
图8是本申请实施例提供的文本翻译方法800的示意性流程图。下面结合附图对本申请实施例的文本翻译方法进行详细介绍。本申请实施例的文本翻译方法可以由图1中的数据处理设备、图2中的用户设备、图3中的执行设备210以及图4中的执行设备110等设备执行,也可以由图7中的神经机器翻译系统执行。
S810,读取输入缓存区中的待翻译的第一源词。
其中,所述第一源词为当前时刻读取的源词。
S820,通过神经机器翻译模型,根据所述第一源词预测翻译后的目标词为第一目标词的第一概率。
在本申请中,可以根据所述第一源词预测出多个候选目标词及所述多个候选目标词对应的概率,所述第一目标词为所述多个目标词中的一个,确定所述第一目标词对应的概率为第一概率。
例如,根据所述第一源词可以预测出三个候选目标词y1、y2、y3,其中,目标词为y1的概率为p1、目标词为y2的概率为p2、目标词为y3的概率为p3。此时,若y1为所述第一目标词,则p1为所述第一概率。
可选地,所述第一目标词可以为所述预测出的多个目标词中概率最大的目标词。
或者,也可以根据所述第一源词和所述第二源词预测出多个候选目标词及所述多个候选目标词对应的概率,确定所述第一目标词对应的概率为第一概率。
或者,还可以根据所述第一源词和所述第一源词所在的待翻译语句中所述第一源词之前的所有源词,预测出多个候选目标词及所述多个候选目标词对应的概率,确定所述第一目标词对应的概率为第一概率。
在本申请实施例中,可以通过以下两种可能的实现方式确定所述第一目标词。
方式一:
根据第二源词确定第一目标词,其中,所述第一目标词对应的概率为第二概率。可选地,然后可以采用前述实施例中的方法,根据第一源词确定所述第一目标词对应的概率为第一概率。
其中,所述第二源词为在所述第一源词之前从所述输入缓存区读取的源词。
在一种可能的实现方式中,根据第二源词进行编码和解码,预测出目标词词典(vocabulary)中的多个候选目标词的概率;确定所述多个候选目标词中概率最大的目标词为所述第一目标词。
例如,根据所述第一源词可以预测出四个候选目标词y1、y2、y3、y4,其中,目标词为y1的概率为p6、目标词为y2的概率为p7、目标词为y3的概率为p8、目标词为y4的概率为p9,此时,若p6最大,则p6为所述第二概率,y1为第一目标词;然后,可以根据所述第一源词确定y1对应的概率为第一概率。
可选地,然后可以采用前述实施例中的方法,根据第一源词确定所述第一目标词对应的概率为第一概率。
在另一种可能的实现方式中,根据所述第二源词和所述第二源词所在的待翻译语句中所述第二源词之前的所有源词进行编码和解码,预测出目标词词典中的多个候选目标词的概率;确定所述多个候选目标词中概率最大的目标词为所述第一目标词,此时,所述第一目标词对应的概率(即最大概率)为第二概率;采用前述实施例中的方法,根据所述第一源词确定所述第一目标词对应的所述第一概率。
例如,如图7所示,当前时刻读入的第一源词为x4,第二源词为x3,x1、x2为在x3之前已经从所述输入缓存区读取的源词,可以根据x1、x2及x3进行编码和解码,预测出目标词词典中的多个候选目标词的概率,此时,所述第一目标词由如下公式得到:
其中,为翻译环境的参数,即预训练神经机器翻译模型的参数,具体可以参考现有技术,这里不再赘述。
通过方式一中的方法,利用第二源词和在第二源词之前已读入的源词进行编码和解码,确定出所述第一目标词,能够在机器翻译的过程中更充分地利用上下文信息,从而能够提高翻译精度。
可选地,方式一中的方法可以在S820之前执行,或者,方式一中的方法也可以在S810之前执行。
方式二:
根据第一源词确定第一目标词,其中,所述第一目标词对应的概率为第一概率。可选地,然后可以根据第二源词确定所述第一目标词对应的概率为第二概率。
其中,所述第二源词为在所述第一源词之前从所述输入缓存区读取的源词。
根据所述第一源词预测目标词词典中的多个候选目标词的概率;确定所述多个候选目标词中概率最大的目标词为所述第一目标词,所述第一目标词对应的概率(即最大概率)为第一概率。
可选地,然后可以根据第二源词确定所述第一目标词对应的概率为第二概率,或者,根据第二源词和所述第二源词所在的待翻译语句中所述第二源词之前的所有源词确定所述第一目标词对应的概率为第二概率。
在一种可能的实现方式中,可以根据所述第一源词和所述第二源词进行编码和解码,预测出目标词词典中的多个候选目标词的概率;确定所述多个候选目标词中概率最大的目标词为所述第一目标词,从而可以确定所述第一目标词对应的所述第一概率。
可选地,可以根据所述第一源词、所述第二源词及翻译环境之前的状态信息(隐藏状态及上下文信息等)进行编码和解码,预测出目标词词典中的多个候选目标词的概率。
在另一种可能的实现方式中,根据所述第一源词和所述第一源词所在的待翻译语句中所述第一源词之前的所有源词进行编码和解码,预测出目标词词典中的多个候选目标词的概率;确定所述多个候选目标词中概率最大的目标词为所述第一目标词,从而可以确定所述第一目标词对应的所述第一概率。
例如,如图7所示,当前时刻读入的第一源词为x4,x1、x2、x3为在x4之前已经从所述输入缓存区读取的源词,可以根据x1、x2、x3及x4进行编码和解码,预测出目标词词典中的多个候选目标词的概率,此时,所述第一目标词由如下公式得到:
其中,为翻译环境的参数。
可选地,然后可以根据第二源词确定所述第一目标词对应的概率为第二概率。
通过方式二中的方法,利用已读入的源词和当前时刻读入的源词进行编码和解码,确定出所述第一目标词,能够在机器翻译的过程中更充分地利用上下文信息,从而能够提高翻译精度。
可选地,方式二中的方法可以在S820之前执行。
需要说明的是,在本申请实施例中,翻译环境采用的神经机器翻译模型的编码器和连续翻译场景下的普通编码器结构一致,例如,可以为双向RNN,可以为基于卷积的神经网络或者基于自注意力机制的神经网络。
S830,当所述第一概率和第二概率之间的变化率大于或等于变化率阈值时,将所述第一目标词写入输出缓存区。
其中,所述第二概率为根据第二源词预测目标词为所述第一目标词的概率,所述第二源词为在所述第一源词之前从所述输入缓存区读取的源词。
例如,如图7所示,当前时刻读入的第一源词为x4,第二源词为x3,当x4与x3之间的变化率大于或等于变化率阈值时,将预测出的第一目标词写入缓存区。
可选地,所述第一概率和所述第二概率之间的变化率可以为所述第一概率和所述第二概率之间的差值。例如,所述第一概率和所述第二概率之间的变化率可以为所述第一概率和所述第二概率之间的对数差值。
例如,对于上述方式一,第一源词为x4,x1、x2、x3为在x4之前已经从所述输入缓存区读取的源词,则所述第一概率和第二概率之间的变化率可以由如下公式得到:
其中,为所述第一概率和第二概率之间的变化率,为所述第一概率,为所述第二概率,为翻译环境的参数。
再例如,对于上述方式二,第一源词为x4,x1、x2、x3为在x4之前已经从所述输入缓存区读取的源词,则所述第一概率和第二概率之间的变化率可以由如下公式得到:
其中,为所述第一概率和第二概率之间的变化率,为所述第一概率,为所述第二概率,为翻译环境的参数。
在本申请中,当所述第一概率和所述第二概率之间的变化率小于所述变化率阈值时,等待读取所述输入缓存区的下一个源词。
例如,如图7所示,当前时刻读入的第一源词为x4,第二源词为x3,当x4与x3之间的变化率小于变化率阈值时,等待读取所述输入缓存区的x5。应理解,这里的等待读取可以是指立即读取输入缓存区中的下一个源词(例如图7中所示的x5);也可以是指在下一读取时刻读取输入缓存区中的下一个源词(x5);还可以指等待其他系统或装置将下一个源词写入所述输入缓存区(即输入缓存区中暂时还没有待翻译的下一个源词),待该下一个源词(x5)写入所述输入缓存区后,立即读取输入缓存区中的下一个源词(x5),或在下一读取时刻读取输入缓存区中的下一个源词(x5)。对于S820中的方式一,根据所述第二源词预测出多个候选目标词的概率,所述多个候选目标词中概率最大的目标词为所述第一目标词,此时,第二概率可以为该第一目标词对应的概率(即所述多个目标词对应的最大概率)。
相应地,可以根据第一源词进行编码和解码,预测出多个候选目标词的概率,此时,第一概率为所述第一目标词对应的概率(而不是所述多个目标词对应的最大概率)。
或者,可以根据第一源词和第二源词进行编码和解码,预测出多个候选目标词的概率。
或者,还可以根据第一源词和第一源词所在的待翻译语句中所述第一源词之前的所有源词进行编码和解码,预测出多个候选目标词的概率。
对于S820中的方式二,根据所述第一源词预测出多个候选目标词的概率,所述多个候选目标词中概率最大的目标词为所述第一目标词,此时,第一概率可以为该第一目标词对应的概率(即所述多个目标词对应的最大概率)。
或者,可以根据第一源词和第二源词进行编码和解码,预测出多个候选目标词的概率。
或者,还可以根据第一源词和第一源词所在的待翻译语句中所述第一源词之前的所有源词进行编码和解码,预测出多个候选目标词的概率。
相应地,可以根据第二源词进行编码和解码,预测出多个候选目标词的概率,此时,第二概率为所述第一目标词对应的概率(而不是所述多个目标词对应的最大概率)。
可选地,当根据所述第一源词预测出的多个候选目标词对应的最大概率极大时,可以直接进行写操作,例如,可以预先设定第一阈值(对应写操作),当所述最大概率大于或等于所述第一阈值时,直接进行写操作。
可选地,当根据所述第一源词预测出的多个候选目标词对应的最大概率极小时,可以直接进行读操作,例如,可以预先设定第二阈值(对应读操作),当所述最大概率小于或等于所述第二阈值时,直接进行读操作。
在本申请实施例中,所述变化率阈值可以是读写控制智能体确定的,例如,所述变化率阈值可以是读写控制智能体实时更新的;或者,所述变化率阈值可以是预先设置。
可选地,可以根据所述第一源词确定第一状态信息,所述第一状态信息为所述神经机器翻译模型的隐藏状态;根据所述第二源词确定第二状态信息,所述第二状态信息为所述的所述神经机器翻译模型的隐藏状态;根据所述第一目标词的词向量、所述第一状态信息和所述第二状态信息,确定所述变化率阈值。
其中,所述神经机器翻译模型可以包括编码器(encoder)和解码器(decoder),所述隐藏状态可以为所述解码器的隐藏状态。
本申请实施例中的方法,根据读入更多源词时预测的目标词的概率变化,控制系统进行写操作或读操作,可以更好地利用上下文的语义信息,有助于及时进行读写操作,能够降低翻译延迟。
应理解,本申请对方法800中各步骤的执行顺序和方式不作限定。
图9示出了本申请实施例提供的文本翻译装置900的示意性流程图。该文本翻译装置900可以相当于是图1所示的数据处理设备或者图2所示的用户设备。文本翻译装置900可以相当于图3所示的执行设备210、图4所示的执行设备110。
装置900可以包括获取模块910、翻译模块920和控制模块930。其中,装置1000包括的各个模块可以通过软件和/或硬件方式实现。
可选地,所述获取模块910可以是通信接口,或者,所述获取模块910和所述翻译模块920可以为同一个模块。
在本申请中,装置900可以用于执行图8所描述的方法中的步骤。
例如:
获取模块910,用于读取输入缓存区中的待翻译的第一源词;
翻译模块920,用于通过神经机器翻译模型,根据所述第一源词预测翻译后的目标词为第一目标词的第一概率;
控制模块930,用于当所述第一概率和第二概率之间的变化率大于或等于变化率阈值时,将所述第一目标词写入输出缓存区,其中,所述第二概率为根据第二源词预测目标词为所述第一目标词的概率,所述第二源词为在所述第一源词之前从所述输入缓存区读取的源词。
可选地,所述翻译模块920还用于:根据所述第二源词预测目标词词典中的多个候选目标词的概率;确定所述多个候选目标词中概率最大的目标词为所述第一目标词。
可选地,所述翻译模块920具体用于:根据所述第一源词预测目标词词典中的多个候选目标词的概率;确定所述多个候选目标词中概率最大的目标词为所述第一目标词。
可选地,所述翻译模块920具体用于:根据所述第一源词和所述第二源词预测翻译后的目标词为所述第一目标词的所述第一概率。
可选地,所述翻译模块920具体用于:根据所述第一源词和所述第一源词所在的待翻译语句中所述第一源词之前的所有源词,预测翻译后的目标词为所述第一目标词的所述第一概率。
可选地,所述翻译模块920还用于:根据所述第一源词确定第一状态信息,所述第一状态信息为所述神经机器翻译模型的隐藏状态;根据所述第二源词确定第二状态信息,所述第二状态信息为所述的所述神经机器翻译模型的隐藏状态;所述控制模块930还用于:根据所述第一目标词的词向量、所述第一状态信息和所述第二状态信息,确定所述变化率阈值。
可选地,所述神经机器翻译模型包括编码器和解码器,所述隐藏状态为所述解码器的隐藏状态。
可选地,所述控制模块930还用于:当所述第一概率和所述第二概率之间的变化率小于所述变化率阈值时,等待读取所述输入缓存区的下一个源词。
应理解,图9示出的文本翻译装置900仅是示例,本申请实施例的装置还可包括其他模块或单元。
图10示出了本申请实施例提供的文本翻译装置1000的示意性流程图。
其中,文本翻译装置1000可以相当于是图1所示的数据处理设备或者图2所示的用户设备。文本翻译装置1000可以相当于图3所示的执行设备210、图4所示的执行设备110。
图10所示的文本翻译装置1000包括:
存储器1010,用于存储程序;
处理器1020,用于执行所述存储器存储的程序,当所述存储器存储的程序被所述处理器1020执行时,所述处理器1020用于:
读取输入缓存区中的待翻译的第一源词;
通过神经机器翻译模型,根据所述第一源词预测翻译后的目标词为第一目标词的第一概率;
当所述第一概率和第二概率之间的变化率大于或等于变化率阈值时,将所述第一目标词写入输出缓存区,其中,所述第二概率为根据第二源词预测目标词为所述第一目标词的概率,所述第二源词为在所述第一源词之前从所述输入缓存区读取的源词。
上述文本翻译装置1000还可以包含输入输出接口1030,文本翻译装置1000通过输入输出接口1030能够获取原文,具体地,通过输入输出接口1030可以从其他设备(例如,终端设备)获取原文,在获取到原文之后,通过处理器1020的处理能够最终得到机器译文。文本翻译装置1000通过输入输出接口1030能够将机器译文传输给其他设备。
应理解,图10示出的文本翻译装置1000仅是示例,本申请实施例的装置还可包括其他模块或单元。
图11示出了本申请实施例提供的机器翻译系统1100的示意性流程图。
其中,机器翻译系统1100可以相当于是图1所示的数据处理设备或者图2所示的用户设备。机器翻译系统1100可以相当于图3所示的执行设备210、图4所示的执行设备110。
图11所示的机器翻译系统1100包括:
存储器1110,用于存储程序;
处理器1120,用于执行所述存储器存储的程序,当所述存储器存储的程序被所述处理器1120执行时,所述处理器1120用于:
读取输入缓存区中的待翻译的第一源词;
通过神经机器翻译模型,根据所述第一源词预测翻译后的目标词为第一目标词的第一概率;
当所述第一概率和第二概率之间的变化率大于或等于变化率阈值时,将所述第一目标词写入输出缓存区,其中,所述第二概率为根据第二源词预测目标词为所述第一目标词的概率,所述第二源词为在所述第一源词之前从所述输入缓存区读取的源词。
上述机器翻译系统1100还可以包含输入输出接口1130,机器翻译系统1100通过输入输出接口1130能够获取原文,具体地,通过输入输出接口1130可以从其他设备(例如,终端设备)获取原文,在获取到原文之后,通过处理器1120的处理能够最终得到机器译文。机器翻译系统1100通过输入输出接口1130能够将机器译文传输给其他设备。
应理解,图11示出的机器翻译系统1100仅是示例,本申请实施例的机器翻译系统还可包括其他模块或单元。
应理解,本申请实施例中的处理器可以为中央处理单元(central processingunit,CPU),该处理器还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
还应理解,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(read-only memory,ROM)、可编程只读存储器(programmable ROM,PROM)、可擦除可编程只读存储器(erasable PROM,EPROM)、电可擦除可编程只读存储器(electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(random access memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的随机存取存储器(random accessmemory,RAM)可用,例如静态随机存取存储器(static RAM,SRAM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(double data rate SDRAM,DDR SDRAM)、增强型同步动态随机存取存储器(enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(synchlink DRAM,SLDRAM)和直接内存总线随机存取存储器(direct rambus RAM,DR RAM)。
上述实施例,可以全部或部分地通过软件、硬件、固件或其他任意组合来实现。当使用软件实现时,上述实施例可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令或计算机程序。在计算机上加载或执行所述计算机指令或计算机程序时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以为通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集合的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质。半导体介质可以是固态硬盘。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在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 (19)
1.一种文本翻译方法,其特征在于,包括:
读取输入缓存区中的待翻译的第一源词;
通过神经机器翻译模型,根据所述第一源词预测翻译后的目标词为第一目标词的第一概率;
当所述第一概率和第二概率之间的变化率大于或等于变化率阈值时,将所述第一目标词写入输出缓存区,其中,所述第二概率为根据第二源词预测目标词为所述第一目标词的概率,所述第二源词为在所述第一源词之前从所述输入缓存区读取的源词。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
根据所述第二源词预测目标词词典中的多个候选目标词的概率;
确定所述多个候选目标词中概率最大的目标词为所述第一目标词。
3.根据权利要求1所述的方法,其特征在于,在所述读取输入缓存区中的待翻译的第一源词之后,所述方法还包括:
根据所述第一源词预测目标词词典中的多个候选目标词的概率;
确定所述多个候选目标词中概率最大的目标词为所述第一目标词。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述根据所述第一源词预测翻译后的目标词为第一目标词的第一概率,包括:
根据所述第一源词和所述第二源词预测翻译后的目标词为所述第一目标词的所述第一概率。
5.根据权利要求1至4中任一项所述的方法,其特征在于,所述根据所述第一源词预测目标词为第一目标词的所述第一概率,包括:
根据所述第一源词和所述第一源词所在的待翻译语句中所述第一源词之前的所有源词,预测翻译后的目标词为所述第一目标词的所述第一概率。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
根据所述第一源词确定第一状态信息,所述第一状态信息为所述神经机器翻译模型的隐藏状态;
根据所述第二源词确定第二状态信息,所述第二状态信息为所述的所述神经机器翻译模型的隐藏状态;
根据所述第一目标词的词向量、所述第一状态信息和所述第二状态信息,确定所述变化率阈值。
7.根据权利要求6所述的方法,其特征在于,所述神经机器翻译模型包括编码器和解码器,所述隐藏状态为所述解码器的隐藏状态。
8.根据权利要求1至7中任一项所述的方法,其特征在于,所述方法还包括:
当所述第一概率和所述第二概率之间的变化率小于所述变化率阈值时,等待读取所述输入缓存区的下一个源词。
9.一种文本翻译装置,其特征在于,包括:
获取模块,用于读取输入缓存区中的待翻译的第一源词;
翻译模块,用于通过神经机器翻译模型,根据所述第一源词预测翻译后的目标词为第一目标词的第一概率;
控制模块,用于当所述第一概率和第二概率之间的变化率大于或等于变化率阈值时,将所述第一目标词写入输出缓存区,其中,所述第二概率为根据第二源词预测目标词为所述第一目标词的概率,所述第二源词为在所述第一源词之前从所述输入缓存区读取的源词。
10.根据权利要求9所述的装置,其特征在于,所述翻译模块还用于:
根据所述第二源词预测目标词词典中的多个候选目标词的概率;
确定所述多个候选目标词中概率最大的目标词为所述第一目标词。
11.根据权利要求9所述的装置,其特征在于,所述翻译模块具体用于:
根据所述第一源词预测目标词词典中的多个候选目标词的概率;
确定所述多个候选目标词中概率最大的目标词为所述第一目标词。
12.根据权利要求9至11中任一项所述的装置,其特征在于,所述翻译模块具体用于:
根据所述第一源词和所述第二源词预测翻译后的目标词为所述第一目标词的所述第一概率。
13.根据权利要求9至12中任一项所述的装置,其特征在于,所述翻译模块具体用于:
根据所述第一源词和所述第一源词所在的待翻译语句中所述第一源词之前的所有源词,预测翻译后的目标词为所述第一目标词的所述第一概率。
14.根据权利要求9至13中任一项所述的装置,其特征在于,所述翻译模块还用于:根据所述第一源词确定第一状态信息,所述第一状态信息为所述神经机器翻译模型的隐藏状态;根据所述第二源词确定第二状态信息,所述第二状态信息为所述的所述神经机器翻译模型的隐藏状态;
所述控制模块还用于:根据所述第一目标词的词向量、所述第一状态信息和所述第二状态信息,确定所述变化率阈值。
15.根据权利要求14所述的装置,其特征在于,所述神经机器翻译模型包括编码器和解码器,所述隐藏状态为所述解码器的隐藏状态。
16.根据权利要求9至15中任一项所述的装置,其特征在于,所述控制模块还用于:
当所述第一概率和所述第二概率之间的变化率小于所述变化率阈值时,等待读取所述输入缓存区的下一个源词。
17.一种文本翻译装置,其特征在于,包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行权利要求1至8中任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序指令,当所述程序指令由处理器运行时,实现权利要求1至8中任一项所述的方法。
19.一种芯片,其特征在于,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,以执行如权利要求1至8中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910486659.5A CN110334359B (zh) | 2019-06-05 | 2019-06-05 | 文本翻译方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910486659.5A CN110334359B (zh) | 2019-06-05 | 2019-06-05 | 文本翻译方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110334359A true CN110334359A (zh) | 2019-10-15 |
CN110334359B CN110334359B (zh) | 2021-06-15 |
Family
ID=68140351
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910486659.5A Active CN110334359B (zh) | 2019-06-05 | 2019-06-05 | 文本翻译方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110334359B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111368556A (zh) * | 2020-03-05 | 2020-07-03 | 深圳市腾讯计算机系统有限公司 | 翻译模型的性能确定方法、置信度确定方法及装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273363A (zh) * | 2017-05-12 | 2017-10-20 | 清华大学 | 一种语言文本翻译方法及系统 |
CN109271646A (zh) * | 2018-09-04 | 2019-01-25 | 腾讯科技(深圳)有限公司 | 文本翻译方法、装置、可读存储介质和计算机设备 |
CN109598002A (zh) * | 2018-11-15 | 2019-04-09 | 重庆邮电大学 | 基于双向循环神经网络的神经机器翻译方法和系统 |
-
2019
- 2019-06-05 CN CN201910486659.5A patent/CN110334359B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107273363A (zh) * | 2017-05-12 | 2017-10-20 | 清华大学 | 一种语言文本翻译方法及系统 |
CN109271646A (zh) * | 2018-09-04 | 2019-01-25 | 腾讯科技(深圳)有限公司 | 文本翻译方法、装置、可读存储介质和计算机设备 |
CN109598002A (zh) * | 2018-11-15 | 2019-04-09 | 重庆邮电大学 | 基于双向循环神经网络的神经机器翻译方法和系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111368556A (zh) * | 2020-03-05 | 2020-07-03 | 深圳市腾讯计算机系统有限公司 | 翻译模型的性能确定方法、置信度确定方法及装置 |
CN111368556B (zh) * | 2020-03-05 | 2024-03-26 | 深圳市腾讯计算机系统有限公司 | 翻译模型的性能确定方法、置信度确定方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110334359B (zh) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112580369B (zh) | 语句复述方法、训练语句复述模型的方法及其装置 | |
WO2021233199A1 (zh) | 搜索推荐模型的训练方法、搜索结果排序的方法及装置 | |
CN112487182A (zh) | 文本处理模型的训练方法、文本处理方法及装置 | |
US20230095606A1 (en) | Method for training classifier, and data processing method, system, and device | |
CN111353076A (zh) | 训练跨模态检索模型的方法、跨模态检索的方法和相关装置 | |
WO2022001805A1 (zh) | 一种神经网络蒸馏方法及装置 | |
KR20200060301A (ko) | 처리방법 및 장치 | |
CN112183718A (zh) | 一种用于计算设备的深度学习训练方法和装置 | |
CN111797970B (zh) | 训练神经网络的方法和装置 | |
CN112883149A (zh) | 一种自然语言处理方法以及装置 | |
US20240135174A1 (en) | Data processing method, and neural network model training method and apparatus | |
CN110083842B (zh) | 译文质量检测方法、装置、机器翻译系统和存储介质 | |
WO2021136058A1 (zh) | 一种处理视频的方法及装置 | |
WO2022088063A1 (zh) | 神经网络模型的量化方法和装置、数据处理的方法和装置 | |
WO2022156475A1 (zh) | 神经网络模型的训练方法、数据处理方法及装置 | |
CN114004383A (zh) | 时间序列预测模型的训练方法、时间序列预测方法及装置 | |
WO2023165361A1 (zh) | 一种数据处理方法及相关设备 | |
CN117501245A (zh) | 神经网络模型训练方法和装置、数据处理方法和装置 | |
CN111160049B (zh) | 文本翻译方法、装置、机器翻译系统和存储介质 | |
CN113095072B (zh) | 文本处理方法及装置 | |
CN116109449A (zh) | 一种数据处理方法及相关设备 | |
CN110334359B (zh) | 文本翻译方法和装置 | |
CN114298289A (zh) | 一种数据处理的方法、数据处理设备及存储介质 | |
WO2023040740A1 (zh) | 神经网络模型优化方法及相关设备 | |
WO2021083312A1 (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 |