CN116721663A - 语音处理方法、装置、设备及存储介质 - Google Patents

语音处理方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN116721663A
CN116721663A CN202310671579.3A CN202310671579A CN116721663A CN 116721663 A CN116721663 A CN 116721663A CN 202310671579 A CN202310671579 A CN 202310671579A CN 116721663 A CN116721663 A CN 116721663A
Authority
CN
China
Prior art keywords
voice
data stream
voice data
outbound
speech
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202310671579.3A
Other languages
English (en)
Inventor
李良斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zhongke Shengzhi Technology Co ltd
Original Assignee
Beijing Zhongke Shengzhi Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Zhongke Shengzhi Technology Co ltd filed Critical Beijing Zhongke Shengzhi Technology Co ltd
Priority to CN202310671579.3A priority Critical patent/CN116721663A/zh
Publication of CN116721663A publication Critical patent/CN116721663A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/28Constructional details of speech recognition systems
    • G10L15/32Multiple recognisers used in sequence or in parallel; Score combination systems therefor, e.g. voting systems
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/78Detection of presence or absence of voice signals
    • G10L25/87Detection of discrete points within a voice signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/50Centralised arrangements for answering calls; Centralised arrangements for recording messages for absent or busy subscribers ; Centralised arrangements for recording messages
    • H04M3/527Centralised call answering arrangements not requiring operator intervention

Landscapes

  • Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本申请公开了一种语音处理方法、装置、设备及存储介质,属于人工智能技术领域。该方法包括:从通讯服务器获取外呼过程中来自外呼对象的语音数据流;对语音数据流进行语音开始检测;在检测到语音开始端点的情况下,根据当前负载情况确定并发线程数;按照确定的并发线程数,开启多条线程并发向识别服务器发送语音数据流;其中,识别服务器用于对语音数据流进行语音结束检测;在检测到语音结束端点的情况下,根据语音端点检测结果对语音数据流进行语音识别;获取通过每条线程发送的语音数据对应的语音识别结果;对获取到的语音识别结果进行拼接,并将拼接后的语音识别结果返回给通讯服务器。本申请能够显著提高语音处理效率,外呼效果好。

Description

语音处理方法、装置、设备及存储介质
技术领域
本申请涉及人工智能技术领域,特别涉及一种语音处理方法、装置、设备及存储介质。
背景技术
智能语音对话作为人工智能领域最先落地的分支之一,可以实现与用户进行多轮对话,且其核心技术在近年来不断地发展成熟。其中,伴随着技术的成熟,智能外呼服务开始走进人们的日常生活中,且发挥着重要作用。
例如,在反诈、广告推销、电话咨询等场景中,通常会借助基于人工智能技术的语音机器人来搭建外呼系统,而外呼系统可以主动向用户(也被称为外呼对象)发起呼叫,并利用预先编写好的话术与用户进行对话,以此实现智能外呼。
在智能外呼过程中,语音处理时效对外呼效果有着举足轻重的影响。倘若外呼系统的语音处理时效较差,那么用户可能没有足够的时间与耐心配合完整整套外呼对话流程,进而可能会出现用户中途结束对话的情况。因此,如何高效地进行语音处理,对于智能外呼系统来说至关重要。
发明内容
本申请实施例提供了一种语音处理方法、装置、设备及存储介质,能够提高语音处理效率,外呼效果佳。所述技术方案如下:
一方面,提供了一种语音处理方法,所述方法包括:
从通讯服务器获取外呼过程中来自外呼对象的语音数据流;
对所述语音数据流进行语音开始检测;
在检测到语音开始端点的情况下,根据当前负载情况确定并发线程数;
按照确定的并发线程数,开启多条线程并发向识别服务器发送所述语音数据流;其中,所述识别服务器用于对所述语音数据流进行语音结束检测;在检测到语音结束端点的情况下,根据语音端点检测结果对所述语音数据流进行语音识别;
获取通过每条线程发送的语音数据对应的语音识别结果;
对获取到的语音识别结果进行拼接,并将拼接后的语音识别结果返回给所述通讯服务器。
在一种可能的实现方式中,所述根据当前负载情况确定并发线程数,包括:
获取初始设置的并发线程数;
根据当前负载情况和所述语音数据流的数据量,对所述初始设置的并发线程数进行调整,得到最终的并发线程数。
在一种可能的实现方式中,所述方法还包括以下任意一种:
根据运行队列在第一时长内的平均进程数,确定当前负载情况;
根据运行队列中进程在第二时长内的平均调度时延,确定当前负载情况;
根据线程池中空闲线程的平均空闲时长,确定当前负载情况。
在一种可能的实现方式中,所述对获取到的语音识别结果进行拼接,并将拼接后的语音识别结果返回所述通讯服务器,包括:
按照每条线程发送的语音数据之间的时序关系,对获取到的语音识别结果进行拼接;
根据自定义数据格式,对拼接后的语音识别结果进行封装处理;
通过媒体资源控制协议,将封装好的语音识别结果返回给所述通讯服务器;
其中,所述通讯服务器用于将封装好的语音识别结果返回给呼叫中心服务;
所述呼叫中心服务用于在对解封装后的语音识别结果进行意图识别后,基于意图识别结果在存储的话术中筛选应答话术,并基于确定的话术播报音量和播报声音类型,向所述外呼对象播报所述应答话术。
在一种可能的实现方式中,所述话术播报音量和所述播报声音类型的确定方式,包括:
基于所述语音数据流,对所述外呼对象进行年龄分析和性别分析,得到所述外呼对象所属的年龄段和性别;
基于所述语音数据流,对所述外呼对象当前所处的背景环境进行识别,得到背景环境类型;
基于所述背景环境类型、所述外呼对象所属的年龄段和性别,确定所述话术播报音量;
基于所述外呼对象所属的年龄段和性别,确定所述播报声音类型。
在一种可能的实现方式中,所述获取通过每条线程发送的语音数据对应的语音识别结果,包括:
基于回调函数,从所述识别服务器获取多路语音识别结果;
其中,在所述多路语音识别结果中,第i路语音识别结果与通过所述多条线程中第i条线程发送的语音数据对应;i为正整数。
在一种可能的实现方式中,所述对所述语音数据流进行语音开始检测,包括:
基于所述语音数据流,对所述外呼对象当前所处的背景环境进行识别,得到背景环境类型;
采用与所述背景环境类型匹配的语音端点检测模型,对所述语音数据流进行语音状态检测,得到语音状态类别以及预测可信度;
获取所述背景环境类型下语音开始状态对应的可信度阈值;
响应于所述语音状态类别指示语音开始且所述预测可信度大于所述可信度阈值,确定检测到语音开始;
其中,所述语音端点检测模型是基于训练样本集对预训练模型进行再训练得到的,所述训练样本集中包括在相应背景环境下采集的语音数据以及所述语音数据的语音状态标签。
在一种可能的实现方式中,所述对所述语音数据流进行语音开始检测,包括:
基于所述语音数据流,对所述外呼对象进行情感分析,得到所述外呼对象所属的情感类型;
采用与所述情感类型匹配的语音端点检测模型,对所述语音数据流进行语音状态检测,得到语音状态类别以及预测可信度;
获取所述情感类型下语音开始状态对应的可信度阈值;
响应于所述语音状态类别指示语音开始且所述预测可信度大于所述可信度阈值,确定检测到语音开始;
其中,所述语音端点检测模型是基于训练样本集对预训练模型进行再训练得到的,所述训练样本集中包括在相应情感类型下采集的语音数据以及所述语音数据的语音状态标签。
另一方面,提供了一种语音处理装置,所述装置包括:
第一获取模块,被配置为从通讯服务器获取外呼过程中来自外呼对象的语音数据流;
检测模块,被配置为对所述语音数据流进行语音开始检测;
第一发送模块,被配置为在检测到语音开始端点的情况下,根据当前负载情况确定并发线程数;按照确定的并发线程数,开启多条线程并发向识别服务器发送所述语音数据流;其中,所述识别服务器用于对所述语音数据流进行语音结束检测;在检测到语音结束端点的情况下,根据语音端点检测结果对所述语音数据流进行语音识别;
第二获取模块,被配置为获取通过每条线程发送的语音数据对应的语音识别结果;
第二发送模块,被配置为对获取到的语音识别结果进行拼接,并将拼接后的语音识别结果返回给所述通讯服务器。
在一种可能的实现方式中,所述第一发送模块,被配置为:
获取初始设置的并发线程数;
根据当前负载情况和所述语音数据流的数据量,对所述初始设置的并发线程数进行调整,得到最终的并发线程数。
在一种可能的实现方式中,所述第一发送模块,被配置为执行以下任意一种:
根据运行队列在第一时长内的平均进程数,确定当前负载情况;
根据运行队列中进程在第二时长内的平均调度时延,确定当前负载情况;
根据线程池中空闲线程的平均空闲时长,确定当前负载情况。
在一种可能的实现方式中,所述第二发送模块,被配置为:
按照每条线程发送的语音数据之间的时序关系,对获取到的语音识别结果进行拼接;
根据自定义数据格式,对拼接后的语音识别结果进行封装处理;
通过媒体资源控制协议,将封装好的语音识别结果返回给所述通讯服务器;
其中,所述通讯服务器用于将封装好的语音识别结果返回给呼叫中心服务;
所述呼叫中心服务用于在对解封装后的语音识别结果进行意图识别后,基于意图识别结果在存储的话术中筛选应答话术,并基于确定的话术播报音量和播报声音类型,向所述外呼对象播报所述应答话术。
在一种可能的实现方式中,所述话术播报音量和所述播报声音类型的确定方式,包括:
基于所述语音数据流,对所述外呼对象进行年龄分析和性别分析,得到所述外呼对象所属的年龄段和性别;
基于所述语音数据流,对所述外呼对象当前所处的背景环境进行识别,得到背景环境类型;
基于所述背景环境类型、所述外呼对象所属的年龄段和性别,确定所述话术播报音量;
基于所述外呼对象所属的年龄段和性别,确定所述播报声音类型。
在一种可能的实现方式中,所述第二获取模块,被配置为:
基于回调函数,从所述识别服务器获取多路语音识别结果;
其中,在所述多路语音识别结果中,第i路语音识别结果与通过所述多条线程中第i条线程发送的语音数据对应;i为正整数。
在一种可能的实现方式中,所述检测模块,被配置为:
基于所述语音数据流,对所述外呼对象当前所处的背景环境进行识别,得到背景环境类型;
采用与所述背景环境类型匹配的语音端点检测模型,对所述语音数据流进行语音状态检测,得到语音状态类别以及预测可信度;
获取所述背景环境类型下语音开始状态对应的可信度阈值;
响应于所述语音状态类别指示语音开始且所述预测可信度大于所述可信度阈值,确定检测到语音开始;
其中,所述语音端点检测模型是基于训练样本集对预训练模型进行再训练得到的,所述训练样本集中包括在相应背景环境下采集的语音数据以及所述语音数据的语音状态标签。
在一种可能的实现方式中,所述检测模块,被配置为:
基于所述语音数据流,对所述外呼对象进行情感分析,得到所述外呼对象所属的情感类型;
采用与所述情感类型匹配的语音端点检测模型,对所述语音数据流进行语音状态检测,得到语音状态类别以及预测可信度;
获取所述情感类型下语音开始状态对应的可信度阈值;
响应于所述语音状态类别指示语音开始且所述预测可信度大于所述可信度阈值,确定检测到语音开始;
其中,所述语音端点检测模型是基于训练样本集对预训练模型进行再训练得到的,所述训练样本集中包括在相应情感类型下采集的语音数据以及所述语音数据的语音状态标签。
另一方面,提供了一种计算机设备,所述设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行以实现上述的语音处理方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现上述的语音处理方法。
另一方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备执行上述的语音处理方法。
本申请实施例提供的语音处理方案能够显著提升语音处理效率。详细来说,外呼过程中,在从通讯服务器捕获到来自外呼对象的语音数据流后,该方案仅会对语音数据流进行语音开始检测;而在检测到语音开始端点的情况下,该方案会开启多条线程并发向识别服务器发送语音数据流,换言之,本申请实施例会并发多路请求识别服务器进行语音识别,另外由于语音开始检测不会同步阻塞语音识别,大大缩短了识别时间,因此语音处理效率高。另外,识别服务器还具备了语音结束检测能力;即,语音开始检测和语音结束检测由不同的服务器完成,该种语音端点检测策略进一步地确保了语音处理效率,外呼效果好。
另外,该方案还能够根据当前负载情况来确定并发线程数,并按照确定的并发线程数决定具体开启多少条线程并发向识别服务器发送语音数据流,该种处理方式更为灵活,避免了带给服务器过大的负载压力。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种语音处理方法涉及的实施环境示意图;
图2是本申请实施例提供的一种语音处理方法的整体执行流程图;
图3是本申请实施例提供的一种语音处理方法的流程图;
图4是本申请实施例提供的另一种语音处理方法的流程图;
图5是本申请实施例提供的一种语音处理装置的结构示意图;
图6是本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
本申请中术语“第一”、“第二”等字样用于对作用和功能基本相同的相同项或相似项进行区分,应理解,“第一”、“第二”、“第n”之间不具有逻辑或时序上的依赖关系,也不对数量和执行顺序进行限定。还应理解,尽管以下描述使用术语第一、第二等来描述各种元素,但这些元素不应受术语的限制。
这些术语只是用于将一个元素与另一个元素区别开。例如,在不脱离各种示例的范围的情况下,第一元素能够被称为第二元素,并且类似地,第二元素也能够被称为第一元素。第一元素和第二元素都可以是元素,并且在某些情况下,可以是单独且不同的元素。
其中,至少一个是指一个或一个以上,例如,至少一个元素可以是一个元素、两个元素、三个元素等任意大于等于一的整数个元素。而多个是指两个或者两个以上,例如,多个元素可以是两个元素、三个元素等任意大于等于二的整数个元素。
在本文中提及的“和/或”,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
需要说明的是,本申请所涉及的信息(包括但不限于用户设备信息、用户个人信息等)、数据(包括但不限于用于分析的数据、存储的数据、展示的数据等)以及信号,均为经用户授权或者经过各方充分授权的,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
图1是本申请实施例提供的一种语音处理方法涉及的实施环境示意图。
参见图1,该实施环境包括:呼叫中心服务101、通信服务器(freeswitch)102、MRCP服务器103和识别服务器104。
示例性地,通信服务器102和MRCP服务器103之间基于媒体资源控制协议进行通信,其中,通信服务器102为MRCP客户端,而MRCP服务器103为MRCP服务端,本申请对此不作限定。
在本申请实施例中,在呼叫中心服务101、通信服务器102和MRCP服务器103三者之间建立顺畅通信后,如图2所示,呼叫中心服务101负责对外呼对象执行外呼操作,在接通后通讯服务器102负责对外呼对象的语音进行录音操作;而MRCP服务器103会从通信服务器102处捕获语音数据流,并通过前置语音端点检测(Voice Activity Detection,VAD)进行语音开始检测,而不进行语音结束检测。
而如果检测到语音开始,则MRCP服务器103会开启多条线程并发向识别服务器104发送语音数据流,进而由识别服务器104进行语音结束检测并对每个语音帧完成语音识别。示例性地,MRCP服务器103会通过回调函数捕获各路语音识别结果并进行拼接,进而形成完整的语音识别结果。
示例性地,MRCP服务器103还会对拼接后的语音识别结果进行封装处理,并将封装好的语音识别结果反向传输给通信服务器102,最后再由通信服务器102将其回传给呼叫中心服务101。对于呼叫中心服务101而言,在对回传的语音识别结果进行意图识别后,可以基于意图识别结果在存储的话术中筛选应答话术,并向外呼对象播报选中的应答话术。
图3是本申请实施例提供的一种语音处理方法的流程图。该方法的执行主体为计算机设备,比如图1所示的MRCP服务器。参见图3,该方法流程包括:
301、从通讯服务器获取外呼过程中来自外呼对象的语音数据流。
结合图1和图2可知,外呼过程中,呼叫中心服务负责对外呼对象执行外呼操作,而在接通后,由通讯服务器对该外呼对象的语音进行录音操作,因此MRCP服务器才会从通讯服务器获取来自外呼对象的语音数据流。
302、对获取到的语音数据流进行语音开始检测。
在本申请实施例中,为了避免前置VAD影响语音处理效率,MRCP服务器仅会进行语音开始检测,而将语音结束检测置于识别服务端完成,即识别服务器还具备检测语音结束的能力。示例性地,针对外呼场景,进行句子级别的语音开始检测,本申请对此不作限定。
303、在检测到语音开始端点的情况下,根据当前负载情况确定并发线程数;按照确定的并发线程数,开启多条线程并发向识别服务器发送语音数据流;其中,识别服务器用于对语音数据流进行语音结束检测;在检测到语音结束端点的情况下,根据语音端点检测结果对语音数据流进行语音识别。
示例性地,为了确保语音处理效率,基于实时语音识别模型对语音数据进行实时语音识别,本申请对此不作限定。
另外,为了避免带给MRCP服务器过大的负载压力,本申请实施例还能够根据当前负载情况来确定并发线程数,并按照确定的并发线程数决定具体开启多少条线程并发向识别服务器发送语音数据流,该种处理方式的灵活性更高。
304、获取通过每条线程发送的语音数据对应的语音识别结果。
在一种可能的实现方式中,获取通过每条线程发送的语音数据对应的语音识别结果,包括但不限于采取如下方式:基于回调函数,从识别服务器获取多路语音识别结果;其中,在多路语音识别结果中,第i路语音识别结果与通过该多条线程中第i条线程发送的语音数据对应。
需要说明的是,i为正整数,且i的取值上限为上述确定的并发线程数。
305、对获取到的语音识别结果进行拼接,并将拼接后的语音识别结果返回给通讯服务器。
在对多路语音识别结果进行拼接时,还需要按照每条线程发送的语音数据之间的时序关系,对多路语音识别结果进行拼接,以确保拼接后的语音识别结果的正确性。
本申请实施例提供的语音处理方案能够显著提升语音处理效率。详细来说,外呼过程中,在从通讯服务器捕获到来自外呼对象的语音数据流后,该方案仅会对语音数据流进行语音开始检测;而在检测到语音开始端点的情况下,该方案会开启多条线程并发向识别服务器发送语音数据流,换言之,本申请实施例会并发多路请求识别服务器进行语音识别,另外由于语音开始检测不会同步阻塞语音识别,大大缩短了识别时间,因此语音处理效率高。另外,识别服务器还具备了语音结束检测能力;即,语音开始检测和语音结束检测由不同的服务器完成,该种语音端点检测策略进一步地确保了语音处理效率,外呼效果好。
另外,该方案还能够根据当前负载情况来确定并发线程数,并按照确定的并发线程数决定具体开启多少条线程并发向识别服务器发送语音数据流,该种处理方式更为灵活,避免了带给服务器过大的负载压力。
以上仅是简单地介绍了本申请实施例提供的语音处理方案,下面结合图4对本申请实施例提供的语音处理方案进行详细介绍。
图4是本申请实施例提供的另一种语音处理方法的流程图。以呼叫中心服务、通讯服务器、MRCP服务器和识别服务器之间的交互为例,参见图4,该方法流程包括:
401、呼叫中心服务对外呼对象执行外呼操作,在接通后通讯服务器对外呼对象的语音进行录音操作。
示例性地,呼叫中心服务外呼用户时,需要从运营商那里获得电话通讯线路,而通讯服务器通过网关连接运营商网络,进而呼叫中心服务经由运营商网络通过该条电话通讯线路连接用户终端。
402、MRCP服务器从通讯服务器获取外呼过程中来自外呼对象的语音数据流。
在本申请实施例中,MRCP服务器通过媒体资源控制协议与通讯服务器进行对接,在用户接通电话后,由通讯服务器进行录音操作,以实时获取来自外呼对象的语音数据。而语音数据通常以流(flow)的形式进行传输。
403、MRCP服务器对获取到的语音数据流进行语音开始检测。
本申请实施例选用适合语音开始检测的VAD策略进行语音开始检测。在一种可能的实现方式中,适合语音开始检测的VAD策略包括但不限于下述列两种:
4031、基于获取到的语音数据流,对外呼对象当前所处的背景环境进行识别,得到背景环境类型;采用与该背景环境类型匹配的语音端点检测模型,对该语音数据流进行语音状态检测,得到语音状态类别以及预测可信度;获取该背景环境类型下语音开始状态对应的可信度阈值;响应于上述语音状态类别指示语音开始且上述预测可信度大于可信度阈值,确定检测到语音开始。
在本申请实施例中,语音状态类别包括:从非语音音过渡到语音的语音开始状态、语音状态、从语音过渡到非语音的语音结束状态等,本申请对此不作限定。
示例性地,本申请实施例基于环境识别模型,对外呼对象当前所处的背景环境进行识别。下面对上述环境识别类型的训练过程进行说明。
首先,获取用于训练环境识别类型的样本语音集,该样本语音集中包括多种背景环境类型对应的样本音频;之后,将该样本语音集输入卷积神经网络,获取该卷积神经网络输出的对该样本语音集的预测分类结果;之后,确定该样本语音集的标注分类结果与预测分类结果是否一致;当标注分类结果与预测分类结果不一致时,反复循环的迭代更新该卷积神经网络的权重值,直至标注分类结果与预测分类结果一致,得到环境识别类型。
另外,为了确保语音开始检测的准确性,针对语音开始状态,在不同背景环境类型下,本申请实施例设置了不同的可信度阈值。
示例性地,本步骤的语音端点检测模型是基于训练样本集对预训练模型进行再训练得到的,其中,该训练样本集中包括在相应背景环境下采集的语音数据以及语音数据的语音状态标签。换言之,在训练方式上,可以尝试使用预训练微调的方式来训练该语音端点检测模型。其中,预训练模型的大部分参数已经通过预训练的方式预先训练好,得到这个预训练模型后,再基于上述样本音频集,微调这个预训练模型,便得到执行语音开始检测任务的该语音端点检测模型。
4032、基于获取到的语音数据流,对外呼对象进行情感分析,得到外呼对象所属的情感类型;采用与该情感类型匹配的语音端点检测模型,对该语音数据流进行语音状态检测,得到语音状态类别以及预测可信度;获取该情感类型下语音开始状态对应的可信度阈值;响应于上述语音状态类别指示语音开始且上述预测可信度大于可信度阈值,确定检测到语音开始。
其中,语音情感识别的目标是从语音中识别出人类的情感状态,主要包含两个步骤:特征提取与分类器构建。由于语音输入是近似连续的数值,因此提取语音特征时通常需要先对语音数据进行分帧和加窗等预处理,之后再进行诸如短时傅里叶变换等,得到频谱特征。其中,频谱特征中包含了丰富的信息,比如说话内容、节奏、语气、语调等。另外,也可以进一步对得到的频谱特征进行诸如梅尔滤波等,本申请对此不作限定。
除了提取频谱特征之外,还可以将标注的情感类型标签作为监督信号训练深度学习模型,进而利用训练好的深度学习模型来提取与情感相关的语义特征。示例性地,由于语音输入的序列化特点,特征提取可以基于卷积神经网络(Convolutional Neural Network,CNN)/门控循环单元(Gate Recurrent Unit,GRU)/长短期记忆(Long Short-Term Memory,LSTM)人工神经网络等,或者CNN+Attention(注意力)等,本申请对此不作限定。另外,基于深度学习的分类器可以与特征提取器一起进行端到端训练,进而得到情感分析模型。
另外,为了确保语音开始检测的准确性,针对语音开始状态,在不同情感类型下,本申请实施例设置了不同的可信度阈值。
示例性地,本步骤的语音端点检测模型是基于训练样本集对预训练模型进行再训练得到的,其中,该训练样本集中包括在相应情感类型下采集的语音数据以及语音数据的语音状态标签。
404、在检测到语音开始端点的情况下,MRCP服务器根据当前负载情况确定并发线程数;按照确定的并发线程数,开启多条线程并发向识别服务器发送语音数据流。
为了避免给服务器造成过大负载压力,本申请实施例会根据当前负载情况确定并发线程数。示例性地,可以采用以下任意一种方式来确定当前负载情况:
方式一、根据运行队列在第一时长内的平均进程数,确定当前负载情况。其中,得到的平均进程数越大,表明当前负载压力越大。
方式二、根据运行队列中进程在第二时长内的平均调度时延,确定当前负载情况。其中,第二时长既可以与第一时长相同,也可以与第一时长不同,本申请对此不作限定。其中,调度时延也称调度延迟,实质上是保证每一个可运行进程都至少运行一次的时间间隔。换一种表达方式,调度时延是指一个进程具备运行的条件到真正执行的这段时间。
方式三、根据线程池中空闲线程的平均空闲时长,确定当前负载情况。其中,得到的平均空闲时长越大,表明当前负载压力越小。
在一种可能的实现方式中,并发线程数的确定方式包括但不限于如下方式:
获取初始设置的并发线程数;根据当前负载情况和语音数据流的数据量,对初始设置的并发线程数进行调整,得到最终的并发线程数。
示例性地,响应于当前负载情况大于负载阈值,且语音数据流的数据量大于预设的数据量阈值,根据第一调整步长对初始设置的并发线程数进行调低。或,响应于当前负载情况大于负载阈值,且语音数据流的数据量小于或等于预设的数据量阈值,根据第二调整步长对初始设置的并发线程数进行调低。
其中,第一调整步长大于第二调整步长。
示例性地,响应于当前负载情况小于负载阈值,且语音数据流的数据量大于预设的数据量阈值,根据第三调整步长对初始设置的并发线程数进行调高。或,响应于当前负载情况小于负载阈值,且语音数据流的数据量小于或等于预设的数据量阈值,根据第四调整步长对初始设置的并发线程数进行调高。
其中,第三调整步长小于第四调整步长。
405、识别服务器对语音数据流进行语音结束检测;在检测到语音结束端点的情况下,根据语音端点检测结果对语音数据流进行语音识别。
其中,语音结束检测与步骤403中的语音开始检测同理。关于语音识别可以参考前述步骤303,此处不再赘述。
406、MRCP服务器获取通过每条线程发送的语音数据对应的语音识别结果。
本步骤可以参考前述步骤304,此处不再赘述。
407、MRCP服务器对获取到的语音识别结果进行拼接,并将拼接后的语音识别结果返回给通讯服务器。
在一种可能的实现方式中,对获取到的语音识别结果进行拼接,并将拼接后的语音识别结果返回通讯服务器,包括但不限于采取如下方式:
按照每条线程发送的语音数据之间的时序关系,对获取到的语音识别结果进行拼接;根据自定义数据格式,对拼接后的语音识别结果进行封装处理;通过媒体资源控制协议,将封装好的语音识别结果返回给通讯服务器;其中,通讯服务器用于将封装好的语音识别结果返回给呼叫中心服务。示例性地,上述自定义数据格式包括但不限于XML格式等,本申请对此不作限定。
408、呼叫中心服务接收通讯服务器回传的语音识别结果;在对回传的语音识别结果进行意图识别后,基于意图识别结果在存储的话术中筛选应答话术,并基于确定的话术播报音量和播报声音类型,向外呼对象播报应答话术。
在一种可能的实现方式中,话术播报音量和播报声音类型的确定方式,包括但不限于如下方式:基于语音数据流,对外呼对象进行年龄分析和性别分析,得到外呼对象所属的年龄段和性别;基于语音数据流,对外呼对象当前所处的背景环境进行识别,得到背景环境类型;基于背景环境类型、外呼对象所属的年龄段和性别,确定话术播报音量;基于外呼对象所属的年龄段和性别,确定播报声音类型。
在另一种可能的实现方式中,可以为上述各项设置不同的权重值,进而基于上述各项与上述各项对应的权重值,来确定话术播报音量和播报声音类型。比如,在确定话术播报音量时,背景环境类型对应的权重值最大,性别对应的权重值最小。又比如,在确定播报声音类型时,性别对应的权重值大于年龄段对应的权重值。
示例性地,基于上述各项与上述各项对应的权重值会计算出播报得分。由于本申请实施例预先设置了不同播报得分对应不同档位的播报音量,以及不同播报得分对应不同类型的播报声音,因此基于计算得到的播报得分便可确定出话术播报音量和播报声音类型。
需要说明的是,关于年龄分析和性别分析,可以参考前述步骤403示出的背景环境识别方式,此处不再赘述。另外,播报声音类型包括但不限于:男人音、女人音、儿童音、萝莉音等,本申请对此不作限定。
本申请实施例提供的语音处理方案能够显著提升语音处理效率。详细来说,外呼过程中,在从通讯服务器捕获到来自外呼对象的语音数据流后,该方案仅会对语音数据流进行语音开始检测;而在检测到语音开始端点的情况下,该方案会开启多条线程并发向识别服务器发送语音数据流,换言之,本申请实施例会并发多路请求识别服务器进行语音识别,另外由于语音开始检测不会同步阻塞语音识别,大大缩短了识别时间,因此语音处理效率高。另外,识别服务器还具备了语音结束检测能力;即,语音开始检测和语音结束检测由不同的服务器完成,该种语音端点检测策略进一步地确保了语音处理效率,外呼效果好。
另外,该方案还能够根据当前负载情况来确定并发线程数,并按照确定的并发线程数决定具体开启多少条线程并发向识别服务器发送语音数据流,该种处理方式更为灵活,避免了带给服务器过大的负载压力。
图5是本申请实施例提供的一种语音处理装置的结构示意图。参见图5,该装置包括:
第一获取模块501,被配置为从通讯服务器获取外呼过程中来自外呼对象的语音数据流;
检测模块502,被配置为对所述语音数据流进行语音开始检测;
第一发送模块503,被配置为在检测到语音开始端点的情况下,根据当前负载情况确定并发线程数;按照确定的并发线程数,开启多条线程并发向识别服务器发送所述语音数据流;其中,所述识别服务器用于对所述语音数据流进行语音结束检测;在检测到语音结束端点的情况下,根据语音端点检测结果对所述语音数据流进行语音识别;
第二获取模块504,被配置为获取通过每条线程发送的语音数据对应的语音识别结果;
第二发送模块505,被配置为对获取到的语音识别结果进行拼接,并将拼接后的语音识别结果返回给所述通讯服务器。
本申请实施例提供的语音处理方案能够显著提升语音处理效率。详细来说,外呼过程中,在从通讯服务器捕获到来自外呼对象的语音数据流后,该方案仅会对语音数据流进行语音开始检测;而在检测到语音开始端点的情况下,该方案会开启多条线程并发向识别服务器发送语音数据流,换言之,本申请实施例会并发多路请求识别服务器进行语音识别,另外由于语音开始检测不会同步阻塞语音识别,大大缩短了识别时间,因此语音处理效率高。另外,识别服务器还具备了语音结束检测能力;即,语音开始检测和语音结束检测由不同的服务器完成,该种语音端点检测策略进一步地确保了语音处理效率,外呼效果好。
另外,该方案还能够根据当前负载情况来确定并发线程数,并按照确定的并发线程数决定具体开启多少条线程并发向识别服务器发送语音数据流,该种处理方式更为灵活,避免了带给服务器过大的负载压力。
在一种可能的实现方式中,第一发送模块503,被配置为:
获取初始设置的并发线程数;
根据当前负载情况和所述语音数据流的数据量,对所述初始设置的并发线程数进行调整,得到最终的并发线程数。
在一种可能的实现方式中,第一发送模块503,被配置为执行以下任意一种:
根据运行队列在第一时长内的平均进程数,确定当前负载情况;
根据运行队列中进程在第二时长内的平均调度时延,确定当前负载情况;
根据线程池中空闲线程的平均空闲时长,确定当前负载情况。
在一种可能的实现方式中,第二发送模块505,被配置为:
按照每条线程发送的语音数据之间的时序关系,对获取到的语音识别结果进行拼接;
根据自定义数据格式,对拼接后的语音识别结果进行封装处理;
通过媒体资源控制协议,将封装好的语音识别结果返回给所述通讯服务器;
其中,所述通讯服务器用于将封装好的语音识别结果返回给呼叫中心服务;
所述呼叫中心服务用于在对解封装后的语音识别结果进行意图识别后,基于意图识别结果在存储的话术中筛选应答话术,并基于确定的话术播报音量和播报声音类型,向所述外呼对象播报所述应答话术。
在一种可能的实现方式中,所述话术播报音量和所述播报声音类型的确定方式,包括:
基于所述语音数据流,对所述外呼对象进行年龄分析和性别分析,得到所述外呼对象所属的年龄段和性别;
基于所述语音数据流,对所述外呼对象当前所处的背景环境进行识别,得到背景环境类型;
基于所述背景环境类型、所述外呼对象所属的年龄段和性别,确定所述话术播报音量;
基于所述外呼对象所属的年龄段和性别,确定所述播报声音类型。
在一种可能的实现方式中,第二获取模块504,被配置为:
基于回调函数,从所述识别服务器获取多路语音识别结果;
其中,在所述多路语音识别结果中,第i路语音识别结果与通过所述多条线程中第i条线程发送的语音数据对应;i为正整数。
在一种可能的实现方式中,检测模块502,被配置为:
基于所述语音数据流,对所述外呼对象当前所处的背景环境进行识别,得到背景环境类型;
采用与所述背景环境类型匹配的语音端点检测模型,对所述语音数据流进行语音状态检测,得到语音状态类别以及预测可信度;
获取所述背景环境类型下语音开始状态对应的可信度阈值;
响应于所述语音状态类别指示语音开始且所述预测可信度大于所述可信度阈值,确定检测到语音开始;
其中,所述语音端点检测模型是基于训练样本集对预训练模型进行再训练得到的,所述训练样本集中包括在相应背景环境下采集的语音数据以及所述语音数据的语音状态标签。
在一种可能的实现方式中,检测模块502,被配置为:
基于所述语音数据流,对所述外呼对象进行情感分析,得到所述外呼对象所属的情感类型;
采用与所述情感类型匹配的语音端点检测模型,对所述语音数据流进行语音状态检测,得到语音状态类别以及预测可信度;
获取所述情感类型下语音开始状态对应的可信度阈值;
响应于所述语音状态类别指示语音开始且所述预测可信度大于所述可信度阈值,确定检测到语音开始;
其中,所述语音端点检测模型是基于训练样本集对预训练模型进行再训练得到的,所述训练样本集中包括在相应情感类型下采集的语音数据以及所述语音数据的语音状态标签。
上述所有可选技术方案,可以采用任意结合形成本申请的可选实施例,在此不再一一赘述。
需要说明的是:上述实施例提供的语音处理装置在进行语音处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的语音处理装置与语音处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图6是本申请实施例提供的一种计算机设备600的结构示意图。
该计算机600可以是服务器。该计算机设备600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(Central Processing Units,CPU)601和一个或一个以上的存储器602,其中,所述存储器602中存储有至少一条程序代码,所述至少一条程序代码由所述处理器601加载并执行以实现上述各个方法实施例提供的语音处理方法。当然,该计算机设备600还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该计算机设备600还可以包括其他用于实现设备功能的部件,在此不做赘述。
在示例性实施例中,还提供了一种计算机可读存储介质,例如包括程序代码的存储器,上述程序代码可由计算机设备中的处理器执行以完成上述实施例中的语音处理方法。例如,所述计算机可读存储介质可以是只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、光盘只读存储器(Compact Disc Read-OnlyMemory,CD-ROM)、磁带、软盘和光数据存储设备等。
在示例性实施例中,还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机程序代码,该计算机程序代码存储在计算机可读存储介质中,计算机设备的处理器从计算机可读存储介质读取该计算机程序代码,处理器执行该计算机程序代码,使得该计算机设备执行上述语音处理方法。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

