基于人工智能的声纹认证方法以及装置

申请号 CN201511020415.6 申请日 2015-12-30 公开(公告)号 CN105656887A 公开(公告)日 2016-06-08
申请人 百度在线网络技术(北京)有限公司; 发明人 李超; 李骁; 吴本谷;
摘要 本 发明 公开了一种基于 人工智能 的声纹认证方法以及装置,其中,该方法包括:接收用户的注册 请求 ,并将注册字符串提供至用户;接收用户阅读注册字符串的语音信息,并根据语音信息生成N段语音,其中,N为正整数;根据性别分类模型和N段语音确定用户的性别标签;以及根据性别标签和N段语音生成用户的注册声纹模型。实现了在注册的过程中,通过先获取该用户的性别标签,之后根据该性别标签使用不同的模型以生成对应的注册声纹模型,使得在登录时提高了声纹密码作为认证手段的可用性,提高了声纹匹配的性能,并使得用户通过语音即可完成注册,简化了用户的操作步骤。
权利要求

1.一种基于人工智能的声纹认证方法,其特征在于,包括以下步骤:
接收用户的注册请求,并将注册字符串提供至所述用户;
接收所述用户阅读所述注册字符串的语音信息,并根据所述语音信息生成N段语音,其中,N为正整数;
根据性别分类模型和所述N段语音确定所述用户的性别标签;以及
根据所述性别标签和所述N段语音生成所述用户的注册声纹模型。
2.如权利要求1所述的基于人工智能的声纹认证方法,其特征在于,所述根据性别分类模型和所述N段语音确定所述用户的性别标签,包括:
根据所述性别分类模型对所述N段语音中的第一段语音进行性别分类,得到所述用户的性别标签。
3.如权利要求1所述的基于人工智能的声纹认证方法,其特征在于,所述根据所述性别标签和所述N段语音生成所述用户的注册声纹模型,包括:
根据所述性别标签确定对应的目标普通背景模型UBM;
将所述N段语音的声纹特征在所述目标普通背景模型UBM条件下进行Baum-Welch统计,并提取所述N段语音的N个ivector;
根据所述N段语音的N个ivector生成所述用户的注册声纹模型。
4.如权利要求1所述的基于人工智能的声纹认证方法,其特征在于,在根据所述性别标签和所述N段语音生成所述用户的注册声纹模型之后,还包括:
接收所述用户的登录请求,并获取所述用户的用户信息;
生成登录字符串,并将所述登录字符串提供至所述用户;
接收所述用户阅读所述登录字符串的语音信息;
根据所述用户信息和所述用户阅读所述登录字符串的语音信息对所述用户进行登录验证。
5.如权利要求4所述的基于人工智能的声纹认证方法,其特征在于,所述根据所述用户信息和所述用户阅读所述登录字符串的语音信息对所述用户进行登录验证,包括:
对所述用户阅读所述登录字符串的语音信息进行语音识别以获取所述语音信息对应的文本信息;
将所述文本信息与所述登录字符串进行匹配;
如果一致,则根据所述用户信息对所述用户阅读所述登录字符串的语音信息进行声纹匹配;
如果声纹匹配通过,则判断所述用户通过登录验证。
6.如权利要求5所述的基于人工智能的声纹认证方法,其特征在于,所述根据所述用户信息对所述用户阅读所述登录字符串的语音信息进行声纹匹配,包括:
根据所述用户信息获取所述用户的性别标签以及注册声纹模型;
根据所述用户的性别标签确定对应的目标普通背景模型UBM;
将所述用户阅读所述登录字符串的语音信息中的语音的声学特征在所述目标普通背景模型UBM条件下进行Baum-Welch统计,并提取所述语音的ivector以作为所述用户的登录声纹模型;
将所述登录声纹模型与所述注册声纹模型进行比对以判断声纹是否匹配。
7.一种基于人工智能的声纹认证装置,其特征在于,包括:
第一接收模,用于接收用户的注册请求;
第一提供模块,用于将注册字符串提供至所述用户;
第二接收模块,用于接收所述用户阅读所述注册字符串的语音信息;
第一生成模块,用于根据所述语音信息生成N段语音,其中,N为正整数;
确定模块,用于根据性别分类模型和所述N段语音确定所述用户的性别标签;以及第二生成模块,用于根据所述性别标签和所述N段语音生成所述用户的注册声纹模型。
8.如权利要求7所述的基于人工智能的声纹认证装置,其特征在于,所述确定模块具有用于:
根据所述性别分类模型对所述N段语音中的第一段语音进行性别分类,得到所述用户的性别标签。
9.如权利要求7所述的基于人工智能的声纹认证装置,其特征在于,所述第二生成模块包括:
确定单元,用于根据所述性别标签确定对应的目标普通背景模型UBM;
提取单元,用于将所述N段语音的声纹特征在所述目标普通背景模型UBM条件下进行Baum-Welch统计,并提取所述N段语音的N个ivector;
生成单元,用于根据所述N段语音的N个ivector生成所述用户的注册声纹模型。
10.如权利要求7所述的基于人工智能的声纹认证装置,其特征在于,在第二生成模块根据所述性别标签和所述N段语音生成所述用户的注册声纹模型之后,还包括:
第三接收模块,用于接收所述用户的登录请求;
获取模块,用于获取所述用户的用户信息;
第三生成模块,用于生成登录字符串;
第二提供模块,用于将所述登录字符串提供至所述用户;
第四接收模块,用于接收所述用户阅读所述登录字符串的语音信息;
验证模块,用于根据所述用户信息和所述用户阅读所述登录字符串的语音信息对所述用户进行登录验证。
11.如权利要求10所述的基于人工智能的声纹认证装置,其特征在于,所述验证模块包括:
语音识别单元,用于对所述用户阅读所述登录字符串的语音信息进行语音识别以获取所述语音信息对应的文本信息;
文本匹配单元,用于将所述文本信息与所述登录字符串进行匹配;
声纹匹配单元,用于在所述文本信息与所述登录字符串匹配一致时,根据所述用户信息对所述用户阅读所述登录字符串的语音信息进行声纹匹配;
验证单元,用于在所述声纹匹配单元判断所述声纹匹配通过时,判断所述用户通过登录验证。
12.如权利要求11所述的基于人工智能的声纹认证装置,其特征在于,所述声纹匹配单元具体用于:
根据所述用户信息获取所述用户的性别标签以及注册声纹模型;
根据所述用户的性别标签确定对应的目标普通背景模型UBM;
将所述用户阅读所述登录字符串的语音信息中的语音的声学特征在所述目标普通背景模型UBM条件下进行Baum-Welch统计,并提取所述语音的ivector以作为所述用户的登录声纹模型;
将所述登录声纹模型与所述注册声纹模型进行比对以判断声纹是否匹配。

