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

唤醒方法、装置及电子设备与流程

2021-01-28 15:01:33|277|起点商标网
唤醒方法、装置及电子设备与流程

本公开涉及语音唤醒领域,尤其涉及一种唤醒方法、装置、电子设备及计算机可读存储介质。



背景技术:

作为一种人机交互的手段,语音交互技术在解放人类双手方面意义重大。随着各种智能设备的出现,语音交互成为了互联网入口的新价值所在,越来越多的智能设备加入了语音唤醒的潮流,成为人与设备沟通的桥梁。

目前越来越多的设备可以使用语音来控制,比如典型的智能手机、智能音箱等。除了上述智能终端设备,很多大型的设备也可以使用语音来控制,如电梯等。

语音控制包括很多命令词,目前多数的做法是给用户提供唤醒词,当用户说出唤醒词且系统识别出唤醒词之后,执行对应的功能。但是目前的唤醒词识别准确度不够,常常会出现识别不准确的问题,导致无法唤醒或者误唤醒。



技术实现要素:

提供该发明内容部分以便以简要的形式介绍构思,这些构思将在后面的具体实施方式部分被详细描述。该发明内容部分并不旨在标识要求保护的技术方案的关键特征或必要特征,也不旨在用于限制所要求的保护的技术方案的范围。

为了解决现有技术中用户无法设置唤醒词的技术问题,本公开提供了以下技术方案。

第一方面,本公开实施例提供一种唤醒方法,包括:

获取语音中的唤醒词;

将所述唤醒词输入唤醒模型中,通过所述唤醒模型得到所述唤醒词的特征的后验概率;

获取所述唤醒词的解码图;

根据维特比算法使用所述后验概率在所述解码图中进行搜索,得到对应唤醒词路径得分和垃圾词路径得分;

计算所述唤醒词路径得分和垃圾词路径得分的差值作为唤醒置信度;

当所述唤醒置信度高于唤醒阈值,执行唤醒操作。

进一步的,在接收唤醒词之前还包括:

接收待设置成唤醒词的语句;

根据发音词典将所述语句解析为多个音素;

获取所述多个音素所对应的多个hmm,其中所述多个hmm与所述多个音素一一对应;

根据所述多个hmm构成所述语句的识别路径。

进一步的,所述唤醒模型通过以下步骤训练得到:

提取训练集合中的语音样本的特征;

使用识别模型对所述语音样本的特征进行对齐得到所述语音样本的特征的第一标签;

根据问题集建立所有第一标签的决策树;

根据所述决策树将所述第一标签转换成第二标签;

根据所述语音样本的第二标签以及所述语音样本的特征训练所述唤醒模型。

进一步的,所述根据所述语音样本的第二标签以及所述语音样本的特征训练所述唤醒模型,包括:

初始化所述唤醒模型的参数;

将所述语音样本的特征输入所述唤醒模型中;

所述唤醒模型根据所述语音样本的特征生成所述语音样本的特征的分类结果为所述第二标签的概率值;

根据所述概率值以及所述语音样本的第二标签更新所述唤醒模型的参数;

继续将所述语音样本的特征输入所述唤醒模型中迭代上述参数更新过程直至达到收敛条件。

进一步的,所述根据所述概率值以及所述语音样本的第二标签更新所述唤醒模型的参数,包括:

根据所述概率值以及所述语音样本的第二标签的交叉熵更新所述唤醒模型的参数。

进一步的,所述根据所述概率值以及所述语音样本的第二标签更新所述唤醒模型的参数,包括:

根据所述概率值以及所述语音样本的第二标签通过em算法更新所述唤醒模型的参数。

第二方面,本公开实施例提供一种唤醒方法,包括:

获取唤醒语音;

逐帧提取所述唤醒语音的特征;

使用多唤醒词识别模型逐帧进行前向计算得到所述多唤醒词识别模型输出的后验概率;

根据所述后验概率计算所述唤醒语音的置信度;

当所述唤醒语音的置信度大于唤醒阈值时,执行唤醒操作。

进一步的,所述根据所述后验概率计算所述唤醒语音的置信度,包括:

对所述后验概率进行加窗平滑得到多个平滑后验概率;

计算所述多个平滑后验概率的几何平均值作为所述唤醒语音的置信度。

进一步的,所述根据所述后验概率计算所述唤醒语音的置信度,包括:

获取所述唤醒语音的解码图;

使用维特比算法根据所述后验概率所述解码图得到唤醒语音的最优路径的得分以及垃圾词路径的得分;

将所述最优路径的得分和垃圾词路径的得分的差值作为所述唤醒语音的置信度。

进一步的,所述多唤醒词识别模型通过以下步骤训练得到:

提取多个唤醒词的特征;

将所述特征进行对齐得到所述特征的音素;

根据所述每个唤醒词的特征的音素生成所述多个唤醒词所对应的多个三音素;

根据所述多个唤醒词的特征以及所述多个唤醒词的三音素训练所述多唤醒词识别模型。

进一步的,所述训练所述多唤醒词识别模型,包括:

