1.本技术涉及人工智能技术领域,尤其涉及一种唤醒模型训练方法、唤醒方法以及电子设备。
2.随着智能设备及语音交互的不断普及,在越来越多的场景中需要通过唤醒词唤醒智能设备,然后通过语音来控制智能设备执行命令,如设定空调温度等。
3.为了保证智能设备的唤醒速度,语音唤醒功能需要运行在音箱等终端设备侧,因此对于唤醒算法的算力会提出更高的要求。不同于识别可以放置巨大的解码图,覆盖所有的语句,唤醒只能放置一个较小的解码图,较小的解码图容易出现唤醒词“串扰”问题。比如设定的唤醒词是“小网同学”,但是当用户说“小王同事”“小张同事”时也可以唤醒,误唤醒率较高。
技术实现要素:4.本技术实施例提供一种唤醒模型训练方法、唤醒方法及电子设备,以解决现有唤醒方式误唤醒率较高的问题。
5.为解决上述技术问题,本技术是这样实现的:
6.第一方面,本技术实施例提供了一种唤醒模型训练方法,包括:
7.获取第一训练样本,所述第一训练样本包括唤醒词音频以及所述唤醒词的近音词音频;
8.将所述第一训练样本分别输入到第一初始唤醒模型和第二初始唤醒模型,所述第一初始唤醒模型和所述第二初始唤醒模型相同;
9.根据所述第一初始唤醒模型的输出和所述第二初始唤醒模型的输出,确定目标损失值;
10.根据所述目标损失值调整所述第一初始唤醒模型的参数,得到唤醒模型。
11.第二方面,本技术实施例还提供一种唤醒方法,包括:
12.获取待识别音频;
13.将所述待识别音频输入到唤醒模型中进行识别,得到识别结果,所述唤醒模型根据唤醒模型训练方法确定;
14.根据所述识别结果确定是否执行唤醒操作。
15.第三方面,本技术实施例还提供一种电子设备,包括:
16.第一获取模块,用于获取第一训练样本,所述第一训练样本包括唤醒词音频以及所述唤醒词的近音词音频;
17.输入模块,用于将所述第一训练样本分别输入到第一初始唤醒模型和第二初始唤醒模型,所述第一初始唤醒模型和所述第二初始唤醒模型相同;
18.确定模块,用于根据所述第一初始唤醒模型的输出和所述第二初始唤醒模型的输出,确定目标损失值;
19.第二获取模块,用于根据所述目标损失值调整所述第一初始唤醒模型的参数,得
到唤醒模型。
20.第四方面,本技术实施例还提供一种电子设备,包括:
21.第一获取模块,用于获取待识别音频;
22.第二获取模块,用于将所述待识别音频输入到唤醒模型中进行识别,得到识别结果;
23.判定模块,用于根据所述识别结果确定是否执行唤醒操作。
24.第五方面,本技术实施例还提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现第一方面所述的唤醒模型训练方法的步骤,或者,所述计算机程序被所述处理器执行时实现第二方面所述的唤醒方法的步骤。
25.第六方面,本技术实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的唤醒模型训练方法的步骤,或者,所述计算机程序被处理器执行时实现第二方面所述的唤醒方法的步骤。
26.在本技术实施例中,通过获取第一训练样本,所述第一训练样本包括唤醒词音频以及所述唤醒词的近音词音频;将所述第一训练样本分别输入到第一初始唤醒模型和第二初始唤醒模型,所述第一初始唤醒模型和所述第二初始唤醒模型相同;根据所述第一初始唤醒模型的输出和所述第二初始唤醒模型的输出,确定目标损失值;根据所述目标损失值调整所述第一初始唤醒模型的参数,得到唤醒模型。通过上述方式获得的唤醒模型,能够有效改善唤醒词串扰问题,降低误唤醒率,提高唤醒准确率。
附图说明
27.图1是本技术实施例提供的唤醒模型训练方法的流程图;
28.图2是本技术实施例提供的唤醒方法的流程图;
29.图3是本技术实施例提供的第一电子设备的结构图;
30.图4是本技术实施例提供的第二电子设备的结构图;
31.图5是本技术实施例提供的电子设备的结构图。
具体实施方式
32.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
33.参见图1,图1是本技术实施例提供的唤醒模型训练方法的流程图,如图1所示,本实施例提供一种唤醒模型训练方法,由第一电子设备执行,包括以下步骤:
34.步骤101、获取第一训练样本,所述第一训练样本包括唤醒词音频以及所述唤醒词的近音词音频。
35.示例性地,上述唤醒词可以是提前设定好的,为了降低近音词的串扰,例如,若唤醒词w2会和唤醒词的近音词w1产生串扰,则录制唤醒词的近音词w1的音频数据,并将w1添
加到第一训练样本中。唤醒词音频以及唤醒词的近音词音频均可以是用户发出的,也可以是一些电子设备发出的,本发明实施例对唤醒词音频以及唤醒词的近音词音频的发出主体不作具体限定,本领域技术人员可以根据实际情况确定。
36.上述唤醒词音频以及唤醒词的近音词音频可以是提前采集好存储到本地,使用时直接从本地调用。
37.步骤102、将所述第一训练样本分别输入到第一初始唤醒模型和第二初始唤醒模型,所述第一初始唤醒模型和所述第二初始唤醒模型相同。
38.上述第一初始唤醒模型或第二初始唤醒模型可以是提前训练好的,将提前训练好的模型复制一份,得到另一个初始唤醒模型,将其中一个作为唤醒模型调优的基础,其中,上述第一初始唤醒模型或第二初始唤醒模型可以为根据区分性训练获得的模型。本发明实施例以将第一初始唤醒模型作为调优基础为例进行说明。
39.第一训练样本可划分为多份样本,每次将一份样本分别输入至第一初始唤醒模型和第二初始唤醒模型,可获得第一初始唤醒模型的输出和第二初始唤醒模型的输出。
40.步骤103、根据所述第一初始唤醒模型的输出和所述第二初始唤醒模型的输出,确定目标损失值。
41.示例性地,根据所述第一初始唤醒模型的输出和所述第二初始唤醒模型的输出,确定目标损失值可以为将第一初始唤醒模型的输出和第二初始唤醒模型的输出输入到预设损失函数中,得到目标损失值。
42.上述预设损失函数可以是提前定义好的,在本发明实施例中,该预设损失函数可以包括2部分,第一部分为第二初始唤醒模型的损失函数(例如,最大互信息),第二部分为第一初始唤醒模型的输出和第二初始唤醒模型的输出的kl散度(kullback
–
leibler divergence,kld),将这两部分做加权平均后得到上述预设损失函数。
43.步骤104、根据所述目标损失值调整所述第一初始唤醒模型的参数,得到唤醒模型。
44.基于目标损失值调整第一初始唤醒模型的参数,直到满足预设条件,将此种情况下的第一初始唤醒模型确定为唤醒模型。预设条件可以是目标损失值小于预设值,例如,0.08,也可以是迭代次数达到目标次数,例如,500次。
45.第一训练样本分别经过第一初始唤醒模型与第二初始唤醒模型进行神经网络前向计算。例如,训练样本中有n*m个样本,每次输入至模型中的样本数量为n个,每个目标样本包括训练样本中的n个样本,m和n为正整数;初始情况下,第一初始唤醒模型和第二初始唤醒模型的模型参数是相同的,第一次输入至模型中的n个样本,分别输入至第一初始唤醒模型和第二初始唤醒模型,第一初始唤醒模型和第二初始唤醒模型的输出是相同的。根据第一初始唤醒模型的输出和第二初始唤醒模型的输出,确定损失函数值,并根据损失函数值对第一初始唤醒模型的模型参数进行更新。
46.第二次输入至模型中的n个样本(每次输入不同的目标样本),分别输入至上一次进行模型参数更新后的第一初始唤醒模型中,以及第二初始唤醒模型中,此种情况下,第一初始唤醒模型的模型参数经过更新,与第二初始唤醒模型的模型参数不同,(第二初始唤醒模型的模型参数未更新,为初始状态),对于同样的目标样本,两个模型的输出不同,以此方式利用n*m个样本对第一初始唤醒模型进行训练,获得唤醒模型,同时,对于每次目标样本
输入,获得第一初始唤醒模型的输出和第二初始唤醒模型的输出,后续根据第一初始唤醒模型的输出和第二初始唤醒模型的输出,确定损失函数值,并根据损失函数值对第一初始唤醒模型的模型参数进行更新。
47.本实施例中,第一电子设备基于第一初始唤醒模型的输出和第二初始唤醒模型的输出确定目标损失值,并根据目标损失值调整所述第一初始唤醒模型的参数,通过在第一初始唤醒模型的基础上采用第一训练样本对其进行训练,在保障唤醒模型维持第一初始唤醒模型原有的识别准确率的基础上,唤醒模型对特定的唤醒词(即第一训练样本中的唤醒词)音频的识别准确率也有提升,从而有效改善唤醒词串扰问题,降低误唤醒率,提高唤醒准确率。
48.上述中,所述第一初始唤醒模型或第二初始唤醒模型通过如下步骤确定:
49.首先,获取第二训练样本,所述第二训练样本包括:唤醒词样本和非唤醒词样本,所述唤醒词样本的数量大于所述非唤醒词样本的数量。该第二训练样本的获取方法可以与上述第一训练样本的获取方法一样,在此不再赘述。
50.其次,将所述第二训练样本输入到预设机器学习模型中进行训练,得到所述第一初始唤醒模型或第二初始唤醒模型。
51.具体的,所述第一初始唤醒模型或第二初始唤醒模型为利用第二训练样本对预设机器学习模型进行训练获得,上述预设机器学习模型可以为区分性训练模型chain model,本发明实施例对该预设机器学习模型不作具体限定,本领域技术人员可以根据实际情况确定。
52.关于区分性训练的原理简单介绍如下,可以参考表达式:
[0053][0054]
其中o是观察值,也就是音频特征;w是语句的标注文本;θ是模型的参数,也就是需要通过训练优化的内容;u是所有的训练数据(即第二训练样本)。模型的优化结果即是调整θ的值,使得在给定观察值o的情况下,实际为语音对应的文本w的概率最大。将这个公式按照贝叶斯公式展开,可以看到分为分子、分母2个部分,其中分子的wu表示训练数据的真实标注文本,分母的w表示所有的可能文本,所以直观上理解,区分性训练的优化目标就是调整θ让目标文本取观察值的概率尽量大,同时抑制其余文本取观察值的概率,从而区分混淆词。
[0055]
区分性训练的损失函数,可以有许多变体,诸如:mmi(maximum mutual information),mpe(minimum phone error)。本发明实施例以mmi为例,其损失函数定义为:
[0056][0057]
其中,s
u
指的是将文字序列拓展开得到的音素状态序列,k是一个常量。那么分子部分的计算依然是在标注序列上,分母部分的计算中有∑w部分,由解码图中所有可能的词序列计算得到。
[0058]
在实际的训练过程中,为了计算损失函数的分子与分母,其流程可以简单描述为,o是通过对音频帧进行特征抽取获得。然后将o先经过神经网络,这里并不限制神经网络的
结构,优选的可以采用tdnn结构。
[0059]
基于上述神经网络的输出,基于预先构造好的解码图,分别沿着标注文本路径以及其余所有可能的文本路径进行解码,可以计算得到分子,分母部分。在实际的训练过程中,由于可能的文本路径过多,造成计算复杂度过多,通常计算分母时,仅计算与标注文本相似的文本,相似的文本可以通过基于训练数据计算网格结构(lattice)进行获取,lattice是一个带权无向图,其中每个点代表一个声学单元,每条弧包含两个权重(声学权重和语言权重),lattice里会标识与标注文本相似的文本,关于lattice这里不再展开描述。
[0060]
上述中,所述第一初始唤醒模型或第二初始唤醒模型通过第二训练样本进行训练,将第二训练样本中的唤醒词样本数量设置为大于非唤醒词样本数量,对唤醒词样本进行了强化,使得后续获得的唤醒模型对唤醒词的识别效果更好。
[0061]
进一步的,根据所述第一初始唤醒模型的输出和所述第二初始唤醒模型的输出,确定目标损失值,包括:
[0062]
首先,获取所述第二初始唤醒模型的第一损失值。
[0063]
其次,根据所述第一初始唤醒模型的输出和所述第二初始唤醒模型的输出确定第二损失值。
[0064]
再次,根据所述第一损失值、所述第二损失值和预设损失函数,确定所述目标损失值。
[0065]
具体的,可计算第一初始唤醒模型的输出和第二初始唤醒模型的输出的kl散度,将该kl散度作为第二损失值。损失函数为预先设置,将第一损失值和第二损失值代入损失函数中,获得目标损失值。损失函数可为加权函数。
[0066]
参见图2,图2是本技术实施例提供的唤醒方法的流程图,如图2所示,本实施例提供一种唤醒方法,由第二电子设备执行,包括以下步骤:
[0067]
步骤201、获取待识别音频。
[0068]
待识别音频可通过第二电子设备的麦克风获取,待识别音频可包括人发出的语音,或者其他第二电子设备发出的语音,在此不做限定。
[0069]
步骤202、将所述待识别音频输入到唤醒模型中进行识别,得到识别结果。
[0070]
唤醒模型可通过图1所示实施例获得,具体可参见图1对应部分的记载,在此不做赘述。
[0071]
步骤203、根据所述识别结果确定是否执行唤醒操作。
[0072]
根据识别结果确定待识别音频是否包括唤醒词,若待识别音频包括唤醒词,则执行唤醒操作,唤醒目标设备;若待识别音频不包括唤醒词,则不执行唤醒操作,不唤醒目标设备。
[0073]
目标设备可为智能家居设备,第二电子设备可为智能家居设备中的某个模块或部件,也可以为与智能家居设备相独立的设备。
[0074]
本实施例中,第二电子设备获取待识别音频;将所述待识别音频输入到唤醒模型中进行识别,得到识别结果;根据所述识别结果确定是否执行唤醒操作。唤醒模型对特定的唤醒词的识别准确率提高,能够有效改善唤醒词串扰问题,从而使得本技术中的唤醒方法能够降低误唤醒率,提高唤醒准确率。
[0075]
上述中,所述根据所述识别结果确定是否执行唤醒操作,包括:
[0076]
首先,根据所述识别结果,获取解码图中唤醒词的路径得分和所述解码图中最高路径得分,所述解码图根据所述唤醒词构建。
[0077]
其次,获取所述最高路径得分对应的目标路径中每次跳转的概率值。
[0078]
再次,根据所述唤醒词的路径得分、所述解码图中最高路径得分,以及所述目标路径中每次跳转的概率值,确定是否执行唤醒操作。
[0079]
具体的,根据唤醒词构建解码图,解码图为h,c,l,g 4个图进行合并操作,其中,h,c根据基于区分性训练获得第一初始唤醒模型或第二初始唤醒模型的过程确定,l仅采用唤醒词加入部分静音及unk词汇获得,如下所示:
[0080]
<eps>0
[0081]
<wakeupword>唤醒词
[0082]
<sil>2
[0083]
<unk>3
[0084]
sil 4
[0085]
#0 5
[0086]
<s>6
[0087]
</s>7
[0088]
g采用如下方式构建:
[0089]
<wakeupword>
[0090]
<wakeupword><wakeupword>
[0091]
<wakeupword><wakeupword><wakeupword>
[0092]
sil
[0093]
上述中,h,c,l,g由4个解码图(fst)经过一系列算法组合而成。分别是h.fst、c.fst、l.fst和g.fst 4个fst文件:
[0094]
其中,g为语言模型,输入输出类型相同,实际是一个wfsa(acceptor,即接受机),为了方便与其它三个有限加权状态转换机(weighted finite state transducers,wfst)进行操作,将其视为一个输入输出相同的wfst。
[0095]
l为发音词典,输入:monophone,输出:词;
[0096]
c为上下文相关,输入:triphone(上下文相关),输出:monophnoe;
[0097]
h为隐含马尔柯夫模型(hidden markov model,hmm)声学模型,输入:hmm transitions
‑
ids(对pdf
‑
id和其它信息编码后的id),输出:triphone。
[0098]
以上4个fst,通过如下组合方式来计算最终输出结果:
[0099]
hclg=asl(min(rds(det(h'o min(det(c o min(det(lo g))))))))
[0100]
上面的o表示组合,det表示确定化,min表示最小化,rds表示去除消岐符号,asl表示增加自环。
[0101]
从待识别音频中提取声学特征,声学特征输入至唤醒模型中,获得识别结果,识别结果为后验概率p,解码器获取后验概率p后,在解码图上进行解码,获得解码图中唤醒词的路径得分和解码图中最高路径得分。
[0102]
对于解码图中的最高路径得分对应的目标路径,获得目标路径中每个路径跳转对
应的概率值,例如softmax值,在解码图里的最高路径得分对应的路径(该路径称为目标路径),找到目路径的跳转链路,每次跳转都使用了神经网络输出的某个维度的值,这个值可以对应一个softmax值(即可以认为神经网络多计算了一层,取后一层的对应位置的结果)。再根据唤醒词的路径得分、解码图中最高路径得分,以及目标路径中每次跳转对应的概率值,确定是否唤醒目标设备。
[0103]
具体的,在确定是否执行唤醒操作时,可根据所述唤醒词的路径得分和所述最高路径得分,获得第一数值;将所述目标路径中每次跳转的概率值之和作为中间数值;根据所述第一数值和所述中间数值,获得第二数值;若所述第一数值小于第一阈值,且所述第二数值小于第二阈值,则确定执行唤醒操作。
[0104]
例如,对于每一帧输入(即每个声学特征),根据从唤醒模型获得的后验概率p计算解码图中唤醒词的路径得分,并计算在解码图里最高路径得分,计算唤醒词的路径得分和最高路径得分的差值,差值为第一数值x1;
[0105]
对于解码图里最高路径得分对应的目标路径,找到目标路径的跳转链路,计算目标路径的每个跳转所对应的概率值之和,即将目标路径中各次跳转对应的概率值之和作为中间数值s,第二数值x2=x1/s。
[0106]
若x1<h1,且x2<h2,则唤醒目标设备,其中,h1为第一阈值,h2为第二阈值。
[0107]
本技术的唤醒方法,是基于chain model的唤醒方法,同时结合kld训练,使得模型对于bad case的处理能力大大增加,,提升了应用的灵活性,能够有效解决串扰问题,同时降低了训练成本。
[0108]
参见图3,图3是本技术实施例提供的第一电子设备的结构图,如图3所示,第一电子设备300包括:
[0109]
第一获取模块301,用于获取第一训练样本,所述第一训练样本包括唤醒词音频以及所述唤醒词的近音词音频;
[0110]
输入模块302,用于将所述第一训练样本分别输入到第一初始唤醒模型和第二初始唤醒模型,所述第一初始唤醒模型和所述第二初始唤醒模型相同;
[0111]
确定模块303,用于根据所述第一初始唤醒模型的输出和所述第二初始唤醒模型的输出,确定目标损失值;
[0112]
第二获取模块304,用于根据所述目标损失值调整所述第一初始唤醒模型的参数,得到唤醒模型。
[0113]
可选的,确定模块303,包括:
[0114]
第一获取子模块,用于获取所述第二初始唤醒模型的第一损失值;
[0115]
第一确定子模块,用于根据所述第一初始唤醒模型的输出和所述第二初始唤醒模型的输出确定第二损失值;
[0116]
第二确定子模块,用于根据所述第一损失值、所述第二损失值和预设损失函数,确定所述目标损失值。
[0117]
可选的,通过如下步骤确定所述第一初始唤醒模型或第二初始唤醒模型:
[0118]
获取第二训练样本,所述第二训练样本包括:唤醒词样本和非唤醒词样本,所述唤醒词样本的数量大于所述非唤醒词样本的数量;
[0119]
将所述第二训练样本输入到预设机器学习模型中进行训练,得到所述第一初始唤
醒模型或第二初始唤醒模型。
[0120]
可选的,所述输入模块302,包括:
[0121]
第一输入子模块,用于对于所述第一训练样本中的每个目标样本,将所述目标样本输入至所述第一初始唤醒模型,获得所述第一初始唤醒模型的输出;
[0122]
第二输入子模块,用于将所述目标样本输入至所述第二初始唤醒模型,获得所述第二初始唤醒模型的输出。
[0123]
第一电子设备300能够实现图1的方法实施例中第一电子设备实现的各个过程并达到相同的技术效果,为避免重复,这里不再赘述。
[0124]
参见图4,图4是本技术实施例提供的第二电子设备的结构图,如图4所示,第二电子设备400包括:
[0125]
第一获取模块401,用于获取待识别音频;
[0126]
第二获取模块402,用于将所述待识别音频输入到唤醒模型中进行识别,得到识别结果;
[0127]
判定模块403,用于根据所述识别结果确定是否执行唤醒操作。
[0128]
可选的,判定模块403,包括:
[0129]
第一获取子模块,用于根据所述识别结果,获取解码图中唤醒词的路径得分和所述解码图中最高路径得分,所述解码图根据所述唤醒词构建;
[0130]
第二获取子模块,用于获取所述最高路径得分对应的目标路径中每次跳转的概率值;
[0131]
判定子模块,用于根据所述唤醒词的路径得分、所述解码图中最高路径得分,以及所述目标路径中每次跳转的概率值,确定是否执行唤醒操作。
[0132]
可选的,判定子模块,包括:
[0133]
第一获取单元,用于根据所述唤醒词的路径得分和所述最高路径得分,获得第一数值;
[0134]
第二获取单元,用于将所述目标路径中每次跳转的概率值之和作为中间数值;
[0135]
第三获取单元,用于根据所述第一数值和所述中间数值,获得第二数值;
[0136]
唤醒单元,用于若所述第一数值小于第一阈值,且所述第二数值小于第二阈值,确定执行唤醒操作。
[0137]
第二电子设备400能够实现图2的方法实施例中第二电子设备实现的各个过程并达到相同的技术效果,为避免重复,这里不再赘述。
[0138]
图5为实现本技术各个实施例的一种电子设备的硬件结构示意图,如图5所示,该电子设备500包括但不限于:射频单元501、网络模块502、音频输出单元503、输入单元504、传感器505、显示单元506、用户输入单元507、接口单元508、存储器509、处理器510、以及电源511等部件。本领域技术人员可以理解,图5中示出的电子设备结构并不构成对电子设备的限定,电子设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。在本技术实施例中,电子设备包括但不限于手机、平板电脑、笔记本电脑、掌上电脑、车载终端、可穿戴设备、以及计步器等。
[0139]
在本技术一个实施例中,输入单元504,用于获取第一训练样本,所述第一训练样本包括唤醒词音频以及所述唤醒词的近音词音频;
[0140]
处理器510,用于将所述第一训练样本分别输入到第一初始唤醒模型和第二初始唤醒模型,所述第一初始唤醒模型和所述第二初始唤醒模型相同;根据所述第一初始唤醒模型的输出和所述第二初始唤醒模型的输出,确定目标损失值;根据所述目标损失值调整所述第一初始唤醒模型的参数,得到唤醒模型。
[0141]
可选的,处理器510,还用于获取所述第二初始唤醒模型的第一损失值;根据所述第一初始唤醒模型的输出和所述第二初始唤醒模型的输出确定第二损失值;根据所述第一损失值、所述第二损失值和预设损失函数,确定所述目标损失值。
[0142]
可选的,通过如下步骤确定所述第一初始唤醒模型或第二初始唤醒模型:
[0143]
获取第二训练样本,所述第二训练样本包括:唤醒词样本和非唤醒词样本,所述唤醒词样本的数量大于所述非唤醒词样本的数量;
[0144]
将所述第二训练样本输入到预设机器学习模型中进行训练,得到所述第一初始唤醒模型或第二初始唤醒模型。
[0145]
可选的,处理器510,还用于对于所述第一训练样本中的每个目标样本,将所述目标样本输入至所述第一初始唤醒模型,获得所述第一初始唤醒模型的输出;将所述目标样本输入至所述第二初始唤醒模型,获得所述第二初始唤醒模型的输出。
[0146]
上述实施例能够实现图1的方法实施例中第一电子设备实现的各个过程并达到相同的技术效果,为避免重复,这里不再赘述。
[0147]
在本技术另一个实施例中,输入单元504,用于获取待识别音频;
[0148]
处理器510,用于将所述待识别音频输入到唤醒模型中进行识别,得到识别结果;根据所述识别结果确定是否执行唤醒操作。
[0149]
可选的,处理器510,还用于根据所述识别结果,获取解码图中唤醒词的路径得分和所述解码图中最高路径得分,所述解码图根据所述唤醒词构建;
[0150]
获取所述最高路径得分对应的目标路径中每次跳转的概率值;
[0151]
根据所述唤醒词的路径得分、所述解码图中最高路径得分,以及所述目标路径中每次跳转的概率值,确定是否执行唤醒操作。
[0152]
可选的,处理器510,还用于根据所述唤醒词的路径得分和所述最高路径得分,获得第一数值;
[0153]
将所述目标路径中每次跳转的概率值之和作为中间数值;
[0154]
根据所述第一数值和所述中间数值,获得第二数值;
[0155]
若所述第一数值小于第一阈值,且所述第二数值小于第二阈值,确定执行唤醒操作。
[0156]
上述实施例能够实现图2的方法实施例中第二电子设备实现的各个过程并达到相同的技术效果,为避免重复,这里不再赘述。
[0157]
应理解的是,本技术实施例中,射频单元501可用于收发信息或通话过程中,信号的接收和发送,具体的,将来自基站的下行数据接收后,给处理器510处理;另外,将上行的数据发送给基站。通常,射频单元501包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器、双工器等。此外,射频单元501还可以通过无线通信系统与网络和其他设备通信。
[0158]
电子设备通过网络模块502为用户提供了无线的宽带互联网访问,如帮助用户收
发电子邮件、浏览网页和访问流式媒体等。
[0159]
音频输出单元503可以将射频单元501或网络模块502接收的或者在存储器509中存储的音频数据转换成音频信号并且输出为声音。而且,音频输出单元503还可以提供与电子设备500执行的特定功能相关的音频输出(例如,呼叫信号接收声音、消息接收声音等等)。音频输出单元503包括扬声器、蜂鸣器以及受话器等。
[0160]
输入单元504用于接收音频或视频信号。输入单元504可以包括图形处理器(graphics processing unit,gpu)5041和麦克风5042,图形处理器5041对在视频捕获模式或图像捕获模式中由图像捕获装置(如摄像头)获得的静态图片或视频的图像数据进行处理。处理后的图像帧可以显示在显示单元506上。经图形处理器5041处理后的图像帧可以存储在存储器509(或其它存储介质)中或者经由射频单元501或网络模块502进行发送。麦克风5042可以接收声音,并且能够将这样的声音处理为音频数据。处理后的音频数据可以在电话通话模式的情况下转换为可经由射频单元501发送到移动通信基站的格式输出。
[0161]
电子设备500还包括至少一种传感器505,比如光传感器、运动传感器以及其他传感器。具体地,光传感器包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板5061的亮度,接近传感器可在电子设备500移动到耳边时,关闭显示面板5061和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别电子设备姿态(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;传感器505还可以包括指纹传感器、压力传感器、虹膜传感器、分子传感器、陀螺仪、气压计、湿度计、温度计、红外线传感器等,在此不再赘述。
[0162]
显示单元506用于显示由用户输入的信息或提供给用户的信息。显示单元506可包括显示面板5061,可以采用液晶显示器(liquid crystal display,lcd)、有机发光二极管(organic light
‑
emitting diode,oled)等形式来配置显示面板5061。
[0163]
用户输入单元507可用于接收输入的数字或字符信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。具体地,用户输入单元507包括触控面板5071以及其他输入设备5072。触控面板5071,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板5071上或在触控面板5071附近的操作)。触控面板5071可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器510,接收处理器510发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板5071。除了触控面板5071,用户输入单元507还可以包括其他输入设备5072。具体地,其他输入设备5072可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆,在此不再赘述。
[0164]
进一步的,触控面板5071可覆盖在显示面板5061上,当触控面板5071检测到在其上或附近的触摸操作后,传送给处理器510以确定触摸事件的类型,随后处理器510根据触摸事件的类型在显示面板5061上提供相应的视觉输出。虽然在图5中,触控面板5071与显示面板5061是作为两个独立的部件来实现电子设备的输入和输出功能,但是在某些实施例中,可以将触控面板5071与显示面板5061集成而实现电子设备的输入和输出功能,具体此
处不做限定。
[0165]
接口单元508为外部装置与电子设备500连接的接口。例如,外部装置可以包括有线或无线头戴式耳机端口、外部电源(或电池充电器)端口、有线或无线数据端口、存储卡端口、用于连接具有识别模块的装置的端口、音频输入/输出(i/o)端口、视频i/o端口、耳机端口等等。接口单元508可以用于接收来自外部装置的输入(例如,数据信息、电力等等)并且将接收到的输入传输到电子设备500内的一个或多个元件或者可以用于在电子设备500和外部装置之间传输数据。
[0166]
存储器509可用于存储软件程序以及各种数据。存储器509可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器509可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
[0167]
处理器510是电子设备的控制中心,利用各种接口和线路连接整个电子设备的各个部分,通过运行或执行存储在存储器509内的软件程序和/或模块,以及调用存储在存储器509内的数据,执行电子设备的各种功能和处理数据,从而对电子设备进行整体监控。处理器510可包括一个或多个处理单元;优选的,处理器510可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器510中。
[0168]
电子设备500还可以包括给各个部件供电的电源511(比如电池),优选的,电源511可以通过电源管理系统与处理器510逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
[0169]
另外,电子设备500包括一些未示出的功能模块,在此不再赘述。
[0170]
优选的,本技术实施例还提供一种电子设备,包括处理器510,存储器509,存储在存储器509上并可在所述处理器510上运行的计算机程序,该计算机程序被处理器510执行时实现上述唤醒方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
[0171]
本技术实施例还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述唤醒方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。其中,所述的计算机可读存储介质,如只读存储器(read
‑
only memory,简称rom)、随机存取存储器(random access memory,简称ram)、磁碟或者光盘等。
[0172]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0173]
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本技术的技术方案本质上或者说对现有技术做
出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本技术各个实施例所述的方法。
[0174]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0175]
上面结合附图对本技术的实施例进行了描述,但是本技术并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本技术的启示下,在不脱离本技术宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本技术的保护之内。