多语种翻译存储器、翻译方法以及翻译程序的制作方法

文档序号:6639364阅读:224来源:国知局
专利名称:多语种翻译存储器、翻译方法以及翻译程序的制作方法
技术领域
本发明涉及将原始语言的句子、字符串或者文章翻译成目标语言的句子、字符串或者文章的多语种翻译装置,更具体地,涉及用于利用TRIE结构的翻译存储器的技术。
背景技术
将原始语言翻译成目标语言的机器翻译技术包括词对词直接翻译技术、基于分析的翻译技术和中间语言方法、基于统计的翻译技术、基于实例句子的翻译技术等。
对于词对词直接翻译技术,是将构成原始语言句子中的各个词直接翻译成目标语言的词,并根据统计数据或者预定规则生成目标语言的译文。
对于基于分析的翻译技术和中间语言方法,是对原始语言句子进行分词·标注分析、句法分析以及语义分析,并转换为目标语言的语义、句法、语素,然后生成目标语言中的译文。对于中间语言方法,是对原始语言的句子进行分析并将其转换为中间语言,根据转换的中间语言生成目标语言中的译文。
对于基于统计的翻译技术,是利用语言模型和翻译模型将原始语言翻译成目标语言。对于基于实例的翻译技术,像人类学习外语的过程一样,是参照对翻译的实例对例句进行学习而构成的知识库来将原始语言的输入句子翻译为目标语言的句子。
在上述的翻译技术中,中间语言方法的若干专利文献已公开。例如,日本专利申请特开平第6-32508号公报(以下称作文献1)提供了一种自动翻译系统,该自动翻译系统可以利用一种中间语言同时把一种原始语言翻译成两种或更多种目标语言。该翻译系统,对于原语言的文本数据,可进行高精度地分析和语义理解,能明确地表现知识信息,并以高水平的“翻译质量/时间”将以原始语言书写的文献翻译成多种目标语言。
日本专利申请特开昭第62-251875号公报(以下称作文献2)描述了一种电子翻译装置,该电子翻译装置根据与输入的原始语言相关的信息来提取标准化的中间语言,并根据提取的标准化中间语言生成与提取的标准化中间语言对应的目标语言的信息。
日本专利申请特开平第5-290082号公报(以下称作文献3)提供了一种用于机器翻译的翻译模式,根据该翻译模式用户可以容易地写作并有效地检索。将句子模板存储在具有树结构的检索词典中,将输入的文本句子与检索词典进行匹配。如果成功,则获得另一语言的对应句子模板,利用该对应句子的模板构成目标语言的文本句子。如果不成功,则利用基于语言分析的机器翻译技术和生成方法来进行翻译。
此外,翻译存储器的技术包括字符索引方法和词索引方法。根据字符索引方法,通过针对翻译对的双语语料库中包括的所有字符创建字符索引来实现翻译存储器。根据词索引方法,通过针对翻译对的双语语料库中包括的所有词创建词索引来实现翻译存储器。
注意,常规的翻译技术具有以下缺陷。可以以相对容易的方式来构建词对词直接翻译技术,然而同时,不能保证翻译准确度。中间语言方法可以对多语机器翻译起作用,然而句法分析和语义分析的技术并不成熟,实际应用非常困难。此外,对于中间语言方法,高度的语言分析和中间语言生成技术是必不可少的,并且,中间语言方法不能应用于许多领域的翻译,难以增强其功能,并且也很难对翻译工具进行维护。
文献3中公开的技术利用树结构来存储句子模板。如果在比较句子模板时发现了部分模板,则用一个变量来代替该部分模板,使得能够扩大该模板的表达范围。然而,如果没有将句子中包括的词作为部分模板登录在树结构中,则存在如下的问题即使存在对应于句子的模板,也不能找到该模板。在文献3的图7所示的树结构中,在句子“改进接触点”中“改进……”的模板被找到。然而,如果没有登录“改进功能”中的部分模板“功能”,则不能匹配“改进……”模板。此外,即使在树结构的较下级树中登录了“功能”的部分模板,也不能匹配“改进……”模板。这引起了另一问题为了覆盖较广范围表达,必需大量的登录句子模板。
利用字符索引方法的实例翻译存储器在实时翻译方面有困难。利用词索引方法的实例翻译存储器除了在实时翻译方面的困难之外,还不能用于多语翻译系统。

发明内容
鉴于上述背景,提出了本发明以解决上述问题,本发明提供了可以将原始语言的句子准确地翻译成目标语言的句子的翻译存储器、翻译系统以及翻译程序。
本发明还提供了可以将原始语言的句子同时翻译为多种目标语言的句子的翻译存储器、翻译系统以及翻译程序。
本发明进一步提供了可以减小双语检索词典等的存储容量并且可以高速进行翻译的翻译存储器、翻译系统以及翻译程序。
根据本发明的一个方面,可以提供一种适于句子翻译的基于实例记忆的实例翻译存储器,其包括第一语言的第一检索词典,具有第一词典TRIE结构和第一索引TRIE结构;以及第二语言的第二检索词典,具有第二词典TRIE结构和第二索引TRIE结构。第一词典TRIE结构和第二词典TRIE结构分别在其从根节点到多个叶子节点的各路径上存储有各子字符串。第一索引TRIE结构和第二索引TRIE结构分别存储第一词典TRIE结构和第二词典TRIE结构中的子字符串的索引信息。存储在第一检索词典中的索引信息包括对用于指出第二检索词典中的作为对第一检索词典中的子字符串的译文子字符串的索引信息进行标识的标识信息。采用词典TRIE结构和索引TRIE结构的双结构,以使得可以检索子字符串、可以尽可能地减小存储容量,并且可以加速基于句子的翻译。
根据本发明另一方面,可以提供一种机器翻译系统,其包括上述的翻译存储器;翻译引擎(engine),接收翻译存储器所不能翻译的句子并翻译该句子;以及输出部,输出由翻译存储器翻译的句子或者输出用翻译引擎翻译的句子。
根据本发明的另一方面,可以提供一种适于句子翻译的基于实例记忆的翻译存储器,其包括检索词典,该检索词典分别具有用于第一语言和第二语言的词典TRIE结构和索引TRIE结构。第一语言和第二语言各自的词典TRIE结构在从其根节点到多个叶子节点的各路径上存储着子字符串。第一语言和第二语言各自的索引TRIE结构存储有用于指出第一语言和第二语言中的对应一种的子字符串的第一索引信息。该第一索引信息包括标识用于指出第二语言的子字符串的第二索引信息的标识信息。在一个词典TRIE结构中存储多种语言的多个字符串,在一个索引TRIE结构中存储多种语言的多项索引信息。这使得可以减小存储容量并加速翻译过程。
根据本发明的另一方面,可以提供一种可由计算机读取以执行用于将原始语言翻译为目标语言的翻译程序的存储介质,该存储介质的功能包括以下步骤将第一语言和第二语言的子字符串存储在第一词典TRIE结构和第二词典TRIE结构中的从根节点到多个叶子节点的各路径上;以及在第一检索词典和第二检索词典中的第一索引TRIE结构和第二索引TRIE结构中建立指出存储在第一词典TRIE结构和第二词典TRIE结构中的子字符串的索引信息。


根据以下附图来详细说明本发明的实施例,在附图中图1表示根据本发明第一实施例的机器翻译系统的整体配置;图2表示翻译存储器引擎的配置;图3表示本发明实施例的翻译存储器引擎的硬件配置;图4表示翻译存储器的检索词典的配置;图5表示TRIE结构的示例;图6是示出词典TRIE结构的图;图7是示出索引TRIE结构的图;图8是构建词典TRIE结构的流程图;
图9是示出对字符串进行分割的示例的图;图10表示将翻译数据登录在检索词典中的示例;图11A表示词典TRIE结构中的节点的物理结构;图11B表示索引TRIE结构;图12A和12B表示标志和语言ID;图13A表示词典TRIE结构中的节点的逻辑结构;图13B表示索引TRIE结构中的节点的逻辑结构;图14是示出如何标注节点ID的图;图15表示节点记录的排列;图16表示检索词典的处理流程;图17是示出将语言i的文本句子翻译为语言j的另一文本句子的操作的流程图;图18表示日语与汉语之间的翻译示例;图19是示出日语和汉语的词典TRIE结构和索引TRIE结构的图;图20表示日语与英语之间的翻译示例;图21是示出日语和英语的词典TRIE结构和索引TRIE结构的图;图22表示根据本发明第二实施例的用于翻译存储器的检索词典;图23A表示根据本发明第三实施例的用于翻译存储器的检索词典;图23B表示根据本发明第三实施例的语言i的语言TRIE结构的节点结构;以及图24A和24B表示本发明第三实施例的变型例。
具体实施例方式
现在将参照附图对本发明的实施例进行说明。
图1表示根据本发明第一实施例的机器翻译系统1的整体配置。机器翻译系统1不能正确地翻译文献的所有部分。如果强迫翻译无法翻译的部分,这将使用户迷惑,并且这可能对理解原始内容造成不利影响。因此,机器翻译系统1设计为能够区分翻译结果是否成功,能提供翻译结果的可信度。此外,翻译系统具备学习功能,从而可以自动收集无法翻译的部分,并对无法翻译的部分进行人工翻译修改,通过自动学习人工翻译修改过的译文数据,可以改进翻译系统的翻译性能。
机器翻译系统1包括翻译存储器引擎12、分词·标注分析部分14、基于模板的翻译引擎16、基于chunk的示例翻译引擎18、基于分析的或者词对词直接翻译引擎20、以及目标语言文本形成部22。翻译存储器引擎12对从原始语言文本句子输入部10输入的各个句子进行翻译。对于不能在翻译存储器引擎12的数据库中相匹配的部分(即,不能准确翻译的部分)输入到分词·标注分析部14,以对输入部分的语素进行分析。然后在将分析·标注分析部14中分析的输入句子的分析结果输入到基于模板的翻译引擎16中以基于模板进行翻译。如果基于模板的翻译引擎16不能翻译该分析结果,则将对输入句子的分词·标注分析的结果输入到基于chunk的实例翻译引擎18,利用基于chunk的实例句对(词的组合或者诸如名词短语的短语)来进行翻译。如果基于chunk的实例翻译引擎18不能翻译分词·标注分析的结果,则将分词·标注分析的结果输入到基于分析的或者词对词直接翻译引擎20以根据分析或者词来翻译。目标语言文本形成部22形成目标语言的文本句子。
将在翻译存储器引擎12、基于模板的翻译引擎16或者基于chunk的实例翻译引擎18中能够成功翻译的翻译结果数据分别输入到目标语言文本形成部22。目标语言文本形成部22根据翻译结果数据形成目标语言的文本。这里,对成功地进行了翻译的部分提供标识,以明示翻译结果的准确性。另一方面,由基于分析的或者词对词直接翻译引擎20翻译的翻译结果数据仅仅作为参考在目标语言文本形成部22输出。这使得用户能够查看并且知道翻译文本中哪部分为可靠或者不可靠。
收集部24收集在基于chunk的实例翻译引擎18中翻译失败的文本数据。对收集到的不能翻译的部分进行人工翻译。人工翻译的结果输出到学习引擎26。学习引擎26根据正确的翻译将翻译数据进行学习,并把学习结果登录到翻译词典28。
图2表示根据本实施例的翻译存储器引擎的配置。翻译存储器引擎12包括与N(1,2,……,N)种语言相对应的检索词典12-1、12-2、……、和12-N。将检索词典12-1的输出输入到检索词典12-2并且将检索词典12-N的输出输入到检索词典12-1。可以把检索词典12-1到12-N这N个检索词典连接起来以形成双向循环。从原始语言文本句子输入部分10输入文本句子,翻译存储器引擎12能够用检索词典12-1将该文本句子翻译为语言1,还能够用检索词典12-2将语言1的翻译结果翻译为语言2。换言之,可以同时将输入的文本句子翻译为N种语言。目标语言文本形成部分22输出用户指定的目标语言的翻译。目标语言不限于单种语言,可以包括两种或更多种。
图3表示翻译存储器引擎12的硬件配置。翻译存储器引擎12包括输入装置30、显示装置32、主存储装置34、外部存储装置36、中央处理单元(CPU)38、以及连接前述装置和单元的总线40。输入装置30可以是通过键操作输入单词的键盘、对文件中所列的单词进行光学读取的光学读取器、或者其他硬件或软件的计算结果。
显示装置32包括输出原始语言的文本句子或者从原始语言翻译出的目标语言的句子的显示器等。主存储装置34包括用于存储数据(例如用于控制翻译存储器的程序和计算结果)的ROM或者RAM。外部存储装置36例如包括诸如硬盘的大容量存储装置,以存储句子翻译所必需的诸如检索词典12-1到12-N的翻译词典。CPU(中央处理单元)38根据存储在主存储装置34中的程序对各个装置或者单元进行控制。
接下来,对翻译存储器引擎进行更详细的说明。图4表示翻译存储器的检索词典的配置。检索词典12-1到12-N各自包括词典TRIE结构100-1到100-N以及索引TRIE结构200-1到200-N。词典TRIE结构100-1按照TRIE结构存储与语言1相关的子字符串。索引TRIE结构200-1按照TRIE结构存储用于指出词典TRIE结构100-1中的子字符串的索引信息。在各种语言中都建有具有词典TRIE结构和索引TRIE结构的双TRIE结构。
TRIE结构是语言信息处理领域中的合并了检索关键字组中的公用字符串的树结构。图5示出了其中包括5个检索关键字“AB”、“ABCD”、“ABCE”、“ABXY”以及“ABXZ”的TRIE结构的示例。图5中的$可以用作表示词后缀的特殊字符。在基于TRIE结构的检索中,当从左起顺序地扫描要搜索的字符串时,从存有字符信息的根节点(节点N1)到各节点N2~N13对树进行追踪,并提取与要检索的字符串相匹配的词。根据TRIE结构,可以在与要检索的字符串成比例的时间段内而不依赖于检索关键字的数量迅速地对字符进行检索。
图6是示出词典TRIE结构的图。词典TRIE结构在从根节点110到叶子节点120-1至120-N的路径上存储多个子字符串。例如,对从叶子节点120-1到根节点的路径进行追踪可得到该路径上的节点中包括的子字符串M10、M11、……、M1n。以同样的方式,对从叶子节点120-2到根节点的路径进行追踪可得到该路径上的节点中包括的子字符串M20、M21、……、M2n。可以根据需要确定从根节点到叶子节点的路径上存在的节点的数量,即子字符串的字符的数量。
图7是示出索引TRIE结构的图。索引TRIE结构使得可以检索并给出词典TRIE结构中包括的字符串。索引TRIE结构中的各个节点是用于存储字符串的索引信息。索引信息包括用于识别词典TRIE结构的叶子节点的信息。例如,节点222-2存储索引信息IN2,索引信息IN2包括词典TRIE结构的叶子节点120-2的信息。节点220-2存储索引信息IN1,索引信息IN1包括词典TRIE结构的端节点120-1的信息。换言之,索引信息IN2可以指出M20、M21、……、M2n的子字符串,索引信息IN1可以指出M10、M11、……、以及M1n的子字符串。以这种方式,可以通过索引TRIE结构中的从叶子节点到根节点的路径中包括的索引信息指出由词典TRIE结构中的各个子字符串所组成的句子。
此外,索引TRIE结构中的叶子节点220-1、220-2、……、220-N链接到另一索引TRIE结构中的叶子节点230-1、230-2、……、230-N。该链接指出了原始语言的句子与目标语言的翻译句子之间的关系。例如,叶子节点220-2包括设置在另一语言的索引TRIE结构中的叶子节点230-1的信息以链接到叶子节点230-1。由从叶子节点230-1到根节点212的路径上的各节点中存储的索引信息IN1、IN2以及IN3所给出的各子字符串所组成的句子,是从叶子节点220-2到根节点210的路径上的各节点中存储的索引信息IN1、IN2、IN3以及IN4所给出的各子字符串的译文。
下面将对词典TRIE结构的创建流程进行说明。参照图8,新注册或者添加词典TRIE结构。从用于翻译存储器的双语数据文件输入数据(步骤S101)。CPU 38在数据格式转换中将输入的数据转换为统一码(Unicode)。并生成字符串J和另一字符串C。字符串C是对字符串J的译文。
然后,CPU 38从左到右将字符串J分为具有长度mj的kj个子字符串J1、J2、……、Jkj,如图9所示(步骤S103)。以同样的方式,CPU 38从左到右将字符串C分为具有长度mc的kc个子字符串C1、C2、……、Ckc。
接下来,CPU 38对子字符串J1、J2、……、Jkj或者子字符串C1、C2、……、Ckc是否包括在各自对应语言的检索词典中进行检查(步骤S104)。如果没有检测到字符串J和C,则CPU 38将子字符串J1、J2、……、Jkj或者子字符串C1、C2、……、Ckc分别登录在对应的检索词典中,将信息存储在日志文件中并结束过程(步骤S106)。
相反地,如果子字符串J1、J2、……、Jkj或者子字符串C1、C2、……、Ckc包括在各自对应语言的检索词典中,则CPU 38将信息存储在日志文件中并结束过程(步骤S106)。
用户能够对存储在外部存储装置36中的检索词典的内容进行编辑。使得能用显示装置32显示现有检索词典中注册的字符串,并可用输入装置30进行校正。
图10表示在检索词典中登录的翻译数据的示例。在图10中,100-J是语言J的词典TRIE结构,词典100-C是语言C的词典TRIE结构。如上所述,从翻译数据输入两种语言之一的语言J的字符串,将语言J的字符串分割为子字符串J1、J2、……、Jkj并将其追加到词典TRIE结构100-J中。另一方面,将作为对字符串J的翻译的字符串C分割为子字符串C1、C2、……、Ckc并将其追加到词典TRIE结构100-C中。
在词典TRIE结构100-J中子字符串J1、J2、……、Jkj被存储在从根节点到叶子节点的路径上。由此形成语言J的索引TRIE结构200-J。以同样的方式,在词典TRIE结构100-C中子字符串C1、C2、……、Ckc被存储在从根节点到叶子节点的路径上。由此形成语言C的索引TRIE结构200-C。
接下来,建立语言J的索引TRIE结构中的叶子节点与语言C的索引TRIE结构中的叶子节点之间的链接关系。以这种方式,根据翻译数据将检索词典构建为对应于多种语言。
此外,关于分割子字符串的方法,例如,可以预定子字符串中包括的字符个数。在这种情况下,输入句子除以预定数的值为子字符串的个数。另一种方法,可以预定子字符串的个数。在这种情况下,将输入句子除以子字符串个数的值设为子字符串中的字符个数。子字符串中的字符个数在语言J与语言C之间可以是相同的,或者可以不同。
接下来,对TRIE结构中的节点的结构定义进行说明。存在两种节点的结构定义,一种为物理结构,另一种为逻辑结构。图11A表示词典TRIE结构中节点的物理结构。词典TRIE节点ID 300表示用于标识该节点的信息(ID)。字符信息302表示该节点中包括的字符是日语汉字字符、日语平假名字符、日语片假名字符、还是字母。如图12A所示,字符串标志304是表示该节点是否是字符串中的最末节点的标志。如果标志是0,这表示字符串的末尾。如果标志是1,这不表示字符串的末尾。例如,词典TRIE结构中的叶子节点的标志为0,其他节点的标志为1。
如图12B所示,译文语言ID 306标识语言种类。例如,将日语设为1,汉语设为2,英语设为3。此外,还设有最左子节点的存储器指针308,父节点的存储器指针310、以及右兄弟节点的存储器指针312,这些是TRIE结构中的必要信息。
图11B示出了索引TRIE结构。索引TRIE节点ID 320是用于标识该节点的信息。词典TRIE节点指针321是用于标识与该节点对应的词典TRIE结构中的节点的信息。也就是说,该信息给出了该节点是否是词典TRIE结构中的叶子节点的信息。句子标志322是用于指出该节点是否是叶子节点的信息。然后,还包括译文语言ID 324、最左子节点的存储器指针326、父节点的存储器指针328、以及右兄弟节点的存储器指针330。译文索引TRIE节点ID的指针332是给出译文语言的索引TRIE结构中的对应叶子节点的信息。
图13A示出了词典TRIE结构中的节点的逻辑结构。标号340表示上述的节点中存储的字符信息。标号342表示字符串标志+子节点标志+译文语言ID。如上所述,如果字符串标志是“1”,则该节点是中间节点,如果字符串标志是“0”,则该节点表示字符串的结尾,即,从根节点到该节点的路径上的信息代表一个字符串。如果子节点标志是“0”,这表示该节点没有子节点。如果子节点标志是“1”,这表示该节点有子节点。译文语言ID与上述相同,还包括父节点ID 344和右兄弟节点345。
图13B表示索引TRIE结构中的节点的逻辑结构。词典TRIE节点ID350是该节点相对应的词典TRIE节点结构中的叶子节点ID。句子标志是表示该节点是否是句子的末尾的信息。索引TRIE结构的叶子节点表示句子的末尾,例如,叶子节点的标志是“1”而其他节点的标志是“0”。索引TRIE父节点ID 352是用于给出该节点的父节点的信息。此外,还存储有子标志+索引TRIE右兄弟节点ID 354和译文索引TRIE节点ID 356。
下面,对如何标注节点ID进行说明。图14是示出如何标注节点ID的说明图。按照深度优先顺序对TRIE结构进行检索,根据检索顺序使编号从1或0开始递增,然后标注上节点ID。在标注上节点ID之后,根据节点ID顺序设置并存储对应于节点ID的记录。记录是根据节点ID顺序来排列的,这样可以迅速地访问节点ID所指出的节点信息。
图16示出了检索词典的处理流程。在新追加数据时,先将从图3所示的输入装置30输入的句子分割为子字符串。然后按照图11A所示的节点物理结构的定义来构成词典TRIE结构中的词信息记录(步骤S201)。
接下来,按照深度优先顺序对物理TRIE结构中的所有节点标注ID(步骤S202)。然后,使用物理TRIE结构和节点ID构建逻辑TRIE结构和词信息记录(步骤S203)。由此建立词典TRIE结构和索引TRIE结构(步骤S204)。
在追加和编辑时,先将现有的词典TRIE结构和现有的索引TRIE结构转换为存储器上的物理结构(步骤S205)。然后在存储器上的物理TRIE结构中编辑或者追加句子或子字符串(步骤S206)。这此,必须将TRIE结构的根节点设为空(Null),并且必须从左到右地按照字符信息值的升序来排列各节点的各个子节点。例如,对于需要两个字节来表示一个字符的语言,词典TRIE结构中的每个节点以两个字节代表一个字符。
现在对多语检索词典的设置进行说明。
(1)针对语言1、语言2、……、语言N将语言1、语言2、……、语言N的文本句对分别分割为多个子字符串。将分割的子字符串用于构建各种语言的词典TRIE结构和索引TRIE结构。
(2)对N个翻译词典TRIE结构和索引TRIE结构的节点分别标注节点ID。
(3)存储TRIE结构TRIE结构的节点信息为固定长度,所以将一个节点信息看作一个记录。按照节点ID的顺序设置TRIE结构的节点信息。这使得能够根据节点ID取出节点ID标示的节点信息。
(4)使用具有语言1的文本句子—语言2的文本句子……语言N的文本句子的多种语言翻译句对的集合,将语言i(i=1,2,……,以及N)的文本句子与语言i的词典TRIE结构进行匹配,若匹配成功,使用通过上述匹配而获得的k个节点ID(ID1(i)、ID2(i)、……、IDk(i))与语言i的索引TRIE结构进行匹配。
(5)如果匹配成功,则获得索引TRIE结构中匹配上的节点ID。把获得的节点ID设置为I(i)。将译文索引TRIE节点ID(译文语言标示i+1)表示为T(i),由此,T(1)=I(2),T(2)=T(3),……,T(N)=I(1)。
参照图17对将语言i的文本句子翻译为语言j的文本句子的翻译流程进行说明。输入文本句子(步骤S301)。将该文本句子分割为子字符串(步骤S302)。将由此分割的子字符串分别与语言i的词典TRIE结构进行匹配(步骤S303)。
如果匹配成功(步骤S304),则使用通过上述匹配而获得的k个节点ID(ID1(i)、ID2(i)、……、IDk(i))与语言i的索引TRIE结构进行匹配。如果匹配成功(步骤S306),则根据与语言i的索引TRIE结构的节点I(i)对应的译文索引TRIE节点ID的值T(i),获得语言i+1的索引TRIE结构中的节点I(i+1)的值T(i+1)(步骤S307)。
如果j等于i+1(步骤S308),则获得从节点I(i+1)到根节点的路径上的信息,并且获得语言j的词典TRIE结构中的h个节点ID(步骤S309)。使用ID1(j)、ID2(j)、……、以及IDh(j),从语言j的词典TRIE结构中获得译文,并输出由此获得的译文(步骤S310)。如果j不等于i+1,则返回步骤S307。这样,将语言i的文本句子翻译为语言j的文本句子。
现在对日语与汉语之间的机器翻译的示例进行说明。该示例可以应用于用双字节来表示一个字符的语言之间的机器翻译。首先,对建立翻译词典的操作进行说明。对日语和汉语的文本句对集合中的各个句对,分别将其分割为日语和汉语的多个子字符串。使用被分割好的子字符串来构建对应语言的词典TRIE结构和索引TRIE结构。将针对如图18所示的文本句子示例来说明怎样从日语翻译成汉语。如图18所示,将日语的文本句子分割为子字符串J1到J7。如图18所示,将汉语的文本句子分割为子字符串C1到C6,将这二者都存储在各自的词典TRIE结构中。这里,将子字符串中的字符个数设为5。
图19是示出日语和汉语的词典TRIE结构和索引TRIE结构的图。对日语和汉语的词典TRIE结构和索引TRIE结构标注节点ID。
对于每一对日语文本句子和汉语文本句子的对译句对,先将对译句对中的日语文本句子与日语的词典TRIE结构进行匹配。然后将由此获得的日语词典TRIE结构中的7个节点ID(ID1(1)、ID2(1)、……、ID7(1))与日语的索引TRIE结构进行匹配。当在日语的索引TRIE结构中匹配成功时取出节点ID1(1)。
再将上述对译句对中的汉语文本句子与汉语的词典TRIE结构进行匹配。将由此获得的6个节点ID(ID1(2)、ID2(2)、……、ID6(2))与汉语的索引TRIE结构进行匹配。当在汉语的索引TRIE结构中匹配成功时获得节点ID1(2)。假定汉语索引TRIE结构中的节点I(1)的节点ID表示为T(1),则T(1)等于I(2)。假定日语的索引TRIE结构中的节点I(2)的节点ID表示为T(2),则T(2)等于I(1)。
接下来说明翻译操作。将日语文本句子分割为子字符串J。将分割的子字符串J1、J2、……、以及J7与日语的词典TRIE结构进行匹配,获得ID1(1)、ID2(1)、……、ID7(1)。
然后,将ID1(1)、ID2(1)、……、ID7(1)作为子字符串与日语的索引TRIE结构进行匹配。通过该匹配获得节点I(1)。通过译文索引TRIE结构中的节点ID(1)的值获得汉语的索引TRIE结构中的节点I(2)。
在汉语的索引TRIE结构中从节点I(2)到根节点对汉语的索引TRIE结构进行回溯,获得汉语的词典TRIE结构中的节点ID(ID1(2)、ID2(2)、……、ID6(2))。使用节点ID(ID1(2)、ID2(2)、……、ID6(2))从汉语的词典TRIE结构提取汉语译文。
现在对日语与英语之间的机器翻译的示例进行说明。该示例可以应用于用双字节来表示一个字符的语言与用单字节来表示一个字符的另一种语言之间的机器翻译。首先,对建立翻译词典的操作进行说明。分别把日语和英语的文本句子组分割为日语和英语的多个子字符串。使用被分割好的子字符串来构建对应语言的词典TRIE结构和索引TRIE结构。将针对如图20所示的文本句子示例来说明怎样从日语翻译成英语。如图20所示,将日语的文本句子分割为子字符串J1到J5。如图20所示,将英语的文本句子分割为E1到E4,将这二者都存储在各自的词典TRIE结构中。这里,将日语的子字符串中的字符个数设为5,将英语的子字符串中的字符个数设为10。
图21是示出日语和英语的词典TRIE结构和索引TRIE结构的图。对日语和英语的词典TRIE结构和索引TRIE结构标注节点ID。
对于每一对日语文本句子和英语文本句子的对译句对,先将其中的日语文本句子与日语的词典TRIE结构进行匹配。然后将由此获得的日语词典TRIE结构中的5个节点ID(ID1(1)、ID2(1)、……、ID5(1))与日语的索引TRIE结构进行匹配。当在日语的索引TRIE结构中匹配成功时获得节点ID1(1)。
再将上述对译句对中的英语文本句子与英语的词典TRIE结构进行匹配。将由此获得的4个节点ID(ID1(2)、ID2(2)、……、ID4(2))与英语的索引TRIE结构进行匹配。当在英语的索引TRIE结构中匹配成功时获得节点ID1(2)。假定在英语的索引TRIE结构中的节点I(1)的节点ID表示为T(1),则T(1)等于I(2)。假定在日语的索引TRIE结构中的节点I(2)的节点ID表示为T(2),则T(2)等于I(1)。
接下来说明翻译操作。将日语文本句子分割为子字符串J。将分割的子字符串J1、J2、……以及J5与日语的词典TRIE结构进行匹配,获得ID1(1)、ID2(1)、……、以及ID5(1)。
然后,将ID1(1)、ID2(1)、……、ID5(1)作为子字符串与日语的索引TRIE结构进行匹配。通过该匹配获得节点I(1)。通过翻译索引TRIE结构中的节点I(1)的值获得英语的索引TRIE结构中的节点I(2)。
在英语的索引TRIE结构中从节点I(2)到根节点对英语的索引TRIE结构进行回溯,获得英语的词典TRIE结构中的节点ID(ID1(2)、ID2(2)、……、ID4(2))。使用节点ID(ID1(2)、ID2(2)、……、以及ID4(2))从英语的词典TRIE结构提取英语译文。
根据本发明的本实施例,翻译存储器能够实现多语翻译,并能准确且迅速地翻译多种语言,此外,翻译词典的大小可以减小到传统TRIE结构的翻译词典的一半或三分之一。特别是,本发明的翻译存储器适合于成语、谚语、技术领域的报告、手册、技术文献等。此外,具有学习能力,通过学习对译句对,可使其能够在学习之后进行更准确的翻译。本发明的翻译存储器可以应用于建立多语种词到词直接翻译词典和基于模板的多语种实例机器翻译装置。
下面将对本发明的第二实施例进行说明。词典TRIE结构和索引TRIE结构可对应多种语言(优选为包括两种语言)。
参照图22,将表示第一语言的句子的字符串J分割为子字符串J1、J2、……、以及Jk1,将子字符串J1、J2、……、Jk1输入词典TRIE结构400。将表示第二语言的句子的字符串C分割为子字符串C1、C2、……、Ck2,将子字符串C1、C2、……、Ck2输入词典TRIE结构400。
在词典TRIE结构400中从根节点到节点IDi的路径上存储记录Ji的信息,根据ID1、ID2、……、以及IDk1建立索引TRIE结构410。在词典TRIE结构400中的从根节点到节点IDj的路径上存储记录Cj的信息,根据ID1、ID2、……、以及IDk1建立索引TRIE结构410。然后,将两种语言的信息之间的关系添加到索引TRIE结构。这使得可以使词典TRIE结构和索引TRIE结构对应于两种语言。
现在对本发明的第三实施例进行说明。根据本发明的第三实施例,词典TRIE结构和索引TRIE结构包括在一个结构中。图23A示出了根据本发明第三实施例的用于翻译存储器的检索词典。这里,为了简化,示出语言i和语言j的检索词典。
将语言i的句子的字符串Si登录到语言TRIE结构400-i。将字符串Si的信息存储在语言i的语言TRIE结构400-i中的从根节点到叶子节点IDi的路径上。以同样的方式,将字符串Sj的信息存储在语言j的语言TRIE结构400-j中的从根节点到叶子节点IDj的路径上。
图23B示出了语言i的语言TRIE结构的节点结构。节点结构包括节点ID 402、字符信息404、句子标志+子节点标志+译文语言ID 406、与语言j的检索词典对应的译文句子的节点ID 408、父节点410、以及右兄弟节点412。
为了进行翻译,输入字符串Si,从语言i的TRIE结构400-i的根节点开始搜索节点IDi,从节点IDi获得译文信息IDj。通过从语言j的TRIE结构的节点IDj向根节点进行反向扫描,获得译文句子Sj。
如果根据本发明第三实施例,检索词典限于两种语言,则可以如图24A所示地构成TRIE结构。将语言1的句子J和语言2的句子C分别输入词典TRIE结构500以建立检索词典。在TRIE结构500中,从根节点到节点IDj的路径上存储有关句子J的信息。在TRIE结构500中,从根节点到节点IDc的路径上存储有关句子C的信息。图24B表示其节点结构。在这种情况下,译文句子的节点ID 502对应于语言1或者语言2的译文信息。
为了进行翻译,从TRIE结构500的根节点开始搜索句子J,获得节点IDj,并且获得IDj节点中存储的译文句子的信息IDc。可以通过从语言j的TRIE结构500的节点Idc向根节点进行反向扫描来获得译文句子C。
使用本实施例的翻译存储器,可以获得以下的效果。第一实施例的翻译存储器的空间量与字符索引方法的几乎相等,然而,已经发现使用第一实施例的翻译存储器的翻译速率比字符索引方法的翻译速率快24,000倍。此外,与单词索引方法相比,可以大大减小存储容量,并且翻译速率比单词索引方法快几乎500倍。此外,第一实施例的翻译存储器的存储容量比第三实施例的翻译存储器的存储容量小56%。第一实施例的翻译速率比第三实施例的翻译速率约快4倍。
关于上述方面的翻译存储器,可以针对每种语言构建检索词典,可任意选择目标语言。换言之,本发明的翻译存储器是多语种翻译存储器。
关于上述方面的翻译存储器,用户输入任意语言的句子,获得其在对应语言中的翻译。用户能够选择目标语言。
关于上述方面的翻译存储器,如果词典TRIE结构在每个子字符串中具有5个字符,则将输入的句子按5个字符分割,在词典TRIE结构中对具有5个字符的子字符串进行检索。
本发明的翻译存储器可以应用于多语种机器翻译系统,例如,基于模板的或基于实例的多语种机器翻译,或者基于chunk的实例多语种机器翻译。此外,本发明的翻译存储器可以应用于扫描(scan)翻译,根据扫描翻译,像复印那样实时地对文本进行翻译以获得电子数据,还可以应用于具有扫描翻译装置的多语翻译业务,所述扫描翻译装置具有自动判断翻译结果的可信度功能和自动回收不能翻译的功能。此外,用于执行翻译存储器的软件可以安装在计算机上,或者可以用作移动或者便携式电子词典。
虽然已经示出并说明了本发明的一些实施例,但是本领域技术人员应该理解,可以在不脱离本发明的原则和精神的情况下对这些实施例进行修改,本发明的范围在权利要求及其等同物中限定。
在此通过引用全部并入2005年3月14日提交的包括说明书、权利要求书、附图和摘要的日本专利申请No.2005-071068中的全部公开内容。
权利要求
1.一种适于句子翻译的基于实例记忆的翻译存储器,其包括第一语言的第一检索词典,具有第一词典TRIE结构和第一索引TRIE结构;以及第二语言的第二检索词典,具有第二词典TRIE结构和第二索引TRIE结构,第一词典TRIE结构和第二词典TRIE结构分别在其从根节点到多个叶子节点的各路径上存储子字符串,第一索引TRIE结构和第二索引TRIE结构分别存储用于指出存储在第一词典TRIE结构和第二词典TRIE结构中的子字符串的索引信息,存储在第一检索词典中的索引信息包括标识信息,该标识信息对用于指出第二检索词典中的作为对第一检索词典中的子字符串的译文子字符串的索引信息进行标识。
2.根据权利要求1所述的翻译存储器,其中,索引信息通过词典TRIE结构中的从根节点到叶子节点的路径来指出子字符串。
3.根据权利要求2所述的翻译存储器,其中,索引信息包括用于识别词典TRIE结构中的叶子节点的节点ID信息项。
4.根据权利要求1所述的翻译存储器,其中,第一检索词典中的索引信息包括与第二检索词典的索引TRIE结构中对应的节点ID信息项。
5.根据权利要求1所述的翻译存储器,其中,索引信息通过索引TRIE结构中的从根节点到叶子节点的路径来指出由组成句子的多个子字符串。
6.根据权利要求1所述的翻译存储器,还包括具有第三语言的第三词典TRIE结构和第三索引TRIE结构的第三检索词典,第三词典TRIE结构在其从根节点到多个叶子节点的各路径上存储子字符串,第三索引TRIE结构存储用于指出存储在第三词典TRIE结构中的子字符串的索引信息,存储在第三检索词典中的索引信息包括对用于指出第三检索词典中的作为对第一检索词典中的子字符串的译文子字符串的索引信息进行标识的标识信息。
7.根据权利要求1所述的翻译存储器,还包括输入部,输入可以是第一语言或者第二语言的原始语言的句子;分割部,将输入部输入的句子分割为多个子字符串;检索部,将分割部分割的多个子字符串与第一检索词典中的第一词典TRIE结构进行比较,并检索出子字符串的索引信息;提取部,根据检索部检索到的索引信息在第二检索词典中的第二索引TRIE结构中指定对应的索引信息,根据指定的索引信息在第二词典TRIE结构中指出子字符串,并且提取第二语言中的句子;以及输出部,输出提取部提取的句子。
8.根据权利要求7所述的翻译存储器,其中,各个子字符串中包括的字符个数等于第一词典TRIE结构到第三词典TRIE结构中的每一个从根节点到叶子节点的路径所存储的字符个数。
9.根据权利要求1所述的翻译存储器,还包括从第一检索词典到第N检索词典以对应于N种语言,其中N表示至少为2的整数;其中,索引信息给出了各个检索词典之间的至少一个翻译关系。
10.一种适于句子翻译的基于实例记忆的翻译存储器,其包括检索词典,所述检索词典分别具有用于第一语言和第二语言的词典TRIE结构和索引TRIE结构,第一语言和第二语言中的词典TRIE结构在其从根节点到多个叶子节点的各路径上存储子字符串,第一语言和第二语言中的索引TRIE结构分别存储用于给出第一语言和第二语言所对应的子字符串的索引信息,第一索引信息包括对用于给出第二语言的子字符串的第二索引信息进行标识的标识信息。
11.一种机器翻译系统,包括用于基于实例记忆的的翻译存储器;翻译引擎,接收翻译存储器所不能翻译的句子并翻译该句子;以及输出部,输出由翻译存储器翻译的句子或者输出用翻译引擎翻译的句子,所述翻译存储器包括第一语言的第一检索词典,具有第一词典TRIE结构和第一索引TRIE结构;以及第二语言的第二检索词典,具有第二词典TRIE结构和第二索引TRIE结构,第一词典TRIE结构和第二词典TRIE结构分别在其从根节点到多个叶子节点的各路径上存储子字符串,第一索引TRIE结构和第二索引TRIE结构分别存储用于指出存储在第一词典TRIE结构和第二词典TRIE结构中的子字符串的索引信息,存储在第一检索词典中的索引信息包括对用于指出第二检索词典中的作为对第一检索词典中的子字符串的译文子字符串的索引信息进行标识的标识信息。
12.根据权利要求11所述的机器翻译系统,翻译引擎包括基于模板的翻译引擎、基于chunk的实例翻译引擎、基于分析的翻译引擎、以及词对词直接翻译引擎中的至少一个。
13.一种翻译方法,包括以下步骤将第一语言和第二语言的子字符串分别存储在第一词典TRIE结构和第二词典TRIE结构中的从根节点到多个叶子节点的各路径上;并且在第一检索词典和第二检索词典中分别建立第一索引TRIE结构和第二索引TRIE结构,包括用于给出分别存储在第一词典TRIE结构和第二词典TRIE结构中的子字符串的索引信息。
14.根据权利要求13所述的翻译方法,其中,第一检索词典中的索引信息包括对用于给出第二检索词典中的作为对第一检索词典中的子字符串的翻译的子字符串的索引信息进行标识的标识信息。
15.根据权利要求13所述的翻译方法,还包括以下步骤输入可以是第一语言或者第二语言的原始语言的句子;将已输入的句子分割为多个子字符串;将分割的多个子字符串与第一检索词典中的第一词典TRIE结构进行比较,并检索出子字符串的索引信息;根据检索到的索引信息在第二检索词典中的第二索引TRIE结构中指定对应的索引信息;根据指定的索引信息在第二词典TRIE结构中指出子字符串;提取第二语言中的译文句子;以及输出提取的译文句子。
16.一种可由计算机读取以执行用于将原始语言翻译为目标语言的翻译程序的存储介质,该存储介质的功能包括将第一语言和第二语言的子字符串存储在第一词典TRIE结构和第二词典TRIE结构中的从根节点到多个叶子节点的各路径上;以及在第一检索词典和第二检索词典中的第一索引TRIE结构和第二索引TRIE结构中建立给出存储在第一词典TRIE结构和第二词典TRIE结构中的子字符串的索引信息。
17.根据权利要求16所述的存储介质,其中,第一检索词典中的索引信息包括对用于指出第二检索词典中的作为对第一检索词典中的子字符串的译文子字符串的索引信息进行标识的标识信息。
18.根据权利要求16所述的存储介质,还包括输入可以是第一语言或者第二语言的原始语言的句子;将已输入的句子分割为多个子字符串;将分割的多个子字符串与第一检索词典中的第一词典TRIE结构进行比较,并检索出子字符串的索引信息;根据搜索到的索引信息在第二检索词典中的第二索引TRIE结构中指定对应的索引信息;根据指定的索引信息在第二词典TRIE结构中指出子字符串;提取第二语言的译文句子;以及输出提取的译文句子。
全文摘要
多语种翻译存储器、翻译方法以及翻译程序。适于句子翻译的基于实例记忆的翻译存储器包括第一语言的第一检索词典,具有第一词典TRIE结构和第一索引TRIE结构;以及第二语言的第二检索词典,具有第二词典TRIE结构和第二索引TRIE结构。第一词典TRIE结构和第二词典TRIE结构分别在其从根节点到多个叶子节点的各路径上存储子字符串。第一索引TRIE结构和第二索引TRIE结构分别存储用于指出存储在第一词典TRIE结构和第二词典TRIE结构中的子字符串的索引信息。存储在第一检索词典中的索引信息包括对用于指出第二检索词典中的作为对第一检索词典中的子字符串的译文子字符串的索引信息进行标识的标识信息。
文档编号G06F17/28GK1834955SQ200510093829
公开日2006年9月20日 申请日期2005年8月30日 优先权日2005年3月14日
发明者刘绍明 申请人:富士施乐株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1