官术网_书友最值得收藏!

2.5 示例介紹

除2.4節(jié)講解的YesNo示例外,Kaldi還提供了大量的例子,一方面為用戶展示了大部分工具的使用方法,另一方面也為語音識別領(lǐng)域的研究者提供了一個重復(fù)他人實驗和對比結(jié)果的平臺。這些示例包括數(shù)據(jù)示例、競賽示例和其他示例。

2.5.1 數(shù)據(jù)示例

數(shù)據(jù)示例的作用是,如果用戶手頭有對應(yīng)的數(shù)據(jù),就可以直接使用示例腳本訓(xùn)練模型并測試。英語在語音識別研究領(lǐng)域是使用最為廣泛的語言,在Kaldi的數(shù)據(jù)示例中更新最頻繁的也是英語的示例。其中,YesNo屬于“玩具”數(shù)據(jù),已經(jīng)在本書2.4節(jié)介紹。下面按照數(shù)據(jù)類型分別介紹其他英語數(shù)據(jù)。

1.朗讀數(shù)據(jù)

朗讀數(shù)據(jù)包括TIMIT、WSJ、Librispeech等,可以按照規(guī)模進(jìn)行劃分。

1)小型數(shù)據(jù)(10小時以內(nèi))

小型數(shù)據(jù)包括TIDIGIT、TIMIT、RM和AN4。前三個數(shù)據(jù)集的版權(quán)都屬于語言數(shù)據(jù)聯(lián)合會(LDC),采集時間在1980—1989年。當(dāng)時正值語音識別快速發(fā)展時期,人們期望通過語音控制計算機(jī)做出一些實際的操作命令。TIDIGIT錄制的內(nèi)容是數(shù)字串,而RM錄制的內(nèi)容是控制指令。TIMIT是為了研究美式英語不同地區(qū)的口音之間的差異而錄制的,因此也只包含有限的文本。目前,仍有一些實驗在TIMIT上檢驗對音素的區(qū)分性能。AN4是由美國卡內(nèi)基梅隆大學(xué)(CMU)于1991年采集的,其內(nèi)容是個人信息錄入,總共包含約50分鐘的語音,可以在CMU網(wǎng)站上下載。

2)中型數(shù)據(jù)(100小時以內(nèi))

WSJ是由美國國防高級計劃研究局(DARPA)于1992年錄制的,版權(quán)屬于LDC,內(nèi)容是朗讀華爾街日報,共80小時。AURORA4是在WSJ的一部分?jǐn)?shù)據(jù)中加入噪聲得到的噪聲語音庫,共12小時,版權(quán)屬于歐洲語言資源協(xié)會(ELRA)。此外,還有一個可以免費下載的中型數(shù)據(jù)庫Voxforge。VoxForge是一個可以上傳語音的網(wǎng)站,用戶可以朗讀網(wǎng)站上隨機(jī)提供的文本貢獻(xiàn)自己的聲音,其創(chuàng)建的初衷是為免費和開源的語音識別引擎收集各種語言的帶標(biāo)注數(shù)據(jù)。Kaldi中的Voxforge示例使用了其中的一部分英語數(shù)據(jù),包含美國、英國、澳大利亞和新西蘭四個國家人們的口音,共75小時。

3)大型數(shù)據(jù)(500小時以上)

Librispeech是由Kaldi開發(fā)者整理并發(fā)布的免費英語朗讀數(shù)據(jù),其數(shù)據(jù)總量是960小時,內(nèi)容來自有聲電子書項目LibriVox。CommonVoice是由Mazilla基金會發(fā)起的創(chuàng)建開源語音數(shù)據(jù)集的項目,其采集方式與Voxforge的采集方式類似,由用戶在網(wǎng)站上根據(jù)提示文本進(jìn)行錄音。此外,還有用戶進(jìn)行數(shù)據(jù)篩查,隨機(jī)查看錄音與文本是否一致。在2017年,這個項目發(fā)布了第一個可以免費公開下載的英語數(shù)據(jù)集,共包含20000人的500小時錄音。

2.電話錄音

Vystadial_en示例演示了如何使用Vystadial項目中采集的英語數(shù)據(jù)子集,采集方式是電話錄音,通話主題是所在地附近的餐館推薦。數(shù)據(jù)總時長是45小時。這個數(shù)據(jù)采集時間是2013年,可以在項目網(wǎng)站上免費下載。

SWBD示例使用的數(shù)據(jù)是Switchboard,這是一個由DARPA發(fā)起的電話語音采集項目。通話雙方圍繞一個話題自由聊天,上限是10分鐘。錄音者全部使用美式發(fā)音,共500多人參與,收集了317小時的錄音。由于是自由聊天,因此錄音需要標(biāo)注切分點,內(nèi)容也需要人工轉(zhuǎn)寫,Kaldi的SWBD采用的是由美國密西西比州立大學(xué)(MSU)發(fā)布的經(jīng)過人工審核的標(biāo)注文本。這個數(shù)據(jù)版權(quán)屬于LDC。SWBD示例選用的測試集是美國國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)在2000年組織的語音識別評測時使用的測試集,包含20段Switchboard對話和20段CallHome對話。

Fisher_english和Fisher_swbd兩個示例都使用了Fisher數(shù)據(jù)集,其中后者還加入了Switchboard數(shù)據(jù)。Fisher是在由DARPA牽頭的高效可復(fù)用語音轉(zhuǎn)寫項目(EARS)和全球自動語言利用項目(GALE)中采集的英語電話對話數(shù)據(jù)。這個數(shù)據(jù)庫的采集方式與Switchboard的采集方式類似,但是對話內(nèi)容涉及的領(lǐng)域更廣,因此標(biāo)注的準(zhǔn)確度也就比Switchboard標(biāo)注的準(zhǔn)確度低。Fisher數(shù)據(jù)庫的采集時間是2003年,共包含一萬多段電話錄音,總時長達(dá)到了1760小時。該數(shù)據(jù)版權(quán)屬于LDC。這兩個示例的測試數(shù)據(jù)與SWBD示例的測試數(shù)據(jù)相同。

3.廣播電視

hub4_english示例使用了若干數(shù)據(jù)集,包含1995—1997年美國多個廣播和電視節(jié)目的錄音,共200小時。這個數(shù)據(jù)的采集源于DARPA的HUB4項目,版權(quán)屬于LDC。

tedlium示例使用了共118小時的TED演講,數(shù)據(jù)由法國國立緬因大學(xué)的信息實驗室整理。這個數(shù)據(jù)可以在開源數(shù)據(jù)網(wǎng)站OpenSLR上免費下載。

4.其他類型

ami是一個多麥克風(fēng)陣列的示例,使用的數(shù)據(jù)庫來自一個歐盟的研究項目即增強(qiáng)多方交互(AMI)。采集場景是多方會議現(xiàn)場,使用頭戴麥克風(fēng)和麥克風(fēng)陣列同時采集,共100小時。該示例的數(shù)據(jù)可以在項目網(wǎng)站上免費下載,也可以在OpenSLR網(wǎng)站上免費下載。

bn_music_speech示例使用的數(shù)據(jù)庫名字叫作MUSAN,是由Kaldi的開發(fā)者制作的,用于語音檢測和音樂分離。其中包括60小時來自LibriVox的朗讀語音、42小時音樂和6小時噪聲。這個數(shù)據(jù)可以在OpenSLR網(wǎng)站上免費下載。

multi_en示例是上面若干個示例的數(shù)據(jù)匯總,包括Fisher、Switchboard、WSJ、hub4、Tedlium和Librispeech,總數(shù)據(jù)時長達(dá)到3000小時以上。這個示例展示了在多個不同風(fēng)格的數(shù)據(jù)來源下如何訓(xùn)練語音識別模型。

ptb示例只用于語言模型,使用賓州樹庫(PTB)數(shù)據(jù)。

voxceleb示例演示了使用VoxCeleb數(shù)據(jù)庫進(jìn)行說話人識別的方法。VoxCeleb分為兩個子集,分別包含1251位名人和6112位普通人的聲音,采集來源是視頻分享網(wǎng)站Youtube。

