具体实施方式
本申请实施例可以应用于对智能语音呼叫系统的服务器(俗称的智能机器人)发起的通话呼叫进行监控,以确定通话呼叫未被接通的具体原因。
本申请的方案可以由独立于该服务器之外的监控设备执行;也可以是服务器来执行,如,通过服务器内运行的程序对该服务器自身发起的通话呼叫进行监控分析。
下面结合流程图对本申请的数据处理方法进行详细介绍。
如图1所示,其示出了本申请一种数据处理方法一个实施例的流程示意图,本实施例的方法可以包括:
S101,获得针对智能语音呼叫系统的服务器发起的通话呼叫返回的媒体流。
其中,智能语音呼叫系统的服务器也称为智能机器人,其可以模拟用户向真实用户的终端发起通话呼叫。其中,该通话呼叫可以为常规的电话呼叫,也可以是基于网络的语音通话呼叫或者视频通话呼叫等。
在该服务器发起通话呼叫之后,该服务器会获得针对该通话呼叫所返回的媒体流,该媒体流至少包括音频流。当然,该媒体流还可能会包括图像等媒体数据流。
在一种可能的情况中,媒体流可以包括针对该通话呼叫的提示音。如,在服务器等待通话呼叫被接通的情况下,通话控制中心返回的提示音,其中,通话控制中心可以为控制通话呼叫的运营商所维护的通话控制系统或者是其他用于控制通话呼叫是否可以被接通的一些控制系统,相应的,通话呼叫提示方所返回的提示音可以为语音提示音频,或者设定类型的音频,或者是,该通话呼叫的被呼叫方所设定的彩铃等等。
在又一种可能的情况中,该媒体流可以包括该通话呼叫对应的被呼叫方的设备所返回的一些音频,如,被呼叫方设备返回的用户语音或者被呼叫方的用户所设定的一些语音留言等等。
可以理解的是,在本申请的数据处理方法应用于智能语音呼叫系统的服务器的情况下,则可以通过程序获得该服务器接收到针对该通话交互的媒体流。如果该数据处理方法应用于该服务器之外的其他计算机设备,则该计算机设备可以通过调用服务器的接口程序,以截获服务器接收到的针对该呼叫请求的媒体流;或者是,服务器主动将接收到的媒体流上报给计算机设备,当然,还可以有其他可能,在此不加限制。
作为一种可选方式,考虑到如果该通话呼叫已经被接通,则说明该通话呼叫不属于未被接通,在该种情况下,为了提高分析通话呼叫未被接通的类别的准确度,并减少数据处理量,则可以不对该种情况下返回的媒体流进行分析。相应的,可以在该智能语音呼叫系统的服务器发起通话呼叫,且,该通话呼叫未被该通话呼叫的被呼叫方接通的情况下,获得针对该通话呼叫返回的媒体流。
可以理解的是,如果该通话呼叫已经被该通话呼叫的被呼叫方接通,那么本次通话呼叫不属于未被接通的情况,在该种情况下,分析返回的媒体流必然耗费了数据处理资源;而且,在该种情况接收到的媒体流一般是包含用户声音等音频在内的媒体流,由于用户发出的声音的复杂度较高,很容易导致分析错误,从而使得分析出的通话未接通类别的准确度降低。因此,本申请仅仅在通话呼叫未被该被呼叫方接通的情况下获得向服务器返回的媒体流,既可以减少数据分析量,又能避免用户声音对分析通话未接通类别的干扰。
S102,确定该媒体流中的音频所属的类别。
其中,音频所属的类别是指音频中内容所归属的类别。如,预先可以设定音频的多种类别,相应的,从多种类别中,确定该媒体流中的音频所属的类别。
可选的,音频所属的类别是指音频的内容所表征的提示类别。该提示类别可以表征提示通话呼叫所处的状态。
可以理解的是,服务器发起通话呼叫之后到该服务器结束该通话呼叫的过程中,通话呼叫可能会如下三种状态:
第一种状态为:通话呼叫处于等待被接通的状态,即,通话呼叫尚未被通话控制中心尚未确认通话呼叫无法接通,仍处于等待被呼叫方接通的状态。
第二种状态为,通话呼叫已被接通。即,该通话呼叫的被呼叫方已经接通该通话呼叫,使得服务器与被呼叫方的用户可以进行语音等多媒体交互;
第三种状态为,通话控制中心确认通话呼叫无法被接通的状态。如,由于被呼叫方的信号较弱、被呼叫方的设备故障或者被呼叫方欠费等原因导致无法接通被呼叫方的状态。
相应的,可以根据通话呼叫处于这三种情况下所可能接收到的音频内容的具体情况,将音频划分为多种提示类别。相应的,可以从多种提示类别,确定该媒体流中的音频所属的提示类别。如,音频的提示类别可以为提示通话呼叫处于已接通情况下的提示类别,又如,音频类别可以为提示通话呼叫无法被接通的提示类型。
在实际应用中,在通话呼叫处于某一状态下,针对通话呼叫所返回的媒体流中的音频也会有较大的差别,如,对于通话呼叫未被接通的情况,通话呼叫控制中心所返回的提示音可以为中文或者外文等形式。因此,还可以结合通话呼叫所处的不同状态所接收到的音频特征划分出的多种类别,以使得每种类别可以表征通话呼叫处于一种状态下的音频特征。如,在等待通话呼叫被接通的状态下,针对该通话呼叫返回的音频一般是被呼叫方设定的彩铃或者“嘟~”的声音;在通话呼叫无法接通的情况下,针对该通话呼叫返回的音频为通话呼叫中心返回的提示音,提示音可以包括中文和英文中的一种或者两种,因此,音频的类别可以划分为“彩铃”、“中文提示音”、“英文提示音”和“嘟声”等几种类别。
基于划分出的音频的多种类别,本申请确定该音频所属的类别的具体实现方式也可以有多种可能。如,在一种可能的情况中,考虑到在通话呼叫所处的不同状态,针对该通话呼叫所返回的音频的特征有较大差别,因此,可以通过解析媒体流中音频的特征,确定媒体流中该音频的特征所匹配的类别。如,可以设置不同音频的类别所对应的音频特征,然后将媒体流中音频的特征与不同音频类别的音频特征进行比对,并最终确定出媒体流中该音频所属的特征。
在又一种可能的情况中,为了提高确定类别的效率和精准度,本申请可以预先训练音频分类模型,该音频分类模型为利用标注有音频类别的多个音频样本训练得到的神经网络模型。如,在设定出音频的多种类别之后,分别选取每种类别下的多个音频样本,并利用各种类别下的音频样本对待训练的模型(如神经网络模型或者其他机器模型等)进行训练,直至模型预测音频的类别的精准度符合要求或者达到训练结束条件,将训练出的模型作为音频分类模型。
相应的,在已训练有该音频分类模型的前提下,可以将媒体流中的音频输入训练出的音频分类模型,获得该音频分类模型输出的该音频所属的类别。
作为一种可选方式,该音频分类模型可以为训练出的单向长短期记忆(LSTM,LongShort-Term Memory)网络模型。
S103,基于该音频所属的类别,解析该媒体流中的音频,获得该音频中包含的关键词。
其中,结合音频所属的类别,可以更为有针对性的解析媒体流中的音频或者有针对性的从媒体流的音频中获得关键词,以使得获得的关键词能够更有利于提高分析通话未接通类别的准确度。
如,在一种可能的情况中,可以结合音频所属的类别,解析媒体流中的音频,得到音频中与音频所属的类别相关的关键词,使得获得的关键词更有针对性,更能够有效反映出该通话呼叫是否属于通话无法接通的情况,以便更为有效的确定关键词所属的未接通类别。
在又一种可能的情况中,还可以结合音频所属的类别,确定是否解析音频或者是否需要获得从音频中解析出的关键词。如,考虑到只有在通话呼叫无法被接通的情况下,才可能需要分析针对该通话呼叫所返回的音频中的关键词,因此,结合音频所属的类型,解析媒体流中的音频可以为:解析该媒体流中的音频,获得属于第一音频类别的音频中包含的关键词,其中,该第一音频类别的音频为通话控制中心返回的,用于提示该通话呼叫无法被接通的音频。
具体的,在一种实现方式中,解析媒体流中的音频,获得第一音频类别的音频中包含的关键词可以为:如果该音频所属的类别属于第一音频类别,则解析该媒体流中的音频,获得音频中包含的关键词。
可以理解的是,如果音频的类别属于该第一音频类别,则说明该通话呼叫属于无法被接通的情况下,在该种情况下需要分析未接通类别,因此,可以只对第一音频类别的音频进行解析,这样,可以减少解析与确定通话未接通类别无关的音频,减少了音频解析的数据量。
在又一种实现方式中,解析媒体流中的音频,获得第一音频类别的音频中包含的关键词可以为:无论媒体流中的音频属于哪种类型,均可以直接执行解析该音频的操作,只不过如果该音频的类别不属于第一音频类别,则可以直接丢弃解析出的关键词;如果该音频的类别属于第一音频类别,则可以获得从该音频中解析出的关键词,并执行步骤的处理。
S104,确定该关键词表征的通话未接通类别。
其中,关键词所表征的通话未接通类别就是该通话呼叫未被接通的原因类别。
可以理解的是,不同关键词所表达的含义不同,根据关键词的具体内容可以确定通话提示音所提示的通话未接通的具体类别,该具体类别也就是表示出通话未接通的具体原因。例如,关键词包含“欠费”,则说明通话未接通的类别为被呼叫方处于欠费状态;又如,关键词包含“关机“则说明通话未接通类别为被呼叫方已经关机。
可选的,可以设定不同通话未接通类别所需包含的至少一种关键词,在此基础上,依据关键词与通话未接通类别之间的对应关系,基于提取出的关键词便可以确定出通话提示音所提示的通话未接通类别。
可以理解的是,在实际应用中,还可以是结合自动语音识别(Automatic SpeechRecognition,ASR),来提取提示音频流中包含的通话提示音所对应的关键词,并确定关键词所属的类别。
可以理解的是,目前语音呼叫系统的服务器无论是否接通到通话已结束或者未被接通的提示音之后,仍然会继续等待直到设定时长(如60秒),这样,必然会浪费服务器的资源。因此,为了降低服务器的资源浪费,本申请在确定出通话未接通类别之后,可以结束该服务器发起的通话呼叫。其中,此处的结束通话呼叫是指控制服务器结束对该通话呼叫的等待,并终止该通话呼叫,以使得服务器释放该通话呼叫所占用的资源。
可见,本申请在智能语音呼叫系统的服务器发起通话呼叫之后,会确定针对该通话呼叫返回的媒体流中的音频所属的类别,结合该音频所属的类别,有针对性的解析媒体流中的音频,获得音频中的关键词,这样,根据音频中的关键词便可以确定通话未接通类别,实现了在智能语音呼叫系统的服务器发起的通话呼叫之后,可以确定出通话未接通的具体类别,为分析该服务器发起的通话呼叫的具体情况进行分析提供了依据。
可以理解的是,在服务器发起通话呼叫之后,被呼叫方的设备,被呼叫方所属的运营商或者其他呼叫控制中心给服务器传输的媒体流中的音频是持续不断的,即,服务器接收到的音频流会一直持续且时长较长。而为了降低分析提示音频流的难度,也为了能够较为及时的分析出通话未被接通的具体类别,在服务器接收到媒体流之后,可以从媒体流的音频流中截取音频分段,并分析音频分段。具体的,可以按照媒体流中各部分数据的接收先后顺序,从媒体流中截取当前待分析的音频段。相应的,在确定音频所属的类别时,具体为确定当前截取的音频段所属的类别。如,参见图2,其示出了本申请一种数据处理方法一个实施例的流程示意图,本实施例的方法可以包括:
S201,获得针对智能语音呼叫系统的服务器发起的通话呼叫返回的媒体流。
可以理解的是,在服务器发起通话呼叫之后到该服务器结束该通话呼叫之前,该服务器会不断接收媒体流,相应的,媒体流中的音频也是以音频流的形式存在。
S202,按照该媒体流中各部分数据的接收先后顺序,从媒体流的音频中截取当前待分析的音频段。
如,可以设定截取音频段的时长。相应的,可以按照设定的截取音频段的时长,依次从获得的媒体流中截取该时长的音频段。例如,设定截取的每个音频段的时长为3秒,则可以先截取媒体流中第0秒到第3秒的音频段,并执行后续对音频段的处理,下一次则可以截取媒体流中第3秒到第6秒的音频段,以此类推。
可以理解的是,媒体流的音频流中会存在一些静默区段,静默区段是指音频流中不存在音频内容的空白区段。例如,以媒体流中的音频为彩铃为例说明,在服务器发起通话呼叫之后,且在等待被呼叫方接听该通话呼叫的情况下,通话控制中心可能会不断重复向服务器传输彩铃,而一段传输完毕之后,会停留一段时间,然后继续向服务器传输下一段彩铃,因此,两段彩铃之间就会存在一个静默区段。如果静默区段的时长较长(如超过设定的静默时长)则说明存在两段不连续的音频,可见,被超过设定时长的静默区间分隔的音频段之间不存在内容交叉与关联,因此,为了能够更为可靠的解析音频,可以在检测到音频中存在设定的静默时长的静默区段的情况下,对媒体流中的音频进行一次分割。
在实际应用中可以将利用静默区段和设定的截取音频的时长这两种方式相结合。具体的,可以检测当前时刻媒体流中音频(也即音频流)的末端距离该音频的最近一个截取点之间的时长是否达到第一设定时长,其中,最近一个截取点为音频中最近一次截取出的音频段的尾端。如果媒体音频的末端距离该最近一个截取点的时长达到该第一设定时长,截取当前时刻该音频的末端与最近一个截取点之间的音频段。如果音频的末端距离该最近一个截取点的时长未达到该第一设定时长,且在该音频的该最近一个截取点之后检测到时长超过第二设定时长的静默区段,截取当前时刻该音频的末端与该最近一个截取点之间的音频段。其中,第二设定时长小于所述第一设定时长。
举例说明,假设第一设定时长为60秒,第二设定时长为10秒,且,当前接收到的媒体流中音频流的末端为媒体流的第2分20秒。
那么,如果假设上一次从音频流中截取的音频段的尾部为音频流的第1分20秒,即上一个截取点为音频流中第1分20秒处,那么音频流的末端与上一个截取点之间的时长达到了60秒,在该种情况下,则可以将音频流中该第2分20秒处作为一个新的截取点,以截取第1分20秒之后到该第2分20秒之间的音频段。
如果假设音频流中上一个截取点为音频流中第1分30秒处,那么上一个截取点到音频流的末端的时长不足60秒。在该种情况下,如果检测到时长达到10秒的静默区段,则确定音频流的末端为一个截取点。如果未检测到时长达到10秒的静默区段,则继续监测该音频流即可。
S203,确定截取的音频段所属的类别。
可以理解的是,确定音频段所属的类别与前面确定音频的类别过程类似,如,可以将音频段输入已训练出的类别分类模型,或者基于音频段中音频特征确定类别等,具体可以参照前面实施例的相关介绍,在此不再赘述。
S204,基于该音频段所属的类别,解析该音频段,获得该音频段中包含的关键词。
可以理解的是,解析音频段的过程与前面解析音频的过程类似,具体可以参照前面实施例的相关介绍,在此不再赘述。
S205,检测是否存在关键词所表征的通话未接通类别,如果是,则执行步骤S206,如果否,则返回步骤S202,以从媒体流中截取下一个待分析的音频段。
可以理解的是,即使关键词可以表征出通话无法接通,但是如果由于音频段中信息较少,使得解析出的关键词不包含表征通话无法接通的具体语音的关键词,则无法得到通话未接通类别。
相应的,即使音频段所属的类别表征该音频段为在通话呼叫无法接通的情况系下所接收到的音频段,但是由于音频段只是媒体流的音频中的一小段,很可能会出现音频段中未包含任何可以能够确认通话未接通类别的关键词,在该种情况,则需要继续截取下一段音频段,以继续分析。
如,音频段中包含的音频内容为仅仅包含“您所拨打的电话”,那么提取出的关键词可能会包含“拨打”与“电话”等,这些与通话所处的状态以及通话无法接通的具体原因都没有关系,无法得到关键词所表征的通话未接通类别,则需要解析截取音频段进行分析。
S206,将关键词所属的通话未接通类别记录为该通话呼叫未被接通的原因类别。
举例说明,如果从音频段中提取出的关键词包含“无法接通”以及“欠费”等,则可以说明通话呼叫无法被接通,且通话呼叫未被接通的原因为“欠费”。
在本实施例中,在获得针对通话呼叫返回的媒体流之后,会根据媒体流接收的先后顺序,从媒体流的音频中截取音频段,并对音频段进行分析,以得到通话呼叫未被接通的原因,由于截取的音频段的数据量较小,处理音频段所需的时间较少,有利于在获得媒体流的过程实时分段处理音频,也有利于更为精准、快速的分析音频段中的关键词,从而有利于更为准确的确定通话未被接通的类别。
可以理解的是,在服务器发起通话呼叫之后,在通话呼叫处于不同状态均可能会获得媒体流,但是有些状态下的媒体流对于分析通话无法接通而导致的通话未接通类别的确定是存在干扰的,很容易影响到分析结果的准确度。为了提高确定通话未接通类别的准确度,并减少数据处理量,下面以一种实施方式为例说明。如图3所示,其示出了本申请一种数据处理方法又一个实施例的流程示意图,本实施例的方法可以包括:
S301,在该智能语音呼叫系统的服务器发起通话呼叫,且该通话呼叫未被该通话呼叫的被呼叫方接通的情况下,获得针对好通话呼叫返回的媒体流。
其中,该媒体流中包括音频。
可以理解的是,在发起通话呼叫之后,如果通话呼叫已经被接通,则本次的通话呼叫不可能存在通话无法接通的情况,因此,为了减少数据处理量,也为了减少通话已接通情况下获得的音频的干扰,本申请还可以在通话呼叫已发起但是尚未被接通的情况下,获得音频并进行后续分析。
S302,按照该媒体流中各部分数据的接收先后顺序,从媒体流的音频中截取当前待分析的音频段。
可以理解的是,通过将媒体流中的音频进行分段截取并分析仅仅是一种实现方式,对于前面提到的其他实现方式也适用于本实施例。
S303,将音频段输入到已训练出的音频分类模型,获得音频分类模型输出的该音频段所属的类别。
为了便于理解,以将音频段输入已训练出的音频分类模型为例说明,但是对于其他情况也同样适用于本实施例,具体可以参见前面实施例的相关介绍,在此不再赘述。
S304,检测该音频段所属的类别是否为第一音频类别,如果是,则执行步骤S305;如果否,则返回步骤S302,以截取下一个提示音频段。
其中,第一音频类别的音频为通话控制中心返回的,用于提示通话呼叫无法被接通的音频。
可以理解的是,在服务器发起通话呼叫之后,如果由于被呼叫方欠费,或被呼叫方的设备故障或者信号较差等原因,导致无法接通该通话呼叫的情况下,通话控制中心会向该服务器返回提示音,如,“您所拨打的电话已欠费”,“您所拨打的用户不在服务区”、“您所拨打的电话无法接听”或者“您所拨打的用户已关机”等等提示音。在该种情况下,则可以说明本次通话呼叫无法被接通,从而可以执行后续步骤S305中解析音频段的关键词,以分析通话未接通类别(或者说通话未接通原因)的操作。
反之,在通话呼叫发起后且处于等待被呼叫方接通的情况下,服务器所接收到的音频一般为彩铃或者特定的音频,而并非这类提示音,因此,如果接收到的音频不属于该第一音频类别,则说明当前该通话呼叫仍处于等待被呼叫方接通的情况下,目前尚无法确定该通话呼叫最终是被拒接还是被接通,因此,也不需要对这类情况下接收到的彩铃等音频进行解析,从而也可以避免由于彩铃等音频中信息较为复杂,而导致误分析为通话未接通,并得到通话未接通原因的情况。
其中,考虑到通话控制中心返回的,用于提示通话呼叫无法被接通的音频一般为中文或者英文等提示语句语音,因此,可以设定第一音频类别为信息提示音,如中文提示音或者英文提示音等。
S305,解析该音频段,获得该音频段中的关键词。
本实施例是在音频段所属的类别为第一音频类别的情况下,才解析该音频段,可以减少对其他与分析通话未接通类别无法的音频进行分析所导致的数据解析量。
S306,检测是否存在解析出的关键词所表征的通话未接通类别,如果是,则执行步骤S307,如果否,则返回步骤S302,以截取下一个音频段。
可以理解的是,如果该音频段中包含的关键词中信息内容较少或者关键词数量较少,而不足以确定通话未接通类别,那么也分析不出导致该通话呼叫无法接的具体原因,因此,需要继续截取音频段进行分析。
如,截取到的音频段中包含的信息为“对不起,您所拨打的电话”,那那么解析出的关键词都与通话未接通类别无法,自然无法确定通话未接通的具体原因。而如果截取的音频段中包含的信息为“您所拨打的电话已欠费”,那么提取出的关键词至少会包括“欠费”,那么则可以匹配到通话未接通类别为被呼叫方欠费。
需要说明的是,音频段中解析出的关键词可以有一个或者多个关键词,因此,可以结合该一个或者多个关键词确定所对应的通话未接通类别。当然,也可能存在从音频中未解析出关键词的情况,在该种情况下,同样无法确定通话未接通类别,因此,同样需要返回步骤S302,以继续截取下一个音频段进行分析。
S307,将该关键词所属的通话未接通类别记录为该通话呼叫未被接通的原因类别,并结束服务器发起的该通话呼叫。
在本实施例中,由于本申请在确定通话未接通类别之前,会先确定媒体流中音频段(或者说音频)的类别,这样,只有音频的类别为表征通话无法被接通的类别的情况下,才会解析该音频的关键词,并基于关键词确定通话未接通类别,而无需解析不属于表征通话无法接通的类别的音频,一方面可以减少解析音频中的关键词所需耗费的资源;又一方面还可以排除不属于通话无法接通情况下所获得的彩铃等音频的干扰,有利于提高确定通话未接通类别的准确度。
为了便于理解本实施例的好处,举例说明,在发起通话呼叫请求且通话呼叫未被接收方接通的情况下,通话呼叫会存在两种状态:一种是仍等待通话呼叫的被呼叫方接通,在该种情况下,尚不确定本次通话呼叫最终是会被接通还是无法接通。但是通话控制中心会向服务器返回被呼叫方所设定的彩铃,而彩铃中所包含的信息内容较为复杂,如彩铃中有些信息可能包含“欠费”、“无人接听”等词语或者类似的词语,那么如果对彩铃进行解析,并基于解析出的关键词确定通话未接通类别,则会导致为本次通话呼叫无法被接通,且无法被接通的原因为无人接听,这显然与实际不符。
而本实施例中,通过识别彩铃这种音频的类别,可以得到彩铃不属于第一音频类别,从而不会对该种音频类别进行分析,进而可以减少数据处理量,也减少由于彩铃等音频干扰而导致影响到通话未接通类别的准确度的情况。
为了能够更为清楚的理解本申请的方案以及好处,下面结合一种应用场景进行介绍,以对中文语言环境下电话或者语音等通话呼叫为例说明。为了便于理解,以音频类别可以包括常见的“中文提示音”、“英文提示音”、“彩铃”以及“嘟嘟嘟”这几种提示音类型为例。同时,假设从提示音频流中截取频段时,第一设定时长为4秒,而静默区段对应的第二设定时长为150毫秒。
如,参见图4,其示出了本申请一种数据处理方法应用于一种应用场景中的流程示意图,本实施例可以包括:
S401,在智能语音呼叫系统的服务器发起的通话呼叫且通话呼叫未被接通的情况下,获得针对该通话呼叫返回的音频流。
本实施例以媒体流仅仅包含音频流为例说明,但是如果媒体流中也包含其他类型的媒体数据,也同样适用于本实施例。
可以理解的是,一旦该通话呼叫被接通,则不属于通话呼叫无法被接通的类型,自然不需要分析通话呼叫无法被接通的具体原因,因此,无需获得该情况下的音频流,并自动结束本实施例的流程。
S402,检测当前时刻该音频流的末端距离该音频流中最近一个截取点的时长是否达到4秒,如果是,则执行步骤S403;如果否,则执行步骤S404。
其中,最近一个截取点是指从最近一个从音频流中截取的音频段的尾端。
S403,截取当前时刻音频流的末端与该最近一个截取点之间的提示音频段。
S404,在音频流中的最近一个截取点之后是否检测到超过150毫秒的静默区段,如果是,则执行步骤S405;如果否,则返回步骤S402;
S405,截取当前时刻该音频流的末端与最近一个截取点之间的音频段。
其中,在步骤S405中当前时刻该音频流的末端实际上是出现了一个静默区段,且静默区段的持续时长达到了150毫秒。
S406,将音频段输入训练出的单向LSTM模型,以使得该单向LSTM模型从设定的“中文提示音”、“英文提示音”、“彩铃”和“嘟嘟嘟”这四个提示音类别中,确定出该音频段所属的提示音类别。
S407,检测该音频段所属的提示音类别是否为中文提示音,如果是,则执行步骤S408,如果否,则返回步骤S402,以截取下一个音频段。
可以理解的是,在中文环境下,在通话呼叫由于该被呼叫方拒接、被呼叫方欠费等原因而导致通话未被接通,则通话控制中心会向服务器返回类似“对方欠费”、“对方正忙”等中文提示音,因此,在单向LSTM模型识别出该通话提示音属于中文提示音的情况才有必要进一步分析通话未被接通的具体原因。
当然,在中文环境下,也可以有英文等外文的提示音,那么只需要将该步骤S407中替换为判断识别出的提示音类别是否属于设定的中文提示音或者英文等外文提示音即可,后续正常进行语音识别以识别关键词即可。
S408,利用ASR技术解析该音频段中包含的关键词。
本申请实施例中,在利用ASR技术进行语音识别之外,先对音频段中的通话提示音进行分类,以排除彩铃等不属于通话未被接通且已被结束的情况下所输出的通话提示音,有利于降低ASR进行语音识别的干扰,提高ASR语音识别的准确度。
S409,检测是否存在解析出的关键词所表征的通话未接通类别,如果是,则执行步骤S410,如果否,则返回步骤S402,以截取下一个提示音频段。
S410,将该关键词所属的通话未接通类别记录为该通话呼叫未被接通的原因类别,并结束服务器发起的该通话呼叫。
可以理解的是,在本申请以上实施例中,如果音频的类别属于某种设定的类别的情况下,也可能会无法确定通话呼叫处于等待被接通的状态,还是在无法被接通的状态。如,在发起语音通话呼叫之后,如果正在等待通话呼叫被接通的情况下,通话控制中心可能会返回类似“嘟~”的声音;但是,如果由于被呼叫方线路异常导致通话呼叫无法被接通,那么通话控制中心也可能会返回类似“嘟嘟嘟”的声音,但是这两种情况下的音频内容较为类似。
为了能够避免遗漏对通话无法接通情况下的音频的分析,并能够准确确定通话未接通类别,在本申请实施例中,音频类别还包括第二音频类别,该第二类音频类别包含设定关键词的音频,如,第二类音频类别为包含关键词“嘟”对应的音频。
相应的,本申请还可以解析媒体流中的音频,获得属于第二音频类别的音频中包含的关键词,如,在确定出音频的类别为第二音频类别的情况下,解析出该媒体流的音频中包含的关键词。然后,确定该第二音频类别的音频中相邻的关键词之间的间隔时长;如果间隔时长大于设定阈值,则确定该通话呼叫未被接通,且通话呼叫未被接通的类别为设定类别。
例如,“嘟”,如果是间隔较短,则是由于通话呼叫异常导致的中断。否则,则说明仍处于等待被呼叫方接通的状态,从而仍可以继续对后续接收到的音频进行分析。
对应本申请的一种数据处理方法,本申请还提供了一种数据处理装置。如图5所示,其示出了本申请一种数据处理装置一个实施例的结构示意图,本实施例的装置可以包括:
音频流获得单元501,用于获得针对智能语音呼叫系统的服务器发起的通话呼叫返回的媒体流;
类别确定单元502,用于确定所述媒体流中的音频所属的类别;
音频解析单元503,用于基于所述音频所属的类别,解析所述媒体流中的音频,获得所述音频中包含的关键词;
未接通分类单元504,用于确定所述关键词表征的通话未接通类别。
在一种可能的实现方式中,所述音频解析单元,具体为,用于解析所述媒体流中的音频,获得属于第一音频类别的音频中包含的关键词,所述第一音频类别的音频为通话控制中心返回的,用于提示所述通话呼叫无法被接通的音频。
在又一种可能的实现方式中,所述音频流获得单元,具体为,用于在所述智能语音呼叫系统的服务器发起通话呼叫且所述通话呼叫未被所述通话呼叫的被呼叫方接通的情况下,获得针对所述通话呼叫返回的媒体流。
在又一种可能的实现方式中,类别确定单元包括:
模型分类单元,用于将所述媒体流中的音频输入训练出的音频分类模型,获得所述音频分类模型输出的所述音频所属的类别,所述音频分类模型为利用标注有音频类别的多个音频样本训练得到的神经网络模型。
在又一种可能的情况中,该装置还可以包括:
音频段截取单元,用于在类别确定单元确定音频所属的类别之前,按照所述媒体流中各部分数据的接收先后顺序,从所述媒体流的音频中截取当前待分析的音频段;
该类别确定单元具体为,用于确定所述音频段所属的类别;
该装置还可以包括:
循环触发单元,用于如果不存在所述关键词表征的通话未接通类别,则返回执行所述音频截取单元的操作。
可选的,所述音频段截取单元,包括:
时长检测单元,用于检测当前时刻所述媒体流中音频的末端距离所述音频的最近一个截取点之间的时长是否达到第一设定时长,所述最近一个截取点为所述音频中最近一次截取出的音频段的尾端;
第一截取单元,用于如果所述音频的末端距离所述最近一个截取点的时长达到所述第一设定时长,截取当前时刻所述音频的末端与所述最近一个截取点之间的音频段;
第二截取单元,用于如果所述音频的末端距离所述最近一个截取点的时长未达到所述第一设定时长,且在所述音频的所述最近一个截取点之后检测到时长超过第二设定时长的静默区段,截取当前时刻所述音频的末端与所述最近一个截取点之间的音频段,所述第二设定时长小于所述第一设定时长。
在又一种可能的实现方式中,还包括:
通话结束单元,用于在未接通分类单元确定出通话未接通类别之后,结束服务器发起的通话呼叫。
在又一种可能的情况中,该装置还可以包括:
第二类解析单元,用于解析所述媒体流中的音频,获得属于第二音频类别的音频中包含的关键词,该第二类音频类别包含设定关键词的音频;
间隔确定单元,用于确定所述第二音频类别的音频中相邻的关键词之间的间隔时长;
未接通类别确定单元,用于如果所述间隔时长大于设定阈值,则确定所述通话呼叫未被接通,且通话呼叫未被接通的类别为设定类别。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。