使用基于人工神经网络的亚语音单位区分的说话人验证及识别

申请号 CN201380069560.6 申请日 2013-12-05 公开(公告)号 CN104903954A 公开(公告)日 2015-09-09
申请人 感官公司; 发明人 约翰-保罗·荷索姆; 彼得·J·韦尔默朗; 乔纳森·肖;
摘要 在一个 实施例 中, 计算机系统 存储多个说话人的话音数据,其中所述话音数据包含多个 特征向量 及每一特征向量的相关联亚语音类。所述计算机系统接着基于所述话音数据,建置 人工神经网络 ANN以对所述多个说话人中的目标说话人的话音进行建模,其中所述ANN经配置以区分由所述目标说话人说出的亚语音类的实例与由所述多个说话人中的其他说话人说出的亚语音类的实例。
权利要求

1.一种方法,其包括:
计算机系统存储多个说话人的话音数据,所述话音数据包含多个特征向量及每一特征向量的相关联亚语音类;以及
由所述计算机系统基于所述话音数据,建置人工神经网络ANN以对所述多个说话人中的目标说话人的话音进行建模,所述ANN经配置以区分由所述目标说话人说出的亚语音类的实例与由所述多个说话人中的其他说话人说出的亚语音类的实例。
2.根据权利要求1所述的方法,其中建置所述ANN包括:
检索包括多个现存输出节点的现存ANN,每一现存输出节点对应于亚语音类,且经配置以输出输入到所述现存ANN的特征向量为由所述多个说话人中的所述其他说话人中的一者说出的所述亚语音类的实例的概率;以及
修改所述现存ANN以生成所述ANN,其中所述修改造成所述ANN包含输出层,所述输出层包括所述多个现存输出节点及每一现存输出节点的对应于所述现存输出节点的所述亚语音类的新输出节点,所述新输出节点经配置以输出输入到所述ANN的特征向量为由所述目标说话人说出的所述亚语音类的实例的概率。
3.根据权利要求2所述的方法,其中建置所述ANN进一步包括:
使用源自所述目标说话人的所述话音数据的第一部分训练所述ANN,使得对于所述第一部分中的每一特征向量及相关联亚语音类,对应于所述相关联亚语音类的所述新输出节点经调节以输出相对较高的概率,且对应于所述相关联亚语音类的所述现存输出节点经调节以输出相对较低的概率。
4.根据权利要求3所述的方法,其中建置所述ANN进一步包括:
使用源自所述其他说话人的所述话音数据的第二部分训练所述ANN,使得对于所述第二部分中的每一特征向量及相关联亚语音类,对应于所述相关联亚语音类的所述新输出节点经调节以输出相对较低的概率,且对应于所述相关联亚语音类的所述现存输出节点经调节以输出相对较高的概率。
5.根据权利要求4所述的方法,其中所述ANN进一步包含包括多个输入节点的输入层及包括一或多个隐藏节点的一或多个隐藏层
6.根据权利要求5所述的方法,其中所述输入层经由具有第一组权重的第一组连接连接到所述一或多个隐藏层中的最低隐藏层,其中所述一或多个隐藏层经由具有第二组权重的第二组连接从较低层连接到较高层,其中所述一或多个隐藏层中的最高隐藏层经由具有第三组权重的第三组连接连接到所述输出层,且其中使用所述话音数据的所述第一部分及所述第二部分训练所述ANN包括应用反向传播算法来修改所述第三组权重而不修改所述第一组权重或所述第二组权重。
7.根据权利要求1所述的方法,其进一步包括:
接收对应于目标短语的发声的声信号
提取来自所述声信号中的多个的特征向量;以及
基于所述特征向量及所述ANN,生成指示由所述目标说话人说出所述目标短语的可能性的说话人验证评分。
8.根据权利要求7所述的方法,其中生成所述说话人验证评分包括使用在词汇方面对所述目标短语进行建模的隐尔科夫模型HMM执行维特比搜索。
9.根据权利要求8所述的方法,其中在所述多个帧中的每一帧处,所述维特比搜索将对应于所述帧的特征向量作为输入传递到所述ANN,且基于由所述ANN输出的一或多个概率生成每帧的说话人验证评分。
10.根据权利要求9所述的方法,其中所述HMM中的状态的所述每帧的说话人验证评分对应于由所述ANN中的与所述HMM中的所述状态相关联的所述新输出节点输出的所述概率。
11.根据权利要求9所述的方法,其中所述HMM中的状态的所述每帧的说话人验证评分对应于由所述ANN中的与所述HMM中的所述状态相关联的新输出节点输出的所述概率减去由所述ANN中的与所述新输出节点相关联的所述现存输出节点输出的所述概率。
12.根据权利要求9所述的方法,其中生成所述说话人验证评分进一步包括将函数应用于所述每帧的说话人验证评分中的一或多者以计算所述说话人验证评分。
13.根据权利要求12所述的方法,其中所述函数为平均函数或求和函数。
14.根据权利要求12所述的方法,其中所述函数被应用于对应于所述多个帧中的相关帧的所述每帧的说话人验证评分的子集,每个相关帧经由所述维特比搜索归类为被视为可用于说话人验证或识别的音位的部分。
15.一种上面存储有可由计算机系统执行的程序代码的非暂时性计算机可读存储媒体,所述程序代码包括:
造成所述计算机系统存储多个说话人的话音数据的代码,所述话音数据包含多个特征向量及每一特征向量的相关联亚语音类;以及
造成所述计算机系统基于所述话音数据建置人工神经网络ANN以对所述多个说话人中的目标说话人的话音进行建模的代码,所述ANN经配置以区分由所述目标说话人说出的亚语音类的实例与由所述多个说话人中的其他说话人说出的亚语音类的实例。
16.根据权利要求15所述的非暂时性计算机可读存储媒体,其中造成所述计算机系统建置所述ANN的所述代码包括:
造成所述计算机系统检索包括多个现存输出节点的现存ANN的代码,每一现存输出节点对应于亚语音类,且经配置以输出输入到所述现存ANN的特征向量为由所述多个说话人中的所述其他说话人中的一者说出的所述亚语音类的实例的概率;以及
造成所述计算机系统修改所述现存ANN以生成所述ANN的代码,其中所述修改造成所述ANN包含输出层,所述输出层包括所述多个现存输出节点及每一现存输出节点的对应于所述现存输出节点的所述亚语音类的新输出节点,所述新输出节点经配置以输出输入到所述ANN的特征向量为由所述目标说话人说出的所述亚语音类的实例的概率。
17.根据权利要求16所述的非暂时性计算机可读存储媒体,其中造成所述计算机系统建置所述ANN的所述代码进一步包括:
造成所述计算机系统使用源自所述目标说话人的所述话音数据的第一部分训练所述ANN的代码,使得对于所述第一部分中的每一特征向量及相关联亚语音类,对应于所述相关联亚语音类的所述新输出节点经调节以输出相对较高的概率,且对应于所述相关联亚语音类的所述现存输出节点经调节以输出相对较低的概率;以及
造成所述计算机系统使用源自所述其他说话人的所述话音数据的第二部分训练所述ANN的代码,使得对于所述第二部分中的每一特征向量及相关联亚语音类,对应于所述相关联亚语音类的所述新输出节点经调节以输出相对较低的概率,且对应于所述相关联亚语音类的所述现存输出节点经调节以输出相对较高的概率。
18.一种系统,其包括:
处理器,其经配置以:
存储多个说话人的话音数据,所述话音数据包含多个特征向量及每一特征向量的相关联亚语音类;以及
基于所述话音数据,建置人工神经网络ANN以对所述多个说话人中的目标说话人的话音进行建模,所述ANN经配置以区分由所述目标说话人说出的亚语音类的实例与由所述多个说话人中的其他说话人说出的亚语音类的实例。
19.根据权利要求18所述的系统,其中建置所述ANN包括:
检索包括多个现存输出节点的现存ANN,每一现存输出节点对应于亚语音类,且经配置以输出输入到所述现存ANN的特征向量为由所述多个说话人中的所述其他说话人中的一者说出的所述亚语音类的实例的概率;以及
修改所述现存ANN以生成所述ANN,其中所述修改造成所述ANN包含输出层,所述输出层包括所述多个现存输出节点及每一现存输出节点的对应于所述现存输出节点的所述亚语音类的新输出节点,所述新输出节点经配置以输出输入到所述ANN的特征向量为由所述目标说话人说出的所述亚语音类的实例的概率。
20.根据权利要求19所述的系统,其中建置所述ANN进一步包括:
使用源自所述目标说话人的所述话音数据的第一部分训练所述ANN,使得对于所述第一部分中的每一特征向量及相关联亚语音类,对应于所述相关联亚语音类的所述新输出节点经调节以输出相对较高的概率,且对应于所述相关联亚语音类的所述现存输出节点经调节以输出相对较低的概率;以及
使用源自所述其他说话人的所述话音数据的第二部分训练所述ANN,使得对于所述第二部分中的每一特征向量及相关联亚语音类,对应于所述相关联亚语音类的所述新输出节点经调节以输出相对较低的概率,且对应于所述相关联亚语音类的所述现存输出节点经调节以输出相对较高的概率。

