首页 > 乐器声学 专利正文
语音交互的方法、电子设备及存储介质与流程

时间:2022-02-15 阅读: 作者:专利查询

语音交互的方法、电子设备及存储介质与流程

1.本发明实施例涉及通信领域,特别涉及一种语音交互的方法、电子设备及存储介质。


背景技术:

2.语音识别技术被广泛应用于各种智能设备中,如智能音箱、车载系统、智慧厨房和手机助手等,以实现与智能设备的语音交互。目前会采用由深度学习训练得到的模型,获取语音所指示的交互操作信息。用户与设备进行的语音交互的过程为:设备采集用户的语音音频数据,对该语音音频数据进行预处理,分帧加窗处理,得到语音片段,将语音片段输入经深度学习训练得到的模型中,根据输出结果,获得用户语音所指示的交互操作的信息,设备根据获得的交互操作的信息,执行交互操作。
3.但是,目前在实际应用中,由于应用场景中的复杂性,往往有不能识别出语音的情况,导致人与设备之间的语音交互失败,例如,目前进行深度学习的训练语料为标准的普通话,若用户采用方言或其他国家语言等情况,训练得到的模型不能准确识别语音,导致用户与设备之间的交互失败,影响用户体验。


技术实现要素:

4.本发明实施例的目的在于提供一种语音交互的方法、电子设备及存储介质,提高语音交互的成功率,增大语音交互的使用场景。
5.为解决上述技术问题,本发明的实施例提供了一种语音交互的方法,包括:根据获取的语音片段,获取语音片段的特征信息;将特征信息与预先存储的语音指令信息进行匹配,获取匹配结果,语音指令信息是根据用户指定的交互语音片段所确定;根据匹配结果,将语音片段输入预设的语音识别模型中,获取识别结果,执行识别结果指示的交互操作。
6.本发明的实施例还提供了一种电子设备,包括:至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行上述的语音交互的方法。
7.本发明的实施例还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被处理器执行时实现上述的语音交互的方法。
8.本发明实施例相对于现有技术而言,将语音片段的特征信息与预先存储的语音指令信息进行匹配,根据匹配结果,将语音片段输入预设的语音识别模型中,获取识别结果,执行匹配的语音指令信息指示的交互操作;由于不同的用户指定的交互语音片段不同,用户可以将与自己用语相匹配的语音片段指定为交互语音片段,例如,用户可以指定方言版本的交互语音片段或者其他外语版本的交互语音片段,根据指定的交互语音片段确定语音指令信息,从而使得语音指令信息可以与用户的用语习惯相适应,提高用户与设备进行语音交互的成功率;且由于语音指令信息可以根据用户指定的交互语音片段所确定,使得在不同的环境下,用户可以根据环境需要指定对应的交互语音片段,无需重新确定语音识别
模型,进而扩展了设备使用的应用场景。
附图说明
9.一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定。
10.图1是本发明第一实施例中语音交互的方法的流程图;
11.图2是本发明第二实施例中语音交互的方法的流程图;
12.图3是图2所述的本发明第二实施例提供的语音交互的方法中确定语音指令信息的一种具体实现示意图;
13.图4是根据本发明第三实施例中提供的语音交互的方法中获得哈希值的一种具体实现示意图;
14.图5是根据本发明第三实施例中提供的语音交互的方法中获取匹配结果的一种具体实现示意图;
15.图6是根据本发明第四实施例中电子设备的结构框图。
具体实施方式
16.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施例中,为了使读者更好地理解本技术而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本技术所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本发明的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。
17.发明人发现目前用户与设备之间语音交互的准确率通常基于设备对用户语音的识别结果,而目前对语音的识别结果采用语音识别模型,语音识别模型的训练过程大致为:采集大量的语料,对采集的语料进行深度学习训练。语料越丰富,得到的语音识别结果就越准确。但是,不同的场景,语料不同,导致在不同环境下,语音识别模型也不同,这导致在场景a下使用的语音识别模型在其他场景的识别准确度会下降,进而导致设备不能准确与用户进行交互。例如,若交互操作是唤醒操作时,语音识别模型的语料通常为标准的普通话,若用户采用方言、其他国家的语音时,语音识别模型将不能准确识别用户的语音,导致设备不能被唤醒,影响用户的体验。
18.本发明的第一实施例涉及一种语音交互的方法,该语音交互的方法可以应用于具有采集语音功能的电子设备,例如,智能音箱、台灯、冰箱、电视机等设备。该语音交互的方法的流程如图1所示:
19.步骤101:根据获取的语音片段,获取语音片段的特征信息。
20.步骤102:将特征信息与预先存储的语音指令信息进行匹配,获取匹配结果,语音指令信息是根据用户指定的交互语音片段所确定。
21.步骤103:根据匹配结果,将语音片段输入预设的语音识别模型中,获取识别结果,执行识别结果指示的交互操作。
22.本发明实施例相对于现有技术而言,将语音片段的特征信息与预先存储的语音指
令信息进行匹配,根据匹配结果,将语音片段输入预设的语音识别模型中,获取识别结果,执行匹配的语音指令信息指示的交互操作;由于不同的用户指定的交互语音片段不同,用户可以将与自己用语相匹配的语音片段指定为交互语音片段,例如,用户可以指定方言版本的交互语音片段或者其他外语版本的交互语音片段,根据指定的交互语音片段确定语音指令信息,从而使得语音指令信息可以与用户的用语习惯相适应,提高用户与设备进行语音交互的成功率;且由于语音指令信息可以根据用户指定的交互语音片段所确定,使得在不同的环境下,用户可以根据环境需要指定对应的交互语音片段,无需重新确定语音识别模型,进而扩展了设备使用的应用场景。
23.本发明的第二实施例涉及一种语音交互的方法,其流程如图2所示。
24.步骤201:根据获取的语音片段,获取语音片段的特征信息。
25.具体的说,电子设备可以实时采集用户的语音音频数据;也可以在监听到用户的语音音频数据时,开始采集语音音频数据。为了便于后续对得到的语音音频数据进行分析,可以先对采集的语音音频数据进行预处理,预处理可以包括:回声抵消、去混响、波束成形等提高音质的处理操作;其中,回声抵消是指通过自适应方法估计回声信号的大小,在接收信号中减去此估计值以抵消回声;波束形成是指将一定几何形状排列的多元基阵各阵元输出经过处理形成空间指向性的方法。语音音频数据的采集可以通过麦克风进行采集,如,麦克风阵列。
26.通过预处理可以消除语音音频数据中的噪音;提高语音音频数据的音质。对语音音频数据预处理之后,可以对语音音频数据进行分帧加窗处理,将语音音频数据划分为至少两个语音片段。可以按照预设分段长度长进行分段,例如,预设分段长度为1秒至3秒。
27.在一个例子中,提取语音片段中至少两个的特征数据;将语音片段以及特征数据,作为语音片段的特征信息。
28.具体的说,对每个语音片段进行时频分析,并进行如下处理:提取该语音片段中至少两个维度的特征数据,维度可以包括该语音片段中的时域数据、频域数据或频谱数据等;可以将该语音片段以及提取的特征数据作为特征信息,也可以仅将提取的特征数据作为特征信息。
29.在一个例子中,可以预先确定语音指令信息,并存储确定的语音指定信息。确定语音指令信息的过程可以是采用如图3所示的子步骤。
30.子步骤s11:获取用户指定的至少两个交互语音片段。
31.具体的说,采集用户指定的交互语音音频数据,可以按照预设的时间点采集,也可以是接收到用户的触发指令的情况下,电子设备提示开始采集之后,电子设备采集用户指定的交互语音音频数据;在检测到交互语音音频数据采集成功之后,结束采集。其中,每个交互语音音频数据设置有对应的交互操作,触发指令可以通过电子设备上设置的按钮获取。以设置电子设备的唤醒操作的唤醒词为例,用户长按唤醒按键,电子设备收到触发指令,电子设备发出“请说唤醒词”的提示音,可以在松开该唤醒按键之后,用户开始说唤醒词,用户可以使用方言、其他国家的语言说出唤醒词,也支持用户在口吃不清的情况下说出唤醒词,在达到预设时长之后,确定交互语音音频数据采集成功,电子设备可以发出“唤醒词设置成功”的提示音,结束采集。
32.对该交互语音音频数据进行预处理,预处理可以包括:对语音音频数据进行回声
抵消、去混响、波束成形。通过预处理可以提高交互语音音频数据的音质。对交互语音音频数据预处理之后,可以对交互语音音频数据进行分帧加窗处理,将交互语音音频数据划分为至少两个交互语音片段。可以按照预设分段长度长进行分段,例如,预设分段长度为1秒至3秒。需要说明的是,交互语音音频数据进的预设分段长度可以等于语音音频数据的预设分段长度。
33.子步骤s12:提取每个交互语音片段的交互特征数据。
34.对每个交互语音片段进行时频分析,并进行如下处理:提取该交互语音片段中至少两个维度的交互特征数据,维度可以包括该交互语音片段中的时域数据、频域数据或频谱数据等;对交互语音片段提取的维度特征与对语音片段提取的维度特征相同,即,若对交互语音片段提取时域数据和频域数据,那么语音片段也提取时域数据和频域数据。
35.子步骤s13:根据每个交互特征数据,获取语音指令信息。
36.在一个例子中,根据每个交互特征数据,获取至少两个交互特征数据对应的目标哈希值;根据至少两个目标哈希值以及交互语音片段,获得语音指令信息。
37.具体的说,可以对每个交互特征数据进行哈希处理,得到每个交互特征数据的哈希值,将得到的交互特征数据的哈希值作为该交互特征数据的目标哈希值。可以获取每个交互语音片段的序列号,将该序列号与目标哈希值建立对应关系,其中每个序列号为每个交互语音片段的标识信息;根据序列号可以查找对应的交互语音片段,可以将目标哈希值、每个交互语音片段,以及每个语音片段与每个目标哈希值之间的对应关系作为语音指令信息。语音指令信息中包含交互语音特征数据,便于后续与语音片段的特征信息匹配的准确度。
38.可以将确定的语音指令信息存储在数据库中,并建立该语音指令信息与交互操作之间的对应关系,以便该语音指令信息可以指示交互操作。每种交互操作可以对应一种语音指令信息,也可以对应多种语音指令信息。
39.存储的语音指令信息的数目可以是至少两个,以满足用户的不同交互需求。例如,开机操作对应的语音指令信息,唤醒操作对应的语音指令信息、播放操作对应的语音指令信息等。
40.值得一提的是,由于哈希处理后的得到的哈希值是固定长度的输出,对哈希值的匹配的速度快,匹配的准确度高,从而可以提高后续对语音指令信息的匹配速度以及准确度;另外,语音指令信息还包含交互语音片段,可以获得目标哈希值与交互语音片段之间的对应关系,便于后续与语音片段的特征信息进行匹配。
41.步骤202:将特征信息与预先存储的语音指令信息进行匹配,获取匹配结果。
42.语音片段的特征信息与存储的语音指令信息匹配的方式有多种,在一个例子中,可以将特征信息的哈希值分别与每个目标哈希值进行比对;若存在与特征信息的哈希值的相似度大于预设的第一阈值的目标哈希值,则匹配结果为匹配成功,否则,匹配结果为匹配失败。
43.具体的说,可以对每个语音片段的特征信息进行匹配,对该特征信息中的特征数据进行哈希处理,得到该特征信息的哈希值,将该哈希值作为该语音片段的哈希值,将该特征信息的哈希值分别与每个目标哈希值进行比对,由于哈希值是固定长度的输出,可以计算出语音片段的哈希值与目标哈希值之间的相似度。
44.判断该相似度是否大于预设的第一阈值,第一阈值可以根据需要进行设置,本示例中,可以将第一阈值设置为50%以上,以提高匹配的准确度,例如,第一阈值为80%。若相似度大于第一阈值,则匹配结果指示该特征信息匹配成功,若相似度小于或等于第一阈值,则匹配结果指示该特征信息匹配失败。
45.步骤203:判断匹配结果是否指示特征信息匹配成功,若是,则执行步骤204,否则,执行步骤205。
46.可以理解的是,若仅存在一个语音片段,若匹配结果指示该特征信息匹配成功,执行步骤204,若匹配结果指示该特征信息匹配失败,则执行步骤205。若存在多个语音片段,若存在任意一个特征信息匹配结果指示特征信息匹配成功,则执行步骤204,若每个匹配结果均指示各自的特征信息匹配失败,则可以执行步骤205。
47.步骤204:如果匹配结果指示特征信息匹配成功,则执行匹配的语音指令信息指示的交互操作。
48.具体的说,若存储有不同交互操作的语音指令信息,执行匹配的语音指令信息指示的交互操作。例如,语音指令信息a指示的交互操作为唤醒操作,语音指令信息b指示的交互操作为播放新闻,若匹配的语音指令信息为语音指令信息a,那么将执行唤醒操作。
49.步骤205:将语音片段输入预设的语音识别模型中,获取识别结果,执行识别结果指示的交互操作。
50.具体的说,语音识别模型是预先训练的,该语音识别模型的训练过程可以是:搜集各种环境中的属于交互操作的语料和属于非交互操作的语料;对搜集的语料进行预处理得到各种语音样本片段,标记属于交互操作的语音样本片段,将各种语音片段作为输入样本,各标记有交互操作的语音样本片段作为输出样本,根据输入样本和输出样本进行训练,得到该语音识别模型,训练采用的模型可以是深度神经网络模型,例如,全连接神经网路、卷积神经网络、卷积循环神经网络、循环神经为网络和注意力机制等。
51.下面介绍语音识别模型的工作过程:将一段语音片段输入该语音识别模型,该语音识别模型输出该输出结果,该输出结果是该语音片段所属交互操作的置信度,进而根据输出结果,确定该语音片段所属的交互操作,可以执行该识别结果指示的交互操作。
52.可以理解的是,在实际应用中,语音片段的数目至少为2个,那么将每个语音片段输入该语音识别模型,得到每个语音片段的输出结果,为了提高识别结果的准确性,可以检测到k个语音片段的输出结果的置信度是否均超过置信度阈值,k为大于1的整数,若是,则确定语音片段所属的交互操作,执行对应的交互操作。例如,输入5个语音片段,每个语音片段的输出结果分别为:唤醒操作:80%;唤醒操作90%;唤醒操作60%;播放操作30%;无操作:10%;置信度阈值为50%,k为3;可见,存在3个置信度均大于90%的输出结果,确定识别结果为唤醒操作,执行唤醒操作。
53.需要说明的是,本实施例中的步骤203至步骤205是对第一实施例中步骤103的详细介绍。
54.本发明的第三实施例涉及一种语音交互的方法,第三实施例与第二实施例大致相同,本实施例中介绍另一种将特征信息与预先存储的语音指令信息进行匹配,获取匹配结果的方式,下面将具体介绍获取匹配结果的过程。
55.在本示例中同样需要预先存储语音指令信息,确定语音指令信息的过程与第一实
施例中的过程大致相同,包括:根据每个交互特征数据,获取至少两个交互特征数据对应的目标哈希值;根据至少两个目标哈希值以及交互语音片段,获得语音指令信息。
56.根据每个交互特征数据,获取至少两个交互特征数据对应的目标哈希值的过程具体实现如图4所示。
57.子步骤s21:获取每个交互特征数据所属交互语音片段的序列号。
58.由于存在多个交互语音片段,每个交互语音片段有唯一的序列号,便于查询交互语音片段。该序列号在划分交互语音片段时即可获得。提取每个交互语音片段的交互特征数据,并获取该交互语音片段的序列号,即每个交互特征数据有唯一对应的序列号,该序列号可以查询到指示的交互语音片段。
59.子步骤s22:对每个交互特征数据以及对应的序列号进行哈希处理,得到至少两个目标哈希值。
60.具体的说,对每个交互特征数据以及对应的序列号进行哈希处理,得到每个哈希值。例如,交互语音片段a的交互特征数据为data1;该交互语音片段a的序列号为num1,对该data1和num1进行哈希处理:hash(data1+num1),得到哈希值。
61.子步骤s23:判断相邻n个目标哈希值之间的差值是否均处于预设范围之内,n为大于1的整数,若存在未处于预设范围之内的差值,则执行子步骤s24,若存在均处于预设范围之内的差值,则执行步骤s25。
62.具体的说,n可以根据实际需要进行设置,若只有两个目标哈希值,则n取值为2;在本示例中,以n值等于4为例,获取相邻4个哈希值之间的差值,相邻4个哈希值分别为hash1、hash2、hash3以及hash4;hash1和hash2之间的差值d1=hash1-hash2;hash2和hash3之间的差值d2=hash2-hash3;hash3和hash4之间的差值d3=hash3-hash4;预设范围可以设置为[a1,b1];分别检测每个差值是否处于该预设范围之内,若每个差值均处于该预设范围内,则可以执行步骤s25,维持存储的每个目标哈希值;也可以从4个目标哈希值中选择任意一个目标哈希值,删除其余三个目标哈希值,从而减少目标哈希值的冗余。若存在任意一个未处于预设范围之内的差值,则执行子步骤s25。
[0063]
子步骤s24:删除该n个目标哈希值,并获得返回指示信息,返回指示信息用于指示重新获取用户指定的至少两个交互语音片段。
[0064]
具体的说,若存在任意一个未处于预设范围之内的差值,表征当前的交互语音片段不准确,存在用户误操作的可能;获取返回指示信息,指示重新获取用户指定的至少两个语音片段。即重新开始采集交互语音音频数据,电子设备还可以发出重新采集的提示音。
[0065]
子步骤s25:维持存储的n个目标哈希值。
[0066]
需要说明的是,子步骤s25还可以删除n个目标哈希值中任意3个目标哈希值,从而减少目标哈希值的冗余。
[0067]
在一个例子中,在确定哈希值集合之后,可以根据该目标哈希值以及每个交互语音片段,获得语音指令信息。可以将每个目标哈希值以及每个交互语音片段作为语音指令信息,并存储。
[0068]
下面介绍获取匹配结果的过程,如图5所示。
[0069]
步骤s31:将特征信息的哈希值分别与每个目标哈希值进行比对。
[0070]
步骤s32:判断是否存在与特征信息的哈希值的相似度大于预设的第一阈值的目
标哈希值,若是,则执行步骤s33,否则,执行步骤s37。
[0071]
具体的说,可以对每个语音片段的特征信息进行匹配,对该特征信息中的特征数据进行哈希处理,得到该特征信息的哈希值,将该哈希值作为该语音片段的哈希值,将该特征信息的哈希值分别与每个目标哈希值进行比对,由于哈希值是固定长度的输出,可以计算出语音片段的哈希值与目标哈希值之间的相似度。
[0072]
判断该相似度是否大于预设的第一阈值,第一阈值可以根据需要进行设置,本示例中,可以将第一阈值设置为40%以上,以提高匹配的准确度,例如,第一阈值为40%。若相似度大于第一阈值,则执行步骤s33;若相似度小于或等于第一阈值,则执行步骤s37确定匹配结果指示特征信息匹配失败。
[0073]
步骤s33:根据确定的目标哈希值,查找对应的交互语音片段。
[0074]
本示例中目标哈希值是对交互特征数据以及对应的序列号进行哈希处理后得到,因而根据匹配的目标哈希值可以获取该序列号,进而根据序列号查询到对应的交互语音片段,例如,hash1=hash(data1+num1),data1为交互特征数据,num1为该交互特征数据所属交互语音片段的序列号,根据该hash1可以获取序列号为num1,故可以根据该序列号查找到交互语音片段。
[0075]
步骤s34:获取查找到的交互语音片段与语音片段之间的相关度。
[0076]
具体的说,为了提高准确度,可以利用互相关函数计算当前的语音片段与查找到的交互语音片段之间的相关度。
[0077]
步骤s35:判断获取的相关度是否大于预设的第二阈值,若是,则执行步骤s36,否则,执行步骤s37。
[0078]
第二阈值可以根据实际应用设置,例如可以设置为80%;若确定相关度大于第二阈值,则执行步骤s6,否则,执行步骤s37。
[0079]
步骤s36:匹配结果指示特征信息匹配成功。
[0080]
步骤s37:匹配结果指示特征信息匹配失败。
[0081]
本示例中,在哈希值的相似度判断之后,确定语音片段和交互语音片段的相关度,对相关度进行判断,匹配过程通过两次比较,可以提高匹配的准确度。
[0082]
此外,本领域技术人员可以理解,上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。
[0083]
本发明第四实施例涉及一种电子设备,如图6所示,电子设备包括:至少一个处理器301;以及,与至少一个处理器301通信连接的存储器302;其中,存储器302存储有可被至少一个处理器301执行的指令,指令被至少一个处理器301执行,以使至少一个处理器301能够执行上述的语音交互的方法。
[0084]
其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与
各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
[0085]
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
[0086]
本发明第四实施例涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述语音交互的方法的实施例。
[0087]
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0088]
本领域的普通技术人员可以理解,上述各实施例是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。