用于处理自然语言以及训练自然语言模型的方法和设备与流程

文档序号:14519075阅读:206来源:国知局
用于处理自然语言以及训练自然语言模型的方法和设备与流程
相关申请的交叉引用本申请要求于2016年11月16日在韩国知识产权局提交的第10-2016-0152712号韩国专利申请的权益,所述专利申请的全部公开为了所有的目的通过引用合并于此。下面的描述涉及一种用于处理自然语言的方法和设备。
背景技术
:语音识别是一种识别用户的语音或言语的技术。在语音识别中,人类语音被转换为文本。然而,响应于在语音识别期间不能被正确地识别的词语被发音,在所述语音的识别以及所述语音向准确文本的转换期间产生错误。技术实现要素:提供本
发明内容以用于以简化的形式介绍对在下面的详细描述中将被进一步地描述的构思的选择。本
发明内容不旨在确定所要求保护的主题的关键特征或基本特征,本
发明内容也不旨在被用于帮助确定所要求保护的主题的范围。根据实施例,可提供一种自然语言处理方法,包括:将通过语音识别识别出的句子数据中的词语转换为相应的词向量;将句子数据中的字符转换为相应的字符向量;基于所述词向量和所述字符向量来产生句子向量;以及基于所述句子向量来确定所述句子数据的意图信息。产生句子向量的步骤可包括:通过将每个词语的词向量和每个词语中的每个字符的字符向量进行连接来产生每个词语的连接向量;以及通过连接句子数据中的词语的相应的连接向量来产生所述句子向量。将句子数据中的词语转换为相应的词向量的步骤可包括:响应于未标记的词语在句子数据中的词语之中,将与未标记的词语相应的词语转换为与未知的词向量相应的词向量。确定所述句子数据的意图信息的步骤可包括:计算从所述句子向量确定的多条候选意图信息中的每一条的概率;以及基于所计算的所述多条候选意图信息中的每一条的概率来在所述多条候选意图信息中确定所述意图信息。确定所述句子数据的意图信息的步骤可包括:基于所述句子数据中的错误词语的连接向量来确定与所述错误词语相应的目标词语;以及将所述错误词语识别为目标词语,其中,所述错误词语的连接向量可通过连接所述错误词语的词向量和所述错误词语中的每个字符的字符向量来产生。响应于所述错误词语是未标记的词语,所述错误词语的词向量与未知的词向量相应。所述意图信息可以是由接收所述句子向量的自然语言处理模型产生的。响应于所述自然语言处理模型接收到包括通过将噪声施加到第一词语而产生的第二词语的训练数据,所述自然语言处理模型可被训练为将第二词语识别为第一词语。第二词语可通过将第一词语中的一部分字符改变为其他字符,或者将另一字符添加到第一词语来产生。所述自然语言处理方法还可包括:接收语音信号;从接收的语音信号提取特征;通过声学模型从提取的特征识别音素序列;并且通过经由语言模型从音素序列识别词语来产生所述句子数据。根据另一实施例,可提供一种训练方法,包括:通过将噪声施加到句子数据中的词语来产生改变的词语;将所述改变的词语和可不施加噪声的另一词语转换为相应的词向量;将所述改变的词语中的字符和所述另一词语中的字符转换为相应的字符向量;以及基于所述词向量和所述字符向量来产生句子向量。产生句子向量的步骤可包括:通过将所述改变的词语的词向量和所述改变的词语中的每个字符的字符向量进行连接来产生所述改变的词语的连接向量;通过将所述另一词语的词向量和所述另一词语中的每个字符的字符向量进行连接来产生所述另一词语的连接向量;以及通过将所述改变的词语的连接向量和所述另一词语的连接向量进行连接来产生所述句子向量。所述改变的词语可以是通过将所述词语中的字符改变为另一字符,或者将另一字符添加到所述词语中而产生的。产生改变的词语的步骤可包括:基于标准在所述词语中的字符中确定将被改变的字符;从词典选择另一字符;以及用所选择的另一字符替换所确定的字符。所述标准可以是基于所述词语的长度、将被改变的字符的数量和将被改变的每个字符的位置确定的。响应于所述改变的词语是未标记的词语,所述改变的词语的词向量与未知的词向量相应。所述训练方法还可包括:从句子数据中的多个词语随机选择所述词语。所述训练方法还可包括:基于所述句子向量来训练基于神经网络的自然语言处理模型。根据实施例,可提供一种自然语言处理设备,包括:控制器;存储器,包括可由所述控制器执行的至少一个指令,其中,响应于所述指令被所述控制器执行,所述控制器可被配置为将通过语音识别识别出的句子数据中的词语转换为相应的词向量,将所述句子数据中的字符转换为相应的字符向量,基于所述词向量和所述字符向量产生句子向量,以及基于所述句子向量确定所述句子数据的意图信息。根据另一实施例,可提供一种训练设备,包括:控制器;以及存储器,包括可由所述控制器执行的至少一个指令,其中,响应于所述指令被所述控制器执行,所述控制器可被配置为通过将噪声施加到句子数据中的词语来产生改变的词语,将所述改变的词语和可不施加噪声的另一词语转换为词向量,将所述改变的词语中的字符和所述另一词语中的字符转换为相应的字符向量,并基于所述词向量和所述字符向量产生句子向量。根据另一实施例,可提供一种训练方法,包括:随机地选择句子数据中的词语,并将噪声施加到所选择的词语以产生改变的词语;将所述改变的词语和可不施加噪声的另一词语转换为相应的词向量,其中,响应于所述改变的词语是不可识别的词语,所述改变的词语可被转换为未知的词向量;将所述改变的词语中的字符和所述另一词语中的字符转换为相应的字符向量;通过将所述改变的词语的相应的词向量或未知的词向量和所述改变的词语中的字符的字符向量进行连接来产生所述改变的词语的连接向量;通过将所述另一词语的相应的词向量和所述另一词语中的字符的字符向量进行连接来产生所述另一词语的连接向量;以及通过将所述改变的词语的连接向量和所述另一词语的连接向量进行连接来产生句子向量。所述训练设备还可被配置为使用所述句子向量来训练自然语言处理模型。所述训练设备通过对所述句子数据执行正演计算来训练所述自然语言处理模型以确定包括所述改变的词语的句子数据的意图信息。所述训练设备可基于所述改变的词语的连接向量或所述改变的词语中的每个字符的字符向量训练所述自然语言处理模型来执行正演计算以将所述改变的词语识别为目标词语。根据另一实施例,提供一种训练设备,包括:噪声施加器,被配置为随机地选择句子数据中的词语,并将噪声施加到所选择的词语以产生改变的词语;词语嵌入器,被配置为将所述改变的词语和可不施加噪声的另一词语转换为相应的词向量,其中,响应于所述改变的词语是不可识别的词语,词语嵌入器将所述改变的词语转换为未知的词向量;字符嵌入器,被配置为将所述改变的词语中的字符和所述另一词语中的字符转换为相应的字符向量;以及组合器,被配置为通过将所述改变的词语的相应的词向量或未知的词向量和所述改变的词语中的每个字符的字符向量进行连接来产生所述改变的词语的连接向量,通过将所述另一词语的相应的词向量和所述另一词语中的每个字符的字符向量进行连接来产生所述另一词语的连接向量,并通过将所述改变的词语的连接向量和所述另一词语的连接向量进行连接来产生句子向量。从下面的详细的描述、附图和权利要求中,其他特征和方面将是显而易见的。附图说明图1是示出自然语言处理设备的示例的示图;图2是示出语音识别器的示例的示图;图3是示出自然语言分析器的示例的示图;图4是示出用于产生句子向量的方法的示例的示图;图5是示出训练设备的示例的示图;图6是示出用于施加噪声的方法的示例的示图;图7至图9是示出自然语言处理模型的示例的示图;图10是示出自然语言处理方法的示例的流程图;图11是示出自然语言处理方法的另一示例的流程图;图12是示出自然语言处理设备的另一示例的示图;图13是示出训练设备的另一示例的示图。贯穿附图和详细的描述,除非另有说明或提供,否则相同的附图参考标号将被理解为表示相同的元素、特征和结构。为清楚、图解以及方便起见,附图可以不是按比例的,并且附图中的元素的相对尺寸、比例以及描述可被夸大。具体实施方式提供下面的详细描述以帮助读者获得对本文描述的方法、设备和/或系统的全面理解。然而,在理解本申请的公开之后,本文描述的方法、设备和/或系统的各种改变、修改和等同物将是显而易见的。例如,本文描述的操作顺序仅是示例,并不限于本文所阐述的那些,而是除了必须按特定顺序发生的操作之外可被改变,正如在理解本申请的公开之后将是显而易见的。此外,为了更加清楚和简洁,可以省略对本领域的已知的特征的描述。本文描述的特征可以以不同的形式被实现,并且不应被解释为限于本文所述的示例。相反,提供本文中描述的示例仅是为了说明实现本文描述的方法、设备和/或系统的许多可能的方式中的一些,这在理解本申请的公开之后将是显而易见的。这里可以使用诸如第一、第二、a、b、(a)、(b)等的术语来描述组件。这些术语中的每一个不被用于限定相应的组件的本质、顺序或序列,而仅用于将相应的组件与其他组件相区分。例如,第一组件可以被称作第二组件,并且类似地,第二组件也可以被称作第一组件。应当注意,如果在本说明书中描述一个组件被“连接”、“耦合”或“结合”到另一组件,则第三组件可以被“连接”、“耦合”和“结合”在第一组件和第二组间之间,尽管第一组件可以被直接连接、耦合或结合到第二组件。此外,应当注意,如果在说明书中描述一个组件被“直接连接”或“直接结合”到另一组件,则第三组件不能出现在它们二者之间。类似地,例如“在...之间”和“紧邻在...之间”以及“与...相邻”和“与...紧邻”的表述也可以如上所述被解释。本文使用的术语仅是为了描述特定实施例的目的,而不意图限制。如本文所使用的,除非上下文另有明确指示,否则单数形式也意图包括复数形式。还将进一步理解,术语“包括”、“包括...的”、“包含”和/或“包含...的”在本文中被使用时指明描述的特征、整体、操作、元件和/或组件的存在,而不排除一个或更多个其他特征、整体、操作、元件、组件和/或其组合的存在或者添加。除非另有定义,否则基于对本公开的理解,本文使用的包括技术和科学术语的所有术语具有与本公开所属领域的普通技术人员通常理解的含义相同的含义。诸如通用词典中定义的术语应被解释为具有与它们在相关领域和本公开的语境中的含义一致的含义,并且不被解释为理想的或过于形式的意义,除非在本文中被这样明确地定义。图1是示出自然语言处理设备的示例的示图。参照图1,自然语言处理设备100包括语音识别器110和自然语言分析器120。自然语言处理设备100接收语音信号。自然语言处理设备100可被配置为处理器或服务器,并通过用户终端和网络从用户接收语音信号。例如,自然语言处理设备100可从用户终端接收“向我父亲发送照片”的语音信号。语音识别器110通过语音识别识别语音信号来产生句子数据。例如,语音识别器110通过经由语音识别识别语音信号“向我的父亲发送照片”而将语音信号的句子数据产生为“向我的父亲发送照片”。将参照图2对语音识别器110进行更详细地描述。自然语言分析器120从语音识别器110接收句子数据。自然语言分析器120对句子数据执行语素分析、语法分析、语义分析或话语分析中的至少一种。通过这样的分析,自然语言分析器120确定句子数据的意图信息。例如,自然语言分析器120通过分析句子数据“向我的父亲发送照片”来确定句子数据的意图信息意味“向我的父亲的终端发送照片”。例如,术语“发送”被分析为意味或指向“检索和传送”我父亲的照片。在语音识别器110由于环境噪声、低量值语音信号或其他问题而无法准确地识别语音信号的示例中,自然语言分析器120预测产生的句子数据的意图信息。例如,自然语言分析器120预测包括错误词语的句子数据的意图信息,其中,所述错误词语是由于语音识别器110的不准确识别而产生的词语。将参照图3对自然语言分析器120进行更详细地描述。自然语言分析器120基于意图信息产生结果信息。例如,在自然语言分析器120分析句子数据“向我的父亲发送照片”并且将句子数据的意图信息确定为“向我的父亲的终端发送照片”的情况下,自然语言分析器120产生与“向我的父亲的终端发送照片”相应的控制信号。自然语言处理设备100发送产生的结果信息。例如,自然语言处理设备100将与“向我的父亲的终端发送照片”相应的控制信号发送到用户终端。通过基于控制信号的操作,用户终端随后产生或将照片输出到用户的父亲的终端。图2是示出语音识别器的示例的示图。参照图2,语音识别器200包括特征提取器210、声学模型220、解码器230和语言模型240。语音识别器200接收语音信号作为输入。在图2所示的示例中,语音识别器200接收语音信号“whereisafrenchrestaurant?”特征提取器210从语音信号中提取特征或特征向量。特征提取器210使用例如线性预测编码(lpc)方法或梅尔频率倒谱系数(mfcc)方法从语音信号提取特征或特征向量。声学模型220从所述特征识别音素。声学模型220可以是例如基于动态时间规整(dtw)的声学模型和基于隐马尔可夫模型(hmm)的声学模型。然而,声学模型220不限于上述的示例。解码器230通过经由语言模型240从所述音素识别词语来产生句子数据。语言模型240可以是例如n-gram语言模型和基于神经网络的模型。然而,语言模型240不限于上述的示例。由于噪声或其他环境因素的影响,语音识别器200可能不能准确地识别语音信号。也就是说,可能会产生语音识别错误。例如,语音识别器200可能不能准确地识别语音信号“whereisafrenchrestaurant?”,而是,可能产生句子数据“whereisafranchrestaurant?”。句子数据“whereisafranchrestaurant?”包括错误词语或在词语“franch”中包括错误。在这样的示例中,可能不能准确地确定句子数据的意图信息。自然语言分析器(将在图3中被示出和描述)预测句子数据“whereisafranchrestaurant?”的意图信息是正在寻找一家法国餐厅。将参照图3对自然语言分析器进行更详细地描述。图3是示出自然语言分析器的示例的示图。参照图3,自然语言分析器300包括向量转换器310和自然语言处理模型320。自然语言分析器300从语音识别器(诸如,针对图2示出和描述的语音识别器200)接收句子数据。在图3所示的示例中,自然语言分析器300从语音识别器接收句子数据“whereisafranchrestaurant?”向量转换器310将句子数据中的词语转换为相应的词向量。例如,向量转换器310使用词语嵌入将句子数据“whereisafranchrestaurant?”中的例如“where”、“is”、“a”、“franch”和“restaurant”的每个词语转换为词向量。词向量可以是实数向量。词向量可以是例如独热向量或分布向量。句子数据可包括未标记的词语。未标记的词语表示未被定义向量的词语。响应于句子数据包括这样的未标记的词语,向量转换器310将未标记的词语处理为“未知的”。例如,在“franch”是未标记的词语的情况下,向量转换器310将“franch”处理为“未知的”,并将“franch”转换为相应于“未知的”的词向量。与未知相应的词向量也被称为与未知的词向量相应的词向量。未知的词向量表示常数向量或预定义向量,例如,[0,0,0,0,0,0,0,1]。然而,未知的词向量不限于上述的示例。词向量被表示为[词语]。表1示出句子数据“whereisafranchrestaurant?”中的每个词语的词向量。表1词语词向量where[where]is[is]a[a]franch[franch]restaurant[restaurant]向量转换器310将句子数据的字符转换为相应的字符向量。例如,向量转换器310使用字符嵌入将句子数据“whereisafranchrestaurant?”中的每个字符例如“w”、“h”、“e”、“r”、“e”、...、“r”、“e”、“s”、“t”、“a”、“u”、“r”、“a”、“n”和“t”转换为字符向量。字符向量可以是实数或字母-数字向量。字符向量可以是例如独热向量或分布向量。字符向量被表示为[字符]。表2示出句子数据“whereisafranchrestaurant?”中的每个字符的字符向量。表2字符字符向量w[w]h[h]e[e]……f[f]r[r]a[a]n[n]……a[a]n[n]t[t]向量转换器310基于词向量和字符向量产生句子数据的句子向量。在一个示例中,向量转换器310通过将句子数据中的每个词语的词向量和包括在句子数据中的词语中的每个字符的字符向量进行连接来产生连接向量。向量转换器310通过连接句子数据中的词语的相应的连接向量来产生句子向量。将参照图4对产生句子向量的操作进行更详细地描述。向量转换器310将句子向量输入到自然语言处理模型320。自然语言处理模型320可以是基于神经网络的模型。将通过训练或学习而被优化的连接权重应用于自然语言处理模型320。当自然语言处理模型320接收句子向量作为输入时,自然语言处理模型320通过对句子向量执行正演计算来确定句子数据的意图信息。正演计算表示沿着自然语言处理模型320的输入层→中间层→输出层的方向执行的计算。通过正演计算,在输出层产生句子数据的意图信息。在一个示例中,句子数据可包括错误词语。如果是这种情况,则自然语言处理模型320通过对包括错误词语的句子数据的句子向量执行正演计算来确定包括错误词语的句子数据的意图信息。自然语言处理模型320基于错误词语的连接向量或包括在错误词语中的每个字符的字符向量来执行正演计算。自然语言处理模型320通过正演计算将错误词语识别为与错误词语相应的目标词语。此外,自然语言处理模型320通过将错误词语识别为目标词语来确定句子数据的意图信息。例如,自然语言处理模型320接收包括错误词语“franch”的句子数据“whereisafranchrestaurant?”的句子向量。自然语言处理模型320基于对句子数据“whereisafranchrestaurant?”的句子向量执行的正演计算从错误词语“franch”的连接向量[franch][f][r][a][n][c][h]预测“french”的连接向量[french][f][r][e][n][c][h]。在本示例中,在[franch]是与未知的词向量相应的词向量的情况下,自然语言处理模型320从包括在错误词语“franch”中的字符的字符向量的连接[f][r][a][n][c][h]预测“french”的连接向量[french][f][r][e][n][c][h]。虽然在下文中进行描述,但是自然语言处理模型320包括使用包括施加了噪声的一个词语或多个词语的训练数据预先训练的模型。因此,自然语言处理模型320从[franch][f][r][a][n][c][h]或[f][r][a][n][c][h]预测[french][f][r][e][n][c][h]。自然语言处理模型320通过这样的预测来确定与“franch”相应的目标词语为“french”。自然语言处理模型320将“franch”识别为“french”。自然语言处理模型320通过将“franch”识别为“french”来确定句子数据“whereisafranchrestaurant?”的意图信息为“搜索法国餐厅”。将参照图7对训练自然语言处理模型320的操作进行更详细地描述。根据实施例,自然语言处理模型320计算从句子向量确定的多条候选意图信息中的每一条的概率。自然语言处理模型320基于所述多条候选意图信息中的每一条的概率来在所述多条候选意图信息中确定所述句子数据的意图信息。例如,自然语言处理模型320将具有最高概率的候选意图信息确定为句子数据的意图信息。在句子数据中包括错误词语的情况下,当错误词语被识别为目标词语时确定的候选意图信息可具有最高概率。自然语言处理模型320将所述候选意图信息确定为句子数据的意图信息。自然语言分析器300产生与意图信息相应的结果信息。例如,自然语言分析器300产生用于“搜索法国餐厅”的控制信号。此外,自然语言分析器300将错误词语替换为目标词语。自然语言分析器300产生与意图信息相应的句子数据。例如,自然语言分析器300通过用“french”替换“franch”来产生与意图信息相应的句子数据“whereisafrenchrestaurant?”。也就是说,自然语言分析器300将输入的句子数据中的错误词语改正为目标词语。自然语言分析器300将结果信息发送到发送语音信号的用户终端。根据一个示例,自然语言分析器300对于语音识别中的噪声或错误是强健的,并且提高了处理在将语音信号转换为文本数据时可能发生的错误的准确性。图4是示出用于产生句子向量的方法的示例的示图。参照图4,针对图3描述的向量转换器(向量转换器310)为在句子数据410“whereisafranchrestaurant?”中识别的每个词语产生相应的连接向量,例如,连接向量420、421、422、423和424。向量转换器通过连接[where]、[w]、[h]、[e]、[r]和[e]来产生“where”的连接向量420。如所示,“where”的连接向量420是[where][w][h][e][r][e]。根据实施例,“where”的连接向量420可以是[w][h][e][r][e][where]或[w][where][h][e][r][e]。然而,“where”的连接向量420并不限于上述的示例。类似地,向量转换器产生在句子数据410“whereisafranchrestaurant?”中识别的剩余词语的连接向量421、422、423和424。在一个示例中,如上所述,响应于“franch”是未标记的词语或不可识别的词语,向量转换器将“franch”转换为与未知的词向量相应的词向量。向量转换器通过将与未知的词向量相应的词向量和与“franch”中的每个字符相应的字符向量进行连接来产生“franch”的连接向量423。句子数据410“whereisafranchrestaurant?”中的词语的相应的连接向量420至424在图4中被示出。向量转换器通过连接句子数据410“whereisafranchrestaurant?”中的词语的连接向量420至424来产生句子向量430。如图4中所示,向量转换器产生句子数据410“whereisafranchrestaurant?”的句子向量430,例如,[where][w][h][e][r][e]…[franch][f]…[restaurant]…[a][n][t]。然而,句子数据410“whereisafranchrestaurant?”的句子向量430不限于上述的示例。此外,尽管句子数据410中的一个词语是未标记的词语或不可识别的词语,但句子数据410可包括多个未标记的词语或不可识别的词语。图4中还示出了实数向量440。实数向量440是表示句子向量430的不同形式的向量。图5是示出训练设备的示例的示图。参照图5,训练设备500包括噪声施加器510、词语嵌入器520、字符嵌入器530、组合器540和自然语言处理模型550。例如,将句子数据“searchingforafrenchfoodrecipe”输入到训练设备500。所述句子数据作为训练数据被输入到训练设备500。噪声施加器510通过对句子数据中的词语施加噪声来产生改变的词语。噪声施加器510在句子数据中的多个词语中随机地选择至少一个词语,并对所选择的词语施加噪声。也就是说,噪声施加器510将噪声注入到句子数据中。例如,噪声施加器510可从句子数据“searchingforafrenchfoodrecipe,”中选择“french”和“recipe”,并将噪声施加到“french”和“recipe”。作为对所选择的词语施加噪声的结果,位于“french”中的第三个字符“e”可被改变为“a”,从而可产生改变的词语“franch”。类似地,作为对所选择的词语施加噪声的结果,位于“recipe”中的第六个字符“e”可被改变为“i”,从而可产生改变的词语“recipi”。将参照图6对施加噪声的操作进行更详细地描述。例如,词语嵌入器520通过词语嵌入将改变的词语转换为词向量。在一个示例中,在改变的词语是未标记的或不可识别的词语的情况下,词语嵌入器520将改变的词语处理为“未知的”,并将改变的词语转换为未知的词向量。词语嵌入器520将未被施加噪声的另一词语转换为词向量。例如,词语嵌入器520将“searching”、“for”、“a”和“food”中的每一个转换为词向量[searching]、[for]、[a]和[food]。在句子数据中的一个或更多个其他词语是未标记的词语或不可识别的词语的情况下,词语嵌入器520将句子数据中的所述一个或更多个其他词语转换为未知的词向量。字符嵌入器530将包括在改变的词语中的字符和包括所述一个或更多个未被施加噪声的其他词语中的字符转换为相应的字符向量。例如,字符嵌入器530将包括在“franch”中的字符“f”、“r”、“a”、“n”、“c”和“h”分别转换为字符向量[f]、[r]、[a]、[n]、[c]和[h]。此外,字符嵌入器530将包括在“recipi”中的字符“r”、“e”、“c”、“i”、“p”和“i”分别转换为字符向量[r]、[e]、[c]、[i]、[p]和[i]。类似地,字符嵌入器530将包括在“searching”、“for”和“food”中的每一个的每个字符转换为相应的字符向量。组合器540基于改变的词语的相应的词向量和未被施加噪声的所述一个或更多个其他词语的相应的词向量以及包括在改变的词语和所述一个或更多个其他词语中的字符的相应的字符向量来产生句子向量。在一个示例中,组合器540通过将改变的词语的词向量和包括在改变的词语中的每个字符的字符向量进行连接来产生改变的词语的连接向量。此外,组合器540通过将所述其他词语中的每一个词语的词向量和包括在所述其他词语中的每一个词语中的每个字符的字符向量进行连接来产生所述其他词语中的每一个词语的连接向量。组合器540通过将改变的词语的连接向量和所述其他词语中的每一个词语的连接向量进行连接来产生句子向量。例如,组合器540通过将改变的词语“franch”的连接向量和另一词语的连接向量进行连接来产生句子向量,例如,[searching][s]…[franch][f][r][a]…[recipe]…[i][p][e]。另外,组合器540通过将改变的词语“recipi”的连接向量和另一词语的连接向量进行连接来产生句子向量,例如[searching][s]…[french][f][r][e]…[recipi]…[i][p][i]。参照图4对产生句子向量的操作进行描述,因此,为了简洁起见,这里省略了更详细且重复的描述。由组合器540产生的句子向量与包括噪声的句子数据或包括被施加了噪声的词语的句子数据相应。例如,句子向量[searching][s]…[franch][f][r][a]…[recipe]…[i][p][e]可与“searchingforafranchfoodrecipe.”相应。另外,句子向量[searching][s]…[french][f][r][e]…[recipi]…[i][p][i]可与“searchingforafrenchfoodrecipi.”相应。也就是说,可产生与输入到训练设备500的句子数据不同的另一句子数据,例如,“searchingforafranchfoodrecipe”和“searchingforafrenchfoodrecipe”。训练设备500使用句子向量训练自然语言处理模型550。也就是说,训练设备500通过包括噪声的句子数据来训练自然语言处理模型550。通过这样的训练,自然语言处理模型550变得对噪声更加强健,并且在错误词语被包括在句子数据中的情况下,提高处理错误词语的准确性。将参照图7对训练自然语言处理模型550的操作进行更详细地描述。图6是示出施加噪声的方法的示例的示图。如参照图5所述,噪声施加器从句子数据选择至少一个词语。例如,噪声施加器随机地选择至少一个词语。另外,噪声施加器对所选择的词语施加噪声。在一个示例中,噪声施加器基于预定或预定义的标准来确定包括在所选择的词语中的字符中的将被改变的字符。所述预定义的标准将是基于对特定语言(例如,英语)中的典型错误或特定词语的发音错误执行的统计分析的。此外,所述预定义的标准将考虑典型的发音错误是否是由儿童、成人或对英语语言陌生的人员执行。所述预定义的标准还将考虑被认为影响数据的捕获的环境因素,诸如,风、背景噪声或雨。噪声施加器从预定的词典选择字符,并用所选择的字符替换所确定的字符。表3示出了所述标准。然而,所述标准不限于表3中所示的示例。表3在图6中所示的示例中,噪声施加器从“searchingforafrenchfoodrecipe.”选择“french”和“recipe”。“french”的长度为6,因此,噪声施加器通过参照表3随机地选择“french”的第三位置,并确定将被改变的字符是与“french”第三位置相应的“e”。此外,“recipe”的长度为6,因此,噪声施加器通过参照表3随机地选择“recipe”的第六位置,并确定将被改变的字符是与“recipe”的第六位置相应的“e”。噪声施加器从词典选择字符“a”,并通过用所选择的字符“a”替换从“french”确定的字符“e”来产生改变的词语“franch”。此外,噪声施加器从词典选择字符“i”,并通过用所选择的字符“i”替换从“recipe”确定的字符“e”来产生改变的词语“recipi”。根据实施例,噪声施加器将从词典选择的字符添加到从句子数据选择的词语。例如,噪声施加器通过将从词典选择的字符“a”添加到紧邻与“french”的最后位置相应的字符“h”的位置来产生改变的词语“frencha”。此外,噪声施加器通过将从词典中选择的字符“i”添加到紧邻与“recipie”的第五位置相应的字符“p”的位置来产生改变的词语“recipie”。参照图6描述的施加噪声的操作仅作为示例被提供,因此,施加噪声的操作不限于上述示例。图7至图9是示出自然语言处理模型的示例的示图。参照图7,自然语言处理模型是基于神经网络700的模型。神经网络700包括多个层。神经网络包括例如输入层710、隐藏层720和输出层730。根据实施例,神经网络700包括多个隐藏层。层710至层730中的每一层包括至少一个人工神经元。层710至层730中的每一层的人工神经元通过连接线被连接到相邻层的至少一个人工神经元。连接线具有连接权重。当输入数据被输入到自然语言处理模型时,执行正演计算,并在输出层730中产生输出值。当输入数据沿着输入层710→隐藏层720→输出层730的方向被传递时,连接权重被相乘或相加。因此,输出值在输出层730中产生。训练设备通过反向传播学习训练自然语言处理模型。反向传播学习表示计算参考值和输出值之间的误差,沿神经网络700的输出层730→隐藏层720→输入层710的方向传播误差并更新连接权重以减少误差的方法。例如,在句子向量[searching][s]…[franch][f][r][a][n][c][h]…[recipe]…[i][p][e]被输入到自然语言处理模型以及参考概率作为参考值被输入到自然语言处理模型的情况下,自然语言处理模型通过对输入的句子向量执行正演计算来产生输出值。在示例中,参考概率是已知值。训练设备计算指示输出值与参考概率之间的差的误差。训练设备沿输出层730→隐藏层720→输入层710的方向传播误差,并且更新连接权重以减少误差。训练设备通过重复执行正演计算和反向传播学习来训练自然语言处理模型。此外,训练设备在训练过程中确定“franch”和“french”是否出现在同一文档(例如,在线新闻文章)中,并且/或者确定是否存在“franch”被表述为“french”的情况。在“franch”和“french”出现在同一文档中或“franch”被表述为“french”的情况下,训练设备训练自然语言处理模型以允许自然语言处理模型从”franch“的连接向量预测“french“的连接向量。也就是说,训练设备训练自然语言处理模型以使得自然语言处理模型将“franch”识别为“french”。自然语言处理模型也可以是基于递归神经网络(rnn)的模型。在下文中,将参照图8和图9对rnn进行描述。参照图8,rnn800是包括在不同时间段内的隐藏节点之间的循环连接(recurrentconnection)的神经网络。与一般神经网络不相似,rnn800使用对输入序列进行处理的内部存储器。先前时间段810中的隐藏节点的输出被连接到当前时间段820中的隐藏节点。当前时间段820中的隐藏节点的输出被连接到随后时间段830中的隐藏节点。例如,如图8和图9所示,先前时间段810中的第一隐藏节点811、当前时间段820中的第二隐藏节点821和随后时间段830中的第三隐藏节点831如图9所示被连接。参照图9,第一隐藏节点811的输出被输入到第二隐藏节点821,第二隐藏节点821的输出被输入到第三隐藏节点831。训练设备计算指示rnn800的输出值与参考概率之间的差的误差,并通过经由沿时间反向传播(bptt,backpropagationthroughtime)方法对所述误差进行反向传播来训练自然语言处理模型。根据实施例,自然语言处理模型是基于卷积神经网络(cnn)的模型。通过参照图7至图9描述的训练过程训练的自然语言处理模型可将“franch”识别为“french”。因此,自然语言处理模型确定不能被准确地识别出的“whereisafranchrestaurant?"的意图信息是“搜索法国餐厅."。图10是示出自然语言处理方法的示例的流程图。在下文中将参照图10描述的自然语言处理方法由结构自然语言处理设备执行。参照图10,在操作1010中,自然语言处理设备将通过语音识别识别出的句子数据中的词语转换为相应的词向量。在操作1020中,自然语言处理设备将句子数据的字符转换为相应的字符向量。在操作1030中,自然语言处理设备基于词向量和字符向量产生句子数据的句子向量。在操作1040中,自然语言处理设备基于句子向量来确定句子数据的意图信息。参照图1至图9提供的描述可应用于参考图10描述的操作,因此,为了简洁起见,这里省略更详细和重复的描述。图11是示出训练方法的示例的流程图。这里将参照图11描述的训练方法由训练设备执行。参照图11,在操作1110中,训练设备通过对句子数据中的词语施加噪声来产生改变的词语。将句子数据作为训练数据输入到训练设备。在操作1120中,训练设备将改变的词语和未被施加噪声的另一词语转换为相应的词向量。在操作1130中,训练设备将包括在改变的词语中的字符和包括在未被施加噪声的另一词语中的字符转换为相应的字符向量。在操作1140中,训练设备基于词向量和字符向量来产生句子向量。参照图1至图10提供的描述可应用于参照图11描述的操作,因此为了简洁起见,这里省略更详细和重复的描述。图12是示出自然语言处理设备的另一示例的示图。参照图12,自然语言处理设备1200包括控制器1210和存储器1220。上述语音识别器和/或自然语言分析器可由控制器1210来实现。控制器1210将通过语音识别识别出的句子数据中的词语转换为相应的词向量。控制器1210将句子数据的字符转换为相应的字符向量。控制器1210基于词向量和字符向量来产生句子数据的句子向量。控制器1210基于句子向量来确定句子数据的意图信息。存储器1220存储与控制器1210和/或自然语言处理模型的操作相关联的至少一个指令。参照图1至图11提供的描述可应用于图12所示的示例。因此,为了简洁起见,这里省略更详细和重复的描述。图13是示出训练设备的另一示例的示图。参照图13,训练设备1300包括控制器1310和存储器1320。参照图5和图6描述的噪声施加器、词语嵌入器、字符嵌入器和/或组合器可由控制器1310来实现。控制器1310通过对句子数据中的词语施加噪声来产生改变的词语。控制器1310将改变的词语和未被施加噪声的另一词语转换为相应的词向量。控制器1310将包括在改变的词语中的字符和包含在未施加噪声的另一词语中的字符转换为相应的字符向量。控制器1310基于词向量和字符向量来产生句子向量。存储器1320存储与控制器1310的操作相关联的至少一个指令。参照图1至图12提供的描述可应用于图13所示的示例,因此,为了简洁起见,这里省略更详细和重复的描述。在图1、图2、图3、图5、图12和13中示出的执行本文针对图4、图6、图10和图11描述的操作的设备、识别器、施加器、嵌入器、分析器、提取器、模型、转换器、模块、装置和其他组件由硬件组件来实施。硬件组件的示例包括控制器、传感器、产生器、驱动器以及本领域普通技术人员已知的任何其它电子组件。在一个示例中,硬件组件由一个或更多个处理器或计算机来实施。处理器或计算机由一个或更多个处理元件(诸如,逻辑门阵列、控制器和算术逻辑单元、数字信号处理器、微计算机、可编程逻辑控制器、现场可编程门阵列、可编程逻辑阵列、微处理器或本领域普通技术人员已知的任何其他装置或装置的组合)来实施,其中,所述一个或更多个处理元件能够以定义的方式响应并执行指令以取得期望的结果。在一个示例中,处理器或计算机包括或被连接到存储由处理器或计算机执行的指令或软件的一个或更多个存储器。由处理器或计算机实现的硬件组件执行指令或软件(诸如,操作系统(os)和在os上运行的一个更或多个软件应用)以执行本文针对图4、图6、图10和图11描述的操作。硬件组件还可响应于指令或软件的执行来访问、操纵、处理、创建和存储数据。为了简单起见,在本文描述的示例的描述中可以使用单数术语“处理器”或“计算机”,而在其它示例中,使用多个处理器或计算机,或者处理器或计算机包括多个处理元件或多种类型的处理元件或其两者。在一个示例中,硬件组件包括多个处理器,并且在另一示例中,硬件组件包括处理器和控制器。硬件组件具有不同处理配置中的任意一个或更多个配置,所述处理配置的示例包括单个处理器、独立处理器、并行处理器、单指令单数据(sisd)多处理、单指令多数据(simd)多处理、多指令单数据(misd)多处理和多指令多数据(mimd)多处理。用于控制处理器或计算机来实现所述硬件组件并执行上述方法的指令或软件被编写为计算机程序、代码段、指令或其任何组合以用于单独地或共同地指示或配置所述处理器或计算机来作为用于执行由所述硬件组件执行的操作和如上所述的方法的机器或专用计算机进行操作。在一个示例中,所述指令或软件包括由处理器或计算机直接执行的机器代码,诸如,由编译器产生的机器代码。在另一示例中,所述指令或软件包括由处理器或计算机使用解释器执行的更高级代码。本领域普通编程者可基于公开了用于执行由所述硬件组件执行的操作以及如上所述的方法的算法的附图中所示的框图和流程图以及说明书中相应的描述来容易地编写所述指令或软件。用于控制处理器或计算机来实现所述硬件组件并执行如上所述的方法的指令或软件以及任何相关联的数据、数据文件和数据结构被记录、存储或固定在一个或更多个非暂时性计算机可读存储介质中或者一个或更多个非暂时性计算机可读存储介质上。非暂时性计算机可读存储介质的示例包括只读存储器(rom)、随机存取存储器(ram)、闪速存储器、cd-rom、cd-r、cd+rs、cd-rw、cd+rw、dvd-rom、dvd-r、dvd+r、dvd-rw、dvd+rw、dvd-ram、bd-rom、bd-r、bd-rlth、bd-re、磁带、软盘、磁光数据存储装置、光学数据存储装置、硬盘、固态盘以及本领域普通技术人员已知的能够存以非暂时性方式储指令或软件以及任何相关联的数据、数据文件和数据结构,并将所述指令或软件以及任何相关联的数据、数据文件和数据结构提供给处理器或计算机以使得处理器或计算机能够执行所述指令的任何装置。在一个示例中,所述指令或软件以及任何相关联的数据、数据文件和数据结构分布在联网的计算机系统上以使得所述指令和软件以及任何相关联的数据、数据文件和数据结构被所述处理器或计算机分布式地存储、访问和执行。虽然本公开包括特定示例,但是在理解本申请的公开之后,在不脱离权利要求和它们的等同物的精神和范围的情况下显而易见的是,可以在这些示例中做出形式和细节上的各种改变。这里描述的示例将被理解为仅具有描述性意义,而不是为了限制的目的。每个示例中的特征或方面的描述被认为适用于其他示例中的类似的特征或方面。如果描述的技术以不同的顺序被执行,和/或如果描述的系统、架构、装置或电路中的组件以不同的方式被组合和/或由其他组件或它们的等同物来替代或补充,则可以取得合适的结果。因此,本公开的范围不是由详细的描述而是由权利要求及其等同物限定,并且权利要求及其等同物的范围内的所有变化将被解释为包括在本公开中。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1