在神经机器翻译中使用元信息的制作方法

文档序号:16366582发布日期:2018-12-22 08:28阅读:213来源:国知局
在神经机器翻译中使用元信息的制作方法

本专利申请要求于2016年5月6日提交的名称为“usingmeta-informationinneuralmachinetranslation(在神经机器翻译中使用元信息)”的matusov等人的序列号为62/332,608的美国临时专利申请的优先权,其通过引用整体并入本文。

本公开一般涉及用于在神经机器翻译中使用元信息的方法和系统,并且在一些示例中涉及特定算法。

背景技术

传统的机器翻译在准确或在上下文中翻译文本时并不总是有效的。本公开教导了使用神经机器翻译(nmt)来解决这些技术问题的技术方案。

附图说明

为了更容易地识别对任何特定元件或动作的讨论,附图标记中的最高有效的一个或多个数位指的是首先引入该元件的图号。

图1是示出根据一些示例实施例的联网系统的框图。

图2是示出代表性软件架构的框图,其可以与本文描述的各种硬件架构结合使用。

图3是示出根据一些示例实施例的能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文讨论的任何一种或多种方法的机器的组件的框图。

图4示出了根据示例实施例的神经翻译架构,其中输入文本用元信息作为附加输入信号来增强。

图5示出了根据示例实施例的编码器-解码器模型。

图6示出了示例性神经编码器和基于注意力的解码器,示出了根据示例实施例的用于插入主题或类别或其他元信息作为影响机器翻译决策的附加输入的示例架构点。

图7示出了根据示例实施例的解码器的主题感知读出层。

图8在表800中描绘了根据示例实施例的某些翻译任务的语料库统计数据。

图9在表900中描绘了根据示例实施例的用于主题感知神经机器翻译(nmt)的不同方法的评估。

图10在表1000中描绘了根据示例实施例的当主题信息被用作(nmt)系统中的输入时的改进的翻译质量的示例。

图11描绘根据示例实施例的用于主题嵌入的示例余弦距离。

图12示出了根据示例实施例的方法的流程图。

具体实施方式

在此上下文中的“载波信号”指的是能够存储、编码或携带用于由机器执行的指令的任何无形机器可读介质,并且包括数字或模拟通信信号或其他无形介质以便于这种指令的通信。可以使用传输介质经由网络接口设备并使用许多众所周知的传输协议中的任何一个来通过网络发送或接收指令。

在此上下文中的“客户端设备”指的是与通信网络接口以从一个或多个服务器系统或其他客户端设备获得资源的任何机器。客户端设备可以是但不限于移动电话、台式计算机、膝上型电脑、便携式数字助理(pda)、智能电话、平板电脑、超级书籍、上网本、笔记本电脑、多处理器系统、基于微处理器或可编程的消费电子产品、游戏控制台、机顶盒或用户可用于访问网络的任何其他通信设备。

在此上下文中的“通信网络”是指网络的一个或多个部分,其可以是自组织网络、内联网、外联网、虚拟专用网络(vpn)、局域网(lan)、无线lan(wlan)、广域网(wan)、无线wan(wwan)、城域网(man)、因特网、因特网的一部分、公共交换电话网(pstn)的一部分、普通老式电话服务(pots)网络、蜂窝电话网络、无线网络、网络、另一种类型的网络或两个或更多这种网络的组合。例如,网络或网络的一部分可以包括无线或蜂窝网络,并且耦合可以是码分多址(cdma)连接、全球移动通信系统(gsm)连接或其他类型的蜂窝或无线耦合。在该示例中,耦合可以实现各种类型的数据传输技术中的任何一种,例如单载波无线电传输技术(1xrtt)、演进数据优化(evdo)技术、通用分组无线服务(gprs)技术、增强型数据速率gsm演进(edge)技术、包括3g的第三代合作伙伴计划(3gpp)、第四代无线(4g)网络、通用移动电信系统(umts)、高速分组接入(hspa)、全球微波接入互操作性(wimax)、长期演进(lte)标准、由各种标准设置组织、其他远程协议或其他数据传输技术定义的其他标准。

在此上下文中的“组件”是指具有由功能或子例程调用、分支点、应用程序接口(api)或提供特定处理或控制功能的分区或模块化的其他技术定义的边界的设备、物理实体或逻辑。组件可以经由它们的接口与其他组件组合以执行机器过程。组件可以是被设计用于与其他组件一起使用的封装功能硬件单元,以及通常执行相关功能的特定功能的程序的一部分。组件可以构成软件组件(例如,在机器可读介质上体现的代码)或硬件组件。“硬件组件”是能够执行某些操作的有形单元,并且可以以某种物理方式配置或布置。

在各种示例实施例中,一个或多个计算机系统(例如,独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或多个硬件组件(例如,处理器或一组处理器)可以由软件(例如,应用程序或应用程序部分)将其配置为用于执行如本文所述的某些操作的硬件组件。硬件组件还可以机械地、电子地或其任何合适的组合来实现。例如,硬件组件可以包括永久配置为执行某些操作的专用电路或逻辑。硬件组件可以是专用处理器,例如现场可编程门阵列(fpga)或专用集成电路(asic)。硬件组件还可以包括由软件临时配置以执行某些操作的可编程逻辑或电路。例如,硬件组件可以包括由通用处理器或其他可编程处理器执行的软件。一旦由这样的软件配置,硬件组件就成为特定的机器(或机器的特定组件),其被独特地定制以执行配置的功能并且不再是通用处理器。

应当理解,在专用和永久配置的电路中或在临时配置的电路(例如,由软件配置)中机械地实现硬件组件的决定可以由成本和时间考虑来驱动。因此,短语“硬件组件”(或“硬件实现的组件”)应该被理解为包含有形实体,无论是物理构造、永久配置(例如,硬连线)还是临时配置(例如,编程的实体)以某种方式操作或执行本文所述的某些操作。考虑临时配置(例如,编程)硬件组件的实施例,不需要在任何一个时刻配置或实例化每个硬件组件。

例如,在硬件组件包括由软件配置成为专用处理器的通用处理器的情况下,通用处理器可以在不同的时间被配置为分别不同的专用处理器(例如,包括不同的硬件组件)。软件相应地配置特定的一个或多个处理器,例如,在一个时刻构成特定的硬件组件,并在不同的时刻构成不同的硬件组件。

硬件组件可以向其他硬件组件提供信息并从其接收信息。因此,所描述的硬件组件可以被视为通信地耦合。在同时存在多个硬件组件的情况下,可以通过在两个或更多个硬件组件之间或之中的信号传输(例如,通过适当的电路和总线)来实现通信。在其中在不同时间配置或实例化多个硬件组件的实施例中,可以实现这些硬件组件之间的通信,例如,通过存储和检索多个硬件组件可访问的存储器结构中的信息。例如,一个硬件组件可以执行操作并将该操作的输出存储在与其通信耦合的存储器设备中。然后,另一硬件组件可以稍后访问存储器设备以检索和处理存储的输出。硬件组件还可以发起与输入或输出设备的通信,并且可以在资源(例如,信息集合)上操作。

本文描述的示例方法的各种操作可以至少部分地由临时配置(例如,通过软件)或永久配置为执行相关操作的一个或多个处理器来执行。无论是临时配置还是永久配置,这样的处理器可以构成处理器实现的组件,其用于执行本文描述的一个或多个操作或功能。如本文所使用的,“处理器实现的组件”指的是使用一个或多个处理器实现的硬件组件。类似地,本文描述的方法可以至少部分地由处理器实现,其中特定的一个或多个处理器是硬件的示例。例如,方法的至少一些操作可以由一个或多个处理器或处理器实现的组件来执行。此外,一个或多个处理器还可以操作以支持“云计算”环境中的相关操作的性能或作为“软件即服务”(saas)。例如,至少一些操作可以由一组计算机(作为包括处理器的机器的示例)执行,这些操作可以经由网络(例如,因特网)并且经由一个或多个适当的接口(例如,应用程序接口(api))访问。某些操作的性能可以在处理器之间分配,不仅驻留在单个机器内,而且部署在多个机器上。在一些示例实施例中,处理器或处理器实现的组件可以位于单个地理位置(例如,在家庭环境、办公室环境或服务器群内)。在其他示例实施例中,处理器或处理器实现的组件可以分布在多个地理位置上。

在此上下文中的“机器可读存储介质”是指能够临时或永久地存储指令和数据的组件、设备或其他有形介质,并且可以包括但不限于随机存取存储器(ram)、只读存储器(rom)、缓冲存储器、闪存、光学介质、磁介质、高速缓冲存储器、其他类型的存储装置(例如,可擦除可编程只读存储器(eeprom))和/或其任何合适的组合。术语“机器可读介质”应被视为包括能够存储指令的单个介质或多个介质(例如,集中式或分布式数据库、或相关联的高速缓存和服务器)。术语“机器可读介质”还应被视为包括能够存储由机器执行的指令(例如,代码)的任何介质或多个介质的组合,使得当由机器的一个或多个处理器执行时,指令使机器执行本文所述的任何一种或多种方法。因此,“机器可读存储介质”指的是单个存储装置或设备,以及包括多个存储装置或设备的“基于云的”存储系统或存储网络。术语“机器可读存储介质”不包括信号本身。一种机器可读介质,包括机器可读存储介质和诸如传输介质或载波的瞬态介质。

在此上下文中的“处理器”是指根据控制信号(例如,“命令”、“操作码”、“机器代码”等)操纵数据值并产生用于操作机器的对应的输出信号的任何电路或虚拟电路(由在实际处理器上执行的逻辑模拟的物理电路)。例如,处理器可以是中央处理单元(cpu)、精简指令集计算(risc)处理器、复杂指令集计算(cisc)处理器、图形处理单元(gpu)、数字信号处理器(dsp)、专用集成电路(asic)、射频集成电路(rfic)或其任何组合。处理器还可以是具有可以同时执行指令的两个或更多个独立处理器(有时称为“核”)的多核处理器。

本专利文件的公开内容的一部分包含受版权保护的材料。版权所有者不反对任何人对专利文件或专利公开内容按其出现在专利和商标局的专利文件或记录中那样进行传真复制,但在其他方面保留所有版权。以下声明适用于下文及在构成本文档一部分的附图中所述的软件和数据:版权所有2016,ebay公司,保留所有权利。

以下描述包括体现本公开的说明性实施例的系统、方法、技术、指令序列和计算机程序产品。在以下描述中,出于解释的目的,阐述了许多具体细节以便提供对本发明主题的各种实施例的理解。然而,对于本领域技术人员明显是,可以在没有这些具体细节的情况下实践本发明主题的实施例。通常,不一定详细示出公知的指令实例、协议、结构和技术。

参考图1,示出了高级saas网络架构100的示例实施例。联网系统116经由网络110(例如,因特网或广域网(wan))向客户端设备108提供服务器端功能。在客户端设备108上托管并执行web客户端102和以应用104为示例形式的程序客户端。联网系统116包括应用服务器122,应用服务器122又承载发布系统106,发布系统106向访问联网系统116的应用104提供许多功能和服务。应用104还提供本文描述的多个接口,其向客户端设备108的用户呈现跟踪和分析操作的输出。

客户端设备108使用户能够访问联网系统116并与联网系统116交互。例如,用户向客户端设备108提供输入(例如,触摸屏输入或字母数字输入),并且输入经由网络110传送到联网系统116。在这种情况下,联网系统116响应于从用户接收输入,经由网络110将信息传送回客户端设备108以呈现给用户。

应用程序接口(api)服务器118和web服务器120耦合到应用服务器122并且分别向应用服务器122提供程序和web接口。应用服务器122托管发布系统106,其包括组件或应用。一个这样的组件是神经机器翻译组件128。相应地,应用服务器122被示为耦合到数据库服务器124,数据库服务器124促进访问信息存储库(例如,数据库126)。在示例实施例中,数据库126包括存储由发布系统106访问和生成的信息的存储设备。

另外,在第三方服务器112上执行的第三方应用114被示为经由应用程序接口(api)服务器118提供的编程接口对网络系统116进行编程访问。例如,使用从联网系统116检索的信息,第三方应用114可以支持由第三方托管的网站上的一个或多个特征或功能。

现在具体地转向由客户端设备108托管的应用,web客户端102可以经由web服务器120支持的web接口访问各种系统(例如,发布系统106)。类似地,应用104(例如,“app”)经由应用程序接口(api)服务器118提供的编程接口访问由发布系统106提供的各种服务和功能。应用104可以是例如在客户端设备108上执行的“app”,例如ios或androidos应用,以使用户能够以离线方式访问和输入联网系统116上的数据,并在程序客户端应用104和联网系统116之间执行批处理模式通信。

此外,虽然图1中所示的saas网络架构100采用客户端-服务器架构,但是本发明的主题当然不限于这样的架构,并且同样可以在例如分布式或对等式架构系统中找到应用。发布系统106还可以实现为独立的软件程序,其不一定具有网络功能。

图2是示出示例软件架构206的框图,其可以与本文描述的各种硬件架构结合使用。图2是软件架构的非限制性示例,并且应当理解,可以实现许多其他架构以促进本文描述的功能。软件架构206可以在诸如图3的机器300之类的硬件上执行,其包括处理器304、存储器314和i/o组件318等。代表性的硬件层252被示出并且可以表示例如图3的机器300。代表性硬件层252包括具有相关联可执行指令204的处理器单元254。可执行指令204表示软件架构206的可执行指令,包括本文描述的方法、组件等的实现。硬件层252还包括也具有可执行指令204的存储器和/或存储模块存储器/存储装置256。硬件层252还可以包括其他硬件258。

在图2的示例架构中,软件架构206可以概念化为层的堆栈,其中每个层提供特定功能。例如,软件架构206可以包括诸如操作系统202、库220、应用216和表示层214之类的层。在操作上,层中的应用216和/或其他组件可以通过软件栈调用应用程序编程接口(api)api调用208,并响应api调用208接收响应。所示的层本质上是代表性的,并且并非所有软件架构都具有所有层。例如,一些移动或专用操作系统可能不提供框架/中间件218,而其他操作系统可能提供这样的层。其他软件架构可以包括附加层或不同层。

操作系统202可以管理硬件资源并提供公共服务。操作系统202可以包括例如内核222、服务224和驱动226。内核222可以充当硬件和其他软件层之间的抽象层。例如,内核222可以负责存储器管理、处理器管理(例如,调度)、组件管理、网络、安全设置等。服务224可以为其他软件层提供其他公共服务。驱动226负责控制或与底层硬件接口。例如,取决于硬件配置,驱动226包括显示驱动、相机驱动、驱动、闪存驱动、串行通信驱动(例如、通用串行总线(usb)驱动)、驱动、音频驱动、电源管理驱动等等。

库220提供由应用216和/或其他组件和/或层使用的公共基础结构。库220提供允许其他软件组件以比直接与底层操作系统202功能性接口更容易的方式执行任务的功能(例如,内核222、服务224和/或驱动226)。库220可以包括可以提供诸如存储器分配功能、字符串操作功能、数学功能等的功能的系统库244(例如,c标准库)。另外,库220可以包括api库246,诸如媒体库(例如,用于支持诸如mpreg4、h.264、mp3、aac、amr、jpg、png等各种媒体格式的呈现和操纵的库)、图形库(例如,可用于在显示器上的图形内容中呈现2d和3d的opengl框架)、数据库库(例如,可提供各种关系数据库功能的sqlite)、web库(例如,可提供web浏览功能的webkit)等。库220还可以包括各种其他库248,以向应用程序216和其他软件组件/模块提供许多其他api。

框架/中间件218(有时也称为中间件)提供可由应用216和/或其他软件组件/模块使用的更高级别的公共基础结构。例如,框架/中间件218可以提供各种图形用户界面(gui)功能、高级资源管理、高级位置服务等。框架/中间件218可以提供可以由应用216和/或其他软件组件/模块使用的广泛的其他api,其中一些可以特定于特定操作系统或平台。

应用216包括内置应用240和/或第三方应用238。代表性内置应用程序238的示例可包括但不限于联系人应用、浏览器应用、书籍阅读器应用、位置应用、媒体应用程序、消息收发应用和/或游戏应用。第三方应用240可以包括由特定平台的供应商以外的实体使用androidtm或iostm软件开发工具包(sdk)开发的任何应用,并且可以是在诸如iostm、,androidtm手机或其他移动操作系统的移动操作系统上运行的移动软件。第三方应用240可以调用由移动操作系统(例如操作系统202)提供的api调用208,以促进本文描述的功能。

应用216可以使用内置操作系统功能(例如,内核222、服务224和/或驱动226)、库220和框架/中间件218来创建用户界面以与系统的用户交互。可替代地或另外地,在一些系统中,与用户的交互可以通过表示层(例如表示层214)发生。在这些系统中,应用/组件“逻辑”可以与与用户交互的应用/组件的方面分开。

一些软件架构使用虚拟机。在图2的示例中,这由虚拟机210示出。虚拟机210创建软件环境,其中应用/组件可以像在硬件计算机上执行一样执行(例如图3的机器300上)。虚拟机210由主机操作系统(图2中的操作系统(os)236)托管,并且通常但不总是具有虚拟机监视器260,其管理虚拟机的操作以及与主机操作系统(即操作系统202)的接口。软件架构在虚拟机210内执行,例如操作系统(os)236、库234、框架232、应用230和/或表示层228。在虚拟机210内执行的这些软件架构的层可以是与先前描述的对应层相同或可以是不同的。

图3是示出根据一些示例实施例的机器300的组件的框图,其能够从机器可读介质(例如,机器可读存储介质)读取指令并执行本文讨论的任何一种或多种方法。具体地,图3示出了计算机系统的示例形式中的机器300的图形表示,其中可以执行用于使机器300执行本文所讨论的任何一种或多种方法的指令310(例如,软件、程序、应用、小应用程序、app或其他可执行代码)。这样,该指令将一般的,未编程的机器变换为被编程为以所述方式执行所描述和示出的功能的特定的机器。在替代实施例中,机器300作为独立设备操作或者可以耦合(例如,联网)到其他机器。在联网部署中,机器300可以在服务器-客户端网络环境中以服务器机器或客户端机器的能力运行,或者作为对等式(或分布式)网络环境中的对等机器运行。机器300可以包括但不限于服务器计算机、客户端计算机、个人计算机(pc)、平板计算机、膝上型计算机、上网本、机顶盒(stb)、个人数字助理(pda)、娱乐媒体系统、蜂窝电话、智能电话、移动设备、可穿戴设备(例如智能手表)、智能家居设备(例如智能设备)、其他智能设备、网络设备、网络路由器、网络交换机、网络桥接器或能够顺序地或以其他方式执行指定机器300要采取的动作的指令310的任何机器。此外,尽管仅示出了单个机器300,术语“机器”还应被视为包括单独或共同执行指令310以执行本文所讨论的任何一种或多种方法的机器的集合。

机器300可以包括处理器304、存储器/存储装置306和i/o组件318,其可以被配置为例如经由总线302彼此通信。存储器/存储装置306可以包括存储器314,例如主存储器,或其他存储器存储装置,以及存储单元316,两者都可由处理器304例如经由总线302访问。存储单元316和存储器314存储体现任何一种或多种方法的指令310或本文描述的功能。在由机器300的执行期间,指令310还可以完全或部分地驻留在存储器314内,存储单元316内,至少一个处理器304内(例如,处理器的高速缓冲存储器内),或其任何合适的组合内。因此,存储器314、存储单元316和处理器304的存储器是机器可读介质的示例。

i/o组件318可以包括各种各样的组件以接收输入、提供输出、产生输出、发送信息、交换信息、捕获测量等。包括在特定机器中的特定i/o组件318将取决于机器的类型。例如,诸如移动电话的便携式机器可能包括触摸输入设备或其他这样的输入机构,而无头服务器机器可能不包括这样的触摸输入设备。应当理解,i/o组件318可以包括图3中未示出的许多其他组件。i/o组件318根据功能分组仅仅是为了简化以下讨论,并且分组决不是限制性的。在各种示例实施例中,i/o组件318可以包括输出组件326和输入组件328。输出组件326可以包括可视组件(例如,诸如等离子显示面板(pdp)、发光二极管(led)显示器、液晶显示器(lcd)、投影仪或阴极射线管(crt)等显示器)、声学组件(例如扬声器)、触觉组件(例如,振动电机、电阻机构)、其他信号发生器,等等。输入组件328可包括字母数字输入组件(例如,键盘、配置为接收字母数字输入的触摸屏、光学光键盘或其他字母数字输入组件)、基于指点的输入组件(例如,鼠标、触摸板、轨迹球、操纵杆、运动传感器或其他指向仪器)、触摸输入组件(例如,物理按钮、提供触摸或触摸手势的位置和/或力的触摸屏、或其他触觉输入组件)、音频输入组件(例如,麦克风)和任何其他组件(图像、视频、语音),来自其的输入可以被转换(通过不是本实施例的一部分的算法)到用于机器翻译到另一示例语言的示例语言的文本输入。

在进一步的示例实施例中,i/o组件318可以包括生物测定组件330、运动组件334、环境组件336或定位组件338、以及可以提供关于(主要)文本输入或可以转换为文本的任何其他输入的元信息的广泛的其他组件。例如,生物测定组件330可以包括识别人的组件(例如,语音识别、视网膜识别、面部识别、指纹识别或基于脑电图的识别)等。运动组件334可以包括加速度传感器组件(例如,加速度计),其例如可以提供输入文本与驾驶或旅行相关的元信息,等等。环境组件336可以包括例如接近传感器组件(例如,检测附近物体的红外传感器,例如,将用作元信息的家具,该元信息将被转发到输入文本的主题),或可以提供对应于周围物理环境的指示、测量或信号的其他组件。定位组件338可包括位置传感器组件(例如,全球定位系统(gps)接收器组件)、高度传感器组件(例如,检测可从其导出高度的空气压力的高度计或气压计)、方向传感器组件(例如,磁力计)等。

可以使用各种技术来实现通信。i/o组件318可以包括通信组件340,其可操作以分别经由耦合322和耦合324将机器300耦合到网络332或设备320。例如,通信组件340可以包括网络接口组件或与网络332接口的其他合适的设备。在其他示例中,通信组件340可以包括有线通信组件、无线通信组件、蜂窝通信组件、近场通信(nfc)组件、组件(例如,lowenergy)、组件和其他通信组件,以经由其他模式提供通信。设备320可以是另一机器或各种外围设备中的任何一种(例如,经由通用串行总线(usb)耦合的外围设备)。

此外,通信组件340可以检测标识符或包括可操作以检测标识符的组件。例如,通信组件处理器通信组件340可以包括射频识别(rfid)标签读取器组件、nfc智能标签检测组件、光学读取器组件(例如,用于检测一维条形码的光学传感器,例如通用产品代码(upc)条形码、多维条形码、如快速响应(qr)代码、aztec代码、datamatrix、dataglyph、maxicode、pdf417、ultracode、uccrss-2d条形码和其他光学代码),或声学检测组件(例如,用于识别标记的音频信号的麦克风)。另外,可以经由通信组件340导出各种信息,诸如经由因特网协议(ip)地理位置的位置、经由wi-fi信号三角测量的位置、经由检测可以指示特定位置的nfc信标信号的位置,等等。

在一个示例中,序列到序列的神经机器翻译(nmt)系统,例如包括图1中的神经机器翻译组件128,用针对现实生活文本(例如,包括产品标题和描述在内的电子商务文本)的注意力机制对其进行训练。与这些文本相关联的元数据(例如,产品类别或主题信息)在用作神经网络中的附加信号时可以显著提高翻译质量,如图4中所示的架构400中的402所示。在电子商务集上,例如,一种称为(bleu)的机器翻译质量测量相对于基线系统的结果提高了6%。也可以在更一般的语音翻译任务上获得翻译质量的提高。

在翻译诸如电子商务数据的数据时,一个示例方法关注于产品标题和描述,其通常是例如描述出售的物品的用户生成的文本。这些数据与通常在机器翻译研究领域中考虑的新闻专线或其他文本不同。具体地,物品标题较短(通常少于15个单词),包含许多通常不需要翻译的品牌名称,但也包括产品特征值和特定缩写和行话。而且,由于产品类型的多样性,词汇表大小可能非常大,并且许多单词在训练数据中仅被观察到一次或几次。同时,还通过元信息向电子商务数据提供附加上下文,元信息通常是关于物品(例如,诸如服装或电子产品的产品类别)给出的,其可以用于执行主题适应,以提高翻译质量。

乍一看,建立的基于短语的统计机器翻译(smt)方法可能看起来非常适合于电子商务数据翻译。例如,在基于短语的方法中,即使在测试集中仅观察到一次,也可以很好地翻译不明确的单词和短语。此外,因为源词和目标单词之间的对齐通常是可用的和确定性的,所以可以将某些实体从源语句转移到上下文中的生成目标语句而不翻译它们。这些实体可以包括诸如“5s”或“.35xx”等数字、产品规格以及品牌名称。在训练中,这些实体可以用占位符代替,这也大大减少了词汇表大小。

然而,本公开的(nmt)方法在捕获超出基于短语的边界之外的上下文方面更强大,并且能够更好地利用可用的训练数据。其可以成功地适应只有有限数量的并行训练数据的领域。相反,由于数据稀缺性以及与产品类别相对应的大量主题,而这些可能与消除备选翻译之间的歧义、单词顺序或解决其他已知的机器翻译问题相关或不相关,所以很难通过基于短语的(smt)中的主题适应来获得翻译质量提高。相反,(nmt)通过使用附加元信息作为神经网络系统中的额外信号,能够更好地解决主题适应问题。因此,有关文本主题的附加信息嵌入到向量空间中,并用于直接影响(nmt)决策。

在显示当前方法的普遍性的一个示例中,在口语领域(在该示例中,为iwslt德语到英语ted谈话)以及在电子商务领域中(在该示例中,从英语到法语翻译产品标题)进行(nmt)翻译实验,这两组数据都有类别/主题元信息。在两个翻译任务中都观察到了一致的提高,其中一个任务的最佳模型优于强大的基于短语的系统。

以下公开内容的结构如下。在(nmt)技术的介绍之后,更详细地描述了如何在(nmt)中使用类别或主题或任何其他元信息。在上述两个翻译任务上呈现实验结果,即建立的ted谈话德语-英语口语翻译任务和电子商务英语-法语翻译任务。

神经机器翻译(nmt)使用递归神经网络来学习如何对齐和翻译数据。在一个示例中,对(nmt)系统进行端到端训练以最大化给定源语句的正确翻译的条件概率。当使用不同的高级特征,特别是注意力机制时,(nmt)可以达到与现有水平的基于短语的翻译系统相当的翻译质量。在一个示例中,(nmt)转换系统使用如图5所示的编码器-解码器架构500,其中输入语句首先被编码为固定长度表示并且解码器从该表示生成目标单词。因为固定长度表示示例有时不提供用于解码的足够信息,所以使用包括注意力机制的更复杂方法,诸如图5中所示的示例500。在这种方法中,神经网络系统学习生成到源句中的词语的软对齐以提高翻译质量。

例如,在电子商务领域中,关于产品类别的信息(例如,“男士服装”、“移动电话”、“厨房用具”)通常伴随产品标题和描述,并且无论是在训练mt系统还是在翻译过程中可以用作附加信息源。特别地,这样的元信息可以帮助消除具有不同含义的相同单词的备选翻译之间的歧义。正确翻译的选择通常取决于类别。例如,“skin”一词必须在“手机配件”和“化妆”类别中进行不同的翻译。在电子商务世界之外,类似的主题信息以标签和关键词的形式提供,例如,对于给定的文档(在线文章、博客文章、专利等),并且还可以用于词义消歧和主题适应。通常,如果元信息可以以向量形式表示,则可以在所提出的方法中使用与输入语句、段落或文档有关的任何元信息。在元信息是主题或类别信息的示例情况下,同一文档可以属于多个主题或类别。一种可能的方法是将元信息馈送到如图5所示的递归神经网络解码器中,以帮助在给定特定类别或主题的情况下生成适当的单词。

示例实施例中的一种方法是用d维向量表示类别或主题信息,其中d是不同类别的数量。由于一个语句可以属于多个类别(可能具有不同的概率/权重),因此该向量被归一化以满足约束等式1(也可以应用任何其他类型的归一化,如向量长度归一化):

其中l∈rd表示类别隶属(membership)向量。将该数据输入神经网络系统的解码器中以影响目标单词y的建议目标后验词分布。给定类别隶属向量的条件概率可以写为等式2:

p(yt|y<t-1,ct,st-1,l)=p(yt|yt-1,ct,st-1,l)≈g(yt-1,st-1,ct,l)

(2)

其中ct是用于编码基于时间步长t处的注意力的源语句的固定长度时变向量,st和yt分别是时间步长t处的解码器rnn的隐藏状态和输出,并且g(.)是用于近似概率分布的非线性函数。在我们的实现方式中,我们引入了一个中间读出层来构建函数g,其为如图5所示的前馈网络。

图6示出了根据示例实施例的主题感知编码器-解码器模型600。在(nmt)解码器中,在每个递归步骤中将主题隶属向量输入到读出层(图7中的700)以增强单词选择。如图6所示,主题隶属向量l(402)被馈送到(nmt)解码器404,作为除了参与源语句词x1到xt的分布式表示的上下文向量ct以及先前的解码器状态st-1之外的附加输入。

p(yt|y<t-1,ct,st-1,l)=p(yt|rt)其中,rt=wr[ct;ft-1;st-1;l]+br

这里,wr是原始变换矩阵的串联,并且l、rt是来自读出层700(图7)的输出,ft是最后一个目标单词yt-1的嵌入;st-1指的是最后的解码器状态,wr和br分别是线性变换的权重和偏差。该公式可以重新排列为:

rt=[wc;wr][ct;ft-1;st-1;l]+br

=wcct+wr[ft-1;st-1;l]+br

=ec+wr[ft-1;st-1;l]+br

其中wr是原始变换矩阵wr和主题变换矩阵wc的串联。然后将主题添加到读出层作为输入等效于将另外的主题向量ec添加到原始读出层输出中。假设ct是独热列向量,则wcct等效于从wc中检索特定列。因此,该附加向量ec可以被视为主题信息的主题嵌入或连续表示。

图6和图7中描绘的读出层合并来自最后状态st-1(606)、最后的解码单词嵌入ft-1(608)以及当前上下文ct(610)的信息以生成输出612。可以将其视为浅网络,参考图7,其包括max-out层702、全连接层704和softmax层706。在解码中,最后的解码单词来自针对提议的单词分布的采样。

在另一示例中,对德语-英语ted谈话转录语音翻译任务和内部英语-法语电子商务翻译任务执行(mt)实验。作为数据预处理的一部分,语料库被标记化并转为小写。还替换了数字、产品规格和带有诸如$num等占位符的其他特殊符号。在训练期间保留这些占位符,但其内容在开发和测试集中保留为xml标记。基于注意力机制为目标侧生成的占位符插入该内容。在针对最佳翻译的集束搜索(beamsearch)中,确保每个占位符内容仅插入一次。使用相同的机制,词典外(oov,out-of-vocabulary)单词“原样不变”地传递到目标侧(即,不使用任何特殊的未知单词符号)。

对于英语-法语ted谈话数据集,每个ted谈话的主题关键词被映射到十个一般类别,例如政治、环境、教育等。同一个会话中的所有语句都属于同一类别,并且一个会话可能属于几个类别。不使用官方iwslt开发或测试数据,而是留用属于特定类别的概率最高的开发或测试语句。ted谈话数据集的细节在图8的表800中的列802中描述。

对于电子商务数据源,一种示例方法使用诸如时尚和电子产品之类的产品类别作为主题信息,将其作为总共八十(80)个最广泛使用的类别的一部分,以及将所有不太常见的类别组合为一个类别的称为“其他”的类别。训练集包含产品标题和产品描述,而开发和测试集仅包含产品标题。电子商务数据集的细节在图8的表800中的列804中描述。

使用基于开源mila翻译项目的“块(block)”深度学习库来实现一个示例神经翻译模型。在wmt2014英语-法语机器翻译任务上训练的上述示例(nmt)基线系统的实现方式在测试集上获得了类似的(bleu)分数,如通常在关于(nmt)方法的文献中报告的那样,因此评估示例性实施例的起点是竞争性的现有技术(nmt)系统。如下所述,与此强基线相比,本文描述的类别感知算法特征的实现方式产生了改进的结果。

在一个示例中,nmt编码器和解码器的单词嵌入大小被设置为620(620),并且在不同的实验中使用了采用单层双向gru编码器和双层gru解码器的模型。作为训练数据,在ted谈话翻译任务中,前五万(50,000)德语单词和前三万(30,000)英语单词被选为训练词汇,分别为电子商务翻译任务中五万二千(52,000)英语和五万二千(52,000)法语词汇集。使用adadelta算法进行训练的优化。选择束大小10用于开发和测试集翻译。

对于训练实现方式,使用批量大小为一百(100)的梯度下降,在一定次数的迭代之后保存模型参数。保存了大约三十(30)个连续模型转储以增强模型选择。为了选择最佳迭代,在开发集上计算诸如(bleu)和翻译编辑率(ter)的已建立(mt)评估测量的组合。该复合指标被认为更稳定可靠,尤其是在电子商务数据方面。在模型选择之后,使用(bleu)和(ter)指标来标识在测试集上的获胜模型。

使用具有12gbram的titanxgpu在ubuntulinux14.04上运行实验。ted谈话任务的训练需要1-2天才能收敛。电子商务数据上的训练大约需要3天才能实现收敛。例如,从开发或测试数据完成1000个语句的翻译可能需要大约10分钟或更短时间,确切的时间取决于词汇表大小和单元格大小。

因为类别信息可以影响对齐、单词选择等,所以使用不同方法来测试各种示例模型以识别主题或类别信息最适合(nmt)的实例。在一些示例中,使用了不同类型的主题信息。例如,使用潜在dirichlet分析(lda)和人工标记类别自动预测的类别被用作神经网络的输入,例如如图6所示。在这两种情况下,允许一个语句属于多个类别。

在图9中的表900中示出了关于电子商务翻译任务的不同类型的主题信息的实验结果,并且表明,与真实源单词相比较,作为伪词(前缀为人工标记的类别)的类别信息不具有足够的语义和句法意义以对解码器中预测的目标单词产生积极影响。所述系统的(bleu)得分为18.3%,甚至低于为18.6%的基线。相比之下,在读出层中添加的人工标记类别更可靠,并且能够对(nmt)解码器中的单词选择产生积极影响,19.4%bleu的结果明显优于基线。

在神经网络的读出层中用相同维度的lda预测的主题分布向量替换维度大小为(八十)80的人工标记类别独热向量,使(bleu)和(ter)得分显著恶化,bleu为14.5%,如图9中的表900所示。这归因于在产品标题上训练80维度的lda时的数据稀缺性问题。

在德语-英语任务中,当使用人工标记的类别信息时也观察到质量提高。这里,从(nmt)模型中提取来自不同实验的类别嵌入(e_c),并且计算和可视化它们的余弦距离,例如如图11中的对比框图1100所示。可以看出,在不同的实验中,同一类别趋于在连续嵌入空间中共享相似的表示。与此同时,诸如“政治”和“问题”的类别趋于彼此之间的距离较短。参考图10的表1000,示例短语,例如“iwouldliketotalktoyouthismorningaboutmyproject,tidyingupart”或“…ourcolleaguesattuftsaremixingmodelslikethesewithtissue-engineeredbonetoseehowcancermightspreadformonepartofthebodytothenext”,当使用人工标记的类别信息时,可以被视为显著改进的德语-英语(nmt)翻译。

为了进一步比较,在两个翻译任务中均使用moses工具包将其他示例模型训练为基于短语的(smt)模型。一个模型使用标准的moses特征,包括在双语数据的目标侧训练的4-gramlm,单词级和短语级翻译概率,以及最大失真为6的失真模型。更强的基于短语的基线包括4-gram操作序列模型的附加5个特征。

ted谈话数据任务的最佳(nmt)模型是使用由不同特征训练的三个不同(nmt)模型的集合创建的,包括类别/主题信息,其优于上述基于比较短语的系统以2.1(bleu)绝对分。

在电子商务和ted谈话任务两者上,如本文所提出的那样馈入类别或主题信息导致由增加的(bleu)分数和降低的翻译编辑率(ter)表示的显著的翻译质量提高。因此,本文的示例包括在神经机器翻译中利用类别或主题元信息以实现提高的翻译质量的新颖方式。

因此,在一个示例中,提供了用于翻译文本的神经机器翻译系统。所述系统可以包括处理器和存储指令的存储器,当由处理器中的至少一个处理器执行时,该指令使系统执行某些操作。该操作可以至少包括获得作为神经网络系统的输入的文本,用元信息作为神经网络系统的额外输入补充输入文本,以及利用元信息进行翻译,将神经网络系统的输出作为输入文本的翻译传递给用户。

在一个示例中,元信息包括电子商务列表的产品类别或主题。在一个示例中,神经机器翻译系统包括编码器-解码器架构,其中输入语句首先被编码为固定长度表示并且解码器从该表示生成目标单词。在一个示例中,利用注意力机制训练系统,该注意力机制在每个解码器步骤提供与源语句单词的软对齐。在一些示例中,操作可以进一步包括合并来自最后的递归神经网络解码器状态、最后的解码单词嵌入、当前上下文或注意力向量、以及输入特定的元信息的向量表示的信息以生成输出的至少一部分给用户。此外,操作可以包括单独地或组合地使用训练算法训练神经网络系统,该训练算法利用与以下之一相关联的元信息:源语言语句和相关联的目标语言人工翻译的训练对、以及这种训练对的文档或语料库。

本公开的其他示例包括方法。参考附图的图12,在神经机器翻译系统中的方法1200至少包括:在1202中,获取文本作为神经网络系统的输入;在1204中,用元信息作为神经网络系统的额外输入来补充输入文本;以及在1206中,利用元信息进行翻译,将神经网络系统的输出作为输入文本的翻译传递给用户。

元信息可以包括电子商务列表的产品类别或主题。方法1200还可以包括将输入语句编码为固定长度表示并生成目标单词。方法1200还可以包括利用注意力机制训练神经机器翻译系统,以在一个或多个解码器操作中提供与源语句单词的软对齐。在一个示例中,方法1200可以包括合并来自最后的递归神经网络解码器状态、最后的解码单词嵌入、当前上下文或注意力向量、以及输入特定元信息的向量表示的信息以生成输出的至少一部分给用户。在一个示例中,方法1200可以进一步包括单独地或组合地使用训练算法训练神经机器翻译系统,该训练算法利用与以下一项或多项相关联的元信息:源语言语句和相关联的目标语言人工翻译的训练对、以及这种训练对的文档或语料库。

以下编号的示例是实施例。

1.一种用于翻译文本的神经机器翻译系统,所述系统包括:

至少一个处理器;以及

存储指令的存储器,所述指令当由所述至少一个处理器中的至少一个处理器执行时,使得所述系统执行包括以下的操作:

获得文本作为神经网络系统的输入;

用元信息作为所述神经网络系统的额外输入来补充输入文本;以及

利用所述元信息进行翻译,将所述神经网络系统的输出作为所述输入文本的翻译传递给用户。

2.如示例1所述的神经机器翻译系统,其中所述元信息包括电子商务列表的产品类别或主题。

3.如示例1或示例2所述的神经机器翻译系统,其中所述神经机器翻译系统包括编码器-解码器架构,在所述编码器-解码器架构中,输入语句首先被编码为固定长度表示,并且解码器生成目标单词。

4.如示例1至3中任一项所述的神经机器翻译系统,其中利用注意力机制训练所述系统,所述注意力机制在每个解码器步骤提供与源语句单词的软对齐。

5.如示例1至4中任一项所述的神经机器翻译系统,其中所述操作还包括合并来自最后的递归神经网络解码器状态、最后的解码单词嵌入、当前上下文或注意力向量、以及输入特定的元信息的向量表示的信息,以生成输出的至少一部分给用户。

6.如示例1至5中任一项所述的神经机器翻译系统,其中所述操作还包括单独地或组合地使用训练算法来训练所述神经网络系统,所述训练算法利用与以下之一相关联的元信息:源语言语句和相关联的目标语言人工翻译的训练对,以及这种训练对的文档或语料库。

7.一种在神经机器翻译系统中的方法,包括:

获得文本作为神经网络系统的输入;

用元信息作为所述神经网络系统的额外输入来补充输入文本;以及

利用所述元信息进行翻译,将所述神经网络系统的输出作为所述输入文本的翻译传递给用户。

8.如示例7所述的方法,其中所述元信息包括电子商务列表的产品类别或主题。

9.如示例7或示例8所述的方法,还包括将输入语句编码为固定长度表示并且生成目标单词。

10.如示例7至9中任一项所述的方法,还包括利用注意力机制来训练所述神经机器翻译系统,以在一个或多个解码器操作中提供与源语句单词的软对齐。

11.如示例7至10中任一项所述的方法,还包括合并来自最后的递归神经网络解码器状态、最后的解码单词嵌入、当前上下文或注意力向量、以及输入特定的元信息的向量表示的信息,用于生成输出的至少一部分给用户。

12.如示例7至11中任一项所述的方法,还包括单独或组合地使用训练算法来训练所述神经机器翻译系统,所述训练算法利用与以下一项或多项相关联的元信息:源语言语句和相关联的目标语言人工翻译的训练对,以及这种训练对的文档或语料库。

13.一种存储指令的机器可读存储介质,所述指令在由机器读取时使所述机器执行包括以下操作的操作:

获得文本作为神经网络系统的输入;

用元信息作为所述神经网络系统的额外输入来补充输入文本;以及

利用所述元信息进行翻译,将所述神经网络系统的输出作为所述输入文本的翻译传递给用户。

14.如示例13所述的介质,其中所述元信息包括电子商务列表的产品类别或主题。

15.如示例13至示例14所述的介质,其中所述操作还包括将输入语句编码为固定长度表示并且生成目标单词。

16.如示例13至15中任一项所述的介质,其中所述操作还包括利用注意力机制训练所述神经机器翻译系统,以在一个或多个解码器操作中提供与源语句单词的软对齐。

17.如示例13至16中任一项所述的介质,其中所述操作还包括合并来自最后的递归神经网络解码器状态、最后的解码单词嵌入、当前上下文或注意力向量、以及输入特定的元信息的向量表示的信息,用于生成至少部分输出给用户。

18.如示例13至17中任一项所述的介质,其中所述操作还包括单独或组合地使用训练算法来训练所述神经机器翻译系统,所述训练算法利用与以下一项或多项相关联的元信息:源语言语句和相关联的目标语言人工翻译的训练对,以及这种训练对的文档或语料库。

19.一种承载指令的机器可读介质,所述指令在由机器读取时使所述机器执行如示例7至12中任一项所述的方法。

尽管已经参考特定示例实施例描述了本主题,但是显而易见的是,在不脱离所公开主题的更广泛的精神和范围的情况下,可以对这些实施例进行各种修改和改变。因此,说明书和附图应被视为说明性的而非限制性的。形成其一部分的附图通过说明而非限制的方式示出了可以实践主题的特定实施例。所描述的实施例以足够的细节进行描述,以使本领域技术人员能够实践本文所公开的教导。可以利用其他实施例并从中得出其他实施例,使得可以在不脱离本公开的范围的情况下进行结构和逻辑替换和改变。因此,本说明书不应被视为具有限制意义,并且各种实施例的范围仅由任何所附权利要求以及这些权利要求所赋予的等同物的全部范围来限定。

本发明主题的此类实施例可单独地和/或共同地通过术语“发明”在本文中仅为方便而提及,并且无意自愿将本申请的范围限制于任何单个发明或发明构思(如果实际公开了多于一个)。因此,尽管本文已说明和描述了特定实施例,但应了解,经计算以实现相同目的的任何布置可替代所示的特定实施例。本公开旨在涵盖各种实施例的任何和所有修改或变化。在阅读以上描述后,上述实施例的组合以及本文未具体描述的其他实施例对于本领域技术人员而言将是显而易见的。

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