语音唤醒方法、装置和设备与流程
本发明涉及互联网技术领域,尤其涉及一种语音唤醒方法、装置和设备。
背景技术:
随着人工智能的不断发展,人机交互模式呈现多模态的特点,其中,语音交互方式尤其被各种产品所支持,该产品可以是某个设备或者某个应用程序。以支持语音交互方式的某设备为例,目前,一种常见的语音交互方式是:用户想要使用该设备时,首先需要说出唤醒语音以唤醒该设备,使设备从休眠状态切换到工作状态,之后再与该设备进行正常的语音交互。
其中,唤醒语音是指其中至少要包含唤醒关键词的语音。比如,假设唤醒关键词为“淘淘你好”,那么用户说出“淘淘你好”或者诸如“淘淘你好呀”这种语音,会被认为该语音即为唤醒语音,相应的设备从休眠状态切换到工作状态。
目前,对于某设备来说,其唤醒关键词往往是被开发者预先固定设置的。为了能识别用户说出的语音是否是唤醒某设备的唤醒语音,可以训练一唤醒系统(或者称为唤醒模型),以通过该唤醒系统进行唤醒语音的识别。在唤醒关键词为固定的情况下,仅需要采集大量包含该唤醒关键词的语音对唤醒系统进行训练即可,此时训练得到的唤醒系统一般在该唤醒关键词上具有良好的性能,亦即该唤醒系统能够准确判别输入的语音是不是包含该唤醒关键词的唤醒语音,但是,如果唤醒关键词发生了改变,那么该唤醒系统的性能无法保证,因为训练样本集可能没有或少量覆盖新唤醒关键词。而实际应用中,用户有自定义唤醒关键词的需求,同样地,如果唤醒系统的训练样本集中没有或者仅有少量的包含用户自定义的唤醒关键词的语料样本,那么唤醒系统的性能将会大大下降。
技术实现要素:
本发明实施例提供一种语音唤醒方法、装置和设备,用以实时地检测音频流中是否包含用户自定义的唤醒关键词语音。
第一方面,本发明实施例提供一种语音唤醒方法,该方法包括:
接收用户语音;
通过唤醒系统确定所述用户语音在第一参考解码路径上对应的第一分数,所述第一参考解码路径是根据用户针对目标对象自定义的第一唤醒关键词建立的;
根据所述第一参考解码路径上各音素分别对应的阈值,确定用于识别所述用户语音是否为唤醒语音的第二分数;
若所述第一分数大于或等于所述第二分数,则唤醒所述目标对象。
第二方面,本发明实施例提供一种语音唤醒装置,该装置包括:
接收模块,用于接收用户语音;
确定模块,用于通过唤醒系统确定所述用户语音在第一参考解码路径上对应的第一分数,所述第一参考解码路径是根据用户针对目标对象自定义的第一唤醒关键词建立的;根据所述第一参考解码路径上各音素分别对应的阈值,确定用于识别所述用户语音是否为唤醒语音的第二分数;
控制模块,用于若所述第一分数大于或等于所述第二分数,则唤醒所述目标对象。
第三方面,本发明实施例提供一种电子设备,包括处理器、存储器,所述存储器上存储有可执行代码,当所述可执行代码被所述处理器执行时,使所述处理器至少实现上述第一方面中的语音唤醒方法。
第四方面,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器至少可以实现上述第一方面中的语音唤醒方法。
在本发明实施例中,用户可以针对目标对象(比如可以是某个应用程序或某个设备)自定义唤醒关键词,基于用户对唤醒关键词的自定义操作,唤醒系统可以建立与该唤醒关键词对应的参考解码路径,该参考解码路径即由该唤醒关键词依次包含的多个音素构成。基于此,在实际应用中,当用户说出一句语音后,唤醒系统先确定该语音在上述参考解码路径上对应的第一分数,再根据该参考解码路径上各音素分别对应的阈值确定用于识别该语音是否为唤醒语音的第二分数,进而通过比较第一分数和第二分数确定该语音是否为唤醒语音。具体地,若第一分数大于或等于第二分数,则确定该语音为唤醒语音,亦即确定该语音中包含唤醒关键词语音,进而唤醒上述目标对象。在上述方案中,唤醒系统对唤醒关键词或者说唤醒语音的识别是在更细维度的音素单元上进行的,即识别一句语音是否是唤醒语音是基于音素级别的阈值来进行判断的,如此使得唤醒系统更加具有通用性,可以准确识别不同用户自定义的各种唤醒关键词。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一示例性实施例提供的一种语音唤醒方法的流程图;
图2为一示例性实施例提供的一种音素对应的阈值的确定方法的流程图;
图3为一示例性实施例提供的音素阈值确定过程的示意图;
图4为一示例性实施例提供的一种确定第一目标坐标的方法的流程图;
图5为一示例性实施例提供的音素阈值确定过程的示意图;
图6为一示例性实施例提供的一种语音唤醒装置的结构示意图;
图7为与图6所示实施例提供的语音唤醒装置对应的电子设备的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式。除非上下文清楚地表示其他含义,“多种”一般包含至少两种。
取决于语境,如在此所使用的词语“如果”、“若”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
另外,下述各方法实施例中的步骤时序仅为一种举例,而非严格限定。
图1为一示例性实施例提供的一种语音唤醒方法的流程图,如图1所示,该方法包括如下步骤:
101、接收用户语音。
102、通过唤醒系统确定用户语音在第一参考解码路径上对应的第一分数,第一参考解码路径是根据用户针对目标对象自定义的第一唤醒关键词建立的。
103、根据第一参考解码路径上各音素分别对应的阈值,确定用于识别用户语音是否为唤醒语音的第二分数。
104、若第一分数大于或等于第二分数,则唤醒目标对象。
文本提供的语音唤醒方法可以由一电子设备来执行,该电子设备可以是诸如pc机、笔记本电脑等终端设备,也可以是服务器。该服务器可以是包含一独立主机的物理服务器,或者也可以为主机集群承载的虚拟服务器,或者也可以为云服务器。
在本发明实施例中,用户可以针对目标对象(比如可以是某个应用程序或某个设备)自定义唤醒关键词,这里将某用户自定义的唤醒关键词称为第一唤醒关键词。实际应用中,目标对象可以提供用户接口,以供用户可以进行第一唤醒关键词的设置操作,该用户接口比如是在某界面中提供输入框,以通过该输入框进行第一唤醒关键词的设置。从而,在该用户设置后第一唤醒关键词之后,后续用户想要使用该目标对象时,都需要先说对应于该第一唤醒关键词的唤醒语音,以将目标对象从休眠状态切换为工作状态。
由于不同用户针对同一目标对象各自自定义的唤醒关键词可能各不相同,为了支持不同用户均可以通过各自自定义的唤醒关键词来唤醒目标对象,本发明实施例提供了一种可以准确识别任意唤醒关键词的唤醒系统(或者也可以称为唤醒模型),即提供了一种具有通用性的唤醒系统。为了实现该通用性,该唤醒系统在更细维度的音素单元这个级别上进行唤醒关键词亦即唤醒语音的识别,从而,即使该唤醒系统曾经并未学习过某唤醒关键词,也能够基于音素单元实现该唤醒关键词的识别。该音素单元可以是单音素单元也可以是多音素比如三音素单元。
下面以某用户针对目标对象自定义了第一唤醒关键词为例来说,首先,响应于用户对第一唤醒关键词的设置操作,唤醒系统可以根据字典中描述的字与音素的对应关系,确定第一唤醒关键词对应的音素序列,由该音素序列构成第一唤醒关键词对应的第一参考解码路径。其中,字典中描述了每个字所对应的音素是什么,那么,当第一唤醒关键词由多个字组成时,该多个字各自对应的音素依次排列,构成了第一参考解码路径。第一参考解码路径可以理解为是,当用户实际说出了第一唤醒关键词时,唤醒系统解码语音的过程中,理论上应该依次解码出该第一参考解码路径上的各音素。
第一参考解码路径设置好之后,用户在后续使用目标对象的过程中,即可以自定义的第一唤醒关键词来唤醒该目标对象,下面对用户在后续实际使用目标对象的过程进行介绍。
在实际应用中,当用户说出一句语音后,首先,唤醒系统需要确定该语音在上述参考解码路径上对应的第一分数。唤醒系统的内部组成可以包括声学模型和解码器,在确定第一分数时,可以先对接收到的语音进行分帧处理,得到多个音频帧,其中,每个音频帧的持续时长保证每个音频帧仅对应于一个音素,之后可以将得到的多个音频帧依次输入声学模型,由声学模型预测出多个音频帧各自对应的音素概率,之后由解码器根据多个音频帧各自对应的音素概率,确定该语音在第一参考解码路径上对应的第一分数。该第一分数可以理解为是表示该语音中包含的内容以多大的概率是该第一参考解码路径对应的第一唤醒关键词。
除了进行上述第一分数的确定外,还需根据第一参考解码路径上各音素分别对应的阈值来确定用于识别接收到的语音是否为唤醒语音(亦即确定该语音是否是对应于第一唤醒关键词的语音,或者说该语音中包含的内容是否对应于第一唤醒关键词)的第二分数。
可以理解的是,识别接收到的语音是否是对应于第一唤醒关键词的唤醒语音,实际上是个分类问题,而分类问题一般可以通过设定阈值来实现分类识别,这里的第二分数即相当于是分类阈值,用于实现对接收到的语音是否是对应于第一唤醒关键词的唤醒语音的分类识别。但需要强调的是,本实施例中,第二分数对应的阈值单元是音素,即可以由第一参考解码路径上依次经过的各个音素所对应的阈值来确定该第二分数。
也就是说,第二分数可以认为是一个语音被认为包含唤醒词所需要达到的分数,而这个第二分数是由第一参考解码路径上各个音素对应的阈值共同决定的,每个音素对应的阈值可以理解为是为达到这个第二分数,期望作为组成部分的各个音素应该达到什么样的分数。
在一可选实施例中,第二分数可以确定为是:第一参考解码路径上各音素分别对应的阈值的和。由此可知,此时的第二分数与接收到的语音无关,相当于是接收到的任一语音均可以适用该第二分数。
在另一可选实施例中,可以根据第一参考解码路径上各音素分别对应的阈值以及各音素在接收到的语音的多个音频帧中分别对应的音频帧个数,确定第二分数。具体地,将每个音素对应的阈值与其对应的音频帧个数相乘,累加各个音素对应的乘积即为第二分数。举例来说,假设第一参考解码路径上依次包括音素a和音素b,音素a对应的阈值为0.6、音素b对应的阈值为0.4。假设接收到的语音中包括音频帧1、音频帧2、音频帧3和音频帧4,并假设音频帧1、音频帧2和音频帧3均对应于音素a,即这三个音频帧中均只包含该音素1,假设音频帧4对应于音素b,此时,第二分数=0.6*3+0.4*1=2.2。由此可见,在该可选实施例中,用于识别语音是否为唤醒语音的阈值即第二分数的确定由组成第一唤醒关键词的各个音素以及解码语音过程中每个音素所用的时长(以音频帧个数表征)决定,如此细化的阈值确定方式会使得最终的识别效果更好。
上述提到的音素对应的阈值的确定过程将在后续实施例中说明。
在得到上述第一分数和第二分数之后,通过比较第一分数和第二分数确定接收到的语音是否为唤醒语音。具体地,当第一分数大于或等于第二分数时,确定该语音为唤醒语音,进而唤醒目标对象;反之,当第一分数小于第二分数时,确定该语音不是唤醒语音,不响应。
综上,唤醒系统对唤醒关键词或者说唤醒语音的识别是在更细维度的音素单元上进行的,即识别一句语音是否是唤醒语音是基于音素级别的阈值来进行判断的,如此使得唤醒系统更加具有通用性,可以准确识别不同用户自定义的各种唤醒关键词。
下面对音素对应的阈值的确定过程进行说明。
图2为一示例性实施例提供的一种音素对应的阈值的确定方法的流程图,如图2所示,该方法可以包括如下步骤:
201、标注第一语音样本集中各语音样本的音频帧与音素之间的对应关系。
针对目标对象来说,第一语音样本集可以是通过收集海量用户在使用该目标对象的过程中输出的语音来构建的。
针对第一语音样本集中的每个语音样本,可以预先人工标注出这个语音样本对应的文字内容,进而,结合预先生成的描述了字与音素对应关系的字典,将这条语音样本对应的文字内容转换成音素序列。
另外,该第一语音样本集一方面可以用于确定各个音素对应的阈值,另一方面,也可以用于对唤醒系统中包含的声学模型进行训练。
不管是用于对声学模型进行训练还是用于确定各个音素对应的阈值,都可以先对每个语音样本进行一定的预处理,该预处理过程中至少可以包括对每个语音样本进行分帧处理,进而得到每个音频帧与每个音素的一一对应关系。
基于第一语音样本集对声学模型进行训练的过程与现有声学模型的训练过程一致,不赘述。下面仅说明如何基于第一语音样本集和已经训练好的声学模型进行各个音素对应的阈值的确定。
202、对于任一音素,生成该任一音素对应的正样本集和负样本集,其中,正样本集中包括与该任一音素具有对应关系的各音频帧,负样本集中包括与高任一音素不具有对应关系的各音频帧。
通过对第一语音样本集中各个语音样本的标注处理,可以得到该第一语音样本集中包含的若干音素,依次针对每个音素进行其对应的阈值的确定处理。
首先,对于其中的任一音素,假设表示为音素i,从第一语音样本集中每个语音样本被划分为的多个音频帧中,筛选出对应于该音素i的音频帧,构成音素i的正样本集,那么其他不对应于音素i的音频帧则构成音素i的负样本集。
203、遍历正样本集和负样本集中的各样本,通过唤醒系统中的声学模型输出当前遍历到的样本在该任一音素下的预测概率。
假设当前遍历到的样本为样本j,将样本j输入到声学模型中,声学模型会预测出该样本j在各个音素下对应的概率。这里,将声学模型输出的该样本j在音素i下的预测概率提取出来。
从而,不管是正样本集还是负样本集中的样本,通过声学模型均可得到其中的每个样本在音素i下的预测概率。进而,可以在正样本集和负样本集中为每个样本标记上其在音素i下的预测概率。
204、根据正样本集和负样本集中的各样本分别对应的预测概率,确定反映该任一音素的漏识别率和误识别率的第一函数关系曲线。
205、确定与第一函数关系曲线上的第一目标坐标对应的预测概率为该任一音素对应的阈值,第一目标坐标使得漏识别率和误识别率符合设定条件。
在得到上述正样本集和负样本集中的各样本在音素i下分别对应的预测概率之后,可以根据各样本对应的预测概率,计算音素i对应的漏识别率和误识别率这两个指标。
其中,假设漏识别率表示为fr,误唤识别表示为fa。
fr=1-正样本中被正确识别的样本个数/正样本集中样本总数。
fa=负样本中被错误识别的样本个数/负样本集中样本总数。
在计算得到上述两个指标后,可以在设定的坐标系中绘制反映这两个指标的第一函数关系曲线,可以以fa为横轴,fr为纵轴,反之亦可。
值得说明的是,这里的计算音素i对应的漏识别率和误识别率可以理解为是需要计算音素i在不同的预测概率下分别对应的漏识别率和误识别率,而该不同的预测概率即为声学模型输出的正样本集和负样本集中各个样本在音素i下对应的预测概率。
下面给出一种确定第一函数关系曲线的实现方式:
至少执行一次如下迭代过程,直到参考概率值已经更新到取值上限:
更新参考概率值;
对于正样本集和负样本集中的任一样本,若该任一样本对应的预测概率大于当前的参考概率值且该任一样本属于正样本集,则正样本中被正确识别的样本个数加一;
若该任一样本对应的预测概率大于当前的参考概率值且该任一样本属于负样本集,则负样本中被错误识别的样本个数加一;
根据正样本中被正确识别的样本个数的累计值和负样本中被错误识别的样本个数的累计值,确定在当前的参考概率值下该音素i的漏识别率和误识别率;
根据在各参考概率值下得到的音素i的漏识别率和误识别率,确定第一函数关系曲线。
其中,上述参考概率值可以理解为是一个参数变量,取值覆盖预测概率的取值范围即0~1。
在一可选实施例中,可以将上述正样本集和负样本集中各样本对应的预测概率,按照从小到大或从大到小的顺序进行排序,从而,可以顺次遍历各预测概率来更新参考概率值,此时,参考概率值相当于会被依次更新为预测概率序列中的各个预测概率。
在另一可选实施例中,也可以按照设定的步长,从某初始值开始,依次更新参考概率值,比如初始值为0,步长为0.1,那么第二次该参考概率值会被更新为0.1,第三次会被更新为0.2,以此类推,直到更新为1为止。
下面举例来说明上述迭代过程。假设初始情况下,参考概率值为a,更新步长为0.1。对于正样本集和负样本集中的任一样本,假设为样本j,若样本j对应的预测概率大于a且样本j属于正样本集,则正样本中被正确识别的样本个数加一,此时说明样本j原本属于正样本,也确实被识别为是正样本。但是,若样本j对应的预测概率大于a且样本j属于负样本集,则负样本中被错误识别的样本个数加一,此时说明样本j原本属于负样本,但是却被误识别为是正样本。在对正样本集和负样本集中的全部样本都进行了上述判断之后,可以得到正样本中被正确识别的样本个数的累计值(假设为c1),以及得到负样本中被错误识别的样本个数的累计值(假设为c2)。那么,在参考概率值取a的情况下,可以计算得到一组fa和fr值:fr=1-c1/z1,fa=c2/z2,其中,z1和z2分别表示正样本集中样本总数和负样本集中样本总数。
之后,更新参考概率值为a+0.1,再重复上述判断过程,得到a+0.1下对应的一组fa和fr值。如此迭代下去,指导参考概率值更新为上限值,假设为b,此时,得到b下对应的一组fa和fr值。
在得到a至b下各个参考概率值对应的各组fa和fr值之后,可以在坐标系中定位出这些组fa和fr值对应的坐标点,进而绘制出这些坐标点对应的曲线,即为第一函数关系曲线。由此,可以理解的是,第一函数关系曲线上的一个坐标点其实是对应于某个参考概率值亦即某个预测概率的。
在得到第一函数关系曲线后,可以确定与第一函数关系曲线上的第一目标坐标对应的预测概率为该音素i对应的阈值,其中,第一目标坐标使得漏识别率和误识别率符合设定条件。
可选地,该设定条件比如可以是,选取fa最小的或者fr最小的坐标作为第一目标坐标,或者,在满足fa小于某设定值且fr小于某设定值的多个坐标中随机选择一个作为第一目标坐标,等等。该设定条件的目的是在漏识别率和误识别率之间进行折中。
上述实施例中以任一音素i为例说明了其对应的阈值的确定过程,对于其他的音素,同样执行上述过程,在坐标系中可以绘制出每个音素对应的第一函数关系曲线,从而可以得到每个音素对应的阈值。
如图3所示,图3中示意了音素i、音素j这两个音素各自对应的第一函数关系曲线,并示意了每个音素对应的第一目标坐标,分别为:(fa1,fr1)、(fa2,fr2)。假设这两个坐标分别对应的预测概率为:p1、p2,从而,音素i、音素j的阈值即分别为p1、p2。另外,假设前文中的第一参考解码路径依次包括音素i、音素j,那么在一可选实施例中,前文中的第二分数即为p1*p2。
针对任一音素i对应的第一函数关系曲线,前述实施例中介绍了几种在第该第一函数关系曲线上确定第一目标坐标的方式,下面再介绍另一种确定第一目标坐标的方式。
图4为一示例性实施例提供的一种确定第一目标坐标的方法的流程图,如图4所示,该方法可以包括如下步骤:
401、对第二语音样本集中各语音样本进行正负样本标记,其中,包含第二唤醒关键词的语音样本标记为正样本,不包含第二唤醒关键词的语音样本标记为负样本。
402、通过唤醒系统确定第二语音样本集中各语音样本在第二唤醒关键词对应的第二参考解码路径上各自对应的第三分数。
403、确定目标直线与每个音素的第一函数关系曲线之间的交点,目标直线是与第一函数关系曲线所在坐标系的预设坐标轴呈目标角度阈值且通过坐标原点的直线。
404、根据第二参考解码路径上包含的各音素当前分别对应的阈值确定用于识别语音样本是否为唤醒语音的第四分数,其中,各音素当前分别对应的阈值为相应第一函数关系曲线上的交点所分别对应的预测概率。
405、对于第二语音样本集中的任一语音样本,根据比较该任一语音样本的第三分数与第四分数而得到的唤醒语音识别结果以及该任一语音样本的正负样本标记信息,确定目标角度阈值的误唤醒率和漏唤醒率。
406、若目标角度阈值的误唤醒率和漏唤醒率符合设定条件,则确定目标直线与每个音素的第一函数关系曲线之间的交点为相应第一函数关系曲线上的第一目标坐标。
本实施例中,第二语音样本集的作用,一方面是协助进行各音素对应的阈值的确定(即每个音素对应的第一函数关系曲线上第一目标坐标的确定),另一方面也可以检测唤醒系统的性能。因为经过图2所示实施例中第一语音样本集的训练,唤醒系统中的声学模型已经训练完毕,此时可以检测训练结果是否可靠。
针对目标对象来说,测试人员可以自定义唤醒关键词,称为第二唤醒关键词,并收集包含该第二唤醒关键词的语音作为正语音样本以及其他不包含该第二唤醒关键词的语音作为负语音样本,构成上述第二语音样本集。
举例来说,假设第二唤醒关键词为:精灵宝贝。那么诸如“精灵宝贝”、“开启精灵宝贝”、“精灵宝贝你好”等包含精灵宝贝这连续的四个字的语音,都视为正语音样本,其他的语音样本为负语音样本。
如前述实施例中所介绍的,响应于测试人员对该第二唤醒关键词的设置操作,唤醒系统可以生成与该第二唤醒关键词对应的第二参考解码路径,该第二参考解码路径由该第二唤醒关键词包含的音素序列构成。
在得到第二语音样本集后,将第二语音样本集中的各语音样本依次输入到唤醒系统中,通过唤醒系统确定第二语音样本集中各语音样本在第二唤醒关键词对应的第二参考解码路径上各自对应的第三分数。第三分数的确定过程如前述实施例中第一分数的确定过程一样,在此不赘述。
本实施例中,在各音素对应的第一函数关系曲线上寻找相应音素对应的第一目标坐标的核心思想是:如果在第一函数关系曲线所在的坐标系中能够确定出一个目标角度阈值,从而,与坐标系的预设坐标轴比如横轴呈该目标角度阈值的且通过坐标原点的目标直线,将与各第一函数关系曲线具有一个交点。如果以每个第一函数关系曲线上的该交点作为相应音素对应的第一目标坐标,那么这些交点对应的预测概率即为相应音素对应的阈值,以此时的各音素对应的阈值确定出一个期望分数(即为下文中的第四分数),以该期望分数作为识别第二语音样本集中的各语音样本是否对应于唤醒语音即是否包含了第二唤醒关键词的依据,如果基于该期望分数最终得到的识别结果性能良好,那么可以认为上述各个交点即为相应第一函数关系曲线上的第一目标坐标。而识别结果性能的好坏可以通过如下两个指标判断:漏唤醒率和误唤醒率。假设漏唤醒率表示为fr’,误唤醒率表示为fa’,则有:
fr’=1-正语音样本中被正确唤醒的样本个数/正语音样本的总数。
fa’=负语音样本中被错误唤醒的样本个数/负语音样本的总数。
假设第二语音样本集中包括n1个正语音样本和n2个负语音样本,那么上述正语音样本的总数为n1,负语音样本的总数为n2。
由此可知,若想要得到各第一函数关系曲线上的第一目标坐标,就需要先找到对应的漏唤醒率和误唤醒率符合设定要求的目标角度阈值。
假设已经找到了目标角度阈值,那么可以理解的是,目标角度阈值已经找到的情况下,各音素对应的阈值便已经确定了,那么由各音素当前对应的阈值便可以确定出用于识别语音样本是否为唤醒语音的第四分数。其中,各音素当前分别对应的阈值即为目标直线与相应第一函数关系曲线的交点所分别对应的预测概率。
在一可选实施例中,第四分数可以确定为是:第二参考解码路径上各音素当前分别对应的阈值的乘积。由此可知,此时的第四分数与语音样本无关,相当于是第二语音样本集中的任一语音样本均可以适用该第四分数。
在另一可选实施例中,对于第二语音样本集中的任一语音样本,可以根据第二参考解码路径上包含的各音素当前分别对应的阈值以及各音素在该任一语音样本的多个音频帧中分别对应的音频帧个数,确定用于识别该任一语音样本是否为唤醒语音的第四分数。此时,每个语音样本对应的第四分数可能各不相同。
下面先假设已经找到了目标角度阈值,介绍如何确定目标角度阈值的漏唤醒率和误唤醒率。
对于第二语音样本集中的任一语音样本,假设为语音样本k,若语音样本k的第三分数大于第四分数且语音样本k标记为正样本,则正确唤醒次数加一;若语音样本k的第三分数大于第四分数且语音样本k标记为负样本,则错误唤醒次数加一。从而,根据第二语音样本集中的全部语音样本对应的正确唤醒次数累计值和错误唤醒次数累计值,可以确定目标角度阈值对应的漏唤醒率和误唤醒率。
接下来介绍如何找到目标角度阈值。
在确定目标角度阈值的过程中,需要至少执行一次如下迭代过程,直到参考角度值已经更新到取值上限:
更新参考角度值;
根据在当前的参考角度值下第二语音样本集中的全部语音样本对应的正确唤醒次数累计值和错误唤醒次数累计值,确定当前的参考角度值的漏唤醒率和误唤醒率;
根据得到的各参考角度值的漏唤醒率和误唤醒率,确定反映各参考角度值的漏唤醒率和误唤醒率的第二函数关系曲线;
在第二函数关系曲线上确定符合设定条件的第二目标坐标,第二目标坐标对应的参考角度值作为目标角度阈值。
由此可知,在确定目标角度阈值的过程中,还是需要经过多次迭代过程以得到在不同参考角度值下的漏唤醒率和误唤醒率,从而基于得到的若干对漏唤醒率和误唤醒率绘制出第二函数关系曲线。从而可知,第二函数关系曲线的确定过程与第一函数关系曲线的确定过程类似。
具体地,以参考角度值是指通过坐标原点的直线与横轴之间的夹角为例来说,该参考角度值的取值范围为0~90度。那么上述迭代过程就可以是:以0度开始,以一定步长比如5度、10度等逐次更新参考角度值,直至更新至90度为止,从这些遍历到的参考角度值中寻找目标角度阈值。
下面结合图5来示意性的说明上述迭代过程的具体实现过程。
图5中示意了音素i、音素j各自对应的第一函数关系曲线。假设当前更新至的参考角度值为a1,从而对应的直线l1与这两条第一函数关系曲线的交点如图5中所示,假设这两个交点分别对应的预测概率亦即这两个音素在参考角度值a1下分别对应的阈值为:p1、p2。假设将这两个预测概率的乘积作为第四分数,那么通过比较第二语音样本集中的各语音样本各自对应的第三分数与该第四分数,可以得到此时全部语音样本对应的正确唤醒次数累计值和错误唤醒次数累计值,基于此,可以得到该参考角度值a1的漏唤醒率和误唤醒率。
之后,假设更新参考角度值已经更新为a2,从而对应的直线l2与这两条第一函数关系曲线的交点如图5中所示,假设这两个交点分别对应的预测概率亦即这两个音素在参考角度值a2下分别对应的阈值为:p1’、p2’。假设将这两个预测概率的乘积作为第四分数,那么通过比较第二语音样本集中的各语音样本各自对应的第三分数与该第四分数,可以得到此时全部语音样本对应的正确唤醒次数累计值和错误唤醒次数累计值,基于此,可以得到该参考角度值a2的漏唤醒率和误唤醒率。
如此类推,直到参考角度至已经更新至90度。
经过上述多次迭代,可以得到多组漏唤醒率和误唤醒率,进而可以在另一坐标系中定位出这些组漏唤醒率和误唤醒率对应的坐标点,进而绘制出这些坐标点对应的曲线,即为第二函数关系曲线。由此,可以理解的是,第二函数关系曲线上的一个坐标点其实是对应于某个参考角度值的。
在得到第二函数关系曲线后,可以确定与第二函数关系曲线上的第二目标坐标对应的参考角度值为目标角度阈值,其中,第二目标坐标使得漏唤醒率和误唤醒率符合设定条件。可选地,该设定条件比如可以是,选取漏唤醒率最小的或者误唤醒率最小的坐标作为第二目标坐标,或者,在满足漏唤醒率小于某设定值且误唤醒率小于某设定值的多个坐标中随机选择一个作为第二目标坐标,等等。该设定条件的目的是在漏唤醒率和误唤醒率之间进行折中。
以下将详细描述本发明的一个或多个实施例的语音唤醒装置。本领域技术人员可以理解,这些语音唤醒装置均可使用市售的硬件组件通过本方案所教导的步骤进行配置来构成。
图6为本发明实施例提供的一种语音唤醒装置的结构示意图,如图6所示,该装置包括:接收模块11、确定模块12、控制模块13。
接收模块11,用于接收用户语音。
确定模块12,用于通过唤醒系统确定所述用户语音在第一参考解码路径上对应的第一分数,所述第一参考解码路径是根据用户针对目标对象自定义的第一唤醒关键词建立的;根据所述第一参考解码路径上各音素分别对应的阈值,确定用于识别所述用户语音是否为唤醒语音的第二分数。
控制模块13,用于若所述第一分数大于或等于所述第二分数,则唤醒所述目标对象。
可选地,该装置还包括:路径生成模块,用于响应于所述第一唤醒关键词的设置操作,根据字典中描述的字与音素的对应关系,确定所述第一唤醒关键词对应的音素序列,由所述音素序列构成所述第一参考解码路径。
可选地,所述确定模块12在确定第一分数的过程中,具体可以用于:对所述用户语音进行分帧处理,得到多个音频帧;将所述多个音频帧依次输入声学模型,由所述声学模型预测出所述多个音频帧各自对应的音素概率;由解码器根据所述多个音频帧各自对应的音素概率,确定所述用户语音在所述第一参考解码路径上对应的第一分数,其中,所述唤醒系统中包括所述声学模型和所述解码器。
可选地,所述确定模块12在确定第二分数的过程中,具体可以用于:根据所述第一参考解码路径上各音素分别对应的阈值以及所述各音素在所述用户语音的多个音频帧中分别对应的音频帧个数,确定所述第二分数。
可选地,该装置还包括:音素阈值确定模块,用于标注第一语音样本集中各语音样本的音频帧与音素之间的对应关系;对于任一音素,生成所述任一音素对应的正样本集和负样本集,其中,所述正样本集中包括与所述任一音素具有所述对应关系的各音频帧,所述负样本集中包括与所述任一音素不具有所述对应关系的各音频帧;遍历所述正样本集和所述负样本集中的各样本,通过所述唤醒系统中的声学模型输出所述当前遍历到的样本在所述任一音素下的预测概率;根据所述正样本集和所述负样本集中的各样本分别对应的预测概率,确定反映所述任一音素的漏识别率和误识别率的第一函数关系曲线;确定与所述第一函数关系曲线上的第一目标坐标对应的预测概率为所述任一音素对应的阈值,所述第一目标坐标使得所述漏识别率和所述误识别率符合设定条件。
其中,可选地,在确定所述第一函数关系曲线的过程中,所述音素阈值确定模块具体可以用于:至少执行一次如下迭代过程,直到参考概率值已经更新到取值上限:更新参考概率值;对于所述正样本集和所述负样本集中的任一样本,若所述任一样本对应的预测概率大于当前的参考概率值且所述任一样本属于正样本集,则正样本中被正确识别的样本个数加一;若所述任一样本对应的预测概率大于所述当前的参考概率值且所述任一样本属于负样本集,则负样本中被错误识别的样本个数加一;根据正样本中被正确识别的样本个数的累计值和负样本中被错误识别的样本个数的累计值,确定在所述当前的参考概率值下所述任一音素的漏识别率和误识别率;根据在各参考概率值下得到的所述任一音素的漏识别率和误识别率,确定所述第一函数关系曲线。
可选地,在确定所述第一目标坐标的过程中,所述音素阈值确定模块可以用于:对第二语音样本集中各语音样本进行正负样本标记,其中,包含第二唤醒关键词的语音样本标记为正样本,不包含第二唤醒关键词的语音样本标记为负样本;通过所述唤醒系统确定所述第二语音样本集中各语音样本在所述第二唤醒关键词对应的第二参考解码路径上各自对应的第三分数;确定目标直线与每个音素的第一函数关系曲线之间的交点,目标直线是与所述第一函数关系曲线所在坐标系的预设坐标轴呈目标角度阈值且通过坐标原点的直线;根据所述第二参考解码路径上包含的各音素当前分别对应的阈值确定用于识别语音样本是否为唤醒语音的第四分数,其中,所述各音素当前分别对应的阈值为相应第一函数关系曲线上的交点所分别对应的预测概率;对于所述第二语音样本集中的任一语音样本,根据比较所述任一语音样本的第三分数与第四分数而得到的唤醒语音识别结果以及所述任一语音样本的正负样本标记信息,确定所述目标角度阈值的误唤醒率和漏唤醒率;若目标角度阈值的误唤醒率和漏唤醒率符合设定条件,则确定所述目标直线与每个音素的第一函数关系曲线之间的交点为相应第一函数关系曲线上的第一目标坐标。
可选地,在确定所述第四分数的过程中,所述音素阈值确定模块可以用于:对于所述第二语音样本集中的任一语音样本,根据所述第二参考解码路径上包含的各音素当前分别对应的阈值以及所述各音素在所述任一语音样本的多个音频帧中分别对应的音频帧个数,确定用于识别所述任一语音样本是否为唤醒语音的第四分数。
可选地,在确定所述目标角度阈值的误唤醒率和漏唤醒率的过程中,所述音素阈值确定模块可以用于:对于所述任一语音样本,若所述任一语音样本的第三分数大于第四分数且所述任一语音样本标记为正样本,则正确唤醒次数加一;若所述任一语音样本的第三分数大于第四分数且所述任一语音样本标记为负样本,则错误唤醒次数加一;根据所述第二语音样本集中的全部语音样本对应的正确唤醒次数累计值和错误唤醒次数累计值,确定所述目标角度阈值的漏唤醒率和误唤醒率。
可选地,在确定目标角度阈值的过程中,所述音素阈值确定模块可以用于:至少执行一次如下迭代过程,直到参考角度值已经更新到取值上限:更新参考角度值;根据在当前的参考角度值下所述第二语音样本集中的全部语音样本对应的正确唤醒次数累计值和错误唤醒次数累计值,确定所述当前的参考角度值的漏唤醒率和误唤醒率;根据得到的各参考角度值的漏唤醒率和误唤醒率,确定反映各参考角度值的漏唤醒率和误唤醒率的第二函数关系曲线;在所述第二函数关系曲线上确定符合设定条件的第二目标坐标,所述第二目标坐标对应的参考角度值作为所述目标角度阈值。
图6所示装置可以执行前述各实施例提供的方法,本实施例未详细描述的部分,可参考前述实施例的相关说明,在此不再赘述。
在一个可能的设计中,上述图6所示的语音唤醒装置的结构可实现为一电子设备,该电子设备可以是终端设备也可以是服务器,如图7所示,该电子设备可以包括:处理器21、存储器22。其中,所述存储器22上存储有可执行代码,当所述可执行代码被所述处理器21执行时,使所述处理器21可以执行如前述各实施例中提供的语音唤醒方法。
实际上,该电子设备中也可以包括通信接口23,用于与其他设备进行通信。
另外,本发明实施例提供了一种非暂时性机器可读存储介质,所述非暂时性机器可读存储介质上存储有可执行代码,当所述可执行代码被电子设备的处理器执行时,使所述处理器可以执行如前述各实施例中提供的语音唤醒方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助加必需的通用硬件平台的方式来实现,当然也可以通过硬件和软件结合的方式来实现。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以计算机产品的形式体现出来,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
起点商标作为专业知识产权交易平台,可以帮助大家解决很多问题,如果大家想要了解更多知产交易信息请点击 【在线咨询】或添加微信 【19522093243】与客服一对一沟通,为大家解决相关问题。
此文章来源于网络,如有侵权,请联系删除