开集文本无关的说话人识别
摘要
开集文本无关的说话人识别旨在利用语音技术来检测某一语音是否来自系统中的已注册人员,并确定是来自其中的哪一名说话人。该任务也可以称之为多目标说话人检测。该任务需要解决两个子问题:1)测试语音是否来自已注册的说话人,2)如果是,那么是其中的哪一个人。相应的解决方法包含两个步骤:闭集鉴别与检测。该文章总结了现阶段该任务的 3 类方法和最新的相关数据集 MCE 2018。结果表明:1)随着已注册数量的增加,Top-1 性能下降的程度高于 Top-K 性能下降的程度;2)系统容易出现过拟合训练集与验证集的现象;3)基于 i-vector 的系统能够通过嵌入增强/补偿方法改善 40 % 左右的性能。
引言
在打击犯罪过程的语音侦听和电话欺诈行为检测的场景中,需要利用语音技术来检测某一语音是否来自系统中的已注册人员,并确定是来自其中的哪一名说话人。当语音内容不受约束时,该任务被称之为开集文本无关的说话人识别(Open-set Text-independent Speaker Identification, OSTI-SI)或者多目标说话人检测(Multi-target Speaker Detection)。目前,这类问题还未开展大量的研究工作。
OSTI-SI 需要解决两个子问题:1)测试语音是否来自已注册的说话人,2)如果是,那么是其中的哪一个人。第 1 个子问题可以视为一个二分类问题,即测试语音是否来自系统已注册的说话人,但是,优于已注册的说话人来自不同的人员,彼此之间的语音是不会共享共同特征的,这使得该二分类问题的决策边界难以构建。第 2 个子问题可以视为一种闭集的说话人鉴别,分类的类别数是系统已注册的人员数,多分类问题在多类别(超过3000)的情况下难以实现较高的分类准确度,再加上测试语音与注册语音之间存在不匹配的情况,例如背景噪声、方言、说话人情绪和说话风格,这些差异会严重降低系统的识别率。
OSTI-SI 解决方法的流程如下图所示:
- 闭集鉴别:预测语音与系统中所有的已注册的说话人模型(特征)之间进行得分计算,得分可以采用欧式距离、语言距离函数或者概率线性判别分析(Probabilistic Linear Discriminant Analysis, PLDA)。考虑到评测数据与训练数据之间的不匹配,可使用得分补偿技术调整各个说话人得分分布,使其保持一致。
- 检测:经过得分计算和得分补偿之后的评分通过阈值对比来确定决策结果。考虑到多目标的检测问题,决策结果可以分为 Top-1 与 Top-K,其中 K 是注册说话人的数量,Top-K 表示判断前 K 个评分是否包含目标说话人身份。
OSTI-SI 评价指标包含 3 种:误分类(或者 miss)、错误拒绝(或者 miss)和错误接受(或者 false alarm),其中误分类和错误拒绝可以视为 miss 错误。
- 误分类:测试语音来自已注册说话人,被分类为不正确的说话人身份,即 P m i s s 1 ( θ ) = P ( y ∗ > θ , h ∗ ≠ C x ∣ C x ∈ { C 1 , … , C K } ) P_{miss}^1(\theta)=P(y^*>\theta,h^*\neq C_x|C_x\in\{C_1,\dots,C_K\}) Pmiss1(θ)=P(y∗>θ,h∗=Cx∣Cx∈{C1,…,CK});
- 错误拒绝:测试语音来自已注册说话人,被分类为未知说话人,即 P m i s s 2 ( θ ) = P ( y ∗ < θ ∣ C x ∈ { C 1 , … , C K } ) P_{miss}^2(\theta)=P(y^*<\theta|C_x\in\{C_1,\dots,C_K\}) Pmiss2(θ)=P(y∗<θ∣Cx∈{C1,…,CK});
- 错误接受:测试语音来自未知说话人,被分类为已注册说话人的身份,即 P F A ( θ ) = P ( y ∗ > θ ∣ C x ∉ { C 1 , … , C K } ) P_{FA}(\theta)=P(y^*>\theta|C_x\notin\{C_1,\dots,C_K\}) PFA(θ)=P(y∗>θ∣Cx∈/{C1,…,CK})。
其中, θ \theta θ 表示判定是否来自已注册说话人的阈值, C x C_x Cx 表示语音 x x x 来自的说话人, y ∗ y^* y∗ 表示最大的评分, h ∗ h^* h∗ 表示期望的说话人, K K K 表示已注册说话人的数量。
方法
这里主要描述三类方法:通用背景模型(UBM)系统、i-vector 系统和i-vector 神经网络补偿方法。
-
UBM 系统
- 模型:输入 ↦ \mapsto ↦ GMM-UBM ↦ \mapsto ↦ 欧式距离
- 输入: MFCC + Δ \Delta Δ + Δ Δ \Delta\Delta ΔΔ 是常见的输入模式,采样率一般是 8 kHz 或者 16 kHz,20 ms 帧长,10 ms 帧间距
- GMM-UBM:高斯混合模型的通用背景模型,高斯成分的个数一般是 2048 和 4096
- 欧式距离: d ( x 1 , x 2 ) = ∥ x 1 − x 2 ∥ 2 = ∑ i = 1 n ( x 1 , i − x 2 , i ) 2 d(\mathbf{x_1}, \mathbf{x_2})=\|\mathbf{x_1}-\mathbf{x_2}\|_2=\sqrt{\sum_{i=1}^n(x_{1,i}-x_{2,i})^2} d(x1,x2)=∥x1−x2∥2=∑i=1n(x1,i−x2,i)2
-
i-vector 系统
- 模型:输入 ↦ \mapsto ↦ GMM-UBM ↦ \mapsto ↦ i-vector ↦ \mapsto ↦ Cosine
- i-vector:通过无标签语音训练获得,即无监督学习方法,一般的维度是 600、400 和 200
- Cosine:余弦距离计算方法, cos ( x 1 , x 2 ) = x 1 T x 2 ∥ x 1 ∥ ⋅ ∥ x 2 ∥ \cos(\mathbf{x_1}, \mathbf{x_2})=\frac{\mathbf{x_1}^T\mathbf{x_2}}{\|\mathbf{x_1}\|\cdot\|\mathbf{x_2}\|} cos(x1,x2)=∥x1∥⋅∥x2∥x1Tx2
-
-
模型:输入 ↦ \mapsto ↦ GMM-UBM ↦ \mapsto ↦ i-vector ↦ \mapsto ↦ DNN ↦ \mapsto ↦ PLDA
-
DNN:神经网络用作学习说话人变化和说话人嵌入,i-vector 之后的神经网络通常采用浅层结构
-
PLDA:PLDA ↦ \mapsto ↦ M-Norm 得分计算,其中 M-Norm 计算方法如下:
y i ′ = s c o r e M ( C i , x ) = s c o r e ( C i , x ) − μ M ( i ) σ M ( i ) , i = 1 , 2 , ⋯ , S y_i'=score_M(C_i,x)=\frac{score(C_i,x)-\mu_M(i)}{\sigma_M(i)}, i=1,2,\cdots,S yi′=scoreM(Ci,x)=σM(i)score(Ci,x)−μM(i),i=1,2,⋯,S
μ M ( i ) = 1 ∥ I ∥ ∑ x ∈ { C 1 , ⋯ , C S } s c o r e ( C i , x ) \mu_M(i)=\frac{1}{\|I\|}\sum_{x\in\{C_1,\cdots,C_S\}}score(C_i,x) μM(i)=∥I∥1x∈{C1,⋯,CS}∑score(Ci,x)
σ M ( i ) = 1 ∥ I ∥ ∑ x ∈ { C 1 , ⋯ , C S } ( s c o r e ( C i , x ) − μ M ( i ) ) 2 \sigma_M(i)=\sqrt{\frac{1}{\|I\|}\sum_{x\in\{C_1,\cdots,C_S\}}(score(C_i,x)-\mu_M(i))^2} σM(i)=∥I∥1x∈{C1,⋯,CS}∑(score(Ci,x)−μM(i))2
其中 ∥ I ∥ \|I\| ∥I∥ 表示目标说话人群的总语音数。
-
MCE 2018 数据
MCE 2018 数据集是多目标说话人检测与识别挑战评估使用的数据集,适用于描述开集文本无关的说话人识别。该数据包含 26,017 个说话人,其中 3,631 已注册人数,共 18,155 条语音,22,386 未注册人,共 48,338 条语音。该数据集被划分为 3 个不重叠的数据集,统计结果如表 1 所示。
数据集 | 子集 | 说话人数量 | 每人的语音数 | 语音总数 |
---|---|---|---|---|
训练集 | 已注册 | 3,631 | 3 | 10,893 |
未注册 | 5,000 | >=4 | 30,952 | |
验证集 | 已注册 | 3,631 | 1 | 3,631 |
未注册 | 5,000 | 1 | 5,000 | |
测试集 | 已注册 | 3,631 | 1 | 3,631 |
未注册 | 12,386 | 1 | 12,386 |
- 训练集:已注册和未注册的说话人都提供标签。
- 验证集:已注册的说话人提供标签,未注册的说话人不提供标签。
- 测试集:该数据集不可以以任何形式用于训练和调试,说话人的标签仅用于评估。
结果与讨论
基于 MCE 2018 挑战的评测结果,有以下结论:
- 随着已注册数量的增加,Top-1 性能下降的程度高于 Top-K 性能下降的程度。
- 系统容易出现过拟合训练集与验证集的现象。
- 未出现在训练集的未注册说话人会降低系统性能。
- 基于 i-vector 的系统能够通过嵌入增强/补偿方法改善 40 % 左右的性能。
- 该数据集下训练的 x-vector 的性能低于 i-vector。
基于 MCE 2018 的结果,还有很多值得考虑:
- 使用免费的数据集来改善说话人嵌入,
- 语音的附属信息可能改善系统性能,例如性别、信道、方言信息,
- 提供波形信号可以有利于高性能系统的开发,
- 语音也许包含一些私人信息,不适合公开,这一隐私问题需要进一步考虑。
相关文献
[1] Malegaonkar A, Ariyaeeinia A. Performance Evaluation in Open-Set Speaker Identification. European Workshop on Biometrics and Identity Management. Berlin, Heidelberg: Springer Berlin Heidelberg, 2011: 106–112.
[2] Shon S, Dehak N, Reynolds D, et al. MCE 2018: The 1st multi-target speaker detection and identification challenge evaluation[J]. Proceedings of the Annual Conference of the International Speech Communication Association, INTERSPEECH, 2019, 2019-Septe(Mce 2018): 356–360.
[3] Karadaghi R, Hertlein H, Ariyaeeinia A. Effectiveness in open-set speaker identification. 2014 International Carnahan Conference on Security Technology (ICCST). IEEE, 2014: 1–6.
[4] Chakraborty S, Parekh R. An improved approach to open set text-independent speaker identification (OSTI-SI). Proceedings - 2017 3rd IEEE International Conference on Research in Computational Intelligence and Communication Networks, ICRCICN 2017, 2017, 2017-December: 51–56.
[5] Gunson N, Marshall D, Jack M. Effective speaker spotting for Watch-list detection of fraudsters in telephone banking. IET Biometrics, 2015.
[6] Prakash V, Hansen J H L. In-set/out-of-set speaker recognition under sparse enrollment. IEEE Transactions on Audio, Speech and Language Processing, 2007.
[7] Singer E, Reynolds D. Analysis of Multitarget Detection for Speaker and Language Recognition. ODYSSEY The Speaker and Language Recognition Workshop. 2004.
作者信息:
CSDN:https://blog.csdn.net/i_love_home?viewmode=contents
Github:https://github.com/mechanicalsea
2019级同济大学博士研究生 王瑞 rwang@tongji.edu.cn
研究方向:说话人识别、说话人分离