CN108475264B - 机器翻译方法和装置 - Google Patents
机器翻译方法和装置 Download PDFInfo
- Publication number
- CN108475264B CN108475264B CN201680077456.5A CN201680077456A CN108475264B CN 108475264 B CN108475264 B CN 108475264B CN 201680077456 A CN201680077456 A CN 201680077456A CN 108475264 B CN108475264 B CN 108475264B
- Authority
- CN
- China
- Prior art keywords
- semantic
- vector
- machine learning
- learning module
- nodes
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/40—Processing or translation of natural language
- G06F40/42—Data-driven translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Machine Translation (AREA)
Abstract
本主题涉及基于神经网络的翻译方法,其中,该方法包括:使用第一机器学习模块将第一语言的源句子映射到由知识库预定义的语义空间,以提取该源句子的关键信息;以及使用第二机器学习模块基于所提取的关键信息生成第二语言的目标句子。
Description
背景技术
诸如深度神经网络(DNN)的机器学习技术在诸如视觉目标识别和语音识别的困难的学习任务上已经实现了出色的性能。基于诸如深度神经网络的机器学习技术的一些模型已经成功地应用于机器翻译。通常,为了获得满意的翻译性能,需要具有巨大量双语数据对的大型数据语料库来训练这种基于DNN的模型。否则,如果没有足够的双语训练数据,翻译性能将受到损害。
发明内容
提供下面的简介是为了以简单的形式介绍选择的一些概念,在后面的详细说明中会进一步描述这些概念。该简介不是想要突出所要求保护主题的关键特征或必要特征,也不是想要限制所要求保护主题的范围。
根据本文描述主题的实施例,一种机器翻译方法包括:使用第一机器学习模块将第一语言的源句子映射到由知识库预定义的语义空间,以提取该源句子的关键信息;以及使用第二机器学习模块基于所提取的关键信息生成第二语言的目标句子。
根据本主题的实施例,一种机器翻译装置包括:第一机器学习模块,配置为将第一语言的源句子映射到由知识库预定义的语义空间,以提取该源句子的关键信息;以及第二机器学习模块,配置为基于所提取的关键信息生成第二语言的目标句子。
附图简要说明
通过下面结合附图的详细描述,本主题的各个方面、特征和优点将更加明显,在附图中,不同图中使用的相同标号表示相似或相同的项。
图1示出了本文所描述主题的实施例能得以实现的示例性环境的方框图;
图2示出了已有的用于机器翻译的神经网络模型;
图3示出了根据本主题的实施例用于使用基于知识的语义空间进行机器翻译的结构;
图4示出了根据本主题的实施例以树结构组织的知识库;
图5示出了根据本主题的实施例用于提取源句子的关键信息的机器学习模块;
图5A示出了根据本主题的实施例用于在一次递归状态中获得隐藏矢量的示例性过程;
图6示出了根据本主题的实施例用于生成目标句子的机器学习模块;
图6A示出了根据本主题的实施例用于生成目标句子的基于神经网络的模型;
图6B示出了根据本主题的实施例,明确的语义元组(semantic tuples)如何控制目标句子的生成;
图7示出了根据本主题的实施例用于提取源句子的关键信息的机器学习模块;
图7A示出了根据本主题的实施例用于计算各个隐藏矢量的注意权重(attentionweights)的结构;
图8示出了根据本主题的实施例用于生成目标句子的机器学习模块;
图9示出了根据本主题的实施例用于将源句子翻译成目标句子的过程;
图10示出了根据本主题的实施例用于机器翻译的装置的框图;
图11示出了根据本主题的实施例用于机器翻译的计算机系统的框图。
具体实施方式
现在将参考示例实施方式讨论本文描述的主题。应该理解,讨论这些实施方式只是为了使得本领域技术人员能够更好地理解从而实现本文描述的主题,而不是对本主题的范围加以任何限制。
如本文中使用的,术语“包括”及其变型表示开放的术语,含义是“包括但不限于”。术语“基于”表示“至少部分地基于”。术语“一个实施例”和“一实施例”表示“至少一个实施例”。术语“另一个实施例”表示“至少一个其他实施例”。术语“第一”、“第二”等可以指代不同的或相同的对象。下面可以包括其他的定义,无论是明确的还是隐含的。除非上下文中明确地指明,否则一个术语的定义在整个说明书中是一致的。
图1示出了本文所描述主题的实施例能得以实现的示例性环境10的方框图。应该理解,描述环境10的结构和功能只是为了举例说明,而不是对本文所描述主题的范围加以任何限制。本文所描述主题能够以不同的结构或功能来实施。
环境10可以包括终端100、服务器200和终端300。服务器300可以支持一个或多个服务,诸如电子商务(例如在线购物)、如运动、电影、政治、娱乐等主题的论坛、等等。终端100/300可以是客户端设备,诸如移动电话、个人数字助理(PDA)、笔记本电脑、台式计算机、平板电脑等,其通过网络(诸如广域网(WAN)、局域网(LAN)、无线局域网(WLAN)、蜂窝网等)连接到服务器200。终端100/300可以包括输入110/310和输出120/320。输入110/310可以接收诸如文本句子的文本输入,也可以接收语音输入。同样地,输出120/320可以提供文本输出,也可以提供语音输出。本主题不限于输入和输出的特定形式。
在一种场景中,服务器200可以支持电子商务网站。服务器200中的翻译模块210可以在讲不同语言的买方和卖方之间提供翻译,其中买方和卖方可以使用他们的终端100和300在服务器提供的翻译的帮助下讨论交易。
在另一种场景中,服务器200可以支持与特定主题有关的论坛。例如,论坛可以与电影有关。来自不同国家的用户可以使用他们的终端100、300等在服务器提供的翻译的帮助下发布与电影有关的信息。
应该理解,描述这些场景只是为了举例说明,而不是对本文所描述主题的范围加以任何限制。本文所描述主题能够在各种场景中实施。
图2示出了已有的用于机器翻译的神经网络模型。该模型可以称为序列到序列(S2S)模型。
S2S模型尝试在连续矢量空间中学习翻译关系。如图2所示,S2S框架包括编码器210和解码器220。为了将可变长度的源句子压缩成固定尺寸的矢量,编码器210可以逐个地读取源句子的词,并且使用递归神经网络(RNN)生成一系列隐藏矢量。在图2中,x1,x2…xT表示词,隐藏矢量h1,h2…hT示出为圆圈。通过读取所有的源词并且递归地生成隐藏矢量,最终的隐藏矢量hT应该包含源句子的所有信息,其被用作且被称为上下文矢量C。基于上下文矢量C,在解码器220中使用另一个基于RNN的神经网络来生成一系列隐藏矢量h1,h2…hT',相应地生成目标句子。在图2中,目标句子的词由y1,y2…yT’表示。
上下文矢量C在源和目标语言空间的连接中起关键作用,其应该包含从源句子提取的所有内部含义。解码器能够基于上下文矢量C在保持含义不变的情况下生成目标句子。为了提取由上下文矢量C表示的内部含义并且生成目标句子,S2S模型通常需要大量的参数,并且需要大型双语语料库来训练它们。
在许多情况下,尤其是当语言不正规的时候,一个句子的内部含义不容易学习。对于一个相同的意思(intention),可能存在呈现十分不同的表面字符串的各种表达,这加剧了内部含义提取的难度。
如表1所示,对于一个相同的意思,即,顾客想要白色的大屏幕的4G手机,存在三种不同的中文表达。第一种和第二种表达(源句子1和源句子2)冗长并且具有很多冗词。为了获得内部含义,编码器210应该忽略这些冗词并且专注于关键信息。另一方面,编码器210在忽略这些冗词的同时不应该遗漏关键信息。然而,即使利用大量的双语训练数据,也很难训练S2S模型来准确地专注于关键信息并且不遗漏关键信息。例如,如表1中所示,对于冗长的源句子1,S2S模型没有生产“白色的”/“white”的翻译,没有保持源句子1的正确含义。
表1
图3示出了根据本主题的实施例的用于使用神经网络进行机器翻译的基于知识的模型30。
在基于知识的模型30中,使用基于知识的语义空间330来引导源句子的关键信息的提取。语义空间330包括多个语义元组。模型30包括关键信息提取部分310和目标生成部分320。关键信息提取部分310可以使用第一神经网络将第一语言(例如汉语)的源句子映射到由知识库预定义的语义空间330,以提取源句子的关键信息340,其中所提取的关键信息是在知识库中预定义的。目标生成部分320可以使用第二神经网络基于所提取的关键信息340生成第二语言(例如英语)的目标句子。
如图3所示,关键信息提取部分310和目标生成部分320可以使用神经网络实现。可以使用源单语数据和知识库(例如图4所示的知识树40)训练该部分310来提取源句子的关键信息。例如,关键信息可以是由知识树40预定义的语义空间中的语义元组340。在一个实施例中,所提取的语义元组340可以由矢量表示,该矢量指示知识树40中的哪些节点被提取作为源句子的关键信息。由于知识树及其结构以及其表示各语义信息的节点是预定义的,表示所提取语义元组340的该矢量实际上指示了明确的语义信息,因而可以被称为明确的语义矢量。例如,如果知识库具有N个节点,该矢量可以是N-比特矢量,该矢量中的一个比特位置对应于知识库中的一个节点,其中比特-1指示相应节点的存在以及比特-0指示相应节点的不存在。应该理解,本主题不限于明确的语义矢量的形式,用于表示所提取的关键信息的其他方法也是可应用的。
可以使用相同的知识库以及目标单语数据训练目标生成部分320来基于知识库中预定义的关键信息(例如语义元组340)生成自然语言的目标句子。例如,可以训练目标生成部分320来基于明确的语义矢量生成目标句子。
与S2S模型20使用大型双语语料库用于训练不同,基于知识的模型30允许对关键信息提取部分310(即,源部分)和目标生成部分320(即,目标部分)的分开训练,并且在每侧的训练只需要单语数据和相应的知识库。并且,基于知识的模型30中获得的语义矢量不再是隐含的连续数字矢量(例如,图2中的隐藏矢量C),而是明确的语义矢量。
语义空间330是由知识库定义的,因此能够从源句子中准确地提取出关键信息。通过这种方式,用户能够容易地将外部知识添加到知识库中,以引导该模型生成正确的翻译结果。
在训练关键信息提取部分310以及训练目标生成部分320之后,模型30为翻译做好了准备。例如,如图3所示,对于中文源句子“给我推荐个4G手机吧,最好白色,屏幕要大”,通过将源句子映射到基于知识的语义空间330,提取出如340所示的明确的语义元组作为源句子的关键信息,然后生成英文目标句子“I want a white 4G cellphone with a bigscreen”。
图4示出了根据本主题的实施例的以树结构组织的知识库。给定图3所示的源句子,获得语义元组340。由于知识库是以树结构组织的,可以将语义元组340看作为树中的若干条路径。实线示出了对应于语义元组340的路径,例如,路径Root->category->cellphone表示元组Category.cellphone。值得注意的是,知识库是与语言无关的。
知识库可以提供特定语境中关于语义信息的知识。例如,图4所示的知识库可以提供关于电子商务中语义信息的知识。在电子商务的情景中,例如,如图1所示,句子通常有关于特定的内容,诸如图4所示的知识库中包含的那些内容。应该理解,知识库可以有关于任何领域,诸如物理、化学、医学、电影、运动、娱乐等。利用与特定语境有关的知识库,与图2所示的已有S2S模型相比,用于充分训练源神经网络和目标神经网络所需的数据量能够显著减少,并且能够改善翻译准确度。
图5示出了根据本主题的实施例的用于提取源句子的关键信息的源机器学习模块50。机器学习模块50可以实现为或可以包括根据本主题的实施例的用于提取源句子的关键信息的基于神经网络的模型。该基于神经网络的模型在图5中示出,并且可以被称为源神经网络。
机器学习模块50可以包括RNN 510、知识树520和分类器530。分类器530可以是基于神经网络的分类器,诸如基于神经网络的逻辑回归(LR)分类器。RNN 510可以读取源句子的由x1,x2…xT表示的词,并且使用式(1)生成一系列隐藏矢量h1,h2…hT。
ht=f(ht-1,xt) (1)
其中,f是非线性函数,其可以是简单的函数,如逐元素的逻辑S型函数(sigmoidfunction),也可以是复杂的函数,如长短期记忆(LSTM,long short-term memory)单元。
图5A示出了在时间标记t处的基于先前的隐藏矢量ht-1和当前的输入xt获得隐藏矢量ht的示例性过程。给定输入序列X=(x1,x2…xT),,如图5A所示,在时间标记t处,输入词xt进入到神经网络。利用嵌入层r,将词xt映射到真实矢量rt=r(xt)。然后,真实矢量rt进入递归函数g,以获得时间标记t处的隐藏矢量ht=g(rt,ht-1)。在一个实施例中,为了对长期的依赖关系进行建模并且对远离结尾的词的信息进行记忆,可以采用门控递归单元(GRU,Gated Recurrent Unit)作为递归函数g。
重新参考图5,通过RNN 510生成一系列隐藏矢量h1,h2…hT后,可以将最终的隐藏矢量hT用作源句子的上下文矢量,其在图5中示出为H。从句子获得上下文矢量H的过程可以称为句嵌入,其可以用于将可变长度的源句子压缩成固定尺寸上下文矢量。
可以使用诸如知识树40的知识库520来提取源句子的关键信息。给定特定领域的知识库,该领域中要表达的意思(intention)可以分成若干类,每个类具有子类。可以将所有的类组织成树结构。树结构的知识库可以称为元组树。术语知识库、知识树、元组树在说明书中可以交换使用。
分类器530可以是基于神经网络的层次分类器,其可以如下构建:树的每个边e具有权重矢量We,该权重矢量We可以是随机初始化的,并且可以是利用训练数据来学习的;可以从上到下遍历该树以找到可用的路径,并且对于每个当前节点,分类器530可以决定选择哪个子节点。如图4所示,树中的一个节点对应于结束于该节点的边,因此我们还可以说树中的每个节点具有权重矢量We。如图5所示,对节点的权重矢量We和源句子的上下文矢量H做点积,将点积的结果输入到分类器530。分类器530基于该节点的权重矢量We和上下文矢量H的点积可以决定是否选择该节点。
表2
在一个实施例中,逻辑回归(LR)分类器可以用作分类器530。如表2中所示,给定冗长的句子“啊,那个有大屏幕的4G手机吗?要白色的。”,LR分类器530可以遍历知识树520,并且可以在第一层中选择三个子节点Category、Network和Appearance,在第二层中,在父节点Category之后可以选择子节点Cellphone,在父节点network之后可以选择子节点4G,在父节点Appearance之后可以选择两个子节点Size和Color,在第三层中,在父节点Size之后可以选择子节点Big_screen,在父节点Color之后可以选择子节点White。那么,基于源句子的上下文矢量H和知识树的边或节点的权重矢量,为源句子提取表2所示的语义元组。在一个实施例中,可以如式(2)所示来计算用于选择边e及其子节点的概率,并且分类器530可以基于该概率决定是否选择边e或相应的节点。
其中,we·H是边或节点的权重矢量We和上下文矢量H的点积。
在一个实施例中,分类器530遍历知识树520时,它可以将每个节点分类为比特1或0,例如,与表2所示的所提取元组对应的节点被分类为1,其他节点被分类为0,相应地生成明确的语义矢量,其表示源句子中的明确的语义元组的存在。例如,如果在知识库中有N个边或节点,明确的语义矢量可以是N-比特矢量,该矢量中的一个比特位置对应于知识库中的一个节点。所获得语义矢量的长度N可以是一个大的数字,并且通常针对一个源句子所提取的元组可能仅包含一些节点。也就是说,通常该N-比特矢量是稀疏矢量,并且不需要实际生成N-比特的矢量,例如,可以只生成语义矢量中的比特-1的位置索引。这种情况下,所生成的位置索引也表示所得到的语义矢量。
图6示出了根据本主题的实施例的用于基于所提取的关键信息生成目标句子的目标机器学习模块60。该机器学习模块可以实现为或可以包括根据本主题的实施例的用于基于所提取的关键信息生成目标句子的基于神经网络的模型。该基于神经网络的模型在图6中示出,并且可以被称为目标神经网络。
在一个实施例中,目标神经网络可以是RNN。如图6所示,基于源神经网络50生成的明确的语义矢量(示为C),可以通过RNN递归地生成一系列隐藏矢量h1,h2…hT和目标句子的相应的词y1,y2…yT。例如,在时间标记t,可以使用式(3)获得隐藏矢量ht,以及可以使用式(4)计算目标词yt的概率。
ht=g(ht-1,yt-1,C) (3)
式(3)中的函数g可以是RNN中的递归函数。式(4)可以是soft-max函数,用于生成词yt的概率,相应地生成词yt。应该理解,本主题不限于特定递归函数或特定的soft-max函数。
图6A示出了根据本主题的实施例的目标句子生成的过程。在一个实施例中,门控递归单元(GRU)可以被用作式(3)中的递归函数g。例如,可以如式(5)到(10)实现GRU。
dt=σ(Wdyt-1+Udht-1+Vdct-1) (5)
ct=dt⊙ct-1 (6)
rt=σ(Wryt-1+Urht-1+Vrct) (7)
h′t=tanh(Wyt-1+U(rt⊙ht-1)+Vct) (8)
zt=σ(Wzyt-1+Uzht-1+Vzct) (9)
ht=(1-zt)⊙h′t+zt⊙ht-1+tanh(Vhct) (10)
Ct被初始化为语义矢量C,并且基于提取门dt而迭代地更新。σ是非线性函数。tanh是正切函数。⊙表示按位乘。W,U,V,Wd,Ud,Vd,Wr,Ur,Vr,Wz,Uz,Vz是通过训练而学习的参数。
在GRU中,对于每个递归状态t,可以使用提取门来从语义矢量C获取并去除信息以生成相应的目标词。例如,如图6A所示,对于表2中的语义元组,目标RNN可以一个词接一个词地生成目标句子,直到遇到结束符号字符“I want a white 4G cellphone with a bigscreen.”。
为了使得目标神经网络生成目标句子且保持语义矢量C中含有的信息不变,可以将两个额外的项引入到用于训练的代价函数中。式(11)示出了代价函数的例子。
代价函数中的第一项是对数似然代价,另两项是引入的惩罚项。||cT||2用于迫使解码神经网络从语义矢量C提取尽可能多的信息,从而所生成的目标句子保持与源句子相同的含义。第三项用于限制提取门在每个时间标记处从语义矢量C提取太多信息。
图6B示出了根据本主题的实施例,所提取的语义元组如何控制目标句子的生成。以语义元组Appearance.color.white为例,GRU保持其特征值几乎不变,直到生成目标词“white”为止。当生成相应的词时,除了元组Appearance.size.big_creen外,与所提取的语义元组对应的几乎所有的特征值从1降到0。为了表达该元组Appearance.size.big_creen的含义,目标神经网络可以生成两个词“big”和“screen”。当该句子完成时,所有的特征值都为0。
图7示出了根据本主题的实施例的用于提取源句子的关键信息的源机器学习模块70。机器学习模块70可以实现为或可以包括根据本主题的实施例的用于提取源句子的关键信息的基于神经网络的模型。该基于神经网络的模型在图7中示出,并且可以被称为源神经网络70。
源机器学习模块70可以包括RNN 710、知识树720和分类器730。RNN 710可以读取源句子的由x1,x2…xT表示的词,并且生成一系列隐藏矢量h1,h2…hT。可以利用相应的权重w1,w2,…,wT对隐藏矢量h1,h2…hT做加权和,并且分类器可以使用该加和的隐藏矢量(图7中示为H)来对知识树中的节点分类。可以基于隐藏矢量h1,h2…hT和知识树的权重矢量来确定权重w1,w2,…,wT,其可以称为注意权重(attention weights)。通过使用注意权重,有助于将目标词与源词对齐,尤其有利于翻译相对长的句子。
图7A示出了根据本主题的实施例的用于计算各个隐藏矢量的注意权重的过程。以节点“Category”为例,将隐藏矢量h1,h2…hT和该节点的权重矢量We输入到注意权重计算模块740。注意权重计算模块740可以基于隐藏矢量h1,h2…hT和该节点的权重矢量We生成相应的注意权重w1,w2,…,wT。在一个实施例中,可以对隐藏矢量h1,h2…hT中的每一个隐藏矢量和权重矢量We做点积,并且可以将T个点积结果输入到soft-max函数,以生成隐藏矢量h1,h2…hT的各自概率,然后将该概率标准化为与节点“Category”相关联的隐藏矢量h1,h2…hT的注意权重w1,w2,…,wT。
回到图7,通过利用与节点“Category”相关联的注意权重w1,w2,…,wT对隐藏矢量h1,h2…hT进行加权和,可以获得与节点“Category”相关联的加和的隐藏矢量H。在一个实施例中,分类器730可以使用与节点“Category”相关联的加和的隐藏矢量H来对节点“Category”的子节点(例如,树中的子节点“Computer”和“Cellphone”)进行分类。以子节点“Computer”为例,分类器730可以基于与父节点“Category”相关联的加和的隐藏矢量H和子节点“Computer”的权重矢量来将子节点“Computer”分类为1或0。
可以对于树中的每个父节点执行上述处理,从而遍历树中的节点。具体地,对于知识库中的每个父节点,可以基于上述多个隐藏矢量和该父节点的权重矢量来生成该多个隐藏矢量的各自的注意权重,可以通过利用各自的注意权重对该多个隐藏矢量进行加权和来生成加和的隐藏矢量,并且分类器可以基于该加和的隐藏矢量和该父节点的子节点的权重矢量来决定是否选择该子节点。
图8示出了根据本主题的实施例的用于基于所提取的关键信息生成目标句子的过程。源句子的所提取的关键信息可以是上述的明确的语义矢量或语义元组。
在一个实施例中,已经通过源神经网络70提取了表2中的语义元组,对应于该语义元组的节点如图8的树中的下划线所示。对于时间标记t,可以利用相应的注意权重w1,w2,…,wN对这些节点的权重矢量We1,We2…WeN进行加权和来生成语义矢量Ct。可以基于先前的隐藏矢量ht-1和这些节点的权重矢量We1,We2…WeN来确定该权重w1,w2,…,wN。通过使用注意机制,有助于将目标词与源词对齐,尤其有利于相对长句子的翻译。
如图8所示,可以将节点的权重矢量We1,We2…WeN和先前的隐藏矢量ht-1输入到注意权重计算模块810。注意权重计算模块810可以基于节点的权重矢量We1,We2…WeN和先前的隐藏矢量ht-1生成各个注意权重w1,w2,…,wN。在一个实施例中,可以对节点的权重矢量We1,We2…WeN中的每一个权重矢量和先前的隐藏矢量ht-1做点积,并且可以将N个点积结果输入到soft-max函数,以生成节点的权重矢量We1,We2…WeN的各自概率,然后将该概率标准化为节点的权重矢量We1,We2…WeN的注意权重w1,w2,…,wN。
对于目标神经网络的每个递归状态(例如,时间标记t),可以基于目标神经网络的先前的隐藏矢量和与所提取元组对应的节点的权重矢量来计算上述节点的各自的注意权重,其中树中的节点的权重矢量是在目标网络中训练的,通过利用各个注意权重对上述节点的权重矢量进行加权和来获得语义矢量Ct,可以使用目标神经网络基于该语义矢量Ct生成隐藏矢量ht,可以基于该隐藏矢量ht生成目标句子的词yt。
应该注意,虽然描述了基于RNN实现用于机器翻译的各种模型,但是应该理解本主题不限于此,例如,可以基于卷积神经网络(CNN)实现用于机器翻译的模型。应该理解,本主题不限于深度神经网络,例如,其他类型的机器学习技术也可以用于在机器翻译中实现本主题。
图9示出了根据本主题的实施例的用于将源句子翻译成目标句子的过程。该方法可以开始于接收源句子。为了提取源句子的关键信息,在步骤910,使用第一机器学习模块将源句子映射到由知识库预定义的语义空间。应该理解的是,将源句子映射到语义空间的同时,相应地提取了源句子的关键信息。在步骤920,可以使用第二机器学习模块基于所提取的关键信息生成目标句子。
在一个实施例中,语义空间包括多个语义元组,可以将源句子映射到语义空间中的一个或多个元组。在一个实施例中,以树结构组织知识库,树结构中的至少一个节点构成的一个路径定义了语义空间中的一个语义元组。
在一个实施例中,可以使用第一机器学习模块中的递归神经网络(RNN)基于源句子来获得多个隐藏矢量,可以使用第一机器学习模块中的基于神经网络的分类器来基于所述多个隐藏矢量中的至少一个隐藏矢量和所述知识库来提取一个或多个语义元组。
在一个实施例中,可以使用第二机器学习模块基于与该一个或多个语义元组对应的语义矢量来生成目标句子。
在一个实施例中,可以使用基于神经网络的分类器来基于所述多个隐藏矢量中的最终的隐藏矢量和知识库中的节点的各个权重矢量,来从知识库中选择表示该一个或多个语义元组的一个或多个节点。
在一个实施例中,语义矢量指示在知识库的节点之中,所选择的一个或多个节点的存在以及其他节点的不存在。
在一个实施例中,对于知识库中的每个父节点,可以基于所述多个隐藏矢量和该父节点的权重矢量来为所述多个隐藏矢量生成各自的权重,可以通过利用该各自的权重对所述多个隐藏矢量进行加权和来获得加和的隐藏矢量,并且可以使用基于神经网络的分类器基于该加和的隐藏矢量和该父节点的子节点的权重矢量来将该子节点分类为选取或不选取。
在一个实施例中,对于第二机器学习模块中的RNN的每个递归状态,可以基于RNN的先前的隐藏矢量和所选择的一个或多个节点的一个或多个权重矢量来为所选择的一个或多个节点生成各自的权重,可以通过利用各自的权重对所选择的一个或多个节点的一个或多个权重矢量进行加权和来获得语义矢量,可以使用RNN基于该语义矢量生成隐藏矢量,可以基于该隐藏矢量生成目标句子的词。
在一个实施例中,可以使用第一语言的第一数据语料库和知识库来训练第一机器学习模块,例如,可以使用第一语言数据和明确的语义矢量(其表示知识库中预定义的明确的语义元组)构成的数据对来训练第一机器学习模块,可以使用第二语言的第二数据语料库和知识库来训练第二机器学习模块,例如,可以使用明确的语义矢量(其表示知识库中预定义的明确的语义元组)和第二语言数据构成的数据对来训练第二机器学习模块。
图10示出了根据本主题的实施例的用于机器翻译的装置100的框图。装置100可以包括源机器学习模块1010和目标机器学习模块1020。装置100可以是图1的翻译模块210的实施例。
源机器学习模块1010可以配置为将第一语言的源句子映射到由知识库预定义的语义空间,以提取该源句子的关键信息,其中,所提取的关键信息可以是在知识库中预定义的。目标机器学习模块1020可以配置为基于所提取的关键信息生成第二语言的目标句子。
应该理解,源机器学习模块1010和目标机器学习模块1020可以执行本主题的各个实施例中以上结合图1-9描述的各种操作和功能。
源机器学习模块1010和目标机器学习模块1020可以通过硬件、软件或其组合的各种形式来实现。在一个实施例中,这些模块可以通过一个或多个硬件逻辑组件来分别实现或作为整体实现。例如但不限于,可以使用的硬件逻辑组件的示例类型包括现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑器件(CPLD)等。在另一个实施例中,这些模块可以通过一个或多个软件模块实现,该软件模块可以由通用中央处理单元(CPU)、图形处理单元(GPU)、数字信号处理器(DSP)等执行。
图11示出了根据本主题的实施例的用于机器翻译的计算机系统200的框图。根据一个实施例,计算机系统200可以包括一个或多个处理器2010,处理器2010执行在计算机可读存储介质(即,存储器2020)中存储或编码的一个或多个计算机可读指令(即,上述以软件形式实现的元素)。计算机系统200可以包括诸如显示器的输出设备2030以及诸如键盘、鼠标、触摸屏等的输入设备2040。计算机系统200可以包括通信接口2050,通信接口2050用于与诸如图1所示的终端100和300的其他设备通信。
在一个实施例中,在存储器2020中存储计算机可执行指令,其当执行时使得一个或多个处理器2010:使用第一机器学习模块将第一语言的源句子映射到由知识库预定义的语义空间,以提取该源句子的关键信息,其中所提取的关键信息是在知识库中预定义的;以及使用第二机器学习模块基于所提取的关键信息生成第二语言的目标句子。
应该理解,在存储器2020中存储的计算机可执行指令当执行时使得一个或多个处理器2010进行本主题的各个实施例中以上结合图1-9描述的各种操作和功能。
根据一个实施例,提供了一种诸如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本主题的各个实施例中以上结合图1-9描述的各种操作和功能。
应该注意,上面描述的技术方案是为了说明而不是限制该主题,并且本领域技术人员能够在不脱离所附权利要求范围的情况下设计出替换的技术方案。在权利要求中,括号中的任何参考符号不应被解释为限制权利要求。词语“包括”不排除权利要求中或说明书中没有列出的元素或步骤的存在。某个元素前的词语“一”或“一个”不排除多个这样的元素的存在。在包含若干单元的系统权利要求中,这些单元中的一些可以通过一个相同的软件和/或硬件实施。词语“第一”、“第二”、“第三”等的使用不表示任何排序。这些词语要被解释为名称。
Claims (16)
1.一种机器翻译方法,包括:
使用第一机器学习模块将第一语言的源句子映射到由知识库预定义的语义空间,以提取所述源句子的关键信息,其中,所述预定义的语义空间包括多个语义元组,并且其中,所述将第一语言的源句子映射到由知识库预定义的语义空间包括:将所述源句子映射到所述语义空间包括的所述多个语义元组中的一个或多个语义元组,其中所述一个或多个语义元组对应于所述关键信息;以及
使用第二机器学习模块基于所提取的关键信息生成第二语言的目标句子,其中,所述生成第二语言的目标句子包括:使用所述第二机器学习模块基于与所述一个或多个语义元组对应的语义矢量来生成所述目标句子。
2.根据权利要求1所述的方法,其中,所述知识库是以树结构组织的,所述树结构中的至少一个节点构成的路径定义了所述语义空间中的语义元组。
3.根据权利要求2所述的方法,其中,所述将第一语言的源句子映射到由知识库预定义的语义空间包括:
使用所述第一机器学习模块中的第一递归神经网络RNN基于所述源句子来生成多个隐藏矢量;以及
使用所述第一机器学习模块中的基于神经网络的分类器来基于所述多个隐藏矢量中的至少一个隐藏矢量和所述知识库来提取所述一个或多个语义元组。
4.根据权利要求3所述的方法,其中,所述提取所述一个或多个语义元组包括:使用所述基于神经网络的分类器来基于所述多个隐藏矢量中的最终的隐藏矢量和所述知识库中的节点的各自的权重矢量来从所述知识库选择表示所述一个或多个语义元组的一个或多个节点。
5.根据权利要求4所述的方法,其中,所述语义矢量指示在所述知识库的节点之中,所选择的一个或多个节点的存在以及其他节点的不存在。
6.根据权利要求4所述的方法,其中,所述将第一语言的源句子映射到由知识库预定义的语义空间包括:
对于所述知识库中的每个父节点,
基于所述多个隐藏矢量和该父节点的权重矢量来生成所述多个隐藏矢量的各自的权重;
通过利用所述各自的权重对所述多个隐藏矢量进行加权和来生成加和的隐藏矢量;以及
使用所述基于神经网络的分类器基于所述加和的隐藏矢量和该父节点的子节点的权重矢量来决定是否选择该子节点。
7.根据权利要求6所述的方法,其中,所述生成第二语言的目标句子包括:
对于所述第二机器学习模块中的第二RNN的每个递归状态,
基于所述第二RNN的先前的隐藏矢量和所选择的一个或多个节点的一个或多个权重矢量生成所选择的一个或多个节点的各自的权重;
通过利用所述各自的权重对所选择的一个或多个节点的一个或多个权重矢量进行加权和来生成所述语义矢量;
使用所述第二RNN基于所述语义矢量生成隐藏矢量;以及
基于该隐藏矢量生成所述目标句子的词。
8.根据权利要求1所述的方法,其中,所述第一机器学习模块是使用第一语言的第一数据语料库和所述知识库来训练的,所述第二机器学习模块是使用第二语言的第二数据语料库和所述知识库来训练的。
9.一种机器翻译装置,包括:
第一机器学习模块,配置为将第一语言的源句子映射到由知识库预定义的语义空间,以提取所述源句子的关键信息,其中,所述预定义的语义空间包括多个语义元组,并且其中,所述第一机器学习模块配置为将所述源句子映射到所述语义空间包括的所述多个语义元组中的一个或多个语义元组,其中所述一个或多个语义元组对应于所述关键信息;以及
第二机器学习模块,配置为基于所提取的关键信息生成第二语言的目标句子,其中,所述第二机器学习模块进一步配置为基于与所述一个或多个语义元组对应的语义矢量来生成所述目标句子。
10.根据权利要求9所述的装置,其中,所述知识库是以树结构组织的,所述树结构中的至少一个节点构成的路径定义了所述语义空间中的语义元组。
11.根据权利要求10所述的装置,其中,所述第一机器学习模块进一步配置为:
使用第一递归神经网络RNN基于所述源句子来生成多个隐藏矢量;以及
使用基于神经网络的分类器来基于所述多个隐藏矢量中的至少一个隐藏矢量和所述知识库来提取所述一个或多个语义元组。
12.根据权利要求11所述的装置,其中,所述第一机器学习模块进一步配置为:使用所述基于神经网络的分类器来基于所述多个隐藏矢量中的最终的隐藏矢量和所述知识库中的节点的各自的权重矢量来从所述知识库选择表示所述一个或多个语义元组的一个或多个节点。
13.根据权利要求12所述的装置,其中,所述语义矢量指示在所述知识库的节点之中,所选择的一个或多个节点的存在以及其他节点的不存在。
14.根据权利要求12所述的装置,其中,所述第一机器学习模块进一步配置为:
对于所述知识库中的每个父节点,
基于所述多个隐藏矢量和该父节点的权重矢量来生成所述多个隐藏矢量的各自的权重;
通过利用所述各自的权重对所述多个隐藏矢量进行加权和来生成加和的隐藏矢量;以及
使用所述基于神经网络的分类器基于所述加和的隐藏矢量和该父节点的子节点的权重矢量来决定是否选择该子节点。
15.根据权利要求14所述的装置,其中,所述第二机器学习模块进一步配置为:
对于第二RNN的每个递归状态,
基于所述第二RNN的先前的隐藏矢量和所选择的一个或多个节点的一个或多个权重矢量生成所选择的一个或多个节点的各自的权重;
通过利用所述各自的权重对所选择的一个或多个节点的一个或多个权重矢量进行加权和来生成所述语义矢量;
使用所述第二RNN基于所述语义矢量生成隐藏矢量;以及
基于该隐藏矢量生成所述目标句子的词。
16.一种计算机系统,包括:
一个或多个处理器;以及
存储器,其存储计算机可执行指令,所述指令当被执行时使得所述一个或多个处理器执行权利要求1到8中的任何一个所述的方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2016/092762 WO2018023356A1 (en) | 2016-08-01 | 2016-08-01 | Machine translation method and apparatus |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108475264A CN108475264A (zh) | 2018-08-31 |
CN108475264B true CN108475264B (zh) | 2022-03-01 |
Family
ID=61072459
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680077456.5A Active CN108475264B (zh) | 2016-08-01 | 2016-08-01 | 机器翻译方法和装置 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN108475264B (zh) |
WO (1) | WO2018023356A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019102984A1 (ja) * | 2017-11-22 | 2019-05-31 | Necソリューションイノベータ株式会社 | 学習装置及び学習方法、識別装置及び識別方法、プログラム並びに記録媒体 |
US11704552B2 (en) * | 2018-10-29 | 2023-07-18 | Microsoft Technology Licensing, Llc | Task detection in communications using domain adaptation |
CN109740168B (zh) * | 2019-01-09 | 2020-10-13 | 北京邮电大学 | 一种基于中医药知识图谱和注意力机制的中医典籍古文翻译方法 |
CN109858044B (zh) * | 2019-02-01 | 2023-04-18 | 成都金山互动娱乐科技有限公司 | 语言处理方法和装置、语言处理系统的训练方法和装置 |
CN110019758B (zh) * | 2019-04-11 | 2021-07-06 | 北京百度网讯科技有限公司 | 一种核心要素提取方法、装置及电子设备 |
CN110287498B (zh) * | 2019-05-30 | 2023-04-07 | 北京百度网讯科技有限公司 | 层次化翻译方法、装置及存储介质 |
CN111160041B (zh) * | 2019-12-30 | 2024-02-13 | 科大讯飞股份有限公司 | 语义理解方法、装置、电子设备和存储介质 |
CN113392653A (zh) * | 2020-03-13 | 2021-09-14 | 华为技术有限公司 | 翻译方法、相关装置、设备及计算机可读存储介质 |
GB2596092A (en) * | 2020-06-17 | 2021-12-22 | Daimler Ag | A method for generating at least one alternative utterance to an initial utterance, as well as a semantic analyzer module |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104102630A (zh) * | 2014-07-16 | 2014-10-15 | 复旦大学 | 一种针对中文社交网络中中英文混合文本的规范方法 |
CN104169948A (zh) * | 2012-03-15 | 2014-11-26 | 赛普特系统有限公司 | 用于文本语义处理的方法、装置及产品 |
CN104718542A (zh) * | 2012-08-28 | 2015-06-17 | 甲骨文国际公司 | 利用索引串匹配的上下文盲数据转换 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8078450B2 (en) * | 2006-10-10 | 2011-12-13 | Abbyy Software Ltd. | Method and system for analyzing various languages and constructing language-independent semantic structures |
RU2642343C2 (ru) * | 2013-12-19 | 2018-01-24 | Общество с ограниченной ответственностью "Аби Продакшн" | Автоматическое построение семантического описания целевого языка |
-
2016
- 2016-08-01 CN CN201680077456.5A patent/CN108475264B/zh active Active
- 2016-08-01 WO PCT/CN2016/092762 patent/WO2018023356A1/en active Application Filing
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104169948A (zh) * | 2012-03-15 | 2014-11-26 | 赛普特系统有限公司 | 用于文本语义处理的方法、装置及产品 |
CN104718542A (zh) * | 2012-08-28 | 2015-06-17 | 甲骨文国际公司 | 利用索引串匹配的上下文盲数据转换 |
CN104102630A (zh) * | 2014-07-16 | 2014-10-15 | 复旦大学 | 一种针对中文社交网络中中英文混合文本的规范方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108475264A (zh) | 2018-08-31 |
WO2018023356A1 (en) | 2018-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108475264B (zh) | 机器翻译方法和装置 | |
CN110162749B (zh) | 信息提取方法、装置、计算机设备及计算机可读存储介质 | |
CN107291693B (zh) | 一种改进词向量模型的语义计算方法 | |
US10592607B2 (en) | Iterative alternating neural attention for machine reading | |
US11763098B2 (en) | System and method for language translation | |
CN106502985B (zh) | 一种用于生成标题的神经网络建模方法及装置 | |
US20170185581A1 (en) | Systems and methods for suggesting emoji | |
WO2019060353A1 (en) | SYSTEM AND METHOD FOR TRANSLATION OF KEYBOARD MESSAGES | |
US20180260381A1 (en) | Prepositional phrase attachment over word embedding products | |
JP5379138B2 (ja) | 領域辞書の作成 | |
CN110162191B (zh) | 一种表情推荐方法、装置及存储介质 | |
CN110945500A (zh) | 键值记忆网络 | |
CN111914067A (zh) | 中文文本匹配方法及系统 | |
CN113076739A (zh) | 一种实现跨领域的中文文本纠错方法和系统 | |
WO2021034376A1 (en) | Example based entity extraction, slot filling and value recommendation | |
CN109145083B (zh) | 一种基于深度学习的候选答案选取方法 | |
CN111414561A (zh) | 用于呈现信息的方法和装置 | |
JP6553180B2 (ja) | 言語検出を行うためのシステムおよび方法 | |
Malykh et al. | Robust word vectors: Context-informed embeddings for noisy texts | |
Sarkar et al. | A practical part-of-speech tagger for Bengali | |
Noshin Jahan et al. | Bangla real-word error detection and correction using bidirectional lstm and bigram hybrid model | |
EP3413218A1 (en) | Key-value memory networks | |
CN115269768A (zh) | 要素文本处理方法、装置、电子设备和存储介质 | |
CN117034916A (zh) | 构建词向量表示模型和词向量表示的方法、装置及设备 | |
CN110023931A (zh) | 用于语言检测的系统和方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |