文档翻译方法、装置、电子设备、及存储介质与流程

文档序号:21409929发布日期:2020-07-07 14:45阅读:213来源:国知局
文档翻译方法、装置、电子设备、及存储介质与流程

本公开实施例涉及自然语言处理技术领域,具体涉及一种文档翻译方法、装置、电子设备、及存储介质。



背景技术:

机器翻译研究如何利用计算机自动地实现不同语言之间的相互转换,是自然语言处理和人工智能重要研究领域。目前,广泛采用的方法是句子到句子级别的翻译。



技术实现要素:

有鉴于此,本公开实施例提供一种文档翻译方法、装置、电子设备、及存储介质,以实现以文档为单位进行全文翻译。

本公开实施例的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开实施例的实践而习得。

在本公开的第一方面,本公开实施例提供了一种文档翻译方法,包括:获取待翻译的源语言的源文档,所述源文档包含多个语句;将所述源文档输入至预先训练的文档翻译模型,以获取所述文档翻译模型输出的目标语言的目标文档,所述文档翻译模型能够将所述源文档直接翻译成所述目标文档,而不是对所述源文档的所述多个语句进行逐句翻译。

在本公开的第二方面,本公开实施例还提供了一种文档翻译装置,包括:源文档获取单元,用于获取待翻译的源语言的源文档,所述源文档包含多个语句;目标文档获取单元,用于将所述源文档输入至预先训练的文档翻译模型,以获取所述文档翻译模型输出的目标语言的目标文档,所述文档翻译模型能够将所述源文档直接翻译成所述目标文档,而不是对所述源文档的所述多个语句进行逐句翻译。

在本公开的第三方面,提供了一种电子设备。该电子设备包括:处理器;以及存储器,用于存储可执行指令,所述可执行指令在被所述处理器执行时使得所述电子设备执行第一方面中的方法。

在本公开的第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现第一方面中的方法。

本公开实施例通过获取待翻译的源语言的源文档,将该源文档输入至预先训练的文档翻译模型,以获取所述文档翻译模型输出的目标语言的目标文档,所述文档翻译模型能够将所述源文档直接翻译成所述目标文档,而不是对所述源文档的所述多个语句进行逐句翻译,从而使机器学习模型能够考虑词汇在全文中的语义,翻译更加准确。

附图说明

为了更清楚地说明本公开实施例中的技术方案,下面将对本公开实施例描述中所需要使用的附图作简单的介绍,显而易见地,下面描述中的附图仅仅是本公开实施例中的一部分实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本公开实施例的内容和这些附图获得其他的附图。

图1是本公开实施例提供的一种文档翻译方法的流程示意图;

图2a是一个示例性的句子级别的翻译效果示意图;

图2b是另一种示例性的句子级别的翻译效果示意图;

图2c是又一种示例性的句子级别的翻译效果示意图;

图3是采用本实施例所述的文档翻译方法翻译文档与采用的句子级别的翻译方法翻译文档的翻译效果对比示意图;

图4是本公开实施例提供的一种示例性的文档翻译模型训练方法的流程示意图;

图5是本公开实施例提供的一种示例性的训练得到文档翻译模型的方法流程示意图;

图6是本公开实施例提供的一种文档翻译装置的结构示意图;

图7是本公开实施例提供的一种示例性的文档翻译模型的训练模块结构示意图;

图8示出了适于用来实现本公开实施例的电子设备的结构示意图。

具体实施方式

为使本公开实施例解决的技术问题、采用的技术方案和达到的技术效果更加清楚,下面将结合附图对本公开实施例的技术方案作进一步的详细描述,显然,所描述的实施例仅仅是本公开实施例中的一部分实施例,而不是全部的实施例。基于本公开实施例中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开实施例保护的范围。

需要说明的是,本公开实施例中术语“系统”和“网络”在本文中常被可互换使用。本公开实施例中提到的“和/或”是指包括一个或更多个相关所列项目的任何和所有组合。本公开的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于限定特定顺序。

还需要说明是,本公开实施例中下述各个实施例可以单独执行,各个实施例之间也可以相互结合执行,本公开实施例对此不作具体限制。

本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。

下面结合附图并通过具体实施方式来进一步说明本公开实施例的技术方案。

图1示出了本公开实施例提供的一种文档翻译方法的流程示意图,本实施例可适用于以文档为单位进行全文翻译的情况,该方法可以由配置于电子设备中的文档翻译装置来执行,如图1所示,本实施例所述的文档翻译方法包括:

在步骤s110中,获取待翻译的源语言的源文档,所述源文档包含多个语句。

