基于人工智能的翻译方法及装置与流程

文档序号:28101628发布日期:2021-12-22 11:37阅读:432来源:国知局
基于人工智能的翻译方法及装置与流程

1.本技术涉及人工智能技术,尤其涉及一种基于人工智能的翻译方法、装置、 电子设备及计算机可读存储介质。


背景技术:

2.随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用, 例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人 驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、车联网、自动驾驶、 智慧交通、机器翻译等,相信随着技术的发展,人工智能技术将在更多的领域 得到应用,并发挥越来越重要的价值。
3.神经机器翻译(nmt)逐渐成为新翻译模型的主流,在现有的神经机器翻 译中,在测试阶段通常存在较大的搜索误差且无法保证误差大小的程度。对于 如何精确搜索出准确的翻译结果,相关技术尚无有效解决方案。


技术实现要素:

4.本技术实施例提供一种基于人工智能的翻译方法、装置、电子设备及计算 机可读存储介质,能够搜索出准确的翻译结果。
5.本技术实施例的技术方案是这样实现的:
6.本技术实施例提供一种基于人工智能的翻译方法,包括:
7.将待翻译语句中的第i个元素编码为第i向量,并将所述第i向量与翻译词 表进行匹配,得到多个中间向量,其中,i为大于1的整数变量;
8.将所述多个中间向量分别与所述待翻译语句的前i

1个元素的候选翻译向 量进行融合处理,并对得到的多个融合后的候选翻译向量进行概率预测处理, 得到每个所述候选翻译向量的条件概率;
9.将对应的条件概率不小于下界概率的候选翻译向量存储至数据结构中,其 中,所述数据结构中存储有前i次翻译过程中对应的条件概率大于所述下界概 率的k个候选翻译向量,k为大于1的整数常量;
10.将所述数据结构中的候选翻译向量进行解码,得到所述待翻译语句前i个 元素的翻译结果。
11.本技术实施例提供一种基于人工智能的翻译装置,包括:
12.匹配模块,用于将待翻译语句中的第i个元素编码为第i向量,并将所述第 i向量与翻译词表进行匹配,得到多个中间向量,其中,i为大于1的整数变量;
13.融合模块,用于将所述多个中间向量分别与所述待翻译语句的前i

1个元 素的候选翻译向量进行融合处理;
14.预测模块,用于对得到的多个融合后的候选翻译向量进行概率预测处理, 得到每个所述候选翻译向量的条件概率;
15.存储模块,用于将对应的条件概率不小于下界概率的候选翻译向量存储至 数据
结构中,其中,所述数据结构中存储有前i次翻译过程中对应的条件概率 大于所述下界概率的k个候选翻译向量,k为大于1的整数常量;
16.解码模块,用于将所述数据结构中的候选翻译向量进行解码,得到所述待 翻译语句前i个元素的翻译结果。
17.上述方案中,所述存储模块,还用于将每个所述候选翻译向量的条件概率 分别与所述下界概率进行比较,得到至少一个不小于所述下界概率的候选翻译 向量;将所述至少一个不小于所述下界概率的候选翻译向量存储至所述数据结 构中。
18.上述方案中,所述基于人工智能的翻译装置还包括:删除模块,用于当所 述数据结构中的候选翻译向量超过k个时,将所述数据结构中具有最小条件概 率的候选翻译向量删除,直至数据结构中的候选翻译向量的数量为k;更新模 块,用于将所述下界概率更新为所述数据结构中的k个所述候选翻译向量的最 小条件概率。
19.上述方案中,所述解码模块,还用于将所述数据结构中的k个候选翻译向 量进行排序筛选,得到所述k个候选翻译向量中条件概率最大的候选翻译向量; 基于所述k个候选翻译向量中条件概率最大的候选翻译向量调用解码器,得到 所述待翻译语句前i个元素的翻译结果。
20.上述方案中,所述融合模块,还用于将所述多个中间向量分别与所述待翻 译语句的前i

1个元素的候选翻译向量进行融合处理,得到与所述多个中间向 量对应的所述多个融合后的候选翻译向量。
21.上述方案中,所述预测模块,还用于基于所述多个融合后的候选翻译向量 调用翻译模型,得到每个所述候选翻译向量的条件概率。
22.上述方案中,所述融合模块,还用于将所述中间向量与所述待翻译语句的 前i

1个元素的候选翻译向量进行融合处理,得到与所述多个中间向量中的任 意一个中间向量对应的所述多个融合后的候选翻译向量。
23.上述方案中,所述融合模块,还用于将所述批次中的至少两个中间向量并 行与所述待翻译语句的前i

1个元素的候选翻译向量进行融合处理,得到与所 述批次中的至少两个中间向量对应的所述多个融合后的候选翻译向量。
24.上述方案中,所述基于人工智能的翻译装置还包括:排序模块,用于根据 每个所述中间向量的被选中的概率,将所述多个中间向量进行排序处理,得到 排序后的所述多个中间向量。
25.上述方案中,所述融合模块,还用于将排序后的所述多个中间向量分别与 所述待翻译语句的前i

1个元素的候选翻译向量进行融合处理。
26.上述方案中,所述融合模块,还用于将所述中间向量按照排序顺序与所述 待翻译语句的前i

1个元素的候选翻译向量进行融合处理,得到与所述多个中 间向量中的任意一个中间向量对应的所述多个融合后的候选翻译向量。
27.上述方案中,所述融合模块,还用于将所述排序后的多个中间向量中的至 少两个相邻中间向量作为一个批次,且不同批次包括不同的中间向量,所述不 同批次之间的顺序满足所述排序顺序,针对每个所述批次执行以下处理:将所 述批次中的至少两个中间向量并行与所述待翻译语句的前i

