首页 / 专利库 / 人工智能 / 候选译文 / 用于计算机辅助翻译的候选短语查询方法及辅助翻译系统

用于计算机辅助翻译的候选短语查询方法及辅助翻译系统

阅读:464发布:2020-06-13

专利汇可以提供用于计算机辅助翻译的候选短语查询方法及辅助翻译系统专利检索,专利查询,专利分析的服务。并且本 发明 提供了 计算机辅助翻译 的方法及系统,在 机器翻译 结果的 基础 上,利用机器翻译中的中间信息、用户记忆库、词典等其他方面的辅助翻译信息来 修改 和完善机器自动翻译的结果。其中,采用基于AC自动机的候选短语查询方法,在线性复杂度之内解决了候选短语的查询问题,大大提高了辅助翻译的效率;采用基于卡尔曼滤波的候选短语排序方法解决了不同集合的短语之间的排序问题,通过用户翻译历史记录的分析,不断优化各候选短语集合的权重,从而提高候选短语推荐的精准度。,下面是用于计算机辅助翻译的候选短语查询方法及辅助翻译系统专利的具体信息内容。

1.一种用于计算机辅助翻译的候选短语查询方法,所述方法包括:
接收源语言句子;然后从候选短语集合的Trie树查找出所有与源语言句子相关的候选短语;
其中,所述Trie树的每个节点都具有失败指针,所述失败指针是通过以下的步骤构造的:
步骤(1)将所述Trie树的根节点和第一层节点的失败指针都指向根节点;
步骤(2)对整棵Trie树进行广度优先遍历,对于任意一个当前节点,如果通过某一条件使得当前节点及当前节点的某一子节点,以及当前节点的失败指针所指向的节点及该当前节点的失败指针所指向的节点的子节点都有相同的状态转移,则当前节点的子节点的失败指针指向所述当前节点的失败指针所指向的节点的子节点,否则指向根节点。
2.根据权利要求1所述的方法,所述从候选短语集合的Trie树查找出所有与源语言句子相关的候选短语包括:
从源语言句子中第一个字符和所述Trie树根节点开始执行以下操作:
步骤I)将当前字符与当前节点的子节点进行匹配,如果匹配不成功,当前节点转向其失败指针所指向的节点继续匹配;如果当前字符与当前节点的子节点匹配成功,则直接转向该匹配成功的子节点;
步骤II)如果该匹配成功的子节点带有单词结束标志,则输出该节点对应短语和以该短语结尾的所有后缀中出现的短语,否则转到源语言句子的下一个字符,重复步骤I)和II),直到源语言句子结束为止。
3.一种计算机辅助翻译的方法,所述方法包括以下步骤:
步骤1,对源语言文档进行机器翻译,生成译文;
步骤2,采用根据权利要求2所述的候选短语查询方法,基于辅助翻译信息,为用户生成与源语言文档相关的候选短语;
步骤3,由用户基于所生成的与源语言文档相关的候选短语,对所述译文进行调整,并生成最终的目标语言文档。
4.根据权利要求3所述的方法,其中所述辅助翻译信息包括通用候选短语和用户候选短语,所述通用候选短语来自机器翻译过程中用到的短语表,所述用户候选短语来自用户TMX记忆库、用户个人词典和用户翻译历史。
5.根据权利要求4所述的计算机辅助翻译的方法,在步骤2还包括对所生成的与源语言文档相关的候选短语进行排序的步骤,所述排序步骤包括:
计算每个候选短语的pij*wi,其中,pij为候选短语集合i中第j个短语的概率,
1≤i≤n,n表示候选短语的来源有n个集合,各个集合分别包含m1,m2,…,mn个候选短语,
1≤j≤mi,w1,w2,…,wn分别为这n个集合的权重;
根据每个候选短语的pij*wi,从大到小对候选短语进行排序。
6.根据权利要求5所述的方法,还包括通过用户翻译历史记录的分析,不断优化各候选短语集合的权重w1,w2,…,wn的步骤,所述步骤包括:
(a),初始化w1,w2,…,wn,ks,ko;
(b),每隔时间段T,统计用户对于不同类别短语的点击次数c1,c2,…,cn;
(c),归一化c1,c2,…,cn并将其分别作为w1,w2,…,wn的当前状态的观测值Oi(t);
(d),更新Wi(t):Wi(t)=ks*Wi(t-1)+ko*Oi(t),其中,Wi(t)为wi的当前状态的估计值,Wi(t-1)为wi的上一状态的估计值,Oi(t)为wi的当前状态的观测值,ks代表上一状态估计值Wi(t-1)的权重,ko代表当前状态观测值Oi(t)的权重。
7.一种计算机辅助翻译的系统,包括:
自动翻译模,用于对源语言文档进行机器翻译,生成译文;
候选短语生成模块,用于采用根据权利要求2所述的候选短语查询方法,基于辅助翻译信息为用户生成与源语言文档相关的候选短语;
辅助翻译模块,用于由用户基于所生成的与源语言文档相关的候选短语,对所述译文进行调整,并生成最终的目标语言文档。
8.根据权利要求7所述的系统,所述辅助翻译信息包括通用候选短语和用户候选短语,所述通用候选短语来自机器翻译过程中用到的短语表,所述用户候选短语来自用户TMX记忆库、用户个人词典和用户翻译历史。
9.根据权利要求8所述的系统,其中所述候选短语生成模块还包括用于对所生成的与源语言文档相关的候选短语进行排序的排序模块,所述排序模块用于:
计算每个候选短语的pij*wi,其中,pij为候选短语集合i中第j个短语的概率,
1≤i≤n,n表示候选短语的来源有n个集合,各个集合分别包含m1,m2,…,mn个候选短语,
1≤j≤mi,w1,w2,…,wn分别为这n个集合的权重;以及
根据每个候选短语的pij*wi,从大到小对候选短语进行排序。