说明书全文

基于人工智能的声纹认证方法以及装置

技术领域

[0001] 本发明涉及登录认证技术领域,尤其涉及一种基于人工智能(Artificial Intelligence,简称为AI)的声纹认证方法以及装置。

背景技术

[0002] 目前的网站(或设备)登录系统主要是通过用户输入账户和密码(或手势动作)进行身份验证,验证通过之后进行登录。然而,基于密码及手势输入的登录方式,一旦密码或手势被他人得知,同样可以完成登录操作,导致存在安全隐患,并且,为了增加安全性,用户通常需要为不同的对象设置不同的且带有特殊字符的密码,但这无疑给用户带来较大的记忆负担。
[0003] 因此,如何在保证登录密码正确的情况下确保登录用户是用户本人的同时,又能简化用户登录操作已经成为亟待解决的问题。

发明内容

[0004] 本发明的目的旨在至少在一定程度上解决上述的技术问题之一。
[0005] 为此,本发明的第一个目的在于提出一种基于人工智能的声纹认证方法。该方法在注册的过程中,通过先获取该用户的性别标签,之后根据该性别标签使用不同的模型以生成对应的注册声纹模型,使得在登录时提高了声纹密码作为认证手段的可用性,提高了声纹匹配的性能,并使得用户通过语音即可完成注册,简化了用户的操作步骤。
[0006] 本发明的第二个目的在于提出一种基于人工智能的声纹认证装置。
[0007] 为达上述目的,本发明第一方面实施例的基于人工智能的声纹认证方法,包括:接收用户的注册请求,并将注册字符串提供至所述用户;接收所述用户阅读所述注册字符串的语音信息,并根据所述语音信息生成N段语音,其中,N为正整数;根据性别分类模型和所述N段语音确定所述用户的性别标签;以及根据所述性别标签和所述N段语音生成所述用户的注册声纹模型。
[0008] 本发明实施例的基于人工智能的声纹认证方法,可先接收用户的注册请求,并将注册字符串提供至用户,之后,可接收用户阅读注册字符串的语音信息,并根据语音信息生成N段语音,然后,根据性别分类模型和N段语音确定用户的性别标签,最后,根据性别标签和N段语音生成用户的注册声纹模型。实现了用户可以通过语音即可完成注册,简化了用户的操作步骤,并且,在注册的过程中,通过先获取该用户的性别标签,之后根据该性别标签使用不同的模型以生成对应的注册声纹模型,使得在登录时提高了声纹密码作为认证手段的可用性,提高了声纹匹配的性能。
[0009] 为达上述目的,本发明第二方面实施例的基于人工智能的声纹认证装置,包括:第一接收模,用于接收用户的注册请求;第一提供模块,用于将注册字符串提供至所述用户;第二接收模块,用于接收所述用户阅读所述注册字符串的语音信息;第一生成模块,用于根据所述语音信息生成N段语音,其中,N为正整数;确定模块,用于根据性别分类模型和所述N段语音确定所述用户的性别标签;以及第二生成模块,用于根据所述性别标签和所述N段语音生成所述用户的注册声纹模型。
[0010] 本发明实施例的基于人工智能的声纹认证装置,通过第一接收模块接收用户的注册请求,第一提供模块将注册字符串提供至用户,第二接收模块接收用户阅读注册字符串的语音信息,第一生成模块根据语音信息生成N段语音,确定模块根据性别分类模型和N段语音确定用户的性别标签,第二生成模块根据性别标签和N段语音生成用户的注册声纹模型。实现了用户可以通过语音即可完成注册,简化了用户的操作步骤,并且,在注册的过程中,通过先获取该用户的性别标签,之后根据该性别标签使用不同的模型以生成对应的注册声纹模型,使得在登录时提高了声纹密码作为认证手段的可用性,提高了声纹匹配的性能。
[0011] 本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明
[0012] 本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中,
[0013] 图1是根据本发明一个实施例的基于人工智能的声纹认证方法的流程图
[0014] 图2是根据本发明一个具体实施例的基于人工智能的声纹认证方法的流程图;
[0015] 图3是根据本发明一个实施例的基于人工智能的声纹认证装置的结构框图
[0016] 图4是根据本发明一个实施例的第二生成模块的结构框图;
[0017] 图5是根据本发明另一个实施例的基于人工智能的声纹认证装置的结构框图;以及
[0018] 图6是根据本发明一个实施例的验证模块的结构框图。

