用于时延降低的自动语音辨识的得分趋势分析的制作方法

文档序号:21653264发布日期:2020-07-29 03:07阅读:274来源:国知局
用于时延降低的自动语音辨识的得分趋势分析的制作方法



背景技术:

采用语言理解系统的人机接口正变得越来越流行。这些系统被配置为辨识用户说出的命令并提供对该命令的适当响应。这些系统影响用户体验的质量的一个重要特性是时延(即系统响应用户输入所花费的时间长度)。造成时延的一个重要因素是检测与语音辨识相关联的用户语音表达结束的能力。语音终点检测的一种途径依赖于基于信号能量的存在而进行的语音活动检测。如果在预定义时间段内未检测到声音活动(声音信号能量),则会作出用户已停止讲话的假设。但是,此技术在嘈杂的环境中效果不佳,在这种环境中,背景噪声可能被误辨识为声音信号能量,这导致无法检测到终点,继而导致系统变得无响应。语音终点检测的另一种途径是在经过预定义时间段后声明终点,语音辨识器的最佳假设在该预定义时间段内没有发生变化。但是,该技术要求预定义时间段足够长,以保证可以说出尽可能长的语句,这同样增加了系统时延。

附图说明

随着以下具体实施方式的进行并通过参考附图,所要求保护的主题的实施例的特征和优点将变得清晰可见,其中相同的附图标记表示相同的部分。

图1是根据本公开的某些实施例配置的具有时延降低的asr(自动语音辨识)的语言理解系统的框图。

图2是根据本公开的某些实施例的关于语音终点检测的相对似然性得分趋势的曲线图。

图3是根据本公开的某些实施例配置的终点检测器电路的框图。

图4是根据本公开的某些实施例配置的得分趋势计算电路的框图。

图5是示出根据本公开的某些实施例的用于语音终点确定的示例方法的流程图。

图6是根据本公开的某些实施例的关于语音终点检测的错误率与时延的比较图。

图7是图示出根据本公开的某些实施例的用于时延降低的自动语音辨识的方法的流程图。

图8是根据本公开的某些实施例示意性地图示出被配置为执行时延降低的自动语音辨识的计算平台的框图。

尽管将参考说明性实施例进行下面的具体实施方式,但是根据本公开,其许多替代、修改和变型将是清晰可见的。

具体实施方式

总体上,本公开提供了用于时延降低的自动语音辨识(asr)的技术。该技术采用基于对一个或多个asr假设的得分趋势分析的语音终点检测。asr处理器生成识别结果所需的时间(在本文中一般称为asr时延)可能会受到确定用户的语音的终点所需的时间的显著影响。在接收到和处理足量的语音之前做出语音终点辨识判定可能会增加错误率(就错误地声明终点而言)。但是,如果等待太长时间以确保用户已完成讲话可能会导致过长的时延。降低时延同时保持期望的错误率可改善用户与系统的交互体验。所公开的技术在接收到额外的用户语音时跟踪asr生成的假设随时间的或然率(probability)或似然性(likelihood)得分,并基于这些得分的比率的趋势来确定语音终点,这将在下面更详细地解释。

所公开的技术可以例如在计算系统或者可由此类系统执行或以其他方式控制的软件产品中实现,但是其他实施例将是清楚的。该系统或产品被配置为使用假设得分趋势分析来降低自动语音辨识的时延。根据实施例,用于实现这些技术的方法包括基于语音片段生成完整语句假设和部分语句假设以及相关联的似然性得分。然后,该方法继续选择与最高的完整语句假设似然性得分相关联的完整语句假设,并选择与最高的部分语句假设似然性得分相关联的部分语句假设。该方法还包括:基于与所选择的完整语句假设相关联的似然性得分和与所选择的部分语句假设相关联的似然性得分的比率,来计算相对似然性得分。该方法还包括:随着额外的语音被收集和处理,计算相对似然性得分随时间变化的趋势;并且基于确定该趋势在时间段内没有降低,而识别出语音的终点。该时间段由于时延和错误率之间的权衡而被选择。

如应领会的,与采用asr处理器的现有方法(其中,在生成识别结果之前存在相对较长的时延)相比,通过提供更迅速响应的性能(例如,对用户输入、查询、以及命令的更快响应),本文描述的技术可以允许改善语言理解系统的用户体验。可在包括以下各项的诸多平台上实现所公开的技术:膝上型计算机、平板电脑、智能电话、工作站、视频会议系统、游戏系统、智能家庭控制系统、以及嵌入式系统或设备。这些技术还可以在硬件或软件或它们的组合中实现。如应领会的,需要或以其他方式要求在计算平台与用户之间或在给定的计算机监视的对话或交换的参与者之间的交互式通信的许多应用可以受益于所提供的技术。

