1.本公开涉及通信技术领域,特别是涉及一种设备唤醒方法、装置以及电子设备。
背景技术:
2.随着人工智能(ai)算法以及ai芯片等硬件技术的发展,智能设备已经在日常生活中被广泛应用,如智能家居、智能音箱、智能会议系统等。其中,
语音交互在智能设备中的应用逐渐变得广泛,具体而言,基于语音进行设备的唤醒也应运而生。
技术实现要素:
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.可选地,基于当前采集到的语音数据,分别进行唤醒判定和误唤醒判定,包括:
28.将所述当前采集到的语音数据分别输入至唤醒模型和误唤醒模型,以通过所述唤醒模型进行所述唤醒判定,通过所述误唤醒模型进行所述误唤醒判定;
29.其中,所述唤醒模型是以多个唤醒语音数据为训练样本训练得到的,所述误唤醒模型是以多个误唤醒的语音数据样本为训练样本训练得到的。
30.可选地,所述误唤醒的语音数据样本的获取,包括:
31.在每成功唤醒所述设备时,对唤醒所述设备的第一语音数据进行缓存;
32.从至少一个所述第一语音数据中,确定属于误唤醒的第二语音数据;
33.将所述第二语音数据作为所述误唤醒的语音数据样本。
34.可选地,所述从保存的至少一个所述第一语音数据中,确定属于误唤醒的第二语音数据,包括:
35.输出针对至少一个所述第一语音数据的语音播报信息;
36.基于针对所述第一语音数据的用户反馈信息,确定所述第二语音数据;
37.其中,所述语音播报信息用于指示用户确认每个所述第一语音数据是否为误唤醒的语音数据。
38.可选地,在每成功唤醒所述设备时,所述方法还包括:
39.对预设时长内产生的语音进行采集,得到所述第一语音数据对应的用户响应语音;
40.所述至少一个所述第一语音数据中,确定属于误唤醒的第二语音数据,包括:
41.从至少一个所述第一语音数据各自对应的用户响应语音中,确定包括预设语音内容的目标用户响应语音;
42.将所述目标用户响应语音对应的第一语音数据,确定为所述第二语音数据。
43.可选地,所述唤醒判定的结果包括唤醒概率,所述误唤醒判定的结果包括误唤醒概率,基于所述唤醒判定的结果和所述误唤醒判定的结果,确定是否唤醒所述设备,包括:
44.获取与所述唤醒判定对应的第一阈值和所述误唤醒判定对应的第二阈值;
45.基于所述唤醒概率、所述误唤醒概率、所述第一阈值和所述第二阈值,确定是否唤醒所述设备。
46.可选地,所述第一阈值大于所述第二阈值。
47.可选地,基于所述唤醒概率、所述误唤醒概率、所述第一阈值和所述第二阈值,确定是否唤醒所述设备,包括:
48.在所述唤醒概率大于等于所述第一阈值,且所述误唤醒概率小于所述第二阈值的情况下,唤醒所述设备;
49.在所述唤醒概率大于或等于所述第一阈值,且所述误唤醒概率大于或等于所述第二阈值的情况下,基于所述唤醒概率与所述误唤醒概率之间的大小关系,确定是否唤醒所述设备。
50.本公开还提供一种设备唤醒装置,所述装置包括:
51.判定模块,用于基于当前采集到的语音数据,分别进行唤醒判定和误唤醒判定;其中,所述唤醒判定用于确定是否唤醒设备,所述误唤醒判定用于对所述唤醒判定进行唤醒纠错;
52.执行模块,用于基于所述唤醒判定的结果和所述误唤醒判定的结果,确定是否唤醒所述设备
53.本公开还提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现所述的设备唤醒方法。
54.采用本技术实施例的设备唤醒方法,可以基于当前采集到的语音数据,分别进行唤醒判定和误唤醒判定;基于所述唤醒判定的结果和所述误唤醒判定的结果,确定是否唤醒设备,若确定是唤醒设备,则进行设备的唤醒,若确定不是唤醒设备,则不进行设备的唤醒。由于唤醒判定用于确定是否唤醒设备,误唤醒判定用于对所述唤醒判定进行唤醒纠错,这样,误唤醒判定可以确定语音数据是否是误唤醒设备,这样,可以通过误唤醒判定,提高了唤醒设备的准确率,从而确保每次唤醒都是基于用户真实的唤醒意图进行唤醒。
55.上述说明仅是本公开技术方案的概述,为了能够更清楚了解本公开的技术手段,而可依照说明书的内容予以实施,并且为了让本公开的上述和其它目的、特征和优点能够更明显易懂,以下特举本公开的具体实施方式。
附图说明
56.为了更清楚地说明本公开实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。需要注意的是,附图中各图形的尺寸和形状不反映真实比例,目的只是示意说明本发明内容。附图中相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。
57.图1示意性地示出了本公开的一种设备唤醒方法的步骤流程图;
58.图2示意性地示出了本公开的一种设备唤醒方法的整体流程示意图;
59.图3示意性地示出了本公开的一种误唤醒判定的步骤流程图;
60.图4示意性地示出了本公开的基于语义特征进行误唤醒判定的步骤流程图;
61.图5示意性地示出了本公开的基于采集时间确定时间特征的步骤流程图;
62.图6示意性地示出了本公开的一种非唤醒的语音数据的收集的流程示意图;
63.图7示意性地示出了本公开的一种设备唤醒装置的结构示意图。
具体实施方式
64.为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
65.在基于语音进行设备的唤醒中,常常出现误唤醒设备的情况,例如,设备a的唤醒词是小李同学,若用户叫“小立同学”,则唤醒设备a,若用户叫“小李同学”时,因音近则也可能唤醒设备a,而实际中,用户叫“小李同学”并未是想唤醒设备a,这便是一次误唤醒。
66.有鉴于此,为提高语音唤醒的准确性,本技术提出了以下技术构思:对采集到的语音数据执行两种预测,一种预测用于预测是否唤醒设备,另一种预测用于预测是否是误唤醒设备,以进行误唤醒的纠错,这样,基于两种预测结果,最终判断是否要唤醒设备。
67.参照图1所示,示出了本技术的设备唤醒方法的步骤流程图,其中,可以通过电子设备执行以上步骤,该电子设备可以是需要唤醒的设备,或者,可以是与该需要唤醒的设备存在通信的其他设备,例如,需要唤醒的设备是音箱,则可以由音箱执行设备唤醒方法,或者,可以由与音箱连接的服务器或者移动设备执行设备唤醒方法,具体地,可以根据实际需求进行通信环境的设置即可。
68.如图1所示,具体可以包括以下步骤:
69.步骤s101:基于当前采集到的语音数据,分别进行唤醒判定和误唤醒判定;其中,唤醒判定用于确定是否唤醒设备,误唤醒判定用于对唤醒判定进行唤醒纠错;
70.步骤s102:基于唤醒判定的结果和误唤醒判定,确定是否唤醒设备。
71.本实施例中,设备可以周围环境中的用户语音进行采集,具体地,可以采集距离设备在预设距离范围内的用户语音,该采集工作可以由需要唤醒的设备进行,或者可以由与该需要唤醒的设备存在通信的其他设备采集,例如,可以由音箱采集,也可以由移动设备采集。其中,预设距离可以根据设备的语音采集模块的精度确定,例如,可以采集10米半径范围内的用户语音。
72.其中,设备在进行语音采集时,可以实时进行语音采集,也可以每间隔预设时长进行采集,当然,该预设时长不宜设置的过长,可以设置为1s内的时长。
73.在一些实施例中,设备可以对周围环境中被指定的用户的语音进行采集,从而采集指定用户的语音数据进行唤醒判定。具体实施时,可以由有权限的用户向设备输入一段语音,该语音可以称为注册语音,用于向设备注册自己的权限,设备记录该段语音的声纹特征作为用户的注册声纹特征。之后,在采集语音数据时,将采集的语音数据的声纹特征与注册声纹特征进行比对,比对一致时,继续执行该用户的语音数据采集,在比对不一致时,可以结束对该用户的语音数据采集。这样,可以避免无权限的用户唤醒设备,可以应用到一些付费唤醒业务中。
74.其中,可以基于当前采集到的语音数据,进行唤醒判定和误唤醒判定;在唤醒判定中,主要用于判断当前采集到的语音数据是否是用于唤醒设备的数据,具体实施时,可以基于当前采集到的语音数据中是否具有唤醒设备的唤醒词,确定是否唤醒设备。例如,唤醒词是“小立同学”,若当前采集到的语音数据中确定出了“小立同学”,则可以确定是唤醒设备的语音数据。
75.其中,在误唤醒判定中,主要用于判断当前采集到的语音数据是否属于误唤醒设备的数据,即用于对唤醒判定的结果进行纠错,具体实施时,可以基于当前采集到的语音数据,确定用户真实的唤醒意图,也就是说判定用户是否真想唤醒设备,实际中,又可以称为误唤醒识别。
76.一种实现手段可以是:确定当前采集到的语音数据中是否具有误唤醒词,若具有误唤醒词,则可以确定是误唤醒设备,其中,误唤醒词可以理解为是历史上被确认的误唤醒设备的词。
77.本实施例中,可以采用误唤醒判定的结果,对唤醒判定的结果进行纠错,具体实施时,若误唤醒判定的结果是非误唤醒,唤醒判定的结果是唤醒,则可以确定唤醒设备;若误唤醒判定的结果是误唤醒,唤醒判定的结果是非唤醒,则可以确定不唤醒设备。
78.其中,若误唤醒判定的结果显示是误唤醒,而唤醒判定的结果显示是唤醒,此种情况下,可以基于误唤醒判定的结果的准确率,和唤醒判定的结果的准确率,将准确率高的判定结果作为最终的结果,以根据最终的结果确定是否唤醒设备。
79.其中,误唤醒判定的结果的准确率可以根据历史多次误唤醒判定的结果的准确率的平均值确定,同理,唤醒判定的结果的准确率可以根据历史多次误唤醒判定的结果的准确率的平均值确定。当然,除依据结果的准确率进行判定外,还可以通过其他方式进行综合判定,例如,将判断的结果用概率表达,这在后续实施例中详述。
80.采用本技术实施例的技术方案,由于唤醒判定用于确定是否唤醒设备,误唤醒判定用于对唤醒判定进行唤醒纠错,这样,误唤醒判定可以确定语音数据是否是误唤醒设备,这样,可以通过误唤醒判定,提高了唤醒设备的准确率,从而确保每次唤醒都是基于用户真实的唤醒意图进行唤醒。
81.参照图2所示,示出了本技术的整体流程示意图,如图2所示,包括:将采集到的语音数据,分别输入到端到端的唤醒模型,和基于模板的非唤醒模型,通过唤醒模型进行唤醒判定,通过非唤醒模型进行误唤醒判定,之后,按照唤醒策略,对二者的判定结果进行处理,最终得到唤醒结果。
82.具体地,唤醒判定的结果可以是用唤醒概率表征,该唤醒概率的大小表征当前采集的语音数据是用于唤醒设备的数据的概率,也可以理解为表示用户想唤醒设备的意图的概率;误唤醒判定的结果可以用误唤醒概率表征,该误唤醒概率的大小表征当前采集的语音数据不是用于唤醒设备的数据的概率,也可以理解为表示用户不想唤醒设备的意图的概率。
83.在一种实施例中,唤醒判定的结果包括唤醒概率,误唤醒判定的结果包括误唤醒概率,则在基于唤醒判定的结果和误唤醒判定,确定是否唤醒设备时,可以获取与唤醒判定对应的第一阈值和误唤醒判定对应的第二阈值;基于唤醒概率、误唤醒概率、第一阈值和第二阈值,确定是否唤醒设备。
84.本实施例中,若唤醒概率大于或等于第一阈值,则唤醒判定得到的结果是用户需要唤醒设备,且误唤醒概率小于第二阈值,则误唤醒判定得到的结果也是用户需要唤醒设备,此种情况下,则唤醒设备。
85.若唤醒概率小于第一阈值,则唤醒判定得到的结果是用户不需要唤醒设备,且误唤醒概率大于或等于第二阈值,则误唤醒判定得到的结果也是用户不需要唤醒设备,此种
情况下,则不唤醒设备。
86.若唤醒概率大于或等于第一阈值,则唤醒判定得到的结果是用户需要唤醒设备,且误唤醒概率大于或等于第二阈值,则误唤醒判定得到的结果是用户不需要唤醒设备,此种情况下,两种判定得到的结果相矛盾,这时,对于唤醒判定的纠错效果便得以展现。
87.具体地,可以根据得到的误唤醒概率与唤醒概率之间的大小关系,确定是否唤醒设备,具体地,若误唤醒概率大于唤醒概率,则不唤醒设备;若误唤醒概率小于唤醒概率,则唤醒设备。
88.其中,为了保证尽可能地全面纠错,在一种可选的实施例中,第一阈值可以大于第二阈值;也就是说,唤醒判定得到的唤醒概率要足够高,才能被确定为唤醒设备,而误唤醒判定得到的误唤醒概率较唤醒概率小时,便可以确定为误唤醒设备。
89.示例地,第一阈值为95%,第二阈值为85%,当唤醒概率为90%,误唤醒概率为88%,唤醒概率虽然高达92%,但是仍然会被判定为非唤醒设备的结果;当唤醒概率为98%,误唤醒概率为90%时,虽然二者的结果相矛盾(一个确定唤醒,另一个确定是误唤醒),但是由于唤醒概率更高,因此,会被判定为唤醒设备的结果。
90.这样,可以提高语音与唤醒词相似情况下的误唤醒,从而唤醒设备更加符合用户真实的唤醒意图,提高唤醒准确率。
91.当然,在一些实际情况中,也可以根据需要将第一阈值设置的较小,而将第二阈值设置的较大。
92.下面,对本技术的如何基于语音数据进行误唤醒判定的过程进行介绍:
93.一种可选示例中,可以基于语音数据,从多个分析维度综合判定用户的真实唤醒意图。具体地,可以对当前采集到的语音数据进行至少一种分析维度的初判定,初判定用于确定是否为误唤醒;接着,基于至少一种分析维度各自对应的判定结果,进行误唤醒判定。
94.其中,分析维度可以是从语境维度、语音内容维度中的至少一个维度,可以分别从每个分析维度,确定当前采集到的语音数据是否是误唤醒设备的数据,接着,可以基于各个分析维度的综合判定结果,确定当前采集到的语音数据是否是误唤醒设备的数据。
95.其中,在从一个分析维度判定当前采集到的语音数据是否是误唤醒设备的数据的过程,可以是一次初判定,该初判定的结果可以用概率表征,即可以用属于误唤醒的概率表征。在分析维度有多个的情况下,可以基于多个分析维度各自对应的概率的平均值,或者多个分析维度各自的概率的加权平均值,确定是否是误唤醒。
96.其中,语境维度可以是指用户说话时所处的语境,从语境维度可以反映用户是否具有唤醒设备的语言场景,语音内容维度可以是指用户说出的语音中是否具有唤醒设备的唤醒词。实际中,可以从语音内容维度,判断是否是误唤醒,也可以从语境维度判断是否是误唤醒,或者,可以同时从语音内容维度和语境维度判断是否是误唤醒。
97.其中,从语音内容维度判断是否是误唤醒的过程如下:
98.在从语音内容维度判断是否是误唤醒的情况下,可以将当前采集到的语音数据,与预设的非唤醒的语音数据进行比对,以确定当前采集到的语音数据是否与非唤醒的语音数据一致,若一致,则表征是误唤醒,若不一致,则表征并不是误唤醒。
99.其中,预设的非唤醒的语音数据是历史过程中收集到的在用户不具有唤醒意图的情况下,却唤醒了设备的语音数据。
100.参照图3所示,示出了本技术的一种误唤醒判定的步骤流程图,如图3所示,具体可以包括以下步骤:
101.步骤s301:从当前采集到的语音数据中提取语音向量特征;
102.步骤s302:获取多个预设向量特征,其中,预设向量特征为预先确定的非唤醒的语音数据对应的向量特征;
103.步骤s303:基于语音向量特征分别与多个预设向量特征对应的相似度,从语音内容维度判定是否为误唤醒。
104.本实施例中,语音向量特征可以是指语音波形类特征,或者可以对语音数据进行文本识别后的文本特征;同理,预设向量特征可以是语音波形类特征,或者可以是对非唤醒的语音数据进行文本识别后的文本特征;需要说明的是,由于需要确定语音向量特征与预设向量特征之间的相似度,因此,需要语音向量特征与预设向量特征位于同一向量空间,即要么都是语音波形类特征,要么都是文本类特征。
105.在采用语音波形类特征的情况下,可以无需对语音数据进行文本识别,即可比对两种波形特征之间的相似度,此种方式可以降低设备的计算负载,并且可以识别音近的误唤醒,例如,真正的唤醒词是“小立同学”,用户之前说了一句“小李同学”唤醒了设备,“小李同学”便是一次误唤醒,二者音近,采用两种波形特征之间的相似度比对,便容易识别出此种情况下的误唤醒。
106.在采用文本特征的情况下,对语音数据进行文本识别,由此可以比对两种文本特征之间的相似度,这样可以重点对非唤醒的词进行相似度比对,将比对重点聚焦到唤醒词上,也可以一定程度上提高准确率。
107.其中,相似度可以是用余弦距离表征,具体不再赘述。
108.其中,可以通过设置相似度阈值,以根据语音向量特征分别与多个预设向量特征对应的相似度,确定是否为误唤醒。具体地,由于得到了多个相似度,每个相似度表征语音向量特征与一个预设向量特征至今的相似度;因此,可以统计得到的相似度大于或等于相似度阈值的数量,基于数量的多寡,进行误唤醒的判定。
109.一种示例中,只要存在相似度大于或等于相似度阈值的结果,则可以判定为误唤醒;另一种示例中,若存在相似度大于或等于相似度阈值的结果的数量高于预设数量,如3,则可以判定为误唤醒。这样,采用此种实施方式时,可以与历史上的多次误唤醒所积累的非唤醒的语音数据进行逐个比对,以提高误唤醒的判定准确率,随着非唤醒的语音数据的数量越多,则误唤醒的判定准确率越高。
110.其中,从语境维度判断是否是误唤醒的过程如下:
111.在该语境维度的判定中,可以对当前采集到的语音数据进行语义特征的提取和时间特征的提取,其中,语义特征的提取主要是用于描述语音数据中各个文本词之间的相关性,如此可以反映用户是在表达还是在命令。例如,用户在表达一件事情的时候,出现了唤醒词,如“最近小李同学学习进步不大”,其并不是要唤醒设备,而只是在描述一件事情。因此,通过语义特征,可以从语境维度提取出用户是否要唤醒设备的真实意图。
112.一般而言,用户在表达一件事情的时候,其语言的连贯性较强,而在命令时,语言的连贯性较低,即会在唤醒词前后进行停顿。基于此,时间特征可以用作语义特征的辅助特征,用于描述用户表达的连贯性。
113.实际中,在语境维度的初判定中,可以基于语义特征确定是否为误唤醒,或者可以基于语义特征和时间特征,确定是否为误唤醒。
114.参照图4所示,示出了本技术中基于语义特征进行误唤醒判定的步骤流程图,如图4所示,具体可以包括以下步骤:
115.步骤s401:对当前采集到的语音数据进行文本识别,得到多个文本词;
116.步骤s402:基于多个文本词,获取语义特征,语义特征用于表征各个文本词之间的相关性程度;
117.步骤s403:基于语义特征,从语境维度判定是否为误唤醒。
118.本实施例中,可以对当前采集到的语音数据进行文本识别,以识别出文本信息,其中,可以对文本信息进行词分割,得到多个文本词;
119.具体地,在识别时,将语音数据发送给云端服务器进行识别,之后接收云端服务器反馈的多个文本词,或者可以直接在终端进行文本识别,例如,直接在智能音箱进行文本识别。
120.接着,可以基于注意力机制,计算每个文本词与其他所有文本词之间的注意力得分,根据每个文本词各自对应的注意力得分,得到对应的相关性程度,该相关性程度可以反映语音数据中各个文本词之间的上下文关系,即语义连贯性程度。
121.之后,可以基于该相关性程度,度判定是否为误唤醒,具体地,可以设定相关性阈值,若相关性程度高于或等于相关性阈值,表示用户语音数据中的文本词之间的相关性较高,是描述性的语境,因此可以确定是误唤醒设备的结果;反之,若相关性程度低于相关性阈值,表示用户语音数据中的文本词之间的相关性较低,是非描述性而是命令性的语境,因此可以确定是唤醒设备的结果。
122.其中,实现上述目的可以采用注意力模型,如长短期记忆模型实现,也就是说可以将多个文本词输入到长短期记忆模型,由长短期记忆模型输出相关性程度,接着,可以基于模型输出的相关性程度得到误唤醒的判定结果。
123.采用此种实施方式时,可以避免虽然用户语音数据中具有唤醒词,但是用户是描述性陈述而非命令式的情况下,误唤醒设备。
124.在一种实施例中,在将时间特征作为语义特征的辅助特征,进行误唤醒判定时,对于时间特征的提取可以是如下过程:
125.基于当前采集的语音数据的时间,获取多个文本词各自对应的采集时间;并基于多个文本词各自对应的采集时间,确定当前采集的语音数据对应的时间特征,时间特征用于表征多个文本词之间的时间连续程度。
126.本实施例中,由于语音数据携带时间戳,因此在得到每个文本词时,可以通过该文本词对应的语音,确定其在原语音数据所处的起始时间和结束时间,进而得到每个文本此对应的采集时间,该采集时间可以包括起始时间和结束时间。
127.这样,通过文本词的采集时间,可以确定各个文本词之间的时间连贯性,也就是说可以通过一个文本词的结束时间和另一个文本词的起始时间,得到两个文本词之间的停顿时长,该停顿时长即可反映时间连续程度,进而得到时间特征。具体来说,时间特征可以包括每相邻两个文本词之间的停顿时长。
128.在一种情况下,由于需要重点确定语音数据中唤醒词前后的停顿时长,因此,可以
聚焦语音数据中的唤醒词,确定唤醒词前后的语音数据的时间连贯性。
129.具体地,参照图5所示,示出了基于采集时间,确定时间特征的步骤流程图,如图5所示,具体可以包括以下步骤:
130.步骤s501:从多个文本词中,确定目标词;其中,目标词为与设备的唤醒词对应的文本词;
131.本实施例中,目标词是与唤醒词之间的相似度大于预设阈值的词,其确定过程可以参照相关技术即可,在此不再赘述。
132.接着,可以通过以下步骤s502或步骤s503,或者,步骤502和步骤s503的过程,确定时间特征:
133.步骤s502:基于多个文本词各自对应的采集时间,确定目标词与其他文本词之间的第一时间间隔,将第一时间间隔确定为时间特征;其中,其他文本词为除目标词外的任一文本词。
134.具体地,可以确定目标词与其他文本词之间的第一时间间隔,一种示例中,可以其他文本词可以是与目标词前后相邻的文本词,即包括目标词的前一文本词以及目标词的后一文本词,如“最近小李同学学习进步不大”的语音数据,目标词是“小李同学”,则其他文本词可以是“最近”和“学习”;实际中,可以分别确定该目标词与前一文本词以及后一文本词之间的时间间隔,将两个时间间隔的均值作为第一时间间隔,因此,第一时间间隔可以反映语音数据中唤醒词所处的语境。
135.步骤s503:基于多个文本词各自对应的采集时间,确定每相邻的两个文本词之间的第二时间间隔,将第二时间间隔确定为时间特征。
136.具体地,也可以确定每相邻的两个文本词之间的时间间隔,将各个时间间隔的均值作为第二时间间隔,这样,可以反映语音数据的整体时间连贯性,从而可以反映用户说话的整体语境。
137.其中,两个文本词之间的时间间隔可以是指:前一个文本词的结束时间与后一文本词的起始时间之间的间隔。如“最近小李同学学习进步不大”的语音数据,则可以确定“最近”的结束时间和“小李”的起始时间之间的时间间隔。
138.实际中,在包括第一时间间隔和第二时间间隔的情况下,即通过步骤502和步骤s503共同确定时间特征的情况下,可以为第一时间间隔和第二时间间隔分别设置各自对应的权重,权重可以预先根据需求设置即可,接着,对第一时间间隔和第二时间间隔进行加权平均后,得到时间特征。例如,第一时间间隔为0.3s,第二时间间隔为0.25s,第一时间间隔对应的权重为0.7,第二时间间隔对应的权重为0.3,则时间特征=0.3*0.7+0.25*0.3,最终为0.285.
139.相应地,可以基于语义特征和时间特征,从语境维度判定是否为误唤醒。
140.具体实施时,由于语义特征可以反映各个文本词之间的相关性程度,时间特征可以反映各个文本词之间的时间连续程度,实际中,相关性程度值最高、时间连续程度越低,则是误唤醒的概率越大。基于此,可以将语义特征和时间特征映射到同一空间中进行误唤醒的判定。
141.具体实施时,用1减去相关性程度,即可以将语义特征映射到时间特征所在的空间,接着将减后的值再和时间特征相加,得到的值低于第一设定阈值,则是误唤醒;或者,用
1减去时间特征(时间间隔),即可以将时间特征映射到语义特征所在的空间,在和相关性程度相加,得到的值高于第二设定阈值,则是误唤醒。
142.当然,一些实施例中,也可以将映射到同一空间后的语义特征和时间特征,设置各自对应的权重,利用加权平均的方式,得到最终的值。具体参见上述实施方式和相关技术即可,在此不再赘述。
143.在一种示例中,为了提高唤醒效率和准确率,可以利用神经网络模型进行误唤醒判定和唤醒判定,具体实施时,可以将当前采集到的语音数据分别输入至唤醒模型和误唤醒模型,以通过唤醒模型进行唤醒判定,通过误唤醒模型进行误唤醒判定。
144.其中,非唤醒词模型可采用当前主流lstm/transformer等主流特征提取模型。
145.其中,唤醒模型是以多个唤醒语音数据为训练样本训练得到的,误唤醒模型是以多个误唤醒的语音数据样本为训练样本训练得到的。
146.其中,唤醒模型的训练样本可以是多个唤醒语音数据,唤醒语音数据中包括了唤醒词,唤醒模型的训练可以是一种端到端的训练。
147.而对于非唤醒模型的训练,在非唤醒模型的训练中,其训练样本可以包括多个误唤醒的语音数据样本,非唤醒模型可以是分类模型,或者可以是度量学习类型的模型。
148.若是分类模型,则训练样本包括的多个语音数据样本中,可以具有具有非唤醒的语音数据,以及具有唤醒词的语音数据样本;这样可以从语境维度判定是否是误唤醒,即直接对采集到的语音数据进行语义特征和时间特征的提取后,判定是否为误唤醒,具体过程可以参照上述从语境维度判断是否是误唤醒的过程的实施例即可。
149.若是度量学习类型的模型,则可以训练样本可以包括多个语音样本对,每个语音样本对包括非唤醒的两个语音数据,或者包括一个唤醒的语音数据和一个非唤醒的语音数据,以使得模型可以进行相似度比对,并基于相似度比对结果,确定是否为误唤醒。具体过程可以参照上述从语音内容维度判断是否是误唤醒的过程的实施例即可。
150.其中,误唤醒模型需要进行误唤醒的语音数据样本的收集。参照图6所示,示出了本技术的非唤醒的语音数据的收集的流程示意图,具体地,在每次唤醒设备后,可以进行误唤醒交互,以确定是否为误唤醒的语音数据,若是,则加入到非唤醒的语音数据中,若否,则继续执行唤醒的判定。
151.具体地,可以在每成功唤醒设备时,对唤醒设备的第一语音数据进行缓存;从至少一个第一语音数据中,确定属于误唤醒的第二语音数据;将第二语音数据作为误唤醒的语音数据样本。
152.其中,可以在每次执行设备的唤醒时,将该次唤醒设备所依据的第一语音数据进行缓存,接着,确定缓存的第一语音数据是否为误唤醒的第二语音数据。
153.其中,就如何确定误唤醒的第二语音数据的过程阐述如下:
154.其中,第二语音数据可以由用户主动确认,例如,用户在唤醒后,触发误唤醒确认功能,将自己误唤醒的第一语音数据确定为第二语音数据。当然,也可以由设备主动向用户确认第二语音数据,例如,主动向用户播报最近几次的第一语音数据,由用户针对播报内容进行反馈,根据用户的反馈,从而确定出第二语音数据。
155.在一种示例中,在设备主动确认第二语音数据的实施例中,设备可以输出针对至少一个第一语音数据的语音播报信息;并基于针对第一语音数据的用户反馈信息,确定第
二语音数据;
156.其中,语音播报信息用于指示用户确认每个第一语音数据是否为误唤醒的语音数据。
157.本实施例中,可以每缓存到预设数量个第一语音数据时,向用户播报这些第一语音数据的信息,例如,播报内容可以是“请确认数据1-数据1的语音内容,数据2-数据2的语音内容和数据3数据2的语音内容中,哪一数据为您误唤醒的数据”,则用户可以反馈误唤醒的语音数据的播报编码,进而设备根据播报编码确定出第二语音数据。其中,在播报每条第一语音数据的内容时,可以由机器播报,或者可以播报原始录制的语音数据,即上述示例中的“数据2的语音内容”可以是用户原始的语音数据。
158.当用户反馈无误唤醒的语音数据的情况下,可以清除缓存的第一语音数据,当用户反馈存在误唤醒的语音数据的情况下,可以将对应的第二语音数据上传到服务器中,以使服务器将第二语音数据加入到训练样本中,以训练误唤醒模型。
159.在又一种示例中,可以由设备主动采集唤醒设备后的用户语音,对该用户语音进行分析,确定是否出现了预设内容,如“吓死我了”,若出现了预设内容,则表示是误唤醒了设备,需要将第一语音数据确定为第二语音数据。
160.具体实施时,可以在每成功唤醒设备时,对预设时长内产生的语音进行采集,得到第一语音数据对应的用户响应语音;这样,在确定第二语音数据,可以从至少一个第一语音数据各自对应的用户响应语音中,确定包括预设语音内容的目标用户响应语音;将目标用户响应语音对应的第一语音数据,确定为第二语音数据。
161.本实施例中,可以在每成功唤醒设备时,在预设时长内,对用户响应语音进行采集,例如,在3秒内采集用户响应语音,接着,将该采集到的用户响应语音与第一语音数据一对一缓存,或者,将该采集到的用户响应语音与第一语音数据一对一上传至服务器;
162.接着,由设备或服务器确定每个用户响应语音中是否存在预设语音内容,具体实施时,可以对每个用户响应语音进行文本识别,以识别出文本中是否具有预设文本,预设文本即为预设语音内容对应的文本,若识别到,则将该用户响应语音对应的第一语音数据作为第二语音数据;若未识别到,则将该用户响应语音对应的第一语音数据清除。
163.其中,上述几种非唤醒的语音数据的收集方式可以同时使用,或者任选其一使用,在此不做具体限定。
164.参照图7所示,示出了本技术的设备唤醒装置的结构示意图,如图7所示,具体可以包括以下模块:
165.判定模块701,用于基于当前采集到的语音数据,分别进行唤醒判定和误唤醒判定;其中,唤醒判定用于确定是否唤醒设备,误唤醒判定用于对唤醒判定进行唤醒纠错;
166.判定模块702,用于基于唤醒判定的结果和误唤醒判定的结果,确定是否唤醒设备。
167.可选地,判定模块701,包括:
168.第一判定单元,用于对当前采集到的语音数据进行至少一种分析维度的初判定,初判定用于确定是否为误唤醒;
169.第二判定单元,用于基于至少一种分析维度各自对应的判定结果,进行误唤醒判定。
170.可选地,分析维度包括:语音内容维度,第一判定单元,具体用于执行以下步骤:
171.从当前采集到的语音数据中提取语音向量特征;
172.获取多个预设向量特征,其中,预设向量特征为预先确定的非唤醒的语音数据对应的向量特征;
173.基于语音向量特征分别与多个预设向量特征对应的相似度,从语音内容维度判定是否为误唤醒。
174.可选地,分析维度包括语境维度;第一判定单元,具体用于执行以下步骤:
175.对当前采集到的语音数据进行文本识别,得到多个文本词;
176.基于多个文本词,获取语义特征,语义特征用于表征各个文本词之间的相关性程度;
177.基于语义特征,从语境维度判定是否为误唤醒。
178.可选地,装置还包括:
179.时间获取模块,用于基于当前采集的语音数据的时间,获取多个文本词各自对应的采集时间;
180.特征提取模块,用于基于多个文本词各自对应的采集时间,确定当前采集的语音数据对应的时间特征,时间特征用于表征多个文本词之间的时间连续程度;
181.基于语义特征,从语境维度判定是否为误唤醒的步骤,包括:
182.基于语义特征和时间特征,从语境维度判定是否为误唤醒。
183.可选地,特征提取模块,包括:
184.目标词确定单元,用于从多个文本词中,确定目标词;其中,目标词为与设备的唤醒词对应的文本词;
185.第一特征确定单元,用于基于多个文本词各自对应的采集时间,确定目标词与其他文本词之间的第一时间间隔,将第一时间间隔确定为时间特征;和/或,
186.第二特征确定单元,用于基于多个文本词各自对应的采集时间,确定每相邻的两个文本词之间的第二时间间隔,将第二时间间隔确定为时间特征;
187.其中,其他文本词为除目标词外的任一文本词。
188.可选地,判定模块,具体用于将当前采集到的语音数据分别输入至唤醒模型和误唤醒模型,以通过唤醒模型进行唤醒判定,通过误唤醒模型进行误唤醒判定;
189.其中,唤醒模型是以多个唤醒语音数据为训练样本训练得到的,误唤醒模型是以多个误唤醒的语音数据样本为训练样本训练得到的。
190.可选地,误唤醒的语音数据样本的获取,包括以下步骤:
191.在每成功唤醒设备时,对唤醒设备的第一语音数据进行缓存;
192.从至少一个第一语音数据中,确定属于误唤醒的第二语音数据;
193.将第二语音数据作为误唤醒的语音数据样本。
194.可选地,从保存的至少一个第一语音数据中,确定属于误唤醒的第二语音数据的步骤,包括:
195.输出针对至少一个第一语音数据的语音播报信息;
196.用于基于针对第一语音数据的用户反馈信息,确定第二语音数据;
197.其中,语音播报信息用于指示用户确认每个第一语音数据是否为误唤醒的语音数
据。
198.可选地,装置还包括:
199.语音采集模块,用于对预设时长内产生的语音进行采集,得到第一语音数据对应的用户响应语音;
200.至少一个第一语音数据中,确定属于误唤醒的第二语音数据的步骤,包括:
201.从至少一个第一语音数据各自对应的用户响应语音中,确定包括预设语音内容的目标用户响应语音;
202.将目标用户响应语音对应的第一语音数据,确定为第二语音数据。
203.可选地,唤醒判定的结果包括唤醒概率,误唤醒判定的结果包括误唤醒概率,执行模块,包括:
204.阈值获取单元,用于获取与唤醒判定对应的第一阈值和误唤醒判定对应的第二阈值;
205.执行单元,用于基于唤醒概率、误唤醒概率、第一阈值和第二阈值,确定是否唤醒设备。
206.可选地,第一阈值大于第二阈值。
207.可选地,基于执行单元,具体用于:
208.在唤醒概率大于等于第一阈值,且误唤醒概率小于第二阈值的情况下,唤醒设备;
209.在唤醒概率大于或等于第一阈值,且误唤醒概率大于或等于第二阈值的情况下,基于唤醒概率与误唤醒概率之间的大小关系,确定是否唤醒设备。
210.基于相同的发明构思,本公开还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行时实现的设备唤醒方法。
211.本公开还一种计算机可读存储介质,其存储的计算机程序使得处理器执行所述的设备唤醒方法。
212.基于相同的发明构思,本公开还提供了一种计算机程序产品,包括计算机程序/指令,该计算机程序/指令被处理器执行时实现的设备唤醒方法。
213.最后,还需要说明的是,除非另外定义,在本文中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。
214.以上对本公开所提供的一种设备唤醒方法、装置、设备以及存储介质进行了详细介绍,本文中应用了具体个例对本公开的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本公开的方法及其核心思想;同时,对于本领域的一般技术人员,依据本公开的思想,在具体实施方式及应用范围上均会有改变之处,综上,本说明书内容不应理解为对本公开的限制。
215.本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其
它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
216.应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
217.本文中所称的“一个实施例”、“实施例”或者“一个或者多个实施例”意味着,结合实施例描述的特定特征、结构或者特性包括在本公开的至少一个实施例中。此外,请注意,这里“在一个实施例中”的词语例子不一定全指同一个实施例。
218.在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本公开的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
219.在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本公开可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
220.最后应说明的是:以上实施例仅用以说明本公开的技术方案,而非对其限制;尽管参照前述实施例对本公开进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本公开各实施例技术方案的精神和范围。
技术特征:
1.一种设备唤醒方法,其特征在于,所述方法包括:基于当前采集到的语音数据,分别进行唤醒判定和误唤醒判定;其中,所述唤醒判定用于确定是否唤醒设备,所述误唤醒判定用于对所述唤醒判定进行唤醒纠错;基于所述唤醒判定的结果和所述误唤醒判定的结果,确定是否唤醒所述设备。2.根据权利要求1所述的方法,其特征在于,所述基于当前采集到的语音数据,进行所述误唤醒判定;包括:对所述当前采集到的语音数据进行至少一种分析维度的初判定,所述初判定用于初步确定是否为误唤醒;基于所述至少一种分析维度各自对应的判定结果,进行所述误唤醒判定。3.根据权利要求2所述的方法,其特征在于,所述分析维度包括:语音内容维度,所述对所述当前采集到的语音数据进行至少一种分析维度的初判定,包括:从所述当前采集到的语音数据中提取语音向量特征;获取多个预设向量特征,其中,所述预设向量特征为预先确定的非唤醒的语音数据对应的向量特征;基于所述语音向量特征分别与多个预设向量特征之间的相似度,从所述语音内容维度判定是否为误唤醒。4.根据权利要求2或3所述的方法,其特征在于,所述分析维度包括语境维度;所述对所述当前采集到的语音数据进行至少一种分析维度的初判定,包括:对所述当前采集到的语音数据进行文本识别,得到多个文本词;基于多个所述文本词,获取语义特征,所述语义特征用于表征各个所述文本词之间的相关性程度;基于所述语义特征,从所述语境维度判定是否为误唤醒。5.根据权利要求4所述的方法,其特征在于,所述对所述当前采集到的语音数据进行内容识别,得到多个文本词之后,所述方法还包括:基于所述当前采集的语音数据的时间,获取多个所述文本词各自对应的采集时间;基于多个所述文本词各自对应的采集时间,确定所述当前采集的语音数据对应的时间特征,所述时间特征用于表征多个所述文本词之间的时间连续程度;基于所述语义特征,从所述语境维度判定是否为误唤醒,包括:基于所述语义特征和所述时间特征,从所述语境维度判定是否为误唤醒。6.根据权利要求5所述的方法,其特征在于,所述基于多个所述文本词各自对应的采集时间,确定所述当前采集的语音数据对应的时间特征,包括:从多个所述文本词中,确定目标词;其中,所述目标词为与所述设备的唤醒词对应的文本词;基于多个所述文本词各自对应的采集时间,确定所述目标词与其他所述文本词之间的第一时间间隔,将所述第一时间间隔确定为所述时间特征;和/或,基于多个所述文本词各自对应的采集时间,确定每相邻的两个所述文本词之间的第二时间间隔,将所述第二时间间隔确定为所述时间特征;其中,其他所述文本词为除所述目标词外的任一文本词。7.根据权利要求1或2所述的方法,其特征在于,基于当前采集到的语音数据,分别进行
唤醒判定和误唤醒判定,包括:将所述当前采集到的语音数据分别输入至唤醒模型和误唤醒模型,以通过所述唤醒模型进行所述唤醒判定,通过所述误唤醒模型进行所述误唤醒判定;其中,所述唤醒模型是以多个唤醒语音数据为训练样本训练得到的,所述误唤醒模型是以多个误唤醒的语音数据样本为训练样本训练得到的。8.根据权利要求7所述的方法,其特征在于,所述误唤醒的语音数据样本的获取,包括:在每成功唤醒所述设备时,对唤醒所述设备的第一语音数据进行缓存;从至少一个所述第一语音数据中,确定属于误唤醒的第二语音数据;将所述第二语音数据作为所述误唤醒的语音数据样本。9.根据权利要求8所述的方法,其特征在于,所述从保存的至少一个所述第一语音数据中,确定属于误唤醒的第二语音数据,包括:输出针对至少一个所述第一语音数据的语音播报信息;基于针对所述第一语音数据的用户反馈信息,确定所述第二语音数据;其中,所述语音播报信息用于指示用户确认每个所述第一语音数据是否为误唤醒的语音数据。10.根据权利要求9或8所述的方法,其特征在于,在每成功唤醒所述设备时,所述方法还包括:对预设时长内产生的语音进行采集,得到所述第一语音数据对应的用户响应语音;所述至少一个所述第一语音数据中,确定属于误唤醒的第二语音数据,包括:从至少一个所述第一语音数据各自对应的用户响应语音中,确定包括预设语音内容的目标用户响应语音;将所述目标用户响应语音对应的第一语音数据,确定为所述第二语音数据。11.根据权利要求1所述的方法,其特征在于,所述唤醒判定的结果包括唤醒概率,所述误唤醒判定的结果包括误唤醒概率,基于所述唤醒判定的结果和所述误唤醒判定的结果,确定是否唤醒所述设备,包括:获取与所述唤醒判定对应的第一阈值和所述误唤醒判定对应的第二阈值;基于所述唤醒概率、所述误唤醒概率、所述第一阈值和所述第二阈值,确定是否唤醒所述设备。12.根据权利要求11所述的方法,其特征在于,所述第一阈值大于所述第二阈值。13.根据权利要求11所述的方法,其特征在于,基于所述唤醒概率、所述误唤醒概率、所述第一阈值和所述第二阈值,确定是否唤醒所述设备,包括:在所述唤醒概率大于等于所述第一阈值,且所述误唤醒概率小于所述第二阈值的情况下,唤醒所述设备;在所述唤醒概率大于或等于所述第一阈值,且所述误唤醒概率大于或等于所述第二阈值的情况下,基于所述唤醒概率与所述误唤醒概率之间的大小关系,确定是否唤醒所述设备。14.一种设备唤醒装置,其特征在于,所述装置包括:判定模块,用于基于当前采集到的语音数据,分别进行唤醒判定和误唤醒判定;其中,所述唤醒判定用于确定是否唤醒设备,所述误唤醒判定用于对所述唤醒判定进行唤醒纠
错;执行模块,用于基于所述唤醒判定的结果和所述误唤醒判定的结果,确定是否唤醒所述设备。15.一种电子设备,其特征在于,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行时实现如权利要求1-13任一所述的设备唤醒方法。
技术总结
本公开提供了一种设备唤醒方法、装置以及电子设备,所述方法包括:基于当前采集到的语音数据,分别进行唤醒判定和误唤醒判定;其中,所述唤醒判定用于确定是否唤醒设备,所述误唤醒判定用于对所述唤醒判定进行唤醒纠错;基于所述唤醒判定的结果和所述误唤醒判定的结果,确定是否唤醒所述设备。确定是否唤醒所述设备。确定是否唤醒所述设备。
技术研发人员:
宿绍勋
受保护的技术使用者:
京东方科技集团股份有限公司
技术研发日:
2022.10.28
技术公布日:
2023/3/28