基于术语替换的机器翻译方法及装置与流程

文档序号:24379783发布日期:2021-03-23 11:14阅读:348来源:国知局
基于术语替换的机器翻译方法及装置与流程
本发明涉及机器翻译
技术领域
,尤其涉及一种基于术语替换的机器翻译方法及装置。
背景技术
:目前主流的机器翻译方法是基于“段对段”架构的机器翻译模型,但人类译员在实际翻译过程中,往往会带有全局或者局部的“知识”。例如,“旁边的女孩.....”这段文字中省略了主语代词“她”或“他”,而人类译员在对这段话进行翻译时,会参考之前的翻译知识正确的补充这个代词。但是“段对段”机器翻译模型,不会引入全局或局部的翻译知识,因此,采用机器翻译模型对这个代词进行补充时,很容易出错。对于“段对段”架构的机器翻译而言,每一个输入所含代的知识都有助于提高翻译的准确率。而现有的术语替换的方式使用一个占位符代替原文中的词组输入到机器翻译中,所有的术语都由类似<term>这样的标签替代。例如,“汤姆”可以是<term>标签,“艾达”也可以是<term>标签。“汤姆”大概率是一个男性的名字,而“艾达”则是女性。若原文为“<term1>开心的简直要飞起,拽着<term2>的胳膊”,则译文是“<term1>wassohappythat代词1almostflewup.代词2grabbed<term2>...”显然,若<term1>是“汤姆”,则代词1的为“he”;若<term1>是“艾达”,则代词1的为“she”,由于<term1>代表的含义不同,代词1有不同的翻译结果。虽然术语替换可以解决术语翻译不准确的问题,但是在翻译过程中由于使用占用符替代原文中的词组,则词组所含有的“知识”丢失,导致原文翻译结果不准确。技术实现要素:本发明提供一种基于术语替换的机器翻译方法及装置,用以解决现有技术中翻译结果不准确的缺陷,实现提高翻译的准确性。本发明提供一种基于术语替换的机器翻译方法,包括:对待翻译原文进行分词,判断每个词是否为预设术语,将所述待翻译原文中的每个预设术语替换为占位符;将替换后的待翻译原文中的词、占位符和替换的词的特征转换为词向量,将所述占位符的词向量和所述占位符对应的特征的词向量进行融合;将融合结果和所述词的词向量输入所述机器翻译模型,输出所述待翻译原文的含占位符的译文,将所述含占位符的译文中的占位符替换为相应预设术语的译文,获取所述待翻译原文的最终译文;其中,所述机器翻译模型为,以样本原文为样本,以与所述样本原文对应的样本译文为样本标签训练得到。根据本发明提供的一种基于术语替换的机器翻译方法,所述将替换后的待翻译原文中的词、占位符和替换的词的特征转换为词向量,包括:基于词嵌入算法将所述替换后的待翻译原文中的词、占位符和替换的词的特征转换为词向量。根据本发明提供的一种基于术语替换的机器翻译方法,所述将所述占位符的词向量和所述占位符对应的特征的词向量进行融合,包括:将所述占位符的词向量和所述占位符对应的特征的词向量相加。根据本发明提供的一种基于术语替换的机器翻译方法,所述将融合结果和所述词的词向量输入所述机器翻译模型,输出所述待翻译原文的含占位符的译文,包括:将所述融合结果和所述词的词向量分别输入所述机器翻译模型的编码器,输出所述待翻译原文的编码结果;将所述编码结果输入到所述机器翻译模型的解码器,输出所述待翻译原文的含占位符的译文。根据本发明提供的一种基于术语替换的机器翻译方法,所述机器翻译模型为rnnsearch模型。根据本发明提供的一种基于术语替换的机器翻译方法,所述机器翻译模型为transformer模型。根据本发明提供的一种基于术语替换的机器翻译方法,所述对待翻译原文进行分词,判断每个词是否为预设术语,将所述待翻译原文中的每个预设术语替换为占位符;将每个词与预设术语进行匹配,根据匹配结果判断每个词是否为预设术语;将所述待翻译原文中的每个预设术语替换为占位符。本发明还提供一种基于术语替换的机器翻译装置,包括:替换模块,用于对待翻译原文进行分词,判断每个词是否为预设术语,将所述待翻译原文中的每个预设术语替换为占位符;融合模块,用于将替换后的待翻译原文中的词、占位符和替换的词的特征转换为词向量,将所述占位符的词向量和所述占位符对应的特征的词向量进行融合;翻译模块,用于将融合结果和所述词的词向量输入所述机器翻译模型,输出所述待翻译原文的含占位符的译文,将所述含占位符的译文中的占位符替换为相应预设术语的译文,获取所述待翻译原文的最终译文;其中,所述机器翻译模型为,以样本原文为样本,以与所述样本原文对应的样本译文为样本标签训练得到。本发明还提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一种所述基于术语替换的机器翻译方法的步骤。本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一种所述基于术语替换的机器翻译方法的步骤。本发明提供的基于术语替换的机器翻译方法及装置,通过首先确定待翻译原文中的预设术语,使用占位符对每个预设术语进行替换,并将占位符的词向量和占位符对应的特征的词向量进行融合,然后,使用机器翻译模型根据融合结果和词的词向量对待翻译原文进行翻译,通过对占位符添加对应的特征,使得占位符具有“知识”,可以有效提高对待翻译原文进行翻译的准确性。附图说明为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本发明提供的基于术语替换的机器翻译方法的流程示意图;图2是本发明提供的基于术语替换的机器翻译方法的结构示意图;图3是本发明提供的基于术语替换的机器翻译装置的结构示意图;图4是本发明提供的电子设备的结构示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明中的附图,对本发明中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下面结合图1描述本发明的基于术语替换的机器翻译方法,包括:步骤101,对待翻译原文进行分词,判断每个词是否为预设术语,将所述待翻译原文中的每个预设术语替换为占位符;具体地,可以对待翻译原文进行句子拆分,得到待翻译原文的多个句子。再对每个句子进行分词处理,得到每个句子对应的多个词。其中,可以采用standfordcorenlp工具这种语言处理工具对每个句子进行分词处理,本实施例不限于分词处理的方法。对待翻译原文进行分词处理后,可以通过预先构建的实体表中的预设术语,判断每个词是否为预设术语,从而获取待翻译原文中的所有预设术语。其中,预先构建的实体表中包括多个预设术语,本实施例不限于预设术语的类型和数量。确定待翻译原文中的预设术语后,将待翻译原文的每个预设术语替换为占位符,得到带有占位符的待翻译原文。例如,待翻译原文为“别问汤姆他的工作的问题”,其中,“汤姆”为预设术语,可以将“汤姆”替换为占位符<entity1>,则替换后的待翻译原文为“别问<entity1>他的工作的问题”。步骤102,将替换后的待翻译原文中的词、占位符和替换的词的特征转换为词向量,将所述占位符的词向量和所述占位符对应的特征的词向量进行融合;具体地,现有的术语表中仅包含预设术语的原文和译文,因此在翻译过程中并未考虑词中所含的“知识”,很容易导致翻译错误。如表1为现有的术语表。表1术语表原文译文夏末monique万豪国际marriottinternatioal慕寒宇henry慕总chairmanmoore慕少youngmastermoore慕变态pervertmoore小糯米littlenomi夏安安angel而本实施例中预先构建的实体表中除了包括每个预设术语的原文和译文,还包括每个预设术语的特征。如表2所示为实体表的一种示例。表2实体表原文译文特征词1特征词2夏末monique姓名女万豪国际marriottinternatioal地名酒店慕寒宇henry姓名男慕总chairmanmoore称谓男慕少youngmastermoore称谓男慕变态pervertmoore外号男小糯米littlenomi小名男夏安安angel姓名女获取到替换后的待翻译原文后,可以将替换后的待翻译原文中的每个词、每个占位符和每个替换的词的特征分别转换为词向量。其中,替换后的待翻译原文中的词为与预设术语不匹配的词。替换的词即为预设术语,预设术语的特征即为替换的词的特征,可以通过在实体表中查找获取。每个预设术语的特征可以是一个或多个,本实施例不限于每个预设术语的特征数量。任意两个预设术语可以有相同的特征,也可以有不同的特征。为了解决现有技术中使用占用符替代待翻译原文中的词时,词中所含有的“知识”丢失的问题,本实施将任一占位符的词向量和该占位符对应的特征的词向量进行融合,作为实体词向量。步骤103,将融合结果和所述词的词向量输入所述机器翻译模型,输出所述待翻译原文的含占位符的译文,将所述含占位符的译文中的占位符替换为相应预设术语的译文,获取所述待翻译原文的最终译文;其中,所述机器翻译模型为,以样本原文为样本,以与所述样本原文对应的样本译文为样本标签训练得到。具体地,可以将融合后的占位符的词向量和占位符对应的特征的词向量,以及词的词向量作为机器翻译模型的输入。通过机器翻译模型对输入词向量进行学习,可以输出含占位符的译文。为了得到待翻译原文的最终译文,可以在实体表中获取占位符对应的预设术语的译文,将含占位符的译文中的占位符替换为占位符对应的预设术语的译文。例如,待翻译原文为“别问汤姆他的工作的问题”,替换后的待翻译原文为“别问<entity1>他的工作的问题”,机器翻译模型输出的译文为“don’task<entity1>anyquestionabouthisjob”。可以将机器翻译模型输出的译文中的<entity1>替换为“汤姆”的译文“tom”,最终译文为“don’tasktomanyquestionabouthisjob”。通过这种方式,既可以对待翻译原文中的预设术语进行准确翻译,在使用占位符替换预设术语时,为其增加相应的特征,可以有效避免因术语替换时“知识”丢失,造成翻译质量下降的问题。本实施例首先确定待翻译原文中的预设术语,使用占位符对每个预设术语进行替换,并将占位符的词向量和占位符对应的特征的词向量进行融合,然后,使用机器翻译模型根据融合结果和词的词向量对待翻译原文进行翻译,通过对占位符添加对应的特征,使得占位符具有“知识”,可以有效提高对待翻译原文进行翻译的准确性。在上述实施例的基础上,本实施例中所述将替换后的待翻译原文中的词、占位符和替换的词的特征转换为词向量,包括:基于词嵌入算法将所述替换后的待翻译原文中的词、占位符和替换的词的特征转换为词向量。其中,词嵌入算法可以将文本中的词转换成数字向量,可以是word2vec模型,本实施例不限于词嵌入算法的类型。word2vec模型可用来映射每个词到一个向量,可用来表示词对词之间的关系。如图2所示,通过词嵌入算法可以将替换后的待翻译原文中的每个词、每个占位符和每个替换的词的特征分别转换为词向量。其中,embedding为词嵌入算法。可以将词嵌入算法集成在机器翻译模型中,也可以将词嵌入算法作为一个单独的模型。在上述实施例的基础上,本实施中所述将所述占位符的词向量和所述占位符对应的特征的词向量进行融合,包括:将所述占位符的词向量和所述占位符对应的特征的词向量相加。具体地,每个词向量的长度相同,因此可以将占位符的词向量和占位符对应的特征的词向量直接相加,也可以将占位符的词向量和占位符对应的特征的词向量加权相加,本实施例不限于词向量融合的方法。例如,任一预设术语替换为占位符<entity1>,占位符<entity1>转换为词向量为vtag,预设术语对应的特征包含n个,对应的词向量为{vfeatures1,…,vfeaturesn},则融合结果为ve=vtag+vfeatures1+vfeatures2+……+vfeaturesn。本实施例更加注重词本身的特征,而不是词与词之间的关系。在上述实施例的基础上,本实施例中所述将融合结果和所述词的词向量输入所述机器翻译模型,输出所述待翻译原文的含占位符的译文,包括:将所述融合结果和所述词的词向量分别输入所述机器翻译模型的编码器,输出所述待翻译原文的编码结果;将所述编码结果输入到所述机器翻译模型的解码器,输出所述待翻译原文的含占位符的译文。其中,机器翻译模型可以有多层编码器和解码器组成,本实施例不限于编码器和解码器的数量。每个编码器包含一个自注意力层和前馈层。其中,自注意力层可以帮助编码器在对每个词进行编码的同时,也会关注其他句子的词,将其他句子的词与当前输入的词进行融合学习。每个编码器接收到输入向量后,首先将输入向量传递到自注意力层进行处理,然后将处理结果传递到前馈层,将前馈层的输出结果作为下一编码器的输入向量。可以将所述融合结果和词的词向量作为机器翻译模型的第一层编码器的输入,通过机器翻译模型的最后一层的解码器输出含占位符的译文。机器翻译模型的类型可以根据实际需求确定。在上述各实施例的基础上,本实施例中所述机器翻译模型为rnnsearch模型。其中,rnnsearch模型应用带有注意力机制的encode-decoder框架。其中encoder为编码器,decoder为解码器。rnnsearch模型使得在预测每个目标端的词时,模型可以通过注意力机制在源端句子中查找与其最相关的信息来提高翻译效果。且rnnsearch模型将rnn(recursiveneuralnetwork,递归神经网络)应用到编码器和解码器中,rnn网络可以将当前输入向量和历史输出结果结合,输出当前输入对应的输出结果。通过这种模型可以使得翻译的结果更加准确。在上述各实施例的基础上,本实施例中所述机器翻译模型为transformer模型。具体地,还可以使用transformer模型对待翻译原文进行翻译。其中,transformer模型使用自注意网络进行编码和解码。其中,encoder和decoder均由多层构成,每一层包括一个多头自注意和一个前馈子层。decoder中在自注意层和前馈子层之间附加一个多头encoder-decoder注意力模块。transformer模型在许多语言翻译中实现了最先进的翻译性能。在上述各实施例的基础上,本实施例中所述对待翻译原文进行分词,判断每个词是否为预设术语,将所述待翻译原文中的每个预设术语替换为占位符;将每个词与预设术语进行匹配,根据匹配结果判断每个词是否为预设术语;将所述待翻译原文中的每个预设术语替换为占位符。具体地,可以通过每个词与实体表中的每个预设术语进行一一匹配,若匹配到预设术语,则将该词替换为占位符;若未匹配到预设术语,则该词不为预设术语。此外,还可以通过cedar双数组字典树算法实现术语匹配。下面对本发明提供的基于术语替换的机器翻译装置进行描述,下文描述的基于术语替换的机器翻译装置与上文描述的基于术语替换的机器翻译方法可相互对应参照。如图3所示,本实施例提供一种基于术语替换的机器翻译装置,该装置包括替换模块301、融合模块302和翻译模块303,其中:替换模块301用于对待翻译原文进行分词,判断每个词是否为预设术语,将所述待翻译原文中的每个预设术语替换为占位符;具体地,可以对待翻译原文进行句子拆分,得到待翻译原文的多个句子。再对每个句子进行分词处理,得到每个句子对应的多个词。其中,可以采用standfordcorenlp工具这种语言处理工具对每个句子进行分词处理,本实施例不限于分词处理的方法。对待翻译原文进行分词处理后,可以通过预先构建的实体表中的预设术语,判断每个词是否为预设术语,从而获取待翻译原文中的所有预设术语。其中,预先构建的实体表中包括多个预设术语,本实施例不限于预设术语的类型和数量。确定待翻译原文中的预设术语后,将待翻译原文的每个预设术语替换为占位符,得到带有占位符的待翻译原文。融合模块302用于将替换后的待翻译原文中的词、占位符和替换的词的特征转换为词向量,将所述占位符的词向量和所述占位符对应的特征的词向量进行融合;具体地,现有的术语表中仅包含预设术语的原文和译文,因此在翻译过程中并未考虑词中所含的“知识”,很容易导致翻译错误。而本实施例中预先构建的实体表中除了包括每个预设术语的原文和译文,还包括每个预设术语的特征。获取到替换后的待翻译原文后,可以将替换后的待翻译原文中的每个词、每个占位符和每个替换的词的特征分别转换为词向量。其中,替换后的待翻译原文中的词为与预设术语不匹配的词。替换的词即为预设术语,预设术语的特征即为替换的词的特征,可以通过在实体表中查找获取。每个预设术语的特征可以是一个或多个,本实施例不限于每个预设术语的特征数量。任意两个预设术语可以有相同的特征,也可以有不同的特征。为了解决现有技术中使用占用符替代待翻译原文中的词时,词中所含有的“知识”丢失的问题,本实施将任一占位符的词向量和该占位符对应的特征的词向量进行融合,作为实体词向量。翻译模块303用于将融合结果和所述词的词向量输入所述机器翻译模型,输出所述待翻译原文的含占位符的译文,将所述含占位符的译文中的占位符替换为相应预设术语的译文,获取所述待翻译原文的最终译文;其中,所述机器翻译模型为,以样本原文为样本,以与所述样本原文对应的样本译文为样本标签训练得到。具体地,可以将融合后的占位符的词向量和占位符对应的特征的词向量,以及词的词向量作为机器翻译模型的输入。通过机器翻译模型对输入词向量进行学习,可以输出含占位符的译文。为了得到待翻译原文的最终译文,可以在实体表中查找占位符对应的预设术语的译文,将含占位符的译文中的占位符替换为占位符对应的预设术语的译文。通过这种方式,既可以对待翻译原文中的预设术语进行准确翻译,在使用占位符替换预设术语时,为其增加相应的特征,可以有效避免因术语替换时“知识”丢失,造成翻译质量下降的问题。本实施首先确定待翻译原文中的预设术语,使用占位符对每个预设术语进行替换,并将占位符的词向量和占位符对应的特征的词向量进行融合,然后,使用机器翻译模型根据融合结果和词的词向量对待翻译原文进行翻译,通过对占位符添加对应的特征,使得占位符具有“知识”,可以有效提高对待翻译原文进行翻译的准确性。在上述各实施例的基础上,本实施例中转换模块具体用于:基于词嵌入算法将所述替换后的待翻译原文中的词、占位符和替换的词的特征转换为词向量。在上述实施例的基础上,本实施例中融合模块具体用于:将所述占位符的词向量和所述占位符对应的特征的词向量相加。在上述实施例的基础上,本实施例中翻译模块具体用于:将所述融合结果和所述词的词向量分别输入所述机器翻译模型的编码器,输出所述待翻译原文的编码结果;将所述编码结果输入到所述机器翻译模型的解码器,输出所述待翻译原文的含占位符的译文。在上述各实施例的基础上,本实施例中所述机器翻译模型为rnnsearch模型。在上述各实施例的基础上,本实施例中所述机器翻译模型为transformer模型。在上述各实施例的基础上,本实施例中替换模块具体用于:将每个词与预设术语进行匹配,根据匹配结果判断每个词是否为预设术语;将所述待翻译原文中的每个预设术语替换为占位符。图4示例了一种电子设备的实体结构示意图,如图4所示,该电子设备可以包括:处理器(processor)401、通信接口(communicationsinterface)402、存储器(memory)403和通信总线404,其中,处理器401,通信接口402,存储器403通过通信总线404完成相互间的通信。处理器401可以调用存储器403中的逻辑指令,以执行基于术语替换的机器翻译方法,该方法包括:对待翻译原文进行分词,判断每个词是否为预设术语,将所述待翻译原文中的每个预设术语替换为占位符;将替换后的待翻译原文中的词、占位符和替换的词的特征转换为词向量,将所述占位符的词向量和所述占位符对应的特征的词向量进行融合;将融合结果和所述词的词向量输入所述机器翻译模型,输出所述待翻译原文的含占位符的译文,将所述含占位符的译文中的占位符替换为相应预设术语的译文,获取所述待翻译原文的最终译文;其中,所述机器翻译模型为,以样本原文为样本,以与所述样本原文对应的样本译文为样本标签训练得到。此外,上述的存储器403中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。另一方面,本发明还提供一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,计算机能够执行上述各方法所提供的基于术语替换的机器翻译方法,该方法包括:对待翻译原文进行分词,判断每个词是否为预设术语,将所述待翻译原文中的每个预设术语替换为占位符;将替换后的待翻译原文中的词、占位符和替换的词的特征转换为词向量,将所述占位符的词向量和所述占位符对应的特征的词向量进行融合;将融合结果和所述词的词向量输入所述机器翻译模型,输出所述待翻译原文的含占位符的译文,将所述含占位符的译文中的占位符替换为相应预设术语的译文,获取所述待翻译原文的最终译文;其中,所述机器翻译模型为,以样本原文为样本,以与所述样本原文对应的样本译文为样本标签训练得到。又一方面,本发明还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各提供的基于术语替换的机器翻译方法,该方法包括:对待翻译原文进行分词,判断每个词是否为预设术语,将所述待翻译原文中的每个预设术语替换为占位符;将替换后的待翻译原文中的词、占位符和替换的词的特征转换为词向量,将所述占位符的词向量和所述占位符对应的特征的词向量进行融合;将融合结果和所述词的词向量输入所述机器翻译模型,输出所述待翻译原文的含占位符的译文,将所述含占位符的译文中的占位符替换为相应预设术语的译文,获取所述待翻译原文的最终译文;其中,所述机器翻译模型为,以样本原文为样本,以与所述样本原文对应的样本译文为样本标签训练得到。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1