0
雷鋒網(wǎng)AI科技評論按:自動語音識別(Automatic speech recognition,ASR)領(lǐng)域被廣泛使用的開源語音識別工具包 Kaldi 現(xiàn)在也集成了TensorFlow。這一舉措讓Kaldi的開發(fā)者可以使用TensorFlow來部署他們的深度學(xué)習(xí)模塊,同時TensorFlow的用戶也可以更為方便地使用Kaldi的各種經(jīng)驗。
建立一個可以在各種語言、口音、環(huán)境和對話類型中理解人類語言的ASR系統(tǒng),是一項非常復(fù)雜的任務(wù)。傳統(tǒng)的ASR系統(tǒng)是將許多單獨的模塊集成一個流水線,其中每個模塊都在前一個模塊的輸出上進行。原始音頻數(shù)據(jù)從一端進入,然后從另一端輸出識別語音轉(zhuǎn)錄內(nèi)容。典型的基于統(tǒng)計模式識別方法的語音識別系統(tǒng)一般會由信號處理及特征提取模塊、聲學(xué)模塊、發(fā)音詞典、語言模塊和解碼器等組成。在Kaldi工具包中,為了支持越來越多的終端用戶應(yīng)用程序,集成了更多的模塊。
在過去幾年里,隨著深度神經(jīng)網(wǎng)絡(luò)的發(fā)展,許多現(xiàn)有的ASR模塊都被深度神經(jīng)網(wǎng)絡(luò)所取代,這種取代使得單詞識別精度得到很大的提高。但是在開發(fā)生產(chǎn)級的ASR系統(tǒng)時,仍然有許多問題需要克服:
算法——深度學(xué)習(xí)算法在一些問題,例如聲學(xué)環(huán)境(噪聲)、特定語言發(fā)音、詞匯范圍等方面能夠給出非常好的結(jié)果,但部署的過程中并不總是能很好的適應(yīng);
數(shù)據(jù)——構(gòu)建不同語言、不同聲學(xué)環(huán)境的ASR系統(tǒng)需要大量的多種類型的數(shù)據(jù),但我們可能沒有恰好需要的這種數(shù)據(jù)。
規(guī)模——一般能支持大量使用和許多種語言的ASR系統(tǒng),通常會耗費大量的計算。
我們以ASR系統(tǒng)中的語言模塊來說。語言模塊是大多數(shù)先進的ASR系統(tǒng)的關(guān)鍵部分,他們主要依靠統(tǒng)計模型來揭示語言單元的內(nèi)在統(tǒng)計規(guī)律,為整個系統(tǒng)提供了語言背景,有助于預(yù)測正確的單詞序列,并且能夠區(qū)分聽起來相似的單詞。隨著近來機器學(xué)習(xí)方面的突破,語音識別開發(fā)人員正在使用基于深度學(xué)習(xí)的語言模型,被稱為神經(jīng)語言模型。這種神經(jīng)語言模型的結(jié)果相比傳統(tǒng)統(tǒng)計方法有顯著的提升。但神經(jīng)語言模型的訓(xùn)練和部署都是極為復(fù)雜且非常耗時的。
總部位于西雅圖的IntelligentWire公司是一家通過云軟件來彌合實時手機通話和業(yè)務(wù)應(yīng)用之間差距的公司。他們的目標(biāo)就是將企業(yè)代表與客戶進行的數(shù)千次對話內(nèi)容實時分析和處理,并自動處理數(shù)據(jù)輸入和響應(yīng)請求等任務(wù)。為了使ASR系統(tǒng)在這種情況下有用,就必須保證它能以非常低的延遲、提供非常準(zhǔn)確的轉(zhuǎn)錄,并且計算規(guī)模不能很大以有效地支持?jǐn)?shù)千個并發(fā)對話。在這種需求下,IntelligentWire公司的Yishay Carmiel和Hainan Xu帶領(lǐng)的兩支團隊意識到這些困難,并共同合作完成了Kaldi和TensorFlow的集成。
將TensorFlow集成到Kaldi后,他們對ASR的開發(fā)周期減少了一個數(shù)量級。例如上面所說的語言模塊,如果將TensorFlow應(yīng)用到這個模塊,那么從模型道概念驗證可能只需要幾天,而不是幾個星期;對于整個ASR系統(tǒng),開發(fā)周期也從幾個月減少到了幾個星期。此外,TensorFlow的集成也使Kaldi所需要的數(shù)據(jù)大為簡化。
將TensorFlow作為一個模塊集成到Kaldi中,對于Kaldi研發(fā)人員來說,好處是巨大的。同樣的,這種集成也讓TensorFlow的開發(fā)人員能夠輕松地訪問強大的ASR平臺,并且能夠?qū)F(xiàn)有的語音處理流程(如Kaldi強大的聲學(xué)模型)納入到機器學(xué)習(xí)應(yīng)用程序中。Kaldi中的那些用于培訓(xùn)TensorFlow模型的模塊可以不影響整體地進行替換,這對于擴展極為方便。此外,現(xiàn)在已經(jīng)用到生產(chǎn)中的Kaldi系統(tǒng)可以用來評估這個集成模型的質(zhì)量。
我們希望Kaldi-TensorFlow的集成能夠?qū)⑦@兩個充滿活力的開放源碼的開發(fā)社區(qū)更加貼近,共同支持各種新的基于語言的產(chǎn)品和研究的突破。
雷鋒網(wǎng)注——
集成模型代碼:https://github.com/kaldi-asr/kaldi
示例:https://github.com/kaldi-asr/kaldi/tree/master/egs/ami/s5/local/tfrnnlm
本文為雷鋒網(wǎng)根據(jù)谷歌開發(fā)者Raziel Alvarez的博客《Kaldi now offers TensorFlow integration》整理而成,Alvarez是谷歌的研究工程師,IntelligentWire的創(chuàng)始人。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。