CN109871529B - 语言处理方法和设备 - Google Patents
语言处理方法和设备 Download PDFInfo
- Publication number
- CN109871529B CN109871529B CN201810522423.8A CN201810522423A CN109871529B CN 109871529 B CN109871529 B CN 109871529B CN 201810522423 A CN201810522423 A CN 201810522423A CN 109871529 B CN109871529 B CN 109871529B
- Authority
- CN
- China
- Prior art keywords
- tag
- language processing
- prefix
- sequence
- processing method
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 39
- 238000012545 processing Methods 0.000 claims abstract description 117
- 238000013528 artificial neural network Methods 0.000 claims abstract description 60
- 230000004044 response Effects 0.000 claims abstract description 15
- 239000003550 marker Substances 0.000 claims description 17
- 238000013519 translation Methods 0.000 claims description 14
- 238000000034 method Methods 0.000 description 58
- 230000008569 process Effects 0.000 description 42
- 238000012549 training Methods 0.000 description 39
- 238000010586 diagram Methods 0.000 description 19
- 230000015654 memory Effects 0.000 description 11
- 238000010845 search algorithm Methods 0.000 description 6
- 239000013598 vector Substances 0.000 description 6
- 210000002569 neuron Anatomy 0.000 description 5
- 230000000306 recurrent effect Effects 0.000 description 5
- 125000002015 acyclic group Chemical group 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000012795 verification Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000003920 cognitive function Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/28—Constructional details of speech recognition systems
- G10L15/30—Distributed recognition, e.g. in client-server systems, for mobile phones or network applications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/237—Lexical tools
- G06F40/242—Dictionaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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
- G06F40/44—Statistical methods, e.g. probability models
-
- 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/58—Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/088—Non-supervised learning, e.g. competitive learning
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
- G10L15/00—Speech recognition
- G10L15/08—Speech classification or search
- G10L15/16—Speech classification or search using artificial neural networks
Abstract
公开了一种语言处理方法和设备。使用神经网络的语言处理设备可使用基于神经网络的编码器从源文本获得上下文信息,使用基于神经网络的主解码器从上下文信息生成前缀标记,响应于前缀标记满足预设条件使用跳过模型生成包括跟随前缀标记的至少两个连续的标记的标记序列,输出前缀标记和标记序列被组合的目标文本。
Description
本申请要求于2017年12月4日提交到韩国知识产权局的第10-2017-0165397号韩国专利申请的权益,所述专利申请的全部公开出于所有的目的通过引用合并于此。
技术领域
下面的描述涉及一种用于自动处理输入语言的技术。
背景技术
神经网络还被称为人工神经网络。神经网络可以是使用通过连接线彼此连接的多个人工神经元模拟生物系统的计算能力的以软件或硬件实现的识别模型。硬件可包括神经形态芯片,其中,神经形态芯片表示由神经网络操作所需的电路实现的芯片。
发明内容
提供本发明内容从而以简化的形式介绍在下面的具体实施方式中被进一步描述的构思的选择。本发明内容不意图标识所要求保护的主题的关键特征或必要特征,本发明内容也不意图用于帮助确定所要求保护的主题的范围。
在一个总体方面,一种使用神经网络的语言处理方法,所述语言处理方法包括:使用基于神经网络的编码器从源文本获得上下文信息;使用基于神经网络的主解码器从上下文信息生成前缀标记;响应于前缀标记满足预设条件,使用跳过模型生成包括跟随前缀标记的至少两个连续标记的标记序列;输出前缀标记和标记序列被组合的目标文本。
语言处理方法还可包括:响应于前缀标记不满足所述条件,使用主解码器生成跟随前缀标记的标记。
跳过模型可包括多个词以字母次序排列的字典。
所述预设条件可包括这样的条件:标记序列跟随前缀标记的概率大于或等于阈值。
跳过模型可包括基于神经网络的子解码器。
所述预设条件可包括这样的条件:生成标记序列的难度小于或等于阈值。
生成前缀标记的步骤可包括:针对预设数量的束节点中的每个生成前缀标记,生成标记序列的步骤可包括:针对束节点中的每个使用跳过模型生成标记序列。
输出目标文本的步骤可包括:在包括针对束节点中的每个获得的前缀标记和标记序列的候选文本之中,确定目标文本。
主解码器可包括第一隐藏节点和第二隐藏节点。在此,第一隐藏节点可接收前缀标记并使用跳过模型生成标记序列,第二隐藏节点可接收前缀标记和标记序列。
子解码器可包括第三隐藏节点和第四隐藏节点。在此,第三隐藏节点可接收前缀标记并生成标记序列,第四隐藏节点可接收前缀标记和标记序列。
所述标记可包括字符、词或句子。目标文本可对应于源文本的翻译结果。目标文本可以是生成与源文本对应的自然语言的结果。
一种非暂时性计算机可读存储介质可存储指令,其中,当所述指令被处理器执行时,使得处理器执行所述语言处理方法。
在另一总体方面,一种语言处理设备包括:至少一个处理器;基于神经网络的编码器;基于神经网络的主解码器;跳过模型,被配置为:生成包括至少两个连续的标记的标记序列。所述处理器可使用编码器从源文本生成上下文信息,使用主解码器从上下文信息生成前缀标记,响应于前缀标记满足预设条件使用跳过模型生成跟随前缀标记的标记序列,输出前缀标记和标记序列被组合的目标文本。
处理器可使用主解码器生成前缀标记,并且每当前缀标记满足预设条件时可重复在前面描述的操作。
响应于前缀标记不满足所述预设条件,处理器可使用主解码器生成跟随前缀标记的标记。
跳过模型可包括多个词以字母次序排列的字典。
跳过模型可包括基于神经网络的子解码器。
根据下面的具体实施方式、附图和权利要求,其他特征和方面将是清楚的。
附图说明
图1是示出语言处理系统的整体配置的示例的示图。
图2是示出语言处理方法的示例的流程图。
图3A是示出使用循环神经网络(RNN)的语言处理方法的示例的示图。
图3B是示出使用除了循环神经网络(RNN)之外的神经网络的语言处理方法的示例的示图。
图4是示出使用NRNN以及跳过模型(skip model)的语言处理方法的示例的示图。
图5是示出使用NRNN以及跳过模型的语言处理方法的另一示例的示图。
图6A是示出使用NRNN以及束搜索(beam search)算法的语言处理方法的示例的示图。
图6B是示出使用跳过模型的字典和NRNN以及束搜索算法的语言处理方法的示例的示图。
图6C是示出通过使用束搜索算法的语言处理方法获得的结果的示例的示图。
图7是示出语言处理设备的示例的示图。
除非另外描述或提供,否则贯穿附图和具体实施方式,相同的附图参考标号将被理解为表示相同的元件、特征和结构。为了清楚、说明和方便,附图可不按比例绘制,并且附图中的元件的相对大小、比例和描绘可被夸大。
具体实施方式
提供下面的详细的描述来帮助读者获得对在此描述的方法、设备和/或系统的全面理解。然而,在理解本申请的公开之后,在此描述的方法、设备和/或系统的各种改变、修改和等同物将清楚。例如,在此描述的操作的顺序仅是示例,并不受限于在此阐述的那些顺序,而是除了必须以特定顺序发生的操作之外,在此描述的操作的顺序可如在理解本申请的公开之后将清楚的那样改变。此外,为了更加清楚和简洁,可省略在理解本申请的公开之后已知的特征的描述。
在此描述的特征可以以不同的形式来实施,并且不被解释为受限于在此描述的示例。相反,已经仅提供在此描述的示例以说明实现在此描述的在理解本申请的公开之后将清楚的方法、设备和/或系统的许多可能的方式中的一些方式。
在此可使用诸如第一、第二、A、B、(a)、(b)等的术语来描述组件。这些术语中的每个术语不用于定义对应组件的本质、顺序或次序,而是仅用于区分对应的组件和其他组件。例如,第一组件可被称为第二组件,类似地,第二组件也可被称为第一组件。
应注意,如果在说明书中描述一个组件“连接”、“结合”或“接合”到另一个组件,则虽然第一组件可直接地连接、结合或接合到第二组件,但是第三组件可“连接”、“结合”或“接合”在第一组件与第二组件之间。此外,应注意,如果在说明书中描述一个组件“直接连接”或“直接接合”到另一个组件,则所述一个组件与所述另一个组件之间可不存在第三组件。类似地,例如“在……之间”和“直接在……之间”以及“与……相邻”和“与……直接相邻”的表述也可如前所述来解释。
在此使用的术语仅为了描述特定实施例的目的并不意图限制。例如,除非上下文另外清楚地指示,否则如在此使用的单数形式也意图包括复数形式。还应理解,除非本公开的上下文和理解另外指示,否则当在此使用术语“包括”和/或“包含”时,表明在一个或多个示例实施例中存在阐述的特征、整体、操作、元件、组件或它们的一个或多个组合/组,但是不排除在可选的实施例中存在或添加一个或多个其它特征、整体、操作、元件、组件和/或它们的组合/组,也不排除在另外的可选的实施例中缺少这样阐述的特征、整体、操作、元件和/或组件,和/或组合/组。此外,在此针对示例或实施例的术语“可”的使用(例如,关于示例或实施例可包括或实现什么)表示存在包括或实现这样的特征的至少一个示例或实施例,然而所有的示例和实施例不限于此。
除非另外定义,否则在此使用的所有术语(包括技术术语和科学术语)具有与本公开所属领域的普通技术人员基于对本公开的理解而通常理解的含义相同的含义。除非在此明确地这样定义,否则术语(诸如,在通用字典中定义的那些术语)将被解释为具有与相关领域和本公开的上下文中的含义一致的含义,并且将不被解释为理想化的或过于形式化的意义。图1是示出语言处理系统的整体配置的示例的示图。
语言处理设备100可使用跳过模型和非循环神经网络(NRNN)将源文本转换为目标文本。NRNN表示除了循环神经网络(RNN)之外的神经网络(例如,包括卷积NN的深度NN、自注意力NN)。语言处理设备100可用于通过使用跳过模型和NRNN同时解码多个标记(token)来减少处理时间。语言处理设备100可比这样的RNN方法减少序列到序列(sequence-to-sequence)语言处理中的解码步骤的数量。语言处理可区别于训练处理,并包括估计或推理处理。
在一个示例中,语言处理设备100可执行机器翻译。语言处理设备100可适用于需要翻译功能的任何装置。通过训练语料库(corpus)训练的语言处理设备100可将源文本自动翻译成目标文本。例如,如示出的,通过智能电话111输入的文本数据101(例如,)可被语言处理设备100翻译成目标文本103。如另一个示例,如示出的,通过麦克风113输入的语音数据101(例如,/>)可被语言处理设备100翻译成目标文本103。在这个示例中,目标文本可对应于源文本的翻译结果。
在另一个示例中,语言处理设备100可执行目标语言生成。例如,语言处理设备100可适用于对话系统或问答系统。在对话系统中,通过训练语料库训练的语言处理设备100可生成与源文本对应的目标文本。例如,如示出的,语言处理设备100可响应于通过计算机115输入的源文本101(例如,),来输出对话结果105(例如,如示出的“Thank you”)。在这个示例中,目标文本可以是对源文本的响应。
在神经网络中,具有生物神经元的简化功能的人工神经元被使用,并且它们通过具有连接权重的连接线连接。连接权重可以是连接线的特定值,并且还被称为连接强度。神经网络可使用这样的人工神经元来执行人类认知功能或者人类学习或训练处理。人工神经元还被称为节点。
神经网络可包括多个层。例如,神经网络可包括输入层、隐藏层和输出层。输入层可接收将被用于执行训练的输入,并将接收的输入传送到隐藏层。输出层可基于从隐藏层的节点接收的信号生成神经网络的输出。隐藏层可被布置在输入层与输出层之间,并将通过输入层传送的训练数据改变成将被用于正确预测或估计训练数据的值。包括在输入层和隐藏层中的节点可通过具有连接权重的连接线连接,包括在隐藏层和输出层中的节点也可通过具有连接权重的连接线连接。输入层、隐藏层和输出层可包括多个节点。
神经网络可包括多个隐藏层。包括多个隐藏层的神经网络被称为深度神经网络(DNN),训练DNN被称为深度学习。在此,包括在隐藏层中的节点被称为隐藏节点。
多个隐藏节点在不同的时间区间循环连接的神经网络被称为循环神经网络(RNN)。在RNN中,在先前时间区间的隐藏节点的隐藏状态可在当前时间区间被传送到隐藏节点。在此,每个时间区间可对应于每个标记被处理的次序。例如,在以前的机器翻译方法中,使用各个循环神经网络部分来执行编码器和解码器翻译操作二者。此外,因为循环结构,要求保持整个过去的隐藏状态,以将短语的序列翻译为翻译的短语的序列,这妨碍序列的并行计算。换言之,在这样的循环方法中,编码器和解码器的各自的循环神经网络的各自的训练处理和推理处理二者顺序地考虑标记,因此由于顺序地考虑并处理每个标记,训练处理和推理处理二者中的编码操作和解码操作被限制处理速度。
多个隐藏节点在不同的时间区间不循环连接的神经网络被称为NRNN。在NRNN中,在先前时间区间的隐藏节点的隐藏状态可不在当前时间区间被传送到隐藏节点。
序列到序列语言处理表示将序列数据转换为序列数据的语言处理方法。序列数据表示具有时序或顺序的数据。例如,序列数据可包括语音数据和文本数据。
在一个示例中,语言处理设备100可使用编码器将作为序列数据的源文本转换为上下文信息(context information)。具体地讲,编码器可以是NRNN。上下文信息还可被称为上下文。在此,源文本是序列数据,因此上下文信息也是序列数据。上下文信息可以是包括每个标记的概率的向量。标记表示划分源文本的单位(诸如,例如,词、字符和句子)。在其他示例中,上下文信息可以是其他结果的序列信息,例如,包括其他标记的各自的概率的矢量。
在RNN中,可以以序列数据的序列的次序对每个标记进行编码。RNN可在训练处理或推理处理中顺序地处理输入文本的标记。换句话说,RNN在训练处理或推理处理中必须顺序地编码或解码输入文本的标记。
在NRNN中,包括在序列数据中的多个标记可在编码处理中被同时编码或一次编码。例如,包括在序列数据中的一些标记或者所有标记可被同时地编码。NRNN可在训练处理或估计处理中同时或一次对标记进行编码。估计处理还被称为推理处理。例如,因为针对每个训练输入,正确的标签可以已知,所以在有监督训练期间,可通过使用NRNN解码器来执行并行或同时解码。作为非限制性示例,训练处理可基于训练数据来操作,然而,估计或推理处理可执行真实的输入数据(例如,非训练数据)的推理。NRNN可在训练处理中从上下文信息同时或一次解码包括在目标文本中的多个标记。NRNN可比RNN相对更快地执行训练处理。NRNN可在估计或推理处理中比RNN相对更快地执行编码。
在这个示例中,语言处理设备100可使用解码器将作为序列数据的上下文信息转换为目标文本。具体地讲,解码器可以是NRNN或者整个翻译神经网络的对应的非循环神经网络部分。然而,虽然因为针对训练数据,翻译结果的标记是已知的,所以在训练期间的解码操作可被并行或同时执行,但是与在训练处理中不同,在估计处理中的解码过程中,预先不知道包括在目标文本中的标记,因此可能需要以序列的次序来解码标记,这类似于前面提到的RNN解码器操作。因此,虽然该示例的解码器可以是或可具有非循环神经网络或非循环神经网络部分,并且虽然训练速度可大于RNN实现的序列到序列语言处理的相应的训练速度,但是当估计或推理处理中实际实现基于RNN的解码器的操作时,与RNN实现的序列到序列语言处理相比,示例的解码器操作可能不具有可观的速度提高。在这样的示例中,虽然编码器还可使用这样的非循环神经网络来实现并且并行地或同时生成上下文数据,但是基于RNN的解码器在推理操作期间对于整个翻译操作变为速度障碍。
在这个示例中,与上面的在推理操作期间必须以序列的次序来执行所有标记的解码的基于RNN的解码器示例相比,语言处理设备100可使用跳过模型执行批量(bulk)解码来提高处理速度。语言处理设备100可使用NRNN和跳过模型二者,一次解码多个标记。在此,同时或一次执行编码或解码还被称为并行编码或并行解码。此外,使用这样的跳过模型同时或一次解码多个标记还被称为批量解码。
语言处理设备100可使用跳过模型基于截止到当前时间已经解码的至少一个标记,来生成具有成为正确答案的高概率的标记序列。标记序列可包括至少两个标记。语言处理设备100可使用跳过模型一次生成包括至少两个标记的标记序列,来提高处理速度。
在一个示例中,跳过模型可包括以目标语言排列的字典。在这个示例中,可基于目标语言的训练语料库来生成跳过模型。在另一个示例中,跳过模型可以是神经网络。作为神经网路的跳过模型还被称为子解码器。在这个示例中,可基于包括成对的源语言和目标语言的训练语料库来训练跳过模型。
语言处理设备100可使用跳过模型基于截止到当前时间已经生成的k个标记,来估计具有大于或等于阈值的概率的接下来的n个标记。语言处理设备100可基于数学式1来执行批量解码。
[数学式1]
Pr(tx,tx+1,…tx+n|tx-k,…tx-1)≥Pth
参照数学式1,当截止到当前时间生成的标记序列是tx-k、...、tx-1并且接下来的标记序列是tx、tx+1、…、tx+n的概率大于或等于Pth时,语言处理设备100可生成tx、tx+1、…、tx+n作为标记序列。在此,截止到当前时间生成的标记序列可不需要是词或句子的第一部分并且不受次序的限制,将被估计的标记序列可不需要是所述词或所述句子的第一部分的跟随部分并且不受次序的限制。
在机器翻译中,语言处理设备100可使用跳过模型的字典,因此由于字典的预定的性质,跳过模型不可能输出不存在于字典中的不正确的翻译结果。因为正确的、已知的或真实的词被存储在字典中或被用于生成字典,所以可以使用跳过模型的字典根据拼字学(orthography)的规则,防止对每个标记执行解码的结果不正确的问题。
与在推理或估计处理中不同,在训练处理中,作为NRNN的解码器可将上下文信息并行地转换为目标文本。训练设备可训练语言处理设备100,使得语言处理设备100的编码器和解码器使训练源文本被转换为训练目标文本的概率最大化。
在跳过模型是字典或使用字典的情况下,可使用目标语言的训练数据来训练语言处理设备100。训练数据可包括训练语料库。例如,可基于训练语料库来训练字典。在跳过模型是神经网络的情况下,可使用平行语料库来训练语言处理设备100,其中,平行语料库包括成对的训练源文本和目标语言的训练目标文本。
图2是示出语言处理方法的示例的流程图。
在一个示例中,语言处理设备100可使用基于NRNN的编码器来生成代表源文本的信息的上下文信息,并使用基于NRNN的解码器和跳过模型从生成的上下文信息生成目标文本。
参照图2,在操作201中,语言处理设备100使用基于神经网络的编码器从源文本获得上下文信息。语言处理设备100使用编码器将源文本转换为向量形式的上下文信息。在此使用的向量可被实现为与源文本中的多个标记中的每个标记对应的概率值。源文本是序列数据,因此上下文信息也是序列数据。
在操作202中,语言处理设备100使用基于神经网络的主解码器从上下文信息生成前缀标记。前缀标记被用作将其与跟随的标记区分开的术语,并还被称为当前标记。语言处理设备100对上下文信息的概率值进行顺序地解码。前缀标记还被称为根据截止到现在解码的上下文信息的概率值选择的标记。
语言处理设备100基于预设条件来确定是否使用跳过模型来执行批量解码。语言处理设备100确定是否使用跳过模型对使用主解码器生成的不完整的目标文本执行批量解码。例如,如果目标文本最终将被生成为“nurture”,则不完整目标文本可以是“nurt”。
在此,预设条件可基于跳过模型的类型而变化。例如,在跳过模型是字典的情况下,预设条件可指示包括跟随前缀标记的至少两个连续的标记的标记序列的概率大于或等于阈值的条件。如另一个示例,在跳过模型是神经网络的情况下,预设条件可指示生成标记序列的难度小于或等于阈值的条件。
在操作203中,响应于前缀标记满足预设条件,语言处理设备100使用跳过模型生成包括跟随前缀标记的至少两个连续的标记的标记序列。在批量解码是可用的情况下,语言处理设备100同时生成跟随不完整的目标文本的多个标记,并将生成的标记与不完整的目标文本进行组合的结果传送给主解码器。通过一次生成标记序列,语言处理设备100可因此不需要针对每个标记执行解码。
在操作204中,语言处理设备100输出前缀标记与标记序列被组合的目标文本。当生成标记序列时,语言处理设备100可使用基于目标语言的语料库生成的跳过模型,因此可输出与针对每个标记执行解码时相比更准确的目标文本。
响应于前缀标记不满足预设条件,语言处理设备100使用主解码器生成跟随前缀标记的标记。在这样的情况下,在没有这样的跳过模型的情况下,以与上面的基于RNN的解码器的方式相同的方式来生成跟随前缀标记的标记。
可重复执行以上描述的操作201至操作204,直到生成指示文本的结束的标记(例如,<End>)。
图3A是示出使用RNN的语言处理方法的示例的示图。
参照图3A,基于RNN的编码器301接收作为序列数据的源文本311(例如,示出的“Ilove you.”)。编码器301从源文本311生成上下文信息313。编码器301是RNN,因此每个隐藏节点的隐藏状态可需要作为输入被传送到下一隐藏节点。因此,以序列的次序对源文本311“I love you.”的标记中的每个标记执行编码处理。在此,上下文信息313可以是指示源文本311的信息的向量,其中,标记的单位是词。
基于RNN的解码器303从上下文信息313生成目标文本315(例如,如示出的)。解码器303是RNN,因此每个隐藏节点的隐藏状态可需要作为输入被传送到下一隐藏节点。因此,以序列的次序对上下文信息313的标记中的每个标记执行解码处理。因此,针对每个标记顺序地执行解码处理,因此每个标记被顺序并分开地生成。
例如,如示出的,当开始标记<Start>被输入到第一隐藏节点时,第一隐藏节点的隐藏状态被更新并且被生成。第一隐藏节点的更新的隐藏状态和/>被输入到第二隐藏节点,并且/>被生成。第二隐藏节点的隐藏状态和/>被输入到第三隐藏节点,并且/>被生成。第三隐藏节点的隐藏状态和/>被输入到第四隐藏节点,并且“.”被生成。第四隐藏节点的隐藏状态和“.”被输入到第五隐藏节点,并且指示结束的结束标记<End>被生成。
图3B是示出使用除RNN之外的神经网络的语言处理方法的示例的示图。
参照图3B,基于NRNN的编码器321接收作为序列数据的源文本331(例如,如示出的“I love you.”)。编码器321从源文本331生成上下文信息333。编码器321是NRNN,因此每个隐藏节点的隐藏状态可不作为输入被传送到下一隐藏节点。因此,对源文本331一次执行编码处理而不是以序列的次序对源文本331“I love you.”的标记中的每个标记执行编码处理。
基于NRNN的解码器323从上下文信息333生成目标文本335(例如,如示出的)。预先不知道目标文本335的标记中的每个标记,因此可以以序列的次序对上下文信息333的标记中的每个标记执行解码处理。然而,与基于RNN的解码器不同,每个标记被累积并被输入到与每个标记对应的隐藏节点。
例如,如示出的,当开始标记<Start>被输入到第一隐藏节点时,第一隐藏节点的隐藏状态被更新并且被生成。<Start>和/>被输入到第二隐藏节点,并且被生成。<Start>、/>和/>被输入到第三隐藏节点,并且/>被生成。<Start>、/>和/>被输入到第四隐藏节点,并且“.”被生成。<Start>、/> 和“.”被输入到第五隐藏节点,并且指示结束的结束标记<End>被生成。
图4是示出使用NRNN以及跳过模型的语言处理方法的示例的示图。
参照图4,跳过模型可以是字典445。跳过模型包括多个词以字母次序排列的字典445。字典445中的多个词中的每个词可以和与下一个词相比时不同的多个字符一起被存储。例如,参照下面表1,以“nurse”、“nurture”和“nurzhan”的次序来排列词,基于词“nurse”本身,词“nurse”与词“nurture”、两个字符不同。此外,基于词“nurture”本身,词“nurture”与词“nurzhan”四个字符不同。
[表1]
语言处理设备100基于包括在字典445中的词的数量的对数(log)的复杂度,来确定具有前缀标记“nurt”的词仅为“nurture”,如Pt(u,r,e|n,u,r,t)=1所示。
如示出的,基于NRNN的编码器441接收作为序列数据的源文本451(例如,)。编码器441从源文本451生成上下文信息453。编码器441是NRNN,因此每个隐藏节点的隐藏状态可不作为输入被传送到下一隐藏节点。因此,对源文本451一次执行编码处理而不是以序列的次序对源文本451/>的标记中的每个标记执行编码处理。
基于NRNN的主解码器443从上下文信息453生成目标文本455(例如,“nurtureand...,”)。预先不知道目标文本455的标记中的每个标记,因此可以以序列的次序对上下文信息453的标记中的每个标记执行解码处理。然而,与基于RNN的解码器不同,每个标记被累积并被输入到与每个标记对应的隐藏节点。
语言处理设备100基于预设条件来确定是否使用跳过模型来执行批量解码457。例如,在主解码器443解码了一个或多个标记之后,但在解码的标记再次输入到主解码器443之前,语言处理设备100基于生成的前缀标记,来验证是否存在这样的标记序列:在跳过模型中生成标记之后生成该标记序列的概率大于或等于阈值。
在此,预设条件可包括跟随前缀标记(n,u,r,t)的标记序列(u,r,e)的概率大于或等于阈值的条件。阈值可以是如图4中所示的1,并且当前缀标记被确定为(n,u,r,t)时,满足所述条件指示跟随的标记序列仅是(u,r,e)。在此,标记是以单个字符为单位。
如示出的,开始标记<Start>被输入到第一隐藏节点,并且“n”被生成。<Start>和“n”被输入到第二隐藏节点,并且“u”被生成。<Start>、“n”和“u”被输入到第三隐藏节点,并且“r”被生成。<Start>、“n”、“u”和“r”被输入到第四隐藏节点,并且“t”被生成。在标记被输入到每个隐藏节点之前,语音处理设备100验证在字典445中是否存在具有大于或等于阈值的概率的标记序列。在此,第n隐藏节点表示第n标记被处理的隐藏节点,并且单个隐藏节点可被迭代地使用。
当“nurture”与前缀标记(n,u,r,t)对应的概率大于或等于阈值时,跳过模型代替虚线表示的第五隐藏节点接收前缀标记(n,u,r,t)并一次生成标记序列(u,r,e)。因此,主编码器443接下来使用<Start>、“n”、“u”、“r”和“t”与生成“t”之后在跳过模型中生成的“u,r,e”(即,不是在预设条件不满足的情况下主解码器443另外以“t”、“u”、“r”和“e”的次序顺序地生成标记)的组合作为输入。如上所述,主解码器443通过省略或跳过对“u”、“r”和“e”的三个解码步骤或处理,来生成目标文本455。
如描述的,可减少解码步骤或处理的数量,并且还可提高翻译的准确度。在针对每个字符或以字符为单位执行解码并且仅存在一个不正确的字符的情况下,准确度可降低。例如,“nurtuxe”可能代替“nurture”而被生成。语言处理设备100可使用跳过模型立即生成“nurture”,从而实现翻译的准确度的提高,而没有如在“nurtuxe”中示出的错误。
图5是示出使用NRNN以及跳过模型的语言处理方法的另一示例的示图。
参照图5,跳过模型包括基于神经网络的子解码器505。语言处理设备100可在通过跳过模型生成标记序列的难度小于或等于阈值的条件下,使用被配置为比主解码器相对更快地生成标记序列的子解码器来生成标记序列。
基于NRNN的编码器511接收作为序列数据的源文本501(例如,)。编码器511从源文本501生成上下文信息513。编码器511是NRNN,因此每个隐藏节点的隐藏状态可不作为输入被传送到下一隐藏节点。因此,可对源文本501一次执行编码处理,而不是对源文本501/>的标记中的每个标记执行编码处理。
基于NRNN的主解码器503从上下文信息513生成目标文本(例如,“nurtureand…”)。在此,预先不知道目标文本的标记中的每个标记,因此可以以序列的次序对上下文信息513的标记中的每个标记执行解码处理。
语言处理设备100基于预设条件来确定是否使用跳过模型执行批量解码。在从主解码器503生成的标记再次输入到主解码器503之前,语言处理设备100基于前缀标记验证是否存在这样的标记序列:该标记序列将在生成的前缀标记之后生成,并且基于前缀标记生成该标记序列的难度小于或等于阈值。
如示出的,开始标记<Start>被输入到第一隐藏节点,并且“n”被生成。例如,语言处理设备100可在生成的标记“n”被再次输入到主解码器503之前,验证生成将在“n”之后生成的标记序列的难度小于或等于阈值。代替将<Start>和“n”输入到主解码器503的第二隐藏节点,语言处理设备100使用子解码器505来执行解码。在此,子解码器505可比主解码器503相对更快地生成目标文本。
“n”被输入到子解码器505的第一隐藏节点,并且“u”被生成。“n”和“u”被输入到第二隐藏节点,并且“r”被生成。“n”、“u”和“r”被输入到第三隐藏节点,并且“t”被生成。“n”、“u”、“r”和“t”被输入到第四隐藏节点,并且“u”被生成。“n”、“u”、“r”、“t”和“u”被输入到第五隐藏节点,并且“r”被生成。“n”、“u”、“r”、“t”、“u”和“r”被输入到第五隐藏节点,并且“e”被生成。在此,子解码器505可比主解码器503相对更快地生成标记序列517“nurture”。
“nurture”被输入到主解码器503。在将生成的标记序列“nurture”输入到主解码器503之前,语言处理设备100可再次执行难度验证,并且可验证在“nurture”之后生成标记序列的难度大于阈值。因为针对“nurture”的难度大于阈值,所以主解码器503代替子解码器505生成“a”。
然后,在将生成的标记序列“nurture a”输入到主解码器503之前,语言处理设备100再次执行难度验证,并且可验证在“nurture a”之后生成标记序列的难度小于或等于阈值。因为针对“nurture a”的难度小于或等于阈值,所以语言处理设备100使用子解码器505’来执行解码。这里,子解码器505’可以是与子解码器505不同的子解码器或者与子解码器505相同的子解码器。
“a”被输入到子解码器505’的第一隐藏节点,并且“n”被生成。“a”和“n”被输入到第二隐藏节点,并且“d”被生成。子解码器505’可比主解码器503相对更快地生成标记序列519“and”。然后,语言处理设备100通过这个处理生成标记序列515“nurture and.”。因此,与图4相似,图5还通过虚线示出的主解码器503的解码操作,通过子解码器505和子解码器505’的可选择的批量解码,这些解码操作被跳过,因此,还可选择地表示:如果指示通过子解码器505和子解码器505’针对“n”以及针对“nurture a”执行批量解码操作的验证操作已经失败,则主解码器503将顺序地解码对应的标记中的每个。
图6A是示出使用NRNN以及束搜索算法的语言处理方法的示例的示图。
参照图6A,语言处理设备100在保持多个束的同时针对每个束执行语言处理。通过执行多个语言处理过程,语言处理设备100可获得更多样化的候选文本,并生成更准确的目标文本。
在一个示例中,语言处理设备100可针对预设数量的束节点中的每个生成前缀标记,并针对束节点中的每个使用跳过模型来生成标记序列。语言处理设备100可在包括针对束节点中的每个获得的前缀标记和标记序列的候选文本之中确定目标文本。
例如,如示出的,语言处理设备100将源文本611 输入到编码器601。编码器601生成指示源文本611的信息的向量作为上下文信息613(例如,如示出的[-1.424,0.234,…,1.523,-0.02345])。
主解码器603接收针对两个束615和617中的每个的上下文信息613,并针对束615和617中的每个生成多个候选文本。语言处理设备100计算在束615和617中的每个中生成的多个不完整的候选文本中的每个的概率,选择具有最大概率的两个候选文本并将选择的候选文本分别分配给束615和束617。语言处理设备100生成多个候选文本,在该多个候选文本中,跟随针对束615和束617选择的候选文本中的每个候选文本的标记被组合。语言处理设备100重复在前面描述的这样的处理,直到语言处理设备100输出最终目标文本为止。
主解码器603确定每个束中的每个标记是否满足预设条件。在跳过模型是字典的情况下,预设条件可以是这样的条件:当前缀标记是y1,…,yt-1时,标记序列是yt的概率大于或等于X。在束617中,当“We inform y”是前缀标记并且标记序列是“you”的概率大于或等于X时,“you”可被立即生成。
图6B是示出使用跳过模型的字典和NRNN以及束搜索算法的语言处理方法的示例的示图。
参照图6B,语言处理设备100使用编码器621接收源文本631 编码器621将源文本631转换为上下文信息633。
语言处理设备100对两个束623和625中的每个执行语言处理。语言处理设备100从上下文信息633针对束623和束625分别生成候选文本635和候选文本637。在此,语言处理设备100可通过使用跳过模型减少用于生成候选文本635和候选文本637的时间量。
例如,如示出的,因为当在束623中前缀标记是n、u、r时,跟随的标记序列为s、e的概率0.6(即,Pdict(s,e|n,u,r)=0.6)大于或等于预设阈值0.09,所以语言处理设备100立即一次生成标记序列。类似地,因为当在束625中前缀标记是n、u、r时,跟随的标记序列是t、u、r、e的概率0.1(即,Pdict(t,u,r,e|n,u,r)=0.1)大于或等于阈值0.09,所以语言处理设备100立即一次生成标记序列。
例如,如示出的,语言处理设备100使用字典641验证“nurse”的两个初始标记的概率是0.2和0.4。语言处理设备100使用字典641验证“nurture”的两个初始标记的概率是0.03和0.06。然而,在单个束中执行语言处理的情况下,因为“nurse”的两个初始标记的概率更大,所以仅“nurse”可被生成为候选文本。
然而,由于语言处理设备100可使用束表643,在保持至少两个束的同时执行语言处理,因此可执行更加准确的解码。例如,如示出的,语言处理设备100在各个束中保持“nurse”和“nurture”的同时执行语言处理。然后,语言处理设备100最终验证“nurse”的概率是0.02并且“nurture”的概率是0.72。在此,当存在三个束时,语言处理设备100可验证“nurt”的概率是0.63。
然后,语言处理设备100验证“nurture”的最终概率是最大的。如上所述,语言处理设备100可执行多个语言处理过程,从而生成具有目标文本是正确答案的更大的概率的目标文本。
图6C是示出通过使用束搜索算法的语言处理方法获得的结果的示例的示图。
参照图6C,语言处理设备100在保持多个不完整的候选文本的同时,将具有最大概率的候选文本最终确定为目标文本。
例如,如示出的,当与源文本650相关联的上下文信息被输入到解码器时,对四个束中的每个执行解码处理。在此,虽然在第一标记表651中标记“N”具有最大概率0.78,但是四个束被保持,因此前四个标记“N”、“R”、“G”和“Y”被存储在第一标记表651中。随后,在若干顺序的解码之后,在第四标记表653中,不完整的候选文本“Rais”具有最大概率0.74。
在此,当仅一个束被保持在第四标记表653中时,如在第五标记表657中所示,仅“Rais”可被用作前缀标记。然而,当所有的四个束被保持时,如在第五标记表655中所示,所有的“Rais”、“Nurt”、“Grow”和“You M”可被用作前缀标记。
基于最终概率,在第五标记表655中“Nurture”以最大概率0.85被生成。此外,在第五标记表657中,“Raise”以最大概率0.74被生成。由于当标记表具有各种不同的、不相似的表述时高准确的目标文本被最终生成的概率增加,所以语言处理设备100可使用束搜索算法输出更准确的目标文本。
图7时示出语言处理设备的示例的示图。
参照图7,语言处理设备700包括至少一个处理器701、基于神经网络的编码器703、基于神经网络的主解码器705以及被配置为生成包括至少两个连续的标记的标记序列的跳过模型707。在一个示例中,语言处理设备700可以是神经形态芯片(neuromorphic chip),其表示通过被配置为执行这样的神经网络操作的电路来实现的芯片。在一个示例中,处理器701可对应于这样的神经形态芯片或电路。语言处理设备700还可包括输入和输出(I/O)接口709。编码器703和主解码器705中的每个可以是NRNN。例如,可诸如通过加载编码器703和主解码器705或者包括编码器703和主解码器705二者的翻译器模型神经网络的非循环神经网络部分的各个NRNN的对应的训练参数,和/或通过加载如字典的跳过模型或如神经网络的跳过模型的参数,实施分别加载的参数并执行如上所述的这样的训练、推理、编码、解码、选择性的批量解码和对应的束搜索操作的任意一个或任意组合,处理器701可被分别配置为或包括或实现编码器703、主解码器705和/或跳过模型707中的每个。
处理器701使用编码器703从源文本生成上下文信息。在编码器703是NRNN的情况下,处理器701可通过对源文本执行并行编码来生成上下文信息。
处理器701使用主解码器705从上下文信息生成前缀标记。尽管主编码器705是NRNN,但是在推理操作期间预先不知道目标文本,因此通过主解码器705以序列的次序来生成将被包括在目标文本中的标记。
响应于前缀标记满足预设条件,处理器701使用跳过模型707生成跟随前缀标记的标记序列。跳过模型707可包括在其中多个词以字母次序排列的字典。跳过模型707可包括基于神经网络的子解码器。因此,包括多个标记的标记序列可被一次生成,因此主解码器705的解码步骤处理的数量可被减少。处理器701输出前缀标记和标记序列被组合的目标文本。
响应于前缀标记不满足预设条件,处理器701使用主解码器705生成跟随前缀标记的标记。在此,在没有跳过模型707的情况下可通过基于NRNN的解码器的解码获得的相同的结果可被生成。
通过硬件组件来实现在此针对图1和图7描述的语言处理设备以及其他设备、单元、模块、装置和其他组件。可用于执行在本申请中描述的操作的硬件组件的示例在适当的情况下包括:控制器、传感器、生成器、驱动器、存储器、比较器、算术逻辑单元、加法器、减法器、乘法器、除法器、积分器和被配置为执行在本申请中描述的操作的任何其他电子组件。在其他示例中,执行在本申请中描述的操作的硬件组件中的一个或多个通过计算硬件(例如,通过一个或多个处理器或计算机)来实现。可通过一个或多个处理元件(诸如,逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微型计算机、可编程逻辑控制器、现场可编辑门阵列、可编程逻辑阵列、微处理器)或被配置为以限定的方式响应并执行指令来实现期望的结果的任何其他装置或装置的组合,来实现处理器或计算机。在一个示例中,处理器或计算机包括或连接到存储由处理器或计算机执行的指令或软件的一个或多个存储器。由处理器或计算机实现的硬件组件可执行指令或软件(诸如,操作系统(OS)和在OS上运行的一个或多个软件应用),以执行在本申请中描述的操作。硬件组件还可响应于指令或软件的执行,访问、操纵、处理、创建和存储数据。为了简明,单数术语“处理器”或“计算机”可用于本申请中描述的示例的描述中,但在其他示例中,多个处理器或多个计算机可被使用,或者一个处理器或一个计算机可包括多个处理元件或多种类型的处理元件或者两者。例如,可通过单个处理器或者两个或更多个处理器或者一个处理器和一个控制器,来实现单个硬件组件或者两个或更多个硬件组件。可通过一个或多个处理器或者一个处理器和一个控制器,来实现一个或多个硬件组件,并且可通过一个或多个其他处理器、或者另一处理器和另一控制器,来实现一个或多个其他硬件组件。一个或多个处理器、或者一个处理器和一个控制器可实现单个硬件组件、或者两个或更多个硬件组件。硬件组件可具有任意一个或多个不同的处理配置,不同的处理配置的示例包括:单处理器、独立处理器、并行处理器、单指令单数据(SISD)多处理、单指令多数据(SIMD)多处理、多指令单数据(MISD)多处理以及多指令多数据(MIMD)多处理。
通过计算硬件(例如,通过一个或多个处理器或计算机)来执行对本申请中描述的操作进行执行的图2、图3A和图3B、图4、图5以及图6A至图6C中示出的方法,其中,计算硬件被实现为如上所述地执行指令或软件,以执行在本申请中描述的由所述方法所执行的操作。例如,单个操作或者两个或更多个操作可通过单个处理器或者两个或更多个处理器或者一个处理器和一个控制器来执行。一个或多个操作可通过一个或多个处理器或者一个处理器和一个控制器来执行,且一个或多个其他操作可通过一个或多个其他处理器或者另一处理器和另一控制器来执行。一个或多个处理器或者一个处理器和一个控制器可执行单个操作、或者两个或更多个操作。
用于控制处理器或计算机实现硬件组件并执行如上所述的方法的指令或软件被编写为计算机程序、代码段、指令或它们的任意组合,以单独地或共同地指示或配置处理器或计算机按照机器或专用计算机那样进行操作,以执行由硬件组件和如上所述的方法执行的操作。在一个示例中,指令或软件包括直接由处理器或计算机执行的机器代码(诸如,由编译器产生的机器代码)。在另一示例中,指令或软件包括由处理器或计算机使用解释器执行的高级代码。本领域的普通编程人员可基于附图中示出的框图和流程图以及说明书中的相应描述容易地编写指令或软件,其中,附图中示出的框图和流程图以及说明书中的相应描述公开了用于执行由硬件组件和如上所述的方法执行的操作的算法。
用于控制处理器或计算机实现硬件组件并执行如上所述的方法的指令或软件以及任何相关联的数据、数据文件和数据结构被记录、存储或固定在一个或多个非暂时性计算机可读存储介质中或一个或多个非暂时性计算机可读存储介质上。非暂时性计算机可读存储介质的示例包括:只读存储器(ROM)、随机存取可编程只读存储器(PROM)、电可擦除可编程只读存储器(EEPROM)、随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、闪存、非易失性存储器、CD-ROM、CD-R、CD+R、CD-RW、CD+RW、DVD-ROM、DVD-R、DVD+R、DVD-RW、DVD+RW、DVD-RAM、BD-ROM、BD-R、BD-R LTH、BD-RE、蓝光或光盘存储、硬盘驱动器(HDD)、固态驱动器(SSD)、卡型存储器(诸如,多媒体微型卡或者卡(例如,安全数字(SD)或者极速卡(XD)))、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘、以及任何其他装置,该任何其他装置被配置为以非暂时方式存储指令或软件以及任何相关联的数据、数据文件和数据结构,并向处理器或计算机提供指令或软件以及任何相关联的数据、数据文件和数据结构,使得处理器或计算机能够执行指令。
虽然本公开包括具体的示例,但是在理解本申请的公开之后将清楚,在不脱离权利要求和它们的等同物的精神和范围的情况下,可在这些示例中做出形式上和细节上的各种改变。在此描述的示例将被认为仅是描述性的,而不是为了限制的目的。每一示例中的特征或方面的描述将被认为可适用于其他示例中的相似特征或方面。如果描述的技术以不同的顺序被执行,和/或如果描述的系统、架构、装置或电路中的组件以不同方式被组合,和/或被其他组件或它们的等同物替换或补充,则可实现合适的结果。因此,本公开的范围不是由具体实施方式限定,而是由权利要求和它们的等同物限定,并且在权利要求和它们的等同物的范围内的所有变化将被解释为包括在本公开中。
Claims (18)
1.一种使用神经网络的语言处理方法,所述语言处理方法包括:
使用基于神经网络的编码器,从源文本获得上下文信息;
使用基于神经网络的主解码器,从上下文信息生成前缀标记;
基于预设条件来确定是否使用跳过模型来执行批量解码,其中,响应于前缀标记满足预设条件,使用跳过模型一次生成包括跟随前缀标记的至少两个连续标记的标记序列;
基于前缀标记和标记序列,输出目标文本。
2.根据权利要求1所述的语言处理方法,其中,响应于前缀标记不满足预设条件,使用主解码器生成跟随前缀标记的标记。
3.根据权利要求1所述的语言处理方法,其中,跳过模型包括多个词以字母次序排列的字典。
4.根据权利要求3所述的语言处理方法,其中,预设条件包括这样的条件:标记序列跟随前缀标记的概率大于或等于阈值。
5.根据权利要求1所述的语言处理方法,其中,跳过模型包括基于神经网络的子解码器。
6.根据权利要求5所述的语言处理方法,其中,预设条件包括这样的条件:生成标记序列的难度小于或等于阈值。
7.根据权利要求1所述的语言处理方法,其中,生成前缀标记的步骤包括:
针对预设数量的束节点中的每个生成前缀标记,
其中,生成标记序列的步骤包括:
针对所述束节点中的每个使用跳过模型生成标记序列。
8.根据权利要求7所述的语言处理方法,其中,输出目标文本的步骤包括:
在包括针对所述束节点中的每个生成的前缀标记和标记序列的候选文本之中,确定目标文本。
9.根据权利要求1所述的语言处理方法,其中,主解码器包括第一隐藏节点和第二隐藏节点,跳过模型包括第三隐藏节点和第四隐藏节点,
其中,第一隐藏节点被配置为接收前缀标记,并且第三隐藏节点生成标记序列,第二隐藏节点被配置为当由第四隐藏节点生成标记序列之后的标记不满足第二预设条件时接收前缀标记和标记序列,以生成下一前缀标记。
10.根据权利要求5所述的语言处理方法,其中,子解码器包括第三隐藏节点,
其中,第三隐藏节点被配置为接收前缀标记并生成标记序列。
11.根据权利要求1所述的语言处理方法,其中,标记包括字符、词或句子。
12.根据权利要求1所述的语言处理方法,其中,目标文本对应于源文本的翻译结果。
13.根据权利要求1所述的语言处理方法,其中,目标文本是生成与源文本对应的目标语言的结果。
14.一种存储指令的非暂时性计算机可读存储介质,其中,当所述指令被处理器执行时,使得处理器执行权利要求1所述的语言处理方法。
15.一种语言处理设备包括:
至少一个处理器;
基于神经网络的编码器;
基于神经网络的主解码器;
跳过模型,被配置为:一次生成包括至少两个连续的标记的标记序列,
其中,所述至少一个处理器被配置为:
使用编码器从源文本生成上下文信息;
使用主解码器从上下文信息生成前缀标记;
基于预设条件来确定是否使用跳过模型来执行批量解码,其中,响应于前缀标记满足预设条件,使用跳过模型一次生成跟随前缀标记的标记序列;
基于前缀标记和标记序列,输出目标文本。
16.根据权利要求15所述的语言处理设备,其中,处理器还被配置为:响应于前缀标记不满足预设条件,使用主解码器生成跟随前缀标记的标记。
17.根据权利要求15所述的语言处理设备,其中,跳过模型包括多个词以字母次序排列的字典。
18.根据权利要求15所述的语言处理设备,其中,跳过模型包括基于神经网络的子解码器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2017-0165397 | 2017-12-04 | ||
KR1020170165397A KR102424514B1 (ko) | 2017-12-04 | 2017-12-04 | 언어 처리 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109871529A CN109871529A (zh) | 2019-06-11 |
CN109871529B true CN109871529B (zh) | 2023-10-31 |
Family
ID=64453415
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810522423.8A Active CN109871529B (zh) | 2017-12-04 | 2018-05-28 | 语言处理方法和设备 |
Country Status (5)
Country | Link |
---|---|
US (1) | US11017777B2 (zh) |
EP (1) | EP3493119A1 (zh) |
JP (1) | JP7171367B2 (zh) |
KR (1) | KR102424514B1 (zh) |
CN (1) | CN109871529B (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP3563302A1 (en) | 2017-04-20 | 2019-11-06 | Google LLC | Processing sequential data using recurrent neural networks |
US11449762B2 (en) | 2018-02-20 | 2022-09-20 | Pearson Education, Inc. | Real time development of auto scoring essay models for custom created prompts |
EP3756148A4 (en) * | 2018-02-20 | 2021-11-17 | Pearson Education, Inc. | SYSTEMS AND PROCEDURES FOR THE AUTOMATIC EVALUATION OF MODEL ADAPTATIONS |
US10929607B2 (en) * | 2018-02-22 | 2021-02-23 | Salesforce.Com, Inc. | Dialogue state tracking using a global-local encoder |
KR102025566B1 (ko) * | 2018-07-27 | 2019-09-26 | 엘지전자 주식회사 | 인공지능을 이용한 홈어플라이언스 및 음성 인식 서버 시스템과, 이의 제어 방법 |
US11270084B2 (en) * | 2018-10-12 | 2022-03-08 | Johnson Controls Tyco IP Holdings LLP | Systems and methods for using trigger words to generate human-like responses in virtual assistants |
CN111428516B (zh) * | 2018-11-19 | 2022-08-19 | 腾讯科技(深圳)有限公司 | 一种信息处理的方法以及装置 |
US11393487B2 (en) * | 2019-03-28 | 2022-07-19 | Samsung Electronics Co., Ltd. | System and method for acoustic echo cancelation using deep multitask recurrent neural networks |
CN111988609A (zh) * | 2019-05-22 | 2020-11-24 | 富士通株式会社 | 图像编码装置、概率模型生成装置和图像解码装置 |
CN110489762B (zh) * | 2019-06-26 | 2023-07-04 | 中译语通科技股份有限公司 | 基于神经网络机器翻译的术语翻译方法、存储介质和装置 |
US11126797B2 (en) * | 2019-07-02 | 2021-09-21 | Spectrum Labs, Inc. | Toxic vector mapping across languages |
CN110503940B (zh) * | 2019-07-12 | 2021-08-31 | 中国科学院自动化研究所 | 语音增强方法、装置、存储介质、电子设备 |
CN112242959B (zh) * | 2019-07-16 | 2022-10-14 | 中国移动通信集团浙江有限公司 | 微服务限流控制方法、装置、设备及计算机存储介质 |
CN110570838B (zh) * | 2019-08-02 | 2022-06-07 | 北京葡萄智学科技有限公司 | 语音流处理方法和装置 |
CN112509570B (zh) * | 2019-08-29 | 2024-02-13 | 北京猎户星空科技有限公司 | 语音信号处理方法、装置、电子设备及存储介质 |
CN110543644B (zh) * | 2019-09-04 | 2023-08-29 | 语联网(武汉)信息技术有限公司 | 包含术语翻译的机器翻译方法、装置与电子设备 |
CN111063365B (zh) * | 2019-12-13 | 2022-06-07 | 北京搜狗科技发展有限公司 | 一种语音处理方法、装置和电子设备 |
CN111209740B (zh) * | 2019-12-31 | 2023-08-15 | 中移(杭州)信息技术有限公司 | 文本模型训练方法、文本纠错方法、电子设备及存储介质 |
CN113205795A (zh) * | 2020-01-15 | 2021-08-03 | 普天信息技术有限公司 | 多语种混说语音的语种识别方法及装置 |
CN111310449B (zh) | 2020-01-23 | 2021-01-26 | 北京百度网讯科技有限公司 | 基于语义表示的文本生成方法和装置 |
US20220019609A1 (en) * | 2020-07-14 | 2022-01-20 | Thomson Reuters Enterprise Centre Gmbh | Systems and methods for the automatic categorization of text |
CN111862956B (zh) * | 2020-07-27 | 2022-07-12 | 腾讯科技(深圳)有限公司 | 一种数据处理方法、装置、设备及存储介质 |
CN111984783B (zh) * | 2020-08-28 | 2024-04-02 | 达闼机器人股份有限公司 | 文本生成模型的训练方法、文本生成方法及相关设备 |
CN112270316B (zh) * | 2020-09-23 | 2023-06-20 | 北京旷视科技有限公司 | 文字识别、文字识别模型的训练方法、装置和电子设备 |
US11875141B2 (en) * | 2020-11-20 | 2024-01-16 | Infosys Limited | System and method for training a neural machine translation model |
CN114898754B (zh) * | 2022-07-07 | 2022-09-30 | 北京百度网讯科技有限公司 | 解码图生成、语音识别方法、装置、电子设备及存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835888A (en) * | 1996-06-10 | 1998-11-10 | International Business Machines Corporation | Statistical language model for inflected languages |
JP2005063030A (ja) * | 2003-08-08 | 2005-03-10 | Ricoh Co Ltd | 概念表現方法、概念表現生成方法及び概念表現生成装置並びに該方法を実現するプログラム及び該プログラムが記録された記録媒体 |
WO2005111824A2 (en) * | 2004-05-19 | 2005-11-24 | Silverkite Inc. | Method and system for processing of text content |
CN104041053A (zh) * | 2011-11-08 | 2014-09-10 | 三星电子株式会社 | 用于视频的算术编码的方法和装置以及用于视频的算术解码的方法和装置 |
US9026432B2 (en) * | 2007-08-01 | 2015-05-05 | Ginger Software, Inc. | Automatic context sensitive language generation, correction and enhancement using an internet corpus |
CN106126507A (zh) * | 2016-06-22 | 2016-11-16 | 哈尔滨工业大学深圳研究生院 | 一种基于字符编码的深度神经翻译方法及系统 |
US9779085B2 (en) * | 2015-05-29 | 2017-10-03 | Oracle International Corporation | Multilingual embeddings for natural language processing |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5787393A (en) | 1992-03-30 | 1998-07-28 | Seiko Epson Corporation | Speech recognition apparatus using neural network, and learning method therefor |
US6408272B1 (en) | 1999-04-12 | 2002-06-18 | General Magic, Inc. | Distributed voice user interface |
US7219058B1 (en) | 2000-10-13 | 2007-05-15 | At&T Corp. | System and method for processing speech recognition results |
US7224981B2 (en) | 2002-06-20 | 2007-05-29 | Intel Corporation | Speech recognition of mobile devices |
US7769580B2 (en) | 2002-12-23 | 2010-08-03 | Loquendo S.P.A. | Method of optimising the execution of a neural network in a speech recognition system through conditionally skipping a variable number of frames |
JP2004280467A (ja) | 2003-03-14 | 2004-10-07 | Nippon Hoso Kyokai <Nhk> | 翻訳装置、翻訳方法、及びそのプログラム |
US7904298B2 (en) * | 2006-11-17 | 2011-03-08 | Rao Ashwin P | Predictive speech-to-text input |
US8478578B2 (en) | 2008-01-09 | 2013-07-02 | Fluential, Llc | Mobile speech-to-speech interpretation system |
US9626429B2 (en) | 2010-11-10 | 2017-04-18 | Nuance Communications, Inc. | Text entry with word prediction, completion, or correction supplemented by search of shared corpus |
EP2661705A4 (en) | 2011-01-05 | 2016-06-01 | Google Inc | METHOD AND SYSTEM FOR FACILITATING TEXT INPUT |
US8898065B2 (en) | 2011-01-07 | 2014-11-25 | Nuance Communications, Inc. | Configurable speech recognition system using multiple recognizers |
US8700552B2 (en) | 2011-11-28 | 2014-04-15 | Microsoft Corporation | Exploiting sparseness in training deep neural networks |
US9584802B2 (en) * | 2012-04-13 | 2017-02-28 | Texas Instruments Incorporated | Reducing context coded and bypass coded bins to improve context adaptive binary arithmetic coding (CABAC) throughput |
KR101609184B1 (ko) | 2014-05-27 | 2016-04-06 | 네이버 주식회사 | 사전 기능을 제공하는 방법과 시스템, 그리고 기록 매체 및 파일 배포 시스템 |
KR102239714B1 (ko) * | 2014-07-24 | 2021-04-13 | 삼성전자주식회사 | 신경망 학습 방법 및 장치, 데이터 처리 장치 |
WO2016065327A1 (en) * | 2014-10-24 | 2016-04-28 | Google Inc. | Neural machine translation systems with rare word processing |
KR102305584B1 (ko) * | 2015-01-19 | 2021-09-27 | 삼성전자주식회사 | 언어 모델 학습 방법 및 장치, 언어 인식 방법 및 장치 |
CN106156010B (zh) | 2015-04-20 | 2019-10-11 | 阿里巴巴集团控股有限公司 | 翻译训练方法、装置、系统、以及在线翻译方法及装置 |
US10019438B2 (en) * | 2016-03-18 | 2018-07-10 | International Business Machines Corporation | External word embedding neural network language models |
US9858263B2 (en) * | 2016-05-05 | 2018-01-02 | Conduent Business Services, Llc | Semantic parsing using deep neural networks for predicting canonical forms |
US11238348B2 (en) * | 2016-05-06 | 2022-02-01 | Ebay Inc. | Using meta-information in neural machine translation |
US11080591B2 (en) * | 2016-09-06 | 2021-08-03 | Deepmind Technologies Limited | Processing sequences using convolutional neural networks |
KR102342066B1 (ko) * | 2017-06-21 | 2021-12-22 | 삼성전자주식회사 | 뉴럴 네트워크 모델을 이용한 기계 번역 방법, 장치 및 그 장치를 학습시키기 위한 방법 |
-
2017
- 2017-12-04 KR KR1020170165397A patent/KR102424514B1/ko active IP Right Grant
-
2018
- 2018-05-28 CN CN201810522423.8A patent/CN109871529B/zh active Active
- 2018-08-22 US US16/108,717 patent/US11017777B2/en active Active
- 2018-10-26 JP JP2018201883A patent/JP7171367B2/ja active Active
- 2018-11-22 EP EP18207882.4A patent/EP3493119A1/en active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835888A (en) * | 1996-06-10 | 1998-11-10 | International Business Machines Corporation | Statistical language model for inflected languages |
JP2005063030A (ja) * | 2003-08-08 | 2005-03-10 | Ricoh Co Ltd | 概念表現方法、概念表現生成方法及び概念表現生成装置並びに該方法を実現するプログラム及び該プログラムが記録された記録媒体 |
WO2005111824A2 (en) * | 2004-05-19 | 2005-11-24 | Silverkite Inc. | Method and system for processing of text content |
US9026432B2 (en) * | 2007-08-01 | 2015-05-05 | Ginger Software, Inc. | Automatic context sensitive language generation, correction and enhancement using an internet corpus |
CN104041053A (zh) * | 2011-11-08 | 2014-09-10 | 三星电子株式会社 | 用于视频的算术编码的方法和装置以及用于视频的算术解码的方法和装置 |
US9779085B2 (en) * | 2015-05-29 | 2017-10-03 | Oracle International Corporation | Multilingual embeddings for natural language processing |
CN106126507A (zh) * | 2016-06-22 | 2016-11-16 | 哈尔滨工业大学深圳研究生院 | 一种基于字符编码的深度神经翻译方法及系统 |
Non-Patent Citations (2)
Title |
---|
Neural Machine Translation of Rare Words with Subword Units.《Computer Science》.2016,第1卷第1715一1725页. * |
Rajen Chatterjee ET AL.Guiding Neural Machine Translation Decoding with External Knowledge.《Conference on Machine Translation》.2017,第1卷第157-168页. * |
Also Published As
Publication number | Publication date |
---|---|
KR20190065842A (ko) | 2019-06-12 |
CN109871529A (zh) | 2019-06-11 |
JP7171367B2 (ja) | 2022-11-15 |
US20190172466A1 (en) | 2019-06-06 |
US11017777B2 (en) | 2021-05-25 |
EP3493119A1 (en) | 2019-06-05 |
JP2019102067A (ja) | 2019-06-24 |
KR102424514B1 (ko) | 2022-07-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109871529B (zh) | 语言处理方法和设备 | |
US11030414B2 (en) | System and methods for performing NLP related tasks using contextualized word representations | |
JP7158598B2 (ja) | コモンセンス説明を生成するための言語モデルの利用 | |
US11562147B2 (en) | Unified vision and dialogue transformer with BERT | |
Kiperwasser et al. | Simple and accurate dependency parsing using bidirectional LSTM feature representations | |
US11972365B2 (en) | Question responding apparatus, question responding method and program | |
CN105679317B (zh) | 用于训练语言模型并识别语音的方法和设备 | |
US11568000B2 (en) | System and method for automatic task-oriented dialog system | |
US11494647B2 (en) | Slot filling with contextual information | |
US11640505B2 (en) | Systems and methods for explicit memory tracker with coarse-to-fine reasoning in conversational machine reading | |
KR20190101567A (ko) | 기계 독해에 기초한 질의 응답 장치 및 이를 이용한 질의 응답 방법 | |
CN111401084A (zh) | 一种机器翻译的方法、设备以及计算机可读存储介质 | |
US20230306961A1 (en) | Decoding method and apparatus in artificial neural network for speech recognition | |
CN111192576A (zh) | 解码方法、语音识别设备和系统 | |
CN110895928A (zh) | 语音识别方法和设备 | |
EP3809405A1 (en) | Method and apparatus for determining output token | |
CN114072816A (zh) | 用于神经主题建模中的多视图和多源迁移的方法和系统 | |
CN108229677B (zh) | 用于使用循环模型执行识别和训练循环模型的方法和设备 | |
CN111104800B (zh) | 一种实体识别方法、装置、设备、存储介质和程序产品 | |
US20230034414A1 (en) | Dialogue processing apparatus, learning apparatus, dialogue processing method, learning method and program | |
CN112364659B (zh) | 一种无监督的语义表示自动识别方法及装置 | |
CN111241843B (zh) | 基于复合神经网络的语义关系推断系统和方法 | |
CN111611796A (zh) | 下位词的上位词确定方法、装置、电子设备及存储介质 | |
US20220335332A1 (en) | Method and apparatus for self-training of machine reading comprehension to improve domain adaptation | |
KR20230078933A (ko) | 패러렐 디코딩 기반의 정보세트 추출방법 및 이를 수행하는 컴퓨팅 시스템 |
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 |