callhome_diarization示例演示了使用說話人識別數(shù)據(jù)訓(xùn)練說話人分割系統(tǒng)的方法。與說話人識別不同,說話人分割的目的是在一段語音中將不同人說的話按照切換時間標(biāo)記出來。

除英語外,Kaldi還提供了其他多種語言的數(shù)據(jù)庫示例,其中幾個使用比較廣泛的語言都有不同風(fēng)格和數(shù)據(jù)量的示例,如表2-1所示。

表2-1 Kaldi中的非英語語音示例

續(xù)表

在數(shù)據(jù)示例中,大部分語言都有免費公開的數(shù)據(jù)可供使用。用戶可以使用這些數(shù)據(jù)訓(xùn)練語音識別系統(tǒng),也可以根據(jù)自己的數(shù)據(jù)量和應(yīng)用場景,參照示例準(zhǔn)備自己的訓(xùn)練環(huán)境。訓(xùn)練中文模型的讀者可以參考multi_cn示例,它展示了如何使用大約1000小時免費公開的若干中文數(shù)據(jù)訓(xùn)練一個可用的模型,并示范了如何引入額外的語言模型。

2.5.2 競賽示例

競賽示例主要是由Kaldi開發(fā)者添加的,用于將自己基于Kaldi提交的參加某次評測的系統(tǒng)開放出來方便重現(xiàn)結(jié)果。測試數(shù)據(jù)都是由競賽組織方提供的,如果不參加競賽,就無法獲取測試數(shù)據(jù),因此用戶一般難以準(zhǔn)確復(fù)現(xiàn)結(jié)果,但是可以參照示例腳本搭建自己的特定場景下的訓(xùn)練環(huán)境。目前,Kaldi中的競賽示例分為以下幾種。

1.復(fù)雜環(huán)境下的語音識別

ASPIRE示例,用于參加2014年美國國家情報高級研究計劃局(IARPA)混響環(huán)境中的自動語音識別競賽(ASPIRE)。訓(xùn)練數(shù)據(jù)采用Fisher英語數(shù)據(jù),并使用多個混響噪聲數(shù)據(jù)庫生成模擬混響環(huán)境的數(shù)據(jù)。在示例中提供了這些混響噪聲數(shù)據(jù)的下載和使用方法,大部分都是可以免費公開獲取的。

REVERB示例,最初用于參加2014年IEEE信號處理協(xié)會的混響語音增強(qiáng)語識別競賽(REVERB)。這個競賽的訓(xùn)練數(shù)據(jù)使用模擬的混響語音數(shù)據(jù),基于WSJCAM0數(shù)據(jù)庫人工加入噪聲,這是一個使用WSJ文本的英式英語數(shù)據(jù)庫,由英國劍橋大學(xué)錄制。測試數(shù)據(jù)包含兩部分,一部分是模擬數(shù)據(jù),另一部分是真實混響數(shù)據(jù)。真實混響數(shù)據(jù)同樣使用WSJ文本,在會議室環(huán)境下使用遠(yuǎn)距離的單聲道麥克風(fēng)、雙聲道麥克風(fēng)和一個8頭的麥克風(fēng)陣列同時采集。這兩部分?jǐn)?shù)據(jù)現(xiàn)在都由LDC負(fù)責(zé)分發(fā)。這個示例在競賽結(jié)束后還在更新,有些混響語音識別新技術(shù)的實現(xiàn)可以在這里看到。

CHIME示例,截至本書完稿,Kaldi提供了CHIME1~CHIME5共5個示例。這是由語音分離與識別競賽(CHIME)的組織者提供的歷屆競賽的基線系統(tǒng)及Kaldi開發(fā)者的參賽系統(tǒng)。這個競賽的數(shù)據(jù)都是在真實嘈雜環(huán)境下按照WSJ文本錄制的。目前,除第一屆的數(shù)據(jù)可以免費公開下載外,其他的數(shù)據(jù)都由LDC分發(fā)。

2.關(guān)鍵詞檢出

