您的位置:首頁>科技>正文

Kaldi集成TensorFlow,兩個開源社區終於要一起玩耍了

雷鋒網AI科技評論按:自動語音辨識(Automatic speech recognition, ASR)領域被廣泛使用的開源語音辨識工具包 Kaldi現在也集成了TensorFlow。 這一舉措讓Kaldi的開發者可以使用TensorFlow來部署他們的深度學習模組, 同時TensorFlow的使用者也可以更為方便地使用Kaldi的各種經驗。

一、傳統ASR有哪些問題?

建立一個可以在各種語言、口音、環境和對話類型中理解人類語言的ASR系統, 是一項非常複雜的任務。 傳統的ASR系統是將許多單獨的模組集成一個流水線, 其中每個模組都在前一個模組的輸出上進行。 原始音訊資料從一端進入, 然後從另一端輸出識別語音轉錄內容。 典型的基於統計模式識別方法的語音辨識系統一般會由信號處理及特徵提取模組、聲學模組、發音詞典、語言模組和解碼器等組成。 在Kaldi工具包中, 為了支援越來越多的終端使用者應用程式, 集成了更多的模組。

在過去幾年裡, 隨著深度神經網路的發展,

許多現有的ASR模組都被深度神經網路所取代, 這種取代使得單詞識別精度得到很大的提高。 但是在開發生產級的ASR系統時, 仍然有許多問題需要克服:

演算法——深度學習演算法在一些問題, 例如聲學環境(雜訊)、特定語言發音、詞彙範圍等方面能夠給出非常好的結果, 但部署的過程中並不總是能很好的適應;

資料——構建不同語言、不同聲學環境的ASR系統需要大量的多種類型的資料, 但我們可能沒有恰好需要的這種資料。

規模——一般能支援大量使用和許多種語言的ASR系統, 通常會耗費大量的計算。

我們以ASR系統中的語言模組來說。 語言模組是大多數先進的ASR系統的關鍵部分, 他們主要依靠統計模型來揭示語言單元的內在統計規律,

為整個系統提供了語言背景, 有助於預測正確的單詞序列, 並且能夠區分聽起來相似的單詞。 隨著近來機器學習方面的突破, 語音辨識開發人員正在使用基於深度學習的語言模型, 被稱為神經語言模型。 這種神經語言模型的結果相比傳統統計方法有顯著的提升。 但神經語言模型的訓練和部署都是極為複雜且非常耗時的。

二、將 TensorFlow 集成到 Kaldi 中

總部位於西雅圖的IntelligentWire公司是一家通過雲軟體來彌合即時手機通話和業務應用之間差距的公司。 他們的目標就是將企業代表與客戶進行的數千次對話內容即時分析和處理, 並自動處理資料登錄和回應請求等任務。 為了使ASR系統在這種情況下有用, 就必須保證它能以非常低的延遲、提供非常準確的轉錄,

並且計算規模不能很大以有效地支援數千個併發對話。 在這種需求下, IntelligentWire公司的Yishay Carmiel和Hainan Xu帶領的兩支團隊意識到這些困難, 並共同合作完成了Kaldi和TensorFlow的集成。

將TensorFlow集成到Kaldi後, 他們對ASR的開發週期減少了一個數量級。 例如上面所說的語言模組, 如果將TensorFlow應用到這個模組, 那麼從模型道概念驗證可能只需要幾天, 而不是幾個星期;對於整個ASR系統, 開發週期也從幾個月減少到了幾個星期。 此外, TensorFlow的集成也使Kaldi所需要的資料大為簡化。

將TensorFlow作為一個模組集成到Kaldi中, 對於Kaldi研發人員來說, 好處是巨大的。 同樣的, 這種集成也讓TensorFlow的開發人員能夠輕鬆地訪問強大的ASR平臺, 並且能夠將現有的語音處理流程(如Kaldi強大的聲學模型)納入到機器學習應用程式中。

Kaldi中的那些用於培訓TensorFlow模型的模組可以不影響整體地進行替換, 這對於擴展極為方便。 此外, 現在已經用到生產中的Kaldi系統可以用來評估這個集成模型的品質。

我們希望Kaldi-TensorFlow的集成能夠將這兩個充滿活力的開放源碼的開發社區更加貼近, 共同支援各種新的基於語言的產品和研究的突破。

雷鋒網注——

集成模型代碼:https://github.com/kaldi-asr/kaldi

示例:https://github.com/kaldi-asr/kaldi/tree/master/egs/ami/s5/local/tfrnnlm

本文為雷鋒網根據谷歌開發者Raziel Alvarez的博客《Kaldi now offers TensorFlow integration》整理而成, Alvarez是穀歌的研究工程師, IntelligentWire的創始人。

Next Article
喜欢就按个赞吧!!!
点击关闭提示