Claims (11)

1.一种语音处理方法,其特征在于,所述方法包括:
从通讯服务器获取外呼过程中来自外呼对象的语音数据流;
对所述语音数据流进行语音开始检测;
在检测到语音开始端点的情况下,根据当前负载情况确定并发线程数;
按照确定的并发线程数,开启多条线程并发向识别服务器发送所述语音数据流;其中,所述识别服务器用于对所述语音数据流进行语音结束检测;在检测到语音结束端点的情况下,根据语音端点检测结果对所述语音数据流进行语音识别;
获取通过每条线程发送的语音数据对应的语音识别结果;
对获取到的语音识别结果进行拼接,并将拼接后的语音识别结果返回给所述通讯服务器。
2.根据权利要求1所述的方法,其特征在于,所述根据当前负载情况确定并发线程数,包括:
获取初始设置的并发线程数;
根据当前负载情况和所述语音数据流的数据量,对所述初始设置的并发线程数进行调整,得到最终的并发线程数。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括以下任意一种:
根据运行队列在第一时长内的平均进程数,确定当前负载情况;
根据运行队列中进程在第二时长内的平均调度时延,确定当前负载情况;
根据线程池中空闲线程的平均空闲时长,确定当前负载情况。
4.根据权利要求1所述的方法,其特征在于,所述对获取到的语音识别结果进行拼接,并将拼接后的语音识别结果返回所述通讯服务器,包括:
按照每条线程发送的语音数据之间的时序关系,对获取到的语音识别结果进行拼接;
根据自定义数据格式,对拼接后的语音识别结果进行封装处理;
通过媒体资源控制协议,将封装好的语音识别结果返回给所述通讯服务器;
其中,所述通讯服务器用于将封装好的语音识别结果返回给呼叫中心服务;
所述呼叫中心服务用于在对解封装后的语音识别结果进行意图识别后,基于意图识别结果在存储的话术中筛选应答话术,并基于确定的话术播报音量和播报声音类型,向所述外呼对象播报所述应答话术。
5.根据权利要求4所述的方法,其特征在于,所述话术播报音量和所述播报声音类型的确定方式,包括:
基于所述语音数据流,对所述外呼对象进行年龄分析和性别分析,得到所述外呼对象所属的年龄段和性别;
基于所述语音数据流,对所述外呼对象当前所处的背景环境进行识别,得到背景环境类型;
基于所述背景环境类型、所述外呼对象所属的年龄段和性别,确定所述话术播报音量;
基于所述外呼对象所属的年龄段和性别,确定所述播报声音类型。
6.根据权利要求1所述的方法,其特征在于,所述获取通过每条线程发送的语音数据对应的语音识别结果,包括:
基于回调函数,从所述识别服务器获取多路语音识别结果;
其中,在所述多路语音识别结果中,第i路语音识别结果与通过所述多条线程中第i条线程发送的语音数据对应;i为正整数。
7.根据权利要求1所述的方法,其特征在于,所述对所述语音数据流进行语音开始检测,包括:
基于所述语音数据流,对所述外呼对象当前所处的背景环境进行识别,得到背景环境类型;
采用与所述背景环境类型匹配的语音端点检测模型,对所述语音数据流进行语音状态检测,得到语音状态类别以及预测可信度;
获取所述背景环境类型下语音开始状态对应的可信度阈值;
响应于所述语音状态类别指示语音开始且所述预测可信度大于所述可信度阈值,确定检测到语音开始;
其中,所述语音端点检测模型是基于训练样本集对预训练模型进行再训练得到的,所述训练样本集中包括在相应背景环境下采集的语音数据以及所述语音数据的语音状态标签。
8.根据权利要求1所述的方法,其特征在于,所述对所述语音数据流进行语音开始检测,包括:
基于所述语音数据流,对所述外呼对象进行情感分析,得到所述外呼对象所属的情感类型;
采用与所述情感类型匹配的语音端点检测模型,对所述语音数据流进行语音状态检测,得到语音状态类别以及预测可信度;
获取所述情感类型下语音开始状态对应的可信度阈值;
响应于所述语音状态类别指示语音开始且所述预测可信度大于所述可信度阈值,确定检测到语音开始;
其中,所述语音端点检测模型是基于训练样本集对预训练模型进行再训练得到的,所述训练样本集中包括在相应情感类型下采集的语音数据以及所述语音数据的语音状态标签。
9.一种语音处理装置,其特征在于,所述装置包括:
第一获取模块,被配置为从通讯服务器获取外呼过程中来自外呼对象的语音数据流;
检测模块,被配置为对所述语音数据流进行语音开始检测;
第一发送模块,被配置为在检测到语音开始端点的情况下,根据当前负载情况确定并发线程数;按照确定的并发线程数,开启多条线程并发向识别服务器发送所述语音数据流;其中,所述识别服务器用于对所述语音数据流进行语音结束检测;在检测到语音结束端点的情况下,根据语音端点检测结果对所述语音数据流进行语音识别;
第二获取模块,被配置为获取通过每条线程发送的语音数据对应的语音识别结果;
第二发送模块,被配置为对获取到的语音识别结果进行拼接,并将拼接后的语音识别结果返回给所述通讯服务器。
10.一种计算机设备,其特征在于,所述设备包括处理器和存储器,所述存储器中存储有至少一条程序代码,所述至少一条程序代码由所述处理器加载并执行以实现如权利要求1至8中任一项权利要求所述的语音处理方法。
11.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一条程序代码,所述至少一条程序代码由处理器加载并执行以实现如权利要求1至8中任一项权利要求所述的语音处理方法。
CN202310671579.3A 2023-06-07 2023-06-07 语音处理方法、装置、设备及存储介质 Pending CN116721663A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310671579.3A CN116721663A (zh) 2023-06-07 2023-06-07 语音处理方法、装置、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310671579.3A CN116721663A (zh) 2023-06-07 2023-06-07 语音处理方法、装置、设备及存储介质

