曹 偉, 梁春燕
(山東理工大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 山東 淄博 255049)
說話人識(shí)別,也稱為聲紋識(shí)別,是指利用語音波紋中所包含的信息自動(dòng)識(shí)別說話人身份的技術(shù)[1]。由于語音獲取方便,采集設(shè)備簡單,并能通過網(wǎng)絡(luò)遠(yuǎn)程識(shí)別,說話人識(shí)別正成為一種主要的生物特征識(shí)別手段[2]。
根據(jù)識(shí)別的目的不同,說話人識(shí)別可以分為說話人辨認(rèn)(Speaker Identification)和說話人確認(rèn)(Speaker Verification)兩種方式[3]。說話人辨認(rèn)是從給定說話人集合中找到與測試語音匹配的說話人;說話人確認(rèn)是判斷測試語音是否屬于某個(gè)預(yù)先聲明的說話人,即需要將測試識(shí)別對(由測試語音和其聲明的說話人身份構(gòu)成)作出“True”或“False”的二類判決。根據(jù)是否依賴于語音的內(nèi)容,說話人識(shí)別可以分為與文本有關(guān)和與文本無關(guān)兩種類型[4]。本文主要基于文本無關(guān)的說話人確認(rèn)展開研究。
在說話人確認(rèn)的測試階段,不同識(shí)別對的得分分布存在著很大的差異性[5],差異性主要來自以下方面:
(1)相同說話人的不一致性。由于受時(shí)間、健康狀況、心理狀態(tài)、錄音條件等因素的影響,同一說話人的不同測試語音在目標(biāo)說話人模型上的得分并不是一個(gè)恒定值,而是呈現(xiàn)某種概率分布。
(2)不同說話人之間的不一致性。由于受說話習(xí)慣、嗓音、語言等因素的影響,不同說話人模型對應(yīng)的識(shí)別對得分表現(xiàn)出不一致性。有的說話人模型對應(yīng)的識(shí)別對得分普遍偏高,有的說話人模型對應(yīng)的識(shí)別對得分則相對偏低。
(3)不同測試語音間的不一致性。在時(shí)長、環(huán)境噪聲、信道情況等影響下,不同測試語音對應(yīng)的識(shí)別對得分也會(huì)表現(xiàn)出不一致性,比如有的測試語音對應(yīng)的識(shí)別對得分普遍偏高,有的測試語音對應(yīng)的識(shí)別對得分則偏低,而有的測試語音在目標(biāo)說話人模型和非目標(biāo)說話人模型上的得分比較接近,不容易區(qū)分。
綜合以上方面的原因,如果將所有識(shí)別對的得分匯集在一起,“True”和“False”兩類識(shí)別對的得分會(huì)出現(xiàn)嚴(yán)重的交叉和混疊;在這種情況下使用統(tǒng)一的門限對每一個(gè)識(shí)別對作“True”或“False”的判決,會(huì)嚴(yán)重影響說話人確認(rèn)系統(tǒng)的性能[6]。因此,需要在識(shí)別對原始得分的基礎(chǔ)上進(jìn)行得分規(guī)整[7]。
目前最常用也是最典型的得分規(guī)整方法有零規(guī)整(Zero normalization,Znorm)、測試規(guī)整(Test normalization,Tnorm)以及二者的結(jié)合算法ZTnorm等,通過估計(jì)“False”識(shí)別對的得分分布,對測試識(shí)別對的得分進(jìn)行規(guī)整,將“False”識(shí)別對的得分規(guī)整為均值為0、方差為1的分布,從而消除不同說話人模型間的差異或不同測試語音之間的差異,有效減小兩類識(shí)別對得分匯集后的混疊部分,從而提高說話人確認(rèn)的系統(tǒng)性能。一般來說,得分規(guī)整不受限于系統(tǒng)所使用的說話人模型建立方法,無論是簡單基礎(chǔ)的高斯混合模型-通用背景模型(Gaussian Mixture Model-Universal Background Model,GMM-UBM),還是目前比較主流的聯(lián)合因子分析(Joint Factor Analysis,JFA)、總變化因子分析(Total Variability Factor Analysis)技術(shù)等,原始測試得分均需要進(jìn)行得分規(guī)整,而現(xiàn)有的得分規(guī)整方法也都適用于基于以上不同說話人模型的確認(rèn)系統(tǒng)。
現(xiàn)有的得分規(guī)整方法中,大多數(shù)都是通過規(guī)整“False”識(shí)別對得分分布的方式,以減小兩類識(shí)別對得分匯集后的重疊部分,卻沒有有效擴(kuò)大同一說話人模型或同一測試語音對應(yīng)的兩類識(shí)別對得分之間的差距;在這些得分規(guī)整方法中,都需要預(yù)先收集和選取大量的非目標(biāo)說話人語音數(shù)據(jù)來估計(jì)“False”識(shí)別對得分的均值和方差,而非目標(biāo)說話人語音數(shù)據(jù)選取的好壞會(huì)影響最終得分規(guī)整的效果。
針對現(xiàn)有得分規(guī)整方法的不足,本文提出一種對數(shù)似然值歸一化得分規(guī)整算法(Log-likelihood Normalization,LLN),通過擴(kuò)大同一測試語音在目標(biāo)說話人模型與非目標(biāo)說話人模型上的得分差距,使同一測試語音對應(yīng)的兩類識(shí)別對得分混疊現(xiàn)象得到有效改善;與Znorm、Tnorm和ZTnorm等方法相結(jié)合,可同時(shí)從不同角度解決兩類識(shí)別對得分匯集后的混疊問題,從而進(jìn)一步提高系統(tǒng)識(shí)別性能。
說話人確認(rèn)系統(tǒng)如圖1所示,主要分為三部分:提取特征、建立模型和打分判決[8]。
圖1 說話人確認(rèn)系統(tǒng)
在說話人確認(rèn)系統(tǒng)中,每一次測試,就是將一組識(shí)別對進(jìn)行“True”和“False”判決的過程。當(dāng)本是“False”的識(shí)別對判決為“True”(非目標(biāo)說話人被接受)時(shí),稱之為“虛警”(False Alarm);當(dāng)本是“True”的識(shí)別對判決為“False”(目標(biāo)說話人被拒絕)時(shí),稱之為“漏檢”(Miss),這兩種錯(cuò)判出現(xiàn)的概率分別稱為虛警率和漏檢率。
(1)等錯(cuò)率(Equal Error Rate,EER)。實(shí)際應(yīng)用中,應(yīng)同時(shí)降低虛警率和漏檢率,然而這二種錯(cuò)誤概率相互約束,隨著判決門限設(shè)定的不同,二者呈相反趨勢變化,只有當(dāng)虛警率和漏檢率大致相等的時(shí)候,系統(tǒng)的性能被認(rèn)為達(dá)到了最大發(fā)揮,此時(shí)的錯(cuò)誤率稱為等錯(cuò)率(EER)。
(2)最小檢測代價(jià)(Minimum Value of Detection Cost Function,minDCF)。不同的應(yīng)用場景對虛警率和漏檢率要求不同,系統(tǒng)門限的設(shè)定會(huì)按需調(diào)整,為了對不同情況下系統(tǒng)性能進(jìn)行更加貼切地描述,引入了檢測代價(jià)函數(shù)(Detection Cost Function,DCF)的概念,其數(shù)學(xué)表達(dá)式(1)為:
(1)
其中,CM和CFA分別是漏檢率PM|T和虛警率PFA|NT對應(yīng)的代價(jià),PT是測試中應(yīng)該判決為“True”的識(shí)別對出現(xiàn)的概率,(1-PT)是應(yīng)該判決為“False”的識(shí)別對出現(xiàn)的概率。檢測代價(jià)函數(shù)是描述識(shí)別錯(cuò)誤發(fā)生后損失大小的一個(gè)函數(shù),可以很好地表示系統(tǒng)的性能。設(shè)定門限可以得到該門限對應(yīng)的DCF值,遍歷判決門限,獲得最小檢測代價(jià)(minDCF),這是目前美國國家標(biāo)準(zhǔn)技術(shù)研究院說話人識(shí)別評測(NIST SRE)中最重要的指標(biāo)。
Znorm方法是用大量非目標(biāo)說話人語音對目標(biāo)說話人模型打分,計(jì)算出對應(yīng)于目標(biāo)說話人模型λ的輔助參數(shù)均值μλ和方差σλ,用來規(guī)整得分分布的差異,其得分規(guī)整公式(2)如下:
(2)
Tnorm是用測試語音對大量非目標(biāo)說話人模型計(jì)算得分,得到對應(yīng)于測試語音的輔助參數(shù),同樣是均值和方差,用來減少測試語音環(huán)境不同對得分分布的影響,最終得分公式同(2)。
對于說話人確認(rèn)系統(tǒng),Znorm參數(shù)計(jì)算在模型訓(xùn)練階段完成,Tnorm參數(shù)計(jì)算在測試階段完成。ZTnorm是在得分域?qū)⒂?xùn)練模型和測試語音的信息結(jié)合起來,即將Znorm和Tnorm相結(jié)合的得分規(guī)整方法。上述3種得分規(guī)整方法的不足之處是沒有有效擴(kuò)大同一說話人模型或同一測試語音對應(yīng)兩類識(shí)別對得分之間的差距;并且必須引入先驗(yàn)知識(shí),需要將訓(xùn)練數(shù)據(jù)中的一小部分預(yù)留出來作為開發(fā)集,用來估計(jì)得分規(guī)整時(shí)需要的參數(shù),而開發(fā)集選取的好壞會(huì)影響最終得分規(guī)整的效果。
本文提出一種基于LLN的得分規(guī)整方法,該方法相對于Znorm、Tnorm和ZTnorm的優(yōu)勢在于擴(kuò)大了同一測試語音在目標(biāo)說話人模型與非目標(biāo)說話人模型上的得分差距,使同一測試語音對應(yīng)的兩類識(shí)別對得分混疊現(xiàn)象得到有效改善;并且可以直接對測試得分進(jìn)行規(guī)整,不需要引入先驗(yàn)知識(shí),因此不需要預(yù)留訓(xùn)練數(shù)據(jù)。
(3)
(1)如果i=t,則Si較大,規(guī)整量Ni因不包含St,故數(shù)值較??;
(2)如果i≠t,則Si較小,規(guī)整量Ni因包含St,故數(shù)值較大。
公式(3)中每個(gè)得分Si作為e的指數(shù)是考慮目標(biāo)說話人模型得分的獨(dú)特性(較大且數(shù)目少),充分?jǐn)U大其得分的影響,求和是利用非目標(biāo)說話人模型得分的共同特點(diǎn)(較小且數(shù)目多),減少單個(gè)得分的影響,取對數(shù)可避免非目標(biāo)說話人模型得分的規(guī)整量差距過大。經(jīng)過(3)式規(guī)整,測試語音對目標(biāo)說話人模型和非目標(biāo)說話人模型得分差距會(huì)進(jìn)一步拉大,即可以使識(shí)別對中“True”識(shí)別對和“False”識(shí)別對的得分具有更好的區(qū)分性,從而更容易設(shè)定門限區(qū)分“True”識(shí)別對和“False”識(shí)別對,提升了系統(tǒng)確認(rèn)性能。
本文實(shí)驗(yàn)在NIST SRE 2008核心測試集 (short2-short3)的電話訓(xùn)練、電話測試(tel-tel)情況下開展。實(shí)驗(yàn)主要針對女聲測試集,該測試情況下共23 385個(gè)測試對,涉及1 674個(gè)測試語音和1 140個(gè)目標(biāo)說話人模型,在LLN得分規(guī)整階段,每個(gè)識(shí)別對得分都是基于測試語音數(shù)據(jù)與全部1140個(gè)說話人模型的匹配得分經(jīng)公式(3)得到。
本實(shí)驗(yàn)中所使用的特征為36維的梅爾頻率倒譜系數(shù)(Mel Frequency Cepstral Coefficents,MFCC)特征,其每幀特征由18維的基本倒譜系數(shù)及其一次差分(delta)構(gòu)成。首先用音素解碼器來對語音數(shù)據(jù)進(jìn)行語音活動(dòng)性檢測(Voice Activity Detection,VAD),以去除數(shù)據(jù)中的靜音部分;然后根據(jù)25ms的窗長和10 ms的窗移提取36維的MFCC特征。由于得分規(guī)整方法具有普適性,不受限于系統(tǒng)所使用的說話人建模方法,且目前主流的說話人建模技術(shù)大多基于GMM-UBM模型,因此本實(shí)驗(yàn)的說話人建模方法選用簡單基礎(chǔ)的GMM-UBM。使用NIST SRE 2004 1side的目標(biāo)說話人訓(xùn)練數(shù)據(jù)訓(xùn)練與性別相關(guān)的UBM,UBM高斯數(shù)為1023[9]。并利用本征信道(Eigenchannel)技術(shù)在模型域做了信道補(bǔ)償,訓(xùn)練Eigenchannel信道空間的數(shù)據(jù),選擇的是NIST SRE 2004、2005以及2006的電話語音數(shù)據(jù),包含755個(gè)說話人的數(shù)據(jù),共9 855個(gè)語音文件。另外,從NIST SRE2006的數(shù)據(jù)中挑選了340條數(shù)據(jù),用于Tnorm得分規(guī)整和340條數(shù)據(jù)用于Znorm得分規(guī)整,基本上保證這兩個(gè)小數(shù)據(jù)集每個(gè)說話人只有一條語音數(shù)據(jù)。
表1比較了Znorm、Tnorm、ZTnorm和LLN不同得分規(guī)整方法的實(shí)驗(yàn)結(jié)果。從表1可以看出,LLN在不需要開發(fā)集的條件下,具有良好的規(guī)整性能,相比無得分規(guī)整的情況,EER相對提升9.7%,minDCF相對提升4.57%,本身的規(guī)整性能可以和Znorm、Tnorm相當(dāng)。
表1 NIST SRE 2008測試集上Znorm、Tnorm和LLN性能比較
表2是在Znorm、Tnorm和ZTnorm基礎(chǔ)上做LLN規(guī)整的實(shí)驗(yàn)結(jié)果。結(jié)合表1和表2中的實(shí)驗(yàn)結(jié)果可以看出,LLN可以大幅度提升原有說話人確認(rèn)系統(tǒng)的性能。在Znorm基礎(chǔ)上做LLN和不做LLN相比,系統(tǒng)的EER和minDCF分別有20.45%和24.44%的性能提升;在Tnorm基礎(chǔ)上做LLN和不做LLN相比,系統(tǒng)的EER和minDCF分別有5.59%和9.98%的性能提升;在ZTnorm基礎(chǔ)上做LLN和不做LLN相比,系統(tǒng)的EER和minDCF分別有11.7%和18.69%的性能提升。
表2 NIST SRE 2008測試集上做LLN的性能
對比LLN規(guī)整前后某測試語音在15個(gè)說話人模型上的得分變化,如圖2所示。其中,spk13為該測試語音的目標(biāo)說話人,其余為非目標(biāo)說話人。從圖2可以看出經(jīng)LLN規(guī)整后,測試語音對目標(biāo)說話人模型和非目標(biāo)說話人模型得分差距會(huì)進(jìn)一步拉大。如果門限保持不變,相比LLN規(guī)整前,系統(tǒng)的虛警率會(huì)明顯降低。
圖2 某測試語音在不同說話人模型上得分
隨機(jī)選取500個(gè)“True”識(shí)別對和500個(gè)“False”識(shí)別對,比較LLN規(guī)整前后的得分分布,如圖3所示。從圖3可以看出經(jīng)LLN規(guī)整后,“False”識(shí)別對的得分分布明顯向左偏移,而“True”識(shí)別對的得分分布變化不明顯,“True”識(shí)別對和“False”識(shí)別對的得分差距拉大,區(qū)分性增強(qiáng),有效降低了虛警率。因此,用統(tǒng)一的門限進(jìn)行判決時(shí)會(huì)更有優(yōu)勢。LLN雖然不會(huì)改變同一測試語音在每個(gè)目標(biāo)說話人上得分的排序,但可以有效降低EER和minDCF。
(a) LLN規(guī)整前識(shí)別對得分分布曲線
(b) LLN規(guī)整后識(shí)別對得分分布曲線
針對說話人確認(rèn)系統(tǒng)中現(xiàn)有得分規(guī)整方法的不足,本文提出基于對數(shù)似然值歸一化(LLN)的得分規(guī)整方法。對每個(gè)測試對得分,充分利用其測試語音與集中所有說話人模型的得分做出規(guī)整,使同一測試語音對目標(biāo)說話人模型和非目標(biāo)說話人模型的得分差距拉大;該方法不需要預(yù)留額外開發(fā)集來估計(jì)規(guī)整參數(shù),在后端得分域即可進(jìn)行,因此也不受限于系統(tǒng)所使用的特征參數(shù)和模型;與已有的Znorm、Tnorm和ZTnorm得分規(guī)整方法能夠很好互補(bǔ),使不同測試語音或不同說話人模型的得分分布一致的同時(shí),擴(kuò)大“True”和“False”兩類得分距離,在系統(tǒng)的統(tǒng)一門限下,獲得更好的確認(rèn)準(zhǔn)確率,使說話人確認(rèn)系統(tǒng)的性能進(jìn)一步提高。