说明书全文

用于计算机辅助翻译的候选短语查询方法及辅助翻译系统

技术领域

[0001] 本发明属于计算机辅助翻译领域,尤其涉及计算机辅助翻译过程中的候选短语的推荐方法。

背景技术

[0002] 随着科学技术和互联网的快速发展,计算机和网络技术已经深入我们工作、生活的方方面面。在翻译领域,最令人激动的莫过于计算机辅助翻译技术CAT(Computer Aided Translation)。在计算机辅助翻译系统的设计中存在着两种不同思路:一种是机器翻译(Machine Translation),另一种是翻译记忆(Translation Memory)。
[0003] 近些年机器翻译技术取得了巨大的进步,但是由于自然语言的复杂性,机器翻译的译文难以做到完满的程度。同时传统机器翻译的结果只提供给用户一个最佳译文,并没有提供帮助用户修改翻译结果的辅助信息,这使得对于外语平较低的用户很难对译文做出修改,阻碍了机器翻译的普及应用。而采用翻译记忆所设计的计算机辅助翻译系统在辅助信息推荐方面功能强大,但是其所面临的困境主要是该软件主要靠用户翻译历史的积累自动构建翻译记忆库,从而给出相似短语的提示信息。在没有大量翻译记忆的前提下,该软件就很难给用户提供有用的帮助信息,特别的是该软件对用户的英语水平要求过高,使得只有专业的翻译人员才适合使用。
[0004] 利用机器翻译过程中的中间信息和其他辅助信息来对自动翻译的结果进行高效的修改和完善,提高翻译的质量和效率,已成为相关研究者的关注焦点。已有的方法基本上可以分为两类:一类是在给出机器自动翻译结果的基础之上,再给出若干短语的候选翻译(即候选短语),供用户选择;另一类是给出机器自动翻译结果仅供参考,同时给出与源语言句子的相关候选短语,由用户点击构成目标语言句子。
[0005] 一般来说,候选短语的数量越多,质量越高,对用户的帮助就越大。但随着系统语料的日益增长和用户历史行为的累计,候选短语的数量会快速的增长。如何针对用户输入的源语言语句快速地从翻译历史等各种辅助 信息中查找出与源文本相关的候选短语是其中必须要解决的关键问题。目前通常的做法是枚举源语言句子中所有的子片段,对每一个子片段进行查询,判断是否存在于短语集合中。这种算法的时间复杂度高,随着源语言句子长度的增加以及候选短语数量的增长,其查询的时间会快速增长。据发明人实验统计,当源语言句子长度在400个字符时,其查询时间就达到了4秒左右,这样的速度显然是机器翻译系统不能承受的,而且用户体验较差。

发明内容

