提取小树转换对的制作方法

文档序号:6649452阅读:201来源:国知局
专利名称:提取小树转换对的制作方法
背景技术
本发明涉及机器翻译。更具体地,本发明涉及使用句法相关小树(treelet)的机器翻译系统。
机器翻译涉及接收源语言形式的输入文本片段,并通过对计算设备的使用,自动地将其翻译成目标语言形式的对应文本片段的过程。通常用两种不同方法之一来尝试进行机器翻译。第一种是知识指导的方法,通常使用语言语法分析器和手工转换规则。几乎所有商业上的翻译系统(诸如Systran等)都是这种类型。第二种是语料库推动的方法,通常或者是基于示例的机器翻译(EBMT)或者是统计的机器翻译(SMT)。但是SMT在当前研究中显得更有前景,因此本讨论主要集中在SMT而不是EBMT上。通常基于转换的系统使用语法分析器将语言信息一体化,而SMT系统并不如此。两种方法都有优点和缺点。
SMT系统在学习对领域专属的术语和固定短语的翻译方面表现出色,但却不能很好地领会简单的文法概括,并常常在翻译过程中混淆。作为对比,基于转换的系统在生成合乎文法和流畅的翻译方面常能成功,但开发却极度消耗时间。并且,它们恰恰在SMT擅长的领域——领域专属却常常失败。
还作过各种尝试,试图将这两种类型的机器翻译系统的不同方面结合在一起构成单一混合的系统。但是,这些尝试仍受各种缺陷之苦。让我们简略地纵观SMT的技术发展水平以及部分将语法和SMT结合起来的现有技术。
统计机器翻译起初试图将翻译建模为一系列分离的翻译决策,每个单词一个决策。但是,问题纯粹计算上的复杂性是一个难以克服的障碍,并且在单词到单词的统计模型中捕捉局部上下文已经证明是很困难的。因此,所得的系统常常相当慢并仅生成中等质量的翻译。但是,近来随着执行短语翻译的技术的并入,统计机器翻译已显示出新的前景。短语统计机器翻译试图对词块如何合起来翻译进行建模,而不是试图对独立翻译每个单词进行建模。这种方式捕获了外语学习中的一种重要的直觉——即,小的习语和常用短语两者都是特异性的,并且对流畅性和忠实性两者来说都很重要。
当前的短语统计机器翻译系统在概念上很简单。以单词队列开始,所有邻接的源和目标单词序列(在表面串上邻接)被聚合在一起,作为可能的短语翻译对或队列模板。这些对被收集到单独的翻译词库中。随后,用诸如在MT峰会学报(2003)中Vogel等人的THE CMU STATISTICAL MACHINE TRANSLATION SYSTEM(CMU统计机器翻译系统)中阐述的模型等最大似然估计模型将翻译概率与每个不同的对相关联。还可使用其它概率模型。Vogel文中阐述的具体翻译模型与至少一个目标语言模型结合使用,以构造经典的噪声通道模型。通过简单的搜索找到得分最高的翻译单调解码器假设源短语顺序被保留,并使用Viterbi解码来找到通过翻译格的最佳路径。在某些系统中,在根据偏移量对短语移动进行建模处允许少量短语重新排序。
尽管此类系统与不允许重新排序的其它类型系统相比是一个进步,但是在此类系统中使用的重新排序系统在语言概括方面受到限制。例如,当将英文翻译成日文时,英文的主谓宾从句一般变成日文的主宾谓从句,且英文的后修饰介词短语变成日文的前修饰介词短语。尽管以上的短语重新排序模型可学会重新排序在英文-日文中要比在英文-法文中更常见,但它不能学会主语很可能留在原处,而宾语很可能移到谓语之前;它也不能学会关于介词/后置词短语移动的任何概括。相反,根据现有技术的基于短语的解码器行动受机械记忆的短语和偏向于流畅性、而不必是准确性的目标语言模型的支配。
此外,如上所述,现有技术的短语统计机器翻译系统当前受限于邻接的短语。由此,各种现有技术的系统做到各短语在源和目标表面串两者中都是邻接的。此限制意味着即使简单如“not”→“ne…pas”的事物也是不能被学会的。通过单纯地记住各种可能性,将极大的数据组用于训练可部分地弥补此问题。但是,给定了对训练数据组大小的实际限制,学会较少见的非邻接“短语”几乎是不可能的。
出于这些及其它理由,一些研究者已试图将句法信息并入到统计机器翻译过程中。这样做的一个非常简单的方法是通过重新分级。换言之,使用基线SMT系统来生成N个最佳翻译的列表,并随即用可能包括句法模型在内的一组模型将输出重新分级。在HLT/NAACL联合会议中(2004)Och等人的A SMORGASBORDOF FEATURES FOR STATISTICAL MACHINE TRANSLATION(用于统计机器翻译的特征的大杂烩)中描述了一个此类系统。这已证明是引入句法信息内容相当贫乏的手段,因为甚至16,000个翻译的N个最佳的列表仅能为20个单词的句子捕捉很小部分的翻译概率,并且事后的重新分级没有给句法模型提供任何推进或删除基线解码器内的搜索空间的大部分的机会。
在另一种现有技术中使用倒置转换语法(ITG),试图将组成的概念结合到统计机器翻译中。基本想法是将对齐和翻译视为对源和目标语言的同时进行的语法分析。两类二进制分支规则是允许的。或者以同样次序生成源和目标组成部分,或者以相反次序生成源和目标组成部分。一些此类系统在Computational Linguistics(计算语言学)23(3)377-403(1997)中Wu的STOCHASTIC INVERSION INDUCTIONGRAMMARS AND BILINGUAL PARSING OF PARALLEL CORPORA(随机倒置归纳语法和并行语料库的双语语法分析);ACL学报(1998)中Wu和Wang的MACHINE TRANSLATION WITH A STOCHASTIC GRAMMATICAL CHANNEL(用随机语法通道进行的机器翻译);ACL学报(2003)中Zens和Ney的ACOMPARATIVE STUDY ON REORDERING CONSTRAINTS AND STATISTICALMACHINE TRANSLATION(重新排序的限制和统计机器翻译的比较研究);和COLING学报中Zens等人的REORDERING CONSTRAINTS FORPHRASE-BASED STATISTICAL MACHINE TRANSLATION(基于短语的统计机器翻译的重新排序的限制)。这些语法在理论上是有趣的。但是,为使这些类型的过程在计算上有效率,必须作出若干严格限制性的简化假设。这显著地降低了此类系统的建模能力。此外,此类翻译模型仅在一次一个单独的词汇项(即,在单词水平)的水平起作用,而不直接对短语组合进行建模。这是个相当严重的局限。这些系统示范的翻译质量还不能和最佳SMT系统相提并论。
已提出一种更近期的使用多文本语法和概括的多文本语法理论方法,并试图通过允许非邻接翻译和放松重新排序的限制,来概括倒置转换语法方法。尽管提议了此理论,但对于参数估计没有提出任何细节,没有对此框架中的解码如何结合短语信息的描述,没有构造实际的系统,也没有给出翻译质量数字。此理论在Technical Report(技术报告)04-024Proteus项目(2004)中Melamed和Wang的STATISTICAL MACHINE TRANSLATION BY PARSING中得到详细描述。
另一个涉及倒置转换语法的现有技术的方法通过同时对源句进行语法分析,并用独立应用于每层的源依存关系树的转换器集合来转换目标依存关系树的方式,用头转换器来生成翻译。这些转换器在范围上是受限制的。它们仅从属于非常局部的上下文,从而最终的结果基本上是基于单词的(与基于短语的相反)解码器。转换器归纳过程还很可能因数据稀少问题而复杂化。仅训练单一转换器,而不是将翻译建模分解成若干不同的组件(诸如词汇的选择、排序、等等)。一个此类系统在Computational Linguistics(计算语言学),26(1)45-60(2000)中Alashawi等人的LEARNING DEPENDENCY TRANSLATION MODELS AS COLLECTIONS OFFINITE-STATE HEAD TRANSDUCERS(将相关翻译模型作为有线状态头转换器集合来学习)。
在相关转换器和多文本语法的汇合处形成了研究的切线。此研究线涉及同步相关插入语法,并在COLLING 2004Workshop on Recent Advances in DependencyGrammar(近期相关语法方面进展的研讨会)(2004)中Ding和Palmer的SYNCHRONOUS DEPENDENCY INSERTION GRAMMARSA GRAMMARFORMALISM FOR SYNTAX BASED STATISTICAL MT(同步相关插入语法一种用于基于语法的统计MT的语法形式)中得到更具体的描述。
在又一个现有技术的尝试中,为了改善SMT系统中流畅性的问题,使用目标语言的语法分析器。通过在训练数据中使用语法分析器,即可得知一组操作将目标语言树转换成源语言串的概率。这些操作可与基于树的语言模型结合以生成噪声通道翻译搜索。一个此类系统在ACL学报(2001)中Yamada和Knight的ASYNTAX-BASED STATISTICAL TRANSLATION MODEL(一种基于语法的统计翻译模型)中得到阐述。此类系统的确对流畅性具有积极影响,但与非句法的SMT系统相比总体翻译质量没有提高。
另一个在翻译中使用相关信息的现有技术的方法是经由依存关系树中的路径进行翻译。一个此类系统在COLLING学报(2004)中Lin的A PATH-BASEDTRANSFER MODEL FOR MACHINE TRANSLATION(用于机器翻译的基于路径的转换模型)中得到描述。据信这是仅有的在试图翻译之前对源句应用单独的相关语法分析器的现有技术的系统。尽管此类系统的确看起来是将较大的记住的模式(类似于短语SMT)与相关分析相结合,但此系统中的统计建模受到极大限制。仅仅使用了直接最大似然估计的翻译模型。因此解码过程没有用例如目标语言模型在忠实性和流畅性间取得平衡,它也没有受益于给予SMT系统其能力的其它统计模型的宿主。各路径是以任意次序组合的。最后,此方法强加的从依存关系树提取的“短语”是线性路径的限制十分有害。它不仅丢失了非线性分支配置中很有希望的小树翻译,还不能对在表面串中是邻接的、但在依存关系树中是非线性的某些常用短语进行建模。因此,尽管结果的翻译看起来某种程度上受益于对相关路径的使用,但整个方法并未接近短语SMT解码器的翻译质量。
从以上讨论,可以看到绝大多数的句法统计机器翻译方法都集中于单词到单词的翻译,而不是短语统计机器翻译,并且将语法分析和翻译当作联合的问题,而不是在翻译之前使用单独的语法分析器。唯一使用单独语法分析器的方法在范围上受很大限制,它以任意顺序组合路径,并且未使用统计模型的组合,这严重地限制了可能的翻译质量。