使用交叉熵作为模型的损失函数对所述多唤醒词识别模型进行训练;或者,

使用最大互信息作为模型的损失函数对所述多唤醒词识别模型进行训练。

进一步的,所述训练所述多唤醒词识别模型,包括:

获取预训练模型;

将所述预训练模型中输出层之前的预设层重新初始化得到多唤醒词识别模型;

根据所述多个唤醒词的特征以及所述多个唤醒词的三音素状态对所述多唤醒词识别模型。

第三方面,本公开实施例提供一种唤醒的测试方法,包括:

执行nw次上述第一方面或第二方面所述的唤醒方法;

计算得到上述唤醒方法的唤醒率,其中所述唤醒率为:

其中ρsw为唤醒率,nsw为执行nw次唤醒方法中成功唤醒的次数;

和/或,

计算得到上述唤醒方法的误唤醒率,其中所述误唤醒频度为:

其中ffw为误唤醒频次,t为执行nw唤醒方法所用的时长,nfw为在该时长内误唤醒的次数。

进一步的,所述唤醒率不小于90%且/或所述误唤醒频次不大于0.2次/小时。

第四方面,本公开实施例提供一种唤醒装置,包括:

唤醒词接收模块,用于获取语音中的唤醒词;

输入模块,用于将所述唤醒词输入唤醒模型中,通过所述唤醒模型得到所述唤醒词的特征的后验概率;

解码图获取模块,用于获取所述唤醒词的解码图;

得分计算模块,用于利用维特比算法在所述解码图中进行搜索得到对应唤醒词路径得分和垃圾词路径得分;

第一置信度计算模块,用于计算所述唤醒词路径得分和垃圾词路径得分的差值作为唤醒置信度;

第一唤醒执行模块,用于当所述唤醒置信度高于唤醒阈值,执行唤醒操作。

进一步的,所述唤醒装置,还包括:

语句接收模块,用于接收待设置成唤醒词的语句;

音素解析模块,用于根据发音词典将所述语句解析为多个音素;

hmm获取模块,用于获取所述多个音素所对应的多个hmm,其中所述多个hmm与所述多个音素一一对应;

路径构成模块,用于根据所述多个hmm构成所述语句的识别路径。

进一步的,所述唤醒模型通过通过以下步骤训练得到:

提取训练集合中的语音样本的特征;

使用识别模型对所述语音样本的特征进行对齐得到所述语音样本的特征的第一标签;

根据问题集建立所有第一标签的决策树;

根据所述决策树将所述第一标签转换成第二标签;

根据所述语音样本的第二标签以及所述语音样本的特征训练所述唤醒模型。

进一步的,所述根据所述语音样本的第二标签以及所述语音样本的特征训练所述唤醒模型,包括:

初始化所述唤醒模型的参数;

将所述语音样本的特征输入所述唤醒模型中;

所述唤醒模型根据所述语音样本的特征生成所述语音样本的特征的分类结果为所述第二标签的概率值;

根据所述概率值以及所述语音样本的第二标签更新所述唤醒模型的参数;

继续将所述语音样本的特征输入所述唤醒模型中迭代上述参数更新过程直至达到收敛条件。

进一步的,所述根据所述概率值以及所述语音样本的第二标签更新所述唤醒模型的参数,包括:

根据所述概率值以及所述语音样本的第二标签的交叉熵更新所述唤醒模型的参数。

进一步的,所述根据所述概率值以及所述语音样本的第二标签更新所述唤醒模型的参数,包括:

根据所述概率值以及所述语音样本的第二标签通过em算法更新所述唤醒模型的参数。

第五方面,本公开实施例提供一种唤醒装置,包括:

语音获取模块,用于获取唤醒语音;

提取模块,用于逐帧提取所述唤醒语音的特征;

概率计算模块,用于使用多唤醒词识别模型逐帧进行前向计算得到所述多唤醒词识别模型输出的后验概率;

第二置信度计算模块,用于根据所述后验概率计算所述唤醒语音的置信度;

第二唤醒执行模块,用于当所述唤醒语音的置信度大于唤醒阈值时,执行唤醒操作。

进一步的,所述第二置信度计算模块,还用于:

对所述后验概率进行加窗平滑得到多个平滑后验概率;

计算所述多个平滑后验概率的几何平均值作为所述唤醒语音的置信度。

进一步的,所述第二置信度计算模块,还用于:

获取所述唤醒语音的解码图;

使用维特比算法根据所述后验概率所述解码图得到唤醒语音的最优路径的得分以及垃圾词路径的得分;

将所述最优路径的得分和垃圾词路径的得分的差值作为所述唤醒语音的置信度。

进一步的,所述多唤醒词识别模型用过以下步骤训练得到:

提取多个唤醒词的特征;

将所述特征进行对齐得到所述特征的音素;

根据所述每个唤醒词的特征的音素生成所述多个唤醒词所对应的多个三音素;

根据所述多个唤醒词的特征以及所述多个唤醒词的三音素训练所述多唤醒词识别模型。

进一步的,所述训练所述多唤醒词识别模型,包括:

使用交叉熵作为模型的损失函数对所述多唤醒词识别模型进行训练;或者,

使用最大互信息作为模型的损失函数对所述多唤醒词识别模型进行训练。

进一步的,所述训练所述多唤醒词识别模型,包括:

获取预训练模型;

将所述预训练模型中输出层之前的预设层重新初始化得到多唤醒词识别模型;

根据所述多个唤醒词的特征以及所述多个唤醒词的三音素状态对所述多唤醒词识别模型。

第六方面,本公开实施例提供一种电子设备,包括:至少一个处理器;以及,

与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有能被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行前述第一方面中的任一所述方法。

第七方面,本公开实施例提供一种非暂态计算机可读存储介质,其特征在于,该非暂态计算机可读存储介质存储计算机指令,该计算机指令用于使计算机执行前述第一方面中的任一所述方法。

本公开实施例公开了一种唤醒方法、装置、电子设备和计算机可读存储介质。其中该唤醒方法包括:获取语音中的唤醒词;将所述唤醒词输入唤醒模型中,通过所述唤醒模型得到所述唤醒词的特征的后验概率;获取所述唤醒词的解码图;根据维特比算法使用所述后验概率在所述解码图中进行搜索,得到对应唤醒词路径得分和垃圾词路径得分;计算所述唤醒词路径得分和垃圾词路径得分的差值作为唤醒置信度;当所述唤醒置信度高于唤醒阈值,执行唤醒操作。上述方法通过对路径得分的差值,可以得到唤醒置信度,使得唤醒置信度更加准确,解决了唤醒不准确的技术问题。

上述说明仅是本公开技术方案的概述,为了能更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为让本公开的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。

附图说明

结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。

图1为本公开实施例的应用场景示意图;

图2本公开实施例提供的唤醒方法的流程示意图;

图3为公开实施例提供的唤醒方法中设置唤醒词的方法的流程示意图;

图4为本公开中唤醒词的发音路径示意图

图5为本公开实施例提供的唤醒模型的训练步骤的流程示意图;

图6为本公开实施例提供的唤醒模型的训练步骤中根据所述语音样本的第二标签以及所述语音样本的特征训练所述唤醒模型的流程示意图;

图7为本公开实施例提供的另一唤醒方法的流程示意图;

图8为本公开实施例提供的多唤醒词识别模型的训练步骤实施例的流程示意图;

图9为本公开实施例提供的唤醒装置的实施例的结构示意图;

图10为本公开实施例提供的另一唤醒装置的实施例的结构示意图;

图11为根据本公开实施例提供的电子设备的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。

应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。

本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。

需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。

需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。

本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。

图1为本公开实施例的应用场景示意图。如图1所示,用户101向电梯102输入语音,电梯102与语音识别设备103通过网络连接,其中,语音识别设备103可以是计算机或者智能终端等等;其中,电梯102与语音识别设备103进行通信所依赖的网络可以是无线网络,例如5g网络和wifi网络等,还可以是有线网络,例如光纤网络。在该应用场景下,用户101说出语音,电梯102采集语音并将语音发送至语音识别设备103,如果语音识别设备103分割识别出目标语音(即,特定的命令),则电梯102执行所述目标语音所对应的功能,即电梯被唤醒。

可以理解的,上述语音识别设备103和所述电梯102可以设置在一起,即电梯102可以集成语音识别功能,这样用户的语音输入可以直接在电梯102中识别。当语音被识别出来之后,根据所述语音,所述电梯102可以执行与所述语音相关的功能。

使用本公开实施例所提供的方法,用户101可以自己设置唤醒词,并使用自己设置的唤醒词唤醒电梯对应的功能。

图2为本公开实施例提供的唤醒方法实施例的流程图,本实施例提供的该唤醒方法可以由一唤醒装置来执行,该唤醒装置可以实现为软件,或者实现为软件和硬件的组合。如图2所示,该方法包括如下步骤:

步骤s201,获取语音中的唤醒词;

在该步骤中,所述获取语音中的唤醒词为通过声音采集设备采集语音信号,之后通过语音识别模型识别出语音中的唤醒词。进一步的,在该步骤中还提取所述唤醒词的特征,所述唤醒词的特征为唤醒词语音的逐帧特征,即先将唤醒词语音分帧,之后对每一帧提取特征。可以按照时间顺序将唤醒词语音划分为多个语音帧,每个帧内包括预设时间段内的语音信号数据,该预设时间段一般极短,例如,0.05秒或0.1秒等。

在获取到语音帧之后,提取语音帧的特征,示例性的,所述语音帧的特征包括mfcc(melfrequencycepstralcoefficents)特征或fbank(filterbank)特征。可以理解的,本公开对提取语音帧特征的方式不做限定,在此不再赘述。

步骤s202,将所述唤醒词输入唤醒模型中,通过所述唤醒模型得到所述唤醒词的特征的后验概率;

在该步骤中,通过上述唤醒模型生成所述唤醒词的特征属于某个音素状态的概率值,所述概率值即为发射概率。

步骤s203,获取所述唤醒词的解码图;

可选的,所述解码图为wfst解码图;所述wfst解码图包括唤醒词解码图和垃圾词解码图;其中,所述垃圾词为非唤醒词。

wfst解码图是指一种基于加权有限状态转换机(wfst,weightedfinaite-statetransducer)的用于语音识别的解码网络。在本申请中,wfst解码图包括唤醒词解码图和垃圾词解码图。

唤醒词解码图中每一条路径均表示一个唤醒词的解码路径。唤醒词例如,小度、siri等。其中,唤醒词解码图中的唤醒词包括服务器中预置的唤醒词和/或用户自定义的唤醒词。更多的,用户可以对已有的唤醒词(包括预置的唤醒词和用户自定义的唤醒词)进行删除或者再添加新的唤醒词。

基本解码图中的每一条路径均表示一个发音的解码路径,发音例如,xiao、du等。利用基本解码图对待解码的语音信号进行解码,在基本解码图中会选择出一条最佳路径。该最佳路径可以是基本解码图的所有路径中得分值最高的路径,也可以是路径搜索过程中满足预置规则的路径。预置规则例如,维特比算法。可理解的,基本解码图包括每个中文汉字发音的解码路径和/或英文单词的解码路径。

步骤s204,根据维特比算法使用所述后验概率在所述解码图中进行搜索得到对应唤醒词路径得分和垃圾词路径得分;

根据维特比算法在所述解码图中进行解码,由于唤醒词解码图中每一条路径仅表示特定的唤醒词,因此,当该唤醒词解码图中包含有该语音信号中的包含唤醒词时,唤醒词解码图中对应该唤醒词的解码路径的得分会较高。而垃圾词解码图正好相反,该唤醒词解码图中不包含有该语音信号中的包含唤醒词时,唤醒词解码图中对应该唤醒词的解码路径的得分会远小于垃圾词解码图中选择出的最佳路径的得分。

步骤s205,计算所述唤醒词路径得分和垃圾词路径得分的差值作为唤醒置信度;

在该步骤中,计算唤醒词路径得分和垃圾词路径得分的差值作为唤醒置信度。如上所述,如果唤醒词解码图中包括唤醒词,则唤醒词路径得分应该远大于垃圾词得分,这样唤醒词路径得分和垃圾词路径得分的差值也应该一个较大的值;而反过来,所述差值应该是个很小的负值。

步骤s206,当所述唤醒置信度高于唤醒阈值,执行唤醒操作。

在该步骤中,判断所述唤醒置信度是否高于预设的唤醒阈值,如果高于阈值,则系统执行唤醒操作。

进一步的,在本公开实施例中,还提供一种用户自定义唤醒词的步骤,如图3所示,在步骤s201之前,该方法包括如下步骤:

步骤s301,接收待设置成唤醒词的语句;

在该步骤中,终端或者服务器接收用户输入的待设置成唤醒词的语句,在本公开中,所述唤醒词包括语音交互系统的唤醒词和/或语音交互系统的命令词,如电梯场景可能命令词:上楼、下楼、去x楼(层)、上x楼(层)、到x楼(层)、取消x楼(层)等等;空调场景可能命令词:打开空调、关闭空调、调高温度、调低温度、制冷模式、制热模式、除湿模式、上下摆风等等电视场景可能命令词:调高音量、调低音量、回主界面、上一个、下一个、快进x分x秒、快退x分x秒、调高亮度、调高对比度、调低对比度、调低对比度等等。即本公开中的唤醒词包括了触发语音交互系统的唤醒词,也可包括对应某种功能的命令词,或者包括唤醒词和命令词。

可选的,用户通过各种人机交互接口输入语句,如通过键盘输入文本“你好小易”,或者通过麦克风输入语音“你好小易”等等。

步骤s302,根据发音词典将所述语句解析为多个音素;

所述发音词典为预先设置的词典,其记录了每个字或词所对应的音素;音素根据语音的自然属性划分出来的最小语音单位,依据音节里的发音动作来分析,一个动作构成一个音素。对于每种语言都有不同的音素与之对应。如汉语音节啊(ā)只有一个音素,爱(ài)有两个音素,代(dài)有三个音素等。

在该步骤中,根据所述语句中的字获取发音词典中的音素,得到所述语句的多个音素。

步骤s303,获取所述多个音素所对应的多个hmm,其中所述多个hmm与所述多个音素一一对应;

在该实施例中,不同的音素对应不同的识别模型,示例性的,所述hmm为三状态的hmm,其中每个不同的音素对应一个不同的三状态的hmm,即一个音素对应一个三状态hmm,不同音素对应的三状态hmm不同;可选的,所述三状态hmm为三音素hmm,即每个hmm表示一个三音素,其中所述三音素中包括一个中心音素和左右两个音素,如x-i+ao表示一个三音素,其中i为中心音素,x为i左边的音素,ao为i右边的音素。则所述hmm模型可以表示一个三音素,由此不仅考虑了中心音素i,也考虑了中心音素的上下文。三音素hmm的三个状态中的每一个都有一个决策树,以此来减少三音素hmm的数量。

步骤s304,根据所述多个hmm构成所述语句的识别路径。

在该步骤中,通过所述语句所对应的多个hmm组成一个识别路径,这样即完成了唤醒词的设置。

以单音素为例,“小易”的音素为“xiaoyi”,每个音素对应一个三状态的hmm,则5个音素所对应的5个hmm对应15个状态的识别路径。如图4所示状态1、2、3对应音素x的hmm所对应的3个状态,以此类推,状态13、14、15对应第二个i所对应的hmm,由此组成了一个可以识别“小易”的发音的路径。

上述唤醒词设置的过程,就是添加hmm拓扑路径的过程,在有该路径的情况下,使用唤醒模型所产生的发射概率对所有hmm组成的路径进行解码得到唤醒词的置信度。

在有了hmm识别路径以及唤醒模型的基础上,即可执行唤醒操作。

其中,添加唤醒词可以在构建唤醒词解码图时进行添加,也可以在唤醒词解码图构建完成后,动态的添加到构建好的唤醒词解码图中,且添加之后可立即支持该唤醒词。其中,用户添加自定义唤醒词的方法包括:用户上传自定义的唤醒词,唤醒词解码图中设置该唤醒词的解码路径,进而实现系统对该唤醒词的识别;或者,用户上传自定义的唤醒词,通过人工方式在唤醒词解码图中设置该唤醒词的解码路径。如上述步骤s301-步骤s304所述的自定义唤醒词的过程。

可选的,上述步骤s202中的唤醒模型由以下步骤训练得到:

步骤s501,提取训练集合中的语音样本的特征;

在本公开中,所述训练集合中包括各种各样的语音样本。其中可能包括唤醒词也可能不包括唤醒词,其可以是通用的语音样本。所述语音样本的特征为语音样本的逐帧特征,即先将语音样本分帧,之后对每一帧提取特征。可以按照时间顺序将语音样本划分为多个语音帧,每个帧内包括预设时间段内的语音信号数据,该预设时间段一般极短,例如,0.05秒或0.1秒等。

在获取到语音帧之后,提取语音帧的特征,示例性的,所述语音样本的特征包括mfcc(melfrequencycepstralcoefficents)特征或fbank(filterbank)特征。其中mfcc优先用于gmm(gaussianmixturemodel)模型的训练,而fbank优先用于dnn(deepneuralnetworks)模型的训练。可以理解的,在使用不同的模型的情况下,可以使用不同的方法提取所述语音样本的特征,本公开对此不做限定,在此不再赘述。

步骤s502,使用识别模型对所述语音样本的特征进行对齐得到所述语音样本的特征的第一标签;

在该步骤中,对所述语音本的特征进行标注。一般来说,训练集合中的语音样本不会有标注,或者仅有词或句级别的标注,不能直接用于唤醒模型的训练。因此在该步骤中使用预先训练好的模型对所述语音样本的特征进行对齐,进行帧级别的标注,得到语音样本特征的第一标签。可选的,所述第一标签为所述语音样本特征的音素状态,即在该步骤中,为语音样本的每一帧的特征标注上其对应的单音素状态。由此可以得到使用第一标签标注好的训练数据。

步骤s503,根据问题集建立所有第一标签的决策树;

在步骤s502中,已经得到带有单音素标注的语音样本的特征,但是唤醒语音往往是连续的,单个音素在不同的上下文中的发音可能不同,由此导致可能完全不同的两个特征被标注成同一个音素,这样会为后续的唤醒识别带来误差。因此在该步骤中,通过预设的问题集建立所有第一标签的决策树,所述决策树用于通过音素的上下文即前后音素将其分类为不同的音素。需要注意的是,通常使用三状态hmm(hiddenmarkovmodel)表示一个音素,这时候需要对音素的每个状态都建立一个决策树。

步骤s504,根据所述决策树将所述第一标签转换成第二标签;

在该步骤中,通过决策树的根节点开始对,通过每个节点的问题对所述第一标签进行分类直到达到所述决策树的叶子节点得到第二标签。示例性的,所述第二标签为三音素状态,三音素包括中心音素和左右两个音素,这三个音素合起来为一个三音素,如t-iy+n,中心音素为iy,左边的音素为t,右边的音素为n;同样的以iy为中心音素的三音素t-iy+ng,由于右边的音素为ng,其与t-iy+n为两个不同的音素。通过上述决策树可以将单音素的状态转换到三音素的状态,得到所述语音样本的三音素状态,作为所述语音样本的第二标签。

步骤s505,根据所述语音样本的第二标签以及所述语音样本的特征训练所述唤醒模型。

在该步骤中,在有语音样本的特征以及该语音样本的特征所对应的第二标签的情况下,即可对唤醒模型进行训练。

可选的,所述步骤s505包括:

步骤s601,初始化所述唤醒模型的参数;

步骤s602,将所述语音样本的特征输入所述唤醒模型中;

步骤s603,所述唤醒模型根据所述语音样本的特征生成所述语音样本的特征的分类结果为所述第二标签的概率值;

步骤s604,根据所述概率值以及所述语音样本的第二标签更新所述唤醒模型的参数;

步骤s605,继续将所述语音样本的特征输入所述唤醒模型中迭代上述参数更新过程直至达到收敛条件。

可选的,所述唤醒模型为gmm或者dnn,当所述唤醒模型为gmm时,其参数为gmm中每个高斯分布分量的权重值、均值和方差;当所述唤醒模型为dnn时,其参数为网络的参数。

在得到初始化参数之后,将语音样本的特征输入所述唤醒模型中,所述唤醒模型根据所述语音样本的特征通过所述模型的参数计算得到所述语音样本的特征的分类结果,其中所述分类结果为当前的语音样本特征在每个类别中的概率值,而由于事先为每个语音样本特征都标注的第二标签,因此根据该概率值以及第二标签可以更新所述唤醒模型的参数,使得所述唤醒模型的分类结果越来越准确;持续执行上述步骤s602-步骤s604直到达到模型的收敛条件;可选的,所述收敛条件包括但不限于:损失函数的值不再下降,分类准确率不再提高或者达到了预定的迭代次数等等。

可选的,所述步骤s604包括:根据所述概率值以及所述语音样本的第二标签的交叉熵更新所述唤醒模型的参数。该步骤对应唤醒模型为dnn模型的情况,使用dnn模型时,使用dnn得到的每一帧的后验概率以及该帧所对应的第二标签计算交叉熵,并使用梯度下降的方法更新dnn的参数直到训练完成得到最终的dnn模型作为唤醒模型,所述dnn模型用于输出dnn-hmm模型中的发射概率,其输出的后验概率即为发射概率。

可选的,所述步骤s604包括:根据所述概率值以及所述语音样本的第二标签通过em算法更新所述唤醒模型的参数。该步骤对应唤醒模型为gmm模型的情况,使用gmm模型时,需要对每一个类即每个标签都训练一个gmm模型,即每个gmm用于分类一个类别,此处的类别即第二标签;在有所述概率值和所述第二标签的情况下,通过em算法可以更新每个gmm中的权重值、均值和方差,直到所述gmm的参数不在变化或变化很小为止。所述gmm模型用于输出gmm-hmm模型中的发射概率。

在训练好上述唤醒模型之后,即可使用上述唤醒模型对唤醒词进行识别。

图7为本公开实施例提供的另一唤醒方法实施例的流程图,本实施例提供的该唤醒方法可以由一唤醒装置来执行,该唤醒装置可以实现为软件,或者实现为软件和硬件的组合。如图7所示,该方法包括如下步骤:

步骤s701,获取唤醒语音;

步骤s702,逐帧提取所述唤醒语音的特征;

步骤s703,使用多唤醒词识别模型逐帧进行前向计算得到所述多唤醒词识别模型输出的后验概率;

步骤s704,根据所述后验概率计算所述唤醒语音的置信度;

步骤s705,当所述唤醒语音的置信度大于唤醒阈值时,执行唤醒操作。

在一个实施例中,所述根据所述后验概率计算所述唤醒语音的置信度,包括:

对所述后验概率进行加窗平滑得到多个平滑后验概率;

计算所述多个平滑后验概率的几何平均值作为所述唤醒语音的置信度。

在另一个实施例中,所述根据所述后验概率计算所述唤醒语音的置信度,包括:

获取所述唤醒语音的解码图;

使用维特比算法根据所述后验概率所述解码图得到唤醒语音的最优路径的得分以及垃圾词路径的得分;

将所述最优路径的得分和垃圾词路径的得分的差值作为所述唤醒语音的置信度。

可以理解的,上述计算唤醒语音的置信度的过程与上一实施例中的唤醒方法中的计算唤醒语音的置信度的过程相同,在此不再赘述。

可选的,如图8所示,上述步骤s703中的多唤醒词识别模型用过以下步骤训练得到:

步骤s801,提取多个唤醒词的特征;

步骤s802,将所述特征进行对齐得到所述特征的音素;

步骤s803,根据所述每个唤醒词的特征的音素生成所述多个唤醒词所对应的多个三音素;

步骤s804,根据所述多个唤醒词的特征以及所述多个唤醒词的三音素训练所述多唤醒词识别模型。

在该实施例中,将多个唤醒词当作训练数据,在步骤s801中提取所述多个唤醒词的特征。该步骤与步骤s201中所记载的过程类似,只是训练样本换成了确定的多个唤醒词,在此不再赘述。

在步骤s802中,使用预先训练的识别模型对步骤s801中所提取的每个特征进行识别,得到每个特征的音素。示例性的,所述特征为唤醒词的每一帧所对应的特征,给每个唤醒词进行逐帧的打标签,以标识每帧的音素。

在步骤s803中,根据每个唤醒词的特征的音素生成每个唤醒词所对应的三音素。在该步骤中,每个唤醒词对应多个音素,所述音素由三音素表示,同样可以由三音素hmm来表示。对多个唤醒词中相同的音素可以进行聚类得到所述多个唤醒词所对应的三音素。也即是说,在该步骤中,将所述多个唤醒词的特征的标签从单音素转换为三音素。

在步骤s804中,根据所述多个唤醒词的特征以及所述多个唤醒词的三音素训练所述多唤醒词识别模型。

其中,在一个实施例中,所述训练所述多唤醒词识别模型,包括:

使用交叉熵作为模型的损失函数对所述多唤醒词识别模型进行训练。交叉熵描述了两个概率分布之间的距离,交叉熵越小,两个概率分布越接近。由此,通过该损失函数计算标注的概率值(一般为1)和标注的预测概值之间的误差调整所述多唤醒词识别模型的参数,迭代上述过程直至达到收敛条件为止。所述收敛条件一般为损失函数不再减小或者迭代次数达到预设的次数等,在此不做限制。

在另一个实施例中,所述训练所述多唤醒词识别模型,包括:

使用最大互信息作为模型的损失函数对所述多唤醒词识别模型进行训练。

在另一个实施例中,所述训练所述多唤醒词识别模型,包括:

获取预训练模型;

将所述预训练模型中输出层之前的预设层重新初始化得到多唤醒词识别模型;

根据所述多个唤醒词的特征以及所述多个唤醒词的三音素状态对所述多唤醒词识别模型。

所述预训练模型包括多个层,如输入层、隐藏层和输出层。所述预训练模型已经是训练好的模型,其可以用于其他任务。之后将所述预训练模型中输出层之前(包括输出层)中的几层重新初始化,或者直接将这几层替换成其他结构的网络,将这样重新初始化部分层或者替换部分层之后的模型作为所述唤醒模型。之后,根据所述多个唤醒词的特征以及所述多个唤醒词的三音素状态对所述多唤醒词识别模型。这样只需要对模型进行一些微调即可生成可用的多唤醒词识别模型,能够加快训练的速度。

通过上述训练过程,能够得到一个可以识别多个唤醒词的模型,由此用户说出多个唤醒词中任何一个,都可以触发这些唤醒词所对应的功能。

本公开还公开了一种唤醒的测试方法,用于测试唤醒系统的唤醒服务的可靠性。所述测试方法包括:执行nw次上述唤醒方法;计算得到上述唤醒方法的唤醒率,其中所述唤醒率为:

其中ρsw为唤醒率,nsw为执行nw次唤醒方法中成功唤醒的次数;

和/或,

计算得到上述唤醒方法的误唤醒率,其中所述误唤醒频度为:

其中ffw为误唤醒频次,t为执行nw唤醒方法所用的时长,nfw为在该时长内误唤醒的次数。

在各种测试场景中,所述唤醒率不低于90%,优选的所述唤醒率不低于95%;在各种测试场景中,所述误唤醒频度不高于0.2次/小时。

本公开的一个应用场景为智能电梯,所述智能电梯执行上述唤醒方法以响应用户的唤醒语音对智能电梯进行唤醒。

在上文中,虽然按照上述的顺序描述了上述方法实施例中的各个步骤,本领域技术人员应清楚,本公开实施例中的步骤并不必然按照上述顺序执行,其也可以倒序、并行、交叉等其他顺序执行,而且,在上述步骤的基础上,本领域技术人员也可以再加入其他步骤,这些明显变型或等同替换的方式也应包含在本公开的保护范围之内,在此不再赘述。

图9为本公开实施例提供的唤醒装置实施例的结构示意图,如图9所示,该装置900包括:唤醒词接收模块901、输入模块902、解码图获取模块903得分计算模块904、第一置信度计算模块905和第一唤醒执行模块906。其中,

唤醒词接收模块901,用于获取语音中的唤醒词;

输入模块902,用于将所述唤醒词输入唤醒模型中,通过所述唤醒模型得到所述唤醒词的特征的后验概率;

解码图获取模块903,用于获取所述唤醒词的解码图;

得分计算模块904,用于利用维特比算法在所述解码图中进行搜索得到对应唤醒词路径得分和垃圾词路径得分;

第一置信度计算模块905,用于计算所述唤醒词路径得分和垃圾词路径得分的差值作为唤醒置信度;

第一唤醒执行模块906,用于当所述唤醒置信度高于唤醒阈值,执行唤醒操作。

进一步的,所述唤醒装置900,还包括:

语句接收模块,用于接收待设置成唤醒词的语句;

音素解析模块,用于根据发音词典将所述语句解析为多个音素;

hmm获取模块,用于获取所述多个音素所对应的多个hmm,其中所述多个hmm与所述多个音素一一对应;

路径构成模块,用于根据所述多个hmm构成所述语句的识别路径。

进一步的,所述唤醒模型通过通过以下步骤训练得到:

提取训练集合中的语音样本的特征;

使用识别模型对所述语音样本的特征进行对齐得到所述语音样本的特征的第一标签;

根据问题集建立所有第一标签的决策树;

根据所述决策树将所述第一标签转换成第二标签;

根据所述语音样本的第二标签以及所述语音样本的特征训练所述唤醒模型。

进一步的,所述根据所述语音样本的第二标签以及所述语音样本的特征训练所述唤醒模型,包括:

初始化所述唤醒模型的参数;

将所述语音样本的特征输入所述唤醒模型中;

所述唤醒模型根据所述语音样本的特征生成所述语音样本的特征的分类结果为所述第二标签的概率值;

根据所述概率值以及所述语音样本的第二标签更新所述唤醒模型的参数;

继续将所述语音样本的特征输入所述唤醒模型中迭代上述参数更新过程直至达到收敛条件。

进一步的,所述根据所述概率值以及所述语音样本的第二标签更新所述唤醒模型的参数,包括:

根据所述概率值以及所述语音样本的第二标签的交叉熵更新所述唤醒模型的参数。

进一步的,所述根据所述概率值以及所述语音样本的第二标签更新所述唤醒模型的参数,包括:

根据所述概率值以及所述语音样本的第二标签通过em算法更新所述唤醒模型的参数。

图10为本公开实施例提供的另一种唤醒装置实施例的结构示意图,如图10所示,该装置1000包括:语音获取模块1001、提取模块1002、概率计算模块模块1003、第二置信度计算模块1004和第二唤醒执行模块1005。其中,

语音获取模块1001,用于获取唤醒语音;

提取模块1002,用于逐帧提取所述唤醒语音的特征;

概率计算模块1003,用于使用多唤醒词识别模型逐帧进行前向计算得到所述多唤醒词识别模型输出的后验概率;

第二置信度计算模块1004,用于根据所述后验概率计算所述唤醒语音的置信度;

第二唤醒执行模块1005,用于当所述唤醒语音的置信度大于唤醒阈值时,执行唤醒操作。

进一步的,所述第二置信度计算模块1004,还用于:

对所述后验概率进行加窗平滑得到多个平滑后验概率;

计算所述多个平滑后验概率的几何平均值作为所述唤醒语音的置信度。

进一步的,所述第二置信度计算模块1004,还用于:

获取所述唤醒语音的解码图;

使用维特比算法根据所述后验概率所述解码图得到唤醒语音的最优路径的得分以及垃圾词路径的得分;

将所述最优路径的得分和垃圾词路径的得分的差值作为所述唤醒语音的置信度。

进一步的,所述多唤醒词识别模型用过以下步骤训练得到:

提取多个唤醒词的特征;

将所述特征进行对齐得到所述特征的音素;

根据所述每个唤醒词的特征的音素生成所述多个唤醒词所对应的多个三音素;

根据所述多个唤醒词的特征以及所述多个唤醒词的三音素训练所述多唤醒词识别模型。

进一步的,所述训练所述多唤醒词识别模型,包括:

使用交叉熵作为模型的损失函数对所述多唤醒词识别模型进行训练;或者,

使用最大互信息作为模型的损失函数对所述多唤醒词识别模型进行训练。

进一步的,所述训练所述多唤醒词识别模型,包括:

获取预训练模型;

将所述预训练模型中输出层之前的预设层重新初始化得到多唤醒词识别模型;

根据所述多个唤醒词的特征以及所述多个唤醒词的三音素状态对所述多唤醒词识别模型。

图10所示装置可以执行图7-图8所示实施例的方法,本实施例未详细描述的部分,可参考对图7-图8所示实施例的相关说明。该技术方案的执行过程和技术效果参见图7-图8所示实施例中的描述,在此不再赘述。

下面参考图11,其示出了适于用来实现本公开实施例的电子设备1100的结构示意图。本公开实施例中的终端设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、pda(个人数字助理)、pad(平板电脑)、pmp(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字tv、台式计算机等等的固定终端。图11示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图11所示,电子设备1100可以包括处理装置(例如中央处理器、图形处理器等)1101,其可以根据存储在只读存储器(rom)1102中的程序或者从存储装置1108加载到随机访问存储器(ram)1103中的程序而执行各种适当的动作和处理。在ram1103中,还存储有电子设备1100操作所需的各种程序和数据。处理装置1101、rom1102以及ram1103通过总线1104彼此相连。输入/输出(i/o)接口1105也连接至总线1104。

通常,以下装置可以连接至i/o接口1105:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置1106;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置1107;包括例如磁带、硬盘等的存储装置1108;以及通信装置1109。通信装置1109可以允许电子设备1100与其他设备进行无线或有线通信以交换数据。虽然图11示出了具有各种装置的电子设备1100,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置1109从网络上被下载和安装,或者从存储装置1108被安装,或者从rom1102被安装。在该计算机程序被处理装置1101执行时,执行本公开实施例的方法中限定的上述功能。

需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。

在一些实施方式中,客户端、服务器可以利用诸如http(hypertexttransferprotocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“lan”),广域网(“wan”),网际网(例如,互联网)以及端对端网络(例如,adhoc端对端网络),以及任何当前已知或未来研发的网络。

上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。

上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:执行上述实施例中的任一方法。

可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。

本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、片上系统(soc)、复杂可编程逻辑设备(cpld)等等。

在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

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

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

相关标签: 置信度概率计算hmm
tips