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