声纹密码认证方法及系统转让专利

申请号 : CN201410005651.X

文献号 : CN104765996B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 殷兵魏思柳林刘俊华张程风王建社刘海波胡国平胡郁金鑫

申请人 : 讯飞智元信息科技有限公司

摘要 :

本发明公开了一种声纹密码认证方法及系统,属于密码认证技术领域。该方法包括:接收用户输入的语音信号;对所述语音信号进行语音识别,获得密码文本;确定是否存在所述密码文本对应的背景模型;如果是,则获取所述背景模型;如果否,则根据所述密码文本对预先训练得到的发音单元模型进行扩展,获得所述密码文本对应的背景模型;利用所述语音信号中的声纹特征序列、所述背景模型和所述用户的声纹密码模型对所述用户进行认证。利用该方法及系统,可以满足用户自定义密码及频繁更改密码的需求。

权利要求 :

1.一种声纹密码认证方法,其特征在于,包括:接收用户输入的语音信号;

对所述语音信号进行语音识别,获得密码文本;

确定是否存在预先通过离线采集的密码语音数据训练得到的所述密码文本对应的背景模型;

如果是,则获取所述背景模型;如果否,则根据所述密码文本对预先训练得到的发音单元模型进行拼接,获得所述密码文本对应的背景模型;

利用所述语音信号中的声纹特征序列、所述背景模型和所述用户的声纹密码模型对所述用户进行认证。

2.根据权利要求1所述的方法,其特征在于,按照以下方式预先训练得到发音单元模型:获取训练语音数据;

根据所述训练语音数据确定发音单元;

确定所述发音单元的声学模型的拓扑结构;

对所述声学模型进行参数训练,得到发音单元模型。

3.根据权利要求2所述的方法,其特征在于,所述声学模型为GMM模型;

所述根据所述密码文本对预先训练得到的发音单元模型进行拼接,获得所述密码文本对应的背景模型包括:获取所述密码文本中各发音单元对应的GMM模型,得到GMM模型集合;

对所述GMM模型集合中的模型单元,采用等权重拼接,得到新的组合GMM模型;

对所述组合GMM模型的高斯权重进行更新,使得所述组合GMM模型的高斯权重之和为1,获得所述密码文本对应的背景模型。

4.根据权利要求2所述的方法,其特征在于,所述声学模型为GMM模型;

所述根据所述密码文本对预先训练得到的发音单元模型进行拼接,获得所述密码文本对应的背景模型包括:获取所述密码文本中各发音单元对应的GMM模型,得到GMM模型序列;

对所述GMM模型序列中的至少两个模型单元依次拼接后,采用预设的自跳转概率和外跳转概率进行跳转转移,获得所述密码文本对应的背景模型,其中,所述自跳转概率和外跳转概率之和为1。

5.根据权利要求2所述的方法,其特征在于,所述声学模型为HMM模型;

所述根据所述密码文本对预先训练得到的发音单元模型进行拼接,获得所述密码文本对应的背景模型包括:获取所述密码文本中各发音单元对应的HMM模型序列;

对所述HMM模型序列中的模型单元依次拼接后,获得所述密码文本对应的背景模型。

6.根据权利要求1所述的方法,其特征在于,所述利用所述语音信号中的声纹特征序列、所述背景模型和所述用户的声纹密码模型对所述用户进行认证包括:分别计算所述声纹特征序列相对于所述声纹密码模型的第一似然度,以及所述声纹特征序列相对于所述背景模型的第二似然度;

根据所述第一似然度与所述第二似然度的比值以及预设阈值,确定用户是否为合法用户。

7.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:在对所述语音信号进行语音识别之前或者在获得所述密码文本对应的背景模型之后,提取所述语音信号中的声纹特征序列。

8.根据权利要求1至6任一项所述的方法,其特征在于,所述方法还包括:在对所述语音信号进行语音识别之前或者在获得所述密码文本对应的背景模型之后,获取所述用户的声纹密码模型。

9.根据权利要求8所述的方法,其特征在于,所述方法还包括:在获取所述用户的声纹密码模型之前,判断当前是否存在用户的声纹密码模型;

如果不存在,则根据用户的注册语音信号及所述背景模型构建用户的声纹密码模型。

10.一种声纹密码认证系统,其特征在于,包括:接收模块,用于接收用户输入的语音信号;

识别模块,用于对所述语音信号进行语音识别,获得密码文本;

确定模块,用于确定是否存在预先通过离线采集的密码语音数据训练得到的所述密码文本对应的背景模型;

背景模型获取模块,用于在所述确定模块确定存在所述密码文本对应的背景模型后,获取所述背景模型,在所述确定模块确定不存在所述密码文本对应的背景模型后,根据所述密码文本对预先训练得到的发音单元模型进行拼接,获得所述密码文本对应的背景模型,发音单元模型通过对训练语音数据进行训练得到;

认证模块,用于利用所述语音信号中的声纹特征序列、所述背景模型和所述用户的声纹密码模型对所述用户进行认证。

11.根据权利要求10所述的系统,其特征在于,所述系统还包括:训练模块,用于预先训练得到发音单元模型;所述训练模块包括:语音数据获取单元,用于获取训练语音数据;

第一确定单元,用于根据所述训练语音数据确定发音单元;

第二确定单元,用于确定所述发音单元的声学模型的拓扑结构;

参数训练单元,用于对所述声学模型进行参数训练,得到发音单元模型。

12.根据权利要求11所述的系统,其特征在于,所述声学模型为GMM模型,所述背景模型获取模块包括:GMM模型获取单元,用于获取所述密码文本中各发音单元对应的GMM模型,得到GMM模型集合;

第一拼接单元,用于对所述GMM模型集合中的模型单元,采用等权重拼接,得到新的组合GMM模型;

权重更新单元,用于对所述组合GMM模型的高斯权重进行更新,使得所述组合GMM模型的高斯权重之和为1,获得所述密码文本对应的背景模型。

13.根据权利要求11所述的系统,其特征在于,所述声学模型为GMM模型,所述背景模型获取模块包括:GMM模型获取单元,用于获取所述密码文本中各发音单元对应的GMM模型,得到GMM模型序列;

第二拼接单元,用于对所述GMM模型序列中的至少两个模型单元依次拼接后,采用预设的自跳转概率和外跳转概率进行跳转转移,获得所述密码文本对应的背景模型,其中,所述自跳转概率和外跳转概率之和为1。

14.根据权利要求11所述的系统,其特征在于,所述声学模型为HMM模型,所述背景模型获取模块包括:HMM模型序列获取单元,用于获取所述密码文本中各发音单元对应的HMM模型序列;

第三拼接单元,用于对所述HMM模型序列中的模型单元依次拼接后,获得所述密码文本对应的背景模型。

15.根据权利要求10所述的系统,其特征在于,所述认证模块包括:计算单元,用于分别计算所述声纹特征序列相对于所述声纹密码模型的第一似然度,以及所述声纹特征序列相对于所述背景模型的第二似然度;

确定单元,用于根据所述第一似然度与所述第二似然度的比值以及预设阈值,确定用户是否为合法用户。

16.根据权利要求10至15任一项所述的系统,其特征在于,所述系统还包括:声纹特征序列提取模块,用于在对所述语音信号进行语音识别之前或者在获得所述密码文本对应的背景模型之后,提取所述语音信号中的声纹特征序列。

17.根据权利要求10至15任一项所述的系统,其特征在于,所述系统还包括:声纹密码模型获取模块,用于在对所述语音信号进行语音识别之前或者在获得所述密码文本对应的背景模型之后,获取所述用户的声纹密码模型。

18.根据权利要求17所述的系统,其特征在于,所述系统还包括:判断模块,用于在获取所述用户的声纹密码模型之前,判断当前是否存在用户的声纹密码模型;

声纹密码模型构建模块,用于在所述判断模块判断当前不存在声纹密码模型后,根据用户的注册语音信号及所述背景模型构建用户的声纹密码模型。

说明书 :

声纹密码认证方法及系统

技术领域

[0001] 本发明涉及密码认证技术领域,特别涉及一种声纹密码认证方法及系统。

背景技术

[0002] 声纹认证,即根据用户输入语音信号中反映的说话人生理特征和行为特征的声纹信息,自动确认说话人身份的技术。相比于其他生物认证技术,声纹认证具有更简便、准确、经济及良好扩展性等众多优势,可广泛应用于安全验证、控制等各方面。
[0003] 声纹密码认证,是一种文本相关(Text-Dependent)的声纹认证技术,该技术要求用户语音输入确定密码文本,并根据声纹特点确认说话人身份。在声纹密码认证中,用户注册及身份认证时均需要输入确定密码文本相关的语音信号,因而声纹信息较为一致,相应的可取得相比与文本无关的声纹认证更好的认证效果,在门禁系统、开机密码、银行支付密码等应用环境下发挥着积极的作用。
[0004] 在现有技术中,声纹密码认证需要预先离线采集大量的与密码文本相关的语音数据训练得到背景模型。在实际中,往往要求用户统一文本密码,且不能随意更改密码,才能满足要求。
[0005] 由于用户统一设定一个密码的方式容易导致设置的正确答案或密码文本泄露,进而会导致大量冒认者语音会被误识别为目标说话人,从而无法提供有效的安全保障。因此,为了提高安全性并满足用户个性化设置需求,允许不同用户使用自定义密码或者经常更换密码就非常有必要。而现有技术对背景模型的训练往往要求采集大量的与密码文本相关的语音数据,显然无法适用于用户自定义的声纹密码认证系统,且不利于声纹密码认证系统的密码更新。

发明内容

[0006] 本发明实施例提供了一种声纹密码认证方法及系统,以满足用户自定义密码及频繁更改密码的应用需求。
[0007] 本发明实施例提供的技术方案如下:
[0008] 一方面,提供了一种声纹密码认证方法,包括:
[0009] 接收用户输入的语音信号;
[0010] 对所述语音信号进行语音识别,获得密码文本;
[0011] 确定是否存在预先通过离线采集的密码语音数据训练得到的所述密码文本对应的背景模型;
[0012] 如果是,则获取所述背景模型;如果否,则根据所述密码文本对预先训练得到的发音单元模型进行拼接,获得所述密码文本对应的背景模型;
[0013] 利用所述语音信号中的声纹特征序列、所述背景模型和所述用户的声纹密码模型对所述用户进行认证。
[0014] 优选地,按照以下方式预先训练得到发音单元模型:
[0015] 获取训练语音数据;
[0016] 根据所述训练语音数据确定发音单元;
[0017] 确定所述发音单元的声学模型的拓扑结构;
[0018] 对所述声学模型进行参数训练,得到发音单元模型。
[0019] 优选地,所述声学模型为GMM模型;
[0020] 所述根据所述密码文本对预先训练得到的发音单元模型进行拼接,获得所述密码文本对应的背景模型包括:
[0021] 获取所述密码文本中各发音单元对应的GMM模型,得到GMM模型集合;
[0022] 对所述GMM模型集合中的模型单元,采用等权重拼接,得到新的组合GMM模型;
[0023] 对所述组合GMM模型的高斯权重进行更新,使得所述组合GMM模型的高斯权重之和为1,获得所述密码文本对应的背景模型。
[0024] 优选地,所述声学模型为GMM模型;
[0025] 所述根据所述密码文本对预先训练得到的发音单元模型进行拼接,获得所述密码文本对应的背景模型包括:
[0026] 获取所述密码文本中各发音单元对应的GMM模型,得到GMM模型序列;
[0027] 对所述GMM模型序列中的至少两个模型单元依次拼接后,采用预设的自跳转概率和外跳转概率进行跳转转移,获得所述密码文本对应的背景模型,其中,所述自跳转概率和外跳转概率之和为1。
[0028] 优选地,所述声学模型为HMM模型;
[0029] 所述根据所述密码文本对预先训练得到的发音单元模型进行拼接,获得所述密码文本对应的背景模型包括:
[0030] 获取所述密码文本中各发音单元对应的HMM模型序列;
[0031] 对所述HMM模型序列中的模型单元依次拼接后,获得所述密码文本对应的背景模型。
[0032] 优选地,所述利用所述语音信号中的声纹特征序列、所述背景模型和所述用户的声纹密码模型对所述用户进行认证包括:
[0033] 分别计算所述声纹特征序列相对于所述声纹密码模型的第一似然度,以及所述声纹特征序列相对于所述背景模型的第二似然度;
[0034] 根据所述第一似然度与所述第二似然度的比值以及预设阈值,确定用户是否为合法用户。
[0035] 优选地,所述方法还包括:在对所述语音信号进行语音识别之前或者在获得所述密码文本对应的背景模型之后,提取所述语音信号中的声纹特征序列。
[0036] 优选地,所述方法还包括:在对所述语音信号进行语音识别之前或者在获得所述密码文本对应的背景模型之后,获取所述用户的声纹密码模型。
[0037] 优选地,所述方法还包括:在获取所述用户的声纹密码模型之前,判断当前是否存在用户的声纹密码模型;
[0038] 如果不存在,则根据用户的注册语音信号及所述背景模型构建用户的声纹密码模型。
[0039] 另一方面,提供了一种声纹密码认证系统,包括:
[0040] 接收模块,用于接收用户输入的语音信号;
[0041] 识别模块,用于对所述语音信号进行语音识别,获得密码文本;
[0042] 确定模块,用于确定是否存在预先通过离线采集的密码语音数据训练得到的所述密码文本对应的背景模型;
[0043] 背景模型获取模块,用于在所述确定模块确定存在所述密码文本对应的背景模型后,获取所述背景模型,在所述确定模块确定不存在所述密码文本对应的背景模型后,根据所述密码文本对预先训练得到的发音单元模型进行拼接,获得所述密码文本对应的背景模型;
[0044] 认证模块,用于利用所述语音信号中的声纹特征序列、所述背景模型和所述用户的声纹密码模型对所述用户进行认证。
[0045] 优选地,所述系统还包括:训练模块,用于预先训练得到发音单元模型;所述训练模块包括:
[0046] 语音数据获取单元,用于获取训练语音数据;
[0047] 第一确定单元,用于根据所述训练语音数据确定发音单元;
[0048] 第二确定单元,用于确定所述发音单元的声学模型的拓扑结构;
[0049] 参数训练单元,用于对所述声学模型进行参数训练,得到发音单元模型。
[0050] 优选地,所述声学模型为GMM模型,所述背景模型获取模块包括:
[0051] GMM模型获取单元,用于获取所述密码文本中各发音单元对应的GMM模型,得到GMM模型集合;
[0052] 第一拼接单元,用于对所述GMM模型集合中的模型单元,采用等权重拼接,得到新的组合GMM模型;
[0053] 权重更新单元,用于对所述组合GMM模型的高斯权重进行更新,使得所述组合GMM模型的高斯权重之和为1,获得所述密码文本对应的背景模型。
[0054] 优选地,所述声学模型为GMM模型,所述背景模型获取模块包括:
[0055] GMM模型获取单元,用于获取所述密码文本中各发音单元对应的GMM模型,得到GMM模型序列;
[0056] 第二拼接单元,用于对所述GMM模型序列中的至少两个模型单元依次拼接后,采用预设的自跳转概率和外跳转概率进行跳转转移,获得所述密码文本对应的背景模型,其中,所述自跳转概率和外跳转概率之和为1。
[0057] 优选地,所述声学模型为HMM模型,所述背景模型获取模块包括:
[0058] HMM模型序列获取单元,用于获取所述密码文本中各发音单元对应的HMM模型序列;
[0059] 第三拼接单元,用于对所述HMM模型序列中的模型单元依次拼接后,获得所述密码文本对应的背景模型。
[0060] 优选地,所述认证模块包括:
[0061] 计算单元,用于分别计算所述声纹特征序列相对于所述声纹密码模型的第一似然度,以及所述声纹特征序列相对于所述背景模型的第二似然度;
[0062] 确定单元,用于根据所述第一似然度与所述第二似然度的比值以及预设阈值,确定用户是否为合法用户。
[0063] 优选地,所述系统还包括:声纹特征序列提取模块,用于在对所述语音信号进行语音识别之前或者在获得所述密码文本对应的背景模型之后,提取所述语音信号中的声纹特征序列。
[0064] 优选地,所述系统还包括:声纹密码模型获取模块,用于在对所述语音信号进行语音识别之前或者在获得所述密码文本对应的背景模型之后,获取所述用户的声纹密码模型。
[0065] 优选地,所述系统还包括:判断模块,用于在获取所述用户的声纹密码模型之前,判断当前是否存在用户的声纹密码模型;
[0066] 声纹密码模型构建模块,用于在所述判断模块判断当前不存在声纹密码模型后,根据用户的注册语音信号及所述背景模型构建用户的声纹密码模型。
[0067] 本发明实施例提供的声纹密码认证方法及系统,利用语音信号中的声纹特征序列、背景模型和用户的声纹密码模型对用户进行认证。如果不存在密码文本对应的背景模型,则根据密码文本对预先训练得到的发音单元模型进行拼接,获得密码文本对应的背景模型。由于背景模型是通过将预先训练得到的发音单元模型进行拼接得到的,可以便捷地实时在线生成,能够满足用户自定义密码及密码频繁更改的需求。

