译文质量检测方法、装置、机器翻译系统和存储介质与流程

文档序号:18319960发布日期:2019-08-03 10:21阅读:731来源:国知局
译文质量检测方法、装置、机器翻译系统和存储介质与流程

本申请涉及机器翻译技术领域,并且更具体地,涉及一种译文质量检测方法、装置、机器翻译系统和存储介质。



背景技术:

人工智能(artificialintelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

随着人工智能技术的不断发展,让人机之间能够通过自然语言进行交互的自然语言人机交互系统变的越来越重要。人机之间能够通过自然语言进行交互,就需要系统能够识别出人类自然语言的具体含义。通常,系统通过采用对自然语言的句子进行关键信息提取来识别句子的具体含义。

随着机器翻译技术的快速发展,机器翻译得到了越来越广泛的应用。但是,目前通过机器翻译得到的机器译文仍然存在着译文质量较差、译文不可靠等问题。因此,如何检测机器译文的译文质量是一个需要解决的问题。

传统方案主要是通过对机器译文进行人工编辑,得到人工编辑后的机器译文(相当于是比较准确的译文),然后通过分析机器译文与人工编辑后的译文的差异来确定机器译文的译文质量。传统方案这种通过简单的比对机器译文与人工编辑后的差异来确定译文质量的方式比较单一,检测译文质量的效率不高。



技术实现要素:

本申请提供一种译文质量检测方法、装置、机器翻译系统和存储介质,以更有针对性地进行机器译文质量的检测,进而提高译文质量的检测效率。

第一方面,提供了一种译文质量检测方法,该方法包括:获取原文和机器译文;根据原文、机器译文以及机器译文的应用场景,确定机器译文的译文质量。

其中,上述机器译文是原文经过机器翻译系统翻译得到的译文,也就是说,上述机器译文是机器翻译系统对原文进行机器翻译后得到的译文。

应理解,本申请的译文质量检测方法的执行主体可以是译文质量检测装置或者译文质量的检测系统。

上述原文和机器译文均可以属于自然语言,自然语言通常是指一种自然地随文化演化的语言。

可选地,上述原文属于第一自然语言,上述机器译文属于第二自然语言,第一语言和第二语言为不同种类的自然语言。

上述原文属于第一自然语言可以是指上述原文是采用第一自然语言表达的一段文字,上述机器译文属于第二自然语言,可以是指上述机器译文是采用第二自然语言表达的一段文字。上述原文和机器译文可以属于任意两种不同种类的自然语言。

上述机器译文的应用场景可以是后续对机器译文进行处理的下游系统的应用场景,该下游系统的应用场景具体可以是指下游系统的处理任务。

可选地,下游系统的处理任务为情感分类、垃圾邮件检测、意图识别以及命名实体识别等用途中的一种或者多种。

本申请中,在确定机器译文的译文质量时,通过结合机器译文的应用场景,能够更有针对性地对机器译文的译文质量进行检测,可以提高机器译文质量的检测效率。

结合第一方面,在第一方面的某些实现方式中,上述根据原文、机器译文以及机器译文的应用场景,确定机器译文的译文质量,包括:采用下游系统对应的译文质量检测模型对原文和机器译文进行处理,得到机器译文的译文质量。

其中,上述下游系统用于对机器译文进行后续处理,下游系统对应的译文质量检测模型是根据训练样本和训练目标训练得到的,该训练样本包括训练原文和训练机器译文,该训练目标包括训练机器译文的译文质量。

上述训练原文可以是专门用于训练译文质量检测模型的文字,该训练原文可以包含多段文字。上述训练机器译文是训练原文经过机器翻译系统翻译得到的译文(训练机器译文是机器翻译系统对训练原文进行机器翻译得到的译文),训练机器译文的译文质量是根据第一处理结果与第二处理结果之间的差异确定的,其中,第一处理结果为下游系统对训练机器译文进行处理的处理结果,第二处理结果为下游系统对训练原文的参考译文进行处理的处理结果。

应理解,本申请中,当采用下游系统对应的译文质量检测模型对原文和机器译文进行处理时相当于考虑到了机器译文的应用场景,能够更有针对性地对机器译文的译文质量进行检测,可以提高机器译文质量的检测效率。

上述下游系统对应的译文质量检测模型可以是预先训练好的模型。在对译文质量进行检测时,需要采用(后续对机器译文进行处理的)下游系统对应的译文质量检测模型对译文质量进行检测。

上述训练原文、训练机器译文和训练机器译文的译文质量可以统称为训练数据,通过该训练数据对译文质量检测模型进行训练,能够得到译文质量检测模型的模型参数,进而得到训练后的译文质量检测模型,训练后得到的译文质量检测模型可以对原文和机器译文进行处理,从而得到机器译文的译文质量。

本申请中,通过采用训练好的译文质量检测模型对原文和机器译文进行处理,能够提高译文检测的效率。

结合第一方面,在第一方面的某些实现方式中,上述训练原文和训练原文的参考译文来自于已知的双语平行语料。

上述已知的双语平行语料可以来自于本地存储的双语平行语料库,也可以来自于云端存储的双语平行语料库。

通过从已知的双语平行语料库中获取原文和原文的参考译文,能够获取大量的训练数据,减少训练数据的获取难度,进而能够简化根据训练数据得到译文质量检测模型的过程。

可选地,上述训练原文的参考译文为人工编辑后的译文。

一般来说,由于人工编辑者的水平较高,能够确保参考译文的准确性,在参考译文数目相当的情况下,更准确的参考译文才能使译文质量检测模型更精准。因此,在获取到训练原文之后,通过人工编辑获得训练原文的参考译文,能够获取到准确的参考译文,便于后续得到更精准的译文质量检测模型。

结合第一方面,在第一方面的某些实现方式中,上述机器译文的译文质量为机器译文的可接受性信息。

上述机器译文的可接受性信息可以表示机器译文的可接受程度,如果机器译文的可接受程度越大,机器译文的译文质量就越高,反之,机器译文的可接受程度越小,机器译文的译文质量就越差。

可选地,上述机器译文的译文质量为机器译文与标准参考译文之间的差异值。

当机器译文与标准参考译文之间的差异值越大时,机器译文的译文质量越差;当机器译文与标准参考译文之间的差异值越小时,机器译文的译文质量越好。

结合第一方面,在第一方面的某些实现方式中,上述机器译文的可接受性信息用于指示所述机器译文是否可以接受。

此时,机器译文的可接受性信息可以包含一个标识位,该标识位的取值用于表示机器译文是否可以接受,例如,该标识位的取值为1时表示该机器译文可以被接受(机器译文可以送入到下游系统进行处理),该标识位的取值为0时表示该机器译文不可以被接受或者机器译文不被接受(机器译文不能够送入下游系统进行处理)。

结合第一方面,在第一方面的某些实现方式中,上述机器译文的可接受性信息用于指示机器译文被接受的概率或者不被接受的概率。

上述机器译文的可接受性信息具体可以是机器译文被接受的概率的概率值或者机器译文不被接受的概率的概率值。

结合第一方面,在第一方面的某些实现方式中,上述译文质量检测模型为神经网络模型。

本申请中,当译文质量检测模型为神经网络模型时,在对原文和机器译文进行处理得到译文质量的效果更好。

可选地,上述译文质量检测模型为基于支持向量机的模型。

第二方面,提供了一种译文质量检测装置,该装置包括用于执行上述第一方面中的方法中的各个模块。

第三方面,提供了一种机器翻译系统,该机器翻译系统包括机器翻译装置以及第二方面中的译文质量检测装置,其中,机器翻译装置用于对获取原文并对所述原文进行翻译,得到机器译文,译文质量检测装置用于对所述机器译文进行检测,得到所述机器译文的译文质量。

可选地,译文质量检测装置用于对所述机器译文进行检测,得到所述机器译文的译文质量,包括:译文质量检测装置用于根据所述原文、所述机器译文以及所述机器译文的应用场景,确定所述机器译文的译文质量。

第四方面,提供了一种跨语言处理系统,该系统包括:机器翻译装置,用于获取原文,并对所述原文进行翻译,得到机器译文;译文质量检测装置,用于根据所述原文、所述机器译文以及所述机器译文的应用场景,确定所述机器译文的译文质量;下游系统,用于在所述机器译文的译文质量满足预设要求的情况下对所述机器译文进行处理。

上述译文质量检测装置、机器翻译系统和跨语言处理系统可以是一种电子设备(或者是位于电子设备中的模块),该电子设备具体可以是移动终端(例如,智能手机),电脑,个人数字助理,可穿戴设备,车载设备,物联网设备或者其他能够进行自然语言处理的设备。

第五方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第一方面中的方法。

第六方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面中的方法。

第七方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行第一方面中的方法。

可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面中的方法。

第八方面,提供一种电子设备,该电子设备包括上述第二方面中的译文质量检测装置或者上述第三方面中的机器翻译系统或者上述第四方面中的跨语言处理系统。

附图说明

图1是本申请实施例提供的一种自然语言处理的应用场景示意图;

图2是本申请实施例提供的另一种自然语言处理的应用场景示意图;

图3是本申请实施例提供的自然语言处理的相关设备的示意图;

图4是本申请实施例提供的一种系统架构的示意图;

图5是本申请实施例提供的一种根据cnn模型进行译文质量检测的示意图;

图6本申请实施例提供的另一种根据cnn模型进行译文质量检测的示意图;

图7是本申请实施例提供的一种芯片的硬件结构的示意图;

图8是本申请实施例提供的一种应用场景的示意图;

图9是本申请实施例提供的译文质量检测过程的示意图;

图10是本申请实施例提供的译文质量检测方法的示意性流程图;

图11是本申请实施例提供的获取训练数据的过程的示意图;

图12是本申请实施例提供的译文质量检测过程的示意图;

图13是本申请实施例提供的译文质量检测过程的示意图;

图14是本申请实施例提供的译文质量检测过程的示意图;

图15是本申请实施例提供的译文质量检测装置的示意性框图;

图16是本申请实施例提供的机器翻译系统的示意性框图。

具体实施方式

下面将结合附图,对本申请中的技术方案进行描述。

为了更好地理解本申请实施例的方案,下面先结合图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为神经单元的激活函数(activationfunctions),用于将非线性特性引入神经网络中,来将神经单元中的输入信号转换为输出信号。该激活函数的输出信号可以作为下一层卷积层的输入,激活函数可以是sigmoid函数。神经网络是将多个上述单一的神经单元联结在一起形成的网络,即一个神经单元的输出可以是另一个神经单元的输入。每个神经单元的输入可以与前一层的局部接受域相连,来提取局部接受域的特征,局部接受域可以是由若干个神经单元组成的区域。

(2)深度神经网络

深度神经网络(deepneuralnetwork,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)卷积神经网络

卷积神经网络(convolutionalneuronnetwork,cnn)是一种带有卷积结构的深度神经网络。卷积神经网络包含了一个由卷积层和子采样层构成的特征抽取器,该特征抽取器可以看作是滤波器。卷积层是指卷积神经网络中对输入信号进行卷积处理的神经元层。在卷积神经网络的卷积层中,一个神经元可以只与部分邻层神经元连接。一个卷积层中,通常包含若干个特征平面,每个特征平面可以由一些矩形排列的神经单元组成。同一特征平面的神经单元共享权重,这里共享的权重就是卷积核。共享权重可以理解为提取图像信息的方式与位置无关。卷积核可以以随机大小的矩阵的形式初始化,在卷积神经网络的训练过程中卷积核可以通过学习得到合理的权重。另外,共享权重带来的直接好处是减少卷积神经网络各层之间的连接,同时又降低了过拟合的风险。

(4)循环神经网络(recurrentneuralnetworks,rnn)是用来处理序列数据的。在传统的神经网络模型中,是从输入层到隐含层再到输出层,层与层之间是全连接的,而对于每一层层内之间的各个节点是无连接的。这种普通的神经网络虽然解决了很多难题,但是却仍然对很多问题无能无力。例如,你要预测句子的下一个单词是什么,一般需要用到前面的单词,因为一个句子中前后单词并不是独立的。rnn之所以称为循环神经网路,即一个序列当前的输出与前面的输出也有关。具体的表现形式为网络会对前面的信息进行记忆并应用于当前输出的计算中,即隐含层本层之间的节点不再无连接而是有连接的,并且隐含层的输入不仅包括输入层的输出还包括上一时刻隐含层的输出。理论上,rnn能够对任何长度的序列数据进行处理。对于rnn的训练和对传统的cnn或dnn的训练一样。

既然已经有了卷积神经网络,为什么还要循环神经网络?原因很简单,在卷积神经网络中,有一个前提假设是:元素之间是相互独立的,输入与输出也是独立的,比如猫和狗。但现实世界中,很多元素都是相互连接的,比如股票随时间的变化,再比如一个人说了:我喜欢旅游,其中最喜欢的地方是云南,以后有机会一定要去。这里填空,人类应该都知道是填“云南”。因为人类会根据上下文的内容进行推断,但如何让机器做到这一步?rnn就应运而生了。rnn旨在让机器像人一样拥有记忆的能力。因此,rnn的输出就需要依赖当前的输入信息和历史的记忆信息。

(5)损失函数

在训练深度神经网络的过程中,因为希望深度神经网络的输出尽可能的接近真正想要预测的值,所以可以通过比较当前网络的预测值和真正想要的目标值,再根据两者之间的差异情况来更新每一层神经网络的权重向量(当然,在第一次更新之前通常会有初始化的过程,即为深度神经网络中的各层预先配置参数),比如,如果网络的预测值高了,就调整权重向量让它预测低一些,不断地调整,直到深度神经网络能够预测出真正想要的目标值或与真正想要的目标值非常接近的值。因此,就需要预先定义“如何比较预测值和目标值之间的差异”,这便是损失函数(lossfunction)或目标函数(objectivefunction),它们是用于衡量预测值和目标值的差异的重要方程。其中,以损失函数举例,损失函数的输出值(loss)越高表示差异越大,那么深度神经网络的训练就变成了尽可能缩小这个loss的过程。

(6)反向传播算法

神经网络可以采用误差反向传播(backpropagation,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可以是终端,如手机终端,平板电脑,笔记本电脑,增强现实(augmentedreality,ar)/虚拟现实(virtualreality,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,深度卷积神经网络(deepconvolutionalneuralnetwork,dcnn),循环神经网络(recurrentneuralnetwork,rnn)等等。

由于cnn是一种非常常见的神经网络,下面结合图5重点对cnn的结构进行详细的介绍。如上文的基础概念介绍所述,卷积神经网络是一种带有卷积结构的深度神经网络,是一种深度学习(deeplearning)架构,深度学习架构是指通过机器学习的算法,在不同的抽象层级上进行多个层次的学习。作为一种深度学习架构,cnn是一种前馈(feed-forward)人工神经网络,该前馈人工神经网络中的各个神经元可以对输入其中的图像作出响应。

如图5所示,卷积神经网络(cnn)200可以包括输入层110,卷积层/池化层120(其中池化层为可选的),以及神经网络层130。下面对这些层的相关内容做详细介绍。

卷积层/池化层120:

卷积层:

如图5所示卷积层/池化层120可以包括如示例121-126层,在一种实现中,121层为卷积层,122层为池化层,123层为卷积层,124层为池化层,125为卷积层,126为池化层;在另一种实现方式中,121、122为卷积层,123为池化层,124、125为卷积层,126为池化层。即卷积层的输出可以作为随后的池化层的输入,也可以作为另一个卷积层的输入以继续进行卷积操作。

以卷积层121为例,卷积层121可以包括很多个卷积算子,卷积算子也称为核,其在自然语言处理中的作用相当于一个从输入的语音或语义信息中提取特定信息的过滤器,卷积算子本质上可以是一个权重矩阵,这个权重矩阵通常被预先定义。

这些权重矩阵中的权重值在实际应用中需要经过大量的训练得到,通过训练得到的权重值形成的各个权重矩阵可以从输入图像中提取信息,从而帮助卷积神经网络100进行正确的预测。

当卷积神经网络100有多个卷积层的时候,初始的卷积层(例如121)往往提取较多的一般特征,该一般特征也可以称之为低级别的特征;随着卷积神经网络100深度的加深,越往后的卷积层(例如126)提取到的特征越来越复杂,比如高级别的语义之类的特征,语义越高的特征越适用于待解决的问题。

池化层:

由于常常需要减少训练参数的数量,因此卷积层之后常常需要周期性的引入池化层,即如图5中120所示例的121-126各层,可以是一层卷积层后面跟一层池化层,也可以是多层卷积层后面接一层或多层池化层。在自然语言数据处理过程中,池化层的唯一目的就是减少数据的空间大小。

神经网络层130:

在经过卷积层/池化层120的处理后,卷积神经网络100还不足以输出所需要的输出信息。因为如前所述,卷积层/池化层120只会提取特征,并减少输入数据带来的参数。然而为了生成最终的输出信息(所需要的类信息或别的相关信息),卷积神经网络100需要利用神经网络层130来生成一个或者一组所需要的类的数量的输出。因此,在神经网络层130中可以包括多层隐含层(如图5所示的131、132至13n)以及输出层140,该多层隐含层中所包含的参数可以根据具体的任务类型的相关训练数据进行预先训练得到,例如该任务类型可以包括语音或语义识别、分类或生成等等。

在神经网络层130中的多层隐含层之后,也就是整个卷积神经网络100的最后层为输出层140,该输出层140具有类似分类交叉熵的损失函数,具体用于计算预测误差,一旦整个卷积神经网络100的前向传播(如图5由110至140的传播为前向传播)完成,反向传播(如图5由140至110的传播为反向传播)就会开始更新前面提到的各层的权重值以及偏差,以减少卷积神经网络100的损失及卷积神经网络100通过输出层输出的结果和理想结果之间的误差。

需要说明的是,如图5所示的卷积神经网络100仅作为一种卷积神经网络的示例,在具体的应用中,卷积神经网络还可以以其他网络模型的形式存在。

如图6所示,卷积神经网络(cnn)200可以包括输入层110,卷积层/池化层120(其中池化层为可选的),以及神经网络层130,在图6中,卷积层/池化层120中的多个卷积层/池化层并行,将分别提取的特征均输入给全神经网络层130进行处理。

图7为本申请实施例提供的一种芯片的硬件结构的示意图。该芯片包括神经网络处理器(neuralprocessingunit,npu)50。该芯片可以被设置在如图4所示的执行设备110中,用以完成计算模块111的计算工作。该芯片也可以被设置在如图4所示的训练设备120中,用以完成训练设备120的训练工作并输出目标模型/规则101。如图5和图6所示的卷积神经网络中各层的算法均可在如图7所示的芯片中得以实现。

本申请实施例的译文质量检测方法的具体可以在npu50中的运算电路503和/或向量计算单元507中执行,从而得到机器译文的译文质量。

下面对npu50中的各个模块和单元进行简单的介绍。

npu50作为协处理器可以挂载到主cpu(hostcpu)上,由主cpu分配任务。npu50的核心部分为运算电路503,在nup50工作时,npu50中的控制器504可以控制运算电路503提取存储器(权重存储器或输入存储器)中的数据并进行运算。

在一些实现中,运算电路503内部包括多个处理单元(processengine,pe)。在一些实现中,运算电路503是二维脉动阵列。运算电路503还可以是一维脉动阵列或者能够执行例如乘法和加法这样的数学运算的其它电子线路。在一些实现中,运算电路503是通用的矩阵处理器。

举例来说,假设有输入矩阵a,权重矩阵b,输出矩阵c。运算电路从权重存储器502中取矩阵b相应的数据,并缓存在运算电路中每一个pe上。运算电路从输入存储器501中取矩阵a数据与矩阵b进行矩阵运算,得到的矩阵的部分结果或最终结果,保存在累加器(accumulator)508中。

向量计算单元507可以对运算电路的输出做进一步处理,如向量乘,向量加,指数运算,对数运算,大小比较等等。例如,向量计算单元507可以用于神经网络中非卷积/非全连接层(fullyconnectedlayers,fc)层的网络计算,如池化(pooling),批归一化(batchnormalization),局部响应归一化(localresponsenormalization)等。

在一些实现种,向量计算单元507能将经处理的输出的向量存储到统一缓存器506。例如,向量计算单元507可以将非线性函数应用到运算电路503的输出,例如累加值的向量,用以生成激活值。在一些实现中,向量计算单元507生成归一化的值、合并值,或二者均有。在一些实现中,处理过的输出的向量能够用作到运算电路503的激活输入,例如用于在神经网络中的后续层中的使用。

统一存储器506用于存放输入数据以及输出数据。

权重数据直接通过存储单元访问控制器505(directmemoryaccesscontroller,dmac)将外部存储器中的输入数据搬运到输入存储器501和/或统一存储器506、将外部存储器中的权重数据存入权重存储器502,以及将统一存储器506中的数据存入外部存储器。

总线接口单元(businterfaceunit,biu)510,用于通过总线实现主cpu、dmac和取指存储器509之间进行交互。

与控制器504连接的取指存储器(instructionfetchbuffer)509,用于存储控制器504使用的指令;

控制器504,用于调用指存储器509中缓存的指令,实现控制该运算加速器的工作过程。

一般地,统一存储器506,输入存储器501,权重存储器502以及取指存储器509均可以为片上(on-chip)存储器。npu的外部存储器可以为该npu外部的存储器,该外部存储器可以为双倍数据率同步动态随机存储器(doubledataratesynchronousdynamicrandomaccessmemory,ddrsdram)、高带宽存储器(highbandwidthmemory,hbm)或其他可读可写的存储器。

下面结合附图对本申请实施例的译文质量检测方法进行详细介绍。本申请实施例的译文质量检测方法可以由图1中的数据处理设备、图2中的用户设备、图3中的执行设备210以及图4中的执行设备110等设备执行。

图8是本申请实施例提供的一种应用场景的示意图。如图8所示,通过机器翻译系统对原文进行翻译能够得到机器译文,机器译文可以送入到下游系统中进行处理。本申请实施例的译文质量检测方法能够(在机器译文送入到下游系统进行处理之前)对机器译文的译文质量进行检测或者评估,从而获取机器译文的译文质量,便于根据机器译文的译文质量来确定是否将机器译文送入到下游系统中进行处理。

图9是本申请实施例提供的一种译文质量检测过程的示意图。如图9所示,机器翻译系统对原文进行机器翻译后得到机器译文,接下来,机器译文和原文被送入到译文质量检测系统中进行质量检测,以确定机器译文的译文质量,当机器译文的译文质量满足要求时(例如,机器译文的译文质量较好),可以将机器译文送入到下游系统进行处理,而当机器译文的译文质量不能满足要求时(例如,机器译文的译文质量较差),可以将机器译文送入到其他处理模块中进行其他处理(例如,可以将机器译文舍弃掉不做处理)。

机器译文的译文质量一般与机器译文的具体应用场景存在很大的关联关系,对于同一条机器译文,在面对不同的下游任务(下游系统对机器译文进行处理的任务可以称为下游任务)时,该机器译文的可接受性可能不太相同。也就是说,机器译文的译文质量标准跟机器译文的具体应用场景相关,因此,在本申请实施例中,通过结合机器译文的应用场景,能够更有针对性地确定机器译文的译文质量。

图10是本申请实施例提供的译文质量检测方法的示意性流程图。图10所示的方法可以由译文质量检测系统(具体可以是如图9中所示的译文质量检测系统)执行,该译文质量检测系统具体可以是图1中的数据处理设备,也可以是图2中的用户设备,也可以是图3中的执行设备210,也可以是图4中的执行设备110。图10所示的方法包括步骤1001和步骤1002,下面分别对这两个步骤进行详细的介绍。

1001、获取原文和机器译文。

其中,上述机器译文是原文经过机器翻译系统翻译得到的译文,也就是说,上述机器译文是机器翻译系统对原文进行机器翻译得到的译文。

当10所示的方法由图9所示的译文质量检测系统执行时,上述步骤1001中的机器译文可以是经过图9中的机器翻译系统进行机器翻译得到的译文。

上述原文和机器译文均可以属于自然语言,其中,自然语言通常是指一种自然地随文化演化的语言。

上述原文可以是采用某种自然语言书写得到的一段文字,例如,上述原文可以是一段英文或者中文等等。

可选地,上述原文属于第一自然语言,上述机器译文属于第二自然语言,第一语言和第二语言为不同的自然语言。

应理解,上述原文属于第一自然语言可以是指上述原文是采用第一自然语言表达的一段文字,上述机器译文属于第二自然语言,可以是指上述机器译文是采用第二自然语言表达的一段文字。上述原文和机器译文可以属于任意两种不同的自然语言。

例如,上述原文可以是一段中文,该原文的机器译文可以是一段英文(通过机器翻译系统对这段中文进行翻译,得到了一段英文)。

再如,上述原文可以是一段中文,该中文的机器译文可以是一段日文(通过机器翻译系统对这段中文进行翻译,得到了一段日文)。

1002、根据原文、机器译文以及机器译文的应用场景,确定机器译文的译文质量。

当10所示的方法由图9所示的译文质量检测系统执行时,下游系统能够体现出机器译文的应用场景,步骤1002中的机器译文的应用场景可以是后续对机器译文进行处理的下游系统的应用场景,该下游系统的应用场景具体可以是指下游系统的处理任务。

例如,下游系统的处理任务可以是情感分类、垃圾邮件检测、意图识别以及命名实体识别等用途中一种或者多种。

其中,命名实体识别(namedentityrecognition,ner),又可以称为“专名识别”,具体是指识别文本中具有特定意义的实体,该实体主要包括人名、地名、机构名、专有名词等。

本申请中,在确定机器译文的译文质量时,通过结合机器译文的应用场景,能够更有针对性地对机器译文的译文质量进行检测,可以提高机器译文质量的检测效率。

可选地,上述步骤1002中根据原文、机器译文以及机器译文的应用场景,确定机器译文的译文质量,具体包括:采用下游系统对应的译文质量检测模型对原文和机器译文进行处理,得到机器译文的译文质量。

其中,上述下游系统用于对机器译文进行后续处理,该下游系统能够反映机器译文的应用场景,因此,在根据下游系统对应的译文质量检测模型对原文和机器译文进行处理时相当于考虑到了机器译文的应用场景。

下游系统对应的译文质量检测模型可以是根据训练样本和训练目标训练得到的,其中,该训练样本包括训练原文和训练机器译文,该训练目标包括训练机器译文的译文质量。

上述训练机器译文可以是训练原文经过机器翻译系统翻译得到的译文,也就是说,上述训练机器译文是机器翻译系统对训练原文进行机器翻译后得到的译文,上述训练机器译文的译文质量可以是根据下游系统对训练机器译文的处理结果以及下游系统对训练原文的参考译文的处理结果确定的。

具体地,上述训练机器译文的译文质量可以是根据下游系统对训练机器译文的处理结果与下游系统对训练原文的参考译文的处理结果之间的差异确定的。也就是说,可以根据下游系统对训练机器译文的处理结果与下游系统对训练原文的参考译文的处理结果之间的差异来确定训练机器译文的译文质量。

进一步的,上述训练机器译文的译文质量可以是根据第一处理结果和第二处理结果之间的差异来确定的。也就是说,可以根据第一处理结果与第二处理结果之间的差异来确定训练机器译文的译文质量,其中,第一处理结果为下游系统对训练机器译文进行处理的处理结果,第二处理结果为下游系统对训练原文的参考译文进行处理的处理结果。

例如,当上述第一处理结果与第二处理结果之间的差异较小时,训练机器译文的译文质量比较好,当上述第一处理结果与第二处理结果之间的差异较大时,训练机器译文的译文质量比较差。

上述下游系统对应的译文质量检测模型可以是预先训练好的模型。在对译文质量进行检测时,需要采用(后续对机器译文进行处理的)下游系统对应的译文质量检测模型对译文质量进行检测。

上述训练原文、训练机器译文和训练机器译文的译文质量可以统称为训练数据,通过该训练数据对译文质量检测模型进行训练,能够得到译文质量检测模型的模型参数,进而得到训练后的译文质量检测模型,该训练后得到的译文质量检测模型可以对原文和机器译文进行处理,从而得到机器译文的译文质量。

上述训练原文和训练机器译文可以称为训练输入数据,在对机器译文的译文质量检测模型进行训练时,通过输入训练输入数据,使得译文质量检测模型的输出与训练目标尽可能地接近,并在译文质量检测模型的输出与训练目标的差满足预设要求(例如,译文质量检测模型的输出与训练目标的差小于预设阈值)时的模型参数确定为译文质量检测模型的最终模型参数。

可选地,上述训练原文和训练原文的参考译文来自于已知的双语平行语料。

上述已知的双语平行语料可以来自于本地存储的双语平行语料库,也可以来自于云端存储的双语平行语料库。

通过从已知的双语平行语料库中获取原文和原文的参考译文,能够减少训练数据的获取难度,进而能够简化根据训练数据得到译文质量检测模型的过程。

可选地,上述训练原文的参考译文为人工编辑后的译文。

一般来说,由于人工编辑者的水平较高,能够确保参考译文的准确性,在参考译文数目相当的情况下,更准确的参考译文才能使译文质量检测模型更精准。因此,在获取到训练原文之后,通过人工编辑获得训练原文的参考译文,能够获取到准确的参考译文,便于后续得到更为准确的译文质量检测模型。

在本申请中,译文质量检测模型可以是根据训练数据训练得到的,这里的训练数据包括训练原文,训练机器译文和训练机器译文的译文质量,下面对结合附图对训练数据的获取过程进行简单的介绍。

图11是本申请实施例提供的获取训练数据的示意图。

如图11所示,机器翻译系统对训练原文进行机器翻译,得到训练机器译文,下游系统对训练机器译文进行处理,得到第一处理结果,另外,下游系统还需要对训练原文的参考译文进行处理,得到第二处理结果;接下来,可以再根据第一处理结果与第二处理结果的差异来确定训练机器译文的译文质量。

其中,根据第一处理结果与第二处理结果的差异来确定训练机器译文的译文质量具体可以由下游系统本身来执行,也可以由下游系统之外的其他设备或者装置来执行。

图11中的训练原文和训练原文的参考译文可以来自于已知的双语平行语料,并且,该训练原文可以包含多段文字(此时,训练原文的参考译文是该多段文字分别对应的参考译文)。

由于训练原文一般会包含大量的数据,因此,通过图11所示的过程能够得到大量的训练数据,该训练数据可以表示为(<训练原文训练机器译文>,训练机器译文的译文质量),这些训练数据可以用于后续对译文质量检测模型进行训练。

通过图11所示的过程得到了训练数据之后,可以对译文质量检测模型进行训练,并在后续利用译文质量检测模型对译文质量进行检测,以确定机器译文的译文质量。

下面结合例一和例二来说明如何确定训练译文的译文质量,进而得到训练数据。

例一:下游系统执行的是主观性分类任务。

在例一中,原文和原文的参考译文如下所示:

原文1:我以为昨天夜里下雨了。

原文1的参考译文:ithoughtitrainedlastnight.

下游系统对原文1的参考译文的处理结果如下:

原文1的参考译文:ithoughtitrainedlastnight.(分类结果:主观)。

机器翻译系统对原文1进行机器翻译后得到的译文具体为机器译文1a或者机器译文1b,这两个机器译文具体如下所示:

机器译文1a:ithoughtitrainedyesterday.

机器译文1b:itrainedlastnight.

采用下游系统分别对机器译文1a和机器译文1b进行处理,得到的具体处理结果和可接受性标注信息如下所示:

机器译文1a:ithoughtitrainedyesterday.(分类结果:主观;可接受性标注:可接受);

机器译文1b:itrainedlastnight.(分类结果:客观;可接受性标注:不可接受)。

其中,采用下游系统对对机器译文1a进行处理,得到的处理结果为主观,与原文1的处理结果相同。可以认为机器译文1a的译文质量满足要求,机器译文1a的译文质量为可接受。

采用下游系统对对机器译文1b进行处理,得到的处理结果为客观,与原文1的处理结果不同。可以认为机器译文1b的译文质量不能满足要求,机器译文1b的译文质量为不可接受。

通过以上处理可以得到以下训练数据:

(<原文1机器译文1a>,可接受);

(<原文1机器译文1b>,不可接受)。

在上面的例子中,机器译文1a中的“夜里”没有被翻译出来,但是不影响后续的分类结果,下游系统对机器译文1a的分类结果仍然为主观,机器译文1a的分类结果与原文1的参考译文的分类结果相同,因此,对于下游系统的分类任务来说,机器译文1a是可以接受的。

而在机器译文1b中,由于“我认为”没有被翻译出来,下游系统对机器译文1b的分类结果是客观,与原文1的参考译文的分类结果不同,因此,机器译文1b是不可接受的。

例一中是以下游系统执行的是主观性分类任务为例对获取数据的过程进行了说明,下面结合例二以下游系统执行的是命名实体的识别为例对获取数据的过程进行说明。

例二:下游系统执行的是命名实体的识别。

在例二中,原文和原文的参考译文如下所示:

原文2:布什与沙龙在纽约进行会谈。

原文2的参考译文:bushheldatalkwithsharoninnewyork.

下游系统对原文2的参考译文的识别结果为:(命名实体:bush,sharon,newyork)。

机器翻译系统对原文2进行机器翻译后得到的译文是机器译文2a、机器译文2b和机器译文2c中的任意一种,这些机器译文具体如下所示:

机器译文2a:bushandsharoninnewyork.

机器译文2b:bushgaveatalkatasaloninnewyork.

机器译文2c:bushheldatalkwithshalonginnewyork.

下游系统对以上三个机器译文的处理结果以及三个机器译文的可接受性标注信息如下所示:

机器译文2a:bushandsharoninnewyork.(命名实体:bush,sharon,newyork;可接受性标注:可接受);

机器译文2b:bushgaveatalkatasaloninnewyork.(命名实体:bush,newyork;可接受性标注:不可接受);

机器译文2c:bushheldatalkwithshalonginnewyork.(命名实体:bush,shalong,newyork;可接受性标注:不可接受)。

根据下游系统对原文2的参考译文的识别结果可知,参考译文中共有3个命名实体。在机器译文2a中,3个命名实体均翻译正确,可以将机器译文2a标注为可接受。在机器译文2b中,“沙龙”这个命名实体没有被翻译出来,可以将机器译文2b标注为不可接受。在机器译文2c中,“沙龙”翻译有误,可以将机器译文2b也标注为不可接受。这样标注后就可以得到三个训练数据,具体如下所示:

(<原文2机器译文2a>,可接受);

(<原文2机器译文2b>,不可接受);

(<原文2机器译文2c>,不可接受)。

在以上这个例子中,判断机器译文2a、机器译文2b和机器译文2c是否可以接受均以参考译文与机器译文经过下游系统得到的结果相同为可接受的准则。

事实上,也可以根据实际情况来确定机器译文的可接受准则。例如,如果对命名实体在翻译过程中的遗漏十分敏感,而对命名实体的错误可以容忍的话,则可根据命名实体结果集中的元素数目判断是否可接受。在这种情况下,上述机器译文2a和机器译文2c中进行命名实体识别得到的都是3个命名实体。因此,可以将这两个机器译文都标注为可接受。在这种情况下,标注后得到的三个训练数据,具体如下:

(<原文2机器译文2a>,可接受);

(<原文2机器译文2b>,不可接受);

(<原文2机器译文2c>,可接受)。

应理解,在上述例一和例二中,均是以机器译文的译文质量为机器译文的可接受性为例进行的说明,事实上,机器译文的译文质量还可以有多种表现形式,这里不对机器译文的具体表现形式做任何限定。

图12是本申请实施例提供的一种译文质量检测过程的示意图。

图12所示的过程可以分为两个阶段,一个是训练阶段,一个是检测阶段。在训练阶段中,当获取到训练数据(<训练原文训练机器译文>,训练机器译文的译文质量)之后,可以根据该训练数据对译文质量检测系统中的译文质量检测模型进行训练,在完成译文质量检测模型的训练之后,接下来就可以利用该译文质量检测系统进行译文质量检测了。

应理解,在图12所示的训练阶段采用的训练数据与下面检测阶段中的下游系统是对应的,也就是说,训练数据中的训练机器译文的译文质量是根据下游系统对训练机器译文的处理结果以及下游系统对训练原文的参考译文的处理结果的差异确定的。

在检测阶段,机器翻译系统对原文进行机器翻译得到机器译文,译文质量检测系统根据原文和机器译文来确定机器译文的译文质量,当机器译文的译文质量满足要求时(例如,机器译文的译文质量为可接受),可以将机器译文送入到下游系统中进行处理,当机器译文的译文质量不能满足要求时(例如,机器译文的译文质量为不可接受),那么,可以将机器译文送入到其他处理模块中进行处理。

在本申请中,机器译文的译文质量可以有多种表现形式,下面对机器译文的译文质量的几种可能的表现形式进行介绍。

可选地,机器译文的译文质量可以是下列信息中的任意一种。

(1)机器译文的可接受性信息;

(2)机器译文与标准参考译文之间的差异值。

其中,机器译文的可接受性信息既可以用于指示所述机器译文是否可以接受,也可以指示机器译文被接受的概率或者不被接受的概率。

当机器译文的可接受性信息用于指示所述机器译文是否可以接受时,机器译文的可接受性信息可以包含一个标识位,该标识位的取值用于表示机器译文是否可以接受,例如,该标识位的取值为1时表示该机器译文可以被接受(能够用于下游系统的处理),该标识位的取值为0时表示该机器译文不可以被接受(或者称为不可接受,这种情况下,机器译文不能够用于下游系统的处理)。

当机器译文的可接受性信息用于指示机器译文被接受的概率或者不被接受的概率时,机器译文的可接受性信息具体可以是机器译文被接受的概率的概率值或者机器译文不被接受的概率的概率值。

当上述机器译文的可接受性信息用于指示机器译文被接受的概率时,如果机器译文的被接受的概率大于某个预设数值,那么,该机器译文可以送入到下游系统进行后续处理,否则,该机器译文不能够送入到下游系统进行后续处理。

例如,机器译文被接受的概率为85%,85%大于80%(该预设数值也可以是其它数值,这里仅仅是为了举例说明),该机器译文可以送入到下游系统进行后续处理。

本申请中的译文质量检测模型有多种可能的实现方式,一般而言,凡是能从两种语言的输入句子中提取特征,并执行二分类的模型均可使用。

可选地,上述译文质量检测模型既可以是神经网络模型,也可以是基于支持向量机的模型。

当上述译文质量检测模型为神经网络模型时,由于神经网络模型处理数据的能力较强,因而能够在对原文和机器译文进行处理时的处理效果更好。

下面结合具体的实例对译文质量检测模型对原文和机器译文进行处理,得到机器译文的译文质量的过程进行描述。

图13示出了译文质量检测模型对原文和机器译文的处理过程。

在图13中,在获取到原文和机器译文之后,可以分别将原文和机器译文中的每个词都映射为词向量(wordembedding),然后分别通过双向循环神经网络(recurrentneuralnetwork,rnn)对原文的词向量和机器译文的词向量进行处理,分别得到原文的中间向量和机器译文的中间向量,接下来,再采用注意力机制(attentionmechanism)对原文的中间向量和机器译文的中间向量进行处理,得到一个目标向量,最后再采用前馈神经网络(feed-forwardneuralnetwork)对该目标向量进行处理,从而得到机器译文相对于原文是否可接受的估计。其中,rnn中的网络单元可以为门限循环单元(gatedrecurrentunit,gru)。

上述计算过程可以简化为将原文和机器译文代入到函数f(x,z;φ)中,从而得到机器译文的译文质量,其中,x表示原文,z表示机器译文,φ为译文质量检测模型中的参数,包括词向量参数、循环神经网络参数、注意力机制参数、前馈神经网络参数。在获取译文质量检测模型时,可以将可接受性标注语料作为训练数据集合,采用反向传播(backpropagation)算法进行训练,从而得到译文质量检测模型。其中,m表示可接受性标注语料的条目数,xi为第i个原文,zi为第i个机器译文(zi是对xi进行机器翻译得到的机器译文),yi为zi的可接受性标注(此时,训练数据集合中的机器译文的译文质量采用可接受性标注来表示)。

下面结合图14来更详细地描述译文质量检测模型对原文和机器译文的处理过程。

如图14所示,采用译文质量检测模型对原文和机器译文进行处理具体包括以下步骤:

2001、分别将原文s和机器译文t中的每个词映射为词向量(wordembedding)。

在步骤2001中可以采用公式(1)来获得原文s中的每个词的词向量,采用公式(2)来获得机器译文t中的每个词的词向量。

其中,表示原文s中的第i个词向量,表示源语言词向量参数矩阵,si表示原文s中第i个词以one-hot形式表示的向量(这种向量只有一个特征不为0的,其他都是0),表示机器译文t中的第i个词向量,表示目标语言词向量参数矩阵,ti表示机器译文t中第i个词以one-hot形式表示的向量。

2002、采用rnn分别对原文s中的每个词的词向量和机器译文t中的每个词的词向量进行处理,得到原文s的第一中间向量和机器译文t的第二中间向量。

在步骤2002中可以采用公式(3)对原文s中的每个词的词向量进行处理,采用公式公式(4)对机器译文t中的每个词的词向量进行处理。

其中,在上述公式(3)和(4)中,表示原文s的第一中间向量,bigrus表示源语言双向gru网络对原文词向量执行的运算,表示机器译文t的第二中间向量,bigrut表示目标语言双向gru网络对机器译文词向量执行的运算。

2003、利用非线性层对步骤2002处理得到的原文s的第一中间向量进行非线性处理,得到第三中间向量。

在步骤2003中,可以采用公式(5)对第一中间向量进行非线性处理,得到第三中间向量。

其中,his表示第三中间向量,relu是一种非线性激活函数,wgs表示一个参数矩阵,bgs表示一个参数向量。

2004、利用非线性层对步骤2002处理得到的机器译文t的第二中间向量进行非线性处理,得到第四中间向量。

其中,hit表示第四中间向量,relu是一种非线性激活函数,wgt表示一个参数矩阵,bgt表示一个参数向量。

2005、采用注意力机制对上述步骤2003和步骤2004处理得到的两组句子向量进行处理,得到一个目标向量。

具体地,可以将步骤2003和步骤2004得到的两组句子向量组合起来表示为{hi}i=12l,然后利用公式(7)和公式(8)得到目标向量。

其中,w表示一个参数向量。

2006、通过非线性层和线性层对目标向量进行处理,得到机器译文相对于原文是否可接受的估计。

在步骤2006中,可以根据公式(9)和(10)来计算机器译文相对于原文是否可接受的估计。

v=relu(wuu+bu)(9)

p=sigmoid(wvv+bv)(10)

其中,wu,wv表示两个参数矩阵,bu,bv表示两个参数向量。

上文结合附图对本申请实施例的译文质量检测方法进行了详细的描述,下面结合图15对本申请实施例的译文质量检测装置进行描述,应理解,图15中描述的译文质量检测装置2000能够执行本申请实施例的译文检测方法的各个步骤,下面在介绍本申请实施例的译文检测装置时适当省略重复的描述。

图15所示的译文检测装置3000包括:

存储器3001,用于存储程序;

处理器3002,用于执行所述存储器存储的程序,当所述存储器存储的程序被所述处理器3002执行时,所述处理器3002用于:

获取原文和机器译文,所述机器译文是所述原文经过机器翻译系统翻译得到的译文;

根据所述原文、所述机器译文以及所述机器译文的应用场景,确定所述机器译文的译文质量。

应理解,上述译文检测装置3000除了包含存储器3001和处理器3002之外,还可以包括输入输出接口3003,通过该输入输出接口3003能够从其他设备(例如,机器翻译系统)获取原文和机器译文,在获取到原文和机器译文之后,可以采用处理器3002对原文和机器译文进行处理,得到机器译文的译文质量。进一步的,在得到机器译文的译文质量之后,译文装置3000还可以通过输入输出接口3003将机器译文的译文质量传输给其他设备(例如,下游系统)。

上述译文检测装置3000相当于图9和图12中所示的译文质量检测系统,能够用于检测机器翻译系统翻译得到的机器译文的译文质量。

上述译文检测装置3000可以相当于是图1所示的数据处理设备或者图2所示的用户设备。译文检测装置3000可以相当于图3所示的执行设备210、图4所示的执行设备110。

图16是本申请实施例提供的机器翻译系统的示意性框图。

图16所示的机器翻译系统4000包括:

存储器4001,用于存储程序;

处理器4002,用于执行所述存储器存储的程序,当所述存储器存储的程序被所述处理器4002执行时,所述处理器4002用于:

获取原文;

对所述原文进行翻译,得到所述原文的机器译文;

根据所述原文、所述机器译文以及所述机器译文的应用场景,确定所述机器译文的译文质量。

上述机器翻译系统4000还可以包含输入输出接口4003,机器翻译系统4000通过输入输出接口4003能够获取原文,具体地,通过输入输出接口4003可以从其他设备(例如,终端设备)获取原文,在获取到原文之后,通过处理器4002的处理能够最终得到机器译文的译文质量。机器翻译系统4000通过输入输出接口4003能够将机器译文的质量传输给其他设备(例如,下游系统)。

在这里,机器翻译系统4000不仅可以实现对原文的翻译,还能够对自身翻译得到的机器译文进行检测,从而得到机器译文的译文质量。这里的机器翻译系统4000相当于图9、图12中所示的机器翻译系统和译文质量检测系统的组合。

机器翻译系统4000可以相当于是图1所示的数据处理设备或者图2所示的用户设备。机器翻译系统4000可以相当于图3所示的执行设备210、图4所示的执行设备110。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1