CN113761888A - 文本翻译方法、装置、计算机设备及存储介质 - Google Patents

文本翻译方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN113761888A
CN113761888A CN202110461601.2A CN202110461601A CN113761888A CN 113761888 A CN113761888 A CN 113761888A CN 202110461601 A CN202110461601 A CN 202110461601A CN 113761888 A CN113761888 A CN 113761888A
Authority
CN
China
Prior art keywords
sample
translation
model
character
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.)
Pending
Application number
CN202110461601.2A
Other languages
English (en)
Inventor
王龙跃
丁亮
涂兆鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent Technology Shenzhen Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN202110461601.2A priority Critical patent/CN113761888A/zh
Publication of CN113761888A publication Critical patent/CN113761888A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/126Character encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Machine Translation (AREA)

Abstract

本申请公开了一种文本翻译方法、装置、计算机设备及存储介质,属于计算机技术领域。本申请通过对粗粒度的样本语句拆分成细粒度的样本短语和更细粒度的样本字符,并利用样本字符使得学生模型先学习较为简单、易于学习的字符知识,再利用样本短语使得第一翻译模型学习更复杂的短语知识,最后利用样本语句使得第二翻译模型学习最为复杂的语句知识,由于目标翻译模型支持对输入字符并行翻译,因此目标翻译模型的翻译速度不会受到损失,并且在不额外引入训练数据量和模型参数的情况下,又大大提升了目标翻译模型的翻译准确度。

Description