附图说明

[0068] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0069] 图1是现有技术中的声纹密码认证过程示意图;
[0070] 图2是本发明实施例提供的声纹密码认证方法的流程图;
[0071] 图3是本发明实施例提供的声纹密码认证系统的结构示意图。

具体实施方式

[0072] 为了使本领域技术人员更好地理解本发明实施例的方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。
[0073] 下面首先对现有技术中的声纹密码认证过程作简单介绍。
[0074] 如图1所示,是现有技术中声纹密码认证过程示意图,包括以下步骤:
[0075] 步骤101:接收用户输入的语音信号;
[0076] 步骤102:提取语音信号中的声纹特征序列;
[0077] 步骤103:对语音信号进行语音识别,获得密码文本;
[0078] 步骤104:获取预先训练得到的密码文本对应的背景模型;
[0079] 步骤105:根据用户的注册语音信号及背景模型构建用户的声纹密码模型;
[0080] 步骤106:利用声纹特征序列、背景模型和声纹密码模型对用户进行认证。
[0081] 现有技术中的声纹密码认证,主要采用基于假设检验的框架,即分别计算用户测试语音相对于背景模型和声纹密码模型的似然度,来进行用户认证。
[0082] 由于密码文本对应的背景模型和声纹密码模型的准确度,直接影响到声纹密码认证效果。在数据驱动的统计模型设定下,训练数据量越大则模型效果越好。现有技术中,背景模型往往通过离线采集大量的密码语音数据,预先通过数据训练才能得到。由于离线采集大量密码语音数据进行数据训练,较为麻烦,可操作性较差。在实际中,往往通过采用单一的通用密码,且不能随意更改密码的方法得以实现。
[0083] 在主流GMM-UBM算法框架下,分别采用混合高斯模型(Gaussian Mixture Model,简称GMM)模拟通用密码背景模型(Universal Background Model,简称UBM)和声纹密码模型。
[0084] 由于声纹密码语音通常较短,用于描述用户对通用密码文本发音的声纹共性的背景模型通常选择高斯数为256或更大高斯数的GMM模型。
[0085] 通用密码背景模型通过如下方法训练得到:
[0086] (1)从预先存储的大量密码训练语音中提取声纹特征序列,得到声纹特征矢量库;
[0087] (2)利用聚类算法例如传统的LBG聚类算法,对提取的声纹特征矢量进行聚类,得到K个高斯的初始化均值,其中K为系统预先设置的模型规模参数。
[0088] (3)通过最大期望算法(Expectation-Maximization algorithm,EM算法)迭代更新GMM模型的均值、方差及各高斯对应的加权系数,得到新的UBM模型:
[0089]
[0090] 其中,T表示该句话的总帧数,ot表示第t帧观测数据,cm是第m个高斯的权重,满足μm,Σm分别是第m个高斯的均值和方差,其中,N(.)满足正态分布:
[0091]
[0092] 声纹密码模型是根据用户的注册语音在线训练得到的。由于注册语音样本数量有限,直接据此训练复杂模型容易导致数据稀疏等问题。现有技术中的声纹密码模型是以背景模型为初始模型,通过自适应算法调整模型部分参数得到的。自适应算法可以根据少量说话人数据将用户声纹共性自适应为当前说话人个性。目前常用的自适应算法有基于最大后验概率(Maximum a Posteriori,简称MAP)的自适应算法。
[0093] 采用自适应算法训练声纹密码模型的具体训练过程如下:
[0094] (1)从用户注册语音中提取声纹特征序列,形成训练特征矢量库;
[0095] (2)利用训练特征矢量库,采用自适应算法更新通用背景模型混合高斯的均值,得到声纹密码模型的高斯均值μm;其中,声纹密码模型高斯均值μm为样本统计量和通用背景模型高斯均值的加权平均:
[0096]
[0097] 其中,xt表示观测向量,即声纹特征序列;μm表示第m个高斯的均值;γm(xt)表示第t帧声纹特征落于第m个高斯的概率,τ是遗忘因子,用于平衡历史均值以及样本统计量对声纹密码模型高斯均值的更新力度。一般来说,τ值较大,则声纹密码模型高斯均值主要受原始均值制约;τ值较小,则声纹密码模型高斯均值主要由样本统计量决定,更多体现了新样本分布的特点。
[0098] (3)复制背景模型方差,作为声纹密码模型方差。
[0099] 得到通用密码背景模型以及声纹密码模型后,可以根据用户输入的语音信号进行用户认证。具体地,根据用户输入的语音信号的声纹特征序列,分别计算声纹特征序列相对于声纹密码模型的第一似然度,声纹特征序列相对于通用密码背景模型的第二似然度,然后计算第一似然度和第二似然度的比值,通过该比值以及预设阈值判断用户是否为合法用户。如果第一似然度和第二似然度的比值大于预设阈值,则判断用户为合法用户;否则,判断用户为非法用户。
[0100] 现有技术中的声纹密码认证,在单一密码的情况下,由于可以获得充分的训练数据,训练得到的背景模型及声纹密码模型较好,能够满足认证需求。然而,在用户自定义声纹密码的应用环境下,由于使用次数有限等原因,难以获取大量的训练数据,导致无法预先训练得到相应的背景模型,使得传统的声纹密码认证在需要用户自定义密码或频繁更改密码的情况下,无法得到应用。
[0101] 为此,本发明实施例提出了一种声纹密码认证方法及系统,能够支持用户自定义密码及频繁更换密码的应用需求。
[0102] 如图2所示,是本发明实施例提供的声纹密码认证方法的流程图,可以包括以下步骤:
[0103] 步骤201:接收用户输入的语音信号;
[0104] 步骤202:对语音信号进行语音识别,获得密码文本;
[0105] 步骤203:确定是否存在密码文本对应的背景模型;
[0106] 步骤204:如果存在密码文本对应的背景模型,则获取背景模型;
[0107] 步骤205:如果不存在密码文本对应的背景模型,则根据密码文本对预先训练得到的发音单元模型进行拼接,获得密码文本对应的背景模型;
[0108] 步骤206:利用语音信号中的声纹特征序列、背景模型和用户的声纹密码模型对用户进行认证。
[0109] 在本发明实施例中,对用户进行认证所需要的声纹特征序列、背景模型和用户的声纹密码模型,可以通过以下方式获取:可以从用户输入的语音信号中提取声纹特征序列,具体地,可以在对语音信号进行语音识别之前,当然也可以在获得密码文本对应的背景模型之后,进行语音信号的声纹特征序列的提取。关于背景模型的获取,可以先判断是否存在密码文本对应的背景模型,如果已经存在,则可以直接获取;如果不存在,可以根据密码文本对预先训练得到的发音单元模型进行拼接,获得密码文本对应的背景模型;关于声纹密码模型,可以先判断是否存在用户的声纹密码模型,如果存在,可以直接获取;如果不存在,可以根据用户的注册语音信号及步骤204或步骤205获得的背景模型构建用户的声纹密码模型。
[0110] 可以通过以上方式获取的语音信号中的声纹特征序列、背景模型和用户的声纹密码模型对用户进行认证,具体地,可以分别计算声纹特征序列相对于声纹密码模型的第一似然度,以及声纹特征序列相对于背景模型的第二似然度;根据第一似然度与第二似然度的比值以及预设阈值,确定用户是否为合法用户。如果第一似然度与第二似然度的比值大于预设阈值,则确定用户为合法用户;否则,确定用户为非法用户。
[0111] 在本发明实施例中,密码文本对应的背景模型可以是通过对预先训练得到的发音单元模型进行拼接得到的。发音单元模型的训练过程具体可以包括:先获取训练语音数据,然后根据训练语音数据确定发音单元,再确定发音单元的声学模型的拓扑结构,再对声学模型进行参数训练,得到发音单元模型。其中,发音单元例如可以是音素单元或音节单元。例如,“我的生日”对应的音素单元为“w,o,d,e,sh,eng,r,i”,在对音素单元进行确定之后,可以对其中的每个音素单元分别建立声学模型,从而得到音素单元的声学模型的拓扑结构,再对声学模型进行参数训练,从而得到发音单元模型。其中,对声学模型的参数训练可以采用现有技术中的一些训练方式,对此本发明实施例不做限定。
[0112] 需要说明的是,在本发明实施例中,上述声学模型可以采用GMM模型,也可以采用HMM模型(Hidden Markov Model,隐马尔可夫模型)。
[0113] 在上述声学模型采用GMM模型时,根据密码文本对预先训练得到的发音单元模型进行拼接,获得密码文本对应的背景模型可以包括:获取密码文本中各发音单元对应的GMM模型,得到GMM模型集合;对GMM模型集合中的模型单元,采用等权重拼接,得到新的组合GMM模型;对组合GMM模型的高斯权重进行更新,使得组合GMM模型的高斯权重之和为1,获得密码文本对应的背景模型。
[0114] 上述各模型单元的高斯权重更新过程可以如下:在对各模型单元进行等权重拼接过程中,高斯权重设置为wn,n=1:N,N为模型单元个数;对各模型单元的高斯权重更新为w′ni=wnwni,wni为原模型单元中每个高斯的权重,并且满足wni=1;从上式中可以看出,拼接后的GMM模型在对各模型单元的高斯权重更新后,仍然能够满足
[0115] 在上述声学模型采用GMM模型时,根据密码文本对预先训练得到的发音单元模型进行拼接,获得密码文本对应的背景模型可以包括:获取密码文本中各发音单元对应的GMM模型,得到GMM模型序列;对GMM模型序列中的至少两个模型单元依次拼接后,采用预设的自跳转概率和外跳转概率进行跳转转移,获得密码文本对应的背景模型,其中,自跳转概率和外跳转概率之和为1。
[0116] 在上述声学模型采用HMM模型时,根据密码文本对预先训练得到的发音单元模型进行拼接,获得密码文本对应的背景模型包括:获取密码文本对应的HMM模型序列;对HMM模型序列中的至少两个模型单元拼接后,采用预设的自跳转概率和外跳转概率进行跳转转移,获得密码文本对应的背景模型,其中,自跳转概率和外跳转概率之和为1。
[0117] 在本发明实施例中,自跳转和外跳转可以是以字为单位进行的,因此,需要对两个或两个以上模型单元进行拼接,以便得到某个字的GMM模型或HMM模型,之后再以字为单位设定其跳转转移概率。其中,自跳转概率和外跳转概率可以根据经验预先进行设定,例如,可以将自跳转概率设置为0.9,可以将外跳转概率设置为0.1。
[0118] 由于发音具有一定的时延性,采用HMM模型可以更好地模拟声纹动态信息及密码文本的时序信息,以有效解决文本乱序、错字、多字及少字现象。
[0119] 本发明实施例提供的声纹密码认证方法,利用语音信号中的声纹特征序列、背景模型和用户的声纹密码模型对用户进行认证。如果不存在密码文本对应的背景模型,则根据密码文本对预先训练得到的发音单元模型进行拼接,获得密码文本对应的背景模型。由于背景模型是通过将预先训练得到的发音单元模型进行拼接得到的,可以便捷地实时在线生成,能够满足用户自定义密码及密码频繁更改的需求。
[0120] 相应地,本发明实施例还提供一种声纹密码认证系统,如图3所示,为本发明实施例提供的声纹密码认证系统的结构示意图。
[0121] 在该实施例中,所述声纹密码认证系统可以包括:
[0122] 接收模块301,用于接收用户输入的语音信号;
[0123] 识别模块302,用于对语音信号进行语音识别,获得密码文本;
[0124] 确定模块303,用于确定是否存在密码文本对应的背景模型;
[0125] 背景模型获取模块304,用于在确定模块303确定存在密码文本对应的背景模型后,获取背景模型,在确定模块303确定不存在密码文本对应的背景模型后,根据密码文本对预先训练得到的发音单元模型进行拼接,获得密码文本对应的背景模型;
[0126] 认证模块305,用于利用语音信号中的声纹特征序列、背景模型和用户的声纹密码模型对用户进行认证。
[0127] 在本发明实施例中,密码文本对应的背景模型可以是根据密码文本对预先训练得到的发音单元模型进行拼接得到的,而发音单元模型可以是预先训练得到的。为此,本发明实施例的系统还可进一步包括:训练模块(未图示),用于预先训练得到发音单元模型。该训练模块可以包括:
[0128] 语音数据获取单元,用于获取训练语音数据;
[0129] 第一确定单元,用于根据训练语音数据确定发音单元;
[0130] 第二确定单元,用于确定发音单元的声学模型的拓扑结构;
[0131] 参数训练单元,用于对声学模型进行参数训练,得到发音单元模型。
[0132] 需要说明的是,在本发明实施例中,上述声学模型可以采用GMM模型,也可以采用HMM模型。
[0133] 上述声学模型采用GMM模型,上述背景模型获取模块304的一种具体实现结构可以包括:
[0134] GMM模型获取单元,用于获取密码文本中各发音单元对应的GMM模型,得到GMM模型集合;
[0135] 第一拼接单元,用于对GMM模型集合中的模型单元,采用等权重拼接,得到新的组合GMM模型;
[0136] 权重更新单元,用于对组合GMM模型的高斯权重进行更新,使得组合GMM模型的高斯权重之和为1,获得密码文本对应的背景模型。
[0137] 上述声学模型采用GMM模型,上述背景模型获取模块304的另外一种具体实现结构可以包括:
[0138] GMM模型获取单元,用于获取所述密码文本中各发音单元对应的GMM模型,得到GMM模型序列;
[0139] 第二拼接单元,用于对所述GMM模型序列中的至少两个模型单元依次拼接后,采用预设的自跳转概率和外跳转概率进行跳转转移,获得所述密码文本对应的背景模型,其中,所述自跳转概率和外跳转概率之和为1。
[0140] 上述声学模型采用HMM模型,上述背景模型获取模块304的一种具体实现结构可以包括:
[0141] HMM模型序列获取单元,用于获取所述密码文本中各发音单元对应的HMM模型序列;
[0142] 第三拼接单元,用于对所述HMM模型序列中的模型单元依次拼接后,获得密码文本对应的背景模型。
[0143] 在本发明实施例中,认证模块305的一种具体结构可以包括:
[0144] 计算单元,用于分别计算声纹特征序列相对于声纹密码模型的第一似然度,以及声纹特征序列相对于背景模型的第二似然度;
[0145] 确定单元,用于根据第一似然度与第二似然度的比值以及预设阈值,确定用户是否为合法用户。
[0146] 本发明实施例提供的声纹密码认证系统,还可以进一步包括:
[0147] 声纹特征序列提取模块,用于在对语音信号进行语音识别之前或者在获得密码文本对应的背景模型之后,提取语音信号中的声纹特征序列。
[0148] 进一步地,上述系统还可以包括:
[0149] 声纹密码模型获取模块,用于在对语音信号进行语音识别之前或者在获得密码文本对应的背景模型之后,获取用户的声纹密码模型。
[0150] 进一步地,上述系统还可以包括:
[0151] 判断模块,用于在获取用户的声纹密码模型之前,判断当前是否存在用户的声纹密码模型;
[0152] 声纹密码模型构建模块,用于在判断模块判断当前不存在声纹密码模型后,根据用户的注册语音信号及背景模型构建用户的声纹密码模型。
[0153] 本发明实施例提供的声纹密码认证系统,利用语音信号中的声纹特征序列、背景模型和用户的声纹密码模型对用户进行认证。如果不存在密码文本对应的背景模型,则根据密码文本对预先训练得到的发音单元模型进行拼接,获得密码文本对应的背景模型。由于背景模型是通过将预先训练得到的发音单元模型进行拼接得到的,可以便捷地实时在线生成,能够满足用户自定义密码及密码频繁更改的需求。
[0154] 上述实施例提供的声纹密码认证方法和系统属于同一发明构思,系统中各模块、单元的功能及实现过程可参照方法实施例中的描述,这里不再赘述。
[0155] 本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0156] 以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。