OfficialKaldi(一)| 關於Kaldi專案(翻譯註解)

AI大道理發表於2020-12-02

 

什麼是Kaldi?

Kaldi是使用C ++編寫的語音識別工具包,並根據Apache License v2.0獲得許可。Kaldi供語音識別研究人員使用。有關更詳細的歷史記錄和貢獻者列表,請參見Kaldi專案的歷史記錄

 

卡爾迪(Kaldi)這個名字

根據傳說,卡爾迪是衣索比亞的牧羊人,發現了咖啡植物。

 

Kaldi與其他工具箱

Kaldi的目標和範圍與HTK相似。目標是擁有易於修改和擴充套件的用C ++編寫的現代而靈活的程式碼。重要功能包括:

  • 與有限狀態感測器(FST)的程式碼級整合

  • 我們根據OpenFst工具箱(將其用作庫)進行編譯。

 

  • 廣泛的線性代數支援

  • 我們包括一個包裝標準BLAS和LAPACK例程的矩陣庫

 

  • 可擴充套件的設計

  • 我們儘可能以最通用的形式提供演算法。例如,我們的解碼器被模板化在一個物件上,該物件提供由(幀,fst-input-symbol)元組索引的分數。這意味著解碼器可以從任何合適的分數源(例如神經網路)工作。

 

  • 公開許可證

  • 該程式碼是根據Apache 2.0許可的,Apache 2.0是可用的限制最少的許可證之一。

 

  • 完整食譜

  • 我們的目標是為構建語音識別系統提供完整的配方,這些配方可從語言資料庫(LDC)提供的資料庫中獲得。

 

釋出完整食譜的目標是Kaldi的重要方面。由於該程式碼是根據允許修改和重新發布的許可證公開提供的,因此,我們鼓勵人們以與Kaldi自己的示例指令碼類似的格式釋出其程式碼以及指令碼目錄。

在給定時間限制的情況下,我們試圖使Kaldi的文件儘可能完整,但是短期內我們不希望生成與HTK一樣詳盡的文件。特別是,HTKBook中有很多入門材料,它們為未入門者介紹了統計語音識別,這可能永遠不會出現在Kaldi的文件中。Kaldi的許多文件都是以這樣的方式編寫的,即只有專家才能使用。考慮到我們的目標受眾是語音識別研究人員或培訓中的研究人員,將來我們希望使其更易於使用。通常,Kaldi並不是用於“假人”的語音識別工具包。它將允許您執行許多沒有意義的操作。

 

卡爾迪的味道

在本節中,我們嘗試總結Kaldi工具包的一些更通用的品質。在某種程度上,這描述了當前開發人員的目標,並描述了專案的當前狀態。這並不意味著排除工作風格不同的研究人員的貢獻。

  • 我們強調通用演算法和通用配方

  • 所謂“通用演算法”,是指諸如線性變換之類的事物,而不是某種特定於語音的事物。但是,如果更具體的演算法有用,我們就不會太教條。

  • 我們希望可以在任何資料集上執行的配方,而不是必須定製的配方。

 

  • 我們更喜歡證明正確的演算法

  • 配方的設計原則上永遠不會以災難性的方式失敗。一直在努力避免可能會失敗的配方和演算法,即使它們在“正常情況下”也不會失敗(例如:FST推壓,通常可以幫助但可能導致崩潰或使某些情況變得更糟)情況)。

 

  • Kaldi程式碼已經過全面測試。

  • 目標是使所有或幾乎所有程式碼都具有相應的測試例程。

 

  • 我們試圖使簡單的情況保持簡單。

  • 在構建大型語音工具包時,存在程式碼可能成為很少使用的替代品的危險。我們試圖通過以下方式構造工具箱來避免這種情況。每個命令列程式通常只適用於少數情況(例如,解碼器可能僅適用於GMM)。因此,當您新增新型別的模型時,您將建立一個新的命令列解碼器(呼叫相同的基礎模板程式碼)。

 

  • Kaldi程式碼很容易理解。

  • 即使整個Kaldi工具包可能變得非常龐大,我們的目標還是要使它的每個部分都易於理解,而無需付出太多努力。如果可以提高某些部分的易理解性,我們將接受一些程式碼重複。

 

  • Kaldi程式碼易於重用和重構。

  • 我們的目標是使工具包儘可能鬆散地耦合。通常,這意味著任何給定的標頭都應#include儘可能少的其他標標頭檔案。特別是矩陣庫僅依賴於另一個子目錄中的程式碼,因此它幾乎可以獨立於所有Kaldi其餘部分使用。

 

 

專案狀況

當前,我們擁有用於大多數標準技術的程式碼和指令碼,包括所有標準線性變換,MMI,增強型MMI和MCE判別訓練,以及特徵空間判別訓練(例如fMPE,但基於增強型MMI)。我們為《華爾街日報》和《資源管理》以及《總機》提供了工作食譜。由於詞彙和語言模型問題,“配電盤”配方尚未提供最新的結果–為此,我們不使用任何外部資料來源。

注意:在我們打算將版本號用於Kaldi的主要發行版(“ v1”等)的早期階段之後,我們意識到這些型別的發行版與自然的開發風格不太吻合,這是非常連續的。當前,我們僅維護“ master”開發分支,這是您應該使用的版本。另外,經常執行“ git pull”以保持其最新狀態。有關更多詳細資訊,請參見下載和安裝Kaldi

 

參考論文中的Kaldi

如果您想在論文中引用Kaldi,可以使用以下參考。

 
 

@INPROCEEDINGS { Povey_ASRU2011, 作者= {Povey,Daniel和Ghoshal,Arnab和Boulianne,Gilles和Burget,Lukas和Glembek,Ondrej和Goel,Nagendra和Hannemann,Mirko和Motlicek,Petr和Qian,Yanmin和Schwarz,Petr和Silovsky,Jan和Stemmer,Georg還有Vesely,Karel}, 關鍵字= {ASR,自動語音識別,GMM,HTK,SGMM}, 月=十二月 title = {卡爾迪語音識別工具包}, booktitle = {IEEE 2011自動語音識別和理解研討會”, 年= {2011}, 釋出者= {IEEE訊號處理協會}, 位置= {美國夏威夷大島希爾頓唯客樂渡假村}, note = {IEEE目錄號:CFP11SRW-USB}, }

 

相關文章