CN101361065B - 分布式模型的编码和自适应、可扩展访问 - Google Patents

分布式模型的编码和自适应、可扩展访问 Download PDF

Info

Publication number
CN101361065B
CN101361065B CN2007800016864A CN200780001686A CN101361065B CN 101361065 B CN101361065 B CN 101361065B CN 2007800016864 A CN2007800016864 A CN 2007800016864A CN 200780001686 A CN200780001686 A CN 200780001686A CN 101361065 B CN101361065 B CN 101361065B
Authority
CN
China
Prior art keywords
translation
fragment
server
language
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN2007800016864A
Other languages
English (en)
Other versions
CN101361065A (zh
Inventor
弗朗茨·奥奇
杰弗里·迪安
托尔斯滕·布兰奇
亚历山大·弗兰兹
杰伊·彭特
徐鹏
沙-梅恩·特赫
杰弗里·奇恩
艾格纳西欧·塞耶
安顿·卡维尔
丹尼尔·罗萨特
约翰·霍金斯
卡雷尔·德列森
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of CN101361065A publication Critical patent/CN101361065A/zh
Application granted granted Critical
Publication of CN101361065B publication Critical patent/CN101361065B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/44Statistical methods, e.g. probability models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/47Machine-assisted translation, e.g. using translation memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/49Data-driven translation using very large corpora, e.g. the web
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/30Distributed recognition, e.g. in client-server systems, for mobile phones or network applications

Abstract

用于以自动机器处理的方式访问分布式模型的系统、方法和装置,包括使用在机器翻译、语音识别和其他应用中的大型语言模型。

Description

分布式模型的编码和自适应、可扩展访问
本申请要求以下两个美国专利申请的权益,并通过引用将其全部公开包括在此:
2006年2月17日提交的No.60/774,790,名称为“Encoding andAdaptive,Scalable Accessing of Distributed Models”;以及
2006年2月21日提交的No.60/775,570,名称为“Encoding andAdaptive,Scalable Accessing of Distributed Models”。
技术领域
本申请的说明书涉及机器处理,其使用诸如计算机之类的机器来执行诸如机器翻译的处理任务。
背景技术
机器(诸如计算机和基于计算机的机器)被广泛使用,以使各种处理任务自动化。由于计算机信息技术和通信技术的进步,正进一步使过去机器很难处理的某些任务自动化。语言翻译和语音识别是两个正被自动化的机器处理任务的示例。
可以用各种方式将一种人类语言或自然语言(源自然语言)翻译成另一种自然语言(目标自然语言)。某人可以通过首先阅读并理解源自然语言(例如,中文)文本,并接着用目标语言(例如,英语)写下对应的文本,来人工翻译源自然语言的文本。这样的人工翻译质量很高,但价格昂贵且速度较慢。机器翻译使用计算机和其他机器来使部分或全部翻译过程自动化,以降低翻译成本并加快翻译过程。基于规则的机器翻译和统计(statistical)机器翻译是机器翻译技术的两个示例。机器翻译系统可易于使用:用户将源自然语言的数字文档发送到机器翻译系统;系统处理该文档并生成目标自然语言的翻译后文档。机器翻译在广泛的应用范围中正得到越来越多的使用。例如,在很多计算机网络(例如因特网)上可取得提供机器翻译的资源,以允许轻松地访问不同自然语言的信息。
然而,机器翻译系统的翻译质量可能比人工翻译要差,并且有时机器翻译的文本可能是令人难以或者无法理解的。已经开发了包括统计机器翻译技术在内的各种机器翻译技术,以提高机器翻译的不同方面,诸如翻译质量和翻译速度。
发明内容
本说明书描述了分布式机器处理系统、技术、方法、和装置,将其实现以使用资源分区、复制、和负载平衡来访问大型模型并提供可扩展和自适应的处理。基于上述技术可构建各种分布式机器处理系统,包括机器翻译系统、语音识别系统、垃圾邮件检测系统、光学字符识别系统、拼写校正系统、实体检测系统、信息提取系统等。
在一个方面中,一种系统被描述为包括计算机数据服务器,每个计算机数据服务器都存储并可操作性地提供数据集合的分区。各个分区共同构成了数据集合,并且每个分区都小于数据集合。该系统还包括处理服务器,其可操作性地从数据服务器获取数据,并使用所获取的数据来处理输入并生成输出。可将系统实现为对每个数据服务器包括一个或多个副本(replica)数据服务器。在一个实现方式中,数据集合是关于目标语言的语言模型的数据。语言模型包括目标语言中的n元模型(n-gram),以及关于n元模型每一元的统计数据。n元模型可以包括N-元,其中N大于3。处理服务器是可操作性地使用从语言模型中获取的数据,将输入中的源语言的文本翻译成目标语言的翻译服务器。可用各种配置来实现处理服务器,例如:语音识别服务器,其可操作性地使用从语言模型中获取的数据将输入中的目标(源?)语言的人类语音转换为目标语言的文本;拼写校正服务器,其可操作性地使用从语言模型中获取的数据对输入中的目标语言的单词的拼写进行校正;或光学字符识别服务器,其可操作性地使用从语言模型中获取的数据对输入中的所接收的文档图像中的文本进行识别。
在另一个方面中,一种用于机器翻译的系统可包括机器翻译资源服务器,以及至少一个翻译服务器。为将源语言翻译成目标语言,每个机器翻译资源服务器存储并可操作性地提供机器翻译资源数据集合的分区。各个分区共同构成了机器翻译资源数据的集合,并且每个分区都小于机器翻译资源数据的集合。翻译服务器可操作性地接收待翻译成目标语言的源语言的源文本,并且还可操作性地从机器翻译资源服务器中获取机器翻译资源数据,并使用获取的机器翻译资源数据来将源文本翻译成目标语言。
在另一个方面中,一种用于机器翻译的系统可包括翻译服务器,其可操作性地通过从在源语言和目标语言之间进行翻译的翻译模型中获取翻译模型数据、以及从目标语言的语言模型中获取语言模型数据,来执行机器翻译。翻译服务器还可操作性地使用所获取的翻译模型数据和语言模型数据,将源语言的文本翻译成目标语言。翻译服务器包括:请求队列,其可操作性地存储关于为了翻译源语言的片段而要获取的语言模型数据的请求;以及片段翻译服务器缓存,其可操作性地存储由翻译服务器的请求而获取的语言模型数据。
在另一个方面中,一种用于机器翻译的方法可将把源语言翻译为目标语言的机器语言翻译资源数据集合分割为分区,每个分区都小于机器语言翻译资源数据的集合。分区被分别存储在不同的计算机服务器上。为执行从源语言到目标语言的翻译,运行机器翻译服务器来访问并使用在不同计算机服务器上的机器语言翻译资源数据的集合。
在另一个方面中,描述了一种方法,其通过使用在源语言和目标语言之间进行翻译的翻译模型和目标语言的语言模型,将文本从源语言机器翻译为目标语言。该方法包括:将翻译模型分区为不同数据的分区,其中每个翻译模型分区小于翻译模型;将翻译模型分区存储在不同的翻译模型服务器上;将语言模型分区为不同数据的语言模型分区,其中每个语言模型分区小于语言模型;将语言模型分区存储在不同的语言模型服务器上;监视翻译服务器的工作负载,每个翻译服务器都可操作性地使用翻译模型和语言模型将源语言的文本翻译为目标语言;基于工作负载,将待从源语言翻译为目标语言的文本的片段从翻译服务器分配到一个或多个选定翻译服务器;对于待翻译的各个片段中的每个片段,运行每个选定的翻译服务器来访问翻译模型服务器和语言模型服务器,以取得期望的翻译模型数据和语言模型数据;并且以及将来自选定翻译服务器的已翻译片段进行汇编,以生成翻译后的文本。
在另一个方面中,一种计算机实现的方法可包括:接收待翻译为目标语言的源语言的客户文档;将客户文档分割为片段,以翻译每个片段;以及访问不同语言模型服务器之中的至少一个。不同的语言模型服务器共同地存储目标语言的语言模型,用来检索与翻译一个片段相关的选定语言模型数据。每个语言模型服务器存储并可操作性地提供语言模型的分区。该方法还包括:使用检索到的选定语言模型数据,将片段翻译为目标语言。
在另一个方面中,一种用于机器翻译的方法可包括:使用机器翻译系统接收来自客户的源语言的文本,并将该文本翻译为目标语言。在机器翻译系统中的翻译包括:选择一部分文本以较低翻译质量进行翻译以生成初步翻译后的部分,同时以较高翻译质量翻译选定部分;将初步翻译后的部分传递给客户,同时继续以较高翻译质量翻译选定部分;并且在以较高翻译质量将选定部分翻译为第二翻译后的部分之后,将较高翻译质量的第二翻译后的部分传递给客户,以自动替代初步翻译后的部分。
在另一个方面中,一种用于机器翻译的系统可包括语言模型服务器、翻译模型服务器和翻译服务器。每个语言模型服务器存储并可操作性地提供关于目标语言的语言模型的分区。各个分区共同构成了全部语言模型。翻译模型服务器存储并可操作性地提供在目标语言和源语言之间进行翻译的翻译模型。翻译服务器可操作性地从翻译模型服务器中获取翻译模型数据,从语言模型服务器中获取语言模型数据,并基于获取的翻译模型数据和语言模型数据,将源语言的源文本翻译为目标语言。
在另一个方面中,一种机器翻译的系统可包括翻译服务器模块和翻译缓存。翻译服务器模块可操作性地从在源语言和目标语言之间进行翻译的翻译模型中获取翻译模型数据,以及从关于目标语言的语言模型中获取语言模型数据。翻译服务器模块还可操作性地使用获取的翻译模型数据和语言模型数据,将源语言的文本翻译成目标语言。翻译缓存选定符号(token)和片段的翻译。每个片段包括从源语言到目标语言的符号的组合。对于待翻译的片段,翻译服务器模块可操作性地在翻译缓存中查找合适的翻译,当存在合适的翻译时,其检索合适的翻译而无需进一步继续处理该片段,并且无需获取用于翻译该片段的翻译模型数据和语言模型数据。
在另一个方面中,一种用于运行机器翻译系统的方法可包括:将待从源语言翻译为目标语言的源文本分割为片段;在翻译缓存中查找每个片段,该翻译缓存存储选定的符号和片段从源语言到目标语言的翻译,每个片段包括符号的组合;当待翻译片段的合适翻译存在于翻译缓存中时,使用该片段的合适翻译而无需进一步继续处理该片段;当待翻译片段的合适翻译不存在于翻译缓存中时,运行翻译服务器以对在源语言和目标语言之间进行翻译的翻译模型以及关于目标语言的语言模型进行访问,以获取用于翻译该片段的期望的翻译模型数据和语言模型数据;并且运行翻译服务器,以使用期望的翻译模型数据和语言模型数据来翻译该片段。
在又一个方面中,一种用于机器翻译的片段翻译设备可包括解码器,其可操作性使用在源语言和目标语言之间进行翻译的翻译模型以及关于目标语言的语言模型,将包括源语言的一个或多个符号的片段翻译为目标语言的翻译后的片段。在该设备中包括片段翻译服务器缓存,用来存储为了翻译该片段而从语言模型中检索的数据,并且将所存储的数据提供给解码器。解码器可操作性地与语言模型服务器通信,以请求关于该片段可能翻译的N元模型每一元以及相关统计数据的信息进行请求,语言模型服务器可分别存储全部语言模型的不同分区。
可将本公开和其他实施例实现为一个或多个计算机程序产品,即为了由数据处理装置执行或者控制数据处理装置的运行而编码在计算机可读介质上的计算机程序指令的一个或多个模块。可实施特定实施例以实现一种或多种优点,例如提高机器翻译质量、加快翻译速度、增强系统的可扩展性、和增加用于处理对机器翻译的大量请求的能力。在附图和以下说明中阐述了上述系统、技术和装置的一个或多个实施例的细节。与上述系统、技术和装置相关的其它特征、方面、优点将从说明书、附图和权利要求书中变得明显。
附图说明
图1示出了分布式机器翻译(DMT)系统100,用分区、复制、和负载平衡的特定示例进行说明,这可以用本说明书中描述的分布式机器处理技术来实现。
图2示出了图1的分布式机器翻译系统100的一种实现方式。
图3A示出了翻译缓存,其可以被连接到图1或2所示类型的系统中的翻译前端,并且被其共享。
图3B示出了可在翻译缓存中使用的数据结构的示例。
图3C示出了翻译缓存操作的示范方法。
图4示出了可连接到负载平衡器的翻译缓存的示例。
图5示出了可由片段翻译服务器共享的片段翻译服务器缓存的示例。
图6示出了具有翻译解码器、LM查找请求队列、和本地缓存的片段翻译服务器的示例。
图7示出了翻译解码器的一个示范性操作。
图8示出了翻译解码器的处理步骤的示例。
图9A和9B示出了翻译解码器的替代性操作。
图10是具有高层缓存而没有低层缓存的片段翻译服务器的一个示范性处理流程的流程图。
图11A和11B示出了片段翻译服务器的另一示范性处理流程。
图12示出了分布式处理系统的示例,可将其配置为基于大型语言模型来提供语言处理功能。
图13示出了提供分布式处理的通信网络中的示例计算机系统。
在各个附图中的相同的标记数字和名称指示相同的元件。
具体实施方式
在本说明书中描述的自动机器处理技术和系统可被实现为利用大量资源来运行,以提高例如处理的质量和速度的处理性能。自动机器处理的示例包括机器翻译、语音识别、垃圾邮件检测、光学字符识别、拼写校正、实体检测、以及信息提取。为响应大量的自动处理请求,也可将上述自动机器处理技术和系统实现为具有足够的处理能力。在自动处理的这些和其他实现方式中,可使用分布式设计来实现系统资源或系统处理能力。
分区和复制是可用于实现分布式设计的技术的两种示例。
在分区中,将在自动处理系统中的特定项目分割或分区为不同的分区,分区物理上位于例如计算机的不同机器上。每个分区都小于整个项目,并且在一些实现方式中不同的分区可以彼此不同,而在另一些实现方式中可具有某种程度的重叠。例如,主要存储数据的数据库服务器或主要执行在自动处理系统中的一个或多个处理任务的处理服务器可以是被分区的项目。分区允许在系统中实现较大的项目,而不用受单个机器的能力的限制。不同的分区位于不同的机器之上,因此可对其分别访问。所以,在其他有益特性中,可使用分区来处理高负载,并允许可扩展性和可靠性。分区的大小和其他特性将根据特定自动处理系统中的需求和约束而改变。例如,可能很难在单个机器(例如数据库服务器)中存储大型数据库,或者可能使用单个昂贵的机器来存储大型数据库是不经济的。因此,可将大型数据库分区为多个较小的数据库分区,以使得多个选定的机器中的每个具有足够的存储器来存储每个数据库分区。对于访问数据库的客户,不同的机器可组成网络来以“虚拟”单个数据库的形式运行。类似地,也可将处理服务器分区为不同的分区处理服务器,其中每个分区处理服务器提供原处理服务器的处理功能的一部分,并且设计不同的分区处理服务器来分区绝大多数不同的处理功能。
复制是与分区不同的用于分布式设计的另一种技术。在复制中,将该系统中例如数据库服务器或处理服务器的特定项目复制或者克隆在一个或多个诸如计算机的副本机器上。每个副本可以与被复制的项目在功能和其他方面基本相同。可用复制来提高被复制项目的功能的可用性或能力,减少在访问被复制项目的功能时的等待时间或延迟,并为项目功能提供冗余。由于单个项目通常具有有限的能力,所以例如当同时做出来自客户的多个请求或不同请求的处理和服务在时间上有重叠时,复制使得被复制的项目的功能对这样的请求可用。在具有复制冗余的系统中,如果用于已复制项目的一个机器发生故障,可以使用于该项目的一个或多个其他复制机器可用来替代发生故障的机器,由此减少机器故障对系统所造成的影响。注意,复制的大小和其他特性将根据特定自动处理系统中的需求和约束而改变。例如,可以将使用频繁的数据库复制在不同的数据库服务器上。作为另一示例,可将处理服务器复制为一个或多个副本(replica)处理服务器,这些副本服务器可彼此并行的运行。与分区类似,可以将复制实现为对访问系统的客户来说是不可见的,因为对于访问数据库的客户,可以将复制同一处理服务器的不同机器组成网络来以“虚拟”单个处理服务器的方式运行。
当复制设计被实现时,可合并有负载平衡机制,以监视用于复制的不同机器的工作负载,并且基于工作负载来管理输入工作负载或将输入工作负载分配到不同的机器。根据特定自动处理系统的需求和约束,可以用不同的负载平衡策略来实现该负载平衡机制。作为一个示例,可实现负载平衡机制,以通过将新请求导向低负载运行的复制机器,来减少访问系统的已复制部分中的特定功能或信息片段的延迟。
负载平衡机制可扩展为管理不同机器的运行,这些不同机器相互之间并非是如上所述的完全一样的副本。例如,负载平衡机制还可管理存储不同语言模型的服务器。对另一示例,多个处理服务器(例如机器翻译服务器)可基于使用相同机器翻译方案的不同语言翻译资源(例如所有都是统计机器翻译(SMT)服务器)而运行。一些SMT服务器可以较低的速度生成高质量的翻译,而另一些则以较高的速度生成低质量的翻译。基于一种或多种考虑,例如质量和时间的需求和约束,可将负载平衡机制实现为控制客户文档的不同片段或者不同客户文档的翻译任务。在该示例中,尽管负载平衡机制的名字仍旧表示了一些“负载”平衡运行的含义,但是,该负载平衡机制也对不同机器的工作负载并不必要的事物进行平衡。所以,在本说明书中使用的术语“负载平衡”不限于平衡负载。而是将术语“负载平衡机制”、“负载平衡器”、和“负载平衡模块”、以及“负载平衡服务器”一般用于指示:管理和分配在不同机器上的通信流量、请求或任务,并同时将与机器的运行和情况相关的特定因素、请求或任务的特性、以及系统的其他部分的情况进行平衡的平衡机制。
在一些实现方式中,将负载平衡机制实施为与主要被设计用于与负载平衡机制不同的功能机器附接或与其通信的组件,或者在平衡机制可能处理到一些机器的大量流量的情况下,可将负载平衡机制实现为单个机器。另外,当需要时,用于本说明书的分布式机器处理的分区和复制可应用于具有不同机器的负载平衡机制,以使得将负载平衡机制分区或复制到不同机器上。
响应于特定系统的具体需求和约束或者系统的运行或情况,可以用自适应、动态、高效、容错、可扩展的方式,单独或组合地使用分区、复制和负载平衡,来构建、运行、和管理分布式机器处理。作为一个示例,,可将基于分区、复制、负载平衡机制的分布式机器处理和其他机制配置并实现为解决充满挑战性、不稳定、和动态的计算机网络环境中的自动处理中的各种问题。具体说来,可将本说明书中的自动机器处理技术和系统用于各种在线机器处理,诸如机器翻译、语音识别、垃圾邮件检测、光学字符识别、拼写校正等。
为了说明分布式机器处理中的各种技术、设备、设计、和控制,下述分布式机器处理的具体实现方式将机器翻译用作为自动机器处理的示例。
在一些实现方式中,基于分布式机器处理的机器翻译系统包括机器翻译资源服务器以及至少一个翻译服务器。为从源自然语言翻译成目标自然语言,每个机器翻译资源服务器存储并可操作性地提供机器翻译资源数据的集合的分区。各个分区共同构成了机器翻译资源数据的集合,并且各个分区的每个都小于机器翻译资源数据的整个集合。翻译服务器可操作性地接收待翻译为目标语言的源语言的源文本,并且还可操作性地从机器翻译资源服务器中获取机器翻译资源数据。接着,翻译服务器使用获取的机器翻译资源数据,将源文本翻译为目标语言。
作为这样的实现方式的示例,图1示出了分布式机器翻译(DMT)系统100。可以是计算机服务器的多个翻译前端110逻辑上彼此并行排列,并且被用于接收客户对于翻译客户文档102的请求,并且将翻译后的文档103传递给客户101。客户101可通过诸如因特网的计算机网络连接到DMT系统100。DMT系统100包括片段翻译服务器130,片段翻译服务器130从翻译资源服务器140中检索翻译资源数据,并且使用所检索的数据执行翻译任务。负载平衡服务器120连接在分段翻译服务器130和翻译前端110之间,用来监视、管理和控制在翻译前端110和片段翻译服务器130之间的交换和流量、以及翻译前端110和片段翻译服务器130的运行。负载平衡服务器120可以被复制到一个或多个副本负载平衡器服务器上。服务器130、120和110共同形成翻译服务器,该翻译服务器通过使用翻译资源服务器140和其副本141上的翻译资源数据来执行客户文档102的翻译。
翻译前端110彼此之间互为副本,并且彼此之间并行运行。片段翻译服务器130彼此之间也互为副本,并且并行运行。资源服务器140是分区服务器,其存储用于片段翻译服务器130执行翻译任务的全部翻译资源数据以及其他资源和信息的分区。将每个资源服务器140示为具有一个或多个副本资源服务器141。资源服务器140中的翻译资源数据以及其他资源和信息可包括:用于一种或多种不同目标自然语言的一个或多个语言模型,用于在一种或多种不同的源自然语言和一种或多种不同的目标自然语言之间进行翻译的一个或多个翻译模型,在一种或多种源自然语言和一种或多种目标自然语言之间的一个或多个音译(transliteration)字典以及其他字典。片段翻译服务器130可实现相同或不同的机器翻译解码方案,诸如基于规则的MT和统计MT解码器。
在运行中,每个翻译前端110接收待由系统100翻译的客户文档102,并且在从系统100的后端接收翻译后的客户文档103之后,将翻译后的客户文档103发送给客户101。一旦接收到客户文档102,接收翻译前端110将客户文档102分割为多个更小的片段,其中每个片段包括一个或多个符号。片段的一个示例是段落中的句子。在不同实现方式中,片段的内容可能不同,并且其范围可从几个词到多个句子。翻译前端110可将所有的片段导向到负载平衡器120,以将片段分配给片段翻译服务器130,并且片段翻译服务器130处理所分配的片段,并通过使用来自一个或多个资源服务器140的期望的翻译资源数据来翻译所分配的片段。接着,每个翻译后的片段通过负载平衡器120被发送回最初请求翻译前端110。在接收到所有返回的翻译后的片段之后,最初请求翻译前端110将翻译后的片段组合为翻译后的客户文档103,并且将翻译后的客户文档103发送给客户101。在一些实现方式中,翻译前端110可首先确定在系统100中是否可取得片段的合适翻译,并且将该翻译检索为翻译后的片段,而不用将该片段发送给负载平衡器120。可通过使用翻译缓存来实现该替代,并在本说明书的稍后部分中对其详细描述。
DMT系统100具有关于每个分区资源服务器140的副本服务器141。所以,可在资源服务器140和141以及片段翻译服务器130之间实现与负载平衡器120不同的附加负载平衡机制,作为后端负载平衡机制。在该后端负载平衡机制的一些实现方式中,每个片段翻译服务器130可包括作为服务器的一部分的片段负载平衡器,以控制、管理和分配从该片段翻译服务器130到资源服务器140和141的请求。全部片段负载平衡器一起构成后端负载平衡机制。在一些实现方式中,每个片段负载平衡器可以是分离的机器,并且如果需要,可以被复制或分区。
每种负载平衡机制(例如前端负载平衡器120和后端负载平衡机制)可包括监视机制,以监视在该负载平衡机制的运行中涉及的各种机器的活动、情况和运行。这可以用各种方式来实现。例如,可使用通信协议来提供对在负载平衡机制和每个被监视的机器之间的通信进行的监视。
图2示出了图1的分布式机器翻译系统100的一种实现方式200。该系统200使用统计机器翻译(SMT)技术,以基于源目标翻译模型和目标语言模型来执行从源自然语言到目标自然语言的翻译。在很多翻译应用中,源语言和目标语言可以是两种不同的自然语言,诸如中文和英语。在一些应用中,源语言和目标语言可以是同一自然语言的两种不同书写格式或表达,例如简体中文和繁体中文。使用计算机服务器210来存储目标语言模型,并使用计算机服务器220来存储源-目标翻译模型。在一些实现方式中,单个翻译模型服务器210可能足以存储和提供全部翻译模型。系统200中的服务器210和220是图1的系统100的资源服务器140和141的示例,并且翻译和语言模型是图1的系统100中的机器翻译资源数据的示例。在至少某些片段翻译服务器130中可实现SMT解码器,以通过使用在服务器210和220中的翻译和语言模型来执行每个片段的翻译。
在该系统200中,翻译模型包括在源语言和目标语言之间的映射信息以及与每个映射相关联的评分(scoring)信息。映射信息可包括在以下两者之间的关系:(1)源语言的一个或多个符号和(2)目标语言的一个或多个符号。在一个实现方式中,例如,源语言和目标语言之间的映射信息是在目标和源语言之间的语言串的所有可能配对。评分信息可包括关于在源语言和目标语言之间的每个映射的统计数据,诸如在目标和源语言之间的一对语言串的概率。也可将其他统计数据用作为评分信息的一部分。语言模型包括目标语言的可能语言串的集合,以及关于每个串的对应的语言模型评分信息。串包括一个或多个语言符号。符号是系统处理的最小的语言单位。每个串是n元模型,该n元模型是目标语言的n个符号的序列,其中n是正整数。可使用各种符号化技术来从包括语言中的发音符号和标点符号、字母、和字符的一个或多个记号和标志中构建符号。语言模型评分信息可包括关于语言模型中的每一个串或n元模型的统计数据。统计数据可包括与目标语言文本的语料库(corpus)中各个n元模型中的每一个的各自的发生频率相关的信息,诸如与目标语言文本的语料库中各个n元模型中的每一个的各自的发生频率相关的概率、平滑概率、或平滑系数。语言模型评分信息还可包括除统计数据以外的信息。
在运行中,片段翻译服务器130中的SMT解码器在接收到待解码的片段之后,首先从服务器220中的翻译模型中检索需要的信息,并接着基于来自翻译模型的信息而从语言模型210请求需要的数据。SMT解码器根据目标语言的符号的各种排列来计算所有可能翻译的统计,并搜索最佳翻译。各个片段翻译服务器130通过负载平衡器120将从SMT解码器输出的翻译发送给最初翻译前端服务器110。
通常可通过提高系统的翻译模型(TM)和语言模型(LM)中的一个或二者的大小来提高统计机器翻译(SMT)系统的翻译质量。因此,部分因为单个机器内受限的存储器容量,所以在实际实现中,系统200可能具有需要分区的大型翻译和语言模型。作为一个示例,英语的大型语言模型可从大约2000亿个词派生为8万亿个词,并且其大小从大约1T字节派生到4T字节。大型TM的数量级可能为2亿个单词左右或更大规模。随着更多文档变得在线可用,LM在大小上可以进一步增长。所以,分区通过使用分布式机器处理提供了对于高质量MT系统的有效方法。在基于大型语言和翻译模型的这种DMT系统和其他MT系统中,也可使用复制和负载平衡。
语言模型服务器210包括多个分区服务器,这些分区服务器存储和提供语言模型的不同分区。P+1个分区的示例如图2所示,其中P是整数。每个分区服务器存储并可操作性地提供关于目标语言的语言模型的分区,并且在这些分区服务器上的各个分区共同构成全部语言模型。各个分区服务器的每个都可以包括满足分区标准的语言模型中的所有n元模型。例如,各个分区服务器的每个可存储和提供分区,所述分区包括在预定位置具有共同符号的语言模型中的所有n元模型。对另一示例,各个分区服务器的每个可存储并提供具有共同符号的语言模型中的所有n元模型,该共同符号可能在每个n元模型的预定位置上,或可能是n个符号序列中的最后两个符号。n元模型中的符号可以是目标语言的文本单词或是目标语言的记号。另外,如图2所示,每个语言模型分区可以被复制到一个或多个其他副本服务器上。
与此类似,翻译模型服务器220包括多个分区服务器,所述分区服务器存储并提供翻译模型的不同分区。K+1个分区的示例如图2所示,其中K是整数。各个分区服务器共同构成了整个翻译模型,并且每个分区都小于整个翻译模型。另外,如图2所示,每个翻译模型分区可以被复制到一个或多个副本服务器上。
除了LM和TM服务器210和220以外,图2还示出了用于其他翻译资源和数据的一个或多个服务器230。本特征可以是进一步改进系统200的各种属性的可选特征。例如,可将一个片段翻译服务器130设计为使用服务器230中的其他翻译资源和数据,以利用或不利用基于语言和翻译模型的SMT处理对片段进行翻译。在图11A和11B中示出的实现方式是其中将使用其他资源和数据的翻译与使用语言和翻译模型的SMT处理的翻译合并在一起的一个这样的示例。用于其他翻译资源和数据的一个或多个服务器230的示例包括:在目标和源语言之间的音译字典服务器;基于规则的机器翻译服务器;音译处理服务器,其实现基于规则的算法以生成音译数据以及有助于从源语言翻译为目标语言的其他资源。
系统200是使用语言和翻译模型的MT系统的一个示例。该类系统可包括:语言模型服务器至少一个提供翻译模型的翻译模型服务器、以及翻译服务器,所述翻译服务器可操作性接收待翻译为目标语言的源语言的源文本。每个语言模型服务器存储并可操作性地提供关于目标自然语言的语言模型的分区,并且各个分区共同构成了全部语言模型。翻译服务器通过从翻译模型服务器中获取翻译模型数据,并从语言模型服务器中获取语言模型数据,而可操作性地执行机器翻译。
作为如图2所示的该类系统的具体示例,使用语言和翻译模型的MT系统可包括语言模型服务器210,其分别存储并可操作性地提供关于特定目标语言的语言模型的不同分区。各个分区共同构成了整个语言模型,并且每个分区都小于整个语言模型。对于每个语言模型服务器210,可包括一个或多个副本语言模型服务器。该系统还可包括翻译模型服务器220,翻译模型服务器220分别存储并可操作性地提供在目标语言和源语言之间进行翻译的翻译模型的不同分区。各个分区共同构成了整个翻译模型,并且每个分区都小于整个翻译模型。对于每个翻译模型服务器220,可包括一个或多个副本翻译模型服务器。可在系统200中提供翻译前端110以与客户进行接口,并且每个翻译前端110可操作性地将源文本分割为片段。该系统可包括片段翻译服务器130,每个片段翻译服务器130可操作性地通过从翻译模型服务器220和副本翻译模型服务器中获取翻译模型数据、从语言模型服务器210和副本语言模型服务器中获取语言模型数据来执行机器翻译。还可包括负载平衡模块120,并且基于片段翻译服务器130上的翻译负载,负载平衡模块120可操作性将片段选择性分配到一个或多个段翻译服务器130以进行翻译。
图2中的系统200还可包括在目标语言和第二源语言之间提供自动翻译的资源。对于在目标语言和第二源语言之间进行翻译的第二翻译模型,在系统200中可包括一个或多个翻译模型服务器。因此,包括多个第二翻译前端,并且其每个都可操作性地将第二源文本分割为第二源语言的片段;提供了多个第二片段翻译服务器,其每个执行第二源语言的所分配片段的机器翻译。基于在第二片段翻译服务器上的翻译负载,还包括第二负载平衡模块,以将该片段分配到一个或多个第二片段翻译服务器上进行翻译。可以由翻译源语言的片段翻译服务器130和翻译第二源语言的第二片段翻译服务器来共享存储和提供目标语言模型的语言模块服务器210。
在上述图1和2中示出的系统中,将待翻译的每个片段从系统的前端(翻译前端服务器110)导向到后端,以由片段翻译服务器130进行翻译,并且接着由后端再导向到前端。该过程涉及通过负载平衡器120进行的处理、通过片段翻译服务器130服务器210和220的访问、以及通过片段翻译服务器130执行翻译,并且将翻译后的片段路由回前端服务器110。该过程花费时间并使用系统中的资源。对于经常被翻译的片段,可将各个翻译存储在存储单元中,诸如可由翻译前端110访问的翻译缓存,从而可避免用于在系统后端翻译这样的片段的例行过程。在运行中,在翻译前端110处将客户文档102分段之后,翻译前端110首先在翻译缓存中查找已存储的翻译,并仅将在翻译缓存中没有翻译的片段发送到后端进行翻译。这种翻译缓存的使用释放了系统资源、减少了在MT系统的前端和后端之间的流量、并且对于提供大量翻译请求的MT系统(诸如用于流行网站的MT系统)来说是有益的。
图3A、3B和3C示出了翻译缓存的示范实现方式的特征。翻译缓存310存储选定片段的翻译,并且还可以存储符号和诸如比片段小但是比符号大的短语符号的串的翻译。图3A示出了翻译缓存310,其连接到图1或2的系统中的翻译前端110,并由该翻译前端110共享。可以使用翻译缓存310中的翻译来提供对片段的翻译,而不用经过片段翻译服务器上的例行机器翻译过程和负载平衡过程。所以,可实现翻译缓存310来减少翻译等待时间、释放翻译资源、并加速翻译过程。可以像诸如语言模型和翻译模型服务器的资源一样,对翻译缓存310进行分区或复制。翻译缓存310可存储不同种类的翻译,例如人工翻译和机器翻译。
图3B示出了可在翻译缓存310中使用的数据结构。一个或多个源语言仓320存储源语言的片段(S0、S1、S2等),并且一个或多个目标语言仓330存储目标语言的翻译后的段(T0、T1、T2等)。将源语言的片段和对应的目标语言的翻译后的片段链接以用于查找和访问。翻译缓存310还可包括其它与每个所缓存的翻译相关联的信息,诸如关于以下方面的信息:所存储的翻译的质量、翻译的时间戳、翻译已被使用的次数的计数、翻译上次被使用的时间等。可使用这样的信息来确定特定翻译对于待翻译的片段来说是否是合适的翻译。例如,可使用翻译缓存中的质量信息来选择具有期望质量水平的合适翻译。在一些应用中,可使用较低质量但易于获取的翻译后的片段来提供初步翻译,之后用较高质量的翻译来更新该初步翻译。翻译缓存310还可包括关于其中翻译在文档中出现的上下文的信息。例如,关于翻译后的片段的上下文信息可包括翻译后的片段的两侧的符号、短语、或片段。这样的上下文信息可帮助系统基于上下文中的翻译的可能意思来确定特定翻译是否是合适的翻译。上下文信息还可包括关于源语言的片段的上下文。
图3C示出了翻译缓存310运行的示范方法。该示例使用质量信息作为选择参数来说明运行。还可使用一个或多个其他参数(例如上下文信息)来为片段选择合适的翻译。翻译前端110接收待从源语言翻译为目标语言的客户文档102,并将文档102中的源文本分割为片段(步骤341)。接着,翻译前端110在翻译缓存中查找每个已分割的片段,以确定是否存在翻译(步骤342和343)。翻译缓存310存储选定符号和片段的从源语言到目标语言的翻译。对于在翻译缓存310中存在的翻译,翻译前端110还确定翻译的质量是否令人满意(步骤344)。这可以例如通过使用在翻译缓存310中存储的质量信息来完成。当在翻译缓存310中存在待翻译段的合适翻译时,翻译前端110使用该片段的合适翻译而无需进一步处理该片段(步骤346)。当在翻译缓存310中不存在待翻译的片段的合适翻译时,接着进一步处理和翻译该片段(步骤345)。可以通过例如以下步骤来获得该进一步处理:使用片段翻译服务器130访问用于在源语言和目标语言之间进行翻译的翻译模型以及关于目标语言的语言模型,以获取用于翻译该片段的期望的翻译模型数据和语言模型数据,并且使用期望的翻译模型数据和语言模型数据来翻译该片段。完成一个片段之后,翻译前端110移动至待处理的下一个片段,直到处理完所有的已分割的片段(步骤347和348)。
图4示出了翻译缓存310的不同实现方式。与图3A中的设计不同,在图4中的设计中,负载平衡器120与翻译缓存310交互。在运行中,在负载平衡器120从翻译前端110接收到用于翻译的片段之后,负载平衡器120在把任何接收到的片段分配到片段翻译服务器130之前,首先在翻译缓存310中查找关于每个接收到的片段的合适的已有翻译。当在翻译缓存310中找到关于特定片段的合适的已有翻译时,负载平衡器120从翻译缓存310检索该已有翻译,并将该翻译发送到相应发起翻译前端110,而无需将片段发送到片段翻译服务器130进行翻译。如果在翻译缓存310中没有不存在片段的对应翻译,则负载平衡器120将片段发送到选定的翻译服务器130以进行翻译。对每个翻译前端110而言,负载平衡器120的这方面的运行与图3中的运行类似。
使用存储在缓存中的翻译后的片段来减少MT系统中的处理和通信流量的这种概念可被扩展到MT系统的后端以由片段翻译服务器130访问。图5示出了由图1或2的片段翻译服务器130共享的片段翻译服务器缓存510的示范实现方式。一旦从负载平衡器120接收到待翻译的片段,片段翻译服务器130首先在片段翻译服务器缓存510中查找关于该片段的已有翻译。当在片段翻译服务器缓存510中找到合适的翻译时,片段翻译服务器130从片段翻译服务器缓存310中检索该翻译,并将该翻译发送到负载平衡器120,负载平衡器120将该翻译导向到相应发起翻译前端110,并移动以处理下一个待翻译的片段。如果在片段翻译服务器缓存510中不存在该片段的对应翻译,则片段翻译服务器130继续翻译该片段。
在上述MT系统中的片段翻译服务器130可包括:解码器,其通过使用在源语言和目标语言之间进行翻译的翻译模型以及关于目标语言的语言模型来翻译片段;以及本地缓存,其可操作性地将从语言模型检索到的数据进行存储,并将存储的数据提供给解码器。解码器与语言模型服务器210进行通信,以请求关于该片段的可能翻译的每个n元模型和相关统计数据的信息。
图6示出了具有翻译解码器610、LM查找请求队列620、和本地缓存630的片段翻译服务器130的示例。在该示例中的本地缓存630包括高层本地缓存631和可选的低层缓存632。高层缓存631和低层缓存632可以被用来存储选定的LM数据,以供片段翻译服务器130使用,而不用访问LM服务器210。高层缓存631可被配置为存储在翻译片段期间获得的选定的LM数据,以使得在片段翻译服务器130中可获得当前片段所需的所有n元模型。
在运行中,可以用某种方式来清空高层缓存631,以使得所存储的LM数据不会积累得超过某一界限。在一些实现方式中,片段翻译服务器130定期删除高层缓存631中的内容。作为此定期删除的具体示例,在翻译片段之后,可删除高层缓存631。在另一实现方式中,可将高层缓存631中所存储的LM数据标记为“old(旧)”,并且当高层缓存631没有空间存储从语言模型中获取的新LM数据时,如果在翻译新的片段时不再重复使用这类“old(旧)”数据,则可将其删除。
低层缓存632可被实现为片段翻译服务器130中的可选特征,用来存储频繁使用的LM数据。一般说来,在翻译每个片段之后不清空低层缓存632中的数据,且其被保留比高层缓存631中的数据更长的时间段。所以,低层缓存632中的LM数据相对长久,而高层缓存631中的LM数据相对短暂。
在其它实现方式中,可使用单个本地缓存,以具有分别对应于分离的高层缓存和低层缓存的高层缓存部分和低层缓存部分。
当处理片段时,可使用LM查找请求队列620来暂时存储来自解码器610生成的语言模式的对于选定LM数据的请求。接着将排队的请求向外发送到一个或多个LM服务器210,例如,按先入先出方式排序。LM查找队列620允许在不同时间做出请求并由LM服务器210对其进行服务,以减少解码器610的等待时间。并且,排队请求和发送排队的请求可共同显著减少与联系LM服务器210相关联的开销。本地缓存630和LM查找请求队列620可联合运行,以高效地处理每个片段。可用不同的技术来运行解码器610和队列620。以下描述两个示例。
在一个示例中,解码器610按两阶段(two-pass)处理方案运行。首先,在接收到请求的LM数据之前,解码器610对片段进行处理,而不需来自语言模型的所有需要的LM数据。可使用哑(dummy)查找模型,以允许解码器610在等待请求的LM数据时对片段进行处理。这是处理的第一阶段。在接收到所有请求的LM数据之后,然后解码器610使用接收到的LM数据来结束处理。
在另一示例中,当正在对到LM服务器210的请求进行服务时,解码器610可使用与LM服务器210中的大型语言模型不同的粗糙的、较小型的语言模型或其它翻译资源,例如图2中的资源服务器230。解码器610进行的处理使用粗糙LM并生成初步翻译结果。在从LM服务器210接收到请求的LM数据之后,解码器610接着通过使用接收到的LM数据来继续更新所述初步翻译结果。
在实现上述两个示例的技术中,在将对数据的请求向外发送到LM服务器210之前,解码器610可预处理待翻译的片段,以删除对该片段不太可能的翻译,从而减少对LM服务器210做出的请求的数量,并减少用请求的LM数据进行处理的量。在预处理中,解码器610使用与LM服务器210中的大型语言模型不同的、或相较LM服务器210更易取得的翻译资源,诸如粗糙的、较小型的语言模型来处理该片段,以生成初步结果,例如,关于对该片段的最佳可能翻译路径的上限(upperbound)。接下来,解码器610通过使用以上两种处理技术之一,利用初步结果来生成对所需LM数据的请求,并且在接收到对所有请求的响应之后,完成该片段的翻译。
图7示出了翻译片段701期间图6中的片段翻译服务器130的翻译解码器610的一个示范性运行。开始,解码器从TM服务器请求并检索与待翻译的片段的翻译相关联的TM数据,例如,所有可能的目标语言的短语或扩展部分的翻译(步骤710)。扩展部分通过可能由先前使用的短语给出的一个短语来扩展候选的翻译。当正在检索请求的TM数据时,解码器对将要从LM模型查找的每个n元模型的值设置为某个初始值,例如,随机值或恒定值。作为一个示例,可以将候选翻译设置为0(步骤720)。当处理每个片段中的不同的可能短语时,解码器进行短语迭代,以从该片段的一端到另一端搜索最佳的短语,在此期间,访问LM多次。在每次迭代中,解码器执行如下两阶段处理。首先,计算候选翻译的当前设置的所有可能扩展部分,以及对可能扩展部分的可能扩展翻译模型分值(步骤730)。在从LM服务器210接收到请求的LM数据之前,首先使用可用的信息来获取对可能扩展部分的语言模型分值(步骤740)。例如,可使用分配给哑查找表中的n元模型的预定值以及存储在本地缓存(包括高层缓存和低层缓存)之中的语言模型分值(步骤740)。这是处理该片段内的每个短语中的第一阶段。接着,通过使用从LM服务器接收到的语言模型数据,来更新所获取的可能短语的语言分值(步骤750)。这是处理每个短语中的第二阶段。基于更新的分值,解码器去掉具有较低分值的翻译(步骤760),并且进一步确定是否到达当前片段的末尾(步骤770)。如果当前片段仍有待处理的一个或多个扩展部分,则解码器重复上述过程。否则,解码器提取片段的最佳翻译,并将翻译后的片段702发送到负载平衡器120。
图8示出了在所请求的LM数据对解码器可用之前,图7中的处理步骤(步骤740)的示例。对于待翻译的片段的来自翻译模型的每个可能的短语或扩展部分,解码器首先在高层缓存中查找对每个可能翻译的目标语言中的任何可能n元模型及相关的统计数据(步骤810和820)。当该信息在高层缓存中可得时,解码器使用该信息完成翻译,以生成翻译后的片段(步骤830)。当该信息在高层缓存中不可得时,解码器接着查找低层缓存(步骤840和850)。如果该信息在低层缓存中存在,则解码器标记该状态(步骤860),并继续使用在高层缓存和低层缓存二者中的信息来完成翻译(步骤830)。当该信息在低层缓存中不存在时,解码器在LM查找请求队列中请求来自语言模型的数据(步骤870)。将接收到的LM数据放置在高层缓存和低层缓存之中(步骤880),并且完成翻译(步骤830)。
在翻译每个片段时的短语迭代期间,两阶段处理(图7的步骤730、740和750)可使用系统中的其他语言模型资源来执行初步翻译,并接着使用该语言模型来更新并最终完成翻译。例如,这样的语言模型资源的一个示例是第二语言模型,该第二语言模型比存储在语言模型服务器210上的语言模型要小。
片段翻译服务器130(图6)可以用其它配置运行。例如,图9A和9B示出了图6的系统的替代运行,其中在对片段进行翻译的过程中访问语言模型一次,并且片段翻译服务器130包括高层缓存631和低层缓存632两者作为本地缓存630的一部分。
在从负载平衡器120接收到待翻译的片段之后,片段翻译服务器130从存储在服务器220上的翻译模型请求并检索该片段的目标语言的所有可能的翻译(步骤910)。基于从翻译模型接收的可能翻译,片段翻译服务器130生成对于来自存储在语言模型服务器210上的语言模型的该片段的每个可能翻译的目标语言中的所有可能n元模型以及相关统计数据的请求(步骤920)。在将请求发送到语言模型服务器210之前,片段翻译服务器130首先搜索本地缓存630,以查看是否存在请求中的任何语言模型数据,并且如果本地缓存630不具有该数据,则将生成的请求发送到语言模型服务器210。首先,片段翻译服务器130在高层缓存631中查找对每个可能翻译的目标语言中的任何可能n元模型以及相关的统计数据(步骤930)。片段翻译服务器130查找高层缓存631,以确定是否存在所有可能的n元模型(步骤940)。如果存在,则片段翻译服务器130完成对该片段的翻译,而无需将生成的请求发送到语言模型服务器210(步骤950)。
否则,片段翻译服务器130执行额外处理(步骤960A)。对于用语言模型在高层缓存631中未发现的任何n元模型,片段翻译服务器130在低层缓存632中搜索语言模型数据(步骤961和962)。如果关于一个可能n元模型和统计数据的请求信息在低层缓存631中存在,则片段翻译服务器130标记关于该特定n元模型的该存在,从而相应生成的请求(步骤920)不会被向外发送到语言模型服务器210(步骤963)。另外,对于在高层缓存631中最初找到的n元模型,对此特定n元模型的请求也不会被向外发送到语言模型服务器210。如果片段翻译服务器130在两个缓存中都不能找到关于n元模型的任何信息,则然后将生成的请求放置在LM查找队列620中,并且向外发送给语言模型服务器210(步骤964)。根据各个n元模型的属性,将从语言模型服务器210接收的语言模型数据存储在一个缓存中(步骤965)。对于频繁使用的n元模型,可将其语言模型数据存储在低层缓存632中。对于在翻译当前片段中使用的、但是在目标语言中不大可能被频繁使用的n元模型,可将接收到的数据存储在经常被清空的高层缓存631中。此时,用于翻译该片段的所有可能n元模型的语言模型数据在本地缓存630中的某处。因此,片段翻译服务器130基于语言模型数据来完成该片段的翻译(步骤950)。
图10示出了仅具有高层缓存631而不具有低层缓存632的片段翻译服务器130的示范运行。初步处理(步骤1010到1040)与刚描述过的初步处理(步骤910到940)类似。如果在高层缓存631中找不到关于任何可能n元模型的语言模型数据,则然后生成的对该n元模型的请求被放置在LM查找队列620中,并且被向外发送给语言模型服务器210(步骤1060)。从语言模型服务器210接收到的语言模型数据被存储在高层缓存631中(步骤1070)。对其语言模型信息最初不在高层缓存631中的所有n元模型都执行将生成的请求放置在LM查找请求队列620中并将接收到的语言模型数据存储在高层缓存631中的这种处理。在接收到所有的所请求的语言模型数据之后,片段翻译服务器130基于语言模型数据来完成对该片段的翻译(步骤1050)。
图11A和11B示出了图6的系统中的片段翻译服务器的另一示范处理流程,其中在正在对队列620中的排队的请求进行服务的同时,片段翻译服务器130使用来自另一可用翻译资源的语言数据来处理对该片段的翻译。对每个待翻译的片段,片段翻译服务器130使用解码器610来从TM服务器220请求并且检索与待翻译的片段的翻译相关的TM数据,例如所有可能的目标语言的短语或扩展部分的翻译(步骤1110)。接着,片段翻译服务器130生成对于来自语言模型的每个可能翻译的目标语言中的所有可能n元模型以及相关统计数据的请求(步骤1120)。片段翻译服务器130确定所请求的LM数据是否在片段翻译服务器130中(步骤1130)。如果是,则片段翻译服务器130使用所获得的LM数据来执行翻译,以生成翻译后的片段(步骤1140)。如果该信息不在片段翻译服务器130中,则片段翻译服务器130将关于每个缺失的n元模型和统计数据的请求放置在LM查找请求队列620中(步骤1150),并在等待对请求的响应的同时继续处理翻译(步骤1160)。在此时间段期间,片段翻译服务器130使用来自另一可用翻译资源(例如图2的资源服务器230)的语言数据来处理对该片段的翻译(步骤1161)。片段翻译服务器130继续使用来自其他可用翻译资源的数据进行处理,直到获得所有请求的LM数据为止(步骤1162)。在接收到所有请求的LM数据之后,片段翻译服务器130使用来自LM服务器210的最新获得的数据来更新通过使用其他资源初步生成的处理结果,以生成最终翻译(步骤1163)。
在以下部分中提供对于自动机器翻译的上述各种特征和其它特征的进一步细节。
编码和访问分布式语言模型
本部分描述用于将文本和文档从一种自然语言(诸如中文)翻译为另一种自然语言(诸如英文)的MT系统的方面。可以使用这里的示例来解决在翻译过程期间如何高效处理所使用的大型语言模型以提供关于各种语言短语发生的频率的统计的问题。如果系统能够利用更大型的语言模型,诸如n大于3的n元模型,则通常可改进翻译的质量。
作为翻译处理的一部分,统计翻译系统需要关于各种单词、短语、或单词的序列在目标语言中发生的频率的顺序的信息。此信息被用来选择更易理解的目标语言翻译。通常通过计算在大型训练文档语料库中的单词序列发生的频率来收集语言模型信息。作为一个示例,收集这样的数据可产生以下信息:
(″is″,″the″,″only″,″person″)->发生9234次
(″is″,″the″,″only″,″person″,″that″)->发生173次
(″is″,″the″,″person″,″only″,″that″)->发生1次
其中左边的单词串表示各种可能的单词序列,而右边的数字表示在训练文档语料库中发生的次数。语言模型数据的一般形式可以是映射到值的单词序列,该值可以是任何的任意字节序列,并且在一些常见MT系统中,可以是整数或浮点数值。通过利用n元语言模型,可使用大型模型来保持长度达到n的所有单词序列的信息。多种机器翻译系统在其语言模型中使用n值相对较小的n元模型,例如2元语言模型或3元语言模型,以使得语言模型可足够小到存储在单个机器上。
此处描述的机器翻译技术可用于机器翻译系统和其他系统中的超大型翻译模型,该其他系统可以有利地使用大型语言模型,诸如自动语音识别系统。一种方法是在跨越多个机器的分布式语言模型服务器集上将语言模型数据进行分区,可能对每个语言模型状态的分区片段都进行复制。大型语言模型具有n大于3(例如,n=4,5,6等)的n元模型,并且可以被用于提高机器翻译的质量。图1和2示出了这样的系统的示例,其中语言模型可包括n大于3的大型n元模型。在运行中,一个或多个翻译服务器接收将特定文本片段从源语言翻译为特定目标语言的请求。通常,请求的粒度是单个句子。翻译服务器从语言模型服务器中检索合适的语言模型数据部分。从执行实际翻译工作的处理(例如图2中的片段翻译服务器130)到语言模型处理(例如图2中的LM服务器210)的网络远端过程调用(RPC)可用于请求和检索LM数据。
可使用离线处理来构建语言模型数据结构,其具有被分区为k个部分的各种(n-gram->value)关键字/值对。将n元模型进行分区通常是有用的,从而使得n元模型的值很可能是作为处理位于同一分区的相同或类似翻译请求的一部分所需的。这倾向于最小化翻译服务器所需访问的不同分区的数量。一种实现此的方法是通过n元模型中的第一或最后M个单词进行分区,例如由n元模型的最后两个单词进行分区。
在每个服务器内,对分区内的n元模型值的查找应当被配置为是高效的。这是因为翻译可能需要每个分区被用于每秒进行大量数十万次的查找。同时,紧凑地表示语言模型数据也是有用的,从而减少了需要保存语言模型的存储器的总量。因此,可减少分区的数量,并且也可减少需要提供语言模型的机器数量。
一种用于对n元模型数据进行编码的技术是对每个词分配一个唯一的整数ID,对更常用的单词分配较小的数。在语言模型的构建阶段期间进行该ID分配。考虑以下来自文档语料库的训练数据:
(″is″,″the″,″only″,″person″)->发生9234次
(″is″,″the″,″only″,″person″,″that″)->发生173次
(″is″,″the″,″person″,″only″,″that″)->发生1次
相同的数据可用ID数以以下简化形式来表示:
13  3  53    1037  ->9234
13  3  53    1037  73->173
13  3  1037  53    73->1
其中“13”是单词“is”的ID数,“3”对应“the”,“53”对应“only”,“1037”对应“person”,而“73”对应“that”。ID数的这种使用压缩了语言模型的数据的大小,并且对于超大型语言模型来说,效果可以变得显著。以下是被分组为一组块的语言模型的n元模型的示例,所述块以有序的次序示出了n元模型的序列和相关的值:
1388 >6        [Bob]
1388 2->5      [Bob</S>]
1388 3->3      [Bob,]
1388 32->6     [Bob,</S>]
1388  3  4->2             [Bob,the]
1388  3  4 11->3          [Bob,the″]
1388  3  4 11 2454->1     [Bob,the″grand]
1388  3  4 11 7379->1     [Bob,the″Father]
1388  3  4 11 20940->1    [Bob,the″sailor]
1388  3  4 11 38117->1    [Bob,the″Dude]
1388  3  4 53->3          [Bob,the more]
1388  3  4 53 587->1      [Bob,the more low]
其中,从左到右,是ID数、发生的次数、和对应的文本。
在一些实现方式中,语言模型数据在存储器中进行缓冲以添加到块中,直到看到所有的256个唯一的单词识别符,或者对该块的数据已经积累了n元模型的最大数量(例如,1024个n元模型的最大值)为止。本格式使用一词库,该词库将高达256个唯一的单词ID映射到范围为0到255的本地ID集合中。可以使用任何方便的方法对该词库进行编码。接着,根据本地ID将实际的n元模型数据进行编码。对特定n元模型的查找首先将期望的单词ID翻译为本地ID,并接着对本地ID的合适序列执行快速扫描,以找到正确的值。
如果给出块中的n元模型,则可以计算出由块中的所有n元模型所共享的共享前缀长度。在块中,将所有的条目分割成不同的n元模型长度,并根据本地ID进行重写。语言模型数据的实际块格式是:
shared__prefix_size:byte
value length:byte
#of entries in lexicon:varint32
N word ids(lexicon):N values
#entries table:pairs repeated each distinct n-gram length in the block
K             :byte
#of entries of length K:varint32
″0″         :byte(literal 0 marking end of table)
对于块中的每个不同长度的n元模型,上述数据块后面跟随有分离部分。共享前缀P的块的K元模型部分中的每个条目被表示为K-P字节的序列,以表示K元模型的尾部K-P个本地单词ID的后面跟随着作为“value_length”字节序列的值。
对每个块给定一个关键字,该关键字是存储在块中的最后一个n元模型的串表示。块内容被编码为sstable中的值,并且该关键字被用作为稳定的关键字。这确保了查找。此处是一示例:
Shared prefix length:1
Length of values in this block:1
Lex:1388 2 3 4 11 2454 7379 20940 38117 53 587
nwords:<1,1>
nwords:<2,2>
nwords:<3,2>
nwords:<4,2>
nwords:<5,5>
″0″
1-gram section:
:6
2-gram section:
:5
:3
3-gram section:
[002 001]:6
[002 003]:2
4-gram section:
[002 003 004]:3
[002 003 009]:3
5-gram section:
[002 003 004 005]:1
[002 003 004 006]:1
[002 003 004 007]:1
[002 003 004 008]:1
[002 003 009 010]:1
在找不到更长的n元模型的情况下,使用机器翻译的语言模型经常需要系统查找较短的n元模型。较短的n元模型可用于退避(backoff)和平滑。可通过将单词从一端(n元模型的前端或末端)进行剥离来生成更短的n元模型。作为一个示例,请求机器翻译的客户可能要求序列“A B C D E”,并且要求从序列的前端进行剥离,其中每个字母代表一个单词。如果在服务器上未找到完整的n元模型,则客户需要序列″B CD E″。如果这个较短的序列仍然未找到,则需要甚至更短的序列″C DE″,等等。最短的序列是“E”,如果不能找到比其更长的序列的话。为了进行高效的搜索,可利用其最后一个单词将n元模型分区。在上述示例中,可以将所有以“E”结尾的n元模型分组为同一分区,并存储在同一机器上。这样,可在单个服务器上对较短的n元模型的进行退避,而不用对不同的服务器做出新的请求。
用最后一个单词进行分区可能导致非常不平衡的分区。通过基于最后两个单词或甚至长度为S的更长序列进行分区,可增进平衡。为了确保那个较短的n元模型在同一服务器上,可在所有的分区上复制单元模型(unigram)(或长度S-1和更短的序列)。在所有分区上复制较短的n元模型的替代是在需要长度为S-1或更短的n元模型的情况下发出第二次请求。
通过将对语言模型的质量仅有最小影响的特定条目从语言模型中去除,可以显著减少语言模型的大小,并且分区的大小可以变得更加均匀。一种方法是将末尾是频繁使用的较短n元模型的较长n元模型进行去除。例如,假设“D E”是频繁使用的2元模型。则可去除所有以“D E”结尾的4元和5元模型(例如,n元模型“A B C D E”),而仅保持3元模型(例如,“C D E”)。模型可存储具有“C D E”的标记,或采用其他手段来通知已去除特定的n元模型。
在一些语言模型的实现方式中,客户代码使用允许请求特定n元模型的值的简单接口。在内部,存储语言模型数据的客户库决定所请求的n元模型驻留的分区,并对要发送到该分区的n元模型的请求进行排队。当排队的请求的数量超过阈值时,大部分查找请求被发送到负责该分区的服务器。客户机可使用用户级“Wait()”操作,以强制将所有待定的查找都发送到合适的服务器。在返回到调用者之前,该操作一直等待到这些都完成。
片段翻译服务器(客户库位于其中)也可实现简单的基于哈希表的n元模型->值映射的缓存,避免了为了经常需要的n元模型而与语言模型服务器进行通信的需要。该缓存的一个示例是低层缓存632(图6)。由于很难确定特定翻译迭代所需的n元模型值的集合,所以可将翻译系统构建为以两个阶段来运行每次迭代。第一阶段是用哑语言模型来运行,该哑语言模型对被查找的每个n元模型返回恒定值(或不返回值、或随机值),但是也用语言模型服务器使查找排队,以取得真正的n元模型的值。首先用哑语言模型运行翻译迭代,接着调用“Wait()”以确保完成所有的待定语言模型查找。在这点上,所有的语言模型值在翻译服务器自身的内部都可用,所以用真正的语言模型再次运行翻译处理,并且使用来自分布式语言模型的值来确定哪个候选翻译在下次迭代中值得考虑。可使用第二缓存(例如高层缓存631(图6))来跟踪为翻译特定句子而请求的所有n元模型,并且确保当正处理该句子时,该概率是可用的。翻译器用信号通知句子的结束,在此时清空高层缓存。
在一些实现方式中,哑语言模型可使用单个服务器上的小型非分布式语言模型作为粗糙LM,以在等待提供LM数据的时间段期间对翻译进行处理或者在请求LM数据之前对翻译进行处理,并且基于使用粗糙LM的初步翻译结果来生成请求。在一些实现方式中,哑语言模型通过例如存储存在于分布式语言模型中的每个单词的最高概率而返回概率的上限而不是实际概率,以生成单词。为了允许对语言模型的高效访问,将从分布式语言模型请求概率的次数维持得较小,以减少访问和搜索时间。所以,如果在翻译搜索处理中的给定点,系统知道某个假设扩展部分需要语言模型概率,但是如果语言模型概率小于X,则删除该假设扩展部分,于是实际返回概率上限的哑语言模型使得可以对到分布式语言模型的请求进行删除。
可以以不同的粒度等级来实现每次解码器迭代的两阶段语言模型访问,并可将其集成进不同的搜索结构。例如,可在每次片段翻译进行一次两阶段处理。在一些情形中,在第一阶段期间,用哑语言模型来完全翻译句子。第一阶段可生成搜索空间的有效删除后的表示。然后,第二阶段使用从分布式语言模型请求的概率对搜索空间的表示重新评分。在另一示例中,可在片段的翻译期间执行多次两阶段处理。对于通过由添加可能扩展部分的有限集合而迭代地扩展假设集合中的每个假设从而构造搜索空间的解码器,可以在每当扩展假设集合时发出哑请求。
在已分区的系统中,不同的分区服务器可具有不同的处理速度。于是,可在不同的时点返回向不同机器请求的语言模型。在片段翻译服务器中使用的Wait()操作必须等候最慢的分区。如果该最慢的机器具有不能被快速校正的问题(例如断电或网络问题),则等待时间将会延长并令人不可接受。一种处理该问题的方法是具有用于Wait()的超时,并返回概率估计,例如由哑语言模型或不同的小型存储器内的语言模型所分配的概率。另一种减轻该问题的方法是在不同的机器上将相同的语言模型分区复制多次,以使得在该分区的最初服务器超时之后,可用不同的副本来获取语言模型数据。另外,可将请求同时发送给语言模型的同一分区的所有不同副本,并且选择最先返回的数据用于翻译。
在翻译服务器中的Wait()调用可用来实现对于不同服务器翻译同一段的请求的同步。一种减少等待时间的方法是将语言模型请求的不同迭代进行交织。所以,系统不用语言模型概率就可对假设进行评分或可使用分值的估计,而不是在返回所有的概率之前一直等待,并且系统可以在语言模型概率到达时立即更新假设的分值。在这种运行模式中,每个语言模型概率请求应当存储指向所需要的搜索假设的指针,或者每个翻译假设应具有指向缺失的语言模型概率的指针。在该变体中,居中的假设分值常常是近似的。一旦需要精确的分值,则应当发出Wait()。
翻译服务器(例如片段翻译服务器)可被配置为保存n元模型历史的记录,并接着估计所根据的n元模型的不同延续。例如,历史可能是“A B C D”,接着所研究的延续可能是“A B C D E”、“A B C D F”等。语言模型客户用整数来表示这些历史,并且在句子的开始或者其他翻译单元中开始列举它们。与所有可能的n元模型(1020和更多)相对,翻译单个句子通常需要相对较小数量的不同历史,例如数千或数百万,所以对整数来说只要几个字节就足够了。可使用该技术来使得翻译机的行为独立于历史的长度,并且由于历史可能会变长,所以该技术还可节省存储空间。客户可使用哈希函数在整数和历史之间进行映射,可使用整数作为进入n元模型阵列的索引,或使用其他方式来保持历史记录。
以自适应和可扩展方式进行的机器翻译
可由大量用户(诸如因特网上的用户)访问的翻译系统可能在不同时间经历不同的负载量。例如请求数量的变化、请求难度的变化、对不同语言对的请求的比例的变化等可造成这样的变化。本部分描述了为解决由系统中的这些或其他变化所造成的负载量的变化并减轻服务质量的劣化,在自动机器翻译系统中的特征。
为了扩大自动翻译系统的容量,系统的底层翻译技术应当能够在翻译速度和翻译质量之间的不同权衡点上运行,并且整个系统应当能够适应负载的变化。例如,可将系统配置为以高翻译质量、低处理速度(例如10个单词/秒)翻译;以中等翻译质量、中等处理速度(例如20个单词/秒)翻译;或以低翻译质量、高处理速度(例如100个单词/秒)翻译或者短语对短语或单词对单词的译注来进行翻译。为了获得高质量翻译,翻译服务器或引擎(例如片段翻译服务器130(图2))可能需要多个其它后端或用于提供翻译服务器或引擎在翻译过程中使用的信息的服务器。示例包括翻译短语字典服务器、语言模型服务器、音译服务器等。从这些后端资源获取信息要花费一定量的时间。在一些低质量翻译模型中,翻译服务器可跳过这些后端资源中的某些的使用,从而以降低翻译质量为代价来减少翻译时间。
例如,翻译服务器可跳过音译资源的使用,并以其他方式来处理应当被音译的单词,例如忽略该单词、或者将原始单词保留在翻译之中。另一示例是跳过语言模型的使用,并仅使用其他翻译信息(例如短语表和重新排序概率)来导出翻译。翻译服务器还可选择对语言模型做出更少的请求而不是完全跳过组件,从而减少通信量并加快翻译。所以,翻译服务器可决定从语言模型仅请求3元模型或4元模型而不是5元模型。可以通过将前端翻译服务器和各种后端服务器二者上的计算并行化,减少所有质量水平的端到端等待时间,在等待诸如LM服务器的后端资源服务器期间,翻译服务器可执行不依赖于后端结果的计算部分。通过在后端资源服务器(例如LM服务器)的等待时间内,并行进行前端计算,后端的等待时间不会对整体的翻译等待时间造成影响,除非后端服务器的等待时间比在本地计算上花费的时间要长。可通过将跨越多个物理机器的数据进行分区来减少后端等待时间本身,翻译服务器将该多个物理机器作为单个虚拟服务器来访问。
相反地,一个已分区的虚拟服务器可提供多个后端数据资源。例如,翻译系统可具有在不同数据资源上受训的多个基于短语的翻译词典。由单个已分区的虚拟服务器来提供这些多个模型,并且将其在翻译引擎的客户侧上重新分区。这允许从单个已分区的服务器提供复杂的多部分翻译模型。
为了减少翻译处理,自动机器翻译系统可包括用于存储翻译后文本和文档部分的缓存。文档部分可以是单词、短语、句子片段、句子、段落、整个文本/文档等。如图3B所示,缓存可将源语言部分映射到一个或多个目标语言部分。利用关于其翻译质量水平的信息来标记每个目标语言部分。这样,缓存可包含不同翻译质量水平的翻译。缓存还可包含由人类进行的人工翻译,其通常具有较高的翻译质量水平并且是在独立过程中取得的。
自动机器翻译系统可包括:翻译前端的已复制集合,例如翻译前端翻译服务器110(图1和2);负载平衡组件,例如负载平衡器120(图1和2);翻译缓存,例如翻译缓存(图3A、4、或5);翻译引擎,例如片段翻译服务器130(图1和2);以及翻译引擎后端,例如语言模型服务器、翻译短语字典服务器、和音译服务器。前端接收文本或文档翻译请求。将待翻译的文本或文档分割为部分或片段。可在翻译缓存中查找片段的翻译,该翻译缓存可输出特定翻译质量的翻译。如果在缓存中不存在翻译或者质量水平不足够高,则将对片段进行翻译的请求传达到负载平衡组件。负载平衡组件维护关于整个系统负载和片段翻译服务器的负载的某些信息。使用该信息以及关于可用容量的信息,负载平衡组件应用负载平衡策略,以确定如何处理部分翻译请求。如果负载水平足够高,则可使用来自缓存的低质量翻译,或者可将待翻译的片段发送到翻译后端,以特定的质量水平进行翻译。负载平衡逻辑还可以考虑其它因素。例如,可用较高质量水平对取自位于网页上部或者文档的前部的部分的片段(用户对其会更加关注)进行翻译。并且,可对这些部分给与较高的优先级,以使得首先对其进行翻译,并且可将待翻译网页或其他文档的第一部分尽快返回给用户。
另外,可将自动机器翻译系统设计为对网页或文档的某些部分(例如网页下部的文本)快速生成较低质量的翻译,并将翻译后的内容传递给用户,同时在后台处理网页或文档的同一部分,以进行较高质量的翻译。当可获得更高质量的翻译时,系统可将已传递给用户的较低质量的翻译用更高质量的翻译进行替换。当在后台生成更高质量的翻译时,可以以动态方式来部分或全部替换先前翻译的页面。这可以通过不同机制来进行,包括使用诸如JavaScript的客户侧脚本语言来更换已经发送给客户计算机的翻译后的文档。
可用多种方式来确定要以较高质量翻译的网页或文档内的部分或节。一种策略是将文档的开头部分以高质量进行翻译,因为用户很可能会仔细检查该部分,或者该部分可能是用户仅会阅读的部分。另一策略是基于文档结构或HTML标记(例如部分的标题、更大字体的部分、或者每个段落中的主题句)来确定网页或文档的区域的重要性。
例如翻译前端服务器130(图1或2)的系统将翻译后的片段进行组合,以形成返回给请求者的翻译后的文本或文档。在对应于图1并用翻译缓存实现的系统中,具有不同质量水平的翻译的翻译缓存如何与负载平衡器120进行交互可能存在变型。例如,可把系统设计为在缓存中查找每个片段,将所有的片段都发送给负载平衡器,并由负载平衡器来确定是否使用该缓存条目或是否将该片段发送给翻译引擎。替代地,可把系统设计为仅将某些片段发送给负载平衡器。可以存在多种负载平衡策略。在系统中可以存在多于一种类型的翻译引擎(例如片段翻译服务器130),并且这对负载平衡提供了额外的灵活性。例如,可使用具有低翻译质量的快速片段翻译服务器和具有高翻译质量的低速片段翻译服务器。
在自动机器翻译系统中组合人工和自动翻译
本部分描述了在自动机器翻译系统中组合人工翻译和自动翻译,以提供各种翻译选项的技术。可使用以下过程来构建用于人工翻译的数字库,并在自动机器翻译期间使用该库。可使用在本申请中描述的系统来实施这些特征。其他MT系统也可实施这些特征。
首先,对用户请求进行机器翻译的大范围文档进行分析,以确定哪些翻译将由人工执行。该过程可包括分析先前翻译后的文档,以确定所分析的文档中的哪些部分频繁出现,并且这些频繁使用的部分可以被作为人工翻译的候选。所分析的文档中的部分可包括:单词、短语、句子、段落、嵌入文档、嵌入网页等。另外,还可对所分析的文档的内容和其他特征进行分析,以确定人工翻译的附加候选。示例包括报纸的大字标题、文章中的标题和副标题、来自网络搜索的频繁使用的单词和短语、以及来自网页的重要导航短语。
第二,获取人工翻译的已确定的候选的人工翻译,并且将人工翻译存储在翻译数据库中,例如,如图3A、4和5所示的翻译缓存中。然后,可在自动机器翻译系统中使用该人工翻译的数据库。可将每个存储的人工翻译标记为高翻译质量,以使得系统(例如图1或2的系统)可使用质量标记来选择片段的翻译。
自动机器翻译系统中的人工翻译的数据库可被更新或修改。可通过从运行中的机器翻译系统获取的信息中,自动导出由人来对附加材料进行翻译的请求。例如,关于机器翻译活动的系统统计数据可被用于提取关于频繁翻译的文本部分的信息以及可确定需要人工翻译的文本部分的其他信息。系统可定期或持续地监视这样的系统统计数据,以生成需要人工翻译的最新确定的文本部分的列表。获取最新确定的文本部分的人工翻译,以更新人工翻译的现有数据库。
获取所确定的文本部分的人工翻译的过程包括在网络或其他在线仓库上人工或自动搜索已有的翻译。可检索这样的已有翻译,并将其显示给请求翻译的客户,而不用使用系统的翻译资源来生成翻译。例如,可以获得以数种语言的同一突发新闻,系统可使用目标语言的新闻报道来获取翻译。并且,公司和组织可使得以数种语言的同一信息在线可用,并且可由系统对这样的在线文档进行搜索以获取已有的翻译。
某些人工翻译可能仅在特定上下文中合适。例如,可能“home(主页)”的特定翻译对具有到网站主页的链接标记的网页才有意义。人工翻译数据库可包括该类型的信息,并且翻译系统在翻译网页期间使用该信息。在一些实现方式中,用户可提供用于特定翻译请求的特定翻译数据库。
机器翻译之外的自动处理系统中的分布式模型的应用
用于基于分区、复制和负载平衡、以访问大型模型并提供可扩展和自适应处理的自动机器翻译的上述和其他的分布式系统设计可被应用于机器翻译之外的其他自动处理系统。也可在自动语音识别、垃圾邮件检测、光学字符识别、拼写校正以及其他自动语言处理应用中使用大型语言模型。例如图1、2、3A、3B、4、5和6所示的系统的用于上述机器翻译的系统可适于实现除机器翻译之外的自动处理。
例如,可基于上述系统设计来构建用于将文档图像转换为文本的光学字符识别(OCR)系统,其中可使用字符的语言模型来替换机器翻译中的单词的语言模型;自动拼写校正系统可使用语言模型来高效地寻找遵循特定n元模型的最可能的单词,并校正单词的拼写。另外,自动语音识别系统可使用语言模型来预测单词的概率以及在发音词典的真实表示中的节点(node)的概率的上限,并将接收到的语音翻译为语音内容的文本。另外,在垃圾邮件过滤应用中,可使用大型语言模型来基于电子邮件的内容对电子邮件进行过滤。在这些和其他自动语言处理应用中,可实施分区和复制,以提供对不能置于单个机器之内的大型语言模型进行访问,并且以可扩展和自适应的方式来处理大量请求。
图12示出了分布式处理系统1200的示例,其可被配置为基于大型语言模型来提供语言处理功能。系统1200的处理功能可以与机器翻译不同。该系统1200包括大型语言模型,该大型语言模型在多个语言模型服务器1240上被分区和复制。系统1200还包括:多个前端1210,用来传送输入1201和输出1202;以及多个处理服务器1230,用来处理输入1201并生成输出1202。在接收到输入1201之后,每个前端1210将输入1201分割为片段,以由处理服务器1230进行处理。负载平衡器1220基于处理服务器1230上的工作负载来管理去往不同处理服务器1230的工作流。每个处理服务器1230可操作性地访问LM服务器1240以获取LM数据,并在处理输入1201的期间,使用所获取的LM数据。该系统1200可以是语音识别系统,其中每个处理服务器1230是语音识别服务器。输入1201是来自人的输入语音,并由语音识别服务器1230使用LM数据进行处理。输出1202是输入语音1201的录音脚本的文本。还可将处理服务器1230实施为:用于OCR应用的OCR服务器、用于拼写校正应用的拼写校正服务器、以及用于垃圾邮件过滤应用的垃圾邮件过滤服务器。
可以以数字电子电路、或以计算机软件、固件或硬件来实现在本说明书中描述的本公开和其他实施例以及功能性操作,包括在本说明书公开的结构及其等价结构、或它们中的一个或多个的组合。可将所公开的和其他实施例实现为一个或多个计算机程序产品,即为了由数据处理装置执行或者对数据处理装置的运行进行控制而编码在计算机可读介质上的计算机程序指令的一个或多个模块。计算机可读介质可以是机器可读存储器设备、机器可读存储器衬底、存储器设备、影响机器可读传播信号的组合物、或它们中的一个或多个的组合。术语“数据处理装置”涵盖用于处理数据的所有装置、设备、和机器,包括诸如可编程处理器、计算机或者多个处理器或计算机。除硬件以外,装置可包括创建用于讨论中的计算机程序的执行环境的代码,例如,组成处理器固件、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合的代码。传播信号是人工生成的信号,例如,机器生成的电、光或电磁信号,生成该信号来编码用于传输到合适的接收器装置的信息。
可以任何编程语言的形式来编写计算机程序(也称为程序、软件、软件应用、脚本、或代码),包括汇编或解释性语言,并且可以用任何方式对其进行布署,包括作为单机程序或作为模块、组件、子程序、或其它适于在计算机环境中使用的单元。计算机程序不必必须与文件系统中的文件对应。程序可以被存储在保持其它程序或数据(例如以标记语言文档存储的一个或多个脚本)的文件的一部分中、被存储在专用于讨论中的程序的单个文件中、或被存储在多个协同文件中(例如存储一个或多个模块、子程序、或代码部分的文件)。可以把计算机程序布署为在一个计算机上执行或者在位于一个站点上或在跨越多个站点且通过通信网络互联的多个计算机上执行。
可以经由一个或多个可编程处理器来执行本说明书中描述的过程和逻辑流程,所述一个或多个可编程处理器执行一个或多个计算机程序,以通过运行输入数据并生成输出来执行功能。还可通过专用逻辑电路(例如FPGA(现场可编程门阵列)或ASIC(特定用途集成电路))来执行过程和逻辑流程和实现装置。
适合于执行计算机程序的处理器包括诸如通用或专用微处理器以及任何类型的数字计算机的任何一个或多个处理器。一般说来,处理器从只读存储器或随机存取存储器或两者中接收指令和数据。计算机的基本单元是用于执行指令的处理器和用于存储指令和数据的一个或多个存储设备。一般说来,计算机还包括一个或多个用于存储数据的诸如磁、磁光盘、或光盘的海量存储器设备,或可操作地耦接到这些设备,以从其接收数据或向其传递数据,或既接收又传递。但是,计算机并不需要具有这类设备。适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失存储器,媒体和存储设备,包括:诸如半导体存储设备,例如EPROM、EEPROM和闪存设备;磁盘,诸如内部硬盘或可移动盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由专用逻辑电路补充也可以被合并到专用逻辑电路。
为了提供与用户的交互,可以使用具有用于将信息显示给用户的例如CRT(阴极射线管)或LCD(液晶显示器)监视器以及用户通过其可以将输入提供给计算机的键盘和诸如鼠标或轨迹球的指示设备的计算机来实现所公开的实施例。也可用其它种类的设备来提供与用户的交互;例如,提供给用户的反馈可以是任何形式的感觉反馈,例如视觉反馈、听觉反馈、或触觉反馈;并且可以用任何形式接收来自用户的输入,包括声音、语音、或触觉输入。
计算系统的组件可以通过数字数据通信的任何形式或介质相互连接,例如通信网络。通信网络的示例包括局域网(LAN)和例如因特网的广域网(WAN)。可用于实现上述分布式处理的通信网络可使用各种通信链路来传输数据和信号,诸如电导体线缆、光纤链路以及无线通信链路(例如RF无线链路)。
图13示出了提供分布式处理的通信网络中的示范性计算机系统。该系统包括通信网络1300,其使得连接到网络1300的通信设备(例如计算机)能够通信。例如,通信网络1300可以是单个计算机网络(诸如在企业内部的计算机网络)或是互连计算机网络的网络(诸如因特网)。一个或多个计算机服务器1310连接到通信网络1300,以形成分布式处理系统,诸如图1、2或12所示的系统。计算机服务器1310可位于同一位置或位于不同的位置。在运行期间,一个或多个客户计算机(例如客户1301和1302)可使用通信网络1300来对分布式处理系统1310进行远程访问,以请求系统1310提供的机器翻译服务或其他服务。例如,客户1301可将翻译文档的请求发送给系统1310。客户1301将文档发送给系统1310。在接收到文档后,系统1310执行所请求的处理。然后,来自系统1310的输出被发送给客户1301,或者使其在系统1310中可用以可被客户1301访问。系统1310可同时为多个客户服务。
尽管本说明书包含了很多细节,但是不应将其解释为对权利要求书或可能要求的权利的范围的限定,而是应当将其理解为是对特定实施例的特定特征的描述。在本说明书中,在分离的实施例的上下文中描述的特定特征,可以在单个实施例中以组合形式实施。反过来,在单个实施例的上下文中描述的各种特征也可在分离的多个实施例中分别实施或在任何合适的子组合中实施。另外,尽管以上或许把特征描述为以特定组合进行操作,或者甚至最初要求是这样,但是可以在某些情况下从组合中去除来自所要求的组合的一个或多个特征,并且所要求的组合可以转化为子组合或是子组合的变体。
与此类似,尽管在图中以特定顺序示出了操作,但是不应将其理解为:为了获得所期望的结果而需要以示出的特定次序或顺序次序来执行这样的操作,或者是需要执行所有所示出的操作。在特定情形中,多任务和并行处理可能是有益的。另外,不应当将在上述实施例中的各种系统组件的分离理解为在所有实施例中都要求这样的分离,并且应当理解一般可将所述程序组件和系统在单个软件产品中集成在一起,或是打包进多个软件产品中。
这样,已经描述了特定的实施例。其它实施例在落入下面的权利要求书的范围之内。

Claims (74)

1.一种机器翻译系统,包括:
多个机器翻译资源服务器,每个机器翻译资源服务器存储并可操作性地提供机器翻译资源数据的集合的分区,以用于从源语言到目标语言的翻译,所述各个分区共同构成所述机器翻译资源数据的集合,并且所述每个分区都小于所述机器翻译资源数据的集合;以及
至少一个翻译服务器,其可操作性地接收待翻译为所述目标语言的所述源语言的源文本,所述翻译服务器还可操作性地从所述多个机器翻译资源服务器中获取机器翻译资源数据,并使用所获取的机器翻译资源数据来将所述源文本翻译成所述目标语言,
其中所述多个机器翻译资源服务器包括:
多个语言模型服务器,每一个语言模型服务器存储并可操作性地提供用于所述目标语言的语言模型的分区,每个分区小于整个语言模型,并且所述各个分区共同构成所述整个语言模型,以及
翻译模型服务器,其存储并可操作性地向所述翻译服务器提供用于在所述源语言和所述目标语言之间进行翻译的翻译模型;并且
其中所述翻译服务器可操作性地用于:
i)从所述翻译模型服务器获取翻译模型数据;
ii)基于所述翻译模型数据将所述源文本翻译为可能的翻译集合;
iii)基于所述可能的翻译集合,获取来自所述语言模型的所述分区中的至少一个的语言模型数据,所述语言模型数据匹配在所述可能的翻译集合的至少一个可能的翻译中的至少一个符号;以及
iv)基于所获取的语言模型数据和所述可能的翻译集合来确定所述源文本的翻译。
2.如权利要求1所述的系统,还包括:
所述翻译模型服务器的一个或多个副本服务器。
3.如权利要求1所述的系统,还包括:
每个所述语言模型服务器的一个或多个副本服务器。
4.如权利要求3所述的系统,其中:
所述翻译服务器包括:
多个片段翻译服务器,每个都可操作性地与所述翻译模型服务器、所述语言模型服务器和所述副本服务器进行通信,每个片段翻译服务器都可操作性地将所述源文本的一个片段翻译为所述目标语言,
翻译前端组件,用于接收所述源文本和将所述源文本分割为所述源语言的多个片段,以及
与所述翻译前端组件通信的负载平衡模块,用于接收所述源文本的片段和可操作性地基于在所述片段翻译服务器上的工作负载将所述片段分配到所述片段翻译服务器来进行翻译,所述负载平衡模块还可操作性地将所述目标语言的翻译后的片段从所述片段翻译服务器导向到所述翻译前端组件。
5.如权利要求1所述的系统,其中:
所述翻译服务器包括:
多个片段翻译服务器,每个都可操作性地与所述翻译模型服务器以及所述语言模型服务器进行通信,每个片段翻译服务器都可操作性地将所述源文本的一个片段翻译为所述目标语言,
翻译前端组件,用于接收所述源文本和将所述源文本分割为所述源语言的多个片段,以及
与所述翻译前端组件通信的负载平衡模块,用于接收所述源文本的片段和可操作性地基于在所述片段翻译服务器上的工作负载将所述片段分配到所述片段翻译服务器来进行翻译,所述负载平衡模块还可操作性地将所述目标语言的翻译后的片段从所述片段翻译服务器导向到所述翻译前端组件。
6.如权利要求1所述的系统,其中:
所述翻译模型包括在所述源语言和所述目标语言之间的映射信息以及与每个映射相关联的评分信息。
7.如权利要求6所述的系统,其中:
所述映射信息包括在以下两者之间的关系:(1)所述源语言的一个或多个符号以及(2)所述目标语言的一个或多个符号。
8.如权利要求6所述的系统,其中:
所述评分信息包括在所述源语言和所述目标语言之间的每个映射的统计数据。
9.如权利要求8所述的系统,其中:
所述统计数据包括在所述源语言和所述目标语言之间的每个映射的发生概率。
10.如权利要求6所述的系统,其中:
所述翻译服务器可操作性地使用所述评分信息来从由所述获取的翻译模型数据和语言模型数据所构建的可能翻译中选择所述源文本的期望的翻译。
11.如权利要求1所述的系统,其中:
所述语言模型包括目标语言中的n元模型和关于所述n元模型的统计数据,每个n元模型是所述目标语言的n个符号的序列,其中n是正整数。
12.如权利要求11所述的系统,其中:
所述语言模型包括n大于3的n元模型。
13.如权利要求11所述的系统,其中:
所述多个语言模型服务器的每个分区包括满足分区标准的所述语言模型中的所有n元模型。
14.如权利要求13所述的系统,其中:
所述多个语言模型服务器的每个分区包括:在每个n元模型中的预定位置处具有共同符号的所述语言模型中的所有n元模型。
15.如权利要求14所述的系统,其中:
所述多个语言模型服务器的每个分区包括具有多个共同符号的所述语言模型中的所有n元模型。
16.如权利要求15所述的系统,其中:
所述多个共同符号是在每个n元模型的预定位置上。
17.如权利要求15所述的系统,其中:
所述多个共同符号是n个符号的序列中的最后两个符号。
18.如权利要求11所述的系统,其中:
所述统计数据指示在目标语言文本的语料库中的所述各个n元模型中的每一个的各自的发生频率。
19.如权利要求11所述的系统,其中:
每个n元模型由识别数的序列表示并且对每个识别数赋值以唯一地表示所述目标语言中的特定符号。
20.如权利要求1所述的系统,其中:
所述翻译服务器包括:
至少一个翻译前端组件,其可操作性地将所述源文本分割为所述源语言的多个片段,
多个片段翻译服务器,每个片段翻译服务器可操作性地获取所获取的机器翻译资源数据的至少一部分并且将所述源语言的片段翻译为所述目标语言,以及
负载平衡模块,其可操作性地基于在所述片段翻译服务器上的翻译负载将所述片段分配到一个或多个所述片段翻译服务器来进行翻译,所述负载平衡模块可操作性地将翻译后的片段导向到所述翻译前端组件。
21.如权利要求20所述的系统,还包括:
翻译缓存,其存储至少符号和每个都包括符号组合的片段的从所述源语言到所述目标语言的翻译,以及
其中所述翻译前端组件或所述负载平衡模块可操作性地在将片段导向到片段翻译服务器之前在所述翻译缓存中查找所述片段的翻译,并且所述负载平衡模块还可操作性地选择在所述翻译缓存中没有对应的翻译的每个片段,以发送到所述片段翻译服务器以进行翻译。
22.如权利要求20所述的系统,其中:
每个片段翻译服务器包括片段翻译服务器缓存,所述片段翻译服务器缓存可操作性地存储所述所获取的机器翻译资源数据的至少一部分。
23.如权利要求22所述的系统,其中:
在每个片段翻译服务器正在对所分配的片段进行翻译的时间段期间,所述片段翻译服务器缓存可操作性地存储所述所获取的机器翻译资源数据的至少一部分,
24.如权利要求23所述的系统,其中:
在翻译所分配的片段之后,所述片段翻译服务器缓存可操作性地删除所述所获取的机器翻译资源数据的至少一部分。
25.如权利要求23所述的系统,其中:
所述片段翻译服务器缓存可操作性地定期删除所述所获取的机器翻译资源数据的至少一部分。
26.如权利要求22所述的系统,其中:
每个片段翻译服务器还可操作性地检查要从所述多个机器翻译资源服务器中获取的机器翻译资源数据块的存在,并且从所述多个机器翻译资源服务器中获取未存储在所述片段翻译服务器缓存中的数据。
27.如权利要求22所述的系统,其中:
所述片段翻译服务器缓存可操作性地进一步存储所分配的片段的翻译的历史信息。
28.如权利要求22所述的系统,其中:
每个片段翻译服务器还包括请求队列,所述请求队列可操作性地存储对要从所述多个语言模型服务器获取的所述语言模型数据的不同部分的请求,并且
每个片段翻译服务器可操作性地将所述请求队列中的请求顺序地发送到所述多个语言模型服务器中的一个或多个。
29.如权利要求28所述的系统,其中:
在所述请求队列中的所有请求被服务之前,每个片段翻译服务器还可操作性地使用与要通过在所述请求队列中的请求获取的语言模型数据不同的其他机器翻译资源数据对所分配的片段的翻译进行处理,并且
每个片段翻译服务器还可操作性地通过使用从所述请求获取的语言模型数据来完成通过使用所述其他机器翻译资源数据处理的所分配的片段的翻译。
30.如权利要求29所述的系统,其中:
所述多个机器翻译资源服务器还包括提供所述其他机器翻译资源数据的至少一个机器翻译资源服务器。
31.如权利要求30所述的系统,其中:
提供所述其他机器翻译资源数据的所述机器翻译资源服务器存储用于所述目标语言的第二并且不同的语言模型。
32.如权利要求22所述的系统,其中:
每个片段翻译服务器还包括第二片段翻译服务器缓存,所述第二片段翻译服务器缓存存储所述机器翻译资源数据的选定部分,并且
每个片段翻译服务器可操作性地从所述多个机器翻译资源服务器中获取数据,所述数据不是在所述第二片段翻译服务器缓存中存储的所述选定部分的一部分。
33.如权利要求1所述的系统,还包括:
翻译缓存,所述翻译缓存存储符号和符号的组合从所述源语言到所述目标语言的翻译,并且
所述翻译包括机器翻译和人工翻译。
34.如权利要求33所述的系统,其中:
所述翻译缓存包括翻译质量信息。
35.如权利要求1所述的系统,其中:
所述翻译服务器包括统计机器翻译服务器。
36.如权利要求35所述的系统,其中:
所述翻译服务器还包括运行与统计机器翻译不同的机器翻译机制的机器翻译服务器。
37.如权利要求36所述的系统,其中:
所述机器翻译服务器是基于规则的机器翻译服务器。
38.如权利要求1所述的系统,还包括:
通信网络,所述机器翻译资源服务器和所述翻译服务器与所述通信网络进行通信,所述通信网络可操作性地将所述源文本从所述通信网络中的客户端计算机导向到所述翻译服务器以进行翻译。
39.如权利要求38所述的系统,其中:
所述通信网络可操作性地将所述目标语言的所述源文本的翻译从所述翻译服务器导向到所述客户端计算机。
40.一种机器翻译系统,包括:
多个机器翻译资源服务器,每个机器翻译资源服务器存储并可操作性地提供机器翻译资源数据的集合的分区,以用于从源语言到目标语言的翻译,所述各个分区共同构成所述机器翻译资源数据的集合,并且每个相应分区都小于所述机器翻译资源数据的集合;以及
至少一个翻译服务器,其可操作性地接收待翻译为所述目标语言的所述源语言的源文本,所述翻译服务器还可操作性地从所述多个机器翻译资源服务器中获取机器翻译资源数据,并使用所获取的机器翻译资源数据来将所述源文本翻译成所述目标语言,
其中所述机器翻译资源服务器包括:
多个语言模型服务器,其分别存储并可操作性地提供所述目标语言的语言模型的不同分区,所述各个分区共同构成整个语言模型,并且每个分区小于所述语言模型的整体;
所述多个语言模型服务器中的每一个的一个或多个副本语言模型服务器;
多个翻译模型服务器,其分别存储并可操作性地提供在所述目标语言和人类源语言之间进行翻译的翻译模型的不同分区,所述各个分区共同构成整个翻译模型,并且每个分区小于所述翻译模型的整体;
以及
所述多个翻译模型服务器中的每一个的一个或多个副本翻译模型服务器,并且
其中所述翻译服务器包括:
多个翻译前端组件,每个都可操作性地将待翻译为所述目标语言的所述源语言的源文本分割为所述源语言的多个片段;
多个片段翻译服务器,每个片段翻译服务器可操作性地通过从所述多个翻译模型服务器和所述副本翻译模型服务器中获取翻译模型数据以及从所述多个语言模型服务器和所述副本语言模型服务器中获取语言模型数据来执行机器翻译;以及
负载平衡模块,其可操作性地基于在所述多个片段翻译服务器上的翻译负载将所述片段分配到所述多个片段翻译服务器的一个或多个来进行翻译。
41.如权利要求40所述的系统,还包括:
翻译缓存,其存储至少符号和每个都包括符号组合的片段从所述源语言到所述目标语言的翻译。
42.如权利要求41所述的系统,其中:
每个翻译前端组件可操作性地在所述翻译缓存中查找待翻译片段的合适翻译,并且当存在所述合适翻译时,检索所述合适翻译,而不将所述片段导向到所述负载平衡模块来由所述多个片段翻译服务器中的一个进行翻译。
43.如权利要求41所述的系统,其中:
所述负载平衡模块可操作性地在所述翻译缓存中查找来自翻译前端组件的待翻译片段的合适翻译,并且当存在所述合适翻译时,从所述翻译缓存中检索所述合适翻译,并将所检索的翻译导向到所述翻译前端组件,而不将所述片段导向到所述多个片段翻译服务器中的一个来进行翻译。
44.如权利要求40所述的系统,其中:
每个片段翻译服务器包括片段翻译服务器缓存,所述片段翻译服务器缓存可操作性地存储从所述多个语言模型服务器和所述副本语言模型服务器中获取的语言模型数据来对片段进行翻译。
45.如权利要求44所述的系统,其中:
每个片段翻译服务器还可操作性地检查要从所述多个语言模型服务器和所述副本语言模型服务器中获取的语言模型数据块的存在,并且当存在所述语言模型数据块时,使用所述语言模型数据块来进行翻译,而不从所述多个语言模型服务器和所述副本语言模型服务器中获取所述语言模型数据块,并且
其中,当在所述片段翻译服务器缓存中不存在所述语言模型数据块时,每个片段翻译服务器还可操作性地从所述多个语言模型服务器和所述副本语言模型服务器中获取所述语言模型数据块。
46.如权利要求44所述的系统,其中:
每个片段翻译服务器还包括请求队列,所述请求队列可操作性地存储对要从所述多个语言模型服务器中获取的语言模型数据的请求,并且
每个片段翻译服务器可操作性地将在所述请求队列中的请求顺序地发送给所述多个语言模型服务器以及所述副本语言模型服务器中的一个或多个,并且存储通过在所述片段翻译服务器缓存中的所述请求获取的语言模型数据。
47.如权利要求46所述的系统,其中:
在所述请求队列中的所有请求被服务之前,每个片段翻译服务器还可操作性地处理片段的翻译,并且
每个片段翻译服务器还可操作性地利用由所述请求获取的所述语言模型数据来完成对所述片段的翻译。
48.如权利要求47所述的系统,其中:
在所述请求队列中的所有请求被服务之前,每个片段翻译服务器还可操作性地利用来自另一个源的语言模型数据来填充所述片段翻译服务器缓存,并且利用来自所述另一个源的所述语言模型数据来处理所述翻译,并且
在所述请求队列中的所有请求被服务之后,每个片段翻译服务器还可操作性地将通过所述请求获取的语言模型数据存储在所述片段翻译服务器缓存中,并进一步利用通过所述请求获取的所述语言模型数据来对所述翻译进行处理。
49.如权利要求40所述的系统,其中:
每个片段翻译服务器包括:
第一片段翻译服务器缓存,其可操作性地存储从所述多个语言模型服务器和所述副本语言模型服务器中获取的语言模型数据以对片段进行翻译,以及
第二片段翻译务器缓存,其存储在所述多个语言模型服务器以及所述副本语言模型服务器中的所述语言模型的选定部分。
50.如权利要求49所述的系统,其中:
在完成对所述片段的翻译之后,每个片段翻译服务器可操作性地删除所述第一片段翻译服务器缓存中的数据,并且保留在所述第二片段翻译服务器缓存中的所述语言模型的所述选定部分。
51.如权利要求40所述的系统,还包括:
多个第二翻译模型服务器,其分别存储并可操作性地提供用于在所述目标语言和第二人类源语言之间进行翻译的第二翻译模型的不同分区,所述各个分区共同构成整个第二翻译模型,并且每个分区小于所述第二翻译模型的整体;
所述多个第二翻译模型服务器中的每一个的一个或多个第二副本翻译模型服务器;
多个第二翻译前端组件,每个都可操作性地将待翻译为所述目标语言的所述第二语言的第二源文本分割为所述第二源语言的多个片段;
多个第二片段翻译服务器,每个都可操作性地通过从所述多个第二翻译模型服务器和所述第二副本翻译模型服务器中获取第二翻译模型数据以及从所述多个语言模型服务器和所述副本语言模型服务器中获取语言模型数据来执行机器翻译;以及
第二负载平衡模块,其可操作性地基于在所述多个第二片段翻译服务器上的翻译负载将所述片段分配到所述多个第二片段翻译服务器中的一个或多个以进行翻译。
52.如权利要求40所述的系统,其中:
每个片段翻译服务器可操作性地监视在关于各个分区的各个语言模型服务器以及对应的一个或多个副本语言模型服务器上的工作负载,并且
响应于所监视的工作负载,每个片段翻译服务器还可操作性地从所述各个语言模型服务器以及对应的一个或多个副本语言模型服务器中选择服务器,以请求在所述语言模型的各个分区中的数据。
53.一种用于执行机器翻译的方法,包括
将用于目标语言的语言模型分割为多个语言模型分区,每一个语言模型分区小于整个语言模型,并且所述各个语言模型分区共同构成所述整个语言模型;
将所述多个语言模型分区分别存储在不同的语言模型服务器上;
将用于将文本从源语言翻译为所述目标语言的翻译模型分割为多个翻译模型分区,每一个翻译模型分区小于所述整个翻译模型,并且所述各个翻译模型分区共同构成所述整个翻译模型;
将所述多个翻译模型分区分别存储在不同的翻译模型服务器上;以及
运行机器翻译服务器以:
i)接收待从所述源语言翻译为所述目标语言的源文本;
ii)基于所述源文本来获取来自所述翻译模型分区中的至少一个的翻译模型数据;
iii)基于所述翻译模型数据将所述源文本翻译成可能的翻译集合;
iv)基于所述可能的翻译集合来获取来自所述语言模型的所述分区中的至少一个的语言模型数据,所述语言模型数据匹配在所述可能的翻译集合的至少一个可能的翻译中的至少一个符号;以及
iv)基于所获取的语言模型数据和所述可能的翻译集合来确定所述源文本的翻译。
54.如权利要求53所述的方法,其中:
用于所述目标语言的所述语言模型包括n大于3的n元模型。
55.如权利要求53所述的方法,还包括:
提供不同的翻译服务器,以将待从所述源语言翻译为所述目标语言的客户文档的不同片段分别进行翻译;并且
运行每个翻译服务器,以从所述不同的语言模型服务器和所述不同的翻译模型服务器获取选定的数据来对每个相应片段进行翻译。
56.如权利要求55所述的方法,还包括:
将至少两个不同的翻译服务器配置为以不同的翻译速度和不同的翻译质量水平运行;并且
基于对片段的速度和翻译质量水平选择翻译服务器来对所述片段进行翻译。
57.如权利要求55所述的方法,还包括:
运行每个翻译服务器,以在请求队列中生成对所述选定数据的请求;并且
将所述请求顺序地发送到所述语言模型服务器和所述翻译模型服务器,以获取所述选定数据。
58.如权利要求57所述的方法,还包括:
运行每个翻译服务器,以在翻译各个片段之前,等待在所述请求队列中的所有请求被服务。
59.如权利要求57所述的方法,还包括:
当所述请求队列中的所述请求正在被服务时,运行每个翻译服务器来执行对各个片段的初步翻译;并且
在所述请求队列中的所有请求被服务之后,更新所述初步翻译,以利用所选定的数据来生成最终翻译。
60.如权利要求59所述的方法,还包括:
使用机器语言翻译资源数据的另一个不同的集合来执行对所述各个片段的初步翻译。
61.如权利要求55所述的方法,还包括:
运行每个翻译服务器,以在请求队列中生成对所述选定数据的请求;
不将所述请求发送到所述翻译模型服务器、所述语言模型服务器和副本计算机服务器,运行每个翻译服务器以应用不同的第二语言模型和不同的第二翻译模型中的至少一个来处理对所述各个片段的翻译;
使用来自利用所述不同的第二语言模型和所述不同的第二翻译模型中的所述至少一个进行处理的信息,来更新在所述请求队列中的对所述选定数据的请求;
将所更新的请求发送到所述翻译模型服务器、所述语言模型服务器和所述副本计算机服务器以获取数据;并且
使用由所更新的请求请求的数据来完成对所述各个片段的翻译。
62.一种用于利用在源语言和目标语言之间进行翻译的翻译模型以及所述目标语言的语言模型将文本从所述源语言机器翻译为所述目标语言的方法,包括:
将所述翻译模型分区为多个不同数据的分区,其中每个翻译模型分区小于所述翻译模型;
将所述多个翻译模型分区存储在多个不同的翻译模型服务器上;
将所述语言模型分区为多个不同数据的语言模型分区,其中每个语言模型分区小于所述语言模型;
将所述多个语言模型分区存储在多个不同的语言模型服务器上;
监视多个翻译服务器的工作负载,每个所述翻译服务器可操作性地利用所述翻译模型和所述语言模型将所述源语言的文本翻译为所述目标语言;
基于所述工作负载,将待从所述源语言翻译为所述目标语言的源文本的片段分发到所述多个翻译服务器中的一个或多个选定的翻译服务器;
运行每个选定的翻译服务器以:
i)基于所述片段中的一个或多个来获取来自所述翻译模型分区中的至少一个的翻译模型数据;
ii)基于所述翻译模型数据将所述一个或多个片段翻译为可能的翻译片段集合;
iii)基于所述可能的翻译片段集合,获取来自所述语言模型的所述分区中的至少一个的语言模型数据,所述语言模型数据匹配在所述可能的翻译片段集合的至少一个可能的翻译片段中的至少一个符号;以及
iv)基于所获取的语言模型数据和所述可能的翻译片段集合来确定一个或多个翻译片段;以及
将来自所述选定的翻译服务器的已翻译片段进行汇编,以生成翻译后的文本。
63.如权利要求62所述的方法,还包括:
控制在每个所述选定的翻译服务器上的处理计算量,以调整在完成所述文本的翻译的过程中的速度。
64.如权利要求63所述的方法,还包括:
控制所述选定的翻译服务器,以生成所述文本的较低翻译质量的初步翻译;并且
在完成所述初步翻译之后,控制所述选定的翻译服务器来继续对所述翻译进行处理,以生成所述文本的较高翻译质量的第二翻译。
65.如权利要求64所述的方法,还包括:
在第一时间将所述文本的所述初步翻译传递给请求所述翻译的客户;并且
在第二时间将所述文本的所述第二翻译传递给所述客户,以替换所述初步翻译。
66.如权利要求64所述的方法,还包括:
选择待由所述选定的翻译服务器以所述较高翻译质量进行翻译的所述文本的第一部分;并且
选择待由所述选定的翻译服务器以所述较低翻译质量进行翻译的所述文本的第二部分。
67.一种用于利用翻译模型和目标语言的语言模型来执行将文本从源语言到所述目标语言的机器翻译的方法,包括:
将所述翻译模型分区为多个翻译模型分区,其中每一个翻译模型分区小于整个翻译模型;
将所述多个翻译模型分区存储在多个不同的翻译模型服务器上;
将所述语言模型分区为多个语言模型,其中每一个语言模型分区小于整个语言模型;
将所述多个语言模型分区存储在多个不同的语言模型服务器上;
接收待翻译为目标语言的源语言的客户文档;
将所述客户文档分割为片段,以翻译每个片段;并且
对于每一个片段:
i)基于所述源文本的片段来获取来自所述翻译模型分区中的至少一个的翻译模型数据;
ii)基于所述翻译模型数据将所述源文本的所述片段翻译为可能的翻译集合;
iii)基于所述可能的翻译集合,获取来自所述语言模型分区中的至少一个的语言模型数据,所述语言模型数据匹配在所述可能的翻译集合的至少一个可能的翻译中的至少一个符号;以及
iv)基于所获取的语言模型数据和所述可能的翻译集合来确定所述片段的片段翻译;以及
组合所述片段翻译以获取所述客户端文档的翻译。
68.如权利要求67所述的方法,还包括:
在从所述语言模型服务器中的至少一个获取来自所述语言模型分区中的至少一个的语言模型数据期间,同时访问第一语言模型服务器的第一副本服务器,以检索所述选定的语言模型数据的所述至少一个语言模型分区,所述第一副本服务器复制在所述第一语言模型服务器上的数据;并且
在翻译所述片段中,利用来自所述第一语言模型服务器和所述第一副本服务器中的任何一个最先到达的数据。
69.如权利要求67所述的方法,还包括:
设置访问每个语言模型服务器的超时时间段;以及
在从特定语言模型服务器接收到所请求的数据之前访问所述特定语言模型服务器的所述超时时间段就已经到期之后,从不同的数据源获取从特定语言模型分区请求的所述语言模型数据。
70.如权利要求69所述的方法,其中:
所述不同的数据源包括来自不同语言模型的数据。
71.如权利要求67所述的方法,还包括:
设置访问每个语言模型服务器的超时时间段;并且
在从特定语言模型服务器接收到所请求的数据之前访问所述特定语言模型服务器的所述超时时间段就已经到期之后,起动对所述特定语言模型服务器的副本服务器的访问来获取从所述特定语言模型请求的数据,所述副本服务器复制在所述特定语言模型服务器上的数据。
72.如权利要求67所述的方法,还包括:
在利用来自所述语言模型的数据对所述片段中的每一个片段进行翻译之前,利用来自不同的翻译源的数据来执行对所述一个片段的初步翻译;并且
利用来自所述语言模型的数据来更新所述初步翻译,以生成所述一个片段的最终片段翻译。
73.如权利要求72所述的方法,其中:
所述不同的翻译源是所述目标语言的比所述语言模型小的第二语言模型。
74.如权利要求67所述的方法,还包括:
在访问多个不同的语言模型服务器中的至少一个来检索用于翻译一个片段的数据以前,搜索存储预定片段的翻译的本地缓存,以确定是否可以获得所述片段的已有翻译;并且
如果可以获得所述已有翻译,则使用所述片段的所述已有翻译,如果不可获得,则访问多个不同的语言模型服务器中的至少一个来检索用于翻译所述片段的数据。
CN2007800016864A 2006-02-17 2007-02-16 分布式模型的编码和自适应、可扩展访问 Active CN101361065B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US77479006P 2006-02-17 2006-02-17
US60/774,790 2006-02-17
US77557006P 2006-02-21 2006-02-21
US60/775,570 2006-02-21
PCT/US2007/004196 WO2007098055A2 (en) 2006-02-17 2007-02-16 Encoding and adaptive, scalable accessing of distributed models