具体实施方式

[0019] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。
[0020] 下面参考附图描述根据本发明实施例的基于人工智能的声纹认证方法以及装置。
[0021] 图1是根据本发明一个实施例的基于人工智能的声纹认证方法的流程图。如图1所示,该基于人工智能的声纹认证方法可以包括:
[0022] S101,接收用户的注册请求,并将注册字符串提供至用户。
[0023] 举例而言,假设本发明实施例的基于人工智能的声纹认证方法应用于网站登录系统中,当用户打开网站准备注册时,用户可通过客户端向登录系统发送注册请求,登录系统在接收到用户通过客户端发送的注册请求之后,可随机生成一个注册字符串,并将该注册字符串提供给用户。
[0024] 可以理解,该注册字符串的形式可以有很多种:
[0025] 作为一种示例,该注册字符串可为随机生成的数字串。此外,为了能够覆盖更大的样本空间,注册字符串中的数字只出现一次。
[0026] 作为另一种示例,该注册字符串可为随机生成的汉字字符串。
[0027] S102,接收用户阅读注册字符串的语音信息,并根据语音信息生成N段语音,其中,N为正整数。
[0028] 具体地,在将该注册字符串提供给用户之后,用户可按照提供的注册字符串进行朗读以进行注册。在用户阅读该注册字符串的过程中,或者在用户完成阅读该注册字符串时,可接收用户按照提供的注册字符串进行朗读而生成的语音信息,并对该语音信息进行分段,以得到N段语音。
[0029] S103,根据性别分类模型和N段语音确定用户的性别标签。
[0030] 具体而言,在本发明的实施例中,可根据性别分类模型对该N段语音中的第一段语音进行性别分类,得到该用户的性别标签。
[0031] 例如,假设本发明实施例的基于人工智能的声纹认证方法应用于网站登录系统中,该登录系统中具有语音识别模块和性别分类模型,可通过性别分类模型对该N段语音中的第一段语音进行性别分类,得到该用户的性别标签,其中,该性别标签包括男性或女性。
[0032] 举例而言,以性别分类模型为高斯混合模型为例,可先对该N段语音中的第一段语音提取基频特征以及梅尔频率倒谱系数MFCC特征,之后,可基于高斯混合模型对基频特征以及MFCC特征进行后验概率值计算,根据计算结果确定该用户的性别,例如,假设该高斯混合模型为男性高斯混合模型,则当计算结果为后验概率值很高,如大于一定阈值时,可确定该用户的性别为男性,当计算结果为后验概率值很小,如小于一定阈值时,可确定该用户的性别为女性。
[0033] S104,根据性别标签和N段语音生成用户的注册声纹模型。
[0034] 具体而言,在本发明的实施例中,可根据性别标签确定对应的目标普通背景模型UBM,之后,可将N段语音的声纹特征在目标普通背景模型UBM条件下进行Baum-Welch统计,并提取N段语音的N个ivector,最后,根据N段语音的N个ivector生成用户的注册声纹模型。
[0035] 更具体地,可根据性别标签确定与该性别标签对应的目标普通背景模型UBM,之后,可将每段语音的声学特征(例如MFCC)在该目标普通背景模型UBM条件下进行Baum-Welch统计,以计算其后验概率,该后验概率服从高斯分布,该后验概率的期望便是ivector。例如一段语音u切割为L的声学特征{y1,y2,...,yL},特征维度为D,在包含C个高斯的目标UBM模型Ω上计算Baum-Welch的0阶统计和1阶统计,其计算如下:
[0036]
[0037]
[0038] 其中,c=1,2,...,C是高斯模型的索引,P(c|yt,Ω)是yt在第c个高斯上的后验概率,mc是第c个高斯的期望。使用下面的公式(3),可以得到语音u的ivector:
[0039] η=(I+TtΣ-1NT)-1TtΣ-1F   (3)
[0040] 其中,N是对元素为NcI(c=1,...,C)的CD×CD维度的方阵,F是所有一阶统计Fc组合起来的CD×1的向量,T和Σ是ivector提取器的转移矩阵和方差阵,在训练阶段通过因子分析的方法获得,这里直接调取即可,算子()t表示矩阵转置,I为单位矩阵。
[0041] 假设注册过程中用户阅读注册字符串时的语音信息具有K句话,每句话都提取一个独立的ivector,当检测到用户将所有数字串读完以后,可将这K个ivector结合到一起来计算出用户的唯一的ivector,用来表征用户的声纹特性,即计算如下:
[0042]
[0043] 其中,norm()算子表示长度归一化,即将括号内向量的模变为1。同时,也支持的声纹表征形式。即上述式(4)可作为该用户的注册声纹模型。
[0044] 可以看出,在生成用户的注册声纹模型时,所使用的UBM模型不同。也就是说,根据性别的不同,会使用不同的UBM模型以提取该性别对应的用户注册声纹模型。
[0045] 本发明实施例的基于人工智能的声纹认证方法,可先接收用户的注册请求,并将注册字符串提供至用户,之后,可接收用户阅读注册字符串的语音信息,并根据语音信息生成N段语音,然后,根据性别分类模型和N段语音确定用户的性别标签,最后,根据性别标签和N段语音生成用户的注册声纹模型。实现了用户可以通过语音即可完成注册,简化了用户的操作步骤,并且,在注册的过程中,通过先获取该用户的性别标签,之后根据该性别标签使用不同的模型以生成对应的注册声纹模型,使得在登录时提高了声纹密码作为认证手段的可用性,提高了声纹匹配的性能。
[0046] 图2是根据本发明一个具体实施例的基于人工智能的声纹认证方法的流程图。如图2所示,该基于人工智能的声纹认证方法可以包括:
[0047] S201,接收用户的注册请求,并将注册字符串提供至用户。
[0048] S202,接收用户阅读注册字符串的语音信息,并根据语音信息生成N段语音,其中,N为正整数。
[0049] S203,根据性别分类模型和N段语音确定用户的性别标签。
[0050] 具体而言,在本发明的实施例中,可根据性别分类模型对该N段语音中的第一段语音进行性别分类,得到该用户的性别标签。
[0051] S204,根据性别标签和N段语音生成用户的注册声纹模型。
[0052] 具体而言,在本发明的实施例中,可根据性别标签确定对应的目标普通背景模型UBM,之后,可将N段语音的声纹特征在目标普通背景模型UBM条件下进行Baum-Welch统计,并提取N段语音的N个ivector,最后,根据N段语音的N个ivector生成用户的注册声纹模型。
[0053] S205,接收用户的登录请求,并获取用户的用户信息。
[0054] 举例而言,假设本发明实施例的基于人工智能的声纹认证方法应用于网站登录系统中,当用户打开网站准备登录时,用户可通过客户端向登录系统发送登录请求,登录系统在接收到用户通过客户端发送的登录请求之后,获取用户的用户信息。其中,在本发明的实施例中,用户信息可包括但不限于账户/用户名、用户ID(IDentity,身份标识号码)等。
[0055] S206,生成登录字符串,并将登录字符串提供至用户。
[0056] 具体地,在接收到用户的登录请求之后,可随机生成一个登录字符串,并将该登录字符串提供给用户。其中,可以理解,在本发明的实施例中,随机生成的登录字符串与注册字符串中的多个数字可均不相同。此外,为了使登录验证过程中用户所说的数字串尽量靠近用户注册的声纹特征,登录字符串中的每个数字也只能出现一次。
[0057] S207,接收用户阅读登录字符串的语音信息。
[0058] 具体地,在将登录字符串提供至用户之后,用户可按照提供的登录字符串进行朗读。在用户朗读的过程中,或者在用户完成朗读时,可接收用户阅读登录字符串的语音信息。
[0059] S208,根据用户信息和用户阅读登录字符串的语音信息对用户进行登录验证。
[0060] 具体而言,在本发明的实施例中,可先对用户阅读登录字符串的语音信息进行语音识别以获取语音信息对应的文本信息,之后,可将文本信息与登录字符串进行匹配,如果一致,则根据用户信息对用户阅读登录字符串的语音信息进行声纹匹配,如果声纹匹配通过,则判断用户通过登录验证。
[0061] 更具体地,在接收到用户阅读登录字符串的语音信息之后,可对该语音信息进行语音识别,得到对应的文本信息,之后可将该文本信息与预先生成的登录字符串进行匹配,若不匹配,则向用户返回错误并提示用户重新按照提供的登录字符串进行阅读,只有当匹配时,可进一步根据用户信息对用户阅读登录字符串的语音信息进行声纹匹配,若该语音信息中的声纹与先前存储的该用户的声纹匹配,则可判断用户通过登录验证,否则视为登录失败。
[0062] 其中,由于登录字符串为一串数字,则用户阅读该字符串时一般会用一句话读完该字符串,即产生的语音信息中该语音应为一段语音,以语音信息中具有一段语音为例,在本发明的实施例中,根据用户信息对用户阅读登录字符串的语音信息进行声纹匹配的具体实现过程可如下:可先根据用户信息获取用户的性别标签以及注册声纹模型,之后,可根据用户的性别标签确定对应的目标普通背景模型UBM,然后,将用户阅读登录字符串的语音信息中的语音的声学特征在目标普通背景模型UBM条件下进行Baum-Welch统计,并提取语音的ivector以作为用户的登录声纹模型,最后,将登录声纹模型与注册声纹模型进行比对以判断声纹是否匹配。
[0063] 更具体地,在将登录声纹模型与注册声纹模型进行比对的过程中,可将登录过程中产生的登录声纹模型和用户注册时生成的注册声纹模型进行对比打分,其中,可以采用余弦距离、支持向量机(SVM)、贝叶斯分类器、以及GPLDA(高斯概率线性判别分析)等方法来实现。下面以GPLDA方法做详细描述声纹比对的过程:
[0064] 假设来自验证过程的登录声纹特征ivector为η1,用户注册时的注册声纹模型ivetor为η2,那么就有两种假设:H1两者属于同一说话人;H0两者属于不同的说话人。因此,可以得到这个假设校验的对数似然比score:
[0065]
[0066] 其中,假设分子分母的条件概率分布都服从高斯分布,并且期望值为0,从而,上述对数似然比score可以简化为如下式(6):
[0067]
[0068] 其中,上述式(6)中的Q、P、Σtot和Σac分别由下述式(7)表示:
[0069]
[0070]
[0071] Σtot=ΦΦt+Σ
[0072] Σac=ΦΦt
[0073] 其中,Φ和Σ来自GPLDA模型的训练阶段,这里直接提取即可。其中,GPLDA的模型为下述式(8)表示:
[0074] ηr=m+Φβ+εr     (8)
[0075] 其中,ηr表示观测到的第r个人的ivector,β是该说话人声纹的真实值,其是隐变量无法直接获得,Φ是转移矩阵,εr是观测误差,服从Ν(0,Σ)的高斯分布。
[0076] 另外,本发明实施例的声纹验证过程中可支持多分类器分数融合。也就是说,在验证阶段采用多种分类算法,例如同时使用SVM,GPLDA和余弦距离3种分类器,然后将三个分类器的得分进行分数融合,得到一个最终分数。
[0077] 此外,本发明实施例的声纹验证过程中还可支持多特征融合,也就是说,可以提取多种声学特征,然后利用相同或者不同的分类器进行打分,再将分数融合到一起。例如,可同时提取一段语音的MFCC和PLP特征,然后分别得到基于MFCC和PLP的ivector,再进入GPLDA分类器,得到2个分数,最后将这2个分数融合成一个分数。
[0078] 最后,在声纹匹配过程中的一致性判断阶段中,可将上述得到的分数与一个预先设定的阈值进行判断,如果该分数大于预设阈值,则认为是同一个说话人(即同一个用户),即判断该用户登录成功,否则视为不同说话人,判断该用户登录失败。
[0079] 本发明实施例的基于人工智能的声纹认证方法,在生成用户的注册声纹模型之后,在登录过程中,可生成登录字符串,并接收用户阅读该登录字符串的语音信箱,并根据用户的用户信息和用户阅读登录字符串的语音信息对用户进行登录验证,在登录验证的过程中,通过将注册声纹模型与登录声纹模型进行对比以判断声纹是否匹配,若匹配,则判断用户通过登录认证,即基于用户的性别建立该用户的声纹模型,提高了声纹密码作为认证手段的可用性,进一步提高了声纹密码的安全性,提升了用户体验。
[0080] 为了实现上述实施例,本发明还提出了一种基于人工智能的声纹认证装置。
[0081] 图3是根据本发明一个实施例的基于人工智能的声纹认证装置的结构框图。如图3所示,该基于人工智能的声纹认证装置可以包括:第一接收模块10、第一提供模块20、第二接收模块30、第一生成模块40、确定模块50和第二生成模块60。
[0082] 具体地,第一接收模块10可用于接收用户的注册请求。第一提供模块20可用于将注册字符串提供至用户。
[0083] 举例而言,假设本发明实施例的基于人工智能的声纹认证装置应用于网站登录系统中,当用户打开网站准备注册时,用户可通过客户端向登录系统发送注册请求,登录系统中的第一提供模块20在第一接收模块10接收到用户通过客户端发送的注册请求之后,可随机生成一个注册字符串,并将该注册字符串提供给用户。
[0084] 可以理解,该注册字符串的形式可以有很多种:
[0085] 作为一种示例,该注册字符串可为随机生成的数字串。此外,为了能够覆盖更大的样本空间,注册字符串中的数字只出现一次。
[0086] 作为另一种示例,该注册字符串可为随机生成的汉字字符串。
[0087] 第二接收模块30可用于接收用户阅读注册字符串的语音信息。第一生成模块40可用于根据语音信息生成N段语音,其中,N为正整数。
[0088] 更具体地,在第一提供模块20将该注册字符串提供给用户之后,用户可按照提供的注册字符串进行朗读以进行注册。在用户阅读该注册字符串的过程中,或者在用户完成阅读该注册字符串时,第二接收模块30可接收用户按照提供的注册字符串进行朗读而生成的语音信息,第一生成模块40对该语音信息进行分段,以得到N段语音。
[0089] 确定模块50可用于根据性别分类模型和N段语音确定用户的性别标签。具体而言,在本发明的实施例中,确定模块50可根据性别分类模型对N段语音中的第一段语音进行性别分类,得到用户的性别标签。
[0090] 例如,假设本发明实施例的基于人工智能的声纹认证装置应用于网站登录系统中,该登录系统中具有语音识别模块和性别分类模型,该登录系统中的确定模块50可通过性别分类模型对该N段语音中的第一段语音进行性别分类,得到该用户的性别标签,其中,该性别标签包括男性或女性。
[0091] 举例而言,以性别分类模型为高斯混合模型为例,确定模块50可先对该N段语音中的第一段语音提取基频特征以及梅尔频率倒谱系数MFCC特征,之后,可基于高斯混合模型对基频特征以及MFCC特征进行后验概率值计算,根据计算结果确定该用户的性别,例如,假设该高斯混合模型为男性高斯混合模型,则当计算结果为后验概率值很高,如大于一定阈值时,可确定该用户的性别为男性,当计算结果为后验概率值很小,如小于一定阈值时,可确定该用户的性别为女性。
[0092] 第二生成模块60可用于根据性别标签和N段语音生成用户的注册声纹模型。
[0093] 具体而言,在本发明的一个实施例中,如图4所示,该第二生成模块60可以包括:确定单元61、提取单元62和生成单元63。
[0094] 其中,确定单元61可用于根据性别标签确定对应的目标普通背景模型UBM。提取单元62可用于将N段语音的声纹特征在目标普通背景模型UBM条件下进行Baum-Welch统计,并提取N段语音的N个ivector。生成单元63可用于根据N段语音的N个ivector生成用户的注册声纹模型。
[0095] 更具体地,确定单元61可根据性别标签确定与该性别标签对应的目标普通背景模型UBM,之后,提取单元62可将每段语音的声学特征(例如MFCC)在该目标普通背景模型UBM条件下进行Baum-Welch统计,以计算其后验概率,该后验概率服从高斯分布,该后验概率的期望便是ivector。例如一段语音u切割为L帧的声学特征{y1,y2,...,yL},特征维度为D,在包含C个高斯的目标UBM模型Ω上计算Baum-Welch的0阶统计和1阶统计,其计算如下:
[0096]
[0097]
[0098] 其中,c=1,2,...,C是高斯模型的索引,P(c|yt,Ω)是yt在第c个高斯上的后验概率,mc是第c个高斯的期望。使用下面的公式(3),可以得到语音u的ivector:
[0099] η=(I+TtΣ-1NT)-1TtΣ-1F   (3)
[0100] 其中,N是对角元素为NcI(c=1,...,C)的CD×CD维度的方阵,F是所有一阶统计Fc组合起来的CD×1的向量,T和Σ是ivector提取器的转移矩阵和方差阵,在训练阶段通过因子分析的方法获得,这里直接调取即可,算子()t表示矩阵转置,I为单位矩阵。
[0101] 假设注册过程中用户阅读注册字符串时的语音信息具有K句话,每句话都提取一个独立的ivector,当检测到用户将所有数字串读完以后,生成单元63可将这K个ivector结合到一起来计算出用户的唯一的ivector,用来表征用户的声纹特性,即计算如下:
[0102]
[0103] 其中,norm()算子表示长度归一化,即将括号内向量的模变为1。同时,也支持的声纹表征形式。即上述式(4)可作为该用户的注册声纹模型。
[0104] 可以看出,在生成用户的注册声纹模型时,所使用的UBM模型不同。也就是说,根据性别的不同,会使用不同的UBM模型以提取该性别对应的用户注册声纹模型。
[0105] 进一步地,在本发明的一个实施例中,在第二生成模块60根据所述性别标签和所述N段语音生成所述用户的注册声纹模型之后,如图5所示,该基于人工智能的声纹认证装置还可包括:第三接收模块70、获取模块80、第三生成模块90、第二提供模块100、第四接收模块110和验证模块120。
[0106] 其中,第三接收模块70可用于接收用户的登录请求。获取模块80可用于获取用户的用户信息。
[0107] 举例而言,假设本发明实施例的基于人工智能的声纹认证装置应用于网站登录系统中,当用户打开网站准备登录时,用户可通过客户端向登录系统发送登录请求,登录系统中的获取模块80在第三接收模块70接收到用户通过客户端发送的登录请求之后,获取用户的用户信息。其中,在本发明的实施例中,用户信息可包括但不限于账户/用户名、用户ID等。
[0108] 第三生成模块90可用于生成登录字符串。第二提供模块100可用于将登录字符串提供至用户。
[0109] 更具体地,在第三接收模块70接收到用户的登录请求之后,第三生成模块90可随机生成一个登录字符串,第二提供模块100将该登录字符串提供给用户。其中,可以理解,在本发明的实施例中,随机生成的登录字符串与注册字符串中的多个数字可均不相同。此外,为了使登录验证过程中用户所说的数字串尽量靠近用户注册的声纹特征,登录字符串中的每个数字也只能出现一次。
[0110] 第四接收模块110可用于接收用户阅读登录字符串的语音信息。更具体地,在第二提供模块100将登录字符串提供至用户之后,用户可按照提供的登录字符串进行朗读。在用户朗读的过程中,或者在用户完成朗读时,第四接收模块110可接收用户阅读登录字符串的语音信息。
[0111] 验证模块120可用于根据用户信息和用户阅读登录字符串的语音信息对用户进行登录验证。
[0112] 更具体地,在第四接收模块110接收到用户阅读登录字符串的语音信息之后,验证模块120可对该语音信息进行语音识别,得到对应的文本信息,之后可将该文本信息与预先生成的登录字符串进行匹配,若不匹配,则向用户返回错误并提示用户重新按照提供的登录字符串进行阅读,只有当匹配时,可进一步根据用户信息对用户阅读登录字符串的语音信息进行声纹匹配,若该语音信息中的声纹与先前存储的该用户的声纹匹配,则可判断用户通过登录验证,否则视为登录失败。
[0113] 具体而言,在本发明的一个实施例中,如图6所示,该验证模块120可以包括:语音识别单元121、文本匹配单元122、声纹匹配单元123和验证单元124。
[0114] 其中,语音识别单元121可用于对用户阅读登录字符串的语音信息进行语音识别以获取语音信息对应的文本信息。
[0115] 文本匹配单元122可用于将文本信息与登录字符串进行匹配。
[0116] 声纹匹配单元123可用于在文本信息与登录字符串匹配一致时,根据用户信息对用户阅读登录字符串的语音信息进行声纹匹配。
[0117] 其中,由于登录字符串为一串数字,则用户阅读该字符串时一般会用一句话读完该字符串,即产生的语音信息中该语音应为一段语音,以语音信息中具有一段语音为例,在本发明的实施例中,声纹匹配单元123可先根据用户信息获取用户的性别标签以及注册声纹模型,之后,可根据用户的性别标签确定对应的目标普通背景模型UBM,然后,将用户阅读登录字符串的语音信息中的语音的声学特征在目标普通背景模型UBM条件下进行Baum-Welch统计,并提取语音的ivector以作为用户的登录声纹模型,最后,将登录声纹模型与注册声纹模型进行比对以判断声纹是否匹配。
[0118] 更具体地,声纹匹配单元123在将登录声纹模型与注册声纹模型进行比对的过程中,可将登录过程中产生的登录声纹模型和用户注册时生成的注册声纹模型进行对比打分,其中,可以采用余弦距离、支持向量机(SVM)、贝叶斯分类器、以及GPLDA(高斯概率线性判别分析)等方法来实现。下面以GPLDA方法做详细描述声纹比对的过程:
[0119] 假设来自验证过程的登录声纹特征ivector为η1,用户注册时的注册声纹模型ivetor为η2,那么就有两种假设:H1两者属于同一说话人;H0两者属于不同的说话人。因此,可以得到这个假设校验的对数似然比score:
[0120]
[0121] 其中,假设分子分母的条件概率分布都服从高斯分布,并且期望值为0,从而,上述对数似然比score可以简化为如下式(6):
[0122]
[0123] 其中,上述式(6)中的Q、P、Σtot和Σac分别由下述式(7)表示:
[0124]
[0125]
[0126] Σtot=ΦΦt+Σ
[0127] Σac=ΦΦt
[0128] 其中,Φ和Σ来自GPLDA模型的训练阶段,这里直接提取即可。其中,GPLDA的模型为下述式(8)表示:
[0129] ηr=m+Φβ+εr     (8)
[0130] 其中,ηr表示观测到的第r个人的ivector,β是该说话人声纹的真实值,其是隐变量无法直接获得,Φ是转移矩阵,εr是观测误差,服从Ν(0,Σ)的高斯分布。
[0131] 另外,本发明实施例的声纹验证过程中可支持多分类器分数融合。也就是说,在验证阶段采用多种分类算法,例如同时使用SVM,GPLDA和余弦距离3种分类器,然后将三个分类器的得分进行分数融合,得到一个最终分数。
[0132] 此外,本发明实施例的声纹验证过程中还可支持多特征融合,也就是说,可以提取多种声学特征,然后利用相同或者不同的分类器进行打分,再将分数融合到一起。例如,可同时提取一段语音的MFCC和PLP特征,然后分别得到基于MFCC和PLP的ivector,再进入GPLDA分类器,得到2个分数,最后将这2个分数融合成一个分数。
[0133] 最后,在声纹匹配过程中的一致性判断阶段中,可将上述得到的分数与一个预先设定的阈值进行判断,如果该分数大于预设阈值,则认为是同一个说话人(即同一个用户),即判断该用户登录成功,否则视为不同说话人,判断该用户登录失败。
[0134] 验证单元124可用于在声纹匹配单元123判断声纹匹配通过时,判断用户通过登录验证。
[0135] 由此,在生成用户的注册声纹模型之后,在登录过程中,可生成登录字符串,并接收用户阅读该登录字符串的语音信箱,并根据用户的用户信息和用户阅读登录字符串的语音信息对用户进行登录验证,在登录验证的过程中,通过将注册声纹模型与登录声纹模型进行对比以判断声纹是否匹配,若匹配,则判断用户通过登录认证,即基于用户的性别建立该用户的声纹模型,提高了声纹密码作为认证手段的可用性,进一步提高了声纹密码的安全性,提升了用户体验。
[0136] 本发明实施例的基于人工智能的声纹认证装置,通过第一接收模块接收用户的注册请求,第一提供模块将注册字符串提供至用户,第二接收模块接收用户阅读注册字符串的语音信息,第一生成模块根据语音信息生成N段语音,确定模块根据性别分类模型和N段语音确定用户的性别标签,第二生成模块根据性别标签和N段语音生成用户的注册声纹模型。实现了用户可以通过语音即可完成注册,简化了用户的操作步骤,并且,在注册的过程中,通过先获取该用户的性别标签,之后根据该性别标签使用不同的模型以生成对应的注册声纹模型,使得在登录时提高了声纹密码作为认证手段的可用性,提高了声纹匹配的性能。
[0137] 在本发明的描述中,需要理解的是,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
[0138] 在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0139] 流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
[0140] 在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
[0141] 应当理解,本发明的各部分可以用硬件软件固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
[0142] 本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
[0143] 此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
[0144] 上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0145] 尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
QQ群二维码
意见反馈