基于語音識別的IVR系統(tǒng)的設計與實現(xiàn)
1 引言
IVR系統(tǒng)(Interactive Voice Response),即交互式語音應答系統(tǒng),它被應用于呼叫中心(Call Center),以提高呼叫服務的質量、減輕服務員的工作強度并節(jié)省費用,是呼叫中心實現(xiàn)人機交互的重要門戶,在傳統(tǒng)的IVR系統(tǒng)中,用戶與系統(tǒng)交互的方式是通過電話的鍵盤。通常,用戶在進入IVR系統(tǒng)后,會聽到相關的語音提示選單,根據(jù)自己的需要可以按下鍵盤上相關的按鍵。系統(tǒng)通過DTMF信號傳送用戶按下的鍵,同時也將用戶的請求傳送給系統(tǒng),從而觸發(fā)相關的語音信息。然而,傳統(tǒng)的電話僅能通過DTMF信號,傳送有限的幾個數(shù)字及符號按鍵。這使得用戶與系統(tǒng)的交互界面受到很大的限制,同時也就使得IVR系統(tǒng)的信息查詢范圍變得相當狹窄,用戶在實際使用時會感到諸多不便。
隨著計算機技術和人工智能總體技術的發(fā)展,自然語言理解不斷取得進展。語音識別系統(tǒng)已成為一個越來越廣泛的應用方向。由于電話網(wǎng)絡的普及性,自然語言處理系統(tǒng)在電話信道上的應用已成為最重要的應用之一。而且隨著移動通信技術的發(fā)展和人們對于信息獲取的移動性的需求不斷增加,市場對于電話語音識別系統(tǒng)的需求也不斷的增加。因此在新一代呼叫中心的IVR系統(tǒng)中引入了語音識別技術作為用戶的輸入手段,用戶可以直接用語音與系統(tǒng)進行交互,這樣大大提高了工作效率。
2 系統(tǒng)流程及主要模塊
本系統(tǒng)目標是支持多用戶并發(fā)查詢車輛違章信息和駕駛證信息。用戶使用自然的語言說出需查詢信息的類別和車牌號碼,系統(tǒng)識別后將識別結果反饋給用戶,經(jīng)用戶確認后,系統(tǒng)把識別結果作為后臺數(shù)據(jù)庫查詢的關鍵字進行查詢,并將查詢結果播放給用戶。其流程見圖1。本系統(tǒng)主要包括以下幾個模塊:
話路處理模塊:以并發(fā)的方式控制和管理各電話話路。
語音識別模塊:負責查詢類別和車牌號碼的識別。
后臺數(shù)據(jù)庫查詢模塊:將語音識別的結果作為數(shù)據(jù)庫查詢的關鍵字進行查詢。
圖1 車輛違章信息和駕駛證信息查詢系統(tǒng)流程圖
3 話路處理模塊的實現(xiàn)
本系統(tǒng)的硬件部分是由電話語音卡和一臺PC機組成,語音卡通過其提供的語音處理和信令處理能力,來實現(xiàn)用戶的接入請求和掛機信號的檢測,并負責錄音和回放語音。本系統(tǒng)采用的是東進D161A語音卡。該語音卡可接入16條模擬電話線,提供16路以內的話路并行處理能力。其主要功能有:(1)自動增益控制及語音信號的壓擴變換;(2)采集和播放各種格式的電話語音信號,實現(xiàn)A律PCM、μ律PCM、ADPCM等算法;(3)辨識和產生DTMF信號;(4)ITU-TSS G3傳真功能。
話路處理的主要任務是電話振鈴檢測,播放系統(tǒng)提示語音信息,接受用戶的按鍵請求和語音請求,與后臺數(shù)據(jù)庫模塊通訊,檢索結果的語音合成和播放。整個模塊有點類似于一個有限狀態(tài)機,在程序設計時要跟蹤系統(tǒng)所處的狀態(tài)進行相應的動作,并進入下一個狀態(tài),其程序流程如圖2所示。
本系統(tǒng)話路處理模塊的關鍵部分是語音數(shù)據(jù)的實時采集。東進語音卡在這方面提供了一系列接口函數(shù),如:StartRecordFile、StartRecordFileNew、VR_StartRecord等。這幾個函數(shù)都能夠實現(xiàn)對通道的錄音,所不同的是前兩個函數(shù)將語音數(shù)據(jù)保存到磁盤文件,后一個函數(shù)則將語音數(shù)據(jù)保存到存儲器緩沖區(qū)。由于我們要實現(xiàn)的是一個實時語音識別系統(tǒng),因此我們采用后者來采集語音數(shù)據(jù)。在開始錄音之前,我們首先調用VR_SetEcrMode函數(shù)啟動回聲抑制功能,然后每隔一段時間調用一次VR_GetRecordData函數(shù)取得錄音數(shù)據(jù),并將其送入語音識別引擎。當語音識別引擎有識別結果返回時,停止錄音,并根據(jù)識別結果轉入下一個狀態(tài)。
圖2 話路處理流程
評論