Publications (2)

Publication Number Publication Date
CN101361065A CN101361065A (zh) 2009-02-04
CN101361065B true CN101361065B (zh) 2013-04-10

Family

ID=38437899

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2007800016864A Active CN101361065B (zh) 2006-02-17 2007-02-16 分布式模型的编码和自适应、可扩展访问

Country Status (9)

Country Link
US (5) US8296123B2 (zh)
EP (5) EP2527990B1 (zh)
JP (1) JP5122486B2 (zh)
KR (1) KR101431194B1 (zh)
CN (1) CN101361065B (zh)
AU (1) AU2007217900B2 (zh)
BR (1) BRPI0706404B1 (zh)
CA (1) CA2631815C (zh)
WO (1) WO2007098055A2 (zh)

Families Citing this family (191)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8677377B2 (en) 2005-09-08 2014-03-18 Apple Inc. Method and apparatus for building an intelligent automated assistant
US7849144B2 (en) * 2006-01-13 2010-12-07 Cisco Technology, Inc. Server-initiated language translation of an instant message based on identifying language attributes of sending and receiving users
US8296123B2 (en) * 2006-02-17 2012-10-23 Google Inc. Encoding and adaptive, scalable accessing of distributed models
US7853555B2 (en) * 2006-04-19 2010-12-14 Raytheon Company Enhancing multilingual data querying
US7991608B2 (en) * 2006-04-19 2011-08-02 Raytheon Company Multilingual data querying
US8209162B2 (en) * 2006-05-01 2012-06-26 Microsoft Corporation Machine translation split between front end and back end processors
US20080004858A1 (en) * 2006-06-29 2008-01-03 International Business Machines Corporation Apparatus and method for integrated phrase-based and free-form speech-to-speech translation
US8626486B2 (en) 2006-09-05 2014-01-07 Google Inc. Automatic spelling correction for machine translation
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8631005B2 (en) * 2006-12-28 2014-01-14 Ebay Inc. Header-token driven automatic text segmentation
JP4466666B2 (ja) * 2007-03-14 2010-05-26 日本電気株式会社 議事録作成方法、その装置及びそのプログラム
US9418061B2 (en) * 2007-12-14 2016-08-16 International Business Machines Corporation Prioritized incremental asynchronous machine translation of structured documents
US10002189B2 (en) 2007-12-20 2018-06-19 Apple Inc. Method and apparatus for searching using an active ontology
US7984034B1 (en) * 2007-12-21 2011-07-19 Google Inc. Providing parallel resources in search results
US8352265B1 (en) 2007-12-24 2013-01-08 Edward Lin Hardware implemented backend search engine for a high-rate speech recognition system
US8639510B1 (en) 2007-12-24 2014-01-28 Kai Yu Acoustic scoring unit implemented on a single FPGA or ASIC
US9330720B2 (en) 2008-01-03 2016-05-03 Apple Inc. Methods and apparatus for altering audio output signals
US20090177733A1 (en) * 2008-01-08 2009-07-09 Albert Talker Client application localization
US8463610B1 (en) 2008-01-18 2013-06-11 Patrick J. Bourke Hardware-implemented scalable modular engine for low-power speech recognition
US8996376B2 (en) 2008-04-05 2015-03-31 Apple Inc. Intelligent text-to-speech conversion
US20090300126A1 (en) * 2008-05-30 2009-12-03 International Business Machines Corporation Message Handling
US20100030549A1 (en) 2008-07-31 2010-02-04 Lee Michael M Mobile device having human language translation capability with positional feedback
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
WO2010046782A2 (en) 2008-10-24 2010-04-29 App Tek Hybrid machine translation
CN101739867B (zh) * 2008-11-19 2012-03-28 中国科学院自动化研究所 运用计算机对口语翻译质量进行评分的方法
CN101826263B (zh) * 2009-03-04 2012-01-04 中国科学院自动化研究所 基于客观标准的自动化口语评估系统
US10241752B2 (en) 2011-09-30 2019-03-26 Apple Inc. Interface for a virtual digital assistant
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US8725509B1 (en) * 2009-06-17 2014-05-13 Google Inc. Back-off language model compression
US9431006B2 (en) 2009-07-02 2016-08-30 Apple Inc. Methods and apparatuses for automatic speech recognition
JP4935869B2 (ja) * 2009-08-07 2012-05-23 カシオ計算機株式会社 電子機器及びプログラム
CN103345467B (zh) 2009-10-02 2017-06-09 独立行政法人情报通信研究机构 语音翻译系统
US8682667B2 (en) 2010-02-25 2014-03-25 Apple Inc. User profiling for selecting user specific voice input processing information
ES2369822B1 (es) * 2010-05-11 2012-10-15 Scio Soft, S.L. Videotraductor virtual.
US8423334B2 (en) * 2010-05-18 2013-04-16 Honeywell International Inc. Distributed model identification
EP2680159B1 (en) * 2010-07-13 2020-01-15 Motionpoint Corporation Dynamic language translation of a message
US9778915B2 (en) 2011-02-28 2017-10-03 Microsoft Technology Licensing, Llc Distributed application definition
US9262612B2 (en) 2011-03-21 2016-02-16 Apple Inc. Device access using voice authentication
US9990184B2 (en) 2011-03-25 2018-06-05 Microsoft Technology Licensing, Llc Distributed component model
US9465589B2 (en) 2011-04-05 2016-10-11 Microsoft Technology Licensing, Llc Stateful component authoring and execution
US20140039879A1 (en) * 2011-04-27 2014-02-06 Vadim BERMAN Generic system for linguistic analysis and transformation
US20120303559A1 (en) * 2011-05-27 2012-11-29 Ctc Tech Corp. Creation, use and training of computer-based discovery avatars
US10057736B2 (en) 2011-06-03 2018-08-21 Apple Inc. Active transport based notifications
US9201862B2 (en) * 2011-06-16 2015-12-01 Asociacion Instituto Tecnologico De Informatica Method for symbolic correction in human-machine interfaces
WO2013003772A2 (en) * 2011-06-30 2013-01-03 Google Inc. Speech recognition using variable-length context
US8805672B2 (en) * 2011-06-30 2014-08-12 International Business Machines Corporation Translation cache prediction
US8712761B2 (en) * 2011-11-22 2014-04-29 Google Inc. Techniques for performing translation of messages
US8812302B2 (en) * 2012-01-17 2014-08-19 Google Inc. Techniques for inserting diacritical marks to text input via a user device
CN103218365A (zh) * 2012-01-20 2013-07-24 阿里巴巴集团控股有限公司 一种SSTable文件数据处理方法及其系统
CN103257958B (zh) * 2012-02-16 2016-01-20 中兴通讯股份有限公司 一种基于云存储的翻译方法及系统
CN103259762B (zh) * 2012-02-16 2016-09-28 中兴通讯股份有限公司 一种基于云存储的文件加密、解密方法及系统
US9613029B2 (en) * 2012-02-28 2017-04-04 Google Inc. Techniques for transliterating input text from a first character set to a second character set
US10134385B2 (en) 2012-03-02 2018-11-20 Apple Inc. Systems and methods for name pronunciation
US8874428B2 (en) * 2012-03-05 2014-10-28 International Business Machines Corporation Method and apparatus for fast translation memory search
US9280610B2 (en) 2012-05-14 2016-03-08 Apple Inc. Crowd sourcing information to fulfill user requests
US9721563B2 (en) 2012-06-08 2017-08-01 Apple Inc. Name recognition system
US9116886B2 (en) * 2012-07-23 2015-08-25 Google Inc. Document translation including pre-defined term translator and translation model
US9547647B2 (en) 2012-09-19 2017-01-17 Apple Inc. Voice-based media searching
US9336771B2 (en) * 2012-11-01 2016-05-10 Google Inc. Speech recognition using non-parametric models
WO2014077918A1 (en) * 2012-11-19 2014-05-22 Board Of Regents, The University Of Texas System Robustness in a scalable block storage system
US10296968B2 (en) 2012-12-07 2019-05-21 United Parcel Service Of America, Inc. Website augmentation including conversion of regional content
US9817821B2 (en) * 2012-12-19 2017-11-14 Abbyy Development Llc Translation and dictionary selection by context
US9342503B1 (en) * 2013-03-12 2016-05-17 Amazon Technologies, Inc. Correlation across languages
US9430465B2 (en) * 2013-05-13 2016-08-30 Facebook, Inc. Hybrid, offline/online speech translation system
WO2014197334A2 (en) 2013-06-07 2014-12-11 Apple Inc. System and method for user-specified pronunciation of words for speech synthesis and recognition
WO2014197335A1 (en) 2013-06-08 2014-12-11 Apple Inc. Interpreting and acting upon commands that involve sharing information with remote devices
KR101922663B1 (ko) 2013-06-09 2018-11-28 애플 인크. 디지털 어시스턴트의 둘 이상의 인스턴스들에 걸친 대화 지속성을 가능하게 하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
US9154492B2 (en) * 2013-09-27 2015-10-06 The University Of North Carolina At Charlotte Moving target defense against cross-site scripting
US10296160B2 (en) 2013-12-06 2019-05-21 Apple Inc. Method for extracting salient dialog usage from live data
US9881006B2 (en) 2014-02-28 2018-01-30 Paypal, Inc. Methods for automatic generation of parallel corpora
US9940658B2 (en) 2014-02-28 2018-04-10 Paypal, Inc. Cross border transaction machine translation
US9569526B2 (en) 2014-02-28 2017-02-14 Ebay Inc. Automatic machine translation using user feedback
US9530161B2 (en) 2014-02-28 2016-12-27 Ebay Inc. Automatic extraction of multilingual dictionary items from non-parallel, multilingual, semi-structured data
US9514377B2 (en) * 2014-04-29 2016-12-06 Google Inc. Techniques for distributed optical character recognition and distributed machine language translation
US9514376B2 (en) * 2014-04-29 2016-12-06 Google Inc. Techniques for distributed optical character recognition and distributed machine language translation
US9633004B2 (en) 2014-05-30 2017-04-25 Apple Inc. Better resolution when referencing to concepts
US9430463B2 (en) 2014-05-30 2016-08-30 Apple Inc. Exemplar-based natural language processing
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
TWI566107B (zh) 2014-05-30 2017-01-11 蘋果公司 用於處理多部分語音命令之方法、非暫時性電腦可讀儲存媒體及電子裝置
US9760559B2 (en) * 2014-05-30 2017-09-12 Apple Inc. Predictive text input
US9842101B2 (en) * 2014-05-30 2017-12-12 Apple Inc. Predictive conversion of language input
US9858922B2 (en) 2014-06-23 2018-01-02 Google Inc. Caching speech recognition scores
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9965466B2 (en) * 2014-07-16 2018-05-08 United Parcel Service Of America, Inc. Language content translation
US9811559B2 (en) * 2014-09-01 2017-11-07 Mapquest, Inc. Computerized systems and methods for identifying points-of-interest using customized query prediction
US9818400B2 (en) 2014-09-11 2017-11-14 Apple Inc. Method and apparatus for discovering trending terms in speech requests
US9668121B2 (en) 2014-09-30 2017-05-30 Apple Inc. Social reminders
US10127911B2 (en) 2014-09-30 2018-11-13 Apple Inc. Speaker identification and unsupervised speaker adaptation techniques
US10074360B2 (en) 2014-09-30 2018-09-11 Apple Inc. Providing an indication of the suitability of speech recognition
US9299347B1 (en) 2014-10-22 2016-03-29 Google Inc. Speech recognition using associative mapping
US9697201B2 (en) 2014-11-24 2017-07-04 Microsoft Technology Licensing, Llc Adapting machine translation data using damaging channel model
US10152299B2 (en) 2015-03-06 2018-12-11 Apple Inc. Reducing response latency of intelligent automated assistants
US10567477B2 (en) 2015-03-08 2020-02-18 Apple Inc. Virtual assistant continuity
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US9721566B2 (en) 2015-03-08 2017-08-01 Apple Inc. Competing devices responding to voice triggers
WO2016147328A1 (ja) * 2015-03-18 2016-09-22 三菱電機株式会社 多言語翻訳装置及び多言語翻訳方法
US10083688B2 (en) 2015-05-27 2018-09-25 Apple Inc. Device voice control for selecting a displayed affordance
US9578173B2 (en) 2015-06-05 2017-02-21 Apple Inc. Virtual assistant aided communication with 3rd party service in a communication session
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US11010550B2 (en) 2015-09-29 2021-05-18 Apple Inc. Unified language modeling framework for word prediction, auto-completion and auto-correction
US10366158B2 (en) 2015-09-29 2019-07-30 Apple Inc. Efficient word encoding for recurrent neural network language models
US11587559B2 (en) 2015-09-30 2023-02-21 Apple Inc. Intelligent device identification
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10049668B2 (en) 2015-12-02 2018-08-14 Apple Inc. Applying neural network language models to weighted finite state transducers for automatic speech recognition
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
JP6620934B2 (ja) * 2016-01-29 2019-12-18 パナソニックIpマネジメント株式会社 翻訳支援方法、翻訳支援装置、翻訳装置及び翻訳支援プログラム
US10446143B2 (en) 2016-03-14 2019-10-15 Apple Inc. Identification of voice inputs providing credentials
EP3441887B1 (en) * 2016-04-04 2023-06-07 Wovn Technologies, Inc. Translation system
US9934775B2 (en) 2016-05-26 2018-04-03 Apple Inc. Unit-selection text-to-speech synthesis based on predicted concatenation parameters
US9972304B2 (en) 2016-06-03 2018-05-15 Apple Inc. Privacy preserving distributed evaluation framework for embedded personalized systems
US10249300B2 (en) 2016-06-06 2019-04-02 Apple Inc. Intelligent list reading
US10049663B2 (en) 2016-06-08 2018-08-14 Apple, Inc. Intelligent automated assistant for media exploration
DK179588B1 (en) 2016-06-09 2019-02-22 Apple Inc. INTELLIGENT AUTOMATED ASSISTANT IN A HOME ENVIRONMENT
US10067938B2 (en) 2016-06-10 2018-09-04 Apple Inc. Multilingual word prediction
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
US10509862B2 (en) 2016-06-10 2019-12-17 Apple Inc. Dynamic phrase expansion of language input
US10490187B2 (en) 2016-06-10 2019-11-26 Apple Inc. Digital assistant providing automated status report
US10192552B2 (en) 2016-06-10 2019-01-29 Apple Inc. Digital assistant providing whispered speech
DK179049B1 (en) 2016-06-11 2017-09-18 Apple Inc Data driven natural language event detection and classification
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
DK179343B1 (en) 2016-06-11 2018-05-14 Apple Inc Intelligent task discovery
US9594741B1 (en) * 2016-06-12 2017-03-14 Apple Inc. Learning new words
KR102565274B1 (ko) 2016-07-07 2023-08-09 삼성전자주식회사 자동 통역 방법 및 장치, 및 기계 번역 방법 및 장치
KR102565275B1 (ko) 2016-08-10 2023-08-09 삼성전자주식회사 병렬 처리에 기초한 번역 방법 및 장치
US10162819B2 (en) * 2016-08-17 2018-12-25 Netflix, Inc. Change detection in a string repository for translated content
US10474753B2 (en) 2016-09-07 2019-11-12 Apple Inc. Language identification using recurrent neural networks
US10043516B2 (en) 2016-09-23 2018-08-07 Apple Inc. Intelligent automated assistant
US10282415B2 (en) 2016-11-29 2019-05-07 Ebay Inc. Language identification for text strings
US11281993B2 (en) 2016-12-05 2022-03-22 Apple Inc. Model and ensemble compression for metric learning
CN106709488A (zh) * 2016-12-20 2017-05-24 深圳市深信服电子科技有限公司 名片识别方法及装置
US10593346B2 (en) 2016-12-22 2020-03-17 Apple Inc. Rank-reduced token representation for automatic speech recognition
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
DK201770383A1 (en) 2017-05-09 2018-12-14 Apple Inc. USER INTERFACE FOR CORRECTING RECOGNITION ERRORS
US10417266B2 (en) 2017-05-09 2019-09-17 Apple Inc. Context-aware ranking of intelligent response suggestions
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK201770439A1 (en) 2017-05-11 2018-12-13 Apple Inc. Offline personal assistant
US10395654B2 (en) 2017-05-11 2019-08-27 Apple Inc. Text normalization based on a data-driven learning network
US11301477B2 (en) 2017-05-12 2022-04-12 Apple Inc. Feedback analysis of a digital assistant
DK201770429A1 (en) 2017-05-12 2018-12-14 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
DK201770431A1 (en) 2017-05-15 2018-12-20 Apple Inc. Optimizing dialogue policy decisions for digital assistants using implicit feedback
DK201770432A1 (en) 2017-05-15 2018-12-21 Apple Inc. Hierarchical belief states for digital assistants
US10311144B2 (en) 2017-05-16 2019-06-04 Apple Inc. Emoji word sense disambiguation
DK179560B1 (en) 2017-05-16 2019-02-18 Apple Inc. FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US10403278B2 (en) 2017-05-16 2019-09-03 Apple Inc. Methods and systems for phonetic matching in digital assistant services
US10657328B2 (en) 2017-06-02 2020-05-19 Apple Inc. Multi-task recurrent neural network architecture for efficient morphology handling in neural language modeling
US10796484B2 (en) * 2017-06-14 2020-10-06 Anand Babu Chitavadigi System and method for interactive multimedia and multi-lingual guided tour/panorama tour
US10721719B2 (en) * 2017-06-20 2020-07-21 Citrix Systems, Inc. Optimizing caching of data in a network of nodes using a data mapping table by storing data requested at a cache location internal to a server node and updating the mapping table at a shared cache external to the server node
US10445429B2 (en) 2017-09-21 2019-10-15 Apple Inc. Natural language understanding using vocabularies with compressed serialized tries
US10755051B2 (en) 2017-09-29 2020-08-25 Apple Inc. Rule-based natural language processing
US10636424B2 (en) 2017-11-30 2020-04-28 Apple Inc. Multi-turn canned dialog
US10733982B2 (en) 2018-01-08 2020-08-04 Apple Inc. Multi-directional dialog
CN110110292B (zh) * 2018-01-29 2023-11-14 北京搜狗科技发展有限公司 一种数据处理方法、装置和用于数据处理的装置
US10733375B2 (en) 2018-01-31 2020-08-04 Apple Inc. Knowledge-based framework for improving natural language understanding
US11848010B1 (en) * 2018-02-09 2023-12-19 Voicebase, Inc. Systems and methods for creating dynamic features for correlation engines
US11551570B2 (en) * 2018-02-15 2023-01-10 Smarthink Srl Systems and methods for assessing and improving student competencies
US10789959B2 (en) 2018-03-02 2020-09-29 Apple Inc. Training speaker recognition models for digital assistants
JP7170984B2 (ja) * 2018-03-02 2022-11-15 国立研究開発法人情報通信研究機構 疑似対訳データ生成装置、機械翻訳処理装置、および疑似対訳データ生成方法
US10592604B2 (en) 2018-03-12 2020-03-17 Apple Inc. Inverse text normalization for automatic speech recognition
US10747962B1 (en) * 2018-03-12 2020-08-18 Amazon Technologies, Inc. Artificial intelligence system using phrase tables to evaluate and improve neural network based machine translation
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10909331B2 (en) 2018-03-30 2021-02-02 Apple Inc. Implicit identification of translation payload with neural machine translation
JP6784718B2 (ja) * 2018-04-13 2020-11-11 グリー株式会社 ゲームプログラム及びゲーム装置
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US10984780B2 (en) 2018-05-21 2021-04-20 Apple Inc. Global semantic word embeddings using bi-directional recurrent neural networks
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
US11386266B2 (en) 2018-06-01 2022-07-12 Apple Inc. Text correction
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
DK201870355A1 (en) 2018-06-01 2019-12-16 Apple Inc. VIRTUAL ASSISTANT OPERATION IN MULTI-DEVICE ENVIRONMENTS
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
US10496705B1 (en) 2018-06-03 2019-12-03 Apple Inc. Accelerated task performance
US11463511B2 (en) 2018-12-17 2022-10-04 At&T Intellectual Property I, L.P. Model-based load balancing for network data plane
CN111626064A (zh) * 2019-02-26 2020-09-04 株式会社理光 神经机器翻译模型的训练方法、装置及存储介质
US11397600B2 (en) * 2019-05-23 2022-07-26 HCL Technologies Italy S.p.A Dynamic catalog translation system
US11842165B2 (en) * 2019-08-28 2023-12-12 Adobe Inc. Context-based image tag translation
CN110852118B (zh) * 2019-11-08 2022-02-01 北京中献电子技术开发有限公司 分布式机器翻译方法及系统
CN113157354B (zh) * 2020-01-07 2023-11-03 北京京东振世信息技术有限公司 处理数据的方法、装置、设备和计算机可读介质
CN111310449B (zh) * 2020-01-23 2021-01-26 北京百度网讯科技有限公司 基于语义表示的文本生成方法和装置
CN111310483B (zh) * 2020-02-11 2023-06-16 北京字节跳动网络技术有限公司 一种翻译方法、装置、电子设备及存储介质
WO2021184249A1 (en) * 2020-03-18 2021-09-23 Citrix Systems, Inc. Machine translation of digital content
WO2022043675A2 (en) 2020-08-24 2022-03-03 Unlikely Artificial Intelligence Limited A computer implemented method for the automated analysis or use of data
CN114253641A (zh) * 2020-09-25 2022-03-29 支付宝实验室(新加坡)有限公司 数据处理方法、移动终端及开放平台
WO2023161630A1 (en) 2022-02-22 2023-08-31 Unlikely Artificial Intelligence Limited Computer implemented methods for the automated analysis or use of data, including use of a large language model
US20230120230A1 (en) * 2021-10-20 2023-04-20 Transfluent Oy Method and system for translating source text of first language to second language

