首页 > 乐器声学 专利正文
基于人工智能的语音识别方法、装置、设备及介质与流程

时间:2022-01-23 阅读: 作者:专利查询

基于人工智能的语音识别方法、装置、设备及介质与流程

1.本发明涉及人工智能的语音语义领域,尤其涉及一种基于人工智能的语音识别方法、装置、计算机设备及存储介质。


背景技术:

2.近年来,语音识别技术取得显著进步,语音识别技术其中一个具体应用场景是客服机器人,也就是部署在办事大厅、服务大厅等场所的智能机器人,现有的客服机器人是将采集到的语音上传至服务器进行语音识别,如果客服机器人部署在网络信号不太好的区域,若需等到客服机器人采集到音频流之后传输到服务器,再由服务器解析音频流进行识别,得出结果再传输给客服机器人,整个过程因受到网络信号差的影响导致通讯耗时(也就是客服机器人与服务器进行数据传输和交互的过程耗时)就占了整个过程耗时一半以上,极大的降低了数据处理效率。


技术实现要素:

3.本发明实施例提供了一种基于人工智能的语音识别方法、装置、计算机设备及存储介质,旨在解决现有技术中如果客服机器人部署在网络信号不太好的区域,若需等到客服机器人采集到音频流之后传输到服务器,再由服务器解析音频流进行识别得出结果再传输给客服机器人,整个过程因受到网络信号差的影响导致通讯耗时,极大的降低了数据处理效率的问题。
4.第一方面,本发明实施例提供了一种基于人工智能的语音识别方法,其包括:
5.若确定在预设的第一时间段值内均检测到声音数据,产生音视频采集指令;
6.获取所采集的初始音视频数据,将所述初始音视频数据进行音视频分离,得到初始音频数据,将所述初始音频数据发送至后台服务器;
7.接收后台服务器所发送与所述初始音频数据相应的初始识别文本,将所述初始识别文本的文字总数除以所述初始音频数据的初始音频时长,得到用户语速值;
8.获取预先存储的间隔时间值获取策略,根据所述用户语速值及所述间隔时间值获取策略获取语句最大间隔时间;
9.不断采集音视频中断时间未超出所述语句最大间隔时间的音视频数据,直至首次检测到音视频中断时间超出所述语句最大间隔时间时产生音视频停止采集指令并停止采集,将所述初始音视频数据与已采集的音视频数据进行封装组合得到待识别音视频数据;
10.将所述待识别音视频数据进行音视频分离,得到待识别音频数据;以及
11.将所述待识别音频数据发送至后台服务器。
12.第二方面,本发明实施例提供了一种基于人工智能的语音识别装置,其包括:
13.音视频采集指令生成单元,用于若确定在预设的第一时间段值内均检测到声音数据,产生音视频采集指令;
14.第一音视频分离单元,用于获取所采集的初始音视频数据,将所述初始音视频数
据进行音视频分离,得到初始音频数据,将所述初始音频数据发送至后台服务器;
15.第一用户语速值获取单元,用于接收后台服务器所发送与所述初始音频数据相应的初始识别文本,将所述初始识别文本的文字总数除以所述初始音频数据的初始音频时长,得到用户语速值;
16.第一最大间隔时间获取单元,用于获取预先存储的间隔时间值获取策略,根据所述用户语速值及所述间隔时间值获取策略获取语句最大间隔时间;
17.待识别数据获取单元,用于不断采集音视频中断时间未超出所述语句最大间隔时间的音视频数据,直至首次检测到音视频中断时间超出所述语句最大间隔时间时产生音视频停止采集指令并停止采集,将所述初始音视频数据与已采集的音视频数据进行封装组合得到待识别音视频数据;
18.第二音视频分离单元,用于将所述待识别音视频数据进行音视频分离,得到待识别音频数据;以及
19.待识别数据发送单元,用于将所述待识别音频数据发送至后台服务器。
20.第三方面,本发明实施例又提供了一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的基于人工智能的语音识别方法。
21.第四方面,本发明实施例还提供了一种计算机可读存储介质,其中所述计算机可读存储介质存储有计算机程序,所述计算机程序当被处理器执行时使所述处理器执行上述第一方面所述的基于人工智能的语音识别方法。
22.本发明实施例提供了一种基于人工智能的语音识别方法、装置、计算机设备及存储介质,获取预先存储的间隔时间值获取策略,根据所述用户语速值及所述间隔时间值获取策略获取语句最大间隔时间,不断采集音视频中断时间未超出所述语句最大间隔时间的音视频数据,直至首次检测到音视频中断时间超出所述语句最大间隔时间时产生音视频停止采集指令并停止采集,将所述初始音视频数据与已采集的音视频数据进行封装组合得到待识别音视频数据。将语音完整语句合成、语音预处理等工作放置于客服机器人这一前端进行,减少了客服机器人与后台服务器的通讯交互次数,降低了流量开销和后台服务器的压力。
附图说明
23.为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
24.图1为本发明实施例提供的基于人工智能的语音识别方法的应用场景示意图;
25.图2为本发明实施例提供的基于人工智能的语音识别方法的流程示意图;
26.图3为本发明实施例提供的基于人工智能的语音识别装置的示意性框图;
27.图4为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
28.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完
整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
29.应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
30.还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
31.还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
32.为了更清楚的理解本技术的技术方案,下面对所涉及到的执行主体进行详细介绍。本技术以客服机器人为执行主体描述技术方案。
33.客服机器人,其为部署在办事大厅、服务大厅等场所的智能机器人,其可以与前来咨询问题或者办理事务的用户进行语音交流以充当智能客服的角色。通过客服机器人可以采集用户存在一些短暂中断但中断时间未超出预设值的音视频数据,并合并成一段完整的音视频数据且提取音频后发送至后台服务器进行语音转文本处理即可,由于将语音完整语句合成、语音预处理等工作放置于客服机器人这一前端进行,无需用户每中断一个短句即将所采集到的音视频数据发送至后台服务器,不仅减少了客服机器人与后台服务器的通讯交互次数,降低了流量和后台服务器的压力。
34.后台服务器,其可以接收来自客服机器人上传的完整语句语音并进行语音转文本的处理,将识别得到的文本结果发送至客服机器人即可。
35.请参阅图1和图2,图1为本发明实施例提供的基于人工智能的语音识别方法的应用场景示意图;图2为本发明实施例提供的基于人工智能的语音识别方法的流程示意图,该基于人工智能的语音识别方法应用于服务器中,该方法通过安装于服务器中的应用软件进行执行。
36.如图2所示,该方法包括步骤s101~s107。
37.s101、若确定在预设的第一时间段值内均检测到声音数据,产生音视频采集指令。
38.在本实施例中,由于客服机器人上设置有摄像头和麦克风,在用户与客服机器人进行沟通的过程中,可以由客服机器人的摄像头和麦克风同时启动并采集与用户沟通过程中的音视频数据,从而以音视频数据作为后续智能会话的基础数据。
39.具体实施时,可以在客服机器人设置一个音视频采集触发条件。更具体的音视频采集触发条件是若客服机器人在预设的第一时间段值(例如设置第一时间段值为1-2s内的任意一个时间值,如1.5s)持续采集到外界的声音,触发产生音视频采集指令,并控制摄像头和麦克风同时启动以采集与用户沟通过程中的音视频数据。
40.s102、获取所采集的初始音视频数据,将所述初始音视频数据进行音视频分离,得到初始音频数据,将所述初始音频数据发送至后台服务器。
41.在本实施例中,为了基于初始说话语句快速获取用户的说话语速,需要通过客服机器人先采集一段初始音视频数据,所述初始音视频数据一般是用户与客服机器人所说的
第一句简短的语句(一般用户与客服机器人的开场白是我有个问题想咨询一下),一旦客服机器人采集到该初始音视频数据且通过音视频分离得到初始音频数据是先静默的发送至后台服务器进行语音识别以统计所述初始识别文本的文字总数,而不是在采集到一大段的对话后再发送至后台服务器计算用户语速。而且选择在后台服务器端进行语音识别,也是为了避免将所需存储空间较大且对处理器数据处理能力更高的语音识别模型存储在客服机器人中。通过这一静默发送初始音频数据的方式,可以使得后续处理过程中快速计算用户语速。
42.其中,在将所述初始音视频数据进行音视频分离时可以先通过常见的一些音视频分离工具(如视频格式转换器)提取所述初始音视频数据中的音频流和视频流,以音频流作为初始音视频数据的初始音频数据。
43.s103、接收后台服务器所发送与所述初始音频数据相应的初始识别文本,将所述初始识别文本的文字总数除以所述初始音频数据的初始音频时长,得到用户语速值。
44.在本实施例中,当客服机器人将所述初始音频数据发送至后台服务器,后台服务器对所述初始音频数据进行快速的语音识别得到初始识别文本后,立即将所述初始识别文本发送至客服机器人。客服机器人接收到了所述初始识别文本后,可以统计出其相应的文字总数。而且客服机器人在获取所述初始音频数据后,可直接获取其初始音频时长,在已知了文字总数和初始音频时长后,由所述初文字总数除以所述初始音频时长,得到用户语速值。获取该用户语速值即可预测该用户的说话最大停顿时间。
45.在一实施例中,步骤s103之后还包括:
46.接收后台服务器所发送与所述初始音频数据相应的用户预测年龄。
47.在本实施例中,当客服机器人将所述初始音频数据发送至后台服务器,后台服务器获取预先存储的年龄预测模型,将所述初始音频数据相应的声纹特征,将所述声纹特征作为所述年龄预测模型的输入,即可计算出用户预测年龄,从而预估该用户的当前年龄。
48.其中,之所以对用户年龄进行预测,也是因为用户在不同的年龄阶段的语速不同,如果可以在参考用户语速值的前提下,进一步参考用户预测年龄,使得预估得到的语句最大间隔时间更加准确。
49.s104、获取预先存储的间隔时间值获取策略,根据所述用户语速值及所述间隔时间值获取策略获取语句最大间隔时间。
50.在本实施例中,其中一种实现方式是间隔时间值获取策略是只能基于用户语速值来预估语句最大间隔时间。具体实施时,所述间隔时间值获取策略是第一预测模型,用于根据用户语速值来预估语句最大间隔时间。当将所述用户语速值输入至所述第一预测模型进行运算,即可得到语句最大间隔时间。所述间隔时间值获取策略还可以是一次函数(如y=ax+b,其中a和b是预设的一次函数参数,x为用户语速值,y为语句最大间隔时间),通过上述一次函数也可实现基于所述用户语速值获取语句最大间隔时间。
51.因为不同的人说话的速度都有很大的区别,在说话中停顿时间有长有短各不相同,若在客服机器人这一前端可以根据不同的人的语速设置判断一句话是否结束的语句最大间隔时间,而不用像后台服务器使用一样的间隔时间标准来判断说话是否结束,使得判断更准确。
52.在一实施例中,步骤s104包括:
53.获取所述间隔时间值获取策略,根据所述用户语速值、所述用户预测年龄及所述间隔时间值获取策略获取语句最大间隔时间。
54.在本实施例中,作为获取最大间隔时间更为具体的一种实现方式,还可以结合考虑用户的预测年龄,若确定用户预测年龄不为空值,表示此时间隔时间值获取策略是可以同时基于用户语速值和用户预测年龄来预估语句最大间隔时间。具体实施时,所述间隔时间值获取策略是第二预测模型,用于根据用户语速值和用户预测年龄来预估语句最大间隔时间。当将所述用户语速值和用户预测年龄输入至所述第二预测模型进行运算,即可得到语句最大间隔时间。
55.s105、不断采集音视频中断时间未超出所述语句最大间隔时间的音视频数据,直至首次检测到音视频中断时间超出所述语句最大间隔时间时产生音视频停止采集指令并停止采集,将所述初始音视频数据与已采集的音视频数据进行封装组合得到待识别音视频数据。
56.在本实施例中,当通过所述初始音频数据进行处理并预估得到了该用户的语句最大间隔时间,客服机器人在采集完初始音视频数据之后不是立即停止采集,而是判断下一段音视频数据(记为第k1段音视频数据)与初始音视频数据(记为第k0段音视频数据)之间的音视频中断时间是否超出所述语句最大间隔时间。若第k1段音视频数据与第k0段音视频数据之间的音视频中断时间未超出所述语句最大间隔时间,表示用户一句话还没说话,此时继续检测在第k1段音视频数据结束后的语句最大间隔时间内是否采集到第k2段音视频数据。若在第k1段音视频数据结束后的语句最大间隔时间内采集到第k2段音视频数据,仍表示用户一句话还没说话此时继续重复上述检测过程,直至在采集到第kn段音视频数据后且在第kn段音视频数据结束后的语句最大间隔时间内未采集到下一段音视频数据,此时可以判断触发了音视频停止采集指令并停止采集。最后将所述初始音视频数据与已采集的音视频数据进行封装组合得到待识别音视频数据。
57.在一实施例中,步骤s105包括:
58.若检测采集到第ki段音视频数据,将所述第ki段音视频数据进行保存;其中,i的初始取值为1;
59.将第ki段音视频数据的结束时间点作为音视频中断时间起始点;
60.若确定以所述音视频中断时间起始点之后的语句最大间隔时间内检测到音视频数据,将i自增1更新i的取值,返回执行所述若检测采集到第ki段音视频数据,将所述第ki段音视频数据进行保存的步骤;
61.若确定以所述音视频中断时间起始点之后的语句最大间隔时间内未检测到音视频数据,产生音视频停止采集指令并停止采集。
62.在本实施例中,通过上述方式对中断的用户对话所产生的音视频数据可以最多用2次发送即可全部发送到后台服务器进行下一步语音识别处理,无需用户每中断一个短句即将所采集到的音视频数据发送至后台服务器,不仅减少了客服机器人与后台服务器的通讯交互次数,降低了流量和后台服务器的压力。
63.当客服机器人判断用户此次需要表达的所有语句已完成,并触发了音视频停止采集指令且停止采集之后,在客服机器人中将用户之前从所述初始音视频数据开始以及已采集的除初始音视频数据之外的其他音视频数据按照所采集的时间先后顺序依次进行封装
组合,得到待识别音视频数据。
64.s106、将所述待识别音视频数据进行音视频分离,得到待识别音频数据。
65.在本实施例中,当在客服机器人中获取了本轮对话的待识别音视频数据后,也是分离其中的音频流得到待识别音频数据,只将待识别音频数据发送至后台服务器进行语音识别。
66.在一实施例中,步骤s106之后还包括:
67.获取所述待识别音频数据的时域图数据,根据预设的噪音识别条件获取所述时域图数据中的噪音数据;
68.将所述噪音数据从所述待识别音频数据中删除以更新待识别音频数据。
69.在本实施例中,客服机器人采集到的待识别音视频数据经过音视频分离得到了待识别音频数据后,此时可以获取所述待识别音频数据对应的时域图数据(也就是该待识别音频数据对应的声音信号波形图,在时域图中语音信号直接用它的时间波形表示出来,通过观察语音信号的声音波形可以看出语音信号一些重要特性,如波形的振幅表示声音的响度,振幅越大则表示声音的响度越大,振幅越小则表示声音的响度越小)。由于噪音的响度一般较小,故在所述待识别音频数据的时域图数据中,可以将波形图中响度小于预设的响度阈值对应的部分进行提取,并将该部分波形对应的音频数据视为噪音数据。即将噪音识别条件设置为时域图数据中声音响度小于预设的响度阈值的波形范围对应的声音数据。
70.当根据所述待识别音频数据的时域图数据获取到了其中的噪音数据之后,将所述噪音数据从所述待识别音频数据中删除,即可得到更新待识别音频数据。通过这一去噪音,可以提取有效音频数据,后台服务器对其进行语音转文本的处理时避免了对无效噪音的处理,提高了语音识别的效率。
71.更具体的,还可以将所述待识别音频数据进行预处理后以更新待识别音频数据,从而将更新后的待识别音频数据发送至后台服务器。在对待识别音频数据进行预处理时,主要是进行采样、预加重、加窗、分帧这些处理,从而得到与所述待识别音频数据对应的预处理数据以作为待识别音频数据发送至后台服务器。这样在后台服务器中也无需进行语音预处理,而是专注于语音转文本的提取过程。
72.在一实施例中,步骤106之后,还包括:
73.调用预先存储的采样周期将所述待识别音频数据进行采样,得到当前离散语音信号;
74.调用预先存储的一阶fir高通数字滤波器对所述当前离散语音信号进行预加重,得到当前预加重语音信号;
75.调用预先存储的汉明窗对所述当前预加重语音信息进行加窗,得到加窗后语音数据;
76.调用预先存储的帧移和帧长对所述加窗后语音数据进行分帧得到预处理后语音数据,将所述预处理后语音数据作为待识别音频数据发送至后台服务器。
77.在本实施例中,在对音频数据进行数字处理之前,首先要将所述待识别音频数据(将所述当音频数据记为s(t))以采样周期t采样,将其离散化为s(n)。
78.然后,调用预先存储的一阶fir高通数字滤波器时,一阶fir高通数字滤波器即为一阶非递归型高通数字滤波器,其传递函数如下式(1):
79.h(z)=1-az-1
ꢀꢀꢀꢀ
(1)
80.具体实施时,a的取值为0.98。例如,设n时刻的所述当前离散语音信号的采样值为x(n),经过预加重处理后的当前预加重语音信号中与x(n)对应的采样值为y(n)=x(n)-ax(n-1)。
81.之后,所调用的汉明窗的函数如下式(2):
[0082][0083]
通过汉明窗对所述当前预加重语音信息进行加窗,得到的加窗后语音数据可以表示为:q(n)=y(n)*ω(n)。
[0084]
最后,调用预先存储的帧移和帧长对所述加窗后语音数据进行分帧时,例如所述加窗后语音数据对应的时域信号为x(l),加窗分帧处理后的预处理后语音数据中第n帧语音数据为xn(m),且xn(m)满足式(3):
[0085]
xn(m)=ω(n)*x(n+m),0≤m≤n-1
ꢀꢀꢀꢀꢀ
(3)
[0086]
其中,n=0,1t,2t,
……
,n是帧长,t是帧移,ω(n)是汉明窗的函数。
[0087]
通过在前端的客服机器人对所述待识别音频数据进行预处理,能有效用于后续的声音参数提取及语音识别等处理。
[0088]
s107、将所述待识别音频数据发送至后台服务器。
[0089]
在本实施例中,当在客服机器人中获取到经音视频分离得到的待识别音频数据后,将所述所述待识别音频数据以一个完整音频数据的形式发送至后台服务器进行语音识别。
[0090]
在一实施例中,步骤s107之后还包括:
[0091]
若确定接收到后台服务器发送的与所述待识别数据相应的文本识别结果,获取所述文本识别结果的文本关键词;
[0092]
在本地的知识库中获取与所述文本关键词对应的回复数据,将所述回复数据转换成回复语音数据并进行播放。
[0093]
在本实施例中,当客服机器人已将待识别数据发送至后台服务器后,在后台服务器中对所述将待识别数据进行语音识别(即语音转文本的处理),当完成了语音识别之后即可得到相应的文本识别结果。此时在客服机器人的本地可以通过进行分词和关键词提取的处理,来获取与所述文本识别结果的文本关键词。
[0094]
由于在客服机器人的本地存储有知识库,可以根据语音数据所相应的文本关键词在本地的知识库中检索对应的回复数据,以及时将所述回复数据转换成回复语音数据并进行播放,从而实现与用户的及时对话。
[0095]
其中,在本地的知识库中获取与所述文本关键词对应的回复数据时,是计算知识库中各条答案数据的语义向量与所述文本关键词对应的词向量之间的向量相似度,获取与文本关键词对应的词向量之间的向量相似度为最相似度值的目标语义向量,及该目标语义向量对应的回复数据,从而将该回复数据作为语音数据的本地最佳回复数据并播放以供用户收听。可见,通过这一方式实现了高效率的语音数据的前端预处理和后端快速识别。
[0096]
在一实施例中,所述在本地的知识库中获取与所述文本关键词对应的回复数据,
将所述回复数据转换成回复语音数据并进行播放之后还包括:
[0097]
获取所述文本识别结果相应的上下文文本识别结果集,若确定所述上下文文本识别结果集中有与所述文本识别结果为相同文本的目标上下文文本识别结果,且确定目标上下文文本识别结果的总个数超出预设的文本累计个数阈值,将所述文本识别结果、所述文本关键词及所述回复数据发送至后台服务器;
[0098]
接收后台服务器发送的与所述文本识别结果相应的更新回复数据,将所述更新回复数据转换成更新回复语音数据并进行播放。
[0099]
在本实施例中,当在客服机器人中完成了对此条音频数据的现场语音答复后,由于可能存在用户不太满意当前答复数据的情况,此时用户一般的处理方式是重复提问,若仍以客服机器人本地的知识库来检索答案,可能出现多次检索出令用户不认可的相同回答,这样降低了用户获取较准确答复的效率。
[0100]
此时可以先确定所述音频数据相应的文本识别结果是否在所述文本识别结果相应的上下文文本识别结果集出现多次,可以理解为所述上下文文本识别结果集中有与所述文本识别结果为相同文本的目标上下文文本识别结果(一般是上下文文本识别结果集中倒数2-4句与所述文本识别结果均相同),且确定目标上下文文本识别结果的总个数超出预设的文本累计个数阈值,此时可以将所述文本识别结果及所述回复数据发送至后台服务器。这样,在后台服务器中可以立即根据文本识别结果在比客服机器人本地的知识库中具有更多数据的扩展库中进行更准确答复数据的匹配,这样一旦检索出一个或多个答案数据的语义向量与所述文本关键词的词向量之间的向量相似度超出之前目标语义向量与与所述文本关键词的词向量之间的向量相似度,这样在当前检索出的一个或多个答案数据的语义向量中选择与所述文本关键词的词向量之间的向量相似度为最大值的语义向量作为当前目标语义向量,并获取所述当前目标语义向量对应的更新回复数据并及时发送至客服机器人。
[0101]
当客服机器人接收后台服务器发送的与所述文本识别结果相应的更新回复数据,将所述更新回复数据转换成更新回复语音数据并进行播放,从而及时获取了更为准确的答复数据。
[0102]
本技术实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
[0103]
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
[0104]
该方法实现了将语音完整语句合成、语音预处理等工作放置于客服机器人这一前端进行,减少了客服机器人与后台服务器的通讯交互次数,降低了流量开销和后台服务器的压力。
[0105]
本发明实施例还提供一种基于人工智能的语音识别装置,该基于人工智能的语音识别装置用于执行前述基于人工智能的语音识别方法的任一实施例。具体地,请参阅图3,
图3是本发明实施例提供的基于人工智能的语音识别装置100的示意性框图。
[0106]
其中,如图3所示,基于人工智能的语音识别装置100包括音视频采集指令生成单元101、第一音视频分离单元102、第一用户语速值获取单元103、第一最大间隔时间获取单元104、待识别数据获取单元105、第二音视频分离单元106、待识别数据发送单元107。
[0107]
音视频采集指令生成单元101,用于若确定在预设的第一时间段值内均检测到声音数据,产生音视频采集指令。
[0108]
在本实施例中,由于客服机器人上设置有摄像头和麦克风,在用户与客服机器人进行沟通的过程中,可以由客服机器人的摄像头和麦克风同时启动并采集与用户沟通过程中的音视频数据,从而以音视频数据作为后续智能会话的基础数据。
[0109]
具体实施时,可以在客服机器人设置一个音视频采集触发条件。更具体的音视频采集触发条件是若客服机器人在预设的第一时间段值(例如设置第一时间段值为1-2s内的任意一个时间值,如1.5s)持续采集到外界的声音,触发产生音视频采集指令,并控制摄像头和麦克风同时启动以采集与用户沟通过程中的音视频数据。
[0110]
第一音视频分离单元102,用于获取所采集的初始音视频数据,将所述初始音视频数据进行音视频分离,得到初始音频数据,将所述初始音频数据发送至后台服务器。
[0111]
在本实施例中,为了基于初始说话语句快速获取用户的说话语速,需要通过客服机器人先采集一段初始音视频数据,所述初始音视频数据一般是用户与客服机器人所说的第一句简短的语句(一般用户与客服机器人的开场白是我有个问题想咨询一下),一旦客服机器人采集到该初始音视频数据且通过音视频分离得到初始音频数据是先静默的发送至后台服务器进行语音识别以统计所述初始识别文本的文字总数,而不是在采集到一大段的对话后再发送至后台服务器计算用户语速。而且选择在后台服务器端进行语音识别,也是为了避免将所需存储空间较大且对处理器数据处理能力更高的语音识别模型存储在客服机器人中。通过这一静默发送初始音频数据的方式,可以使得后续处理过程中快速计算用户语速。
[0112]
其中,在将所述初始音视频数据进行音视频分离时可以先通过常见的一些音视频分离工具(如视频格式转换器)提取所述初始音视频数据中的音频流和视频流,以音频流作为初始音视频数据的初始音频数据。
[0113]
第一用户语速值获取单元103,用于接收后台服务器所发送与所述初始音频数据相应的初始识别文本,将所述初始识别文本的文字总数除以所述初始音频数据的初始音频时长,得到用户语速值。
[0114]
在本实施例中,当客服机器人将所述初始音频数据发送至后台服务器,后台服务器对所述初始音频数据进行快速的语音识别得到初始识别文本后,立即将所述初始识别文本发送至客服机器人。客服机器人接收到了所述初始识别文本后,可以统计出其相应的文字总数。而且客服机器人在获取所述初始音频数据后,可直接获取其初始音频时长,在已知了文字总数和初始音频时长后,由所述初文字总数除以所述初始音频时长,得到用户语速值。获取该用户语速值即可预测该用户的说话最大停顿时间。
[0115]
在一实施例中,基于人工智能的语音识别装置100还包括:
[0116]
用户预测年龄接收单元,用于接收后台服务器所发送与所述初始音频数据相应的用户预测年龄。
[0117]
在本实施例中,当客服机器人将所述初始音频数据发送至后台服务器,后台服务器获取预先存储的年龄预测模型,将所述初始音频数据相应的声纹特征,将所述声纹特征作为所述年龄预测模型的输入,即可计算出用户预测年龄,从而预估该用户的当前年龄。
[0118]
其中,之所以对用户年龄进行预测,也是因为用户在不同的年龄阶段的语速不同,如果可以在参考用户语速值的前提下,进一步参考用户预测年龄,使得预估得到的语句最大间隔时间更加准确。
[0119]
第一最大间隔时间获取单元104,用于获取预先存储的间隔时间值获取策略,根据所述用户语速值及所述间隔时间值获取策略获取语句最大间隔时间。
[0120]
在本实施例中,其中一种实现方式是时间隔时间值获取策略是只能基于用户语速值来预估语句最大间隔时间。具体实施时,所述间隔时间值获取策略是第一预测模型,用于根据用户语速值来预估语句最大间隔时间。当将所述用户语速值输入至所述第一预测模型进行运算,即可得到语句最大间隔时间。所述间隔时间值获取策略还可以是一次函数(如y=ax+b,其中a和b是预设的一次函数参数,x为用户语速值,y为语句最大间隔时间),通过上述一次函数也可实现基于所述用户语速值获取语句最大间隔时间。
[0121]
因为不同的人说话的速度都有很大的区别,在说话中停顿时间有长有短各不相同,若在客服机器人这一前端可以根据不同的人的语速设置判断一句话是否结束的语句最大间隔时间,而不用像后台服务器使用一样的间隔时间标准来判断说话是否结束,使得判断更准确。
[0122]
在一实施例中,第一最大间隔时间获取单元104还用于:
[0123]
获取所述间隔时间值获取策略,根据所述用户语速值、所述用户预测年龄及所述间隔时间值获取策略获取语句最大间隔时间。
[0124]
在本实施例中,作为获取最大间隔时间更为具体的一种实现方式,还可以结合考虑用户的预测年龄,若确定用户预测年龄不为空值,表示此时间隔时间值获取策略是可以同时基于用户语速值和用户预测年龄来预估语句最大间隔时间。具体实施时,所述间隔时间值获取策略是第二预测模型,用于根据用户语速值和用户预测年龄来预估语句最大间隔时间。当将所述用户语速值和用户预测年龄输入至所述第二预测模型进行运算,即可得到语句最大间隔时间。
[0125]
待识别数据获取单元105,用于不断采集音视频中断时间未超出所述语句最大间隔时间的音视频数据,直至首次检测到音视频中断时间超出所述语句最大间隔时间时产生音视频停止采集指令并停止采集,将所述初始音视频数据与已采集的音视频数据进行封装组合得到待识别音视频数据。
[0126]
在本实施例中,当通过所述初始音频数据进行处理并预估得到了该用户的语句最大间隔时间,客服机器人在采集完初始音视频数据之后不是立即停止采集,而是判断下一段音视频数据(记为第k1段音视频数据)与初始音视频数据(记为第k0段音视频数据)之间的音视频中断时间是否超出所述语句最大间隔时间。若第k1段音视频数据与第k0段音视频数据之间的音视频中断时间未超出所述语句最大间隔时间,表示用户一句话还没说话,此时继续检测在第k1段音视频数据结束后的语句最大间隔时间内是否采集到第k2段音视频数据。若在第k1段音视频数据结束后的语句最大间隔时间内采集到第k2段音视频数据,仍表示用户一句话还没说话此时继续重复上述检测过程,直至在采集到第kn段音视频数据后且在
第kn段音视频数据结束后的语句最大间隔时间内未采集到下一段音视频数据,此时可以判断触发了音视频停止采集指令并停止采集。最后将所述初始音视频数据与已采集的音视频数据进行封装组合得到待识别音视频数据。
[0127]
在一实施例中,待识别数据获取单元105包括:
[0128]
音视频数据保存单元,用于若检测采集到第ki段音视频数据,将所述第ki段音视频数据进行保存;其中,i的初始取值为1;
[0129]
中断时间起始点获取单元,用于将第ki段音视频数据的结束时间点作为音视频中断时间起始点;
[0130]
第一执行单元,用于若确定以所述音视频中断时间起始点之后的语句最大间隔时间内检测到音视频数据,将i自增1更新i的取值,返回执行所述若检测采集到第ki段音视频数据,将所述第ki段音视频数据进行保存的步骤;
[0131]
第二执行单元,用于若确定以所述音视频中断时间起始点之后的语句最大间隔时间内未检测到音视频数据,产生音视频停止采集指令并停止采集。
[0132]
在本实施例中,通过上述方式对中断的用户对话所产生的音视频数据可以最多用2次发送即可全部发送到后台服务器进行下一步语音识别处理,无需用户每中断一个短句即将所采集到的音视频数据发送至后台服务器,不仅减少了客服机器人与后台服务器的通讯交互次数,降低了流量和后台服务器的压力。
[0133]
当客服机器人判断用户此次需要表达的所有语句已完成,并触发了音视频停止采集指令且停止采集之后,在客服机器人中将用户之前从所述初始音视频数据开始以及已采集的除初始音视频数据之外的其他音视频数据按照所采集的时间先后顺序依次进行封装组合,得到待识别音视频数据。
[0134]
第二音视频分离单元106,用于将所述待识别音视频数据进行音视频分离,得到待识别音频数据。
[0135]
在本实施例中,当在客服机器人中获取了本轮对话的待识别音视频数据后,也是分离其中的音频流得到待识别音频数据,只将待识别音频数据发送至后台服务器进行语音识别。
[0136]
在一实施例中,基于人工智能的语音识别装置100还包括:
[0137]
噪音数据获取单元,用于获取所述待识别音频数据的时域图数据,根据预设的噪音识别条件获取所述时域图数据中的噪音数据;
[0138]
噪音数据删除单元,用于将所述噪音数据从所述待识别音频数据中删除以更新待识别音频数据。
[0139]
在本实施例中,客服机器人采集到的待识别音视频数据经过音视频分离得到了待识别音频数据后,此时可以获取所述待识别音频数据对应的时域图数据(也就是该待识别音频数据对应的声音信号波形图,在时域图中语音信号直接用它的时间波形表示出来,通过观察语音信号的声音波形可以看出语音信号一些重要特性,如波形的振幅表示声音的响度,振幅越大则表示声音的响度越大,振幅越小则表示声音的响度越小)。由于噪音的响度一般较小,故在所述待识别音频数据的时域图数据中,可以将波形图中响度小于预设的响度阈值对应的部分进行提取,并将该部分波形对应的音频数据视为噪音数据。即将噪音识别条件设置为时域图数据中声音响度小于预设的响度阈值的波形范围对应的声音数据。
[0140]
当根据所述待识别音频数据的时域图数据获取到了其中的噪音数据之后,将所述噪音数据从所述待识别音频数据中删除,即可得到更新待识别音频数据。通过这一去噪音,可以提取有效音频数据,后台服务器对其进行语音转文本的处理时避免了对无效噪音的处理,提高了语音识别的效率。
[0141]
更具体的,还可以将所述待识别音频数据进行预处理后以更新待识别音频数据,从而将更新后的待识别音频数据发送至后台服务器。在对待识别音频数据进行预处理时,主要是进行采样、预加重、加窗、分帧这些处理,从而得到与所述待识别音频数据对应的预处理数据以作为待识别音频数据发送至后台服务器。这样在后台服务器中也无需进行语音预处理,而是专注于语音转文本的提取过程。
[0142]
在一实施例中,基于人工智能的语音识别装置100还包括:
[0143]
采样单元,用于调用预先存储的采样周期将所述待识别音频数据进行采样,得到当前离散语音信号;
[0144]
预加重单元,用于调用预先存储的一阶fir高通数字滤波器对所述当前离散语音信号进行预加重,得到当前预加重语音信号;
[0145]
加窗单元,用于调用预先存储的汉明窗对所述当前预加重语音信息进行加窗,得到加窗后语音数据;
[0146]
分帧单元,用于调用预先存储的帧移和帧长对所述加窗后语音数据进行分帧得到预处理后语音数据,将所述预处理后语音数据作为待识别音频数据发送至后台服务器。
[0147]
在本实施例中,在对音频数据进行数字处理之前,首先要将所述待识别音频数据(将所述当音频数据记为s(t))以采样周期t采样,将其离散化为s(n)。
[0148]
然后,调用预先存储的一阶fir高通数字滤波器时,一阶fir高通数字滤波器即为一阶非递归型高通数字滤波器,其传递函数如上式(1)。具体实施时,a的取值为0.98。例如,设n时刻的所述当前离散语音信号的采样值为x(n),经过预加重处理后的当前预加重语音信号中与x(n)对应的采样值为y(n)=x(n)-ax(n-1)。
[0149]
之后,所调用的汉明窗的函数如上式(2),通过汉明窗对所述当前预加重语音信息进行加窗,得到的加窗后语音数据可以表示为:q(n)=y(n)*ω(n)。
[0150]
最后,调用预先存储的帧移和帧长对所述加窗后语音数据进行分帧时,例如所述加窗后语音数据对应的时域信号为x(l),加窗分帧处理后的预处理后语音数据中第n帧语音数据为xn(m),且xn(m)满足上式(3)。
[0151]
通过在前端的客服机器人对所述待识别音频数据进行预处理,能有效用于后续的声音参数提取及语音识别等处理。
[0152]
待识别数据发送单元107,用于将所述待识别音频数据发送至后台服务器。
[0153]
在本实施例中,当在客服机器人中获取到经音视频分离得到的待识别音频数据后,将所述所述待识别音频数据以一个完整音频数据的形式发送至后台服务器进行语音识别。
[0154]
在一实施例中,基于人工智能的语音识别装置100还包括:
[0155]
文本关键词获取单元,用于若确定接收到后台服务器发送的与所述待识别数据相应的文本识别结果,获取所述文本识别结果的文本关键词;
[0156]
回复语音播放单元,用于在本地的知识库中获取与所述文本关键词对应的回复数
据,将所述回复数据转换成回复语音数据并进行播放。
[0157]
在本实施例中,当客服机器人已将待识别数据发送至后台服务器后,在后台服务器中对所述将待识别数据进行语音识别(即语音转文本的处理),当完成了语音识别之后即可得到相应的文本识别结果。此时在客服机器人的本地可以通过进行分词和关键词提取的处理,来获取与所述文本识别结果的文本关键词。
[0158]
由于在客服机器人的本地存储有知识库,可以根据语音数据所相应的文本关键词在本地的知识库中检索对应的回复数据,以及时将所述回复数据转换成回复语音数据并进行播放,从而实现与用户的及时对话。
[0159]
其中,在本地的知识库中获取与所述文本关键词对应的回复数据时,是计算知识库中各条答案数据的语义向量与所述文本关键词对应的词向量之间的向量相似度,获取与文本关键词对应的词向量之间的向量相似度为最相似度值的目标语义向量,及该目标语义向量对应的回复数据,从而将该回复数据作为语音数据的本地最佳回复数据并播放以供用户收听。可见,通过这一方式实现了高效率的语音数据的前端预处理和后端快速识别。
[0160]
在一实施例中,基于人工智能的语音识别装置100还包括:
[0161]
文本识别结果解析单元,用于获取所述文本识别结果相应的上下文文本识别结果集,若确定所述上下文文本识别结果集中有与所述文本识别结果为相同文本的目标上下文文本识别结果,且确定目标上下文文本识别结果的总个数超出预设的文本累计个数阈值,将所述文本识别结果、所述文本关键词及所述回复数据发送至后台服务器;
[0162]
本地播放控制单元,用于接收后台服务器发送的与所述文本识别结果相应的更新回复数据,将所述更新回复数据转换成更新回复语音数据并进行播放。
[0163]
在本实施例中,当在客服机器人中完成了对此条音频数据的现场语音答复后,由于可能存在用户不太满意当前答复数据的情况,此时用户一般的处理方式是重复提问,若仍以客服机器人本地的知识库来检索答案,可能出现多次检索出令用户不认可的相同回答,这样降低了用户获取较准确答复的效率。
[0164]
此时可以先确定所述音频数据相应的文本识别结果是否在所述文本识别结果相应的上下文文本识别结果集出现多次,可以理解为所述上下文文本识别结果集中有与所述文本识别结果为相同文本的目标上下文文本识别结果(一般是上下文文本识别结果集中倒数2-4句与所述文本识别结果均相同),且确定目标上下文文本识别结果的总个数超出预设的文本累计个数阈值,此时可以将所述文本识别结果及所述回复数据发送至后台服务器。这样,在后台服务器中可以立即根据文本识别结果在比客服机器人本地的知识库中具有更多数据的扩展库中进行更准确答复数据的匹配,这样一旦检索出一个或多个答案数据的语义向量与所述文本关键词的词向量之间的向量相似度超出之前目标语义向量与与所述文本关键词的词向量之间的向量相似度,这样在当前检索出的一个或多个答案数据的语义向量中选择与所述文本关键词的词向量之间的向量相似度为最大值的语义向量作为当前目标语义向量,并获取所述当前目标语义向量对应的更新回复数据并及时发送至客服机器人。
[0165]
当客服机器人接收后台服务器发送的与所述文本识别结果相应的更新回复数据,将所述更新回复数据转换成更新回复语音数据并进行播放,从而及时获取了更为准确的答复数据。
[0166]
该装置实现了将语音完整语句合成、语音预处理等工作放置于客服机器人这一前端进行,减少了客服机器人与后台服务器的通讯交互次数,降低了流量开销和后台服务器的压力。
[0167]
上述基于人工智能的语音识别装置可以实现为计算机程序的形式,该计算机程序可以在如图4所示的计算机设备上运行。
[0168]
请参阅图4,图4是本发明实施例提供的计算机设备的示意性框图。该计算机设备500是服务器,也可以是服务器集群。服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
[0169]
参阅图4,该计算机设备500包括通过装置总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括存储介质503和内存储器504。
[0170]
该存储介质503可存储操作装置5031和计算机程序5032。该计算机程序5032被执行时,可使得处理器502执行基于人工智能的语音识别方法。
[0171]
该处理器502用于提供计算和控制能力,支撑整个计算机设备500的运行。
[0172]
该内存储器504为存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行基于人工智能的语音识别方法。
[0173]
该网络接口505用于进行网络通信,如提供数据信息的传输等。本领域技术人员可以理解,图4中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0174]
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现本发明实施例公开的基于人工智能的语音识别方法。
[0175]
本领域技术人员可以理解,图4中示出的计算机设备的实施例并不构成对计算机设备具体构成的限定,在其他实施例中,计算机设备可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。例如,在一些实施例中,计算机设备可以仅包括存储器及处理器,在这样的实施例中,存储器及处理器的结构及功能与图4所示实施例一致,在此不再赘述。
[0176]
应当理解,在本发明实施例中,处理器502可以是中央处理单元(central processingunit,cpu),该处理器502还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现成可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0177]
在本发明的另一实施例中提供计算机可读存储介质。该计算机可读存储介质可以为非易失性的计算机可读存储介质,也可以为易失性的计算机可读存储介质。该计算机可读存储介质存储有计算机程序,其中计算机程序被处理器执行时实现本发明实施例公开的基于人工智能的语音识别方法。
[0178]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的设
备、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0179]
在本发明所提供的几个实施例中,应该理解到,所揭露的设备、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为逻辑功能划分,实际实现时可以有另外的划分方式,也可以将具有相同功能的单元集合成一个单元,例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
[0180]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
[0181]
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0182]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,后台服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-only memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0183]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。