人機對話——ASR
概念
ASR(Automatic Speech Recognition,自動語音識別)是一種將人類語音轉換為文本的技術。它使得計算機能夠“聽”懂人類的語音指令或對話,并將其轉換成可讀、可編輯的文本形式。ASR技術是人機交互領域中的一個重要分支,廣泛應用于各種智能設備和服務中。
兩大組成部分
ASR(Automatic Speech Recognition,自動語音識別)技術的核心兩大組成部分是聲學模型和語言模型。
聲學模型概念
是ASR系統中負責將語音信號映射到音素或單詞模型的組件。
底層是深度神經網絡算法,通過對各種聲學現象的學習訓練,聲學模型選擇聲學現象對應最大概率的學單元輸出。通過學用的聲學模型。習不同的聲學現象提煉出共性的部分,訓練一個
音色聲學現象是什么?--》聲音三大要素:響度、音調舉例來說,同一個人高興和生氣的時候說同一句論聲學現象不一樣;感冒和不感冒時候聲學現象不一樣不同人、不同年齡、不同性別、不同環境、不同心情、不同收音設備因素導致的聲學現象也不一樣
聲學單元又是什么?--》聲學模型底層的建模單元不同模型可能建模單元不同,對識別最終結果無感)以音節(不含音調)為建模0ng、shi等等~~~單元為例,建模單元就是 wo、xue、ni、ha0、tong、shi等
簡單點來說聲學模型中的聲學指的是我們聽到的聲音,發的是什么樣的音,例如是"ni"的音還是'wo"的音等等 ~~例如(以拼音表示為例):wo shiyi ge xiao xue sheng(“我是一個小學生”的聲音)
語言模型概念
是ASR系統中負責預測單詞序列概率的組件。它基于語言學知識,描述了單詞序列的統計特性。語言模型的主要任務是評估給定單詞序列的合理性,并為ASR系統提供單詞序列的先驗概率。
純文本層面,和聲音三要素無關,對應文本的詞列條件概率。原理是基于文本統計,也就是相關文本數據量越多,覆蓋面越廣,越接近真實使用場景。
簡單來說語言模型中的語言可以理解為一個句子(上下文)的通順度,語義是否完整或者是否能夠理解~~例如:我試一個曉雪升/我是一個小學生
兩個句子從聲學上是一樣的,但很明顯第二個句子的字/詞連起來的語義才可以理解語言模型就是讓識別到的語言更貼合實際的文本概率更高
兩者的聯系
聲學模型和語言模型如何聯系起來呢?——>詞典
業務場景
以上是智能客服的架構圖 也就是IVR系統
IVR(Interactive Voice Response,交互式語音應答)系統是一種電話自動應答系統,它使用預錄的語音信息、文本到語音(TTS)技術和自動語音識別(ASR)技術來與來電者進行互動,提供信息查詢、數據收集、客戶服務等功能。
除了IVR系統還有以下應用場景
-
智能助手:如蘋果的Siri、亞馬遜的Alexa、谷歌助手等,能夠通過語音指令執行各種任務,如播放音樂、查詢天氣、設置提醒等。
-
語音輸入法:如谷歌語音輸入法、訊飛語音輸入法等,能夠將語音轉換為文本,提高輸入效率。
-
語音翻譯:如谷歌翻譯、微軟翻譯等,能夠實現不同語言之間的實時語音翻譯。
-
語音導航:如高德地圖、百度地圖等,能夠通過語音指令進行路線規劃和導航。
-
語音控制:如智能家居、智能汽車等,能夠通過語音指令控制設備的各種功能。
ASR評價指標?
雖然聲學模型和語言模型都是基于最大概率輸出的,但是既然ASR系統是基于算法和概率的,聲音轉文字就不可能是100%正確的那么就需要有一套完善的評價體系去評判ASR系統的好壞與否
一般會通過以下流程去測試
第一步:準備語音測試集
首先,我們需要為ASR系統準備一場考試——即語音測試集。這可以類比為老師在出試卷,包含100道單選題。測試集需要包含業務真實數據,隨機抽樣,確保代表性,一般1~2小時左右的有效數據。并且,每段語音都需要有對應的標注文本,也就是語音對應的正確文字答案。
第二步:ASR系統“答題”
接下來,將測試語音調用ASR系統進行語音識別,這個過程可以類比為考生答題,ASR模型就是考生。ASR系統將嘗試識別每段語音,并輸出識別結果。
第三步:計算識別字準率
最后,我們需要對比正確答案和識別文本,計算識別字準率。這可以類比為對答案得出考生考試分數。
在業界,唯一的評價標準就是測試內容的字準率。一般先計算字錯誤率(CER),字準率是100%減去字錯誤率(CER)。
字準率=100%?CER
其中,CER(Character Error Rate,字錯誤率)是通過以下公式計算的:
CER=【S(替換錯誤數)+D(刪除錯誤數)+I(插入錯誤數)?】/N(參考文本中的字符總數)
ins:插入錯誤,表示實際語音中沒有,識別結果里面有
del:刪除錯誤,表示實際語音中有,識別結果里面沒有;
sub:替換錯誤,表示實際語音中有,識別結果里面有,但是字錯誤了:
ASR流程
- 建立測試集:真實性、隨機性、代表性、1~2小時有效語音數據、標注文本正確答案
- 摸底測試:使用測試集語音調用asr模型跑出識別結果,并和測試集正確答案對比,計算字準率
- 錯誤分析:一般情況下字準率不足85%的話,要進行重點分析。聽語音,判斷錯誤類型,
- 模型優化:根據錯誤類型進行對應的優化方案,熱詞、語言模型模型和聲學模型優化三種,
- 測試集驗證:使用測試集語音調用優化后asr模型跑出識別結果,計算字準率。若優化周期長,可以分批次迭代優化
分析維度
1、語音特點 --》(可以理解為分析考試題都是什么題,出的是否合理,一定是單選題)數據格式/采樣率是否正確、頻域信息是否完整、是否有噪聲/口音/吞音、是否聲音不清晰、是否音量過高或者過低、是否有丟幀、嚴重壓縮等例如:兩個人同時說話造成聲音重疊,這樣的語音計尊識別率不合理,因為答案是不一定的,不是單選題也沒有對應的優化手段,
2、標注是否正確 --》(可以理解為判斷下老師給的I確答案是否正確)標注也叫人工轉寫,是人為的操作,不可避免的也許會有答案標注錯誤的時候,也和標注人員對測試集使日場景的背景了解度有關。例如:和目路由(中移動的一款產品),沒有相關背景的話,標注文本很可能標注成“和睦路由”
3、識別錯誤類型 --》(可以理解為考題沒問題,考確實答錯了,分析是哪類錯誤)識別從聲學和語言兩個方面入手:音就識別錯了還是音對了字錯了?
1)音對了字錯了:
例如 標注“我是一個小學生”,識別“我試一個曉雪習概率較大。一般體現在同音聲學判斷聲音是對的,語音模型判斷的結果是錯誤文本的(含相似音)不同字、特定領域表達或者專業名詞識別不對等青況,需要語言模型加大正確文本的概率。
2)音錯了:
例如 標注“我是一個小學生”,識別“我這里是新東方聲學判斷聲音是錯的。一般體現在快語速、吞音、背景,噪、口音、音量過低等情況,需要聲學模型優化,需要一定數據量學習這樣的聲學現象
小結
- 語音識別的輸入是語音,輸出是文字,對業務內容無法判斷,
- 語音識別不會達到100%識別準確,錯誤的case肯定會存在。
- 語音識別的交付看整體,不以解case的數量為標準。
- 鏈路上有語音識別錯誤的問題,先確認ASR服務是否接收到數據,
- 如果ASR服務接受到數據,看數據聽語音,看質量是否有問題,
- 看語音識別錯誤的問題是否是共性的問題還是單個的case
- 看語音的case一定要有語音,不是所有的case都可以解決
- 共性的問題及時進行優化,優化有三種方式,熱詞,語言型,聲學型。
- 測試集定期更新,實時觀察線上識別效果,
- ASR基于算法有算法瓶頸,瓶頸的問題需要考慮通路上的解決方案。