一种语音检测方法、装置、设备及存储介质与流程
未命名
10-26
阅读:89
评论:0
1.本技术涉及人工智能技术领域,尤其涉及一种语音检测方法、装置、设备及存储介质。
背景技术:
2.关键词检测(spoken term detection)是语音识别领域的一个子领域,其主要是从连续的语音信号中检测出特定的关键词或短语,被广泛应用于智能家居、智能音箱和智能手机等智能设备中,使得智能设备可以在接收到语音后,分析检测语音中的关键词,根据关键词激活智能设备与使用对象之间的语音交互,执行语音指令相应流程。可见,智能设备中运行的语音检测方法需要具有较高的准确性和实时性,以保证智能设备被及时并准确的激活和执行语音指令。但在实际应用中,语音数据是以帧为单位传输的,而语音帧的数据量很小,为了使得智能设备能够最快响应于语音,就需要一边接收语音帧一边进行语音检测,以要保证语音检测的实时性。
3.在相关技术中,一般的语音检测方法的检测流程为:每次接收多个当前语音帧后,获取存储的多个历史语音帧,将多个当前语音帧和多个历史语音帧作为语音检测模型的输入数据,使得语音检测模型结合历史语音帧中的上下文信息,检测获得关键词,从而使得智能设备执行语音指令相关流程。但该方法中,语音检测模型每接收到当前语音帧,不仅需要对当前语音帧进行计算处理,还需要对历史语音帧进行计算处理,而历史语音帧在被智能设备接收时,已经作为当前语音帧计算过,因此,这种语音帧的重复分析计算耗费较多的计算资源,且智能设备中语音检测模块的内存很小,历史语音帧对内存有较大的占用率,会影响语音检测模块性能。
4.例如,一般的,1个语音帧的数据传输需要10ms-30ms,而1个关键词的数据传输需要1-2s,那么,若想要获得比较完整的关键词语义信息,可能需要获得连续的20个语音帧,假设每接收10个语音帧,进行一次语音检测,则将接收的10个当前语音帧和10个历史语音帧作为语音检测模型的输入数据,检测获得关键词。可以看出,语音检测模块每次都需要存储至少10个语音帧作为历史语音帧,且这10个历史语音帧会在前后两次语音检测中重复计算,即占用语音检测模块的内存资源,又消耗较多的计算资源。
5.因此,现在亟需重新设计一种语音检测方法,以及克服上述缺陷。
技术实现要素:
6.本技术实施例提供一种语音检测方法、装置、设备和存储介质,用以降低语音检测模块的内存占用率和消耗的计算资源。
7.第一方面,本技术实施例提供一种语音检测方法,该方法包括:对待检测的语音数据进行特征提取,获得初始语音特征;从所述指定的存储区域中,提取出在指定历史阶段获得的n个历史语音特征; 其中,所述指定历史阶段与当前时刻之间的时间间隔符合预设间隔条件,所述n为正整数;
将所述初始语音特征和所述n个历史语音特征,按照相应的语音数据的获取时间顺序进行排序,获得相应的语音特征序列;提取所述语音特征序列包含的所述初始语音特征的目标上下文特征;其中,所述目标上下文特征表征:所述初始语音特征与所述n个历史语音特征之间的语义关系;基于所述目标上下文特征,获得所述待检测的语音数据的目标分类,并获得对应所述目标分类设置的目标关键词,将所述初始语音特征保存至指定的存储区域,作为下一轮语音检测中的历史语音特征。
8.第二方面,本技术实施例提供一种语音检测装置,包括:第一特征提取单元,用于对待检测的语音数据进行特征提取,获得初始语音特征;数据存取单元,用于从所述指定的存储区域中,提取出在指定历史阶段获得的n个历史语音特征; 其中,所述指定历史阶段与当前时刻之间的时间间隔符合预设间隔条件,所述n为正整数;将所述初始语音特征和所述n个历史语音特征,按照相应的语音数据的获取时间顺序进行排序,获得相应的语音特征序列;第二特征提取单元,用于提取所述语音特征序列包含的所述初始语音特征的目标上下文特征;其中,所述目标上下文特征表征:所述初始语音特征与所述n个历史语音特征之间的语义关系;分类单元,用于基于所述目标上下文特征,获得所述待检测的语音数据的目标分类,并获得对应所述目标分类设置的目标关键词,将所述初始语音特征保存至指定的存储区域,作为下一轮语音检测中的历史语音特征。
9.可选的,所述第二特征提取单元具体用于,将所述语音特征序列输入具有m层网络的时延神经网络,其中,在第i层网络中,1≤i≤m,执行以下操作:当i=1时,基于第1层网络,对所述初始语音特征和所述n个历史语音特征进行特征提取,获得所述初始语音特征的首层上下文特征;当2≤i≤m时,提取出第i-1层网络在所述指定历史阶段中,存储的n个i-1层历史输出特征,并基于第i层网络,结合所述n个i-1层历史输出特征,对所述第i-1层网络输出的i-1层上下文特征进行特征提取,获得i层上下文特征;其中,所述n个i-1层历史输出特征,是所述n个历史语音特征经过所述m层网络中的i-1层网络获得的;将最终输出的m层上下文特征作为所述目标上下文特征。
10.可选的,所述数据存取单元还用于,将所述i层上下文特征保存在所述第i层网络对应的存储区域,作为下一轮语音检测中的i层历史输出特征,并将所述第i层网络对应的存储区域中,最早一轮语音检测时存储的历史的i层上下文特征删除,使得所述第i层网络对应的存储区域中的特征队列中特征数量为n个。
11.可选的,所述第二特征提取单元还用于,若所述初始语音特征和所述n个历史语音特征是采用浮点型数据类型表示的,则将所述初始语音特征和所述n个历史语音特征中的最大浮点数,转化为整型数据类型,以获得初始放缩系数;根据所述初始放缩系数,对所述初始语音特征和所述n个历史语音特征进行正向
量化放缩,获得整型数据类型的初始语音特征和n个历史语音特征;则在所述获得所述初始语音特征的首层上下文特征之后,还包括:基于所述初始放缩系数,对整型数据类型的所述首层上下文特征进行反向量化放缩,获得浮点型数据类型的首层上下文特征。
12.可选的,所述第二特征提取单元还用于,当2≤i≤m时,若所述i-1层上下文特征和所述n个i-1层历史输出特征是采用浮点型数据类型表示的,则将所述i-1层上下文特征和所述n个i-1层历史输出特征中的最大浮点数,转化为整型数据类型,以获得i层放缩系数;根据所述i层放缩系数,对浮点型数据类型的所述i-1层上下文特征和所述n个i-1层历史输出特征,进行正向量化放缩,获得整型数据类型的i-1层上下文特征和n个i-1层历史输出特征;则在所述获得i层上下文特征之后,还包括:基于所述i层放缩系数,对整型数据类型的所述i层上下文特征进行反向量化放缩,获得浮点型数据类型的i层上下文特征。
13.可选的,所述第二特征提取单元还用于,基于所述整型数据类型的初始语音特征和n个历史语音特征,对所述第1层网络的模型参数进行量化移位;所述基于第i层网络,结合所述n个i-1层历史输出特征,对所述第i-1层网络输出的i-1层上下文特征进行特征提取之前,还包括:基于所述整型数据类型的i-1层上下文特征和n个i-1层历史输出特征,对所述第i层网络的模型参数进行量化移位。
14.可选的,所述分类单元具体用于,采用全连接神经网络,对所述目标上下文特征进行映射处理,获得所述待检测的语音数据的目标分类。
15.可选的,训练单元,具体用于:所述方法是通过目标语音检测模型执行的,所述目标语音检测模型的训练过程如下:基于预设的训练样本集,对待训练的语音检测模型进行多轮迭代训练,每个训练样本包括待检测的样本语音和n个历史样本语音,以及分类标签,所述待检测的样本语音和所述n个历史样本语音是按照获取时间排序的;其中,在一轮迭代过程中,执行以下操作:分别对一个训练样本中待检测的样本语音和n个历史样本语音进行特征提取,获得待检测语音特征和n个样本语音特征;提取所述待检测语音特征和所述n个样本语音特征中,所述待检测语音特征的样本上下文特征;其中,所述样本上下文特征表征:所述待检测语音特征与所述n个样本语音特征之间的语义关系;基于所述样本上下文特征,获得分类结果,并根据所述分类结果和所述一个训练样本的分类标签的差异,调整所述语音检测模型的参数。
16.第三方面,本技术实施例提供的一种计算机设备,包括处理器和存储器,其中,所述存储器存储有计算机程序,当所述计算机程序被所述处理器执行时,使得所述处理器执行上述第一方面中任意一种语音检测方法。
17.第四方面,本技术实施例提供的一种计算机可读存储介质,其包括计算机程序,当所述计算机程序在计算机设备上运行时,所述计算机程序用于使所述计算机设备执行上述第一方面中任意一种语音检测方法。
18.第五方面,本技术实施例提供的一种计算机程序产品,所述计算机程序产品包括计算机程序,所述计算机程序存储在计算机可读存储介质中;当计算机设备的处理器从计算机可读存储介质读取所述计算机程序时,所述处理器执行所述计算机程序,使得所述计算机设备执行上述第一方面中任意一种语音检测方法。
19.本技术有益效果如下:本技术实施例中,在本轮语音检测之前的至少一轮语音检测中,每轮语音检测采用语音编码器,将接收的语音数据编码为历史语音特征,并将获得的历史语音特征存储在指定的存储区域。如此,当本轮语音检测需要结合历史语音数据进行检测分析时,可以直接采用语音编码器,仅对待检测的语音数据进行编码获得初始语音特征,进一步,从指定的存储区域中提取需要的历史语音特征,用以对待检测的语音数据的检测分析,从而获得待检测的语音数据的目标分类对应的目标关键词。
20.相比于相关技术中,将当前语音帧和多个历史语音帧输入语音检测模型获取检测结果,使得历史语音帧占用内存较大,且需对历史语音数据重复编码来说,上述方法存储编码后的历史语音特征,可以在语音检测过程中,直接提取历史语音特征而无需对历史语音数据重复编码,有效降低内存占用率和耗费的计算资源,提高语音检测设备性能,加快检测速度。
21.本技术的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本技术而了解。本技术的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
附图说明
22.为了更清楚地说明本技术实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
23.图1为本技术实施例提供的一种语音数据的各语音帧在语音检测过程中,滑动窗口式的流式推理示意图;图2为本技术实施例提供的一种应用场景的一个可选的示意图;图3为本技术实施例提供的一种语音检测方法的流程示意图;图4为本技术实施例提供的一种语音数据转换方法示意图;图5为本技术实施例提供的一种语音数据与语音特征对应关系示意图;图6为本技术实施例提供的一种采用预训练模型进行特征提取的方法示意图;图7为本技术实施例提供的一种采用长短时记忆网络进行特征提取的方法示意图;图8本技术实施例提供的一种采用时延神经网络模型进行特征提取的方法示意图;
图9为本技术实施例提供的一种采用全连接神经网络,对目标上下文特征进行分类的分类方法示意图;图10为本技术实施例提供的一种语音检测方法示意图;图11为本技术实施例提供的一种提取目标上下文特征的方法示意图;图12为本技术实施例提供的一种具有m层网络的时延神经网络的结构示意图;图13为本技术实施例提供的一种具有m层网络的时延神经网络的结构示意图;图14为本技术实施例提供的一种时延神经网络的结构示意图;图15为本技术实施例提供的一种量化放缩方法示意图;图16为本技术实施例提供的一种量化放缩方法示意图;图17为本技术实施例提供的一种量化放缩方示意图;图18为本技术实施例提供的一种模型参数量化放缩方法示意图;图19为本技术实施例提供的一种语音检测装置的装置示意图;图20为应用本技术实施例的一种计算机设备的一个硬件组成结构示意图;图21为应用本技术实施例的另一种计算机设备的一个硬件组成结构示意图。
具体实施方式
24.为使本技术的目的、技术方案和优点更加清楚明白,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互任意组合。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
25.可以理解的是,在本技术的下述具体实施方式中,涉及到语音数据、待检测的样本语音和历史样本语音等相关的数据,当本技术的各实施例运用到具体产品或技术中时,需要获得相关许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。例如,在需要获得相关的数据时,可以通过招募相关志愿者并签署志愿者授权数据的相关协议,进而可以使用这些志愿者的数据进行实施;或者,通过在已授权允许的组织内部范围内进行实施,通过采用组织内部成员的数据实施下述的实施方式来向内部成员进行相关推荐;或者,具体实施时所采用的相关数据均为模拟数据,例如可以是虚拟场景中产生的模拟数据。
26.为便于理解本技术实施例提供的技术方案,这里先对本技术实施例使用的一些关键名词进行解释:时延神经网络(timedelayneuralnetwork,tdnn),是用于处理序列数据的一种人工神经网络结构,是第一种为语音识别技术使用的多个cnn模型,这种模型在时间轴上和频率轴上都应用了卷积运算,可以适应动态时域特征变化,并且具有较少的参数,tdnn 的隐藏层特征不止与当前时刻的输入有关,还与过去时刻和未来时刻的输入有关,tdnn 每层的输入都通过上一层的上下文窗口获得,因此能够描述上下层节点之间的时间关系。
27.语音识别技术(automatic speech recognition,asr),也被称为自动语音识别,
其目标是将人类的语音中的词汇内容转换为计算机可读的输入,例如,按键、二进制编码或者字符序列。语音识别技术属于人工智能方向的一个重要分支,涉及许多学科,如,信号处理、计算机科学、语言学、声学、生理学、心理学等,是人机自然交互技术中的关键环节。语音识别较语音合成而言,技术上要复杂,但应用却更加广泛。语音识别asr的最大优势在于使得人机用户界面更加自然和容易使用。
28.帧,为在网络上传输的很小数据量的单位,帧由几部分组成,不同的部分执行不同的功能。在以太网数据传输中,帧通过特定的称为网络驱动程序的软件进行成型,然后通过网卡发送到网线上,通过网线到达它们的目的机器,在目的机器的一端执行相反的过程。接收端机器的以太网卡捕获到这些帧,并通知操作系统帧已到达,然后对其进行存储。“帧”数据由两部分组成:帧头和帧数据。帧头包括接收端机器的主机物理地址的定位以及其它网络信息。帧数据区含有一个数据体。为确保机器能够解释数据帧中的数据,这两台机器使用一种公用的通讯协议。互联网使用的通讯协议简称ip,即互联网协议。ip数据体由两部分组成:数据体头部和数据体的数据区。数据体头部包括ip源地址和ip目标地址,以及其它信息。数据体的数据区包括用户数据协议(udp),传输控制协议(tcp),还有数据包的其他信息。这些数据包都含有附加的进程信息以及实际数据。
29.全连接层:是每一个结点都与上一层的所有结点相连,用来把前边提取到的特征综合起来。由于其全相连的特性,一般全连接层的参数也是最多的,可以减少特征位置对于分类结果的影响,提高了整个深度神经网络的鲁棒性。
30.正则化层:包括ln(layer normalization,层正态化),是针对自然语言处理领域提出的,为了把输入转化成均值为0方差为1的数据的方法。normalization(标准化,或归一化)一般是在把数据送入激活函数之前进行的,目的是希望输入数据不要落在激活函数的饱和区。缓解dnn训练中的梯度消失/梯度爆炸现象,加快模型的训练速度。
31.激活函数(activation function),在人工神经网络的神经元上运行的函数,负责将神经元的输入映射到输出端。sigmoid函数常被用作神经网络的激活函数,将变量映射到0,1之间,为双侧饱和激活函数。relu函数被用作神经网络的激活函数,在大于0的部分梯度为常数,relu函数在小于0时的导数为0 ,所以一旦神经元激活值进入负半区,梯度就会为0,这个神经元不会经历训练。只有神经元激活值进入正半区,才会有梯度值,此时神经元才会对此进行一次(加强)训练。
32.量化:将浮点型数据类型的向量或矩阵,转化为具有一定位(bit)数的整型数据类型的向量或矩阵。
33.反量化:将具有一定位(bit)数的整型数据类型的向量或矩阵,转化为浮点型数据类型的向量或矩阵。
34.量化放缩:量化过程中,将浮点型数据类型的数据,转化为整型数据类型的数据所需要的放缩系数。
35.浮点数,是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法。一个浮点数a由两个数m和e来表示:a = m
ꢀ×ꢀ
b^e。
36.模型量化:将浮点数模型转化为具有一定位(bit)数的整型模型,以减小模型储存
在rom中的空间以及在ram中载入需要的空间。
37.本技术实施例的技术方案涉及人工智能、语音识别技术和机器学习技术,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
38.人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
39.语音技术(speech technology)的关键技术有自动语音识别技术(asr)和语音合成技术(tts)以及声纹识别技术。让计算机能听、能看、能说、能感觉,是未来人机交互的发展方向,其中语音成为未来最被看好的人机交互方式之一。
40.机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
41.随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服、车联网、自动驾驶、智慧交通等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。
42.本技术实施例提供的方案涉及人工智能的语音识别技术和机器学习技术。本技术实施例提出的语音检测模型主要应用于结合n个历史样本语音,对待检测的样本语音进行分析检测,得到分类结果,以获得分类结果对应的关键词。语音检测模型的训练和使用方法可以分类两部分,包括训练部分和应用部分;其中,训练部分涉及到语音识别技术和机器学习这一技术领域,在训练部分中,语音检测模型通过语音识别技术对待检测的样本语音和历史样本语音进行语音识别处理、编码处理、特征提取处理等,并通过机器学习这一技术训练语音检测模型,通过优化算法不断调整模型参数,直至模型收敛,包括训练样本通过语音检测模型后,获得相应的模型内相关参数;应用部分涉及到语音识别技术和机器学习这一技术领域,在应用部分中,语音检测模型通过语音识别技术对待检测的语音数据进行编码,提取待检测的语音数据的初始语音特征,结合在指令历史阶段获得的n个历史语音特征,对初始语音特征进行分析检测,以获得待检测的语音数据的目标分类,确定待检测的语音数据的目标关键词,并通过机器学习这一技术,语音检测模型使用在训练部分训练得到的语音检测模型获得模型内相关参数,从而基于模型内相关参数获得待检测的语音数据输入语音检测模型后,得到的相应目标关键词等。另外,还需要说明的是,本技术实施例中人工神经网络模型可以是在线训练也可以是离线训练,在此不做具体限定,在本文中是以离线训
练为例进行举例说明的。
43.下面对本技术实施例的设计思想进行简要介绍:智能设备(intelligent device)是指任何一种具有计算处理能力的设备、器械或者机器。功能完备的智能设备必须具备灵敏准确的感知功能、正确的思维与判断功能以及行之有效的执行功能。随着语音技术的发展,很多智能设备都具有语音识别功能,以实现采用语音控制智能设备执行相应操作。如,智能手机、智能家居、智能音响等,又如,智能家居中智能空调可以接收语音数据表达的开机或关机,以及接收语音数据中温度信息,将空调设置到指定温度。可以看出,智能设备需要实时接收并分析检测这些语音数据,迅速获得对应关键词,确定语音数据对应关键词-语音指令,并执行对应语音指令的程序,才能保证智能设备及时响应使用对象的需求。但在实际中,语音数据传输是以很小的数据量传输的,一段语音数据,可能会被分为很多个语音帧传输,智能设备若在接收一段语音数据包含的所有语音帧之后,再对该段语音数据的所有语音帧进行分析检测,很可能会导致较长的响应延迟。
44.在相关技术中,为了保证智能设备响应的及时性,一般采用流式推理的方法进行语音检测,在语音检测过程中,每接收预设数量的当前语音帧,就结合最近时间接收的固定数量的历史语音帧,对预设数量的当前语音帧进行分析检测,以获得当前语音帧对应的关键词,从而得到语音指令。由此,在语音数据的各语音帧的传输过程的时间轴上,呈现一种滑动窗口式的流式推理,如图1所示,为本技术实施例提供的一种语音数据的各语音帧在语音检测过程中,滑动窗口式的流式推理示意图,其中,每接收8个当前语音帧,则从存储的各历史语音帧中取出最近时刻的8个历史语音帧,结合8个历史语音帧,对8个当前语音帧进行分析检测,以保证检测获得关键词-语音指令的及时性。上述方法,虽然可以保证语音检测的及时性,但是在实际应用中,在接收8个历史语音帧时,需要对这8个历史语音帧进行计算,分析检测这8个历史语音帧的关键词,而在接收8个当前语音帧后,还需要对这8个历史语音帧进行计算,相当于,一段语音数据中的各语音帧都需要重复计算至少两次,耗费较多的计算资源。另外,执行语音检测方法的语音检测模块一般属于智能设备中的边缘计算器件,或者是业务平台中提供语音检测服务的嵌入式边缘设备,而边缘计算器件或嵌入式边缘设备一般用于满足实时数据计算,但内存小且只能满足小数据量的计算,因此,存储历史语音帧会导致语音检测模块的内存占用率变大,影响语音检测模块的运行性能。
45.鉴于此,本技术实施例提供了一种语音检测方法、装置、计算机设备和存储介质,在本轮语音检测之前的至少一轮语音检测中,每轮语音检测采用语音编码器,将接收的语音数据编码为历史语音特征,并将获得的历史语音特征存储在指定的存储区域。如此,当本轮语音检测需要结合历史语音数据进行检测分析时,可以直接采用语音编码器,仅对待检测的语音数据进行编码获得初始语音特征,进一步,从指定的存储区域中提取需要的在指令历史阶段获得的n个历史语音特征,结合n个历史语音特征与待检测的语音数据的初始语音特征的上下文的语义关系,对待检测的语音数据的检测分析,从而获得待检测的语音数据的目标分类对应的目标关键词。
46.相比于相关技术中,将当前语音帧和多个历史语音帧输入语音检测模型获取检测结果,使得历史语音帧占用内存较大,且需对历史语音数据重复编码来说,上述方法存储编码后的历史语音特征,可以在语音检测过程中,直接提取历史语音特征而无需对历史语音
数据重复编码,有效降低内存占用率和耗费的计算资源,提高语音检测设备性能,加快检测速度。
47.以下结合说明书附图对本技术的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本技术,并不用于限定本技术,并且在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。
48.如图2所示,其为本技术实施例的应用场景示意图。该应用场景图中包括多个终端设备中的任一终端设备210和多个服务器中的任一个服务器220。
49.在本技术实施例中,终端设备210包括但不限于手机、平板电脑、笔记本电脑、台式电脑、电子书阅读器、智能语音交互设备、智能家电、车载终端等设备;终端设备上可以安装有与语音检测业务相关的客户端,该客户端可以是软件(例如浏览器、通讯软件等),也可以是网页、小程序等,服务器220则是与软件或是网页、小程序等相对应的后台服务端,或者是专门用于向客户端提供语音检测服务的后台服务端,本技术不做具体限定。服务器220可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(content delivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
50.需要说明的是,本技术实施例中的语音检测方法可以由计算机设备执行,该计算机设备可以为服务器220或者终端设备210,即,该方法可以由服务器220或者终端设备210单独执行,也可以由服务器220和终端设备210共同执行。
51.比如,由终端设备210和服务器220共同执行时,终端设备210中客户端持续采集使用对象的语音数据,并持续将采集的使用对象的语音数据传输至服务器220,服务器220持续接收终端设备210发送的语音数据,进行多轮语音检测,在每轮语音检测中,对待检测的语音数据进行特征提取,获得初始语音特征,并将初始语音特征保存至指定的存储区域。从指定的存储区域中,提取出在指定历史阶段获得的n个历史语音特征;按照相应的语音数据的获取时间顺序,将初始语音特征和n个历史语音特征进行排序,获得相应的语音特征序列。提取语音特征序列包含的初始语音特征的目标上下文特征,并基于目标上下文特征,获得待检测的语音数据的目标分类,并获得对应目标分类设置的目标关键词,根据目标关键词,确定相应语音指令,发送至终端设备210,使得终端设备执行相应程序。
52.比如,由终端设备210或服务器220单独执行时,终端设备210或服务器220持续采集使用对象的语音数据,进行多轮语音检测,在每轮语音检测中,对待检测的语音数据进行特征提取,获得初始语音特征,并将初始语音特征保存至指定的存储区域。同样的,从指定的存储区域中,提取出在指定历史阶段获得的n个历史语音特征;结合n个历史语音特征对初始语音特征检测,获得目标上下文特征,继而获得目标关键词,根据目标关键词,确定相应语音指令,使得终端设备210或服务器220执行相应程序。
53.需要说明的是,图1所示只是举例说明,实际上终端设备和服务器的数量和通信方式均不受限制,在本技术实施例中不做具体限定。
54.此外,本技术实施例语音检测可应用于各种场景,如,智能灯具和智能冰箱等智能设备的启动和参数设置控制、智能语音驾驶、智能终端的智能语音助手、智能医疗中医疗设备语音控制、智能机器人等场景。其中,在应用于在云智能语音助手技术方案中时,可以主
要应用于低资源离线语音唤醒与命令词识别算法中,主要用于rtos系统(实时系统)以及dsp平台(需求方平台),以实现固定唤醒词的识别和有限数量的命令词的识别,本技术占用的cpu与内存极低,且准确率较高,可以适用于各种低资源低功耗低成本的物联网设备。
55.下面结合上述描述的应用场景,参考附图来描述本技术示例性实施方式提供的语音检测方法,需要注意的是,上述应用场景仅是为了便于理解本技术的精神和原理而示出,本技术的实施方式在此方面不受任何限制。
56.参见图3所示,为本技术实施例提供的语音检测方法的流程示意图,这里是以服务器为执行主体为例进行举例说明的,该方法的具体实施流程如下:步骤301、对待检测的语音数据进行特征提取,获得初始语音特征。
57.在一种实施例中,语音数据:可以是使用对象对智能设备发出的语音,该语音中包含的关键词对应智能设备中相应语音指令,可以执行语音指令对应的预设程序,实现相应功能,提供语音控制服务。如,使用对象对智能空调发出语音“关闭空调”,则该语音中包含的关键词“关闭空调”对应智能设备中用于关闭空调的语音指令,在智能空调基于语音数据获得其中包含的关键词后,获得相应的语音指令,执行语音指令对应的关闭空调的预设程序。又如,使用对象对智能手机发出语音“小z,几点了?
”ꢀ
,则该语音中包含的关键词“小z,几点”对应智能手机中用于获取当前时间的语音指令,在智能手机基于语音数据获得其中包含的关键词后,获得相应的语音指令,执行语音指令对应的播报当前时间的预设程序。
58.在一种实施例中,待检测的语音数据可以是1个语音帧、2个语音帧、3个语音帧等,此处对待检测的语音数据中包含的数据量具体不做限制,可以根据实时性要求设置。
59.在一种实施例中,待检测的语音数据为1个语音帧,则每接收1个语音帧就进行一次语音检测,最大程度的提高语音检测速度,快速获取语音检测的目标分类,以对待检测的语音数据迅速做出响应。如,若一段语音数据中共包含40个语音帧,每接收1个语音帧则进行一轮语音检测,即,待检测的语音数据大小为1个语音帧。假设,在语音检测中,对每个语音帧的分析检测耗时为10ms,则若接收至第40个语音帧时,只采用10ms即检测完成,可以获得目标分类后,则可以迅速做出响应,使用对象的感官就是,刚发出语音,智能设备就对语音做出响应,对于使用对象来说具有较好的使用体验。而相关技术中,可能每接收10个语音帧,从存储的历史语音帧中提取10个语音帧,进行语音检测,则导致一轮检测耗时200ms,使用对象感官则是,语音发出一段时间,才做出相应,使得使用对象的使用体验很差,且对40个语音帧检测需要耗时8000ms,语音检测耗费较多时间。
60.在一种实施例中,对待检测的语音数据进行特征提取,可以为在接收到待检测的语音数据后,采用语音编码器或语音转换器等方法,将待检测的语音数据转换为初始语音特征,如图4所示,为本技术实施例提供的一种语音数据转换方法。
61.在一种实施例中,在将初始语音特征存入指定的存储区域时,可以将指定的存储区域中最早的历史语音特征删除,保证指定的存储区域中仅保存需要的历史语音特征。
62.在一种实施例中,指定的存储区域可以是语音检测模块中的内存或缓存等。这里对指定的存储区域具体不做限制,可以根据需要设置。
63.步骤302、从指定的存储区域中,提取出在指定历史阶段获得的n个历史语音特征;其中,指定历史阶段与当前时刻之间的时间间隔符合预设间隔条件,n为正整数。
64.在一种实施例中,当前时刻可以为接收待检测的语音数据的时刻,或者也可以是
获得待检测的语音数据的初始语音特征的时刻,或者,也可以是需要从指定的存储区域提取历史语音特征的时刻,此处对当前时刻不做限制,可以根据需要设置。
65.在一种实施例中,预设间隔条件可以是获取足够的历史语音特征,则指定历史阶段,是正整数n个历史语音特征中最早的历史语音特征的获取时刻与当前时刻的时间间隔;或者,预设间隔条件可以是在固定时间窗口内获取历史语音特征,在当前时刻的固定时间窗口内,获取与当前时刻最近的正整数n个历史语音特征(若获取的历史语音特征不足n个,则可以采用默认值补齐,以保证具有n个历史语音特征的数据量),则指定历史阶段,为获得的历史语音特征中最早的历史语音特征的获取时刻与当前时刻的时间间隔;或者,预设间隔条件也可以是获取前固定轮次的语音检测中的历史语音特征,则指定历史阶段指的是固定轮次的语音检测对应的时间间隔。此处,对预设间隔条件具体不做限制,可以根据需要设置。
66.步骤303、将初始语音特征和n个历史语音特征,按照相应的语音数据的获取时间顺序进行排序,获得相应的语音特征序列。
67.在一种实施例中,如图5所示,为本技术实施例提供的一种语音数据与语音特征对应关系示意图,其中,正在进行的第四轮语音检测中,接收待检测的语音数据,对其进行特征提取(可以采用语音编码器或语音转换器等工具),获得对应的初始语音特征,在前三轮语音检测中,第一轮语音检测的历史语音数据对应其自身历史语音特征,第二轮语音检测的历史语音数据对应其自身历史语音特征,第三轮语音检测的历史语音数据对应其自身历史语音特征。
68.在一种实施例中,基于上述实施例,将初始语音特征和n个历史语音特征,按照相应的语音数据的获取时间顺序进行排序,其中的相应的语音数据包含初始语音特征的待检测的语音数据、历史语音特征对应的其自身的历史语音特征,语音特征序列可以为:x1 x2 x3 x4,或者,x4 x3 x2 x1。
69.步骤304、提取语音特征序列包含的初始语音特征的目标上下文特征;其中,目标上下文特征表征:初始语音特征与n个历史语音特征之间的语义关系。
70.在一种实施例中,如图6所示,为本技术实施例提供的一种采用预训练模型进行特征提取的方法示意图,可以采用预训练模型(bidirectional encoder representations from transformer,bert模型,一种基于 transformer的双向编码器表示,是一个预训练的语言表征模型),提取语音特征序列中初始语音特征与n个历史语音特征之间的语义关系,获得初始语音特征的目标上下文特征。
71.在一种实施例中,如图7所示,可以采用长短时记忆网络(long short term memory network,lstm,是一种改进之后的循环神经网络,可以解决rnn 无法处理长距离的依赖的问题),提取语音特征序列中初始语音特征与n个历史语音特征之间的语义关系,获得初始语音特征的目标上下文特征。
72.在一种实施例中,如图8所示,可以采用时延神经网络模型,提取语音特征序列中初始语音特征与n个历史语音特征之间的语义关系,获得初始语音特征的目标上下文特征。
73.在一种实施例中,目标上下文特征中既包含初始语音特征包含的语义信息,又包含初始语音特征与n个历史语音特征之间的语义关系。
74.步骤305、基于目标上下文特征,获得待检测的语音数据的目标分类,并获得对应
目标分类设置的目标关键词,将所述初始语音特征保存至指定的存储区域,作为下一轮语音检测中的历史语音特征。
75.在一种实施例中,采用决策树方法,对目标上下文特征进行分类,获得目标上下文特征的目标分类,即,获得目标上下文特征对应的待检测的语音数据的目标分类。
76.在一种实施例中,采用随机森林方法,对目标上下文特征进行分类,获得目标上下文特征的目标分类。此处,对目标上下文特征进行分类的分类方法具体不做限制,可以根据需要设置,如,还可以是支持向量机、逻辑回归算法等。
77.基于上述图3中的方法流程,本技术实施例提供了一种对目标上下文特征进行分类的分类方法,在步骤305中,基于目标上下文特征,获得待检测的语音数据的目标分类,包括:采用全连接神经网络,对目标上下文特征进行映射处理,获得待检测的语音数据的目标分类。
78.在一种实施例中,如图9所示,为本技术实施例提供的一种采用全连接神经网络,对目标上下文特征进行分类的分类方法示意图。
79.在一种实施例中,如图10所示,为本技术实施例提供的一种语音检测方法示意图。假设使用对象发出的语音中包含4个语音数据,每个语音数据对应一轮语音检测方法,当前已经执行完3轮语音检测:采用语音编码器、目标上下文特征提取模型和分类模型,已经获得历史语音数据x1、历史语音数据x2、历史语音特征x3各自的历史语音特征y1、历史语音特征y2、历史语音特征y3,并获得历史语音数据x1、历史语音数据x2、历史语音特征x3各自的历史分类1、历史分类2、历史分类3;则执行流程如下,具体的,在第一轮语音检测t1中,将历史语音数据x1传输至语音编码器,获得历史语音特征y1,将历史语音特征y1存储至指定的存储区域,并将历史语音特征y1传输至目标上下文特征提取模型,获得历史语音特征y1的目标上下文特征,将历史语音特征y1的目标上下文特征传输至分类模型,获得目标分类1。
80.在第二轮语音检测t2中,将历史语音数据x2传输至语音编码器,获得历史语音特征y2,将历史语音特征y2存储至指定的存储区域,并从指定的存储区域提取出历史语音特征y1,将历史语音特征y1和历史语音特征y2传输至目标上下文特征提取模型,获得历史语音特征y2的目标上下文特征,将历史语音特征y2的目标上下文特征传输至分类模型,获得目标分类2。
81.在第三轮语音检测t3中,将历史语音数据x3传输至语音编码器,获得历史语音特征y3,将历史语音特征y3存储至指定的存储区域,并从指定的存储区域提取出历史语音特征y2,将历史语音特征y2和历史语音特征y3传输至目标上下文特征提取模型,获得历史语音特征y3的目标上下文特征,将历史语音特征y3的目标上下文特征传输至分类模型,获得目标分类3。
82.在接收到待检测的语音数据x4后,执行第四轮语音检测,在第三轮语音检测t4中,将待检测的语音数据x4传输至语音编码器,获得初始语音特征y4,将初始语音特征y4存储至指定的存储区域,并从指定的存储区域提取出历史语音特征y3,将初始语音特征y4和历史语音特征y3传输至目标上下文特征提取模型,获得初始语音特征y4的目标上下文特征,将初始语音特征y4的目标上下文特征传输至分类模型,获得目标分类。
83.需要说明的是,在该流程中,每次从指定的存储区域中获得的历史语音特征也可以是多个,例如,在第三轮语音检测中,从指定的存储区域中获得历史语音特征y1和历史语音特征y2,同历史语音特征y3一并传输至目标上下文特征提取模型,获得历史语音特征y3的目标上下文特征。也就是说,此处对提取的历史语音特征的正整数n,具体不做限制,可以根据需要设置。
84.上述方法存储编码后的历史语音特征,可以在语音检测过程中,直接提取历史语音特征,结合历史语音特征对待检测的语音数据进行分析检测,而无需对历史语音数据重复编码,有效降低内存占用率和耗费的计算资源,提高语音检测设备性能,加快检测速度。
85.基于上述图3的方法流程,本技术实施例提供了一种提取目标上下文特征的方法,如图11所示,在步骤304中,提取语音特征序列包含的初始语音特征的目标上下文特征,包括:将语音特征序列输入具有m层网络的时延神经网络,其中,在第i层网络中,1≤i≤m,执行以下操作:步骤1101、当i=1时,基于第1层网络,对初始语音特征和n个历史语音特征进行特征提取,获得初始语音特征的首层上下文特征;步骤1102、当2≤i≤m时,提取出第i-1层网络在指定历史阶段中,存储的n个i-1层历史输出特征,并基于第i层网络,结合n个i-1层历史输出特征,对第i-1层网络输出的i-1层上下文特征进行特征提取,获得i层上下文特征;其中,n个i-1层历史输出特征,是n个历史语音特征经过m层网络中的i-1层网络获得的;将最终输出的m层上下文特征作为目标上下文特征。
86.在一种实施例中,如图12所示,为本技术实施例提供的一种具有m层网络的时延神经网络的结构示意图,假设n=4、m=3,则执行如下步骤:当i=1时,基于第1层网络,对初始语音特征x(t)和4个历史语音特征:历史语音特征x(t-1)、历史语音特征x(t-2)、历史语音特征x(t-3)、历史语音特征x(t-4)的语音特征序列进行特征提取,获得初始语音特征的首层上下文特征。
87.当i=2时,基于第2层网络,结合在历史阶段中获得的第1层网络输出的历史输出特征,对首层上下文特征进行特征提取,获得初始语音特征的2层上下文特征。在历史阶段中,第1层网络将输出的1层历史输出特征存储,可以用于本轮语音检测。
88.当i=3时,基于第3层网络,结合在历史阶段中获得的第2层网络输出的历史输出特征,对2层上下文特征进行特征提取,获得初始语音特征的3层上下文特征。在历史阶段中,第2层网络将输出的2层历史输出特征存储,可以用于本轮语音检测。
89.当i=4时,基于第4层网络,结合在历史阶段中获得的第3层网络输出的历史输出特征,对3层上下文特征进行特征提取,获得初始语音特征的4层上下文特征,4层上下文特征为目标上下文特征。在历史阶段中,第3层网络将输出的3层历史输出特征存储,可以用于本轮语音检测。
90.需要说明的是,上述n、m可以是任意正整数,应用时可以根据具体需要设置,此处不对其做限制。
91.在一种实施例中,基于上述实施例,本技术实施例提供的一种具有m层网络的时延神经网络的结构示意图,如图13所示,每个时延神经网络层由一层一维因果空洞卷积、一层
批归一化和一层relu激活函数构成,时延神经网络模型的最后一层时延神经网络层的输出会再经过一个分类层,输出待检测的语音数据的目标分类-目标关键词的后验概率,该后验概率若大于预定的阈值,则视为模型检测到目标关键词。假设n=4、m=3,其中阴影方块表示所在时延神经网络层中的空洞位置,为第2个特征和第4个特征位置,该空洞位置对应的特征不参与卷积,则执行如下步骤:当i=1时,基于第1层网络,对初始语音特征x1(t)和4个历史语音特征:历史语音特征x1(t-1)、历史语音特征x1(t-2)、历史语音特征x1(t-3)、历史语音特征x1(t-4)的语音特征序列进行特征提取,其中,历史语音特征x1(t-1)和历史语音特征x1(t-3)不参与卷积,对卷积获得的特征进行归一化和激活处理,获得初始语音特征的首层上下文特征。
92.当i=2时,基于第2层网络,结合在历史阶段中获得的第1层网络输出的4个历史输出特征:1层历史输出特征x2(t-1)、1层历史输出特征x2(t-2)、1层历史输出特征x2(t-3)、1层历史输出特征x2(t-4),对首层上下文特征进行特征提取,其中,1层历史输出特征x2(t-1)和1层历史输出特征x2(t-3)不参与卷积,对卷积获得的特征进行归一化和激活处理,获得初始语音特征的2层上下文特征。在历史阶段中,第1层网络将输出的1层历史输出特征存储,可以用于本轮语音检测。
93.当i=3时,基于第3层网络,结合在历史阶段中获得的第2层网络输出的4个历史输出特征:2层历史输出特征x3(t-1)、2层历史输出特征x3(t-2)、历史输出特征2层x3(t-3)、2层历史输出特征x3(t-4),对2层上下文特征进行特征提取,其中,历史输出特征2层x3(t-1)和2层历史输出特征x3(t-3)不参与卷积,对卷积获得的特征进行归一化和激活处理,获得初始语音特征的3层上下文特征。在历史阶段中,第2层网络将输出的2层历史输出特征存储,可以用于本轮语音检测。
94.当i=4时,基于第4层网络,结合在历史阶段中获得的第3层网络输出的4个历史输出特征:3层历史输出特征x4(t-1)、3层历史输出特征x4(t-2)、3层历史输出特征x4(t-3)、3层历史输出特征x4(t-4),对3首层上下文特征进行特征提取,其中,3层历史输出特征x4(t-1)和3层历史输出特征x4(t-3)不参与卷积,对卷积获得的特征进行归一化和激活处理,获得初始语音特征的4层上下文特征。在历史阶段中,第3层网络将输出的3层历史输出特征存储,可以用于本轮语音检测。
95.其中,一维因果空洞卷积是一个特殊的一维卷积层,其计算过程是在输入特征的时间轴上进行,其“因果”体现在每个时刻的输出仅和输入的历史语音特征(对应的历史语音数据)有关,上图中每层时延神经网络中对应的卷积核数kernel=3,空洞数dilation=2的情况。需要说明的是,上述n、m可以是任意正整数,应用时可以根据具体需要设置,且每层神经网络层中可以是一维因果空洞卷积,或多维因果空洞卷积,此处不对其做限制。
96.基于上述图11中的方法流程,本技术实施例提供了一种语音检测中特征存储方法,还包括:将i层上下文特征保存在第i层网络对应的存储区域,作为下一轮语音检测中的i层历史输出特征,并将所述第i层网络对应的存储区域中,最早一轮语音检测时存储的历史的i层上下文特征删除,使得所述第i层网络对应的存储区域中的特征队列中特征数量为n个。
97.在一种实施例中,基于上述图12和图13中的时延神经网络结构,本技术实施例还
提供了一种时延神经网络的结构示意图,如图14所示,仍然假设n=4、m=3(可以理解的,这里n和m仅用于清晰阐述本技术,并不对本技术的具体实施做限制,n和m可以是任意正整数),其中阴影方块表示所在时延神经网络层中的空洞位置,为第2个特征和第4个特征位置(本实施例中的空洞数同样仅用于清晰阐述本技术,并不对本技术的具体实施做限制),该空洞位置对应的特征不参与卷积,则在执行如图12和图13中的步骤时,还执行如下步骤:在获得初始语音特征x1(t)后,将初始语音特征x1(t)存储至指定的存储区域(则在后续语音检测中,初始语音特征x1(t)可以作为历史语音特征,用于后续语音检测),且指定的存储区域中,已经存储有在历史阶段中获得的历史语音特征x1(t-1)、历史语音特征x1(t-2)、历史语音特征x1(t-3)、历史语音特征x1(t-4)。
98.当i=1时,从指定的存储区域提取在历史阶段中获得的历史语音特征x1(t-1)、历史语音特征x1(t-2)、历史语音特征x1(t-3)、历史语音特征x1(t-4),并基于第1层网络,结合历史语音特征x1(t-1)、历史语音特征x1(t-2)、历史语音特征x1(t-3)、历史语音特征x1(t-4),对初始语音特征x1(t)进行特征提取,获得初始语音特征的首层上下文特征,将首层上下文特征x2(t)存储至第1层时延神经网络对应的存储区域(则在后续语音检测中,首层上下文特征x2(t)可以作为历史输出特征,用于后续语音检测,此处,第1层时延神经网络对应的存储区域中的特征队列中包含至少n个特征,在将首层上下文特征x2(t)存储至存储区域中时,其处在特征队列的距本轮检测时间最近的一端,为了保证特征队列中特征数量固定,则还可以将特征队列中距本轮检测时间最远的一端的历史的首层上下文特征(第1层时延神经网络的历史输出特征)删除),第1层时延神经网络对应的存储区域中,已经存储有在历史阶段中获得的1层历史输出特征x2(t-1)、1层历史输出特征x2(t-2)、1层历史输出特征x2(t-3)、1层历史输出特征x2(t-4)。
99.当i=2时,从第1层时延神经网络对应的存储区域中,提取在历史阶段中获得的1层历史输出特征x2(t-1)、1层历史输出特征x2(t-2)、1层历史输出特征x2(t-3)、1层历史输出特征x2(t-4),并基于第2层网络,结合1层历史输出特征x2(t-1)、1层历史输出特征x2(t-2)、1层历史输出特征x2(t-3)、1层历史输出特征x2(t-4),对首层上下文特征x2(t)进行特征提取,获得首层上下文特征x2(t)的2层上下文特征x3(t),将2层上下文特征x3(t)存储至第2层时延神经网络对应的存储区域(则在后续语音检测中,2层上下文特征x3(t)可以作为历史输出特征,用于后续语音检测,此处,第2层时延神经网络对应的存储区域中的特征队列中包含至少n个特征,在将2层上下文特征x3(t)存储至存储区域中时,其处在特征队列的距本轮检测时间最近的一端,为了保证特征队列中特征数量固定,则还可以将特征队列中距本轮检测时间最远的一端的历史的2层上下文特征(第2层时延神经网络的历史输出特征)删除),第2层时延神经网络对应的存储区域中,已经存储有在历史阶段中获得的2层历史输出特征x3(t-1)、2层历史输出特征x3(t-2)、2层历史输出特征x3(t-3)、2层历史输出特征x3(t-4)。
100.当i=3时,从第2层时延神经网络对应的存储区域中,提取在历史阶段中获得的2层历史输出特征x3(t-1)、2层历史输出特征x3(t-2)、2层历史输出特征x3(t-3)、2层历史输出特征x3(t-4),并基于第3层网络,结合2层历史输出特征x3(t-1)、2层历史输出特征x3(t-2)、2层历史输出特征x3(t-3)、2层历史输出特征x3(t-4),对2层上下文特征x3(t)进行特征提取,获得2层上下文特征x3(t)的3层上下文特征x4(t),将3层上下文特征x4(t)存储至第3层
时延神经网络对应的存储区域(则在后续语音检测中,3层上下文特征x4(t)可以作为历史输出特征,用于后续语音检测,此处,第3层时延神经网络对应的存储区域中的特征队列中包含至少n个特征,在将3层上下文特征x4(t)存储至存储区域中时,其处在特征队列的距本轮检测时间最近的一端,为了保证特征队列中特征数量固定,则还可以将特征队列中距本轮检测时间最远的一端的历史的3层上下文特征(第3层时延神经网络的历史输出特征)删除),第3层时延神经网络对应的存储区域中,已经存储有在历史阶段中获得的3层历史输出特征x4(t-1)、3层历史输出特征x4(t-2)、3层历史输出特征x4(t-3)、3层历史输出特征x4(t-4)。
101.当i=4时,从第3层时延神经网络对应的存储区域中,提取在历史阶段中获得的3层历史输出特征x4(t-1)、3层历史输出特征x4(t-2)、3层历史输出特征x4(t-3)、3层历史输出特征x4(t-4),并基于第4层网络,结合3层历史输出特征x4(t-1)、3层历史输出特征x4(t-2)、3层历史输出特征x4(t-3)、3层历史输出特征x4(t-4),对3层上下文特征x4(t)进行特征提取,获得3层上下文特征x4(t)的目标上下文特征。
102.基于上述图11和图3中的方法流程,本技术实施例提供了一种量化放缩方法,如图15所示,在步骤304中,提取语音特征序列包含的初始语音特征的目标上下文特征之前,还包括:步骤1501、若初始语音特征和n个历史语音特征是采用浮点型数据类型表示的,则将初始语音特征和n个历史语音特征中的最大浮点数,转化为整型数据类型,以获得初始放缩系数;步骤1502、根据初始放缩系数,对初始语音特征和n个历史语音特征进行正向量化放缩,获得整型数据类型的初始语音特征和n个历史语音特征;则在步骤1101中,在获得初始语音特征的首层上下文特征之后,还包括:步骤1503、基于初始放缩系数,对整型数据类型的首层上下文特征进行反向量化放缩,获得浮点型数据类型的首层上下文特征。
103.在一种实施例中,若初始语音特征和n个历史语音特征均是采用浮点型数据类型表示的,则从初始语音特征和n个历史语音特征中选取出最大浮点数,将最大浮点数转换成整型数据类型,转化过程中,可以得到转化的初始放缩系数。
104.例如,假设整型数据类型为8位整型,初始语音特征和n个历史语音特征为x1
float
,则初始放缩系数q1
scale
=127
÷
max(abs(x1
float
)),即,从初始语音特征和n个历史语音特征的绝对值中选取出最大浮点数,转换成8位整型的数据,确定此过程中所需要的初始放缩系数。
105.则相应的,在采用初始放缩系数,对初始语音特征和n个历史语音特征进行正向量化放缩x1
quant
=round(x1
float
*q1
scale
)(round表示四舍五入为整型数据类型),获得整型数据类型的初始语音特征和n个历史语音特征x1
quant
。
106.其中,在获得初始放缩系数时,为了保证第1层时延神经网络可以相应的进行整型数据类型的特征处理,则基于整型数据类型的初始语音特征和n个历史语音特征x1
quant
,将第1层网络的模型参数进行量化放缩,如,假设第1层时延神经网络中是一维卷积,其包含模型参数有权重w1
float
和偏置b1
float
,则将模型参数量化移位为,与整型数据类型的x1
quant
相同整型数据类型的模型参数,在此例中,将权重w1
float
和偏置b1
float
进行量化移位为8位整
型的整型数据类型,获得权重w1
float
和偏置b1
float
各自的量化参数有w1
quant
,b1
quant
,以及量化移位参数w1
shift
和b1
shift
,计算方式为:w1
shift
=7
‑ꢀ
ceil(log以2为底的(max(abs(w1
float
))));w1
quant
=round(w1
flaot
*(2^w1
shift
));b1
shift =7-ceil(log以2为底的(max(abs(b1
float
))))b1
quant =round(b1
flaot
*(2^b1
shift
));ceil:线上取整。
107.之后,将x1
quant
输入第1层时延神经网络后,获得整型数据类型的首层上下文特征y1
quant
=w1
quant
x1
quant
,再采用初始放缩系数(q1
scale
)、量化移位参数(权重的量化移位参数w1
shift
,偏置的量化移位参数b1
shift
),对整型数据类型的首层上下文特征进行反向量化放缩y1
float
= y1
quant
×
2-w1shift
÷
q1
scale
+ b1
quant
×
2-b1shift
,获得浮点型数据类型的首层上下文特征。
108.上述方法中,采用量化放缩的方式,将输入的初始语音特征和历史语音特征进行量化放缩,获得整型数据类型的初始语音特征和历史语音特征,则第1层时延神经网络可以对整型数据类型的特征进行计算,解决相关技术中,浮点型数据类型的特征数据字符多,导致模型计算规模大,导致模型所占内存大的问题。
109.基于上述图11中的方法流程,本技术实施例提供了一种量化放缩方法,如图16所示,在步骤1102中,还包括:步骤1601、当2≤i≤m时,若i-1层上下文特征和n个i-1层历史输出特征是采用浮点型数据类型表示的,则将i-1层上下文特征和n个i-1层历史输出特征中的最大浮点数,转化为整型数据类型,以获得i层放缩系数;步骤1602、根据i层放缩系数,对浮点型数据类型的i-1层上下文特征和n个i-1层历史输出特征,进行正向量化放缩,获得整型数据类型的i-1层上下文特征和n个i-1层历史输出特征;则在步骤1102中,在获得i层上下文特征之后,还包括:步骤1603、基于i层放缩系数,对整型数据类型的i层上下文特征进行反向量化放缩,获得浮点型数据类型的i层上下文特征。
110.在一种实施例中,如图17所示,本技术实施例提供了一种量化放缩方法示意图,在具有m层网络的时延神经网络中,在每层时延神经网络的输入数据,输入时延神经网络之间,先将浮点型数据类型的输入数据进行正向量化放缩,获得整型数据类型的输入数据,且获得转化过程中该层时延神经网络的放缩系数,输入数据经过时延神经网络,获得整型数据类型的输出数据,采用该层时延神经网络的放缩系数,将整型数据类型的输出数据,转化为浮点型数据类型的输出数据。如此,具有m层网络的时延神经网络为处理整型数据类型的数据的模型,相比于处理浮点型数据类型的数据的模型,其模型的规模更小,占用内存小,计算所耗费的计算资源小,有效节约资源,提高设备性能。
111.另外,在相关技术中,在模型投入应用后,可能因为使用场景不同,而导致输入的数据规格不同,即,浮点型数据类型的输入数据在不同场景波动较大。为了保证模型检测的准确性,每更换一个使用场景,都需要手动获取校准参数,对模型参数进行校准,操作繁琐,模型不能自主适应应用场景,适用性差。如,在安静场景下和嘈杂场景下,往往语音数据对
应的浮点型数据类型的特征的浮点波动大,安静场景下的校准数据为10,嘈杂场景下的校准数据为300,这些校准数据都需要人工计算获取,并根据校准数据对模型参数进行校准,以保证在不同场景下,模型检测的准确性。
112.而本技术中,采用上述方法,从输入数据中选取出最大浮点数,根据最大浮点数获取放缩系数,将模型的输入数据转化为整型数据类型,且将模型参数转化为相同的整型数据类型,实现基于输入数据调整输入数据和模型参数,使得输入数据和模型参数匹配,则消除了这种场景适用性差的问题,有效提高模型适用性。
113.在一种实施例中,假设整型数据类型为8位整型(本技术中实施例中涉及的整型数据类型可以为8位整型或16位整型等,这里对整型数据类型具体标准不做限制,可以根据需要设置),i-1层上下文特征和n个i-1层历史输出特征为xi
float
,则i层放缩系数qi
scale
=127
÷
max(abs(xi
float
)),即,从i-1层上下文特征和n个i-1层历史输出特征的绝对值中选取出最大浮点数,转换成8位整型的数据,确定此过程中所需要的i层放缩系数。
114.则相应的,在采用i层放缩系数,对i-1层上下文特征和n个i-1层历史输出特征进行正向量化放缩xi
quant
=round(xi
float
*qi
scale
)(round表示四舍五入为整型数据类型),获得整型数据类型的i-1层上下文特征和n个i-1层历史输出特征xi
quant
。
115.其中,在获得i层放缩系数时,为了保证第i层时延神经网络可以相应的进行整型数据类型的特征处理,则基于整型数据类型的i-1层上下文特征和n个i-1层历史输出特征xi
quant
,将第i层网络的模型参数进行量化放缩,如,假设第i层时延神经网络网络中是一维卷积,其包含模型参数有权重wi
float
和偏置bi
float
,则将模型参数量化移位为,与整型数据类型的xi
quant
相同整型数据类型的模型参数,在此例中,将权重wi
float
和偏置bi
float
进行量化移位为8位整型的整型数据类型,获得权重wi
float
和偏置bi
float
各自的量化参数有wi
quant
,bi
quant
,以及量化移位参数wi
shift
和bi
shift
,计算方式为:wi
shift
=7
‑ꢀ
ceil(log以2为底的(max(abs(wi
float
))));wi
quant
=round(wi
flaot
*(2^wi
shift
));bi
shift
=7-ceil(log以2为底的(max(abs(bi
float
))))bi
quant
=round(bi
flaot
*(2^bi
shift
));ceil:线上取整。
116.之后,将xi
quant
输入第1层时延神经网络后,获得整型数据类型的首层上下文特征yi
quant
=wi
quant
xi
quant
,再采用初始放缩系数(qi
scale
)、量化移位参数(权重的量化移位参数wi
shift
,偏置的量化移位参数bi
shift
),对整型数据类型的首层上下文特征进行反向量化放缩yi
float
= yi
quant
×
2-wishift
÷
qi
scale
+ bi
quant
×
2-bishift
,获得浮点型数据类型的首层上下文特征。
117.上述方法中,采用量化放缩的方式,将输入的i-1层上下文特征和n个i-1层历史输出特征进行量化放缩,获得整型数据类型的i-1层上下文特征和n个i-1层历史输出特征,则第i层时延神经网络可以对整型数据类型的特征进行计算,解决相关技术中,浮点型数据类型的特征数据字符多,导致模型计算规模大,导致模型所占内存大的问题。
118.基于上述图11、图15和图16中的方法流程,本技术实施例提供了一种模型参数量化放缩方法,如图18所示,在步骤1101中,基于第1层网络,对初始语音特征和n个历史语音特征进行特征提取之前,还包括:
步骤1801、基于整型数据类型的初始语音特征和n个历史语音特征,对第1层网络的模型参数进行量化移位;基于第i层网络,结合n个i-1层历史输出特征,对第i-1层网络输出的i-1层上下文特征进行特征提取之前,还包括:步骤1802、基于整型数据类型的i-1层上下文特征和n个i-1层历史输出特征,对第i层网络的模型参数进行量化移位。
119.在一种实施例中,在具有m层网络的时延神经网络的模型中,任一层时延神经网络的输入数据为浮点型数据类型时,将该输入数据转化为整型数据类型的输入数据,并将这一层时延神经网络的模型参数进行量化移位,获得整型数据类型的模型参数。如此,上述方法中的具有m层网络的时延神经网络的模型,可以适应多种场景中的语音数据的检测分析,如,安静场景下的语音数据或嘈杂场景下的语音数据,即使这两种语音数据的浮点型数据类型的值相差很大,在上述方法中,可以解决模型参数不能同时适应多种相差较大的语音数据的问题,提高模型鲁棒性。
120.基于上述图3、图11、图15、图16、图18中的方法流程,本技术实施例提供了一种语音检测模型的训练方法,若上述方法是通过目标语音检测模型执行的,目标语音检测模型的训练过程如下:基于预设的训练样本集,对待训练的语音检测模型进行多轮迭代训练,每个训练样本包括待检测的样本语音和n个历史样本语音,以及分类标签,所述待检测的样本语音和所述n个历史样本语音是按照获取时间排序的;其中,在一轮迭代过程中,执行以下操作:步骤1、分别对一个训练样本中待检测的样本语音和n个历史样本语音进行特征提取,获得待检测语音特征和n个样本语音特征;步骤2、提取待检测语音特征和n个样本语音特征中,待检测语音特征的样本上下文特征;其中,样本上下文特征表征:待检测语音特征与n个样本语音特征之间的语义关系;步骤3、基于样本上下文特征,获得分类结果,并根据分类结果和一个训练样本的分类标签的差异,调整语音检测模型的参数。
121.在一种实施例中,在语音检测模型训练过程中,可以无需如图3、图11、16、图18的应用中的语音检测模型缓存历史语音特征、i层历史输出特征等数据,为了保证训练效率,一般训练模型所使用的设备具有足够的内存,且训练过程中,对于待训练的语音检测模型而言,一个训练样本中的待检测的样本语音和n个历史样本语音是同时获得,无需如应用中,每次设备接收待检测的语音数据,需要结合历史语音数据分析检测。
122.在一种实施例中,训练样本中的待检测的样本语音和n个历史样本语音可以是一段语音的多个语音数据,如,“xx空调,请将温度调至29
°”
,分类标签,则可以为29
°
,对应的语音指令可以令预设程序,将空调温度调至29
°
。
123.在一种实施例中,上述语音检测模型可以是上述各方法流程和实施例中涉及的包含具有m层时延神经网络和分类层的语音检测模型,或者还可以是其它支持向量机、预训练模型的语音检测模型,这里对语音检测模型具体结构不做限制,可以根据需要设置。
124.基于上述各方法和实施例,本技术中提供了一种基于时延神经网络的语音检测模型的实验数据,下述表1表示了本技术对一个基于时延神经网络的语音检测模型进行的,如上述图11、图15、图16方法流程中的流式动态量化推理后的关键词检出率(检出率:指语音
检测模型正确检出关键词的比例)和cpu及内存占用率的变化,其cpu占用率是在一个单核240mhz的实时系统、低资源需求方平台上进行测试得到,从表1中可以得到动态量化推理可以提高模型在各个场景下的性能,特别是噪声远场这种复杂的声学场景下,相关技术中静态量化会表现出明显的性能恶化,而本技术中如上述图11、图15、图16方法流程中的动态量化推理则可以有效的改善这一现象。
[0125][0126]
基于相同相同的构思,本技术实施例提供一种语音检测装置1900,如图19所示,包括:第一特征提取单元1901,用于对待检测的语音数据进行特征提取,获得初始语音特征;数据存取单元1902,用于从所述指定的存储区域中,提取出在指定历史阶段获得的n个历史语音特征; 其中,所述指定历史阶段与当前时刻之间的时间间隔符合预设间隔条件,所述n为正整数;将所述初始语音特征和所述n个历史语音特征,按照相应的语音数据的获取时间顺序进行排序,获得相应的语音特征序列;第二特征提取单元1903,用于提取所述语音特征序列包含的所述初始语音特征的目标上下文特征;其中,所述目标上下文特征表征:所述初始语音特征与所述n个历史语音特征之间的语义关系;分类单元1904,用于基于所述目标上下文特征,获得所述待检测的语音数据的目标分类,并获得对应所述目标分类设置的目标关键词,将所述初始语音特征保存至指定的存储区域,作为下一轮语音检测中的历史语音特征。
[0127]
可选的,所述第二特征提取单元1903具体用于,将所述语音特征序列输入具有m层网络的时延神经网络,其中,在第i层网络中,1≤i≤m,执行以下操作:当i=1时,基于第1层网络,对所述初始语音特征和所述n个历史语音特征进行特征提取,获得所述初始语音特征的首层上下文特征;当2≤i≤m时,提取出第i-1层网络在所述指定历史阶段中,存储的n个i-1层历史输出特征,并基于第i层网络,结合所述n个i-1层历史输出特征,对所述第i-1层网络输出的i-1层上下文特征进行特征提取,获得i层上下文特征;其中,所述n个i-1层历史输出特征,
是所述n个历史语音特征经过所述m层网络中的i-1层网络获得的;将最终输出的m层上下文特征作为所述目标上下文特征。
[0128]
可选的,所述数据存取单元1902还用于,将所述i层上下文特征保存在所述第i层网络对应的存储区域,作为下一轮语音检测中的i层历史输出特征,并将所述第i层网络对应的存储区域中,最早一轮语音检测时存储的历史的i层上下文特征删除,使得所述第i层网络对应的存储区域中的特征队列中特征数量为n个。
[0129]
可选的,所述第二特征提取单元1903还用于,若所述初始语音特征和所述n个历史语音特征是采用浮点型数据类型表示的,则将所述初始语音特征和所述n个历史语音特征中的最大浮点数,转化为整型数据类型,以获得初始放缩系数;根据所述初始放缩系数,对所述初始语音特征和所述n个历史语音特征进行正向量化放缩,获得整型数据类型的初始语音特征和n个历史语音特征;则在所述获得所述初始语音特征的首层上下文特征之后,还包括:基于所述初始放缩系数,对整型数据类型的所述首层上下文特征进行反向量化放缩,获得浮点型数据类型的首层上下文特征。
[0130]
可选的,所述第二特征提取单元1903还用于,当2≤i≤m时,若所述i-1层上下文特征和所述n个i-1层历史输出特征是采用浮点型数据类型表示的,则将所述i-1层上下文特征和所述n个i-1层历史输出特征中的最大浮点数,转化为整型数据类型,以获得i层放缩系数;根据所述i层放缩系数,对浮点型数据类型的所述i-1层上下文特征和所述n个i-1层历史输出特征,进行正向量化放缩,获得整型数据类型的i-1层上下文特征和n个i-1层历史输出特征;则在所述获得i层上下文特征之后,还包括:基于所述i层放缩系数,对整型数据类型的所述i层上下文特征进行反向量化放缩,获得浮点型数据类型的i层上下文特征。
[0131]
可选的,所述第二特征提取单元1903还用于,基于所述整型数据类型的初始语音特征和n个历史语音特征,对所述第1层网络的模型参数进行量化移位;所述基于第i层网络,结合所述n个i-1层历史输出特征,对所述第i-1层网络输出的i-1层上下文特征进行特征提取之前,还包括:基于所述整型数据类型的i-1层上下文特征和n个i-1层历史输出特征,对所述第i层网络的模型参数进行量化移位。
[0132]
可选的,所述分类单元1904具体用于,采用全连接神经网络,对所述目标上下文特征进行映射处理,获得所述待检测的语音数据的目标分类。
[0133]
可选的,训练单元1905,具体用于:所述方法是通过目标语音检测模型执行的,所述目标语音检测模型的训练过程如下:基于预设的训练样本集,对待训练的语音检测模型进行多轮迭代训练,每个训练
样本包括待检测的样本语音和n个历史样本语音,以及分类标签,所述待检测的样本语音和所述n个历史样本语音是按照获取时间排序的;其中,在一轮迭代过程中,执行以下操作:分别对一个训练样本中待检测的样本语音和n个历史样本语音进行特征提取,获得待检测语音特征和n个样本语音特征;提取所述待检测语音特征和所述n个样本语音特征中,所述待检测语音特征的样本上下文特征;其中,所述样本上下文特征表征:所述待检测语音特征与所述n个样本语音特征之间的语义关系;基于所述样本上下文特征,获得分类结果,并根据所述分类结果和所述一个训练样本的分类标签的差异,调整所述语音检测模型的参数。
[0134]
与上述方法实施例基于同一发明构思,本技术实施例中还提供了一种计算机设备。在一种实施例中,该计算机设备可以是服务器,如图2所示的服务器220。在该实施例中,计算机设备的结构可以如图20所示,包括存储器2001,通讯模块2003以及一个或多个处理器2002。
[0135]
存储器2001,用于存储处理器2002执行的计算机程序。存储器2001可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及运行即时通讯功能所需的程序等;存储数据区可存储各种即时通讯信息和操作指令集等。
[0136]
存储器2001可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器2001也可以是非易失性存储器(non-volatile memory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd);或者存储器2001是能够用于携带或存储具有指令或数据结构形式的期望的计算机程序并能够由计算机存取的任何其他介质,但不限于此。存储器2001可以是上述存储器的组合。
[0137]
处理器2002,可以包括一个或多个中央处理单元(central processing unit,cpu)或者为数字处理单元等等。处理器2002,用于调用存储器2001中存储的计算机程序时实现上述语音检测方法。
[0138]
通讯模块2003用于与终端设备和其他服务器进行通信。
[0139]
本技术实施例中不限定上述存储器2001、通讯模块2003和处理器2002之间的具体连接介质。本技术实施例在图20中以存储器2001和处理器2002之间通过总线2004连接,总线2004在图20中以粗线描述,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线2004可以分为地址总线、数据总线、控制总线等。为便于描述,图20中仅用一条粗线描述,但并不描述仅有一根总线或一种类型的总线。
[0140]
存储器2001中存储有计算机存储介质,计算机存储介质中存储有计算机可执行指令,计算机可执行指令用于实现本技术实施例的语音检测方法。处理器2002用于执行上述的语音检测方法,如图3、图11、图15、图16、图18所示。
[0141]
在另一种实施例中,计算机设备也可以是其他计算机设备,如图2所示的终端设备210。在该实施例中,计算机设备的结构可以如图21所示,包括:通信组件2110、存储器2120、显示单元2130、摄像头2140、传感器2150、音频电路2160、蓝牙模块2170、处理器2180等部件。
[0142]
通信组件2110用于与服务器进行通信。在一些实施例中,可以包括电路无线保真
(wireless fidelity,wifi)模块,wifi模块属于短距离无线传输技术,计算机设备通过wifi模块可以帮助用户收发信息。
[0143]
存储器2120可用于存储软件程序及数据。处理器2180通过运行存储在存储器2120的软件程序或数据,从而执行终端设备210的各种功能以及数据处理。存储器2120可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器2120存储有使得终端设备210能运行的操作系统。本技术中存储器2120可以存储操作系统及各种应用程序,还可以存储执行本技术实施例中的语音检测方法的计算机程序。
[0144]
显示单元2130还可用于显示由用户输入的信息或提供给用户的信息以及终端设备210的各种菜单的图形用户界面(graphical user interface,gui)。具体地,显示单元2130可以包括设置在终端设备210正面的显示屏2132。其中,显示屏2132可以采用液晶显示器、发光二极管等形式来配置。显示单元2130可以用于显示本技术实施例中的语音检测方法用户界面等。
[0145]
显示单元2130还可用于接收输入的数字或字符信息,产生与终端设备110的用户设置以及功能控制有关的信号输入,具体地,显示单元2130可以包括设置在终端设备210正面的触控屏2131,可收集用户在其上或附近的触摸操作,例如点击按钮,拖动滚动框等。
[0146]
其中,触控屏2131可以覆盖在显示屏2132之上,也可以将触控屏2131与显示屏2132集成而实现终端设备210的输入和输出功能,集成后可以简称触摸显示屏。本技术中显示单元2130可以显示应用程序以及对应的操作步骤。
[0147]
摄像头2140可用于捕获静态图像,用户可以将摄像头2140拍摄的图像通过应用发布评论。摄像头2140可以是一个,也可以是多个。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,ccd)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,cmos)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给处理器2180转换成数字图像信号。
[0148]
终端设备还可以包括至少一种传感器2150,比如加速度传感器2151、距离传感器2152、指纹传感器2153、温度传感器2154。终端设备还可配置有陀螺仪、气压计、湿度计、温度计、红外线传感器、光传感器、运动传感器等其他传感器。
[0149]
音频电路2160、扬声器2161、传声器2162可提供用户与终端设备110之间的音频接口。音频电路2160可将接收到的音频数据转换后的电信号,传输到扬声器2161,由扬声器2161转换为声音信号输出。终端设备210还可配置音量按钮,用于调节声音信号的音量。另一方面,传声器2162将收集的声音信号转换为电信号,由音频电路2160接收后转换为音频数据,再将音频数据输出至通信组件2110以发送给比如另一终端设备210,或者将音频数据输出至存储器2120以便进一步处理。
[0150]
蓝牙模块2170用于通过蓝牙协议来与其他具有蓝牙模块的蓝牙设备进行信息交互。例如,终端设备可以通过蓝牙模块2170与同样具备蓝牙模块的可穿戴计算机设备(例如智能手表)建立蓝牙连接,从而进行数据交互。
[0151]
处理器2180是终端设备的控制中心,利用各种接口和线路连接整个终端的各个部分,通过运行或执行存储在存储器2120内的软件程序,以及调用存储在存储器2120内的数据,执行终端设备的各种功能和处理数据。在一些实施例中,处理器2180可包括一个或多个
处理单元;处理器2180还可以集成应用处理器和基带处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,基带处理器主要处理无线通信。可以理解的是,上述基带处理器也可以不集成到处理器2180中。本技术中处理器2180可以运行操作系统、应用程序、用户界面显示及触控响应,以及本技术实施例的语音检测方法。另外,处理器2180与显示单元2130耦接。
[0152]
在一些可能的实施方式中,本技术提供的语音检测方法的各个方面还可以实现为一种程序产品的形式,其包括计算机程序,当程序产品在计算机设备上运行时,计算机程序用于使计算机设备执行本说明书上述描述的根据本技术各种示例性实施方式的语音检测方法中的步骤,例如,计算机设备可以执行如图3、图11、图15、图16、图18中所示的步骤。
[0153]
程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0154]
本技术的实施方式的程序产品可以采用便携式紧凑盘只读存储器(cd-rom)并包括计算机程序,并可以在计算机设备上运行。然而,本技术的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被命令执行系统、装置或者器件使用或者与其结合使用。
[0155]
可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由命令执行系统、装置或者器件使用或者与其结合使用的程序。
[0156]
可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。
[0157]
可以以一种或多种程序设计语言的任意组合来编写用于执行本技术操作的计算机程序,程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。计算机程序可以完全地在用户计算机设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算机设备上部分在远程计算机设备上执行、或者完全在远程计算机设备或服务器上执行。在涉及远程计算机设备的情形中,远程计算机设备可以通过任意种类的网络包括局域网(lan)或广域网(wan)连接到用户计算机设备,或者,可以连接到外部计算机设备(例如利用因特网服务提供商来通过因特网连接)。
[0158]
应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本技术的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
[0159]
此外,尽管在附图中以特定顺序描述了本技术方法的操作,但是,这并非要求或者
暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0160]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0161]
本技术是参照根据本技术的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图(一个流程或多个流程)和/或方框图(一个方框或多个方框)中指定的功能的装置。
[0162]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图(一个流程或多个流程)和/或方框图(一个方框或多个方框)中指定的功能。
[0163]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图(一个流程或多个流程)和/或方框图(一个方框或多个方框)中指定的功能的步骤。
[0164]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
技术特征:
1.一种语音检测方法,其特征在于,所述方法包括:对待检测的语音数据进行特征提取,获得初始语音特征;从所述指定的存储区域中,提取出在指定历史阶段获得的n个历史语音特征; 其中,所述指定历史阶段与当前时刻之间的时间间隔符合预设间隔条件,所述n为正整数;将所述初始语音特征和所述n个历史语音特征,按照相应的语音数据的获取时间顺序进行排序,获得相应的语音特征序列;提取所述语音特征序列包含的所述初始语音特征的目标上下文特征;其中,所述目标上下文特征表征:所述初始语音特征与所述n个历史语音特征之间的语义关系;基于所述目标上下文特征,获得所述待检测的语音数据的目标分类,并获得对应所述目标分类设置的目标关键词,将所述初始语音特征保存至指定的存储区域,作为下一轮语音检测中的历史语音特征。2.如权利要求1所述的方法,其特征在于,所述提取所述语音特征序列包含的所述初始语音特征的目标上下文特征,包括:将所述语音特征序列输入具有m层网络的时延神经网络,其中,在第i层网络中,1≤i≤m,执行以下操作:当i=1时,基于第1层网络,对所述初始语音特征和所述n个历史语音特征进行特征提取,获得所述初始语音特征的首层上下文特征;当2≤i≤m时,提取出第i-1层网络在所述指定历史阶段中,存储的n个i-1层历史输出特征,并基于第i层网络,结合所述n个i-1层历史输出特征,对所述第i-1层网络输出的i-1层上下文特征进行特征提取,获得i层上下文特征;其中,所述n个i-1层历史输出特征,是所述n个历史语音特征经过所述m层网络中的i-1层网络获得的;将最终输出的m层上下文特征作为所述目标上下文特征。3.如权利要求2所述的方法,其特征在于,还包括:将所述i层上下文特征保存在所述第i层网络对应的存储区域,作为下一轮语音检测中的i层历史输出特征,并将所述第i层网络对应的存储区域中,最早一轮语音检测时存储的历史的i层上下文特征删除,使得所述第i层网络对应的存储区域中的特征队列中特征数量为n个。4.如权利要求2所述的方法,其特征在于,所述提取所述语音特征序列包含的所述初始语音特征的目标上下文特征之前,还包括:若所述初始语音特征和所述n个历史语音特征是采用浮点型数据类型表示的,则将所述初始语音特征和所述n个历史语音特征中的最大浮点数,转化为整型数据类型,以获得初始放缩系数;根据所述初始放缩系数,对所述初始语音特征和所述n个历史语音特征进行正向量化放缩,获得整型数据类型的初始语音特征和n个历史语音特征;则在所述获得所述初始语音特征的首层上下文特征之后,还包括:基于所述初始放缩系数,对整型数据类型的所述首层上下文特征进行反向量化放缩,获得浮点型数据类型的首层上下文特征。5.如权利要求2所述的方法,其特征在于,还包括:当2≤i≤m时,若所述i-1层上下文特征和所述n个i-1层历史输出特征是采用浮点型数
据类型表示的,则将所述i-1层上下文特征和所述n个i-1层历史输出特征中的最大浮点数,转化为整型数据类型,以获得i层放缩系数;根据所述i层放缩系数,对浮点型数据类型的所述i-1层上下文特征和所述n个i-1层历史输出特征,进行正向量化放缩,获得整型数据类型的i-1层上下文特征和n个i-1层历史输出特征;则在所述获得i层上下文特征之后,还包括:基于所述i层放缩系数,对整型数据类型的所述i层上下文特征进行反向量化放缩,获得浮点型数据类型的i层上下文特征。6.如权利要求5所述的方法,其特征在于,所述基于第1层网络,对所述初始语音特征和所述n个历史语音特征进行特征提取之前,还包括:基于所述整型数据类型的初始语音特征和n个历史语音特征,对所述第1层网络的模型参数进行量化移位;所述基于第i层网络,结合所述n个i-1层历史输出特征,对所述第i-1层网络输出的i-1层上下文特征进行特征提取之前,还包括:基于所述整型数据类型的i-1层上下文特征和n个i-1层历史输出特征,对所述第i层网络的模型参数进行量化移位。7.如权利要求1所述的方法,其特征在于,所述基于所述目标上下文特征,获得所述待检测的语音数据的目标分类,包括:采用全连接神经网络,对所述目标上下文特征进行映射处理,获得所述待检测的语音数据的目标分类。8.如权利要求1-7中任一所述的方法,其特征在于,所述方法是通过目标语音检测模型执行的,所述目标语音检测模型的训练过程如下:基于预设的训练样本集,对待训练的语音检测模型进行多轮迭代训练,每个训练样本包括待检测的样本语音和n个历史样本语音,以及分类标签,所述待检测的样本语音和所述n个历史样本语音是按照获取时间排序的;其中,在一轮迭代过程中,执行以下操作:分别对一个训练样本中待检测的样本语音和n个历史样本语音进行特征提取,获得待检测语音特征和n个样本语音特征;提取所述待检测语音特征和所述n个样本语音特征中,所述待检测语音特征的样本上下文特征;其中,所述样本上下文特征表征:所述待检测语音特征与所述n个样本语音特征之间的语义关系;基于所述样本上下文特征,获得分类结果,并根据所述分类结果和所述一个训练样本的分类标签的差异,调整所述语音检测模型的参数。9.一种语音检测装置,其特征在于,所述装置包括:第一特征提取单元,用于对待检测的语音数据进行特征提取,获得初始语音特征;数据存取单元,用于从所述指定的存储区域中,提取出在指定历史阶段获得的n个历史语音特征; 其中,所述指定历史阶段与当前时刻之间的时间间隔符合预设间隔条件,所述n为正整数;将所述初始语音特征和所述n个历史语音特征,按照相应的语音数据的获取时间顺序进行排序,获得相应的语音特征序列;第二特征提取单元,用于提取所述语音特征序列包含的所述初始语音特征的目标上下
文特征;其中,所述目标上下文特征表征:所述初始语音特征与所述n个历史语音特征之间的语义关系;分类单元,用于基于所述目标上下文特征,获得所述待检测的语音数据的目标分类,并获得对应所述目标分类设置的目标关键词,将所述初始语音特征保存至指定的存储区域,作为下一轮语音检测中的历史语音特征。10.如权利要求9所述的装置,其特征在于,所述第二特征提取单元具体用于,将所述语音特征序列输入具有m层网络的时延神经网络,其中,在第i层网络中,1≤i≤m,执行以下操作:当i=1时,基于第1层网络,对所述初始语音特征和所述n个历史语音特征进行特征提取,获得所述初始语音特征的首层上下文特征;当2≤i≤m时,提取出第i-1层网络在所述指定历史阶段中,存储的n个i-1层历史输出特征,并基于第i层网络,结合所述n个i-1层历史输出特征,对所述第i-1层网络输出的i-1层上下文特征进行特征提取,获得i层上下文特征;其中,所述n个i-1层历史输出特征,是所述n个历史语音特征经过所述m层网络中的i-1层网络获得的;将最终输出的m层上下文特征作为所述目标上下文特征。11.如权利要求10所述的装置,其特征在于,所述数据存取单元还用于,将所述i层上下文特征保存在所述第i层网络对应的存储区域,作为下一轮语音检测中的i层历史输出特征,并将所述第i层网络对应的存储区域中,最早一轮语音检测时存储的历史的i层上下文特征删除,使得所述第i层网络对应的存储区域中的特征队列中特征数量为n个。12.如权利要求10所述的装置,其特征在于,所述第二特征提取单元还用于,若所述初始语音特征和所述n个历史语音特征是采用浮点型数据类型表示的,则将所述初始语音特征和所述n个历史语音特征中的最大浮点数,转化为整型数据类型,以获得初始放缩系数;根据所述初始放缩系数,对所述初始语音特征和所述n个历史语音特征进行正向量化放缩,获得整型数据类型的初始语音特征和n个历史语音特征;则在所述获得所述初始语音特征的首层上下文特征之后,还包括:基于所述初始放缩系数,对整型数据类型的所述首层上下文特征进行反向量化放缩,获得浮点型数据类型的首层上下文特征。13.一种计算机可读非易失性存储介质,其特征在于,所述计算机可读非易失性存储介质存储有程序,当所述程序在计算机上运行时,使得计算机实现执行权利要求1至8中任一项权利要求所述的方法。14.一种计算机设备,其特征在于,包括:存储器,用于存储计算机程序;处理器,用于调用所述存储器中存储的计算机程序,按照获得的程序执行如权利要求1至8任一项权利要求所述的方法。
技术总结
本申请实施例提供一种语音检测方法、装置、设备及存储介质,涉及人工智能技术领域,可应用于云技术、人工智能、智慧交通、辅助驾驶等各种场景包括:对待检测的语音数据进行特征提取,将获得的初始语音特征保存至指定的存储区域;并提取出在指定历史阶段获得的N个历史语音特征;N为正整数;将初始语音特征和N个历史语音特征,按照相应的语音数据的获取时间顺序进行排序,提取获得的语音特征序列包含的初始语音特征的目标上下文特征;目标上下文特征表征:初始语音特征与N个历史语音特征之间的语义关系;基于目标上下文特征,获得待检测的语音数据的目标分类的目标关键词。此方法用以降低模块内存占用率和消耗的计算资源。低模块内存占用率和消耗的计算资源。低模块内存占用率和消耗的计算资源。
技术研发人员:王雄
受保护的技术使用者:腾讯科技(深圳)有限公司
技术研发日:2023.09.13
技术公布日:2023/10/20
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
航空商城 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/