文本翻译方法、装置、计算机设备及存储介质
技术领域
本申请涉及计算机技术领域,特别涉及一种文本翻译方法、装置、计算机设备及存储介质。
背景技术
随着计算机技术的发展,在机器翻译领域中,基于深度学习的机器翻译方法逐渐成为了一个热门课题,目前主流的神经机器翻译模型为自回归机器翻译(AutoregressiveMachine Translation,AT)模型,即每一步的译文字符的生成都依赖于之前的翻译结果,因此AT模型只能逐词生成译文,即支持串行翻译,翻译速度较慢。
在此基础上,非自回归机器翻译(Non-Autoregressive Machine Translation,NAT)模型应运而生,NAT模型能够并行解码出整句译文,即支持并行翻译,能够显著地提升模型的翻译速度,但代价是翻译准确度较低,主要表现为在长句上的翻译效果较差、在语序差异较大的语种上表现不佳、在一对多翻译任务上翻译准确度较低等,因此亟需一种能够在不影响如NAT模型等支持并行翻译的机器翻译模型的翻译速度的情况下,提升如NAT模型等支持并行翻译的机器翻译模型的翻译准确度的方法。
发明内容
本申请实施例提供了一种文本翻译方法、装置、计算机设备及存储介质,能够在不影响翻译速度的情况下提高如NAT模型等支持并行翻译的机器翻译模型的翻译准确度。该技术方案如下:
一方面,提供了一种文本翻译方法,该方法包括:
获取样本语句中的样本字符和样本短语;
基于所述样本字符,对学生模型进行参数调整,得到第一翻译模型,所述学生模型支持对输入的多个字符进行并行翻译处理;
基于所述样本短语,对所述第一翻译模型进行参数调整,得到第二翻译模型;
基于所述样本语句,对所述第二翻译模型进行参数调整,得到目标翻译模型,所述目标翻译模型用于将输入语句转换为具有相同语义的译文语句。
一方面,提供了一种文本翻译装置,该装置包括:
获取模块,用于获取样本语句中的样本字符和样本短语;
第一调整模块,用于基于所述样本字符,对学生模型进行参数调整,得到第一翻译模型,所述学生模型支持对输入的多个字符进行并行翻译处理;
第二调整模块,用于基于所述样本短语,对所述第一翻译模型进行参数调整,得到第二翻译模型;
第三调整模块,用于基于所述样本语句,对所述第二翻译模型进行参数调整,得到目标翻译模型,所述目标翻译模型用于将输入语句转换为具有相同语义的译文语句。
在一种可能实施方式中,所述第一调整模块用于:
调用所述学生模型对所述样本字符进行翻译,得到译文字符;
基于参考字符和所述译文字符,确定第一损失值,所述参考字符与所述样本字符具有相同的语义;
基于所述第一损失值,对所述学生模型进行参数调整,得到所述第一翻译模型。
在一种可能实施方式中,所述装置还包括:
第一翻译模块,用于调用教师模型对所述样本字符进行翻译,得到所述参考字符,所述教师模型支持对输入的多个字符进行串行翻译处理。
在一种可能实施方式中,所述装置还包括:
第二翻译模块,用于调用教师模型对所述样本语句进行翻译,得到参考语句,所述教师模型支持对输入的多个字符进行串行翻译处理;
第一确定模块,用于基于所述样本语句和所述参考语句,确定字符对齐信息,所述字符对齐信息用于表征所述样本语句中的字符与所述参考语句中的对应字符是否具有相同的语义;
第二确定模块,用于基于所述字符对齐信息,从所述参考语句中确定所述参考字符。
在一种可能实施方式中,所述第二调整模块用于:
调用所述第一翻译模型对所述样本短语进行翻译,得到译文短语;
基于参考短语和所述译文短语,确定第二损失值,所述参考短语与所述样本短语具有相同的语义;
基于所述第二损失值,对所述第一翻译模型进行参数调整,得到所述第二翻译模型。
在一种可能实施方式中,所述装置还包括:
第三翻译模块,用于调用教师模型对所述样本短语进行翻译,得到所述参考短语,所述教师模型支持对输入的多个字符进行串行翻译处理。
在一种可能实施方式中,所述装置还包括:
第二翻译模块,用于调用教师模型对所述样本语句进行翻译,得到参考语句,所述教师模型支持对输入的多个字符进行串行翻译处理;
第一确定模块,用于基于所述样本语句和所述参考语句,确定字符对齐信息,所述字符对齐信息用于表征所述样本语句中的字符与所述参考语句中的对应字符是否具有相同的语义;
第三确定模块,用于基于所述字符对齐信息,从所述参考语句中,确定与所述样本短语中包含的多个样本字符之间具有相同语义的多个参考字符;
第四确定模块,用于将所述多个参考字符确定为所述参考短语。
在一种可能实施方式中,所述第三调整模块用于:
调用所述第二翻译模型对所述样本语句进行翻译,得到译文语句;
基于参考语句和所述译文语句,确定第三损失值,所述参考语句与所述样本语句具有相同的语义;
基于所述第三损失值,对所述第二翻译模型进行参数调整,得到所述目标翻译模型。
在一种可能实施方式中,所述装置还包括:
第二翻译模块,用于调用教师模型对所述样本语句进行翻译,得到所述参考语句,所述教师模型支持对输入的多个字符进行串行翻译处理。
在一种可能实施方式中,所述获取模块包括:
分词处理单元,用于对所述样本语句进行分词处理,得到所述样本字符;
短语抽取单元,用于对所述样本语句进行短语抽取,得到所述样本短语。
在一种可能实施方式中,所述短语抽取单元用于:
获取所述样本语句和参考语句之间的字符对齐信息,所述字符对齐信息用于表征所述样本语句中的字符与所述参考语句中的对应字符是否具有相同的语义;
基于所述字符对齐信息,获取符合目标条件的所述样本短语,所述目标条件为样本短语所包含的至少一个字符在所述字符对齐信息中指示为与所述参考语句中的对应字符具有相同的语义。
一方面,提供了一种计算机设备,该计算机设备包括一个或多个处理器和一个或多个存储器,该一个或多个存储器中存储有至少一条计算机程序,该至少一条计算机程序由该一个或多个处理器加载并执行以实现如上述文本翻译方法。
一方面,提供了一种存储介质,该存储介质中存储有至少一条计算机程序,该至少一条计算机程序由处理器加载并执行以实现如上述文本翻译方法。
一方面,提供一种计算机程序产品或计算机程序,所述计算机程序产品或所述计算机程序包括一条或多条程序代码,所述一条或多条程序代码存储在计算机可读存储介质中。计算机设备的一个或多个处理器能够从计算机可读存储介质中读取所述一条或多条程序代码,所述一个或多个处理器执行所述一条或多条程序代码,使得计算机设备能够执行上述文本翻译方法。
本申请实施例提供的技术方案带来的有益效果至少包括:
通过对粗粒度的样本语句拆分成细粒度的样本短语和更细粒度的样本字符,并利用样本字符使得学生模型先学习较为简单、易于学习的字符知识,再利用样本短语使得第一翻译模型学习更复杂的短语知识,最后利用样本语句使得第二翻译模型学习最为复杂的语句知识,由于目标翻译模型支持对输入字符并行翻译,因此目标翻译模型的翻译速度不会受到损失,并且在不额外引入训练数据量和模型参数的情况下,又大大提升了目标翻译模型的翻译准确度。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还能够根据这些附图获得其他的附图。
图1是本申请实施例提供的一种编解码模型框架的原理图;
图2是本申请实施例提供的一种SAN模型与RNN模型的对比图;
图3是本申请实施例提供的一种AT模型和NAT模型的对比图;
图4是本申请实施例提供的一种文本翻译方法的实施环境示意图;
图5是本申请实施例提供的一种文本翻译方法的流程图;
图6是本申请实施例提供的一种翻译模型的训练过程的流程图;
图7是本申请实施例提供的一种教师模型的框架原理图;
图8是本申请实施例提供的一种第二翻译模型的框架原理图;
图9是本申请实施例提供的一种使用PMG训练策略和使用传统训练策略下训练NAT模型的性能对比图;
图10是本申请实施例提供的一种文本翻译装置的结构示意图;
图11是本申请实施例提供的一种计算机设备的结构示意图;
图12是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请中术语“第一”“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。
本申请中术语“至少一个”是指一个或多个,“多个”的含义是指两个或两个以上,例如,多个第一位置是指两个或两个以上的第一位置。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括音频处理技术、计算机视觉技术、自然语言处理技术以及机器学习/深度学习等几大方向。
让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中,自然语言处理(Nature Language Processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括机器翻译、文本预处理、语义理解、机器人问答、知识图谱等技术。
在NLP领域中,机器翻译(Machine Translation,MT,又称为自动翻译),是指利用计算机将一种自然语言(源语言)转换为另一种自然语言(目标语言)的过程,是计算语言学的一个分支,是人工智能的终极目标之一,具有重要的科学研究价值,同时,机器翻译又具有重要的实用价值。随着经济全球化及互联网的飞速发展,机器翻译技术在促进政治、经济、文化交流等方面起到越来越重要的作用。在机器翻译中,基于深度学习的翻译模型取得了较好的成功。
以下,将对本申请实施例所涉及到的术语进行解释:
深度学习(Deep Learning,DL):是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。
神经网络(Neural Network,NN):在机器学习和认知科学领域的一种模仿生物神经网络结构和功能的深度学习模型。
机器翻译(Machine Translation,MT):利用电子计算机等装置自动地把一种自然语言文字译成另一种自然语言文字。
统计机器翻译(Statistical Machine Translation,SMT):一种传统的基于贝叶斯概率统计的机器翻译技术,能够利用统计特征映射实现字符级别或者短语级别的文本转换。
神经机器翻译(Neural Machine Translation,NMT):一种基于神经网络的机器翻译技术。
交叉注意力机制(Cross-Attention Mechanism):或称为编码器-解码器注意力(Encoder-decoder Attention)机制,一种建模神经网络中编码器与解码器隐藏状态依赖关系的方法,或从解码器出发关注到编码器表示的神经网络结构。
图1是本申请实施例提供的一种编解码模型框架的原理图,如图1所示,示出了一种编码器-解码器的模型框架,在编码器120和解码器140之间,还包含有交叉注意力模块130,交叉注意力模块130用于提取编码器120与解码器140的隐藏状态之间的依赖关系。
自关注神经网络(Self-Attention Network,SAN):一种基于自关注机制的神经网络结构模型。
图2是本申请实施例提供的一种SAN模型与RNN模型的对比图,如图2所示,左侧部分201示出了RNN(Recurrent Neural Network,循环神经网络)模型的数据处理流程,右侧部分202示出了SAN模型的数据处理流程,可以看出SAN模型中相邻的隐藏层中的神经元是全连接的。
序列到序列模型(Sequence to Sequence Model,Seq2Seq):一种输入和输出均为序列的深度神经网络模型。
字符(Tokens):是机器翻译的最小语义单位,即分词。在英文中一个字符是指一个单词(即词汇)或者一个英文标点符号,在中文中一个字符是指一个中文词语(词语可包括一个或多个中文字)或者一个中文标点符号。
短语表(Phrase Table):一种用于表示多个语种短语之间对应关系的列表。
双语评估研究(Bilingual Evaluation Understudy,BLEU):是机器翻译模型的一种评估指标,BLEU值越高表示机器翻译模型的翻译效果越好。
近年来,深度神经网络已经成为人工智能领域的一种核心模型,广泛应用于语音识别、计算机视觉、自然语言处理等领域,并且神经网络模型在多种任务中表现出色,特别是机器翻译任务。在机器翻译领域中,基于编码器-解码器框架的NMT模型得到了突飞猛进的发展,NMT模型的性能远超过了传统的SMT模型,然而,随着NMT模型的深度变深、数据流变大,NMT模型的解码效率逐渐成为应用时的主要问题之一。
主流的NMT模型采取自回归翻译(Autoregressive Machine Translation,AT)机制,也即AT模型是逐词产生译文的,每一步的译文字符的生成都依赖于之前的翻译结果,即AT模型支持串行翻译,因此AT模型的翻译速度较慢。在此基础上,非自回归机器翻译(Non-Autoregressive Machine Translation,NAT)模型应运而生,NAT模型由于对每个译文字符的生成独立建模,因此能够并行解码出整句译文,即NAT模型支持并行翻译,能够显著地提升模型的翻译速度。
图3是本申请实施例提供的一种AT模型和NAT模型的对比图,如图3所示,左侧部分301示出了AT模型的数据处理流程,可以看出AT模型每一步的译文字符的生成都依赖于之前的翻译结果,右侧部分302示出了NAT模型的数据处理流程,可以看出NAT模型对每个译文字符的生成独立建模,从而能够同时生成整句译文。
标准的AT模型在给定源端语句x=x1,...,xI下,直接优化其目标端语句y=y1,...,yJ的条件概率:
Figure BDA0003042579870000081
其中,θ是AT模型的参数,y<j是yj之前的翻译上文。概率P(y|x)定义了基于神经网络的编码器-解码器框架。AT模型的参数θ的训练过程就是最大化训练样本
Figure BDA0003042579870000082
的likelihood(似然值):
Figure BDA0003042579870000083
其中,
Figure BDA0003042579870000084
表示损失值,M表示样本容量。
理想情况下,NAT模型的条件概率则解脱了y<j的条件依赖:
Figure BDA0003042579870000085
需要说明的是,本申请实施例所涉及的“源端”是指源语言一侧未翻译的字符、短语或语句,“目标端”则是指目标语言一侧已翻译的字符、短语或语句,因此,翻译过程就是将待翻译的语句从源语言转换成目标语言的过程。
由此可见,在训练时,AT模型和NAT模型的编码器是相同的,而解码器是不同的。关于目标端的语句长度,AT模型通过预测结束符<eos>来隐式地预测语句长度,而NAT模型显式地预定义输出的语句长度。AT模型的解码器输入需要shift mask(右移)技术来掩盖t时候之后的内容,而NAT模型则不需要。
AT模型主要有两个问题,其一是AT模型的解码速度会随着AT模型的复杂度提高而变慢,其二是AT模型依赖式的解码方式容易造成错误传递问题,即如果某一时刻的字符预测出错,这一错误会被传递至该时刻之后的每个时刻。
如表1所示,分别示出了6层NMT模型和12层NMT模型的解码时长,可以看出,12层NMT模型与6层NMT模型相比,每个语句增加了68%的解码时长,也即AT模型的解码速度会随着AT模型的复杂度提高而变慢。
表1
NMT模型 解码时长(ms/毫秒) 平均语句长度
6层 210 4.76
12层 353 2.83
如表2所示,分别示出了自左向右(L2R)解码方式和自右向左(R2L)解码方式下,前4个字符和最后4个字符各自的翻译正确率,可以看出,L2R解码方式下前4个字符的翻译正确率高于最后4个字符的翻译正确率,说明在最后4个字符之前的其他字符出现的翻译错误被逐词传递,导致翻译正确率下降。同理,R2L解码方式下前4个字符的翻译正确率低于最后4个字符的翻译正确率,说明在前4个字符之后的其他字符出现的翻译错误被逐词传递,导致翻译正确率下降。
表2
解码方式 前4个字符翻译正确率 最后4个字符翻译正确率
L2R 40.21% 35.10%
R2L 35.67% 39.47%
NAT模型的提出则能够很好地缓解AT模型所出现的上述两个问题,由于NAT模型缺少目标端字符间的依赖建模,NAT模型在翻译性能方面与AT模型存在一定差距。换言之,NAT模型大幅提升翻译速度的代价是翻译准确度较低,主要表现为在长句上的翻译效果较差、在语序差异较大的语种上表现不佳、在一对多翻译任务上翻译准确度较低等。有鉴于此,本申请实施例涉及一种能够在不影响如NAT模型等支持并行翻译的机器翻译模型的翻译速度的情况下,提升如NAT模型等支持并行翻译的机器翻译模型的翻译准确度的方法,下面进行详述。
图4是本申请实施例提供的一种文本翻译方法的实施环境示意图。参见图4,在该实施环境中包括终端410和服务器420,终端410和服务器420均为一种计算机设备。
终端410可以用于提供待翻译文本,用户在终端410上导入待翻译文本之后,终端410生成携带该待翻译文本的翻译请求,向服务器420发送翻译请求,使得服务器420响应于翻译请求,对待翻译文本进行翻译,得到待翻译文本的译文文本,将该译文文本返回至终端410。
终端410和服务器420能够通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
服务器420可以用于提供机器翻译服务,服务器420通过教师-学生的模型训练框架,以AT模型为教师模型,以NAT模型为学生模型为例说明,利用样本语料(包括样本字符、样本短语及样本语句),在教师模型的指导下,对学生模型进行渐进式多粒度地训练,也即让学生模型先学习字符,再学习短语,最后再学习语句,而样本字符和样本短语又均是来源于样本语句,因此能够在不额外引入数据和参数的情况下,以缩短NAT模型和AT模型在翻译性能上的差距,使得如NAT模型等支持并行翻译的机器翻译模型更具有应用价值,其中,NAT模型仅为支持并行翻译的机器翻译模型的一种示例,AT模型也仅为支持串行翻译的机器翻译模型的一种示例。训练完毕的学生模型可称为目标翻译模型,而训练过程是指:对学生模型进行参数调整(可简称为“调参”),以得到目标翻译模型。
可选地,服务器420仅在自身服务端维护该目标翻译模型,使得服务器420能够在接收到终端410的翻译请求时,调用该目标翻译模型对该翻译请求中携带的待翻译文本进行翻译,得到该待翻译文本的译文文本,并将该译文文本返回至终端410,通过将翻译过程迁移至服务器420,能够节约终端410本地的处理资源和计算资源。
可选地,服务器420在训练得到该目标翻译模型之后,将该目标翻译模型发送至终端410,以使得终端410能够在本地调用该目标翻译模型自行对待翻译文本进行翻译,得到待翻译文本的译文文本,而无需每次都向服务器420发送翻译请求,能够降低终端410与服务器420之间的通信开销。
可选地,也可以由终端410在本地训练得到该目标翻译模型后,在本地调用该目标翻译模型自行对待翻译文本进行翻译,得到待翻译文本的译文文本,能够降低终端410与服务器420之间的通信开销。
服务器420可以包括一台服务器、多台服务器、云计算平台或者虚拟化中心中的至少一种。可选地,服务器420可以承担主要计算工作,终端410可以承担次要计算工作;或者,服务器420承担次要计算工作,终端410承担主要计算工作;或者,终端410和服务器420两者之间采用分布式计算架构进行协同计算。
服务器420可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)以及大数据和人工智能平台等基础云计算服务的云服务器。
终端410可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载终端、MP3(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)播放器、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、电子书阅读器等,但并不局限于此。
本领域技术人员可以知晓,终端410可以泛指多个终端中的一个,上述终端的数量可以更多或更少。比如上述终端可以仅为一个,或者上述终端为几十个或几百个,或者更多数量。本申请实施例对终端的数量和设备类型不加以限定。
以下,将对本申请实施例的核心构思进行说明:
在通常的翻译模型的训练过程中,均是以语句为单位,对初始模型进行语句级别的训练,但在人类的翻译实践中,通常会倾向于先翻译较为简单的字符或者短语,再调整语序以翻译出整个语句,在这种思维方式的启发下,对于原始的样本语句,可以尝试将样本语句拆分出样本字符和样本短语,也即将语句级别的训练数据拆分成字符级别的训练数据以及短语级别的训练数据。样本字符、样本短语、样本语句,即可构成从细粒度到粗粒度的三个级别的训练数据,使得在不额外增加训练数据量的情况下,丰富了训练数据的层次和表达能力。
假设细粒度的样本字符更容易被NAT模型(学生模型)学习到,如表3所示,分别针对字符、短语和语句这三个粒度,利用AT模型和NAT模型进行翻译,得到对应情况下的翻译准确率,NAT模型中又细分为传统(Raw)方式训练得到的NAT模型和基于知识蒸馏(Knowledge Distillation,KD)方式训练得到的NAT模型。其中,知识蒸馏指的是将复杂模型(Teacher,教师模型)中学到的知识迁移到简单模型(Student,学生模型)中去,也即由教师模型提炼的合成数据来训练学生模型,以降低数据复杂性,一般来说,教师模型具有强大的能力和表现,而学生模型则体量很小。通过知识蒸馏,希望学生模型能尽可能逼近抑或是超过教师模型的性能,从而用更少的复杂度来获得类似的预测效果,实现模型的压缩和量化。其中,NAT模型仅为支持并行翻译的机器翻译模型的一种示例,AT模型也仅为支持串行翻译的机器翻译模型的一种示例。
表3
Figure BDA0003042579870000121
其中,△是指NAT模型准确率与AT模型准确率之间的差距。
从表3中可以看出,尽管在Raw NAT模型的基础上,通过对AT模型进行知识蒸馏以训练NAT模型,能够在一定程度上改善三个粒度下的翻译性能(表现在KD NAT模型的△绝对值缩小),但KD NAT模型仍然与AT模型的翻译性能存在一定的差距。此外,由于字符粒度的准确率差距△的绝对值小于短语粒度的准确率差距△的绝对值,而短语粒度的准确率差距△的绝对值小于语句粒度的准确率差距△的绝对值,即0.8<1.8<2.2,说明更细粒度的训练数据更容易被NAT模型学习到。此外,在用知识蒸馏合成的训练数据中仍然存在复杂的语序和结构,这使得NAT模型在以KD方式训练的时候依旧存在很大的学习难度。
NAT模型通过预测整句译文,能够显著加快NAT模型的推理过程,但在学习多模态知识(如一对多翻译)方面很薄弱。由于双语知识是充分性建模的核心,在缺乏自回归因子分解的情况下,使得NAT模型在处理长序列、语序差异较大的语种时也表现不佳。
在此基础上,如果将训练模式划分成不同的粒度,那么可以使得如NAT模型等支持并行翻译的机器翻译模型从容易到难地进行学习,能够真实模拟出人类对语言、由易到难的学习过程。相比起语句级别来说,如NAT模型等支持并行翻译的机器翻译模型更容易学习到细粒度的、低模式的知识,如字符和的短语。因此,可以将原始的训练语料(即样本语句),分解成字符、短语、语句这三个粒度的训练数据,并随着训练的进行逐步增加粒度。通过将语句级别的高模态分解成更细的粒度,即双语的字符和短语这些低模态数据,能够方便模型更好地学习到双语知识。
如表4所示,选取了一些例子来佐证不同粒度的翻译难度,语句级别的双语知识中包含多种多样的模式,如词对齐(“English”v.s.“英语”/“英文”)、短语翻译(“be good at”v.s.“…非常擅长…”/“…水平很高”),甚至调序(“英语”可以是主语也可以是宾语)。然而短语级别的双语知识一般都具备相似的结构,因此模式相较于语句级别的双语知识来说简单很多,而字符级别的双语知识就是更简单的一对一映射。一般来说,双语知识的粒度越低,NAT模型就越容易学习。表4中的例子也揭示了为什么NAT模型和AT模型之间的语句级别差异比表3中的词汇级别和短语级别更加显著。
表4
Figure BDA0003042579870000131
基于以上分析,可以认为直接基于语句级别的训练数据来训练如NAT模型等支持并行翻译的机器翻译模型,并非是最优的训练策略。在本申请实施例中,通过一种简单有效的渐进式多粒度(Progressive Multi Granularity,PMG)训练策略来提高如NAT模型等支持并行翻译的机器翻译模型处理语句的性能,PMG训练策略即先让如NAT模型等支持并行翻译的机器翻译模型学习简单的字符,再学习短语,最后再学习语句级的训练数据,使得如NAT模型等支持并行翻译的机器翻译模型从“低”到“高”的粒度渐进学习,即字符→短语→语句,能够在不引入额外的数据和参数的情况下,最终缩短如NAT模型等支持并行翻译的机器翻译模型和如AT模型等支持串行翻译的机器翻译模型在翻译性能上的差距,以提高如NAT模型等支持并行翻译的机器翻译模型的应用价值。这种训练策略能够从易到难地拆解原本的语句级训练数据,让如NAT模型等支持并行翻译的机器翻译模型学到更好地短语模式以及细粒度双语短语的边界,从而提升如NAT模型等支持并行翻译的机器翻译模型的短语翻译和调序能力,最终带来翻译性能的增长。
图5是本申请实施例提供的一种文本翻译方法的流程图。参见图5,该实施例应用于计算机设备,下面以计算机设备为上述实施环境中的服务器420为例进行说明,该实施例包括下述步骤:
501、服务器获取样本语句中的样本字符和样本短语。
在一些实施例中,服务器可以在训练语料库中获取该样本语句,该样本语句的数量为至少一个,该训练语料库可以存储于服务器本地,也可以存储在其他的分布式存储系统中,本申请实施例不对此进行具体限定。
在一些实施例中,服务器在获取该样本字符时,可以对该样本语句进行分词(tokenize)处理,得到该样本字符。在一些实施例中,服务器在获取该样本短语时,可以对该样本语句进行短语抽取,得到该样本短语。
在上述过程中,通过对样本语句进行预处理,能够切分出样本语句中的样本字符和样本短语,这一切分过程并不会引入额外的训练数据,而仅仅是对原始的训练数据的再加工,但能够大大丰富训练数据的表现层次和表现能力。
可选地,服务器在进行分词处理时,可以利用分词工具自动化地实现分词,或者还可以由技术人员进行人工分词,本申请实施例不对分词方式进行具体限定。
可选地,服务器在抽取短语时,可以获取该样本语句和参考语句之间的字符对齐信息,该字符对齐信息用于表征该样本语句中的字符与该参考语句中的对应字符是否具有相同的语义;基于该字符对齐信息,获取符合目标条件的该样本短语,该目标条件为样本短语所包含的至少一个字符在该字符对齐信息中指示为与该参考语句中的对应字符具有相同的语义。
可选地,在获取参考语句时,服务器可以调用教师模型对该样本语句进行翻译,得到该参考语句,该教师模型支持对输入的多个字符进行串行翻译处理,也即该教师模型用于逐词对输入的字符进行翻译,该教师模型本质上是AT模型。在上述过程中,服务器通过将样本语句输入教师模型,通过教师模型对该样本语句进行翻译,输出该参考语句,能够大大提升参考语句的获取效率,在另一些实施例中,也可以由技术人员人工标注出该参考语句,本申请实施例对此不进行具体限定。可选地,该教师模型可以是任一AT模型,例如,教师模型为Transformer翻译模型或者Transformer翻译模型的变种。
在上述过程中,服务器通过字符对齐信息,能够精准地筛选出样本语句中能够构成样本短语的各个样本字符,从而达到机器自动抽取出样本短语,提高样本短语的抽取效率。在另一些实施例中,也可以由技术人员进行人工抽取短语,本申请实施例不对短语抽取方式进行具体限定。
在一个示例性场景中,由于SMT模型在翻译时需要进行分词(即预处理)、词对齐并构建短语表,因此可以利用SMT模型来获取该样本字符和该样本短语,也即利用SMT模型的分词工具来进行分词处理,并使用脚本工具GIZA++来获取词对齐bit矩阵(也即字符对齐信息),bit矩阵是一个位图矩阵,bit矩阵中的每一个元素用于表示样本语句中的一个样本字符是否与参考语句中对应的参考字符相对齐(即具有相同语义),例如,元素取值为1代表对齐,元素取值为2代表不对齐。在bit矩阵的基础上能够抽取出样本短语,样本短语需要满足目标条件,目标条件可以简单概括为封闭性和非空性。封闭性是指样本短语中包含的样本字符的对齐方必须在对应的参考短语中,不外漏;非空性是指样本短语中至少含有一个样本字符是与参考字符对齐的(在bit矩阵中取值为1)。可选地,在指定样本短语的短语长度时,即可利用bit矩阵找出所有满足目标条件的样本短语,比如,短语长度为Len时,对bit矩阵以Len为窗口大小进行水平滑动,逐个检查滑动的窗口内各样本字符所构成的短语是否满足目标条件,如果满足目标条件则确定窗口内的各样本字符构成一个样本短语,否则继续向右滑动。
502、服务器基于该样本字符,对学生模型进行参数调整,得到第一翻译模型,该学生模型支持对输入的多个字符进行并行翻译处理。
其中,该学生模型支持对输入的多个字符进行并行翻译处理,意味着学生模型并非逐词进行翻译,也即该学生模型为NAT模型或者NAT模型的变种。
在一些实施例中,服务器对学生模型进行参数调整的过程,也即对学生模型进行训练的过程,该训练过程可以包括:调用该学生模型对该样本字符进行翻译,得到译文字符;基于参考字符和该译文字符,确定第一损失值,该参考字符与该样本字符具有相同的语义;基于该第一损失值,对该学生模型进行参数调整,得到该第一翻译模型。
可选地,服务器可以将该样本字符输入至该学生模型,通过该学生模型对该样本字符进行翻译,输出该译文字符,可选地,获取该参考字符与该译文字符之间的交叉熵损失为该第一损失值,如果不满足第一停止条件,基于反向传播算法迭代调整该学生模型的参数,直到符合第一停止条件时,停止迭代,得到该第一翻译模型。可选地,该第一停止条件包括:第一损失值小于或等于第一损失阈值,或者,迭代次数大于第一次数阈值,其中,该第一损失阈值可以是任一大于或等于0且小于或等于1的数值,该第一次数阈值可以是任一大于或等于1的整数,例如,该第一损失阈值为0.2,该第一次数阈值为50000。
在一些实施例中,服务器在获取参考字符时,可以直接调用教师模型对样本字符进行翻译,也即是说:服务器调用教师模型对该样本字符进行翻译,得到该参考字符,该教师模型支持对输入的多个字符进行串行翻译处理,也即该教师模型为AT模型或者AT模型的变种。
在上述过程中,通过教师模型来翻译样本字符,以获取参考字符,能够提高参考字符的获取效率,在另一些实施例中,也可以由技术人员人工标注该参考字符,本申请实施例对参考字符的获取方式不进行具体限定。
在一些实施例中,服务器在获取参考字符时,可以先调用教师模型对样本语句进行翻译,得到参考语句,再根据字符对齐信息,在参考语句找到与样本字符对应的参考字符,也即是说:服务器调用教师模型对该样本语句进行翻译,得到参考语句,该教师模型支持对输入的多个字符进行串行翻译处理;基于该样本语句和该参考语句,确定字符对齐信息,该字符对齐信息用于表征该样本语句中的字符与该参考语句中的对应字符是否具有相同的语义;基于该字符对齐信息,从该参考语句中确定该参考字符。
在上述过程中,服务器将样本语句输入教师模型,而非将样本字符输入教师模型,这样可以仅利用教师模型翻译一次样本语句,得到参考语句即可,在参考语句的基础上,利用字符对齐信息,可以找到与样本字符对应的参考字符,而无需重复对样本字符再进行翻译,从而能够大大节约计算资源。
503、服务器基于该样本短语,对该第一翻译模型进行参数调整,得到第二翻译模型。
在一些实施例中,服务器对第一翻译模型进行参数调整的过程,也即对第一翻译模型进行训练的过程,该训练过程可以包括:调用该第一翻译模型对该样本短语进行翻译,得到译文短语;基于参考短语和该译文短语,确定第二损失值,该参考短语与该样本短语具有相同的语义;基于该第二损失值,对该第一翻译模型进行参数调整,得到该第二翻译模型。
可选地,服务器可以将该样本短语输入至该第一翻译模型,通过该第一翻译模型对该样本短语进行翻译,输出该译文短语,可选地,获取该参考短语与该译文短语之间的交叉熵损失为该第二损失值,如果不满足第二停止条件,基于反向传播算法迭代调整该第一翻译模型的参数,直到符合第二停止条件时,停止迭代,得到该第二翻译模型。可选地,该第二停止条件包括:第二损失值小于或等于第二损失阈值,或者,迭代次数大于第二次数阈值,其中,该第二损失阈值可以是任一大于或等于0且小于或等于1的数值,该第二次数阈值可以是任一大于或等于1的整数,例如,该第二损失阈值为0.2,该第二次数阈值为50000。
在一些实施例中,服务器在获取参考短语时,可以直接调用教师模型对样本短语进行翻译,也即是说:服务器调用教师模型对该样本短语进行翻译,得到该参考短语,该教师模型支持对输入的多个字符进行串行翻译处理,也即该教师模型为AT模型。
在上述过程中,通过教师模型来翻译样本短语,以获取参考短语,能够提高参考短语的获取效率,在另一些实施例中,也可以由技术人员人工标注该参考短语,本申请实施例对参考短语的获取方式不进行具体限定。
在一些实施例中,服务器在获取参考短语时,可以先调用教师模型对样本语句进行翻译,得到参考语句,接着确定样本短语中包含的各个样本字符,再根据字符对齐信息,在参考语句找到与各个样本字符对应的各个参考字符,各个参考字符即可组成该参考短语,也即是说:服务器调用教师模型对该样本语句进行翻译,得到参考语句,该教师模型支持对输入的多个字符进行串行翻译处理;基于该样本语句和该参考语句,确定字符对齐信息,该字符对齐信息用于表征该样本语句中的字符与该参考语句中的对应字符是否具有相同的语义;基于该字符对齐信息,从该参考语句中,确定与该样本短语中包含的多个样本字符之间具有相同语义的多个参考字符;将该多个参考字符确定为该参考短语。
在上述过程中,服务器将样本语句输入教师模型,而非将样本短语输入教师模型,这样可以仅利用教师模型翻译一次样本语句,得到参考语句即可,在参考语句的基础上,利用字符对齐信息,可以找到与样本短语所包含的各个样本字符对应的各个参考字符,并将各个参考字符确定为该样本短语,而无需重复对样本短语再进行翻译,从而能够大大节约计算资源。
504、服务器基于该样本语句,对该第二翻译模型进行参数调整,得到目标翻译模型,该目标翻译模型用于将输入语句转换为具有相同语义的译文语句。
在一些实施例中,服务器对第二翻译模型进行参数调整的过程,也即对第二翻译模型进行训练的过程,该训练过程可以包括:调用该第二翻译模型对该样本语句进行翻译,得到译文语句;基于参考语句和该译文语句,确定第三损失值,该参考语句与该样本语句具有相同的语义;基于该第三损失值,对该第二翻译模型进行参数调整,得到该目标翻译模型。
可选地,服务器可以将该样本语句输入至该第二翻译模型,通过该第二翻译模型对该样本语句进行翻译,输出该译文语句,可选地,获取该参考语句与该译文语句之间的交叉熵损失为该第三损失值,如果不满足第三停止条件,基于反向传播算法迭代调整该第二翻译模型的参数,直到符合第三停止条件时,停止迭代,得到该目标翻译模型。可选地,该第三停止条件包括:第三损失值小于或等于第三损失阈值,或者,迭代次数大于第三次数阈值,其中,该第三损失阈值可以是任一大于或等于0且小于或等于1的数值,该第三次数阈值可以是任一大于或等于1的整数,例如,该第三损失阈值为0.2,该第三次数阈值为200000。
在一些实施例中,服务器在获取参考语句时,可以直接调用教师模型对样本语句进行翻译,也即是说:服务器调用教师模型对该样本语句进行翻译,得到该参考语句,该教师模型支持对输入的多个字符进行串行翻译处理,也即该教师模型为AT模型。
在上述过程中,通过教师模型来翻译样本语句,以获取参考语句,能够提高参考语句的获取效率,在另一些实施例中,也可以由技术人员人工标注该参考语句,本申请实施例对参考语句的获取方式不进行具体限定。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本申请实施例提供的方法,通过对粗粒度的样本语句拆分成细粒度的样本短语和更细粒度的样本字符,并利用样本字符使得学生模型先学习较为简单、易于学习的字符知识,再利用样本短语使得第一翻译模型学习更复杂的短语知识,最后利用样本语句使得第二翻译模型学习最为复杂的语句知识,由于目标翻译模型支持对输入字符并行翻译,因此目标翻译模型的翻译速度不会受到损失,并且在不额外引入训练数据量和模型参数的情况下,又大大提升了目标翻译模型的翻译准确度。
图6是本申请实施例提供的一种翻译模型的训练过程的流程图,请参考图6,该实施例应用于计算机设备,下面以计算机设备为上述实施环境中的服务器420为例进行说明,该实施例包括下述步骤:
601、服务器获取样本语句。
在一些实施例中,服务器可以在训练语料库中获取该样本语句,该样本语句的数量为至少一个,该训练语料库可以存储于服务器本地,也可以存储在其他的分布式存储系统中,本申请实施例不对此进行具体限定。
在本申请实施例中仅以单个样本语句的处理流程为例进行说明,但不应构成对样本语句的数量的限定,在样本语句的数量大于或等于2时,每个样本语句均可以执行类似的处理流程。
602、服务器调用教师模型对该样本语句进行翻译,得到参考语句,该教师模型支持对输入的多个字符进行串行翻译处理,该参考语句与该样本语句具有相同的语义。
其中,该教师模型支持对输入的多个字符进行串行翻译处理,也即该教师模型用于逐词对输入的字符进行翻译,该教师模型本质上是AT模型。
在上述过程中,服务器通过将样本语句输入教师模型,通过教师模型对该样本语句进行翻译,输出该参考语句,能够大大提升参考语句的获取效率,在另一些实施例中,也可以由技术人员人工标注出该参考语句,本申请实施例对此不进行具体限定。可选地,该教师模型可以是任一AT模型,例如,教师模型为Transformer翻译模型或者Transformer翻译模型的变种。
下面将以教师模型为Transformer翻译模型为例进行说明,图7是本申请实施例提供的一种教师模型的框架原理图,如图7所示,Transformer翻译模型包括嵌入模块701、编码模块702、解码模块703和输出模块704,采用了基于SAN网络的编码器-解码器框架,属于主流的序列到序列生成的模型结构。在翻译过程中,样本语句首先被输入到嵌入模块701中进入嵌入(Embedding)处理,得到嵌入语句,将嵌入语句与样本语句的位置编码向量拼接之后输入到编码模块702中,其中,位置编码向量用于表征样本语句中各个样本字符在该样本语句中的位置先后顺序信息。
编码模块702可以由多个编码器级联而成(例如,N=6个编码器级联而成),每个编码器内部又包括一个多头注意力(Multi-Head Attention)层和一个前馈神经网络(FeedForward Neural Network)层,多头注意力层用于从多个表达子空间中综合提取样本语句内各个样本字符之间的关联关系,前馈神经网络层用于对多头注意力层输出的特征向量进行全连接,在多头注意力层和前馈神经网络层之后均设置有残差结构,也即将当前层的输入与输出进行残差连接(即拼接)并归一化之后再输入到下一层中。其中,N代表级联的编码器的数量。
解码模块703可以由多个解码器级联而成(例如,N=6个解码器级联而成),每个解码器内部又包括一个掩码多头注意力层、一个融合多头注意力层和一个前馈神经网络层,掩码多头注意力层与多头注意力层类似,但仅关注当前时刻之前的翻译结果,因此需要对当前时刻之后的翻译结果进行mask(遮挡)处理,而融合多头注意力层也与多头注意力层也类似,但融合多头注意力层除了以本解码器的掩码多头注意力层的输出为输入之外,还以对应序号的编码器的前馈神经网络层的输出(指经过残差连接及归一化的结果)作为输入,这一设计是用于关注编码器的编码信息,换一种说法,解码器通过查看编码器的输出和对其自身输出的自注意力,来预测参考语句中的下一个字符,解码器的前馈神经网络层与编码器的前馈神经网络层类似,这里不做赘述,同理解码器的掩码多头注意力层、融合多头注意力层、前馈神经网络层之后也均设置有残差结构,也即将当前层的输入与输出进行残差连接(即拼接)并归一化之后再输入到下一层中。其中,N代表级联的解码器的数量,也即是说,级联的编码器的数量与级联的解码器的数量需要保持一致。
输出模块704包括一个线性(Linear)层和一个指数归一化(Softmax)层,能够将解码模块703输出的向量映射为最终的各个参考字符,最终组成参考语句。其中,线性层是一个全连接层,维度为翻译的目标语言语料库所包含的所有的字符数目,而指数归一化层则用于获取每个样本字符对应于目标语言中的每一个字符的概率,选取概率最大的字符作为参考字符,并将各个参考字符所构成的语句作为参考语句。
此外,解码模块703的输入涉及到右移(Shifted Right)机制,由于模型训练阶段的学习目标是预测下一个位置的字符(Token)是什么,因此这里使用Masking(掩码)手段将当前时刻右边的内容遮住,以确保学习的过程是自左向右逐个字符地预测,右移机制保障了掩码多头注意力层能够仅关注当前时刻之前的翻译结果,例如,假设输出序列为“我爱中国。”,共包括4个字符,当预测“爱”时,需要遮挡掉“中国。”,也即只能根据“我”来预测“爱”,同理,在预测“中国”时,需要遮挡掉“。”,也即只能根据“我爱”来预测。
603、服务器对该样本语句进行分词处理,得到样本字符。
可选地,服务器在进行分词处理时,可以利用分词工具自动化地实现分词,或者还可以由技术人员进行人工分词,本申请实施例不对分词方式进行具体限定。
604、服务器基于该样本语句和该参考语句,确定字符对齐信息,该字符对齐信息用于表征该样本语句中的字符与该参考语句中的对应字符是否具有相同的语义。
在一些实施例中,该字符对齐信息可以是词对齐bit矩阵,服务器可以利用脚本工具GIZA++来对该样本语句和该参考语句进行词对齐,得到该词对齐bit矩阵。bit矩阵是一个位图矩阵,bit矩阵中的每一个元素用于表示样本语句中的一个样本字符是否与参考语句中对应的参考字符相对齐(即具有相同语义),例如,元素取值为1代表对齐,元素取值为2代表不对齐。
在另一些实施例中,该字符对齐信息还可以是样本字符与参考字符所构成的双语字符表,双语字符表中的每一列用于表示具有相同语义的一对样本字符和参考字符,本申请实施例对字符对齐信息的形式不进行具体限定。
上述步骤604,为服务器获取该样本语句和参考语句之间的字符对齐信息的一种示例性说明。
605、服务器基于该字符对齐信息,从该参考语句中确定与该样本字符具有相同语义的参考字符。
在一些实施例中,该字符对齐信息为词对齐bit矩阵,服务器可以查询该bit矩阵,如果bit矩阵中该样本字符所对应的元素指示对齐,获取对应位置的字符为该参考字符,如果bit矩阵中该样本字符所对应的元素指示不对齐,则查询双语字符表获取该样本字符对应的该参考字符。
在一些实施例中,服务器还可以直接根据该双语短语表,查询与该样本字符属于同一列的参考字符。可选地,该双语短语表可以以哈希表、键值对等形式存储,例如,以键值对形式存储时,可以以样本字符为键名,以参考字符为键值,服务器可以查询与样本字符对应的键值中存储的内容,将存储的内容获取为该参考字符。
在上述过程中,服务器将样本语句输入教师模型,而非将样本字符输入教师模型,这样可以仅利用教师模型翻译一次样本语句,得到参考语句即可,在参考语句的基础上,利用字符对齐信息,可以找到与样本字符对应的参考字符,而无需重复对样本字符再进行翻译,从而能够大大节约计算资源。
在一些实施例中,服务器还可以通过下述方式来获取参考字符:服务器调用该教师模型对该样本字符进行翻译,得到该参考字符。在上述过程中,通过教师模型来翻译样本字符,以获取参考字符,能够提高参考字符的获取效率,在另一些实施例中,也可以由技术人员人工标注该参考字符,本申请实施例对参考字符的获取方式不进行具体限定。
606、服务器基于该字符对齐信息,获取符合目标条件的样本短语,该目标条件为样本短语所包含的至少一个字符在该字符对齐信息中指示为与该参考语句中的对应字符具有相同的语义。
在一些实施例中,由于SMT模型在翻译时需要进行分词(即预处理)、词对齐并构建短语表,因此可以利用SMT模型来获取该样本字符和该样本短语,也即利用SMT模型的分词工具来进行分词处理,并使用脚本工具GIZA++来获取词对齐bit矩阵。在bit矩阵的基础上能够抽取出样本短语,样本短语需要满足目标条件,目标条件可以简单概括为封闭性和非空性。封闭性是指样本短语中包含的样本字符的对齐方必须在对应的参考短语中,不外漏;非空性是指样本短语中至少含有一个样本字符是与参考字符对齐的(在bit矩阵中取值为1)。可选地,在指定样本短语的短语长度时,即可利用bit矩阵找出所有满足目标条件的样本短语,比如,短语长度为Len时,对bit矩阵以Len为窗口大小进行水平滑动,逐个检查滑动的窗口内各样本字符所构成的短语是否满足目标条件,如果满足目标条件则确定窗口内的各样本字符构成一个样本短语,否则继续向右滑动。
上述步骤606,为服务器对该样本语句进行短语抽取,得到样本短语的一种示例性说明。在上述过程中,服务器通过字符对齐信息,能够精准地筛选出样本语句中能够构成样本短语的各个样本字符,从而达到机器自动抽取出样本短语,提高样本短语的抽取效率。在另一些实施例中,也可以由技术人员进行人工抽取短语,本申请实施例不对短语抽取方式进行具体限定。
上述步骤603和606中,服务器获取样本语句中的样本字符和样本短语,在上述过程中,通过对样本语句进行预处理,能够切分出样本语句中的样本字符和样本短语,这一切分过程并不会引入额外的训练数据,而仅仅是对原始的训练数据的再加工,但能够大大丰富训练数据的表现层次和表现能力。
607、服务器基于该字符对齐信息,从该参考语句中确定与该样本短语具有相同语义的参考短语。
在一些实施例中,服务器可以基于该字符对齐信息,从该参考语句中,确定与该样本短语中包含的多个样本字符之间具有相同语义的多个参考字符;将该多个参考字符确定为该参考短语。
在上述过程中,服务器将样本语句输入教师模型,而非将样本短语输入教师模型,这样可以仅利用教师模型翻译一次样本语句,得到参考语句即可,在参考语句的基础上,利用字符对齐信息,可以找到与样本短语所包含的各个样本字符对应的各个参考字符,并将各个参考字符确定为该样本短语,而无需重复对样本短语再进行翻译,从而能够大大节约计算资源。
在一些实施例中,服务器还可以通过下述方式来获取参考短语:调用该教师模型对该样本短语进行翻译,得到该参考短语。在上述过程中,通过教师模型来翻译样本短语,以获取参考短语,能够提高参考短语的获取效率,在另一些实施例中,也可以由技术人员人工标注该参考短语,本申请实施例对参考短语的获取方式不进行具体限定。
在上述过程中,仍然使用语句级别的双语数据(样本语句和参考语句)作为输入,通过细粒度双语知识提取,能够得到双语词汇映射(样本字符和参考字符),以及双语短语映射(样本短语和参考短语),在抽取样本字符和样本短语时,由于短语表是SMT模型的重要组成成分,用于记录双语短语之间的对应关系,因此基于SMT模型能够获取到样本语句的短语表,即可从短语表中抽取所有可能的语句内的双语短语,以表4中的样本语句“He isvery good at English.”为例,可以从原始的样本语句中,抽取出双语的短语对“good|||很好”、“good at English|||擅长英语”,这样能够启发NAT学生模型学习到显性的短语边界。
608、服务器基于该样本字符,对学生模型进行参数调整,得到第一翻译模型,该学生模型支持对输入的多个字符进行并行翻译处理。
其中,该学生模型支持对输入的多个字符进行并行翻译处理,意味着学生模型并非逐词进行翻译,也即该学生模型为NAT模型或者NAT模型的变种。
上述步骤608与上述步骤502类似,这里不做赘述。
609、服务器基于该样本短语,对该第一翻译模型进行参数调整,得到第二翻译模型。
上述步骤609与上述步骤503类似,这里不做赘述。
610、服务器基于该样本语句,对该第二翻译模型进行参数调整,得到目标翻译模型,该目标翻译模型用于将输入语句转换为具有相同语义的译文语句。
上述步骤610与上述步骤504类似,这里不做赘述。
下面以学生模型为NAT模型为例进行说明,由于第二翻译模型是由第一翻译模型训练所得的,第一翻译模型是由学生模型训练所得的,因此第一翻译模型、第二翻译模型也是NAT模型,同理,第二翻译模型训练所得的目标翻译模型也是NAT模型。需要说明的是,学生模型可以是任一支持并行翻译的机器翻译模型,除了上述NAT模型的示例之外,学生模型还可以是NAT模型的变种。
图8是本申请实施例提供的一种第二翻译模型的框架原理图,请参考图8,NAT模型包括嵌入模块801、编码模块802、解码模块803和输出模块804。在翻译过程中,样本语句首先被输入到嵌入模块801中,通过该嵌入模块801对该样本语句进行嵌入处理,得到嵌入语句,将嵌入语句与样本语句的位置编码向量拼接之后输入到编码模块802中,通过编码模块802对输入的向量进行编码,输出样本语句特征向量和字符数量指示信息,其中,位置编码向量用于表征样本语句中各个样本字符在该样本语句中的位置先后顺序信息。其中,对样本语句进行嵌入处理的过程,也即分别对样本语句中包含的每个样本字符进行嵌入处理的过程,得到每个样本字符的嵌入向量,各个嵌入向量所组成的嵌入向量序列也即是该嵌入语句。
编码模块802可以由多个编码器级联而成(例如,N=6个编码器级联而成),每个编码器内部又包括一个多头注意力层和一个MLP(Multi-Layer Perceptron,多层感知机)层,多头注意力层用于从多个表达子空间中综合提取样本语句内各样本字符之间的关联关系,MLP层用于对多头注意力层输出的特征向量进行加权处理,其中MLP的隐藏层与隐藏层之间也是全连接的,在多头注意力层与MLP层之后均设置有残差结构,也即将当前层的输入与输出进行残差连接(即拼接)并归一化之后再输入到下一层中。与AT模型不同的是,由于AT模型是逐词翻译并以终止符来停止翻译,NAT模型是并行翻译因此需要引入一个字符数量指示信息,该字符数量指示信息用于指示与各个样本字符对应的各个译文字符的数量,通过在编码模块802中最后一个编码器之后设置一个指数归一化层来提取该字符数量指示信息,该字符数量指示信息可以是一个字符数量序列,字符数量序列的长度与输入的样本语句的字符序列长度相等,字符数量序列中的每个元素用于表征样本语句的字符序列中对应位置的样本字符,需要用多少个数量的译文字符来进行翻译。例如,在英文翻译成德文的过程中,样本语句为“We totally accept it.”,其字符序列为[We,totally,accept,it,.],字符数量序列为[1,1,2,0,1],意味着:英文单词“We”需要用一个德文单词来表示,英文单词“totally”需要用一个德文单词来表示,英文单词“accept”需要用两个德文单词来表示,英文单词“it”在翻译后不需要单独的德文单词来表示,标点符号“.”需要用一个标点符号来表示。其中,N代表级联的编码器的数量。
基于编码模块802输出的该字符数量指示信息,可以对样本语句进行变换,使得样本语句中各个样本字符的数量与该字符数量指示信息相匹配,得到变换语句,例如,根据字符数量序列为[1,1,2,0,1],对样本语句“We totally accept it.”进行变换,得到变换语句“We totally accept accept.”,接着,将变换语句输入到嵌入模块701中进行嵌入处理,得到嵌入变换语句,将嵌入变换语句与变换语句的位置编码向量拼接之后输入到解码模块803中,通过解码模块803对输入的向量进行解码,输出译文语句特征向量。
解码模块803可以由多个解码器级联而成(例如,N=6个解码器级联而成),每个解码器内部又包括一个多头注意力层、一个多头位置注意力层、一个多头交互注意力层和一个MLP层,其中,解码器中的多头注意力层与编码器中的多头注意力层类似,这里不做赘述,该多头位置注意力层用于在多头注意力层的输出结果的基础上再一次引入位置编码向量,以强调变换语句中各个字符的位置顺序关系,该多头交互注意力层除了以本解码器的多头位置注意力层的输出为输入之外,还以对应序号的编码器的MLP层的输出(指经过残差连接及归一化的结果,即该样本语句特征向量)作为输入,这一设计是用于关注编码器的编码信息,换一种说法,解码器通过查看编码器的输出和对其自身输出的自注意力,来进行文本翻译,解码器的MLP层与编码器的MLP层类似,这里不做赘述。同理,解码器的多头注意力层、多头位置注意力层、多头交互注意力层和MLP层之后也均设置有残差结构,也即将当前层的输入与输出进行残差连接(即拼接)并归一化之后再输入到下一层中。其中,N代表级联的解码器的数量,可以看出,级联的编码器的数量和级联的解码器的数量需要保持一致。
输出模块804中包括一个指数归一化层,指数归一化层能够将解码模块803中最后一个解码器输出的译文语句特征向量,映射为最终的译文语句。换言之,译文语句特征向量是一个特征向量序列,该特征向量序列中包括多个译文字符各自的特征向量,在指数归一化层中能够将每个译文字符的特征向量映射成多个概率,每个概率用于表示该译文字符对应于目标语言中的每个字符的可能性,选取概率最大的字符作为译文字符,并将各个译文字符所构成的语句作为译文语句。
在本申请实施例中,巧妙地从数据层面入手,在知识蒸馏的基础框架上引入了渐进式多粒度训练策略,也即先学习字符粒度的训练数据,再学习短语粒度的训练数据,最后学习语句粒度的训练数据,针对包括各类的NAT模型的支持并行翻译的机器翻译模型具有有效性和通用性。在罗马尼亚语-英语、英语-德语、汉语-英语、日语-英语上的实验均表明,本申请实施例提供的方法,大大提高了短语的翻译精度和模型的调序能力,能够在较强NAT基线条件下提高模型的翻译质量,说明根据确定性的细粒度知识能够明显提高模型的翻译性能。
由于在学生模型的基础上训练第一翻译模型,在第一翻译模型的基础上训练第二翻译模型,在第二翻译模型的基础上训练目标翻译模型,因此整体的训练流程,可以视为利用PMG策略,从学生模型的基础上渐进式多粒度地训练目标翻译模型,并设置第一次数阈值为学生模型到第一翻译模型的训练步长(即第一停止条件为迭代次数大于第一次数阈值),设置第二次数阈值为第一翻译模型到第二翻译模型的训练步长(即第二停止条件为迭代次数大于第二次数阈值),设置第三次数阈值为第二翻译模型到目标翻译模型的训练步长(即第三停止条件为迭代次数大于第三次数阈值),例如,第一次数阈值为50000,第二次数阈值为50000,第三次数阈值为2000000,由于短语粒度和字符粒度比语句粒度更具有确定性,这一过程也即是基于确定性的课程学习方式。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
本申请实施例提供的方法,通过对粗粒度的样本语句拆分成细粒度的样本短语和更细粒度的样本字符,并利用样本字符使得学生模型先学习较为简单、易于学习的字符知识,再利用样本短语使得第一翻译模型学习更复杂的短语知识,最后利用样本语句使得第二翻译模型学习最为复杂的语句知识,由于目标翻译模型支持对输入字符并行翻译,因此目标翻译模型的翻译速度不会受到损失,并且在不额外引入训练数据量和模型参数的情况下,又大大提升了目标翻译模型的翻译性能。
基于本申请实施例提供的方法,在4个广泛使用的翻译数据集上进行测试,包括:小规模的WMT16数据集(罗马尼亚语-英语,即Romanian-English,简称Ro-En),中等规模的WMT14数据集(英语-德语,即English-German,简称En-De),大规模的WMT17数据集(中文-英语,即Chinese-English,简称Zh-En)和语序不同的WAT17数据集(日语-英语,Japanese-English,简称Ja-En),数据规模分别为0.6、4.5、20和2百万句对。通过BPE(Byte PairEncoding,字节对编码)方式进行分词处理,并使用32K(即32000)的合并操作对原始的训练数据(即4个翻译数据集的并集)进行预处理。此外,对于训练得到的目标翻译模型,使用BLEU作为性能度量指标,并进行统计学显著性检验。
在测试过程中,使用知识蒸馏方式来简化训练数据,并利用相同的训练数据,对BASE(基础)Transformer教师模型进行知识蒸馏,得到BIG Transformer模型,并采用BIGTransformer模型对除了Ro-En之外的所有方向的训练结果作为最终的教师模型。基于这一教师模型和原始的训练数据,可以迁移至训练各种不同结构的NAT模型或其他支持并行翻译的机器翻译模型。在本申请实施例中,以MaskPredict(掩码预测)NAT模型和Levenshtein(删查改)NAT模型为例,基于本申请实施例提供的训练方式来进行训练并测试,其中,字符粒度的训练步长和短语粒度的训练步长均设置为50000步,语句粒度的训练步长设置为2000000步。上述两个NAT模型中均包含6个编码器和6个解码器,其中,解码器采用条件掩码语言模型方式来训练,NAT模型的多头注意力层中包含8个头(即针对8个表达子空间提取自注意力特征),多头注意力层的输出向量的维度为512,MLP层的输出向量的维度为2048,并且,平均前三个checkpoints(检查点)的BLEU值,以避免随机误差。
表5列出了WMT16 Ro-En、WMT14 En-De、WMT17 Zh-En和WAT17 Ja-En数据集上的翻译性能与传统NAT模型的比较。从表4可以看出,在4个针对不同源语言到目标语言的翻译数据集上,在利用PMG训练策略对MaskPredict NAT模型和Levenshtein NAT模型训练之后,相较于传统的训练策略,均能够提高NAT模型的翻译性能(即BLEU值提升,并且“↑”表示统计结果与基线系统的差异具有统计学意义,即置信度p<0.05)。更值得一提的是,本申请实施例提供的PMG训练策略对NAT模型训练之后,在三项任务(En-De、Zh-En以及Ja-En)上甚至翻译性能略优于教师模型(Transformer-Base)。
表5
Figure BDA0003042579870000281
Figure BDA0003042579870000291
其中,Iterative NAT是指迭代式NAT模型,DisCo(Disentangled ContextTransformer)是指上下文解耦的NAT模型,Context-aware NAT是指上下文感知的NAT模型。
与具有代表性的课程学习NMT方法相比,传统的学习方法可以划分为离散学习法(Discretized Curriculum Learning,DCL)和连续学习法(Continuous CurriculumLearning,CCL),而语句长度是多粒度数据中的最重要的变量,因此可以采用语句长度(指源侧)标准实现离散化和连续化的CL(Curriculum Learning,课程式学习)。在DCL方式的设置中显式地预定义了数据箱(Data Bin)的数量,而CCL方式则随着训练的进展不断地对较短的示例进行采样,其中数据箱是指按照特定标准将数据划分成不同的堆(即数据集)。
对于DCL方式,将训练样本分割成预定义数量的份数(本次测试中以5份为例)。对于CCL方式,采用了长度课程和平方根完成函数。可以发现,DCL方式比KD基线值(-0.6BLEU)差,而CCL方式比KD基线值高出+0.3BLEU点。本申请实施例提供的PMG训练策略(+0.6BLEU)是最有效、翻译性能最优的方法。
进一步地,由于PMG训练策略希望NAT模型能够更多地关注双语短语,从而提高短语翻译的准确性。因此,表6示出了对N-gram(N元)文法中多个粒度的改进,以评估短语翻译的准确性,N-gram的数量代表短语中所包含的字符数量,可以看出,PMG训练策略(NAT w/PMG)的BLEU值始终优于基线,这表明了PMG训练策略确实显著提高了NAT模型捕捉短语模式的能力,其中,NAT w/PMG是指NAT with PMG,即使用PMG策略训练得到的NAT模型。
表6
N-gram 2 3 4 5 6
△BLEU 0.5 0.3 0.3 0.2 0.2
SMT模型提取的双语短语信息(即短语表)可以直观地形成双语短语边界,以此提取到样本短语和参考短语之后,基于PMG训练策略训练后的NAT模型(即目标翻译模型)具有更好的重新排序能力。可选地,选取RIBES(Rank-based Intuitive Bilingual EvaluationScore,基于排序的直观双语评价分数)作为调序效果的评价指标,选取BLEU作为译文质量的评价指标,对在使用PMG训练策略和传统训练策略下训练的NAT模型的重新排序能力进行比较。
图9是本申请实施例提供的一种使用PMG训练策略和使用传统训练策略下训练NAT模型的性能对比图,如图9所示,按照语句长度将全量的测试集分类成多个统计节点,并在左侧部分901示出了两者在翻译性能BLEU上的差异,可以看出PMG训练策略的翻译性能明显更优,在右侧部分902示出了两者在调序能力RIBES上的差异,可以看出PMG训练策略的调序能力也明显更优。这说明PMG训练策略能够显著提升NAT模型的翻译性能和重排序质量(即调序能力)。
进一步地,基于原始的样本语句所提取出的细粒度双语知识,即词对齐和短语表,在经过过滤后仍然有非常大的容量,可以使用第三方计分器-BERTScore(BERT打分函数,BERT是指Bidirectional Encoder Representations from Transformers,基于双向编码表示的Transformers翻译模型)来控制细粒度双语知识的质量,以提高细粒度双语知识的确定性。如表7所示,可以看出,高质量的双语知识(如50%)能够进一步提高PMG训练策略的性能,也即如果采用计分器筛选出质量分数在50%以上的样本短语进行训练,那么能够进一步大幅提高NAT模型的翻译性能,因此PMG训练策略具有巨大的潜力。
表7
Ratio 10% 35% 50% 100%
△BLEU +0.3 +0.6 +0.7 +0.6
在本申请实施例中,提出了一种多粒度翻译分析手段,来量化传统的翻译模型是否能在不同粒度下有较好的翻译表现,从而揭示了NAT模型的弱点。此外,提出了一种能同时建模不同粒度的双语知识的训练方法(即PMG训练策略),能够在不改动模型本身参数,且不降低解码速率优势的前提下,显著提升以NAT模型为例的支持并行翻译的机器翻译模型的翻译效果(表现为BLEU值提高),并且分析发现以NAT模型为例的支持并行翻译的机器翻译模型的重排序能力及其他能力也进一步提升。此外,基于PMG训练策略训练出的NAT模型,可以应用在多种自然语言生成任务上,例如可以应用在机器翻译系统中,能够有助于理解和改进机器翻译系统的效果,以提升用户体验,还可以对外提供API(ApplicationProgramming Interface,应用程序接口)接口,以节约外部的翻译成本、提高翻译效率。
图10是本申请实施例提供的一种文本翻译装置的结构示意图,如图10所示,该装置包括:
获取模块1001,用于获取样本语句中的样本字符和样本短语;
第一调整模块1002,用于基于该样本字符,对学生模型进行参数调整,得到第一翻译模型,该学生模型支持对输入的多个字符进行并行翻译处理;
第二调整模块1003,用于基于该样本短语,对该第一翻译模型进行参数调整,得到第二翻译模型;
第三调整模块1004,用于基于该样本语句,对该第二翻译模型进行参数调整,得到目标翻译模型,该目标翻译模型用于将输入语句转换为具有相同语义的译文语句。
本申请实施例提供的装置,通过对粗粒度的样本语句拆分成细粒度的样本短语和更细粒度的样本字符,并利用样本字符使得学生模型先学习较为简单、易于学习的字符知识,再利用样本短语使得第一翻译模型学习更复杂的短语知识,最后利用样本语句使得第二翻译模型学习最为复杂的语句知识,由于目标翻译模型支持对输入字符并行翻译,因此目标翻译模型的翻译速度不会受到损失,并且在不额外引入训练数据量和模型参数的情况下,又大大提升了目标翻译模型的翻译准确度。
在一种可能实施方式中,该第一调整模块1002用于:
调用该学生模型对该样本字符进行翻译,得到译文字符;
基于参考字符和该译文字符,确定第一损失值,该参考字符与该样本字符具有相同的语义;
基于该第一损失值,对该学生模型进行参数调整,得到该第一翻译模型。
在一种可能实施方式中,基于图10的装置组成,该装置还包括:
第一翻译模块,用于调用教师模型对该样本字符进行翻译,得到该参考字符,该教师模型支持对输入的多个字符进行串行翻译处理。
在一种可能实施方式中,基于图10的装置组成,该装置还包括:
第二翻译模块,用于调用教师模型对该样本语句进行翻译,得到参考语句,该教师模型支持对输入的多个字符进行串行翻译处理;
第一确定模块,用于基于该样本语句和该参考语句,确定字符对齐信息,该字符对齐信息用于表征该样本语句中的字符与该参考语句中的对应字符是否具有相同的语义;
第二确定模块,用于基于该字符对齐信息,从该参考语句中确定该参考字符。
在一种可能实施方式中,该第二调整模块1003用于:
调用该第一翻译模型对该样本短语进行翻译,得到译文短语;
基于参考短语和该译文短语,确定第二损失值,该参考短语与该样本短语具有相同的语义;
基于该第二损失值,对该第一翻译模型进行参数调整,得到该第二翻译模型。
在一种可能实施方式中,基于图10的装置组成,该装置还包括:
第三翻译模块,用于调用教师模型对该样本短语进行翻译,得到该参考短语,该教师模型支持对输入的多个字符进行串行翻译处理。
在一种可能实施方式中,基于图10的装置组成,该装置还包括:
第二翻译模块,用于调用教师模型对该样本语句进行翻译,得到参考语句,该教师模型支持对输入的多个字符进行串行翻译处理;
第一确定模块,用于基于该样本语句和该参考语句,确定字符对齐信息,该字符对齐信息用于表征该样本语句中的字符与该参考语句中的对应字符是否具有相同的语义;
第三确定模块,用于基于该字符对齐信息,从该参考语句中,确定与该样本短语中包含的多个样本字符之间具有相同语义的多个参考字符;
第四确定模块,用于将该多个参考字符确定为该参考短语。
在一种可能实施方式中,该第三调整模块1004用于:
调用该第二翻译模型对该样本语句进行翻译,得到译文语句;
基于参考语句和该译文语句,确定第三损失值,该参考语句与该样本语句具有相同的语义;
基于该第三损失值,对该第二翻译模型进行参数调整,得到该目标翻译模型。
在一种可能实施方式中,基于图10的装置组成,该装置还包括:
第二翻译模块,用于调用教师模型对该样本语句进行翻译,得到该参考语句,该教师模型支持对输入的多个字符进行串行翻译处理。
在一种可能实施方式中,基于图10的装置组成,该获取模块1001包括:
分词处理单元,用于对该样本语句进行分词处理,得到该样本字符;
短语抽取单元,用于对该样本语句进行短语抽取,得到该样本短语。
在一种可能实施方式中,该短语抽取单元用于:
获取该样本语句和参考语句之间的字符对齐信息,该字符对齐信息用于表征该样本语句中的字符与该参考语句中的对应字符是否具有相同的语义;
基于该字符对齐信息,获取符合目标条件的该样本短语,该目标条件为样本短语所包含的至少一个字符在该字符对齐信息中指示为与该参考语句中的对应字符具有相同的语义。
上述所有可选技术方案,能够采用任意结合形成本公开的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的文本翻译装置在翻译文本时,仅以上述各功能模块的划分进行举例说明,实际应用中,能够根据需要而将上述功能分配由不同的功能模块完成,即将计算机设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的文本翻译装置与文本翻译方法实施例属于同一构思,其具体实现过程详见文本翻译方法实施例,这里不再赘述。
图11是本申请实施例提供的一种计算机设备的结构示意图。可选地,该终端1100的设备类型包括:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts GroupAudio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端1100还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端1100包括有:处理器1101和存储器1102。
可选地,处理器1101包括一个或多个处理核心,比如4核心处理器、8核心处理器等。可选地,处理器1101采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable LogicArray,可编程逻辑阵列)中的至少一种硬件形式来实现。在一些实施例中,处理器1101包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central Processing Unit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器1101集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器1101还包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
在一些实施例中,存储器1102包括一个或多个计算机可读存储介质,可选地,该计算机可读存储介质是非暂态的。可选地,存储器1102还包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器1102中的非暂态的计算机可读存储介质用于存储至少一个程序代码,该至少一个程序代码用于被处理器1101所执行以实现本申请中各个实施例提供的文本翻译方法。
在一些实施例中,终端1100还可选包括有:外围设备接口1103和至少一个外围设备。处理器1101、存储器1102和外围设备接口1103之间能够通过总线或信号线相连。各个外围设备能够通过总线、信号线或电路板与外围设备接口1103相连。具体地,外围设备包括:射频电路1104、显示屏1105、摄像头组件1106、音频电路1107、定位组件1108和电源1109中的至少一种。
外围设备接口1103可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器1101和存储器1102。在一些实施例中,处理器1101、存储器1102和外围设备接口1103被集成在同一芯片或电路板上;在一些其他实施例中,处理器1101、存储器1102和外围设备接口1103中的任意一个或两个在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路1104用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路1104通过电磁信号与通信网络以及其他通信设备进行通信。射频电路1104将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路1104包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。可选地,射频电路1104通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路1104还包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏1105用于显示UI(User Interface,用户界面)。可选地,该UI包括图形、文本、图标、视频及其它们的任意组合。当显示屏1105是触摸显示屏时,显示屏1105还具有采集在显示屏1105的表面或表面上方的触摸信号的能力。该触摸信号能够作为控制信号输入至处理器1101进行处理。可选地,显示屏1105还用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏1105为一个,设置终端1100的前面板;在另一些实施例中,显示屏1105为至少两个,分别设置在终端1100的不同表面或呈折叠设计;在再一些实施例中,显示屏1105是柔性显示屏,设置在终端1100的弯曲表面上或折叠面上。甚至,可选地,显示屏1105设置成非矩形的不规则图形,也即异形屏。可选地,显示屏1105采用LCD(Liquid Crystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件1106用于采集图像或视频。可选地,摄像头组件1106包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件1106还包括闪光灯。可选地,闪光灯是单色温闪光灯,或者是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,用于不同色温下的光线补偿。
在一些实施例中,音频电路1107包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器1101进行处理,或者输入至射频电路1104以实现语音通信。出于立体声采集或降噪的目的,麦克风为多个,分别设置在终端1100的不同部位。可选地,麦克风是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器1101或射频电路1104的电信号转换为声波。可选地,扬声器是传统的薄膜扬声器,或者是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅能够将电信号转换为人类可听见的声波,也能够将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路1107还包括耳机插孔。
定位组件1108用于定位终端1100的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。可选地,定位组件1108是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源1109用于为终端1100中的各个组件进行供电。可选地,电源1109是交流电、直流电、一次性电池或可充电电池。当电源1109包括可充电电池时,该可充电电池支持有线充电或无线充电。该可充电电池还用于支持快充技术。
在一些实施例中,终端1100还包括有一个或多个传感器1110。该一个或多个传感器1110包括但不限于:加速度传感器1111、陀螺仪传感器1112、压力传感器1113、指纹传感器1114、光学传感器1115以及接近传感器1116。
在一些实施例中,加速度传感器1111检测以终端1100建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器1111用于检测重力加速度在三个坐标轴上的分量。可选地,处理器1101根据加速度传感器1111采集的重力加速度信号,控制显示屏1105以横向视图或纵向视图进行用户界面的显示。加速度传感器1111还用于游戏或者用户的运动数据的采集。
在一些实施例中,陀螺仪传感器1112检测终端1100的机体方向及转动角度,陀螺仪传感器1112与加速度传感器1111协同采集用户对终端1100的3D动作。处理器1101根据陀螺仪传感器1112采集的数据,实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
可选地,压力传感器1113设置在终端1100的侧边框和/或显示屏1105的下层。当压力传感器1113设置在终端1100的侧边框时,能够检测用户对终端1100的握持信号,由处理器1101根据压力传感器1113采集的握持信号进行左右手识别或快捷操作。当压力传感器1113设置在显示屏1105的下层时,由处理器1101根据用户对显示屏1105的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器1114用于采集用户的指纹,由处理器1101根据指纹传感器1114采集到的指纹识别用户的身份,或者,由指纹传感器1114根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器1101授权该用户执行相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。可选地,指纹传感器1114被设置终端1100的正面、背面或侧面。当终端1100上设置有物理按键或厂商Logo时,指纹传感器1114能够与物理按键或厂商Logo集成在一起。
光学传感器1115用于采集环境光强度。在一个实施例中,处理器1101根据光学传感器1115采集的环境光强度,控制显示屏1105的显示亮度。具体地,当环境光强度较高时,调高显示屏1105的显示亮度;当环境光强度较低时,调低显示屏1105的显示亮度。在另一个实施例中,处理器1101还根据光学传感器1115采集的环境光强度,动态调整摄像头组件1106的拍摄参数。
接近传感器1116,也称距离传感器,通常设置在终端1100的前面板。接近传感器1116用于采集用户与终端1100的正面之间的距离。在一个实施例中,当接近传感器1116检测到用户与终端1100的正面之间的距离逐渐变小时,由处理器1101控制显示屏1105从亮屏状态切换为息屏状态;当接近传感器1116检测到用户与终端1100的正面之间的距离逐渐变大时,由处理器1101控制显示屏1105从息屏状态切换为亮屏状态。
本领域技术人员能够理解,图11中示出的结构并不构成对终端1100的限定,能够包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图12是本申请实施例提供的一种计算机设备的结构示意图,该计算机设备1200可因配置或性能不同而产生比较大的差异,该计算机设备1200包括一个或一个以上处理器(Central Processing Units,CPU)1201和一个或一个以上的存储器1202,其中,该存储器1202中存储有至少一条计算机程序,该至少一条计算机程序由该一个或一个以上处理器1201加载并执行以实现上述各个实施例提供的文本翻译方法。可选地,该计算机设备1200还具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该计算机设备1200还包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括至少一条计算机程序的存储器,上述至少一条计算机程序可由终端中的处理器执行以完成上述各个实施例中的文本翻译方法。例如,该计算机可读存储介质包括ROM(Read-Only Memory,只读存储器)、RAM(Random-Access Memory,随机存取存储器)、CD-ROM(Compact Disc Read-OnlyMemory,只读光盘)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,包括一条或多条程序代码,该一条或多条程序代码存储在计算机可读存储介质中。计算机设备的一个或多个处理器能够从计算机可读存储介质中读取该一条或多条程序代码,该一个或多个处理器执行该一条或多条程序代码,使得计算机设备能够执行以完成上述实施例中的文本翻译方法。
本领域普通技术人员能够理解实现上述实施例的全部或部分步骤能够通过硬件来完成,也能够通过程序来指令相关的硬件完成,可选地,该程序存储于一种计算机可读存储介质中,可选地,上述提到的存储介质是只读存储器、磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (15)

1.一种文本翻译方法,其特征在于,所述方法包括:
获取样本语句中的样本字符和样本短语;
基于所述样本字符,对学生模型进行参数调整,得到第一翻译模型,所述学生模型支持对输入的多个字符进行并行翻译处理;
基于所述样本短语,对所述第一翻译模型进行参数调整,得到第二翻译模型;
基于所述样本语句,对所述第二翻译模型进行参数调整,得到目标翻译模型,所述目标翻译模型用于将输入语句转换为具有相同语义的译文语句。
2.根据权利要求1所述的方法,其特征在于,所述基于所述样本字符,对学生模型进行参数调整,得到第一翻译模型包括:
调用所述学生模型对所述样本字符进行翻译,得到译文字符;
基于参考字符和所述译文字符,确定第一损失值,所述参考字符与所述样本字符具有相同的语义;
基于所述第一损失值,对所述学生模型进行参数调整,得到所述第一翻译模型。
3.根据权利要求2所述的方法,其特征在于,所述基于参考字符和所述译文字符,确定第一损失值之前,所述方法还包括:
调用教师模型对所述样本字符进行翻译,得到所述参考字符,所述教师模型支持对输入的多个字符进行串行翻译处理。
4.根据权利要求2所述的方法,其特征在于,所述基于参考字符和所述译文字符,确定第一损失值之前,所述方法还包括:
调用教师模型对所述样本语句进行翻译,得到参考语句,所述教师模型支持对输入的多个字符进行串行翻译处理;
基于所述样本语句和所述参考语句,确定字符对齐信息,所述字符对齐信息用于表征所述样本语句中的字符与所述参考语句中的对应字符是否具有相同的语义;
基于所述字符对齐信息,从所述参考语句中确定所述参考字符。
5.根据权利要求1所述的方法,其特征在于,所述基于所述样本短语,对所述第一翻译模型进行参数调整,得到第二翻译模型包括:
调用所述第一翻译模型对所述样本短语进行翻译,得到译文短语;
基于参考短语和所述译文短语,确定第二损失值,所述参考短语与所述样本短语具有相同的语义;
基于所述第二损失值,对所述第一翻译模型进行参数调整,得到所述第二翻译模型。
6.根据权利要求5所述的方法,其特征在于,所述基于参考短语和所述译文短语,确定第二损失值之前,所述方法还包括:
调用教师模型对所述样本短语进行翻译,得到所述参考短语,所述教师模型支持对输入的多个字符进行串行翻译处理。
7.根据权利要求5所述的方法,其特征在于,所述基于参考短语和所述译文短语,确定第二损失值之前,所述方法还包括:
调用教师模型对所述样本语句进行翻译,得到参考语句,所述教师模型支持对输入的多个字符进行串行翻译处理;
基于所述样本语句和所述参考语句,确定字符对齐信息,所述字符对齐信息用于表征所述样本语句中的字符与所述参考语句中的对应字符是否具有相同的语义;
基于所述字符对齐信息,从所述参考语句中,确定与所述样本短语中包含的多个样本字符之间具有相同语义的多个参考字符;
将所述多个参考字符确定为所述参考短语。
8.根据权利要求1所述的方法,其特征在于,所述基于所述样本语句,对所述第二翻译模型进行参数调整,得到目标翻译模型包括:
调用所述第二翻译模型对所述样本语句进行翻译,得到译文语句;
基于参考语句和所述译文语句,确定第三损失值,所述参考语句与所述样本语句具有相同的语义;
基于所述第三损失值,对所述第二翻译模型进行参数调整,得到所述目标翻译模型。
9.根据权利要求8所述的方法,其特征在于,所述基于参考语句和所述译文语句,确定第三损失值之前,所述方法还包括:
调用教师模型对所述样本语句进行翻译,得到所述参考语句,所述教师模型支持对输入的多个字符进行串行翻译处理。
10.根据权利要求1所述的方法,其特征在于,所述获取样本语句中的样本字符和样本短语包括:
对所述样本语句进行分词处理,得到所述样本字符;
对所述样本语句进行短语抽取,得到所述样本短语。
11.根据权利要求10所述的方法,其特征在于,所述对所述样本语句进行短语抽取,得到所述样本短语包括:
获取所述样本语句和参考语句之间的字符对齐信息,所述字符对齐信息用于表征所述样本语句中的字符与所述参考语句中的对应字符是否具有相同的语义;
基于所述字符对齐信息,获取符合目标条件的所述样本短语,所述目标条件为样本短语所包含的至少一个字符在所述字符对齐信息中指示为与所述参考语句中的对应字符具有相同的语义。
12.一种文本翻译装置,其特征在于,所述装置包括:
获取模块,用于获取样本语句中的样本字符和样本短语;
第一调整模块,用于基于所述样本字符,对学生模型进行参数调整,得到第一翻译模型,所述学生模型支持对输入的多个字符进行并行翻译处理;
第二调整模块,用于基于所述样本短语,对所述第一翻译模型进行参数调整,得到第二翻译模型;
第三调整模块,用于基于所述样本语句,对所述第二翻译模型进行参数调整,得到目标翻译模型,所述目标翻译模型用于将输入语句转换为具有相同语义的译文语句。
13.根据权利要求12所述的装置,其特征在于,所述第一调整模块用于:
调用所述学生模型对所述样本字符进行翻译,得到译文字符;
基于参考字符和所述译文字符,确定第一损失值,所述参考字符与所述样本字符具有相同的语义;
基于所述第一损失值,对所述学生模型进行参数调整,得到所述第一翻译模型。
14.一种计算机设备,其特征在于,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条计算机程序,所述至少一条计算机程序由所述一个或多个处理器加载并执行以实现如权利要求1至权利要求11任一项所述的文本翻译方法。
15.一种存储介质,其特征在于,所述存储介质中存储有至少一条计算机程序,所述至少一条计算机程序由处理器加载并执行以实现如权利要求1至权利要求11任一项所述的文本翻译方法。
CN202110461601.2A 2021-04-27 2021-04-27 文本翻译方法、装置、计算机设备及存储介质 Pending CN113761888A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110461601.2A CN113761888A (zh) 2021-04-27 2021-04-27 文本翻译方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110461601.2A CN113761888A (zh) 2021-04-27 2021-04-27 文本翻译方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN113761888A true CN113761888A (zh) 2021-12-07

Family

ID=78786909

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110461601.2A Pending CN113761888A (zh) 2021-04-27 2021-04-27 文本翻译方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN113761888A (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114580445A (zh) * 2022-03-10 2022-06-03 昆明理工大学 基于领域感知的掩码子结构的多领域自适应神经机器翻译方法
CN115081462A (zh) * 2022-06-15 2022-09-20 京东科技信息技术有限公司 翻译模型训练、翻译方法和装置
CN115082430A (zh) * 2022-07-20 2022-09-20 中国科学院自动化研究所 图像分析方法、装置及电子设备
CN116757254A (zh) * 2023-08-16 2023-09-15 阿里巴巴(中国)有限公司 任务处理方法、电子设备及存储介质

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114580445A (zh) * 2022-03-10 2022-06-03 昆明理工大学 基于领域感知的掩码子结构的多领域自适应神经机器翻译方法
CN114580445B (zh) * 2022-03-10 2023-03-10 昆明理工大学 基于领域感知的掩码子结构的多领域自适应神经机器翻译方法
CN115081462A (zh) * 2022-06-15 2022-09-20 京东科技信息技术有限公司 翻译模型训练、翻译方法和装置
CN115082430A (zh) * 2022-07-20 2022-09-20 中国科学院自动化研究所 图像分析方法、装置及电子设备
CN115082430B (zh) * 2022-07-20 2022-12-06 中国科学院自动化研究所 图像分析方法、装置及电子设备
CN116757254A (zh) * 2023-08-16 2023-09-15 阿里巴巴(中国)有限公司 任务处理方法、电子设备及存储介质
CN116757254B (zh) * 2023-08-16 2023-11-14 阿里巴巴(中国)有限公司 任务处理方法、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN112347795B (zh) 机器翻译质量评估方法、装置、设备及介质
US10956771B2 (en) Image recognition method, terminal, and storage medium
WO2021135577A1 (zh) 音频信号处理方法、装置、电子设备及存储介质
CN111985240B (zh) 命名实体识别模型的训练方法、命名实体识别方法及装置
CN113761888A (zh) 文本翻译方法、装置、计算机设备及存储介质
CN111414736B (zh) 故事生成模型训练方法、装置、设备及存储介质
CN112069309B (zh) 信息获取方法、装置、计算机设备及存储介质
US20240105159A1 (en) Speech processing method and related device
CN110162604B (zh) 语句生成方法、装置、设备及存储介质
WO2021238599A1 (zh) 对话模型的训练方法、装置、计算机设备及存储介质
CN113822076A (zh) 文本生成方法、装置、计算机设备及存储介质
CN111324699A (zh) 语义匹配的方法、装置、电子设备及存储介质
CN115858826A (zh) 数据处理方法、装置、计算机设备及存储介质
CN114281956A (zh) 文本处理方法、装置、计算机设备及存储介质
CN110555102A (zh) 媒体标题识别方法、装置及存储介质
CN111209377A (zh) 基于深度学习的文本处理方法、装置、设备及介质
CN112749531A (zh) 文本处理方法、装置、计算机设备及计算机可读存储介质
CN115640815A (zh) 翻译方法、装置、可读介质及电子设备
CN114154520B (zh) 机器翻译模型的训练方法、机器翻译方法、装置及设备
CN113836946B (zh) 训练评分模型的方法、装置、终端及存储介质
CN114328815A (zh) 文本映射模型的处理方法、装置、计算机设备及存储介质
CN113822084A (zh) 语句翻译方法、装置、计算机设备及存储介质
CN111414737B (zh) 故事生成模型训练方法、装置、设备及存储介质
CN117454954A (zh) 模型训练方法、装置、计算机设备及存储介质
CN110990549B (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