1个元素的候选翻 译向量进行融合处理,得到与所述批次中的至少两个中间向量对应的所述多个 融合后的候选翻译向量。
28.本技术实施例提供一种基于人工智能的翻译装置,包括:
29.存储器,用于存储可执行指令;
30.处理器,用于执行所述存储器中存储的可执行指令时,实现本技术实施例 提供的方法。
31.本技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于引 起处理器执行时,实现本技术实施例提供的基于人工智能的翻译方法。
32.本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产 品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。 计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该 计算机指令,使得该计算机设备执行本技术实施例上述的基于人工智能的翻译 方法。
33.本技术实施例具有以下有益效果:
34.由于数据结构中存储有前i次翻译过程中对应的条件概率大于下界概率的 k个候选翻译向量,从而保证了数据结构中存储的是搜索过程中与待翻译语句 最匹配的k个候选翻译向量,将搜索过程中与待翻译语句最匹配的k个候选翻 译向量进行解码,得到待翻译语句前i个元素的翻译结果,从而提高了翻译结 果的准确性。
附图说明
35.图1是本技术实施例提供的基于人工智能的翻译系统架构的一个结构示意 图;
36.图2是本技术实施例提供的基于人工智能的翻译装置的一个可选的结构示 意图;
37.图3是本技术实施例提供的基于人工智能的翻译方法的一个可选的流程示 意图;
38.图4是本技术实施例提供的基于人工智能的翻译方法的一个可选的流程示 意图;
39.图5是本技术实施例提供的基于人工智能的翻译方法的一个可选的流程示 意图;
40.图6是本技术实施例提供的基于人工智能的翻译方法的一个可选的流程示 意图;
41.图7是本技术实施例提供的基于人工智能的翻译方法的一个可选的流程示 意图;
42.图8是本技术实施例提供的基于人工智能的翻译方法的一个可选的流程示 意图;
43.图9a是本技术实施例提供的基于人工智能的翻译方法与波束搜索比较的 示意图;
44.图9b是本技术实施例提供的基于人工智能的翻译方法与波束搜索比较的 示意图;
45.图9c是本技术实施例提供的基于人工智能的翻译方法与波束搜索比较的 示意图;
46.图10是本技术实施例提供的翻译模型的原理示意图。
具体实施方式
47.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本申 请作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普 通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本 申请保护的范围。
48.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集, 但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集, 并且可以在不冲
突的情况下相互结合。
49.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术 领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申 请实施例的目的,不是旨在限制本技术。
50.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词 和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
51.1)自然语言处理(nature language processing,nlp):是计算机科学领域 与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言 进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、 数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用 的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括 文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
52.2)机器学习(machine learning,ml):是一门多领域交叉学科,涉及概率 论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机 怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知 识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具 有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通 常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。
53.3)卷积神经网络(cnn,convolutional neural networks):一类包含卷积计 算且具有深度结构的前馈神经网络(fnn,feed forward neural networks),是深 度学习(deep learning)的代表算法之一。卷积神经网络具有表征学习 (representation learning)能力,能够按其阶层结构对输入图像进行平移不变分类 (shift

invariant classification)。
54.4)机器翻译:机器翻译的特征主要表现为自动化、机械性、以语句为翻译 单位、二度摹仿和语境制约有限五大特征,且机器翻译与人工翻译之间的关系 并非矛盾、零和的关系,而是相辅相成、相互促进的关系。语言中出现一些变 化、新词或者外来词时,谷歌翻译可以通过升级、完善其语料库,增加对应的 新词、外来词文本,使译文适应语言的发展,十分便利。
55.5)神经机器翻译(neural machine translation,简称nmt):是利用神经网络 模型来学习机器翻译的统计模型。它的主要优点是可以通过源文本和目标文本 直接对一个系统进行训练,不再需要专门的统计机器学习系统。传统的基于短 语的翻译系统由许多独立调整的小型子部件组成,与之不同的是,神经机器翻 译试图建立和训练单个大型神经网络可以读取一个句子并输出一个正确的翻译。
56.机器翻译是指利用计算机将一种自然语言转变为另一种自然语言的过程: 比如,将中文语句翻译为英文语句。通常,翻译模型采用编码器

解码器的模型 结构。对待翻译语句的翻译过程中,翻译模型将待翻译语句作为编码器的输入, 对待翻译语句编码输出一个中间表示:该中间表示作为解码器的输入,将中间 表示解码为翻译结果。
57.6)待翻译语句/翻译结果:在自然语言的翻译过程中,第一语言类的句子 被翻译为第二语言类的句子,第一语言类的句子就是待翻译语句,第二语言类 的句子就是翻译结
果。示意性的,将中文句子翻译为英文句子,中文句子即为 待翻译语句,英文句子即为翻译结果:比如,翻译模型将句子“我必须解决这 个问题。”翻译为句子“i must solve the problem.”,句子“我必须解决这个问题。
”ꢀ
是待翻译语句,句子“i must solve the problem.”是翻译结果。
58.在现有神经网络机器翻译系统中,在测试阶段常常使用beam search(波 束搜索)的方式对待翻译文本的翻译结果进行解码。然而,波束搜索本身由于 是一种启发式算法,自带有很大的搜索误差,并且无法保证误差大小的程度。
59.在波束搜索中,较大的波束尺寸会导致较少的搜索错误,因为这些候选者 的排名位置越高。像平常一样,申请人计算这些候选者的bleu分数。结果表 明,排名较高的候选人表现出较差的bleu分数(见图9b),这说明nmt系统 在排名上存在缺陷,即它倾向于将较差的候选人置于相对较高的位置。这种现 象为波束搜索诅咒——翻译质量随着波束大小的增加而下降。
60.基于以上分析,申请人发现波束搜索诅咒与nmt模型的排序能力密切相 关,因此,现有技术并不能够精确搜索出准确的翻译结果,且现有技术得到的 翻译结果准确性不高。仅通过较差翻译结果并不能完整的反映模型本身的错误, 限制了翻译模型的评估方法的发展,针对上述问题,本技术实施例提供了一个 能反应出模型在翻译结果层面上概率分布的基于人工智能的翻译方法。
61.本技术实施例提供的基于人工智能的翻译方法、装置、电子设备及计算机 可读存储介质,能够精确搜索出最匹配的翻译结果,显著提高了翻译结果的准 确性。下面说明本技术实施例提供的基于人工智能的翻译的电子设备的示例性 应用,本技术实施例提供的电子设备可以实施为笔记本电脑,平板电脑,台式 计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字 助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施 为服务器。
62.参见图1,图1是本技术实施例提供的基于人工智能的翻译系统100的一 个架构示意图,为实现基于人工智能的翻译应用场景,终端(示例性示出了终 端400)通过网络300连接服务器200,网络300可以是广域网或者局域网,又 或者是二者的组合。
63.终端400用于供用户使用客户端410,在图形界面410

1(示例性示出了图 形界面410

1)显示。终端400和服务器200通过有线或者无线网络相互连接。
64.在一些实施例中,终端400中包括麦克风:终端400通过麦克风采集语音 内容,并将采集得到的语音内容发送至服务器200。服务器200中包括语音翻 译模块:该语音翻译模块中包括翻译模型。
65.例如,服务器200接收终端400发送的语音内容,对语音内容进行识别, 得到待翻译文本,通过翻译模型对待翻译文本进行翻译后得到翻译结果,并将 翻译结果发送至终端400中进行展示。又例如,终端400中包括语音翻译模块: 该语音翻译模块中包括翻译模型。终端400采集得到语音内容之后,对语音内 容进行识别,得到待翻译文本,对待翻译文本通过翻译模型对语音内容进行翻 译后得到翻译结果,并对翻译结果进行展示。
66.在一些实施例中,终端400中包括文本输入控件:终端400通过文本输入 控件获取文本内容,并将获取的文本内容发送至服务器200。
67.例如,服务器200中包括文本翻译模块,该文本翻译模块中包括已训练的 翻译模
型。服务器200接收终端400的文本内容,通过翻译模型对文本内容进 行翻译后得到翻译结果,并将翻译结果发送至终端400进行展示。又例如,终 端400中包括文本翻译模块:该文本翻译模块中包括已训练的翻译模型。终端 400获取得到文本内容之后,通过翻译模型对文本内容进行翻译后得到翻译结 果,并对翻译结果进行展示。
68.在一些实施例中,终端400的展示方式包括语音形式或者文字形式。
69.示意性的,本技术实施例提供的基于人工智能的翻译方法可以应用于文档 资料翻译、文章资讯阅读、外文网站翻译、外语学习查询、口语对话辅助、境 外旅欧服务等等应用场景中。对此进行举例说明如下:
70.翻译模型应用于文本翻译软件中,可以将合同、文件、资料、论文、邮件 等文档类内容作为输入数据,对输入数据进行词嵌入处理,最终,得到翻译结 果。
71.翻译模型应用于各类网站中来实现翻译辅助功能,比如,在网站中阅读文 章时,触发网站中提供的文本翻译功能,获取文章中的文本内容,将上述文本 内容作为输入数据,对输入数据进行词嵌入处理,最终,得到翻译结果。再比 如,在浏览外文网站时,触发外文网站的翻译功能,获取网页中的文本内容, 将上述文本内容作为输入数据,对输入数据进行词嵌入处理最终,得到翻译结 果。从而实现对网站的翻译。
72.翻译模型应用于电子词典中,当在电子词典中输入句子时,电子词典首先 对句子进行词嵌入处理,最终,得到翻译结果。从而实现对电子词典中输入句 子的翻译。
73.翻译模型应用于实时翻译工具中,比如,该实时翻译工具为翻译机,翻译 机通过麦克风获取音频,对音频进行处理得到待翻译语句,并对但翻译语句进 行词嵌入处理,最终,得到翻译结果。并对翻译结果进行显示,或者,将翻译 结果转换为语音,通过扬声器进行播放。该翻译工具在跨国会议场景中、在境 外旅游时,能够实现快速应答。
74.翻译模型应用于即时通信程序中,当用户通过即时通信程序语音/视频时, 终端获取音频,对音频进行处理得到待翻译语句,并对待翻译语句进行词嵌入 处理,最终,得到翻译结果。并对翻译结果进行显示,或者,将翻译结果转换 为语音,通过扬声器进行播放。
75.翻译模型应用于视频播放程序中,当终端中播放视频时,终端采集音频对 音频进行处理得到待翻译语句,并对待翻译语句进行词嵌入处理,最终,得到 翻译结果。对翻译结果进行显示,或者,将翻译结果转换为语音,通过扬声器 进行播放。
76.或者,终端提取字幕,对字幕的文字内容作为输入数据,最终,得到翻译 结果。
77.在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物 理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、 云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全 服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端 400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能 手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行 直接或间接地连接,本技术实施例中不做限制。
78.本技术实施例提供的基于人工智能的翻译方法、装置、电子设备及计算机 可读存储介质,能够精确搜索出准确的翻译结果,下面说明本技术实施例提供 的人工智能翻译的电子设备的示例性应用,本技术实施例提供的电子设备可以 实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动 电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备) 等各种类型的用户终端,也可以实施为服务器。
79.参见图2,图2是本技术实施例提供的基于人工智能的翻译方法的终端40 0的结构示意图,图2所示的终端400包括:至少一个处理器410、存储器450、 至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统4 40耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总 线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。 但是为了清楚说明起见,在图2中将各种总线都标为总线系统440。
80.处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处 理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑 器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以 是微处理器或者任何常规的处理器等。
81.用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包 括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或 多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、 麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
82.存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包 括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位 置上远离处理器410的一个或多个存储设备。
83.存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易 失性存储器两者。非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本技术实施例描述的存储器450旨在包括任意适合类型的存储器。
84.在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的 示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
85.操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系 统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理 基于硬件的任务。
86.网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到 达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(wifi)、 和通用串行总线(usb,universal serial bus)等。
87.呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置43 1(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和 显示内容和信息的用户接口);
88.输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一 的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
89.在一些实施例中,本技术实施例提供的基于人工智能的翻译装置可以采用 软件方式实现,图2示出了存储在存储器450中的装置455,其可以是程序和 插件等形式的软件,包括以下软件模块:匹配模块4551、融合模块4552、预测 模块4553、存储模块4554、解码模块4555,这些模块是逻辑上的,因此根据 所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的 功能。
90.在另一些实施例中,本技术实施例提供的翻译装置可以采用硬件方式实现, 作为
示例,本技术实施例提供的装置可以是采用硬件译码处理器形式的处理器, 其被编程以执行本技术实施例提供的基于人工智能的翻译方法,例如,硬件译 码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field

programmable gate array)或其 他电子元件。
91.下面,将结合本技术实施例提供的终端的示例性应用和实施,说明本技术 实施例提供的基于人工智能的翻译方法。
92.本技术实施例提供的翻译模型,使用一种称为序列到序列的建模方式对翻 译和解码进行建模。参见图10,图10是本技术实施例提供的翻译模型的一个 可选的流程示意图,通过输入待翻译序列(例如中文序列),经过编码器编码, 然后解码器进行解码,得到翻译结果(例如待翻译语句的中文翻译结果)。其中, 编码器和解码器都可以是长短期记忆模型(lstm,long short

term memory) (有时是gru模型)。编码器的最终单元的上下文向量被输入到解码器网络的 第一个单元。使用这些初始状态,解码器开始生成输出序列(例如英文序列), 并且将来的输出也将这些输出考虑在内。
93.参见图3,图3是本技术实施例提供的基于人工智能的翻译方法的一个可 选的流程示意图,将结合图3示出的步骤进行说明。
94.在步骤101中,将待翻译语句中的第i个元素编码为第i向量,并将第i向 量与翻译词表进行匹配,得到多个中间向量,其中,i为大于1的整数变量。
95.在一些实施例中,在步骤101之前,将待翻译语句中的第1个元素编码为 第一向量,并将第一向量与翻译词表进行匹配,得到多个中间向量。
96.在一些实施例中,步骤101可以通过以下方式实现:基于待翻译语句中的 第i个元素调用编码器,得到编码后的第i向量,将第i向量传入解码器,基于 第i向量调用解码器,将第i向量与翻译词表进行匹配,得到多个中间向量。
97.例如,当i=2时,可以将待翻译语句中的第2个元素编码为第二向量,并 将第2向量与翻译词表进行匹配,得到多种中间向量。
98.例如,当i=3时,可以将待翻译语句中的第3个元素编码为第三向量,并 将第3向量与翻译词表进行匹配,得到多种中间向量。
99.在一些实施例中,元素可以为待翻译语句中的源词、标点符号、特殊符号 等等,元素的具体类型并不构成对本技术的限定。可以在每个待翻译语句后添 加特殊符号,在每个待翻译语句后添加的特殊符号可以为“<eos>,end of sequence”,表示一个待翻译语句的终止。
100.举例来说,翻译词表可以为{x、y、t、f、h、\s},将第i向量与翻译词 表中的每一向量进行匹配,进而可以得到匹配成功的多个中间向量,例如,多 个中间向量可以为{x、f、\s}。
101.参见图4,图4是本技术实施例提供的基于人工智能的翻译方法的一个可 选的流程示意图,在步骤101中,将第i向量与翻译词表进行匹配,得到多个 中间向量之后,执行步骤105。
102.在步骤105中,根据每个中间向量的被选中的概率,将多个中间向量进行 排序处
理,得到排序后的多个中间向量。
103.通过对中间向量进行排序,使得中间向量按照从大到小的顺序依次排列, 从而可以将被选中的概率大的中间向量优先进行融合处理,有效节省了运行时 间,提高了翻译的效率。
104.在步骤102中,将多个中间向量分别与待翻译语句的前i

1个元素的候选翻 译向量进行融合处理,并对得到的多个融合后的候选翻译向量进行概率预测处 理,得到每个候选翻译向量的条件概率。
105.例如,当i=2时,可以将待翻译语句中的第2个元素编码为第二向量,并 将第2向量与翻译词表进行匹配,得到多种中间向量。将多个中间向量分别与 待翻译语句的前1个元素的候选翻译向量进行融合处理,并对得到的多个融合 后的候选翻译向量进行概率预测处理,得到每个候选翻译向量的条件概率。
106.例如,当i=3时,可以将待翻译语句中的第3个元素编码为第三向量,并 将第三向量与翻译词表进行匹配,得到多种中间向量。将多个中间向量分别与 待翻译语句的前2个元素的候选翻译向量进行融合处理,并对得到的多个融合 后的候选翻译向量进行概率预测处理,得到每个候选翻译向量的条件概率。
107.在一些实施例中,融合处理可以是拼接处理、合并处理等等,融合处理的 具体类型并不构成对本技术的限定。
108.例如,多个中间向量可以为{x、f、\s},待翻译语句的前i

1个元素的候 选翻译向量可以为{xy、xytf、tfh\s、yxfth\s},将多个中间向量分别与 待翻译语句的前i

1个元素的候选翻译向量进行融合处理,得到的多个融合后 的候选翻译向量可以为{xyx、xyf、xytf\s、tfh\sx}。
109.在一些实施例中,对得到的多个融合后的候选翻译向量进行概率预测处理, 可以通过以下方案实现:基于多个融合后的候选翻译向量调用翻译模型进行概 率预测处理,其中,翻译模型的表达式可以为:
110.log p(y
t
|x;y
1:t
‑1)=m(x,y
1:t
‑1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
111.其中,y
1:t
‑1表示待翻译语句的前i

1个元素的候选翻译向量,x表示中间 元素,log p(y
t
|x;y
1:t
‑1)表示条件概率的对数形式。
112.在一些实施例中,可以基于多个融合后的候选翻译向量(x,y
1:t
‑1)调用 翻译模型m,得到每个候选翻译向量的条件概率的对数形式log p(y
t
|x;y
1:t
‑1)。
113.参见图5,图5是本发明实施例提供的基于人工智能的翻译方法的一个可 选的流程示意图,图5示出的步骤102可以通过步骤1021至步骤1022实现。
114.在步骤1021中,将多个中间向量分别与待翻译语句的前i

1个元素的候选 翻译向量进行融合处理,得到与多个中间向量对应的多个融合后的候选翻译向 量。
115.在一些实施例中,步骤1021可以通过以下技术方案实现:将多个中间向量 分别与待翻译语句的前i

1个元素的候选翻译向量进行融合处理,每个中间向 量均对应有多个融合后的候选翻译向量。可以理解的是,若多个中间向量的数 量为n,待翻译语句的前i

1个元素的候选翻译向量为m,则融合后的候选翻 译向量的数量为m*n。
116.在一些实施例中,步骤1021可以通过以下技术方案实现:针对多个中间向 量中的每个中间向量分别执行以下处理:将中间向量与待翻译语句的前i

1个 元素的候选翻译向
量进行融合处理,得到与多个中间向量中的任意一个中间向 量对应的多个融合后的候选翻译向量。
117.例如,一个中间向量与n个待翻译语句的前i

1个元素的候选翻译向量进 行融合处理,可以得到与该中间向量对应的n个融合后的候选翻译向量。
118.在一些实施例中,步骤1021可以通过以下技术方案实现:将多个中间向量 中的任意至少两个中间向量作为一个批次,且不同批次包括不同的中间向量, 针对每个批次执行以下处理:将批次中的至少两个中间向量并行与待翻译语句 的前i

1个元素的候选翻译向量进行融合处理,得到与批次中的至少两个中间 向量对应的多个融合后的候选翻译向量。
119.例如,将多个中间向量中的任意至少两个中间向量作为一个批次,将一个 批次中的至少两个中间向量并行的与待翻译语句的前i

1个元素的n个候选翻 译向量进行融合处理,得到与批次中的至少两个中间向量对应的至少2n个融 合后的候选翻译向量。
120.由于将多个中间向量中的任意至少两个作为一个批次,并行的与待翻译语 句的前i

1个元素的候选翻译向量进行融合,可以显著提高融合效率,有效缩 短融合时间。
121.在步骤1022中,基于多个融合后的候选翻译向量调用翻译模型,得到每个 候选翻译向量的条件概率。
122.在一些实施例中,步骤1022可以通过以下方式实现:将多个融合后的候选 翻译向量输入到翻译模型中,得到每个候选翻译向量的条件概率。
123.在一些实施例中,上述步骤105中根据每个中间向量的被选中的概率,将 多个中间向量进行排序处理,得到排序后的多个中间向量,可以通过以下方式 实现:将排序后的多个中间向量分别与待翻译语句的前i

1个元素的候选翻译 向量进行融合处理。
124.由于对多个候选翻译向量进行了排序,可以使得被选中的概率大的候选翻 译向量优先与待翻译语句的前i

1个元素的候选翻译向量进行融合处理。
125.在一些实施例中,步骤102可以通过以下技术方案实现:将排序后的多个 中间向量按照排序顺序分别与待翻译语句的前i

1个元素的候选翻译向量进行 融合处理,得到与排序后的多个中间向量对应的多个融合后的候选翻译向量。
126.在一些实施例中,上述将排序后的多个中间向量按照排序顺序分别与待翻 译语句的前i

1个元素的候选翻译向量进行融合处理,得到与排序后的多个中 间向量对应的多个融合后的候选翻译向量,还可以通过以下技术方案实现:可 以针对排序后的多个中间向量中的每个中间向量分别执行以下处理:按照排序 的顺序,将中间向量分别按照排序顺序与待翻译语句的前i

1个元素的候选翻 译向量进行融合处理,得到与多个中间向量中的任意一个中间向量对应的多个 融合后的候选翻译向量。
127.例如,排序后的中间向量为{4、3、2、1},排序前的中间向量为{2、3、4、 1}。可以将中间向量{4}与待翻译语句的前i

1个元素的候选翻译向量进行融合 处理,然后再将中间向量{3}与待翻译语句的前i

1个元素的候选翻译向量进行 融合处理,再将中间向量{2}与待翻译语句的前i

1个元素的候选翻译向量进行 融合处理,最后将中间向量{1}与待翻译语句的前i

1个元素的候选翻译向量进 行融合处理。
128.通过将中间向量按照排序顺序与待翻译语句的前i

1个元素的候选翻译向 量进行融合处理,可以使得多个融合后的候选翻译向量也遵循排序顺序,进而 在对多个融合后的候选翻译向量进行概率预测处理时,也可以按照排序顺序进 行概率预测处理,进一步提
高了算法执行的效率,有效缩短的算法的运行时长。
129.在一些实施例中,上述将排序后的多个中间向量按照排序顺序分别与待翻 译语句的前i

1个元素的候选翻译向量进行融合处理,得到与排序后的多个中 间向量对应的多个融合后的候选翻译向量,还可以通过以下技术方案实现:可 以将排序后的多个中间向量中的至少两个相邻中间向量作为一个批次,且不同 批次包括不同的中间向量,不同批次之间的顺序满足排序顺序,针对每个批次 执行以下处理:将批次中的至少两个中间向量并行与待翻译语句的前i

1个元 素的候选翻译向量进行融合处理,得到与批次中的至少两个中间向量对应的多 个融合后的候选翻译向量。
130.例如,可以将排序后的多个中间向量中的至少两个相邻中间向量作为一个 批次,批次之间按照排序顺序串行与待翻译语句的前i

1个元素的候选翻译向 量进行融合处理,批次之中的至少两个中间向量并行与待翻译语句的前i

1个 元素的候选翻译向量进行融合处理。
131.先将多种中间向量进行排序,再将排序后的多个中间向量中的至少两个相 邻中间向量进行批次化处理,从而大幅度减小了算法的耗时,有效提升了算法 的运行速度。
132.在步骤103中,将对应的条件概率不小于下界概率的候选翻译向量存储至 数据结构中,其中,数据结构中存储有前i次翻译过程中对应的条件概率大于 下界概率的k个候选翻译向量,k为大于1的整数常量。
133.在一些实施例中,下界概率可以是数据结构中的具有最小条件概率的候选 翻译向量的条件概率。
134.在一些实施例中,数据结构可以是最小堆的数据结构。堆(heap)是树结构 的一种,它是一颗完全二叉树,一个最小堆或最大堆总会满足下列条件:堆中 某个节点的值总是不大于或不小于其父节点的值,堆是一棵完全二叉树。最小 堆的数据结构,最小值在根节点,任意节点值总是小于该子树的最小值。
135.例如,融合后的候选翻译向量为{xyx、xyf、xytf\s、tfh\sx},xyx 的条件概率为0.2、xyf的条件概率为0.5、xytf\s的条件概率为0.1、tfh\sx的条件概率为0.7,下界概率为0.4。进而,可以对应的条件概率不小于下界 概率的候选翻译向量{xyf、tfh\sx}存储至数据结构中。
136.例如,在第i

2次翻译的过程中,对应的条件概率大于下界概率的候选翻译 向量、在第i

1次翻译的过程中,对应的条件概率大于下界概率的候选翻译向 量、在第i次翻译的过程中,对应的条件概率大于下界概率的候选翻译向量等 等,均可以存储在数据结构中。数据结构中可以存储有k个候选翻译向量。
137.参见图6,图6是本技术实施例提供的基于人工智能的翻译方法的一个可 选的流程示意图,在步骤103之后,可以执行步骤106至步骤107。
138.在步骤106中,当数据结构中的候选翻译向量超过k个时,将数据结构中 具有最小条件概率的候选翻译向量删除,直至数据结构中的候选翻译向量的数 量为k。
139.例如,当数据结构中的候选翻译向量为k+2个时,将数据结构中具有最小 条件概率的候选翻译向量删除,即删除了数据结构中的两个候选翻译向量,直 至数据结构中的候选翻译向量的数量为k。
140.当数据结构中的候选翻译向量超过k个时,将数据结构中具有最小条件概 率的候
选翻译向量删除,直至数据结构中的候选翻译向量的数量为k。从而保 证了数据结构中始终存储有k个条件概率最大的候选翻译向量。
141.在步骤107中,将下界概率更新为数据结构中的k个候选翻译向量的最小 条件概率。
142.例如,当数据结构中的候选翻译向量超过k个时,将数据结构中具有最小 条件概率的候选翻译向量删除后,删除后的数据结构中具有最小概率的候选翻 译向量将被更新,因此,需要将下界概率更新为数据结构中的k个候选翻译向 量的最小条件概率。
143.下界概率在前i次翻译的过程中,每次翻译过程只要对数据结构中具有最 小条件概率的候选翻译向量删除,就会将下界概率更新为数据结构中的k个候 选翻译向量的最小条件概率。可以理解的是,下界概率的值会在每次更新之后, 逐步提高。可以理解的是,第i次更新后的下界概率的值会比第i

2次下界概率 的值高,由于下界概率的值逐步提高,进而候选翻译向量进入数据结构的难度 将逐步提高,从而进一步保证了数据结构中存储前i次翻译结果中最优的k个 候选翻译向量。
144.参见图7,图7是本发明实施例提供的基于人工智能的翻译方法的一个可 选的流程示意图,图7示出图3中的步骤103可以通过图7示出的步骤1031 至步骤1032实现。
145.在步骤1031中,将每个候选翻译向量的条件概率分别与下界概率进行比较, 得到至少一个不小于下界概率的候选翻译向量。
146.在一些实施例中,上述步骤1031可以通过以下技术方案实现:将多个融合 后的候选翻译向量中的一个候选翻译向量与下界概率进行比较,若该候选翻译 向量的条件概率比下界概率大,则将该候选翻译向量存储至数据结构中。
147.例如,待翻译语句的前i

1个元素的候选翻译向量的条件概率比融合后的候 选翻译向量的条件概率值要小。具体的,待翻译语句的前i

1个元素的候选翻 译向量的条件概率和融合后的候选翻译向量的条件概率之间可以有以下关系:
148.p1=p+log p(v|x,y)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
149.其中,p1表示融合后的候选翻译向量的条件概率,p表示待翻译语句的前 i

1个元素的候选翻译向量的条件概率,log p(v|x,y)表示待翻译语句中的第i个 元素的候选翻译向量。
150.在步骤1032中,将至少一个不小于下界概率的候选翻译向量存储至数据结 构中。
151.例如,不小于下界概率的候选翻译向量是所有候选翻译向量中相对较优的 候选翻译向量,将相对较优的候选翻译向量存储至数据结构中,可以保证数据 结构中始终存储前i次翻译的过程中最优的候选翻译向量。
152.在步骤104中,将数据结构中的候选翻译向量进行解码,得到待翻译语句 前i个元素的翻译结果。
153.在一些实施例中,将数据结构中的候选翻译向量进行解码,得到待翻译语 句前i个元素的翻译结果,可以通过以下技术方案实现:基于数据结构中的候 选翻译向量调用解码器,得到待翻译语句前i个元素的翻译结果。
154.例如,数据结构中的候选翻译向量,是前i次翻译的过程中,对应的条件 概率大于下界概率的所有候选翻译向量,从而使得数据结构中存储有前i次翻 译过程中最优的候选翻译向量,基于前i次翻译过程中最优的候选翻译向量调 用解码器进行解码,从而可以得
到待翻译语句前i个元素的最优的翻译结果。
155.参见图8,图8是本发明实施例提供的基于人工智能的翻译方法的一个可 选的流程示意图,图8示出图3中的步骤104可以通过图8示出的步骤1041 至步骤1042实现。
156.在步骤1041中,将数据结构中的k个候选翻译向量进行排序筛选,得到k 个候选翻译向量中条件概率最大的候选翻译向量。
157.在一些实施例中,步骤1041可以通过以下技术方案实现:可以将数据结构 中的k个候选翻译向量按照条件概率值从大到小的顺序进行排序,排序后将条 件概率值最大的候选翻译向量选出,得到k个候选翻译向量中条件概率最大的 候选翻译向量。
158.在步骤1042中,基于k个候选翻译向量中条件概率最大的候选翻译向量 调用解码器,得到待翻译语句前i个元素的翻译结果。
159.在一些实施例中,步骤1042可以通过以下技术方案实现:基于k个候选 翻译向量中条件概率最大的候选翻译向量调用解码器进行解码,得到待翻译语 句前i个元素的翻译结果。
160.下面,将说明本技术实施例在一个实际的应用场景中的示例性应用。
161.在本技术实施例的实施过程中,申请人发现相关技术存在以下问题:
162.在现有神经网络机器翻译系统中,在测试阶段常常使用beam search(波 束搜索)的方式对待翻译文本的翻译结果进行解码。然而,波束搜索本身由于 是一种启发式算法,自带有很大的搜索误差,并且无法保证误差大小的程度。
163.在现有神经网络机器翻译系统中,较为常见的解码方法是寻找条件概率最 大的候选码,通常称为最大后验(maximum

a

posternal,map)解码算法。在 所有map译码方法中,波束搜索是神经网络机器翻译系统中应用最为广泛的 一种译码方法,波束搜索通常利用固定的波束大小进行每一步译码。具有对数 概率的朴素波束搜索存在一些缺陷,例如,有利于短翻译和单调约束。因此, 为了提高波束搜索的性能,提出了许多正则化方法或波束搜索变体。
164.在现有的神经网络机器翻译系统中,错误评估的重点是研究机器翻译结果 和人工翻译参考文献之间的差距。通常,在评估错误时统计匹配指标(如bleu,meteor等)占主导地位。然而,这些统计匹配指标只评估一个最佳候选 (即句子或文档)。它们都不会评估生成的候选对象的系统级排名。相比之下, 本技术实施例考虑了系统级排名。
165.波束搜索是在机器翻译领域常用的解码方法,波束搜索的具体算法是由一 个空句子开始,通过使用一个宽度为b的波束,每次对翻译结果增加一个额外 的词,从左到右对模型结果进行解码。在对b个波束内翻译结果进行解码过程 中,每个波束会根据翻译词表给出|v|个候选单词,算法选择b个波束中的b* |v|个候选单词里最大的b个单词。一旦遇到终止符</s>,则当前波束结束,否 则在更新log概率得分后把选中的词加入已解码句子中,直到所有波束结束。
166.参见图9a、图9b、图9c,图9a是本技术实施例提供的基于人工智能的翻 译方法与波束搜索比较的示意图;图9b是本技术实施例提供的基于人工智能的 翻译方法与波束搜索比较的示意图;图9c是本技术实施例提供的基于人工智能 的翻译方法与波束搜索比较的示意图。
167.首先在英德测试集上分别运行本技术实施例中基于人工智能的翻译方法和 波束
搜索算法。这两种方法运行结果上的差异可以帮助理解他们的分歧程度。 然后,绘制了图9a中精确输出的波束搜索结果的排名位置。清楚地表明,较大 的波束尺寸会导致较少的搜索错误,因为这些候选者的排名位置越高。像平常 一样,申请人计算这些候选者的bleu分数。结果表明,排名较高的候选人表 现出较差的bleu分数(见图9b),这说明nmt系统在排名上存在缺陷,即它 倾向于将较差的候选人置于相对较高的位置。这种现象为波束搜索诅咒——翻 译质量随着波束大小的增加而下降。
168.此外,申请人还生成了不同波束大小的每个源语句的翻译。然后,申请人 计算并比较这些翻译的句子级bleu分数。根据图9a所示的结果,申请人可以 猜测,bleu在句子层面上的变化与波束大小的增量是一致的。相比之下,这 些变化是随机的(见图9c),这意味着当光束尺寸变大时,源语句可能会随机 转换为更好的目标语句或更差的目标语句。这表明nmt模型也存在大量的排 序错误,即两个非常接近的候选人可能被模型错误地排序。
169.基于以上分析,申请人发现波束搜索诅咒与nmt模型的排序能力密切相 关,因此,现有技术并不能够精确搜索出准确的翻译结果,且现有技术得到的 翻译结果准确性不高。仅通过较差翻译结果并不能完整的反映模型本身的错误, 限制了翻译模型的评估方法的发展,因而本技术实施例提供了一个能反应出模 型在翻译结果层面上概率分布的基于人工智能的翻译方法。
170.本技术实施例通过关注k个最大条件概率的翻译结果,近似了对模型在完 整翻译结果层面上的概率分布,为设计更加鲁棒的评估指标提供了必要的基础。
171.将待翻译语句中的第i个元素编码为第i向量,并将第i向量与翻译词表进 行匹配,得到多个中间向量,其中,i为大于1的整数变量。
172.将多个中间向量分别与待翻译语句的前i

1个元素的候选翻译向量。
173.对待翻译语句的翻译结果y
t
进行如下的建模:
174.log p(y
t
|x;y
1:t
‑1)=m(x,y
1:t
‑1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
175.其中,y
1:t
‑1表示待翻译语句的前i

1个元素的候选翻译向量,x表示中间 元素,log p(y
t
|x;y
1:t
‑1)表示条件概率的对数形式。
176.在一些实施例中,可以基于多个融合后的候选翻译向量(x,y
1:t
‑1)调用 翻译模型m,得到每个候选翻译向量的条件概率的对数形式log_p(y
t
|x;y
1:t
‑1)。
177.在翻译过程中,翻译模型m以待翻译语句中的第t个元素的第t向量和已 被翻译出的结果y
1:t
‑1作为输入,预测翻译结果y
t
。其中,t代表每个翻译时间 步,y
t
代表第t时刻预测的候选词,log p(y
t
)则代表该候选词被选中的对数概 率。
178.最小堆是一种数据结构,下界概率可以简称为下界,下界概率可以是最小 堆的数据结构中具有最小概率的候选翻译向量的概率值,本技术实施例中所描 述的下界概率和下界均为当前最小堆的数据结构中具有最小概率的候选翻译向 量的概率值。
179.使用了一个额外的最小堆,帮助寻找模型认为最优的k个翻译结果。首先, 算法使用的输入是待翻译语句x(source sentence),当前的已翻译语句y(tr anslation prefix),模型输出的对数概率以及超参数k用以控制需要返回最大的 k个翻译结果;并且在整个算法工作过程中,会使用一个全局的最小堆(heap) 和一个下界γ。
180.检测当前已翻译部分是否已经结束(最近一个已翻译词为</s>),如果结束, 则使用把当前的翻译候选(已经翻译完成的句子)加入最小堆中。
181.如果数据结构中承载的候选翻译向量超过了k个,则需要对数据结构中的 候选翻译向量进行删除,通过将数据结构中条件概率最小的候选翻译向量进行 删除,直至数据结构中的候选翻译向量维持在k个,以保证数据结构中维护了 在前i次搜索过程中最大条件概率的k个候选翻译向量。
182.接着,会更新下界的值,将下界更新为数据结构中得分最小的翻译候选的 分数。
183.通过调用翻译模型m,计算出翻译模型m对所有在翻译词表中的候选向量 对于第i向量和待翻译语句的前i

1个元素的候选翻译向量的得分。
184.通过迭代遍历整个翻译词表,得到融合后的候选翻译向量,并继续调用算 法。
185.接着,本技术实施例提供的基于人工智能的翻译方法的的伪代码如下所示:
186.算法1基于dfs的top

k精确搜索过程
187.全局最小堆heap
188.下界γ
189.function dfs_top

k(x,y,p)
190.if当前已翻译的部分已经结束then
191.把已经翻译完成的候选翻译向量加入到最小堆中
192.if最小堆中已经翻译完成的候选翻译向量大于k个then
193.将堆中具有最小条件概率的候选翻译向量推出最小堆
194.if最小堆中已经翻译完成的候选翻译向量等于k个then
195.更新下界γ的值为最小堆中得分最小的候选翻译向量的分数
196.for迭代遍历整个翻译词表
197.将前i

1个候选翻译向量的条件概率赋值给前i个候选翻译向量
198.if前i个候选翻译向量的条件概率大于下界γthen
199.继续执行第i+1次
200.保存新的全局最小堆heap
201.保存翻译完成的候选翻译向量
202.由于算法需要遍历非常巨大的可能的搜索空间,导致算法速度可能会较慢, 因而本技术实施例中也提出了一些方案对算法本身进行了加速,包括使用下界 修剪搜索空间、搜索进行批次化处理、对贪心搜索迭代顺序等等。
203.搜索进行批次化处理:在算法递归使用的过程中,较为耗时的部分是对模 型进行正向计算部分。因此,本技术实施例中使用一种批次化的计算模式,在 迭代词表中的过程中,不再一个词一个词进行迭代,每b个候选词进行一次迭 代,同时在喂入b个拼接的翻译历史给下一次算法调用。接着,在下一次调用 过程中,使用一次模型正向操作把b*|v|个候选词的概率同时计算出来。以此, 减少通过gpu计算模型概率的次数。
204.贪心搜索迭代顺序:在遍历整个候选词表的过程中,首先对所有候选词的 概率进行一次排序操作。接着,按照从高到低的顺序贪心的迭代所有候选词。 这样在实验中会更快的更新下界的值,并且减少计算数量。
205.本技术实施例提出的基于top

k的翻译算法与stahlberg and byrne等人提 出的算法、集束搜索算法的测评结果的比较,测评结果如表1所示:
206.表1评测结果
[0207][0208]
可以看到波束搜索比精确搜索算法快10到20倍。但是,与精确前10w/bs实现相比,本技术实施例提出的精确前10w/minheap bs的实现只慢了两倍, 这对于本技术实施例新提出的翻译方法来说是一个合理的额外开销,通过合理 的额外开销可以使得翻译精度大幅提升。由上表1可以发现使用本技术实施例 提出的精确前10w/minheap bs可以加速解码算法,从19312.8秒到18908.4秒。
[0209]
本技术实施例提出的在不同的k值的情况下基于top

k翻译算法与stahl berg and byrne等人提出的算法的测评结果的比较,测评结果如表2所示:
[0210]
表2不同的k值下的评测结果
[0211][0212]
上表1和表2的测评结果,是随机抽取了若干个待翻译语句,通过上述方 法进行翻译,并统计了上述方法相应的运行时间及拓展操作的数量。在精确搜 索算法中,扩展操作即模型的前向传递是最耗时的操作。申请人报告了四种不 同算法的计算成本,包括波束搜索、精确top

1、精确top

10和精确top

20最 小堆下限。每个报告的数字是以不同样本作为输入的四次运行的平均值。
[0213]
下面继续结合图1说明本技术实施例提供的基于人工智能的翻译装置455 的实施为软件模块的示例性结构,在一些实施例中,如图1所示,存储在存储 器450的基于人工智能的翻译装置455中的软件模块可以包括:匹配模块4551、 融合模块4552、预测模块4553、存储模块4554、解码模块4555。
[0214]
匹配模块4551,用于将待翻译语句中的第i个元素编码为第i向量,并将 第i向量与翻译词表进行匹配,得到多个中间向量,其中,i为大于1的整数变 量。
[0215]
融合模块4552,用于将多个中间向量分别与待翻译语句的前i

1个元素的 候选翻译向量进行融合处理。
[0216]
预测模块4553,用于对得到的多个融合后的候选翻译向量进行概率预测处 理,得到每个候选翻译向量的条件概率。
[0217]
存储模块4554,用于将对应的条件概率不小于下界概率的候选翻译向量存 储至数据结构中,其中,数据结构中存储有前i次翻译过程中对应的条件概率 大于下界概率的k个候选翻译向量,k为大于1的整数常量。
[0218]
解码模块4555,用于将数据结构中的候选翻译向量进行解码,得到待翻译 语句前i个元素的翻译结果。
[0219]
在一些实施例中,存储模块4554,还用于将每个候选翻译向量的条件概率 分别与下界概率进行比较,得到至少一个不小于下界概率的候选翻译向量;将 至少一个不小于下界概率的候选翻译向量存储至数据结构中。
[0220]
在一些实施例中,基于人工智能的翻译装置还包括:删除模块,用于当数 据结构中的候选翻译向量超过k个时,将数据结构中具有最小条件概率的候选 翻译向量删除,直至数据结构中的候选翻译向量的数量为k;更新模块,用于 将下界概率更新为数据结构中的k个候选翻译向量的最小条件概率。
[0221]
在一些实施例中,解码模块4555,还用于将数据结构中的k个候选翻译向 量进行排序筛选,得到k个候选翻译向量中条件概率最大的候选翻译向量;基 于k个候选翻译向量中条件概率最大的候选翻译向量调用解码器,得到待翻译 语句前i个元素的翻译结果。
[0222]
在一些实施例中,融合模块4552,还用于将多个中间向量分别与待翻译语 句的前i

1个元素的候选翻译向量进行融合处理,得到与多个中间向量对应的 多个融合后的候选翻译向量。
[0223]
在一些实施例中,预测模块4553,还用于基于多个融合后的候选翻译向量 调用翻译模型,得到每个候选翻译向量的条件概率。
[0224]
在一些实施例中,融合模块4552,还用于将中间向量与待翻译语句的前i
‑ꢀ
1个元素的候选翻译向量进行融合处理,得到与多个中间向量中的任意一个中 间向量对应的多个融合后的候选翻译向量。
[0225]
在一些实施例中,融合模块4552,还用于将批次中的至少两个中间向量并 行与待翻译语句的前i

1个元素的候选翻译向量进行融合处理,得到与批次中 的至少两个中间向量对应的多个融合后的候选翻译向量。
[0226]
在一些实施例中,基于人工智能的翻译装置还包括:排序模块,用于根据 每个中间向量的被选中的概率,将多个中间向量进行排序处理,得到排序后的 多个中间向量。
[0227]
在一些实施例中,融合模块4552,还用于将排序后的多个中间向量分别与 待翻译语句的前i

1个元素的候选翻译向量进行融合处理。
[0228]
在一些实施例中,融合模块4552,还用于将中间向量按照排序顺序与待翻 译语句的前i

1个元素的候选翻译向量进行融合处理,得到与多个中间向量中 的任意一个中间向量对应的多个融合后的候选翻译向量。
[0229]
在一些实施例中,融合模块4552,还用于将排序后的多个中间向量中的至 少两个相邻中间向量作为一个批次,且不同批次包括不同的中间向量,不同批 次之间的顺序满足排序顺序,针对每个批次执行以下处理:将批次中的至少两 个中间向量并行与待翻译语句的前i

1个元素的候选翻译向量进行融合处理, 得到与批次中的至少两个中间向量对应的多个融合后的候选翻译向量。
[0230]
本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产 品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。 计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该 计算机指令,使得该计算机设备执行本技术实施例上述的基于人工智能的翻译 方法。
[0231]
本技术实施例提供一种存储有可执行指令的计算机可读存储介质,其中存 储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本技术实 施例提供的基于人工智能的翻译方法,例如,如图3示出的基于人工智能的翻 译方法。
[0232]
在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd

rom等存储器;也可 以是包括上述存储器之一或任意组合的各种设备。
[0233]
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代 码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程 性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被 部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0234]
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被 存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(h tml,hyper text markup language)文档中的一个或多个脚本中,存储在专 用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一 个或多个模块、子程序或代码部分的文件)中。
[0235]
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一 个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互 连的多个计算设备上执行。
[0236]
综上,通过本技术实施例具有以下有益效果:
[0237]
(1)将对应的条件概率不小于下界概率的候选翻译向量存储至数据结构中, 由于数据结构中存储有前i次翻译过程中对应的条件概率大于下界概率的k个 候选翻译向量,从而保证了数据结构中存储的是搜索过程中与待翻译语句最匹 配的k个候选翻译向量,进一步将搜索过程中与待翻译语句最匹配的k个候选 翻译向量进行解码,得到待翻译语句前i个元素的翻译结果,从而能够精确搜 索出最匹配的翻译结果,显著提高了翻译结果的准确性。
[0238]
(2)将排序后的多个中间向量中的至少两个相邻中间向量作为一个批次, 且不同批次包括不同的中间向量,不同批次之间的顺序满足排序顺序,针对每 个批次执行以下处理:将批次中的至少两个中间向量并行与待翻译语句的前i
‑ꢀ
1个元素的候选翻译向量进行融合处理,得到与批次中的至少两个中间向量对 应的多个融合后的候选翻译向量。通过成批次并行融合的处理方式,可以有效 减少通过概率预测模型计算条件概率的次数。
[0239]
(3)根据每个中间向量的被选中的概率,将多个中间向量进行排序处理, 得到排序后的多个中间向量。而且,当数据结构中的候选翻译向量超过k个时, 将数据结构中具有最小条件概率的候选翻译向量删除,直至数据结构中的候选 翻译向量的数量为k,将下界概率更新为数据结构中的k个候选翻译向量的最 小条件概率。由于下界概率值在不断的更新,通过将多个中间向量进行排序, 融合后的候选翻译向量也具有同样的排序顺序,那么按照排序顺序与下界概率 依次进行比较的过程中,只要有一个候选翻译向量的条件概率比下界概率的值 小,则该候选翻译向量之后的候选翻译向量的条件概率也会比下界概率的值小, 那么从该候选翻译向量之后的候选翻译向量就无需继续与下界概率进行概率值 比较,从而有效减少了概率值比较的次数,显著提高了运行效率,有效缩短了 运行耗时。
[0240]
以上,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在 本技术的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本申 请的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1