语音唤醒方法、装置、电子设备和计算机可读存储介质与流程

1.本公开涉及语音处理

技术领域


:,尤其涉及一种语音唤醒方法、装置、电子设备和计算机可读存储介质。

背景技术


::2.语音唤醒是指用户通过说出唤醒词来唤醒电子设备,使电子设备进入等待语音指令或执行语音指令的状态。3.相关技术中,对输入的语音进行固定唤醒词匹配的模型训练及测试,同时对输入的语音进行声纹识别进行模型训练及认证,根据这两种模型测试结果逻辑上取交集,输出是否唤醒的结果。通过唤醒词匹配和声纹识别这两种子任务各自进行训练模型的方法,导致模型参数冗余、占用内存过大、唤醒速度慢。4.需要说明的是,在上述

背景技术


:部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。技术实现要素:5.本公开提供一种语音唤醒方法、装置、电子设备和计算机可读存储介质,至少在一定程度上克服模型参数冗余、占用内存过大、唤醒速度慢的问题。6.本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。7.根据本公开的一个方面,提供一种语音唤醒方法,所述方法包括:8.根据预先训练的神经网络模型对待识别语音的语谱图进行处理,得到所述待识别语音的声纹特征向量和唤醒词;9.根据预设的对应关系表,查询与所述唤醒词对应的注册唤醒词标签,并根据所述注册唤醒词标签,得到注册特征向量;10.根据所述声纹特征向量和所述注册特征向量,计算向量相似度;11.在所述向量相似度大于预设的阈值的情况下,进行语音唤醒。12.在本公开的一个实施例中,在所述根据预先训练的神经网络模型对待识别语音的语谱图进行处理,得到所述待识别语音的声纹特征向量和唤醒词之前,所述方法还包括:13.获取注册语音的语谱图;14.根据预先训练的神经网络模型对所述注册语音的语谱图进行处理,得到注册特征向量和注册唤醒词标签;15.根据所述注册特征向量和所述注册唤醒词标签构建所述对应关系表。16.在本公开的一个实施例中,在所述根据预先训练的神经网络模型对待识别语音的语谱图进行处理,得到所述待识别语音的声纹特征向量和唤醒词之前,所述方法还包括:17.去除待识别语音中的静默音,得到有效待识别语音;18.当所述有效待识别语音的有效音频时长大于或等于预设的时长阈值时,对所述有效待识别语音进行处理,得到所述待识别语音的语谱图。19.在本公开的一个实施例中,所述方法还包括:20.当所述有效待识别语音的有效音频时长小于预设的时长阈值时,语音唤醒失败。21.在本公开的一个实施例中,在所述根据预先训练的神经网络模型对待识别语音的语谱图进行处理,得到所述待识别语音的声纹特征向量和唤醒词之前,所述方法还包括:22.将待识别语音分割成多个时长为第一时长的语音文件,所述语音文件的帧长为第二时长、帧移为第三时长;23.将所述语音文件转化为语谱图。24.在本公开的一个实施例中,在所述根据预先训练的神经网络模型对待识别语音的语谱图进行处理,得到所述待识别语音的声纹特征向量和唤醒词之前,所述方法还包括:25.对获取到的语音数据集进行处理,得到所述语音数据集的语谱图;26.根据所述语音数据集的语谱图和对应的标签,训练初始神经网络模型,其中,所述初始神经网络模型包括第一目标网络结构和第二目标网络结构,若满足预设的第一训练停止条件,则将所述初始神经网络模型作为目标神经网络模型。27.在本公开的一个实施例中,所述语音数据集的语谱图包括用于模型训练的训练数据集和用于验证模型的测试数据集,所述训练数据集和所述测试数据集按照预设比例划分。28.在本公开的一个实施例中,所述语音数据集的语谱图还包括验证数据集;29.所述第一目标网络结构和第二目标网络结构通过以下方式得到:30.基于多梯度下降算法mgda算法构建训练损失函数;31.根据所述训练数据集、带有网络结构参数的初始网络结构和所述训练损失函数,固定所述网络结构的网络结构参数,通过训练获得网络操作权重;32.基于mgda算法构建验证损失函数;33.固定所述网络操作权重,根据所述验证数据集和所述验证损失函数,通过训练获得新的网络结构参数,以得到过程网络结构;34.计算语音唤醒词识别和声纹识别梯度,得到公共梯度下降方向的更新共享参数,重新进行训练,直至满足预设的第二训练停止条件,得到目标网络结构,所述目标网络结构包括所述第一目标网络结构和第二目标网络结构中的一种。35.在本公开的一个实施例中,所述第一训练停止条件包括训练损失小于第一阈值或训练轮数大于第二阈值。36.在本公开的一个实施例中,所述神经网络模型包括输入节点、多个中间节点和两个输出节点,中间节点包括至少两个第一目标网络结构和至少一个第二目标网络结构,所述至少两个第一目标网络结构的结构相同,一个中间节点的输入为相邻前两个中间节点的输出。37.根据本公开的另一个方面,提供一种语音唤醒装置,所述装置包括:38.处理模块,用于根据预先训练的神经网络模型对待识别语音的语谱图进行处理,得到所述待识别语音的声纹特征向量和唤醒词;39.查询模块,用于根据预设的对应关系表,查询与所述唤醒词对应的注册唤醒词标签,并根据所述注册唤醒词标签,得到注册特征向量;40.向量相似度计算模块,用于根据所述声纹特征向量和所述注册特征向量,计算向量相似度;41.语音唤醒模块,用于在所述向量相似度大于预设的阈值的情况下,进行语音唤醒。42.根据本公开的再一个方面,提供一种电子设备,包括:43.处理器;以及44.存储器,用于存储所述处理器的可执行指令;45.其中,所述处理器配置为经由执行所述可执行指令来执行上述的语音唤醒方法。46.根据本公开的又一个方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的语音唤醒方法。47.根据本公开的又一个方面,提供一种计算机程序产品,所述计算机程序产品包括计算机程序或计算机指令,所述计算机程序或所述计算机指令由处理器加载并执行,以使计算机实现上述任一所述的语音唤醒方法。48.本公开的实施例所提供的语音唤醒方法、装置、电子设备和计算机可读存储介质,将待识别语音的语谱图输入到预先训练的神经网络模型,得到待识别语音的声纹特征向量和唤醒词,利用一个神经网络模型同时实现声纹识别和语音唤醒词匹配这两个任务,解决了两个任务分别构建模型导致的参数冗余、占用内存过大的问题,本公开流程更加简洁,唤醒速度更快。49.进一步,根据预设的对应关系表,查询与唤醒词对应的注册唤醒词标签,并根据注册唤醒词标签,得到注册特征向量;根据声纹特征向量和注册特征向量,计算向量相似度;在向量相似度大于预设的阈值的情况下,进行语音唤醒,通过计算出的向量相似度与预设的阈值判断是否唤醒,计算结果准确,提高唤醒的准确率。50.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明51.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。52.图1示出本公开实施例中一种系统架构的示意图;53.图2示出本公开实施例中一种语音唤醒方法流程图;54.图3示出本公开实施例中一种语音唤醒方法的用户注册流程图;55.图4示出本公开实施例中一种语音唤醒方法的神经网络模型训练流程图;56.图5示出本公开实施例中第一目标网络结构和第二目标网络结构生成流程图;57.图6示出本公开实施例中一种神经网络模型的结构图;58.图7示出本公开实施例中一种语音唤醒装置示意图59.图8示出本公开实施例中一种电子设备的结构框图;60.图9示出本公开实施例中提供的一种计算机可读存储介质示意图。具体实施方式61.现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。62.此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。63.下面结合附图,对本公开实施例的具体实施方式进行详细说明。64.图1示出了可以应用于本公开实施例的语音唤醒方法或语音唤醒装置的示例性系统架构的示意图。65.如图1所示,该系统架构包括终端101、网络102及服务器103;网络102用以在终端101和服务器103之间提供通信链路的介质,可以是有线网络,也可以是无线网络。66.可选地,上述的无线网络或有线网络使用标准通信技术和/或协议。网络通常为因特网、但也可以是任何网络,包括但不限于局域网(localareanetwork,lan)、城域网(metropolitanareanetwork,man)、广域网(wideareanetwork,wan)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合)。在一些实施例中,使用包括超文本标记语言(hypertextmark-uplanguage,html)、可扩展标记语言(extensiblemarkuplanguage,xml)等的技术和/或格式来代表通过网络交换的数据。此外还可以使用诸如安全套接字层(securesocketlayer,ssl)、传输层安全(transportlayersecurity,tls)、虚拟专用网络(virtualprivatenetwork,vpn)、网际协议安全(internetprotocolsecurity,ipsec)等常规加密技术来加密所有或者一些链路。在另一些实施例中,还可以使用定制和/或专用数据通信技术取代或者补充上述数据通信技术。67.图1所示的任意一个终端101可作为远程终端,也可作为中继终端,远程终端和中继终端之间可建立基于邻近服务的通信,远程终端可直接接入网络,也可经中继终端接入网络。68.可选地,本公开实施例中的终端101也可以称作ue(userequipment,用户终端),在具体实现时,终端101可以是手机、平板电脑(tabletpersonalcomputer)、膝上型电脑(laptopcomputer)、个人数字助理(personaldigitalassistant,pda)、移动上网装置(mobileinternetdevice,mid)、可穿戴式设备(wearabledevice)或车载设备等终端侧设备。69.可选地,不同的终端101中安装的应用程序的客户端是相同的,或基于不同操作系统的同一类型应用程序的客户端。基于终端平台的不同,该应用程序的客户端的具体形态也可以不同,比如,该应用程序客户端可以是手机客户端、pc客户端等。70.服务器103可以是提供各种服务的服务器,例如对用户利用终端101所进行操作的装置提供支持的后台管理服务器。后台管理服务器可以对接收到的请求等数据进行分析等处理,并将处理结果反馈给终端。71.可选地,服务器103可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn(contentdeliverynetwork,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器103以及终端101可以通过有线或无线通信方式进行直接或间接地连接,本技术在此不做限制。72.相关技术中,对输入的语音进行固定唤醒词匹配的模型训练及测试,针对模型训练过程,把声纹识别和语音唤醒两种任务分别进行训练模型,出现模型训练笨拙、泛化能力较差的问题,并且在进行声纹识别和语音唤醒词匹配这样的多任务训练时,考虑到语音唤醒词匹配任务是从不同人的词语信号中寻共同因素,其在训练时是模糊声音特征强调文字唤醒词,而声纹识别是通过语音波形中反映说话人生理和行为特征的语音参数,其不注重语音信号的语义,该任务从语音信号中提取个人声纹特征,挖掘出包含在语音信号中的个性因素,在训练时是突出声音特征从而提取特征,因此这两个任务优化过程存在竞争,使用一个人工设计的神经网络模型较难同时考虑到两种不同任务的特征性,此外,根据唤醒词匹配和声纹识别这两个任务分别单独模型训练,再进行逻辑判断决定是否唤醒,导致占用更多内存、消耗更多资源。73.本公开实施例中提供了一种语音唤醒方法,终端101获取到的待识别语音,并向服务器103发送获取到的待识别语音,服务器103对获取到的待识别语音进行处理,得到待识别语音的语谱图;根据预先训练的神经网络模型对语谱图进行处理,得到待识别语音的声纹特征向量和唤醒词;根据预设的对应关系表,查询与唤醒词对应的注册唤醒词标签,并根据注册唤醒词标签,得到注册特征向量;根据声纹特征向量和注册特征向量,计算向量相似度;在向量相似度大于预设的阈值的情况下,进行语音唤醒。该方法可以应用在声纹识别语音唤醒系统场景中,例如通过语音唤醒使电子设备进行下单购物,通过语音唤醒使电子设备控制家电的开关等。本公开通过一个神经网络模型同时完成唤醒词匹配和声纹识别两个任务,唤醒速度更快,解决了两个任务分别构建模型导致的参数冗余、占用内存过大的问题,本公开流程更加简洁。74.本领域技术人员可以知晓,图1中的终端101、网络102和服务器103的数量仅仅是示意性的,根据实际需要,可以具有任意数目的终端101、网络102和服务器103。本公开实施例对此不作限定。75.在上述系统架构下,本公开实施例中提供了一种语音唤醒方法,该方法可以由任意具备计算处理能力的电子设备执行。在一些实施例中,本公开实施例中提供的语音唤醒方法,可以在图1所示的服务器103中执行。76.图2示出本公开实施例中一种语音唤醒方法流程图,如图2所示,本公开实施例中提供的语音唤醒方法包括如下s201至s204。77.s201、根据预先训练的神经网络模型对待识别语音的语谱图进行处理,得到待识别语音的声纹特征向量和唤醒词。78.在将待识别语音的语谱图输出预先训练的神经网络模型之前,需要对获取到的待识别语音进行处理,得到待识别语音的语谱图。79.其中,语谱图是一种频谱分析视图,终端对待识别语音进行采集,采集后对待识别语音进行处理或将待识别语音发送给服务器,由服务器进行对待识别语音的处理,对待识别语音做语音活体检测,去除待识别语音中对识别没有意义的静默音,将待识别语音的音频设置帧长为25毫秒、帧移为10毫秒,将其进行处理转化为语谱图。关于如何对待识别语音进行处理得到语谱图的方法,本公开实施例不做限制,任意一种能够实现对待识别语音进行处理得到语谱图的方法均可应用于此。例如通过matlab(matrix&laboratory,数学软件)中的spectrogram函数将待识别语音转化为语谱图。80.声纹特征向量为待识别语音的特征描述向量,用于区分不同的用户,例如,根据声纹特征向量区分出已经注册的用户和未注册的用户;唤醒词为触发交互设备唤醒功能的语音口令,语音唤醒是指用户通过说出与注册唤醒词标签相同的唤醒词实现电子设备从待机状态恢复到正常工作状态的过程。通过预先训练的神经网络模型对语谱图进行特征提取,得到待识别语音的声纹特征向量和唤醒词。81.s202、根据预设的对应关系表,查询与唤醒词对应的注册唤醒词标签,并根据注册唤醒词标签,得到注册特征向量。82.注册用户通过将注册语音的语谱图输入到预先训练的神经网络模型,得到注册唤醒词标签和注册特征向量,并将注册唤醒词标签和注册特征向量存储在预先设置在服务器的对应关系表上。通过对应关系表查询与唤醒词对应的注册唤醒词标签,若存在与唤醒词对应的注册唤醒词标签,则通过注册唤醒词标签到对应的注册特征向量。83.s203、根据声纹特征向量和注册特征向量,计算向量相似度。84.在本实施例中,向量相似度采用余弦相似度计算得到,计算待识别语音的声纹特征向量与注册特征向量的余弦相似度,得到向量相似度,通过余弦相似度来度量声纹特征向量和注册特征向量之间的相似性,向量相似度的取值范围从-1到1,当向量相似度为1时,则说明声纹特征向量和注册特征向量相同,当向量相似度为-1时,说明声纹特征向量和注册特征向量完全不同;向量相似度越接近1,说明声纹特征向量和注册特征向量之间的相似度越高。除此之外,对于其他能够得到两个向量相似度的方式也适用。85.s204、在向量相似度大于预设的阈值的情况下,进行语音唤醒。86.其中,阈值为预设的一个值,例如阈值为0.8,当向量相似度的值大于0.8时,说明声纹特征向量和注册特征向量的相似度很高,判定待识别语音发出的用户和注册用户为同一个人,电子设备执行唤醒指令,从而实现语音唤醒。87.本公开利用一个神经网络模型同时实现声纹识别和语音唤醒词匹配这两个任务,解决了两个任务分别构建模型导致的参数冗余、占用内存过大的问题,本公开流程更加简洁,唤醒速度更快。88.在一个实施例中,在根据预先训练的神经网络模型对待识别语音的语谱图进行处理,得到待识别语音的声纹特征向量和唤醒词之前,方法还包括:89.去除待识别语音中的静默音,得到有效待识别语音;90.当有效待识别语音的有效音频时长大于或等于预设的时长阈值时,对所述有效待识别语音进行处理,得到待识别语音的语谱图。91.关于时间阈值的取值范围,本公开实施例不做限制,例如,时长阈值的取值范围为1s-4s。92.示例性的,对待识别语音做语音活体检测,去除待识别语音中对识别没有意义的静默音,得到有效待识别语音,当有效待识别语音的有效音频时长大于或等于2s时,对有效待识别语音处理,得到待识别语音的语谱图。93.在一个实施例中,方法还包括:94.当有效待识别语音的有效音频时长小于预设的时长阈值时,语音唤醒失败。95.例如,时长阈值的取值范围为1s-4s。96.示例性的,当有效待识别语音的有效音频时长小于2s时,语音唤醒失败。97.需要说明的是,上述时长阈值的取值范围仅为说明本公开实施例而提供的示例,不应将其视为对本公开保护范围的限制。98.在一个实施例中,在根据预先训练的神经网络模型对待识别语音的语谱图进行处理,得到待识别语音的声纹特征向量和唤醒词之前,所述方法还包括:99.将待识别语音分割成多个时长为第一时长的语音文件,语音文件的帧长为第二时长、帧移为第三时长;100.将语音文件转化为语谱图。101.示例性的,将待识别语音分割成多个时长为3s的语音文件,将语音文件转换为360dpi*360dpi的语谱图,设置帧长为25毫秒、帧移为10毫秒。102.需要说明的是,上述第一时长、第二时长和第三时长的取值仅为说明本公开实施例而提供的示例,不应将其视为对本公开保护范围的限制。103.图3示出本公开实施例中一种语音唤醒方法的用户注册流程图,如图3所示,在根据预先训练的神经网络模型对待识别语音的语谱图进行处理,得到待识别语音的声纹特征向量和唤醒词之前,用户进行注册,本公开实施例中提供的语音唤醒方法的用户注册步骤包括如下s301至s303。104.s301、获取注册语音的语谱图。105.在一个实施例中,在获取注册语音的语谱图之前还包括:106.去除注册语音中的静默音,得到有效注册语音;107.当有效注册语音的有效音频时长大于或等于2s时,执行对获取到的注册语音进行处理,得到注册语音的语谱图的操作。108.将注册语音分割成多个时长为3s的注册语音文件,将注册语音文件转换为360dpi*360dpi的语谱图,设置帧长为25毫秒、帧移为10毫秒,注册语音的语谱图的生成方式与上述待识别语音的语谱图生成方式相同,具体生成方式见s201,这里不再赘述。109.s302、根据预先训练的神经网络模型对注册语音的语谱图进行处理,得到注册特征向量和注册唤醒词标签。110.其中,注册语音的注册特征向量用于区分出注册用户和未注册用户,注册唤醒词标签为触发交互设备唤醒功能的语音口令。通过预先训练的神经网络模型对注册语音的语谱图进行特征提取,得到注册特征向量和注册唤醒词标签。111.s303、根据注册特征向量和注册唤醒词标签构建对应关系表。112.示例性的,将注册特征向量和注册唤醒词标签存入到注册库中,并构建注册特征向量和注册唤醒词标签的对应关系表,便于通过注册唤醒词标签查询到对应的注册特征向量。113.图4示出本公开实施例中一种语音唤醒方法的神经网络模型训练流程图,如图4所示,在根据预先训练的神经网络模型对待识别语音的语谱图进行处理,得到待识别语音的声纹特征向量和唤醒词之前,还需要对初始神经网络模型进行训练,一种语音唤醒方法的神经网络模型训练步骤包括如下s401至s402。114.s401、对获取到的语音数据集进行处理,得到语音数据集的语谱图。115.需要说明的是,首先确定需要训练的初始神经网络模型的语音数据集,例如,确定语音数据集为mobvoihotwords(一种语音数据集),mobvoihotwords从mobvoi(人工智能语音平台)的商业智能扬声器收集的唤醒单词的语料库,它由关键字和非关键字语音组成。116.在一个实施例中,语音数据集的语谱图包括用于模型训练的训练数据集和用于验证模型的测试数据集,训练数据集和测试数据集按照预设比例划分。117.示例性的,语音数据集的语谱图共有1000张,其中400张语音数据集的语谱图为训练数据集,300张语音数据集的语谱图为测试数据集。118.s402、根据语音数据集的语谱图和对应的标签,训练初始神经网络模型,其中,初始神经网络模型包括第一目标网络结构和第二目标网络结构,若满足预设的第一训练停止条件,则将初始神经网络模型作为目标神经网络模型。119.示例性的,基于多梯度下降算法训练初始神经网络模型,根据训练数据集,得到新的初始神经网络模型;120.在新的初始神经网络模型满足预设的第一训练停止条件的情况下,得到过程神经网络模型;121.通过测试数据集对过程神经网络模型进行验证,若满足预设的第三训练停止条件的情况下,则确定过程神经网络模型为目标神经网络模型;122.若不满足,则确定过程神经网络模型为初始神经网络模型,继续训练。123.需要说明的是,目标神经网络模型可以为卷积神经网络模型,第一训练停止条件包括训练损失小于第一阈值或训练轮数大于第二阈值,第一阈值和第二阈值提前预设在服务器上。第三训练停止条件包括训练损失小于第三阈值或训练轮数大于第四阈值,第三阈值和第四阈值提前预设在服务器上。标签与语音数据集的语谱图对应,为语音数据集的语谱图对应用户的身份标签,用于区分语音数据集的语谱图。124.在一个实施例中,语音数据集的语谱图包括用于模型训练的训练数据集以及用于验证模型的测试数据集和验证数据集,训练数据集、验证数据集和测试数据集按照预设比例划分,在划分之前对语音数据集的语谱图进行打乱,训练数据集和测试数据集用于初始神经网络模型的训练,训练数据集和验证数据集用于初始网络结构的训练。125.训练数据集、验证数据集和测试数据集可以按照4:4:1的预设比例划分,示例性的,语音数据集的语谱图共有900张,其中400张语音数据集的语谱图为训练数据集,400张语音数据集的语谱图为验证数据集,剩余的100张语音数据集的语谱图为测试数据集。126.图5示出本公开实施例中第一目标网络结构和第二目标网络结构生成流程图,如图5所示,所述第一目标网络结构和第二目标网络结构通过如下s501至s505方式得到。127.s501、基于mgda算法构建训练损失函数。128.s502、根据训练数据集、带有网络结构参数的初始网络结构和训练损失函数,固定网络结构的网络结构参数,通过训练获得网络操作权重。129.s503、基于mgda算法构建验证损失函数。130.s504、固定网络操作权重,根据验证数据集和验证损失函数,通过训练获得新的网络结构参数,以得到过程网络结构。131.s505、计算语音唤醒词识别和声纹识别梯度,得到公共梯度下降方向的更新共享参数,重新进行训练,直至满足预设的第二训练停止条件,得到目标网络结构,目标网络结构包括第一目标网络结构和第二目标网络结构中的一种。132.其中,目标网络结构通过darts(differentiablearchitecturesearch,神经网络搜索)得到,darts采用的是cell-based网络架构搜索方法,也分为normalcell(普通单元)和reductioncell(缩小单元)两种,分别搜索完成以后会通过拼接的方式形成完整网络,即初始神经网络模型。133.基于mgda算法构建训练损失函数过程如下:134.将训练数据集输入到初始网络结构,使用mgda算法构建训练损失函数,在每次计算唤醒词识别和声纹识别任务梯度后,得到公共梯度下降方向来更新共享参数,以获得最优的网络操作权重,最优的网络操作权重的表示如下:135.ω*(α)=argminωltrain(ω,α)ꢀꢀꢀꢀꢀꢀꢀ(公式1)136.其中,α为网络结构参数,ω为网络操作权重,ω*(α)代表当前网络结构参数α的情况下,训练获得的最优的网络操作权重,ltrain为训练损失函数。137.基于mgda算法构建验证损失函数过程如下:138.在网络操作权重确定的情况下,将验证数据集输出到最优的网络操作权重的初始网络结构,使用mgda算法构建验证损失函数,以获得最优的目标网络结构。139.最优的网络结构参数表示如下:[0140][0141]其中,lval为验证损失函数。[0142]通过公式1和公式2交替训练优化网络操作权重ω和网络结构参数α,直至满足预设的第二训练停止条件,得到目标网络结构。[0143]需要说明的是,在训练数据集中,在固定网络结构参数α的情况下,通过训练获得最优的网络操作参数ω;在验证数据集中,在固定特定网络操作参数ω的情况下,通过训练获得最优的网络结构参数α。darts目标是解决一个双层优化的问题:到网络结构参数,使得在验证数据集得到最优结果,并到最优网络操作参数,使得目标网络结构得到最优性能。第一目标网络结构和第二目标网络结构均通过darts方法得到。[0144]第二训练停止条件包括训练损失小于第五阈值或训练轮数大于第六阈值,示例性的,在训练轮数大于3时,训练结束。[0145]本公开在搜索目标网络结构中使用mgda算法构造损失函数在每次计算唤醒词识别和声纹识别任务梯度后,得到公共梯度下降方向来更新共享参数,保证了共享参数不会出现在冲突的梯度,让声纹识别和唤醒词识别任务的损失收敛更加平滑,并且提高唤醒成功率。[0146]此外,本公开充分考虑声纹识别任务和唤醒词任务的特点,通过自动搜索架构搜索到合适的网络结构,设计的损失函数优化了训练模型的过程,进一步提高了唤醒成功率。[0147]在一个实施例中,神经网络模型包括输入节点、多个中间节点和两个输出节点,中间节点包括至少两个第一目标网络结构和至少一个第二目标网络结构,至少两个第一目标网络结构的结构相同,一个中间节点的输入为相邻前两个中间节点的输出。[0148]示例性的,堆叠n个训练好的目标网络结构,以构建整个神经网络模型,n为大于5的正整数,该神经网络模型为卷积神经网络模型,其卷积神经网络结构如图6所示,输入节点input用于语谱图的输入,卷积神经网络模型的实现函数为conv2d,采用batchnorm2d函数对数据进行归一化处理,这使得数据不会因为数据过大而导致网络性能的不稳定。第一目标网络结构为normalcell,第二目标网络结构为reductioncell,normalcell和reductioncell共享网络结构参数,在1/3*n处和2/3*n处使用reductioncell来降低空间分辨率,采用adaptiveavgpool2d函数进行全局池化,全局池化处理之后是全连接操作fc,之后同时输出声纹特征向量和唤醒词。[0149]例如,在对获取到的待识别语音进行处理之前,需要构建神经网络模型,并对神经网络模型进行训练;[0150]首先确定需要训练模型的语音数据集,例如,确定语音数据集为mobvoihotwords,选取语音数据集中说话时长分布最集中的m个说话人的语音数据,m为正整数,去除语音中静默音,对每一个说话人的语音每隔3秒切割为一个语音文件,再将这些3秒时长的语音文件转换为360dpi×360dpi的语谱图,设置帧长为25毫秒、帧移为10毫秒。[0151]使用mgda算法构建训练损失函数和验证损失函数,以获得最优的网络操作权重和最优的网络结构参数。通过最小化损失函数来迭代搜索,最终确定目标单元结构、网络结构参数和网络操作权重。[0152]如图6所示,堆叠n个训练好的目标单元架构,在1/3*n、2/3*n处使用reductioncell,其余使用normalcell进行堆叠以构建整个卷积神经网络模型,卷积神经网络模型的输出为两个标签,分别为声纹特征向量和唤醒词,使用mgda算法构建训练损失函数和验证损失函数,在每次计算唤醒词识别和声纹识别任务梯度后,得到公共梯度下降方向来更新共享参数,将经过处理的语音数据集输入到卷积神经网络模型中,通过最小化损失函数来迭代训练,最终确定卷积神经网络模型的权重参数。[0153]随后对注册语音做语音活体检测,去除注册语音中对识别没有意义的静默音,若有效音频时长少于2000毫秒,则直接输出注册失败,对除去静默音的注册语音的音频设置帧长为25毫秒、帧移为10毫秒,将其进行处理转化为语谱图作为卷积神经网络模型输入,将其注册语音的语谱图输入到卷积神经网络模型中进行声纹特征提取和语音转写文字,得到注册唤醒词标签和注册特征向量,并将注册唤醒词标签和注册特征向量存入注册库中。[0154]对待识别语音做语音活体检测,去除语音中对识别没有意义的静默音,若有效音频时长少于2000毫秒,则直接唤醒失败,对除去静默音的待识别语音的音频设置帧长为25毫秒、帧移为10毫秒,将其进行处理转化为语谱图作为卷积神经网络模型输入,将待识别语音的语谱图输入到卷积神经网络模型中进行声纹特征提取和语音转写唤醒词,得到声纹特征向量和唤醒词,根据对应关系表将待识别语音的唤醒词与对应的注册唤醒词标签进行匹配,若存在与注册唤醒词标签相匹配的唤醒词,则根据注册唤醒词标签,得到注册特征向量,将待识别语音的声纹特征向量与对应的注册特征向量计算余弦相似度,得到向量相似度,在所述向量相似度大于预设的阈值的情况下,进行语音唤醒。[0155]本公开唤醒词任务和声纹识别任务共享一个神经网络模型以达到训练模型占用更少的内存量、唤醒速度加快。[0156]基于同一发明构思,本公开实施例中还提供了一种语音唤醒装置,如下面的实施例所述。由于该装置实施例解决问题的原理与上述方法实施例相似,因此该装置实施例的实施可以参见上述方法实施例的实施,重复之处不再赘述。[0157]图7示出本公开实施例中一种语音唤醒装置示意图,如图7所示,该装置包括、处理模块71、查询模块72、向量相似度计算模块73和语音唤醒模块74,其中:[0158]处理模块71,用于根据预先训练的神经网络模型对待识别语音的语谱图进行处理,得到待识别语音的声纹特征向量和唤醒词;[0159]查询模块72,用于根据预设的对应关系表,查询与唤醒词对应的注册唤醒词标签,并根据注册唤醒词标签,得到注册特征向量;[0160]向量相似度计算模块73,用于根据声纹特征向量和注册特征向量,计算向量相似度;[0161]语音唤醒模块74,用于在向量相似度大于预设的阈值的情况下,进行语音唤醒。[0162]在一个实施例中,处理模块71,还用于在根据预先训练的神经网络模型对待识别语音的语谱图进行处理,得到待识别语音的声纹特征向量和唤醒词之前,获取注册语音的语谱图;[0163]根据预先训练的神经网络模型对注册语音的语谱图进行处理,得到注册特征向量和注册唤醒词标签;[0164]根据注册特征向量和注册唤醒词标签构建对应关系表。[0165]在一个实施例中,处理模块71,还用于在根据预先训练的神经网络模型对待识别语音的语谱图进行处理,得到待识别语音的声纹特征向量和唤醒词之前,[0166]去除待识别语音中的静默音,得到有效待识别语音;[0167]当有效待识别语音的有效音频时长大于或等于预设的时长阈值时,对所述有效待识别语音进行处理,得到待识别语音的语谱图的操作。[0168]在一个实施例中,处理模块71,还用于当有效待识别语音的有效音频时长小于预设的时长阈值时,语音唤醒失败。[0169]在一个实施例中,处理模块71,还用于将待识别语音分割成多个时长为第一时长的语音文件,语音文件的帧长为第二时长、帧移为第三时长;[0170]将语音文件转化为语谱图。[0171]在一个实施例中,处理模块71,还用于对获取到的语音数据集进行处理,得到语音数据集的语谱图;[0172]处理模块71,还用于根据语音数据集的语谱图和对应的标签,训练初始神经网络模型,其中,初始神经网络模型包括第一目标网络结构和第二目标网络结构,若满足预设的第一训练停止条件,则将初始神经网络模型作为目标神经网络模型。[0173]在一个实施例中,语音数据集的语谱图包括用于模型训练的训练数据集和用于验证模型的测试数据集,训练数据集和测试数据集按照预设比例划分。[0174]在一个实施例中,第一训练停止条件包括训练损失小于第一阈值或训练轮数大于第二阈值。[0175]在一个实施例中,语音数据集的语谱图还包括验证数据集;[0176]第一目标网络结构和第二目标网络结构通过以下方式得到:[0177]处理模块71,还用于基于mgda算法构建训练损失函数;[0178]根据训练数据集、带有网络结构参数的初始网络结构和训练损失函数,固定网络结构的网络结构参数,通过训练获得网络操作权重;[0179]处理模块71,还用于基于mgda算法构建验证损失函数;[0180]固定网络操作权重,根据验证数据集和验证损失函数,通过训练获得新的网络结构参数,以得到过程网络结构;[0181]计算语音唤醒词识别和声纹识别梯度,得到公共梯度下降方向的更新共享参数,重新进行训练,直至满足预设的第二训练停止条件,得到目标网络结构,目标网络结构包括第一目标网络结构和第二目标网络结构中的一种。[0182]在一个实施例中,神经网络模型包括输入节点、多个中间节点和两个输出节点,中间节点包括至少两个第一目标网络结构和至少一个第二目标网络结构,至少两个第一目标网络结构的结构相同,一个中间节点的输入为相邻前两个中间节点的输出。[0183]所属

技术领域


:的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。[0184]下面参照图8来描述根据本公开的这种实施方式的电子设备800。图8显示的电子设备800仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。[0185]如图8所示,电子设备800以通用计算设备的形式表现。电子设备800的组件可以包括但不限于:上述至少一个处理单元810、上述至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830。[0186]其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元810执行,使得所述处理单元810执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元810可以执行上述方法实施例的如下步骤:根据预先训练的神经网络模型对待识别语音的语谱图进行处理,得到待识别语音的声纹特征向量和唤醒词;根据预设的对应关系表,查询与唤醒词对应的注册唤醒词标签,并根据注册唤醒词标签,得到注册特征向量;根据声纹特征向量和注册特征向量,计算向量相似度;在向量相似度大于预设的阈值的情况下,进行语音唤醒。[0187]存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(ram)8201和/或高速缓存存储单元8202,还可以进一步包括只读存储单元(rom)8203。[0188]存储单元820还可以包括具有一组(至少一个)程序模块8205的程序/实用工具8204,这样的程序模块8205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。[0189]总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。[0190]电子设备800也可以与一个或多个外部设备840(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备800交互的设备通信,和/或与使得该电子设备800能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(i/o)接口850进行。并且,电子设备800还可以通过网络适配器860与一个或者多个网络(例如局域网(lan),广域网(wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器860通过总线830与电子设备800的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备800使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、raid系统、磁带驱动器以及数据备份存储系统等。[0191]通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。[0192]在本公开的示例性实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质可以是可读信号介质或者可读存储介质。图9示出本公开实施例中提供的一种计算机可读存储介质示意图,如图9所示,该计算机可读存储介质900上存储有能够实现本公开上述方法的程序产品。在本公开的示例性实施例中,还提供了一种计算机程序产品,计算机程序产品包括计算机程序或计算机指令,计算机程序或计算机指令由处理器加载并执行,以使计算机实现上述任一语音唤醒方法。[0193]本公开中的计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。[0194]在本公开中,计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。[0195]可选地,计算机可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、rf等等,或者上述的任意合适的组合。[0196]在具体实施时,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、c++等,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(lan)或广域网(wan),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。[0197]应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。[0198]此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。[0199]通过以上实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。[0200]本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本

技术领域


:中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围由所附的权利要求指出。当前第1页12当前第1页12

技术特征:


1.一种语音唤醒方法,其特征在于,包括:根据预先训练的神经网络模型对待识别语音的语谱图进行处理,得到所述待识别语音的声纹特征向量和唤醒词;根据预设的对应关系表,查询与所述唤醒词对应的注册唤醒词标签,并根据所述注册唤醒词标签,得到注册特征向量;根据所述声纹特征向量和所述注册特征向量,计算向量相似度;在所述向量相似度大于预设的阈值的情况下,进行语音唤醒。2.根据权利要求1所述的语音唤醒方法,其特征在于,在根据预先训练的神经网络模型对待识别语音的语谱图进行处理,得到所述待识别语音的声纹特征向量和唤醒词之前,所述方法还包括:获取注册语音的语谱图;根据预先训练的神经网络模型对所述注册语音的语谱图进行处理,得到注册特征向量和注册唤醒词标签;根据所述注册特征向量和所述注册唤醒词标签构建所述对应关系表。3.根据权利要求1所述的语音唤醒方法,其特征在于,在根据预先训练的神经网络模型对待识别语音的语谱图进行处理,得到所述待识别语音的声纹特征向量和唤醒词之前,所述方法还包括:去除待识别语音中的静默音,得到有效待识别语音;当所述有效待识别语音的有效音频时长大于或等于预设的时长阈值时,对所述有效待识别语音进行处理,得到所述待识别语音的语谱图。4.根据权利要求3所述的语音唤醒方法,其特征在于,所述方法还包括:当所述有效待识别语音的有效音频时长小于预设的时长阈值时,语音唤醒失败。5.根据权利要求1所述的语音唤醒方法,其特征在于,所述根据预先训练的神经网络模型对待识别语音的语谱图进行处理,得到所述待识别语音的声纹特征向量和唤醒词之前,所述方法还包括:将待识别语音分割成多个时长为第一时长的语音文件,所述语音文件的帧长为第二时长、帧移为第三时长;将所述语音文件转化为语谱图。6.根据权利要求2所述的语音唤醒方法,其特征在于,在根据预先训练的神经网络模型对待识别语音的语谱图进行处理,得到所述待识别语音的声纹特征向量和唤醒词之前,所述方法还包括:对获取到的语音数据集进行处理,得到所述语音数据集的语谱图;根据所述语音数据集的语谱图和对应的标签,训练初始神经网络模型,其中,所述初始神经网络模型包括第一目标网络结构和第二目标网络结构,若满足预设的第一训练停止条件,则将所述初始神经网络模型作为目标神经网络模型。7.根据权利要求6所述的语音唤醒方法,其特征在于,所述语音数据集的语谱图包括用于模型训练的训练数据集和用于验证模型的测试数据集,所述训练数据集和所述测试数据集按照预设比例划分。8.根据权利要求6所述的语音唤醒方法,其特征在于,所述第一训练停止条件包括训练
损失小于第一阈值或训练轮数大于第二阈值。9.根据权利要求6所述的语音唤醒方法,其特征在于,所述语音数据集的语谱图还包括验证数据集;所述第一目标网络结构和第二目标网络结构通过以下方式得到:基于多梯度下降算法mgda算法构建训练损失函数;根据所述训练数据集、带有网络结构参数的初始网络结构和所述训练损失函数,固定所述网络结构的网络结构参数,通过训练获得网络操作权重;基于mgda算法构建验证损失函数;固定所述网络操作权重,根据所述验证数据集和所述验证损失函数,通过训练获得新的网络结构参数,以得到过程网络结构;计算语音唤醒词识别和声纹识别梯度,得到公共梯度下降方向的更新共享参数,重新进行训练,直至满足预设的第二训练停止条件,得到目标网络结构,所述目标网络结构包括所述第一目标网络结构和第二目标网络结构中的一种。10.根据权利要求1所述的语音唤醒方法,其特征在于,所述神经网络模型包括输入节点、多个中间节点和两个输出节点,中间节点包括至少两个第一目标网络结构和至少一个第二目标网络结构,所述至少两个第一目标网络结构的结构相同,一个中间节点的输入为相邻前两个中间节点的输出。11.一种语音唤醒装置,其特征在于,包括:处理模块,用于根据预先训练的神经网络模型对待识别语音的语谱图进行处理,得到所述待识别语音的声纹特征向量和唤醒词;查询模块,用于根据预设的对应关系表,查询与所述唤醒词对应的注册唤醒词标签,并根据所述注册唤醒词标签,得到注册特征向量;向量相似度计算模块,用于根据所述声纹特征向量和所述注册特征向量,计算向量相似度;语音唤醒模块,用于在所述向量相似度大于预设的阈值的情况下,进行语音唤醒。12.一种电子设备,其特征在于,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1-10中任意一项所述语音唤醒方法。13.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-10中任意一项所述的语音唤醒方法。

技术总结


本公开提供了一种语音唤醒方法、装置、电子设备和计算机可读存储介质,涉及语音处理技术领域。所述方法包括:根据预先训练的神经网络模型对待识别语音的语谱图进行处理,得到待识别语音的声纹特征向量和唤醒词;根据预设的对应关系表,查询与唤醒词对应的注册唤醒词标签,并根据注册唤醒词标签,得到注册特征向量;根据声纹特征向量和注册特征向量,计算向量相似度;在向量相似度大于预设的阈值的情况下,进行语音唤醒。利用一个神经网络模型同时实现声纹识别和语音唤醒词匹配这两个任务,解决了两个任务分别构建模型导致的参数冗余、占用内存过大的问题,本公开流程更加简洁,唤醒速度更快。更快。更快。


技术研发人员:

成莎莎 赵德欣 沈浩 杨杰 李晓宇

受保护的技术使用者:

中国电信股份有限公司

技术研发日:

2022.08.08

技术公布日:

2022/11/8

本文发布于:2024-09-22 06:37:15,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/3/11165.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:语音   向量   所述   神经网络
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议