基于翻译的自动输入方法、装置、设备及计算机存储介质与流程

文档序号:27840678发布日期:2021-12-08 01:37阅读:111来源:国知局
基于翻译的自动输入方法、装置、设备及计算机存储介质与流程

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


背景技术:

2.目前,在人们的工作、生活中经常需要将文本或语音进行翻译,一般情况下可以利用专门的翻译应用或者通过翻译网页进行机器翻译(mt,machine translation),但是机器翻译有时会出现翻译错误的情况,因此在行业内使用机器翻译技术时,结合机器辅助翻译(cat,computer

aided translation)是一种被广泛使用的做法。随着mt系统的进步和完善,出现了各种高效的cat交互方式。在这些不同的cat方法中,对机器翻译的结果进行编辑后的自动补全是与机器辅助翻译最相关技术,其中自动补全可以包括在句子级和词级自动补全在相关技术中,不论是句子级自动补全还是词级自动补全都只能应用于特定场景,不具有普适性。


技术实现要素:

3.本技术实施例提供一种基于翻译的自动输入方法、装置及计算机可读存储介质,能够丰富翻译输入法的适用场景,提高输入效率。
4.本技术实施例的技术方案是这样实现的:
5.本技术实施例提供一种基于翻译的自动输入方法,包括:
6.获取源语言文本和所述源语言文本的初始目标语言文本,所述初始目标语言文本包括经过确认的上下文文本和用于对所述上下文文本进行补充的输入字符;
7.将所述源语言文本和所述上下文文本输入至训练好的词预测模型,得到预设词表中各个候选词的概率分布信息,所述词预测模型的训练数据包括无上下文训练数据、前缀上下文训练数据、后缀上下文训练数据和双侧上下文训练数据;
8.基于所述输入字符和所述概率分布信息,从多个候选词中确定所述输入字符对应的目标输入词;
9.在所述输入字符的位置输出目标输入词。
10.本技术实施例提供一种基于翻译的自动输入装置,包括:
11.第一获取模块,用于获取源语言文本和所述源语言文本的初始目标语言文本,所述初始目标语言文本包括经过确认的上下文文本和用于对所述上下文文本进行补充的输入字符;
12.第一输入模块,用于将所述源语言文本和所述上下文文本输入至训练好的词预测模型,得到预设词表中各个候选词的概率分布信息,所述词预测模型的训练数据包括无上下文训练数据、前缀上下文训练数据、后缀上下文训练数据和双侧上下文训练数据;
13.第一确定模块,用于基于所述输入字符和所述概率分布信息,从多个候选词中确定所述输入字符对应的目标输入词;
14.第一输出模块,用于在所述输入字符的位置输出目标输入词。
15.在一些实施例中,该装置还包括:
16.第二获取模块,用于获取预设的词预测模型和训练数据,所述训练数据包括源语言训练文本、上下文训练文本、训练字符和所述训练字符对应的训练输入词;
17.数据划分模块,用于基于所述上下文训练文本的类型将所述训练数据划分为无上下文训练数据、前缀上下文训练数据、后缀上下文训练数据和双侧上下文训练数据;
18.训练模块,用于利用所述无上下文训练数据、所述前缀上下文训练数据、所述后缀上下文训练数据和所述双侧上下文训练数据对所述词预测模型进行训练,得到训练好的词预测模型。
19.在一些实施例中,该训练模块还用于:
20.分别确定所述无上下文训练数据对应的第一损失函数、所述前缀上下文训练数据对应的第二损失函数、所述后缀上下文训练数据对应的第三损失函数和所述双侧上下文训练数据对应的第四损失函数;
21.基于所述第一损失函数、所述第二损失函数、所述第三损失函数和所述第四损失函数确定联合损失函数;
22.利用所述联合损失函数、所述无上下文训练数据、所述前缀上下文训练数据、所述后缀上下文训练数据和所述双侧上下文训练数据对所述词预测模型进行训练,得到训练好的词预测模型。
23.在一些实施例中,所述词预测模型包括源语言编码器和跨语言编码器,对应地,该第一输入模块,还用于:
24.利用所述源语言编码器对所述源语言文本进行编码处理,得到源语言编码结果;
25.将初始目标语言文本中的所述输入字符替换为预设的占位符,得到更新后的目标语言文本;
26.将所述更新后的目标语言文本和所述源语言编码结果输入所述跨语言编码器,得到所述占位符的表示向量;
27.利用所述占位符的表示向量和所述预设词表中各个候选词的表示向量,确定各个候选词的概率分布信息。
28.在一些实施例中,所述跨语言编码器至少包括双向掩码注意力模块和跨语言注意力模块,对应地,该第一输入模块还用于:
29.获取所述更新后的目标语言文本中各个分词的词向量和位置向量;
30.将所述各个分词的词向量和位置向量输入所述双向掩码注意力模块,得到所述更新后的目标语言文本的第一中间向量;
31.将所述第一中间向量和所述源语言编码结果输入所述跨语言注意力模块,得到第二中间向量;
32.基于所述占位符在所述更新后的目标语言文本中的位置信息,从所述第二中间向量中确定所述占位符的表示向量。
33.在一些实施例中,该第一输入模块还用于:
34.利用所述各个候选词的表示向量对所述占位符的表示向量进行线性变换处理,将所述占位符的表示向量投影到概率向量;
35.将所述概率向量进行归一化处理,得到各个候选词为所述占位符对应的目标词的概率;
36.将各个候选词为所述占位符对应的目标词的概率确定为各个候选词的概率分布信息。
37.在一些实施例中,该第一确定模块,还用于:
38.从所述多个候选词中确定至少一个目标候选词,所述目标候选词以所述输入字符为起始字符;
39.将所述目标候选词的概率分布信息进行归一化处理,得到所述目标候选词的归一化概率值;
40.将归一化概率值最高的目标候选词,确定为目标输入词。
41.在一些实施例中,该装置还包括:
42.第三获取模块,用于获取源语言文本对应的目标语言信息;
43.发送模块,用于响应于对所述源语言文本进行翻译的操作指令,向服务器发送翻译请求,所述翻译请求中携带有所述目标语言信息和所述源语言文本;
44.第四获取模块,用于接收所述服务器发送的翻译响应,并获取所述翻译响应中携带的翻译文本;
45.编辑模块,用于响应于对所述翻译文本的编辑操作,对所述翻译文本进行编辑,得到经过确认的上下文文本;
46.第五获取模块,用于响应于对所述经过确认的上下文文本的补充操作,获取输入字符。
47.在一些实施例中,该第一获取模块还用于:
48.响应于接收到的第一输入操作,获取输入的源语言文本;或者,
49.获取接收到的源语言的语音数据;
50.对所述语音数据进行语音转换处理,得到转换后的源语言文本。
51.在一些实施例中,该装置还包括:
52.第六获取模块,用于响应于接收到的第二输入操作,获取输入的人工翻译文本;
53.第二确定模块,用于将所述人工翻译文本确定为经过确认的上下文文本。
54.本技术实施例提供一种基于翻译的自动输入设备,包括:
55.存储器,用于存储可执行指令;
56.处理器,用于执行所述存储器中存储的可执行指令时,实现本技术实施例提供的基于翻译的自动输入方法。
57.本技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本技术实施例提供的基于翻译的自动输入方法。
58.本技术实施例具有以下有益效果:
59.首先获取源语言文本和所述源语言文本的初始目标语言文本,其中,该初始目标语言文本包括经过确认的上下文文本和用于对所述上下文文本进行补充的输入字符;然后将所述源语言文本和所述上下文文本输入至训练好的词预测模型,得到预设词表中各个候选词的概率分布信息,所述词预测模型的训练数据包括无上下文训练数据、前缀上下文训练数据、后缀上下文训练数据和双侧上下文训练数据;再将输入字符作为硬约束条件,基于
所述输入字符和所述概率分布信息,从多个候选词中确定所述输入字符对应的目标输入词,从而能够保证目标输入词的准确性,并且由于词预测模型在训练时的训练数据包括无上下文训练数据、前缀上下文训练数据、后缀上下文训练数据和双侧上下文训练数据,也即训练数据涵盖了各种辅助翻译场景,因此无论初始目标语言文本包括的上下文文本为哪一种辅助翻译场景均能得出正确的目标输入词,从而丰富丰富翻译输入法的适用场景,提高输入效率,还能保证输入正确率。
附图说明
60.图1为相关技术中句子级自动补全的示意图;
61.图2是本技术实施例提供的基于翻译的自动翻译系统的网络架构示意图;
62.图3是本技术实施例提供的终端的结构示意图;
63.图4是本技术实施例提供的基于翻译的自动翻译方法的一种实现流程示意图;
64.图5为本技术实施例提供的词预测模型的训练过程示意图;
65.图6为本技术实施例提供的基于翻译的自动输入方法的另一种实现流程示意图;
66.图7为利用本技术实施例提供的输入方法进行词级自动补全的场景示意图;
67.图8为本技术实施例提供的词预测模型的结构示意图;
68.图9为本技术实施例提供的双向掩码注意力模块的示意图。
具体实施方式
69.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
70.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
71.在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
72.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
73.对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
74.1)神经机器翻译(neural machine translation),一种基于神经网络的机器翻译模型
75.2)机器辅助翻译(cat,computer

aided translation),一种利用机器翻译模型辅助人工译员提高翻译质量和效率的方式。
76.3)句子级别自动补全(sentence

level autocompletion),一种辅助翻译场景下
根据人工译员输入生成整个翻译句子的自动补全。
77.4)词级别自动补全(word

level autocompletion),一种辅助翻译场景下的对用户输入单词前缀进行补全的输入法。
78.5)翻译原文,对应本技术实施例中的源语言文本,用户/人工译员希望翻译的句子。例如中文到英文的翻译场景中,原始的中文句子就是翻译原文。
79.6)翻译译文,对应本技术实施例中的目标语言文本,是与翻译原文对应的目标语言句子。例如中文到英文的翻译场景中,翻译得到的英文句子就是翻译译文。
80.7)翻译上下文,对应本技术实施例中的上下文文本,在辅助翻译场景下,模型/机器自动产生的翻译译文可能是有问题的,人工译员会有选择的采纳其中一些高质量的片段,剔除那些低质量的片段,这部分留下来的高质量片段就是翻译上下文。
81.8)损失函数(loss function),又称为代价函数(cost function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。在应用中,损失函数通常作为学习准则与优化问题相联系,即通过最小化损失函数求解和评估模型。例如在统计学和机器学习中被用于模型的参数估计,是机器学习模型的优化目标。
82.9)词向量,是将输入的词映射成向量表示,称该向量为输入词的词向量。
83.10)隐状态(hidden states),指的是神经网络编码生成的向量,例如通过以词向量为输入,使用一层或多层神经网络对该词向量进行编码,生成的所有中间结果都称为隐状态。
84.为了更好的理解本技术实施例提供的基于翻译的自动输入方法,首先对相关技术中,基于翻译的自动输入方法进行说明,该自动输入方法也即相关技术中的自动补全方法,可以包括句子级自动补全和词语级自动补全。
85.在相关技术中,cat的自动补全方面的工作大多集中在句子级补全上。句子级补全,一个常见的做法是交互式机器翻译(interactive machine translation,imt)。在人工译员编辑翻译前缀后,imt系统利用mt模型完成翻译的其余部分。对于大多数imt系统来说,实现这种自动补全的核心是前缀解码。
86.另一种句子级的自动补全方法,词性约束解码(lcd,lexically constrain ed decoding),最近引起了很多人的关注。与imt相比,lcd放宽了人工译员的交互限制,使得人工译员的输入形式从前缀扩展到一般形式。lcd基于一些无序词(即词性约束)来完成翻译,这些词不一定是连续的。
87.图1为相关技术中句子级自动补全的示意图,如图1所示,翻译原文是“她说中国是一个令人向往的国家”,机器翻译译文为“she said that china is a desirable country.”左上角011是imt等系统基于前缀的补全,其中下划线部分是用户输入的前缀,非下划线部分是机器翻译系统自动补全的部分。右上角012是lcd等方法基于约束词的补全,用户只需要输入下划线部分词,lcd等方法会自动寻找合适的位置包含这一约束词。
88.与句子级自动补全相比,对cat的词级自动补全的研究相对较少。一部分词级别自动补全的工作要求即将补全的目标单词必须是翻译前缀的下一个词,这限制了此类词级自动补全方法的应用。
89.在相关技术中,还提供了一个被称为翻译预测(tp)的自动补全场景,它能够提供给定句子前缀的下一个单词(或短语)的提示。除了严格要求翻译上下文只能是前缀形式,
并且忽略了人工译员键入的字符信息。虽然也有一些方法考虑了人工译员的键入字符序列,但这些方法只考虑了特定类型的翻译上下文。另外,还有一种不考虑任何翻译上下文只考虑翻译原文的词级自动补全方法,尽管这种方法很灵活,但当翻译上下文存在时,却不能利用这些上下文信息来提高自动补全的性能。并且这些词级自动补全方法不能在翻译后编辑和词法约束解码等场景下使用,因为在这些场景下,人工译员的键入字符不一定与各种翻译上下文相连接。
90.本技术实施例提供一种基于翻译的自动输入方法、装置、设备和计算机可读存储介质,能够丰富自动输入的适用场景,从而提高输入效率,下面说明本技术实施例提供的基于翻译的自动输入设备的示例性应用,本技术实施例提供的设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端。下面,将说明设备实施为终端时示例性应用。
91.参见图2,图2是本技术实施例提供的基于翻译的自动输入系统100的网络架构示意图,如图2所示,该网络架构包括服务器200、网络300和终端400,终端400通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。
92.终端400上可以安装有翻译应用程序,用于进行不同语言的翻译工作,或者终端400可以通过翻译网页进行翻译。在实际应用过程中,终端400获取源语言文本,并响应于翻译指令,向服务器200发送翻译请求,该翻译请求中携带有目标语言信息和源语言文本,服务器200获取到翻译请求后,基于目标语言信息对源语言文本进行翻译,得到目标语言的机器翻译文本,并将机器翻译文本返回给终端400,当机器翻译文本中存在不准确的词语或短语时,用户可以对机器翻译文本进行修改,删除不准确词语,得到翻译上下文,并输入准确词语的部分字符,此时基于本技术实施例提供的基于翻译的自动输入方法可以基于源语言文本和翻译上下文确定出预设词库中各个候选词的概率分布信息,并将输入字符作为强约束,获取以输入字符为起始字符的目标候选词,并将概率值最高的目标候选词确定为目标输入词,从而实现自动输入。
93.在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术实施例中不做限制。
94.参见图3,图3是本技术实施例提供的终端400的结构示意图,图3所示的终端400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统440。
95.处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理
器等。
96.用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
97.存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
98.存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only me mory),易失性存储器可以是随机存取存储器(ram,random access memor y)。本技术实施例描述的存储器450旨在包括任意适合类型的存储器。
99.在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
100.操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;
101.网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universal serial bus)等;
102.呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);
103.输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
104.在一些实施例中,本技术实施例提供的装置可以采用软件方式实现,图3示出了存储在存储器450中的基于翻译的自动输入装置455,其可以是程序和插件等形式的软件,包括以下软件模块:第一获取模块4551、第一输入模块4552、第一确定模块4553和第一输出模块4554,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。
105.将在下文中说明各个模块的功能。
106.在另一些实施例中,本技术实施例提供的装置可以采用硬件方式实现,作为示例,本技术实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本技术实施例提供的基于翻译的自动输入方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,applic ation specific integrated circuit)、dsp、可编程逻辑器件(pld,programmabl e logic device)、复杂可编程逻辑器件(cpld,complex programmable logi c device)、现场可编程门阵列(fpga,field

programmable gate array)或其他电子元件。
107.为了更好地理解本技术实施例提供的方法,首先对人工智能、人工智能的各个分支,以及本技术实施例提供的方法所涉及的应用领域、云技术和人工智能云服务进行说明。
108.人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控
制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
109.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。以下对各个方向分别进行说明。
110.自然语言处理(nlp,nature language processin)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
111.机器学习(ml,machine learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。
112.云技术(cloud technology)是指在广域网或局域网内将硬件、软件、网络等系列资源统一起来,实现数据的计算、储存、处理和共享的一种托管技术。云技术基于云计算商业模式应用的网络技术、信息技术、整合技术、管理平台技术、应用技术等的总称,可以组成资源池,按需所用,灵活便利。云计算技术将变成重要支撑。技术网络系统的后台服务需要大量的计算、存储资源,如视频网站、图片类网站和更多的门户网站。伴随着互联网行业的高度发展和应用,将来每个物品都有可能存在自己的识别标志,都需要传输到后台系统进行逻辑处理,不同程度级别的数据将会分开处理,各类行业数据皆需要强大的系统后盾支撑,只能通过云计算来实现。
113.所谓人工智能云服务,一般也被称作是ai即服务(aiaas,ai as a servi ce),是目前主流的一种人工智能平台的服务方式,具体来说aiaas平台会把几类常见的ai服务进行拆分,并在云端提供独立或者打包的服务。这种服务模式类似于开了一个ai主题商城:所有的开发者都可以通过api接口的方式来接入使用平台提供的一种或者是多种人工智能服务,部分资深的开发者还可以使用平台提供的ai框架和ai基础设施来部署和运维自己专属的云人工智能服务。
114.本技术实施例提供的方案涉及人工智能的自然语言处理、机器学习、人工智能云服务等技术,具体通过如下实施例进行说明。
115.将结合本技术实施例提供的终端的示例性应用和实施,说明本技术实施例提供的基于翻译的自动输入方法。
116.本技术实施例提供一种基于翻译的自动输入方法,应用于终端,参见图4,图4是本
申请实施例提供的基于翻译的自动输入方法的一种实现流程示意图,将结合图4示出的步骤对本技术实施例提供的基于翻译的自动输入方法进行说明。
117.步骤s101,获取源语言文本和所述源语言文本的初始目标语言文本。
118.其中,源语言与目标语言为不同的语种,例如源语言为中文,目标语言为英文,或者源语言为德文,目标语言为英文等等。该初始目标语言文本包括经过确认的上下文文本和用于对所述上下文文本进行补充的输入字符。该输入字符可以是一个字符,还可以是两个或者两个以上字符。
119.该上下文文本可以是前缀上下文文本,还可以是后缀上下文文本,亦可以是双侧上下文文本。另外该经确认的上下文文本可以是对机器翻译的翻译文本进行编辑处理后得到的,还可以是人为输入的翻译文本。
120.例如,机器翻译的翻译文本为“we asked two experts for their opinion.”用户认为该翻译文本中experts不够准确,而想要翻译为“specialists”,此时删除experts,并输入sp,那么此时得到的初始目标语言文本为“we asked two sp for their opinion.”,其中,经过确认的上下文文本为“we asked two for the ir opinion.”,并且该上下文文本为双侧上下文文本,输入字符为“sp”。
121.另外需要说明的是,该初始目标语言文本并不是所述源语言文本的完整的翻译文本,是需要基于输入字符进行至少一个词语补全的目标语言文本。
122.步骤s102,将所述源语言文本和所述上下文文本输入至训练好的词预测模型,得到预设词表中各个候选词的概率分布信息。
123.所述词预测模型的训练数据包括无上下文训练数据、前缀上下文训练数据、后缀上下文训练数据和双侧上下文训练数据,也即该词预测模型的训练数据能够涵盖所有的辅助翻译场景,那么无论该上下文文本是前缀上下文、后缀上下文还是双侧上下文都能够利用该训练好的词预测模型准确构建出预设词表中各个候选词的概率分布信息。
124.在本技术实施例中,预设词表中包括能够覆盖目标语言预设百分比的词汇,例如当目标语言为英文,预设词表中可以包括覆盖99.9%的常用词汇,假设有60000个词语。候选词的概率分布信息能够反映该候选词为输入字符对应的待补全目标输入词的概率。
125.步骤s103,基于所述输入字符和所述概率分布信息,从多个候选词中确定所述输入字符对应的目标输入词。
126.步骤s103在实现时,可以首先以输入字符为强约束条件,对各个候选词的概率分布信息进行处理,其中,将以所述输入字符为起始字符且概率大于0的候选词确定为目标候选词,除目标候选词之外的其他候选词的概率置为0,然后将目标候选词中概率最大的候选词确定为目标输入词。
127.承接上述举例,在基于源语言文本和上下文文本确定出的候选词概率分布为“experts”的概率为0.35,“specialists”的概率为0.32,“proficient”的概率为0.3,“specific”的概率为0.02,“split”的概率为0.01,其余候选词的概率为0,那么首先以输入字符“sp”为硬约束条件,将不是以“sp”开头的候选词的概率置为0,而此时剩余“specialists”、“specific”和“split”,对应的概率分别为0.32、0.02和0.01,由于“specialists”的概率最高,那么将“specialists”确定为目标输入词。
128.步骤s104,在所述输入字符的位置输出目标输入词。
129.在本技术实施例中,目标输入词是以输入字符为起始字符的词语,因此步骤s104在实现时,可以是在输入字符后补全目标输入词中除输入字符之外的其他字符,从而实现词级自动补全。
130.在本技术实施例提供的基于翻译的自动输入方法中,首先获取源语言文本和所述源语言文本的初始目标语言文本,其中,该初始目标语言文本包括经过确认的上下文文本和用于对所述上下文文本进行补充的输入字符;然后将所述源语言文本和所述上下文文本输入至训练好的词预测模型,得到预设词表中各个候选词的概率分布信息,所述词预测模型的训练数据包括无上下文训练数据、前缀上下文训练数据、后缀上下文训练数据和双侧上下文训练数据;再将输入字符作为硬约束条件,基于所述输入字符和所述概率分布信息,从多个候选词中确定所述输入字符对应的目标输入词,从而能够保证目标输入词的准确性,并且由于词预测模型在训练时的训练数据包括无上下文训练数据、前缀上下文训练数据、后缀上下文训练数据和双侧上下文训练数据,也即训练数据涵盖了各种辅助翻译场景,因此无论初始目标语言文本包括的上下文文本为哪一种辅助翻译场景均能得出正确的目标输入词,从而丰富丰富翻译输入法的适用场景,提高输入效率,还能保证输入正确率。
131.在一些实施例中,在步骤s101之前,还需要通过图5所示的以下步骤对词预测模型进行训练,以得到训练好的词预测模型:
132.步骤s001,获取预设的词预测模型和训练数据。
133.其中,训练数据包括源语言训练文本、上下文训练文本、训练字符和所述训练字符对应的训练输入词。并且训练字符对应的训练输入词是以训练字符为起始字符的。
134.在实际实现时,训练数据中包括多个元组(x
t
,c
t
,s
t
,w
t
),或者说包括多个训练数据对,每个元组或每个训练数据对可以包括x
t
、c
t
、s
t
,和w
t
,其中x
t
为源语言训练文本,c
t
为上下文训练文本,s
t
为训练字符,w
t
为训练字符对应的训练输入词。在一些实施例中,某些元组中可能只包括x
t
、s
t
,和w
t
,而不包括c
t

135.步骤s002,基于所述上下文训练文本的类型将所述训练数据划分为无上下文训练数据、前缀上下文训练数据、后缀上下文训练数据和双侧上下文训练数据。
136.在实现时,可以基于训练字符与上下文训练文本的位置关系确定上下文训练文本的类型,如果训练字符在所有上下文训练文本中包括的各个训练分词后面,也即所有上下文训练文本在训练字符的前面,说明该上下文训练文本的类型为前缀上下文。如果训练字符在所有上下文训练文本中包括的各个训练分词前面,也即所有上下文训练文本在训练字符的后面,说明该上下文训练文本的类型为后缀上下文。如果训练字符在上下文训练文本中间,也即在训练字符前面和后面均有上下文训练文本,那么该上下文训练文本的类型为双侧上下文。
137.在确定出各个上下文训练文本的类型之后,利用上下文训练文本的类型将训练数据划分为四个子集,分别为前缀上下文训练数据、后缀上下文训练数据、双侧上下文训练数据和无上下文训练数据,其中,前缀上下文训练数据中包括的多个元组中,上下文训练文本的类型均为前缀上下文,后缀上下文训练数据中包括的多个元组中,上下文训练文本的类型均为后缀上下文,双侧上下文训练数据中包括的多个元组中,上下文训练文本的类型均为双侧上下文。无上下文训练数据中包括的多个元组中,均不包括上下文训练文本。
138.步骤s003,利用所述无上下文训练数据、所述前缀上下文训练数据、所述后缀上下
文训练数据和所述双侧上下文训练数据对所述词预测模型进行训练,得到训练好的词预测模型。
139.在实际应用过程中,上述步骤s003可以通过以下步骤实现:
140.步骤s0031,分别确定所述无上下文训练数据对应的第一损失函数、所述前缀上下文训练数据对应的第二损失函数、所述后缀上下文训练数据对应的第三损失函数和所述双侧上下文训练数据对应的第四损失函数。
141.步骤s0031在实现时,可以首先基于各个元组中的源语言训练文本和上下文训练文本确定该元组对应的各个候选词的概率分布,然后再分别基于各个训练数据子集中包括的元组个数和所包括的各个元组对应的候选词的概率分布确定该训练数据子集的损失函数,以确定前缀上下文训练数据对应的第二损失函数为例,第二损失函数可以利用公式(1

1)确定:
[0142][0143]
其中,为前缀训练数据中的元组个数,为前缀训练数据中各个元组对应的候选词概率分布。
[0144]
步骤s0032,基于所述第一损失函数、所述第二损失函数、所述第三损失函数和所述第四损失函数确定联合损失函数。
[0145]
在本技术实施例中,认为四个训练数据子集的权重是一样的,所述步骤s0032在实现时,可以是将第一损失函数、第二损失函数、第三损失函数和第四损失函数进行相加得到联合损失函数。在一些实施例中,还可以为四个训练数据子集设定不同的权重值,然后将第一损失函数、第二损失函数、第三损失函数和第四损失函数进行加权求和,从而得到联合损失函数。
[0146]
步骤s0033,利用所述联合损失函数、所述无上下文训练数据、所述前缀上下文训练数据、所述后缀上下文训练数据和所述双侧上下文训练数据对所述词预测模型进行训练,得到训练好的词预测模型。
[0147]
步骤s0033在实现时,可以是将无上下文训练数据、所述前缀上下文训练数据、所述后缀上下文训练数据和所述双侧上下文训练数据这四个训练数据子集输入到词预测模型中,得到各个元组的预测概率分布,并基于预测概率分布和联合损失函数对词预测模型进行前向反馈训练,以对词预测模型的参数进行调整,从而得到训练好的词预测模型。
[0148]
通过步骤s001至步骤s003即得到了训练好的词预测模型。需要说明的是,上述词预测模型的训练过程一般是由服务器实现的,终端在执行本技术实施例提供的基于翻译的输入方法时,预先从服务器获取训练好的词预测模型。当然,如果终端的计算能力足够强大或处理器使用率较低时也可以由终端实现上述词预测模型的训练过程。
[0149]
在一些实施例中,所述词预测模型包括源语言编码器和跨语言编码器,对应地,图4所示的步骤s102“将所述源语言文本和所述上下文文本输入至训练好的词预测模型,得到预设词表中各个候选词的概率分布信息”可以通过以下步骤实现:
[0150]
步骤s1021,利用所述源语言编码器对所述源语言文本进行编码处理,得到源语言
编码结果。
[0151]
该源语言编码结果可以是源语言文本的隐状态表示,隐状态表示包括源语言文本中每个待翻译词的词向量表示。步骤s1021在实现时,源语言编码器对输入的源语言文本进行分词处理,得到至少一个待翻译词,然后依次将每一待翻译词映射成词向量,通过待翻译文本对应的全部待翻译词的词向量共同形成待翻译文本的隐状态表示,也即源语言编码结果。
[0152]
步骤s1022,将初始目标语言文本中的所述输入字符替换为预设的占位符,得到更新后的目标语言文本。
[0153]
假设初始目标语言文本为“we asked two sp their opinions.”,其中,上下文文本为“we asked two their opinions.”,输入字符为“sp”占位符为[mask],那么基于步骤s1022,得到的更新后的目标语言文本为“we asked two[mask]their opinions.”。
[0154]
步骤s1023,将所述更新后的目标语言文本和所述源语言编码结果输入所述跨语言编码器,得到所述占位符的表示向量。
[0155]
在本技术实施例中,跨语言编码器包括双向掩码注意力模块和跨语言注意力模块,步骤s1023在实现时,是将更新后的目标语言文本输入到双向掩码注意力模块,得到第一中间向量,并将该第一中间向量和源语言编码结果输入到跨语言注意力模块,得到第二中间向量,进而基于占位符的位置信息,从第二中间向量中确定该占位符的表示向量。
[0156]
步骤s1024,利用所述占位符的表示向量和所述预设词表中各个候选词的表示向量,确定各个候选词的概率分布信息。
[0157]
步骤s1024在实现,可以基于各个候选词的表示向量确定一个线性矩阵,然后利用这个线性矩阵将该占位符的表示向量映射为概率向量,该概率向量的维度与预设词表中包含的候选词总数相同。
[0158]
在一些实施例中,所述跨语言编码器至少包括双向掩码注意力模块和跨语言注意力模块,对应地,上述步骤s1023“将所述更新后的目标语言文本和所述源语言编码结果输入所述跨语言编码器,得到所述占位符的表示向量”可以通过以下步骤实现:
[0159]
步骤s231,获取所述更新后的目标语言文本中各个分词的词向量和位置向量。
[0160]
步骤s231在实现时,跨语言编码器对更新后的目标语言文本进行分词处理,得到至少一个分词以及各个分词的位置信息,然后再依次将各个分词映射为词向量,并将该分词的位置信息映射为位置向量。
[0161]
步骤s232,将所述各个分词的词向量和位置向量输入所述双向掩码注意力模块,得到所述更新后的目标语言文本的第一中间向量。
[0162]
步骤s232在实现时,将各个分词的词向量和位置向量进行拼接,并输入到双向掩码注意力模块,从而得到更新后的目标语言文本的第一中间向量。双向掩码注意力模块是由多层自注意力网络构建的,能够使用前缀上下文和后缀上下文。
[0163]
承接上述的举例,假设更新后的目标语言文本为“we asked two[mask]their opinions.,”该更新后的目标语言文本中共有七个分词,分别为“we、”“aske d”、“two”、“[mask]”、“their”、“opinions”和“.”,假设源语言文本仅有一句话,且隐态向量大小为512,那么此时得到的第一中间向量的维度为[1,7,512],其中,1为batch length,7为sequence length,512为hidden size。
[0164]
步骤s233,将所述第一中间向量和所述源语言编码结果输入所述跨语言注意力模块,得到第二中间向量。
[0165]
其中,第二中间向量的维度与第一中间向量的维度是相同的,承接上述举例,还是为[1,7,512]。
[0166]
步骤s234,基于所述占位符在所述更新后的目标语言文本中的位置信息,从所述第二中间向量中确定所述占位符的表示向量。
[0167]
该位置信息用于表征占位符在更新后的目标语言文本中是第几个分词,例如在“we asked two[mask]their opinions.”中,[mask]为第四个分词,因此需要将第二目标向量中第四个[1,1,512]的向量确定为该占位符的表示向量。
[0168]
通过上述的步骤s231至步骤s234,能够利用跨语言编码器,学习到该占位符的表示向量,从而为候选利用该占位符的表示向量预测各个候选词的概率分布信息提供数据基础。
[0169]
在一些实施例中,上述步骤s1024“利用所述占位符的表示向量和所述预设词表中各个候选词的词向量,确定各个候选词的概率分布信息”可以通过以下步骤实现:
[0170]
步骤s241,利用所述各个候选词的词向量对所述占位符的表示向量进行线性变换处理,将所述占位符的表示向量投影到概率向量。
[0171]
步骤s241在实现时,可以将各个候选词的词向量生成一个线性矩阵,假设有60000个候选词,候选词的词向量维度为[512,1],那么60000个词向量生成的线性矩阵的维度为[512,60000]。承接上述的举例,占位符的表示向量为[1,1,512],利用该线性矩阵对该占位符的表示向量进行线性变换处理,也即将占位符的表示向量与该线性矩阵进行乘法运算,此时可以将该占位符的表示向量投影至维度为[1,1,60000]的概率向量。
[0172]
步骤s242,将所述概率向量进行归一化处理,得到各个候选词为所述占位符对应的目标词的概率值。
[0173]
在实现时,可以利用softmax()函数对该概率向量进行归一化处理,从而得到归一化后的概率向量,维度依然为[1,1,60000],该归一化后的概率向量中的元素表征各个候选词为占位符对应的目标词的概率值。
[0174]
步骤s243,将各个候选词为所述占位符对应的目标词的概率值确定为各个候选词的概率分布信息。
[0175]
在获取到各个候选词为占位符对应的目标词的概率值之后,也就得到了各个候选词的概率分布信息,之后再利用该概率分布信息和输入字符确定出最终的目标输入词。
[0176]
基于前述的实施例,本技术实施例再提供一种基于翻译的自动输入方法,应用于图2所示的网络架构,图6为本技术实施例提供的基于翻译的自动输入方法的另一种实现流程示意图,如图6所示,该流程包括:
[0177]
步骤s601,终端获取源语言文本。
[0178]
在本技术实施例中,步骤s601有两种实现方式:
[0179]
一是,响应于接收到的第一输入操作,获取输入的源语言文本;
[0180]
二是,获取接收到的源语言的语音数据,对所述语音数据进行语音转换处理,得到转换后的源语言文本。
[0181]
也就是说源语言文本可以是利用终端的输入模块直接输入的,也可以是对利用终
端的语音采集模块采集到的语音数据进行语音转换处理得到的。
[0182]
步骤s602,终端获取源语言文本对应的目标语言信息。
[0183]
该目标语言信息可以是翻译应用或翻译网页默认的,或者是基于源语言和用户的使用习惯自动匹配出的,还可以是用户根据自己的翻译需求自行设置的。目标语言与源语言不同。
[0184]
步骤s603,终端响应于对所述源语言文本进行翻译的操作指令,向服务器发送翻译请求。
[0185]
该翻译请求中携带有目标语言信息和源语言文本。
[0186]
步骤s604,服务器解析该翻译请求,获取目标语言信息和源语言文本。
[0187]
步骤s605,服务器基于该目标语言信息对所述源语言文本进行翻译,得到翻译文本。
[0188]
在实现时,服务器可以调用翻译模块,将目标语言信息和源语言文本输入该翻译模块,从而得到目标语言的翻译文本。
[0189]
步骤s606,服务器将携带有该翻译文本的翻译响应发送至终端。
[0190]
步骤s607,终端接收所述服务器发送的翻译响应,并获取所述翻译响应中携带的翻译文本。
[0191]
在本技术实施例中,终端在获取到翻译文本后,可以在自身的显示装置(例如)显示屏上呈现该翻译文本,并且该翻译文本是可以被编辑的。
[0192]
步骤s608,终端响应于对所述翻译文本的编辑操作,对所述翻译文本进行编辑,得到经过确认的上下文文本。
[0193]
该编辑操作可以是针对翻译文本中的某些词语的删除操作、修改操作等,经过编辑后的翻译文本,认为是经过人为确认的翻译准确的上下文文本。
[0194]
步骤s609,终端响应于对所述经过确认的上下文文本的补充操作,获取输入字符。
[0195]
该补充操作可以是在经过确认的上下文文本的上下文词语之前、之后或中间的输入操作,通过该输入操作可以获取输入字符,该输入字符可以是一个字符或者多个字符。
[0196]
步骤s610,终端将所述源语言文本和所述上下文文本输入至训练好的词预测模型,得到预设词表中各个候选词的概率分布信息。
[0197]
预设词表中包括预设好的多个目标语言候选词,该多个候选词涵盖目标语言的一定百分比的词汇,能够满足常规的翻译需求,另外预测词表中还包括占位符,以及一个或多个其他特殊字符。
[0198]
步骤s611,终端从所述多个候选词中确定至少一个目标候选词。
[0199]
其中,目标候选词以所述输入字符为起始字符,且概率分布信息大于0,也即在该步骤中,以输入字符为硬约束条件,剔除掉不是以输入字符为起始字符以及概率为0的候选词。
[0200]
例如,在基于源语言文本和上下文文本确定出的候选词概率分布为“exper ts”的概率为0.35,“specialists”的概率为0.32,“proficient”的概率为0.3,“specific”的概率为0.02,“split”的概率为0.01,其余候选词的概率为0,那么以输入字符“sp”为硬约束条件,将不是以“sp”开头的候选词的概率置为0,并删除掉概率为0的所有候选词,此时剩余“specialists”、“specific”和“split”,对应的概率分别为0.32、0.02和0.01,
[0201]
步骤s612,终端将所述目标候选词的概率分布信息进行归一化处理,得到所述目标候选词的归一化概率值。
[0202]
步骤s612在实现时,可以将各个目标候选词的概率分布信息的和确定为归一值,再将各个目标候选词的概率分布信息除以该归一值,从而对目标候选词的概率分布信息进行归一化处理,得到归一化概率值。
[0203]
承接上述的举例,目标候选词为“specialists”、“specific”和“split”,对应的概率分别为0.32、0.02和0.01,此时确定归一值为0.32+0.02+0.01=0.35,“specialists”的归一化概率值为0.32/0.35=0.91、“specific”的归一化概率值为0.02/0.35=0.06和“split”的归一化概率值为0.01/0.35=0.03。
[0204]
步骤s613,终端将归一化概率值最高的目标候选词,确定为目标输入词。
[0205]
在本技术实施例中,对目标候选词的概率分布信息进行归一化处理是为了使得各个目标候选词的归一化概率值之和为1,由于各个目标候选词的归一化概率值是除以同一个归一值得到的,因此在一些实施例中,也可以不进行归一化处理,直接利用目标候选词的概率分布信息也可以确定出目标输入词。
[0206]
通过上述的步骤s611至步骤s6013,也就完成了其他实施例中步骤s103“基于所述输入字符和所述各个候选词的概率分布信息,从多个候选词中确定所述输入字符对应的目标输入词”的实现过程。
[0207]
步骤s614,终端在所述输入字符的位置输出目标输入词。
[0208]
在本技术实施例中,目标输入词是以输入字符为起始字符的词语,因此步骤s614在实现时,可以是在输入字符后补全目标输入词中除输入字符之外的其他字符,从而实现词级自动补全,此时在终端的显示装置中显示有上下文文本和目标输入词。
[0209]
在本技术实施例提供的基于翻译的自动输入方法中,终端获取到源语言文本和目标语言信息后,向服务器发送翻译请求,以获得服务器发送的翻译文本,该翻译文本可以为机器翻译结果,由于机器翻译会存在翻译不准确的词语或者短语,在得到服务器返回的翻译文本后,用户可以对翻译文本进行编辑,删除不准确的词语之后得到的文本即为经过确认的上下文文本,然后再获取针对删除的词语的输入字符,以对经过确认的上下文文本进行补充,并将经过确定的上下文文本和源语言文本输入至训练好的词预测模型,由于词预测模型在训练时使用的训练数据涵盖了所有辅助翻译场景,因此无论经过确认的上下文文本是前缀上下文文本、后缀上下文文本还是双侧上下文文本利用训练好的词预测模型都能得到相对准确的概率分布信息,在本技术实施例中,在得到各个候选词的概率分布信息后,还会以输入字符为硬约束条件,从多个候选词中筛选出以输入字符为起始字符的目标候选词,再将概率最高的目标候选词确定为目标输入词,从而保证输入正确率。
[0210]
在图6所示的实施例中,经过确认的上下文文本为机器翻译结果中的一部分文本,在一些实施例中,还可以通过以下步骤获取经过确认的上下文文本:
[0211]
步骤s501,响应于接收到的第二输入操作,获取输入的人工翻译文本;
[0212]
步骤s502,将所述人工翻译文本确定为经过确认的上下文文本。
[0213]
下面,将说明本技术实施例在一个实际的应用场景中的示例性应用。
[0214]
本技术实施例提出一种能够适应通用辅助翻译场景的输入方法。图7为利用本技术实施例提供的输入方法进行词级自动补全的场景示意图,图7展示了不同翻译上下文场
景下的词级自动补全,其中701展示了翻译上下文是句子前缀时的词级自动补全。702展示了翻译上下文两侧皆有的情况下的词级自动补全。也即本技术实施例提供的基于翻译的自动输入方法能够涵盖各种不同翻译上下文场景,不只局限于单一翻译上下文场景。
[0215]
以下对本技术实施例提供的基于翻译的自动输入方法的技术实现进行说明。
[0216]
假设x=(x1,x2,...,x
m
)是原文序列,s=(s1,s2,...,s
k
)是人工译员键入的字符序列,也即图7的“sp”,c=(c
l
,c
r
)是翻译上下文,该翻译上下文可以是机器翻译的,也可以是人工翻译的,其中c
l
=(c
l,1
,c
l,2
,...,c
l,i
),c
r
=(c
r,1
,c
r,2
,...,c
r,j
)。c
l
和c
r
分别是在键入字符序列s左右两侧的翻译上下文片段。在本技术实施例提供的基于翻译的自动输入方法能够实现通用词级自动补全任务,而通用词级自动补全认为就是在给定翻译原文x,翻译上下文c,的情况下,补全字符序列s。如图7所示,c
l
=(“we”),c
r
=(“their”,“option”,“.”),s=“sp。”通用辅助翻译词级自动补全期望预测出w=“sp ecialists”来填补到部分翻译“we

specialists

their opinion.”。其中“...”代表了零个,1个,或者多个词,或者换句话说,翻译上下文并不一定和键入序列紧密相连。
[0217]
为了让本技术实施例提供的基于翻译的自动输入方法能够更加通用,假设c
l
或者c
r
可以为空,这就可以形成下列四种翻译上下文:
[0218]
1.无上下文:c
l
和c
r
全为空;
[0219]
2.后缀上下文:c
l
为空;
[0220]
3.前缀上下文:c
r
为空;
[0221]
4.双侧上下文:c
l
和c
r
全不为空。
[0222]
给定一个元组(x,c,s),在本技术实施例中,将整个词级自动补全过程分解为两部分:首先,基于源序列x和翻译上下文c构建人工译员期望单词w的概率分布,然后再利用该分布和s找到最可能的单词w。因此,在实际实现时,本技术实施例利用一个词预测模型(wpm),来定义目标词w的分布p(w|x,c)。然后,可以将人工输入序列s视为硬约束,以补全s并获得目标词w。
[0223]
图8为本技术实施例提供的词预测模型的结构示意图,如图8所示,该词预测模型包括源编码器801和跨语言编码器802,wpm的源编码801与transf ormer源编码器相同,用于对源序列x进行编码。如图8所示,源编码器801的输出稍后将传递到跨语言编码器802。跨语言编码器802与transformer解码器相似,但区别是将解码器的自回归注意力(ara)模块替换为双向掩码注意力(bma)模块8021,因为ara层无法使用向左的信息流(即c_r)。bma模块是由多层自注意力网络构建的。
[0224]
图9为本技术实施例提供的双向掩码注意力模块的示意图,如图9所示,该双向掩码注意力模块的输入向量是词向量901和位置向量902的加和。[ma sk]表示基于此翻译上下文的潜在的自动补全目标词。
[0225]
wpm的目的是对分布p(w|x,c)建模。在实现时,将使用一个占位符[mas k]表示未知的目标单词w,并使用从wpm学习的[mask]的表示向量对概率分布进行预测。给定源序列x和翻译上下文c,目标词w的概率可以通过公式(2

1)确定:
[0226]
p(w|x,c
l
,c
r
;θ)=softmax(φ(h))[w]
ꢀꢀꢀꢀꢀꢀꢀꢀ
(2

1);
[0227]
其中,h是[mask]的表示向量形式,φ是一个线性网络将隐空间的表示向量h投影到维度为大小为v(目标语言词表大小)的向量,softmax(d)[w]是取softmax运算后w对应的
元素。
[0228]
在基于源序列x和翻译上下文c来学习表示向量h之后,可以按照公式(2

2)使用s作为硬约束:
[0229][0230]
其中,z是独立于w的归一化项。然后,选择w
*
=argmax
w
p
s
[w]作为最可能的单词。
[0231]
在训练和推理阶段,假设表示训练数据,即一个由元组(x,c,s,w)构成的集合。由于中有四种不同类型的上下文,因此可以将分为四个子集和
[0232]
为了在这四种类型的翻译环境中取得良好的表现,利用公式(2

3)所示的损失函数训练该词预测模型:
[0233][0234]
这样,在训练后获得了单个模型来适配所有翻译上下文。在推论过程中,对于每个测试样例,不论是何种翻译场景都可以使用来预测目标词w。
[0235]
需要说明的是,本技术实施例提供的基于翻译的自动输入方法可以作为一个插件,与其他交互翻译的工具和算法,如限制解码算法等并不冲突。
[0236]
以下以源语言为中文、目标语言为英文,以及源语言为德文、目标语言为英文的辅助翻译任务为例,进行了自动输入准确率的对比,表1为利用本技术实施例提供的词预测模型和基线模型进行词级补全的准确率对比表,如表1所示,在中英和德英任务上,本技术实施例提出的词预测模型,相比两个基线模型(仅能使用前缀上下文的模型b1,和无法使用翻译上下文的模型b2)在准确率上得到了显著提升,从而能够获得更好的自动补全效果。
[0237]
表1、利用本技术实施例提供的词预测模型和基线模型进行词级补全的准确率对比表
[0238][0239]
在本技术实施例中提出了一种能够涵盖各种不同翻译上下文场景的通用词级自动补全框架。并在该框架下实现了一种能提供高准确率词级自动补全的模型,并且该模型在训练过程中使用了能够涵盖所有辅助翻译场景的训练数据,从而该模型可以适用于更加
通用的交互翻译场景。
[0240]
下面继续说明本技术实施例提供的基于翻译的自动输入装置455的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器440的基于翻译的自动输入装置455中的软件模块可以包括:
[0241]
第一获取模块4551,用于获取源语言文本和所述源语言文本的初始目标语言文本,所述初始目标语言文本包括经过确认的上下文文本和用于对所述上下文文本进行补充的输入字符;
[0242]
第一输入模块4552,用于将所述源语言文本和所述上下文文本输入至训练好的词预测模型,得到预设词表中各个候选词的概率分布信息,所述词预测模型的训练数据包括无上下文训练数据、前缀上下文训练数据、后缀上下文训练数据和双侧上下文训练数据;
[0243]
第一确定模块4553,用于基于所述输入字符和所述概率分布信息,从多个候选词中确定所述输入字符对应的目标输入词;
[0244]
第一输出模块4554,用于在所述输入字符的位置输出目标输入词。
[0245]
在一些实施例中,该装置还包括:
[0246]
第二获取模块,用于获取预设的词预测模型和训练数据,所述训练数据包括源语言训练文本、上下文训练文本、训练字符和所述训练字符对应的训练输入词;
[0247]
数据划分模块,用于基于所述上下文训练文本的类型将所述训练数据划分为无上下文训练数据、前缀上下文训练数据、后缀上下文训练数据和双侧上下文训练数据;
[0248]
训练模块,用于利用所述无上下文训练数据、所述前缀上下文训练数据、所述后缀上下文训练数据和所述双侧上下文训练数据对所述词预测模型进行训练,得到训练好的词预测模型。
[0249]
在一些实施例中,该训练模块还用于:
[0250]
分别确定所述无上下文训练数据对应的第一损失函数、所述前缀上下文训练数据对应的第二损失函数、所述后缀上下文训练数据对应的第三损失函数和所述双侧上下文训练数据对应的第四损失函数;
[0251]
基于所述第一损失函数、所述第二损失函数、所述第三损失函数和所述第四损失函数确定联合损失函数;
[0252]
利用所述联合损失函数、所述无上下文训练数据、所述前缀上下文训练数据、所述后缀上下文训练数据和所述双侧上下文训练数据对所述词预测模型进行训练,得到训练好的词预测模型。
[0253]
在一些实施例中,所述词预测模型包括源语言编码器和跨语言编码器,对应地,该第一输入模块,还用于:
[0254]
利用所述源语言编码器对所述源语言文本进行编码处理,得到源语言编码结果;
[0255]
将初始目标语言文本中的所述输入字符替换为预设的占位符,得到更新后的目标语言文本;
[0256]
将所述更新后的目标语言文本和所述源语言编码结果输入所述跨语言编码器,得到所述占位符的表示向量;
[0257]
利用所述占位符的表示向量和所述预设词表中各个候选词的表示向量,确定各个候选词的概率分布信息。
[0258]
在一些实施例中,所述跨语言编码器至少包括双向掩码注意力模块和跨语言注意力模块,对应地,该第一输入模块还用于:
[0259]
获取所述更新后的目标语言文本中各个分词的词向量和位置向量;
[0260]
将所述各个分词的词向量和位置向量输入所述双向掩码注意力模块,得到所述更新后的目标语言文本的第一中间向量;
[0261]
将所述第一中间向量和所述源语言编码结果输入所述跨语言注意力模块,得到第二中间向量;
[0262]
基于所述占位符在所述更新后的目标语言文本中的位置信息,从所述第二中间向量中确定所述占位符的表示向量。
[0263]
在一些实施例中,该第一输入模块还用于:
[0264]
利用所述各个候选词的表示向量对所述占位符的表示向量进行线性变换处理,将所述占位符的表示向量投影到概率向量;
[0265]
将所述概率向量进行归一化处理,得到各个候选词为所述占位符对应的目标词的概率;
[0266]
将各个候选词为所述占位符对应的目标词的概率确定为各个候选词的概率分布信息。
[0267]
在一些实施例中,该第一确定模块,还用于:
[0268]
从所述多个候选词中确定至少一个目标候选词,所述目标候选词以所述输入字符为起始字符;
[0269]
将所述目标候选词的概率分布信息进行归一化处理,得到所述目标候选词的归一化概率值;
[0270]
将归一化概率值最高的目标候选词,确定为目标输入词。
[0271]
在一些实施例中,该装置还包括:
[0272]
第三获取模块,用于获取源语言文本对应的目标语言信息;
[0273]
发送模块,用于响应于对所述源语言文本进行翻译的操作指令,向服务器发送翻译请求,所述翻译请求中携带有所述目标语言信息和所述源语言文本;
[0274]
第四获取模块,用于接收所述服务器发送的翻译响应,并获取所述翻译响应中携带的翻译文本;
[0275]
编辑模块,用于响应于对所述翻译文本的编辑操作,对所述翻译文本进行编辑,得到经过确认的上下文文本;
[0276]
第五获取模块,用于响应于对所述经过确认的上下文文本的补充操作,获取输入字符。
[0277]
在一些实施例中,该第一获取模块还用于:
[0278]
响应于接收到的第一输入操作,获取输入的源语言文本;或者,
[0279]
获取接收到的源语言的语音数据;
[0280]
对所述语音数据进行语音转换处理,得到转换后的源语言文本。
[0281]
在一些实施例中,该装置还包括:
[0282]
第六获取模块,用于响应于接收到的第二输入操作,获取输入的人工翻译文本;
[0283]
第二确定模块,用于将所述人工翻译文本确定为经过确认的上下文文本。
[0284]
需要说明的是,以上基于翻译的自动输入装置实施例项的描述,与上述方法描述是类似的,具有同方法实施例相同的有益效果。对于本技术基于翻译的自动输入装置实施例中未披露的技术细节,本领域的技术人员请参照本技术方法实施例的描述而理解。
[0285]
本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本技术实施例上述的基于翻译的自动输入方法。
[0286]
本技术实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本技术实施例提供的方法,例如,如图4、图5、图6示出的方法。
[0287]
在一些实施例中,计算机可读存储介质可以是fram、rom、prom、ep rom、eeprom、闪存、磁表面存储器、光盘、或cd

rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0288]
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0289]
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hyper text markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0290]
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0291]
以上所述,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1