BABEL示例,BABEL是IARPA的巴別塔計劃的簡稱,目標(biāo)是現(xiàn)實情況下多語言的語音識別。BABEL示例解決的是其中的關(guān)鍵詞檢出問題,提供了不同語言的關(guān)鍵詞檢出系統(tǒng)訓(xùn)練和測試方法。示例的數(shù)據(jù)僅由計劃參與單位持有。

3.說話人識別

SRE示例,包括SRE08、SRE10和SRE16。SRE是美國國家標(biāo)準(zhǔn)與技術(shù)研究院(NIST)組織的說話人識別評測,1996—2005年每年舉行一次,從2006年開始隔年舉行一次。Kaldi的示例對應(yīng)的是2008年、2010年和2016年的SRE評測。其中,2008年的全部數(shù)據(jù)和2010年的測試數(shù)據(jù)已經(jīng)由LDC負(fù)責(zé)分發(fā),而2010年的訓(xùn)練數(shù)據(jù)及從2012年開始的全部數(shù)據(jù)目前仍然只能由評測參與方持有。SRE08的訓(xùn)練使用了Fisher、Switchboard無線通信版和2004年、2005年SRE的數(shù)據(jù)。SRE10的訓(xùn)練在SRE08的基礎(chǔ)上又增加了Switchboard第二版和2006年、2008年SRE的數(shù)據(jù)。SRE16的訓(xùn)練去掉了Fisher數(shù)據(jù),增加了2010年SRE的數(shù)據(jù),并使用了一些噪聲數(shù)據(jù)庫來生成更多的數(shù)據(jù)。

SITW示例,對應(yīng)的是2016年由美國斯坦福國際研究院(SRI)主辦的旨在測試真實環(huán)境下的說話人識別性能的評測。示例中采用VoxCeleb作為訓(xùn)練數(shù)據(jù),加入了MUSAN噪聲和一些模擬混響的噪聲數(shù)據(jù)。

DIHARD_2018示例,是一個說話人分割的示例,展示了用于參加2018年說話人分割評測(DIHARD)的訓(xùn)練環(huán)境。這個評測的特點是測試數(shù)據(jù)都是真實環(huán)境下的錄音,而參與者可以使用任意數(shù)據(jù)進(jìn)行訓(xùn)練。

4.語種識別

LRE07示例。LRE是NIST組織的語種識別評測,與SRE交替隔年舉行。這個示例展示了訓(xùn)練一個2007年LRE評測的參賽系統(tǒng)的環(huán)境,其測試數(shù)據(jù)包含18種語言,共66小時。目前,該數(shù)據(jù)由LDC分發(fā)。示例的訓(xùn)練數(shù)據(jù)包括由LDC開發(fā)的多語言電話交談庫CALLFRIEND中的13個語言的子集,以及往年的SRE和LRE的數(shù)據(jù)。

2.5.3 其他示例

發(fā)音錯誤檢測(Mispronunciation Detection)技術(shù)可以在音素級別上檢測出語音中的發(fā)音錯誤,該技術(shù)被廣泛地應(yīng)用于外語教學(xué)中。Kaldi提供了一個示例gop,其命名來自于經(jīng)典的發(fā)音良好度(Goodness Of Pronunciation,GOP)算法,該示例演示了如何使用發(fā)音良好度算法進(jìn)行發(fā)音錯誤檢測。

除與語音相關(guān)的示例外,Kaldi還提供了一些可以用于做圖像識別類任務(wù)的示例,如表2-2所示。

表2-2 Kaldi中的圖像識別類示例

2.5.4 示例結(jié)構(gòu)

打開一個Kaldi的示例通常會看到下面這樣的結(jié)構(gòu):

這就是一個典型的語音識別示例的頂層文件夾結(jié)構(gòu),其中包含一個描述示例大概任務(wù)或數(shù)據(jù)情況的文件,以及若干不同版本的示例,數(shù)字越大或同樣數(shù)字后面的字母越靠后,表示示例越新。一般有了新的示例版本,以前的版本就不再更新了,大多數(shù)的示例只有s5一個版本。在說話人識別和圖像的示例中,用字母v代替s,命名規(guī)則與語音識別示例的命名規(guī)則一致。

