魏金太,高 穹
(1.河南林業(yè)職業(yè)學(xué)院 信息與藝術(shù)設(shè)計(jì)系,河南 洛陽 471002;2.中國洛陽電子裝備試驗(yàn)中心,河南 洛陽 471003)
重疊語音是指在給定時(shí)刻同時(shí)說話的情況,即雙重對話的講話者多于一個(gè).講話者說出某些事情時(shí),其他參與者可能表現(xiàn)出非競爭性承認(rèn)(例如“嗯”)或反應(yīng)(例如“笑”),也可能競爭性地打斷他們的錯(cuò)誤判斷等[1],這在自發(fā)對話中是非常常見的.雖然重疊的頻率和持續(xù)時(shí)間可能因情況而異,但在正常的自發(fā)對話期間,重疊是頻繁且簡短的(大多小于1 s,如圖1所示),因此提高了語音的手動注釋成本,對語音的自動檢測提出了挑戰(zhàn).
在自發(fā)對話的場景中,雙重對話的存在對大多數(shù)自動語音技術(shù)是不利的[2].說話人聚類系統(tǒng)的目標(biāo)是在談話中確定誰在說話,如果在重疊期間錯(cuò)過了其他發(fā)言人,則會受到懲罰,這種懲罰已成為這類系統(tǒng)中存在的主要錯(cuò)誤,使得重疊言語情況成為說話人聚類識別系統(tǒng)的致命弱點(diǎn)[3].許多語音技術(shù)(如自動語音識別)依賴于由聚類識別系統(tǒng)產(chǎn)生的說話者語音分段類別[4-6].因此,以往大多數(shù)對真實(shí)語音中說話人分割聚類的嘗試都是在說話人聚類識別中進(jìn)行的,最常見的是針對零(即靜音)、一個(gè)或多于一個(gè)同時(shí)活動的講話者進(jìn)行逐幀分類,并且已經(jīng)在GMM-HMM框架[7]中得到解決,同時(shí)設(shè)計(jì)不同組合的聲學(xué)特征.在早期的深度學(xué)習(xí)中,采用DNN降低其交叉相關(guān)特征進(jìn)行降維[8],或者使用基于LSTM的回歸器[9],該回歸器在串聯(lián)設(shè)置中進(jìn)行各種聲學(xué)特征的訓(xùn)練,并將其有效地用作基于GMM-HMM的檢測器的附加特征.然而文獻(xiàn)[10]報(bào)道,僅通過對回歸器的輸出進(jìn)行閾值化,使用單層的LSTM就可以達(dá)到與GMM-HMM相當(dāng)?shù)男阅?盡管如此,實(shí)際對話中的重疊檢測問題仍未解決,并且在系統(tǒng)的精確度和召回率之間呈現(xiàn)出難以折衷的特性.
從真實(shí)對話中學(xué)習(xí)發(fā)現(xiàn)雙重對話的挑戰(zhàn)根源在于三種類別之間存在的固有的不平衡性.從表1中可以看出,在自發(fā)談話中,具有重疊的個(gè)體片段占整體的很大一部分,由于持續(xù)時(shí)間極短,其在單幀(10 ms)中的比例最小.一些研究試圖通過人為重疊語音訓(xùn)練來解決這個(gè)問題,如使用Pyknogram作為聲學(xué)特征,報(bào)告在不同噪聲條件下檢測人工重疊的更好結(jié)果[11],但是其評估顯示,重疊長度小于2 s的檢測性能較低.此外,也有利用類似限制時(shí)間分辨率的方法,研究指出,在使用基于深度學(xué)習(xí)的方法中,檢測持續(xù)時(shí)間為500 ms,100 ms和25ms 的窗口下的說話人重疊檢測取得了更好的結(jié)果[12].這些研究將MFCC與其他三種聲學(xué)特征相結(jié)合來訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò),然而,對于在實(shí)際對話中發(fā)現(xiàn)自然雙重對話的情況,沒有關(guān)于此類系統(tǒng)的評估報(bào)告.
表1 Fisher英語語料庫(第1部分):961 h中具有不同數(shù)量同時(shí)活躍說話人的片段和幀的百分比Tab.1 The percentage of segments and frames with different numbers of speakers active in961h Fisher English Corpus (first parts)
雖然人為增加噪音可能有助于增強(qiáng)現(xiàn)實(shí)世界情景的穩(wěn)健性[13],但計(jì)劃語音本身與系統(tǒng)最終的應(yīng)用環(huán)境有嚴(yán)重的差異.演講者在獨(dú)自說話時(shí)和在自發(fā)談話時(shí)會表現(xiàn)出不同的語調(diào)、步調(diào)等,因此,對于典型的持續(xù)時(shí)間、發(fā)聲和內(nèi)容而言,雙重會談的特點(diǎn)將難以在計(jì)劃的語音重疊中復(fù)制.
本文開發(fā)和評估了使用自然雙重對話進(jìn)行真實(shí)對話的系統(tǒng),它使用基于DCNN的自動特征提取器和分類器,僅將對數(shù)尺度的梅爾頓譜圖輸入,避免了手工特征工程的需要.
本文系統(tǒng)根據(jù)同時(shí)講話者的數(shù)量將提取的單聲道音頻聲學(xué)特征按幀分為靜音、單人及重疊3類.在32 ms的窗口(相當(dāng)于256個(gè)8 kHz音頻的FFT頻段)中每10 ms提取一次64維的log10標(biāo)度梅爾頻譜圖(濾波器組)用于各種基于深度學(xué)習(xí)的聲學(xué)模型,這些頻譜已被證明優(yōu)于MFCC和純頻譜圖.為了減少訓(xùn)練和測試條件之間的不匹配,且鑒于特征是對數(shù)比例的,作為針對卷積信道失真的測量,對所提取的特征應(yīng)用倒譜均值歸一化(CMN).然而,該系統(tǒng)是以塊為單位進(jìn)行的,其中大約2.5 min的連續(xù)音頻塊的平均向量被用于該塊的所有向量中,這樣可以避免語音級CMN的可靠性問題,同時(shí)也避免了無關(guān)異常值的影響.
本文所提的DCNN架構(gòu)如表2所示,是VGG-net的簡化版本,大約有572 K個(gè)可訓(xùn)練參數(shù).所有的訓(xùn)練都是在統(tǒng)一初始化之后進(jìn)行的,并且使用Adamax來優(yōu)化三類輸出后驗(yàn)概率的分類交叉熵.在構(gòu)建DCNN的輸入時(shí),在特征向量已經(jīng)歸一化之后且創(chuàng)建隨機(jī)化分批之前,在給定的幀之前和之后添加10幀,這些幀將被分類以向分類器提供額外的上下文信息.使用較少的上下文框架會導(dǎo)致結(jié)果不理想,而使用較多的幀會導(dǎo)致計(jì)算成本顯著提高.我們改善了所有實(shí)驗(yàn)的特征提取和DCNN架構(gòu),這些架構(gòu)使用高度模塊化的語音分割框架實(shí)現(xiàn),使用深度學(xué)習(xí)開源庫RENNET[14],它建立在NumPy,LibROSA,Keras,Tensorflow和其他可靠的Python庫基礎(chǔ)之上.如圖2所示,通過DCNN輸出的幀級別的原始后驗(yàn)概率來生成分段通常是比較混亂的,本文使用維特比算法來解碼獲取時(shí)域平滑后的最終分割,并評估其影響.
表2 DCNN的體系結(jié)構(gòu)以及每個(gè)塊中的層Tab.2 The architecture of DCNN and the layers in each block
圖2 真實(shí)標(biāo)簽、原始方法結(jié)果標(biāo)簽以及對訓(xùn)練數(shù)據(jù)平衡后消除靜音平滑后預(yù)測標(biāo)簽結(jié)果對比Fig.2 The comparison among the real label,the original method result label and the prediction label result after the training data is balanced and the mute smoothing is eliminated
對于檢測對話中重疊語音,之前大多使用AMI,NIST RT,ICSI和其他會議語料庫,雖然它們也許是某個(gè)問題的最佳場景,但由于記錄條件的不一致會造成額外的挑戰(zhàn).此外,之前的設(shè)計(jì)只使用這些數(shù)據(jù)集的一個(gè)子集,從某種意義上來說,這個(gè)子集不足以適當(dāng)?shù)赜?xùn)練DCNN,同時(shí)解決類失衡問題.本文使用Fisher英語語料庫(第1部分)進(jìn)行研究,主要用于LVCSR研究,其基于電話的大部分會話都有自然發(fā)生的雙重對話,并且可用數(shù)據(jù)的剪輯大小約961 h,使得稍后更容易實(shí)現(xiàn)某些簡單的對比實(shí)驗(yàn).然而,受計(jì)算開銷的限制,我們在訓(xùn)練期間僅使用000組至012組,共有1299次電話記錄,數(shù)據(jù)總時(shí)長約91 h,其中14%為重疊,在測試階段使用053組至058組約200 h,其中10%為重疊.
語料庫本身也存在一定的局限性,作為基于電話的對話,重疊揚(yáng)聲器的最大數(shù)量嚴(yán)格限制為兩個(gè).所有音頻采樣頻率為8 kHz,這對高分辨率的語音質(zhì)量可能是一個(gè)局限,但通過向下降低采樣質(zhì)量可更容易得到可靠的信號輸出,而不是采取相反措施進(jìn)行上采樣.實(shí)際上,本文系統(tǒng)通過使用固定數(shù)量的濾波器組進(jìn)行麥克風(fēng)縮放,可以攝取任何采樣率的音頻.沿著相同的路線,原始音頻有兩個(gè)獨(dú)立的揚(yáng)聲器聲道,合并后只能用作單聲道音頻.雖然使用立體聲音頻可能會更好地提高性能,但通過支持這種最大的差異化條件,本文系統(tǒng)幾乎適用于所有情況.
語料庫的一個(gè)更相關(guān)的問題是話語邊界中的相對不精確.根據(jù)文件,這些邊界是由語音活動檢測系統(tǒng)確定的,而不是后來手動調(diào)整的,但是由于這個(gè)系統(tǒng)的準(zhǔn)確性并沒有得到驗(yàn)證,實(shí)驗(yàn)中發(fā)現(xiàn)它的識別結(jié)果不是特別精確,特別是在很小的重疊區(qū)域,而且這些不準(zhǔn)確的信息不像ASR系統(tǒng)那樣需要對音頻中的事件進(jìn)行時(shí)間定位.在許多實(shí)驗(yàn)中已經(jīng)驗(yàn)證了在大型數(shù)據(jù)集上訓(xùn)練的足夠強(qiáng)大的DCNN可以抵御這種精度不足的情況.在本文實(shí)驗(yàn)中,并沒有去修改這些注釋,但是如果有獨(dú)立的揚(yáng)聲器通道可用,那么改進(jìn)它們可以對實(shí)驗(yàn)結(jié)果進(jìn)行進(jìn)一步的優(yōu)化.
重新平衡系統(tǒng)在訓(xùn)練期間看到的數(shù)據(jù)是處理不平衡類別影響的最常見方法,它是通過少數(shù)群體的過度抽樣或大多數(shù)群體的欠采樣來處理不平衡類別的影響.當(dāng)數(shù)據(jù)集很小時(shí),過采樣是最主要的方法,可以通過創(chuàng)建少數(shù)類的新例子,并使用幾種方法來轉(zhuǎn)換現(xiàn)有的例子以避免過度擬合(例如SMOTE).但是,這種轉(zhuǎn)換對于音頻信號來說并不簡單.而且,由于數(shù)據(jù)集中樣本類別的大小不一,通過選擇對大數(shù)據(jù)樣本類別進(jìn)行欠采樣,然后對類別平衡后的數(shù)據(jù)集進(jìn)行評估.為此,我們均勻隨機(jī)地跳過帶有單個(gè)演講者講話的幀,使得最終的整體單人與重疊的比例為二比一.通過選擇這個(gè)比率作為一種近似的方法,用于為每個(gè)說話者單獨(dú)和重疊地呈現(xiàn)DCNN具有相對相等的幀數(shù).
靜音或缺乏言語比任何數(shù)量的發(fā)言者的言語更容易辨別,而單獨(dú)說話者產(chǎn)生的語音與多個(gè)說話者同時(shí)產(chǎn)生的語音之間的區(qū)別(即使是孤立的)是困難的,這個(gè)問題可能導(dǎo)致神經(jīng)網(wǎng)絡(luò)陷入陡峭的局部最小值,雖然檢測靜音的目標(biāo)得到很好的滿足,但是不能用于雙方談話檢測.此外,靜音檢測可以通過使用比DCNN更簡單的方法來完成.因此,與大多數(shù)之前的設(shè)計(jì)類似,我們嘗試在訓(xùn)練期間基于真實(shí)標(biāo)簽去除所有靜音幀.為了在實(shí)驗(yàn)的評估過程中實(shí)現(xiàn)時(shí)間平滑,我們基于靜默的真實(shí)標(biāo)簽明確地將靜音幀設(shè)置為完美預(yù)測.
移動基于類先驗(yàn)的決策閾值[15]是一種流行的方法,但是這種方法的實(shí)驗(yàn)是不穩(wěn)定和不可靠的;另一種方法是修改損失函數(shù)以納入錯(cuò)誤分類處罰,它相當(dāng)于基于隨機(jī)梯度下降的訓(xùn)練的樸素過采樣.
在類別不平衡的情況下,分類精度和召回率比總體準(zhǔn)確度等常見度量更具信息性.我們在所有類的系統(tǒng)級別報(bào)告這些原始和平滑分段的度量,所有評估都是在前面指定的大約91 h的對話中進(jìn)行的.
在幾個(gè)深度學(xué)習(xí)架構(gòu)和參數(shù)的初步實(shí)驗(yàn)中,觀察到在某些退化的情況下系統(tǒng)未能準(zhǔn)確地檢測重疊.而模型參數(shù)較少的情況下預(yù)測結(jié)果多為單一的說話人,通常后驗(yàn)概率為1,甚至在對結(jié)果進(jìn)行時(shí)域平滑也不能有效提升檢測的準(zhǔn)確率.具有中等規(guī)模模型參數(shù)的常見退化情況是系統(tǒng)在檢測靜音時(shí)具有很高的魯棒性,但不會檢測到任何重疊.這個(gè)結(jié)果證明靜音探測器在訓(xùn)練期間對靜音的學(xué)習(xí)表現(xiàn)出對重疊檢測的影響.當(dāng)應(yīng)用像閾值劃分的檢測方法時(shí),檢測到的重疊精度極低,每幀的結(jié)果似乎是隨機(jī)確定的單人或重疊.
對于本文的DCNN的基準(zhǔn)性能測量,我們在訓(xùn)練集上對系統(tǒng)進(jìn)行了20次訓(xùn)練,無需重新平衡類別,并將保持靜音作為訓(xùn)練目標(biāo)的一部分.
如表3所示,該基線系統(tǒng)沒有以良好的精度檢測靜音,證實(shí)了對檢測重疊的懲罰項(xiàng)導(dǎo)致召回率偏低,這可能是由于在不同的噪音條件下來自靜音的競爭增加.然而,精準(zhǔn)度高的情況重疊表明DCNN的確發(fā)現(xiàn)了一些重疊的判別特征.通過從原始預(yù)測中刪除不可能的短片段或填補(bǔ)某些空白,時(shí)間平滑改進(jìn)了靜音和重疊的精準(zhǔn)度,但是也刪除了一些正確預(yù)測的幀,相對地減少了重疊的召回率.
表3 在不同的策略之后分類精度和召回率Tab.3 Classification accuracy and recall rate after different strategies
然后,在相同的不平衡訓(xùn)練集上訓(xùn)練相同的DCNN 20次,刪除了靜音幀.在評估過程中,沒有從輸入中刪除靜音幀,在整個(gè)測試集中沒有一個(gè)靜音幀被檢測為重疊,表明DCNN已經(jīng)學(xué)習(xí)了重疊.對于原始分割,我們觀察到重疊召回率的改進(jìn),但對重疊精準(zhǔn)度的成本很高.時(shí)間平滑重新獲得了丟失的重疊精準(zhǔn)度,其對重疊召回率的成本相對于之前的實(shí)驗(yàn)來說相對較小,并且不會影響單人的檢測性能.
通過訓(xùn)練DCNN 40次,對單人隨機(jī)欠采樣,同時(shí)也消除了靜音.我們將此實(shí)驗(yàn)的訓(xùn)練次數(shù)增加了一倍,以避免單揚(yáng)聲器類別的不足.對測試集的評估顯示了重疊的召回率得到了大的改進(jìn),但在原始預(yù)測中有大量的假陽性.然而,這些誤報(bào)中的大部分都是嘈雜的、極短的,通過這些方法得到了充分的消除,平滑過程導(dǎo)致重疊的精準(zhǔn)度得到實(shí)質(zhì)性改善,其相對于重疊的召回率的成本更低.
本文展示了在真實(shí)對話中訓(xùn)練DCNN以檢測自然雙重對話,并提議使用Fisher英語語料庫而不是人工重疊的數(shù)據(jù)進(jìn)行訓(xùn)練.雖然這限制了只能以較低的采樣率使用單聲道音頻,并且使其成為此任務(wù)技術(shù)上最困難的場景之一,但它也使得所得系統(tǒng)在適用性方面最為通用.然而,使用真實(shí)的談話帶來了類別失衡,這對雙重對話造成了嚴(yán)重的不利影響,但DCNN學(xué)會了雙重對話的一些獨(dú)特特性.實(shí)際上,本文所提DCNN只能從相對較低級的標(biāo)準(zhǔn)梅爾譜圖中自動學(xué)習(xí)這些特征,而不是之前工程中使用的手動定制特征組合.
根據(jù)以往研究,從訓(xùn)練目標(biāo)中消除靜音有助于減少雙重對話的不利條件,然后通過在訓(xùn)練期間重新平衡類別,可以實(shí)現(xiàn)更多的改進(jìn).語料庫的規(guī)模提供了選擇欠采樣作為此目的的策略.未來與該語料庫合作完成此任務(wù)應(yīng)該考慮使用更好的語音檢測器來提高標(biāo)注的精度.
我們期望一個(gè)更強(qiáng)大的DCNN系統(tǒng)結(jié)構(gòu)能夠表現(xiàn)更好,但研究也表明DCNN在利用長期時(shí)間模式方面的弱點(diǎn),并報(bào)道了使用Viterbi算法對后驗(yàn)進(jìn)行時(shí)間平滑的改進(jìn).目前,在深度學(xué)習(xí)方面缺乏全面的研究來解決類失衡問題,尤其是在與語音技術(shù)相關(guān)的任務(wù)中.因此,該任務(wù)可能是這類研究的一個(gè)很好的選擇,而且有益于語音重疊情況下的言語技術(shù).