CN115881124A - 语音唤醒识别方法、设备及存储介质 - Google Patents
语音唤醒识别方法、设备及存储介质 Download PDFInfo
- Publication number
- CN115881124A CN115881124A CN202211579500.6A CN202211579500A CN115881124A CN 115881124 A CN115881124 A CN 115881124A CN 202211579500 A CN202211579500 A CN 202211579500A CN 115881124 A CN115881124 A CN 115881124A
- Authority
- CN
- China
- Prior art keywords
- awakening
- word
- voice
- word recognition
- network
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 124
- 238000001514 detection method Methods 0.000 claims abstract description 93
- 238000007635 classification algorithm Methods 0.000 claims description 14
- 239000000284 extract Substances 0.000 claims description 3
- 238000003062 neural network model Methods 0.000 abstract description 11
- 238000012549 training Methods 0.000 description 17
- 238000004364 calculation method Methods 0.000 description 12
- 230000008569 process Effects 0.000 description 11
- 238000013528 artificial neural network Methods 0.000 description 9
- 238000000605 extraction Methods 0.000 description 9
- 238000012545 processing Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 230000002093 peripheral effect Effects 0.000 description 6
- 238000012805 post-processing Methods 0.000 description 6
- 230000003993 interaction Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000002618 waking effect Effects 0.000 description 4
- 238000013473 artificial intelligence Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000011897 real-time detection Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
Landscapes
- Telephonic Communication Services (AREA)
Abstract
本申请涉及一种语音唤醒识别方法、设备及存储介质,属于计算机技术领域,该方法包括:将音频数据输入预先训练的语音检测模型,得到语音检测结果;在语音检测结果指示音频数据为语音数据的情况下,将语音检测模型检测到的有效语音数据和唤醒词识别模型对应的算法参数输入预设算法代码段,得到唤醒词识别结果;在唤醒词识别结果唤醒电子设备成功的情况下,将命令词识别模型对应的算法参数输入预设算法代码段,得到命令词识别结果;可以解决基于高性能的神经网络模型实现的语音唤醒识别方法无法在低算力芯片中运行、而低算力芯片中运行的神经网络模型的唤醒识别错误率较高的问题;既可以保证唤醒识别的准确性,又可以降低对芯片算力的要求。
Description
技术领域
本申请涉及一种语音唤醒识别方法、设备及存储介质,属于计算机技术领域。
背景技术
随着人工智能的发展,许多类型的电子设备都具有识别音频数据的功能,此时,用户可以通过语音与电子设备进行交互。在交互过程中,用户往往需要说出唤醒词以触发电子设备进入工作状态,用户还需要输入命令词以触发电子设备执行该命令词对应的命令。比如:在免唤醒场景中,用户说出如下语音数据“打开音乐”,其中,“打开音乐”即为唤醒词和命令词。相应地,电子设备需要识别出唤醒词和命令词,才能实现与用户进行语音交互。
传统的语音唤醒识别方法,包括:获取音频数据;对音频数据进行语音检测,比如使用语音活动检测(Voice Activity Detection,VAD)算法进行检测,得到有效语音数据;将有效语音数据输入预先训练的唤醒词检测模型,以检测有效语音数据中的唤醒词;在有效语音数据中具有唤醒词的情况下,将该有效语音数据输入命令词识别模型,得到命令词。
但是,上述VAD算法、唤醒词检测模型、和命令词识别模型通常通过三个以上的神经网络模型实现,在电子设备的闪存(flash)空间中需要同时部署多套算法模型以及每套算法模型对应的算法代码段。此时,在进行语音唤醒和命令词识别期间,至少三个模型同时运行占用的算力和运行内存较高,这就导致在芯片算力有限的电子设备上无法实现语音唤醒识别方法。
在一些实现方案中,可以将VAD算法、唤醒词检测模型、和命令词识别模型等算法模块压缩裁剪,这样的缩减方法虽然可以使得模型在芯片算力有限的电子设备中运行起来,但是,会降低单个模块的算法性能,此时,唤醒错误率和命令词识别的错误率均较高,会导致降低语音交互效果的问题。
发明内容
本申请提供了一种语音唤醒识别方法、装置、设备及存储介质,可以解决基于高性能的神经网络模型实现的语音唤醒识别方法无法在低算力芯片中运行、而低算力芯片中运行的神经网络模型的唤醒识别错误率较高的问题。本申请提供如下技术方案:
第一方面,提供一种语音唤醒识别方法,所述方法包括:
响应于接收到音频数据,将所述音频数据输入预先训练的语音检测模型,得到语音检测结果;
在所述语音检测结果指示所述音频数据为语音数据的情况下,将所述语音检测模型检测到的有效语音数据和唤醒词识别模型对应的算法参数输入预设算法代码段,以进行唤醒词识别得到唤醒词识别结果;所述唤醒词用于触发电子设备进入工作状态;
在所述唤醒词识别结果唤醒所述电子设备成功的情况下,将所述命令词识别模型对应的算法参数输入所述预设算法代码段,以对所述有效语音数据进行命令词识别得到命令词识别结果;所述命令词用于指示所述电子设备执行所述识别词对应命令。
可选地,所述预设算法代码段通过字符分类算法提取唤醒词或命令词的特征序列,并通过解码网络将所述特征序列解码为所述唤醒词或所述命令词。
可选地,所述将所述语音检测模型检测到的有效语音帧和唤醒词识别模型对应的算法参数输入预设算法代码段,以进行唤醒词识别得到唤醒词识别结果,包括:
通过所述解码网络确定所述唤醒词的唤醒难度等级;
通过所述解码网络按照所述唤醒难度等级和所述特征序列输出所述唤醒词识别结果。
可选地,所述通过所述解码网络确定所述唤醒词的唤醒难度等级,包括:
读取所述电子设备的唤醒历史和历史音频数据的历史语音检测结果;
在所述唤醒历史指示所述电子设备在第一预设时长内已唤醒过的情况下,确定所述唤醒词的唤醒难度等级为第一等级;
在所述历史语音检测结果指示在第二预设时长内当前环境未识别到语音数据的情况下,确定所述唤醒词的唤醒难度等级为第二等级;
在所述历史语音检测结果指示在第三预设时长内当前环境持续识别到语音数据、且所述唤醒历史指示所述电子设备在第四预设时长内未唤醒过的情况下,确定所述唤醒词的唤醒难度等级为第三等级;所述第四预设时长小于所述第三预设时长;
其中,所述第一等级低于所述第二等级低于所述第三等级。
可选地,所述唤醒词识别模型和所述命令词识别模型属于同一识别模型,该识别模型包括第一网络共享层、以及与该第一网络共享层相连的第一网络分支和第二网络分支,其中,所述第一网络共享层和所述第一网络分支共同组成所述唤醒词识别模型,所述第一网络共享层和所述第二网络分支共同组成所述命令词识别模型;
或者,
所述唤醒词识别模型和所述命令词识别模型为同一识别模型,且所述识别模型同时识别所述唤醒词和所述命令词。
可选地,在所述唤醒词识别模型和所述命令词识别模型属于同一识别模型的情况下,所述将所述语音检测模型检测到的有效语音数据和唤醒词识别模型对应的算法参数输入预设算法代码段,以进行唤醒词识别得到唤醒词识别结果,包括:
将所述有效语音数据和所述第一网络分支对应的算法参数输入所述预设算法代码段,得到所述唤醒词识别结果;
相应地,所述将所述命令词识别模型对应的算法参数输入所述预设算法代码段,以对所述有效语音数据进行命令词识别得到命令词识别结果,包括:
将所述第一网络共享层输出的特征数据和所述第二网络分支对应的算法参数输入所述预设算法代码段,得到所述命令词识别结果。
可选地,所述语音检测模型和所述识别模型属于同一多任务模型,该多任务模型包括第二网络共享层、以及与该第二网络共享层相连的第三网络分支和第四网络分支,其中,所述第二网络共享层和所述第三网络分支共同组成所述语音检测模型,所述第二网络共享层和所述第四网络分支共同组成所述识别模型;所述第二网络共享层中网络层的数量小于所述第一网络共享层中网络层的数量。
可选地,所述将所述语音检测模型检测到的有效语音数据和唤醒词识别模型对应的算法参数输入预设算法代码段,以进行唤醒词识别得到唤醒词识别结果,包括:
在所述语音检测结果指示所述音频数据为语音数据的情况下,触发所述第四网络分支使用所述第二网络共享层输出的有效语音数据进行唤醒词的识别,得到所述唤醒词识别结果。
第二方面,提供一种电子设备,所述设备包括处理器和存储器;所述存储器中存储有程序,所述程序由所述处理器加载并执行以实现第一方面提供的语音唤醒识别方法。
第三方面,提供一种计算机可读存储介质,所述存储介质中存储有程序,所述程序被处理器执行时用于实现第一方面提供的语音唤醒识别方法。
本申请的有益效果至少包括:通过响应于接收到音频数据,将音频数据输入预先训练的语音检测模型,得到语音检测结果;在语音检测结果指示音频数据为语音数据的情况下,将语音检测模型检测到的有效语音数据和唤醒词识别模型对应的算法参数输入预设算法代码段,以进行唤醒词识别得到唤醒词识别结果;在唤醒词识别结果唤醒电子设备成功的情况下,将命令词识别模型对应的算法参数输入预设算法代码段,以对有效语音数据进行命令词识别得到命令词识别结果;可以解决基于高性能的神经网络模型实现的语音唤醒识别方法无法在低算力芯片中运行、而低算力芯片中运行的神经网络模型的唤醒识别错误率较高的问题;由于唤醒词识别模型和命令词识别模型共用同一套预设算法代码段,因此,芯片上也只用部署一套算法对应的算法代码段,这样,可以节省至少一个算法对应的算法代码段,从而在不需要进行模型裁剪的情况下,可以降低对芯片的算力要求,既可以保证唤醒识别的准确性,又可以降低对芯片算力的要求。
另外,由于预设算法代码段使用命令词识别模型对应的算法代码段,因此,使用该预设算法代码段进行命令词识别时,可以实现对多个唤醒词的识别。
另外,通过唤醒词识别模型的解码网络确定唤醒词的唤醒难度等级;通过解码网络按照唤醒难度等级和特征序列输出唤醒词识别结果;可以解决在对多个唤醒词进行识别时误唤醒率较高的问题,可以提高唤醒准确度。
另外,通过将唤醒词识别模型和命令词识别模型设计在同一识别模型中,并共用同一第一网络共享层,使得命令词识别时第一网络共享层的计算结果可以复用,节省电子设备的计算资源。
另外,通过将语音检测模型和识别模型设计在同一唤醒识别模型中,并共用同一第二网络共享层,使得唤醒词和命令词识别时第二网络共享层的计算结果可以复用,节省电子设备的计算资源。
另外,通过多个神经网络参数共享达到多任务训练的目的,也就是一个一体化的神经网络分出多个输出来完成多个不同的任务,这样既实现了内存共享、算力共享的目的,又可以完成不同的语音任务。
上述说明仅是本申请技术方案的概述,为了能够更清楚了解本申请的技术手段,并可依照说明书的内容予以实施,以下以本申请的较佳实施例并配合附图详细说明如后。
附图说明
图1是本申请一个实施例提供的语音唤醒识别流程的示意图;
图2是本申请一个实施例提供的语音唤醒识别方法的流程图;
图3是本申请一个实施例提供的识别模型的示意图;
图4是本申请一个实施例提供的唤醒识别模型的示意图;
图5是本申请一个实施例提供的语音唤醒识别装置的框图;
图6是本申请一个实施例提供的电子设备的框图。
具体实施方式
下面结合附图和实施例,对本申请的具体实施方式做进一步详细描述。以下实施例用于说明本申请,但不用来限制本申请的范围。
参考图1,传统的语音唤醒识别方法中往往是将音频数据分别输入VAD算法、唤醒检测模型、和命令词识别模型进行语音唤醒识别。其中,VAD算法、唤醒检测模型、和命令词识别模型均可以通过神经网络(Neural Networks,NN)实现,该神经网络可以是:前馈型序列记忆网络(Feedforward Sequential Memory Networks,FSMN)、或深度神经网络(DeepNeural Networks,DNN)、或卷积神经网络(Convolutional Neural Networks,CNN)或时延神经网络(Time Delay Neural Network,TDNN)等,本实施例在此不对VAD算法、唤醒检测模型、和命令词识别模型的传统实现方式一一进行介绍。
传统的语音唤醒识别方法中,是将VAD算法、唤醒检测模型、和命令词识别模型分别作为单独的模块算法研发。这就导致目前业界常用的唤醒和识别采用不同的算法实现,且基本上都是分开维护开发。基于此,现有的语音唤醒识别方法往往通过将高资源芯片下的算法方案通过裁剪压缩的方式移植到低资源芯片上。此时,算法性能降低,导致低资源芯片中的语音交互效果不佳的问题。
同时,常用的唤醒词检测算法是基于神经网络模型提取特征,然后进行流式实时检测唤醒词。使用这种方案唤醒词的检测通常只能支持一个唤醒词的检测,当需要多个唤醒词时,为了防止唤醒词之间的串词,就会对唤醒词的格式要求较高。同时由于唤醒算法是流式进行匹配的,所以很难处理子串的问题,比如:同时支持两个唤醒词分别是“打开音乐”和“打开音乐控制”,当用户说“打开音乐控制”的时候,就会串词到“打开音乐”。同时支持多个唤醒词时,误唤醒的概率也会比单个唤醒词的要多。
然而,VAD算法、唤醒词检测、命令词识别三者的本质都是对有效语音数据进行分类处理,所以三个任务有相似之处。基于此,唤醒词检测和命令词识别本质上可以做成一个识别的任务,唤醒词检测和命令词识别的解码后处理可以统一采用一套方案,这样,唤醒词检测和命令词识别就可以共用一套解码算法,芯片上也只用部署一套算法对应的算法代码段,这样,可以节省至少一个算法对应的算法代码段,从而可以降低对芯片的算力要求。
基于上述原理,下面对本申请提供的语音唤醒识别方法进行详细介绍。可选地,本申请以各个实施例提供的语音唤醒识别方法用于电子设备中为例进行说明,该电子设备为终端或服务器,终端可以为手机、计算机、平板电脑、扫描仪、电子眼、监控摄像头等,本实施例不对电子设备的类型作限定。
图2是本申请一个实施例提供的语音唤醒识别方法的流程图,该方法至少包括以下几个步骤:
步骤201,响应于接收到音频数据,将音频数据输入预先训练的语音检测模型,得到语音检测结果。
音频数据可以是电子设备上的音频采集设备采集的,或者也可以是其它设备发送至电子设备的;音频数据可以为流式音频数据,或者也可以是离线音频数据,音频数据为至少一帧,本实施例不对音频数据的来源和实现方式作限定。
语音检测模型用于检测音频数据中是否存在有效语音数据,即对音频数据通过VAD算法进行语音判断,VAD算法基于神经网络模型建立的模型。其中,有效语音数据是指期望能够被识别的、由用户发出的语音数据。
在一个示例中,语音检测模型包括判决模块和后处理模块。其中,判决模块用于对一帧音频数据是否属于人声进行判断并打上标签。判决模块的输入为音频数据,输出为该音频数据的分类结果,通常来说分类结果包括两种分类,即语音和非语音。可选地,判决模块包括输入层、多层特征提取层和与多层特征提取层相连分类输出层。输入层用于将音频数据输入语音检测模型。特征提取层用于对输入至语音检测模型的音频数据进行特征提取,每层特征提取层可以通过NN层实现。分类输出层用于将特征提取层输出的特征数据输出为音频数据的分类结果。
后处理模块用于对判决模块输出的标签序列进行平滑处理,以避免判决模块输出的分类结果中存在不连续的毛刺现象。后处理模块可以通过预设长度的平滑窗口实现。
语音检测模型使用样本音频数据和该样本音频数据对应的分类标签训练得到。
语音检测结果包括两种情况:
第一种情况:音频数据包括有效语音数据,此时,语音检测结果除了指示音频数据包括有效语音数据,还包括音频数据中的有效音频数据,比如:音频数据中的有效语音帧。
第二种情况:音频数据不包括有效语音数据,此时,语音检测结果指示音频数据不包括有效语音数据。
步骤202,在语音检测结果指示音频数据为语音数据的情况下,将语音检测模型检测到的有效语音数据和唤醒词识别模型对应的算法参数输入预设算法代码段,以进行唤醒词识别得到唤醒词识别结果。
其中,唤醒词用于触发电子设备进入工作状态。
本实施例中,唤醒词识别模型与命令词识别模型共用同一套预设算法代码段,该预设算法代码段为命令词识别模型使用的算法代码段,而命令词识别模型使用的算法代码段一般可以实现多种命令词的识别。基于此,使用该预设算法代码段进行唤醒词识别,可以实现多个唤醒词的识别。
本实施例中,预设算法代码段通过字符分类算法提取唤醒词或命令词的特征序列,并通过解码网络将特征序列解码为唤醒词或命令词。换言之,预设算法代码段包括字符分类算法对应的算法代码段和解码网络对应的算法代码段。在一个实施例中,字符分类算法可以为连接时序分类(Connectionist Temporal Classification,CTC)算法,相应地,解码网络可以为CTC解码网络;在其它实施例中,字符分类算法也可以是其它算法,本实施例在此不再一一列举。
在一个示例中,唤醒词识别模型包括多层特征提取层,以及与多层特征提取层相连的分类结果输出层、以及与分类结果输出层相连的解码网络。
其中,唤醒词识别模型对应的算法参数是使用样本音频数据和该样本音频数据对应的唤醒词标签对字符分类算法和解码网络进行训练得到的。
可选地,由于在多唤醒词场景下,误唤醒的概率较大。基于此,在预设算法代码段还可以获取每个唤醒词当前的唤醒难度等级,从而降低误唤醒的概率。
在一个示例中,通过解码网络确定唤醒词的唤醒难度等级;通过解码网络按照唤醒难度等级和字符分类算法输出的特征序列输出唤醒词识别结果。
可选地,解码网络确定唤醒词的唤醒难度等级的方式包括但不限于以下几种:
第一种:解码网络读取电子设备的唤醒历史和历史音频数据的历史语音检测结果;基于该唤醒历史和历史语音检测结果确定唤醒难度等级。
示意性地,基于该唤醒历史和历史语音检测结果确定唤醒难度等级,包括:在唤醒历史指示电子设备在第一预设时长内已唤醒过的情况下,确定唤醒词的唤醒难度等级为第一等级;在历史语音检测结果指示在第二预设时长内当前环境未识别到语音数据的情况下,确定唤醒词的唤醒难度等级为第二等级;在历史语音检测结果指示在第三预设时长内当前环境持续识别到语音数据、且唤醒历史指示电子设备在第四预设时长内未唤醒过的情况下,确定唤醒词的唤醒难度等级为第三等级;第四预设时长小于第三预设时长。
其中,第一等级低于第二等级低于第三等级。唤醒难度等级越高,唤醒难度越高。
第一预设时长、第二预设时长、第三预设时长和第四预设时长相同或不同,本实施例不对第一预设时长、第二预设时长、第三预设时长和第四预设时长的取值作限定。
比如:默认解码网络的初始状态为正常状态(即第二等级)。之后,当电子设备被成功唤醒后,在第一预设时长(比如10秒)内,若再次被唤醒,则解码网络会给该唤醒词一个奖励分数,以使得该唤醒词的唤醒难度等级切换为第一等级,此时,电子设备更容易被该唤醒词唤醒。同时,通过语音检测模型判定当前的场景信息,如果电子设备一直处于无人说话的场景中的话,表明当前场景中无人说话,没有人在使用该电子设备,电子设备处于不容易被误唤醒状态,所以电子设备一直处于正常状态,即,唤醒词的唤醒难度等级为第二等级。当语音检测模型检测连续检测到第三预设时长(比如:10分钟)的语音段且最近的第四预设时长(比如:5分钟)没有被同一唤醒词唤醒,则表明当前没有人使用该电子设备、同时有很多用户在说话,容易引起电子设备的误唤醒,因此,电子设备会进入惩罚状态,即为唤醒词设置一个惩罚分数,以使电子设备不容易被该唤醒词误唤醒。
第二种:解码网络读取唤醒词的唤醒历史;基于该唤醒历确定唤醒难度等级。
示意性地,在唤醒历史指示在第五预设时长内电子设备未被唤醒的情况下,确定该唤醒词的唤醒难度等级为第三等级;在唤醒历史指示唤醒词在第五预设时长内被唤醒的情况下,确定该唤醒词的唤醒难度等级为第二等级;在唤醒历史指示唤醒词在第六预设时长内被唤醒的次数达到预设次数的情况下,确定该唤醒词的唤醒难度等级为第一等级。第六预设时长小于第五预设时长。
比如:用户在最近的第五预设时长(如10分钟)之内未唤醒过电子设备,则电子设备进入难唤醒状态,当前识别到的唤醒词具有惩罚分数,以降低电子设备误唤醒的概率。如果电子设备被唤醒过,则电子设备保持正常状态,该唤醒词既不具有奖励分数,也不具有惩罚分数。如果连续第六预设时长(如5秒)内电子设备被唤醒过两次(即达到预设次数),则当前识别到的唤醒词具有奖励分数,电子设备处于容易唤醒状态。
在其它实施例中,解码网络确定唤醒难度等级的方式也可以是其它方式,或者将唤醒难度等级设置为更多等级,本实施例不对唤醒难度等级的设置方式和确定方式作限定。
通过解码网络按照唤醒难度等级和字符分类算法输出的特征序列输出唤醒词识别结果,包括:获取解码网络按照特征序列解码得到的各个唤醒词的置信度;按照唤醒难度等级确定唤醒词对应的置信度阈值,唤醒难度等级与置信度阈值呈正相关关系;确定置信度大于置信度阈值的唤醒词为唤醒词识别结果。
或者,获取解码网络按照特征序列解码得到的各个唤醒词的置信度;按照唤醒难度等级确定唤醒词对应的置信度系数,该唤醒难度等级与置信度阈值呈负相关关系;确定置信度大于预设置信度阈值的唤醒词为唤醒词识别结果。
在实际实现时,通过解码网络按照唤醒难度等级和字符分类算法输出的特征序列输出唤醒词识别结果也可以是其它方式,本实施例在此不再一一列举。
在语音检测模型和唤醒词识别流程之间具有逻辑判断模块,以对语音检测结果进行判断,在语音检测结果指示音频数据为语音数据的情况下,执行步骤202;在语音检测结果指示音频数据不为语音数据的情况下,对于下一音频数据再次执行步骤201。
步骤203,在唤醒词识别结果唤醒电子设备成功的情况下,将命令词识别模型对应的算法参数输入预设算法代码段,以对有效语音数据进行命令词识别得到命令词识别结果。
其中,命令词用于指示电子设备执行识别词对应命令。
由于命令词识别模型和唤醒词识别模型共用同一预设算法代码段,基于此,命令词识别模型也包括多层特征提取层,以及与多层特征提取层相连的分类结果输出层、以及与分类结果输出层相连的解码网络。
在一个示例中,唤醒词识别模型和命令词识别模型为算法参数不同的模型。此时,唤醒词识别模型和命令词识别模型可视为两个串联的识别模型。相应地,唤醒词识别模型和命令词识别模型通过相互独立的两个训练流程训练得到。换言之,命令词识别模型对应的算法参数是使用样本音频数据和该样本音频数据对应的命令词标签对字符分类算法和解码网络进行训练得到的。
相应地,在语音检测模型和唤醒词识别流程之间具有逻辑判断模块,以对唤醒词识别结果进行判断,在唤醒词识别结果指示识别到唤醒词的情况下,执行步骤203;在唤醒词识别结果指示未识别到唤醒词的情况下,对于下一有效语音数据再次执行步骤202。
然而,两个分开的模型由于空间的限制不能太大,因此,所支持的能力上限有限。比如:一个100k参数量的唤醒词识别模型和一个100k参数量的命令词识别模型,与一个200k参数量的一体化模型通过参数共享的形式进行唤醒和识别任务相比,后者的模型性能更好,因为唤醒和识别的本质都是对语音帧的判别,具备参数共享基础。基于此,本实施例还提供下述模型实现方式。
在另一个示例中,唤醒词识别模型和命令词识别模型为同一识别模型,且识别模型同时识别唤醒词和命令词。此时,唤醒词识别模型对应的算法参数和命令词识别模型对应的算法参数相同,该识别模型的输出层可以同时输出唤醒词和命令词。相应地,识别模型对应的算法参数是使用样本音频数据、该样本音频数据对应的唤醒词标签、以及该样本音频数据对应的命令词标签,对字符分类算法和解码网络进行训练得到的。
在示例中,虽然可以做到唤醒词识别模型和命令词识别模型的参数共享,但是只有识别模型通过一个输出层同时进行两个任务,耦合性太强,当唤醒词识别或者命令词识别其中一个有问题时,不能独立优化,会互相影响。基于此,本实施例还提供下述模型。
在又一个示例中,参考图3,唤醒词识别模型和命令词识别模型属于同一识别模型31,该识别模型包括第一网络共享层311、以及与该第一网络共享层311相连的第一网络分支312和第二网络分支313,其中,第一网络共享层和第一网络分支共同组成唤醒词识别模型,第一网络共享层和第二网络分支共同组成命令词识别模型。
第一网络共享层包括M层网络层,M为正整数。第一网络分支312包括字符分类算法的分类结果输出层和与该分类结果输出层相连的解码网络;第二网络分支313也包括字符分类算法的分类结果输出层和与该分类结果输出层相连的解码网络。
识别模型31的训练过程包括:使用样本音频数据和该样本音频数据对应的唤醒词标签训练第一网络共享层311和第一网络分支312;在训练完成后,保持第一网络共享层311的算法参数不变,使用样本音频数据和该样本音频数据对应的命令词标签训练第二网络分支313,直至模型训练完成,得到识别模型。
此时,作为步骤202的可替换步骤,将有效语音数据和第一网络分支对应的算法参数输入预设算法代码段,得到唤醒词识别结果;相应地,作为步骤203的可替换步骤,将第一网络共享层输出的特征数据和命令词识别模型对应的算法参数输入预设算法代码段,得到命令词识别结果。
由上述过程可知,由于第一网络分支和第二网络分支共享第一网络共享层,因此,在命令词识别的过程中可以直接使用第一网络共享层的输出结果,节省计算资源。
相应地,在第一网络分支和第二网络分支之间具有逻辑判断模块,以对唤醒词识别结果进行判断,在唤醒词识别结果指示识别到唤醒词的情况下,触发第二网络分支运行以执行步骤203;在唤醒词识别结果指示未识别到唤醒词的情况下,对于下一音频数据再次执行步骤202。
综上所述,本实施例提供的语音唤醒识别方法,通过响应于接收到音频数据,将音频数据输入预先训练的语音检测模型,得到语音检测结果;在语音检测结果指示音频数据为语音数据的情况下,将语音检测模型检测到的有效语音数据和唤醒词识别模型对应的算法参数输入预设算法代码段,以进行唤醒词识别得到唤醒词识别结果;在唤醒词识别结果唤醒电子设备成功的情况下,将命令词识别模型对应的算法参数输入预设算法代码段,以对有效语音数据进行命令词识别得到命令词识别结果;可以解决基于高性能的神经网络模型实现的语音唤醒识别方法无法在低算力芯片中运行、而低算力芯片中运行的神经网络模型的唤醒识别错误率较高的问题;由于唤醒词识别模型和命令词识别模型共用同一套预设算法代码段,因此,芯片上也只用部署一套算法对应的算法代码段,这样,可以节省至少一个算法对应的算法代码段,从而在不需要进行模型裁剪的情况下,可以降低对芯片的算力要求,既可以保证唤醒识别的准确性,又可以降低对芯片算力的要求。
另外,由于预设算法代码段使用命令词识别模型对应的算法代码段,因此,使用该预设算法代码段进行命令词识别时,可以实现对多个唤醒词的识别。
另外,通过唤醒词识别模型的解码网络确定唤醒词的唤醒难度等级;通过解码网络按照唤醒难度等级和特征序列输出唤醒词识别结果;可以解决在对多个唤醒词进行识别时误唤醒率较高的问题,可以提高唤醒准确度。
另外,通过将唤醒词识别模型和命令词识别模型设计在同一识别模型中,并共用同一第一网络共享层,使得命令词识别时第一网络共享层的计算结果可以复用,节省电子设备的计算资源。
可选地,基于上述实施例,为了进一步节省电子设备的计算资源,语音检测模型和识别模型属于同一多任务模型,该多任务模型包括第二网络共享层、以及与该第二网络共享层相连的第三网络分支和第四网络分支,其中,第二网络共享层和第三网络分支共同组成语音检测模型,第二网络共享层和第四网络分支共同组成识别模型;第二网络共享层中网络层的数量小于第一网络共享层中网络层的数量。
以识别模型为图3所示的模型结构为例,参考图4,多任务模型依次包括输入层41、与输入层41相连的第二网络共享层42、与第二网络共享层42相连的第三网络分支43和第四网络分支44。第四网络分支44包括第一网络共享层311、与第一网络共享层311相连的第一网络分支312和第二网络分支313。
其中,第二网络共享层42包括N层网络层,N为正整数,且由于语音检测的实时性要求较高,因此,N<M。
第三网络分支43包括判决模块的输出层和后处理模块。在第三网络分支43和第一网络共享层311之间具有逻辑判断模块,在后处理模块输出的语音检测结果指示音频数据为语音数据的情况下,将第二网络共享层42输出的特征数据作为有效语音数据输入第一网络共享层311以进行唤醒词的识别。
多任务模型的训练过程包括:使用样本音频数据和该样本音频数据对应的语音签训练第二网络共享层42和第三网络分支43;在训练完成后,保持第二网络共享层42和第三网络分支43的算法参数不变,使用样本音频数据和该样本音频数据对应的唤醒词标签训练第一网络共享层311和第一网络分支312;在训练完成后,保持第一网络共享层311和第一网络分支312的算法参数不变,使用样本音频数据和该样本音频数据对应的命令词标签训练第二网络分支313,直至模型训练完成,得到唤醒识别模型。
此时,作为步骤202的可替换步骤,将语音检测模型检测到的有效语音数据和唤醒词识别模型对应的算法参数输入预设算法代码段,以进行唤醒词识别得到唤醒词识别结果,包括:
在语音检测结果指示音频数据为语音数据的情况下,触发第四网络分支使用第二网络共享层输出的有效语音数据进行唤醒词的识别,得到唤醒词识别结果。
根据上述过程可知,在第三网络分支检测到有效语音数据之前,一直运行第三网络分支即可,在语音检测模型、唤醒词识别、和命令词识别同时运行期间的峰值计算量主要是从输入层到M层第一共享网络层,很大程度减少内存和算力的占用,同时由于多任务参数共享可以有效完成各个任务。
本实施例中,通过将语音检测模型和识别模型设计在同一唤醒识别模型中,并共用同一第二网络共享层,使得唤醒词和命令词识别时第二网络共享层的计算结果可以复用,节省电子设备的计算资源。
另外,通过多个神经网络参数共享达到多任务训练的目的,也就是一个一体化的神经网络分出多个输出来完成多个不同的任务,这样既实现了内存共享、算力共享的目的,又可以完成不同的语音任务。
图5是本申请一个实施例提供的语音唤醒识别装置的框图。该装置至少包括以下几个模块:语音检测模块510、唤醒词识别模块520和命令词识别模块530。
语音检测模块510,用于响应于接收到音频数据,将所述音频数据输入预先训练的语音检测模型,得到语音检测结果;
唤醒词识别模块520,用于在所述语音检测结果指示所述音频数据为语音数据的情况下,将所述语音检测模型检测到的有效语音数据和唤醒词识别模型对应的算法参数输入预设算法代码段,以进行唤醒词识别得到唤醒词识别结果;所述唤醒词用于触发电子设备进入工作状态;
命令词识别模块530,用于在所述唤醒词识别结果唤醒所述电子设备成功的情况下,将所述命令词识别模型对应的算法参数输入所述预设算法代码段,以对所述有效语音数据进行命令词识别得到命令词识别结果;所述命令词用于指示所述电子设备执行所述识别词对应命令。
相关细节参考上述方法实施例。
需要说明的是:上述实施例中提供的语音唤醒识别装置在进行语音唤醒识别时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将语音唤醒识别装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的语音唤醒识别装置与语音唤醒识别方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图6是本申请一个实施例提供的电子设备的框图。该设备至少包括处理器601和存储器602。
处理器601可以包括一个或多个处理核心,比如:4核心处理器、8核心处理器等。处理器601可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器601可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器601还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器602还可包括高速随机存取存储器,以及非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器601所执行以实现本申请中方法实施例提供的语音唤醒识别方法。
在一些实施例中,电子设备还可选包括有:***设备接口和至少一个***设备。处理器601、存储器602和***设备接口之间可以通过总线或信号线相连。各个***设备可以通过总线、信号线或电路板与***设备接口相连。示意性地,***设备包括但不限于:射频电路、触摸显示屏、音频电路、和电源等。
当然,电子设备还可以包括更少或更多的组件,本实施例对此不作限定。
可选地,本申请还提供有一种计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的语音唤醒识别方法。
可选地,本申请还提供有一种计算机产品,该计算机产品包括计算机可读存储介质,所述计算机可读存储介质中存储有程序,所述程序由处理器加载并执行以实现上述方法实施例的语音唤醒识别方法。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种语音唤醒识别方法,其特征在于,所述方法包括:
响应于接收到音频数据,将所述音频数据输入预先训练的语音检测模型,得到语音检测结果;
在所述语音检测结果指示所述音频数据为语音数据的情况下,将所述语音检测模型检测到的有效语音数据和唤醒词识别模型对应的算法参数输入预设算法代码段,以进行唤醒词识别得到唤醒词识别结果;所述唤醒词用于触发电子设备进入工作状态;
在所述唤醒词识别结果唤醒所述电子设备成功的情况下,将所述命令词识别模型对应的算法参数输入所述预设算法代码段,以对所述有效语音数据进行命令词识别得到命令词识别结果;所述命令词用于指示所述电子设备执行所述识别词对应命令。
2.根据权利要求1所述的方法,其特征在于,所述预设算法代码段通过字符分类算法提取唤醒词或命令词的特征序列,并通过解码网络将所述特征序列解码为所述唤醒词或所述命令词。
3.根据权利要求2所述的方法,其特征在于,所述将所述语音检测模型检测到的有效语音帧和唤醒词识别模型对应的算法参数输入预设算法代码段,以进行唤醒词识别得到唤醒词识别结果,包括:
通过所述解码网络确定所述唤醒词的唤醒难度等级;
通过所述解码网络按照所述唤醒难度等级和所述特征序列输出所述唤醒词识别结果。
4.根据权利要求3所述的方法,其特征在于,所述通过所述解码网络确定所述唤醒词的唤醒难度等级,包括:
读取所述电子设备的唤醒历史和历史音频数据的历史语音检测结果;
在所述唤醒历史指示所述电子设备在第一预设时长内已唤醒过的情况下,确定所述唤醒词的唤醒难度等级为第一等级;
在所述历史语音检测结果指示在第二预设时长内当前环境未识别到语音数据的情况下,确定所述唤醒词的唤醒难度等级为第二等级;
在所述历史语音检测结果指示在第三预设时长内当前环境持续识别到语音数据、且所述唤醒历史指示所述电子设备在第四预设时长内未唤醒过的情况下,确定所述唤醒词的唤醒难度等级为第三等级;所述第四预设时长小于所述第三预设时长;
其中,所述第一等级低于所述第二等级低于所述第三等级。
5.根据权利要求1所述的方法,其特征在于,
所述唤醒词识别模型和所述命令词识别模型属于同一识别模型,该识别模型包括第一网络共享层、以及与该第一网络共享层相连的第一网络分支和第二网络分支,其中,所述第一网络共享层和所述第一网络分支共同组成所述唤醒词识别模型,所述第一网络共享层和所述第二网络分支共同组成所述命令词识别模型;
或者,
所述唤醒词识别模型和所述命令词识别模型为同一识别模型,且所述识别模型同时识别所述唤醒词和所述命令词。
6.根据权利要求5所述的方法,其特征在于,在所述唤醒词识别模型和所述命令词识别模型属于同一识别模型的情况下,所述将所述语音检测模型检测到的有效语音数据和唤醒词识别模型对应的算法参数输入预设算法代码段,以进行唤醒词识别得到唤醒词识别结果,包括:
将所述有效语音数据和所述第一网络分支对应的算法参数输入所述预设算法代码段,得到所述唤醒词识别结果;
相应地,所述将所述命令词识别模型对应的算法参数输入所述预设算法代码段,以对所述有效语音数据进行命令词识别得到命令词识别结果,包括:
将所述第一网络共享层输出的特征数据和所述第二网络分支对应的算法参数输入所述预设算法代码段,得到所述命令词识别结果。
7.根据权利要求5所述的方法,其特征在于,所述语音检测模型和所述识别模型属于同一多任务模型,该多任务模型包括第二网络共享层、以及与该第二网络共享层相连的第三网络分支和第四网络分支,其中,所述第二网络共享层和所述第三网络分支共同组成所述语音检测模型,所述第二网络共享层和所述第四网络分支共同组成所述识别模型;所述第二网络共享层中网络层的数量小于所述第一网络共享层中网络层的数量。
8.根据权利要求7所述的方法,其特征在于,所述将所述语音检测模型检测到的有效语音数据和唤醒词识别模型对应的算法参数输入预设算法代码段,以进行唤醒词识别得到唤醒词识别结果,包括:
在所述语音检测结果指示所述音频数据为语音数据的情况下,触发所述第四网络分支使用所述第二网络共享层输出的有效语音数据进行唤醒词的识别,得到所述唤醒词识别结果。
9.一种电子设备,其特征在于,所述设备包括处理器和存储器;所述存储器中存储有程序,所述程序由所述处理器加载并执行以实现如权利要求1至8任一项所述的语音唤醒识别方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质中存储有程序,所述程序被处理器执行时用于实现如权利要求1至8任一项所述的语音唤醒识别方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211579500.6A CN115881124A (zh) | 2022-12-08 | 2022-12-08 | 语音唤醒识别方法、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211579500.6A CN115881124A (zh) | 2022-12-08 | 2022-12-08 | 语音唤醒识别方法、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115881124A true CN115881124A (zh) | 2023-03-31 |
Family
ID=85766787
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211579500.6A Pending CN115881124A (zh) | 2022-12-08 | 2022-12-08 | 语音唤醒识别方法、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115881124A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117059093A (zh) * | 2023-10-11 | 2023-11-14 | 湖北星纪魅族集团有限公司 | 语音处理方法、电子设备和存储介质 |
-
2022
- 2022-12-08 CN CN202211579500.6A patent/CN115881124A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117059093A (zh) * | 2023-10-11 | 2023-11-14 | 湖北星纪魅族集团有限公司 | 语音处理方法、电子设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111880856B (zh) | 语音唤醒方法、装置、电子设备及存储介质 | |
CN110570873B (zh) | 声纹唤醒方法、装置、计算机设备以及存储介质 | |
CN111508493B (zh) | 语音唤醒方法、装置、电子设备及存储介质 | |
CN111081217B (zh) | 一种语音唤醒方法、装置、电子设备及存储介质 | |
CN111192590B (zh) | 语音唤醒方法、装置、设备及存储介质 | |
CN110767231A (zh) | 一种基于时延神经网络的声控设备唤醒词识别方法及装置 | |
CN111814923B (zh) | 一种图像聚类方法、***、设备和介质 | |
CN108595406B (zh) | 一种用户状态的提醒方法、装置、电子设备及存储介质 | |
US20190237071A1 (en) | Voice recognition method, device and server | |
CN110968353A (zh) | 中央处理器的唤醒方法、装置、语音处理器以及用户设备 | |
CN109360551B (zh) | 一种语音识别方法及装置 | |
WO2023098459A1 (zh) | 语音唤醒方法、装置、电子设备及可读存储介质 | |
CN115881124A (zh) | 语音唤醒识别方法、设备及存储介质 | |
CN112289311B (zh) | 语音唤醒方法、装置、电子设备及存储介质 | |
CN117219074A (zh) | 语音识别方法、装置、设备和存储介质 | |
CN116705033A (zh) | 用于无线智能音频设备的片上***和无线处理方法 | |
CN115862604A (zh) | 语音唤醒模型训练及语音唤醒方法、装置及计算机设备 | |
CN115223573A (zh) | 语音唤醒方法、装置、电子设备以及存储介质 | |
CN115831109A (zh) | 语音唤醒方法、装置、存储介质及电子设备 | |
CN113707154A (zh) | 模型训练方法、装置、电子设备和可读存储介质 | |
CN117334195A (zh) | 语音唤醒方法、设备及存储介质 | |
CN112882760A (zh) | 一种智能设备的唤醒方法、装置及设备 | |
CN112216286B (zh) | 语音唤醒识别方法、装置、电子设备及存储介质 | |
CN115713931A (zh) | 音频识别方法、装置、存储介质及电子设备 | |
CN114333794A (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 |