[0006] 因此,本发明的目的在于克服上述现有技术缺陷,提供一种用于计算机辅助翻译的候选短语查询方法,快速地查询与源语言句子相关的候选短语,提高计算机辅助翻译的效率。
[0007] 本发明的目的是通过以下技术方案实现的:
[0008] 一方面,本发明提供了一种用于计算机辅助翻译的候选短语查询方法,包括:接收源语言句子;然后从候选短语集合的Trie树查找出所有与源语言句子相关的候选短语;
[0009] 其中,所述Trie树的每个节点都具有失败指针,所述失败指针是通过以下的步骤构造的:
[0010] 步骤(1)将所述Trie树的根节点和第一层节点的失败指针都指向根节点;
[0011] 步骤(2)对整棵Trie树进行广度优先遍历,对于任意一个当前节点,如果通过某一条件使得当前节点及其某一子节点,以及当前节点的失败指针所指向的节点及其子节点都有相同的状态转移,则当前节点的子节点的失败指针指向所述当前节点的失败指针所指向的节点的子节点,否则指向根节点。
[0012] 上述方法中,所述从候选短语集合的Trie树查找出所有与源语言句子相关的候选短语可以包括:
[0013] 从源语言句子中第一个字符和所述Trie树根节点开始执行以下操作:
[0014] 步骤I)将当前字符与当前节点的子节点进行匹配,如果匹配不成功,当前节点转向其失败指针所指向的节点继续匹配;如果当前字符与当前节点的子节点匹配成功,则直接转向该匹配成功的子节点;
[0015] 步骤II)如果该匹配成功的子节点带有单词结束标志,则输出该节点 对应短语和以该短语结尾的所有后缀中出现的短语,否则转到源语言句子的下一个字符,重复步骤I)和II),直到源语言句子结束为止。
[0016] 又一方面,本发明提供了一种计算机辅助翻译方法,包括:
[0017] 步骤1,对源语言文档进行机器翻译,生成译文;
[0018] 步骤2,采用上述的候选短语查询方法,基于辅助翻译信息,为用户生成与源语言文档相关的候选短语;
[0019] 步骤3,由用户基于所生成的与源语言文档相关的候选短语,对所述译文进行调整,并生成最终的目标语言文档。
[0020] 上述技术方案中,所述辅助翻译信息可以包括通用候选短语和用户候选短语,所述通用候选短语来自机器翻译过程中用到的短语表,所述用户候选短语来自用户TMX记忆库、用户个人词典和用户翻译历史。
[0021] 上述技术方案中,在步骤2还可以包括对所生成的与源语言文档相关的候选短语进行排序的步骤,所述排序步骤包括:
[0022] 计算每个候选短语的pij*wi,其中,pij为候选短语集合i中第j个短语,1≤i≤n,n表示候选短语的来源有n个集合,各个集合分别包含m1,m2,...,mn个候选短语,1≤j≤mi,w1,w2,...,wn分别为这n个集合的权重;
[0023] 根据每个候选短语的pij*wi,从大到小对候选短语进行排序。
[0024] 上述技术方案中,还可以包括通过用户翻译历史记录的分析,不断优化各候选短语集合的权重w1,w2,...,wn的步骤,所述步骤包括:
[0025] (a),初始化w1,w2,…,wn,ks,ko;
[0026] (b),每隔时间段T,统计用户对于不同类别短语的点击次数c1,c2,…,cn;
[0027] (c),归一化c1,c2,…,cn并将其分别作为w1,w2,…,wn的当前状态的观测值Oi(t);
[0028] (d),更新Wi(t):Wi(t)=ks*Wi(t-1)+ko*Oi(t),其中,Wi(t)为wi的当前状态的估计值,Wi(t-1)为wi的上一状态的估计值,Oi(t)为wi的当前状态的观测值,ks代表上一状态估计值Wi(t-1)的权重,ko代表当前状态观测值Oi(t)的权重。
[0029] 又一方面,本发明提供了一种计算机辅助翻译系统,包括:
[0030] 自动翻译模,用于对源语言文档进行机器翻译,生成译文;
[0031] 候选短语生成模块,用于采用上述的候选短语查询方法,基于辅助翻译信息为用户生成与源语言文档相关的候选短语;
[0032] 辅助翻译模块,用于提供用户接口,以使用户基于所生成的与源语言文档相关的候选短语,对所述译文进行调整,并生成最终的目标语言文档。
[0033] 上述系统中,所述辅助翻译信息可以包括通用候选短语和用户候选短语,所述通用候选短语来自机器翻译过程中用到的短语表,所述用户候选短语来自用户TMX记忆库、用户个人词典和用户翻译历史。
[0034] 上述系统中,还可以包括用户模型更新模块,用于统计用户对于不同类别短语的点击次数以及更新各候选短语集合的权重,所述候选短语生成模块还可以用于对所生成的与源语言文档相关的候选短语进行排序。
[0035] 与现有技术相比,本发明的优点在于:能够从机器翻译解码器的中间结果、记忆库、词典等辅助翻译信息中快速地查找到与源语言句子相关的候选短语,降低了候选短语查询算法的时间复杂度,以及根据用户的翻译历史记录不断地调整对候选短语的排序,提升了用户体验,并最终提高了翻译的质量和效率。附图说明
[0036] 以下参照附图对本发明实施例作进一步说明,其中:
[0037] 图1为根据本发明一个实施例的计算机辅助翻译方法的流程示意图;
[0038] 图2为根据本发明一个实施例的机器翻译流程图
[0039] 图3为根据本发明一个实施例的辅助翻译信息的组成示意图;
[0040] 图4为根据本发明一个实施例的Trie树的示意图
[0041] 图5为根据本发明一个实施例的Trie树的失败指针转移图;
[0042] 图6为根据本发明一个实施例的候选短语与源文对齐高亮显示的效果示意图;
[0043] 图7为根据本发明一个实施例的候选短语自动提示效果的示意图;
[0044] 图8为根据本发明一个实施例的候选短语自动拆分效果的示意图;
[0045] 图9和图10为根据本发明一个实施例的候选短语拖动前后的效果示意图。

具体实施方式

