一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种语音交互方法、装置、电子设备及存储介质与流程

2021-07-16 17:33:00 来源:中国专利 TAG:数据处理 电子设备 交互 语音 装置


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.本发明的一个实施例中,所述方法还包括:
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.应用本发明实施例提供的方案进行语音交互时,智能设备在检测到待识别语音开始后,请求与服务端建立连接,若第一预设时长内未成功与服务端建立连接,基于离线语音识别模型对采集到的待识别语音进行识别,得到离线识别结果并显示。
58.由此可见,应用本发明实施例提供的方案进行语音交互时,即使是在网络较差的情况下,也能显示智能设备对待识别语音进行识别的离线识别结果,无需用户长时间等待服务端发送的云端识别结果,可以提高语音交互效率。
59.另外,第一预设时长后若与服务端成功建立连接,向服务端发送待识别语音,接收服务端发送的待识别语音的云端识别结果。由于服务端运行资源、存储空间充足,处理器性能优越,可以运行更为复杂的模型。由于上述更为复杂的模型在训练时样本数据更为丰富,鲁棒性更强,这样基于更为复杂的模型得到的云端识别结果准确度更高。因此,在检测到待识别语音结束后,若满足更新要求,根据所接收的云端识别结果,更新显示的识别结果。这样在提高语音交互效率的前提下,可以保证向用户显示的语音识别结果准确度较高。
附图说明
60.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
61.图1为本发明实施例提供的一种语音交互方法的流程示意图;
62.图2为本发明实施例提供的一种语音交互过程的信令图;
63.图3为本发明实施例提供的另一种语音交互方法的流程示意图;
64.图4为本发明实施例提供的另一种语音交互过程的信令图;
65.图5为本发明实施例提供的一种语音交互装置的结构示意图;
66.图6为本发明实施例提供的另一种语音交互装置的结构示意图;
67.图7为本发明实施例提供的一种电子设备的结构示意图。
具体实施方式
68.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于
本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
69.参见图1,图1为本发明实施例提供的一种语音交互方法的流程示意图,上述方法可以应用于智能设备中。例如,上述智能设备可以是机器人、智能手机、平板电脑、智能音箱等。上述方法包括如下步骤101至步骤104。
70.步骤101,在检测到待识别语音开始后,请求与服务端建立连接。
71.具体的,智能设备可以采集周围的语音,并对所采集到的语音进行检测,当检测到待识别语音开始后,说明接下来采集的语音为需要识别的语音。由于服务端具有对待识别语音进行语音识别的功能,因此,可以向服务端发送采集到的待识别语音,由服务端对上述待识别语音进行识别。智能设备在与服务端进行数据交互时,是基于网络连接实现的,所以需要请求与服务端建立连接。
72.其中,智能设备可以利用拾音器等声音采集器采集语音,例如,上述拾音器可以是麦克风等。采集语音这一操作可以持续贯穿于上述智能设备的工作过程中。智能设备可以持续采集周围的语音,也可以在预设的时间段采集周围的语音,例如,对于商场中放置的机器人而言,采集语音的时间段可以是商场的营业时间段。机器人还可以是在接收到采集指令后,开始采集周围的语音,也可以是在检测到用户接近智能设备后,开始采集周围的语音。
73.本发明的一个实施例中,在请求与服务端建立连接后,可以通过向服务端发送探测包的形式判断是否成功与服务端建立连接。具体的,智能设备可以向服务端发送探测包,服务端接收到探测包后向智能设备返回确认信息,智能设备接收到确认信息后,即可确定与服务端成功建立连接。
74.本发明的一个实施例中,可以利用vad(voice activity detection,语音活动检测)模型检测待识别语音是否开始,也可以利用vad模型检测待识别语音是否结束。具体的,vad模型可以在采集的语音中检测待识别语音的前端点和尾端点,当检测到待识别语音的前端点时,可以认为检测到待识别语音开始,当检测到待识别语音的尾端点时,可以认为检测到待识别语音结束。
75.上述前端点可以理解为待识别语音的第一个语音段,例如,采集到的语音“带我去会议室”中“带”对应的语音段为前端点。
76.上述尾端点可以理解为待识别语音的最后一个语音段,例如,采集到的语音“带我去会议室”中“室”对应的语音段为尾端点。
77.本发明的一个实施例中,可以检测采集到的语音的强度,在强度达到语音强度阈值时,认为检测到待识别语音。例如,放置于商场中的机器人,可以采集周围嘈杂的语音,其中,上述嘈杂的语音包括:行人说话的声音、广告播放的声音等。上述嘈杂的语音并不需要进行识别,因此不是待识别声音。而当用户与机器人对话时,用户所发出的声音需要被识别,也就是待识别语音。而由于用户与机器人对话时通常距离较近,所发出的声音强度较大,因此可以通过检测采集到的语音的强度判断是否为待识别语音。当采集到的语音的强度达到语音强度阈值时,认为发出上述语音的用户距离智能设备较近,上述用户在与智能设备进行对话,因此认为上述语音为待识别语音。
78.本发明的一个实施例中,还可以通过检测唤醒语音来确定检测到待识别语音是否
开始。其中,上述唤醒语音为预先设定的、用于确定用户开始与智能设备进行对话的语音。具体的,可以预先设定唤醒语音,当检测到采集的语音中包含唤醒语音时,认为用户开始与智能设备进行对话,也就是待识别语音开始,接下来采集的语音为需要进行识别的语音。其中,上述唤醒语音可以是“嘿,siri”的语音、“小雅”的语音等。
79.步骤102,若第一预设时长内未成功与服务端建立连接,基于离线语音识别模型对采集到的待识别语音进行识别,得到离线识别结果并显示。
80.本发明的一个实施例中,可以根据超时时长设定第一预设时长,可以设定第一预设时长小于超时时长。上述超时时长为:预设的、用于判断与服务端建立连接超时的时长。当达到超时时长后仍未与服务端建立连接的情况下,可以认为连接超时,超时时长可以为3秒、5秒、10秒等,第一预设时长可以为:500毫秒、800毫秒、1000毫秒等,本发明实施例并不对此进行限定。
81.具体的,在第一预设时长内未成功与服务端建立连接的情况下,说明网络较差,智能设备向服务端发送待识别语音、服务端向智能设备返回识别结果的耗时较长,为避免用户长时间等待服务端返回的识别结果,上述智能设备直接基于离线语音识别模型对采集到的待识别语音进行识别,离线对待识别语音进行识别,得到离线识别结果,并对离线识别结果进行显示。
82.本发明的一个实施例中,智能设备可以在每得到一离线识别结果后,显示所得到的离线识别结果。也可以是在对需要进行识别的语音全部识别完成后,显示全部的离线识别结果。
83.在第一预设时长内成功与服务端建立连接的情况下,说明网络良好,智能设备向服务端发送待识别语音、服务端向智能设备返回识别结果的耗时较短,因此向服务端发送采集到的待识别语音,服务端接收到待识别语音后,对待识别语音进行识别,并将识别结果返回智能设备,智能设备接收到识别结果后,对识别结果进行显示。本申请的一个实施例中,智能设备每采集到一语音帧,可以将该语音帧发送到服务端,服务端每接收到一语音帧,可以对该语音帧进行识别,并将该语音帧的识别结果发送到智能设备,智能设备每接收到一个识别结果,对该识别结果进行显示。其中,语音帧为:对语音进行分帧处理后得到的一段语音,每帧语音的时长可以是20毫秒、30毫秒、50毫秒等。
84.本发明的一个实施例中,可以预先构建字符库,在进行语音识别时,首先识别出待识别语音的音素,然后根据字符库,确定所识别的音素对应的字符,再获得由所查找到的字符组合成语句。其中,可以一个音素对应一个字符,也可以多个音素对应一个字符。上述字符可以是汉字、数字、英文单词、英文字母等。上述字符库中可以包括:在实际应用场景中被高频率使用的字符,例如,假设实际应用场景为商场,被高频率使用的字符可以是“电梯”、“超市”、“停车场”等。
85.若基于上述字符库确定出待识别语音对应的字符,则说明可以成功识别出该待识别语音对应的字符;若基于上述字符库中无法确定该待识别语音对应的字符,则说明只能识别出待识别语音的音素等信息,而难以识别出待识别语音对应的字符。
86.智能设备本地存储有字符库,这样在无法连接到服务端时,智能设备也能对采集的待识别语音进行识别,再基于本地存储的字符库确定待识别语音对应的字符,可以提高语音识别效率。
87.由于服务端可以提供充足的存储空间和运行资源,因此服务端存储的字符库中包含的字符数量大,可识别的语音帧的范围更大,对待识别语音进行识别的成功率更高。而且,服务端处理器性能较强,可以运行更为复杂的模型来对待识别语音进行识别,因此服务端对待识别语音进行识别得到的云端识别结果准确率也更高。
88.步骤103,第一预设时长后若与服务端成功建立连接,向服务端发送待识别语音,接收服务端发送的待识别语音的云端识别结果。
89.具体的,在第一预设时长后,智能设备会继续请求与服务端建立连接。在成功与服务端建立连接后,将采集到的待识别语音发送到服务端,服务端接收到待识别语音后,对上述语音进行识别,得到云端识别结果,并将云端识别结果发送到智能设备。
90.步骤104,在检测到待识别语音结束后,若满足更新要求,根据所接收的云端识别结果,更新显示的识别结果。
91.其中,上述更新要求可以是预先设定的、用于判定是否对显示的离线识别结果进行更新的要求。
92.具体的,由于服务端对待识别语音进行识别得到的云端识别结果准确率更高,为了向用户显示更准确的识别结果,因此在检测到待识别语音结束后,若满足更新要求,将显示的离线识别结果更新为更为准确的云端识别结果。
93.除了前述的可以利用vad模型检测待识别语音是否结束外,本发明的一个实施例中,可以确定待识别语音的频率和/或强度,当检测到的频率低于预设频率阈值和/或检测到的强度低于预设强度阈值、且这样的语音的持续时长达到预设时长阈值后,认为检测到待识别语音结束,其中,上述预设时长阈值可以是2秒、3秒等,本发明实施例并不对此进行限定。
94.应用上述实施例提供的方案进行语音交互时,智能设备在检测到待识别语音开始后,请求与服务端建立连接,若第一预设时长内未成功与服务端建立连接,基于离线语音识别模型对采集到的待识别语音进行识别,得到离线识别结果并显示。
95.由此可见,应用上述实施例提供的方案进行语音交互时,即使是在网络较差的情况下,也能显示智能设备对待识别语音进行识别的离线识别结果,无需用户长时间等待服务端发送的云端识别结果,可以提高语音交互效率。
96.另外,第一预设时长后若与服务端成功建立连接,向服务端发送待识别语音,接收服务端发送的待识别语音的云端识别结果。由于服务端运行资源、存储空间充足,处理器性能优越,可以运行更为复杂的模型。由于上述更为复杂的模型在训练时样本数据更为丰富,鲁棒性更强,这样基于更为复杂的模型得到的云端识别结果准确度更高。因此,在检测到待识别语音结束后,若满足更新要求,根据所接收的云端识别结果,更新显示的识别结果。这样在提高语音交互效率的前提下,可以保证向用户显示的语音识别结果准确度较高。
97.本申请的一个实施例中,对于上述步骤104,在更新识别结果时,可以是若检测到待识别语音结束后第二预设时长内接收到服务端返回的语音片段的云端识别结果,确定满足更新要求,根据接收到的语音片段的云端识别结果,更新显示的识别结果。
98.其中,语音片段包括:检测到待识别语音的开始至检测到待识别语音的结束期间采集到的待识别语音。可以理解为,语音片段为:自待识别语音开始、至待识别语音结束之间、所要识别的全部的语音。
99.第二预设时长可以是500毫秒、800毫秒、1000毫秒等。假设检测到待识别语音结束的时刻为第15秒这一时刻,第二预设时长为1秒,上述检测到待识别语音结束后第二预设时长内,也就是第15秒时刻至第16秒时刻内。
100.具体的,由于服务端对待识别语音进行识别的准确度较高,因此为保证显示的识别结果的准确度,期望显示服务端对待识别语音识别的云端识别结果,所以继续等待第二预设时长。
101.在上述第二预设时长内接收到语音片段的云端识别结果的情况下,确定满足更新要求,不再显示语音片段的离线识别结果,而是以语音片段的云端识别结果更新显示的离线识别结果。在上述第二预设时长内未接收到语音片段的云端识别结果的情况下,包括:未接收到服务端发送的云端识别结果,或者接收到服务端发送的部分待识别语音的云端识别结果,而未接收到服务端发送的语音片段的识别结果。这种情况下,说明网络较差,等待接收到服务端返回语音片段的云端识别结果可能耗时较长,为避免用户长时间等待,认为不满足更新要求,不再对显示的离线识别结果进行更新。
102.本发明的一个实施例中,还可以是若检测到待识别语音结束前已接收到过服务端返回的待识别语音的云端识别结果,且待识别语音结束后第二预设时长内接收到服务端返回的语音片段的云端识别结果,确定满足更新要求,根据接收到的云端识别结果,更新显示的识别结果。
103.具体的,可以首先判断在检测到待识别语音结束前是否已接收到过服务端发送的云端识别结果,若检测到待识别语音结束前已接收到过云端识别结果,说明在待识别语音结束前已成功连接至服务端。这种情况下,在第二预设时长内接收到语音片段的云端识别结果的概率较高,因此可以继续等待第二预设时长。在第二预设时长内接收到服务端发送的语音片段的云端识别结果的情况下,确定满足更新要求,以接收到的云端识别结果更新显示的离线识别结果。
104.若检测到待识别语音结束前未接收到过云端识别结果,说明在待识别语音结束前,智能设备依然未成功连接至服务端。这种情况下,在第二预设时长内与服务端成功建立连接的概率较低,进而在第二预设时长内接收到语音片段的云端识别结果的概率较低,认为不满足更新要求,因此可以不再继续等待第二预设时长来接收服务端发送的云端识别结果,直接以显示的离线识别结果作为最终的显示结果。
105.下面再结合信令图对上述语音交互方案进行描述。
106.参见图2,图2为本发明实施例提供的一种语音交互过程的信令图。
107.智能设备持续采集语音,在检测到待识别语音前端点时,认为检测到待识别语音开始,因此请求与服务端建立连接;
108.智能设备在第一预设时长内未成功与服务端建立连接的情况下,由智能设备基于离线语音识别模型对采集到的待识别语音进行识别,得到离线识别结果并显示;
109.智能设备持续请求与服务端建立连接,第一预设时长后若成功连接至服务端,向服务端发送待识别语音;
110.服务端接收待识别语音,并对待识别语音进行识别,并将识别得到的云端识别结果返回智能设备;
111.智能设备在检测到待识别语音结束后第二预设时长内,接收到服务端发送的语音
片段的云端识别结果的情况下,确定满足更新要求,以接收到的云端识别结果更新显示的离线识别结果。
112.应用上述实施例提供的方案进行语音交互时,智能设备在检测到待识别语音开始后,请求与服务端建立连接,若第一预设时长内未成功与服务端建立连接,基于离线语音识别模型对采集到的待识别语音进行识别,得到离线识别结果并显示。
113.参见图3,图3为本发明实施例提供的另一种语音交互方法的流程示意图,除上述步骤101至步骤104之外,还包括如下步骤105和步骤106:
114.步骤105,根据语音片段的离线识别结果,确定离线语音识别模型正确识别语音片段的离线识别成功率。
115.本发明的一个实施例中,智能设备对待识别语音进行识别时,对于每一语音帧而言,若在存储的字符库中可以查找到该语音帧对应的字符,则可以识别出该语音帧对应的字符,也就是对该语音帧识别成功;若在上述字符库中无法查找到该语音帧对应的字符,则只能识别出该语音帧的音节等信息,也就是对该语音帧识别失败。
116.上述离线识别成功率可以理解为:语音片段中识别成功的字符所占离线识别结果中对应的字符总数量的比率。
117.这种情况下,本发明的一个实施例中,在计算离线识别成功率时,可以统计语音片段对应的字符的总数量,并统计语音片段的离线识别结果中成功识别的字符的字符数量,计算字符数量与总数量的比值,得到离线识别成功率。
118.具体的,由于每一字符对应一音节,因此在统计离线识别结果对应的字符的总数量时,可以统计语音片段中音节的总数量。例如,假设语音片段为“带我去会议室”,其中音节的总数量为6,也就是智能设备对上述语音片段进行识别得到的离线识别结果对应的字符的总数量为6。离线识别结果中成功识别的字符的字符数量为成功识别出音节对应的字符的数量。
119.本发明的一个实施例中,在离线识别结果中包含识别出的字符和表征识别失败的标识的情况下,也可以统计字符和标识的数量之和,作为离线识别结果对应的字符的总数量,统计字符的数量,作为成功识别的字符数量。其中,上述标识可以是“*”、
“×”
、“?”等,一个标识对应离线识别结果中识别失败的一个音节。
120.例如,假设语音片段为“请问奶茶店在哪里”对应的语音,离线识别结果为“**奶茶店在哪里”,其中“*”为表征识别失败的标识,可见,上述语音片段中音节的总数量为8,成功识别的字符数量为6,则离线识别成功率为75%。
121.本发明的一个实施例中,在由离线语音识别模型对语音帧进行识别时,可以得到每一离线识别结果的置信度。其中,上述置信度表征该离线识别结果为该语音帧对应的字符的概率。可以预先设定置信度阈值,当离线识别结果的置信度达到上述置信度阈值时,可以认为该离线识别结果为该语音帧对应的字符。
122.这种情况下,在计算离线识别成功率时,可以计算语音片段的每一语音帧的离线识别结果中,置信度达到置信度阈值的语音帧所占的比率,作为上述离线识别成功率。
123.例如,假设语音片段中包含6个语音帧,每一语音帧的置信度如下表1所示:
124.表1
125.语音帧语音帧1语音帧2语音帧3语音帧4语音帧5语音帧6
置信度0.80.30.20.60.90.7
126.假设置信度阈值为0.6,由上表1可知,语音片段中,置信度达到置信度阈值的语音帧包括:语音帧1、语音帧4、语音帧5和语音帧6,占语音帧总数的比率为4/6,可以将上述比率作为离线识别成功率。
127.本发明的一个实施例中,离线语音识别模型还可以输出语音片段的离线识别结果的置信度,其中,上述置信度表征离线识别模型对语音片段识别正确的概率。这种情况下,可以直接将上述模型输出的置信度作为离线识别成功率。
128.步骤106,若离线识别成功率达到预设阈值,基于离线语义分析模型,对语音片段的离线识别结果进行语义分析,获得语音片段对应的响应信息,并输出响应信息。
129.其中,上述预设阈值可以是80%、90%、60%等。具体的,上述预设阈值可以根据应用场景确定。由于在离线识别成功率较高的情况下,根据离线识别结果得到的响应信息准确度也较高。因此,在应用场景对响应信息的准确度要求较高时,可以设定较高的预设阈值,如80%、90%等。在应用场景对响应信息的准确度要求较低,而且希望对离线识别结果进行语义分析的覆盖率较高时,可以设定较低的预设阈值,如50%、60%等。
130.在离线识别成功率达到预设阈值的情况下,说明智能设备对语音片段进行识别的准确度较高,因此可以基于离线语义分析模型,对语音片段的离线识别结果进行语义分析,得到语义分析结果,进而获得语音片段对应的响应信息,并输出上述响应信息。
131.其中,语义分析结果中包含用户期望表达的含义,例如,可以包括用户的需求、目标等。例如,假设语音片段的离线识别结果为:“带我去会议室”,可以分析得到用户的需求为“引领功能”,目标为“会议室”。
132.响应信息为用于响应语音片段的信息。其中,响应信息可以是导航指引信息、对象介绍信息等。例如,假设语义分析结果为采用“引领功能”指引用户前往“会议室”,则响应信息可以是导航地图信息。
133.本发明的一个实施例中,可以提取离线识别结果中的关键信息,根据关键信息分析出用户的需求。例如,假设离线识别结果为“带我去会议室”,可以提取得到关键信息为“去”、“会议室”,根据上述关键信息,确定用户的需求为“引领功能”,目标为“会议室”。
134.本发明的一个实施例中,可以预先设定语义分析结果和响应信息之间的对应关系。具体的,上述对应关系可以包括语义分析结果中目标和响应信息之间的对应关系、需求和响应信息之间的对应关系。
135.例如,上述目标和响应信息之间的对应关系可以是语义分析结果中目标“会议室”和响应信息“会议室位置信息”之间的对应关系,这样当语义分析结果触发到“会议室”时,即可确定响应信息为“会议室位置信息”。
136.上述需求和响应信息之间的对应关系可以是语义分析结果中需求“去”和响应信息“引领功能”之间的对应关系,这样当语义分析结果触发到“去”时,即可确定响应信息为引领用户前往目标位置,便于针对用户需求向用户作出响应。
137.本发明的一个实施例中,获得响应信息时,还可以在接收到语音片段的云端识别结果后第三预设时长内接收到服务端发送的语音片段的响应信息的情况下,将所接收到的响应信息确定为语音片段的响应信息并输出。其中,第三预设时长可以是500毫秒、800毫秒、1000毫秒等。
138.由于服务端的运算资源、存储资源等相对智能设备更加充足,服务端可以运行更为复杂的模型对待识别语音进行识别,因此服务端对语音片段进行识别得到的云端识别结果相对智能设备得到的离线识别结果准确度更高,服务端根据云端识别结果进行语义分析得到的语义分析结果的准确度更高,最终服务端获得的响应信息的准确度也更高。
139.因此,若接收到语音片段的云端识别结果后第三预设时长内接收到服务端发送的响应信息,为保证准确度,因此将所接收的响应信息确定为用于响应语音片段的响应信息。若接收到语音片段的云端识别结果后第三预设时长内未接收到服务端发送的响应信息,说明网络较差,为保证响应效率,则不再等待服务端发送的响应信息,而是将智能设备基于离线语义分析模型确定的响应信息作为用于响应语音片段的响应信息。
140.具体的,在网络较差、无法获得服务端发送的响应信息的情况下,可以由智能设备离线确定用于响应语音片段的响应信息;在网络良好的情况下,可以由服务端确定响应信息,并将确定的响应信息发送到智能设备,智能设备将接收到的响应信息作为用于响应语音片段的响应信息。
141.本发明的一个实施例中,在离线识别成功率未达到预设阈值的情况下,说明智能设备对语音片段进行识别的准确度较低,这种情况下由智能设备根据离线识别结果确定的响应信息的准确度较低,因此可以等待服务端返回的、根据云端识别结果确定的响应信息,若网络较差,超过预设的等待时长仍无法接收到服务端返回的响应信息,则可以向用户作出等待超时的提示信息。用户可以选择选择继续等待,也可以选择人工服务等。若未超过预设的等待时长即接收到了服务端返回的信息,则根据接收到的响应信息作出响应。其中,上述等待时长通常大于上述第三预设时长。
142.本发明的一个实施例中,在智能设备基于离线语义分析模型未确定响应信息的情况下,说明离线语义分析模型不支持对该语音片段的离线识别结果进行语义分析,这种情况下接收服务端发送的响应信息。
143.本发明的一个实施例中,由于服务端的运算资源、存储资源等相对智能设备更加充足,服务端可以运行更为复杂的模型来确定响应信息,进而服务端确定的响应信息准确度高于智能设备确定的响应信息。因此,在网络良好的情况下,采用服务端发送的、基于云端识别结果进行语义分析从而确定的响应信息,在网络较差的情况下,为了避免用户长时间等待服务端返回的响应信息,则采用智能设备确定的响应信息向用户作出响应。
144.具体的,在满足以下情况中至少一种的情况下,且在离线识别成功率达到预设阈值的情况下,由智能设备离线确定响应信息:
145.情况1,在检测到待识别语音结束前未接收到服务端发送的云端识别结果。
146.这种情况下,说明在待识别语音结束前未能成功连接服务端,或者成功连接至服务端,但是由于网络较差,未能成功向服务端发送待识别语音或未能成功接收到服务端返回的云端识别结果。这种情况下如果等待服务端返回响应信息,则可能耗费较长的时间,为用户带来较差的体验。
147.情况2,检测到待识别语音结束后第二预设时长内未接收到语音片段的云端识别结果。
148.具体的,若检测到待识别语音结束前已接收到过云端识别结果,说明在待识别语音结束前已成功连接至服务端,且服务端成功对部分待识别语音进行识别得到云端识别结
果,并将部分云端识别结果成功发送到了智能设备。为了得到服务端发送的全部云端识别结果,因此继续等待第二预设时长。
149.若检测到第二预设时长内未接收到全部识别结果,说明网络依然较差,若继续等待服务端发送的响应信息,则首先需要等待服务端返回全部的云端识别结果,接下来再次等待服务端发送的响应信息,耗时较长。这种情况下,为避免用户长时间等待,因此由智能设备确定响应信息。
150.情况3,接收到语音片段的云端识别结果后第三预设时长内未接收到服务端发送的语音片段的响应信息。
151.若在待识别语音结束前已接收到过云端识别结果,并且在待识别语音结束后第二预设时长内成功接收到全部的云端识别结果,说明网络可能已经恢复正常,为了保证正确向用户作出响应,因此继续等待服务端返回的响应信息。
152.接收到全部云端识别结果后第三预设时长内未接收到服务端发送的响应信息,说明网络再次变差,此时用户已经等待了较长时间,为避免用户继续等待,因此直接由智能设备确定响应信息。
153.本发明的一个实施例中,智能设备在接收到服务端发送的语音片段的云端识别结果的情况下,在离线确定响应信息时,可以基于离线语义分析模型,对云端识别结果进行语义分析,获得语音片段的响应信息,并输出上述响应信息。由于云端识别结果的准确度高于离线识别结果,在接收到服务端发送的语音片段的云端识别结果、且未能接收到服务端返回的响应信息的情况下,离线对云端识别结果进行语义分析,不仅可以提高语音交互效率,也能提高获得的响应信息的准确度。
154.下面再结合信令图对上述语音交互方案进行描述。
155.参见图4,图4为本发明实施例提供的另一种语音交互过程的信令图。
156.其中,对待识别语音进行识别的步骤同上述图2描述的步骤相同,也就是,图4中“更新显示结果”之前的步骤同上述图2中描述的步骤相同,在此不作赘述。
157.在更新显示结果之后,服务端对云端识别结果进行语义分析,得到云端语义分析结果,基于云端语义分析结果确定响应信息,并将响应信息发送至智能设备;
158.若智能设备在接收到语音片段的云端识别结果后第三预设时长内,接收到了服务端发送的响应信息,则输出服务端返回的响应信息;
159.若智能设备在接收到语音片段的云端识别结果后第三预设时长内,未接收到服务端发送的响应信息,则由智能设备离线进行语义分析,得到语义分析结果,并基于上述语义分析结果确定响应信息,输出该响应信息。
160.应用上述实施例提供的方案进行语音交互时,利用服务端确定响应信息,这样可以提高响应的准确度。然而在网络较差的情况下无法接收到服务端返回的响应信息时,则由智能设备离线确定响应信息,这样无需用户长时间等待响应结果,可以提高语音交互效率。
161.参见图5,图5为本发明实施例提供的一种语音交互装置的结构示意图,所述装置包括:
162.网络连接模块501,用于在检测到待识别语音开始后,请求与服务端建立连接;
163.语音识别模块502,用于若第一预设时长内未成功与所述服务端建立连接,基于离
线语音识别模型对采集到的待识别语音进行识别,得到离线识别结果并显示;
164.结果接收模块503,用于所述第一预设时长后若与所述服务端成功建立连接,向所述服务端发送所述待识别语音,接收所述服务端发送的所述待识别语音的云端识别结果;
165.显示更新模块504,用于在检测到待识别语音结束后,若满足更新要求,根据所接收的云端识别结果,更新显示的识别结果。
166.本发明的一个实施例中,所述显示更新模块504,具体用于:
167.若检测到待识别语音结束后第二预设时长内接收到所述服务端返回的语音片段的云端识别结果,确定满足更新要求,根据接收到的所述语音片段的云端识别结果,更新显示的识别结果,其中,所述语音片段包括:检测到待识别语音的开始至检测到待识别语音的结束期间采集到的待识别语音。
168.本发明的一个实施例中,所述显示更新模块504,具体用于:
169.若检测到待识别语音结束前已接收到过所述服务端返回的所述待识别语音的云端识别结果,且待识别语音结束后第二预设时长内接收到所述服务端返回的所述语音片段的云端识别结果,根据接收到的云端识别结果,更新显示的识别结果。
170.应用上述实施例提供的方案进行语音交互时,智能设备在检测到待识别语音开始后,请求与服务端建立连接,若第一预设时长内未成功与服务端建立连接,基于离线语音识别模型对采集到的待识别语音进行识别,得到离线识别结果并显示。
171.参见图6,本发明的一个实施例中,所述装置还包605:
172.响应信息获得模块505,用于根据语音片段的离线识别结果,确定所述离线语音识别模型正确识别所述语音片段的离线识别成功率,若所述离线识别成功率达到预设阈值,基于离线语义分析模型,对所述语音片段的离线识别结果进行语义分析,获得所述语音片段对应的响应信息,并输出所述响应信息,其中,所述语音片段包括:检测到待识别语音的开始至检测到待识别语音的结束期间采集到的待识别语音。
173.本发明的一个实施例中,所述响应信息获得模块505,具体用于:
174.若满足以下任一情况且满足所述离线识别成功率达到预设阈值,基于离线语义分析模型,对所述语音片段的离线识别结果进行语义分析,获得所述语音片段对应的响应信息,并输出所述响应信息:
175.在检测到待识别语音结束前未接收到所述服务端发送的云端识别结果;
176.检测到待识别语音结束后第二预设时长内未接收到所述语音片段的云端识别结果;
177.接收到所述语音片段的云端识别结果后第三预设时长内未接收到所述服务端发送的所述语音片段的响应信息。
178.本发明的一个实施例中,所述响应信息获得模块505,具体用于:
179.统计所述语音片段对应的字符的总数量,并统计所述语音片段的离线识别结果中成功识别的字符的字符数量;
180.计算所述字符数量与总数量的比值,得到所述离线识别成功率;
181.若所述离线识别成功率达到预设阈值,基于离线语义分析模型,对所述语音片段的离线识别结果进行语义分析,获得所述语音片段对应的响应信息,并输出所述响应信息。
182.本发明的一个实施例中,所述装置还包括:
183.响应信息接收模块,用于若在接收到语音片段的云端识别结果后第三预设时长内接收到所述服务端发送的所述语音片段的响应信息,将所接收到的响应信息确定为所述语音片段的响应信息并输出,其中,所述语音片段包括:检测到待识别语音的开始至检测到待识别语音的结束期间采集到的待识别语音。
184.应用上述实施例提供的方案进行语音交互时,利用服务端确定响应信息,这样可以提高响应的准确度。然而在网络较差的情况下无法接收到服务端返回的响应信息时,则由智能设备确定响应信息,这样无需用户长时间等待响应结果,可以提高语音交互效率。
185.本发明实施例还提供了一种电子设备,如图7所示,包括处理器701、通信接口702、存储器703和通信总线704,其中,处理器701,通信接口702,存储器703通过通信总线704完成相互间的通信,
186.存储器703,用于存放计算机程序;
187.处理器701,用于执行存储器703上所存放的程序时,实现上述任一语音交互方法的步骤。
188.上述电子设备提到的通信总线可以是外设部件互连标准(peripheral component interconnect,pci)总线或扩展工业标准结构(extended industry standard architecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
189.通信接口用于上述电子设备与其他设备之间的通信。
190.存储器可以包括随机存取存储器(random access memory,ram),也可以包括非易失性存储器(non-volatile memory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
191.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,cpu)、网络处理器(network processor,np)等;还可以是数字信号处理器(digital signal processing,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
192.在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一语音交互方法的步骤。
193.在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一语音交互方法。
194.应用上述实施例提供的方案进行语音交互时,智能设备在检测到待识别语音开始后,请求与服务端建立连接,若第一预设时长内未成功与服务端建立连接,基于离线语音识别模型对采集到的待识别语音进行识别,得到离线识别结果并显示。
195.在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质
中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd))等。
196.需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
197.本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例、电子设备实施例、计算机可读存储介质实施例、计算机程序产品实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
198.以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文章

  • 日榜
  • 周榜
  • 月榜