图1是根据本公开的某些实施例配置的具有时延降低的asr的语言理解系统100的框图。语言理解系统100被示为包括asr处理器140和语言解释器电路114。asr处理器被进一步示为包括声学预处理电路106、声学评分电路108、加权有限状态换能器(wfst)解码器电路110、以及终点检测器电路112。另外,示出了包括麦克风102和a/d转换器104的输入元件,以及输出元件扬声器116、显示元件118、和控制系统132。在一些实施例中,如以下结合图8更详细描述的,语言理解系统100和一个或多个输入/输出元件可以被托管在计算或通信平台上。

可以由麦克风102或麦克风阵列(例如,被配置为用于波束成形)或任何其他合适的音频捕获设备来提供音频输入,包括来自系统的用户的语音。来自麦克风的模拟音频输入信号由a/d转换器104转换成数字信号,并被提供给asr处理器140以对该信号执行时延降低的语音辨识。

根据本公开并使用已知技术,声学预处理电路106被配置为将音频信号分割为窗口段(windowedsegment),并为每个段生成特征向量120。

根据本公开并使用已知技术,声学评分电路108被配置为对特征向量120进行操作并针对语音的语音学单元(phoneticunit)生成声学得分122。在一些实施例中,声音评分电路108可以被实现为深度神经网络或递归神经网络。语音学单元声学得分122被提供给wfst解码器电路110,以确定来自用户的最可能的话语表达。

wfst解码器电路110被配置为从用户语音的当前片段生成语音辨识假设128,这些语音辨识假设包括一个或多个完整语句假设和一个或多个部分语句假设。完整语句假设和部分语句假设中的每一者都与或然率或似然性得分相关联。最佳假设具有最高似然性得分。wfst解码器电路110可以根据本公开并采用已知技术来生成这些假设。随着对额外的语音的获取,假设被更新。一些新的假设可能被添加,一些现有的假设可能被丢弃,并且似然性得分可能发生变化。当检测到语音终点时,如下所述,可以将当前最佳的完整语句假设选择为asr结果,并将其提供给语言解释器电路114。

语言解释器电路114被配置为生成对asr结果的响应。在一些实施例中,该响应可以是通过扬声器116传递的音频响应、通过显示元件118传递的视觉响应、和/或通过一个或多个控制系统132传递的某种类型的动作响应。动作响应可以包括执行与asr结果相关联的请求命令。例如,命令“lookdoor(锁门)”可引起来自系统的音频确认,比如伴随着通过适当的控制系统硬件进行的锁门动作的“lookingdoornow(现在正在锁门)”。

在针对命令和控制任务的相对少的可能(例如,有效)话语的情况下,或者在用户说出相对长的词语的情况下,则可能需要一些时间来改变最佳假设。例如,考虑有两个命令的任务:“turnthelightsoff(关闭灯)”和“turnthelightsoffinthekitchen(关闭厨房里的灯)”。如果用户说出第二个命令,则从接收到包括“turnthelightsoff…”语音的点直至接收到包括“turnthelightsoffinthe…”的语音的点,第一个结果都可能具有是当前最高得分。如果等待终点检测的时间很短,则第一个命令假设将成为所辨识的语音,而第二个(正确的)假设将被丢弃。请注意,在大部分处理时间中,第一个命令的完整语句假设的得分可能低于第二个命令的部分语句假设的得分,但这不会导致当前最佳假设的改变。

为了解决这个问题,终点检测器电路112被配置为:确定语音辨识处理的适当终点,而不需要会将时延增加到不期望的水平的过长的等待时间。在较高级别处,终点检测器电路随着额外的用户语音的接收而跟踪完整语句和部分语句假设随时间的似然性得分,并基于这些得分中最高得分的比率的趋势来确定语音终点。将在下面结合图3-图5更详细地说明终点检测器电路112的操作。

图2是根据本公开的某些实施例的关于语音终点检测的相对似然性得分趋势的曲线图200。相对于水平轴上的时间(以30毫秒帧为单位),相对似然性得分202被以对数刻度表示在纵轴上。在一些实施例中,相对似然性得分,即rl得分,可以表示为:

rl得分=log(最佳完整语句假设得分/最佳部分语句假设得分)

因此,最高的相对似然性得分零表示最佳完整语句假设得分等于最佳部分语句假设得分,而较低的相对似然性得分指示最佳完整语句假设与最佳部分语句假设相比质量有所下降。在图2所示的示例中,音频信号以一静默时段开始,直到在帧24处用户开始讲话。这会导致部分语句假设的得分高于静默假设,但静默假设206仍然是最佳的完整语句假设,直到帧34。此时,短语句(例如,如较早的示例中的“turnthelightsoff”)成为当前的最佳(尽管不正确)假设208。与其他部分语句假设相比,短语句在帧44之前具有最佳得分。然而,随着用户继续讲话,该短语句的得分减小直到帧67为止,此时当前最佳假设变为正确的结果210(例如,“turnthelightsoffinthekitchen”)。因此,在帧34和帧67之间(表示将近一秒长的语音),即使用户继续讲话,最佳结果也不会改变。因此,如下所述,在不使用所公开的时延降低技术的情况下,对于该示例将需要一秒的时延才能获得正确的辨识结果。换句话说,决定使用具有小于一秒的时延的最佳假设将导致对不正确的短语句“turnthelightsoff”的选择,而不是正确的完整语句“turnthelightsoffinthekitchen”。图2图示出不正确结果的相对似然性得分通常会随时间降低,而正确结果的相对似然性得分会提高或保持相对恒定。

图3是根据本公开的某些实施例配置的终点检测器电路112的框图。终点检测器电路112被示为包括相对似然性得分计算电路310、得分趋势计算电路320、以及终点判定电路330。wfst解码器电路110随初始语音片段和额外的语音片段被接收和处理在一段时间内提供完整语句和部分语句假设。例如,在一些实施例中,可以为语音音频数据的每个帧生成并提供假设。

相对似然性得分计算电路310被配置为:选择与当前时间点(或语音数据帧)的最高的完整语句假设似然性得分相关联的完整语句假设,并选择与在同一时间点的最高部分语句假设似然性得分相关联的部分语句假设。当前相对似然性得分202被计算为与所选择的完整语句假设相关联的似然性得分和与所选择的部分语句假设相关联的似然性得分的比率。这些相对似然性得分202(例如,针对每一帧)的序列被提供给得分趋势计算电路320。

图4是根据本公开的某些实施例配置的得分趋势计算电路320的框图。在一些实施例中,得分趋势计算电路320被配置为计算相对似然性得分202的时间样本之间的差异,并对所计算的差异的序列应用低通滤波器。例如,得分趋势计算电路320被示为包括以下各项的网络:延迟元件404、乘法器406、比例因子402、以及求和器408,它们被布置在被配置为计算相对似然性得分随时间(例如,连续帧号)变化的趋势200的电路中。该电路计算出的趋势200可用于下等式表示:

当然,这仅仅是一个示例,并且可以使用不同的滤波器来近似相对似然性得分的趋势。

图5是图示出根据本公开的某些实施例的用于终点判定电路330的操作的示例方法的流程图。终点判定电路330被配置为:基于确定趋势200在选定时间段内增加(或趋势保持恒定),而识别出语音的终点。在一些实施例中,选定时间段被选择为提供期望的asr错误率。

在操作500处,将终点计时器初始化为零。在操作502,如果尚未形成当前最佳假设,则在操作504处,wfst解码器电路继续处理语音数据的下一帧。在操作506处,如果自上一帧以来最佳假设已发生改变,则在操作508处将终点计时器重置为零,并且wfst解码器电路继续处理语音数据的下一帧。否则,在操作510处,如果相对得分趋势200为负,则在操作504处wfst解码器电路继续处理语音数据的下一帧。但是,如果相对得分趋势不为负(例如,正或恒定),则在操作512处使终点计时器递增。在操作514处,如果终点计时器已超过选定阈值,则生成终点指示符126,并将其提供回wfst解码器电路。否则,wfst解码器电路继续处理语音数据的下一帧。通过使用此技术,与其他方法相比,选定终点计时器阈值通常将允许更短的时延。

图6是根据本公开的某些实施例的错误率对时延的比较曲线图600。沿竖直轴以百分比来表示错误率,并且沿水平轴以毫秒来表示时延。示出了四个曲线,它们图示出时延和辨识精度之间的权衡。曲线614示出了在不使用所公开的技术的情况下对无噪声数据进行的asr处理的结果。相比之下,曲线616示出了使用所公开的时延减少技术对无噪声数据进行的asr处理的结果。

曲线610示出了在不使用所公开的技术的情况下对噪声数据进行的asr处理的结果。相比之下,曲线612示出了使用所公开的时延减少技术对噪声数据进行的asr处理的结果。

从这些曲线中可以看出,使用所公开的技术将时延从大约500毫秒(msec)降低到大约300msec(错误率稳定的点)。

方法

图7是示出根据本公开的某些实施例的用于时延降低的自动语音辨识的示例方法700的流程图。可以看出,该示例方法包括多个阶段和子过程,它们的顺序可以随实施例的不同而不同。然而,当总体考虑时,根据本文公开的某些实施例,这些阶段和子过程形成对时延降低的asr的处理。可以例如使用如上所述的图1和图3-图5中所示的系统架构来实现这些实施例。然而,根据本公开将清楚,在其他实施例中可以使用其他系统架构。为此,图7中所示的各种功能与其他附图中所示的特定组件的相关性并不旨在暗示任何结构和/或使用限制。而是,其他实施例可以包括例如不同程度的集成,其中多个功能由一个系统有效地执行。例如,在可替代的实施例中,具有解耦的子模块的单个模块可以用于执行方法700的所有功能。因此,取决于实施方式的粒度,其他实施例可以具有更少或更多的模块和/或子模块。在其他实施例中,所描绘的方法可以被实现为包括一种或多种非暂态机器可读介质的计算机程序产品,它们当由一个或多个处理器执行时可以实现该方法。根据本公开,许多变形和替代构造将是清晰可见的。

如图7所示,在一个实施例中,用于时延减少的asr的方法700通过在操作710处从语音片段中生成一个或多个完整语句假设和一个或多个部分语句假设而开始。每个假设都与似然性得分相关联。语音片段的长度是当前话语(例如来自系统用户)的持续时间。接下来,在操作720处,选择最高得分的完整语句假设和最高得分的部分语句假设。

在操作730处,基于与所选择的完整语句假设相关联的似然性得分和与所选择的部分语句假设相关联的似然性得分的比率来计算相对似然性得分。

在操作740处,例如,由于现有假设随着用户继续讲话而被更新并且新的假设被生成,相对似然性得分的趋势被计算为关于时间的函数。在一些实施例中,趋势计算包括计算相对似然性得分的时间样本之间的差异,并对所计算的差异的时间序列应用低通滤波器(例如,平滑滤波器)。

在操作750处,基于确定相对似然性得分的趋势在选定时间内没有降低,而识别出语音的终点。在一些实施例中,选定时间段被选择为提供期望的asr错误率。在一些实施例中,响应于识别出语音的终点,而提供所选的完整语句假设(与最高得分相关联的完整语句假设)作为asr结果。

当然,在一些实施例中,如先前结合系统所描述的,可以执行额外的操作。例如,可以由语言解释器电路生成对asr结果的响应。该响应可以包括执行与该asr结果相关联的请求命令。在一些实施例中,完整语句假设和部分语句假设是由加权有限状态换能器(wfst)解码器生成的。

示例系统

图8图示出根据本公开的某些实施例配置的用于执行时延降低的asr的示例系统800。在一些实施例中,系统800包括计算平台810,其可以托管或以其他方式并入个人计算机、工作站、服务器系统、智能家庭管理系统、膝上型计算机、超便携式计算机、平板电脑、触摸板、便携式计算机、手持式计算机、掌上计算机、个人数字助理(pda)、蜂窝电话、蜂窝电话和pda的组合、智能设备(例如,智能电话或智能平板电脑)、移动互联网设备(mid)、消息传递设备、数据通信设备、可穿戴设备、嵌入式系统等等。在某些实施例中可以使用不同设备的任何组合。

在一些实施例中,平台810可以包括处理器820、存储器830、语言理解系统100、网络接口840、输入/输出(i/o)系统850、用户接口860、控制系统132、以及存储系统870。还可以看到,还提供了总线和/或互连892,以允许上面列出的各种组件和/或其他未示出的组件之间进行通信。平台810可以通过网络接口840耦合到网络894,以允许与其他计算设备、平台、要控制的设备、或其他资源进行通信。根据本公开,在图8的框图中未反映的其他组件和功能将是清晰可见的,并且将理解,其他实施例不限于任何特定的硬件配置。

处理器820可以是任何合适的处理器,并且可以包括一个或多个协处理器或控制器(例如音频处理器、图形处理单元、或硬件加速器),用于辅助与系统800相关联的控制和处理操作。在一些实施例中,处理器820可以被实现为任何数目的处理器核心。处理器(或处理器核心)可以是任何类型的处理器,例如微处理器、嵌入式处理器、数字信号处理器(dsp)、图形处理器(gpu)、网络处理器、现场可编程门阵列或其他配置为执行代码的设备。处理器可以是多线程核心,因为它们可以包括每核心不止一个硬件线程情境(或“逻辑处理器”)。处理器820可以被实现为复杂指令集计算机(cisc)或精简指令集计算机(risc)处理器。在一些实施例中,处理器820可以被配置为x86指令集兼容处理器。

存储器830可以使用任何适当类型的数字存储装置来实现,包括例如闪速存储器和/或随机存取存储器(ram)。在一些实施例中,如本领域技术人员所知,存储器830可以包括存储器层级结构和/或存储器缓存的各个层。存储器830可以被实现为易失性存储设备,例如但不限于ram、动态ram(dram)或静态ram(sram)设备。存储系统870可以被实现为非易失性存储设备,例如但不限于以下各项中的一项或多项:硬盘驱动器(hdd)、固态驱动器(ssd)、通用串行总线(usb)驱动器、光盘驱动器、磁带驱动器、内部存储设备、附接存储设备、闪存存储器、电池备份同步dram(sdram)、和/或网络可访问存储设备。在一些实施例中,存储装置870可以包括用于在包括多个硬盘驱动器时增加对有价值的数字媒体的存储性能增强保护的技术。

处理器820可以被配置为执行操作系统(os)880,该操作系统可以包括任何合适的操作系统,例如googleandroid(美国加州山景城的谷歌公司)、microsoftwindows(美国华盛顿州雷蒙德的微软公司),appleosx(美国加州库比蒂诺的苹果公司)、linux或实时操作系统(rtos)。如根据本公开应理解的,可以在不考虑与系统800一起提供的特定操作系统的情况下实现本文提供的技术,并且因此还可以使用任何合适的现有或之后开发的平台来实现本文提供的技术。

网络接口电路840可以是任何适当的网络芯片或芯片组,其允许在计算机系统800的其他组件和/或网络894之间进行有线和/或无线连接,从而使得系统800能够与其他本地和/或远程计算系统、服务器、基于云的服务器、和/或其他资源通信。有线通信可以符合现有的(或待开发的)标准,例如以太网。无线通信可以符合现有(或待开发)的标准,例如包括lte(长期演进)在内的蜂窝通信、无线保真(wi-fi)、蓝牙、和/或近场通信(nfc)。示例性无线网络包括但不限于:无线局域网、无线个人区域网、无线城市区域网、蜂窝网络、以及卫星网络。

i/o系统850可以被配置为在各种i/o设备和计算机系统800的其他组件之间进行接口连接。i/o设备可以包括但不限于用户接口860和控制系统132。用户接口860可以包括诸如麦克风102、扬声器116、显示元件118、触摸板、键盘、以及鼠标之类的设备(未示出)。i/o系统850可以包括图形子系统,该图形子系统被配置为对图像执行处理,以在显示元件上呈现。图形子系统例如可以是图形处理单元或视觉处理单元(vpu)。模拟或数字接口可以用于将图形子系统和显示元件通信地耦合。例如,接口可以是以下各项中的任一项:高清多媒体接口(hdmi)、displayport、无线hdmi、和/或使用无线高清兼容技术的任何其他合适的接口。在一些实施例中,图形子系统可以集成到处理器820中或平台810的任何芯片组中。

应领会,在一些实施例中,系统800的各种组件可以被组合或集成在片上系统(soc)架构中。在一些实施例中,组件可以是硬件组件,固件组件,软件组件,或硬件、固件或软件的任何合适的组合。

如前所述,语言理解系统100被配置为提供时延降低的自动语音辨识以改善对用户命令的响应。如上所述,语言理解系统100可以包括图1和图3-图5所示的任何或所有电路/组件。这些组件可以与耦合到平台810或以其他方式形成平台810的一部分的各种合适的软件和/或硬件一起实现或以其他方式与之结合使用。这些组件可以额外地或替代地与能够向用户提供信息及从用户接收信息和命令的用户i/o设备一起实现或以其他方式与之结合使用。

在一些实施例中,这些电路可以安装在系统800的本地,如图8的示例实施例所示。可替代地,系统800可以在客户端-服务器布置中实现,其中,与这些电路相关联的至少一些功能是使用小程序(例如javascript小程序)或其他可下载模块或子模块集来提供给系统800的。可以响应于来自客户端计算系统的对访问具有客户端计算系统的用户感兴趣的资源的给定服务器的请求,而实时地配设这样的远程可访问模块或子模块。在这样的实施例中,服务器可以在网络894本地或通过一个或多个其他网络和/或通信信道远程耦合到网络894。在某些情况下,访问给定网络或计算系统上的资源可能需要凭证(例如用户名、密码)和/或需要遵循任何其他合适的安全机制。

在各个实施例中,系统800可以被实现为无线系统、有线系统、或它们二者的组合。当被实现为无线系统时,系统800可以包括适合于通过无线共享介质(例如一个或多个天线、发送器、接收器、收发器、放大器、滤波器、控制逻辑等等)进行通信的组件和接口。无线共享介质的示例可以包括无线频谱的部分,例如射频频谱等。当实现为有线系统时,系统800可以包括适用于通过有线通信介质进行通信的组件和接口,例如,输入/输出适配器、连接输入/输出适配器和相应的有线通信介质的物理连接器、网络接口卡(nic)、盘控制器、视频控制器、音频控制器等。有线通信介质的示例可以包括电线、线缆金属引线、印刷电路板(pcb)、背板、交换结构、半导体材料、双绞线、同轴线缆、光纤等。

可以使用硬件元件、软件元件、或它们二者的组合来实现各种实施例。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、asic、可编程逻辑器件、数字信号处理器、fpga、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、功能、方法、过程、软件接口、应用程序接口、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号、或它们的任意组合。确定实施例是否使用硬件元件和/或软件元件实现可以根据任何数目的因素而变化,这些因素例如是期望的计算速率、功率等级、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度、以及其他设计或性能约束。

可以使用表述“耦合的”和“连接的”连同它们的衍生词来描述一些实施例。这些术语并非旨在互为同义词。例如,可以使用术语“连接的”和/或“耦合的”来描述一些实施例,以指示两个或更多个元件彼此直接物理或电接触。然而,术语“耦合的”还可以表示两个或更多个元件彼此不直接接触,但是仍然彼此协作或交互。

可以在各种形式的硬件、软件、固件、和/或专用处理器中实现本文公开的各种实施例。例如,在一个实施例中,至少一种非暂态计算机可读存储介质具有编码在其上的指令,这些指令在由一个或多个处理器执行时使本文公开的一种或多种时延降低的asr方法得以实现。可以使用适当的编程语言(例如c、c++、面向对象的c、java、javascript、visualbasic.net、初学者通用符号指令代码(basic))对指令进行编码,或者可替代地使用定制或专用指令集进行编码。可以以有形地体现在存储器设备上并且可以由具有任何适当架构的计算机执行的一个或多个计算机软件应用和/或小程序的形式来提供指令。在一个实施例中,该系统可以被托管在给定网站上并且例如使用javascript或另一种合适的基于浏览器的技术来实现。例如,在某些实施例中,系统可以利用可经由网络894访问的远程计算机系统提供的处理资源。在其他实施例中,本文公开的功能可以被并入其他基于语音的软件应用中,例如,自动控制/导航、智能家庭管理、娱乐、和机器人应用。本文公开的计算机软件应用可以包括任何数目的不同模块、子模块、或具有不同功能的其他组件,并且可以向其他组件提供信息或从其他组件接收信息。这些模块可以用于例如与输入和/或输出设备(例如显示屏、触敏表面、打印机、和/或任何其他合适的设备)通信。根据本公开,图示中没有反映出的其他组件和功能将是清晰可见的,并且应领会,其他实施例不限于任何特定的硬件或软件配置。因此,在其他实施例中,与图8的示例实施例中所包括的组件相比,系统800可以包括额外的、更少的、或替代的子组件。

前述的非暂态计算机可读介质可以是用于存储数字信息的任何合适的介质,例如硬盘驱动器、服务器、闪速存储器、和/或随机存取存储器(ram)、或存储器的组合。在替代实施例中,本文公开的组件和/或模块可以用硬件来实现,包括诸如现场可编程门阵列(fpga)之类的门级逻辑,或者可替代地,诸如专用集成电路(asic)之类的专用半导体。其他实施例可以用具有多个用于接收和输出数据的输入/输出端口、以及用于执行本文公开的各种功能的多个嵌入式例程的微控制器来实现。明显地,可以使用硬件、软件、和固件的任何合适的组合,并且其他实施例不限于任何特定的系统架构。

一些实施例可以使用例如可存储指令或指令集的机器可读介质或物品来实现,这些指令或指令集在被机器执行时使得该机器执行根据实施例的方法和/或操作。这样的机器可以包括例如任何合适的处理平台、计算平台、计算设备、处理设备、计算系统、处理系统、计算机、处理等,并且可以使用硬件和/或软件的任何合适的组合来实现。机器可读介质或物品可以包括例如任何合适类型的存储器单元、存储器设备、存储器物品、存储器介质、存储设备、存储物品、存储介质和/或存储单元,例如存储器、可移除或不可移除介质、可擦除或不可擦除介质、可写或可重写介质、数字或模拟介质、硬盘、软盘、致密盘只读存储器(cd-rom)、致密盘可记录(cd-r)存储器、致密盘可重写(cd-rw)存储器、光盘、磁介质、磁光介质、可移除存储卡或盘、各种类型的数字多功能盘(dvd)、磁带、盒式磁带等。指令可以包括使用任何适当的高级、低级、面向对象、视觉、汇编、和/或解析编程语言实现的任何适当类型的代码,例如源代码、编译代码、解析代码、可执行代码、静态代码、动态代码、加密代码等。

除非另有明确说明,否则可以领会,诸如“处理”、“计算”、“运算”、“确定”之类的术语指的是计算机或计算系统或类似的电子计算设备的动作和/或处理,该动作或处理将在计算机系统的寄存器和/或存储器单元内表示为物理量(例如,电子)的数据操纵和/或变换为类似地表示为寄存器、存储器单元、或计算机系统中的其他这样的信息存储传输或显示器内的物理量的其他数据。这些实施例在本上下文中不做限制。

如本文的任何实施例中所使用的,术语“电路”或“电路系统”是功能性的,并且可以例如单独或以任何组合的形式包括硬接线电路、可编程电路(例如,包括一个或多个单独指令处理核心的计算机处理器)、状态机电路、和/或存储供可编程电路执行的指令的固件。该电路可以包括处理器和/或控制器,该处理器和/或控制器被配置为执行一个或多个指令以执行本文所述的一个或多个操作。指令可以体现为例如配置为使得电路执行上述任何操作的应用、软件、固件等。软件可以体现为记录在计算机可读存储设备上的软件包、代码、指令、指令集、和/或数据。按照层级方式,软件可以被体现或实现为包括任何数目的处理,并且这些处理又可以被体现或实现为包括任何数目的线程等。固件可以体现为硬编码(例如,非易失性的)在存储器设备中的代码、指令或指令集、和/或数据。该电路可以统一地或单独地体现为形成更大系统的部分的电路,例如,集成电路(ic)、专用集成电路(asic)、片上系统(soc)、台式计算机、膝上型计算机、平板计算机、服务器、智能电话等。其他实施例可以实现为由可编程控制设备执行的软件。在这种情况下,术语“电路”或“电路系统”旨在包括软件和硬件的组合,例如可编程控制设备或能够执行该软件的处理器。如本文所述,可以使用硬件元件、软件元件、或它们二者的任意组合来实现各种实施例。硬件元件的示例可以包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(asic)、可编程逻辑设备(pld)、数字信号处理器(dsp)、现场可编程门阵列(fpga)、逻辑门、寄存器、半导体设备、芯片、微芯片、芯片组等。

本文已经阐述了许多具体细节以提供对实施例的透彻理解。然而,本领域普通技术人员将理解,可以在没有这些具体细节的情况下实践实施例。在其他情况下,未详细描述公知的操作、组件、和电路,以免混淆这些实施例。应领会,本文公开的具体结构和功能细节可以是代表性的,而不一定限制实施例的范围。另外,尽管已经用结构特征和/或方法动作专用的语言描述了主题,但是应理解,所附权利要求书中限定的主题不一定限于本文所述的特定特征或动作。相反,本文描述的特定特征和动作作为实现权利要求的示例形式被公开。

另外的示例实施例

以下示例涉及另外的实施例,根据这些实施例很多排列和配置将变得清晰可见。

示例1是用于时延降低的自动语音辨识(asr)的由处理器实现的方法,该方法包括:由基于处理器的系统从语音片段中生成一个或多个完整语句假设,每个完整语句假设与似然性得分相关联;由基于处理器的系统从语音片段中生成一个或多个部分语句假设,每个部分语句假设与似然性得分相关联;由基于处理器的系统选择完整语句假设中与最高的完整语句假设似然性得分相关联的一者;由基于处理器的系统选择部分语句假设中与最高的部分语句假设似然性得分相关联的一者;由基于处理器的系统基于与所选择的完整语句假设相关联的似然性得分和与所选择的部分语句假设相关联的似然性得分的比率,来计算相对似然性得分;由基于处理器的系统计算相对似然性得分随时间变化的趋势;由基于处理器的系统基于确定该趋势在所选时间段内没有降低,而识别出语音的终点。

示例2包括示例1的主题,还包括:响应于识别出语音的终点,而提供所选择的完整语句假设作为asr结果。

示例3包括示例1或2的主题,还包括:由语言解释器电路生成对asr结果的响应,该响应包括执行与asr结果相关联的请求命令。

示例4包括示例1-3中任一示例的主题,其中,趋势计算还包括计算相对似然性得分的时间样本之间的差异,并对所计算出的差异的时间序列应用低通滤波器。

示例5包括示例1-4中任一示例的主题,其中,选定时间段被选择为提供期望的asr错误率。

示例6包括示例1-5中任一示例的主题,其中,完整语句假设和部分语句假设是由加权有限状态换能器(wfst)解码器生成的。

示例7包括示例1-6中任一示例的主题,还包括:由神经网络生成语音的语音学单元的声学得分,以供wfst解码器使用。

示例8是用于时延降低的自动语音辨识(asr)的系统,该系统包括:加权有限状态换能器(wfst)解码器电路,用于从语音片段中生成一个或多个完整语句假设,每个完整语句假设与似然性得分相关联;wfst解码器电路还用于从语音片段中生成一个或多个部分语句假设,每个部分语句假设与似然性得分相关联;相对似然性得分计算电路,用于选择完整语句假设中与最高的完整语句假设似然性得分相关联的一者,并且选择部分语句假设中与最高的部分语句假设似然性得分相关联的一者;相对似然性得分计算电路还用于基于与所选择的完整语句假设相关联的似然性得分和与所选的部分语句假设相关联的似然性得分的比率来计算相对似然性得分;得分趋势计算电路,用于计算相对似然性得分随时间变化的趋势;终点判定电路,用于基于确定该趋势在选定时间段内没有降低,而识别出语音的终点。

示例9包括示例8的主题,其中,wfst解码器电路还用于响应于识别出语音的终点,而提供所选择的完整语句假设作为asr结果。

示例10包括示例8或9的主题,还包括:语言解释器电路,用于生成对asr结果的响应,该响应包括执行与asr结果相关联的请求命令。

示例11包括示例8-10中任一示例的主题,其中,趋势计算还包括计算相对似然性得分的时间样本之间的差异,并对所计算出的差异的时间序列应用低通滤波器。

示例12包括示例8-11中任一示例的主题,其中,选定时间段被选择为提供期望的asr错误率。

示例13包括示例8-12中任一示例的主题,还包括:神经网络,用于生成语音的语音学单元的声学得分,以供wfst解码器使用。

示例14是至少一种非暂态计算机可读存储介质,其上编码有指令,这些指令在被一个或多个处理器执行时,产生以下用于时延降低的自动语音辨识(asr)的操作,这些操作包括:从语音片段中生成一个或多个完整语句假设,每个完整语句假设与似然性得分相关联;从语音片段中生成一个或多个部分语句假设,每个部分语句假设与似然性得分相关联;选择完整语句假设中与最高的完整语句假设似然性得分相关联的一者;选择部分语句假设中与最高的部分语句假设似然性得分相关联的一者;基于与所选择的完整语句假设相关联的似然性得分和与所选择的部分语句假设相关联的似然性得分的比率来计算相对似然性得分;计算相对似然性得分随时间变化的趋势;基于确定该趋势在选定时间段内没有降低,而识别出语音的终点。

示例15包括示例14的主题,还包括下述操作:响应于识别出语音的终点,而提供所选择的完整语句假设作为asr结果。

示例16包括示例14或15的主题,还包括下述操作:由语言解释器电路生成对asr结果的响应,该响应包括执行与asr结果相关联的请求命令。

示例17包括示例14-16中任一示例的主题,其中,趋势计算还包括下述操作:计算相对似然性得分的时间样本之间的差异,并对所计算出的差异的时间序列应用低通滤波器。

示例18包括示例14-17中任一示例的主题,其中,选定时间段被选择为提供期望的asr错误率。

示例19包括示例14-18中任一示例的主题,其中,完整语句假设和部分语句假设是由加权有限状态换能器(wfst)解码器生成的。

示例20包括示例14-19中任一示例的主题,还包括下述操作:由神经网络生成语音的语音学单元的声学得分,以供wfst解码器使用。

示例21是用于时延降低的自动语音辨识(asr)的系统,该系统包括:用于从语音片段中生成一个或多个完整语句假设的装置,每个完整语句假设与似然性得分相关联;用于从语音片段中生成一个或多个部分语句假设的装置,每个部分语句假设与似然性得分相关联;用于选择完整语句假设中与最高完整语句假设似然性得分相关联的一者的装置;用于选择部分语句假设中与最高的部分语句假设似然性得分相关联的一者的装置;用于基于与所选择的完整语句假设相关联的似然性得分和与所选择的部分语句假设相关联的似然性得分的比率来计算相对似然性得分的装置;用于计算相对似然性得分随时间变化的趋势的装置;以及用于基于确定该趋势在选定时间段内没有降低而识别出语音的终点的装置。

示例22包括示例21的主题,还包括:用于响应于识别出语音的终点而提供所选择的完整语句假设作为asr结果的装置。

示例23包括示例21或22的主题,还包括:用于通过语言解释器电路生成对asr结果的响应的装置,该响应包括执行与asr结果相关联的请求命令。

示例24包括示例21-23中任一示例的主题,其中,趋势计算还包括用于计算相对似然性得分的时间样本之间的差异的装置,以及对所计算出的差异的时间序列应用低通滤波器的装置。

示例25包括示例21-24中任一示例的主题,其中,选定时间段被选择为提供期望的asr错误率。

示例26包括示例21-25中任一示例的主题,其中,完整语句假设和部分语句假设是由加权有限状态换能器(wfst)解码器生成的。

示例27包括示例21-26中任一示例的主题,还包括:用于通过神经网络生成语音的语音学单元的声学得分以供wfst解码器使用的装置。

本文采用的术语和表述被用作描述性而非限制性的术语,并且不希望使用这些术语和表述来排除所示出和描述的特征(或其部分)的任何等同形式,并且应认识到,在权利要求书的范围内可以进行各种修改。因此,权利要求书旨在覆盖所有这样的等同形式。本文已经描述了各种特征、方面、和实施例。如本领域技术人员将理解的,特征、方面、和实施例易于相互组合并且易于改变和修改。因此,应当认为本公开涵盖这些组合、改变和修改。希望本公开的范围不受具体实施方式的限制,而是由所附权利要求书来限定。要求本申请的优先权的未来递交的申请可以通过不同的方式请求保护所公开的主题,并且通常可以包括与如本文中以各种方式公开或以其他方式阐明的一个或多个元素的任意集合。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1