技术领域
[0001] 本
发明属于翻译技术领域,尤其涉及一种基于OpenKiWi进化的引擎优化方法以及翻译系统以及实现对应方法的计算机可读存储介质。
背景技术
[0002] 不同语言之间的语音转文字和翻译,是近年来
机器学习领域的热
门研究方向,尤其是语音到语音的直接翻译。
[0003] 通常来讲,语音翻译过程可以分解成三个步骤。第一步是
语音识别,就是将英文语音内容识别出来,并且以文字的形式表达出来,比如听到“How are you?”这句话,就写出How,are,you三个单词和问号。第二步是文字翻译,就是将上一步拿到的文字翻译成目标语种,比如写出“你好吗?”这句话。最后一步是语音合成,也就是将翻译好的文本组合成一段语音,然后播放出来。
[0004] 谷歌翻译等当下常见的语音翻译
软件都遵循了这一思路,并且对每一步骤进行了很多优化,比如引入端到端模型(End-to-end model)。这是一种将三个步骤结合起来,比如建立语音
信号到文字映射,进而实现整体优化的模式。
[0005]
发明人发现,
现有技术过于注重整体优化的同时,大多忽略了中间翻译过程中翻译引擎的选择与进化。现有的各种翻译工具都至少内置了多种翻译引擎,例如将谷歌翻译、搜狗翻译、有道翻译、百度翻译等组合成一个包含对外
接口的翻译引擎矩阵,实际翻译时,翻译引擎矩阵将会从中选择一个或者多个翻译引擎进行翻译,从而输出对应的翻译结果。
[0006] 然而,在这个过程中,翻译引擎矩阵选择的记忆效应,将会导致翻译结果准确度出现极端的两极化,即如果初始选择恰当,则后续选择会越来越准确;反之,后续选择也会越来越不符合实际情况。通常,为避免这种情况,需要研发人员引入人工反馈,从而使得翻译引擎矩阵的自动化程度降低,极大的降低了工作效率;并且这个人工反馈过程依赖于研发人员的先验规则,导致结果准确度降低的同时,客观性也会降低。
[0007]
申请号为CN201910611919.7的中国发明
专利申请提出一种
机器翻译方法及装置、
电子设备及存储介质,在该方法中,在接收待翻译语句后,调用训练得到的机器翻译模型,该机器翻译模型包括分
块模型和翻译模型,然后基于分块模型,根据待翻译词的词向量,对待翻译语句进行分块得到待翻译块,最后基于翻译模型以及待翻译块,对待翻译语句进行翻译得到翻译结果;在本发明中,由于分块模型是根据词向量对待翻译语句进行分块得到待翻译块的,这样就可以将待翻译语句划分为更小的待翻译块,进而翻译模型基于这些待翻译块进行翻译时,各待翻译块对应的翻译结果更准确,将这些待翻译块对应的翻译结果进行组合,得到整个待翻译语句的翻译结果也更准确,即本发明可以对待翻译语句进行更细粒度的分块,提高了机器翻译的准确度。
[0008] 申请号为CN201810357897.1的中国发明专利申请提出基于似谓词演算形式的机器思维语言翻译的方法及系统,分块模型是根据词向量对待翻译语句进行分块得到待翻译块的,这样就可以将待翻译语句划分为更小的待翻译块,进而翻译模型基于这些待翻译块进行翻译时,各待翻译块对应的翻译结果更准确,将这些待翻译块对应的翻译结果进行组合,得到整个待翻译语句的翻译结果也更准确,提高了机器翻译的准确度。
[0009] 但是,上述现有技术均不能解决由于翻译引擎矩阵选择的记忆效应带来的翻译准确度降低的问题。
发明内容
[0010] 为解决上述技术问题,本发明提出一种基于OpenKiWi进化的引擎优化方法以及翻译系统以及实现对应方法的计算机可读存储介质。本发明的翻译系统包括翻译引擎矩阵、文档输入组件、能显示多个不同翻译结果的多个显示界面组件、随机选择组件、反馈组件以及评测组件库。所述评测组件库包括OpenKiWi引擎、Bleu
内核、gleu内核、向量化组件以及范数计算引擎。相对于现有技术,本发明首次在翻译引擎矩阵选择中以OpenKiWi为核心评测组件,结合基于GLEU内核和BLEU内核的评测组件,引入评分矩阵的范数进行判断,从而避免了翻译引擎矩阵选择中的记忆效应问题。
[0011] 在本发明的第一个方面,提供一种基于OpenKiWi进化的引擎优化方法,所述方法应用于包含翻译引擎矩阵的评测系统中,该方法包括:
[0012] S100:获得翻译引擎矩阵对于
源语言文档的翻译结果,所述翻译结果为从所述翻译引擎矩阵中随机选择的多个不同翻译引擎对于同一源语言文档的多个翻译结果;
[0013] S200:采用包含OpenKiWi核心的评测组件,对所述多个翻译结果进行自动评测,并量化得到每一个翻译结果的评分;
[0014] S300:从所述多个翻译结果中随机选择第一数量的部分翻译结果,采用基于BLEU内核的评测组件进行评测,得到所述第一数量的部分翻译结果的评分;
[0015] S400:采用基于GLEU内核的评测组件,对所述多个翻译结果中除步骤S300选择的部分翻译结果之外的其他翻译结果进行评测,得到第二数量的其他翻译结果的评分;
[0016] S500:基于步骤S200-S400的三个评分,输出所述源语言文档的最终翻译结果,具体包括:
[0017] 步骤S200得到的每一个翻译结果的评分为向量序列X={X1,X2,……,Xn};
[0018] 步骤S300得到的部分翻译结果的评分为向量序列Y={Y1,Y2,……,Ys};
[0019] 步骤S400得到的其他翻译结果的评分为向量序列Z={Z1,Z2,……Zq};
[0020] 计算向量序列X的n-范数、向量序列Y的s-范数以及向量序列Z的q-范数;
[0021] 如果所述n-范数>(s-范数+q-范数);
[0022] 则输出所述S200步骤中评分最高的翻译结果;
[0023] 否则,返回步骤S100;
[0024] 其中,s+q=n。
[0025] 进一步的,如果所述n-范数<(s-范数+q-范数),则将所述步骤S300-S400的评测结果反馈给所述翻译引擎矩阵。
[0026] 作为进一步的优选技术方案,在所述步骤S400之后,还包括如下步骤:
[0027] S401:计算所述向量序列Y和向量序列Z的相似度;
[0028] S402:判断所述相似度是否超过预定
阈值;如果是,将所述步骤S200中评分最高的翻译结果输出。
[0029] 为了确保更好的防记忆效果,上述技术方案中,步骤S100中,每次随机选择的多个不同翻译引擎不完全相同。
[0030] 在本发明的第二个方面,提供一种基于OpenKiWi引擎
云的翻译优化系统,所述优化系统包括:
[0031] 文档输入组件,用于输入待译文档,所述待译文档包括多种形式:文本、音频、视频等;
[0032] 翻译引擎选择器,所述翻译引擎选择器用于从所述翻译优化系统的翻译引擎矩阵中随机选择多个翻译引擎;
[0033] 翻译结果分组显示界面,在所述显示界面上,分组显示所述多个翻译引擎对所述待译文档执行翻译后的多个翻译结果;
[0034] 作为体现本发明重要创新点之一,所述翻译优化系统还包括OpenKiWi引擎云、基于BLEU内核的评测组件以及基于GLEU内核的评测组件;
[0035] 所述OpenKiWi引擎云、基于BLEU内核的评测组件以及基于GLEU内核的评测组件执行对翻译结果的评测,并输出评测向量序列。
[0036] 作为体现本发明重要创新点之一,所述翻译优化系统还包括范数计算引擎模块,用于计算向量序列的不同类型范数。
[0037] 具体而言,作为本发明的另一关键技术,在所述OpenKiWi引擎云、基于BLEU内核的评测组件以及基于GLEU内核的评测组件输出各自的评测向量序列X、Y、Z之后,所述范数计算引擎模块执行如下计算:
[0038] 计算向量序列X的n-范数、向量序列Y的s-范数以及向量序列Z的q-范数;
[0039] 其中n、s、q为对应向量序列各自的元素个数。
[0040] 作为优选,所述范数计算引擎、OpenKiWi引擎云、基于BLEU内核的评测组件以及基于GLEU内核的评测组件封装成整体引擎,对外提供统一反馈接口;
[0041] 其中,翻译结果分组显示界面包括至少三个并排显示的分组显示界面,如果所述n-范数>(s-范数+q-范数),则在最中间的显示界面上,显示所述OpenKiWi引擎云评测得分最高的翻译结果;
[0042] 作为优选,在另外的显示界面上,显示基于BLEU内核的评测组件以及基于GLEU内核的评测组件评测得分最高的翻译结果;
[0043] 作为优选,所述整体引擎连接反馈组件,所述反馈组件连接所述翻译引擎矩阵,并反馈信号给所述翻译引擎选择器。
[0044] 本发明所述的基于OpenKiWi进化的引擎优化方法,通过所述翻译优化系统实现。
[0045] 作为再一个方面,本发明还提供一个评测引擎组合接口,所述评测引擎组合接口包括OpenKiWi引擎云、基于BLEU内核的评测组件以及基于GLEU内核的评测组件,通过反馈组件,与翻译引擎矩阵通信连接。
[0046] 本发明的上述方法可以通过
计算机程序指令实现,因此,本发明还提供一种计算机可读存储介质,通过
计算机系统的
存储器和处理器,执行所述指令实现本发明的上述方法。
[0047] 采用本发明的技术方案,通过在翻译引擎矩阵选择中以OpenKiWi为核心评测组件,结合基于GLEU内核和BLEU内核的评测组件,引入评分矩阵的范数进行判断,从而避免了翻译引擎矩阵选择中的记忆效应问题。
[0048] 本发明的进一步细节以及优点将在具体实例中结合
附图进一步展现。
附图说明
[0049] 图1是本发明所述引擎优化方法主体
流程图。
[0050] 图2是图1所述方法的进一步
实施例示意图。
[0051] 图3是本发明一个实施例的所述翻译优化系统整体示意图。
[0052] 图4是图3所述翻译优化系统的具体指令实现时序图。
[0053] 图5是图3所述翻译优化系统的流程
框架图。
[0054] 图6是本发明技术方案与现有技术的准确度对比图具体实施例
[0055] 参见图1,本发明所述引擎优化方法主体流程图。在图1中,所述方法具体包括:
[0056] S100:获得翻译引擎矩阵对于源语言文档的翻译结果,所述翻译结果为从所述翻译引擎矩阵中随机选择的多个不同翻译引擎对于同一源语言文档的多个翻译结果;
[0057] 现有的各种翻译工具都至少内置了多种翻译引擎,例如将谷歌翻译、搜狗翻译、有道翻译、百度翻译等组合成一个包含对外接口的翻译引擎矩阵。
[0058] S200:采用包含OpenKiWi核心的评测组件,对所述多个翻译结果进行自动评测,并量化得到每一个翻译结果的评分。
[0059] S300:从所述多个翻译结果中随机选择第一数量的部分翻译结果,采用基于BLEU内核的评测组件进行评测,得到所述第一数量的部分翻译结果的评分;
[0060] S400:采用基于GLEU内核的评测组件,对所述多个翻译结果中除步骤S300选择的部分翻译结果之外的其他翻译结果进行评测,得到第二数量的其他翻译结果的评分;
[0061] S500:基于步骤S200-S400的三个评分,输出所述源语言文档的最终翻译结果。
[0062] 在本实施例中,步骤S500具体包括:
[0063] 步骤S200得到的每一个翻译结果的评分为向量序列X={X1,X2,……,Xn};
[0064] 步骤S300得到的部分翻译结果的评分为向量序列Y={Y1,Y2,……,Ys};
[0065] 步骤S400得到的其他翻译结果的评分为向量序列Z={Z1,Z2,……Zq};
[0066] 计算向量序列X的n-范数、向量序列Y的s-范数以及向量序列Z的q-范数;
[0067] 如果所述n-范数>(s-范数+q-范数);
[0068] 则输出所述S200步骤中评分最高的翻译结果;
[0069] 否则,返回步骤S100;
[0070] 其中,s+q=n。
[0071] 进一步的,如果所述n-范数<(s-范数+q-范数),则将所述步骤S300-S400的评测结果反馈给所述翻译引擎矩阵。
[0072] 作为进一步的优选技术方案,在所述步骤S400之后,还包括如下步骤:
[0073] S401:计算所述向量序列Y和向量序列Z的相似度;
[0074] S402:判断所述相似度是否超过预定阈值;如果是,将所述步骤S200中评分最高的翻译结果输出。
[0075] 通过实验证明,在翻译引擎矩阵选择中以OpenKiWi为核心评测组件,结合基于GLEU内核和BLEU内核的评测组件,引入评分矩阵的范数进行判断,有效避免了翻译引擎矩阵选择中的记忆效应问题。
[0076] 进一步参见图2,是图1所述方法的进一步实施例示意图。
[0077] 在所述步骤S400之后,还包括如下步骤:
[0078] S401:计算所述向量序列Y和向量序列Z的相似度;
[0079] S402:判断所述相似度是否超过预定阈值;如果是,将所述步骤S200中评分最高的翻译结果输出。
[0080] 为了确保更好的防记忆效果,上述技术方案中,步骤S100中,每次随机选择的多个不同翻译引擎不完全相同。
[0081] 图1-2所述的方法可以在计算机翻译系统中集成,因此,参见图3-5,是本发明所述翻译优化系统的具体实施例。
[0082] 参见图3,提供一种基于OpenKiWi引擎云的翻译优化系统,所述优化系统包括:
[0083] 文档输入组件,用于输入待译文档,所述待译文档包括多种形式:文本、音频、视频等;
[0084] 翻译引擎选择器,所述翻译引擎选择器用于从所述翻译优化系统的翻译引擎矩阵中随机选择多个翻译引擎;
[0085] 翻译结果分组显示界面,在所述显示界面上,分组显示所述多个翻译引擎对所述待译文档执行翻译后的多个翻译结果;
[0086] 图3示意性的示出所述翻译优化系统还包括OpenKiWi引擎云、基于BLEU内核的评测组件以及基于GLEU内核的评测组件,这是实现本发明的技术效果的关键技术手段之一;
[0087] 进一步参见图4,所述OpenKiWi引擎云、基于BLEU内核的评测组件以及基于GLEU内核的评测组件执行对翻译结果的评测,并输出评测向量序列。
[0088] 具体来说,采用包含OpenKiWi核心的评测组件,对所有翻译引擎输出的多个翻译结果进行自动评测,并量化得到每一个翻译结果的评分作为评测向量序列。
[0089] 采用基于BLEU内核的评测组件从所述多个翻译结果中随机选择第一数量的部分翻译结果进行评测,得到所述第一数量的部分翻译结果的评分作为评测向量序列;
[0090] 采用基于GLEU内核的评测组件,对所述多个翻译结果中除基于BLEU内核的评测组件选择的部分翻译结果之外的其他翻译结果进行评测,得到第二数量的其他翻译结果的评分作为评测向量序列;
[0091] 所述翻译优化系统还包括范数计算引擎模块,用于计算向量序列的不同类型范数。
[0092] 在本实施例中,在所述OpenKiWi引擎云、基于BLEU内核的评测组件以及基于GLEU内核的评测组件输出各自的评测向量序列X、Y、Z之后,所述范数计算引擎模块执行如下计算:
[0093] 计算向量序列X的n-范数、向量序列Y的s-范数以及向量序列Z的q-范数;
[0094] 其中n、s、q为对应向量序列各自的元素个数。
[0095] 作为优选,所述范数计算引擎、OpenKiWi引擎云、基于BLEU内核的评测组件以及基于GLEU内核的评测组件封装成整体引擎,对外提供统一反馈接口;
[0096] 其中,翻译结果分组显示界面包括至少三个并排显示的分组显示界面,如果所述n-范数>(s-范数+q-范数),则在最中间的显示界面上,显示所述OpenKiWi引擎云评测得分最高的翻译结果;
[0097] 作为优选,在另外的显示界面上,显示基于BLEU内核的评测组件以及基于GLEU内核的评测组件评测得分最高的翻译结果;
[0098] 作为优选,所述整体引擎连接反馈组件,所述反馈组件连接所述翻译引擎矩阵,并反馈信号给所述翻译引擎选择器。
[0099] 本发明所述的基于OpenKiWi进化的引擎优化方法,通过所述翻译优化系统实现。
[0100] 参见图4,所述OpenKiWi引擎云、基于BLEU内核的评测组件以及基于GLEU内核的评测组件可以集成为评测引擎组合接口,对外显示为黑盒状态。通过反馈组件,与翻译引擎矩阵通信连接,这样则可以体现本发明的技术方案的另一个优点:普适性以及可推广性。
[0101] 本发明使用到的各种英文缩写遵循翻译技术领域的标准表达。
[0102] BLEU为IBM提出的自动评测
算法BLEU(bilingual evaluation understudy)。简单来说,BLEU算法的思想就是机器翻译的译文越接近人工翻译的结果,它的翻译
质量就越高。所以评测算法就是如何定义机器翻译译文与参考译文之间的相似度。
[0103] 机器翻译(Machine Translation,MT),又称为自动翻译,是利用计算机程序将文字从一种自然语言(源语言)翻译成另一种自然语言(
目标语言)。它是
自然语言处理(Natural Language Processing)的一个分支,与
计算语言学(Computational Linguistics)、自然语言理解(Natural Language Understanding)之间存在着密不可分的关系。
[0104] GLEU是在BLEU
基础上的改进评测指标,在实际测试中,会比BLEU的表现和译员评测的效果较为接近一些,尤其在自然语言评测领域,逐渐取代Bleu有更好的表现,类似的技术可参见Wang A,Singh A,Michael J,et al.GLUE:A Multi-Task Benchmark and Analysis Platform for Natural Language Understanding[J].2018.
[0105] 上述技术概念虽然为本领域技术人员所熟知,但是本发明首次首次在翻译引擎矩阵选择中以OpenKiWi为核心评测组件,结合基于GLEU内核和BLEU内核的评测组件,引入评分矩阵的范数进行判断,从而避免了翻译引擎矩阵选择中的记忆效应问题,现有技术未见相关报告;并且从图6技术效果看,随着待译文档的数量级上升,本发明的技术方案准确度越来越明显,因此,本发明的技术方案尤其适合于大规模语料的准确翻译。