Publications (1)

Publication Number Publication Date
CN116721663A true CN116721663A (zh) 2023-09-08

Family

ID=87872773

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310671579.3A Pending CN116721663A (zh) 2023-06-07 2023-06-07 语音处理方法、装置、设备及存储介质

Country Status (1)

Country Link
CN (1) CN116721663A (zh)

Similar Documents

Publication Publication Date Title
WO2021051506A1 (zh) 语音交互方法、装置、计算机设备及存储介质
CN110136727A (zh) 基于说话内容的说话者身份识别方法、装置及存储介质
CN110379441B (zh) 一种基于对抗型人工智能网络的语音服务方法与系统
CN104538043A (zh) 一种通话中实时情感提示装置
CN111540349B (zh) 一种语音的打断方法和装置
US9583108B2 (en) Voice detection for automated communication system
CN110188361A (zh) 结合文本、语音与情绪特征的语音意图识别方法及装置
CN112735385B (zh) 语音端点检测方法、装置、计算机设备及存储介质
CN105529038A (zh) 对用户语音信号进行处理的方法及其系统
CN112581938B (zh) 基于人工智能的语音断点检测方法、装置和设备
CN113345473B (zh) 语音端点检测方法、装置、电子设备和存储介质
CN102640084B (zh) 用于多用户和系统的通信接口设备和方法
CN111145763A (zh) 一种基于gru的音频中的人声识别方法及系统
CN115273841A (zh) 语音拒识方法、装置、服务设备及存储介质
CN114338623A (zh) 音频的处理方法、装置、设备、介质及计算机程序产品
CN114708869A (zh) 语音交互方法、装置及电器
CN114328867A (zh) 一种人机对话中智能打断的方法及装置
JP7304627B2 (ja) 留守番電話判定装置、方法及びプログラム
CN116721663A (zh) 语音处理方法、装置、设备及存储介质
CN114372476B (zh) 语义截断检测方法、装置、设备和计算机可读存储介质
CN112435669B (zh) 一种机器人多轮对话语音交互方法、系统和终端设备
CN113506565B (zh) 语音识别的方法、装置、计算机可读存储介质与处理器
CN113314103B (zh) 基于实时语音情感分析的非法信息识别方法及装置
CN113257242A (zh) 自助语音服务中的语音播报中止方法、装置、设备及介质
CN109352666A (zh) 一种基于机器语音对话的情感发泄方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination