CN110379433B - 身份验证的方法、装置、计算机设备及存储介质 - Google Patents
身份验证的方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN110379433B CN110379433B CN201910711306.0A CN201910711306A CN110379433B CN 110379433 B CN110379433 B CN 110379433B CN 201910711306 A CN201910711306 A CN 201910711306A CN 110379433 B CN110379433 B CN 110379433B
- Authority
- CN
- China
- Prior art keywords
- sample
- target
- user
- voice
- voice frame
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 77
- 238000012795 verification Methods 0.000 claims abstract description 274
- 239000013598 vector Substances 0.000 claims abstract description 208
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 101
- 230000011218 segmentation Effects 0.000 claims abstract description 35
- 238000000605 extraction Methods 0.000 claims abstract description 33
- 238000011176 pooling Methods 0.000 claims abstract description 18
- 238000012549 training Methods 0.000 claims description 46
- 230000006870 function Effects 0.000 claims description 23
- 230000008859 change Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 9
- 238000007476 Maximum Likelihood Methods 0.000 claims description 6
- 238000012163 sequencing technique Methods 0.000 claims description 4
- 238000012545 processing Methods 0.000 abstract description 29
- 238000004364 calculation method Methods 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 6
- 230000004044 response Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 238000011478 gradient descent method Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/31—User authentication
- G06F21/32—User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/06—Decision making techniques; Pattern matching strategies
- G10L17/14—Use of phonemic categorisation or speech recognition prior to speaker recognition or verification
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Game Theory and Decision Science (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Telephonic Communication Services (AREA)
Abstract
本申请涉及一种身份验证的方法、装置、计算机设备及存储介质。方法包括:获取目标用户根据目标动态验证码输入的语音数据;根据预设的分段算法,将语音数据划分为至少一个语音帧;针对每个语音帧,根据预设的声学特征提取算法,提取该语音帧对应的声学特征向量;将该语音帧对应的声学特征向量输入至预先训练的身份验证多任务模型,输出该语音帧对应的中间用户特征向量和第一后验概率集合;根据各语音帧对应的中间用户特征向量和预设的池化算法,确定目标用户对应的第一用户特征向量;根据目标用户对应的第一用户特征向量和各语音帧对应的第一后验概率集合,对目标用户进行身份验证。采用本申请可以降低服务器的计算复杂度,提高服务器的处理效率。
Description
技术领域
本申请涉及安全技术领域,特别是涉及一种身份验证的方法、装置、计算机设备及存储介质。
背景技术
目前,基于生物识别(比如指纹、人脸、语音等)的身份验证技术和基于动态验证码的身份验证技术是两种较为常用的身份验证技术。为了进一步提高身份验证的安全性,可以采用基于语音的身份验证技术和动态验证码相结合的方式,对用户进行身份验证。
在传统的结合方式中,用户终端通过语音采集设备采集用户根据动态验证码输入的语音数据,并将该语音数据发送至部署有声纹识别模型和语音识别模型的服务器。服务器接收到该语音数据后,可以将该语音数据输入至声纹识别模型,输出该用户对应的目标用户特征向量。同时,服务器还可以将该语音数据输入至语音识别模型,输出该语音数据对应的目标文本。如果该目标用户特征向量与预先存储的该用户的用户特征向量相近,且该目标文本与动态验证码相同,则服务器可以确定该用户为合法用户。否则,服务器可以确定该用户为非法用户。
基于传统的结合方式,服务器需要两套部署结构、参数均不相同的声纹识别模型和语音识别模型。声纹识别模型和语音识别模型需要独立对用户的语音数据进行处理,才能得到用户特征向量和目标文本,从而造成服务器的计算复杂度较高,导致服务器的处理效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种身份验证的方法、装置、计算机设备及存储介质。
第一方面,提供了一种身份验证的方法,所述方法包括:
获取目标用户根据目标动态验证码输入的语音数据;
根据预设的分段算法,将所述语音数据划分为至少一个语音帧;
针对每个语音帧,根据预设的声学特征提取算法,提取该语音帧对应的声学特征向量;
将该语音帧对应的声学特征向量输入至预先训练的身份验证多任务模型,输出该语音帧对应的中间用户特征向量和第一后验概率集合,所述第一后验概率集合包括各预设发音单元对应的后验概率;
根据各语音帧对应的中间用户特征向量和预设的池化算法,确定所述目标用户对应的第一用户特征向量;
根据所述目标用户对应的第一用户特征向量和所述各语音帧对应的第一后验概率集合,对所述目标用户进行身份验证。
作为一种可选的实施方式,所述身份验证多任务模型包括多任务共享隐含层、声纹识别网络和语音识别网络;
所述将该语音帧对应的声学特征向量输入至预先训练的身份验证多任务模型,输出该语音帧对应的中间用户特征向量和第一后验概率集合,包括:
将该语音帧对应的声学特征向量输入至所述多任务共享隐含层,输出该语音帧对应的中间特征向量;
将该语音帧对应的中间特征向量输入至所述语音识别网络,输出该语音帧对应的发音特征向量和第一后验概率集合;
将该语音帧对应的中间特征向量和发音特征向量输入至所述声纹识别网络,输出该语音帧对应的中间用户特征向量。
作为一种可选的实施方式,所述根据所述目标用户对应的第一用户特征向量和所述各语音帧对应的第一后验概率集合,对所述目标用户进行身份验证,包括:
根据所述各语音帧对应的第一后验概率集合,确定所述目标用户对应的目标动态验证码分数;
如果所述第一用户特征向量与预先存储的所述目标用户对应的第二用户特征向量的相似度大于或等于预设的相似度阈值,且所述目标动态验证码分数大于或等于预设的动态验证码分数阈值,则确定所述目标用户为合法用户;
如果所述第一用户特征向量与所述第二用户特征向量的相似度小于所述预设的相似度阈值,或者所述目标动态验证码分数小于所述预设的动态验证码分数阈值,则确定所述目标用户为非法用户。
作为一种可选的实施方式,所述根据所述各语音帧对应的第一后验概率集合,确定所述目标用户对应的目标动态验证码分数,包括:
获取所述目标动态验证码对应的发音单元序列;
根据所述各语音帧对应的第一后验概率集合、所述发音单元序列和预设的强制对齐算法,确定各语音帧对应的目标发音单元;
针对每个语音帧,在该语音帧对应的第一后验概率集合中,确定该语音帧对应的目标发音单元的后验概率,并确定该目标发音单元的后验概率与预先存储的该目标发音单元的先验概率的乘积,作为该目标发音单元的似然值;
根据所述各语音帧对应的目标发音单元的似然值,确定所述目标用户对应的目标动态验证码分数。
作为一种可选的实施方式,所述获取所述目标动态验证码对应的发音单元序列,包括:
根据所述目标动态验证码和预设的分词算法,确定所述目标动态验证码对应的单词集合;
针对所述单词集合中的每个单词,根据预先存储的单词和发音单元序列的对应关系,确定该单词对应的发音单元序列;
将各单词对应的发音单元序列按照所述各单词在所述目标动态验证码中的顺序进行排序,得到所述目标动态验证码对应的发音单元序列。
作为一种可选的实施方式,所述根据所述各语音帧对应的目标发音单元的似然值,确定所述目标用户对应的目标动态验证码分数,包括:
针对每个语音帧,确定该语音帧对应的目标发音单元的似然值与该语音帧对应的所述各预设发音单元的似然值中的最大似然值的差值,作为该语音帧对应的动态验证码分数;
确定所述各语音帧对应的动态验证码分数的平均值,作为所述目标用户对应的目标动态验证码分数。
作为一种可选的实施方式,所述方法还包括:
获取预先存储的第一训练样本集合,所述第一训练样本集合包括多个样本用户标识和每个样本用户标识对应的第一样本语音数据;
针对所述第一训练样本集合中的每个第一样本语音数据,根据预设的分段算法,将该第一样本语音数据划分为至少一个第一样本语音帧;
针对该第一样本语音数据对应的每个第一样本语音帧,根据预设的声学特征提取算法,提取该第一样本语音帧对应的声学特征向量;
将该第一样本语音数据对应的各第一样本语音帧的声学特征向量输入至待训练的身份验证多任务模型,输出该第一样本语音数据对应的第二后验概率集合,所述第二后验概率集合包括各样本用户标识对应的后验概率;
根据各第一样本语音数据对应的样本用户标识的后验概率,确定所述第一训练样本集合对应的第一代价函数;
根据所述第一代价函数和预设的第一参数更新算法,更新所述待训练的身份验证多任务模型中所述多任务共享隐含层对应的参数、所述声纹识别网络对应的参数和所述语音识别网络对应的参数。
作为一种可选的实施方式,所述方法还包括:
获取预先存储的第二训练样本集合,所述第二训练样本集合包括多个第二样本语音帧和每个第二样本语音帧对应的样本发音单元;
针对所述第二训练样本集合中的每个第二样本语音帧,根据所述预设的声学特征提取算法,提取该第二样本语音帧对应的声学特征向量;
将该第二样本语音帧对应的声学特征向量输入至待训练的身份验证多任务模型,输出该第二样本语音帧对应的第三后验概率集合,所述第三后验概率集合包括各样本发音单元对应的后验概率;
根据各第二样本语音帧对应的样本发音单元的后验概率,确定所述第二训练样本集合对应的第二代价函数;
根据所述第二代价函数和预设的第二参数更新算法,更新所述待训练的身份验证多任务模型中所述多任务共享隐含层对应的参数和所述语音识别网络对应的参数。
作为一种可选的实施方式,所述方法还包括:
获取预先存储的多个验证样本集合,每个验证样本集合包括多个所述样本用户标识和每个样本用户标识对应的第二样本语音数据;
针对每个验证样本集合中的每个第二样本语音数据,根据预设的分段算法,将该第二样本语音数据划分为至少一个第三样本语音帧;
针对该第二样本语音数据对应的每个第三样本语音帧,根据预设的声学特征提取算法,提取该第三样本语音帧对应的声学特征向量;
将该第二样本语音数据对应的各第三样本语音帧的声学特征向量输入至待验证的身份验证多任务模型,输出该第二样本语音数据对应的第四后验概率集合,所述第四后验概率集合包括各样本用户标识对应的后验概率;
如果该第二样本语音数据对应的样本用户标识的后验概率为该第二样本语音数据对应的第四后验概率集合中的最大值,则确定该第二样本语音数据为目标样本语音数据;
确定该验证样本集合中目标样本语音数据的数目与该验证样本集合中第二样本语音数据的总数目的比值,作为该验证样本集合的准确率;
根据各验证样本集合的准确率,确定各验证样本集合对应的准确率的变化率,如果存在连续预设数目个验证样本集合对应的准确率的变化率小于或等于预设的变化率阈值,则确定所述待验证的身份验证多任务模型训练完成。
第二方面,提供了一种身份验证的装置,所述装置包括:
第一获取模块,用于获取目标用户根据目标动态验证码输入的语音数据;
第一划分模块,用于根据预设的分段算法,将所述语音数据划分为至少一个语音帧;
第一提取模块,用于针对每个语音帧,根据预设的声学特征提取算法,提取该语音帧对应的声学特征向量;
第一输出模块,用于将该语音帧对应的声学特征向量输入至预先训练的身份验证多任务模型,输出该语音帧对应的中间用户特征向量和第一后验概率集合,所述第一后验概率集合包括各预设发音单元对应的后验概率;
第一确定模块,用于根据各语音帧对应的中间用户特征向量和预设的池化算法,确定所述目标用户对应的第一用户特征向量;
验证模块,用于根据所述目标用户对应的第一用户特征向量和所述各语音帧对应的第一后验概率集合,对所述目标用户进行身份验证。
第三方面,提供了一种计算机设备,包括存储器及处理器,所述存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取目标用户根据目标动态验证码输入的语音数据;
根据预设的分段算法,将所述语音数据划分为至少一个语音帧;
针对每个语音帧,根据预设的声学特征提取算法,提取该语音帧对应的声学特征向量;
将该语音帧对应的声学特征向量输入至预先训练的身份验证多任务模型,输出该语音帧对应的中间用户特征向量和第一后验概率集合,所述第一后验概率集合包括各预设发音单元对应的后验概率;
根据各语音帧对应的中间用户特征向量和预设的池化算法,确定所述目标用户对应的第一用户特征向量;
根据所述目标用户对应的第一用户特征向量和所述各语音帧对应的第一后验概率集合,对所述目标用户进行身份验证。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取目标用户根据目标动态验证码输入的语音数据;
根据预设的分段算法,将所述语音数据划分为至少一个语音帧;
针对每个语音帧,根据预设的声学特征提取算法,提取该语音帧对应的声学特征向量;
将该语音帧对应的声学特征向量输入至预先训练的身份验证多任务模型,输出该语音帧对应的中间用户特征向量和第一后验概率集合,所述第一后验概率集合包括各预设发音单元对应的后验概率;
根据各语音帧对应的中间用户特征向量和预设的池化算法,确定所述目标用户对应的第一用户特征向量;
根据所述目标用户对应的第一用户特征向量和所述各语音帧对应的第一后验概率集合,对所述目标用户进行身份验证。
本申请实施例提供了一种身份验证的方法、装置、计算机设备及存储介质。服务器获取目标用户根据目标动态验证码输入的语音数据,根据预设的分段算法,将语音数据划分为至少一个语音帧。然后,针对每个语音帧,服务器根据预设的声学特征提取算法,确定该语音帧对应的声学特征向量。之后,服务器将该语音帧对应的声学特征向量输入至预先训练的身份验证多任务模型,输出该语音帧对应的中间用户特征向量和第一后验概率集合。其中,第一后验概率集合包括各预设发音单元对应的后验概率。最后,服务器根据各语音帧对应的中间用户特征向量和预设的池化算法,确定目标用户对应的第一用户特征向量,并根据目标用户对应的第一用户特征向量和各语音帧对应的第一后验概率集合,对目标用户进行身份验证。这样,服务器无需部署两套结构、参数均不相同的声纹识别模型和语音识别模型,仅需要部署一套身份验证多任务模型,即可对用户的语音数据处理,从而降低服务器的计算复杂度,提高服务器的处理效率。
附图说明
图1为本申请实施例提供的一种身份验证***的架构图;
图2为本申请实施例提供的一种身份验证的方法的流程图;
图3为本申请实施例提供的一种身份验证多任务模型的结构示意图;
图4为本申请实施例提供的一种身份验证的方法的流程图;
图5为本申请实施例提供的一种确定目标动态验证码分数的方法流程图;
图6为本申请实施例提供的一种账号注册的方法的流程图;
图7为本申请实施例提供的一种身份验证多任务模型的训练方法的流程图;
图8为本申请实施例提供的一种身份验证多任务模型的验证方法的流程图;
图9为本申请实施例提供的一种身份验证的装置的结构示意图;
图10为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供了一种身份验证的方法,该方法可以应用于身份验证***。图1为本申请实施例提供的一种身份验证***的架构图。如图1所示,该身份验证***包括通过通信网络连接的用户终端和服务器。其中,该通信网络可以为有线网络,也可以为无线网络,还可以为其他类型的通信网络,本申请实施例不作限定;该用户终端可以为具有录音和计算功能的便携式电子设备,比如手机、平板电脑、笔记本电脑等。
用户终端,用于接收用户的账号注册请求和身份验证请求,生成该用户对应的动态验证码,采集用户根据该动态验证码输入的语音数据,并将该用户对应的账号、动态验证码和语音数据发送至服务器;服务器,用于对待训练的身份验证多任务模型进行训练和验证;在账号注册过程中,服务器,还用于根据预设的分段算法,将语音数据划分为至少一个语音帧,将各语音帧对应的声学特征向量输入至身份验证多任务模型,输出各语音帧对应的中间用户特征向量,根据各语音帧对应的中间用户特征向量和预设的池化算法,得到该用户对应的目标用户特征向量,并存储该用户对应的账号和目标用户特征向量;在身份验证过程中,服务器,还用于根据预设的分段算法,将语音数据划分为至少一个语音帧,将各语音帧对应的声学特征向量输入至身份验证多任务模型,输出各语音帧对应的中间用户特征向量和第一后验概率集合,根据各语音帧对应的中间用户特征向量和预设的池化算法,得到该用户对应的目标用户特征向量,根据各语音帧对应的第一后验概率集合,得到目标动态验证码分数,并根据该用户对应的目标用户特征向量和目标动态验证码分数对该用户进行身份验证。
作为一种可选地实施方式,服务器还可以将身份验证多任务模型发送至用户终端,由用户终端基于该身份验证多任务模型对用户输入的语音数据进行处理。本申请实施例以服务器基于该身份验证多任务模型对用户输入的语音数据进行处理为例进行介绍,其他情况与之类似。
下面将结合具体实施方式,对本申请实施例提供的一种用户验证的方法进行详细的说明。如图2所示,具体步骤如下:
步骤201,获取目标用户根据目标动态验证码输入的语音数据。
在实施中,当某一用户(即目标用户)使用该目标用户对应的目标账号登录用户终端时,用户终端可以生成该目标账号对应的目标动态验证码。其中,该用户终端可以在预先存储的候选动态验证码集合中随机选取一个候选动态验证码,作为该目标账号对应的目标动态验证码;该用户终端也可以在预先存储的候选单词集合中,随机选取预设数目个候选单词,并将选取出的预设数目个候选单词进行随机组合,作为该目标账号对应的目标动态验证码;该用户终端还可以采用其他方式生成该目标账号对应的目标动态验证码,本申请实施例不作限定。用户终端生成该目标账号对应的目标动态验证码后,可以在显示界面中显示该目标动态验证码。作为一种可选地实施方式,该用户终端还可以在该显示界面中显示用于提示目标用户朗读该目标动态验证码的提示信息。然后,该用户终端可以启动语音采集装置(比如麦克风),采集该目标用户朗读该目标动态验证码时的语音数据。该用户终端得到该目标用户根据目标动态验证码输入的语音数据后,可以向服务器发送身份验证请求。其中,该身份验证请求中携带有目标账号、目标动态验证码和语音数据。服务器接收到该身份验证请求后,可以对该身份验证请求进行解析,得到该身份验证请求中携带的目标账号、目标动态验证码和语音数据。
步骤202,根据预设的分段算法,将语音数据划分为至少一个语音帧。
服务器中可以预先存储有预设的分段算法。其中,该分段算法可以为分帧加窗算法,也可以为其他类型的分段算法,本申请实施例不作限定。服务器得到语音数据后,可以根据预先存储的分段算法,将该语音数据划分为至少一个语音帧。其中,语音帧为时长约为25毫秒的短时语音片段。
步骤203,针对每个语音帧,根据预设的声学特征提取算法,提取该语音帧对应的声学特征向量。
在实施中,服务器中可以预先存储有声学特征提取算法。针对每个语音帧,服务器可以根据预设的声学特征提取算法,提取该语音帧对应的声学特征向量。其中,声学特征向量可以为梅尔倒谱系数等。
步骤203,将该语音帧对应的声学特征向量输入至预先训练的身份验证多任务模型,输出该语音帧对应的中间用户特征向量和第一后验概率集合。
其中,第一后验概率集合包括各预设发音单元对应的后验概率。
在实施中,服务器中可以预先存储有预先训练的身份验证多任务模型。针对语音帧集合中的每个语音帧,服务器得到该语音帧对应的声学特征向量后,可以将该语音帧对应的声学特征向量输入至该身份验证多任务模型。该身份验证多任务模型则可以输出该语音帧对应的中间用户特征向量和第一后验概率集合。其中,该第一后验概率集合包括该身份验证多任务模型中各预设发音单元对应的后验概率。
图3为本申请实施例提供的一种身份验证多任务模型的结构示意图。如图3所示,该身份验证多任务模型包括多任务共享隐含层、声纹识别网络和语音识别网络。其中,针对语音帧集合中的每个语音帧,服务器将该语音帧对应的声学特征向量输入至预先训练的身份验证多任务模型,输出该语音帧对应的中间用户特征向量和第一后验概率集合的处理过程如下:
步骤一,将该语音帧对应的声学特征向量输入至多任务共享隐含层,输出该语音帧对应的中间特征向量。
在实施中,针对语音帧集合中的每个语音帧,服务器可以将该语音帧对应的声学特征向量输入至该身份验证多任务模型中的多任务共享隐含层。该多任务共享隐含层则可以输出该语音帧对应的中间特征向量。
步骤二,将该语音帧对应的中间特征向量输入至语音识别网络,输出该语音帧对应的发音特征向量和第一后验概率集合。
在实施中,服务器得到该语音帧对应的中间特征向量后,可以将该语音帧对应的中间特征向量输入至语音识别网络。该语音识别网络则可以输出该语音帧对应的发音特征向量和第一后验概率集合。
步骤三,将该语音帧对应的中间特征向量和发音特征向量输入至声纹识别网络,输出该语音帧对应的中间用户特征向量。
在实施中,服务器得到该语音帧对应的中间特征向量和发音特征向量后,可以将该语音帧对应的中间特征向量和发音特征向量输入至声纹识别网络。该声纹识别网络则可以输出该语音帧对应的中间用户特征向量。
在本申请实施例中,相比于传统声纹识别模型,服务器将多任务共享隐含层输出的语音帧对应的中间特征向量和语音识别网络输出的语音帧对应的发音特征向量共同输入至声纹识别网络,从而提高了声纹识别网络输出语音帧对应的用户特征向量的准确率。
步骤205,根据各语音帧对应的中间用户特征向量和预设的池化算法,确定目标用户对应的第一用户特征向量。
在实施中,服务器中可以预先存储有池化算法。服务器得到各语音帧对应的中间用户特征向量后,可以根据预设的池化算法对各语音帧对应的中间用户特征向量进行池化处理,得到目标用户对应的第一用户特征向量。
步骤206,根据目标用户对应的第一用户特征向量和各语音帧对应的第一后验概率集合,对目标用户进行身份验证。
在实施中,服务器得到目标用户对应的第一用户特征向量和各语音帧对应的第一后验概率集合后,可以根据目标用户对应的第一用户特征向量和各语音帧对应的第一后验概率集合,对目标用户进行身份验证。这样,服务器无需部署两套结构、参数均不相同的声纹识别模型和语音识别模型,仅需要部署一套身份验证多任务模型,即可对用户的语音数据处理,从而降低服务器的计算复杂度,提高服务器的处理效率。
其中,如图4所示,服务器根据目标用户对应的第一用户特征向量和各语音帧对应的第一后验概率集合,对目标用户进行身份验证的处理过程如下:
步骤401,根据各语音帧对应的第一后验概率集合,确定目标用户对应的目标动态验证码分数。
在实施中,服务器得到各语音帧对应的第一后验概率集合后,可以进一步根据各语音帧对应的第一后验概率集合,确定目标用户对应的目标动态验证码分数。服务器得到目标用户对应的第一用户特征向量和目标动态验证码分数后,可以进一步判断第一用户特征向量与预先存储的该目标用户(也即身份验证请求中携带的目标账号)对应的第二用户特征向量是否相同,且目标动态验证码分数是否大于或等于预设的动态验证码分数阈值。如果第一用户特征向量与预先存储的目标用户对应的第二用户特征向量的相似度大于或等于预设的相似度阈值,且目标动态验证码分数大于或等于预设的动态验证码分数阈值,则执行步骤402。如果第一用户特征向量与第二用户特征向量的相似度小于预设的相似度阈值,或者目标动态验证码分数小于预设的动态验证码分数阈值,则执行步骤403。其中,该相似度可以为欧式相似度,也可以为余弦相似度,还可以为其他类型的相似度,本申请实施例不作限定。
图5为本申请实施例提供的一种确定目标动态验证码分数的方法流程图,如图5所示,服务器根据各语音帧对应的第一后验概率集合,确定目标用户对应的目标动态验证码分数的处理过程如下:
步骤501,获取目标动态验证码对应的发音单元序列。
在实施中,服务器接收到该身份验证请求后,可以对该身份验证请求进行解析,得到该身份验证请求中携带的目标动态验证码。然后,服务器可以进一步获取目标动态验证码对应的发音单元序列。其中,服务器获取目标动态验证码对应的发音单元序列的处理过程如下:
步骤一,根据目标动态验证码和预设的分词算法,确定目标动态验证码对应的单词集合。
在实施中,服务器中可以预先存储有分词算法。服务器得到目标动态验证码后,可以根据预设的分词算法,对该目标动态验证码进行分词处理,得到该目标动态验证码对应的单词集合。例如,目标动态验证码为“清华大学”,服务器对该目标动态验证码进行分词处理后,得到该目标动态验证码对应的单词集合{“清华”,“大学”}。
步骤二,针对单词集合中的每个单词,根据预先存储的单词和发音单元序列的对应关系,确定该单词对应的发音单元序列。
在实施中,服务器中可以预先存储有单词和发音单元序列的对应关系(也可称为发音字典)。表一为服务器中预先存储的单词和发音单元序列的对应关系,如表一所示。
表一
序号 | 单词 | 发音单元序列 |
1 | 北京 | b ei3 j ing1 |
2 | 清华 | q ing1 h ua2 |
3 | 大学 | d a4 x ve2 |
4 | 航天 | h ang2 t ian1 |
服务器得到目标动态验证码对应的单词集合后,针对单词集合中的每个单词,服务器可以根据预先存储的单词和发音单元序列的对应关系,确定该单词对应的发音单元序列。
步骤三,将各单词对应的发音单元序列按照各单词在目标动态验证码中的顺序进行排序,得到目标动态验证码对应的发音单元序列。
在实施中,服务器得到各单词对应的发音单元序列后,可以按照各单词在目标动态验证码中的顺序将各单词对应的发音单元序列进行排序,得到目标动态验证码对应的发音单元序列。例如,目标动态验证码为“清华大学”,目标动态验证码对应的发音单元序列为“q ing1 h ua2 d a4 x ve2”。
步骤502,根据各语音帧对应的第一后验概率集合、发音单元序列和预设的强制对齐算法,确定各语音帧对应的目标发音单元。
在实施中,服务器中可以预先存储有强制对齐算法。该强制对齐算法可以为维特比算法,也可以为其他类型的强制对齐算法,本申请实施例不作限定。服务器得到各语音帧对应的第一后验概率集合和目标动态验证码对应的发音单元序列后,可以将各语音帧与发音单元序列进行强制对齐,也即得到各语音帧在该发音单元序列中对应的起始时间和结束时间,从而得到各语音帧对应的目标发音单元。
步骤503,针对每个语音帧,在该语音帧对应的第一后验概率集合中,确定该语音帧对应的目标发音单元的后验概率,并确定该目标发音单元的后验概率与预先存储的该目标发音单元的先验概率的乘积,作为该目标发音单元的似然值。
在实施中,服务器中可以预先存储有各预设的发音单元的先验概率。服务器得到各语音帧对应的目标发音单元后,针对每个语音帧,服务器可以在该语音帧对应的第一后验概率集合中,确定该语音帧对应的目标发音单元的后验概率。然后,服务器可以在预先存储的各预设的发音单元的先验概率中确定该目标发音单元的先验概率。之后,服务器可以计算该目标发音单元的后验概率与该目标发音单元的先验概率的乘积,得到该目标发音单元的似然值。
步骤504,根据各语音帧对应的目标发音单元的似然值,确定目标用户对应的目标动态验证码分数。
在实施中,服务器得到各语音帧对应的目标发音单元的似然值后,可以根据各语音帧对应的目标发音单元的似然值,确定目标用户对应的目标动态验证码分数。其中,服务器根据各语音帧对应的目标发音单元的似然值,确定目标用户对应的目标动态验证码分数的处理过程如下:
步骤一,针对每个语音帧,确定该语音帧对应的目标发音单元的似然值与该语音帧对应的各预设发音单元的似然值中的最大似然值的差值,作为该语音帧对应的动态验证码分数。
在实施中,服务器得到该语音帧对应的目标发音单元的似然值后,服务器可以在该语音帧对应的各预设发音单元的似然值中确定最大似然值。然后,针对每个语音帧,服务器可以计算该语音帧对应的目标发音单元的似然值与最大似然值的差值,得到该语音帧对应的动态验证码分数。
步骤二,确定各语音帧对应的动态验证码分数的平均值,作为目标用户对应的目标动态验证码分数。
在实施中,服务器得到各语音帧对应的动态验证码分数后,可以计算各语音帧对应的动态验证码分数的平均值,作为目标用户对应的目标动态验证码分数。
传统的语音识别模型采用解码方式输出语音数据对应的文本内容,由于采用解码方式需要考虑语音数据对应的声学特征向量与发音单元之间、发音单元与单词之间、单词与单词之间的相互联系,并需要在较大的候选词表中进行解码操作,才能得到语音数据对应的最有可能的文本内容,导致传统的语音识别模型的计算复杂度较高。本申请实施例中,服务器得到各语音帧对应的各预设发音单元的后验概率后,根据动态验证码对应的发音单元序列和强制对齐算法,确定各语音帧对应的目标发音单元,并确定各语音帧对应的目标发音单元的似然值。然后,服务器可以根据各语音帧对应的目标发音单元的似然值确定目标动态验证码分数,从而降低计算复杂度。
步骤402,确定目标用户为合法用户。
在实施中,如果第一用户特征向量与预先存储的目标用户对应的第二用户特征向量的相似度大于或等于预设的相似度阈值,且目标动态验证码分数大于或等于预设的动态验证码分数阈值,则服务器可以确定该目标用户为合法用户。然后,服务器可以向用户终端发送身份验证成功响应。该用户终端接收到该身份验证成功响应后,允许目标用户使用该目标账号登录该用户终端。
步骤403,确定目标用户为非法用户。
在实施中,如果第一用户特征向量与第二用户特征向量的相似度小于预设的相似度阈值,或者目标动态验证码分数小于预设的动态验证码分数阈值,则服务器确定该目标用户为非法用户。然后,服务器可以向用户终端发送身份验证失败响应。该用户终端接收到该身份验证失败响应后,拒绝目标用户使用该目标账号登录该用户终端。
本申请实施例提供了一种身份验证的方法。服务器获取目标用户根据目标动态验证码输入的语音数据,根据预设的分段算法,将语音数据划分为至少一个语音帧。然后,针对每个语音帧,服务器根据预设的声学特征提取算法,确定该语音帧对应的声学特征向量。之后,服务器将该语音帧对应的声学特征向量输入至预先训练的身份验证多任务模型,输出该语音帧对应的中间用户特征向量和第一后验概率集合。其中,第一后验概率集合包括各预设发音单元对应的后验概率。最后,服务器根据各语音帧对应的中间用户特征向量和预设的池化算法,确定目标用户对应的第一用户特征向量,并根据目标用户对应的第一用户特征向量和各语音帧对应的第一后验概率集合,对目标用户进行身份验证。这样,服务器无需部署两套结构、参数均不相同的声纹识别模型和语音识别模型,仅需要部署一套身份验证多任务模型,即可对用户的语音数据处理,从而降低服务器的计算复杂度,提高服务器的处理效率。
本申请实施例还提供了一种账号注册的方法,如图6所示,具体处理过程如下:
步骤601,获取目标用户根据目标动态验证码输入的语音数据。
在实施中,当某一用户(即目标用户)创建该目标用户登录用户终端对应的目标账号时,该目标用户可以在该用户终端的账号注册界面中的账号输入框中输入该目标用户的目标账号。然后,用户终端可以生成该目标账号对应的目标动态验证码。其中,用户终端生成该目标账号对应的目标动态验证码的处理过程与步骤201中用户终端生成该目标账号对应的目标动态验证码的处理过程类似,此处不再赘述。用户终端生成该目标账号对应的目标动态验证码后,可以在显示界面中显示该目标动态验证码。作为一种可选地实施方式,该用户终端还可以在该显示界面中显示用于提示目标用户朗读该目标动态验证码的提示信息。然后,该用户终端可以启动语音采集装置(比如麦克风),采集该目标用户朗读该目标动态验证码时的语音数据。该用户终端得到该目标用户根据目标动态验证码输入的语音数据后,可以向服务器发送账号注册请求。其中,该账号注册请求中携带有目标账号、目标动态验证码和语音数据。服务器接收到该账号注册请求后,可以对该账号注册请求进行解析,得到该账号注册请求中携带的目标账号、目标动态验证码和语音数据。
步骤602,根据预设的分段算法,将语音数据划分为至少一个语音帧。
步骤603,针对每个语音帧,根据预设的声学特征提取算法,提取该语音帧对应的声学特征向量。
步骤604,将该语音帧对应的声学特征向量输入至预先训练的身份验证多任务模型,输出该语音帧对应的中间用户特征向量。
步骤605,根据各语音帧对应的中间用户特征向量和预设的池化算法,确定目标用户对应的目标用户特征向量。
在实施中,步骤602至步骤605的处理过程与上述身份验证的方法步骤中服务器确定目标用户对应的第一用户特征向量的处理过程类似,此处不再赘述。
步骤606,存储目标账号和目标用户特征向量的对应关系。
在实施中,服务器得到目标用户对应的目标用户特征向量后,可以将该目标用户对应的目标账号和目标用户特征向量的对应关系存储至本地,以便对该目标用户进行身份验证。
本申请实施例还提供了一种身份验证多任务模型的训练方法,如图7所示,具体处理过程如下:
步骤701,初始化待训练的身份验证多任务模型。
在实施中,服务器中可以预先存储有待训练的身份验证多任务模型。当服务器需要对待训练的身份验证多任务模型进行训练时,服务器可以随机初始化待训练的身份验证多任务模型中的参数。
步骤702A,获取预先存储的第一训练样本集合。
其中,第一训练样本集合包括多个样本用户标识和每个样本用户标识对应的第一样本语音数据。
步骤702B,获取预先存储的第二训练样本集合。
其中,第二训练样本集合包括多个第二样本语音帧和每个第二样本语音帧对应的样本发音单元。
在实施中,服务器中可以预先存储有多个第一训练样本集合和多个第二训练样本集合。其中,第一训练样本集合包括多个样本用户标识和每个样本用户标识对应的第一样本语音数据;第二训练样本集合包括多个第二样本语音帧和每个第二样本语音帧对应的样本发音单元。服务器对待训练的身份验证多任务模型中的参数进行初始化后,可以获取预先存储的第一预设数目个第一训练样本集合和第二预设数目个第二训练样本集合。
步骤703,针对第一训练样本集合中的每个第一样本语音数据,根据预设的分段算法,将该第一样本语音数据划分为至少一个第一样本语音帧。
在实施中,步骤703的处理过程与步骤202的处理过程类似,此处不再赘述。
步骤704A,针对该第一样本语音数据对应的每个第一样本语音帧,根据预设的声学特征提取算法,提取该第一样本语音帧对应的声学特征向量。
步骤704B,针对第二训练样本集合中的每个第二样本语音帧,根据预设的声学特征提取算法,提取该第二样本语音帧对应的声学特征向量。
在实施中,步骤704A和步骤704B的处理过程与步骤203的处理过程类似,此处不再赘述。
步骤705A,将该第一样本语音数据对应的各第一样本语音帧的声学特征向量输入至待训练的身份验证多任务模型,输出该第一样本语音数据对应的第二后验概率集合。
其中,第二后验概率集合包括各样本用户标识对应的后验概率。
在实施中,服务器得到该第一样本语音数据对应的各第一样本语音帧的声学特征向量后,可以将该第一样本语音数据对应的各第一样本语音帧的声学特征向量输入至该身份验证多任务模型。该身份验证多任务模型则可以输出该第一样本语音数据对应的第二后验概率集合。其中,该第二后验概率集合包括各样本用户标识对应的后验概率。
步骤705B,将该第二样本语音帧对应的声学特征向量输入至待训练的身份验证多任务模型,输出该第二样本语音帧对应的第三后验概率集合。
其中,第三后验概率集合包括各样本发音单元对应的后验概率。
在实施中,针对每个第二样本语音帧,服务器得到该第二样本语音帧对应的声学特征向量后,可以将该第二样本语音帧对应的声学特征向量输入至该身份验证多任务模型。该身份验证多任务模型则可以输出该第二样本语音帧对应的第三后验概率集合。其中,该第三后验概率集合包括各样本发音单元对应的后验概率。
步骤706A,根据各第一样本语音数据对应的样本用户标识的后验概率,确定第一训练样本集合对应的第一代价函数。
在实施中,服务器得到各第一样本语音数据对应的第二后验概率集合后,针对每个第一样本语音数据,服务器可以在该第一样本语音数据对应的第二后验概率集合中确定该第一样本语音数据对应的样本用户标识的后验概率。然后,服务器可以根据各第一样本语音数据对应的样本用户标识的后验概率,确定第一训练样本集合对应的第一代价函数。
步骤706B,根据各第二样本语音帧对应的样本发音单元的后验概率,确定第二训练样本集合对应的第二代价函数。
在实施中,服务器得到各第二样本语音帧对应的第三后验概率集合后,针对每个第二样本语音帧,服务器可以在该第二样本语音帧对应的第三后验概率集合中确定该第二样本语音帧对应的样本发音单元的后验概率。然后,服务器可以根据各第二样本语音帧对应的样本发音单元的后验概率,确定第二训练样本集合对应的第二代价函数。
步骤707A,根据第一代价函数和预设的第一参数更新算法,更新待训练的身份验证多任务模型中多任务共享隐含层对应的参数、声纹识别网络对应的参数和语音识别网络对应的参数。
在实施中,服务器中可以预先存储有第一参数更新算法。该第一参数更新算法可以为随机梯度下降法。服务器得到第一代价函数后,可以根据第一代价函数和第一参数更新算法,更新待训练的身份验证多任务模型中多任务共享隐含层对应的参数、声纹识别网络对应的参数和语音识别网络对应的参数。
步骤707B,根据第二代价函数和预设的第二参数更新算法,更新待训练的身份验证多任务模型中多任务共享隐含层对应的参数和语音识别网络对应的参数。
在实施中,服务器中可以预先存储有第二参数更新算法。该第二参数更新算法可以为随机梯度下降法。服务器得到第二代价函数后,可以根据第二代价函数和第二参数更新算法,更新待训练的身份验证多任务模型中多任务共享隐含层对应的参数和语音识别网络对应的参数。
本申请实施例还提供了一种身份验证多任务模型的验证方法,如图8所示,具体处理过程如下:
步骤801,获取预先存储的多个验证样本集合。
其中,每个验证样本集合包括多个样本用户标识和每个样本用户标识对应第二样本语音数据。
在实施中,服务器中可以预先存储有多个验证样本集合。其中,每个验证样本集合包括多个样本用户标识和每个样本用户标识对应第三样本语音帧,该多个样本用户标识为上述第一训练样本集合中的样本用户标识。当服务器需要对待验证的身份验证多任务模型验证时,服务器可以获取预先存储的多个验证样本集合。
步骤802,针对每个验证样本集合中的每个第二样本语音数据,根据预设的分段算法,将该第二样本语音数据划分为至少一个第三样本语音帧。
在实施中,步骤802的处理过程与步骤703的处理过程类似,此处不再赘述。
步骤803,针对该第二样本语音数据对应的每个第三样本语音帧,根据预设的声学特征提取算法,提取该第三样本语音帧对应的声学特征向量。
在实施中,步骤803的处理过程与步骤704A及步骤704B的处理过程类似,此处不再赘述。
步骤804,将该第二样本语音数据对应的各第三样本语音帧的声学特征向量输入至待验证的身份验证多任务模型,输出该第二样本语音数据对应的第四后验概率集合。
其中,第四后验概率集合包括各样本用户标识对应的后验概率。
在实施中,步骤804的处理过程与步骤705A的处理过程类似,此处不再赘述。
步骤805,如果该第二样本语音数据对应的样本用户标识的后验概率为该第二样本语音数据对应的第四后验概率集合中的最大值,则确定该第二样本语音数据为目标样本语音数据。
在实施中,服务器得到该第二样本语音数据对应的第四后验概率集合后,可以在第四后验概率集合中确定该第二样本语音数据对应的样本用户标识的后验概率是否为最大值。如果该第二样本语音数据对应的样本用户标识的后验概率为最大值,则服务器可以将该第二样本语音数据确定为目标样本语音数据。
步骤806,确定该验证样本集合中目标样本语音数据的数目与该验证样本集合中第二样本语音数据的总数目的比值,作为该验证样本集合的准确率。
在实施中,针对每个验证样本集合,服务器确定出该验证样本集合中的各目标样本语音数据后,可以进一步计算该验证样本集合中目标样本语音数据的数目与该验证样本集合中第二样本语音数据的总数目的比值,得到该验证样本集合的准确率。
步骤807,根据各验证样本集合的准确率,确定各验证样本集合对应的准确率的变化率,如果存在连续预设数目个验证样本集合对应的准确率的变化率小于或等于预设的变化率阈值,则确定待验证的身份验证多任务模型训练完成。
在实施中,服务器得到各验证样本集合的准确率后,可以计算各验证样本集合对应的变化率。如果存在连续预设数目个验证样本集合的变化率小于或等于预设的变化率阈值,则服务器可以确定待验证的身份验证多任务模型训练完成。
本申请实施例还提供了一种身份验证的装置,如图9所示,该装置包括:
第一获取模块910,用于获取目标用户根据目标动态验证码输入的语音数据;
第一划分模块920,用于根据预设的分段算法,将语音数据划分为至少一个语音帧;
第一提取模块930,用于针对每个语音帧,根据预设的声学特征提取算法,提取该语音帧对应的声学特征向量;
第一输出模块940,用于将该语音帧对应的声学特征向量输入至预先训练的身份验证多任务模型,输出该语音帧对应的中间用户特征向量和第一后验概率集合,第一后验概率集合包括各预设发音单元对应的后验概率;
第一确定模块950,用于根据各语音帧对应的中间用户特征向量和预设的池化算法,确定目标用户对应的第一用户特征向量;
验证模块960,用于根据目标用户对应的第一用户特征向量和各语音帧对应的第一后验概率集合,对目标用户进行身份验证。
作为一种可选的实施方式,身份验证多任务模型包括多任务共享隐含层、声纹识别网络和语音识别网络;
第一输出模块940,具体用于:
将该语音帧对应的声学特征向量输入至多任务共享隐含层,输出该语音帧对应的中间特征向量;
将该语音帧对应的中间特征向量输入至语音识别网络,输出该语音帧对应的发音特征向量和第一后验概率集合;
将该语音帧对应的中间特征向量和发音特征向量输入至声纹识别网络,输出该语音帧对应的中间用户特征向量。
作为一种可选的实施方式,验证模块960,具体用于:
根据各语音帧对应的第一后验概率集合,确定目标用户对应的目标动态验证码分数;
如果第一用户特征向量与预先存储的目标用户对应的第二用户特征向量的相似度大于或等于预设的相似度阈值,且目标动态验证码分数大于或等于预设的动态验证码分数阈值,则确定目标用户为合法用户;
如果第一用户特征向量与第二用户特征向量的相似度小于预设的相似度阈值,或者目标动态验证码分数小于预设的动态验证码分数阈值,则确定目标用户为非法用户。
作为一种可选的实施方式,验证模块960,具体用于:
获取目标动态验证码对应的发音单元序列;
根据各语音帧对应的第一后验概率集合、发音单元序列和预设的强制对齐算法,确定各语音帧对应的目标发音单元;
针对每个语音帧,在该语音帧对应的第一后验概率集合中,确定该语音帧对应的目标发音单元的后验概率,并确定该目标发音单元的后验概率与预先存储的该目标发音单元的先验概率的乘积,作为该目标发音单元的似然值;
根据各语音帧对应的目标发音单元的似然值,确定目标用户对应的目标动态验证码分数。
作为一种可选的实施方式,验证模块960,具体用于:
根据目标动态验证码和预设的分词算法,确定目标动态验证码对应的单词集合;
针对单词集合中的每个单词,根据预先存储的单词和发音单元序列的对应关系,确定该单词对应的发音单元序列;
将各单词对应的发音单元序列按照各单词在目标动态验证码中的顺序进行排序,得到目标动态验证码对应的发音单元序列。
作为一种可选的实施方式,验证模块960,具体用于:
针对每个语音帧,确定该语音帧对应的目标发音单元的似然值与该语音帧对应的各预设发音单元的似然值中的最大似然值的差值,作为该语音帧对应的动态验证码分数;
确定各语音帧对应的动态验证码分数的平均值,作为目标用户对应的目标动态验证码分数。
作为一种可选的实施方式,该装置还包括:
第二获取模块,用于获取预先存储的第一训练样本集合,第一训练样本集合包括多个样本用户标识和每个样本用户标识对应的第一样本语音数据;
第二划分模块,用于针对第一训练样本集合中的每个第一样本语音数据,根据预设的分段算法,将该第一样本语音数据划分为至少一个第一样本语音帧;
第二提取模块,用于针对该第一样本语音数据对应的每个第一样本语音帧,根据预设的声学特征提取算法,提取该第一样本语音帧对应的声学特征向量;
第二输出模块,用于将该第一样本语音数据对应的各第一样本语音帧的声学特征向量输入至待训练的身份验证多任务模型,输出该第一样本语音数据对应的第二后验概率集合,第二后验概率集合包括各样本用户标识对应的后验概率;
第二确定模块,用于根据各第一样本语音数据对应的样本用户标识的后验概率,确定第一训练样本集合对应的第一代价函数;
第一更新模块,用于根据第一代价函数和预设的第一参数更新算法,更新待训练的身份验证多任务模型中多任务共享隐含层对应的参数、声纹识别网络对应的参数和语音识别网络对应的参数。
作为一种可选的实施方式,该装置还包括:
第三获取模块,用于获取预先存储的第二训练样本集合,第二训练样本集合包括多个第二样本语音帧和每个第二样本语音帧对应的样本发音单元;
第三提取模块,用于针对第二训练样本集合中的每个第二样本语音帧,根据预设的声学特征提取算法,提取该第二样本语音帧对应的声学特征向量;
第三输出模块,用于将该第二样本语音帧对应的声学特征向量输入至待训练的身份验证多任务模型,输出该第二样本语音帧对应的第三后验概率集合,第三后验概率集合包括各样本发音单元对应的后验概率;
第三确定模块,用于根据各第二样本语音帧对应的样本发音单元的后验概率,确定第二训练样本集合对应的第二代价函数;
第二更新模块,用于根据第二代价函数和预设的第二参数更新算法,更新待训练的身份验证多任务模型中多任务共享隐含层对应的参数和语音识别网络对应的参数。
作为一种可选的实施方式,该装置还包括:
第四获取模块,用于获取预先存储的多个验证样本集合,每个验证样本集合包括多个样本用户标识和每个样本用户标识对应的第二样本语音数据;
第三划分模块,用于针对每个验证样本集合中的每个第二样本语音数据,根据预设的分段算法,将该第二样本语音数据划分为至少一个第三样本语音帧;
第四提取模块,用于针对该第二样本语音数据对应的每个第三样本语音帧,根据预设的声学特征提取算法,提取该第三样本语音帧对应的声学特征向量;
第四输出模块,用于将该第二样本语音数据对应的各第三样本语音帧的声学特征向量输入至待验证的身份验证多任务模型,输出该第二样本语音数据对应的第四后验概率集合,第四后验概率集合包括各样本用户标识对应的后验概率;
第四确定模块,用于如果该第二样本语音数据对应的样本用户标识的后验概率为该第二样本语音数据对应的第四后验概率集合中的最大值,则确定该第二样本语音数据为目标样本语音数据;
第五确定模块,用于确定该验证样本集合中目标样本语音数据的数目与该验证样本集合中第二样本语音数据的总数目的比值,作为该验证样本集合的准确率;
第六确定模块,用于根据各验证样本集合的准确率,确定各验证样本集合对应的准确率的变化率,如果存在连续预设数目个验证样本集合对应的准确率的变化率小于或等于预设的变化率阈值,则确定待验证的身份验证多任务模型训练完成。
本申请实施例提供了一种身份验证的装置。服务器获取目标用户根据目标动态验证码输入的语音数据,根据预设的分段算法,将语音数据划分为至少一个语音帧。然后,针对每个语音帧,服务器根据预设的声学特征提取算法,确定该语音帧对应的声学特征向量。之后,服务器将该语音帧对应的声学特征向量输入至预先训练的身份验证多任务模型,输出该语音帧对应的中间用户特征向量和第一后验概率集合。其中,第一后验概率集合包括各预设发音单元对应的后验概率。最后,服务器根据各语音帧对应的中间用户特征向量和预设的池化算法,确定目标用户对应的第一用户特征向量,并根据目标用户对应的第一用户特征向量和各语音帧对应的第一后验概率集合,对目标用户进行身份验证。这样,服务器无需部署两套结构、参数均不相同的声纹识别模型和语音识别模型,仅需要部署一套身份验证多任务模型,即可对用户的语音数据处理,从而降低服务器的计算复杂度,提高服务器的处理效率。
在一个实施例中,一种计算机设备,如图10所示,包括存储器及处理器,所述存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述身份验证的方法步骤。
在一个实施例中,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的身份验证的方法的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种身份验证的方法,其特征在于,所述方法包括:
获取目标用户根据目标动态验证码输入的语音数据;
根据预设的分段算法,将所述语音数据划分为至少一个语音帧;
针对每个语音帧,根据预设的声学特征提取算法,提取该语音帧对应的声学特征向量;
将该语音帧对应的声学特征向量输入至身份验证多任务模型中的多任务共享隐含层,输出该语音帧对应的中间特征向量;
将该语音帧对应的中间特征向量输入至所述身份验证多任务模型中的语音识别网络,输出该语音帧对应的发音特征向量和第一后验概率集合,所述第一后验概率集合包括各预设发音单元对应的后验概率;
将该语音帧对应的中间特征向量和发音特征向量输入至所述身份验证多任务模型中的声纹识别网络,输出该语音帧对应的中间用户特征向量;
根据各语音帧对应的中间用户特征向量和预设的池化算法,确定所述目标用户对应的第一用户特征向量;
根据所述目标用户对应的第一用户特征向量和所述各语音帧对应的第一后验概率集合,对所述目标用户进行身份验证。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标用户对应的第一用户特征向量和所述各语音帧对应的第一后验概率集合,对所述目标用户进行身份验证,包括:
根据所述各语音帧对应的第一后验概率集合,确定所述目标用户对应的目标动态验证码分数;
如果所述第一用户特征向量与预先存储的所述目标用户对应的第二用户特征向量的相似度大于或等于预设的相似度阈值,且所述目标动态验证码分数大于或等于预设的动态验证码分数阈值,则确定所述目标用户为合法用户;
如果所述第一用户特征向量与所述第二用户特征向量的相似度小于所述预设的相似度阈值,或者所述目标动态验证码分数小于所述预设的动态验证码分数阈值,则确定所述目标用户为非法用户。
3.根据权利要求2所述的方法,其特征在于,所述根据所述各语音帧对应的第一后验概率集合,确定所述目标用户对应的目标动态验证码分数,包括:
获取所述目标动态验证码对应的发音单元序列;
根据所述各语音帧对应的第一后验概率集合、所述发音单元序列和预设的强制对齐算法,确定各语音帧对应的目标发音单元;
针对每个语音帧,在该语音帧对应的第一后验概率集合中,确定该语音帧对应的目标发音单元的后验概率,并确定该目标发音单元的后验概率与预先存储的该目标发音单元的先验概率的乘积,作为该目标发音单元的似然值;
根据所述各语音帧对应的目标发音单元的似然值,确定所述目标用户对应的目标动态验证码分数。
4.根据权利要求3所述的方法,其特征在于,所述获取所述目标动态验证码对应的发音单元序列,包括:
根据所述目标动态验证码和预设的分词算法,确定所述目标动态验证码对应的单词集合;
针对所述单词集合中的每个单词,根据预先存储的单词和发音单元序列的对应关系,确定该单词对应的发音单元序列;
将各单词对应的发音单元序列按照所述各单词在所述目标动态验证码中的顺序进行排序,得到所述目标动态验证码对应的发音单元序列。
5.根据权利要求3所述的方法,其特征在于,所述根据所述各语音帧对应的目标发音单元的似然值,确定所述目标用户对应的目标动态验证码分数,包括:
针对每个语音帧,确定该语音帧对应的目标发音单元的似然值与该语音帧对应的所述各预设发音单元的似然值中的最大似然值的差值,作为该语音帧对应的动态验证码分数;
确定所述各语音帧对应的动态验证码分数的平均值,作为所述目标用户对应的目标动态验证码分数。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取预先存储的第一训练样本集合,所述第一训练样本集合包括多个样本用户标识和每个样本用户标识对应的第一样本语音数据;
针对所述第一训练样本集合中的每个第一样本语音数据,根据预设的分段算法,将该第一样本语音数据划分为至少一个第一样本语音帧;
针对该第一样本语音数据对应的每个第一样本语音帧,根据预设的声学特征提取算法,提取该第一样本语音帧对应的声学特征向量;
将该第一样本语音数据对应的各第一样本语音帧的声学特征向量输入至待训练的身份验证多任务模型,输出该第一样本语音数据对应的第二后验概率集合,所述第二后验概率集合包括各样本用户标识对应的后验概率;
根据各第一样本语音数据对应的样本用户标识的后验概率,确定所述第一训练样本集合对应的第一代价函数;
根据所述第一代价函数和预设的第一参数更新算法,更新所述待训练的身份验证多任务模型中所述多任务共享隐含层对应的参数、所述声纹识别网络对应的参数和所述语音识别网络对应的参数。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
获取预先存储的第二训练样本集合,所述第二训练样本集合包括多个第二样本语音帧和每个第二样本语音帧对应的样本发音单元;
针对所述第二训练样本集合中的每个第二样本语音帧,根据所述预设的声学特征提取算法,提取该第二样本语音帧对应的声学特征向量;
将该第二样本语音帧对应的声学特征向量输入至待训练的身份验证多任务模型,输出该第二样本语音帧对应的第三后验概率集合,所述第三后验概率集合包括各样本发音单元对应的后验概率;
根据各第二样本语音帧对应的样本发音单元的后验概率,确定所述第二训练样本集合对应的第二代价函数;
根据所述第二代价函数和预设的第二参数更新算法,更新所述待训练的身份验证多任务模型中所述多任务共享隐含层对应的参数和所述语音识别网络对应的参数。
8.根据权利要求6所述的方法,其特征在于,所述方法还包括:
获取预先存储的多个验证样本集合,每个验证样本集合包括多个所述样本用户标识和每个样本用户标识对应的第二样本语音数据;
针对每个验证样本集合中的每个第二样本语音数据,根据预设的分段算法,将该第二样本语音数据划分为至少一个第三样本语音帧;
针对该第二样本语音数据对应的每个第三样本语音帧,根据预设的声学特征提取算法,提取该第三样本语音帧对应的声学特征向量;
将该第二样本语音数据对应的各第三样本语音帧的声学特征向量输入至待验证的身份验证多任务模型,输出该第二样本语音数据对应的第四后验概率集合,所述第四后验概率集合包括各样本用户标识对应的后验概率;
如果该第二样本语音数据对应的样本用户标识的后验概率为该第二样本语音数据对应的第四后验概率集合中的最大值,则确定该第二样本语音数据为目标样本语音数据;
确定该验证样本集合中目标样本语音数据的数目与该验证样本集合中第二样本语音数据的总数目的比值,作为该验证样本集合的准确率;
根据各验证样本集合的准确率,确定各验证样本集合对应的准确率的变化率,如果存在连续预设数目个验证样本集合对应的准确率的变化率小于或等于预设的变化率阈值,则确定所述待验证的身份验证多任务模型训练完成。
9.一种身份验证的装置,其特征在于,所述装置包括:
第一获取模块,用于获取目标用户根据目标动态验证码输入的语音数据;
第一划分模块,用于根据预设的分段算法,将所述语音数据划分为至少一个语音帧;
第一提取模块,用于针对每个语音帧,根据预设的声学特征提取算法,提取该语音帧对应的声学特征向量;
第一输出模块,用于
将该语音帧对应的声学特征向量输入至身份验证多任务模型中的多任务共享隐含层,输出该语音帧对应的中间特征向量,将该语音帧对应的中间特征向量输入至所述身份验证多任务模型中的语音识别网络,输出该语音帧对应的发音特征向量和第一后验概率集合,所述第一后验概率集合包括各预设发音单元对应的后验概率,将该语音帧对应的中间特征向量和发音特征向量输入至所述身份验证多任务模型中的声纹识别网络,输出该语音帧对应的中间用户特征向量;
第一确定模块,用于根据各语音帧对应的中间用户特征向量和预设的池化算法,确定所述目标用户对应的第一用户特征向量;
验证模块,用于根据所述目标用户对应的第一用户特征向量和所述各语音帧对应的第一后验概率集合,对所述目标用户进行身份验证。
10.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至8中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910711306.0A CN110379433B (zh) | 2019-08-02 | 2019-08-02 | 身份验证的方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910711306.0A CN110379433B (zh) | 2019-08-02 | 2019-08-02 | 身份验证的方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110379433A CN110379433A (zh) | 2019-10-25 |
CN110379433B true CN110379433B (zh) | 2021-10-08 |
Family
ID=68257916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910711306.0A Active CN110379433B (zh) | 2019-08-02 | 2019-08-02 | 身份验证的方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110379433B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111312256B (zh) * | 2019-10-31 | 2024-05-10 | 平安科技(深圳)有限公司 | 语音身份识别的方法、装置及计算机设备 |
CN111599382B (zh) * | 2020-07-27 | 2020-10-27 | 深圳市声扬科技有限公司 | 语音分析方法、装置、计算机设备和存储介质 |
CN112927687A (zh) * | 2021-01-25 | 2021-06-08 | 珠海格力电器股份有限公司 | 设备的功能控制方法、装置、***和存储介质 |
CN113178197B (zh) * | 2021-04-27 | 2024-01-09 | 平安科技(深圳)有限公司 | 语音验证模型的训练方法、装置以及计算机设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104424419A (zh) * | 2013-08-30 | 2015-03-18 | 鸿富锦精密工业(武汉)有限公司 | 基于声纹识别技术的加密与解密方法及*** |
CN107481736A (zh) * | 2017-08-14 | 2017-12-15 | 广东工业大学 | 一种声纹身份认证装置及其认证优化方法和*** |
CN108140386A (zh) * | 2016-07-15 | 2018-06-08 | 谷歌有限责任公司 | 说话者验证 |
CN109428719A (zh) * | 2017-08-22 | 2019-03-05 | 阿里巴巴集团控股有限公司 | 一种身份验证方法、装置及设备 |
US20190122669A1 (en) * | 2016-06-01 | 2019-04-25 | Baidu Online Network Technology (Beijing) Co., Ltd. | Methods and devices for registering voiceprint and for authenticating voiceprint |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7539616B2 (en) * | 2006-02-20 | 2009-05-26 | Microsoft Corporation | Speaker authentication using adapted background models |
SG188531A1 (en) * | 2010-09-24 | 2013-04-30 | Univ Singapore | Methods and systems for automated text correction |
CN104834849B (zh) * | 2015-04-14 | 2018-09-18 | 北京远鉴科技有限公司 | 基于声纹识别和人脸识别的双因素身份认证方法及*** |
EP3501024B1 (en) * | 2016-08-22 | 2020-03-18 | Telefonaktiebolaget LM Ericsson (PUBL) | Systems, apparatuses, and methods for speaker verification using artificial neural networks |
CN106971713B (zh) * | 2017-01-18 | 2020-01-07 | 北京华控智加科技有限公司 | 基于密度峰值聚类和变分贝叶斯的说话人标记方法与*** |
CN107104803B (zh) * | 2017-03-31 | 2020-01-07 | 北京华控智加科技有限公司 | 一种基于数字口令与声纹联合确认的用户身份验证方法 |
CN109313892B (zh) * | 2017-05-17 | 2023-02-21 | 北京嘀嘀无限科技发展有限公司 | 稳健的语言识别方法和*** |
US10347241B1 (en) * | 2018-03-23 | 2019-07-09 | Microsoft Technology Licensing, Llc | Speaker-invariant training via adversarial learning |
-
2019
- 2019-08-02 CN CN201910711306.0A patent/CN110379433B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104424419A (zh) * | 2013-08-30 | 2015-03-18 | 鸿富锦精密工业(武汉)有限公司 | 基于声纹识别技术的加密与解密方法及*** |
US20190122669A1 (en) * | 2016-06-01 | 2019-04-25 | Baidu Online Network Technology (Beijing) Co., Ltd. | Methods and devices for registering voiceprint and for authenticating voiceprint |
CN108140386A (zh) * | 2016-07-15 | 2018-06-08 | 谷歌有限责任公司 | 说话者验证 |
CN107481736A (zh) * | 2017-08-14 | 2017-12-15 | 广东工业大学 | 一种声纹身份认证装置及其认证优化方法和*** |
CN109428719A (zh) * | 2017-08-22 | 2019-03-05 | 阿里巴巴集团控股有限公司 | 一种身份验证方法、装置及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110379433A (zh) | 2019-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110379433B (zh) | 身份验证的方法、装置、计算机设备及存储介质 | |
JP7109634B2 (ja) | アイデンティティ認証方法及び装置 | |
CN108447471B (zh) | 语音识别方法及语音识别装置 | |
WO2017113658A1 (zh) | 基于人工智能的声纹认证方法以及装置 | |
CN101478401B (zh) | 一种基于击键特征识别的认证方法及*** | |
Das et al. | Development of multi-level speech based person authentication system | |
WO2017162053A1 (zh) | 一种身份认证的方法和装置 | |
WO2020077885A1 (zh) | 身份验证方法、装置、计算机设备和存储介质 | |
US11348590B2 (en) | Methods and devices for registering voiceprint and for authenticating voiceprint | |
US20060222210A1 (en) | System, method and computer program product for determining whether to accept a subject for enrollment | |
KR20170001548A (ko) | 성문 인증 방법 및 장치 | |
JP2007133414A (ja) | 音声の識別能力推定方法及び装置、ならびに話者認証の登録及び評価方法及び装置 | |
CN109462482B (zh) | 声纹识别方法、装置、电子设备及计算机可读存储介质 | |
US10909991B2 (en) | System for text-dependent speaker recognition and method thereof | |
CN111883140A (zh) | 基于知识图谱和声纹识别的认证方法、装置、设备及介质 | |
CN110111798B (zh) | 一种识别说话人的方法、终端及计算机可读存储介质 | |
US20210166715A1 (en) | Encoded features and rate-based augmentation based speech authentication | |
Scheffer et al. | Content matching for short duration speaker recognition. | |
CN111091837A (zh) | 一种基于在线学习的时变声纹认证方法及*** | |
JPWO2018088534A1 (ja) | 電子機器、電子機器の制御方法及び電子機器の制御プログラム | |
WO2018137426A1 (zh) | 用户声音信息的识别方法及装置 | |
CN111199742A (zh) | 一种身份验证方法、装置及计算设备 | |
TWI778234B (zh) | 語者驗證系統 | |
CN111339517B (zh) | 声纹特征的采样方法、用户识别方法、装置及电子设备 | |
CN112530441A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |