智能語音對話機器人系統(tǒng)架構(gòu)

智能語音機器人交互時序流程
智能語音機器人呼叫流程的交互時序流程(以呼入為例),如圖2所示,主要流程為:
1.客戶撥打電話給智能語音機器人。
2.智能語音機器人接聽電話后,呼叫中心平臺調(diào)用業(yè)務流程管理接口,啟動并初始化對話流程狀態(tài)圖。
業(yè)務對話流程管理模塊初始化對話流程狀態(tài)圖后,發(fā)送開場白話術給呼叫中心。
呼叫中心平臺接受到開場白話術,根據(jù)配置選擇進行TTS語音合成或者直接播放錄制好的錄音,并進行放音操作通知客戶。
客戶收到開場白語音后同樣做出相應的語音回復,開始進行對話流程。
呼叫中心平臺收到客戶的回復語音后通過MRCP協(xié)議調(diào)用ASR服務進行語音識別。
呼叫中心收到ASR返回的文字結(jié)果后,通過HTTP協(xié)議調(diào)用業(yè)務流程對話管理接口進行對話狀態(tài)更新。
業(yè)務流程對話管理接收到呼叫中心傳來的請求信息后,調(diào)用語義解析模塊進行語義解析,并根據(jù)語義解析的結(jié)果選擇話術返回給呼叫中心平臺并更新對話狀態(tài)。
呼叫中心收到當前話術,根據(jù)配置選擇進行TTS語音合成或者直接播放錄制好的錄音,并進行放音操作通知客戶。
10.根據(jù)配置好的業(yè)務流程狀態(tài)圖,重復6-9步驟,直至呼叫對話流程結(jié)束。
11.業(yè)務對話流程結(jié)束后,呼叫中心通知ASR服務結(jié)束當前的語音轉(zhuǎn)寫時間請求。最終通知業(yè)務流程對話管理模塊掛機操作,并向呼叫管理平臺上報呼叫結(jié)果。

智能語音對話機器人模塊介紹
1.語音識別ASR
語音識別能夠?qū)⒂脩舻恼Z音轉(zhuǎn)換成文字。針對語音識別應用中面臨的方言口音、背景噪聲等問題,在實際業(yè)務系統(tǒng)中所收集的涵蓋不同方言和不同類型背景噪聲的海量語音數(shù)據(jù)的基礎上通過先進的區(qū)分訓練方法進行語音建模,能夠使語音識別在復雜應用場景下均有良好的效果表現(xiàn)。
模型優(yōu)化包括聲學模型優(yōu)化和語言模型優(yōu)化。由于聲學模型訓練需要大量的數(shù)據(jù)(客戶的標注數(shù)據(jù)不足以訓練聲學模型),并且同時需要音頻及對應的標注文本,聲學訓練又是一個高計算的任務,需要多臺高性能服務器及GPU構(gòu)成的硬件系統(tǒng),所以給客戶做聲學優(yōu)化不可行。語言模型優(yōu)化相對聲學模型優(yōu)化,其生成模型方式及硬件要求,可在利用客戶標注數(shù)據(jù)進行,以下是語言模型優(yōu)化的流程:

語言模型優(yōu)化主要分為需求評估、數(shù)據(jù)準備、模型訓練、測試評估、迭代優(yōu)化五個部分,其中標綠框表示不一定能做(有時候拿不到客戶的樣本數(shù)據(jù)),標藍框表示第一次優(yōu)化工作需要做的。
2.前端語音處理
前端語音處理,利用信號處理的方法對說話人的語音進行檢測、降噪等預處理,以便得到最適合識別引擎處理的語音,其主要功能包括端點檢測VAD、流式語音智能斷句和噪音消除。
語音端點檢測是對輸入的音頻流進行分析,確定客戶說話的起點和終止點的處理過程。一旦檢測到客戶開始說話,語音開始流向識別引擎,直到檢測到客戶說話結(jié)束。這種方式能夠使得識別引擎在客戶說話的同時開始進行識別處理,做到最大限度的即時處理。
n 端點檢測過程:
基于語音信號的特征,用能量,過零率,熵 (entropy) , 音高 (pitch) 等參數(shù)以及它們的衍生參數(shù),來判斷信號流中的語音/非語音信號。
在信號流中檢測到語音信號后,判斷此處是否是語句的開始或結(jié)束點。在商用語音系統(tǒng)中,由于信號的多變的背景和自然對話模式而更容易使得句中有停頓(非語音),特別是在爆發(fā)聲母前總會有無聲間隙。因此,這種開始/結(jié)束的判定尤為重要。
n 端點檢測目的:
減少識別器的數(shù)據(jù)處理量??梢源罅繙p少信號傳輸量及識別器的運算負載,對于語音對話的實時識別有重要作用。
拒絕非語音的信號。對非語音信號的識別不僅是一種資源浪費,而且有可能改變對話的狀態(tài),造成對用戶的困擾。
在需要打斷 (barge-in) 功能的系統(tǒng)中,語音的起始點是必須的。在端點檢測找到語音的起始點時,系統(tǒng)將停止提示音的播放。完成打斷功能。
隨著語音識別應用的發(fā)展,越來越多的系統(tǒng)將打斷功能作為一種方便有效的應用模式。而打斷功能又直接依賴端點檢測。端點檢測對打斷功能的影響發(fā)生在判斷語音/非語音的過程出現(xiàn)錯誤時。表現(xiàn)在過于敏感的端點檢測產(chǎn)生的語音信號的誤警將產(chǎn)生錯誤的打斷。例如,提示音被很強的背景噪音或其它人的講話打斷,是因為端點檢測錯誤的將這些信號作為有效語音信號造成的。反之,如果端點檢測漏過了事實上的語音部分,而沒有檢測到語音。系統(tǒng)會表現(xiàn)出沒有反應,在用戶講話時還在播放提示音。 端點檢測對識別系統(tǒng)的識別效果影響也很大。語音信號的起始點和結(jié)束點判斷有誤,有可能影響整個信號的完整性,在語句的開頭或結(jié)尾漏掉一些有用的數(shù)據(jù)。當這種情況發(fā)生時,很可能對識別的準確度有特別大影響。不完全的信息會使識別率降低。
n 商用端點檢測應具備的特性:
端點檢測的精確度高。
更好的背景噪聲和語音模型:使系統(tǒng)對背景噪聲,其它說話人和非語音的聲音有很好的拒絕功能。
默認的系統(tǒng)相關參數(shù)有很好的適用性,而在有需要的現(xiàn)實環(huán)境中,可以通過系統(tǒng)調(diào)節(jié)來適應通話環(huán)境,改善端點檢測的效果。
對信道有自適應能力:在對話開始后能很快適應當前的信道特征,使得端點檢測的準確度有進一步提高。
獨特的識別服務器的反饋和非語音持續(xù)時間雙重結(jié)束點判定功能,有效的改善了語音結(jié)束點的判定。特別是對較長的語句效果更加突出。
基于可靠的端點檢測技術和智能反饋,智能打斷功能不僅應該在一般的環(huán)境下工作出色,而且能有效的拒絕環(huán)境噪聲,非語音的高強噪聲(呼吸,關門等) 環(huán)境中其它人的聲音。
流式語音智能斷句
現(xiàn)有的語音處理方案是先用語音活動檢測模塊對語音進行斷句,再將斷開的語音進行自動語音識別。但是,在電話語音交互場景中,VAD面臨著兩個難題:
可以成功檢測到最低能量的語音(靈敏度)。
如何在多變的復雜噪聲環(huán)境下成功檢測(漏檢率和虛檢率)。
漏檢反應的是原本是語音但是沒有檢測出來,而虛檢率反應的是不是語音信號而被檢測成語音信號的概率。相對而言漏檢是不可接受的,而虛檢可以通過后端的ASR和NLP算法進一步過濾,但是虛檢會帶來系統(tǒng)資源利用率上升,以及造成響應不及時。
流式語音智能斷句模塊是主要由語音識別模塊、信息流聚合模塊、動態(tài)窗口設定模塊、斷句識別模塊構(gòu)成。其中,語音識別模塊用于接收并識別語音實時流,并按照指定的頻率輸出帶有時序的語音識別結(jié)果;信息流聚合模塊用于對帶有時序的語音識別結(jié)果進行優(yōu)化處理,并整合經(jīng)過優(yōu)化處理后的帶有時序的語音識別結(jié)果,以形成語音識別結(jié)果序列;動態(tài)窗口設定模塊用于從語音識別結(jié)果序列中選擇指定范圍的文本,進而將指定范圍的文本用于斷句分析;斷句識別模塊用于分析指定范圍的文本的語義,并根據(jù)語義確定是否進行斷句。