本技术介绍了一种新颖的说话人识别方法,该方法融合了声纹识别、模式识别和机器学习技术。在训练阶段,该方法对训练语音进行预处理,并提取说话人嵌入,利用距离度量学习算法优化打分模型。在识别阶段,通过比较两条待测语音的距离,使用训练得到的打分模型来判断是否为同一说话人。该技术通过为不同距离的说话人嵌入分配不同的度量函数,有效提升了说话人识别的准确性。
背景技术
说话人确认是指根据包含在语音中的和说话人相关的信息来确认两条或多条语音是否是同一个人说的。随着信息技术和通信技术的迅速发展,说话人确认技术越来越受到重视并在诸多领域得到广泛的应用。如身份鉴别,缉拿电话电信罪犯,法庭中根据电话录音进行身份确认,电话语音跟踪,提供防盗门开启功能等。互联网应用和通信领域,说话人识别技术可以应用于声音拨号、电话银行、电话购物、数据库访问、信息服务、语音e-mail、安全控制、计算机远程登录等领域。
传统的说话人确认一般包括以下几个步骤。首先对语音数据进行预处理:分帧加窗,提取每一帧的特征(常用的有梅尔倒谱特征,Fbank特征);然后根据每一帧的特征将一条语音转换为一个包含该条语音说话人信息的说话人嵌入(embedding,常用的有i-vector,d-vector,x-vector),说话人嵌入实际上就是一个多维向量;最后,对比两条语音的说话人嵌入的差异,并进行打分,得到相似度,也就是距离,从而判断两条语音是否是同一个说话人说的。常用的打分模型有cosine打分和PLDA(概率线性鉴别分析)打分。cosine打分先将说话人嵌入的长度归一化,再计算两个说话人嵌入之间的夹角的cos值,cos值越大,表示对应的夹角越小,也就是两个说话人嵌入的距离越小,两条语音属于同一个说话人的可能性越大。PLDA打分通过计算两个说话人嵌入由相同说话人产生的概率和由不同说话人产生的概率的比值,衡量两条语音的相似程度。比值越高,相似性越高,两条语音属于同一说话人的可能性越大。
传统的说话人确认方法所用的打分模型,在对比两个说话人嵌入的相似度时,对所有的说话人嵌入同等对待,没有着重考虑易混淆语音的区分。实际上当说话人嵌入之间距离比较小时,则异类点更容易被误判(异类点之间距离要求大);而当说话人嵌入之间距离比较大时,则同类点更容易被误判(同类点之间距离要求小)。本发明提出基于距离相关的度量学习的说话人确认方法,根据说话人嵌入之间的距离不同,打分时给予不同的度量函数。当说话人嵌入之间距离比较小时,度量函数着重扩大异类点之间的距离;当说话人嵌入之间距离比较大时,度量函数着重缩小同类点的距离。由于本发明需要根据说话人嵌入之间的距离不同,给予不同的度量函数,因此需要根据该距离对说话人嵌入对(两个说话人嵌入组成一个说话人嵌入对)进行预分类,每个类对应一个度量函数。为了避免人为预分类带来的干扰,本发明采用端到端的训练方法,让模型主动学习说话人嵌入对的预分类。本发明着重考虑了易混淆语音的区分,可以提高说话人确认的准确率。
实现思路