[0046] 为了使本发明的目的,技术方案及优点更加清楚明白,以下结合附图通过具体实施例对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0047] 计算辅助翻译的效率和质量关键取决于辅助翻译信息的质量和人机交互方式。这是由于准确高质量的辅助翻译信息能够提高翻译的质量,同时也能减少翻译过程的编辑次数,而简单方便的人机交互方式能够大量减少翻译过程中的操作次数,从而加快翻译的速度,提高翻译效率。这两个方面相互结合可以最终提高整个辅助翻译的性能和质量。
[0048] 图1描述了根据本发明的一个实施例的计算机辅助翻译方法的流程示意图。该方法首先对源文件进行机器翻译,生成初始目标语言文档(例如可以是机器翻译的最佳译文),以及提供机器翻译过程中的中间结果数据(例如,机器翻译过程中使用的短语表),以给辅助翻译提供数据支持。然后,通过机器翻译过程中的中间信息,以及来自记忆库、词典等其他辅助翻译信息为用户生成与源语言文档相关的候选短语,最后,用户可以例如在web界面上基于所生成的候选短语对机器翻译的结果(初始目标语言文档)进行调整并产生最终的目标语言文档。在这一过程中,自动翻译的译文可以以短语形式呈现,用户可以在短语级别的译文基础上,对译文短语进行修改、增删和移动等操作,提高译文修改的效率。下面将对该方法进行更详细的介绍,该方法主要包括以下步骤:
[0049] 步骤1,将用户所提交的源语言文档进行机器翻译并将机器翻译的译文以短语的形式展现给用户。
[0050] 其中,所采用的对源语言文档进行机器翻译的方法,并不限定于某一特定的统计机器翻译方法,而是可以采用本领域普通技术人员所熟知的任何现有的机器翻译方法。例如,可以使用基于最大熵括号转录语法翻译(Maximum Entropy Based Bracketing Transduction Grammars,以下简称为MEBTG)模型,此模型在基于短语的翻译模型之上引入形式句法信息,并加入调序模型,其翻译流程如图2所示。如图2所示,在采用上述模型进行机器翻译时需要的输入数据,除了源语言句子之外,还包括:
[0051] (1)短语表:机器翻译解码器中用到的短语表也被称为通用候选短语,其是在大规模双语平行语料库中统计得到的,代表了公共的翻译行为。相对于通用候选短语,用户候选短语则是和用户个人的翻译习惯相关的,可以包含用户的翻译历史,用户个人词典等等。
[0052] (2)语言模型:统计语言模型是描述语言内在规律的数学模型。
[0053] (3)最大熵重排序模型:重排序模型主要是解决机器翻译解码过程中,相邻两个连续片段在译文里的顺序问题。
[0054] 步骤2,基于辅助翻译信息,为用户生成与源语言文档相关的候选短语。也就是从例如机器翻译解码过程的中间结果(短语表),记忆库、词典等辅助翻译信息,查询与源语言文档相关的候选短语,从而使用户可以通过选择合适的候选短语来修改机器自动翻译生产的译文。
[0055] 步骤3,基于所生成的与源语言文档相关的候选短语来对所述译文进行调整,以产生相对于源语言文档的最终的目标语言文档。
[0056] 在本发明的实施例中,所述的辅助翻译信息不局限于某一特定的来源,而是可以有丰富的组合形式。图3为根据本发明实施例的辅助翻译信息的组成示意图。如图3所示,所述辅助翻译信息包括通用候选短语和用户候选短语。其中,通用候选短语是在不区分用户的情况下推荐给用户的候选短语,这些候选短语对于相同的源语言短语,会推荐相同的候选短语,体现了辅助翻译中的通用特性。通用候选短语的来源主要是机器翻译过程中用到的短语表。在机器翻译过程中用到的短语表是在大规模双语平行语料库上,通过翻译模型的训练工具如Giza++等训练得到的。
[0057] 用户候选短语是在区分用户的情况下推荐给用户的候选短语,这些候选短语对于相同的源语言短语,根据不同的用户会推荐不同的候选短语,体现了辅助翻译的个性化特性。用户候选短语的来源主要包含以下几个方面,下面分别加以阐释。
[0058] (1)用户TMX记忆库
[0059] TMX(Translation Memory eXchange)即翻译存储交换,是一种厂商中立的、开放式XML标准,用于交换计算机辅助翻译(CAT)和本地化工具创建的翻译存储(TM)数据,以促进工具和/或翻译厂商之间的翻译存储数据交换。目前辅助翻译软件都兼容TMX格式的记忆库,不同的用户有自己不同的TMX文档,代表着每个用户不同的翻译历史和翻译习惯。用户通过导入TMX记忆库可以保持用户自身的翻译习惯。
[0060] (2)用户个人词典
[0061] 用户个人词典包括普通词典和领域词典这两类,普通词典注重于通用词语的用户翻译习惯,领域词典则注重于专业领域词汇的正规翻译规则。用户可以在用户个人词典任意添加词条,这些词条将会出现在辅助翻译信息的候选短语列表当中。
[0062] (3)用户翻译历史
[0063] 用户的翻译历史是辅助翻译最为重要的组成部分。同一个用户往往拥 有固定的翻译习惯,所以记录用户的翻译历史,对于提高候选短语推荐的准确度有重要的意义。
[0064] 通常,候选短语的数量越多,质量越高,对用户的帮助就越大。但是随着系统语料的日益增长和用户历史行为的累计,候选短语的数量会快速的增长。如何快速地查询与用户输入的源语言句子相关的所有候选短语,并将之以适当的顺序推荐给用户是为用户生成候选信息所必须解决的问题。在现有的方法中将所有的候选短语都看作是模式串,用户输入的源语言句子看作是待匹配的串,这样问题就抽象成为在待匹配串中查找所有出现的模式串,即字符串多模式匹配问题。目前通常的做法是枚举源语言句子中所有的子片段,对每一个子片段进行查询,判断是否存在于短语集合中,这样算法的时间复杂度比较高。
[0065] 在本发明的一个实施例中,在所述步骤2采用了一种基于AC(Aho-Corasick automation)自动机的候选短语查询方法,在线性复杂度之内解决了候选短语的查询问题,可以提高翻译的效率。在该实施例中,基于AC自动机的候选短语查询主要包括三个步骤:字典树Trie(简称Trie树)的构造、状态转移的构造(构造失败指针)和模式匹配的过程。
下面分别对上述三个步骤进行阐释。
[0066] 步骤21)基于候选短语集合,构造Trie树
[0067] Trie树,又称单词查找树或键树,是一种哈希树的变种。其有3个基本特性:a)根节点不包含字符,除根节点外每一个节点都只包含一个字符。b)从根节点到某一节点,路径上经过的字符连接起来,为该节点对应的字符串。c)每个节点的所有子节点包含的字符都不相同。Trie树的构造方法可参见http://en.wikipedia.org/wiki/Trie。
[0068] 假如在用户个人词典中有she,shr,he,say,her这五个单词,其所构成的Trie树如图4所示,五个单词所对应的节点分别以阴影填充的节点表示,这些阴影填充的节点带有单词结束标志,上述单词的匹配路径如表1所示:
[0069] 表1
[0070]单词 匹配路径
say root->s->a->y
she root->s->h->e
shr root->s->h->r
he root->h->e
her root->h->e->r
[0071] 步骤22)状态转移的构造
[0072] AC自动机把字符串的匹配过程当作是状态转移的过程,Trie树中每个节点代表一个状态,从一个节点转到另一节点也可以称为状态转移。其中最为关键的部分就是Trie树中失败指针的构造。失败指针的作用在于当前节点的所有子节点当中都无法与源语言句子的当前字符匹配的话,当前节点就要跳转到失败指针指向的节点继续匹配,这就避免了源语言句子的回溯匹配,大大提高了匹配的效率。同时,失败指针在输出匹配结果中也有非常重要的作用,如果当前节点与源语言句子的当前字符匹配,并且当前节点也是单词结束的标志,那么就要沿着当前节点的失败指针输出所有的有单词结束标志的后缀链。失败指针的构造算法如下:
[0073]
[0074]
[0075] 上述失败指针构造算法首先设置根节点和第一层子节点的失败指针都指向根节点,然后对整棵树进行广度优先遍历,对于任意一个当前节点,如果通过某一条件使得当前节点和其某一子节点,以及当前节点的失败指针所指向的节点和其子节点都有相同的状态转移,那么当前节点的子节点的失败指针就指向当前节点的失败指针所指向的节点的子节点。最后把当前节点的所有子节点依次放入队列中。算法的整体复杂度和树的大小成线性关系。失败指针构造完成之后,每一个节点的失败节点对应关系如图5所示,其中1号节点的父节点是s,2号节点的父节点是root,并且s的失败指针指向root,并且s和root都有通过条件h分别向1号和2号节点的状态转移,所以1号节点的失败指针指向2号节点。同理,3号节点的失败指针指向4号节点。其他所有节点的失败指针都指向root节点。
[0076] 应指出上述步骤21)和步骤22)不是每次查询都必须执行的步骤,也就是说可以在系统的初始阶段、或者当候选短语集合发生变化时,或者每隔固定的时间段等,来构造候选短语集合的Trie树及其失败指针。一旦得到了候选短语集合的带有失败指针的Trie树,就可以对源语言句子进行处理了。
[0077] 步骤23)模式匹配的过程
[0078] 在得到了带有失败指针的Trie树,就意味着AC自动机状态转移预处理完成,这时就可以对任意源语言句子进行多模式匹配,对于任意用户输入的源语言句子,都可以在线性时间内匹配出所有与源语言句子相关的候选短语,匹配的时间复杂度只和用户输入的源语言句子的长度成线性关系。基于AC自动机的候选短语匹配算法如下:
[0079]
[0080]
[0081] 在上述候选短语匹配算法当中,依次从头到尾遍历用户输入的源语言句子中的每一个字符,从AC自动机的根节点开始匹配,将当前字符与当前节点的子节点进行匹配,如果匹配不成功,当前节点转向其失败指针所指向的节点继续匹配;如果当前字符与当前节点的子节点匹配成功(例如,当前字符与某个子节点相同),则直接转向该子节点(也就是将该子节点作为当前节点),如果该子节点带有单词结束标志,则输出该节点对应的单词(也可称为短语),以及输出以该短语结尾的所有后缀中出现的候选短语;如果该子节点不带有单词结束标志,则转到源语言句子的下一个字符,继续进行匹配。匹配的过程不断重复以上步骤,直到源语言句子结束为止。在匹配的过程中,如果遇到有单词结束标志的节点,该节点所对应的短语即为所要匹配的候选短语,此时不仅要输出该短语,还要输出以该短语结尾的所有后缀中出现的候选短语。候选短语的输出算法如下:
[0082]
[0083]
[0084] 在上述候选短语输出算法中,首先判断当前节点是否为根节点,如果是根节点则输出候选短语集合;如果当前节点不为根节点,判断当前节点是否有候选短语结束标志,如果有则把当前节点到根节点路径上的候选短语加入到候选短语结果集合,否则当前节点跳转到其失败指针所指向的节点。重复以上两个步骤直到当前节点为根节点。上述候选短语查询方法也可以仅用于对用户候选短语集合的查询,也就是说首先对源文档进行机器翻译,得到自动翻译译文和通用候选短语,然后采用上述的候选短语查询方法在用户候选短语中匹配源语言文档中出现的候选短语,最后结合通用候选短语和用户候选短语作为最终的辅助翻译候选短语。
[0085] 为了说明上述候选短语查询方法的效果,发明人还进行了如下的实验:通过现有的候选短语表查询算法和基于AC自动机的候选短语查询方法的对比,来说明该方法的有效性,然后通过不同长度的源语言句子和不同规模的候选短语集合来测试该方法的效率,并且给出实验的结果分析。
[0086] 为了考察本发明实施例中所提出的基于AC自动机的候选短语查询方法的性能,这里随机生成10,000个英文短语作为候选短语集合,其短语长度分别为3-13个字符,分别在不同的源语言句子长度下,将该方法和候选短语表查询算法作为对比,以验证该方法的有效性,源语言句子内容也随机生成。实验结果如表2所示。
[0087] 表2
[0088]
[0089] 从以上实验结果可以看出,传统候选短语表查询算法随着源语言句子长度的增加,查询的时间快速增长,源语言句子长度在400个字符的时候查询时间就达到了4秒左右,这样的速度显然是机器翻译系统不能承受的。而本发明实施利所提出的基于AC自动机的候选短语查询算法就体现出了良好特性,源语言句子长度为800字符以内的查询时间均在2ms左右,充分体现了该查询算法的高效性。
[0090] 上述实验将基于AC自动机的候选短语查询算法和候选短语表查询算法进行了对比。该方法需要面临的问题是随着系统使用时间的累计,用户将逐步添加越来越多的个人词典和翻译记忆库等,并且用户的翻译历史也会逐渐累计,因此还需要对该方法在不同数量的候选短语集合上进行实验分析,以验证该方法的有效性。该实验分别在1,000词、10,000词和100,000词的短语集合的基础上,对不同长度的源语言句子通过该方法进行了测试,实验结果如表3所示。
[0091] 表3
[0092]
[0093] 从以上实验结果可以看出,源语言句子长度在800字符以内的情况下,查询时间均在3ms以下,这说明本发明实施例中所提出的基于AC自动机的候选短语查询算法在句子长度一定的前提下,其性能不随候选短语集合的增加而明显降低。在电脑内存空间足够大的情况下,该候选短语查询算法体现了查询的高效性。另外,以后随着系统运行时间的增加,候选短语 的集合会逐渐扩大,解决构建模型时候内存不足的情况可以由双数组Trie来解决。
[0094] 另外,当用户查看某一源语言短语的候选翻译的时候,这些候选短语呈现的顺序对用户的使用习惯有非常重要的影响。在通常情况下,人们往往会更加关注排列在顶部的短语,随着短语排列次序的下降,人们的关注度会逐渐的降低。例如各大主流搜索引擎的搜索推荐功能,以及搜索结果页面的顺序呈现,都是按照不同的排序策略使得把用户最想得到的结果放在最顶部。所以候选短语的顺序也应该按照用户的期望值由高到低依次排列。但是在本发明的上述实施例中采用的候选短语不是来自于唯一的来源,而是由通用候选短语和用户候选短语组合而成,并且在这两大集合里面又分为若干的子集合。集合之内的短语概率可以由统计得到,所以集合之内的短语概率有可比性,但是集合之间的短语概率没有直接的可比性,所以对与源语言句子相关的所有候选短语进行排序,就要解决不同集合的短语之间的排序问题。
[0095] 在本发明的又一个实施例中,还包括对经步骤2生成的候选短语进行排序的步骤。例如,可以采用了基于卡尔曼滤波的候选短语排序的方法,该方法通过用户翻译历史记录的分析,不断优化各候选短语集合的权重,从而提高候选短语推荐的精准度。如上所述,由于不同用户的翻译习惯各有差别,但是在长时间段内用户的翻译习惯又基本保持不变,因此为了区分不同短语集合对不同用户的重要性,使得不同短语集合之间的短语概率具有可比性,对用户候选短语集合赋予不同的权重值,在候选短语概率进行比较的时候,其短语概率乘以所属集合的权重,这样得到的短语概率便具有不同集合之间的可比性。不同的用户翻译习惯各有差别,体现在不同用户的短语集合权重值不同;相同用户的翻译习惯保持,体现在相同用户的短语集合权重值保持不变。因此对候选短语排序的问题可以用以下方式描述。
[0096] 假设候选短语的来源有n个集合,它们分别包含m1,m2,...,mn个候选短语,pij为候选短语集合i中第j个短语的概率,w1,w2,...,wn分别为n个集合的权重,因此对和源语言句子相关的所有候选短语的排序可以抽象为对以下短语集合的排序:
[0097] {pij*wi|1≤i≤n,1≤j≤mi}
[0098] 上述集合中pij可以通过在候选短语集合i中统计短语j的频次得到, 未知的是w1,w2,...,wn这n个集合的权重值,因此对候选短语排序的问题关键就在于对这n个集合权重值的预测,有了这些预测的权重值,在短语排序的时候就使得本不可比的短语集合之间的概率变得具有可比性,最终能够对候选短语进行排序,为系统前端提供候选信息的数据支持。
[0099] 卡尔曼滤波的实质是由量测值重构系统的状态向量。它以“预测—实测—修正”的顺序递推,根据系统的量测值来消除随机干扰,再现系统的状态,其根据上一状态的估计值和当前状态的观测值推出当前状态的估计值的滤波方法,其预测方式可用如下方式表达。
[0100] S(t)=f(S(t-1),O(t)) (1)
[0101] 在上式中S(t)表示当前状态的估计值,S(t-1)表示上一状态的估计值,O(t)表示当前状态的观测值。在本实施例的预测问题中,候选短语集合权重W向量即为所要预测的系统状态向量,如何定义某一时间段的观测值O(t),使得观测值能和系统状态W向量联系起来,是解决本预测问题的关键,在下文中用W(t)表示当前状态的估计值,W(t-1)表示上一状态的估计值。
[0102] 在连续时间段T内,通过统计用户编辑翻译结果时选择候选短语的来源可以得到用户的翻译习惯更倾向于选择哪一集合的候选短语,因此归一化统计的结果,就可以当作该时间段T内系统的观测值。这也符合用户的直观感觉,如果把用户选择最多的短语集合权重增加,那么在下一时间段T内,该集合短语在候选短语排序过程中的概率就会增加,那么在web辅助翻译系统UI界面中这些短语就会出现在比较靠上的位置,这就会相应降低下一时间段T内系统的平均惩罚分值。
[0103] 解决本预测问题的另一个关键点在于判断当前状态的估计值W(t)更倾向于上一状态的估计值W(t-1)还是当前状态的观测值O(t)。对于这种情况,可以设置两个归一化的权重值,用以区分两个状态的重要性,因此公式1可以转化为以下形式。
[0104] W(t)=ks*W(t-1)+ko*O(t) (2)
[0105] 在上式中ks代表上一状态估计值的权重,ko代表当前状态观测值的权重。基于卡尔曼滤波的候选短语排序的具体算法如下.
[0106]
[0107] 在上述算法中,c1,c2,…,cn分别为时间段T内n个候选短语集合被选中的次数,以归一化后的c1,c2,…,cn分别作为上述公式(2)中w1,w2,…,wn的当前状态的观测值O(t)。算法的执行过程是首先初始化w1,w2,…,wn,并对其归一化。权重的初始值并不重要,因为基于卡尔曼滤波的算法是个回归拟合的过程,系统的执行并不依赖于初始值,因此可以设置w1,w2,…,wn为相等的值。然后初始化ks,ko,根据经验值,在系统运行的初期,当前状态的观测值会比较重要,随着系统的长期运行,其历史估计值会比较重要,因此在系统运行的初期,可以稍微增大当前观测值的权重。
[0108] 在系统运行的初期,由于用户添加的个人词典比较少,同时用户本身的翻译历史也比较少,系统提供的辅助翻译候选信息更多的来自于通用候选短语。这样在系统运行的初期,由于用户只能选择通用候选短语而导致通用候选短语集合的权重不断的增长,使得用户候选短语集合的权重被过度降低。在前端辅助翻译的界面中对于某一源短语只能提供有限数量的候选短语,以至于概率过低的候选短语只能被舍弃。综合前面两个原因就会导致通用候选短语集合的权重逐渐增大,用户候选短语集合的权重逐渐减小。
[0109] 为了解决上述特殊情况,在本发明的一个实施例中,在传递给前端界面的候选短语列表的最后,每次都加入权重最小集合的一个候选短语。这样在系统运行的初期,就能解决某一候选短语集合由于之前未出现过而导致集合权重过低,使得该短语集合的短语不能出现在前端界面中的问题。
[0110] 下面通过一个简单的例子来进一步说明本发明实施例中所提出的基于卡尔曼滤波的候选短语排序方法。假设某用户的候选短语来源只有两个集合set1和set2,初始化T0时间w1=0.6,w2=0.4,ks=0.3,ko=0.7,在三个时间段T内其排序过程中集合权重的变化过程如表4所示。
[0111] 表4
[0112]
[0113] T1:w1=0.3*0.6+0.7*0.9=0.81 w2=0.3*0.4+0.7*0.1=0.19
[0114] T2:w1=0.3*0.81+0.7*0.5=0.593 w2=0.3*0.19+0.7*0.5=0.407
[0115] T3:w1=0.3*0.593+0.7*0.4=0.4579
[0116] w2=0.3*0.407+0.7*0.6=0.5421
[0117] 从表4中可以看出,由于观测值的权重设置的比较大,因此在三个时间段内候选短语集合权重随着每一轮观测值趋势的改变而改变。这个例子能比较好的说明本发明实施例中所提出的候选短语排序算法的预期效果。通过本发明实施例中所提出的候选短语排序方法,通过用户的行为分析,有效的权衡了多短语集合之间的候选短语排序的问题,提高了辅助翻译候选信息推荐的准确度。
[0118] 最后,用户借助所推荐的辅助翻译信息对自动翻译的译文进行修改,从而生成最终目标语言文档。
[0119] 在本发明的又一个实施例中,提供了一种计算机辅助翻译的系统,包括:自动翻译模块,用于对源语言文档进行机器翻译,生成译文;候选短语生成模块,用于采用上述的候选短语查询方法,基于辅助翻译信息为用户生成与源语言文档相关的候选短语;辅助翻译模块,用于提供用户接口,以使用户基于所生成的与源语言文档相关的候选短语,对所述译文进行调整,并生成最终的目标语言文档;用户模型更新模块,用于统计用户对于不同类别短语的点击次数以及更新各候选短语集合的权重,所述候选短语生成模块还可以用于对所生成的与源语言文档相关的候选短语进行排序。
[0120] 更具体地,在该系统中,所述辅助翻译模块提供的用户接口可以使用户通过下列操作来对译文进行修改:
[0121] 1)自动翻译的译文以短语为单位分块显示,用户可以对短语进行拖动改变位置,达到调整语序的目的,拖动的操作包括拖动单一短语和拖动多个短语。
[0122] 2)用户可以对短语块的内容进行编辑修改。
[0123] 3)用户可以在任意的短语块后面添加新的短语。
[0124] 4)用户可以删除不需要的短语。
[0125] 5)用户可以通过选择源语言句子任意片段的候选短语,来改变翻译结果的短语组合方式,生成更加合理的译文。为了提高用户体验,只有被选中的源语言句子片段的候选短语才会呈现。
[0126] 6)对翻译结果修改结果提供预存和保存功能,其中预存和保存过的句子采用不同的颜色来标识,方便用户下次编辑时区分不同编辑状态的句子。
[0127] 其中,当用户编辑某一译文短语时,需要快速定位到与之对应的源文短语。为了实现快速寻找短语之间对应关系的功能,预先保持所有短语对应关系在后台数据中,当用户对某一译文的短语进行修改操作时,系统通过查询后台数据中的短语对应关系,使得源语言句子中相应的短语自动高亮显示,这样用户就能快速定位到与之对应的源语言短语上,从而根据用户的翻译经验,更改更为合适的译文短语,从而达到快捷修改机器自动翻译译文的目的。短语对应关系的高亮显示效果如图6所示,其中当用户编辑译文中“seriously damaged”短语时,源语言句子中与之对应的“严重损坏”这一短语就会自动的高亮显示,这就使得用户能够快速定位到该译文短语是由哪个源语言短语翻译而来的,从而选择合适的译文进行修改。
[0128] 另外,候选短语提示功能是辅助翻译系统中很重要的功能,该功能为对源语言的短语片段提供丰富的候选译文,供用户选择最终译文。目前谷歌在线翻译系统仅提供了译文短语的若干候选,这是在用户认可该短语划分的情况下的候选信息,如果用户对当前的短语划分不满意,该系统并没有提供更加丰富的源语言的候选翻译提示。
[0129] 图7为本发明一个实施例中所采用的候选短语提示功能,其中用户可以方便的对译文短语进行重新划分,而且不仅仅针对自动翻译生成的译文短语提供候选,而是对源语言相关的任何连续短语片段进行候选翻译提示,其效果如图7所示。其中用户点击源语言短语“严重”的时候,web辅助翻译系统会给出与“严重”相关的所有源语言短语片段“被严重”,“严重”和“严重毁坏”。此时用户选择“严重”进行查看,辅助翻译系统将会给出候选翻译“serious”,“seriously”,“grave”,“a serious”和“theserious”。用户可以通过点击其中一个来替换机器自动翻译给出的译文结果。
[0130] 通过候选短语提示功能,用户还可以选择不同的源语言短语片段来改变自动翻译生产译文的短语划分方式,从而生成新的翻译结果。例如源语言句子中的短语“严重损坏”被机器自动翻译为一个短语“serious damage”,如图7当用户选择“严重”的某一候选译文“seriously”之后,译文“seriousdamage”将会被自动拆分为“seriously”和“destroy”两个短语,其中“destroy”是“损坏”的第一个候选译文,拆分后的效果如图8所示。候选短语提示帮助功能通常和短语对齐高亮显示功能联合使用,当用户修改某一译文短语的时候,用户可以用鼠标选中该译文短语,与之相对应的源语言短语就会同步高亮显示,这时用户可以选择查看该源语言短语的相关候选译文,选择合适的译文来替换机器自动翻译的译文,从而达到快捷修改译文的作用。
[0131] 在短语级别的译文基础上,该系统还提供短语的任意拖动功能,包括单一短语的拖动和连续短语的拖动,方便用户调整译文的顺序。特别的,在用户拖动调整短语顺序的同时,译文短语和源语言短语的对应关系不会改变,用户在编辑拖动改变位置后的该短语,与之相对应的源语言短语仍然会高亮显示,其拖动前后的效果如图9和10所示。其中,译文短语“wasseriously damaged”在拖动之后与源短语“被严重毁坏”的对应关系没有改变,当鼠标放在该译文短语上的时候,与之对应的源短语仍然高亮显示。短语拖动的操作也非常简单,当用户把鼠标移到某一译文短语上,该短语上方就会出现一个工具栏,最左边的图标是“拖动标志”,左右边的是“多选标志”。用户可以通过拖动“拖动标志”来改变当前短语的位置。同时用户还可以通过选择多个短语的“多选标志”来一次拖动多个短语进行位置的改变。在又一个实施例中,除了给出的短语对应关系高亮显示、候选短语提示帮助和短语拖动调整语序三大功能之外,用户还可以修改任意译文短语,也可以在译文的任意短语之间增加新的短语,也可以删除任意译文短语。
[0132] 该计算机辅助翻译系统采用了融合机器自动翻译和辅助翻译的新翻译模式,在机器自动翻译结果的基础上,配合辅助翻译的信息,给用户提供了短语对应关系高亮显示、候选短语提示帮助、短语拖动调整语序和短语的增加、删除、修改功能,使得用户可以方便快捷的修改自动翻译的译文。在候选短语查询和构建方面,采用基于AC自动机的候选短语查询模型,把字符串匹配的问题转化为状态的转移,在线性复杂度之内解决了候 选短语的查询问题,大大提高了系统的效率;采用基于卡尔曼滤波的候选短语排序方法解决了不同集合的短语之间的排序问题,通过用户翻译历史记录的分析,不断优化各候选短语集合的权重,从而提高候选短语推荐的精准度。
[0133] 虽然本发明已经通过优选实施例进行了描述,然而本发明并非局限于这里所描述的实施例,在不脱离本发明范围的情况下还包括所作出的各种改变以及变化。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