Family Cites Families (91)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4706212A (en) * 1971-08-31 1987-11-10 Toma Peter P Method using a programmed digital computer system for translation between natural languages
US4991094A (en) * 1989-04-26 1991-02-05 International Business Machines Corporation Method for language-independent text tokenization using a character categorization
US5510981A (en) * 1993-10-28 1996-04-23 International Business Machines Corporation Language translation apparatus and method using context-based translation models
US5715466A (en) * 1995-02-14 1998-02-03 Compuserve Incorporated System for parallel foreign language communication over a computer network
AU5969896A (en) * 1995-06-07 1996-12-30 International Language Engineering Corporation Machine assisted translation tools
US5918051A (en) * 1995-07-19 1999-06-29 Ricoh Company, Ltd. Object-oriented communication system with support for multiple remote machine types
JPH0981569A (ja) * 1995-09-12 1997-03-28 Hitachi Ltd 多カ国対応サービス提供システム
US6161083A (en) * 1996-05-02 2000-12-12 Sony Corporation Example-based translation method and system which calculates word similarity degrees, a priori probability, and transformation probability to determine the best example for translation
US5848386A (en) * 1996-05-28 1998-12-08 Ricoh Company, Ltd. Method and system for translating documents using different translation resources for different portions of the documents
US6085162A (en) * 1996-10-18 2000-07-04 Gedanken Corporation Translation system and method in which words are translated by a specialized dictionary and then a general dictionary
US5946498A (en) 1996-11-12 1999-08-31 International Business Machines Corporation Delivery of client remote procedure calls to a server via a request queue utilizing priority and time-out
US6092035A (en) * 1996-12-03 2000-07-18 Brothers Kogyo Kabushiki Kaisha Server device for multilingual transmission system
JPH10198680A (ja) * 1997-01-07 1998-07-31 Hitachi Ltd 分散辞書管理方法及びそれを用いた機械翻訳方法
JP2000516749A (ja) * 1997-06-26 2000-12-12 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 語構成源テキストを語構成目標テキストに翻訳する機械構成の方法及び装置
US6067545A (en) * 1997-08-01 2000-05-23 Hewlett-Packard Company Resource rebalancing in networked computer systems
DE19747583B4 (de) * 1997-10-28 2006-04-20 Telefonaktiebolaget Lm Ericsson (Publ) Kommunikationssystem und Verfahren
US6122666A (en) * 1998-02-23 2000-09-19 International Business Machines Corporation Method for collaborative transformation and caching of web objects in a proxy network
US6526426B1 (en) * 1998-02-23 2003-02-25 David Lakritz Translation management system
US6292880B1 (en) * 1998-04-15 2001-09-18 Inktomi Corporation Alias-free content-indexed object cache
US6795434B1 (en) * 1998-11-18 2004-09-21 Intel Corporation Replicated server discovery in client-proxy servers
US6347316B1 (en) * 1998-12-14 2002-02-12 International Business Machines Corporation National language proxy file save and incremental cache translation option for world wide web documents
US6167369A (en) * 1998-12-23 2000-12-26 Xerox Company Automatic language identification using both N-gram and word information
US6314469B1 (en) * 1999-02-26 2001-11-06 I-Dns.Net International Pte Ltd Multi-language domain name service
US6338033B1 (en) * 1999-04-20 2002-01-08 Alis Technologies, Inc. System and method for network-based teletranslation from one natural language to another
AUPQ141999A0 (en) * 1999-07-05 1999-07-29 Worldlingo.Com Pty Ltd Communication processing system
US6278969B1 (en) * 1999-08-18 2001-08-21 International Business Machines Corp. Method and system for improving machine translation accuracy using translation memory
US7171348B2 (en) * 1999-09-10 2007-01-30 Worldlingo.Com Pty Ltd Communication processing system
US6904402B1 (en) * 1999-11-05 2005-06-07 Microsoft Corporation System and iterative method for lexicon, segmentation and language model joint optimization
US7725307B2 (en) * 1999-11-12 2010-05-25 Phoenix Solutions, Inc. Query engine for processing voice based queries including semantic decoding
US20020013858A1 (en) * 2000-02-09 2002-01-31 Anderson Keith R. ARP caching apparatus and method
JP4073635B2 (ja) * 2000-02-29 2008-04-09 富士通株式会社 中継装置、サーバ装置、端末装置、及びこれを利用した翻訳サーバシステム
US7216072B2 (en) * 2000-02-29 2007-05-08 Fujitsu Limited Relay device, server device, terminal device, and translation server system utilizing these devices
US6907546B1 (en) * 2000-03-27 2005-06-14 Accenture Llp Language-driven interface for an automated testing framework
JP2003529845A (ja) * 2000-03-31 2003-10-07 アミカイ・インコーポレイテッド ネットワーク経由の多言語翻訳を提供する方法と装置
CA2408819C (en) * 2000-05-11 2006-11-07 University Of Southern California Machine translation techniques
AU2001275845A1 (en) * 2000-06-26 2002-01-08 Onerealm Inc. Method and apparatus for normalizing and converting structured content
US7225199B1 (en) * 2000-06-26 2007-05-29 Silver Creek Systems, Inc. Normalizing and classifying locale-specific information
GB2364143A (en) * 2000-06-30 2002-01-16 Nokia Corp Resource allocation
US7027975B1 (en) * 2000-08-08 2006-04-11 Object Services And Consulting, Inc. Guided natural language interface system and method
US7277732B2 (en) * 2000-10-13 2007-10-02 Microsoft Corporation Language input system for mobile devices
US6922670B2 (en) * 2000-10-24 2005-07-26 Sanyo Electric Co., Ltd. User support apparatus and system using agents
US6665642B2 (en) * 2000-11-29 2003-12-16 Ibm Corporation Transcoding system and method for improved access by users with special needs
US20020078117A1 (en) * 2000-12-19 2002-06-20 Wang Baldonado Michelle Q. System for creating efficient multi-step document conversion services
US7197749B2 (en) * 2000-12-19 2007-03-27 Xerox Corporation Method and system for executing batch jobs by delegating work to independent service providers
US20020103632A1 (en) * 2001-01-31 2002-08-01 International Business Machines Corporation Method, program, and tool for updating the national language versions of documents
US7533333B2 (en) * 2001-02-14 2009-05-12 Ricoh Co., Ltd. Object-oriented method and system of remote diagnostic, control and information collection using multiple formats and multiple protocols
US7295962B2 (en) * 2001-05-11 2007-11-13 University Of Southern California Statistical memory-based translation system
US7191115B2 (en) * 2001-06-20 2007-03-13 Microsoft Corporation Statistical method and apparatus for learning translation relationships among words
US20040230572A1 (en) * 2001-06-22 2004-11-18 Nosa Omoigui System and method for semantic knowledge retrieval, management, capture, sharing, discovery, delivery and presentation
US20030004702A1 (en) * 2001-06-29 2003-01-02 Dan Higinbotham Partial sentence translation memory program
US20030014254A1 (en) * 2001-07-11 2003-01-16 You Zhang Load-shared distribution of a speech system
US7065588B2 (en) * 2001-08-10 2006-06-20 Chaavi, Inc. Method and system for data transformation in a heterogeneous computer system
US20030061022A1 (en) * 2001-09-21 2003-03-27 Reinders James R. Display of translations in an interleaved fashion with variable spacing
JP3452558B2 (ja) * 2001-09-25 2003-09-29 インターナショナル・ビジネス・マシーンズ・コーポレーション 翻訳対象のリソースと分野別辞書を関連付けるための方法、システムおよびプログラム
TW544601B (en) * 2001-11-20 2003-08-01 Ind Tech Res Inst Method and structure for forming web server cluster by conversion and dispatching of web page documents
US7007026B2 (en) * 2001-12-14 2006-02-28 Sun Microsystems, Inc. System for controlling access to and generation of localized application values
US20030154071A1 (en) * 2002-02-11 2003-08-14 Shreve Gregory M. Process for the document management and computer-assisted translation of documents utilizing document corpora constructed by intelligent agents
EP1343079A1 (de) * 2002-03-07 2003-09-10 Infix Software-Systeme GmbH Verfahren, Software-Produkt und System zur universellen computergestützen Informationsverarbeitung
CN1643511A (zh) * 2002-03-11 2005-07-20 南加利福尼亚大学 命名实体翻译
WO2003105023A2 (en) * 2002-03-26 2003-12-18 University Of Southern California Statistical translation using a large monolingual corpus
US20030204573A1 (en) * 2002-04-30 2003-10-30 Andre Beck Method of providing a web user with additional context-specific information
US20030212962A1 (en) * 2002-05-08 2003-11-13 Amikai, Inc. Thin client-server architecture for automated machine translation
US7055142B2 (en) * 2002-05-10 2006-05-30 Microsoft Corporation Permutation nuances of the integration of processes and queries as processes at queues
JP3737779B2 (ja) * 2002-05-29 2006-01-25 富士通株式会社 翻訳サーバ、翻訳方法及びプログラム
US20040044517A1 (en) * 2002-08-30 2004-03-04 Robert Palmquist Translation system
US7249012B2 (en) * 2002-11-20 2007-07-24 Microsoft Corporation Statistical method and apparatus for learning translation relationships among phrases
US7546234B1 (en) * 2003-01-08 2009-06-09 Xambala, Inc. Semantic processing engine
US7627479B2 (en) * 2003-02-21 2009-12-01 Motionpoint Corporation Automation tool for web site content language translation
JP3920812B2 (ja) * 2003-05-27 2007-05-30 株式会社東芝 コミュニケーション支援装置、支援方法、及び支援プログラム
US8548794B2 (en) * 2003-07-02 2013-10-01 University Of Southern California Statistical noun phrase translation
US7346487B2 (en) * 2003-07-23 2008-03-18 Microsoft Corporation Method and apparatus for identifying translations
JP2005100335A (ja) * 2003-09-01 2005-04-14 Advanced Telecommunication Research Institute International 機械翻訳装置、機械翻訳コンピュータプログラム及びコンピュータ
JP3919771B2 (ja) * 2003-09-09 2007-05-30 株式会社国際電気通信基礎技術研究所 機械翻訳システム、その制御装置、及びコンピュータプログラム
US7536421B2 (en) * 2003-10-31 2009-05-19 Landmark Technology Partners, Inc. Intelligent client architecture computer system and method
US7657420B2 (en) * 2003-12-19 2010-02-02 Palo Alto Research Center Incorporated Systems and methods for the generation of alternate phrases from packed meaning
US7380039B2 (en) * 2003-12-30 2008-05-27 3Tera, Inc. Apparatus, method and system for aggregrating computing resources
US20050234864A1 (en) * 2004-04-20 2005-10-20 Shapiro Aaron M Systems and methods for improved data sharing and content transformation
GB2415518A (en) * 2004-06-24 2005-12-28 Sharp Kk Method and apparatus for translation based on a repository of existing translations
JP2006099296A (ja) * 2004-09-29 2006-04-13 Nec Corp 翻訳システム、翻訳通信システム、機械翻訳方法、および、プログラム
US8370395B1 (en) * 2004-10-15 2013-02-05 Amazon Technologies, Inc. Providing a reliable distributed queuing service
US7814473B2 (en) * 2004-10-27 2010-10-12 Oracle International Corporation Feature usage based target patching
US7440453B2 (en) * 2004-11-12 2008-10-21 International Business Machines Corporation Determining availability of a destination for computer network communications
JP4419871B2 (ja) * 2005-03-02 2010-02-24 富士ゼロックス株式会社 翻訳依頼装置およびプログラム
US7653528B2 (en) * 2005-03-08 2010-01-26 Microsoft Corporation Resource authoring incorporating ontology
CN101151600B (zh) * 2005-04-08 2012-02-22 松下电器产业株式会社 高速缓冲存储器系统及其控制方法
US7610187B2 (en) * 2005-06-30 2009-10-27 International Business Machines Corporation Lingual translation of syndicated content feeds
US20070118399A1 (en) * 2005-11-22 2007-05-24 Avinash Gopal B System and method for integrated learning and understanding of healthcare informatics
US7536295B2 (en) * 2005-12-22 2009-05-19 Xerox Corporation Machine translation using non-contiguous fragments of text
US7809882B1 (en) * 2006-01-24 2010-10-05 Verizon Services Corp. Session independent backend data cache system
US8296123B2 (en) * 2006-02-17 2012-10-23 Google Inc. Encoding and adaptive, scalable accessing of distributed models
US7983897B2 (en) 2007-02-14 2011-07-19 Google Inc. Machine translation feedback