在步骤s120中,将所述源文档输入至预先训练的文档翻译模型,以获取所述文档翻译模型输出的目标语言的目标文档,所述文档翻译模型能够将所述源文档直接翻译成所述目标文档,而不是对所述源文档的所述多个语句进行逐句翻译。需要说明的是,所述源语言与所述目标语言属于不同语言。

为了更好地阐释本实施例的技术方案,在描述本实施例的技术方案之前,可以回顾一下当前的文档翻译方法。目前,业界普遍采用的方法是将文档切分成多个句子,然后进行句子级别的翻译;而不是直接对整个文档进行翻译。原因在于,由于缺少大规模的训练用平行文档,因此业界普遍忽视了文档级别的翻译,而是一致将研究致力于句子级别的翻译。但是,对于一篇文档,其句子和句子之间往往是意思连惯的,而非孤立封闭的,因此,句子中词汇的意思应该用联系的、发展的、全面的视角确定,而不能用孤立的、静止的、片面的视角确定,否则会出现翻译不一致或翻译错误。

例如,图2a是一种示例性的句子级别的翻译效果示意图,图中上一部分是待翻译的中文的源文档,下一部分是采用句子级别的翻译方法得到的英文的目标文档,从图2a可见,源文档中有多个句子均出现有人名“舒克”这一词,在同一文档中理应翻译成统一的目标词汇,由于句子级别的翻译工具采用句子级别的翻译方法,各句子翻译过程各自为政,就出现了对“舒克”这一词的翻译结果并不统一,详见目标文档中的词汇“shuke”和“shuk”,这显然是不合理的。

又如,图2b是另一种示例性的句子级别的翻译效果示意图,图中上一部分是待翻译的中文的源文档,下一部分是采用句子级别的翻译方法得到的英文的目标文档,我们知道,不同体制的国家,总理的表达是不一样的,例如英国、俄罗斯等总统制因家,“总理”应该称为“primeminister”,德国的“总理”应称为“chancellor”,中国的“总理”应称为“premier”,从图2b可见,源文档中第一个句子“德国总理”翻译成“thegermanchancellor”,在同一语境下,该源文档中最后一句描述该德因总理的“总理任期”也应当翻译成“termaschancellor”。由于句子级别的翻译方法没有考虑整个文档的上下文,脱离前面句子的语境,翻译成了“primeminister”,以至于出现了翻译错误。

再如,图2c是又一种示例性的句子级别的翻译效果示意图,图中上一部分是待翻译的中文的源文档,下一部分是采用句子级别的翻译方法得到的英文的目标文档。根据源文档的第一个句子,可见第二句和第三句的语境应该向法庭提交的申请内容,时间发生在过去,因此对第二句和第一句的词汇“想要”应当翻译成过去时态而非现在时态。由于句子级别的翻译方法仅考虑当前句子,而没有考虑文档的其他句子,脱离了前面句子的语境,将“想要”都翻译成了“wants”,这种翻译问题对于这种句子级别的翻译方法也是难是避免的。

本实施例所述的方法以文档为单位,通过将源文档输入至预先训练的文档翻译模型进行翻译得到目标文档,将源文档直接翻译成所述目标文档,而不是对所述源文档的所述多个语句进行逐句翻译,达到了意想不到的技术效果,如图3所示。原因在于以文档为级别,能够考虑到更多的上下文信息,例如人名上下文一致,下图的时态等。

图3是采用本实施例所述的文档翻译方法翻译文档与采用句子级别的翻译方法翻译文档的翻译效果对比示意图,图3中表格的第一行为两个源文档,第二行为采用句子级别的翻译方法翻译上述两个源文档得到的目标文档,第三行为采用本实施例所述的文档翻译方法翻译翻译上述两个源文档得到的目标文档。如图3所示,由于采用本实施例所述的文档翻译方法,对句子中词汇的意思采用联系的、发展的、全面的视角确定,而不是用孤立的、静止的、片面的视角确定,至少克服了图2b和图2c的技术问题,例如克服了词汇翻译不一致的问题、克服了因为语境原因导致的词汇翻译错误和动作时态翻译错误等问题,能够明显提高翻译质量。

本实施例所述文档翻译模型属于文档级别的翻译模型,其具体训练方法包括多种,本实施例对此不作限定。例如,图4是一种示例性的训练方法,如图4所述,所述文档翻译模型可通过如下步骤训练得到:

在步骤s410中,获取训练文档对集合,其中,训练文档对包括所述源语言的第一文档和所述目标语言的第二文档。

在步骤s420中,确定初始化的文档翻译模型,其中所述初始化的文档翻译模型包括用于输出翻译结果文档的目标层。

在步骤s430中,将所述训练文档对集合中的训练文档对的第一文档作为所述初始化的文档翻译模型的输入,将所述训练文档对的第二文档作为所述初始化的文档翻译模型的期望输出,训练得到所述文档翻译模型。

其中,所述初始化的文档翻译模型可为seq2seq(序列到序列)模型,以所述初始化的文档翻译模型包括至少两个编码器层和至少一个解码器层为例,将所述训练文档对集合中的训练文档对中的第一文档作为所述初始化的文档翻译模型的输入,将所述训练文档对中的第二文档作为所述初始化的文档翻译模型的期望输出,训练得到所述文档翻译模型可采用如图5所示的方法,如图5所示,图4中所述步骤s430可进一步包括:

在步骤s510中,将输入的文档向量分别输入至少一个编码器层进行处理,以形成隐含层语句向量。

在步骤s520中,将所述文档向量和/或所述隐含层语句向量输入至少一个编码器层进行处理,以形成隐含层词汇向量。

在步骤s530中,将所述隐含层词汇向量和所述隐含层语句向量输入至少一个解码器层进行处理,以生成输出的文档向量。

在步骤s540中,根据输出的文档向量与所述输入的文档向量的期望输出之间的差别信息对所述初始化的文档翻译模型进行参数调整,以训练得到所述文档翻译模型。

本实施例通过获取待翻译的源语言的源文档,将该源文档输入至预先训练的文档翻译模型,以获取所述文档翻译模型输出的目标语言的目标文档,所述文档翻译模型能够将所述源文档直接翻译成所述目标文档,而不是对所述源文档的所述多个语句进行逐句翻译,从而使机器学习模型能够考虑词汇在全文中的语义,翻译更加准确。

作为上述各图所示方法的实现,本申请提供了一种文档翻译装置的一个实施例,图6示出了本实施例提供的一种文档翻译装置的结构示意图,该装置实施例与图1至图5所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。如图6所示,本实施例所述的文档翻译装置包括源文档获取单元610和目标文档获取单元620。

所述源文档获取单元610被配置为,用于获取待翻译的源语言的源文档,所述源文档包含多个语句。

所述目标文档获取单元620被配置为,用于将所述源文档输入至预先训练的文档翻译模型,以获取所述文档翻译模型输出的目标语言的目标文档,所述文档翻译模型能够将所述源文档直接翻译成所述目标文档,而不是对所述源文档的所述多个语句进行逐句翻译。

进一步地,图7提供了一种示例性的文档翻译模型的训练模块结构示意图,如图7所示,用于训练所述文档翻译模型的模块包括样本获取模块710、模型确定模块720和模型训练模块730。

所述样本获取模块710被配置为,用于获取训练文档对集合,其中,训练文档对包括所述源语言的第一文档和所述目标语言的第二文档。

所述模型确定模块720被配置为,用于确定初始化的文档翻译模型,其中所述初始化的文档翻译模型包括用于输出翻译结果文档的目标层。

所述模型训练模块730被配置为,用于利用机器学习的方法,将所述训练文档对集合中的训练文档对中的第一文档作为所述初始化的文档翻译模型的输入,将所述训练文档对中的第二文档作为所述初始化的文档翻译模型的期望输出,训练得到所述文档翻译模型。

于一实施例中,所述初始化的文档翻译模型为seq2seq模型。

于一实施例中,所述初始化的文档翻译模型包括至少两个编码器层和至少一个解码器层,在此结构下,所述模型训练模块730还可进一步包括第一编码子模块731、第二编码子模块732、解码子模块733和模型调整子模块734。

所述第一编码子模块731被配置为,用于将输入的文档向量分别输入至少一个编码器层进行处理,以形成隐含层语句向量。

所述第二编码子模块732被配置为,用于将所述文档向量和/或所述隐含层语句向量输入至少一个编码器层进行处理,以形成隐含层词汇向量。

所述解码子模块733被配置为,用于将所述隐含层词汇向量和所述隐含层语句向量输入至少一个解码器层进行处理,以生成输出的文档向量。

所述模型调整子模块734被配置为,用于根据输出的文档向量与所述输入的文档向量的期望输出之间的差别信息对所述初始化的文档翻译模型进行参数调整,以训练得到所述文档翻译模型。

本实施例提供的文档翻译装置可执行本公开方法实施例所提供的文档翻译方法,具备执行方法相应的功能模块和有益效果。

