林 琴,涂錚錚,王慶偉,郭玉堂
(1.合肥師范學(xué)院 計(jì)算機(jī)學(xué)院,安徽 合肥 230601;2.安徽大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 合肥 230601;3.安徽威泰智能科技有限公司,安徽 合肥 230088)
語音端點(diǎn)檢測[1](voice activity detection,簡稱VAD)是指從一段包含語音的信號中檢測出語音的起始點(diǎn)和結(jié)束點(diǎn)的技術(shù),可以把有聲段和無聲段分開.該技術(shù)主要應(yīng)用于語音識(shí)別、說話人識(shí)別、語音編碼、聲音檢測等領(lǐng)域[2].在實(shí)驗(yàn)室環(huán)境下,大多數(shù)的端點(diǎn)檢測算法效果比較好.但是在真實(shí)環(huán)境下,語音信號伴有各種各樣的噪聲,常用的端點(diǎn)檢測算法的性能都受影響.VAD方法可分為兩類,一類是基于數(shù)字信號的時(shí)頻域提取特征參數(shù)算法,另一類是基于模型的算法.基于雙門限的時(shí)域端點(diǎn)檢測[3]是指基于數(shù)字信號的短時(shí)能量和短時(shí)過零率對語音信號和噪聲信號進(jìn)行區(qū)分,在簡單噪聲下能獲取不錯(cuò)的效果,但在復(fù)雜噪聲下效果不理想.基于頻域算法如基于線性預(yù)測編碼[4](linear predictive coding,簡稱LPC)的歐氏距離測量,是指根據(jù)頻率特性以及LPC度量能有效區(qū)分無音段、語音段和靜默音.基于譜熵端點(diǎn)檢測[5]是通過信息熵和語音特征相結(jié)合進(jìn)行端點(diǎn)檢測.這些算法在簡單場景能獲取不錯(cuò)的效果,但在低信噪比復(fù)雜場景下則效果不佳.基于模型的VAD[6-7]相對比較復(fù)雜,它是利用語音的統(tǒng)計(jì)特性對有效語音、靜音、噪音等建模,比較測試語音在各種模型上的得分實(shí)現(xiàn)分類.這種方法在效果上要優(yōu)于能量VAD,但是需要大量的人工標(biāo)注過的數(shù)據(jù)進(jìn)行訓(xùn)練,并且在測試語音和訓(xùn)練語音信道不匹配時(shí),可能會(huì)影響測試效果.近年來,基于深度學(xué)習(xí)的模型VAD方法[8-9]引起廣泛關(guān)注,但是基于深度學(xué)習(xí)的方法同樣需要大量的訓(xùn)練樣本,對于小樣本問題并不適用.
針對上述問題,作者提出了一種基于近鄰傳播(affinity propagation, 簡稱AP)聚類的語音端點(diǎn)檢測方法,在能量VAD的基礎(chǔ)上,采用AP聚類,實(shí)現(xiàn)自動(dòng)判斷類別數(shù),自動(dòng)將有語義的有效語音以及遠(yuǎn)場噪聲、笑聲、哭聲、無效靜音段等聚類分開,通過結(jié)合傳統(tǒng)能量、過零率和基頻等特征[10]的后處理,得到真正的有效語音段.該方法用于聲紋確認(rèn)和聲音檢測,二者在檢測效果上均得到了明顯的提升.
AP聚類算法是一種基于信息傳播的有效聚類方法[11].AP聚類算法首先將所有的樣本點(diǎn)均作為可能的聚類中心,然后通過樣本點(diǎn)在其近鄰之間的信息不斷傳遞,迭代搜索合適的作為聚類中心的樣本點(diǎn),并將所有其他的樣本點(diǎn)分配到搜索出的這些聚類中心.AP聚類算法相比其他聚類算法具備如下優(yōu)點(diǎn):不需要事先指定聚類類別數(shù)目、最終聚類結(jié)果對初始的設(shè)定不敏感、對樣本直接的相似度計(jì)算無對稱性要求.
AP聚類算法的核心[12-13]為通過信息的傳遞來迭代搜索合適的類中心樣本點(diǎn).該節(jié)將對信息傳遞過程中所涉及的相似度矩陣、吸引度(responsibility)矩陣和歸屬度(availability)矩陣3個(gè)核心概念進(jìn)行介紹.
相似度矩陣即表示所有樣本點(diǎn)的相似度程度.矩陣中s(i,k)表示第i個(gè)樣本點(diǎn)和第k個(gè)樣本點(diǎn)之間的相似度.在AP聚類算法中通常使用負(fù)的歐氏距離來表示相似度
s(i,k)=-‖xi-xk‖2,
(1)
其中:xi和xk表示第i個(gè)樣本點(diǎn)和第k個(gè)樣本點(diǎn)的特征向量.
在AP聚類算法中,將相似度矩陣中的對角線元素s(k,k)(k=1,…,n)單獨(dú)賦值,稱之為參考度P(preference),其值的大小表示當(dāng)前點(diǎn)被作為聚類中心的概率大小.算法初始階段假設(shè)不同樣本點(diǎn)作為聚類中心的概率相同,一般將所有樣本的參考度P設(shè)置成相似度矩陣中的最小值或者中位數(shù),它的設(shè)置也影響了最終聚類的類別數(shù)目,參考度設(shè)置的越大,最終聚類類別的數(shù)目就越多.
將吸引度矩陣和歸屬度矩陣分別定義為R=[r(i,k)]和A=[a(i,k)].其中:吸引度r(i,k)表示樣本點(diǎn)k作為樣本點(diǎn)i的聚類中心的合適程度,即樣本點(diǎn)k相比其他樣本點(diǎn)作為樣本點(diǎn)i的聚類中心的優(yōu)勢;歸屬度a(i,k)表示樣本點(diǎn)i選擇樣本點(diǎn)k作為聚類中心的合適程度.吸引度和歸屬度的關(guān)系如圖1所示.歸屬度在初始化階段全部初始化為0,然后吸引度矩陣和歸屬度矩陣的計(jì)算交替進(jìn)行,從而達(dá)到信息交替更新的目的.
圖1 吸引度和歸屬度關(guān)系示意圖
吸引度矩陣的計(jì)算公式為
(2)
歸屬度矩陣的計(jì)算公式為
(3)
a(i,i)+r(i,i)>0.
(4)
其次,對于未選擇作為聚類中心的樣本點(diǎn)i的聚類中心,有
k:argmaxk(a(i,k)+r(i,k)).
(5)
在吸引度矩陣和歸屬度矩陣交替更新過程中,為了避免更新造成的震蕩以及為了加速收斂速度,引入阻尼因子λ,則對吸引度矩陣和歸屬度矩陣的加權(quán)更新過程為
Rt=(1-λ)×Rt+λ×Rt-1,
(6)
At=(1-λ)×At+λ×At-1,
(7)
其中:Rt-1和At-1表示上一次迭代的吸引度矩陣和歸屬度矩陣值.λ∈[0,1).λ越大,矩陣的每次更新值越小;λ很小時(shí),更新較快,易出現(xiàn)震蕩[14].
AP算法的具體實(shí)現(xiàn)流程如圖2所示.具體步驟如下:
步驟1 計(jì)算待聚類數(shù)據(jù)點(diǎn)集X={x1,x2,…,xn}的相似度矩陣S,確定參考度P值,一般取相似度矩陣的中位數(shù)或者最小值;將歸屬度矩陣元素初始化為0.
步驟2 根據(jù)公式(2),(3)依次計(jì)算當(dāng)前吸引度矩陣R和歸屬度矩陣A.
步驟3 引入阻尼系數(shù)λ,根據(jù)公式(6),(7)更新吸引度矩陣和歸屬度矩陣,其中,λ0<λ<1越大,消除的震蕩效果越好,但會(huì)減緩算法的收斂速度(默認(rèn)值是0.5).
步驟4 根據(jù)公式(4),(5)分別確定聚類的中心以及所有樣本點(diǎn)的類別.
步驟5 當(dāng)聚類結(jié)果穩(wěn)定或達(dá)到最大迭代次數(shù),則終止迭代過程.
搭建了一種基于AP聚類的端點(diǎn)檢測方法,具體流程如圖3所示.
圖2 AP聚類算法流程圖圖3 AP聚類的端點(diǎn)檢測流程圖
首先,輸入原始語音,基于能量VAD將語音分段并除去靜音幀;其次,進(jìn)行AP聚類,將有語義的有效語音以及遠(yuǎn)場噪聲、笑聲、哭聲、無效靜音段和人聲等聚類分開,形成這些類的分段數(shù)據(jù);再次,結(jié)合能量、過零率和基頻后處理進(jìn)行有效語音的判斷;最后,將判斷成有效語音輸出,送入到聲紋確認(rèn)和聲音檢測等系統(tǒng)進(jìn)行效果驗(yàn)證.
實(shí)驗(yàn)采用的數(shù)據(jù)為電話信道下的移動(dòng)客服數(shù)據(jù),均為正常的電話通話數(shù)據(jù),信噪比較高,且為分錄語音(主被叫在不同語音數(shù)據(jù)中),一共含有400個(gè)說話人,每個(gè)說話人10條通話語音(6條作為聲紋實(shí)驗(yàn)的注冊語音,4條為測試語音),語音時(shí)長均在1 min以上.所有數(shù)據(jù)均經(jīng)過語音段標(biāo)注、說話人標(biāo)注、聲音類型標(biāo)注及文本標(biāo)注,可進(jìn)行VAD、聲音確認(rèn)、聲音檢測實(shí)驗(yàn),通過對幾種不同方案下的實(shí)驗(yàn)結(jié)果進(jìn)行分析,來確認(rèn)最優(yōu)的VAD方法.
基線系統(tǒng)采用傳統(tǒng)的能量VAD[15]和基于深度神經(jīng)網(wǎng)絡(luò)(deep neural networks,簡稱DNN)的模型VAD.新系統(tǒng)采用上文介紹的基于AP聚類的VAD以及該方法和DNN模型VAD融合后的系統(tǒng).DNN-VAD模型未使用與實(shí)驗(yàn)數(shù)據(jù)相匹配的數(shù)據(jù)訓(xùn)練.在上述移動(dòng)數(shù)據(jù)集中實(shí)驗(yàn)不同的VAD系統(tǒng),結(jié)果如表1所示.該實(shí)驗(yàn)所用指標(biāo)為有效語音片段的漏警率和虛警率,其中
漏警率=未識(shí)別成有效語音段的有效語音段數(shù)/總的有效語音段數(shù).
虛警率=識(shí)別成有效語音段的無效語音段數(shù)/總的無效語音段數(shù).
表1 不同端點(diǎn)檢測方法的實(shí)驗(yàn)結(jié)果
根據(jù)表1的實(shí)驗(yàn)結(jié)果,對AP聚類+DNN VAD形成的噪聲、哭聲、人聲、無效靜音和音樂等不同信息的分段數(shù)據(jù)取最優(yōu),如圖4所示.
圖4 語音VAD信息分布圖
基線系統(tǒng)采用基于總變(total variability,簡稱TV)空間的因子分析系統(tǒng),數(shù)據(jù)為實(shí)驗(yàn)數(shù)據(jù)配置中的400個(gè)說話人數(shù)據(jù),其中:目標(biāo)人50人,每個(gè)人包含注冊語音6條和測試語音4條;非目標(biāo)人350條,注冊語音為6條.在對目標(biāo)人A進(jìn)行實(shí)驗(yàn)時(shí),A的測試語音為正例,其他均為反例.該實(shí)驗(yàn)所用指標(biāo)為等錯(cuò)誤率[16](equal error rate,簡稱EER),EER即調(diào)整閾值使得虛警率與漏警率相等時(shí)的數(shù)值,其中
漏警率 = 識(shí)別成反例的正例數(shù)據(jù) / 總的正例數(shù)據(jù).
虛警率 = 識(shí)別成正例的反例數(shù)據(jù) / 總的反例數(shù)量.
根據(jù)上述數(shù)據(jù)進(jìn)行實(shí)驗(yàn),結(jié)果如表2所示.繪制出隨著閾值變化而變化的檢測錯(cuò)誤權(quán)衡圖(detection error tradeoff,簡稱DET),如圖5所示.可以明顯看出紅色曲線的能量VAD總體趨勢的EER得分較高,中間兩條曲線DNN VAD和AP聚類VAD曲線變化幾乎不大,而AP聚類+DNN VAD的EER得分最低,效果最好.
表2 不同端點(diǎn)檢測方法的聲紋確認(rèn)結(jié)果
圖5 DET曲線
聲音檢測即檢測出一個(gè)VAD段中聲音的類型,類型包括遠(yuǎn)場噪聲、笑聲、哭聲、無效靜音、有效語音等.該實(shí)驗(yàn)所用的技術(shù)路線是基于因子分析方案提取因子,然后將因子作為特征訓(xùn)練支持向量機(jī)(support vector machine,簡稱SVM)[17]系統(tǒng),所用指標(biāo)為聲音檢測的正確率和召回率.在上述4 000條語音中進(jìn)行實(shí)驗(yàn),結(jié)果如表3所示.
表3 不同端點(diǎn)檢測方法的聲音檢測結(jié)果
由上述實(shí)驗(yàn)結(jié)果可分析,AP聚類VAD在聲紋檢測的正確率及召回率方面,相比能量VAD和DNN-VAD都有提升,其與DNN-VAD融合方案,取得最佳效果.
提出一種基于AP聚類的語音端點(diǎn)檢測方案.該方案相比傳統(tǒng)的能量VAD方案,有效語音檢出更加準(zhǔn)確.與通用的DNN模型VAD方案融合,得到了較好的效果.基于AP聚類得到的各類數(shù)據(jù),能夠有效用于后續(xù)的聲紋確認(rèn)、聲音檢測等系統(tǒng),為下一步研究提供了良好基礎(chǔ).如何提取更有推廣性的特征,如結(jié)合通用的語音增強(qiáng)的深度神經(jīng)網(wǎng)絡(luò)、提取Bottleneck特征、進(jìn)行AP聚類等,是下一步研究的重點(diǎn).