Also Published As

Publication number Publication date
EP2511833B1 (en) 2020-02-05
EP1969493A4 (en) 2010-05-05
US20190018843A1 (en) 2019-01-17
EP2511833A3 (en) 2018-01-24
CN101361065A (zh) 2009-02-04
EP1983445A3 (en) 2009-11-18
US9619465B2 (en) 2017-04-11
EP1983445B1 (en) 2018-12-26
EP2511833A2 (en) 2012-10-17
EP1983445A2 (en) 2008-10-22
AU2007217900B2 (en) 2012-05-10
BRPI0706404B1 (pt) 2019-08-27
JP5122486B2 (ja) 2013-01-16
EP1969493B1 (en) 2018-12-26
US10089304B2 (en) 2018-10-02
US20140257787A1 (en) 2014-09-11
KR20080112192A (ko) 2008-12-24
AU2007217900A1 (en) 2007-08-30
EP2527990A3 (en) 2018-05-02
US8296123B2 (en) 2012-10-23
KR101431194B1 (ko) 2014-08-18
US20170212887A1 (en) 2017-07-27
US8738357B2 (en) 2014-05-27
CA2631815A1 (en) 2007-08-30
WO2007098055A3 (en) 2008-05-22
JP2009527818A (ja) 2009-07-30
CA2631815C (en) 2014-07-15
EP3534277B1 (en) 2021-10-06
US20080262828A1 (en) 2008-10-23
US10885285B2 (en) 2021-01-05
EP2527990A2 (en) 2012-11-28
US20130046530A1 (en) 2013-02-21
WO2007098055A2 (en) 2007-08-30
EP2527990B1 (en) 2020-01-15
BRPI0706404A2 (pt) 2011-03-29
EP3534277A1 (en) 2019-09-04
EP1969493A2 (en) 2008-09-17

Similar Documents

Publication Publication Date Title
CN101361065B (zh) 分布式模型的编码和自适应、可扩展访问
US9652483B1 (en) Index server architecture using tiered and sharded phrase posting lists
US8402033B1 (en) Phrase extraction using subphrase scoring
US7702614B1 (en) Index updating using segment swapping
US8600975B1 (en) Query phrasification
US7925655B1 (en) Query scheduling using hierarchical tiers of index servers
US8086594B1 (en) Bifurcated document relevance scoring
US20110191098A1 (en) Phrase-based document clustering with automatic phrase extraction
CN112860979A (zh) 资源搜索方法、装置、设备及存储介质
AU2012211440A1 (en) Encoding and adaptive, scalable accessing of distributed models

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: American California

Patentee after: Google limited liability company

Address before: American California

Patentee before: Google Inc.

CP01 Change in the name or title of a patent holder