HI,欢迎来到起点商标网!
24小时服务QQ:2880605093

经由深度前馈神经网络使用自然语言理解相关知识的语音识别的制作方法

2021-01-28 15:01:50|319|起点商标网
经由深度前馈神经网络使用自然语言理解相关知识的语音识别的制作方法

相关申请的交叉引用

本申请要求2019年5月10日提交的美国临时申请序列号no.62/846,340的权益,该美国申请的公开内容在其整体上通过引用并入本文中。

本公开总体上涉及自动语音识别领域,并且更具体地,涉及改进利用一个或多个语音识别引擎的语音识别系统的操作的系统和方法。



背景技术:

自动语音识别是在广泛的应用中实现人机接口(hmi)的重要技术。特别地,在其中人类用户需要专注于执行任务的情况下,语音识别是有用的,在这种情况下,使用诸如鼠标和键盘的传统输入设备是不方便或不切实际的。例如,车载“信息娱乐”系统、家庭自动化系统以及小型电子移动设备(诸如智能手机、平板电脑和可穿戴计算机)的许多用途可以采用语音识别来接收来自用户的基于语音的命令和其它输入。



技术实现要素:

框架对由一个或多个asr引擎为每个输入语音话语生成的多个假设进行排名。所述框架联合实现了asr改进和nlu。它利用nlu相关知识来促进竞争假设的排名,并且将排名最高的假设作为改进的asr结果与语音话语的nlu结果一起输出。nlu结果包括意图检测结果和槽位填充结果。

该框架包括可以从假设中提取特征的深度前馈神经网络,所述特征被馈送到输入层中,同时来自不同假设的相同类型的特征被连结在一起以促进学习。经由共享的投影矩阵对每个特征类型应用至少两个投影层,以将来自每个假设的特征投影到更小的空间中,并且然后第二常规投影层将来自所有假设的更小空间投影到压缩的表示中。如果一种特征类型的每个假设的特征数量小于阈值,则可以绕过投影层,从而将从所有假设中提取的对应特征直接馈送到内部层中。

当语音话语被不同类型的语音识别引擎解码时,使用语音识别排名和意图检测的联合建模。

该框架提取nlu相关特征。基于每个假设的槽位填充结果提取触发特征。blstm特征表示意图敏感的语句嵌入,其在每个假设的处理期间通过连结nlu模块的解码器中前向和后向lstmrnn的最后状态来获得。

该框架预测竞争假设的排名,并且还生成给定语音话语的nlu结果。nlu结果包括意图检测结果和槽位填充结果。在特征提取期间,由nlu模块处理每个输入假设,从而获得nlu结果。然后该框架预测排名最高的假设,并且输出与该假设相关联的意图检测和槽位填充结果作为输入语音话语的nlu结果。

附图说明

图1是基于语音的系统的框图;

图2是用以对由asr引擎为语音话语生成的假设进行排名的框架的图示;

图3是针对独立编码器/解码器自然语言理解(nlu)模块的框图;

图4是用以执行语音识别以操作计算机化系统的处理的流程图;

图5是被配置成执行语音识别的系统的框图;

图6是训练语音识别的流程图。

具体实施方式

如所要求的那样,本文中公开了本发明的详细实施例;然而,应当理解,所公开的实施例仅仅是本发明的例示,本发明可以以各种各样的并且可替代的形式来体现。各图不一定是按比例绘制的;一些特征可能被放大或缩小以示出特定组件的细节。因此,本文中公开的具体结构和功能细节不应当被解释为限制性的,而是仅仅作为用于教导本领域技术人员以不同方式采用本发明的代表性基础。

本文中可以使用术语“基本上”来描述所公开的或所要求保护的实施例。术语“基本上”可以修改在本公开中所公开的或所要求保护的值或相对特性。在这样的情况下,“基本上”可以表示其修改的值或相对特性在所述值或相对特性的±0%、0.1%、0.5%、1%、2%、3%、4%、5%或10%之内。

为了促进对本文中公开的实施例的原理的理解,现在参考以下书面说明书中的附图和描述。所述参考并不旨在限制主题的范围。本公开还包括对图示的实施例的任何变更和修改,并且包括本公开所关联领域的技术人员通常会想到的对所公开实施例的原理的进一步应用。

语音识别系统可以使用所训练的语音识别引擎将来自用户的所记录的口语输入转换成适用于在计算机化系统中处理的数字数据。语音引擎可以执行自然语言理解技术以识别用户说出的词,并从词中提取语义含义来控制计算机化系统的操作。

在一些情况下,当用户执行不同的任务时,单个语音识别引擎对于识别来自用户的语音而言可能不是最佳的。一些解决方案试图组合多个语音识别系统来提高语音识别的准确性,包括选择来自声学模型、不同的语音识别模型的低级输出,或者基于预定的排名处理选择来自不同的语音识别引擎的整个输出集。然而,来自多个语音识别系统的输出的低级组合并不保留高级语言信息。在其它实施例中,多个语音识别引擎生成完整的语音识别结果,但是在多个语音识别引擎的输出中选择哪个语音识别结果的确定处理也是一个具有挑战性的问题。因此,改进语音识别系统,提高从来自多个语音识别引擎的候选语音识别结果集合中选择语音识别结果的准确性,将是有益的。

如本文中所使用的,术语“语音识别引擎”指代数据模型和可执行程序代码,其使得计算机化系统能够基于经由麦克风或其它音频输入设备接收的口语词的所记录的音频输入数据来标识来自操作者的口语词。语音识别系统通常包括在声音记录中识别人类语音的单个声音的较低级的声学模型和基于来自预定语言的声学模型的声音序列识别词和语句的较高级的语言模型。本领域已知的语音识别引擎典型地实现一个或多个统计模型,诸如隐马尔可夫模型(hmm)、支持向量机(svm)、所训练的神经网络或者另外的统计模型,所述模型使用应用于与人类语音相对应的输入数据的特征向量的多个所训练的参数来生成对于所记录的人类语音的统计预测。语音识别引擎使用例如本领域已知的各种信号处理技术来生成特征向量,所述信号处理技术提取所记录的语音信号的属性(“特征”)并将所述特征组织成一维或多维向量,所述向量可以使用统计模型来处理,以标识包括单个词和语句在内的各种语音部分。语音识别引擎可以产生针对与单个口语音素和更复杂的声音模式(包括口语词和包含相关词序列的语句)相对应的语音输入的结果。

如本文中所使用的,术语“语音识别结果”指代语音识别引擎针对给定输入生成的机器可读输出。结果可以是例如以机器可读格式编码的文本或用作输入以控制自动化系统的操作的另外的编码数据的集合。由于语音识别引擎的统计性质,在一些配置中,语音引擎针对单个输入生成多个潜在的语音识别结果。语音引擎还针对每个语音识别结果生成“置信度得分”,其中置信度得分是基于语音识别引擎的所训练的统计模型的对每个语音识别结果准确的可能性的统计估计。如下面更详细描述的,混合语音识别系统使用由多个语音识别引擎产生的语音识别结果,来生成附加的混合语音识别结果,并最终基于先前产生的多个语音识别结果产生至少一个输出语音识别结果。如本文中所使用的,术语“候选语音识别结果”或者更简单地“候选结果”指代作为来自混合语音识别系统的最终语音识别结果的候选者的语音识别结果,该混合语音识别系统产生多个候选结果并且仅选择所述结果的子集(典型地是一个)作为最终的语音识别结果。在各种实施例中,候选语音识别结果包括来自通用和特定领域语音识别引擎的语音识别结果和系统使用来自多个候选语音识别结果的词生成的混合语音识别结果这两者。

如这里所使用的,术语“通用语音识别引擎”指代一种被训练成从诸如英语、汉语、西班牙语、印地语等自然人类语言中识别大范围的语音的语音识别引擎。通用语音识别引擎基于词的大的词汇表和被训练为广泛覆盖自然语言中的语言模式的语言模型来生成语音识别结果。如本文中所使用的,术语“特定领域语音识别引擎”指代一种被训练为识别特定使用区域或“领域”中的语音输入的语音识别引擎,所述语音输入通常包括有所不同的词汇表和潜在地不同的来自更广泛的自然语言的预期语法结构。针对特定领域的词汇表典型地包括来自更广泛的自然语言的一些术语,但是可以包括整体上范围更窄的词汇表,并且在一些情况下包括自然语言中虽然未被官方识别为官方词汇但是为特定领域所熟知的专门术语。例如,在导航应用中,特定领域语音识别可以识别针对道路、城镇或其它地理称号的术语,这些术语在更通用的语言中典型地不被识别为专有名称。在其它配置中,特定领域使用特定行话集,其对于特定领域而言是有用的,但在更广泛的语言中可能不会被很好地识别。例如,飞行员官方使用英语作为用于交流的语言,但是也使用不是标准英语的一部分的大量特定领域行话词和其它缩写。

如本文中所使用的,术语“触发对”指代两个词,其中的每个可以是词(例如,“播放”)或表示落入预定类别(例如,<歌曲名称>)内的词序列(例如,“扑克脸”)的该预定类别,诸如歌曲的正确名称、人物、位置名称等。当触发对中的词以特定顺序出现在语音识别结果的语句文本内容中的词内时,在其中在音频输入数据中观察到针对触发对a→b的较早的词a的情况下,该触发对中的词与较晚的词b的出现之间具有高度相关性。如在下面更详细描述的,在经由训练处理标识触发对的集合之后,候选语音识别结果的文本中触发词对的出现形成了针对每个候选结果的特征向量的一部分,排名处理使用所述特征向量来对不同的候选语音识别结果进行排名。

本公开对我们先前的工作提供了一种改进,如由美国专利no.10,170,110所标识的那样,该工作使用深度前馈神经网络对由自动语音识别(asr)引擎为语音话语的生成的多个假设进行重新排名,该美国专利的整个公开内容被通过引用并入本文中。在先前的工作中,排名框架利用一个相对简单的神经网络结构,该结构直接从asr结果中提取特征。这里,我们细化了排名框架的神经网络结构,并在至少两个方面利用nlu信息增强排名框架。在一方面,包括nlu信息(例如,槽位/意图信息)以促进asr假设的排名。馈送到神经网络中的nlu信息不仅包括从asr信息中计算出的那些信息,还牵涉与nlu相关的特征,诸如基于槽位的触发特征和表示对槽位/意图敏感的语句嵌入的语义特征。该框架还联合训练具有意图检测的排名任务,目的是使用意图信息来帮助区分假设。在另一方面,该框架不仅输出排名最高的假设作为新的asr结果,而且还输出nlu结果(即,槽位填充结果和意图检测结果)。使得在口语对话系统(sds)中,对话管理组件可以基于所提出的排名框架的输出直接进行后续处理,从而导致在sds中方便地应用该框架。实验数据是从车载信息娱乐系统中收集的,其对由三个不同的asr引擎生成的竞争假设进行了排名。实验结果是令人鼓舞的,其中系统说明了所提出的排名框架的有效性。实验还说明,并入nlu相关特征以及与意图检测进行联合训练这两者都增加了asr假设的排名的准确性。

对asr的改进可以在不同的方向上进行,诸如细化声学/语言模型和采用端到端模式。在这些方向之中,对由(多个)asr引擎生成的假设进行后处理已经成为一种流行的选择,这主要是因为将语言学知识应用于asr假设比应用于解码搜索空间更方便得多。一些后处理方法从asr假设中构建某些混淆网络,并且然后借助于声学/语言学知识来对竞争词进行区分。许多先前的工作使用各种先进的语言模型或辨别模型来对asr假设进行重新评分和排名。还使用基于支持向量机或神经网络编码器的分类器提出了基于成对分类的排名方法。从知识使用的方面来看,先前的asr方法仅利用有限的语言知识,主要是对词序列进行建模或直接从词序列中提取特征。这里,可以示出诸如槽位和意图之类的nlu信息以改进asr。

本公开图示了一种新的神经网络框架,以对针对一个话语的多个假设进行排名。该框架使用所有竞争假设作为输入,并同时预测它们的排名,而不是在排名前对每个假设逐一评分或一次比较两个假设。该框架利用nlu知识,通过利用槽位/意图相关特征进行建模以及利用意图检测进行联合训练来促进排名。

图1描绘了车载信息系统100,其包括诸如平视显示器(hud)120的显示器,或者一个或多个控制台lcd面板124,一个或多个输入麦克风128,以及一个或多个输出扬声器132。lcd显示器124和hcd120至少部分地基于系统100从操作者或车辆的其它乘客接收的语音输入命令来从系统100生成视觉输出响应。控制器148可操作地连接到车载信息系统100中的组件中的每个。在一些实施例中,控制器148连接到附加的组件或合并附加的组件,诸如全球定位系统(gps)接收器152和无线网络设备154(诸如调制解调器),以提供导航以及与外部数据网络和计算设备的通信。

在一些操作模式中,车载信息系统100独立地操作,而在其它操作模式中,车载信息系统100与诸如智能手机、平板电脑、笔记本电脑或其它电子设备之类的移动电子设备170交互。车载信息系统使用有线接口(诸如usb)或无线接口(诸如蓝牙)与智能手机170通信。车载信息系统100提供语音识别用户界面,该语音识别用户界面使得操作者能够使用语音命令来控制智能手机170或另外的移动电子通信设备,这减少了在操作车辆时的注意力分散。例如,车载信息系统100提供语音接口,以使得车辆的乘客(诸如车辆操作者)能够利用智能手机170拨打电话或发送文本消息,而不要求操作者/乘客手持或看着电子设备智能手机170。在一些实施例中,车载系统100向电子设备170提供语音接口,使得电子设备可以启动智能手机170上的应用,并且然后基于语音接口导航应用并将数据输入到应用中。在其它实施例中,车载系统100向车辆提供语音接口,使得可以基于语音接口来调整车辆的操作。例如,语音接口可以调整行驶水平(动力系操作、变速器操作和底盘/悬挂操作),使得车辆从舒适操作模式转换到运动操作模式。在其它实施例中,智能手机170包括诸如gps和无线网络设备之类的各种设备,所述设备补充或替代了容纳在车辆中的设备的功能。

麦克风128根据从车辆操作者或另外的车辆乘客接收的语音输入生成音频数据。控制器148包括:硬件,诸如微处理器、微控制器、数字信号处理器(dsp)、单指令多数据(simd)处理器、专用集成电路(asic)或处理音频数据的其它计算系统;以及将来自麦克风128的输入信号转换成音频输入数据的软件组件。如下面所阐释的,控制器148使用至少一个通用语音识别引擎和至少一个特定领域语音识别引擎以基于音频输入数据生成候选语音识别结果,并且控制器148进一步使用排名器和自然语言理解模块来提高最终语音识别结果输出的准确性。附加地,控制器148包括使得能够生成合成语音或通过扬声器132输出的其它音频的硬件和软件组件。

车载信息系统100使用lcd面板124、投影到挡风玻璃102上的hcd120并且通过位于仪表板108中的量规、指示灯或附加的lcd面板,向车辆操作者提供视觉反馈。当车辆处于运动中时,控制器148可选地停用lcd面板124或者仅通过lcd面板124显示简化的输出,以减少车辆操作者的注意力分散。控制器148使用hud120显示视觉反馈,以使得操作者能够在接收视觉反馈的同时观察车辆周围的环境。控制器148典型地在hud120上与车辆操作者的外围视觉相对应的区域中显示简化的数据,以确保车辆操作者对车辆周围的道路和环境具有无阻挡的视野。

如上所述,hud120在挡风玻璃102的一部分上显示视觉信息。如本文中所使用的,术语“hud”一般指代各种不同的平视显示器设备,包括但不限于包括分离的组合器元件的组合式平视显示器(chud)等。在一些实施例中,hud120显示单色文本和图形,而其它hud实施例包括多色显示器。虽然hud120被描绘为显示在挡风玻璃102上,但是在可替代的实施例中,平视单元与操作者在操作期间穿戴的眼镜、头盔面罩或标线集成在一起。

控制器148包括一个或多个集成电路,所述一个或多个集成电路被配置为中央处理单元(cpu)、图形处理单元(gpu)、微控制器、现场可编程门阵列(fpga)、专用集成电路(asic)、数字信号处理器(dsp)或任何其它合适的数字逻辑设备中的一个或组合。控制器148还包括存储器,诸如固态存储器(例如,随机存取存储器(ram)、只读存储器(rom)等)、磁性数据存储设备或用于存储用于车载信息系统100的操作的编程指令的其它结构。

在操作期间,车载信息系统100从多个输入设备接收输入请求,包括通过麦克风128接收的语音输入命令。特别地,控制器148经由麦克风128从用户接收与语音相对应的音频输入数据。

控制器148包括一个或多个集成电路,所述一个或多个集成电路被配置为中央处理单元(cpu)、微控制器、现场可编程门阵列(fpga)、专用集成电路(asic)、数字信号处理器(dsp)或任何其它合适的数字逻辑设备。控制器148还可操作地连接到存储器160,存储器160包括非易失性的固态或磁性数据存储设备或者诸如随机存取存储器(ram)的易失性数据存储设备,存储器160存储用于车载信息系统100的操作的编程指令。存储器160存储模型数据和可执行程序指令代码,以实现多个语音识别引擎162,实现特征提取器164、自然语言理解单元166和深度神经网络排名器168。虽然图1的实施例包括存储在机动车辆内的系统100的存储器160中的元件,但是在一些实施例中,诸如连接网络的服务器之类的外部计算设备实现了系统100中描绘的特征中的一些或全部。因此,本领域技术人员应当认识到,对包括控制器148和存储器160的系统100的操作的任何引用应当进一步包括系统100的可替代实施例中的服务器计算设备和其它分布式计算组件的操作。

在图1的实施例中,特征提取器164被配置为生成具有与每个候选语音识别结果的内容相对应的多个数字元素的词序列特征,所述候选语音识别结果包括由语音识别引擎162中的一个生成的语音识别结果或者将来自语音识别引擎162中的两个或更多个的词进行组合的混合语音识别结果。另外,特征提取器164还被配置成通过自然语言理解单元166生成自然语言理解特征。特征提取器164生成词序列特征,所述词序列特征包括以下特征中的任何一个或组合的元素:(a)触发对,(b)置信度得分,以及(c)包括具有衰减特征的词袋的单独的词级特征。

图2是对由asr引擎为语音话语生成的假设进行排名的框架200的图示。这里,新的框架借助于nlu相关特征,使用深度前馈神经网络来对由一个或多个asr引擎生成的竞争假设进行排名,不仅输出排名最高的假设作为新的asr结果,而且还输出对应的nlu结果(即,意图检测结果和槽位填充结果)。

所提出的框架是深度前馈神经网络,其从由一个或多个asr引擎为语音话语生成的n个(在我们的系统中,n=10)竞争假设接收输入,并预测针对这些假设的排名结果,可选地一同预测意图检测结果。整体结构如图1中所图示。

从假设中提取的特征被馈送到输入层中,同时来自不同假设的相同类型特征被连结在一起以促进学习。针对一种特征类型,可以从每个假设中提取数百个或更多的特征。我们使用两个投影层来处置这样的特征。针对每种特征类型,首先使用共享投影矩阵将来自每个假设的特征投影到更小的空间中,然后使用第二常规投影层将来自所有假设的这些空间投影到甚至更压缩的表示中。然后,所实现的对于每种类型的特征的表示被连结并且馈送到内部层中,所述内部层是全连接前馈层。在某个特征类型每个假设仅可以生成一个或几个特征(诸如置信度得分特征)的情况下,我们简单地省略针对该特征类型的投影层,并且通过将这些特征与用于其它特征类型的第二投影层连结起来,将从所有假设中提取的对应特征直接馈送到内部层中。

输出层包含两个部分,预测针对输入假设的排名结果的一个主要部分,以及预测意图检测结果的另一个可选部分。主要部分包含n个输出节点,它们以相同的顺序与n个输入假设相对应。softmax激活被用于生成输出值,并且然后相应地基于所述值对假设进行排名。为了有效地对假设进行排名,我们使用与美国专利no.10,170,110中所描述的那些类似的软目标值(而不是独热值(one-hotvalue))以用于进行训练,所述软目标值如下:

其中di是第i个假设与参考语句之间的levenshtein距离。利用该定义,目标分布保留输入假设的排名信息,如果对应的输入假设包含较少的asr误差,则为输出节点生成较高的得分。通过最小化kullback-leibler散度损失,输出分布与目标分布近似。

输出层中的“意图输出”部分是可选的。当意图在我们的实验中可用时,联合训练排名任务和意图检测可以是有益的,因为意图信息可以帮助在假设之间进行区分。对于意图相关输出,节点与可能的意图相对应,被分派有独热目标值(1表示参考意图,0表示其它意图),并且被利用交叉熵损失来进行训练。当利用意图输出时(如在我们的系统中),我们联合训练网络,从而将来自asr排名部分和意图相关部分的成本反向传播到更低的层。

在该系统中,存在从每个输入假设中提取的四种主要类型的特征:触发特征、词袋(bow)特征、双向长短期记忆(blstm)特征和置信度特征。

触发特征用于模拟长距离/灵活距离约束。与美国专利no.10,170,110类似,我们将触发器定义为在同一个语句中的显著相关的一对语言单位,其中语言单位可以是一个词或一个槽位(即,<歌曲名称>)。触发对(例如,“播放”<歌曲名称>)捕获两个单元之间的依赖性,而无论它们在一个语句中相距多远。给定在感兴趣领域中采集的文本语料库,我们首先通过使用槽位替换对应的文本来对其进行处理(例如,使用<歌曲名称>来替换“扑克脸”)。然后,我们基于下面的等式2计算所有可能的触发对的互信息(mi)得分,

其中指代语句中没有出现a/b的事件。然后,选择具有最高mi得分的前n个触发对作为触发特征。

接下来,通过利用nlu模块鲁棒地标识每个假设中的槽位来用于提取词/槽位触发对,以扩展触发特征的特征提取。当从假设中提取触发特征时,使用独立的nlu模块来检测该假设中的槽位。如果在假设中出现触发对,则触发特征的值为1,否则为0。

bow特征包括来自美国专利no.10,170,110的定义。给定一个词典,使用下面的等式(3)来为每个假设计算bow特征的向量,

其中,k是假设中的词的数量,并且是假设中第i个词的独热表示。是一个衰减因子,被设置为0.9。

blstm特征是新的,与每个假设的nlu性质相关。注意,如图4中所描述的,在触发特征的提取中使用的nlu模块利用双向lstmrnn来对每个假设进行编码,其中前向循环神经网络(rnn)和后向循环神经网络这两者的最后状态覆盖整个假设的信息。我们将最后两个状态连结成一个语句嵌入向量,称为blstm特征。因为nlu模块是意图检测和槽位填充的联合模型,所以blstm特征是意图敏感的。

置信度特征包括来自美国专利no.10,170,110的定义。由asr引擎将语句级的置信度得分分派给每个假设,所述假设被直接馈送到内部层中。注意,各种asr引擎可以使用不同的分布来产生置信度得分。当由不同的asr引擎生成输入假设时,对线性回归方法的应用可以用于将置信度得分对准到同一空间中,并且然后使用对准的得分作为置信度特征。

图3是对于利用编码器/解码器神经网络结构的独立自然语言理解(nlu)模块300的框图。在特征提取以及随后的评估中使用的独立nlu模块是使用最先进的方法来实现的,该方法对槽位填充和意图检测进行联合建模。该模块可以采用基于rnn的编码器-解码器结构,使用lstm作为rnn单元。针对每个输入词的预先训练的词嵌入向量可以被馈送到编码器302中。当预定义的名称列表可用时,我们通过向其附加命名实体特征304来进一步增强输入向量。目的在于使用添加的名称信息来促进学习,尤其是用于当训练数据的大小有限并且许多名称仅出现几次或在其中不可见时的情况。对于命名实体特征,它们中的每个与一个名称列表相对应,如果输入的词是该列表中名称的一部分,则设置为1,否则设置为0。对于图3所示出的示例,词“放松”既是歌曲名称又是播放列表名称,因此在命名实体向量304中,这两个对应的特征都被设置为1。使用该信息以及由rnn捕获的上下文知识,即使在训练数据中未看见名称“放松”,nlu模块也可以将“放松”标识为播放列表名称。基于由编码器302为给定输入语句生成的隐藏表示,解码器306然后为给定语句生成nlu结果,预测语句的意图并且检测语句中的槽位。

利用多种不同类型的asr引擎的车载信息娱乐系统被用于评估用于对由多个引擎生成的假设进行排名的框架。车载信息娱乐系统包括诸如驾驶员辅助系统的车辆控制系统。语音训练/调整/测试集被记录在汽车中,所述语音训练/调整/测试集,具有相对较低的噪声条件,来自性别均衡的多个说话者,分别包含9166、1975和2080个话语。每个话语由两个特定领域的asr引擎(分别使用语法和统计语言模型,在分离的领域内数据集上训练)和一个通用云引擎解码。三个引擎(两个特定领域的asr引擎和一个云asr引擎)对于解码具有互补的优势。该处理包括将来自每个引擎的顶级最佳假设馈送到所提出的框架中以进行排名,以及通过将相关特征设置为0来清空用于输入层中允许的额外假设的空间。该系统中牵涉的大多数名称来自16个名称列表,其中的一些很大(例如,歌曲名称列表包含5232个条目)。尽管可以使用其它标记方法,但是40个槽位标记(包括电话号码、频率等,以及没有预定义列表的项目)是遵循iob模式创建的,并且使用了89个不同的意图(例如,“调谐射频”)。

独立的nlu模块是利用参考语句训练的。glove:词表示的全局向量版本100d被用作用于每个输入词的词嵌入。命名实体向量是基于给定的名称列表构建的。nlu模块被训练,然而,由于观察到注意力机制在asr假设方面的益处有限并且出于效率考虑,没有使用注意力机制。

触发特征是基于信息娱乐数据的24836个领域内语句的附加文本集来选择的,并且利用了850个触发特征。就bow特征而言,词典被限定为90%的训练参考中最频繁的词,以及针对词汇表外的词的条目,并且应用置信度得分的对准。

在排名框架中,每个共享投影矩阵将对应的特征投影到50个节点的空间中。提供大小为50*10*3的层(触发器、bow和blstm特征分别有500个节点),该层被进一步投影到更小的第二投影层(200*3个节点)。然后,该第二投影层与10个置信度特征连结,以馈送到输入层。使用了四个内部层(分别为500、200、100和100个节点),所述内部层使用诸如relu激活函数之类的激活函数和应用于每一层的批归一化。我们采用adam优化来分批训练模型。当调整集的损失在最后30次迭代中未能改进时,执行提前停止。然后在评估中使用在调整数据上实现最佳性能的模型。并且超参数是根据经验选择的。

在示例性的独立nlu模块中,将命名实体特征馈送到编码器中是有益的。在一个系统中,意图检测错误率从9.12%降低到5.17%,同时测试参考的槽位填充f1得分从64.55提高到90.68。这指示当使用大型名称列表和有限的训练数据时,引入的名称信息有效地减轻了学习的困难。

对于排名框架,我们首先仅使用asr排名输出来训练框架,称为单独asr框架,并且然后使用asr排名和意图输出这两者来训练联合框架。两个框架的评估结果被包括在表1中。

在表1中,“预言假设”和“得分最高的假设”分别指代在竞争假设中具有更低词错误率(wer)和最高(对准)置信度得分的假设。“+nlu”表示将独立的nlu模块应用于假设以获得nlu结果(即,槽位填充f1得分和意图检测错误率)的处理。对wer和nlu结果这两者都进行了评估,至于排名框架,在特征提取期间由nlu模块处理每个输入假设,从而获得其nlu结果。当框架预测排名最高的假设时,它还会检索与该假设相关的nlu结果。注意,对于联合框架,意图相关输出也预测意图。然而,应当注意到,所预测的该意图比分派给排名最高的假设的意图表现得更差,这可能是由于由竞争假设引入的混淆而导致的,因此选取后者作为意图结果。

表1示出,与“得分最高的假设”基线(即,仅基于对准的置信度得分对假设进行排名的性能)相比,单独asr框架在wer方面带来了6.75%的相对下降,这优于每个单独引擎的性能。联合框架将益处扩大到相对wer减少11.51%。对于nlu结果,实现了类似的改进。

实验还示出,对于框架,采用所提出的软目标值来用于进行排名是重要的。例如,当利用独热值替换软目标值时,由联合模型获得的wer上升到7.21%。还观察到,所有四种类型的特征对于车载信息娱乐数据都是有益的,删除每一种都将导致更差的性能。例如,从联合框架中移除基于槽位的触发特征将所得到的模型的wer增加到7.28%。

在系统100中,存储在特征提取器164中的触发对每个都包括两个语言项目的预定集合,所述两个语言项目中的每个可以是由独立nlu模块300检测的词或槽位。每个触发对的两个项目先前已经被识别为在来自训练语料库的语句中具有强相关性,该训练语料库表示预期语音输入的文本副本。在语音输入中,第一触发项目具有随后是触发对中的第二触发项目的强统计可能性,尽管这些项目在不同的语音输入中可能被不确定数量的中间的词分离。因此,如果语音识别结果包括所述触发项目,则语音识别结果中的那些触发词准确的可能性由于第一触发项目和第二触发项目之间的统计相关性而相对较高。在系统100中,使用本领域已知的统计方法基于互信息得分来生成触发项目。存储器160基于具有高互信息得分的触发项目集合在特征向量中存储预定的n个触发对元素集合,所述特征向量与在第一项目和第二项目之间具有高相关水平的触发对相对应。如下所述,触发对向神经网络排名器168提供语音识别结果的附加特征,这使得神经网络排名器168能够使用超出语音识别结果中存在的词序列信息的附加语言知识来对语音识别结果进行排名。

置信度得分特征与语音识别引擎162结合每个候选语音识别结果生成的数字置信度得分值相对应。例如,在一个配置中,在(0.0,1.0)范围中的数值指示语音识别引擎将特定候选语音识别结果的准确性置于从最低置信度(0.0)到最高置信度(1.0)的概率置信度水平中。由一个或多个语音识别引擎生成的混合候选语音识别结果中的每个被分派一个置信度得分。当语音识别引擎生成语音识别结果时,它也会为其分配一个置信度得分。

在系统100中,控制器148还对由不同语音识别引擎生成的语音识别结果的置信度得分值进行归一化和白化,以生成最终的特征向量元素,该最终的特征向量元素包括在多个语音识别引擎162的输出之间统一的归一化和白化置信度得分。控制器148使用归一化处理来对来自不同语音识别引擎的置信度得分进行归一化,并且然后使用现有技术的白化技术,根据对训练数据估计的均值和方差来对归一化的置信度得分值进行白化。在一个实施例中,控制器148使用线性回归处理来归一化不同语音识别引擎之间的置信度得分。控制器148首先将置信度得分范围细分成预定数量的子部分或“仓(bin)”,诸如两个语音识别引擎a和b的20个独一无二的仓。然后,控制器148基于观察到的语音识别结果和在该处理之前的训练处理期间使用的实际基础输入,标识针对与每个得分仓相对应的各种语音识别结果的实际准确率。控制器148在“边缘”周围的预定数字窗口内执行置信度得分的聚类操作,所述“边缘”将来自不同语音识别引擎的每组结果的仓分离,并且标识与每个边缘置信度得分值相对应的平均准确性得分。“边缘”置信度得分沿着每个语音识别引擎的置信度得分范围均匀分布,并提供预定数量的比较点来执行线性回归,该线性回归将第一语音识别引擎的置信度得分映射到具有相似准确率的另一语音识别引擎的置信度得分。

控制器148使用所标识的针对每个边缘得分的准确性数据来执行线性回归映射,该线性回归映射使得控制器148能够将来自第一语音识别引擎的置信度得分转换成与来自第二语音识别引擎的对等置信度得分相对应的另一置信度得分值。将来自第一语音识别引擎的一个置信度得分映射到来自另一语音识别的另一置信度得分也被称为得分对准处理,并且在一些实施例中,控制器148使用以下等式确定来自第一语音识别引擎的置信度得分与第二语音识别引擎的置信度得分的对准:

其中x是来自第一语音识别引擎的得分,x’是第二语音识别引擎的置信度得分范围内的x的等效值,值eiei+1与最接近第一语音识别引擎的值x的不同边缘值的估计准确性得分(例如,针对置信度得分22周围的边缘值20和25的估计准确性得分)相对应,值eiei+1与针对第二语音识别引擎的相同相对边缘值的估计准确性得分相对应。

在一些实施例中,控制器148将特征提取器164中线性回归的结果存储在存储器160内作为查找表或其它合适的数据结构,以使得能够实现不同语音识别引擎162之间的置信度得分的有效归一化,而不必针对每次比较重新生成线性回归。

控制器148还使用特征提取器164来标识候选语音识别结果中的词级特征。词级特征与控制器148放置在特征向量的元素中的数据相对应,所述特征向量的元素对应于候选语音识别结果中单独的词的特性。在一个实施例中,控制器148仅标识多个预定的词汇表内的词的存在或不存在,这与每个候选语音识别结果内的预定特征向量的单独元素相对应。例如,如果词“街道”在候选语音识别结果中出现至少一次,则控制器148在特征提取处理期间将特征向量中对应元素的值设置为1。在另一个实施例中,控制器148标识每个词的频率,其中本文中使用的“频率”指代单个词在候选语音识别结果中出现的次数。控制器148将词出现的次数放置在特征向量的对应元素中。

在又一实施例中,特征提取器164针对与预定词汇表中的每个词相对应的特征向量中的元素生成“具有衰减特征的词袋”。如本文中使用的术语“具有衰减特征的词袋”指代给定候选语音识别结果,控制器148基于词在结果中的出现次数和定位来为预定词汇表中的每个词分派的数字得分。控制器148为候选语音识别结果中预定词汇表内的每个词生成具有衰减得分的词袋,并为那些没有出现在候选结果中的词汇表内的词分派衰减得分为零的词袋。在一些实施例中,预定词汇表包括用以表示任何词汇表外的词的特殊条目,并且控制器148还基于候选结果内所有词汇表外的词为该特殊条目生成具有衰减得分的单个词袋。对于预定词典中的给定词wi,具有衰减得分的词袋可以根据上面的等式2或下面的等式6来表达,

其中是候选语音识别结果中其中词wi出现的定位的集合,而项是在(0,1.0)范围内的预定数字衰减因子,例如,在系统100的说明性实施例中被设置为0.9。

返回参考图1,在图1的实施例中,神经网络排名器168是所训练的神经网络,其包括接收与预定数量的候选语音识别结果相对应的多个特征向量的神经元输入层,以及生成与输入特征向量中的每个相对应的排名得分的神经元输出层。通常,神经网络包括被称为“神经元”的多个节点。每个神经元接收至少一个输入值,将预定的加权因子应用于输入值(其中不同的输入值通常接收不同的加权因子),并且将输出生成为加权输入的总和,其中在一些实施例中向该总和添加可选的偏差因子。针对每个输入的精确加权因子和每个神经元中的可选偏差值是在训练处理期间生成的,这将在下面更详细地描述。神经网络的输出层包括在训练处理期间专门配置有“激活函数”的另一组神经元。激活函数是例如基于来自神经网络中神经元的最终隐藏层的输入来产生输出值的sigmoid函数或其它阈值函数,其中sigmoid函数或阈值的精确参数是在神经网络的训练处理期间生成的。

在图1的具体配置中,神经网络排名器168可以包括前馈深度神经网络。如本领域中已知的,前馈神经网络包括从输入层出发到输出层的在单个方向上连接的神经元层,而没有将神经网络的一层中的神经元连接到神经网络的前一层中的神经元的任何循环或“反馈”回路。深度神经网络包括至少一个“隐藏层”(并且典型地多于一个隐藏层)的神经元,所述隐藏层不作为输入层或者输出层暴露。例如,可以使用多个k个隐藏层的神经元来将输入层连接到输出层。

考虑图2,在神经网络200的一个实施例中,输入层进一步包括投影层204a、204b,所述投影层204a、204b将预定的矩阵变换应用于所选择的输入特征向量元素集合202a、202b,所述投影层204a、204b分别包括用于词序列特征的两个不同的投影矩阵,所述词序列特征诸如触发对特征元素、bow特征元素、blstm特征元素和词级特征元素。投影层204生成对输入层202中输入神经元的输出的简化表示,因为在大多数实际输入中,针对词序列特征的特征向量元素是“稀疏的”,这意味着每个候选语音识别结果仅包括在特征向量的结构中编码的少量(如果有的话)触发对项目和大的总体词集合(例如10,000字)中的少量词。投影层204中的变换使得神经网络的剩余层能够包括更少的神经元,同时仍然针对候选语音识别结果的特征向量输入生成有用的排名得分。在一个说明性实施例中,用于触发词对的pf和用于词级特征的pw这两个投影矩阵每个都将对应的输入神经元投影到一个更小的向量空间中,所述每个更小的向量空间具有200个元素,这为神经网络排名器168中的n个输入特征向量中的每个产生401个神经元的投影层(保留一个神经元用于置信度得分特征)。

在操作期间,系统100使用麦克风128接收音频输入数据,并使用多个语音引擎162来生成多个候选语音识别结果,在一些实施例中,包括混合语音识别结果,所述混合识别结果包括从候选语音识别结果中的两个或更多个中选择的词。控制器148使用特征提取器164从候选语音识别结果中提取特征,以从候选语音识别结果中生成特征向量,并将特征向量提供给神经网络排名器168,以生成针对每个特征向量的输出得分。然后,控制器148标识与最高排名得分相对应的特征向量和候选语音识别结果,并且控制器148使用多个候选语音识别结果中的与多个排名得分中的最高排名得分相对应的候选语音识别结果作为输入来操作自动化系统。

图4描绘了使用多个语音识别引擎和神经网络排名器来执行语音识别以选择候选语音识别结果的处理400。在下面的描述中,对执行功能或动作的处理400的引用指代控制器执行存储的程序指令以执行与自动化系统中的其他组件相关联的功能或动作的操作。出于说明的目的,结合图1的系统100来描述处理400。

处理400开始于系统100使用多个语音识别引擎162生成多个候选语音识别结果(框404)。在系统100中,用户向诸如麦克风128的音频输入设备提供口语音频输入(框402)。控制器148使用多个语音识别引擎162来生成多个候选语音识别结果。如上所述,在一些实施例中,控制器148使用从特定领域语音识别引擎的候选语音识别结果中选择的词来生成混合候选语音识别结果,以替换通用语音识别引擎的候选语音识别结果中选择的词。语音识别引擎162还生成置信度得分数据,系统100在处理400中的特征向量生成期间使用该置信度得分数据。

当系统100执行特征提取以生成多个特征向量时,处理400继续,每个特征向量与候选语音识别结果中的一个相对应(框406)。在系统100中,控制器148使用特征提取器164经由词序列特征生成特征向量——所述词序列特征包括在上面描述的触发对、置信度得分和词级特征中的一个或多个——以生成具有图2中的特征向量202的结构或用于一个或多个词序列特征(诸如触发对、置信度得分和词级特征)的另外的类似结构的特征向量。在图4的实施例中,控制器148使用用于特征向量的词级特征元素的具有衰减度量的词袋来生成词级特征。

框408使用独立的nlu模块处理每个语音识别结果。nlu模块执行两项任务,即槽位填充和意图检测。对于聚焦的语音识别结果,nlu模块检测其中包含的槽位并检测其意图。nlu模块还在编码器中存储双向循环神经网络(rnn)的每个方向的最后状态,以支持特征提取的后续步骤。

框410基于nlu模块对于每个语音识别结果的输出来提取nlu相关特征。它基于在框208中检测到的词序列和(多个)槽位来为聚焦的语音识别结果提取触发特征。它还连结存储在框408中的nlu模块编码器中的双向rnn的两个最后状态,以构建针对聚焦的语音识别结果的blstm特征。

当控制器148将针对多个候选语音识别结果的特征向量提供给神经网络排名器168作为推理处理中的输入以生成与多个候选语音识别结果相对应的多个排名得分时,处理400继续(框412)。在一个实施例中,控制器148使用所训练的前馈深度神经网络排名器168,以使用推理处理来在神经网络的输出层神经元处生成多个排名得分。如上所述,在另一个实施例中,控制器148使用无线网络设备154将特征向量数据、候选语音识别结果或所记录的音频语音识别数据的编码版本传输到外部服务器,其中所述服务器中的处理器执行处理400的一部分以生成候选语音识别结果的排名得分。

在大多数情况下,控制器148生成多个候选语音识别结果和对应的特征向量n,所述特征向量n与神经网络排名器168被配置为在训练处理期间对其进行接收的预定数量的n个特征向量输入相匹配。然而,在一些情况下,如果针对候选语音识别结果的特征向量的数量小于最大数量n,则控制器148生成全部为零值的“空”特征向量输入,以确保神经网络排名器168的输入层中的所有神经元接收到输入。控制器148忽略对于空输入中的每个的对应输出层神经元的得分,而排名器168中的神经网络为候选搜索识别结果的非空特征向量产生得分。

当控制器148标识与神经网络排名器168的输出层中的最高排名得分相对应的候选语音识别结果时,处理400继续(框414)。例如,神经网络的输出层中的每个输出神经元可以生成与系统100提供给输入层中预定输入神经元集合的输入特征向量中的一个的排名得分相对应的输出值。然后,控制器148基于在神经网络内产生最高排名得分的输出神经元的索引,来标识具有最高排名得分的候选语音识别结果。

当控制器148输出(框416)并且使用所选择的最高排名的语音识别结果作为来自用户的输入来操作自动化系统(框418)时,处理400继续。在图1的车载信息系统100中,控制器148操作各种系统,包括例如车辆导航系统,车辆导航系统响应于来自用户的语音输入,使用gps152、无线网络设备154和lcd显示器124或平视显示器120来执行车辆导航操作。在另一配置中,控制器148响应于语音命令通过音频输出设备132播放音乐。在又一配置中,系统100使用智能手机170或连接网络的另外的设备来基于来自用户的语音输入拨打免提电话呼叫或传输文本消息。虽然图1描绘了车载信息系统实施例,但是其它实施例采用自动化系统,所述自动化系统使用音频输入数据来控制各种硬件组件和软件应用的操作。

虽然图1将车载信息系统100描绘为执行语音识别以接收和执行来自用户的命令的自动化系统的说明性示例,但是可以在其它情形中实现类似的语音识别处理。例如,诸如智能手机170或其它合适的设备的移动电子设备典型地包括一个或多个麦克风和处理器,所述处理器可以实现语音识别引擎、排名器、所存储的触发对以及实现语音识别和控制系统的其它组件。在另一个实施例中,家庭自动化系统使用至少一个计算设备控制房屋中的hvac和家用电器,所述计算设备接收来自用户的语音输入,并使用多个语音识别引擎执行语音识别,以控制房屋中各种自动化系统的操作。在每个实施例中,该系统可选地被配置为使用不同的特定领域语音识别引擎集合,所述引擎是针对不同自动化系统的特定应用和操作而定制的。

在图1的系统100和图4的语音识别处理中,神经网络排名器168是所训练的前馈深度神经网络。神经网络排名器168在操作系统100之前被训练以执行在上面描述的语音识别处理。图5描绘了计算机化系统500的说明性实施例,所述计算机化系统500被配置为训练神经网络排名器168,并且图4描绘了用于生成训练的神经网络排名器168的训练处理400。

系统500包括处理器502和存储器504。处理器502包括例如可选地连接到并行硬件加速器的一个或多个cpu核,所述并行硬件加速器被设计用于以时间和功率高效的方式训练神经网络。这样的加速器的示例包括,例如,具有被配置用于神经网络训练的计算机着色器单元的gpu,以及专用于训练神经网络的专门编程的fpga芯片或asic硬件。在一些实施例中,处理器502进一步包括并行操作以执行神经网络训练处理的计算设备集群。

存储器504包括例如非易失性的固态或磁性数据存储设备和诸如随机存取存储器(ram)的易失性数据存储设备,其存储用于系统500的操作的编程指令。在图3的配置中,存储器504存储与训练输入数据506、神经网络的梯度下降训练器508、语音识别引擎510、特征提取器512、自然语言理解模块514和神经网络排名器516相对应的数据。

训练数据506包括例如由在系统100中的相同语音识别引擎162为大量预定输入产生的大量语音识别结果,所述语音识别结果可选地包括混合语音识别结果。训练语音识别结果数据还包括针对训练语音识别结果的置信度得分。针对每个语音识别结果,训练数据还包括量化语音识别结果和预定的实际语音输入训练数据之间的差异的levenshtein距离度量,所述预定的实际语音输入训练数据表示训练处理中规范“正确”的结果。levenshtein距离度量是“编辑距离”度量的一个示例,因为该度量量化了将来自语音识别引擎的语音识别结果变换成用于训练数据的实际输入所需的改变(编辑)量。在比较度量中,语音识别结果和实际语音输入训练数据这两者都被称为文本的“字符串”。例如,编辑距离量化了将语音识别结果字符串“莎莉海边贝壳卖”转换成对应的正确实际训练数据字符串“莎莉海边卖贝壳”所需的改变数量。

在其它情形中,levenshtein距离度量是本领域已知的,并且具有若干特性,包括:(1)levenshtein距离总是至少两个字符串的大小的差异;(2)levenshtein距离至多是较长字符串的长度;(3)当且仅当字符串相等时,levenshtein距离为零;(4)如果字符串大小相同,则汉明距离是levenshtein距离的上界;以及(5)两个字符串之间的levenshtein距离不大于它们与第三个字符串之间的levenshtein距离之和(三角形不等式)。进而,汉明距离指代将一个字符串改变成另一个字符串所要求的最小替换数或者可以将一个字符串变换成另一个字符串的最小错误数的度量。虽然出于说明的目的,系统500包括利用levenshtein距离编码的训练数据,但是在可替换的实施例中,使用另外的编辑距离度量来描述训练语音识别结果和对应的实际训练输入之间的差异。

在图5的实施例中,存储器504中的特征提取器512与上述系统100中使用的特征提取器164相同。特别地,处理器502使用特征提取器512来使用上述的触发对、置信度得分和词级特征中的一个或多个从训练语音识别结果中的每个生成特征向量。

梯度下降训练器508包括所存储的用于神经网络训练处理的程序指令和参数数据,处理器502执行所述神经网络训练处理,以使用特征提取器512基于训练数据506生成的特征向量来训练神经网络排名器516。如本领域已知的,梯度下降训练器包括一类相关的训练处理,所述训练处理通过调整神经网络内的参数来在迭代处理中训练神经网络,以最小化神经网络输出和预定目标函数(也称为“指标”函数)之间的差异(误差)。虽然梯度下降训练是本领域公知的,并且不在本文中详细讨论,但是系统500修改了标准的训练处理。特别地,训练处理试图利用神经网络使用训练数据作为输入来生成输出,以最小化神经网络的输出和来自预定训练数据的预期目标结果之间的误差。在一些训练处理中,目标值典型地指定给定输出是二元的“正确”还是“不正确”的,这样的来自神经网络排名器的目标输出提供得分来指示针对训练语音识别结果的特征向量输入在与训练数据中的实际输入相比时是100%正确还是在某种程度上不正确的。然而,在系统500中,梯度下降训练器508使用训练数据506中的编辑距离目标数据作为“软”目标,以更准确地反映不同训练语音识别结果的正确性水平,其可以包括在连续范围内的影响排名得分的误差范围,而不仅仅是完全正确或不正确。

处理器502使用目标函数中的“软”目标数据以使用梯度下降训练器508执行训练处理。例如,图3的配置使用以下形式的“softmax”目标函数:

其中di是第i个语音识别结果与给定语音输入的参考副本的编辑距离。在训练处理期间,梯度下降训练器508执行成本最小化处理,其中“成本”指代在训练处理的每个迭代期间神经网络排名器516的输出值和由目标函数生成的目标值之间的交叉熵。处理器502在训练处理期间向梯度下降训练器508提供分批的样本,诸如一批180个训练输入,每个训练输入包括由多个语音识别引擎生成的不同训练语音识别结果。迭代处理继续,直到训练集的交叉熵在十次迭代的过程中没有改进,并且从所有训练数据中产生最低总熵的所训练的神经网络参数形成最终的所训练的神经网络。

在训练处理期间,处理器502在训练处理的不同迭代期间在神经网络排名器516中的不同输入神经元组之间混洗相同的输入特征向量,以确保特定特征向量在神经网络的输入层中的定位不会在所训练的神经网络中产生不正确的偏差。如上面在推理处理中所描述的,如果特定的训练数据集不包括足够数量的候选语音识别结果以向神经网络排名器516的输入层中的所有神经元提供输入,则处理器502生成具有零值输入的“空”输入特征向量。如本领域中已知的,训练处理中使用的梯度下降优化包括数字训练参数,并且在系统500的一种配置中,在梯度下降训练器508中使用自适应矩估计(adam)优化,并且梯度下降训练器508的超参数是=0.001,=0.9和=0.999。

虽然图5描绘了生成所训练的神经网络排名器的计算机化设备500的特定配置,但是在一些实施例中,在语音识别处理中使用经训练的神经网络排名器的相同系统被进一步配置为对神经网络排名器进行训练。例如,在一些实施例中,系统100中的控制器148是可配置成执行神经网络训练处理的处理器的示例。

图6描绘了用于使用多个语音识别引擎和神经网络排名器来执行语音识别以选择候选语音识别结果的处理600。在下面的描述中,对执行功能或动作的处理600的引用指代处理器执行存储的程序指令以执行与自动化系统中的其它组件相关联的功能或动作的操作。出于说明的目的,结合图5的系统500来描述处理600。

处理600开始于系统500生成与存储在训练数据506中的多个训练语音识别结果相对应的多个特征向量(框602)。在系统500中,处理器502使用特征提取器512来生成多个特征向量,其中每个特征向量与训练数据506中的一个训练语音识别结果相对应。如上所述,在处理600的至少一个实施例中,控制器502生成每个特征向量,所述特征向量包括触发对特征、置信度得分和词级特征中的一个或多个,所述词级特征包括具有衰减特征的词袋。

作为特征提取和特征生成处理的一部分,在一些实施例中,控制器502生成包括映射到触发对特征和词级特征的特定元素的特征向量结构。例如,如上所述,在系统100中,在一些实施例中,控制器502生成具有仅与在训练数据506中观察到的词的一部分相对应的结构的特征向量,诸如90%的最常观察到的词,而剩余10%的出现频率最低的词没有被编码到特征向量的结构中。处理器502可选地标识最常见的触发对特征,并且生成针对训练数据506中存在的最常观察到的触发词对的结构。在其中系统500在处理600期间生成特征向量的结构的实施例中,处理器502将特征向量的结构与特征提取器数据512一起存储,并且在训练处理完成之后,将特征向量的结构与神经网络排名器516一起提供给自动化系统,该自动化系统使用具有指定结构的特征向量作为所训练的神经网络的输入,以生成针对候选语音识别结果的排名得分。在其它实施例中,特征向量的结构是基于诸如英语或汉语的自然语言先验地确定的,而不是专门基于训练数据506的内容。

当系统500使用梯度下降训练器508基于来自训练数据506的训练语音识别结果的特征向量以及软目标编辑距离数据来训练神经网络排名器516时,处理600继续(框604)。在训练处理期间,处理器502使用与多个训练语音识别结果相对应的多个特征向量作为神经网络排名器的输入,并且基于在训练处理期间由神经网络排名器生成的多个输出得分与具有上述软得分的目标函数之间的成本最小化处理来训练神经网络排名器516,其中所述软得分是基于多个训练语音识别结果和所述多个语音识别结果中针对每个训练语音识别的预定正确输入之间的预定编辑距离的。在处理600期间,处理器502修改神经网络排名器516的输入层和隐藏层中的输入加权系数和神经元偏差值,并使用梯度下降训练器508以迭代方式调整神经元输出层中的激活函数的参数。

在训练处理完成之后,处理器502存储所训练的神经网络排名器516的结构,并且在其中基于存储器504中的训练数据生成特征向量的实施例中可选地存储特征向量的结构(框606)。所存储的神经网络排名器516的结构和特征向量结构随后被转移到其它自动化系统,诸如图1的系统100,其使用所训练的神经网络排名器516和特征提取器512在语音识别操作期间对多个候选语音识别结果进行排名,并且然后基于所述结果对系统进行操作(框608)。

应当领会,在上面公开的变型以及其它特征和功能,或者它们的替代,可以期望地组合到许多其它不同的系统、应用或方法中。本领域技术人员随后可以作出各种目前未预见或未预料到的替代、修改、变化或改进,所述替代、修改、变化或改进也旨在被所附权利要求所涵盖。

体现本文中所描述的算法和/或方法的程序代码能够以各种各样的不同形式被作为程序产品单独或共同分发。程序代码可以使用其上具有用于使处理器执行一个或多个实施例的各方面的计算机可读程序指令的计算机可读存储介质来分发。固有的非暂时性的计算机可读存储介质可以包括以用于存储信息的任何方法或技术实现的易失性和非易失性的以及可移动和不可移动的有形介质,所述信息诸如计算机可读指令、数据结构、程序模块或其它数据。计算机可读存储介质可以进一步包括ram、rom、可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、闪速存储器或其它固态存储器技术、便携式光盘只读存储器(cd-rom)或其它光学存储、盒式磁带、磁带、磁盘存储或其它磁性存储设备,或可以用于存储期望的信息并且可以由计算机读取的任何其它介质。计算机可读程序指令可以被从计算机可读存储介质下载到计算机、另外的类型的可编程数据处理装置或另外的设备,或者被经由网络下载到外部计算机或外部存储设备。

存储在计算机可读介质中的计算机可读程序指令可以用于引导计算机、其它类型的可编程数据处理装置或其它设备以特定方式起作用,使得存储在计算机可读介质中的指令产生包括实现流程图或示图中指定的功能、动作和/或操作的指令的制品。在某些替代的实施例中,流程图和示图中指定的功能、动作和/或操作可以与一个或多个实施例一致地那样被重新排序、串行处理和/或同时处理。此外,流程图和/或示图中的任何一个可以包括比与一个或多个实施例一致的那些更多或更少的节点或框。

虽然已经通过对各种实施例的描述说明了本发明的全部,并且虽然已经相当详细地描述了这些实施例,但是申请人并不旨在将所附权利要求的范围约束或以任何方式限制于这样的细节。对于本领域的技术人员来说,附加的优点和修改应当是容易显现的。因此,本发明在其更广泛的方面不限于特定的细节、代表性的装置和方法以及所示出和所描述的说明性示例。因此,在不脱离本发明总体发明构思的精神或范围的情况下,可以与这些细节有所不同。

起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。

此文章来源于网络,如有侵权,请联系删除

tips