说明书全文

使用基于人工神经网络的亚语音单位区分的说话人验证及

识别

[0001] 相关申请案的交叉参考
[0002] 本申请案要求2013年1月10日提交、标题为“Speaker Verification and Identification Using Artificial Neural Network-Based Sub-Phonetic Unit Discrimination(使用基于人工神经网络的亚语音单位区分的说话人验证及识别)”的第13/738,868号美国专利申请案的优先权的权利,所述申请案的揭示内容特此以引用的方式并入本文中。

背景技术

[0003] 在话音辨识处理中,说话人验证是指确定未知语声的话音样本是否对应于特定已登记说话人的任务。现有技术说话人验证系统通常使用说话人特有声学模型及单独的“通用”或“说话人无关”声学模型生成话音样本的评分。如果说话人特有声学模型的评分充分超过通用声学模型的评分,那么认为话音样本来自在考虑之中的已登记说话人。
[0004] 说话人识别为涉及使未知语声的话音样本与已登记说话人集合中的说话人相关联的相关任务。现有技术说话人识别系统相似于现有技术说话人验证系统,但使用所有可用的说话人特有声学模型对话音样本进行评分。认为话音样本来自其声学模型产生最高评分的已登记说话人。在某些情况下,还比对通用声学模型对话音样本进行评分,使得如果最高评分的说话人特有声学模型的评分未充分超过通用声学模型的评分,那么认为话音样本来自“假冒者”(即,不在已登记说话人集合中的某人)。
[0005] 如上述比对一或多个说话人特有声学模型以及单独的通用声学模型对话音样本进行评分所存在的一个问题在于:这会增加说话人验证/识别任务的总处理时间,因为必须对通用声学模型重复评分过程。如果在具有有限计算资源的装置上执行所述任务,那么这可能是有问题的。此外,在说话人验证的情形中,必须相对于经由说话人特有声学模型生成的评分及经由通用声学模型生成的评分设置适当决策阈值,以便确定是承认还是否认话音样本来自所声称说话人。这个决策阈值的调节是困难的,因为必须考虑两个评分的潜在可变性。
[0006] 因此,期望有解决前述问题及其它问题的改进的说话人验证及识别技术。发明内容
[0007] 根据一个实施例,一种方法包括由计算机系统存储多个说话人的话音数据,其中所述话音数据包含多个特征向量及每一特征向量的相关联亚语音类。所述方法进一步包括由所述计算机系统基于所述话音数据,建置人工神经网络(ANN)以对所述多个说话人中的目标说话人的话音进行建模,其中所述ANN经配置以区分由所述目标说话人说出的亚语音类的实例与由所述多个说话人中的其他说话人说出的亚语音类的实例。
[0008] 在一个实施例中,建置所述ANN包括检索包含多个现存输出节点的现存ANN,其中每一现存输出节点对应于亚语音类且经配置以输出输入到所述现存ANN的特征向量为由所述多个说话人中的其他说话人中的一者说出的亚语音类的实例的概率。接着修改所述现存ANN以生成所述ANN,其中所述修改造成所述ANN包含输出层,所述输出层包括所述多个现存输出节点及每一现存输出节点的对应于与所述现存输出节点相同的亚语音类的新输出节点。所述新输出节点经配置以输出输入到所述ANN的特征向量为由所述目标说话人说出的亚语音类的实例的概率。
[0009] 在一个实施例中,建置所述ANN进一步包括使用源自所述目标说话人的话音数据的第一部分训练所述ANN,使得对于所述第一部分中的每一特征向量及相关联亚语音类,对应于所述相关联亚语音类的新输出节点(即,所述亚语音类的“目标说话人”输出节点)经调节以输出相对较高的概率且对应于所述相关联亚语音类的现存输出节点(即,所述亚语音类的“非说话人”输出节点)经调节以输出相对较低的概率。
[0010] 在另一实施例中,建置所述ANN进一步包括使用源自所述其他说话人的话音数据的第二部分训练所述ANN,使得对于所述第二部分中的每一特征向量及相关联亚语音类,对应于所述相关联亚语音类的新输出节点经调节以输出相对较低的概率且对应于所述相关联亚语音类的现存输出节点经调节以输出相对较高的概率。
[0011] 在一个实施例中,所述ANN进一步包含包括多个输入节点的输入层及包括一或多个隐藏节点的一或多个隐藏层。所述输入层经由具有第一组权重的第一组连接连接到所述一或多个隐藏层中的最低隐藏层,所述一或多个隐藏层(如果不只一个)经由具有第二组权重的第二组连接从较低层连接到较高层,且最高隐藏层经由具有第三组权重的第三组连接连接到所述输出层。
[0012] 在一个实施例中,使用所述话音数据的第一部分及第二部分训练所述ANN包括应用反向传播算法来修改所述第三组权重而不修改所述第一组权重或所述第二组权重。
[0013] 在一个实施例中,所述方法进一步包括接收对应于目标短语的发声的声信号及提取来自所述声信号中的多个的特征向量。接着基于所述特征向量及所述ANN生成评分,其中所述评分指示由所述目标说话人说出所述目标短语的可能性。
[0014] 在一个实施例中,生成所述评分包括使用在词汇方面对所述目标短语进行建模的隐尔科夫(Markov)模型(HMM)执行维特比(Viterbi)搜索。
[0015] 在一个实施例中,在所述多个帧中的每一帧处,所述维特比搜索将对应于所述帧的特征向量作为输入传递到所述ANN,且(除基于多个ANN输出生成所述HMM中的每种状态的标准累积可能性评分外)还基于由所述ANN输出的一或多个概率生成每帧的说话人验证评分。
[0016] 在一个实施例中,所述HMM中的状态的所述每帧的说话人验证评分对应于由所述ANN中的与所述HMM中的状态相关联的新输出节点(即,“目标说话人”输出节点)输出的概率。在另一实施例中,所述HMM中的状态的所述每帧的说话人验证评分对应于由所述ANN中的与所述HMM中的状态相关联的新输出节点输出的概率减去由所述ANN中的与新输出节点相关联的现存输出节点(即,“非说话人”输出节点)输出的概率。
[0017] 在一个实施例中,生成所述说话人验证评分进一步包括将函数应用于所述每帧的说话人验证评分中的一或多者以计算所述说话人验证评分。
[0018] 在一个实施例中,所述函数为关于与如由所述维特比搜索确定的最可能状态序列相关联的多个说话人验证评分的平均函数或求和函数。
[0019] 在一个实施例中,所述函数应用于对应于所述多个帧中的相关帧的每帧的说话人验证评分的子集,其中每个相关帧经由所述维特比搜索归类为被视为可用于说话人验证或识别的音位的部分。
[0020] 根据另一实施例,提供一种上面存储有可由计算机系统执行的程序代码的非暂时性计算机可读存储媒体。所述程序代码包含造成所述计算机系统存储多个说话人的话音数据的代码,其中所述话音数据包含多个特征向量及每一特征向量的相关联亚语音类。所述程序代码进一步包含造成所述计算机系统基于所述话音数据建置ANN以对所述多个说话人中的目标说话人的话音进行建模的代码,其中所述ANN经配置以区分由所述目标说话人说出的亚语音类的实例与由所述多个说话人中的其他说话人说出的亚语音类的实例。
[0021] 根据另一实施例,提供一种包含处理器的系统。所述处理器经配置以存储多个说话人的话音数据,其中所述话音数据包含多个特征向量及每一特征向量的相关联亚语音类。所述处理器进一步经配置以基于所述话音数据,建置ANN以对所述多个说话人中的目标说话人的话音进行建模,其中所述ANN经配置以区分由所述目标说话人说出的亚语音类的实例与由所述多个说话人中的其他说话人说出的亚语音类的实例。
[0022] 参考本说明书的其余部分及附图,可进一步了解本文中所揭示的实施例的本质及优点。

附图说明

[0023] 图1描绘根据一个实施例的系统环境的框图
[0024] 图2描绘根据一个实施例的说话人验证/识别系统的登记阶段及训练阶段的流程图
[0025] 图3描绘根据一个实施例的说话人验证/识别系统的测试/质询阶段的流程图。
[0026] 图4描绘根据一个实施例的用于建置基于ANN的说话人模型的过程的流程图。
[0027] 图5描绘根据一个实施例的实例ANN。
[0028] 图6描绘根据实施例的用于对于输入话音信号生成评分的过程的流程图。
[0029] 图7描绘根据一个实施例的计算机系统的框图。

具体实施方式

[0030] 在下文描述中,出于解释目的,陈述众多实例及细节以便了解特定实施例。然而,将对所属领域的技术人员显而易见的是,可在没有这些细节中的一些的情况下实行某些实施例,或可在具有这些细节的修改或等效物的情况下实行某些实施例。
[0031] 本发明的实施例提供用于改善说话人验证及识别的技术。在一组实施例中,本文中所述的技术可为目标说话人建置说话人特有声学模型(称为“说话人模型”),所述模型不仅区分由目标说话人说出的不同声音(例如,亚语音类),而且区分由目标说话人说出的声音与由不同于目标说话人的其他说话人(统称为“非说话人”)说出的声音。
[0032] 例如,可使用目标说话人话音数据及非说话人话音数据两者训练说话人模型。一旦已训练说话人模型,那么其可确定输入声音是更接近目标说话人话音数据(且借此否认输入声音是由非说话人说出的假定),还是更接近非说话人话音数据(且借此否认输入声音是由目标说话人说出的假定)。以此方式,说话人模型可同时对目标说话人及非说话人两者的声学特性进行建模。这种方法的一个实际优点在于在说话人验证/识别的测试/质询阶段期间仅需要对单一声学模型(即,说话人模型)进行评分。这与需要对说话人特有声学模型(对于目标说话人)及单独的通用声学模型(对于非说话人)两者进行评分的现有技术方法形成对比。
[0033] 在特定实施例中,为目标说话人建置的说话人模型可呈人工神经网络或ANN的形式。如下文进一步详细描述,建置这个ANN可包含检索包含多个现存输出节点的现存ANN及复制现存输出节点及这些节点的多个权重以生成新输出节点。在训练过程期间,如果源自目标说话人的训练样本输入到ANN,那么对应于训练样本所归类的亚语音类的新输出节点可经调节以产生相对较高的输出值(即,概率值),而对应于相同亚语音类的现存输出节点可经调节以产生相对较低的输出值。相反地,如果源自非说话人的训练样本输入到ANN,那么对应于训练样本所归类的亚语音类的新输出节点可经调节以产生相对较低的输出值,而对应于相同亚语音类的现存输出节点可经调节以产生相对较高的输出值。
[0034] 图1描绘根据实施例的系统环境100的框图。如所展示,系统环境100包含与音频输入/捕捉装置104及数据存储区106通信地耦合的计算机系统102。计算机系统102包含用于实现说话人验证及识别的各种模(特征提取模块108、建模模块110、评分模块112及决策模块114)。
[0035] 图2描绘根据实施例的在系统环境100的背景下用于实行说话人验证/识别工作流程的登记阶段及训练阶段的流程200。在流程200的步骤(1)(参考数字202)处,音频输入/捕捉装置104可接收由目标说话人所说的目标短语的发声。音频输入/捕捉装置104接着可将发声转换成数字话音信号。
[0036] 在步骤(2)(参考数字204)处,计算机系统102的特征提取模块108可接收经数字化话音信号。在图2中,话音信号被展示为是直接自音频输入/捕捉装置104接收的。在替代实施例中,特征提取模块108可从其中已记录话音信号的存储媒体(未展示)检索话音信号。
[0037] 在步骤(3)(参考数字206)处,特征提取模块108可将话音信号划分成多个时间窗或帧。每一帧可具有预定义持续时间,例如10毫秒、20毫秒、30毫秒等。例如,如果话音信号的总长度为3秒且如果每一帧的预定义持续时间为10毫秒,那么话音信号将划分成共300个帧(假设没有帧重叠)。在某些实施例中,连续帧可重叠达预定义量,例如10毫秒,其将使帧数目增加超过非重叠情形。
[0038] 一旦话音信号已划分成多个帧,那么特征提取模块108可计算每一帧的特征向量。在一个实施例中,这个过程可包含将一系列变换及其它函数(包含“倒谱”变换)应用于包括帧的话音信号部分。所得特征向量为比原始话音信号数据更紧凑且更适于统计建模的帧的倒谱表示。在特定实施例中,每一帧向量可包含39个元素。
[0039] 在步骤(4)(参考数字208)处,特征提取模块108可使在步骤(3)处提取的每一特征向量相关联于或映射到特定亚语音类。如本文中所使用,亚语音类是指一种称为亚语音的话音单位。每一亚语音可表示较大话音单位(例如,语音或音位)的开头、中间或结尾。通过将特征向量映射到亚语音类,特征提取模块108可使特征向量与由目标说话人在话音信号的对应帧期间所说的特定亚语音相关。在一个实施例中,每一特征向量可与表示不同语音语境下的49个不同音位的开头、中间及结尾的1130个不同亚语音类中的一个相关联。
在其它实施例中,可使用其它亚语音(或语音)分类法。
[0040] 为了实行步骤(4)的处理,特征提取模块108可使用在词汇方面定义目标短语的预定义隐马尔科夫(Markov)模型(HMM)强制对准特征向量。在这个实施例中,特征提取模块108可从存储在数据存储区106中的这些HMM 220的数据库检索目标短语的HMM(经由箭头226展示),且接着用HMM对特征向量运行维特比搜索(使用“被强制”对应于目标词的HMM状态之间的转变)。维特比搜索的结果为对应于HMM中的最佳状态路径的特征向量与亚语音类之间的映射。
[0041] 在步骤(5)处,特征提取模块108可将特征向量及其相关联亚语音类存储在数据存储区106的话音数据数据库222中。接着可重复步骤(1)到(5)的登记过程若干次以收集并处理来自目标说话人的目标短语的额外样本。还可对不同于目标说话人的其他说话人(即,统称为“非说话人”)重复步骤(1)到(5),使得还可收集所述其他说话人的话音数据。
[0042] 流程200的其余步骤表示说话人验证/识别工作流程的训练阶段。在步骤(6)(参考数字212)处,建模模块110可检索现存ANN,所述现存ANN包含包括多个现存输出节点(每亚语音类一个输出节点)的输出层。在一个实施例中,现存ANN可表示已基于来自相对大的说话人及噪音情况的群体的训练数据进行预先训练的通用说话人模型。建模模块110接着可通过复制每一现存输出节点(及每一输出节点的多个权重)修改现存ANN以创建对应新输出节点。因此,对于每一亚语音类,经修改ANN中的输出层可包含两个输出节点(一个现存输出节点、一个新输出节点)。
[0043] 一旦已修改现存ANN的输出层,那么建模模块110可使用来自目标说话人的话音数据及来自其他说话人(非说话人)的话音数据训练经修改ANN,使得经修改ANN经调节以(1)识别具有来自新输出节点的高输出值及来自现存输出节点的低输出值的目标说话人;及(2)识别具有来自新输出节点的低输出值及来自现存输出节点的高输出值的非说话人。
(步骤(7),参考数字214)。举例来说,建模模块110可从话音数据222检索源自目标说话人的特征向量“V1”(及其相关联亚语音类“Cl”)(步骤(8),参考数字216)。建模模块110接着可将V1输入到经修改ANN作为C1的肯定实例(对于C1的新输出节点)及C1的否定实例(对于C1的现存输出节点)。可对源自目标说话人的话音数据222中的其它特征向量/亚语音类对重复这个过程。
[0044] 再举例来说,建模模块110可从话音数据222检索源自非说话人的特征向量“V2”(及其相关联亚语音类“Cl”)(步骤(8),参考数字216)。建模模块110接着可将V2输入到经修改ANN作为C1的否定实例(对于C1的新输出节点)及C1的肯定实例(对于C1的现存输出节点)。可对源自非说话人的话音数据222中的其它特征向量/亚语音类对重复这个过程。在说话人验证情形中,在这个步骤处使用的非说话人训练数据可对应于从大群体的样本收集的话音数据。在说话人识别情形中,在这个步骤处使用的非说话人训练数据可对应于从在相同系统中登记的其他说话人收集的话音数据。
[0045] 最后,在步骤(9)(参考数字218)处,建模模块110可将经训练ANN存储在数据存储区106的说话人模型数据库224中。
[0046] 运用上述方法,经训练ANN不限于仅区分由目标说话人说出的亚语音类的实例;相反,经训练ANN还可有效地区分由目标说话人说出的亚语音类的实例与由非说话人说出的亚语音类的实例。这改善在识别目标说话人的过程中ANN的精度,且如下文关于图3所述,消除了在测试/质询阶段对单独的通用声学模型进行评分的需要。因此,可明显地改善说话人验证/识别任务总体的速度及精确度。
[0047] 图3描绘根据实施例的在系统环境100的背景下用于实行说话人验证/识别工作流程的测试/质询阶段的流程300。在各种实施例中,可在图2的流程200之后执行流程300。
[0048] 在流程300的步骤(1)(参考数字302)处,音频输入/捕捉装置104可接收由所自称或未知说话人所说的目标短语的发声。例如,说话人可自称是图2中登记的目标说话人(且因此需要被验证),或可不提供任何身份指示(且因此需要从已登记说话人集合当中进行识别)。在捕捉到发声时,音频输入/捕捉装置104可将对应于发声的话音信号直接地或间接地传递到特征提取模块108(步骤(2),参考数字304)。
[0049] 在步骤(3)(参考数字306)处,特征提取模块108可以实质上相似于流程200的步骤(3)的方式将话音信号划分成多个帧并提取每帧的特征向量。特征提取模块108接着可将帧及经提取特征向量传递到评分模块112(步骤(4),参考数字308)。
[0050] 在步骤(5)(参考数字310)处,评分模块112可比对一或多个说话人模型对话音信号进行评分。例如,在说话人验证情形中,评分模块112可检索如依据流程200训练的所声称说话人(即,目标说话人)的ANN以及自HMM数据库220检索目标短语的HMM(步骤(6)及(7),参考数字312及314)。评分模块112接着可通过使用ANN及HMM对话音信号的帧/特征向量执行维特比搜索来生成说话人验证评分。说话人验证评分(其基于每帧的说话人验证评分的序列)表示对由目标说话人说出话音信号的总体估计。下文参看图6描述关于这个评分过程的额外细节。如前所述,因为ANN已经训练以区分目标说话人与非说话人,所以无需单独地比对通用声学模型对话音信号进行评分。
[0051] 说话人识别情形相似于说话人验证情形,但涉及比对说话人模型数据库224中的每一经训练说话人模型对话音信号进行评分。无需单独地比对通用声学模型对话音信号进行评分以识别“假冒的”说话人。
[0052] 一旦已生成说话人验证评分,那么其可传递到决策模块114(步骤(8),参考数字316)。在步骤(9)(参考数字318)处,决策模块114可验证或识别所自称/未知说话人。
为了进行验证,决策模块114可比较由目标说话人模型生成的说话人验证评分与预定义阈值。如果说话人验证评分高于阈值,那么确定说话人为目标说话人,且如果说话人验证评分低于阈值,那么确定说话人不是目标说话人。
[0053] 为了进行识别,决策模块114可将由说话人模型生成的各种说话人验证评分相互比较。决策模块114接着可基于最高评分说话人模型识别说话人。在某些实施例中,决策模块114还可比较各种说话人验证评分与预定义阈值。如果所有说话人验证评分均降到低于阈值,那么决策模块114可确定说话人为假冒者(即,不是已登记说话人中的任何一个)。
[0054] 应明白,图1到3是说明性的且并非意在限制本发明的实施例。例如,尽管图2的登记流程及训练流程以及图3的测试/质询流程被展示为由单一计算机系统102执行,但在替代实施例中,可由不同计算机系统执行这些流程。例如,可由服务/资源提供者的服务器计算机执行图2的登记流程及训练流程,同时可由最终用户的个人计算装置(例如,桌上型计算机、智能电话、平板计算机等)执行图3的质询/测试流程。在这些实施例中,服务器计算机及个人计算装置可仅包含被展示为在计算机系统102内、实行其指定功能所必需的模块。此外,在系统环境100中所描绘的各种实体可具有其它能或包含未具体描述的其它组件。所属领域的一般技术人员将认识到诸多变动、修改及替代物。
[0055] 图4描绘根据实施例的提供在流程200的步骤(6)及(7)处由建模模块110执行的ANN建置/训练过程的更详细描述的流程图400。在框402处,建模模块110可检索对应于基线或通用说话人模型的现存ANN。如关于图2所述,先前可能已基于来自相对大的说话人群体的训练数据训练这个现存ANN。在一个实施例中,现存ANN可为包含输入节点的输入层、隐藏节点的一或多个隐藏层及现存输出节点的输出层的多层感知机(MLP)。
[0056] 在框404处,建模模块110可修改现存ANN以创建经修改ANN,其中经修改ANN包含现存ANN中的每一现存输出节点的新输出节点。因此,经修改ANN的输出层可包含两倍于现存ANN的输出节点。经修改ANN中的每对现存输出节点及新输出节点可与单一亚语音类相关联,使得所述对中的新输出节点反映输入特征向量对应于由目标说话人说出的所述亚语音类的概率,且所述对中的现存输出节点反映输入特征向量对应于由不是目标说话人的另一说话人(即,非说话人)说出的所述亚语音类的概率。
[0057] 图5描绘已依据图4的框404修改的实例ANN 500。如所展示,ANN 500包含组成输入层的多个输入节点502(1)到502(N)。输入节点502(1)到502(N)各自经配置以采取特征向量的元素作为输入。在特定实施例中,ANN可包含共39个输入节点。
[0058] 此外,ANN 500包含组成一或多个隐藏层的多个隐藏节点504(1)到504(J)。最低隐藏层经由第一组连接连接到输入层,其中第一组中的每一连接与权重相关联。此外,每一隐藏层经由第二组连接从较低层连接到较高层,其中第二组中的每一连接与权重相关联。隐藏层经配置以将经由输入节点502(1)到502(N)接收的向量元素特性化到较高维度空间以用于亚语音归类,以及滤出噪音。
[0059] 又此外,ANN 500包含组成输出层的多个输出节点506(1)到506(M)。输出层经由第三组连接连接到最高隐藏层,其中第三组中的每一连接也与权重相关联。ANN 500中的每对输出节点对应于特定亚语音类的现存输出节点及新输出节点。例如,节点506(1)对应于亚语音类C1的新输出节点,且节点506(2)对应于亚语音类C1的现存输出节点。如上所述,所述对中的每一节点经配置以输出指示目标说话人或非说话人说出亚语音类的可能性的值(响应于输入特征向量)。例如,节点506(1)经配置以输出目标说话人说出C1的实例的概率,而节点506(2)经配置以输出非说话人说出C1的实例的概率。
[0060] 参考图4,在框406处,建模模块110可使用来自目标说话人的已登记话音数据训练经修改ANN。例如,建模模块110可从话音数据222检索源自目标说话人的特征向量并将特征向量作为输入传递到经修改ANN。接着,经由在线反向传播算法,建模模块110可响应于特征向量调节ANN中的权重,使得(1)对应于特征向量的相关联亚语音类的新输出节点输出相对较高的值,且(2)对应于特征向量的相关联亚语音类的现存输出节点输出相对较低的值。以此方式,新输出节点(即,“目标说话人节点”)可经调节以识别目标说话人的发声,而现存输出节点(即,“非说话人节点”)可经调节以否认目标说话人的发声。
[0061] 在特定实施例中,如上所述般进行的训练可经配置以仅修改整个ANN中的两组权重—分别对于输入特征向量的相关联亚语音类导致现存输出节点的权重组及导致新输出节点的权重组。ANN中的其它权重(包含输入层与隐藏层之间的权重或隐藏层之间的权重)保持原样。通过以此方式限制训练过程,调节ANN所需的总时间可明显减少。
[0062] 又在框406处,建模模块110可使用来自非说话人的已登记话音数据训练经修改ANN。例如,建模模块110可从话音数据222检索源自非说话人的特征向量,并将特征向量作为输入传递到经修改ANN。接着,经由相同的在线反向传播算法,建模模块110可响应于特征向量调节ANN中的权重,使得(1)对应于特征向量的相关联亚语音类的新输出节点输出相对较低的值,且(2)对应于特征向量的相关联亚语音类的现存输出节点输出相对较高的值。以此方式,新输出节点(即,“目标说话人节点”)可经调节以否认非说话人的发声,而现存输出节点(即,“非说话人节点”)可经调节以识别非说话人的发声。
[0063] 可经验地确定对于每一亚语音类将使用的目标说话人训练样本及非说话人训练样本的最优数目以及将执行的训练迭代的最优数目。在某些实施例中,非说话人情形的训练样本的最优数目可不同于目标说话人情形的训练样本的最优数目。
[0064] 一旦已依据框406使用目标说话人话音数据及非说话人话音数据两者训练经修改ANN,那么建模模块110可将经训练ANN存储在说话人模型数据库224中以便在质询/测试时使用(框408)。
[0065] 图6描绘根据实施例的提供在流程300的步骤(5)及(9)处由评分模块112及决策模块114执行的评分/决策过程的更详细描述的流程图600。在框602处,评分模块112可使用目标短语的HMM及已针对目标说话人训练的ANN对从未知/所自称说话人接收的话音信号起始维特比搜索。维特比搜索经配置以确定假如目标说话人在话音信号内说出目标短语,那么亚语音类的最可能序列是什么。
[0066] 在框604处,作为维特比搜索的部分,评分模块112可对于话音信号中的每一帧进入FOR循环。在循环内,评分模块112可将当前帧的特征向量传递到ANN(框606)。评分模块112接着可使用来自ANN的输出计算指示由目标说话人说出当前帧的可能性的每帧的说话人验证评分(框608)并且基于多个ANN输出计算HMM中的每种状态的标准累积可能性评分。在一个实施例中,HMM中的状态的每帧的说话人验证评分可基于由ANN中的新输出节点(即,目标说话人输出节点)输出的概率值。在替代实施例中,HMM中的状态的每帧的说话人验证评分可基于由ANN中的新输出节点(即,目标说话人输出节点)输出的概率值减去对应于所述新输出节点的现存输出节点(即,非说话人输出节点)的概率值。
[0067] 在框610处,评分模块112可到达当前循环迭代的结尾,并在必要时返回到框604以处理额外帧。
[0068] 一旦已计算每帧的评分,那么评分模块112可(a)应用维特比回溯计算来确定最可能状态序列并(b)将函数(例如,平均函数、求和函数等)应用于每帧的说话人验证评分以生成单个总说话人验证评分(框612)。在某些实施例中,评分模块112可将这个函数应用于在框608处生成、与如由维特比搜索确定的最可能状态序列相关联的所有每帧的说话人验证评分。在其它实施例中,评分模块112可将这个函数应用于表示话音信号中的“相关”帧的每帧的说话人验证评分的子集。如本文中所使用,“相关”帧为已归类(经由维特比搜索)为被视为可用于说话人验证或识别的音位的部分的帧。以下为根据一个实施例的被视为无用的音位(用经修改Worldbet标记法)的示例性清单:
[0069] ·pau b b-j b:b_c c c′ c-h d d-j d:d_c dr dr:g g-j g:g_c J K k k′ k-h k-j K: k:k_c k_h p p′ p-h p-j p:p_c p_h t t′ t-h t-j t:t_c t_h tq tq:tr tr:t_(z D v s T f h
[0070] 最后,在框614处,决策模块114可使用在框612处生成的说话人验证评分来验证或识别未知/所自称说话人。例如,在验证情形中,如果说话人验证评分大于预定义阈值,那么决策模块114可确定由目标说话人说出话音信号;如果说话人验证评分小于预定义阈值,那么决策模块114可确定并非由目标说话人说出话音信号。在识别情形中,决策模块114可比较对于系统中的所有说话人模型生成的说话人验证评分并将最高评分说话人模型识别为说话人。
[0071] 图7为根据本发明的实施例的计算机系统700的简化框图。在一个实施例中,计算机系统700可用于实施图1到3的计算机系统102。如图7中所展示,计算机系统700包含经由总线子系统704与多个外围装置进行通信的一或多个处理器702。这些外围装置包含存储子系统706(包括存储器子系统708及文件存储子系统710)、用户接口输入装置712、用户接口输出装置714及网络接口子系统716。
[0072] 总线子系统704可提供用于使计算机系统700的各种组件及子系统根据预期彼此进行通信的机构。尽管总线子系统704被示意地展示为单一总线,但所述总线子系统的替代实施例可利用多个总线。
[0073] 网络接口子系统716可用作用于在计算机系统700与其它计算机系统或网络之间传达数据的接口。网络接口子系统716的实施例可包含例如以太网卡、Wi-Fi及/或蜂窝适配器、调制解调器(电话、卫星、电缆、ISDN等)、数字用户线(DSL)单元等。
[0074] 用户接口输入装置712可包含键盘指针装置(例如,鼠标轨迹球触摸板等)、扫描器、条形码扫描器、并入到显示器中的触摸屏、音频输入装置(例如,语声辨识系统、麦克等)及其它类型的输入装置。大体来说,术语“输入装置”的使用意在包含用于将信息输入到计算机系统700中的所有可能类型的装置及机构。
[0075] 用户接口输出装置714可包含显示子系统、打印机、传真机或非视觉显示器(例如音频输出装置)等。显示子系统可为阴极射线管(CRT)、平板装置(例如液晶显示器(LCD))或投影装置。大体来说,术语“输出装置”的使用意在包含用于自计算机系统700输出信息的所有可能类型的装置及机构。
[0076] 存储子系统706包含存储器子系统708及文件/磁盘存储子系统710。子系统708及710表示可存储提供本发明的实施例的功能的程序代码及/或数据的非暂时性计算机可读存储媒体。
[0077] 存储器子系统708包含多个存储器,包含用于在程序执行期间存储指令及数据的主随机存取存储器(RAM)718,及其中存储固定指令的只读存储器(ROM)720。文件存储子系统710可提供程序及数据文件的持久性(即,非易失性)存储,且可包含磁性或固态硬盘驱动器、光学驱动器连同相关联可抽换媒体(例如,CD-ROM、DVD、蓝光光碟等)、基于可抽换快闪存储器的驱动器或卡、及/或所属领域中已知的其它类型的存储媒体。
[0078] 应明白,计算机系统700是说明性的且并非意在限制本发明的实施例。具有比系统700更多或更少的组件的诸多其它配置是可能的。
[0079] 上文描述内容说明本发明的各种实施例连同可如何实施本发明的方面的实例。上述实例及实施例不应被认为是仅有的实施例,而是经提出以说明如由所附权利要求书定义的本发明的灵活性及优点。例如,尽管已参考特定过程流程及步骤描述某些实施例,但所属领域的技术人员应明白,本发明的范围不严格限于所述流程及步骤。可平行地执行被描述为连续的步骤,可更改步骤次序,且可修改、组合、添加或省略步骤。再举例来说,尽管已使用硬件软件的特定组合描述某些实施例,但应认识到,硬件及软件的其它组合是可能的,且被描述为在软件中实施的特定操作还可在硬件中实施且反之亦然。
[0080] 因此,应在说明性意义而非限制性意义上看待本说明书及附图。其它布置、实施例、实施方案及等效物将对所属领域的技术人员显而易见且可在不背离如所附权利要求书中所陈述的本发明的精神及范围的情况下得以采用。
QQ群二维码
意见反馈