下面参考图8,其示出了适于用来实现本公开实施例的电子设备600的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图8示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图8所示,电子设备800可以包括处理装置(例如中央处理器、图形处理器等)801,其可以根据存储在只读存储器(rom)802中的程序或者从存储装置808加载到随机访问存储器(ram)803中的程序而执行各种适当的动作和处理。在ram803中,还存储有电子设备800操作所需的各种程序和数据。处理装置801、rom802以及ram803通过总线804彼此相连。输入/输出(i/o)接口805也连接至总线804。

通常,以下装置可以连接至i/o接口805:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置806;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置807;包括例如磁带、硬盘等的存储装置808;以及通信装置809。通信装置809可以允许电子设备800与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的电子设备800,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。

特别地,根据本公开实施例的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开实施例的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置809从网络上被下载和安装,或者从存储装置808被安装,或者从rom802被安装。在该计算机程序被处理装置801执行时,执行本公开实施例的方法中限定的上述功能。

需要说明的是,本公开实施例上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。

上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。

上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:

获取待翻译的源语言的源文档,所述源文档包含多个语句;

将所述源文档输入至预先训练的文档翻译模型,以获取所述文档翻译模型输出的目标语言的目标文档,所述文档翻译模型能够将所述源文档直接翻译成所述目标文档,而不是对所述源文档的所述多个语句进行逐句翻译。

可以以一种或多种程序设计语言或其组合来编写用于执行本公开实施例的操作的计算机程序代码,上述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开实施例各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定,例如,第一获取单元还可以被描述为“获取至少两个网际协议地址的单元”。

根据本公开的一个或多个实施例,所述文档翻译方法中,所述文档翻译模型通过如下步骤训练得到:获取训练文档对集合,其中,训练文档对包括所述源语言的第一文档和所述目标语言的第二文档;确定初始化的文档翻译模型,其中所述初始化的文档翻译模型包括用于输出翻译结果文档的目标层;将所述训练文档对集合中的训练文档对的第一文档作为所述初始化的文档翻译模型的输入,将所述训练文档对的第二文档作为所述初始化的文档翻译模型的期望输出,训练得到所述文档翻译模型。

根据本公开的一个或多个实施例,所述文档翻译方法中,所述初始化的文档翻译模型为seq2seq模型。

根据本公开的一个或多个实施例,所述文档翻译方法中:所述初始化的文档翻译模型包括至少两个编码器层和至少一个解码器层;将所述训练文档对集合中的训练文档对中的第一文档作为所述初始化的文档翻译模型的输入,将所述训练文档对中的第二文档作为所述初始化的文档翻译模型的期望输出,训练得到所述文档翻译模型包括:将输入的文档向量分别输入至少一个编码器层进行处理,以形成隐含层语句向量;将所述文档向量和/或所述隐含层语句向量输入至少一个编码器层进行处理,以形成隐含层词汇向量;将所述隐含层词汇向量和所述隐含层语句向量输入至少一个解码器层进行处理,以生成输出的文档向量;根据输出的文档向量与所述输入的文档向量的期望输出之间的差别信息对所述初始化的文档翻译模型进行参数调整,以训练得到所述文档翻译模型。

根据本公开的一个或多个实施例,所述文档翻译装置中,所述文档翻译模型通过如下模块训练得到:样本获取模块,用于获取训练文档对集合,其中,训练文档对包括所述源语言的第一文档和所述目标语言的第二文档;模型确定模块,用于确定初始化的文档翻译模型,其中所述初始化的文档翻译模型包括用于输出翻译结果文档的目标层;模型训练模块,用于利用机器学习的方法,将所述训练文档对集合中的训练文档对中的第一文档作为所述初始化的文档翻译模型的输入,将所述训练文档对中的第二文档作为所述初始化的文档翻译模型的期望输出,训练得到所述文档翻译模型。

根据本公开的一个或多个实施例,所述文档翻译装置中,所述初始化的文档翻译模型为seq2seq模型。

根据本公开的一个或多个实施例,所述文档翻译装置中,所述初始化的文档翻译模型包括至少两个编码器层和至少一个解码器层;所述模型训练模块还包括:第一编码子模块,用于将输入的文档向量分别输入至少一个编码器层进行处理,以形成隐含层语句向量;第二编码子模块,用于将所述文档向量和/或所述隐含层语句向量输入至少一个编码器层进行处理,以形成隐含层词汇向量;解码子模块,用于将所述隐含层词汇向量和所述隐含层语句向量输入至少一个解码器层进行处理,以生成输出的文档向量;模型调整子模块,用于根据输出的文档向量与所述输入的文档向量的期望输出之间的差别信息对所述初始化的文档翻译模型进行参数调整,以训练得到所述文档翻译模型。

以上描述仅为本公开实施例的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开实施例中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开实施例中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

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