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