自動語音識別(ASR)或語音轉(zhuǎn)文本,是流程和軟件的組合,能夠解碼人類語音并將其轉(zhuǎn)換為數(shù)字化文本。
1?
什么是自動語音識別(ASR)?
自動語音識別(ASR)會收錄人類語音,然后將其轉(zhuǎn)換為可讀文本。ASR 能夠幫助我們免手動操作地編輯文本消息,并提供用于機(jī)器理解的框架。人類語言愈加可搜索和可操作,這使開發(fā)者能夠獲取情感分析等高級分析。ASR 是對話式 AI 應(yīng)用程序流水線的第一階段,使用自然語言與機(jī)器進(jìn)行交流。
典型的對話式 AI 應(yīng)用程序使用三個子系統(tǒng)來處理和轉(zhuǎn)錄音頻,即理解提出的問題(獲取含義)、生成回復(fù)(文本),然后將回復(fù)反饋給人類。通過多個深度學(xué)習(xí)解決方案協(xié)同工作來實現(xiàn)這些步驟。
首先,ASR 用于處理原始音頻信號,并從中轉(zhuǎn)錄文本。其次,自然語言處理(NLP)用于從轉(zhuǎn)錄文本(ASR 輸出)中提取含義。最后,語音合成或文字轉(zhuǎn)語音(TTS)用于從文本中人工生成人類語音。各步驟均需構(gòu)建和使用一個或多個深度學(xué)習(xí)模型,因此優(yōu)化此多步驟流程非常復(fù)雜。
2?
為何選擇 ASR?
無論是語音助手和聊天機(jī)器人,還是支持客戶自助服務(wù)的問答系統(tǒng),語音識別和對話式 AI 的應(yīng)用頻率與日俱增。涵蓋金融和醫(yī)療健康等眾多領(lǐng)域的各行各業(yè),在其解決方案中采用 ASR 或?qū)υ捠?AI。語音轉(zhuǎn)文本的實際應(yīng)用非常廣泛:
外科醫(yī)生或飛機(jī)駕駛員等“忙碌的”專業(yè)人士可以在工作期間進(jìn)行記錄并發(fā)出命令。
如果不能使用鍵盤,或者在開車時遇到危險,用戶可以發(fā)出語音需求或口述消息。
聲控電話應(yīng)答系統(tǒng)可以處理復(fù)雜的請求,而無需用戶導(dǎo)航菜單。
無法使用其他輸入方式的殘障人士可以使用語音,與計算機(jī)和其他自動化系統(tǒng)進(jìn)行交互。
自動轉(zhuǎn)錄的速度比人工轉(zhuǎn)錄的速度更快,并且成本更低。
在大多數(shù)情況下,語音識別速度比打字速度更快。普通人每分鐘大概可以說 150 個單字,但只能打 40 個字左右。使用密小難辨的智能手機(jī)鍵盤打字,性能甚至?xí)?/p>
現(xiàn)在,語音轉(zhuǎn)文本在智能手機(jī)和臺式電腦中的應(yīng)用隨處可見。特殊用途還可用于醫(yī)學(xué)、法律和教育學(xué)科。隨著其廣泛應(yīng)用成為主流,并且在家庭、汽車和辦公室設(shè)備中廣泛部署,學(xué)術(shù)界和業(yè)界已加大對此領(lǐng)域的研究力度。
3?
ASR 的工作原理
ASR 是自然語言中一項頗具挑戰(zhàn)性的任務(wù),它由語音分割、聲學(xué)建模和語言建模等一系列子任務(wù)組成,根據(jù)噪聲和未分割的輸入數(shù)據(jù)形成預(yù)測(標(biāo)簽序列)。深度學(xué)習(xí)在識別音素(用于創(chuàng)建語音的基本聲音)時具有更高的準(zhǔn)確性,因此已取代隱馬爾可夫模型和高斯混合模型等傳統(tǒng)的 ASR 統(tǒng)計方法。深度學(xué)習(xí) Connectionist Temporal Classification(CTC)的引入消除了對預(yù)分割數(shù)據(jù)的需求,其允許直接對網(wǎng)絡(luò)進(jìn)行端到端訓(xùn)練,從而完成 ASR 等序列標(biāo)記任務(wù)。
典型的 ASR CTC 流程包括以下步驟:
特征提取:第一步是從輸入音頻中提取有用的音頻特征,并且忽略噪聲以及其他不相關(guān)信息。梅爾頻率倒譜系數(shù)(MFCC)技術(shù)能夠在頻譜圖或梅爾頻譜圖中捕捉音頻頻譜特征。
聲學(xué)模型:將頻譜圖傳遞給基于深度學(xué)習(xí)的聲學(xué)模型,以便預(yù)測每個時間步的字符概率。在訓(xùn)練期間,聲學(xué)模型使用包含數(shù)百小時的音頻以及目標(biāo)語言轉(zhuǎn)錄的數(shù)據(jù)集(LibriSpeech ASR Corpus、《華爾街日報》、TED-LIUM Corpus 和 Google Audio set)進(jìn)行訓(xùn)練。聲學(xué)模型根據(jù)單詞的發(fā)音方式進(jìn)行輸出,因此可能包含重復(fù)字符。
解碼:解碼器和語言模型根據(jù)上下文將字符轉(zhuǎn)換為單詞序列。這些單詞可以進(jìn)一步緩沖為短語和句子,并進(jìn)行適當(dāng)分段,然后再發(fā)送至下一階段。
Greedy(argmax):是解碼器的簡單策略。在每個時間步選擇出現(xiàn)概率最高的字母(時序 Softmax 輸出層),無需考慮對交流內(nèi)容的任何語義理解。然后,移除或折疊重復(fù)字符,并丟棄空白標(biāo)記。
語言模型可用于添加上下文,從而糾正聲學(xué)模型中的錯誤。定向搜索解碼器將 Softmax 輸出的相對概率與特定單詞在上下文中出現(xiàn)的概率進(jìn)行加權(quán),并嘗試將聲學(xué)模型聽到的內(nèi)容與可能出現(xiàn)的下一個單詞相結(jié)合,從而確定說話內(nèi)容。
4?
使用深度學(xué)習(xí)和 GPU 加速 ASR?
Connectionist Temporal Classification(CTC)等創(chuàng)新技術(shù)將 ASR 直接融入于深度學(xué)習(xí)領(lǐng)域。用于 ASR 的熱門深度學(xué)習(xí)模型包括 Wav2letter、Deepspeech、LAS 以及近期 NVIDIA 研究發(fā)布的 Jasper,這是一款使用深度學(xué)習(xí)來開發(fā)語音應(yīng)用程序的熱門工具包。Kaldi 是 C++ 工具包,除了深度學(xué)習(xí)模塊之外,還支持傳統(tǒng)方法。
一個由數(shù)百個核心組成的 GPU,可以并行處理數(shù)千個線程。由于神經(jīng)網(wǎng)絡(luò)由大量相同的神經(jīng)元構(gòu)建而成,因此本質(zhì)上具有高度并行性。這種并行性會自然映射到 GPU,因此相比僅依賴 CPU 的訓(xùn)練,計算速度會大幅提高。例如,GPU 加速的 Kaldi 解決方案的執(zhí)行速度比實時音頻快 3,500 倍,比只用 CPU 的解決方案快 10 倍。這種性能使得 GPU 成為訓(xùn)練深度學(xué)習(xí)模型和執(zhí)行推理的首選平臺。
5?
行業(yè)應(yīng)用
醫(yī)療健康
醫(yī)療健康面臨的困難之一是難以獲得。撥打醫(yī)生辦公室電話電話需要一直等待的情況十分常見,與索賠代表盡快聯(lián)系同樣困難。使用對話式 AI 來訓(xùn)練聊天機(jī)器人是醫(yī)療健康領(lǐng)域的一項新興技術(shù),旨在解決醫(yī)療健康專業(yè)人士的短缺問題,并開創(chuàng)與患者的溝通渠道。
金融服務(wù)
對話式 AI 正在為金融服務(wù)公司構(gòu)建更出色的聊天機(jī)器人和 AI 助手。
零售
聊天機(jī)器人技術(shù)也常用于零售應(yīng)用程序,能夠準(zhǔn)確分析客戶查詢,并生成回復(fù)或建議。這可簡化客戶流程,并提高商店運營效率。
6?
NVIDIA GPU 加速的對話式 AI 工具
借助對話式 AI 部署服務(wù)似乎比較困難,但 NVIDIA 現(xiàn)已具備能夠簡化這一流程的工具,包括神經(jīng)模塊(簡稱 NeMo)和一項名為 NVIDIA Riva 的新技術(shù)。為節(jié)省時間,NGC 軟件中心還提供預(yù)訓(xùn)練 ASR 模型、訓(xùn)練腳本和性能結(jié)果。
NVIDIA NeMo 是一款基于 PyTorch 創(chuàng)建的工具包,能夠開發(fā)用于對話式 AI 的 AI 應(yīng)用程序。在模塊化深度神經(jīng)網(wǎng)絡(luò)的開發(fā)過程中,NeMo 可通過連接模組、混合和匹配組件來實現(xiàn)快速實驗。NeMo 模塊通常表示數(shù)據(jù)層、編碼器、解碼器、語言模型、損失函數(shù)或組合激活函數(shù)的方法。NeMo 針對 ASR、NLP 和 TTS 使用可重復(fù)使用的組件,使得構(gòu)建復(fù)雜神經(jīng)網(wǎng)絡(luò)架構(gòu)和系統(tǒng)變得容易。
此外,借助 NVIDIA GPU Cloud(NGC),您可以獲得用于對話式 AI 的 NeMo 資源,例如預(yù)訓(xùn)練模型、用于訓(xùn)練或評估的腳本,以及 NeMo 端到端應(yīng)用程序,允許開發(fā)者試驗不同算法并使用各自數(shù)據(jù)集執(zhí)行遷移學(xué)習(xí)。
為促進(jìn)整個 ASR 流程的實施和領(lǐng)域適應(yīng)性,NVIDIA 創(chuàng)建了特定于域的 NeMo ASR 應(yīng)用程序。此應(yīng)用程序由 NeMo 助力開發(fā),支持您使用自己的數(shù)據(jù)來訓(xùn)練或微調(diào)預(yù)訓(xùn)練(聲音和語言)ASR 模型。您可以借此逐步創(chuàng)建專為您自己的數(shù)據(jù)而構(gòu)建的更高性能 ASR 模型。
NVIDIA Riva 是一款應(yīng)用程序框架,能夠為完成對話式 AI 任務(wù)提供多個制流程。
7?
NVIDIA GPU 加速的端到端數(shù)據(jù)科學(xué)
建立在 CUDA 基礎(chǔ)上的 NVIDIA RAPIDS?開源軟件庫套件使您能夠完全在 GPU 上執(zhí)行端到端數(shù)據(jù)科學(xué)和分析流程,同時仍然使用 Pandas 和 Scikit-Learn API 等熟悉的界面。
8?
NVIDIA GPU 加速的深度學(xué)習(xí)框架
GPU 加速深度學(xué)習(xí)框架能夠為設(shè)計和訓(xùn)練自定義深度神經(jīng)網(wǎng)絡(luò)帶來靈活性,并為 Python 和 C/C++ 等常用編程語言提供編程接口。MXNet、PyTorch、TensorFlow 等廣泛使用的深度學(xué)習(xí)框架依賴于 NVIDIA GPU 加速庫,能夠提供高性能的多 GPU 加速訓(xùn)練。
審核編輯:黃飛
評論
查看更多