用于低资源设备的高准确度关键短语检测的方法和系统与流程
本申请涉及用于低资源设备的高准确度关键短语检测的方法和系统。
背景技术:
关键短语检测(诸如话音唤醒或wov)或热词检测系统可以用于检测被称为唤醒短语的词或短语等。对这样的唤醒短语的检测可以通过设备来启动活动。例如,设备可以通过从低功率侦听状态或休眠模式过渡到活动模式来唤醒,并且在许多情况下,激活诸如个人助理(pa)应用之类的特定计算机程序。
此类系统常常被放置在诸如智能电话之类的多功能设备上,在这些设备上消费者越来越要求能量节约以增加设备的电力寿命同时还要求最高可能的质量。虽然已经存在一些低资源wov系统,但是这些系统由于低效率的存储器使用和重计算负荷而仍然消耗太多功率,同时这些系统通过唤醒与实际的关键短语接近但不相同的口语词仍然可能是非常不准确的,从而常常对用户来说产生烦人且浪费时间的体验。
技术实现要素:
根据本申请的一方面,提供了一种计算机实现的音频关键短语检测的方法。该方法包括:生成与接收到的音频输入相关联的亚语音单位的分数的时间系列和添加的静默分数;基于亚语音单位的分数的时间系列中的至少一些,来更新基于起始状态的排斥模型和与预先确定的关键短语相关联的关键短语模型,其中,所述排斥模型和所述关键短语模型都具有通过过渡互连的状态;经由所述过渡从所述排斥模型并通过所述关键短语模型来传播分数相关值,并且包括通过一系列连续的静默状态来传播所述值以在口语关键短语的至少一部分之前或之后或者之前和之后有意地添加静默;以及取决于通过使用所述关键短语模型所计算的关键短语检测似然分数而进行关键短语检测确定。
根据本申请的另一方面,提供了一种用于执行关键短语检测的系统。该系统包括:存储器,所述存储器被配置为存储声学模型、基于起始状态的排斥模型以及与预先确定的关键短语相关联的至少一个关键短语模型;以及至少一个处理器,所述至少一个处理器耦合到所述存储器并且通过以下步骤来操作:生成所述声学模型以生成亚语音单位的分数的时间系列以便基于亚语音单位的分数的时间系列中的至少一些来更新所述排斥模型和所述关键短语模型以生成关键短语似然分数;生成所述排斥模型以接收三音素的排斥分数,所述三音素形成所述声学模型的亚语音单位,其中,所述排斥分数是排斥语音非关键短语三音素的分数,所述排斥语音非关键短语三音素具有从以下音素改变而来的音素中的一个或两个:这些音素形成所述声学模型的至少一个所接受的关键短语三音素输出,所述输出形成要检测的关键短语的一部分;以及生成所述关键短语模型,以从所述排斥模型接收值来生成所述关键短语似然分数以进行关键短语检测确定。
根据本申请的另一方面,提供了至少一种非暂时性机器可读介质,所述非暂时性机器可读介质包括多个指令,所述多个指令响应于在设备上被执行,使所述设备通过以下步骤来操作:生成音频关键短语检测模型,包括:训练具有多个排斥输出节点的声学模型,所述排斥输出节点各自包括亚语音单位,至少一些亚语音单位的形式为绑定上下文相关三音素hmm状态;确定在词汇表分类数据结构中选择的三音素的一个或多个最多发生的中心音素分数,所述词汇表分类数据结构接收形成词汇表的单音素作为该结构的输入,并且所述一个或多个最多发生的中心音素分数是针对与所述单音素中的不同单音素相关联的每个中心音素而确定的;生成排斥模型,包括将所述排斥模型布置为接收所述声学模型上的所述亚语音单位中的个别亚语音单位的排斥分数,所述亚语音单位分别表示所述中心音素中的一个或所述三音素中的一个;以及生成至少一个关键短语模型,该关键短语模型从所述排斥模型接收值以进行检测确定。
附图说明
在附图中以示例方式而非限制方式图示了本文描述的素材。为了图示的简单和清晰,附图中图示的元素不一定是按比例绘制的。例如,为了清晰,一些元素的尺寸相对于其他元素可被夸大。另外,在认为适当时,附图标记在附图之间被重复以指示出对应的或相似的元素。在附图中:
图1是用于提供关键短语检测的示例设定环境的说明性图;
图2是根据本文的实施方式中的至少一个的用于提供关键短语检测的示例系统的说明性图;
图3图示与关键短语检测相关联的示例数据结构;
图4图示示例声学模型深度神经网络;
图5图示示例排斥(rejection)模型和示例关键短语模型;
图6是根据本文的实施方式中的至少一个的用于低资源设备并使用中心音素(centerphones)的高准确度关键短语检测的方法的流程图;
图6a是根据本文的实施方式中的至少一个的用于生成要放置在排斥模型上的排斥状态的数据结构的示意图;
图6b是输出三音素(triphone)的示意图,输出三音素来自声学模型深度神经网络并且具有根据图6的过程的三音素中的每个状态的标识分数;
图7是根据本文的实施方式中的至少一个的用于针对低资源设备执行高准确度关键短语检测的方法的系统的示意图;
图8是示出图6的过程的测试结果的中心音素排斥表1;
图9是根据本文的实施方式中的至少一个的用于低资源设备并使用上下文相关音素的高准确度关键短语检测的另一方法的流程图;
图10是用于根据图9的过程来说明上下文音素的文本图;
图11是示出根据图9的过程的上下文相关音素技术的结果的表2;
图12是根据本文的实施方式中的至少一个的用于关键短语检测的解码模型、添加的静默(silence)状态和关键短语模型的示意图;
图13是根据本文的实施方式中的至少一个的用于使用添加的静默进行关键短语检测的示例过程的流程图;
图14是根据本文的实施方式中的至少一个的通过使用静默状态的结果的表3;
图15是根据本文的实施方式中的至少一个的通过使用静默状态的进一步结果的表4;
图16是根据本文公开的实施方式中的至少一个的将解码器的结果与不同长度的静默相比较的曲线图;
图17是示出通过使用本文公开的关键短语检测方法的组合所获得的结果的表5;
图18是比较本文公开的关键短语检测方法的不同组合的结果的曲线图;
图19是比较本文公开的关键短语检测方法的更多组合的结果的曲线图;
图20是根据本文的实施方式中的至少一个的用于执行话音唤醒解码器建模的示例系统的说明性图;
图21是示例系统的说明性图;以及
图22图示完全根据本公开的至少一些实施方式布置的示例设备。
具体实施方式
现在参考附图描述一个或多个实施方式。虽然论述了具体配置和布置,但应当理解这么做只是为了说明。相关领域的技术人员将认识到,在不脱离描述的精神和范围的情况下,可以采用其他配置和布置。相关领域的技术人员将会清楚,本文描述的技术和/或布置也可用在与本文所述不同的多种其他系统和应用中。
虽然接下来的描述阐述了可在诸如片上系统(system-on-a-chip,soc)体系结构之类的体系结构中显现的各种实施方式,但本文描述的技术和/或布置的实施方式不限于特定的体系结构和/或计算系统,而是可由任何体系结构和/或计算系统为类似的目的而实现。例如,采用例如多个集成电路(ic)芯片(例如包括数字信号处理器、专用硬件等)和/或封装的各种体系结构和/或诸如机顶盒、智能电话等等之类的各种计算设备和/或消费电子(ce)设备可实现本文描述的技术和/或布置。另外,虽然接下来的描述可阐述许多具体细节,例如逻辑实施方式、系统组件的类型和相互关系、逻辑分区/集成选择等等,但要求保护的主题可在没有这种具体细节的情况下实现。在其他情况下,可能没有详细示出一些素材,例如控制结构和完整软件指令序列,以免模糊本文公开的素材。
本文公开的素材可以用硬件、固件、软件或者其任何组合来实现。本文公开的素材也可实现为存储在机器可读介质上的指令,这些指令可被一个或多个处理器读取和执行。机器可读介质可包括用于以机器(例如计算设备)可读的形式存储或传输信息的任何介质和/或机构。例如,机器可读介质可包括只读存储器(readonlymemory,rom);随机访问存储器(randomaccessmemory,ram);磁盘存储介质;光存储介质;闪存设备;电的、光的、声的或者其他形式的传播信号(例如,载波、红外信号、数字信号等等),以及其他。以另一形式,除了非暂时性物品不包括暂时性信号本身之外,可以与上面提及的示例或本文的其他示例中的任一个示例一起使用非暂时性物品,诸如非暂时性计算机可读介质。非暂时性物品包括除信号本身以外的可以以“暂时性”方式暂时地保持数据的那些元件,诸如ram等。
说明书中提及“一个实施方式”、“一实施方式”、“一示例实施方式”等等指示的是所描述的实施方式可包括特定的特征、结构或特性,但可能不一定每个实施方式都包括该特定特征、结构或特性。另外,这种短语不一定指同一实施方式。另外,当结合一实施方式来描述特定的特征、结构或特性时,认为结合其他实施方式(无论本文是否明确描述)来影响这种特征、结构或特性是在本领域技术人员的知识范围内的。
本文描述了与用于低资源设备的高准确度关键短语检测有关的方法、设备、装置、计算平台和物品。
如上所述,关键短语或热词检测系统可以用于检测词或短语等,所述词或短语等可以通过设备来启动活动,诸如基于对关键短语的检测来使设备从低功率或休眠模式唤醒到活动模式。如本文所使用的,术语关键短语可以指示要检测的任何音频指示符或声学事件,诸如短语、词或一组音素,或诸如婴儿的哭声、尖叫声等之类的音频或声学事件。此外,可以预先确定关键短语以供系统使用,使得可以提供对预先确定的关键短语的检测。在实施方式中,基于能量的话音激活检测可以检测语音或某种形式的音频输入,并且可以基于话音激活检测来启动如本文所讨论的关键短语检测。
在一些实施方式中,可以基于表示接收到的音频输入(可以包括输入语音)的特征向量的时间系列(timeseries)来生成亚语音单位(sub-phoneticunit)的分数的时间系列。例如,可以经由麦克风接收可以包括输入语音流的音频输入,并且可以随着时间的推移而对所得到的音频数据进行采样以生成提取系数,诸如梅尔频率倒谱系数(mfcc)等。可以堆叠多组mfcc(例如,随着时间的推移而获得的)以形成特征向量,诸如多维特征向量。此外,可以随着时间的推移而生成此类特征向量,以提供表示所接收到的音频(可以包括语音)的特征向量的时间系列。可以基于诸如深度神经网络(dnn)等之类的声学模型来对此类特征向量进行评分,以提供亚语音单位的分数。例如,亚语音分数中的至少一些可以与特定三音素已被说出的可能性相关联,但是也可对作为单个音位(phoneme)(或单个音素或单音素)、亚音素的亚语音单位进行评分,或者甚至为多个三音素提供单个输出分数。
基于亚语音单位的分数(例如,声学模型的输出),可以更新基于起始状态的排斥模型(或仅仅排斥模型)和与预先确定的关键短语相关联的关键短语模型。例如,可以在来自声学模型的输出的每个时间实例处更新基于起始状态的排斥模型和关键短语模型。基于起始状态的排斥模型可以包括例如单个状态,所述单个状态具有与声学模型的亚语音单位的分数中的一些分数相关联的自循环。此类自循环可以包括在没有来自模型的其他状态的任何过渡(transition)的情况下基于来自声学模型的输出对单个排斥状态的更新。此外,关键短语模型可以包括多状态词汇表(lexicon)查找关键短语模型,该模型具有在与针对预先确定的关键短语的词汇表查找相关联的状态之间的过渡。
基于对基于起始状态的排斥模型和关键短语模型的更新,可以进行关于所接收到的输入语音是否与预先确定的关键短语相关联的确定。例如,基于起始状态的排斥模型的单个状态可以提供排斥似然分数(例如,所接收到的语音不是关键短语的可能性),而关键短语模型的最终状态为所接收到的音频输入提供关键短语似然分数(例如,所接收到的语音是关键短语的可能性)。可以基于排斥似然分数和关键短语似然分数来进行关于所接收到的音频输入是否与预先确定的关键短语相关联的确定。例如,可以确定基于排斥似然分数和关键短语似然分数的似然分数(例如,对数似然比),并将其与预先确定的阈值相比较。例如,如果对数似然分数大于阈值,则可以从休眠模式等激活或者唤醒设备。作为一种方法,似然分数是关键短语模型和排斥模型的似然分数之间的差。这样的关键短语检测系统由2015年11月24日提交并且2017年10月17日授权发布的美国专利no.9,792,097公开。
已知的关键短语检测模型面临困难,因为仍然存在由排斥模型接收并进而提供的相对大量的非关键短语或排斥亚语音单位或分数。通过一种形式,排斥模型使用n-best选择分数分析来提供多达100个排斥输出,并且其中每个输出分数具有分别来自声学模型(其可能具有大约4000个输出)的输出的不同的亚语音单位。这引起非常重的计算负荷,从而因大存储器容量要求而消耗处理器时间,并且进而,在低资源设备上消耗太多功率。可按照不同的尺寸形成常规的声学模型,但是较小的模型具有较差的质量。
在降低计算负荷和存储器容量要求的一种已知尝试中,可以通过使用音频的训练集来训练声学模型而生成声学模型、基于起始状态的排斥模型和关键短语模型,使得声学模型具有包括绑定三音素(tiedtriphone)(例如,hmm)状态的多个输出。例如,绑定三音素状态中的每一个可以与表示正在使用的语言的词汇表中的多个单音素(或音位)中的一个相关联。此外,声学模型可以包括表示诸如静默或背景噪声之类的非语音的输出。在实施方式中,可以通过输入音频数据来训练声学模型(例如,dnn)。基于声学模型输出(例如,dnn输出),可以选择每个可能的音位是中心音素的三音素,以保持作为声学模型的输出。可以选择与在训练期间最经常观察到的中心音素相对应的声学模型输出,或者换句话说,三音素的输出分数被选择,并且这样选择的声学模型输出可以被用作排斥模型或者被用在排斥模型中。例如,可以为排斥模型选择针对每个单音素的一个或n个最重要的中心音素声学模型输出。这仍然要求要由排斥模型处置的相对大量的排斥分数,诸如上面提及的也被添加到排斥模型的100个输出。这些常规的声学模型能提供甚至更少的输出(例如50个),但是语音辨识的质量(或准确度)就会更显著地下降。
通过另一方法,使用单独的数据结构来选择应该在声学模型上保留哪些排斥输出。该数据结构使用了被考虑用于表示采用期望语言的期望词汇表的所有单音素(或音位),并且分类操作基于模型训练期间的强制对齐来对输出三音素的观察结果的数量进行计数。输出三音素的重要性是根据那个发生次数(occurence)来确定的。强制对齐是指一种建模系统,该系统通过将词汇表单音素映射到一系列音素,以使得可使用声学观察结果的输入来在音位的线性模型上对状态进行评分。强制对齐具体是指将音素强制成词或短语顺序。结果是具有与个别单音素相关联的最多发生次数的绑定hmm状态三音素(在本文中也称为senones),而不管是哪些音素形成了三音素。具有最多发生次数的三音素被保持作为声学模型的输出并被输入到排斥模型。此技术能够将声学模型输出的排斥亚语音单位的数量减少到被布置为由排斥模型接收的大约100个亚语音分数。这样的技术仍然被认为具有太高的计算负荷和存储器容量要求,同时这些系统的错误率仍然被认为太高。
自动语音辨识(asr)系统和模型的另一困难通常是假接受错误率仍然常常太高。此类系统在听到接近于关键短语的词或短语(诸如针对关键短语“hello”的yellow或针对关键短语“siri”的名称sari)时频繁地唤醒。当可在句子中间听到关键短语时发生一些错误,例如没有第一音素/g/然后最后音素/s/听上去非常类似于“alexa”
为了解决这些问题,可单独或一起使用本文公开的许多技术来降低计算负荷、存储器容量要求、功耗和错误率。本文公开的中心音素选择技术使用分类数据结构,其中音位清单或表示语言的单音素的词汇表被自始至终迭代,并且其中每个音位作为中心音素(中心hmm状态)出现的输出三音素被选择。所选择的中心音素三音素根据发生次数被分类,并且对于在三音素的中心音素处的每个音位具有最多发生次数或n个最多发生次数的三音素被选择作为来自声学模型的排斥输出,被输入到排斥模型,并且用于该具体音位。作为一个示例,针对每个音位执行此过程,使得最终排斥模型可以具有与清单中存在的音位一样多的排斥。当声学模型被修剪(pruned)使得在针对被排斥语音的声学模型上仅提供这些输出时,这可以将语音排斥输出的数量大幅地减少到单音素的数量,从而显著地降低计算负荷、存储器需求和功耗。此外,此技术已发现通过尤其在噪声和混响条件下将错误率降低36%而相对于常规asr系统提供大幅的准确度提升,常规asr系统不以这种方式减少声学模型输出的数量。这似乎是由于方法的数据驱动性质而导致的,使得中心音素被跟踪的三音素相对于单个单音素或音位而言具有相对高的排斥概率,并且因此在各式各样的输入音频数据(诸如具有相同中心音素的不同三音素)上具有令人惊讶的非常好的表现。这允许减少语音(或非关键短语)排斥输出,以使每个单音素具有仅一个神经网络输出,同时仍然以有竞争力的假排斥率提供优异的覆盖范围。另外在所公开的方法中,由于可以基于中心三音素选择方法来为每个语音单位/音位选择一个排斥输出,所以可根据中心三音素统计来选择最重要的输出,这也显著地提高准确度。
另一技术在本文中被称为上下文音素技术,并且包括训练排斥模型以接收非关键短语(或语音排斥)三音素声学模型输出的分数,所述非关键短语(或语音排斥)三音素声学模型输出具有从以下关键短语三音素改变而来的一个或两个单音素(或音位),所述关键短语三音素是从形成要检测的目标关键短语的三音素序列而获得的。在一个或两个音素改变的情况下添加关键词三音素使得能够将对类似词的唤醒(或假接受)从25%降低至小于10%。
还应领会的是,这两个词汇表调整解决方案是通用的,因为它们相对于短语中的措词独立地工作(它不限于关键短语中的某些措辞)。
通过又一个解决方案,可以使用静默建模技术。人们已经发现,当在背景中存在语音或音乐时以及当关键短语在句子或单词中间时已被接受时,由于噪声场景而发生许多假唤醒,诸如在上面提及的garlicsauce(蒜蓉酱)示例。为了减少假唤醒的数量,并且因此提高语音辨识的准确度,可以在关键短语之前或之后添加静默。相对于在传入噪声信号中没有添加静默的音频的分数而言,附加静默状态会降低最终分数。当分数较低时,更可能确定较低阈值以接受更多的真实短语并且还避免假唤醒。具体地,添加静默延长关键短语模型,并且关键短语越长,假唤醒的数量越少。静默还减少asr系统对输入音频进行误分类的机会,例如当单词听上去像例如与garlicsauce示例一样时,或者当确切的关键短语在更大的单词内时,例如与alexander中的alexa一样。通过在关键短语alexa结尾处放置静默,当某人说alexander时不应触发系统。
因此,当在关键短语前面或者在关键短语结尾处对静默进行建模时,可减少这些假唤醒,从而导致较低的假接受。这种静默建模有助于忽视不需要的检测或假唤醒,特别是当关键短语可能是其他词的“亚短语”或者可能与其他词非常类似时。此方法涉及在关键短语模型上的关键短语状态之前或之后添加许多静默状态,并且取决于静默的期望持续时间而添加许多静默状态,如下面将说明的。平均而言,与没有这种静默建模的常规asr技术相比较,此方法将不需要的唤醒的分数降低了大约28%。最终,本文公开的三种方法(中心音素、上下文音素和添加的静默)可单独地或按照任何组合一起工作。
现在参考图1,示例设定环境100提供根据本公开的至少一些实施方式布置的关键短语检测。如图1中所示,设定环境100可以包括用户101向设备102提供音频输入111。例如,设备102可以处于深度休眠或省电模式等中,并且用户101可能正在试图经由关键短语检测唤醒设备102。如果用户101提供被识别为设备102的关键短语的音频输入111,则设备102可以从休眠或省电模式等唤醒。例如,设备102可以为用户101提供自动话音唤醒能力。如所示,在一些示例中,可以经由设备102实现自动话音唤醒系统,使得设备102可以是智能电话。然而,设备102可以是任何适合的设备,诸如计算机、膝上型电脑、超极本、智能电话、平板设备、平板手机、智能扬声器、智能麦克风、诸如智能手表、智能耳机或智能眼镜之类的可穿戴设备等。在任何情况下,可以将设备102描述为如本文所使用的计算设备。
如所示,在一些示例中,用户101可以提供音频输入111以试图唤醒设备102等。如应领会的是,设备102还可以接收背景噪声、静默、背景语音、不旨在获得对设备102的访问的语音等作为音频输入。例如,设备102可能需要将与预先确定的关键短语(例如,如由本文所讨论的排斥模型提供的)不匹配的音频(例如,音频输入111或其他音频)和与预先确定的关键短语(例如,如由本文所讨论的关键短语模型提供的)匹配的音频区分开或者进行分类。
参考图2,用于提供关键短语检测的示例系统200是根据本公开的至少一些实施方式来布置的。如图2中所示,系统200可以包括麦克风202、特征提取模块204、声学评分模块206、对数似然比解码器208、关键短语和排斥模型210、控制器212、话音活动检测模块214及声学模型216。例如,如图2中所示,对数似然比解码器208可以向控制器212提供关键短语分数228。基于关键短语分数228(例如,如果关键短语分数228大于阈值等),控制器212可以提供系统唤醒指示符230(例如,如果关键短语分数228指示预先确定的关键短语已被匹配)或者控制器212可以不提供这样的指示符,并且系统200可以继续评估输入语音是否有匹配。如所示,在一些示例中,控制器212还可以提供与关键短语相关联的系统命令232,以请求系统200或另一系统执行诸如启动应用、生成或者检索数据等之类的操作。如在本文中进一步讨论的,在一些实施方式中,可以经由共享或特定功能数字信号处理器(dsp)、固定功能硬件和/或其他处理器来实现特征提取模块204、声学评分模块206、对数似然比解码器208、控制器212和话音活动检测模块214。
如所讨论的,在一些实施方式中,系统200可以实现单个关键短语,使得在检测到该关键短语时,可以提供系统唤醒指示符230和/或系统命令232。在其他实施方式中,系统200可以实现多个关键短语(基于实现如本文所讨论的多个关键短语模型)。在此类实施方式中,如果检测到这些关键短语中的任一个,则可以提供系统唤醒指示符230和/或系统命令232。此外,系统命令232可以与这些关键短语中的特定关键短语相关联。例如,诸如“计算机,播放音乐”之类的第一唤醒命令(例如,关键短语)可以唤醒设备(例如,经由系统唤醒指示符230)并播放音乐(例如,经由通过系统命令232实现的音乐播放命令),而诸如“计算机,我有邮件吗?”之类的第二唤醒命令(例如,关键短语)可以唤醒设备(例如,经由系统唤醒指示符230)并且确定是否已接收到邮件(例如,经由通过系统命令232实现的收邮件命令)。其他唤醒指示符和命令可以唤醒诸如例如siri、alexa、cortana或google等几个流行的个人助理(pa)之类的pa,然后执行命令,诸如搜索信息。
如所示,麦克风202可以从用户101(或多个用户或环境等)接收音频输入(ai)111。在一些示例中,音频输入111由用户101发出以唤醒系统200和/或使系统200执行操作。如所讨论的,麦克风202可以接收不旨在唤醒系统200的音频输入或其他背景噪声或甚至静默。例如,音频输入111可以包括由用户101发出的任何语音以及在麦克风202的环境中的任何其他背景噪声或静默等。可以将音频输入111表征为音频、输入音频、输入语音流等。麦克风202可以接收音频输入111和/或其他音频(例如,作为空中声波),并且将音频输入111和/或这种其他音频转换为电信号(诸如数字信号)以生成音频数据(ad)218。例如,音频数据218可以被存储在存储器(图2中未示出)中,被转移以便于继续处理等,并且可以被称为音频信号。
如所示,话音活动检测模块214可以接收音频数据218。例如,话音活动检测模块214可以甚至在系统200的深度休眠模式下操作(例如,经由dsp或其他处理器)以连续地监视音频数据218。在检测到要求由系统200进一步评估的话音或其他声音时,话音活动检测模块214可以提供启动信号(is)217,其可以激活系统200的其他模块以提供关键短语检测。例如,话音活动检测模块214可以向特征提取模块204提供启动信号217以激活系统200的特征提取模块204和其他组件。在实施方式中,可以通过环形缓冲器等来缓冲音频数据211的一部分(例如,音频数据的360ms等)。当要求进一步评估的话音或其他声音被话音活动检测模块214检测到时,特征提取模块204可以从缓冲器接收数据并且进一步经由音频数据218接收传入音频。
如果检测到预先确定的关键短语,则如本文所讨论的,系统200可以进入针对用户101的更高级别的操作模式。此外,话音活动检测模块214可以在关键短语检测期间(例如,在未检测到或者尚未检测到关键短语时)操作,以确定是否可以将系统200放回到深度休眠模式等中。例如,话音活动检测模块214可以为系统200提供低功率始终侦听能力。例如,在通过启动信号217激活时,可以连续地监视音频数据218以进行关键短语检测,直到控制器212确定已检测到关键短语并且提供了系统唤醒指示符230为止,或者直到由话音活动检测模块214做出要重新进入休眠模式或低功率状态等的决定为止。
如所讨论的,特征提取模块204可以接收音频数据218。例如,特征提取模块204可以从麦克风202、从所讨论的缓冲器、从系统200的其他存储器等接收音频数据218,并且特征提取模块204可以生成与音频输入111相关联的特征向量220。特征向量220可以是表示音频输入111的任何适合的特征或特征向量等。例如,特征向量220可以是特征向量的时间系列(例如,针对时间实例分别生成的特征向量),使得特征向量220中的每一个均包括分别来自诸如采样时间等之类的时间实例的一组特征或特征向量。
参考图3,示例数据结构300与关键短语检测相关联,并且是根据本公开的至少一些实施方式而布置的。如图3中所示,在多个采样时间301(例如,被表示为采样时间t0、t1、…、tn)中的每一个处,可以生成诸如梅尔频率倒谱系数(mfcc)等之类的采样系数302。采样时间301可以具有诸如每10ms等之类的任何适合的间隔,并且在采样时间301的每个采样时间处执行的采样可以对输入语音或音频的任何持续时间(诸如音频的25ms等)进行采样。采样系数302可以包括任何数量的采样系数,诸如在所图示的示例中的13个系数。此外,采样系数302可以各自被称为特征、特征向量、采样等。例如,采样系数302可以是表示所接收到的音频的功率谱的系数。如所讨论的,在实施方式中,采样系数302是表示所接收到的音频的功率谱的梅尔频率倒谱系数。例如,参考图2,可以通过以下操作来基于音频输入111(例如,经由音频数据218)确定梅尔频率倒谱系数:进行傅立叶变换,或者使用对音频输入111和/或经由麦克风202接收的音频进行避免傅立叶变换的增量调制和专门的fir滤波、映射到梅尔标度、确定在每个梅尔频率下的功率的对数、并且基于对功率的对数的离散余弦变换(dct)确定梅尔频率倒谱系数。
继续参考图3,可以对采样系数302进行堆叠、级联或者组合等以生成特征向量220。如所示,在实施方式中,可以组合采样系数302的11个实例以生成特征向量220的每个特征向量。此外,在堆叠之前,可以对采样系数302进行归一化等。例如,可以通过倒谱均值归一化等来处理梅尔频率倒谱系数以生成采样系数302。如所示,在实施方式中,可以组合采样系数302的11个实例以生成每个特征向量,使得每个特征向量是143(例如11x13)维向量。然而,可以组合或者堆叠采样系数302的任何数量的实例以生成特征向量220。如所示,特征向量fv1可以包括与时间t0-t10相关联的采样系数。此外,特征向量fv2可以包括与时间t1-t11相关联的采样系数,特征向量fv3可以包括与时间t2-t12相关联的采样系数,依此类推,使得相邻特征向量相对于被包括在其中的采样系数302具有重叠。
如图2和图3中所示,可以将特征向量220提供给声学评分模块206。声学评分模块206可以基于如经由存储器接收的声学模型216对特征向量220进行评分,并且基于特征向量220提供任何数量的输出分数226。可以将输出分数226表征为分数、概率、概率密度函数(pdf)、pdf分数、亚语音单位的分数等。例如,声学评分模块206可以为特征向量220中的每一个生成此类输出分数或状态,以生成分数226的时间系列(例如,在图3中被表示为分数s1、s2、…)。例如,分数226可以是亚语音单位的分数的时间系列。在实施方式中,声学评分模块206接收并实现如本文所讨论的声学模型216。在实施方式中,声学模型216可以是基于音频的训练集而预先训练的深度神经网络(dnn),并且数据可以由神经网络(nn)单元222通过神经网络来传播。在实施方式中,声学模型208可以是具有任何数量的输出(诸如包括排斥、静默和关键短语输出的4000个初始输出等)的深度神经网络。输出选择单元224可以将声学模型的某些输出的分数提供给排斥模型以及形成如下所述由解码器208使用的关键短语检测模型210的关键短语模型的某些输入节点、状态或自循环。
在另一实施方式中,声学模型206是经修剪的深度神经网络,其使输出的数量减少或者修剪,使得仅可用输出的子集(例如,如下所述在设置和/或训练期间确定的)被提供或者激活。这种修剪可以在实现期间提供较小的存储器占用面积和/或较低的计算要求。可以通过状态信号213来提供此类需要的输出,或者可以在实现之前预先设置或者预先训练此类需要的输出。
例如,声学评分模块206的输出(例如,分数226)可以表示诸如亚音素、单音素这样的亚语音单位,但是也表示绑定上下文相关三音素状态,或者换句话说,其中单个声学模型输出或输出节点是三个音位或音素的三音素。此类绑定上下文相关三音素状态可以表示在任何一侧(例如,左侧和右侧)绑定到单音素的单音素,以生成绑定上下文相关三音素。语言例如可以具有许多单音素(例如,30-50个单音素),并且诸如示例性绑定上下文相关三音素状态这样的亚语音单位可以在各种上下文中包括此类单音素中的每一个,使得各种其他单音素在此类单音素之前和之后以生成许多组合(例如,亚语音单位)。声学评分模块206可以基于特征向量220来提供与此类亚语音单位相关联的概率或分数等(例如,关于哪一个单位或音素已被说出的概率或分数)以及针对与排斥相关联的概率或分数的输出,诸如包括静默的非语音(非口语)输出和/或包括非语音噪声或语音相关噪声的背景声音。如图3中所示并且如在本文中进一步讨论的,对于分数226中的每一个或一些,对数似然比解码器208可以生成对应的关键短语分数228(例如,被表示为关键短语分数kps1、kps2、...)。在图3的示例中,在如与分数226相关联的,在每个时间实例处生成关键短语分数228。在其他示例中,可以以较不频繁的时间间隔生成关键短语分数228。
此外,如所讨论的,在一些实施方式中,可以检测单个关键短语,并且基于所检测到的关键短语,可以唤醒系统(例如,经由系统唤醒指示符230)并且可以发出可选命令(例如,经由系统命令232)。在其他实施方式中,可以实现第二或附加关键短语,并且关联的关键短语模型可以由对数似然比解码器208来评估。例如,可以评估此类关键短语模型,并且可以评估关联的关键短语分数以确定是否已检测到多个关键短语中的特定关键短语。例如,如关于图5进一步讨论的,可以提供多个关键短语模型。在图3的上下文中,对数似然比解码器208可以为此类关键短语模型中的每一个(并且在多个时间实例处)生成一个或多个关键短语分数以由控制器212评估。
参考图4,可以根据本公开的至少一些实施方式来布置示例声学模型神经网络400。例如,神经网络400可以是用于声学模型216的结构并且在一些实施方式中可以通过声学评分模块206实现为nn单元222。神经网络400可以包括任何适合的神经网络,诸如人工神经网络、深度神经网络、卷积神经网络等。如图4中所示,神经网络400可以包括输入层401、隐藏层402-406和输出层407。为了呈现的清楚起见,神经网络400被图示为具有三个输入节点、各自具有四个节点的隐藏层以及六个输出节点,然而,神经网络400可以包括任何这样的输入、隐藏和输出节点。输入层401可以包括任何适合数量的节点,诸如等于每个特征向量220中的元素的数量的许多节点。例如,输入层401可以具有与特征向量220的143个维度中的每一个相对应的143个节点。在其他示例中,特征向量可以具有更少或更多的元素或维度并且输入层401可以具有对应数量的节点。
此外,如在所图示的示例中,神经网络400可以包括五个隐藏层402-406。然而,神经网络400可以包括任何数量的隐藏层。隐藏层402-406可以包括任何数量的节点。例如,隐藏层402-406可以包括1,500至2,000个节点、2,000至2,500个节点等。在一些示例中,隐藏层402-406具有相同数量的节点,而在其他示例中,一个或多个层可以具有不同数量的节点。输出层407可以包括任何适合数量的节点,使得分数226包括与绑定上下文相关三音素状态(tiedcontext-dependenttriphonestate)、单音素、亚音素等相对应的值。dnn声学模型的绑定三音素输出被称作senones。在一些示例中,神经网络400可以实现隐马尔可夫模型(hmm),使得输出是绑定三音素hmm状态的输出。如所讨论的,在一些实施方式中,可以修剪输出层407,使得提供仅预先确定的输出节点(和关联的分数226),诸如三音素,以便经由神经网络400实现可用状态或分数的子集。
返回到图2,如所讨论的,可以将来自声学评分模块206的分数226提供给对数似然比解码器204,其中输出选择单元224向解码器模型的正确输入提供正确排斥或关键短语输出(或者提供对其的访问)。这可能只是路由来自某些寄存器的输出的自动问题。另外,如所示,对数似然比解码器204还可以接收并实现关键短语模型(或多个关键短语模型)和排斥模型。例如,对数似然比解码器204可以从存储器接收关键短语模型(或多个关键短语模型)和排斥模型(例如,关键短语和排斥模型205)。
参考图5,示例关键短语检测模型500具有根据本公开的至少一些实施方式布置的排斥模型501和示例关键短语模型502。如图5中所示,排斥模型501可以包括单个状态511和多个自循环512。例如,单个状态511可以对应于起始状态并且可以提供基于单个起始状态的排斥模型。此外,自循环512中的每一个可以与分数226中的一个(例如,来自声学评分模块206的输出)相关联,使得自循环512为排斥模型501的单个状态511提供自更新或求和等。例如,自循环512中的每一个可以与对应于亚语音单位的深度神经网络输出或输出节点相关联。使用此类技术,单个状态511可以提供实现排斥模型的起始状态。
通过一种形式,可以不修剪声学评分模块206的声学模型216,并且在这样的实施方式中,自循环512可以包括与诸如排斥(或非关键短语)语音、语音噪声、静默、非语音噪声或这些的任何组合之类的排斥状态有关的数千个自循环。虽然自循环512能包括任何数量的自循环,然而,本文描述的中心音素和上下文音素技术被实现为减少自循环512的数量,并且描述用于为要由自循环接收和输出的非关键短语语音(或口语)状态形成排斥分数或输出的具体操作。在一些实施方式中,声学评分模块206可以被修剪,并且在此类实施方式中,自循环512可以包括显著更少的自循环,诸如如下所述与可能的排斥状态和具体词汇表单音素(或音位或仅仅音素)相关联的数十个自循环。
在操作中,在来自声学评分模块206的输出的每个时间实例处,可以更新排斥模型501以提供与此相关联的排斥似然分数。例如,自循环512可以图示在来自声学评分模块206的输出(例如,分数226)的每个时间实例处对单个状态511的更新。在实施方式中,自循环512可以像在本文中进一步讨论的那样各自接收作为声学模型400或216的输出的排斥相关分数。通过一种示例形式,更新涉及确定占据自循环的所有分数当中的最大分数(或自循环分数的某个其他组合分数),并且然后将该代表性分数与前一个单个排斥状态分数相加。
与常规的排斥模型相比较,具有单个状态511的排斥模型501可以提供大大地减少的排斥模型501(例如,在存储器和计算资源使用方面),常规的排斥模型可能并行实现许多同样可能的词或短语等并且可能要求具有回溯的维特比解码以提供最可能的序列来确定排斥可能性。
另外如图5中所示,关键短语模型502可以在排斥模型501之后并通过过渡513连接。关键短语模型502可以包括通过过渡523互连的多个状态521。状态521中的每一个可以包括诸如自循环522这样的一个或多个自循环或者通过诸如自循环522这样的一个或多个自循环来更新,并且可以基于来自关键短语模型502中的在先状态的过渡523中的过渡或来自排斥模型501中的在先状态的过渡513来更新每个状态521。例如,每个自循环522(或弧)可以与来自声学评分模块206的输出(例如,分数226中的分数)相关联或者对应于(或者接收)来自声学评分模块206的输出(例如,分数226中的分数),该输出是关键短语(目标或期望)输出。在所图示的示例中,状态521中的每一个具有单个自循环522。然而,状态521中的一个或多个可以包括多个自循环。在一些示例中,状态521中的一个或多个可以是具有表示静默的自循环的静默状态,使得可以对包括静默的关键短语进行建模。在这种情况下,可以使用关键短语模型502中的静默状态,而不是使静默分数被放置在排斥模型501中的排斥状态511的自循环512上。在下面描述的技术中的一种将附加静默状态添加到关键短语模型以减少假接受,如下所述。关键短语模型502可以包括任何适合的模型。
通过一种方法,关键短语模型502可以是许多可用的关键短语模型中的一个,其中每个模型都基于预先确定的关键短语。可以基于词汇表查找来选择关键短语模型502,并且然后可以经由系统200实现关键短语模型。在那种情况下,可以生成用于所选关键短语模型的声学模型输出的序列。例如,给定诸如“hellomachine(喂机器)”等这样的关键短语,基于词汇表查找,可以确定形成针对“hellomachine”的序列所需的声学模型输出,并且可以将此类声学模型输出放在一起以形成辨识序列。因此,例如,可以基于词汇表中的三音素hmm状态序列来选择状态521之间的过渡523。
基于排斥模型501和关键短语模型502,在每个或一些时间实例处,可以确定排斥似然分数和关键短语似然分数。例如,排斥似然分数可以是与排斥模型501的单个状态511相关联的分数,并且关键短语似然分数可以与关键短语模型502的状态521的最终状态524相关联。例如,排斥模型501和关键短语模型502可以被初始化使其所有节点或其状态处于零或负无穷大等。参考图3和图5,基于第一特征向量fv1,声学评分模块206可以生成分数s1,并且排斥模型501的单个状态511和关键短语模型502的第一状态可以被更新。首先可以通过对自循环状态522的分数和过渡523进行求和来执行更新,过渡523是其左边的关键短语状态521的前一个分数。通过一种形式,状态521的当前分数可以是针对当前状态刚刚描述的求和与针对左边的关键短语状态521的相同求和之间的最大分数和。这通过关键短语模型有效地创建分数从左向右的传播操作或连续求和。当第二特征向量fv2被处理时,声学评分模块206可以生成分数s2,并且排斥模型501的单个状态511以及关键短语模型502的第一状态和第二状态可以被更新。这种处理可以继续,直到最终状态524被从其初始化状态更新为有意义的评分为止。在这样的时间实例(以及随着更新继续的后续时间实例)处,可以使用单个状态511的分数或概率等以及最终状态524的分数或概率等来确定是否已检测到预先确定的关键短语。例如,关键短语分数228的时间系列可以由对数似然比解码器208基于分数226、排斥模型501和关键短语模型502来生成。
关键短语分数228可以包括将在单个状态511处生成的可能性与在最终状态524处生成的可能性相比较的任何适合的关键短语分数。在实施方式中,关键短语分数228的关键短语分数可以是对数似然比。例如,可以如以下等式中所示地确定关键短语分数228的关键短语分数:
kps=log(p(x|keyphrase))-log(p(x|reject))(1)
其中kps可以是关键短语分数,x可以是正在评估的特征向量的当前累积,并且p提供x为keyphrase(关键短语)或reject(排斥)的成员的概率。
返回到图2,如所示,控制器212可以接收关键短语分数228(例如,关键短语分数的时间系列),并且控制器212可以将关键短语分数228与阈值等相比较以确定是否已检测到预先确定的关键短语。例如,如果关键短语分数228大于(或者大于或等于)阈值,则已检测到预先确定的关键短语并且控制器206可以提供系统唤醒指示符230以唤醒系统200。如果关键短语分数228小于(或者小于或等于)阈值,则尚未检测到预先确定的关键短语并且控制器206可不提供系统唤醒指示符230,并且控制器可以继续监视关键短语分数228。所提供的阈值可以是任何适合的阈值。例如,可以改变阈值以实现各种级别的安全性和/或可用性。例如,低阈值可降低所需置信度(并且可以因此具有更多的假接受),然而较高的阈值可在噪声条件下具有较少的假接受但是具有更多的假排斥。
如所讨论的,排斥自循环512可以被布置为预期声学模型的语音或口语排斥(非关键短语)输出的senones或某些三音素的分数。可以执行该操作以提高准确度(例如,降低假排斥率和假接受错误率),同时减少排斥输出的数量,并且进而,减少降低计算负荷、存储器要求和功耗所需的排斥自循环512。
另外,在一些实施方式中,可以在经由系统200实现之前修剪声音评分模型216,使得声学模型仅输出关键短语检测模型所预期的并且在本文中具体地针对排斥相关输出的那些分数。未由关键短语检测模型使用的声学模型216的任何其他输出被从声学模型中消除。此外,可以基于可从经修剪的声学评分模型216获得的输出(例如,分数226)来生成排斥模型501和关键短语模型502。这种修剪和模型生成可以提供在存储器占用面积、计算资源和功率使用方面提供低资源使用的关键短语检测模型。例如,这种低资源使用在话音唤醒实施方式中可以是有利的。
如本文所讨论的并如图5中所示,在一些实施方式中,可以(例如,针对单个关键短语)实现单个关键短语模型502。在其他实施方式中,可以实现多个关键短语模型(例如,分别与不同的关键短语相关联)。例如,多个关键短语模型中的每一个可以在排斥模型501之后并且与关键短语模型502通过过渡513连接到排斥模型501相类似地通过不同过渡连接到排斥模型501。当使用多个关键短语模型时,可以像在上面结合单个关键短语模型而讨论的那样进行利用阈值的检测确定。
参考图6,用于生成关键短语检测模型的示例过程600是根据本公开的至少一些实施方式来布置的,并且具体地将提供排斥模型,该排斥模型能够使用基于三音素的中心音素而选择的或者由三音素的中心音素所表示的非关键短语语音(或口语)三音素排斥分数的缩减集。过程600可以包括通常像图6中所图示的那样均匀编号的一个或多个操作602-624。过程600或其部分可以由设备或系统(例如,系统200、700、2000或本文讨论的任何其他设备或系统)来执行以生成关键短语检测模型。可以针对要用于经由设备或系统检测的任何数量的关键短语(例如,任何数量的预先确定的关键短语)重复过程600或其部分。此外,将分别参考如图6a和图7中所示的数据结构650和系统700来讨论过程600。例如,如本文所使用的,关键短语检测模型可以包括基于起始状态的排斥模型、关键短语模型和声学模型。
参考图7,提供了根据本公开的至少一些实施方式布置的用于生成关键短语检测模型的示例系统700。如所示,系统700可以包括声学模型训练单元702、具有词汇表调整单元706的排斥模型生成单元704、关键短语模型生成单元710和声学模型生成单元712。此外,声学模型训练单元702可以基于训练集(ts)701来训练初始或起始声学模型703,并且可以生成将被用作经训练后的声学模型的初始输出的亚语音输出(so)705。可以将输出705提供给排斥模型生成单元704。
虽然排斥模型生成单元704被示出为包括词汇表调整单元706,但是在一些情况下,词汇表调整单元706可以被认为是与排斥生成单元704分开的模块。词汇表调整单元706可以具有:中心音素单元720,所述中心音素单元720基于中心音素来选择用于包括在排斥模型中的三音素或其他亚语音单位;和/或三音素修改单元722,所述三音素修改单元722修改基于上下文并用于包括在排斥模型中的关键短语三音素。在下面描述细节。这两个选项单独或一起可以形成子集(ss)709的全部或部分,以及正被训练的声学模型的可用的非关键短语排斥输出和其他排斥输出的全部或部分,如在本文中进一步讨论的。声学模型训练单元712、排斥模型生成单元704和关键短语模型生成模块710可以生成声学模型(am)717,所述am717分别可以是或者可以不是经修剪的模型、排斥模型(rm)707和关键短语模型(kpm)713,如在本文中进一步讨论的。
返回到图6,过程600可以在操作602处开始,在操作602处可以训练声学模型。声学模型可以包括任何适合的声学模型,诸如本文所讨论的人工神经网络、深度神经网络、卷积神经网络等。例如,在操作602处,可以基于音频输入的预先确定的训练集来训练神经网络或模型(例如,具有一组可用的输出节点)。例如,可用输出节点的完整集合可以包括与诸如本文所讨论的绑定三音素hmm状态之类的亚语音单位的分数相对应的输出节点。此外,可用输出节点的完整集合可以包括与静默、噪声等相对应的输出节点。例如,声学模型训练单元702可以基于训练集701来训练声学模型703。
过程600可以包括“执行词汇表调整”604,并且这指代用于针对可能作为关键短语的一部分被排斥的非关键短语口语亚语音来确定哪些亚语音分数应该被放置在排斥模型上的那些操作。为此,过程600可以通常包括“确定在词汇表分类数据结构中的三音素的一个或多个发生最多的中心音素分数,所述词汇表分类数据结构接收形成词汇表的单音素作为该结构的输入”606。作为一个示例,中心音素分数在这里指代概率分布函数(pdf)id(或pdf-id)。通过一种形式,此操作确定至少一个这种中心音素,该中心音素具有在与词汇表分类结构的输出节点处的绑定三音素的中心音素相同的音素的发生次数当中发生次数最多的分数(或pdf-id)。结果是针对正在使用的词汇表的每个单音素的最高分数中心音素,该最高分数中心音素可被放置在声学模型和排斥模型上或者用于表示或者计算将被放置在声学模型和排斥模型上的三音素分数。
参考图6a,此操作的第一部分可以是“确定与词汇表的单音素相关联并且基于分类数据结构中的绑定hmm状态三音素的亚语音单位,所述分类数据结构接收单音素作为输入”608。与生成包括排斥模型和关键短语模型的关键短语检测模型相关联的示例系统或数据结构650是根据本公开的至少一些实施方式来布置的。具体地,数据结构650可以由中心音素单元720用来确定发生最多的中心音素分数,其中,中心音素分别与词汇表的不同单音素相关联。此数据结构600可以是或者包括诸如使用分类树652的分类和回归树(cart)这样的分类数据结构。词汇表等可以包括与此相关联的多个单音素或音位654(例如,被标记为mp1、mp2、…、mpm),其形成诸如/a/、/b/、/k/等这样的词汇表,并且其是分类树652的输入。例如,可以将语言或词汇表中的词或短语的发音表示为一系列单独的声音单位,其可以被表征为音素,而单音素(其是音位)可以被表征为没有上下文的单个音素。词汇表或语言等可以包括任何数量的单音素654。可以将此输入操作认为是在音位清单上进行迭代。应该注意的是,在这里可以使用或者可以不使用音位或单音素mp的整个清单,并且可以使用单音素的某个子集代替形成词汇表的所有单音素。通过一种形式,单音素被一次一个单音素地输入到分类树,但是在其他形式中,单音素作为正在使用的词汇表的集合或子集被输入到分类树中。另外,cart树可能不是规则的,并且它也可能是退化树,所述退化树指第一层级不一定包含所有单音素的条目的事实。
cart数据结构650的树被以数据驱动的方式生成。它可以在根处开始,然后根据问题拆分。问题与上下文有关。cart分类树652的叶或输出节点的子集被示出为onmpm,i,其中m是单音素(mp)号,并且i用于在这里分别针对每个单音素654示出的输出节点号。输出节点on可以采用亚语音单位的形式,并且在这里主要是绑定三音素hmm状态,使得三个输出或输出节点可以形成三音素,但是输出节点可能是其他形式,诸如亚音素或单个音素。例如,每个输出节点可以是或者具有用于形成该输出节点的特定亚语音单位的概率密度函数(pdf)分数(或pdf-id),并且可能是作为三音素的绑定状态的单个值。
过程600然后可以包括“选择具有相同中心音素的三音素”610并且其中,中心音素是与词汇表的单音素中的一个单音素相同的音素。因此,为每个单音素选择分类树652上的以下输出节点on,这些输出节点on具有的cart的输出或叶中的三音素的中心音素,该中心音素是与该单音素相同的音素(或者换句话说,相同的声音、字母或符号)。对于本方法,针对mpm示出的每个onm,i是绑定三音素hmm状态,并且具体地是三音素的中心音素。在这里除了具有在其两侧的绑定左右音素之外,中心音素是与单音素mp相同的音素。因此,每个单音素mpm被示出有其输出节点on1至n的子集,这些输出节点分别是三音素的中心音素或第二级,并且具有与该单音素mp相同的音素。
过程600然后可以包括“获得所选三音素的中心音素的pdf-id”612,或者换句话说,收集所选三音素的中心音素的所有pdf-id。可以根据如利用cart数据结构所获知的单独的状态建模来获得此类pdf。
过程600然后执行基于统计并由pdf-id计数单元656执行的计数操作。在这里,过程600可以包括“确定在三音素中并且对个别输入单音素来说具有n个最多发生次数的相同分数的中心音素”614。pdf-id计数单元656可以对所选三音素的相同中心音素当中的相同pdf分数的频率进行计数,其中具有相同中心音素分数的输出节点在这里为了方便被列举为onm,i(诸如在计数单元656处对mp1来说为on1,1;on1,5;以及on1,8,其中,对此示例来说,这些/a/中心音素全部具有1287的pdf-id)。针对每个输入单音素mp单独地对这些进行计数。因此,此操作可以包括为每个可能的音位或单音素找到中心音素的单个最多发生次数。否则,第二最多发生次数和/或第三最多发生次数等也能被使用并且为排斥模型且为每个单音素mpm提供中心音素分数(或三音素分数)。
在这里应领会的是,相同的中心音素分数不一定源自具有绑定三音素状态的唯一集合的三音素。具体地,在实现绑定三音素hmm状态的一些示例中,在亚语音单位或输出节点中可存在重叠。例如,结构可以被提供如下:输入单音素→输出三音素→每个输出(或叶)的亚语音单位(也可以为三音素)。例如,三音素h/a/t和三音素c/a/n可以各自具有包括三个亚语音单位的不同集合。然而,两个三音素中的中心音素/a/可能共享相同的亚语音单位。换句话说,在构造分类树的同时,可以基于声学属性来绑定三音素。所以,可能的是三音素c-a-t、h-a-t、b-a-t或甚至m-a-t被绑定到其三态hmm的同一第二级hmm状态。结果是它们全部可以具有相同的中心音素分数并且可以在声学模型中通过作为三音素的一个输出(一个pdf)来表示。因此,被分析的统计显示特定pdf被观察到或者使用的频率,而不一定显示特定三音素被观察到的频率。这有效地采纳中心音素是准确的排斥输出的良好指示符的想法。
所以对于在数据结构(或系统)650上示出的示例并且如在上面所提及的,可以发现所示出的三个三音素具有相同的中心音素pdf分数(1287的pdf-id)并且被一起计数(660)为针对具有特定的同一pdf-id的此中心音素/a/的3次发生次数。应该注意的是,在计数单元656处列举的输出节点onm,i仅提供中心音素pdf-id,然而整个绑定三音素被示出在列表或计数660处以仅示出提供了中心音素的原始三音素。如在上面所提及的,不同的三音素可由于状态绑定而使用同一中心音素,其中例如hat、cat和mat共享具有相同pdf-id的相同/a/。此中心音素pdf-id针对它被用在如上所述的词汇表分类数据结构的输出节点或叶处的每个发生次数而被计数。还应该注意的是,可能存在具有不同pdf分数的与此计数660分开计数的其他中心音素/a/。通过一种形式,针对每个输入单音素mp1至mpm按最多发生次数确定中心音素pdf-id。通过其他形式,仅输入单音素中的所选输入单音素可以具有确定的三音素。通过一种形式,可以存在大约24个中心音素pdf-id,所述大约24个中心音素pdf-id是根据数据结构650来确定的并与24个单音素相对应,并且将被用作排斥输出分数、排斥输出分数的一部分,或者用于计算排斥输出分数。
可以针对正被分析的每个单音素重复此过程,使得一旦为单音素确定了具有pdf-id的最大发生次数的中心音素,就可以确定用于下一个单音素的最大发生次数pdf-id,直到每个单音素具有将在排斥模型上使用的最大中心音素pdf-id为止。
应该注意的是,数据结构650的操作也将被理解为与声学模型分开地操作,使得数据通过分类树的传播与数据通过声学模型的传播分开,并且数据结构的叶或输出不一定总是与声学模型相同。
参考图6b,过程600然后可以包括“获得所选三音素的hmm输出分数”616。因此,所选择或确定的三音素或来自分类树的数据结构的输出或三音素的子集与在声学模型上输出的相同三音素匹配。来自数据结构的pdf分数被用作针对声学模型上的三音素的中心音素的声学分数。例如,声学模型亚语音单位(这里为三音素)670示出针对三音素/h/a/t/的hmm状态,即中心音素/a/具有左上下文/h/和右上下文/t/。示例hmm输出可以是dnn-id2485、1287和3450。假定三音素/h/a/t/是以/a/为中心音素的观察到最多的三音素,中心音素dnn输出1287被选择作为针对/a/的排斥分数(或排斥密度)。换句话说,左右上下文的dnnid来自声学模型传播,中心音素/a/的id是来自数据结构的pdf分数(pdf-id)。通过一种形式,所有三个dnn-id值可以作为针对三音素的输出分数被提供给排斥模型,或者可以用于例如通过使用平均值、总和或其他组合来计算针对三音素的单个排斥分数。通过替代形式,它仅是作为针对整个三音素的分数被提供给排斥模型的中心音素的分数(dnn-id或pdf-id)。通过另一选项,三态排斥模仿单个三音素状态。
接下来然后,过程600可以包括“生成排斥模型”618,其中可以基于来自数据结构的输出节点的所选三音素的子集来生成排斥模型。这可以包括“布置排斥模型以接收声学模型上的亚语音单位中的个别亚语音单位的排斥分数,所述亚语音单位分别表示中心音素中的一个或三音素中的一个”620。例如,排斥模型可以包括具有单个状态和自循环的基于起始状态的排斥模型,所述自循环中的至少一些单独地与经由如关于图6并在本文中别处所讨论的操作604至616而生成的所选三音素中的一个或多个相关联。例如,可以通过绑定三音素hmm状态的自循环在辨识图的起始或第一状态下执行排斥。另外,排斥模型可以包括与诸如来自数据结构的输出节点的非关键短语排斥三音素(例如,hmm状态)之类的语音或口语状态相对应并且用于每个单音素的自循环。排斥模型还可以提供与口语噪声以及诸如静默和非口语噪声之类的非语音(例如,非口语状态)相对应的自循环。通过一种形式,结果是最终排斥模型可以具有与正在被使用的词汇表的清单中所存在的音位一样多的非关键短语口语排斥输出。
过程600可以包括“生成关键短语模型”622,其中可以生成一个或多个关键短语模型。例如,可以生成关键短语模型以包括多节点或多状态词汇表查找关键短语模型,所述多节点或多状态词汇表查找关键短语模型如关于图5并在本文中别处所讨论的那样在与输出节点中的一个或多个相关联的每个状态和/或每个状态的自循环之间具有过渡。例如,参考图7,所生成的关键短语模型(例如,关键短语模型713)可以包括声学模型712的输出节点的子集(例如,子集715)(但是也可能有重叠),所述输出节点与指示关键短语或关键短语的一部分被检测到的可能性的关键亚语音单位相对应。
过程600可以继续“生成声学模型”624,其中例如可以基于来自数据结构650的输出节点的所选排斥三音素的子集来生成模型。例如,参考图7,声学模型生成模块712可以接收子集709、子集715和声学模型703。然后通过将这些子集的亚语音单位或更具体地亚语音单位的概率分数放置到声学模型的输出节点上来修改声学模型。因此,声学模型712的输出节点的两个子集(例如,在排斥模型707中使用的子集709和在关键短语模型713中使用的子集715)可以定义声学模型719中需要的语音相关输出节点。排斥和关键短语生成还可以给单独的排斥和关键短语模型提供输出以给声学模型提供与静默、背景噪声等相关联的单独的输出节点。然后,可以将针对这些排斥类别的概率分数提供给声学模型以在该声学模型上提供这些排斥状态。
通过一种方法,还可以修剪声学模型,使得不是来自数据结构的所选三音素中的一个的口语非关键短语排斥相关输出节点被消除或者忽视,以降低计算负荷并且因此在实现期间提供低资源声学模型。经修剪的声学模型可以像本文所讨论的那样被实现(例如,评分)以用于关键短语检测。这种修剪可以提供用于实现的实质上更小的声学模型,这可以进一步节约资源(例如,功率、计算、存储器等)。例如,可以使用本文公开的解决方案来将排斥输出的数量从已知系统的大约100个排斥输出减少到大约39个排斥输出,并且其中在本文的数据结构上使用的词汇表的清单中的每个输入单音素或音位在排斥模型的自循环上具有一个输出(但是每个这样的音位可能具有不止一个)。用于关键短语模型的声学模型输出的子集也可以用于修剪原始声学模型,使得将不被使用的所接受的关键短语声学模型输出也被丢弃。
参考图8,关于本文描述的中心音素技术的测试,表1将中心音素排斥的假排斥率(frr)与不减少排斥输出(自循环)的数量的常规排斥模型的frr相比较。最右列用%示出frr降低(负值越大,改进越好)。表1被划分成三个部分,其中最初的那些行(从“净空(clean)”开始)示出在不同snr级别下的人工数据上的结果,从“净空50cm”开始的行示出在重新记录的近距离交谈(50cm)场景中的相同数据上的结果,并且从“净空400cm”开始的行示出在远场(4m)设定环境上实现的结果。所示的两个系统的检测阈值被选择为在100h的任意语音中提供1次假唤醒,以便在一个错误量度上允许一一对应(apple-to-apple)比较。如在上面所提及的,改进是大约36%的平均frr降低。
参考图9,用于生成关键短语检测模型的示例过程900是根据本公开的至少一些实施方式来布置的,并且具体地将在上下文音素排斥过程中提供上下文相关排斥输出。过程900可以包括通常如图9中所图示的那样均匀编号的一个或多个操作902-912。过程900或其部分可以由设备或系统(例如,系统200、700、2000或本文讨论的任何其他设备或系统)来执行以生成关键短语检测模型。可以针对要用于经由设备或系统检测的任何数量的关键短语(例如,任何数量的预先确定的关键短语)重复过程900或其部分。此外,可以参考如图7中所示的系统700来讨论过程900。
过程900可以包括“基于被排斥语音来生成排斥模型”902。如已经在上面参考图5和图7所描述的,可以生成基于起始状态的排斥模型,所述基于起始状态的排斥模型具有单个排斥状态并且包括各自与声学模型的输出节点的亚语音单位的特定排斥分数相关联的多个排斥模型自循环。这可以包括语音(口语排斥分数和口语噪声分数)和非语音(静默分数和非口语噪声)相关排斥分数以及排斥模型上的对应自循环。口语排斥分数可以包括或者可以不包括通过使用上面已描述的中心音素相关技术所选择的三音素的非关键短语口语排斥分数。通过一种方法,过程900的上下文相关技术除了在存在时提供中心音素相关排斥分数之外还提供要添加到排斥模型的排斥分数。
参考图10,过程900可以包括“获得所接受的关键短语三音素”。这涉及将关键短语的关键词分解成三音素序列。示例语音图1000被显示为针对词“hello”形成上下文相关(或上下文音素)排斥三音素,并且对于正在针对上下文音素进行分析的每个关键词来说这里的分析是相同的或类似的。词hello如所示(并且在sil指代静默的情况下)被分解成三音素序列1002:sil-h-eh、h-eh-l、eh-l-oh、l-oh-sil。可替代地,这可以通过针对初始亚语音序列和/或针对所得到的经修改的亚语音单位(诸如双音素、单音素、四音素等)使用与三音素不同长度的亚语音单位来执行,并且可替代地可以使用任何期望数量的状态(诸如1至5个或更多的状态)来对三音素进行建模。
另外为了选择与所期望的关键短语类似的三音素,可以使用若干其他方法。一种方法将是首先使相似度基于词。然后从词汇表中选择类似的词,并且基于这些词来选择三音素。词的相似度可例如用诸如levenshtein距离之类的方法来度量。另一方法将是构建音位混淆矩阵,然后通过使用可能容易地被混淆的三音素来基于此混淆矩阵构建“经修改的”三音素。
然后,过程900可以包括“改变个别三音素的一个或两个音素”906。然后修改三音素序列中的每个三音素。通过所示的示例,修改框1004示出一种形式,其中通过如所示地改变左音素或右音素来修改来自hello的三音素h-eh-l。通过此示例,仅左音素或右音素被改变,或两者都被改变。通过另一些其他示例,可以仅改变中心音素,或者可以按对左音素或右音素中的一个的改变而改变中心音素。通过另一些其他选项,仅元音或辅音被改变。否则,可以使用这些的任何组合,并且例如当正在使用与三音素不同长度的亚语音单位时或者当长度变化时还取决于长度(音素的数量)。
接下来,过程900可以包括“获得最频繁出现的经修改的三音素”908,其中可生成统计以对经修改的三音素出现在用于生成初始声学模型的训练集(例如,图7中的711)中的次数进行计数。这也可以被认为是对每个经修改的三音素的建模(910),其中该方法获得针对三音素的senones和针对三音素的pdf分数。通过一种形式,针对n个最多发生的经修改的三音素来执行该方法,并且该方法仅受考虑到计算负荷与准确度之间的平衡而被添加到排斥模型的自循环的数量的限制,其中添加到排斥模型的上下文相关排斥分数越多,关键短语检测的准确度的提高越大。然而,虽然向系统(向排斥模型)添加的dnn输出越多,排斥越强并且系统越受限制,但是太强的排斥模型可能例如在噪声条件下具有负面影响。在继续示例中,y-eh-l和m-eh-l被选择为最频繁出现的。这还涉及将所得到的三音素输入到声学模型中。
在其它情况下,可以改变关键词的所有经修改的三音素,或者可以选择经修改的三音素以取决于诸如pdf分数之类的某个其他准则而进行改变。通过另一些其他替代方案,不是使排斥基于所有三音素,而是可以例如仅选择元音的三音素,并且然后系统可以使用它们的最多的n个发生次数而不是最多的一个发生次数,或者可以替代地使用每元音三音素的所有三个dnn输出。
过程900可以包括“将经建模的三音素添加到排斥模型的自循环”912。在给定示例中,诸如“y–eh–l”和“m–eh–l”之类的三音素被选择,并且通过一种形式,在没有用户干预的情况下执行的自动过程中被选择。结果得到可排斥与关键词类似的许多常见词(在这里例如,当关键词是hello时为“yellow”或“mellow”)的更加鲁棒的模型。
上下文音素方法可以是完全自动化的并且与具体关键词无关(换句话说,它不限于某些关键词)。只要关键词的转录和从训练集导出的语言统计(即senone计数)是可用的,就可执行上下文音素过程900。上下文音素过程900可以去除对与关键词类似的词的许多不想要的或误报检测,而不会损害针对真实关键词的辨识率。
在针对这种上下文音素排斥方法的实验中并且在参考图11的同时,表2显示通过用改变的左音素或右音素修改关键短语三音素来降低针对与关键短语类似的非关键短语的假接受率。此实验是针对中文普通话中的关键短语“heylenovo(嘿联想)”来进行的。在实验室设备上记录的220个短语的语料库上测量假排斥率(frr)。在设备上记录的85小时中文播客的语料库上测量播客中的假唤醒。为了测试对类似短语(或关键短语的亚词)的抵抗,该测试采用了由客户传送的300个有问题的发言的语料库。对于基线排斥方法和所公开的方法900两者,阈值被设置为使得该测试在10小时播客中获得1次假唤醒。上下文相关方法将针对类似短语的接受率从24.7%降低到9.3%。通过增强排斥模型,上下文音素方法还将frr从2.64%改善到1.32%(越少越好)。
参考图12,将解码序列的静默添加到关键短语的开头或结尾将帮助减少在句子中间听到关键短语情况下的误报,诸如在上面提及的garlicsauce示例。这使短语序列变得更长且相对更难以检测。作为副作用,这增加了用户暂停以将静默添加到关键短语模型的要求,这对于要取决于关键短语内容而在关键短语之前而不是在关键短语之后的静默来说可能是更直观的。因此,虽然在关键短语之后的附加静默是可能的,但是它可能对用户体验有影响,其中用户可能需要在唤醒短语与命令之间发出静默,例如,“alexa[暂停]请告诉我天气”。
转向解码器或关键短语检测模型1200的示例,许多组件和操作与解码器或模型500(图5)的组件和操作相同或类似并且在这里不必重复。如这里所示的,排斥模型1202与排斥模型501类似,并且具有带多个自循环1208的单个状态1206。关键短语模型1204具有多个状态1210,它们之间有过渡1212,这都像在上面随解码器500而描述的那样。然而,在这里,沿着从状态到状态经由过渡而发生的数据流动(在这里,对于此示例是从左到右),在排斥模型1202之后并在关键短语模型1204之前添加静默状态1214(或静默模型1217)。过渡1216从最后静默状态1218向第一关键短语状态1220提供值,但是静默状态1214可以被认为是关键短语模型1204的一部分。
静默状态1214在这些静默状态中的每一个之间具有多个过渡1222,并具有多个自循环(状态它本身)1224。在基于senone的深度神经网络(dnn)的训练期间,静默不作为简单状态被训练,而是用更复杂的结构来训练,其中例如可以基于不同的背景噪声来训练每个过渡,或者换句话说,每个静默状态具有多个dnn输出,这些输出各自与静默相关联并且各自与一组并行过渡内的不同音频环境相关联。这实现了在各种噪声条件下对静默的更详细建模。对复杂结构的建模因而是可能的。为了效率,巴基斯(bakis)拓扑可以被用于对静默进行建模。
因此,当对静默模型进行评分或者更新时,每个过渡可以向下一个状态1214贡献不同的静默输出。然而,静默状态1214用从该状态向左出现的所选过渡输出分数中的一个(诸如最大或最高静默输出)来更新,或者可以是它们的组合,诸如平均值。
通过一种形式,自循环1202包括对这些过渡1222进行更新的多个静默自循环。排斥模型1202将被要求向过渡1222提供最小静默以确保静默被添加到关键短语的前面。可替代地,排斥模型1202可能具有自循环,这些自循环接收针对并行过渡内的每个过渡的分数,但是这不是必需的。
关于从最后静默状态1218到关键短语状态的过渡,最后静默状态1218将状态值提供给第一关键短语状态1220。
为了设置静默的持续时间,静默状态的数量指示某个静默持续时间,使得添加或者去除静默状态1214将改变静默的持续时间。随着时间流过并且针对每个附加静默状态连续地对模型进行解码要求将关键短语序列延长为一个时移以上。每个时移或步长可以是大约10ms。特别地,静默的持续时间用实验方法来选择并且取决于(例如在frr和/或fa方面)产生最好总体结果的静默的持续时间。例如,200ms的静默以每状态10ms在关键短语模型中或之前产生附加的20个状态。
针对静默状态1214的静默分数的输入操作与随解码器500的关键短语状态而描述的相同,使得排斥模型1202的自循环1208包括用于静默的循环,这些循环将从声学模型接收静默分数,并且通过一种形式,这将导致静默状态1214中的每一个均接收从静默状态到静默状态的相同的静默分数。从第一静默状态1226(它从排斥模型1222的自循环接收过渡值)到最后静默状态1218(它向第一关键短语状态1220提供状态值),这些过渡从左到右重复。与解码器500一样,来自排斥状态1206的排斥似然分数和来自最后关键短语状态1222的关键短语似然分数可以用于进行关键短语检测确定,诸如通过使用这两个值之间的差作为要与阈值相比较的最终分数。
参考图13,针对用于生成关键短语检测模型的示例过程1300的过程1300是根据本公开的至少一些实施方式来布置的,并且具体地将结合添加的静默来操作关键短语检测模型。过程1300可以包括通常像图13中所图示的那样均匀编号的一个或多个操作1302-1310。过程1300或其部分可以由设备或系统(例如,系统200、700、2000或本文讨论的任何其他设备或系统)来执行以生成关键短语检测模型。可以针对要用于经由设备或系统检测的任何数量的关键短语(例如,任何数量的预先确定的关键短语)重复过程1300或其部分。此外,可以参考如图5或图12中所示的解码器500或1200来讨论过程1300。
过程1300可以包括“生成与接收到的音频输入相关联的亚语音单位的分数的时间系列和添加的静默分数”1302,并且如在本文中随声学模型而描述的那样,其中声学模型可以具有如上所述并根据接收到的音频输入来计算的口语和非口语相关分数。关于静默,静默与其他音素一样被描述为声学模式上的语音单位。因此,静默取决于上下文、位置(例如,关键短语的开头、结尾、中间部分)或噪声(非口语噪声),在这些地方静默可产生不同的pdf。无需显式地将静默添加到声学模型以在排斥和/或关键短语模型上使用所添加的静默。在声学模型的训练期间,静默输出通过hmm结构来定义并且被照常在声学模型训练期间隐式地训练。
过程1300可以包括“基于亚语音单位的分数的时间系列中的至少一些来更新基于起始状态的排斥模型和与预先确定的关键短语相关联的关键短语模型”,并且其中如上所述更新排斥模型和关键短语模型。应理解的是,这还可以包括当可检测到多个替代关键短语时更新替代关键短语模型。
过程1300可以包括“其中排斥模型和关键短语都具有通过过渡互连的状态”1306,这例如指代解码器1200的过渡1212、1216和1222,这些过渡将分数相关值从一个状态携带到另一状态。这可以包括静默状态的多个并行过渡,而不论每个并行过渡在单个过渡点处是否被单独处置。并行过渡的多个分数可以在排斥模型处各自具有一自循环,并且最后静默状态可以组合多个并行过渡的分数相关值以形成到关键短语模型的关键短语状态的单个过渡,像在上面随解码器1200说明的那样。
过程1300可以包括“经由过渡从排斥模型并通过关键短语模型来传播分数相关值,并且包括通过一系列连续的静默状态来传播这些值以在口语关键短语的至少一部分之前或之后或者之前和之后有意地添加静默”1308。因此,可以提供诸如静默状态1214这样的一系列静默状态以延长关键短语并且对与实际关键短语类似的非关键短语提供更好的区分。通过一种形式,多个或所有静默状态在这些静默状态的自循环处从一个或多个声学模型接收相同的分数,其中每个静默状态如上所述具有多个自循环,这些自循环可以与并行过渡的单个过渡相关联,或者可以被组合以在单个静默状态上从这些自循环形成单个值。连续状态的数量设置了静默持续时间并且也可以像在上面随解码器1200而描述的那样被预先确定。
过程1300然后可以包括“取决于通过使用关键短语模型所计算的关键短语似然性分数而进行关键短语检测确定”1310,并且如在上面随解码器500而描述的那样。
参考图14,表3提供将没有额外静默的模型与向本文描述的关键短语模型添加有250ms的静默的模型相比较的结果。针对当要求250ms的静默时在一个示例关键短语模型的版本上生成的类似短语,用%示出分数降级。第一列包含所识别的与在这里测试的100h播客集上的第一示例关键短语类似的短语,第二列包含关键短语似然分数,该分数示出音频输入(不想要的短语)是关键短语并且用非静默模型来实现的概率,并且第三列示出在关键短语前面具有额外250ms静默的情况下通过该模型所实现的分数。第四列用%示出分数降低。平均起来,不想要的短语的分数减少了28%。在一些情况下,这些方法之间的差异在35-50%之间。最大值是65.08%并且用于数据的此样本的增量的平均值是~25%。结果表明附加静默减小类似的非关键短语的分数并且减小执行假唤醒的概率,特别是当类似的非关键词语音分段在另一词或句子内部时,诸如对上述“garlicsauce”示例来说。
参考图15,表4示出与没有额外静默的初始模型相比较的具有较长静默(500ms和750ms)的两个变体当中在一组85小时(85h)的任意语音上的真实假唤醒的差异。已对与上述相同的关键短语模型做了评估。在评估期间,wov系统在持续地消费音频数据;不涉及附加vad。数据包含85小时的不同播客。这些值是针对若干不同的阈值(第一列)而示出的。
参考图16,表4的值被用图表表示。在关键短语前面要求静默被示出为帮助显著地减少假唤醒。这对于急剧地减少的极端情况(cornercases)(参见表2)来说尤其如此。
如在上面所提及的,可单独地或按照任何组合一起使用本文描述的三种解决方案(中心音素、上下文音素和添加的静默)。当静默建模和中心音素选择被组合以一起工作并改进语音辨识时,这些方法不会影响计算或模型大小的复杂性。因此,这是在存储器有限或者要求低功耗的设备上改进asr系统的良好方式。
参考图17,表5提供以下各项的比较:(1)上述常规的最佳音素技术,该技术仅仅简单地使用具有最多发生次数的三音素;(2)仅仅中心音素技术;以及(3)中心音素和添加的静默的组合。结果显示从技术(1)到(3)并在一定数量的假唤醒时的渐减假排斥率。在这种情况下,12次假唤醒(12fws/85小时)。针对两个清晰的样本执行这个比较,其中一个样本离源3英尺而另一样本离源9英尺。实验是按照3种变体(技术)在85小时的英语播客和清晰重新录制的发言上做出的。
参考图18和图19,表5的结果被用图表表示。最佳音素选择被示出在0行中,仅仅中心音素选择被示出在*行中,并且中心音素和在关键短语之前附加静默的组合被示出在x行中。该曲线图表明本文公开的两种方法降低错误率并改进排斥过程。具体地,该曲线图表明仅仅中心音素选择具有比传统(最佳音素选择)方法更好的错误率,并且中心音素和添加的静默的组合给出甚至更好的结果。在这种情况下,这些方法一起减小假排斥率并且减小假唤醒次数。
参考图20,用于根据上述实施方式执行关键短语检测和/或关键短语检测模型的生成的示例系统2000是根据本公开的至少一些实施方式来布置的。如图20上所示的,系统2000可以包括中央处理器2001、asr处理器2002、存储器2003和麦克风202。另外如所示,中央处理器2001可以包括声学模型训练模块2004、排斥模型生成模块2005(其可以与排斥模型生成单元704相同)、关键短语模型生成模块2006和声学模型生成模块2007。此外,asr处理器2002可以包括特征提取模块204、声学评分模块206、对数似然比解码器208和控制器212。在一些实施方式中,处理器2002还可以包括话音活动检测模块214。另外如所示,存储器2003可以存储关键短语和排斥模型210以及声学模型216。存储器2003还可以存储训练数据结构数据和统计信息、音频数据、输入语音数据、话音活动检测参数或数据、系数数据、特征向量、分数、输出分数、关键短语分数、对数似然分数、阈值或如本文所讨论的任何其他数据或数据结构。
中央处理器2001和处理器2002可以包括可以提供如本文所讨论的操作的任何数量和类型的处理单元。可以经由软件或硬件或其组合来实现此类操作。例如,处理器2002可以包括专用于操纵从存储器2003或专用存储器获得的数据的电路。处理器2002可以是数字信号处理器(dsp)、图像信号处理器(isp)和/或其他固定功能硬件,诸如固定功能神经网络处理硬件。处理器2002可以是仅用于asr的专用硬件,或者也可以被共享以执行其他非asr任务。此外,中央处理器2001可以包括可以为系统2000以及如本文所讨论的操作提供控制和其他高级功能的任何数量和类型的处理单元或模块。在所图示的示例中,系统2000可以被配置为执行关键短语检测和生成关键短语检测模型。在实施方式中,系统2000可以被认为包括或者排除在这里在系统2000上示出的模块或单元中的任何一个或组合。应理解的是,在这里示出的单元或模块的操作执行与在本文中其它地方具有类似标签的那些单元或模块类似的任务。
存储器2003可以是诸如易失性存储器(例如,静态随机存取存储器(sram)、动态随机存取存储器(dram)等)或非易失性存储器(例如,闪速存储器等)等之类的任何类型的存储器。在非限制性示例中,可以通过缓存存储器来实现系统存储器2003。如所示,在实施方式中,可以经由处理器2002来实现特征提取模块204、声学评分模块206、对数似然比解码器208和控制器212。在另一实施方式中,可以经由中央处理器2001来实现特征提取模块204、声学评分模块206、对数似然比解码器208和控制器212。在其他实施方式中,可以经由执行单元(eu)来实现特征提取模块204、声学评分模块206、对数似然比解码器208和控制器212中的全部或一些或部分。eu可以包括例如可编程逻辑或电路,诸如可以提供各式各样的可编程逻辑功能的一个或多个逻辑核心。
虽然本文论述的示例过程600、900和1300的实施方式可包括执行按图示顺序示出的所有操作,但本公开不限于此,并且在各种示例中,这里的示例过程的实施方式可只包括所示出的操作的子集,包括按与图示的顺序不同的顺序执行的操作,或者包括额外的操作。
此外,本文论述的操作中的任何一个或多个可响应于由一个或多个计算机程序产品提供的指令来进行。这种程序产品可包括提供指令的信号承载介质,所述指令当被例如处理器执行时可提供本文描述的功能。计算机程序产品可在任何形式的一个或多个机器可读介质中提供。从而,例如,包括一个或多个图形处理单元或处理器核的处理器可响应于被一个或多个机器可读介质输送到处理器的程序代码和/或指令或指令集而执行这里的示例过程的一个或多个块。一般而言,机器可读介质可通过程序代码和/或指令或指令集的形式输送软件,所述程序代码和/或指令或指令集可使得本文描述的任何设备和/或系统实现如本文所述的任何系统、操作、模块或组件。
按照在本文描述的任何实施方式中使用的,术语“模块”和“单元”指的是被配置为提供本文描述的功能的软件逻辑、固件逻辑、硬件逻辑和/或电路的任何组合。软件可实现为软件封装、代码和/或指令集或指令,并且如本文描述的任何实施方式中使用的“硬件”例如可单一地或者组合地包括硬连线电路、可编程电路、状态机电路、固定功能电路、执行单元电路和/或存储被可编程电路执行的指令的固件。模块可集体地或者分别地实现为形成更大系统的一部分的电路,例如集成电路(ic)、片上系统(soc),等等。
图21是根据本公开的至少一些实施方式布置的示例系统2100的示意图。在各种实施方式中,系统2100可以是媒体系统,虽然系统2100不限于此情境。例如,系统2100可被包含到以下各项中:个人计算机(pc)、膝上型计算机、超便携膝上型计算机、平板设备、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理(pda)、蜂窝电话、组合蜂窝电话/pda、电视、智能设备(例如,智能电话、智能平板或智能电视)、移动互联网设备(mobileinternetdevice,mid)、消息传递设备、数据通信设备、相机(例如,傻瓜相机、超级变焦相机、数码单反(digitalsingle-lensreflex,dslr)相机)等等。
在各种实施方式中,系统2100包括耦合到显示器2120的平台2102。平台2102可以从诸如内容服务设备2130或内容递送设备2140之类的内容设备或其他类似的内容源接收内容。如所示,在一些示例中,系统2100可以包括经由平台2102实现的麦克风202。平台2102可以像本文所讨论的那样经由麦克风202接收输入语音。包括一个或多个导航特征的导航控制器2150可以用于与例如平台2102和/或显示器2120交互。在下面更详细地描述这些组件中的每一个。
在各种实施方式中,系统2100可以提供如所描述的关键短语检测。例如,关键短语检测可以为如所描述的设备或环境提供话音唤醒能力。在其他实施方式中,系统2100可以实现生成关键短语检测模型(例如,包括声学模型、排斥模型和关键短语模型)。可以例如在关键短语检测之前离线执行这种训练。
在各种实施方式中,平台2102可包括芯片集2105、处理器2110、存储器2112、天线2113、存储装置2114、图形子系统2115、应用2116、和/或无线电装置2118的任何组合。芯片集2105可提供处理器2110、存储器2112、存储装置2114、图形子系统2115、应用2116、和/或无线电装置2118之间的相互通信。例如,芯片集2105可包括能够提供与存储装置2114的相互通信的存储适配器(未图示)。
处理器2110可实现为复杂指令集计算机(complexinstructionsetcomputer,cisc)或精简指令集计算机(reducedinstructionsetcomputer,risc)处理器、x86指令集兼容处理器、多核或者任何其他微处理器或中央处理单元(cpu)。在各种实施方式中,处理器2110可以是(一个或多个)双核处理器、(一个或多个)双核移动处理器,等等。
存储器2112可实现为易失性存储器设备,例如——但不限于——随机访问存储器(ram)、动态随机访问存储器(dram)或静态ram(sram)。
存储装置2114可实现为非易失性存储设备,例如但不限于磁盘驱动器、光盘驱动器、磁带驱动器、内部存储设备、附接存储设备、闪存、电池后备sdram(同步dram)和/或网络可访问存储设备。在各种实施方式中,例如当包括多个硬盘驱动器时,存储装置2114可包括用于为有价值的数字媒体增加存储性能增强保护的技术。
图形子系统2115可执行诸如静态或视频之类的图像的处理以便显示。图形子系统2115例如可以是图形处理单元(graphicsprocessingunit,gpu)或视觉处理单元(visualprocessingunit,vpu)。模拟或数字接口可用于通信地耦合图形子系统2115和显示器2120。例如,该接口可以是高清晰度多媒体接口、显示端口、无线hdmi和/或无线hd兼容技术中的任何一者。图形子系统2115可被集成到处理器2110或芯片集2105中。在一些实施方式中,图形子系统2115可以是通信地耦合到芯片集2105的独立设备。
本文描述的图形和/或视频处理技术可在各种硬件体系结构中实现。例如,图形和/或视频功能可被集成在芯片集内。或者,可使用分立的图形和/或视频处理器。作为另外一种实施方式,图形和/或视频功能可由包括多核处理器在内的通用处理器提供。在另外的实施方式中,这些功能可实现在消费电子设备中。
无线电装置2118可包括能够利用各种适当的无线通信技术来发送和接收信号的一个或多个无线电装置。这种技术可涉及跨一个或多个无线网络的通信。示例无线网络包括(但不限于)无线局域网(wirelesslocalareanetwork,wlan)、无线个人区域网(wirelesspersonalareanetwork,wpan)、无线城域网(wirelessmetropolitanareanetwork,wman)、蜂窝网络和卫星网络。在跨这种网络通信时,无线电装置2118可根据任何版本的一个或多个适用的标准操作。
在各种实施方式中,显示器2120可包括任何电视型监视器或显示器。显示器2120例如可包括计算机显示屏幕、触摸屏显示器、视频监视器、类似电视的设备和/或电视机。显示器2120可以是数字的和/或模拟的。在各种实施方式中,显示器2120可以是全息显示器。另外,显示器2120可以是可接收视觉投影的透明表面。这种投影可传达各种形式的信息、图像和/或对象。例如,这种投影可以是移动增强现实(mobileaugmentedreality,mar)应用的视觉覆盖。在一个或多个软件应用2116的控制下,平台2102可在显示器2120上显示用户界面2122。
在各种实施方式中,(一个或多个)内容服务设备2130可由任何国家的、国际的和/或独立的服务容宿,并且从而例如是平台2102经由互联网可访问的。(一个或多个)内容服务设备2130可耦合到平台2102和/或显示器2120。平台2102和/或(一个或多个)内容服务设备2130可耦合到网络2160以向和从网络2160传输(例如,发送和/或接收)媒体信息。(一个或多个)内容递送设备2140也可耦合到平台2102和/或显示器2120。
在各种实施方式中,(一个或多个)内容服务设备2130可包括有线电视盒、个人计算机、网络、电话、能够递送数字信息和/或内容的具备互联网能力的设备或家电、以及能够经由网络2160或直接地在内容提供者与平台2102和/或显示器2120之间单向或双向地传输内容的任何其他类似设备。将会明白,可经由网络2160单向地和/或双向地向和从系统2100中的组件的任何一者和内容提供者传输内容。内容的示例可包括任何媒体信息,例如包括视频、音乐、医疗和游戏信息,等等。
(一个或多个)内容服务设备2130可接收内容,例如有线电视节目,包括媒体信息、数字信息和/或其他内容。内容提供者的示例可包括任何有线或卫星电视或无线电台或互联网内容提供者。提供的示例并不意图以任何方式限制根据本公开的实施方式。
在各种实施方式中,平台2102可从具有一个或多个导航特征的导航控制器2150接收控制信号。控制器2150的导航特征例如可用于与用户界面2122交互。在各种实施方式中,导航控制器2150可以是指点设备,该指点设备可以是允许用户将空间(例如,连续的和多维的)数据输入到计算机中的计算机硬件组件(具体而言是人机接口设备)。诸如图形用户界面(gui)、电视机和监视器之类的许多系统允许用户利用物理手势控制计算机或电视机和向其提供数据。
控制器2150的导航特征的移动可通过在显示器上显示的指针、光标、聚焦环或其他视觉指示物的移动被复制在显示器(例如,显示器2120)上。例如,在软件应用2116的控制下,位于导航控制器2150上的导航特征例如可被映射到在用户界面2122上显示的虚拟导航特征。在各种实施方式中,导航控制器2150可以不是单独的组件,而是可被集成到平台2102和/或显示器2120中。然而,本公开并不限于本文示出或描述的元素或者情境。
在各种实施方式中,例如,当被使能时,驱动器(未示出)可包括使得用户能够在初始启动之后通过触摸按钮像电视机那样即刻开启和关闭平台2102的技术。程序逻辑可允许平台2102即使在平台被“关闭”时也可将内容流传输到媒体适配器或(一个或多个)其他内容服务设备2130或(一个或多个)内容递送设备2140。此外,芯片集2105可包括对例如5.1环绕立体声音频和/或高清晰度7.1环绕立体声音频的硬件和/或软件支持。驱动器可包括用于集成图形平台的图形驱动器。在各种实施方式中,图形驱动器可包括高速外围组件互连(peripheralcomponentinterconnect,pci)图形卡。
在各种实施方式中,系统2100中示出的组件中的任何一个或多个可被集成。例如,平台2102和(一个或多个)内容服务设备2130可被集成,或者平台2102和(一个或多个)内容递送设备2140可被集成,或者平台2102、(一个或多个)内容服务设备2130和(一个或多个)内容递送设备2140可被集成。在各种实施方式中,平台2102和显示器2120可以是集成的单元。例如,显示器2120和(一个或多个)内容服务设备2130可被集成,或者显示器2120和(一个或多个)内容递送设备2140可被集成。这些示例并不意图限制本公开。
在各种实施方式中,系统2100可被实现为无线系统、有线系统或者两者的组合。当被实现为无线系统时,系统2100可包括适合于通过无线共享介质通信的组件和接口,例如一个或多个天线、发送器、接收器、收发器、放大器、滤波器、控制逻辑,等等。无线共享介质的示例可包括无线频谱的一些部分,例如rf频谱等等。当被实现为有线系统时,系统2100可包括适合于通过有线通信介质通信的组件和接口,例如输入/输出(i/o)适配器、将i/o适配器与相应的有线通信介质连接的物理连接器、网络接口卡(networkinterfacecard,nic)、盘控制器、视频控制器、音频控制器,等等。有线通信介质的示例可包括导线、电缆、金属引线、印刷电路板(printedcircuitboard,pcb)、背板、交换结构、半导体材料、双绞线、同轴电缆、光纤,等等。
平台2102可建立一个或多个逻辑或物理信道来传输信息。该信息可包括媒体信息和控制信息。媒体信息可以指表示打算给用户的内容的任何数据。内容的示例例如可包括来自语音交谈的数据、视频会议、流视频、电子邮件(“email”)消息、语音邮件消息、字母数字符号、图形、图像、视频、文本等等。来自语音交谈的数据可例如是话音信息、静默时段、背景噪声、舒适噪声、音调,等等。控制信息可以指表示打算给自动化系统的命令、指令或控制字的任何数据。例如,控制信息可用于将媒体信息路由通过系统,或者指示节点以预定的方式处理媒体信息。然而,实施方式并不限于图21中示出或描述的元素或情境。
如上所述,系统2000或2100可实现为不同的物理风格或形式规格。参考图22,可以根据本公开的至少一些实施方式布置小型设备2200。在一些示例中,系统2000或2100可经由设备2200实现。在其他示例中,其他设备或系统或者其一些部分可经由设备2200实现。在各种实施方式中,例如,设备2200可实现为具有无线能力的移动计算设备。移动计算设备例如可以指具有处理系统和移动电源或供电电源(例如一个或多个电池)的任何设备。
移动计算设备的示例可包括个人计算机(pc)、膝上型计算机、超便携膝上型计算机、平板设备、触摸板、便携计算机、手持计算机、掌上计算机、个人数字助理(pda)、蜂窝电话、组合蜂窝电话/pda、智能设备(例如,智能电话、智能平板或智能移动电视)、移动互联网设备(mid)、消息传递设备、数据通信设备、相机等等。
移动计算设备的示例还可包括被布置被人穿戴的计算机,例如手腕计算机、手指计算机、戒指计算机、眼镜计算机、皮带扣计算机、臂环计算机、鞋子计算机、衣服计算机和其他可穿戴计算机。在各种实施方式中,例如,移动计算设备可实现为除了语音通信和/或数据通信以外还能够执行计算机应用的智能电话。虽然例如一些实施方式可利用被实现为智能电话的移动计算设备来描述,但可明白其他实施方式也可利用其他无线移动计算设备来实现。实施方式不限于此情境中。
如图22中所示,设备2200可包括具有正面2201和背面2202的外壳。设备2200包括显示器2204、输入/输出(i/o)设备2206、和集成天线2208。设备2200还可包括导航特征2212。i/o设备2206可包括用于将信息输入到移动计算设备中的任何适当的i/o设备。i/o设备2206的示例可包括字母数字键盘、数字小键盘、触摸板、输入键、按钮、开关、麦克风、扬声器、语音识别设备和软件,等等。信息也可经由麦克风202被输入到设备2200中,或者可被语音识别设备数字化。如图所示,设备2200可包括相机2205(例如包括镜头、光圈和成像传感器),以及集成到设备2200的背面2202(或者别处)的闪光灯2210。
各种实施方式可利用硬件元素、软件元素或者两者的组合来实现。硬件元素的示例可包括处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等等)、集成电路、专用集成电路(applicationspecificintegratedcircuit,asic)、可编程逻辑器件(programmablelogicdevice,pld)、数字信号处理器(digitalsignalprocessor,dsp)、固定功能硬件、现场可编程门阵列(fieldprogrammablegatearray,fpga)、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片集,等等。软件的示例可包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(applicationprograminterface,api)、指令集、计算代码、计算机代码、代码段、计算机代码段、字、值、符号或者这些的任何组合。确定一实施方式是否利用硬件元素和/或软件元素实现可根据任何数目的因素而变化,例如期望的计算速率、电力水平、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度和其他设计或性能约束。
至少一个实施方式的一个或多个方面可由存储在机器可读介质上的表示处理器内的各种逻辑的代表性指令实现,该逻辑当被机器读取时使得该机器制造逻辑来执行本文描述的技术。这种被称为ip核的表示可被存储在有形机器可读介质上并且被提供到各种客户或制造设施以加载到实际制作该逻辑或处理器的制造机器中。
虽然已参考各种实现方式描述了本文记载的某些特征,但此描述并不打算被从限制意义上来解释。因此,对本公开所属领域的技术人员来说显而易见的对本文描述的实现方式的各种修改以及其他实现方式被认为属于本公开的精神和范围内。
在一个或多个第一实施方式中,一种计算机实现的音频关键短语检测的方法包括:生成与接收到的音频输入相关联的亚语音单位的分数的时间系列和添加的静默分数;基于亚语音单位的分数的时间系列中的至少一些,来更新基于起始状态的排斥模型和与预先确定的关键短语相关联的关键短语模型,其中,所述排斥模型和所述关键短语模型都具有通过过渡互连的状态;经由所述过渡从所述排斥模型并通过所述关键短语模型来传播分数相关值,并且包括通过一系列连续的静默状态来传播所述值以在口语关键短语的至少一部分之前或之后或者之前和之后有意地添加静默;以及取决于通过使用所述关键短语模型所计算的关键短语检测似然分数而进行关键短语检测确定。
另外在所述第一实施方式中,所述方法更新所述静默状态包括从声学模型给多个静默状态提供相同分数。
进一步地在所述第一实施方式中,所述方法规定每个静默状态具有多个自循环以接收对每个静默状态来说相同的多个分数。
进一步地在所述第一实施方式中,所述方法规定被使用的连续静默状态的数量对应于预先确定的静默的持续时间。
进一步地在所述第一实施方式中,所述方法规定所述静默状态被放置在所述排斥模型之后和所述关键短语模型的关键短语状态之前,并且沿着值经由所述过渡的流动而放置。
进一步地在所述第一实施方式中,所述方法规定到个别静默状态的过渡包括多个过渡,每个单个过渡与所述过渡的组内的不同音频环境相关联。
进一步地在所述第一实施方式中,所述方法规定到个别静默状态的过渡包括多个过渡,每个单个过渡与所述过渡的组内的不同音频环境相关联,并且所述方法包括形成相同的两个状态之间的所述多个过渡的单个代表性分数,并且用所述代表性分数更新所述状态中的一个。
进一步地在所述第一实施方式中,所述方法规定到个别静默状态的过渡包括多个过渡,每个单个过渡与所述过渡的组内的不同音频环境相关联,并且所述方法包括形成相同的两个状态之间的所述多个过渡的单个代表性分数,并且用所述代表性分数更新所述状态中的一个,以及所述方法规定最后静默状态通过使用输入到所述最后静默状态的所述代表性分数来生成单个过渡值并且提供给所述关键短语模型的关键短语状态。
进一步地在所述第一实施方式中,所述方法规定所述排斥模型被布置为接收一个或多个上下文相关排斥语音三音素的排斥分数,其中,上下文相关三音素具有一个或两个音素,该一个或两个因素从形成一个或多个所接受的关键短语语音三音素的音素变化而来。
进一步地在所述第一实施方式中,所述方法规定所述排斥模型被布置为接收三音素的分数,每个三音素具有中心音素,该中心音素在词汇表分类数据结构中具有一个或多个最多发生的中心音素分数,所述词汇表分类数据结构接收形成词汇表的单音素作为该结构的输入。
在一个或多个第二实施方式中,一种用于执行关键短语检测的系统包括:存储器,所述存储器被配置为存储声学模型、基于起始状态的排斥模型以及与预先确定的关键短语相关联的至少一个关键短语模型;以及至少一个处理器,所述至少一个处理器耦合到所述存储器并且通过以下步骤来操作:生成所述声学模型以生成亚语音单位的分数的时间系列以便基于亚语音单位的分数的时间系列中的至少一些来更新所述排斥模型和所述关键短语模型以生成关键短语似然分数;生成所述排斥模型以接收三音素的排斥分数,所述三音素形成所述声学模型的亚语音单位,其中,所述排斥分数是排斥语音非关键短语三音素的分数,所述排斥语音非关键短语三音素具有从以下音素改变而来的音素中的一个或两个:这些音素形成所述声学模型的至少一个所接受的关键短语三音素输出,所述输出形成要检测的关键短语的一部分;以及生成所述关键短语模型,以从所述排斥模型接收值来生成所述关键短语似然分数以进行关键短语检测确定。
进一步地在所述第二实施方式中,所述系统规定仅所述关键短语三音素的中心音素被改变,仅所述关键短语三音素的左音素或右音素或这两者被改变,仅所述关键短语三音素的辅音被改变,或者仅所述关键短语三音素的元音被改变。
进一步地在所述第二实施方式中,所述系统规定生成所述排斥模型包括:获得所述接受的关键短语三音素;改变所述接受的关键短语三音素的音素中的一个或两个,以形成所述非关键短语三音素;对所述非关键短语三音素进行建模;以及将所述排斥模型布置为在所述排斥模型上的自循环处接收所述非关键短语三音素的分数。
进一步地在所述第二实施方式中,所述系统规定用于形成所述声学模型的训练集中的仅n个最频繁发生的非关键短语三音素具有被添加到所述排斥模型的分数。
进一步地在所述第二实施方式中,所述系统规定所述排斥模型被布置为接收三音素或中心音素的分数,每个三音素或中心音素与在词汇表分类数据结构中具有一个或多个最多发生的中心音素分数的中心音素相关联或者是这样的中心音素,所述词汇表分类数据结构接收形成词汇表的单音素作为该结构的输入。
进一步地在所述第二实施方式中,所述系统规定所述关键短语模型包括通过从一个状态到下一个状态的过渡而线性连接的状态,并且其中,至少两个或更多个连续的静默状态被放置在连续的关键短语状态之前或之后或者之前和之后,以在所述关键短语状态之前或之后插入静默。
在一个或多个第三实施方式中,至少一种非暂时性机器可读介质,所述非暂时性机器可读介质包括多个指令,所述多个指令响应于在设备上被执行,使所述设备通过以下步骤来操作:生成音频关键短语检测模型,包括:训练具有多个排斥输出节点的声学模型,所述排斥输出节点各自包括亚语音单位,至少一些亚语音单位的形式为绑定上下文相关三音素hmm状态;确定在词汇表分类数据结构中选择的三音素的一个或多个最多发生的中心音素分数,所述词汇表分类数据结构接收形成词汇表的单音素作为该结构的输入,并且所述一个或多个最多发生的中心音素分数是针对与所述单音素中的不同单音素相关联的每个中心音素而确定的;生成排斥模型,包括将所述排斥模型布置为接收所述声学模型上的所述亚语音单位中的个别亚语音单位的排斥分数,所述亚语音单位分别表示所述中心音素中的一个或所述三音素中的一个;以及生成至少一个关键短语模型,该关键短语模型从所述排斥模型接收值以进行检测确定。
进一步地在所述第三实施方式中,所述设备规定所述布置包括使所述排斥模型在单个状态排斥模型的不同自循环处接收每个排斥分数。
进一步地在所述第三实施方式中,所述设备规定所述确定包括:获得具有相同中心音素分数的中心音素的发生次数的统计;以及在所述词汇表分类数据结构的输出当中仅选择具有如下中心音素的三音素,该中心音素具有所述中心音素分数的最多或n个最多发生次数。
进一步地在所述第三实施方式中,所述设备规定所述中心音素分数是概率密度函数(pdf)分数。
进一步地在所述第三实施方式中,所述设备规定所述声学模型被修剪,使得仅所确定的三音素形成所述声学模型的非关键短语语音排斥输出节点。
进一步地在所述第三实施方式中,所述设备规定所述排斥模型被布置为接收分别与所述单音素中的不同的单音素相关联的所述三音素的排斥分数。
进一步地在所述第三实施方式中,所述设备规定所述排斥模型被布置为接收所述一个或多个最多发生的中心音素分数作为排斥分数,并且其中,所述单音素中的每一个具有所述中心音素分数中的不同的中心音素分数。
进一步地在所述第三实施方式中,所述设备规定所述排斥模型被布置为接收一个或多个上下文相关排斥语音三音素的排斥分数,其中,上下文相关三音素具有从形成一个或多个所接受的关键短语语音三音素的音素改变而来的一个或两个音素。
进一步地在所述第三实施方式中,所述设备规定所述关键短语模型包括通过从一个状态到下一个状态的过渡而线性连接的状态,并且其中,至少一些连续的静默状态被放置在连续的关键短语状态之前或之后或者之前和之后,以在所述关键短语之前或之后或者之前和之后插入静默,其中,静默状态的数量对应于静默的持续时间。
在一个或多个第四实施方式中,至少一种机器可读介质可以包括多个指令,所述多个指令响应于在计算设备上被执行,使所述计算设备执行根据以上实施方式中的任何一个的方法或任何功能。
在一个或多个第五实施方式中,一种设备或一种系统可以包括用于执行根据以上实施方式中的任何一个的方法或任何功能的装置。
将会认识到,实施方式不限于这样描述的实施方式,而是可在带有修改和变更的情况下实现,而不脱离所附权利要求的范围。例如,上述实施方式可包括特征的特定组合。然而,上述实施方式不限于此,并且在各种实现方式中,上述实施方式可包括仅约定这些特征的子集,约定这些特征的不同顺序,约定这些特征的不同组合和/或约定除明确列出的那些特征以外的额外特征。实施方式的范围因此应当参考所附权利要求以及这些权利要求有权享有的等同物的完整范围来确定。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除