1.本技术实施例涉及计算机技术领域,尤其涉及一种语音检测方法、会话记录产品及计算机存储介质。
背景技术:2.说话人日志(speaker diarization)技术是:给定一段多人交流的音频(通常为单通道口语对话语音,有较多的多人混叠片段),计算机能够自动地识别音频中有几个说话人,并检测出音频中每个说话人发言的起止时间戳,解决“谁在什么时候说话”的问题的一种技术。通过说话人日志技术,可以方便快速地检索和定位特定说话人的语音片段,为后续语音识别和声纹识别等奠定基础,被广泛用于多人会话等场景中。
3.传统的一种基于说话人日志进行说话人检测的方式是目标说话人端点检测,即检测一段音频中是否存在目标说话人并将目标说话人对应的音频段输出。但是,这类方法一方面主要针对某个目标说话人;另一方面,需要在模型训阶段就指定说话人的数量,并且在测试阶段也无法更改。而在实际应用中,说话人通常是不固定的,说话人的数量也是变动的,导致这类方法的应用场景十分有限。
4.因此,如何提供一种基于说话人日志技术的语音检测方案,以适用于各种多人对话场景,成为亟待解决的问题。
技术实现要素:5.有鉴于此,本技术实施例提供一种语音检测方案,以至少部分解决上述问题。
6.根据本技术实施例的第一方面,提供了一种语音检测方法,包括:获取待检测语音的语音特征和所述待检测语音中的多个说话人对应的声纹特征序列;对所述待检测语音对应的音频帧进行所述语音特征和所述声纹特征序列中的声纹特征的相似度计算,获得相似度计算结果;基于所述相似度计算结果,确定所述音频帧对应的幂集编码标签,其中,所述幂集编码标签用于表征所述音频帧对应的说话人。
7.根据本技术实施例的第二方面,提供了另一种语音检测方法,包括:基于会议说话人日志获取对应的会议语音的语音特征和所述会议语音中的多个说话人对应的声纹特征序列;对所述会议语音对应的音频帧进行所述语音特征和所述声纹特征序列中的声纹特征的相似度计算,获得相似度计算结果;基于所述相似度计算结果,确定所述音频帧对应的幂集编码标签,其中,所述幂集编码标签用于表征所述音频帧对应的说话人标签;根据所述音频帧对应的幂集编码标签,确定所述多个说话人分别对应的音频帧;根据所述多个说话人分别对应的音频帧对应的文本信息,生成会议记录。
8.根据本技术实施例的第三方面,提供了又一种语音检测方法,包括:获取客服对话语音及所述客服对话语音对应的语音特征和多个说话人的声纹特征序列,其中,所述多个说话人包括至少一个客服人员和至少一个客户人员;对所述客服对话语音对应的音频帧进行所述语音特征和所述声纹特征序列中的声纹特征的相似度计算,获得相似度计算结果;
基于所述相似度计算结果,确定所述音频帧对应的幂集编码标签,其中,所述幂集编码标签用于表征所述音频帧对应的说话人标签;根据所述音频帧对应的幂集编码标签,确定所述多个说话人分别对应的音频帧;根据所述多个说话人分别对应的音频帧对应的文本信息,生成客服服务记录。
9.根据本技术实施例的第四方面,提供了再一种语音检测方法,包括:获取在线问诊对话语音及所述在线问诊对话语音对应的语音特征和多个说话人的声纹特征序列,其中,所述多个说话人包括至少一个医生和至少一个患者;对所述在线问诊对话语音对应的音频帧进行所述语音特征和所述声纹特征序列中的声纹特征的相似度计算,获得相似度计算结果;基于所述相似度计算结果,确定所述音频帧对应的幂集编码标签,其中,所述幂集编码标签用于表征所述音频帧对应的说话人标签;根据所述音频帧对应的幂集编码标签,确定所述多个说话人分别对应的音频帧;根据所述多个说话人分别对应的音频帧对应的文本信息,生成在线问诊记录。
10.根据本技术实施例的第五方面,提供了又一种语音检测方法,包括:获取人机对话语音及所述人机对话语音对应的语音特征和多个说话人的声纹特征序列,其中,所述多个说话人包括智能设备和与所述智能设备进行交互的至少一个交互对象;对所述人机对话语音对应的音频帧进行所述语音特征和所述声纹特征序列中的声纹特征的相似度计算,获得相似度计算结果;基于所述相似度计算结果,确定所述音频帧对应的幂集编码标签,其中,所述幂集编码标签用于表征所述音频帧对应的说话人标签;根据所述音频帧对应的幂集编码标签,确定所述多个说话人分别对应的音频帧;根据所述多个说话人分别对应的音频帧对应的文本信息,生成人机对话记录。
11.根据本技术实施例的第六方面,提供了再一种语音检测方法,包括:获取待检测语音的语音特征、文本特征和所述待检测语音中的多个说话人对应的声纹特征序列;根据所述语音特征和所述文本特征,得到混合信息特征;根据所述混合信息特征与所述声纹特征之间的相似度,确定所述待检测语音中的每个语音字符对应的幂集编码标签,其中,所述幂集编码标签用于表征每个语音字符对应的说话人。
12.根据本技术实施例的第七方面,提供了一种会话记录产品,包括:数据处理指令集和幂集编码标签;其中,所述数据处理指令集包括:用于指示存储包括多个说话人的会话语音的指令;用于基于所述幂集编码标签,为所述会话语音中的音频帧建立音频帧与幂集编码标签的对应关系;或者,基于所述幂集编码标签,为所述会话语音中的每个语音字符建立语音字符与幂集编码标签的对应关系的指令;其中,所述幂集编码标签包括多个,不同的幂集编码标签对应不同的说话人或不同的说话人组合。
13.根据本技术实施例的第八方面,提供了一种电子设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如第一方面或第二方面或第三方面或第四方面或第五方面或第六方面所述的语音检测方法对应的操作。
14.根据本技术实施例的第九方面,提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面或第二方面或第三方面或第四方面或第五方面或第六方面所述的语音检测方法。
15.根据本技术实施例的第十方面,提供了一种计算机程序产品,包括计算机指令,所述计算机指令指示计算设备执行如如第一方面或第二方面或第三方面或第四方面或第五方面所述的语音检测方法对应的操作。
16.根据本技术实施例提供的语音检测方案,在需要进行语音检测时,会主动获取待检测语音中的多个说话人及其对应的声纹特征,进而基于待检测语音的语音特征和声纹特征的相似度,确定待检测语音包含的音频帧的幂集编码标签。由此,针对某个待检测语音,不管其中包含有几个说话人,都可有效获取其中的说话人信息及说话人的声纹特征,能够实现更加灵活和适用性更广的语音检测,有效拓展了说话人日志技术的适用场景。此外,本技术实施例的方案还使用了幂集编码标签表征音频帧对应的说话人,当音频帧中存在语音重叠情况时,通过该幂集编码标签即可有效确定同时说话的说话人的信息,既无需进行标签置换,也无需设置用于进行多标签分类的激活阈值,提高了语音检测的效率并降低了语音检测方案的实现复杂度。
附图说明
17.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
18.图1为适用本技术实施例的语音检测方法的示例性系统的示意图;图2a为根据本技术实施例一的一种语音检测方法的步骤流程图;图2b为图2a所示实施例中的一种语音检测模型的示意图;图3a为根据本技术实施例二的一种语音检测方法的步骤流程图;图3b为图3a所示实施例中的一种语音检测模型的示意图;图3c为图3a所示实施例中的第一场景示例的示意图;图3d为图3a所示实施例中的第二场景示例的示意图;图3e为图3a所示实施例中的第三场景示例的示意图;图3f为图3a所示实施例中的第四场景示例的示意图;图4为根据本技术实施例三的一种语音检测方法的步骤流程图;图5为根据本技术实施例五的一种电子设备的结构示意图。
具体实施方式
19.为了使本领域的人员更好地理解本技术实施例中的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本技术实施例一部分实施例,而不是全部的实施例。基于本技术实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本技术实施例保护的范围。
20.下面结合本技术实施例附图进一步说明本技术实施例具体实现。
21.图1示出了一种适用本技术实施例的语音检测方法的示例性系统。如图1所示,该系统100可以包括服务器102、通信网络104和/或一个或多个用户设备106,图1中示例为多个用户设备。
22.服务器102可以是用于存储信息、数据、程序和/或任何其他合适类型的内容的任何适当的服务器。在一些实施例中,服务器102可以执行任何适当的功能。例如,在一些实施例中,服务器102可以用于进行基于说话人日志的语音检测。作为可选的示例,在一些实施例中,服务器102可以被用于根据待检测语音的语音特征和多个说话人的声纹特征,确定两者的相似度,并基于该相似度确定待检测语音的音频帧的幂集编码标签。作为另一示例,在一些实施例中,服务器102可以被用于基于幂集编码标签确定待检测语音中各个说话人对应的音频帧,从而实现对待检测语音中各个说话人的发言部分的识别。
23.在一些实施例中,通信网络104可以是一个或多个有线和/或无线网络的任何适当的组合。例如,通信网络104能够包括以下各项中的任何一种或多种:互联网、内联网、广域网(wan)、局域网(lan)、无线网络、数字订户线路(dsl)网络、帧中继网络、异步转移模式(atm)网络、虚拟专用网(vpn)和/或任何其它合适的通信网络。用户设备106能够通过一个或多个通信链路(例如,通信链路112)连接到通信网络104,该通信网络104能够经由一个或多个通信链路(例如,通信链路114)被链接到服务器102。通信链路可以是适合于在用户设备106和服务器102之间传送数据的任何通信链路,诸如网络链路、拨号链路、无线链路、硬连线链路、任何其它合适的通信链路或此类链路的任何合适的组合。
24.用户设备106可以包括适合于呈现可进行语音检测申请并输入或发送待检测语音给服务器102的任何一个或多个用户设备。在一些实施例中,用户设备106可以包括任何合适类型的设备。例如,在一些实施例中,用户设备106可以包括移动设备、平板计算机、膝上型计算机、台式计算机、可穿戴计算机、游戏控制台、媒体播放器、车辆娱乐系统和/或任何其他合适类型的用户设备。注意,在一些实施例中,若用户设备106具有较高的软硬件性能,则也可由用户设备106执行或部分执行上述服务器102的功能。
25.尽管将服务器102图示为一个设备,但是在一些实施例中,可以使用任何适当数量的设备来执行由服务器102执行的功能。例如,在一些实施例中,可以使用多个设备来实现由服务器102执行的功能。或者,可使用云服务实现服务器102的功能。
26.基于上述系统,本技术实施例提供了一种语音检测方法,以下通过多个实施例进行说明。
27.实施例一参照图2a,示出了根据本技术实施例一的一种语音检测方法的步骤流程图。
28.本实施例的语音检测包括以下步骤:步骤s202:获取待检测语音的语音特征和待检测语音中的多个说话人对应的声纹特征序列。
29.本技术实施例中,待检测语音可以为存在多人会话的任意场合的语音,包括但不限于会议语音、客服语音、人机对话语音、在线问诊语音等。
30.待检测语音的语音特征用于表征待检测语音在声学和语音方面的特性,例如,可以先提取待检测语音的声学特征,再通过语音编码器对声学特征进行编码,获得对应的语音编码向量,即语音特征。
31.而针对待检测语音中包含的说话人的信息,在一种方式中,可以通过预先注册的方式获得,例如,在会议开始前,所有发言人预先进行自己的声纹注册;或者,在家庭里,多个家庭成员预先在智能设备中进行各自的声纹注册,等等。此种方式下,可以通过获得多个
说话人预先注册的声纹特征,基于预设的说话人顺序生成多个说话人对应的声纹特征序列。其中,说话人顺序可在实际使用中灵活设定,本技术实施例对此不作限制。通过预先注册的方式,获取声纹特征更为简单,算法复杂度低。在一种可行方式中,可以根据进行声纹注册的先后顺序确定说话人顺序。假设说话人a、c、b依次进行了声纹注册,则相应地,声纹特征序列将为【说话人a的声纹特征-》说话人c的声纹特征-》说话人b的声纹特征】。
32.在另一种可行方式中,可以通过对待检测语音进行声纹聚类,根据聚类结果确定待检测语音中的多个说话人及多个说话人分别对应的声纹特征;为确定的多个说话人确定说话人顺序,并基于确定的说话人顺序和声纹特征,生成多个说话人对应的声纹特征序列。此种方式下,无需预先注册,适用于各种实时或非实时的语音检测,更具灵活性,适用面也更广。其中,声纹聚类可采用任意适当方式实现,包括但不限于:k均值方式、变分贝叶斯方式等等。说话人顺序同样可灵活设定,在一种可行方式中,可按照待检测语音中多个说话人发言的先后顺序确定。
33.在实际应用中,可以先获取待检测语音中所含有的所有说话人的声纹嵌入码,再通过说话人编码器对声纹嵌入码进行编码,得到说话人的声纹特征。按照设定的说话人顺序,将多个说话人对应的多个声母特征构建成声纹特征序列。
34.需要说明的是,本技术实施例中,若无特殊说明,“多个”、“多种”等与“多”有关的数量均意指两个及两个以上。
35.步骤s204:对待检测语音对应的音频帧进行语音特征和声纹特征序列中的声纹特征的相似度计算,获得相似度计算结果。
36.待检测语音由很多个音频帧组成,可以针对每个音频帧,计算其所对应的语音特征和多个说话人的声纹特征序列中的特征的相似度,以确定每个音频帧涉及的一个或多个说话人。也由此可见,采用基于说话人顺序确定的声纹特征序列的方式,可以更高效地进行语音特征和声纹特征的相似度计算。但不限于此,若对语音检测的精度要求不高,也可以隔帧进行相似度计算等。
37.在一种可行方式中,可以先将语音特征和声纹特征映射至同一个特征空间,再进行相似度计算,以提高计算效率。具体的相似度计算可由本领域技术人员采用适当方式实现,包括但不限于:余弦相似度计算、点乘,等。
38.步骤s206:基于相似度计算结果,确定音频帧对应的幂集编码标签。
39.其中,幂集编码标签用于表征音频帧对应的说话人。基于相似度计算结果获得幂集编码标签可以通过诸如具有相应功能的神经网络模型或者算法实现。例如,可以通过lstm模型或cnn模型等,输入某帧音频帧的语音特征与说话人的声纹特征的相似度计算结果,输出该音频帧对应的幂集编码标签。当然,具有同样功能的其它神经网络模型也同样适用,本技术实施例对神经网络模型的具体实现形式不作限制,只需其具备根据相似度计算结果输出音频帧对应的幂集编码标签的功能即可。
40.在一种可行方式中,模型使用的幂集编码标签可以通过以下方式预先生成,即:获取多个说话人样本的信息,并根据多个说话人样本的信息为多个说话人样本设定编码顺序;基于编码顺序,获得多个说话人样本对应的多个说话人幂集;对多个说话人幂集进行编码,并为编码后的每个说话人幂集设定标签,获得多个说话人幂集对应的多个幂集编码标签。也即,幂集编码标签是预先生成好的,模型只需基于模型处理将相似度计算结果映射为
对应的幂集编码标签即可。需要说明的是,该多个说话人样本可以为与前述待检测语音中的多个说话人不同的说话人,也可以部分相同部分不同。
41.进一步可选地,为编码后的每个说话人幂集设定标签可以实现为:根据多个说话人样本的数量和多个说话人样本中同时说话人的数量,确定说话人组合方式的数量;根据组合方式的数量,确定对应的幂集编码标签的数量;按照幂集编码标签的数量,为编码后的每个说话人幂集设定标签。
42.其中,幂集是由原集合中所有的子集(包括全集和空集)构成的集族,本技术实施例中,使用编码标签的形式表征所有说话人可能构成的集族。
43.例如,假设一段语音样本中存在n个说话人,可采用下述公式一首先获取n个说话人的所有子集(幂集)ps(n):公式一其中,n表示n个说话人中的第n个人。
44.接着,按照设定好的顺序,采用下述公式二的方式对获得的幂集进行如下的编码:公式二其中,为狄拉克函数,当说话人n属于幂集s时为1,其他为0 。
45.进一步地,若假设同时最多有k个人说话,那么则共有c(k,n)个可能的幂集编码标签:其中,k表示同时说话的k个说话人中的第k个人。
46.但不限于上述方式,也可设定n个比特位,表示n个说话人,若某帧音频中涉及某个或某几个说话人,则相应比特位置1,否则置0。简单示例如下,假设n为3,即总共涉及3个说话人,则可能对应的幂集编码标签包括:【100】(某音频帧中仅有说话人1说话)、【010】(某音频帧中仅有说话人2说话)、【001】(某音频帧中仅有说话人3说话)、【110】(某音频帧中说话人1和2均说话)、【101】(某音频帧中说话人1和3均说话)、【111】(某音频帧中说话人1、2和3均说话)、【011】(某音频帧中说话人2和3均说话)、【000】(某音频帧中无人说话)。
47.通过幂集编码标签即可准确确定出音频帧对应的说话人。
48.可选地,在获得了音频帧对应的幂集编码标签后,还可以根据音频帧对应的幂集编码标签,确定多个说话人分别对应的音频帧;根据多个说话人分别对应的音频帧,获得针对待检测语音的说话人检测结果。以此,达到高效、快速确定说话人检测结果的效果。例如,某待检测语音包含10个音频帧,分别为音频帧1-10。若音频帧1-10分别对应的幂集编码标签依次为【001】、【001】、【101】、【101】、【100】、【100】、【100】、【010】、【010】、【111】,则可见,音频帧1-2涉及说话人3,音频帧3-4同时涉及说话人1和3,音频帧5-7涉及说话人1,音频帧8-9涉及说话人2,而音频帧10则同时涉及说话人1、2和3。由此,即可确定每个说话人对应的音频帧,以及同时有多个说话人说话即语音重叠的音频帧及这些音频帧涉及的同时说话的多
个说话人,为后续进一步的数据处理如语音识别或转换等提供依据。
49.在一种可行方式中,上述过程可通过语音检测模型实现,如图2b中所示。
50.由图2b中可见,该语音检测模型至少包括语音编码器speech encoder、声纹编码器speaker encoder、相似度计算部分similarity calculation、和后处理网络post-net。
51.一方面,通过对一段待检测语音x进行声学特征提取,获得待检测语音x的声学特征acoustic features;另一方面,可以获取待检测语音x中所含有的说话人的声纹嵌入码speaker embeddings,例如,可以通过声纹的预先注册或对待检测语音x进行声纹聚类的方式得到。然后,分别利用语音编码器speech encoder和声纹编码器speaker encoder对声学特征acoustic features和声纹嵌入码speaker embeddings进行编码得到语音编码speech coding(语音特征)和声纹编码speaker coding(声纹特征),将其映射到同一个特征空间。在这一特征空间上,通过相似度计算部分similarity calculation对待检测语音x的每一帧音频帧的语音编码speech coding和每一个说话人编码speaker coding两两计算相似度similarity,此处的相似度可以采用余弦相似度、点乘等各种度量方式。再将计算出的相似度输入到后处理网络post-net中对不同说话人之间的关联性进行建模,从而预测获得幂集编码标签。
52.可见,通过本实施例,在需要进行语音检测时,会主动获取待检测语音中的多个说话人及其对应的声纹特征,进而基于待检测语音的语音特征和声纹特征的相似度,确定待检测语音包含的音频帧的幂集编码标签。由此,针对某个待检测语音,不管其中包含有几个说话人,都可有效获取其中的说话人信息及说话人的声纹特征,能够实现更加灵活和适用性更广的语音检测,有效拓展了说话人日志技术的适用场景。此外,本实施例的方案还使用了幂集编码标签表征音频帧对应的说话人,当音频帧中存在语音重叠情况时,通过该幂集编码标签即可有效确定同时说话的说话人的信息,既无需进行标签置换,也无需设置用于进行多标签分类的激活阈值,提高了语音检测的效率并降低了语音检测方案的实现复杂度。
53.实施例二参照图3a,示出了根据本技术实施例二的一种语音检测方法的步骤流程图。
54.本实施例的语音检测方法中还引入了文本信息,以识别出待检测语音中的每个语音字符对应的说话人,以提升语音检测在下游任务中的性能。
55.本实施例的语音检测方法包括以下步骤:步骤s302:获取待检测语音的语音特征和文本特征,以及待检测语音中的多个说话人对应的声纹特征序列。
56.其中,待检测语音的文本特征的获得,可基于asr实现,例如,将待检测语音先通过asr转换为文本,再通过诸如text2vec的方式将该文本转换为文本向量即文本特征。而待检测语音的语音特征及多个说话人对应的声纹特征序列的获得则可参照前述实施例一的相关描述,在此不再赘述。
57.步骤s304:对待检测语音对应的音频帧进行语音特征、文本特征和声纹特征序列中的声纹特征的相似度计算,获得相似度计算结果。
58.在引入了文本特征的情况下,本步骤中需要基于语音特征、文本特征和声纹特征进行相似度计算。在一种可行的实现方式中,可以根据语音特征和文本特征,得到混合信息
特征,进而可获得混合信息特征与声纹特征之间的相似度。后续,即可根据混合信息特征与声纹特征之间的相似度,确定待检测语音中的每个语音字符对应的说话人。例如,可以确定待检测语音中的每个语音字符对应的幂集编码标签,其中,幂集编码标签用于表征每个语音字符对应的说话人。由此,将文本特征引入到语音特征中,可以更有效地确定待检测语音中的语音字符。
59.可选地,在得到混合信息特征时,可以计算语音特征和文本特征之间的关联度;根据语音特征、文本特征和关联度,得到混合信息特征。
60.例如,设定语音特征为h,声纹特征为e和文本特征为u,可采用如下公式获得混合信息特征:其中,表示混合信息特征,为的归一化表达,表示语音特征h和文本特征u之间的关联度;dot表示点乘,w_q,w_k和w_v为可学习的注意力计算参数,l表示待检测语音所对应的文本中的第l个字符,t表示第t个音频帧,待检测语音包含的音频帧的数量为t,i表示循环变量。由上可见,本示例中,通过对语音特征和文本特征进行注意力计算的方式,获得语音特征和文本特征之间的关联度,以使该关联度的计算更为准确。
61.进而,可计算混合信息特征与声纹特征之间的相似度,例如,可采用下述公式计算相似度:其中,表示sigmoid或tanh等激活函数,表示第n个说话人的声纹特征,d表示特征维度。
62.通过上述过程,即可实现引入了文本特征后的相似度计算。
63.步骤s306:基于相似度计算结果,确定音频帧对应的幂集编码标签。
64.其中,幂集编码标签用于表征音频帧对应的说话人。本步骤的具体实现可参见前述实施例一中的相关描述,在此不再赘述。
65.在一种可行方式中,上述过程可通过如图3b所示的语音检测模型实现,该语音检测模型除包括图2b中所示的语音编码器speech encoder、声纹编码器speaker encoder、相似度计算部分similarity calculation、和后处理网络post-net之外,还包括有文本编码器text encoder。
66.由图3b中可见,第一方面,通过asr将待检测语音x转换为文本并通过text2vec将文本转换为文本向量text embeddings;第二方面,通过对待检测语音x进行声学特征提取,获得待检测语音x的声学特征acoustic features;第三方面,可以获取待检测语音x中所含有的说话人的声纹嵌入码speaker embeddings,例如,可以通过声纹的预先注册或对待检测语音x进行声纹聚类的方式得到。然后,分别利用文本编码器text encoder、语音编码器speech encoder和声纹编码器speaker encoder对文本向量text embeddings、声学特征
acoustic features和声纹嵌入码speaker embeddings进行编码得到文本编码text coding(文本特征)、语音编码speech coding(语音特征)和声纹编码speaker coding(声纹特征)。对文本编码text coding和语音编码speech coding进行注意力attention计算,获得混合信息特征。再将混合信息特征和声纹编码speaker coding映射到同一个特征空间。在这一特征空间上,通过相似度计算部分similarity calculation对待检测语音x的每一帧音频帧对应的混合信息特征和每一个说话人编码speaker coding两两计算相似度similarity。再将计算出的相似度输入到后处理网络post-net中对不同说话人之间的关联性进行建模,从而预测获得针对待检测语音x中的每一语音字符对应的音频帧的幂集编码标签。
67.以下,以多个场景为示例,对上述实施例一及二中的语音检测过程进行示例性说明,分别如图3c-图3f所示。
68.图3c示出了一种会议场景中的语音检测,在该场景中,基于会议说话人日志获取对应的会议语音的语音特征和会议语音中的多个说话人对应的声纹特征序列;对会议语音对应的音频帧进行语音特征和声纹特征序列中的声纹特征的相似度计算,获得相似度计算结果;基于相似度计算结果,确定音频帧对应的幂集编码标签,其中,幂集编码标签用于表征音频帧对应的说话人标签;根据音频帧对应的幂集编码标签,确定多个说话人分别对应的音频帧;根据多个说话人分别对应的音频帧对应的文本信息,生成会议记录。
69.具体地,假设该会议场景中涉及会议说话人日志x,其中涉及三个说话人a、b和c,其对应的编码顺序也为a-b-c。首先,对会议说话人日志x的每一音频帧均进行语音特征提取,获得每一音频帧对应的语音特征;并且,对会议说话人日志x进行声纹聚类,获得分别对应于说话人a、b、c的声纹特征a’、b’和c’。基于a’、b’和c’生成声纹特征序列【a
’‑b’‑
c’】。可选地,还可提取会议说话人日志x的文本特征。在将语音特征和声纹特征映射至同一特征空间后,通过设定的相似度计算公式如余弦距离公式等获得每一音频帧的语音特征和声纹特征序列【a
’‑b’‑
c’】中各个声纹特征的相似度。进而,通过训练完成的神经网络模型如lstm模型基于该相似度输出每一音频帧的幂集编码标签。假设,会议说话人日志x包含10个音频帧,分别为音频帧1-10。若音频帧1-10分别对应的幂集编码标签依次为【001】、【001】、【101】、【101】、【100】、【100】、【100】、【010】、【010】、【111】,则可确定音频帧1-2涉及说话人c,音频帧3-4同时涉及说话人a和c,音频帧5-7涉及说话人a,音频帧8-9涉及说话人b,而音频帧10则同时涉及说话人a、b和c。基于此,对说话人a、b、c分别对应的音频帧与这些音频帧对应的语音识别的结果即文本分别对应,获得说话人a、b、c各自的说话内容。进而,可基于预先设置的会议记录模板,生成相应的会议记录,该会议记录中可清楚地记录说话人及每个说话人说过哪些话。
70.而在还获取了会议说话人日志x的文本特征,在计算相似度时,可以先基于文本特征和语音特征获得混合信息特征,再计算该混合信息特征与声纹特征的相似度。由此,可获得每一音频帧中的每一语音字符的说话人。
71.图3d示出了一种客服场景中的语音检测,在该场景中,获取客服对话语音及客服对话语音对应的语音特征和多个说话人的声纹特征序列,其中,多个说话人包括至少一个客服人员和至少一个客户人员;对客服对话语音对应的音频帧进行语音特征和声纹特征序列中的声纹特征的相似度计算,获得相似度计算结果;基于相似度计算结果,确定音频帧对
应的幂集编码标签,其中,幂集编码标签用于表征音频帧对应的说话人标签;根据音频帧对应的幂集编码标签,确定多个说话人分别对应的音频帧;根据多个说话人分别对应的音频帧对应的文本信息,生成客服服务记录。
72.具体地,假设该客服场景中涉及客服对话语音y,其中涉及两个说话人,即客服a和客户b,其对应的编码顺序也为a-b。首先,对客服对话语音y的每一音频帧均进行语音特征提取,获得每一音频帧对应的语音特征;并且,对客服对话语音y进行声纹聚类,获得分别对应于客服a和客户b的声纹特征a’、b’。基于a’、b’生成声纹特征序列【a
’‑
b’】。可选地,还可提取客服对话语音y的文本特征。在将语音特征和声纹特征映射至同一特征空间后,通过设定的相似度计算公式如余弦距离公式等获得每一音频帧的语音特征和声纹特征序列【a
’‑
b’】中各个声纹特征的相似度。进而,通过训练完成的神经网络模型如lstm模型基于该相似度输出每一音频帧的幂集编码标签。假设,客服对话语音y包含10个音频帧,分别为音频帧1-10。若音频帧1-10分别对应的幂集编码标签依次为【100】、【100】、【100】、【110】、【110】、【010】、【010】、【010】、【100】、【100】,则可确定音频帧1-3涉及客服a,音频帧4-5同时涉及客服a和客户b,音频帧6-8涉及客户b,音频帧9-10涉及客服a。基于此,对客服a和客户b分别对应的音频帧与这些音频帧对应的语音识别的结果即文本分别对应,获得客服a和客户b各自的说话内容。进而,可基于预先设置的客服服务记录模板,生成相应的客服服务记录,该客服服务记录中可清楚地记录客服a和客户b分别说过哪些话。
73.而在还获取了客服对话语音y的文本特征,在计算相似度时,可以先基于文本特征和语音特征获得混合信息特征,再计算该混合信息特征与声纹特征的相似度。由此,可获得每一音频帧中的每一语音字符的说话人。
74.图3e示出了一种在线问诊场景中的语音检测,在该场景中,获取在线问诊对话语音及在线问诊对话语音对应的语音特征和多个说话人的声纹特征序列,其中,多个说话人包括至少一个医生和至少一个患者;对在线问诊对话语音对应的音频帧进行语音特征和声纹特征序列中的声纹特征的相似度计算,获得相似度计算结果;基于相似度计算结果,确定音频帧对应的幂集编码标签,其中,幂集编码标签用于表征音频帧对应的说话人标签;根据音频帧对应的幂集编码标签,确定多个说话人分别对应的音频帧;根据多个说话人分别对应的音频帧对应的文本信息,生成在线问诊记录。
75.具体地,假设该在线问诊场景中涉及在线问诊对话语音m,其中涉及两个说话人,即医生a和患者b,其对应的编码顺序也为a-b。首先,对在线问诊对话语音m的每一音频帧均进行语音特征提取,获得每一音频帧对应的语音特征;并且,对在线问诊对话语音进行声纹聚类,获得分别对应于医生a和患者b的声纹特征a’、b’。基于a’、b’生成声纹特征序列【a
’‑
b’】。可选地,还可提取在线问诊对话语音的文本特征。在将语音特征和声纹特征映射至同一特征空间后,通过设定的相似度计算公式如余弦距离公式等获得每一音频帧的语音特征和声纹特征序列【a
’‑
b’】中各个声纹特征的相似度。进而,通过训练完成的神经网络模型如lstm模型基于该相似度输出每一音频帧的幂集编码标签。假设,在线问诊语音对话包含10个音频帧,分别为音频帧1-10。若音频帧1-10分别对应的幂集编码标签依次为【100】、【100】、【100】、【110】、【110】、【010】、【010】、【010】、【100】、【100】,则可确定音频帧1-3涉及医生a,音频帧4-5同时涉及医生a和患者b,音频帧6-8涉及患者b,音频帧9-10涉及医生a。基于此,对医生a和患者b分别对应的音频帧与这些音频帧对应的语音识别的结果即文本分别对
应,获得医生a和患者b各自的说话内容。进而,可基于预先设置的在线问诊记录模板,生成相应的在线问诊记录,该在线问诊记录中可清楚地记录医生a和患者b分别说过哪些话。
76.而在还获取了在线问诊对话语音的文本特征,在计算相似度时,可以先基于文本特征和语音特征获得混合信息特征,再计算该混合信息特征与声纹特征的相似度。由此,可获得每一音频帧中的每一语音字符的说话人。
77.图3f示出了一种人机对话场景中的语音检测,在该场景中,获取人机对话语音及人机对话语音对应的语音特征和多个说话人的声纹特征序列,其中,多个说话人包括智能设备和与智能设备进行交互的至少一个交互对象;对人机对话语音对应的音频帧进行语音特征和声纹特征序列中的声纹特征的相似度计算,获得相似度计算结果;基于相似度计算结果,确定音频帧对应的幂集编码标签,其中,幂集编码标签用于表征音频帧对应的说话人标签;根据音频帧对应的幂集编码标签,确定多个说话人分别对应的音频帧;根据多个说话人分别对应的音频帧对应的文本信息,生成人机对话记录。
78.具体地,假设该人机对话场景中涉及人机对话语音n,其中涉及三个说话人,即孩子a、妈妈b和智能设备本示例中为智能音箱c,其对应的编码顺序也为a-b-c。首先,对人机对话语音的每一音频帧均进行语音特征提取,获得每一音频帧对应的语音特征;并且,根据预先注册的声纹特征,获得分别对应于孩子a、妈妈b和智能音箱c的声纹特征a’、b’和c’。基于a’、b’和c’生成声纹特征序列【a
’‑b’‑
c’】。可选地,还可提取人机对话语音的文本特征。在将语音特征和声纹特征映射至同一特征空间后,通过设定的相似度计算公式如余弦距离公式等获得每一音频帧的语音特征和声纹特征序列【a
’‑b’‑
c’】中各个声纹特征的相似度。进而,通过训练完成的神经网络模型如lstm模型基于该相似度输出每一音频帧的幂集编码标签。假设,人机对话语音包含10个音频帧,分别为音频帧1-10。若音频帧1-10分别对应的幂集编码标签依次为【001】、【001】、【101】、【101】、【100】、【100】、【100】、【010】、【010】、【111】,则可确定音频帧1-2涉及智能音箱c,音频帧3-4同时涉及孩子a和智能音箱c,音频帧5-7涉及孩子a,音频帧8-9涉及妈妈b,而音频帧10则同时涉及孩子a、妈妈b和智能音箱c。基于此,对孩子a、妈妈b和智能音箱c分别对应的音频帧与这些音频帧对应的语音识别的结果即文本分别对应,获得孩子a、妈妈b和智能音箱c各自的说话内容。进而,可基于预先设置的人机对话记录模板,生成相应的人机对话记录,该人机对话记录中可清楚地记录孩子a、妈妈b和智能音箱c各自说过哪些话。
79.而在还获取了人机对话语音n的文本特征,在计算相似度时,可以先基于文本特征和语音特征获得混合信息特征,再计算该混合信息特征与声纹特征的相似度。由此,可获得每一音频帧中的每一语音字符的说话人。
80.可见,通过本实施例,在需要进行语音检测时,会主动获取待检测语音中的多个说话人及其对应的声纹特征,进而基于待检测语音的语音特征和声纹特征的相似度,确定待检测语音包含的音频帧的幂集编码标签。由此,针对某个待检测语音,不管其中包含有几个说话人,都可有效获取其中的说话人信息及说话人的声纹特征,能够实现更加灵活和适用性更广的语音检测,有效拓展了说话人日志技术的适用场景。此外,本实施例的方案还使用了幂集编码标签表征音频帧对应的说话人,当音频帧中存在语音重叠情况时,通过该幂集编码标签即可有效确定同时说话的说话人的信息,既无需进行标签置换,也无需设置用于进行多标签分类的激活阈值,提高了语音检测的效率并降低了语音检测方案的实现复杂
度。
81.实施例三参照图4,示出了根据本技术实施例三的一种语音检测方法的步骤流程图。
82.本实施例以直接获得待检测语音的语音字符对应的说话人为示例,对本技术实施例提供的语音检测方法进行说明。
83.本实施例的语音检测方法包括以下步骤:步骤s100:获取待检测语音的语音特征、文本特征和待检测语音中的多个说话人对应的声纹特征序列。
84.步骤s200:根据语音特征和文本特征,得到混合信息特征。
85.在一种可行方式中,本步骤可以实现为:计算语音特征和文本特征之间的关联度;根据语音特征、文本特征和关联度,得到混合信息特征。
86.可选地,计算语音特征和文本特征之间的关联度可以实现为:对语音特征和文本特征进行注意力计算,获得语音特征和所述文本特征之间的关联度。
87.步骤s300:根据混合信息特征与声纹特征之间的相似度,确定待检测语音中的每个语音字符对应的幂集编码标签。
88.其中,幂集编码标签用于表征每个语音字符对应的说话人。因在待检测语音中,每个语音字符可能对应有一个或多个音频帧,因此,基于这些音频帧对应的幂集编码标签,即可确定每个语音字符对应的说话人。例如,
“……
好了。开始
……”
,设定“好”字对应第7-8音频帧,“了”字对应第9-10音频帧,“开”字对应第11-12音频帧,“始”字对应第13-15音频帧。若第7-8音频帧对应的幂集编码标签为【100】,第9-10音频帧对应的幂集编码标签为【100】,第11-12音频帧对应的幂集编码标签为【001】,第13-15音频帧对应的幂集编码标签为【001】。则可确定,“好”的说话人为说话人中顺序为第一个说话人如a,“了”的说话人也为a,“开”的说话人为说话人顺序中为第三个说话人如c,“始”的说话人也为c。
89.需要说明的是,上述步骤s100-s300的具体实现可参照前述实施例二中相应部分的描述,因此,此处描述较为简要。
90.通过本实施例,针对某个待检测语音,不管其中包含有几个说话人,都可有效获取其中的说话人信息及说话人的声纹特征,并且,通过文本特征的引入,可以获得待检测语音中每个语音字符对应的说话人,以为后续进行一下的语音处理需求提供依据,实现更加灵活和适用性更广的语音检测,有效拓展说话人日志技术的适用场景。
91.实施例四本技术实施例还提供了一种会话记录产品,该产品包括:数据处理指令集和幂集编码标签。
92.其中,该数据处理指令集包括:用于指示存储包括多个说话人的会话语音的指令;用于基于幂集编码标签,为会话语音中的音频帧建立音频帧与幂集编码标签的对应关系;或者,基于幂集编码标签,为会话语音中的每个语音字符建立语音字符与幂集码标签的对应关系的指令。
93.其中,该幂集编码标签包括多个,不同的幂集编码标签对应不同的说话人或不同的说话人组合。
94.可选地,该数据处理指令集还可基于上述对应关系以及预设的会话记录模板,为
会话语音生成相应的会话记录。
95.在具体实现时,该会话记录产品可实现为一种应用程序的形式,但不限于此,该产品也可通过处理器和存储器实现,例如,存储器中存储该数据处理指令集和幂集编码标签,处理器在执行时执行该存储器中存储的数据处理指令集,并基于存储器中存储的幂集编码标签实现上述会话记录方案。再例如,该数据处理指令集还可通过fpga等实现。本领域技术人员应当明了的是,上述多种实现方式均在本技术的保护范围内。
96.通过本实施例,可直接使用该会话记录产品实现相应的功能,提高了使用的便利性,降低了使用成本。
97.实施例五参照图5,示出了根据本技术实施例三的一种电子设备的结构示意图,本技术具体实施例并不对电子设备的具体实现做限定。
98.如图5所示,该电子设备可以包括:处理器(processor)402、通信接口(communications interface)404、存储器(memory)406、以及通信总线408。
99.其中:处理器402、通信接口404、以及存储器406通过通信总线408完成相互间的通信。
100.通信接口404,用于与其它电子设备或服务器进行通信。
101.处理器402,用于执行程序410,具体可以执行上述多个语音检测方法实施例中的相关步骤。
102.具体地,程序410可以包括程序代码,该程序代码包括计算机操作指令。
103.处理器402可能是cpu,或者是特定集成电路asic(application specific integrated circuit),或者是被配置成实施本技术实施例的一个或多个集成电路。智能设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器,如一个或多个cpu以及一个或多个asic。
104.存储器406,用于存放程序410。存储器406可能包含高速ram存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
105.程序410具体可以用于使得处理器402执行上述实施例一或实施例二中所述的语音检测方法对应的操作。
106.程序410中各步骤的具体实现可以参见上述语音检测方法实施例中的相应步骤和单元中对应的描述,并具有相应的有益效果,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
107.本技术实施例还提供了一种计算机程序产品,包括计算机指令,该计算机指令指示计算设备执行上述多个方法实施例中的任一语音检测方法对应的操作。
108.需要指出,根据实施的需要,可将本技术实施例中描述的各个部件/步骤拆分为更多部件/步骤,也可将两个或多个部件/步骤或者部件/步骤的部分操作组合成新的部件/步骤,以实现本技术实施例的目的。
109.上述根据本技术实施例的方法可在硬件、固件中实现,或者被实现为可存储在记录介质(诸如cd rom、ram、软盘、硬盘或磁光盘)中的软件或计算机代码,或者被实现通过网络下载的原始存储在远程记录介质或非暂时机器可读介质中并将被存储在本地记录介质
中的计算机代码,从而在此描述的方法可被存储在使用通用计算机、专用处理器或者可编程或专用硬件(诸如asic或fpga)的记录介质上的这样的软件处理。可以理解,计算机、处理器、微处理器控制器或可编程硬件包括可存储或接收软件或计算机代码的存储组件(例如,ram、rom、闪存等),当所述软件或计算机代码被计算机、处理器或硬件访问且执行时,实现在此描述的语音检测方法。此外,当通用计算机访问用于实现在此示出的语音检测方法的代码时,代码的执行将通用计算机转换为用于执行在此示出的语音检测方法的专用计算机。
110.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术实施例的范围。
111.以上实施方式仅用于说明本技术实施例,而并非对本技术实施例的限制,有关技术领域的普通技术人员,在不脱离本技术实施例的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本技术实施例的范畴,本技术实施例的专利保护范围应由权利要求限定。