发明内容
给定该技术的现有状态,不含上下文的组成分析(与相关分析相反)可能看起来是开发统计机器翻译系统自然的出发点。但是,据信在机器翻译中这不是语法最有效的表示。与组成分析对比,相关分析往往将更多语义上相关的元素集合到一起。例如,动词变成直接与其所有参数邻接,而不是只有宾语。此外,依存关系树更适合于密集词汇化的操作,这些操作证明在短语统计机器翻译中十分有效。
在本发明的一个实施例中,解码器接收依存关系树作为源语言输入,并访问产生结合在对数线性统计框架中的输出的一组统计模型。该解码器还访问小树(treelet)翻译对表,并基于源依存关系树、基于对小树翻译对表的访问、及基于对统计模型的应用,返回目标依存关系树。
在一个实施例中,解码器用动态编程来实现。在另一个实施例中,解码器用A*搜索来实现。


图1所示是可使用本发明的一个示例性环境的框图。
图2根据本发明的一个实施例示出训练系统的框图。
图3是示出图2中的系统的全部操作的流程图。
图4A-4D示出相关结构的世代和一对句子的单词对齐。
图5A和5B示出一对句子的单词对齐和源相关结构。
图6所示是从源语言依存关系树向目标语言依存关系树投影依存关系的流程图。
图6A-6E所示是显示从源语言依存关系树向目标语言依存关系树投影依存关系的结构。
图6F所示是如何重新附加目标语言依存关系树中的节点的流程图。
图7所示是对未对齐的目标单词的依存关系进行对齐的流程图。
图7A-7F示出从源语言依存关系树到目标语言依存关系树的依存关系的投影,其中目标句子中的一个单词是未对齐的。
图8A-8I示出从源语言树到目标语言树依存关系投影,及小树翻译对的提取,其中源语言输入中的多个单词对齐到目标语言输入的单个单词。
图8J示出提取小树翻译对的流程图。
图9A-9C示出从一对句子中提取小树翻译队,其中目标语言句子中的多个单词对齐到源语言句子中的单个单词。
图10A-10D根据本发明的一个实施例示出如何训练排序模型。
图11A-11C示出排序模型的第二实施例的操作。
图12根据本发明的一个实施例示出运行时间环境的框图。
图13所示是图12中所示的运行时间环境的全部操作的流程图。
图14A-14C根据本发明的一个实施例示出动态编程成解码器的操作。
图14D根据本发明的一个实施例示出解码器的操作。
图15根据本发明的一个实施例示出如何训练模型权重。
具体实施例方式
本发明涉及使用句法依存关系树的机器翻译。但是,在更具体描述本发明之前,将讨论可使用本发明的示例性环境。
图1示出可实现本发明的合适的计算系统环境100的示例。计算系统环境100只是适合的计算环境的一个例子,而并不试图对本发明的使用或功能提出任何限制。也不应将计算环境100解释成有涉及示例性操作环境100中所示的任何一个组件或其组合的从属关系或要求。
本发明可随许多其它通用或专用计算系统环境或配置操作。可适用于本发明的公知计算系统、环境和/或配置的例子包括,但不限于,个人计算机、服务器计算机、手持式或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子设备、网络PC、小型计算机、大型计算机、包括任何以上系统或设备的分布式计算环境、等等。
可在计算机执行的诸如程序模块等计算机可执行指令的通用上下文中描述本发明。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。本发明还可在分布式计算环境中实施,其中任务由通过通信网络连接的远程处理设备执行。在分布式计算环境中,程序模块可同时位于包括记忆存储设备的本地和远程计算机存储介质两者中。
参考图1,用于实现本发明的示例性系统包括计算机110形式的通用计算设备。计算机110的组件可包括,但不限于,处理单元120、系统存储器130、以及将包括系统存储器在内的各种系统组件耦合到处理单元120的系统总线121。系统总线121可以是若干类型总线结构的任意一种或多种,包括存储器总线或存储器控制器、外围总线、及使用各种总线体系结构的任一种的局部总线。作为示例,而非限制,此类体系结构包括工业标准体系结构(ISA)总线、微通道体系结构(MSA)总线、增强ISA(EISA)总线、视频电子技术标准协会(VESA)局部总线、也称Mezzanine总线的外围部件互联(PCI)总线。
计算机110通常包括各种计算机可读介质。计算机可读介质可以是可由计算机110访问的任何可用介质,包括易失性和非易失性介质,可移动和不可移动介质。作为示例而非限制,计算机可读介质可包含计算机存储介质和通信介质。计算机存储介质包括以任何方法或技术实现的用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的易失性和非易失性,可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁存储设备、或可用于存储所需信息并可由计算机110访问的任何其它介质。通信介质通常具体化为诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并包括任何信息传送介质。术语“已调制数据信号”指以在信号中将信息编码的方式设置或改变其一个或多个特征的信号。作为例子而非限制,通信介质包括诸如有线网络或直接连线等有线介质,及诸如声学、RF、红外及其它无线介质等无线介质。以上的任意组合也应被包括在计算机可读介质的范畴内。
系统存储器130包括诸如只读存储器(ROM)131和随机存取存储器(RAM)132等易失性和/或非易失性存储器形式的计算机存储介质。包含例如在启动期间在计算机110内部各元件间传送信息的基本例程的基本输入输出系统133(BIOS)通常存储在ROM 131中。RAM 132通常包含可由处理单元120立即访问和/或当前正在操作的数据和/或程序模块。作为示例而非限制,图1示出了操作系统134、应用程序135、其它程序模块136及程序数据137。
计算机110还可包括其它可移动/不可移动,易失性/非易失性计算机存储介质。仅仅作为例子,图1示出读或写不可移动、非易失性磁介质的硬盘驱动器141、读或写可移动、非易失性磁盘152的磁盘驱动器151、以及读或写诸如CD ROM或其它光介质等可移动、非易失性光盘156的光盘驱动器155。可用于示例性操作环境的其它可移动/不可移动、易失性/非易失性计算机存储介质包括,但不限于,磁带盒、闪存卡、数字多功能盘、数字录像带、固态RAM、固态ROM等等。硬盘驱动器141通常通过诸如接口140等不可移动存储器接口连到系统总线121,而磁盘驱动器151和光盘驱动器155通常由诸如接口150等可移动存储器接口连到系统总线121。
以上所讨论并在图1中示出的各驱动器及其相关联的计算机存储介质为计算机110提供了计算机可读指令、数据结构、程序模块及其它数据的存储。例如,在图1中,硬盘驱动器141被示为存储操作系统144、应用程序145、其它程序模块146和程序数据147。注意,这些组件可以和操作系统134、应用程序135、其它程序模块136和程序数据137相同或者相异。此处给操作系统144、应用程序145、其它程序模块146和程序数据147不同的标号,以说明至少它们是不同的副本。
用户可通过诸如键盘162、话筒163和诸如鼠标、跟踪球或触摸垫等定位设备161等输入设备将命令和信息输入到计算机110中。其它输入设备(未示出)可包括操纵杆、游戏垫、圆盘式卫星天线、扫描仪等等。这些及其它设备常通过耦合到系统总线的用户输入接口160连到处理单元120,但也可由诸如并行端口、游戏端口或通用串行总线(USB)等其它接口和总线结构连接。监视器191或其它类型的显示设备也通过诸如视频接口190等接口连到系统总线121。除了监视器之外,计算机还可包括可通过输出外围接口195连接的其它外围输出设备,诸如扬声器197和打印机196。
计算机110可用到诸如远程计算机180等一个或多个远程计算机的逻辑连接在联网环境中运行。远程计算机180可以是个人计算机、手持设备、服务器、路由器、网络PC、对等设备或其它公共网络节点,且通常包括相对于计算机110所描述的许多或全部元件。图1中所描绘的逻辑连接包括局域网(LAN)171和广域网(WAN)173,但还可包括其它网络。此类网络环境常见于办公室、企业范围计算机网络、内联网和因特网。
当用于LAN网络环境时,计算机110通过网络接口或适配器170连到LAN 171。当用于WAN网络环境时,计算机110通常包括调制解调器172或用于通过诸如因特网等WAN 173建立通信的其它装置。可以是内置或外置的调制解调器172可通过用户输入接口160或其它适当的机制连到系统总线121。在联网环境中,相对于计算机110描绘的程序模块或其部分可存储于远程记忆存储设备中。作为示例而非限制,图1示出远程应用程序185驻留在远程计算机180上。应当理解,所示网络连接是示例性的,且可使用在计算机间建立通信链路的其它手段。
图2所示是一训练系统200的框图。图示训练系统200正在接收大型句子对齐的并行语料库202。图示训练系统200还正在提供包括小树翻译对数据库204、排序模型206、协定模块208、翻译概率表210和目标语言模型212的输出。系统200包括源语言依存关系语法分析器组件214、目标语言单词分块组件216、无监督单词对齐组件218、依存关系树投影组件220、目标语言模型训练组件222、小树对提取器224、排序模型训练组件226、和协定模型训练组件228。
图3是示出图2中所示系统200的全部操作的流程图。首先,系统200访问句子对齐并行语料库202。这由图3中所示的框250指示。示例上语料库202是大型并行数据语料库。即,语料库202包括多对互为译文的句子,第一个句子是第一种语言(本文中称为源语言),且另一个句子是第二种语言(本文中称为目标语言)。
依存关系语法分析器组件214访问语料库202并对每一个源语言句子进行依存关系语法分析。这由图3中的框252指示。示意上依存关系语法分析器组件214是任何商业上可提供的依存关系语法分析器,它取文本片段作为输入,并进行若干操作。首先,语法分析器组件214标识输入文本片段中的单词(即,将输入的句子分块成单词)。在此期间,语法分析器可选择性地将多单词的输入作为单个单词(诸如White House),也可将各项分开。例如,语法分析器可将项“interesting-bearing”分成3个单词,其中连字符自成一词。
在任何情形中,一旦语法分析器214分块了源输入,则标识每个文本片段中的头单词。然后,还标识句子中所有单词两两之间的依存关系。因此,依存关系语法分析器组件214的输出262是一组标识了头单词且注解了单词两两之间依存关系的单词。
图4A中示出一个此类表示。源语言输入(或称表面串)是“The old man ate”。图4A示出表面串仅仅包括箭头,其中竖直向下指向单词“ate”的箭头将“ate”标识为该文本片段中的头单词。从单词“man”到单词“ate”的箭头指示单词“man”作为前置修饰词从属于单词“ate”。类似地,从两个单词“the”和“old”到单词“man”的两个箭头指示这两个单词从属于单词“man”。
图4B中示出来自依存关系语法分析器组件214的单词和依存关系输出的另一个表示。图4B中示出的结构称为依存关系树,其中每个单词包括树的一个节点,且最顶上的节点包括头单词或树的根节点。当连接树中两层的节点的线斜向左下(诸如连接节点“ate”和“man”的线),这指示树中下面的项(在此例中为“man”)是树中上面的项(在此例中为“ate”)的前置修饰词。因此,图4B中的依存关系树显示“man”是单词“ate”的前置修饰词,且两个单词“the”和“old”都是单词“man”的前置修饰词。反过来斜向右下的线将指示是单词是其头的后置修饰词。
示例上目标语言单词分块组件216也是任何商业上可提供的单词分块器,它将目标语言的输入句子分块成单词串。例如,假设按图4A和4B中所示的“the oldman ate”对齐的目标语言句子是德文语言的句子“der alte mann isst”。在该例中,组件216将目标语言句子分成图4C中所示的单词。因此,目标语言单词分块组件216的输出仅仅是已对齐的句子对中目标句子部分中的单词的列表。对目标语言输入进行单词分块由图3中的框254指示。(在诸如中文等不用空格将单词分开的语言中,单词分块的任务比它在诸如英文或德文等语言中更加复杂。)在生成源语言依存关系语法分析,并进行目标语言单词分块之后,将源语言依存关系语法分析放在目标语言单词分块旁边,以构成图2中的单词已分块的并行语料库256。因此,来自图4A或4B的表示之一与图4C中所示的表示相关联。
接下来,无监督单词对齐组件218寻找并行对齐的单词已分块的语料库256中各单词两两之间的相应关系。示意上单词对齐组件218是任何商业上可提供的单词对齐组件,它寻找单词已分块版本的目标语料库256和单词已分块版本的源语料库256中各单词两两之间的对应关系。示例上,对应关系是判定目标语言已对齐的部分是其所对齐的源语言部分的译文的指示。在一个实施例中,无监督单词对齐组件仅用已分块版本的源语料库和目标语料库作为输入。在另一个实施例中,无监督的单词对齐组件还对每个源语言语法分析使用源语言相关树。
在一个实施例中,单词已分块的的源语言句子和单词已分块的目标语言句子的单词对齐以以下方式表示为图。每个不同的源语言单词都是图中的一个顶点,每个不同的目标语言单词都是图中的一个不同的顶点。有一组表示源单词和目标单词之间对应关系的边。每个边将表示一个源语言单词的顶点连接到表示一个目标语言单词的顶点该图是双向图。单词对齐的其它实施例可使用不同的表示,诸如从一源语言单词到其所对齐的目标语言单词组的函数等,但此函数表示可简单地用以上图的表示的形式重新投影。为此文件起见,单词对齐组件是任何为每个句子对生成能以以上图的表示的形式重新投影的单词对齐的组件。
使用迄今所讨论的示例,图4D将已对齐文本的源语言部分在顶部示出,并将已对齐文本的目标语言部分在底部示出,并示出由单词两两之间的线条所注释的两者之间的对应关系。因此,图4D示出单词对齐组件218到英文单词“the”和德文单词“der”之间的对应关系、英文单词“old”和德文单词“alte”之间、英文单词“man”和德文单词“mann”之间、及英文单词“ate”和德文单词“isst”之间的对应关系。
图4D中所示的对齐是相当简单直接的,因为它是1-2-1对齐。换言之,源语言文本中的每个单词都与目标语言文本中的单个单词对齐。但是,很可能有更复杂的单词对齐。例如,在法语中,否定通常分成两个单词。两个单词中的一个在句子中驻留在动词之前,另一个单词在句子中驻留在动词之后。因此,假设所处理的并行对齐的句子是英文句子“I do not speak French”且该句子对应的法文译文是“Je ne parle pas Francais”。法文例子中的否定是由驻留在动词“parle”两边的单词“ne…pas”指示的。
对齐组件218从而如图5A中所示地将两个句子对齐。注意对于源语言单词“do”没有对齐,而有两个单词与源语言单词“not”对齐,它们是“ne”和“pas”。
单词已对齐的句子构成了无监督单词对齐组件218的输出,并构成图2中单词已对齐的平行语料库258。在单词已分块的源语言相关结构和单词已分块的目标语言文本之间进行单词对齐的步骤是由图3中的框260指示的。因此,在单词已对齐的并行语料库258中,源和目标语言单词具有以某种语法形式注释的关联。这里它们仅仅是由连接单词的线来指示。
在处理过程中的这个点上,源语言句子已被语法分析成源语言相关树(或另一种源语言依存关系结构),且已生成单词已对齐的并行语料库,从而源语言文本中的单词已与目标语言文本中的单词对齐。图5B是示出如何在单一结构中同时示出这两者的结构。图5B的上面部分显示源语言输入句子“I do not speak French”,它具有如以上关于图4A所述的箭头所构成的相关结构。图5B中所示结构的下面部分包括目标语言输入“Je ne parle pas Francais”,它的单词与源语言输入中的单词对齐。因此,图5B同时表示源语言依存关系树和源语言同目标语言输入之间单词的对齐两者。源语言依存关系树由图2中的标号262表示。
依存关系树投影组件220随即将依存关系从源语言依存关系树的表示投影到已对齐的目标语言的单词已分块的输入,以获取目标语言依存关系树(或依存关系结构)。这由图3中的框264指示。
依存关系树投影组件的一个实施例按以下方式前进。
(1)一对多对齐对于所有不同组的目标单词Ti和Tk,其中
(a)Ti和Tk中的所有单词都与源单词sk和sl对齐,并且(b)没有其它目标单词与sk和sl对齐,并且(c)ti是的Ti代表性元素,并且(d)tj是的Tj代表性元素,当且仅当从sk到sl有依存关系关系并且对于Ti中tm!=tj的每个tm时创建从ti到tj的依存关系,创建从tk到ti的依存关系,且对于Ti中tm!=tj的每个tm,创建从tm到tj的依存关系。
在一个实施例中,一组目标节点的代表总是该组中最右边的节点。在其它可能的实施例中,可由关于哪个节点是头节点的语料库统计,或由手工规则选择代表。
(2)一对一和多对一对齐类似地,对于所有唯一地与不同源单词组Sk和Sl对齐的目标单词ti和tj,,当且仅当对于Sk中的某个sk和对于Sl中的某个sl有从sk到sl的依存关系关系时,我们创建从ti到tj的依存关系。
(3)未对齐的单词对于所有未对齐的目标单词ti,寻找到左边的tl的最近的已对齐目标单词和到右边的tr的最近的已对齐目标单词。如果tl在依存关系树中位置较低,则创建ti和tl之间的依存关系;否则创建ti和tr之间的依存关系。
(4)未对齐的根节点如果源依存关系树的根节点未对齐,那么在应用以上所有步骤之后,将有多个目标依存关系树,每个具有单独的根节点。从那些根节点中选出一个代表,并使其它所有根节点从属于此代表节点。
(5)乱序附加如果在所有单词都附加到单一的依存关系树中以后,树中单词的次序与目标句子中的次序不同,则将每个乱序节点重新附加到树中的最低节点,在那里它将按正确顺序读完。
以下各段以具体例子来说明这些规则。图6所示是示出依存关系从源语言依存关系树投影到已对齐的目标语言文本上的过程的流程图。组件220将依存关系从源语言依存关系树投影到目标语言文本中已对齐的单词,以生成目标语言依存关系树中的依存关系。依存关系到目标语言依存关系树的投影由图6中的框268示出。例如,组件220检查源一方的单词,看它们从属于什么,并将那些同样的依存关系投影到目标一方的已对齐单词。
在本例中,假设组件220(在其已标识图6A中的根节点“parle”之后)以单词“I”开始。可从源语言依存关系结构看出,单词“I”作为前置修饰词(作为出现在单词“speak”之前并且在表面串中的修饰词)从属于单词“speak”。因此,组件220顺着从单词“I”到单词“Je”的对齐并使“Je”称为前置修饰词,从属于根节点“parle”。这在图6B中示出。
组件220接下来遇到单词“do”。因为它没有与目标语言文本中的任何单词对齐,组件220简单地跳过单词“do”并前进至单词“not”。
单词“not”在某种程度上更为复杂,因为它与目标一方的两个单词“ne”和“pas”对齐。
为了解决这个问题,根据本发明的一个实施例,使用查看目标一方与源一方的单个单词对齐的单词组以判定其依存关系的试探。在此实施例中,使目标一方的单词组中最右边的单词(“pas”)从属于头单词,且维护目标一方原始单词序列的顺序以判定“pas”是树中的前置修饰词还使后置修饰词。因为“pas”在表面串中是在其头单词“parle”之后的,所以令其在依存关系树中为该头单词的后置修饰词。这在图6C中示出。
接下来,依此取目标一方匹配单词组中剩余的单词,并在此基于目标表面串中的原始单词次序将其作为最右边单词“pas”的前置修饰词或后置修饰词。在本例中,单词组中匹配“not”的仅余单词是法文单词“ne”。因此,使“ne”从属于单词“pas”。因为它在单词“pas”之前,则将其作为单词“pas”的前置修饰词放到依存关系树中。这在图6D中指示。
最后,组件220到达单词“French”,并判定它与单个目标单词“Francais”对齐,且该单词“French”从属于单词“speak”。因此,组件220将单词“Francais”作为从属于单词“parle”(与单词“speak”对齐)的后置修饰词放到目标语言依存关系树中。这也在图6D中示出。
组件220随即计算目标依存关系树中的次序。在此情形中,图6D中所示的依存关系树的次序将导致法文串“Je parle ne pas Francais”。组件220随即访问原始的目标语言输入,并且注意到单词“ne”是乱序的,因为现在在表面串中它接在单词“parle”之后。
为了解决此错误,并纠正如下讨论的若干其它可能的问题,如果必要的话,组件220进行第二轮遍历目标语言依存关系树,以清除目标语言依存关系树的错误。这由图6中的框270指示。
所讨论的第一个此类错误即是刚才所提及的(其中从图6D处所示的最终的目标语言依存关系树读出的译文中,目标单词-单词“ne”-显得是乱序的)。图6F所示是组件220如何纠正此错误的流程图。
首先,组件220标识目标串中的一个单词,它从目标依存关系树读是乱序的。这由图6中的框300指示。在本例中,该单词是“ne”。组件220随即标识目标语言依存关系树中被标识单词以上(“ne”以上)的最低点以供进行重新附加,从而保留了原始的表面串的顺序。在此情形中,保留原始的次序的单词“ne”以上最低的点是通过将“ne”作为前置修饰词附加到节点“parle”。标识此点是由图6中的框302指示的。组件320随即重新将单词“ne”附加到该节点。这在图6E中示出,并由图6F中的框304指示。因此,单词“ne”被分离而不再是单词“pas”的前置修饰词,并且被重新附加为单词“parle”的前置修饰词。
在本发明中可能遇到的另一个问题在单词已分块的目标串中的某个单词未与源串中的任何单词对齐时出现。例如,在法语中,介词常常插在动词之后,并且它们不具有实际的英文译文。例如,假设源语言输入串“I have books”。正确的法文译文是“Je ai de livre”。源语言适合目标语言的单词已分块输入之间的对齐在图7A中示出。很容易看出目标语言串中的单词“de”与源语言串没有对齐。
图7B示出图7A的单词对齐,以及相关树的标识(源语言串上的弧线显示源语言输入上的依存关系)。使用本发明将那些依存关系投影到目标语言串产生图7C中所示的目标语言依存关系树。这也可如图7D中所表示,如前例中所述。当然,这指示单词“de”没有与其相关联的依存关系。因此,根据本发明的一个实施例,组件220首先标识原始单词已分块目标串中任何未对齐的单词。这由图7中的框320指示。当然,在本例中,组件220指示单词“de”。
接下来,组件220标识目标依存关系结构中未对齐单词上最近的依存关系弧线。图7D中所示的依存关系结构中在未对齐单词“de”上方最近的依存关系弧线是在“livre”处发出到单词“ai”处终止的弧线。标识此弧线由图7中的框322指示。
组件220随即使该未对齐的单词成为所标识弧线的原点的从属。因此,在本发明中使单词“de”从属于单词“livre”。这在图7E中示出。从“de”向上延伸的虚线示出在依存关系结构中“de”以上最近弧线的位置,且从“de”到“livre”的弧线指示已使“de”成为“livre”的从属。这由图7中的框324指示。当然,图7E中的依存关系结构可重写为图7F中所示的依存关系树。
可能产生并由组件220的第二轮所解决的问题是在多个源单词与单一目标单词对齐处。例如,考虑源串“Empty the recycle bin”。该串的法文译文是“Bider lecorbeille”。关于这两个串的单词对齐以及对应于源语言串的依存关系结构在图8A中示出。图8A示出两个源语言单词“recycle”和“bin”与目标语言单词“corbeille”对齐。与源语言串相关联的依存关系树在图8B中示出。
回忆要将依存关系从源语言依存关系树投影到目标语言依存关系树,与源语言依存关系的根节点对齐的单词被标识并成为目标语言依存关系树的根节点。因此,与“empty”对齐的单词是“vider”,并成为图8C中所示的目标语言依存关系树的根节点。
接下来回忆源语言依存关系树中的依存关系如今被投影到目标语言输入中已对齐的单词上,以获取目标语言依存关系树。但是,两个单词与目标单词“corbeille”对齐。因此,组件220必须判定要将哪个依存关系投影到目标单词上。根据本发明的一个实施例,组件220使用源语言依存关系树结构中最高的源单词的依存关系。因为与corbeille对齐的两个单词是“recycle”和“bin”,图8B显示单词“bin”是依存关系树结构中最高的,并且因此其依存关系将被投影到单词“corbeille”上。因为bin是单词“empty”的后置修饰词,所以在目标语言依存关系树中单词“corbeille”将是单词“vider”的后置修饰词。
此外,当然,“le”是作为“corbeille”的前置修饰词投影的,并且如图8C中所示完成目标语言依存关系树。图8D同时示出源和目标语言依存关系结构两者以及源和目标语言串之间的单词已分块的单词对齐。
还可如图8E中所示重画图8D中所示的结构。图8E同时以依存关系树形式显示源和目标语言依存关系结构两者,而单词的对齐由两个依存关系树之间的虚线指示。
因此,依存关系树投影组件220的输出产生诸如图8D或8E中所示的结构等单词已对齐的并行依存关系树结构(或依存关系结构)的语料库。对于当前的讨论,术语“依存关系树”将用来指由沿单词串的弧线示出依存关系的那类结构(诸如图7E中所示的结构)或者诸如图7F中所示等实际从属树结构。因而“依存关系树”可互换地同指那两种结构。因此,术语“单词已对齐并行依存关系树”可用来可互换地同指图8D和8E中所示的两类结构。依存关系投影树组件的其它实施例可使用一组与以上描述的内容不同的规则、试探或统计。
无论如何,组件220所生成的多个单词已对齐的并行依存关系树结构示为图2的系统图中的单词已对齐的并行依存关系树语料库400。它是一种结构的语料库,如图8D或8E或这两者中所示的,且那些结构为整个句子已对齐的并行语料库202生成。
现在回到图3,可以看到处理已经前进通过框264中源语言依存关系到已对齐目标语言文本的投影,以获取单词已对齐的并行依存关系树语料库400。下一个步骤是从语料库400提取小树翻译对,并将它们放到小树翻译对数据库204中。这由图3中的框402指示。
小树翻译对定义为源语言依存关系树的连通子图和对应的目标语言依存关系树的连通子图。但是,根据本发明的一个实施例,“连通子图”的定义将源自树中任何节点的兄弟节点当作通过伪父节点连通。提取小树翻译对是由图2中所示的小树对提取器224执行的。指示如何进行此任务的示例性结构在图8E-8I中示出,示意如何进行此任务的流程图在图8J中示出。
小树对提取器224首先以枚举所有大小为1(大小是由小树中包含的节点个数指示的)的源语言小树开始。这由图8J中的框404和406指示。在所枚举的源语言小树的大小为一的初始一轮中,枚举源语言依存关系树中的每个节点。对于图8E中所示的单词已对齐的并行依存关系树结构,在图8F的左边枚举每一个源语言节点。
随后,标识对于每个所枚举小树的对齐。这在图8F右半边示出,并由图8J中的框408指示。
小树对提取器224随即从所枚举的小树和对应的对齐中提取构造良好的小树翻译对。这由图8J中的框410指示。小树“empty-vider”和“the-le”两者都是构造良好的,并因而被提取并放置在小树翻译表中。但是,项“bin”和“recycle”的完整小树翻译对在图8G中示出。因为单个节点小树“recycle”和单个节点小树“bin”都与同样的目标语言单词“corbeille”对齐,独立于其中之一提取两者中的另一个将不会生成构造良好的小树翻译对。它将导致对齐延伸到小树翻译对之外。因此,那两个所枚举的大小为1的小树被弃置。
提取器224随即判定有没有任何更大的小树可以考虑,如框412所示。如果有,那么在框414所要考虑的小树的大小增加1,并且处理前进至框406。当然,在本例中,有更大的小树可供考虑,因此提取器224考虑源语言依存关系树中大小为2的小树。
在图8H中枚举所有大小为2的源语言小树。可以注意到,因为节点的子节点被认为是构成连通子图,所以还枚举了小树420。此小树将源语言单词“the”和“recycle”视为在星号所标记的伪根节点之下。
图8H示出有3个大小为2的小树有且仅有单词“bin”或“recycle”两者中的一个。因此,从图8F和8G的讨论出发,这些不能产出构造良好的小树翻译对。因此,它们被弃置。但是,显示“recycle”为“bin”的前置修饰词的源语言小树被翻译为“corbeille”,并且该源语言小树中的这两个源语言项都不具有在该小树翻译对之外的对齐。因此,小树翻译对422作为构造良好的小树翻译对被提取并放置到小树翻译对数据库204中。
处理继续前进至框406,小树对提取器224枚举所有大小为3的源语言小树。在图8I中424、426和428处指示了那些小树。小树424和426具有包含所有来自源语言单词的对齐的翻译。因此,它们是构造良好的小树翻译对,并被提取和放置到小树翻译对数据库204中。但是又一次,小树428仅有单词“bin”而没有单词“recycle”。因为“corbeille”同时对齐到“recycle”和“bin”两者,所以它具有延伸到用小树428生成的任何小树翻译对之外的对齐。因此,小树428被弃置。
小树对提取器224随即考虑所有大小为4的源语言小树。仅有一个且在图8I中示出。这是构造良好的小树翻译对,并因此被提取和放置到小树翻译对数据库204中。
因为源语言依存关系树的语料库中没有更大的小树,小树翻译对提取器224已完成对构造良好的小树翻译对的提取。
现在为了更好地说明兄弟节点被视为构成连通子图,考虑较先的源语言句子的示例“I do not speak French”和对应的法文翻译“Je ne parle pas Francais”。关于那两个句子的依存关系结构和单词对齐在图9A中示出。图9B示出指示同样事物(依存关系和单词对齐)的替换结构。在此例中,当枚举大小为1的源语言小树及其对齐时,除了其它小树,这还会生成图9C中所示的小树。此结构指示以单词“not”为任何源单词“星号”的前置修饰词的小树可被翻译成该源单词“星号”和前置修饰词“ne”与后置修饰词“pas”的译文。因此,小树翻译对数据库将包含小树翻译对以指示“ne...pas”可被翻译为“not”。
再次回到图2中所示的全部训练系统200,排序模型训练组件226还基于单词已对齐的并行依存关系树语料库来训练排序模型206。这由图3中所示的框480指示。
排序模型206解决的问题是,在运行时间(稍后在说明书中讨论),接收到源语言输入并将其语法分析为源语言依存关系结构。随即对照小树翻译对数据库204中的小树来匹配该结构。这产生匹配小树翻译对的列表并因此产生源语言小树的列表。但是,肯定不会知道要以什么顺序将那些小树连接到一起以构造目标语言依存关系树。因此,如果仅仅以任意方式将小树连接到一起,则最终的目标语言表面串可能不准确。
因此,将排序模块206训练成生成各小树要在目标语言依存关系树中出现的次序的概率预测。回忆单词已对齐的并行依存关系树语料库包括单词以对齐的并行依存关系树用于训练诸如图8D和8D中所示数据、和图9A和9B中所示数据等数据。将关于图8D和8E中所示的示例性结构来进行当前对排序模型的讨论。
假设在运行时间,输入句子是“Empty your recycle bin”。这首先会被语法分析成诸如图10中所示等依存关系树。图10B示出驻留在小树翻译对数据库204中的两个示例性小树翻译对,它们由提取器224从训练语料库中提取。因为在图10A中所示的源语言依存关系树中单词“your”是单词“bin”的从属,所以单词“votre”将从属于单词“corbeille”,但对于将这些节点附到一起有若干不同的可能性。
例如,不知道“votre”出现在“corbeille”之前还是之后。同时显示这两个可能性的依存关系树结构在图10C中示出。排序模型206独立于其它层地预测目标语言依存关系树中每层的依存关系的顺序。在本例中,排序模型206将预测图10C中所示的哪个依存关系树可能性更大。
在一个示例性实施例中,排序模型206仅仅枚举所有的可能性,对每一个可能性进行评分,并选择具有最高得分的那一个。为了完成此目的,排序模型206在给定其父节点的前提下,预测在依存关系树中子节点的顺序。在一个实施例中这是通过预测从父节点出发的偏移位置来完成的。例如,图10D示出“corbeille”从“vider”出发的偏移位置,以及“le”从“corbeille”出发的偏移位置。“corbeille”从“vider”出发有正1的偏移位置,因为它是“vider”的1个位置距离的后置修饰词(或在其后出现)。“le”关于“corbeille”有负1的偏移位置,因为它紧接在“corbeille”前面出现。当然,如果父节点(或头节点)有一个以上子节点,若多个子节点驻留在该父节点的一边,那么对于那些子节点来说位置整数可能大于1。又一次,排序模型206在依存关系树的每层独立地注释这些位置。
排序模型206为该层处的每个单词提供落入所注释位置的概率。这样的概率可以是诸如等式1中所示等概率。
等式1P(pos=+1)given that(给定)this word=corbeille(当前单词=corbeille)parent word=vider(父单词=vider)source word aliqned to this word=bin(与当前单词对齐的源单词=bin)
source word aligned to parent of this word=empty(与当前单词的父单词对齐的源单词=empty)Position of the source word aligned to this word=+1(与当前单词对齐的源单词的位置=+1)part-of-speech(POS) of the word aligned to this word=Noun(与当前单词对齐的单词的词性=名词)POS of the word aligned to parent of this word=Verb(与当前单词的父单词对齐的单词的词性=动词)等式1显示排序模型在给定各个因子前提下,计算单词“corbeille”的位置为正1的概率。等式1中列出的各因子是该单词本身(corbeille)、其父单词、与此单词对齐的源单词、与此单词的父单词对齐的源单词、与此单词对齐的源单词的位置、与此单词对齐的单词的词性、和与此单词的父单词对齐的单词的词性。
在等式1中关于所讨论的示例,示出每一个所列出的特征的值。因此,为了训练排序模型,排序模型206训练组件226遍历整个语料库400,读每个依存关系树结构中每层处的单词,填满等式1中列出的各个特征,并将其作为训练数据使用以生成各个概率。在一个实施例中,是用决策树来进行训练的。当然,还应注意还可使用不同的特征或其它特征。但是,无论如何,排序模型是用机器学习过程来训练的,并被训练成在给定源依存关系树的一个源节点的前提下,预测排列翻译依存关系树中目标节点的最佳方案。
在一个实施例中,该模型用于独立于树中的其它层,预测在每层处的输入中单词的位置。例如,在一个实施例中,该模型通过依次预测每个单词的次序,来预测每层处的次序。可为每个具有给定的从其头节点出发的偏移量的单词预测次序。该模型可使用等式1中列出的那些因子或不同的因子。
根据另一个实施例,排序模型206实现为交换/挑战模型。交换/挑战模型与上述模型有某些类似处,除了它不预测偏移量的概率,而是分别预测两个事物之外。第一,如果某特定单词从源语言依存关系树中翻译过来(或与之对齐)的原单词是前缀修饰词,则某给定单词仍是前置修饰词(或类似地,给定某目标单词是源句子中的后置修饰词的前提下,该目标单词是否仍是后置修饰词)的概率,对当某给定单词从源语言依存关系树中翻译过滤(或与之对齐)的原单词是前置修饰词时,该给定单词将“交换”以成为后置修饰词(或类似地,给定某目标单词是与是后置修饰词的源单词对齐或从其翻译过来的前提下,该目标单词是否仍是前置修饰词)的概率。换言之,该模型将预测某单词相对于头单词是仍会在同样方向,还是相对于头单词将交换。
然后,在交换/挑战模型判定对于目标依存关系树中的给定层,哪些单词将是前置修饰词,哪些是后置修饰词之后,它随即从内部开始对它们进行排序(例如,它从最靠近头的单词开始对前置修饰词和后置修饰词进行排序)。在此期间,该模型从一对前置修饰词开始。该模型随即判定该对中某给定的一个比该对中另外一个更近还是更远。该模型循环遍历该层处所有的前置修饰词,从而找到最靠近的、第二靠近的、等等。当然,这不是预测相对于头的位置,而指示寻找每个修饰词相对于彼此的位置。
一个例子可能有助于理解。假设输入句子是“The tired man from the sea”。为该句子生成的源语言依存关系树结构在图11A中示出。可能的匹配小树翻译对在图11B中示出。用排序模型206来预测修饰词“homme”的次序,因为有多个直接从属于该节点的子节点,并且所有这些子节点驻留在目标语言依存关系树中的同一层上。为了获取此排序,排序模型首先预测节点“homme”的前置修饰词列表仅仅是“le”,且后置修饰词列表是“fatigué”,并且该小树的根节点在“de”处。为了预测此排序,排序模型206生成等式2中所示的概率。
等式2P(nonswap(le))*P(swap(Fatigué))*P(nonswap(de))(P(不交换(le))*P(交换(Fatigué)*P(不交换(de)))这显示这些概率是由项“le”不会从其原始的前置修饰词位置交换的概率、单词“Fatigué”将从其原始的前置修饰词位置交换到后置修饰词位置的概率、和单词“de”不会从其原始的后置修饰词位置交换的概率组成的。对于本例,可以看到排序模型预测当前考虑下目标语言依存关系树的层上的一个前置修饰词和两个后置修饰词。
因为仅有一个前置修饰词,没有必要预测相对于头要将其放到何处。但是,有两个后置修饰词。因此,排序模型必须预测那一个离头最近。因此,除了图2中所示的概率之外,排序模型还必须预测在关于根节点在“de”处的后置修饰词哪一个最接近头的挑战中胜出。为此,计算等式3中所示的概率。
等式3P(challenge(fatigué)=win)|same features as in Eq.1.
从而,等式3计算在给定各种特征的前提下,项“fatigué”将在关于其余后置修饰词的挑战中胜出。在一个示例性实施例中,当生成此概率时所考虑的特征和等式1中所示的特征是相同的。因此,当在排序模型206中使用交换/挑战模型时,训练组件226在给定所列出的特征作为训练数据的前提下,遍历整个训练语料库并计算这些概率。向下遍历每个依存关系树,独立地查看每层,以计算这些概率。
再次参考训练系统200的完整操作,如图2和3中所示,协定模型训练组件228也访问语料库400以训练协定模型208。这由图3中的框482指示。协定模型训练组件228访问语料库400中所有的目标语言依存关系树。协定模型208试图在给定子节点的头节点的前提下预测每个子节点。这些是无视于子节点的次序而进行预测的。为了训练协定模型208,使用一种标准语言模型框架。但是组件228向下遍历每个目标语言依存关系树并训练该模型在给定子节点的父节点的前提下预测子节点,而不是训练该模型在给定串中若干先前的单词的前提之下预测某个单词。
与协定模型208相关联的一个优点是即使修饰词没有被排列在树中,也可为小树获取得分。并且,协定模型208不考虑修饰词与其所修饰的单词之间单词的个数。所考虑的全部是它是父节点的从属,并因此修饰父节点。这可能优于表面串语言模型。例如,考虑一种bi-gram的语言模型如果修饰词和被修饰词被两个以上单词分开,那么该语言模型在预测被修饰词时甚至不会考虑该修饰词。
再次参考图2中所示的完整训练系统图,翻译概率表210仅仅是预测源语言中的一个单词被翻译成目标语言中的一个单词的概率的常规通道模型。
最后,目标语言模型训练组件222访问目标语言单词分块组件216所生成的语料库中的单词已分块目标串,并训练目标语言模型。这由图3中的框484指示,并如图2中的目标语言模型212所示。训练组件222使用常规语言模型训练技术来训练目标语言中的n-gram语法模型。在常规n-gram模型中,是在给定n-1个在前单词的前提之下预测单词的概率。一个完整句子的概率是该句子中每个单词的n-gram概率相乘的结果。
因此,到这点上,已训练了图2中所示的完整的一组模型以及小树翻译对数据库204。这些模型现在可由翻译解码器使用来为输入文本片段生成运行时间的翻译。图12根据本发明的一个实施例示出翻译系统600的框图。翻译系统600已访问统计模型206、208、210和212以及一组模型权重602。系统600还访问小树翻译对数据库204。
系统600包括匹配小树翻译对组件604、源语言依存关系语法分析器606(它可以与图2中所示的源语言依存关系语法分析器组件214相同)和解码器608。图12中所示的系统600的完整操作由图13中所示的流程图说明。
系统600首先接收输入句子(或其它文本片段)610。这由图13中的框612指示。依存关系语法分析器组件606将此源输入句子610语法分析成源语言依存关系树。为示例起见,假设输入文本片段是“the files installed on your computer”。组件606生成诸如图14A中所示之类的源语言依存关系树614。对输入文本进行依存关系语法分析由图13中的框616示出。
匹配小树翻译对组件604接收源语言依存关系树614并访问小树翻译对数据库204。组件604从数据库204提取所有匹配小树翻译对(那些匹配源语言依存关系树614中的小树的匹配小树翻译对),并提供小树翻译对作为输出618。提取匹配小树翻译对的步骤由图13中的框620指示。
解码器608接收源语言依存关系树614和匹配小树翻译对618,并生成翻译树假设,并用模型206、208、210和212以由模型权重602加权的形式来给每一个评分,并输出前N个翻译621。此步骤由图13中的框622和624指示。
为完成源语言输入文本610为“the files installed on your computer”的这个例子,源语言依存关系语法分析组件606生成源语言依存关系树614,如图14A中所示。匹配小树翻译对组件604随即从具有匹配源语言依存关系树614的源语言小树的小树翻译对数据库204提取小树。例如,假设组件604所提取、并作为输出618生成的小树翻译对是图14B中所示的小树对(为解释清楚起见缩短了图14B中小树对的列表。实际上甚至诸如此句等短句很可能具有数十个匹配小树翻译对)。解码器608如今的职责是寻找图14B中的小树翻译对的最佳组合和排序,以覆盖源语言依存关系树614并生成目标语言依存关系树。
在一个示例性实施例中,解码器608是动态编程解码器。在该实施例中,解码器608执行穷举的解码搜索。表1中示出说明此方法的一个伪码示例。
表1


图14D中所示的流程图示出同样的穷举搜索的一个实施例的流程图,现在对其进行讨论。解码器608开始从下往上的方式分别查看每个源节点,并试图寻找根节点在该源节点处的整个子树的最佳翻译。解码器608沿树向上爬,重复使用来自先前计算所得的子树的计算,直至它遇到源树的根节点。一旦遇到根节点,解码器608将为该源树所标识的整个文本片段寻找最佳翻译。
特别地,解码器608首先选择最低的源节点并标识以该节点为根节点的所有小树翻译对。在图14A中所示的例子中,解码器608从源节点“your”开始。但是,图14B中没有以节点“your”为根节点的小树。因此,解码器仅仅向上移到下一层并分析节点“computer”。解码器608将图14B中所示的匹配小树翻译对700定位为具有以节点“computer”为根节点的源节点。选择源节点并标识所有以该源节点为根节点的小树翻译对由图14D中的框702指示。
随后,对于每个所标识的小树翻译对(在此例中仅有一对——700),解码器608判定以所选源节点为根节点(即,根节点在“computer”处)的源子树是否有任何部分未被所选的小树翻译对(即,由小树翻译对700)所覆盖。这由图14D中的框704所指示。在本例中,小树翻译对700是所标识的唯一一个对,并且它覆盖根节点在“computer”处的完整子树。因此,仅仅对其进行评分并添加到源节点“computer”的N个最佳列表中。这由图14D中的框706指示。
解码器608随即选择另一个源节点,沿树往上移动。下一个源节点是“on”,并且在图14中没有根节点在节点“on”处的匹配小树翻译对。因此,解码器608仅仅向上移到下一个源节点“installed”。又一次,在框702,解码器608在图14B中所示的列表中定位根节点在节点“installed”处的小树翻译对710。
在框704,解码器608判定小树翻译对710没有覆盖从“computer”及以下的源子树的部分。因为解码器608沿着树向上移动,树再下方的任何未被覆盖的子树部分将已经具有为其计算的得分。因此,解码器608为根节点在“installed”处的子树未被覆盖的部分检索最佳的翻译。在此例中,它为根节点在“computer”处的子树检索到最佳翻译。这由图14D中的框712指示。检索到的最佳翻译对将包括翻译对700。
现在,解码器608必须决定如何将翻译对700的目标语言部分连接到翻译对710的目标语言部分。解码器608决定“ordinateur”连到“sur”上,因为单词的对齐显示“on”被翻译成“sur”且“ordinateur”被翻译成“computer”。因此,基于图14A中所示的源语言依存关系树中的依存关系,“ordinateur”必须从属于“sur”。但是,解码器608只是不知道“ordinateur”是“sur”的前置修饰词还是后置修饰词。
在一个示例性实施例中,解码器608枚举连接两个子树所有可能的方式,并用完整的一组模型(或所有使用的模型)来为每个可能的方式评分,以判定连接这两个单词最可能的方式。这由图14D中的框714指示。两种可能性在图14C中示出。等式4指示合并每个模型的得分以获得每个假设的完整得分的一种示例性方法。
等式4得分=λ1log(通道模型概率)+λ2log(排序模型概率)+λ3log(协定模型概率)+λ4log(目标LM概率)通道模型概率是“installe sur”翻译成“installed on”的概率,乘以“votreordinateur”翻译成“your computer”的概率。图14中的第一种可能的排序的排序模型概率是“sur”是“installe”在位置+1的后置修饰词的概率,乘以“ordimateur”是“sur”在位置-1的前置修饰词的概率。图14C中第二中可能的排序排序模型概率是“sur”是“installe”在位置+1的后置修饰词的概率,乘以“ordinateur”是“sur”在位置+1的后置修饰词的概率。协定模型概率是“sur”是“installe”的子节点的概率,乘以“ordinateur”是“sur”的子节点的概率和“votre”是“ordinateur”的子节点的概率。最后,目标语言模型概率仅仅是读完目标语言表面串到假设目标语言依存关系树的每个叶节点的基于串的概率,对于第一个概率是“installe votreordinateur sur”,对于第二个概率是“installe sur votre ordinateur”。
解码器608构造考虑中的节点处的所有假设,并用所有模型来给每个假设评分——应用与每个模型相关联的权重,并将它们累加以为此节点处的每个假设获取单一的得分。前N个最佳得分的假设被放到此所选源节点的N个最佳的列表上。这由图14D中的框720指示。
此过程继续进行,直至解码器608越过整个源语言依存关系树到达其根节点,随即按照需要输出N个最佳翻译。
当然,可进行若干优化来提高效率。例如,可仅维护候选中得分最高的子集,而不是为每个源节点保留完整的翻译候选的列表。
此外,为了限制解码器608指导的排序操作的数量,解码器608可查看在开始排序过程之前解码器先前是否已对某给定单词组进行排序。在一个实施例中,这可在按无序分支索引的散列表中实现。当将每个父节点的子节点按规范次序排列之后,如果两棵树具有同样的树结构和词汇选择,那么认为这两棵树相等。
另一种限制搜索空间的方法是早期在解码过程中丢弃候选,这可在探索相对较大和成本较高的排序空间之前进行。例如,早期删除候选的一种方法是在创建最后的翻译时,检查无序小树的通道模型得分,以及要附加的子子树的完整得分。如果这些得分的和低于当前N个最佳的列表中的最低得分,那么最后的候选肯定会落选N最佳的列表,因为添加该排序模型概率只会降低总的得分。
已观察到对于解码器608来说,排序阶段在复杂性和时间的意义上是成本最高的步骤。其复杂性随要排序的节点个数的阶增长。还要为每个可能的翻译选择的组合调用此步骤。因此,在一个示例性实施例中,使用一种贪婪排序策略,而不是上述的穷举排序步骤。贪婪排序的复杂性与在任何给定节点处的子节点个数呈线性关系。给定固定的前置和后置修饰词的计数,该排序模型能够独立于其它排序决策来评价单独的排序决策。随后,在解码中,在表1中所示的算法中考虑所有可能的排序的步骤被表2中所示的算法所取代。
表2


此“贪婪排序”仅仅展露所有可能的排序中非常小的子集。尽管这显著要快得多,但它不总是产生最佳的排序。
在另一个实施例中,通过减少需要尝试的翻译组合的个数来显著加快解码器608的速度。使用给定小树翻译对的翻译的数量是与未被该小树对覆盖的输入的子树个数成子树关系。一种解决方案是提供可变大小的N个最佳列表。这意味着根据当前小树中未被覆盖的子树的个数,翻译未被覆盖的子树的递归调用将限制所返回的N个最佳的列表的大小。如果某小树覆盖树非常少的部分,并要求若干次递归调用,那么那些调用返回较小的N个最佳的列表。以此方式,最易受指数放大影响的子树对将人为地降低指数的值。这还允许解码器彻底地探索那些很可能导致好的翻译的小树对——即,那些已翻译了许多树的小树对。
在一个示例性实施例中,N个最佳的列表中N的值是由种子值除以需要用递归调用解决的未被覆盖的节点的个数来决定的。该数字随即被四舍五入,从而没有小树对会获得为1的有效N值。已经发现,12是相对较佳的种子值,因为它导致衰退很快的级数,但能区别所关注的案例。在一个实施例中,已经发现使用可变大小的N个最佳的列表使得穷举解码器可能胜过贪婪解码器。
还发现通道模型得分和小树大小是高质量翻译的强大预测器。在搜索开始之前删除低得分的小树翻译对允许解码器花更多时间检查高质量小树对的组合和排序。可使用若干试探来进行删除,那些试探包括1.仅保留那些具有某阈值以上的最大似然估计概率的小树翻译对。0.01的截止据信是有用的。
2.给定一组与源小树同样的小树翻译对,仅保留那些最大似然估计概率在最佳对的某个比率之内的对。例如,仅最大似然估计概率不小于最佳最大似然估计概率的1/20的小树被保留。
3.仅保留具有同样输入节点的前N个小树翻译对,它们首先按大小,随后安最大似然估计通道模型的得分,然后按另一个模型的得分分级。据观察阈值N=3到5效果很好。
根据本发明的另一个实施例,解码器608并不实现为动态编程解码器,而是用A*搜索来实现。A*搜索技术是公知的,在ACL 2001Data-Driven MachineTranslation Workshop(数据驱动的机器翻译研讨会),Toulouse France,第55-62页(2001年7月)中Och等人的AN EFFICIENT A*SEARCH ALGORITHM FORSTATISTICAL MACHINE TRANSLATION(用于统计的机器翻译的有效A*搜索算法)。
在执行A*搜索中,公知翻译候选对于实际被解码的部分有实际的得分,而对尚未被翻译的其余候选有估计的得分。该估计得分是乐观的,从而一旦完成了某个候选,解码器即可进行相当严格的删剪。换言之,如果实际完成了一个候选,那么任何实际得分加估计得分总和少于所完成的候选的实际得分的未完成候选可被弃置。这是因为一旦完成了那些未完成的候选,则确保其实际得分小于或等于其乐观估计的得分,并因此少于已完成候选的得分。
在本发明的一个实施例中,A*解码器不是从底到顶或从顶到底搜索输入依存关系树。相反,它搜索组件604从小树翻译对数据库204提取的小树映射的空间(或匹配小树翻译对618),并将其标识为组件606从输入610创建的源语言依存关系树的匹配部分。例如,A*解码器会考虑图14B中所示的每个小树翻译对,并作出二进制的决策,是选择该翻译对还是不选。每个此类决策都代表搜索空间中的一个分支。
为了给A*解码器选中的每个候选计算实际得分,解码器对源依存关系树被所选小树翻译对覆盖的部分进行评分。每个候选的分数中估计的部分是通过将可引用模型应用到所有可能适用于源语言依存关系树的未被覆盖部分的小树翻译对来计算的。对于该模型,最高得分被用作该候选的估计得分。
例如,当对某候选应用协定模型时,该候选估计的协定模型得分是通过遍历所有列出的可覆盖源语言依存关系树的未被覆盖部分的小树翻译对618,及为所有这些小树翻译对的可能的组合计算协定模型得分而得出的。最高得分被选作该候选的估计得分中协定模型部分的乐观估计。对于该候选,为每个可应用的模型重复上述过程,来为该候选得出完整的估计得分。
所谓可应用模型,意指那些可应用评分的模型。例如,一直到已选定某节点的子节点的翻译,并且决定了这些子节点的顺序之后,才能计算该节点的排序模型得分。类似地,只有在获得完整的候选,从而可从依存关系树读完表面串时才可应用目标语言模型。因此,每个候选实际和估计部分的得分在说明上仅是基于通道模型和协议模型而得出的。
可以理解,此类A*搜索允许候选包括重叠的树,只要这些树彼此不矛盾。换言之,一个或多个节点重叠的两个小树翻译对将被考虑,只要这些节点不矛盾。
为更具体地描述A*搜索,我们从将所有小树翻译组装成单一的全局列表开始,该列表随即按若干需求度准则中的一个或多个排列。例如,这可以是小树的大小或通道模型的得分。随即初始化一个未完成的候选的队列以及另一个完成的候选的队列。每个候选包括以下成员1.匹配小树翻译对的全局列表中下一个要考虑的的小树翻译的位置。
2.在此候选中已选中的小树翻译组。
3.此候选所覆盖的输入节点的表示。
4.根据每个模型,对于每个候选的实际和乐观估计部分的得分。
在每个步骤,从未完成队列中提取最高得分的候选。在全局列表中,视每个候选中的下一个小树对指针所指示的为下一个小树翻译。如果不再有其它小树对,则丢弃该候选。
如果如以下所详述的,下一个小树翻译与已为此候选所选择的小树翻译不一致,则跳过它并考虑下一个。类似地,如果该小树是一致的,但没有向已选择的小树添加新的信息(即,它不覆盖任何新的输入节点),则也跳过它。
如果该小树翻译是一致的,并且覆盖新的节点,那么复制该候选,创建新的候选并将新的小树翻译添加到先前选中的小树组中,并加上最近所覆盖的输入节点的实际模型得分,并减去对那些节点的乐观估计。该新得分可经受一个或多个阈值的测试,如果它不能通过其中的任何一个,则弃置该候选。阈值测试的一个例子是,如果候选得分低于完成的候选队列中得分最低的候选,则可将其弃置。如果它通过阈值测试,但仍未覆盖全部的输入,则将其放回到未完成队列中。
如果新的候选如今覆盖了全部的输入,则合并重叠的小树,并探索与所选小树一致的所有可能的排序。对每个排序都计算排序模型和目标模型得分。选择产生最高组合排序和目标得分的排序。在此点上,候选得分不包括任何估计,相反是包括所有模型的实际得分,包括排序和目标模型。已完成候选随即被放到已完成队列中。
其时,原始候选表示搜索空间中的“未被选中”分支。它的下一个小树对指针和其估计的得分都被更新以反映未取选择。这具有加严对每个未取选择的估计,而不损失搜索的最优性的效果。较严的估计导致较好的删减,并因此导致较快的搜索。更新后的得分要经受一个或多个阈值测试,如果候选没有通过其中的任何一个,则将其弃置,否则基于其更新后的得分将其插回到未完成队列中。
该过程重复直至未完成队列为空,或已对搜索展开指定量的努力。
根据本发明的一个实施例,小树一致性的概念扩展到允许某些类型的重叠小树。考虑输入句子“Click the selected button.”。假设我们有对“click button”和“selected button”的翻译,它们在对“button”的翻译上是一致的。强制在这两个翻译之间进行选择而不是允许其翻译的优选双向地彼此加强是有害的。
但是,注意小树翻译可提供一对一、一对多、多对一、或多对多翻译和/或单词的插入或删除。在一个示例性实施例中,小树从训练时间起就保持节点层的对齐信息。每个小树翻译都分成成对的源和目标的最小翻译单元(MTU)的不相交的组,其中每个MTU对应于最小单位的对齐。因此,单词的插入和删除分别被建模为一对多和多对一的翻译。此外,因为小树是被排序的,所以每个小树节点都暗示其子节点间部分的排序。因此,如果两个小树翻译重叠的输入部分,它们在MTU的边界和内容两者上均一致,则认为这两个小树是一致的,并且,对于重叠中的每个目标节点,存在遵守每个小树翻译所暗示的部分排序的子节点的总排序。
根据本发明的一个实施例还应考虑另一个事项,即训练在对数线性框架中应用于模型得分的模型权重602的值。通常称为BLEU得分的度量是自动生成的得分,它试图根据某些参考译文对某解码器翻译一组句子的好坏进行估值。可使用称为最大BLEU训练的公知技术,作为为对数线性模型组合训练权重的具体方法。
在某个相对较高的层,最大BLEU算法更象多维函数优化方法般操作。选中某个方向,用线性搜索沿该方向将目标函数最大化。重复此直至目标函数不再产生进步。在一种当前技术的系统,ACL学报(2003)中Och的MINIMUM ERROR RATETRAINING AND STATISTICAL MACHINE TRANSLATION(最小误差率的训练和统计机器翻译)中,描述了一种直接优化目标函数(诸如BLEU等)的方法。此方法要求翻译系统为每个输入句子生成N最佳的列表,为每个翻译生成一组连续求值的模型得分,和某个目标函数。
一般而言,它的效果类似于顺序优化。例如,假设解码器中仅有两个模型,每一个都有一个权值λ1和λ2。上述涉及内容是通过保持两个权重之一不变,并沿另一个权重所有的值进行优化,并随即选取最优权重。
此方法的一个问题是,在沿着一个特定方向查看BLEU得分时,实际上获得了诸如图15中所示实线等阶越函数。此实线示意对于λ某个特定的非常窄的范围,在标号800所指明的λ值处BLEU得分最高。但是,如果选择波峰800对应值处的权值,则这将是相对不稳定的系统,因为波峰很窄。波峰800可能仅指示某个单个句子用该权值表现很好。但是,有宽得多的波峰802,它有不如波峰800处那样高的BLEU值,但仍趋向于指示整个范围的句子在该λ值处表现要好得多。
因此,根据本发明的一个实施例,在设定模型权值时,本发明使用如图15中虚线所示的BLEU得分的移动平均,而不是仅仅考虑如图15中实线所示的原始BLEU权重。使用平均窗口包括多个得分的移动平均,那么结果为图15中的虚线。这不仅考虑了阶越函数波峰的高度,还考虑了它们的宽度。因此,当查看BLEU得分的移动平均时,λ的值将设为更靠近与阶越函数的宽波峰802相关联的值,从而产生更稳定的系统。
尽管参考了若干特定实施例来描述本发明,本领域技术人员可以认识到,可在形式和细节上作改变而不会偏离本发明的精神和范围。
权利要求
1.一种用于将源语言文本片段翻译为目标语言文本片段的机器翻译系统,包括一解码器,它被配置成接收指示所述源语言文本片段中的句法依存关系的源语言依存关系树和多个匹配小树(treelet)翻译对作为输入,其中,每个匹配小树翻译对匹配所述源语言依存关系树的至少一部分,所述解码器被配置成基于所述源语言依存关系树和所述匹配小树翻译对,通过用统计模型的对数线性组合对所述匹配小树翻译对的目标语言部分的不同组合进行评分,来生成指示所述目标语言文本片段的目标语言依存关系树。
2.如权利要求1所述的机器翻译系统,其特征在于,所述解码器被配置成用具有多个不同大小的匹配小树翻译对来生成所述目标语言依存关系树。
3.如权利要求1所述的机器翻译系统,其特征在于,所述解码器被配置成用具有多个不同形状的匹配小树翻译对来生成所述目标语言依存关系树。
4.如权利要求3所述的机器翻译系统,其特征在于,所述解码器被配置成用具有多个不同分支配置的匹配小树翻译对来生成所述目标语言依存关系树。
5.如权利要求1所述的机器翻译系统,其特征在于,所述统计模型包括一排序模型,它统计地预测所述目标语言依存关系树的一给定层上的多个节点的次序。
6.如权利要求5所述的机器翻译系统,其特征在于,所述统计模型包括一通道模型。
7.如权利要求6所述的机器翻译系统,其特征在于,所述统计模型包括一协定模型,它在给定头节点的前提下,统计地预测所述目标语言依存关系树中的一个或多个依赖节点。
8.如权利要求1所述的机器翻译系统,其特征在于,还包括存储多个小树翻译对的小树翻译对数据库;以及被配置成从所述小树翻译对数据库中提取所述匹配小树翻译对的小树翻译对匹配组件。
9.如权利要求1所述的机器翻译系统,其特征在于,所述解码器将重叠的小树翻译对视为翻译假设。
10.如权利要求1所述的机器翻译系统,其特征在于,所述统计模型以若干权重加权,并且所述权重是以使用最大BLEU训练所生成的得分的移动平均来生成的。
11.一种将源语言文本片段翻译成目标语言文本片段的方法,包括接收指示所述源语言文本片段中的句法依存关系的源语言依存关系树和多个匹配小树翻译对作为输入,其中,每个匹配小树翻译对匹配所述源语言依存关系树的至少一部分;用统计模型的对数线性组合对所述匹配小树翻译对的目标语言部分的不同组合进行评分;以及基于所述源语言依存关系树、所述匹配小树翻译对和所述得分,生成指示所述目标语言文本片段的目标语言依存关系树。
12.如权利要求11所述的方法,其特征在于,所述评分包括用模型权重对所述统计模型所生成的得分进行加权,其中,所述模型权重是在一训练方法期间生成的,所述训练方法包括通过计算以所述模型权重的不同值来衡量翻译质量的翻译度量值,来执行多个顺序优化操作;以及基于所述翻译度量的移动平均值,选择所述模型权重的值。
13.一种存储计算机可读指令的计算机可读介质,当所述计算机可读指令由计算机执行时,使所述计算机执行以下步骤用统计模型的对数线性组合,对多个小树翻译对的目标语言部分的不同组合进行评分,所述多个小树翻译对的每一个都匹配指示源语言文本片段的源语言依存关系树的至少一部分;以及基于所述源语言依存关系树、所述多个小树翻译对和所述得分,生成指示目标语言文本片段的目标语言依存关系树,所述目标语言文本片段是所述源语言文本片段翻译到所述目标语言的译文。
14.一种用于生成目标语言依存关系结构的系统,所述系统包括语料库处理系统,它被配置成获取已对齐结构,在所述已对齐结构中,指示源语言训练数据文本片段的源语言依存关系结构中的词汇项与对应的训练数据目标语言文本片段中的词汇项对齐,所述对应的数据目标语言文本片段是所述源语言文本片段的译文;以及依存关系投影组件,它被配置成将依存关系从所述源语言依存关系结构中的词汇项投影到所述目标语言文本片段中的词汇项,以获取所述目标语言依存关系结构,
15.如权利要求14所述的系统,其特征在于,还包括训练数据语料库,它具有多对并行文本片段,每对并行文本片段包括一源语言文本片段和一对应的目标语言文本片段。
16.如权利要求14所述的系统,其特征在于,所述依存关系投影组件被配置成判定所述目标语言依存关系结构是否正确地指示所述目标语言文本片段,如果不是,则调整所述目标语言依存关系结构,以使它正确地指示所述目标语言文本片段。
17.如权利要求16所述的系统,其特征在于,所述依存关系投影组件被配置成通过读取所述目标语言依存关系结构来生成目标语言文本串,并判定所述目标语言文本串中的各个词汇项的顺序与它们出现在所述目标语言文本片段中的顺序是否不同,来判定所述目标语言依存关系结构是否正确地指示所述目标语言文本片段。
18.如权利要求17所述的系统,其特征在于,所述依存关系投影组件被配置成通过重新排列所述目标语言依存关系结构,直至从所述目标语言依存关系结构读取的所述目标语言文本串中各个词汇项的顺序和它们出现在所述目标语言文本片段中的顺序相同,来调整所述目标语言依存关系结构。
19.如权利要求18所述的系统,其特征在于,所述目标语言依存关系结构包括一目标语言依存关系树,并且其中,所述依存关系投影组件被配置成通过标识所述目标语言依存关系树中一乱序的节点,并将所标识的节点重新附加到所述目标语言依存关系树中最低层处,以使各个词汇项的顺序和它们出现在所述目标语言文本片段的顺序相同,来进行重新排列。
20.如权利要求14所述的系统,其特征在于,所述语料库处理系统包括语法分析器,它被配置成对所述源语言文本片段进行语法分析以获取源语言依存关系结构;分块器,它被配置成将目标语言文本片段分块成词汇项;以及对齐组件,它被配置成将所述源语言依存关系结构中的词汇项与所述目标语言文本片段中的词汇项对齐。
21.一种用于生成目标语言依存关系结构的计算机实现的方法,所述方法包括访问具有多对并行文本片段的训练数据语料库,每对并行文本片段包括一源语言文本片段和一对应的目标语言文本片段;获取对齐的结构,其中基于源语言文本片段生成的源语言依存关系结构中的各个词汇项与对应的目标语言文本片段中的词汇项对齐;以及将依存关系从所述源语言依存关系结构中的词汇项投影到所述目标语言文本片段中的词汇项,以获取所述目标语言依存关系结构。
22.如权利要求21所述的方法,其特征在于,所述投影包括当所述源语言依存关系结构中的一词汇项未与所述目标语言文本片段中的词汇项对齐时,则不将任何依存关系从所述源语言依存关系结构中的未对齐词汇项投影到所述目标语言文本片段。
23.如权利要求21所述的方法,其特征在于,所述源语言依存关系结构中的依存关系是在所述源语言依存关系结构中的第一和第二源词汇项之间,并且所述第一和第二源词汇项分别与所述目标语言文本片段中的第一和第二目标词汇项对齐,并且其中,所述投影包括将所述第一和第二源词汇项之间的依存关系与所述第一和第二目标词汇项对齐。
24.如权利要求21所述的方法,其特征在于,所述源语言依存关系结构中的一个词汇项与所述目标语言文本片段中的多个词汇项对齐,并且其中,所述投影包括为所述目标语言依存关系结构中的多个词汇项标识一个父节点;标识所述目标语言依存关系文本片段中的多个词汇项中最右的一个;分配所述最右的词汇项为依赖于所述父节点;以及分配所述目标语言文本片段中的多个词汇项中剩余的一个为依赖于所述最右的词汇项。
25.如权利要求21所述的方法,其特征在于,所述目标语言文本片段中的一个未对齐的词汇项不与所述源语言依存关系结构中的词汇项对齐,并且其中,所述投影包括标识位于离所述目标语言文本片段中未对齐词汇项最近的一个词汇项;以及分配所述未对齐的词汇项为依赖于所标识的词汇项。
26.如权利要求25所述的方法,其特征在于,所述标识包括标识所述目标语言文本片段中邻近所述未对齐词汇项的一组目标语言词汇项中的一个词汇项,所述一个词汇项在所述目标语言依存关系结构中最低;以及分配所述未对齐的词汇项为依赖于所标识的词汇项。
27.如权利要求21所述的方法,其特征在于,所述源语言依存关系结构中的多个词汇项与所述目标语言文本片段中的一个词汇项对齐,并且其中,所述投影包括标识所述源语言依存关系结构中多个词汇项中的一个词汇项,它在所述源语言依存关系结构中最高;以及将与所述源语言依存关系结构中多个项中所标识的一个项相关联的依存关系分配给所述目标语言文本片段中所述的一个词汇项。
28.一种标识小树翻译对以供在将源语言输入翻译成目标语言输出的机器翻译系统中使用的方法,所述方法包括访问已对齐的并行句法依存关系结构对的语料库,每一对都包括一具有表示词汇项的节点的源语言依存关系结构,所述节点与表示目标语言依存关系结构中的词汇项的节点对齐;枚举各个源节点和所述源语言依存关系结构中连通的源节点的组合,作为可能的源小树,所述源小树标识所述目标语言依存关系结构中与所枚举的节点和连通节点的组合对齐的词汇项和对应依存关系,作为对应于所述可能的源小树的可能的目标小树;从所述可能的源小树和可能的目标小树中提取构造良好的小树翻译对;以及将所述小树翻译对存储在数据存储中。
29.如权利要求28所述的方法,其特征在于,一个父节点的每个子节点都被视为与所述父节点的其它子节点连通。
30.如权利要求28所述的方法,其特征在于,所述源语言依存关系结构的每一个都表示一个源语言文本片段,并且其中,所述枚举包括枚举所述源语言依存关系结构中连通的部分,而无论所述连通部分是否表示所述源语言文本片段中不连续的单词组。
31.如权利要求28所述的方法,其特征在于,所述源语言依存关系结构包括源语言依存关系树,并且其中,所述枚举包括枚举表示所述源语言依存关系树中一个非线性分支的连通的节点组。
32.如权利要求28所述的方法,其特征在于,所述提取构造良好的小树翻译对包括仅当所述可能源小树中的各个词汇项仅与所述可能的目标小树中的各个词汇项对齐,并且所述可能目标小树中的各个词汇项仅与所述可能的源小树中的各个词汇项对齐时,提取所述可能的源小树和对应的可能的目标小树作为构造良好的小树翻译对。
33.一种用于从训练数据中标识小树翻译对,以供在将源语言输入翻译成目标语言输出的机器翻译系统中使用的系统,所述系统包括小树对提取器,它被配置成访问一已对齐的并行句法依存关系结构对的语料库,每一对都包括一具有表示词汇项的节点的源语言依存关系结构,所述节点与表示目标语言依存关系结构中的词汇项的节点对齐;以及所述小树对提取器还被配置成枚举源节点组作为可能的源小树,所述源节点组是所述源语言依存关系结构的连通部分。
34.一种存储计算机可读指令的计算机可读介质,当所述计算机可读指令由计算机执行时,使所述计算机执行一种标识小树翻译对,以供在将源语言输入翻译成目标语言输出的机器翻译系统中使用的方法,所述方法包括访问一已对齐的并行句法依存关系结构对的语料库,每一对都包括一具有表示词汇项的节点的源语言依存关系结构,所述节点与表示目标语言依存关系结构中的词汇项的节点对齐;枚举所述源语言依存关系结构中连通的源节点组,作为可能的源小树;以及从所述可能的源小树和对应的目标语言依存关系结构的已对齐部分中提取构造良好的小树翻译对。
35.一种供在机器翻译系统中使用的数据结构,所述数据结构包括多个小树翻译对,每一对都具有源语言部分和目标语言部分,所述源语言部分包括基于源文本片段的源语言句法依存关系结构的连通部分,所述目标语言部分具有与所述源语言部分中的词汇项和句法依存关系对齐的词汇项,所述源部分包括来自所述源语言句法依存关系结构中依赖于一共同父节点的多个子节点。
36.一种在给定源语言依存关系结构、以及所述源语言依存关系结构中的各个节点与目标语言依存关系结构中的各个节点之间的对齐的前提下,对所述目标语言依存关系结构的排序分配得分的方法,所述方法包括接收指示源语言文本片段的源语言依存关系结构和目标语言依存关系结构;以及向所述目标语言依存关系结构中直接依赖于一个父节点的各依赖节点的次序分配得分。
37.如权利要求36所述的方法,其特征在于,所述目标语言依存关系结构包括多个父节点,并且其中,向所述依赖节点的次序分配得分包括向直接依赖于所述目标语言依存关系结构中的多个父节点中的每一个的各依赖节点的次序分配得分。
38.如权利要求36所述的方法,其特征在于,所述目标语言依存关系结构包括多层目标语言依存关系树,并且其中,所述分配得分包括独立于所述多层目标语言依存关系树中的其它层上各节点的次序,向所述多层目标语言依存关系树中每一层上的依赖节点的次序分配得分;以及将每层的得分组合到一起以分配所述整个目标语言依存关系结构的排序的得分。
39.如权利要求38所述的方法,其特征在于,向每层上的依赖节点的次序分配得分包括在所述目标语言依存关系树的每层处,依次为每个节点分配得分;以及组合分配给每个节点的得分以向每层分配得分。
40.如权利要求39所述的方法,其特征在于,所述为每个节点分配得分包括为每个具有相对于所述父节点的位置偏移量的节点计算概率。
41.如权利要求39所述的方法,其特征在于,所述源语言依存关系结构具有与所述目标语言依存关系树中的各个节点对齐的节点,并且其中,所述为每个节点分配得分包括在给定所述源语言依存关系结构中与所述目标语言依存关系结构中所选节点对齐的一个节点是所述源语言依存关系结构中其父节点的前置或后置修饰词的前提下,计算所述目标语言依存关系树中的所选节点已转换成所述目标语言依存关系结构中其父节点的前置或后置修饰词的概率。
42.如权利要求41所述的方法,其特征在于,所述向每个节点分配得分包括为所述目标语言依存关系树中相对于同一层处其它节点,与其父节点具有给定接近程度的选定节点计算概率。
43.如权利要求41所述的方法,其特征在于,所述向每个节点分配得分包括分配指示所述目标语言依存关系树中一个选定节点是否应当相对于所述目标语言依存关系树中同一层上、并与所选节点有与所述父节点的相同修饰词关系的每一个其它节点转换次序位置的得分。
44.如权利要求36所述的方法,其特征在于,分配给所述目标语言依存关系结构的次序的得分是基于多个特征,所述特征包括以下一组特征中的至少一部分对应于所述依赖节点和所述父节点的目标单词、与所述目标单词对齐的源单词、所述源单词在所述源语言依存关系结构中的位置、以及每个所述源和目标单词的词性。
45.如权利要求36所述的方法,其特征在于,还包括学习基于一并行的已对齐依存关系结构的语料库向依赖节点的次序分配得分,其中,学习分配得分包括从所述语料库中已排序的目标语言依存关系结构中收集若干特征组;以及对所述特征组使用机器学习技术,以生成一用于在给定源语言依存关系结构和所述源和目标依存关系结构之间的对齐的前提下,向所述目标语言依存关系结构的排序分配得分的模型。
46.一种在给定源语言依存关系结构、以及所述源语言依存关系结构与目标语言依存关系结构的各个节点之间的对齐的前提下,向所述目标语言依存关系结构的排序分配得分的模型,所述模型包括排序模型,它被配置成在给定所述源语言依存关系结构中的多个源节点和所述源语言依存关系结构中的节点和所述目标语言依存关系结构的节点之间的对齐的前提下,向依赖于所述目标语言依存关系结构中的一个父节点的各个子节点的次序分配得分。
47.一种训练模型的方法,包括访问一并行的已对齐的源语言依存关系结构和目标语言依存关系结构的语料库;以及训练所述模型,以基于所述语料库中的一组特征,用机器学习系统向目标语言依存关系结构中的各个节点的排序分配得分。
全文摘要
在本发明的一个实施例中,一解码器接收依存关系树作为源语言输入,并访问产生结合在对数线性框架中的输出的一组统计模型。该解码器还访问小树(treelet)翻译对表,并基于源依存关系树、基于对小树翻译对表的访问、及基于对统计模型的应用,返回目标依存关系树。
文档编号G06F9/45GK1770107SQ20051010898
公开日2006年5月10日 申请日期2005年9月29日 优先权日2004年11月4日
发明者A·A·梅内泽斯, C·B·夸克, C·A·彻里 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1