主动学习平行语料构建方法与流程

文档序号:16755133发布日期:2019-01-29 17:17阅读:379来源:国知局
本发明涉及神经机器翻译,特别是涉及主动学习平行语料构建方法。
背景技术
::随着计算机计算能力的提高以及大数据的应用,深度学习取得进一步的进展。基于深度学习的neuralmachinetranslation越来越受到人们的关注。在nmt领域中,最常用的一种翻译模型是带有注意力机制(attention-based)的encoder-decoder模型。其主要思想是将待翻译的语句(在下文中统称为‘源语句’)经过编码器(encoder)编码成为一个向量表示,然后利用解码器(decoder)对源语句的向量表示进行解码,翻译成为其对应的译文(在下文中统称为‘目标语句’)。在机器翻译的领域,低资源的语言对的翻译仍然面临着巨大的挑战。主要是低资源的平行语言对我们难以获得。为了获得平行语言对,我们常常通过对某一方的单语进行人工翻译,但人工翻译的成本是昂贵的,需要花费巨大的人力和时间。主动学习(active-learning),是一种应用在对获取数据难、代价大的任务上。主动学习是从任务出发,主动的去构建对模型学习最重要的样本。因此,主动学习应用在机器翻译低资源的领域有着很好的效果。传统技术存在以下技术问题:现有的将activelearning框架用到机器翻译上的:论文activelearningforstatisticalphrase-basedmachinetranslation,conferenceofthenorthamericanchapteroftheassociationofcomputationallinguistics.将主动学习的框架应用到统计机器翻译上,并验证了各种挑选句子的方法。论文:surveyofdata-selectionmethodsinstatisticalmachinetranslation,machinetranslation,pages189–223.总结了挑选句子的一个调研,可以归纳与模型和数据这两个角度。此前的主动学习中的一些挑选句子方法只是适用于统计机器翻译,但应用到神经机器翻译系统中,并不能解决问题,或者并没有什么效果。此前的一些方法,只是单一的提出对数据的覆盖率,并没有对神经机器翻译的特征进行考虑。当前,一个好的神经机器翻译模型需要大量的平行语料,在某些低资源的语言对里,很难获得相应的平行语料,但很多时候,我们可以获取大量的源端单语,并把这些单语交给专家翻译。在基于主动学习框架下,传统的一些方法并未真正的取得效果。技术实现要素:基于此,有必要针对上述技术问题,提供一种主动学习平行语料构建方法。一种主动学习平行语料构建方法,应用于低资源语言神经机器翻译,而且,应用在基于注意力机制且采用encoder-decoder框架的nmt模型,包括:获取原始平行语料和源端单语;获取所述原始平行语料的embedding和所述源端单语的embedding;计算所述源端单语中的每句话和所述平行语料的相似度,其中s是所述源端单语中的句子,emb(n)表示一个句子的embedding,sscore(s)表示句子s和平行语料数据集的相似性,sscore越大表示越不相似;对所述源端单语中的每句话按照相似程度进行排序,选择前面设定百分比的句子;获取上述“前面设定百分比的句子”进行人工翻译后的目标端单语;将所述人工翻译后的目标端单语和上述“前面设定百分比的句子”构成的平行语料加入到所述原始平行语料中,组成新的平行语料;用所述新的平行语料,训练出新的模型;将上述“前面设定百分比的句子”从源端单语中删除,得到新的源端单语;迭代上述过程,直到所述源端单语被选择完毕或者训练出的模型符合预期目标。在另外的一个实施例中,“获取所述原始平行语料的embedding和所述源端单语的embedding;”中使用fasttext工具得到所述原始平行语料的embedding和所述源端单语的embedding。上述主动学习平行语料构建方法,将主动学习框架应用到神经机器翻译低资源领域,并且提出了一个有效的挑选句子的方法,保证在每次迭代挑选出来的数据总是高质量,并能帮助模型更快的达到一个特定的效果。一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一项所述方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一项所述方法的步骤。一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任一项所述的方法。附图说明图1为本申请实施例提供的一种主动学习平行语料构建方法的流程图。图2为本申请实施例提供的一种主动学习平行语料构建方法中的语义空间分布图。具体实施方式为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。参阅图1,一种主动学习平行语料构建方法,应用于低资源语言神经机器翻译,而且,应用在基于注意力机制且采用encoder-decoder框架的nmt模型,包括:获取原始平行语料和源端单语;获取所述原始平行语料的embedding和所述源端单语的embedding;计算所述源端单语中的每句话和所述平行语料的相似度,其中s是所述源端单语中的句子,emb(n)表示一个句子的embedding,sscore(s)表示句子s和平行语料数据集的相似性,sscore越大表示越不相似;对所述源端单语中的每句话按照相似程度进行排序,选择前面设定百分比的句子;获取上述“前面设定百分比的句子”进行人工翻译后的目标端单语;将所述人工翻译后的目标端单语和上述“前面设定百分比的句子”构成的平行语料加入到所述原始平行语料中,组成新的平行语料;用所述新的平行语料,训练出新的模型;将上述“前面设定百分比的句子”从源端单语中删除,得到新的源端单语;迭代上述过程,直到所述源端单语被选择完毕或者训练出的模型符合预期目标。在另外的一个实施例中,“获取所述原始平行语料的embedding和所述源端单语的embedding;”中使用fasttext工具得到所述原始平行语料的embedding和所述源端单语的embedding。上述主动学习平行语料构建方法,将主动学习框架应用到神经机器翻译低资源领域,并且提出了一个有效的挑选句子的方法,保证在每次迭代挑选出来的数据总是高质量,并能帮助模型更快的达到一个特定的效果。一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任一项所述方法的步骤。一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现任一项所述方法的步骤。一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行任一项所述的方法。下面是本发明一个具体的应用场景:针对于具体的任务,我们需要挑选出高质量的语料,最常见的一些方法都是从数据的覆盖率和模型的角度考虑的:数据的覆盖率角度:这个方法主要可以从词或者n-gram的方面考虑,尽量挑选出在unlabeleddata池中概率大的词、n-gram,并且相对于在labeleddata池中概率低的这些数据,认为这些数据包含的信息量会更大。模型的角度考虑:用当前的模型去从unlabeleddata池中挑选数据,挑选那些对于当前模型翻译困难的数据,认为这些翻译困难的数据对当前的模型更重要。针对于神经机器翻译,我们提出了基于语义相似度的方法去挑选语料,这种方法与从数据的覆盖率和模型角度挑选句子有很大的不同:对于已经挑选出来的语料,如果这些语料在语义上都很接近,语义的相似度都很小,那么这些语料在语义空间上的分布就很小,同样,如果这些语料的语义相似度很大,那么在,这些句子在语义空间上的分布就很广,这样训练出来的模型效果就很好。基于这样的思想,我们提出了基于语义相似度的方法去挑选高质量的语料。主动学习(activelearning)针对于大量需要人工标注的数据,对所有的数据进行进行标注,总是需要巨大的代价。主动学习是一种半监督的机器学习技术,它的目的是从大量需要标注的数据中不断迭代的挑选出新的数据用于人工标注,这些挑选出来的数据是高质量的,是能够更快的得到一个高质量的模型,这样可以省去大量的时间和人力的消耗。在机器翻译的领域中,我们训练一个翻译系统,需要平行语言对,针对于某些语言对,我们很难获得它们的平行语言对,对于这些低资源的语言,我们需要对一方面的单语进行人工标注,来获得相应的平行语言对。我们可以将主动学习框架用到机器翻译上,去构造一些高质量的平行语言对。将主动学习框架应用到神经机器翻译低资源领域,并且我们提出了一个有效的挑选句子的方法,保证在每次迭代挑选出来的数据总是高质量,并能帮助模型更快的达到一个特定的效果。步骤一:实验数据准备少量的平行语料(l),大量的源端单语(u)比如:我们要构建印尼语-英语的平行语料,印尼语-英语是低资源平行语料,我们只有少量的印尼语-英语的平行语料,但我们有大量的印尼语这个单语语料。步骤二:挑选数据从大量的单语中挑选n个高质量的数据。挑选数据的方法是上面背景里提到的挑选数据的一些方法,包括word(词)、n-gram(n元)和语义相似度的方法。用语义相似度挑选句子的方法介绍:(i)对于已经得到的平行语言l,存在一个特定的语义分布空间,我们需要从单语语料中挑选句子,我们根据语义的分布,我们从单语u中挑选出那些在语义上和l已经具有的语义分布最不相似的句子用于人工翻译,因为,我们认为,这样挑选出来的句子是有价值的,是能快速的提高模型的效果。(ii)有效性的分析:对于平行语言l,已经涉及到的一些语义分布,模型已经可以学习的很好了,如果我们继续从u中挑选出在语义上相似于l的一些句子,当把这些句子人工标注后加入到l中重新训练的时候,我们会发现,这样对模型的改变和影响很小,而当我们挑选出那些越不相似的句子加入到l中后,会发现这些句子对模型的影响很大,因为,这些句子扩大了已有的语义分布空间,使得语义的分布更广。(iii)如何判断句子间的语义相似程度:在神经机器翻译中,用embedding(词嵌入)这样的向量表示一个词,并且,embedding有一个重要的特征,在语义上相似的词的embedding在空间分布上,这些embedding距离很近,所以,我们可以用embedding去评判两个词的语义上的相似度,同样,在深度学习中,我们可以得到句子的embedding,判定两个句子的语义相似性,我们可以看两个句子的embedding在空间上的距离。具体做法:获取句子embedding:我们用fasttext(https://github.com/aiweiw/fasttext-pvdm)这样的一个工具训练得到每句话的句子的embedding。(b)算u中的每句话和l的相似性,其中s是u中的句子,emb(n)表示一个句子的embedding,sscore(s)表示句子s和l数据集的相似性,sscore越大表示越不相似。步骤三:得到挑选出来的句子的人工翻译挑选出来的句子是从源端单语中句子,人工翻译就能得到它的目标端句子,这样就构造出新的平行语料。(注释:人工翻译需要耗费大量的时间和人力,所以我们需要从大量单语中挑选出最重要的那些句子,也就是说的高质量的句子,这样,对部分高质量的数据翻译,效果上却能达到对所有数据翻译的效果,这样,就可以节省很多人工翻译带来的花费)步骤四:将新构造出来的平行语料,和原有的平行语料混合,训练出新的模型。步骤五:将上述“前面设定百分比的句子”从源端单语中删除,得到新的源端单语。每次挑选出n个句子,迭代重复步骤二、步骤三、步骤四,步骤五。我们提出将主动学习框架应用到nmt低资源领域,并提出了一个有效的根据语义挑选句子的方法,使得人们在处理nmt低资源标注领域可以有一个好的框架模型和选句子方法,更重要的是可以挑选出更有价值的句子,对nmt的模型有一个积极的影响,可以节省标注时间和人力的消耗。我们用随机挑选句子和前人用于统计机器翻译的三种方法作为我们的baseline,用语义相似度的方法和这三种方法比较。我们的实验结果如下:200k220k240k260k280k300k320krandom38.238.5239.3939.9840.3640.3541.31word38.239.2938.8540.640.3540.8241.31ngram38.238.9940.0439.2540.5240.341.31sscore38.239.944040.4740.2341.241.31table1:印尼语-英语200k220k240k260k280k300krandom31.132.0932.0832.793333.7word31.131.3931.6332.1532.9633.4ngram31.131.9731.8932.7432.9233.82sscore31.132.1332.533.3833.1133.99table2:汉语-英语我们分别在两个不同的语言对做实验,table1是印尼语-英语,是一种稀缺语言对。我们初始化l是200k,单语u是120k,每次迭代从u中挑选20k并拿到它的翻译加入到l中,得到一个nmt模型,并在第6次迭代,u中所有的数据都加到l中了。table2是汉语-英语的实验,l是200k,单语u是1000k,每次迭代从u中挑选20k并拿到它的翻译加入到l中。表格中,random是随机挑选句子的方法,word和ngram是之前应用于统计机器翻译中的方法,sscore是我们提出的语义相似度的方法。从两个表格的实验结果来看,和随机挑选句子的方法相比,根据语义相似度挑选句子,总有一个好的效果,而前人的word和ngram在汉-英上并没有好的效果。并且在table2,语义相似度挑选句子比word和ngram的方法都要好。在table1中,语义相似度的方法能更快的达到一个好的翻译效果,在第5次迭代的时候,就和最终的结果非常接近,而其它方法没有。因此,我们得出结论:我们的语义相似度方法和随机挑选句子和前人的两种的方法相比,在神经机器翻译中,我们的方法有一个好的效果,并且,也可以的出,统计机器翻译上的方法迁移到nmt上,并不一定有效果。以上的各个数据都是bleu值。参阅图2,语义空间分布图图中黑色的‘.’点是l的分布,红色‘+’是随机挑选句子方法的点,蓝色‘*’是我们根据语义相似度挑选出来的句子。可以看出,黑色的点和红色的点主要分布在图的左边,而蓝色的点主要分布在图的右边。所以,根据语义相似度挑选出来的句子和原l形成的空间范围比随机挑选句子和原l形成的空间范围广,所以,我们的方法从图上也可以看出扩大了语义范围,所以有一个好的效果。以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1