進(jìn)入一個語音識別的示例,可以看到如下結(jié)構(gòu)(這里以Librispeech/s5為例):

1)cmd.sh定義了訓(xùn)練任務(wù)提交的方式。在本書第2.3.7節(jié)中介紹了單機(jī)和集群環(huán)境的配置方法,在這里要根據(jù)實際需要進(jìn)行修改。大部分腳本默認(rèn)使用SGE集群,其設(shè)置如下:

如果是單機(jī),則要改成使用run.pl:

如果配置了NFS和免密登錄,則可以使用ssh.pl進(jìn)行任務(wù)分發(fā),前提是在訓(xùn)練環(huán)境目錄下創(chuàng)建.queue文件夾,并在其中創(chuàng)建名為machines的文件,將所要使用的機(jī)器名寫在里面,例如:

如果是其他集群,則可以根據(jù)自己的環(huán)境選擇對應(yīng)的任務(wù)提交方式,例如:

2)path.sh定義了訓(xùn)練腳本中所使用的若干環(huán)境變量的位置,其中最重要的就是Kaldi代碼編譯的位置。默認(rèn)情況下,這個路徑按照Git復(fù)制的結(jié)果設(shè)置相對路徑。

如果把Kaldi的編譯結(jié)果單獨保存起來,則要在這里指明后才可以使用:

3)run.sh是頂層運(yùn)行腳本,集成了從資源下載、數(shù)據(jù)準(zhǔn)備、特征提取到模型訓(xùn)練和測試的全部腳本,并給出了獲取統(tǒng)計結(jié)果的方法。

4)RESULTS是結(jié)果列表文件,給出了run.sh中每一步訓(xùn)練的模型在測試集上的效果。

5)local是一個文件夾,包含用于處理當(dāng)前示例數(shù)據(jù)的腳本、識別測試的腳本及除GMM訓(xùn)練外其他訓(xùn)練步驟的腳本。

6)conf文件夾保存了一些配置文件,如特征提取的配置和識別解碼的配置。

7)steps和utils是兩個鏈接,指向WSJ示例中的這兩個文件夾。這兩個文件夾中的腳本是各個示例通用的。steps中的腳本是各個訓(xùn)練階段的子腳本,如不同的特征提取、單音素的GMM訓(xùn)練、三音素的GMM訓(xùn)練、神經(jīng)網(wǎng)絡(luò)模型訓(xùn)練、解碼等。utils中的腳本用于協(xié)助處理,如任務(wù)管理、文件夾整理、臨時文件刪除、數(shù)據(jù)復(fù)制和驗證等。

除此之外,不同類型的示例還有一些特殊的頂層文件或文件夾。說話人識別和語種識別的示例有一個指向sre08/v1/sid的鏈接,里面是關(guān)于說話人識別的通用腳本。圖像示例中有一個指向cifar/v1/image的鏈接,里面是關(guān)于圖像處理和圖像識別結(jié)果統(tǒng)計的通用腳本。用于驗證語言模型的示例PTB中有一個指向Kaldi文件夾下的scripts/rnnlm目錄的鏈接,里面是關(guān)于神經(jīng)網(wǎng)絡(luò)語言模型的腳本。Librispeech示例中也有這個鏈接,因為在Librispeech中提供了神經(jīng)網(wǎng)絡(luò)語言模型的實驗?zāi)_本。

主站蜘蛛池模板: 松潘县| 邻水| 公主岭市| 宣恩县| 四川省| 南华县| 青龙| 崇信县| 刚察县| 七台河市| 金平| 加查县| 南雄市| 东台市| 禹州市| 济源市| 依安县| 策勒县| 辉县市| 新野县| 尚义县| 宝兴县| 长治县| 巫山县| 建昌县| 万载县| 抚宁县| 宁陵县| 荔波县| 赞皇县| 昌乐县| 大关县| 都江堰市| 安庆市| 岳阳县| 子长县| 咸宁市| 镇远县| 临漳县| 锡林浩特市| 镇赉县|