Ivr流程可配置的語音服務方法及系統的製作方法
2023-10-07 19:01:19 1
專利名稱::Ivr流程可配置的語音服務方法及系統的製作方法
技術領域:
:本發明涉及電話語音服務領域,尤其涉及一種IVR流程可配置的語音服務方法及系統。
背景技術:
:交互式語音應答(InteractiveVoiceResponse,IVR),技術可以使用戶利用電話按鍵(還可以通過發出語音指令)進入資料庫,來獲取或更新數據、或進行交易、或路由該呼叫。與其他新興通訊技術相比,電話是一個發展時間較長的通訊領域,用戶數量大、用戶分布均勻。因此,以電話為載體,為農民用戶提供農業信息服務具備了方便用戶使用、普及率高等優勢。利用電話提供農業信息已逐漸成為一種被廣泛接受的農業信息提供形式。現有技術的農業電話信息服務存在一些問題。農產品價格受區域、天氣、供求等多方面因素影響,價格浮動大、變化快。尤其是農產品價格體現為區域性不同地域的同類產品價格往往有差異。當前的農業信息查詢服務一般為市級或者省級的大型服務系統,一方面將整個省或市劃分成很詳細的小區域進行價格統計在整合費時費力,難以實施;另一方面,由於這種劃分使得用戶在查詢服務時操作會非常的繁瑣。如果能將對不同區域的信息服務分解為多個子系統,整個系統將變得更靈活。但是分散的系統將會導致維護的複雜,並且針對每個系統分配技術人員進行管理也很不合理。由於信息服務不是一成不變的,系統同樣需要更新,以提供新的服務內容。如果採用傳統的硬編碼形式的IVR流程控制,那麼對系統的更新需要專門的技術人員根據語音卡的情況進行重新編程,維護費用比較龐大。如今市面上也出現了一些IVR流程可配置的信息服務系統,但是配置流程過於複雜,並且配置系統與運行系統綁定在一起,非技術人員依然很難實現對IVR流程的自由控制。而且系統由於增加了新的部分反而變得更加龐大和昂貴。
發明內容(一)要解決的技術問題本發明要解決的技術問題是如何將IVR系統運行所需要的控制機制與IVR系統運行機制分離,使得用戶能夠對IVR流程進行控制。(二)技術方案為了達到上述目的,本發明提出了一種IVR流程可配置的語音服務方法,包括以下步驟Si,將每個IVR流程分解成多個獨立的運行單元,每個運行單元對應一個IVR功能,每個IVR功能對應一個IVR菜單;S2,對相同的IVR功能提取共同特徵建立成一個運行單元,將每個運行單元的各個特徵參數化,當在語音卡運行過程中需要實現一個IVR功能時,調用其對應的運行單元並給予相應的IVR菜單,提供所需的參數以實現該IVR功能;S3,根據每一個IVR流程,建立用戶的按鍵內容與各IVR菜單之間的一一對應的映射關係,當在語音卡運行過程中需要進行各IVR菜單之間的跳轉時,獲取用戶的按鍵內容以及所述映射關係實現跳轉,所述按鍵內容為按鍵序列;S4,根據所述映射關係對用戶可配置的IVR流程配置文件進行編輯,然後將其裝載到IVR系統中,其中,所述IVR流程配置文件包含各IVR菜單的信息。其中,所述IVR流程配置文件為XML格式。其中,IVR菜單的信息是以線性的形式羅列在配置文件中的,所述IVR流程配置文件包括如下內容根標籤以及在所述根標籤下的三種子標籤第一種標籤表示IVR菜單的層數;第二種標籤包含所有的IVR菜單,每個IVR配置文件包含一個所述第一種標籤,且包含一個所述第二種標籤;第三種標籤為錯誤處理標籤,是在IVR出現錯誤時給用戶返回的錯誤提示語音。其中,所述IVR菜單的信息還包含以下三個屬性方面的信息菜單對應的按鍵序列、命令按鍵序列以及菜單類型,所述命令按鍵序列是IVR菜單可以響應的按鍵命令,所述按鍵序列定位了IVR菜單的位置。本發明還提供了一種IVR流程可配置的語音服務系統,包括TTS模塊,用於根據所述語音卡運行模塊發送的請求將對應的文本內容轉換為聲音文件;以及語音卡運行模塊,用於在初始化語音卡後,讀取IVR流程配置文件,根據所讀取的IVR流程配置文件建立相應的IVR流程。其中,所述TTS模塊上配置有用於與資料庫連接的資料庫接口,所述TTS模塊通過所述資料庫接口從資料庫獲取文本內容。其中,還包括語音卡監視模塊,用於實時地從所述語音卡運行模塊獲取語音卡的狀態信息。(三)有益效果本發明通過建立一種與IVR系統運行無關的IVR流程配置文件將IVR系統運行機制與IVR的流程定製分離,使得用戶能夠對IVR流程進行控制。圖1為本發明實施例的方法的流程示意圖;圖2為本發明實施例的方法中單獨一個運行單元的狀態轉換示意圖;圖3為本發明實施例的系統的中各模塊的消息處理關係示意圖;圖4為本發明實施例的方法中所使用的配置文件形式示意圖。具體實施例方式下面結合附圖和實施例,對本發明的具體實施方式作進一步詳細描述。以下實施例用於說明本發明,但不用來限制本發明的範圍。圖1為本發明實施例的可配置語音服務方法流程示意圖,如圖1所示。本實施例的語音服務方法主要包括以下步驟步驟101、根據語音卡運行機制,將整個應答流程(IVR流程)分解成獨立的運行單兀。語音卡的每一個通道在接通後,根據當前執行的IVR功能建立狀態標誌,每個狀態對應一個正在執行的IVR功能,我們利用這種狀態標誌對語音卡的運行進行監控。我們可以通過建立一個定時器,使IVR系統在指定的時間間隔(如0.5s)掃描各個通道的狀態。每次對通道狀態的獲取可以返回給管理員的監視界面保證系統的正常運行,更重要的是以現有狀態(尤其是在處於接通狀態後)作為實施相應功能的標識,系統根據當前狀態實現相應的功能並在完成這個功能後切換到一個新的狀態。在下一次掃描狀態時,系統將根據這個新的狀態實施其他的功能,整個系統以這種方式運行。通過對IVR流程的分析,我們發現整個應答流程可以分解成一系列運行單元。每個運行單元包含了一個應答功能(IVR功能),而這個應答功能又與面向用戶的語音服務中的菜單(IVR菜單)一一對應。這個單元處理機制是建立在語音卡運行機制的基礎之上的,每個運行單元包含自身的狀態,在系統運行時根據不同的狀態實施不同的功能。圖2顯示了一個運行單元的狀態切換。一個運行單元包含如下功能1)根據自身的類型首先進入自身狀態循環;2)實現這個單元的功能;3)接受外部命令,根據命令實現菜單的跳轉;4)包含統一的錯誤處理機制,如果遇到問題將捕捉錯誤,記錄錯誤信息,返回錯誤提示。步驟102、根據各運行單元的共同特徵,實現根據參數建立不同運行單元的功能調用。對於一個面向用戶的菜單,其功能有很多的功能特徵。相應的,不同運行單元也具有一些共有的特徵比如一個運行單元或者是已經定義好的播放音,或是根據用戶需求讀取資料庫後生成的查詢;並且,各個運行單元中的狀態是相似的。我們可以將其進行參數化,把相同功能的運行單元整合為同一個可重複利用的功能調用。例如,對於一個播放提示音的運行單元,除了播放的聲音文件不同之外其他的內容是相同的,而對於人工坐席與留言服務的功能幾乎是不變的,系統需要實現這一類的功能時,在調用這個功能方法的同時提供該運行單元所需的所有參數即可實現這個運行單元。步驟103、在運行系統中建立組織菜單運行的機制。當然在獨立的菜單跳轉過程中,為了實現功能的整合需要對各個菜單進行連接。因此需要為每個運行單元的菜單提供轉跳到其他菜單的接口。我們這裡提出了一種根據系統在運行時維護的一個當前菜單所在層級的狀態與該菜單中的層級進行匹配的方式,來檢測系統是否出現錯誤的方法。該系統實現菜單轉跳的唯一方法是系統獲取用戶按鍵內容,實現菜單的轉跳。每個通道都有一個按鍵棧,當用戶將一個有效的向下級菜單跳轉的按鍵按下後,按鍵棧將這個按鍵入棧。當有一個向上級菜單返回的按鍵按下時,堆棧將棧頂按鍵彈出。而這種當前按鍵堆棧的序列是與每一個菜單一一對應,因此系統中的每一個運行單元也是和這種按鍵序列一一對應的。因此我們可以為每個菜單所需要的按鍵序列與該菜單建立映射關係,首先建立這種機制,然後根據這種機制建立所需要的配置文件。當系統運行時,每次刷新通道狀態後,將根據當前按鍵序列匹配要運行的運行單元。這裡要說明的是,為了區分按鍵是為功能的實施還是用於菜單的跳轉,我們為每個通道建立一個按鍵鎖標誌,當不需要作為指示菜單跳轉的命令時我們利用該按鍵鎖標誌將按鍵讀取棧上鎖,這樣,用戶的按鍵將不作為菜單跳轉所用。同時,為了便於系統的檢測以及運行錯誤的發現。系統將根據面向用戶的IVR菜單分級。在接通電話時無需按鍵命令即開始運行的菜單定義為0級,每次根據按鍵命令向下級菜單跳轉後,將層級加1,當返回上級菜單時,將層級減1。當用戶有新的命令後,按鍵序列就會發生變化,此時系統將清理通道的狀態。根據步驟101所述,在下次掃描通道狀態時會根據當前按鍵序列定位新的運行單元。當通道連接斷開後,通道將重置通道狀態並清空按鍵棧。步驟104、根據系統運行形式,建立一個內容簡單、便於用戶配置的配置文件格式。圖4為本發明的配置文件的形式,在根標籤下必須包含三種子標籤一種標籤表示菜單的層數,一個配置文件中僅能包含一個這樣的標籤;另一種標籤包含所有的菜單,它也是在配置文件中僅能存在一個;另一種其他類型的標籤可以為錯誤處理標籤,用於在系統出現錯誤時給用戶返回的錯誤提示語音。菜單是以線性的形式羅列在配置文件中的,包含系統所必須的信息類標籤,在每個菜單中必須包含四個屬性所在層級,對應按鍵序列,命令按鍵序列,菜單類型。每個表示菜單的標籤項包含了一個按鍵響應的順序,其定位了菜單所處的位置。所在層級並不是為系統識別菜單使用的,而是用於做驗證系統在運行時會維護一個當前菜單所在層級的狀態,它與該菜單中的層級進行匹配以檢測系統是否出現錯誤。上述對應按鍵序列是指在步驟103中所述的按鍵序列,這個按鍵序列唯一的定位了菜單的位置。命令按鍵序列是指該菜單可以響應的按鍵命令,它包括向下級菜單跳轉的序列,返回上級菜單的按鍵命令以及轉人工坐席的按鍵命令。菜單類型是指由於每個菜單的功能各不相同,將菜單劃分為播放提示音、返回查詢信息、留言等多種功能,每種功能的菜單的內部流程有區別,在菜單跳轉後系統會根據配置文件中菜單的類型而調用相應的運行單元。其他屬性包含了根據菜單的不同功能而帶來的不同標籤類別,如,對提示音類型的菜單會包含一個文件名標籤用於指定播放的文件,還可能包含一個文本標籤用於包含要利用TTS系統轉換為聲音文件的文本。圖3為本發明實施例二提供的語音服務系統的結構示意圖,如圖3所示,本實施例的語音服務系統包括語音卡運行模塊21、TTS模塊22、資料庫接口23和語音卡監視模塊24。具體實施中,步驟201、要使系統運行必須首先編輯配置文件,該文件的編輯可以依靠外部的配置模塊,也可以直接編寫。這裡為了更好的描述系統的結構與運行,我們給出一個配置文件的實例30-l歡迎進入農業信息查詢系統,查詢蔬菜類請按1,查詢水果類請按2welcome.wav123||#voicell查詢白菜最新價格請按1,查詢蘿蔔最新價格請按2,為本服務留言請按3menul.wav12|0|#voicel2查詢蘋果最新價格請按1,查詢香蕉最新價格請按2menu2.wav12|0|#voicel3在該提示音結束後開始錄音,3,2,1,開始record_welcome.wavI0I#record2llselectv.pricefromvegetableνwheretype='白菜'I0I#select212selectv.pricefromvegetableνwheretype=『蘿蔔'I0I#select221selectf.pricefromfruitfwheretype='蘋果'I0|#select222selectf.pricefromfruitfwheretype=『蘿蔔'I0|#select系統出現錯誤,請掛機error.wav〈/Error〉〈/Menus〉如上所示的配置文件內容包含三級菜單,可以實施4種產品的價格查詢以及一個留言操作。這裡在根菜單下添加了一個新的標籤Error用於在系統出現錯誤無法播放提示音時返回給用戶一個默認的錯誤提示音error.wav0步驟202、系統運行初始化並將配置文件裝載到系統中,啟動系統。初始化部分包含如下幾個過程1)IVR系統初始化語音卡,調用語音卡提供的系統函數,啟動語音卡。2)建立通道狀態,對每個通道建立相應的狀態序列,包括通道序號、通道類型、通道當前狀態、命令按鍵序列、命令按鍵鎖標誌等。3)裝載配置文件,現在的面向對象程式語言通常包含對XML文件讀取的功能,無需發明人做更多的工作。4)根據裝載好的配置文件建立按鍵序列與菜單的映射關係。5)如圖3所示,系統利用TTS模塊首先生成系統運行過程中固定的語音文件(如提示音),以減少系統運行時的負擔。6)開啟定時器,在一定時間間隔後掃描所有通道,獲取通道狀態,實施狀態切換。步驟203、在有用戶請求時,實時調用其他模塊。系統運行後,接通用戶來電後自動進入頂級菜單並開始播放提示音,「歡迎進入農業信息查詢系統,查詢蔬菜類請按1,查詢水果類請按2,為本服務留言請按3」,在播放過程中,系統實時監控播放狀態,一旦用戶發出按鍵命令,系統將根據用戶按鍵轉跳到其他菜單。如果提示音播放完成後系統仍然未接受任何命令,系統將重複播放提示音。在接到按鍵命令後,系統的按鍵棧將該按鍵入棧,並根據當前按鍵序列轉跳到下一級菜單。如用戶點擊按鍵1,系統記錄當前按鍵序列為1,系統會尋找與該序列匹配的菜單,即進入蔬菜查詢的菜單。在進入蔬菜查詢菜單後,類似的,系統開始運行提示音,此時用戶如果點擊2,系統將記錄當前按鍵序列為12,系統將轉跳到蘿蔔查詢的菜單。由於蘿蔔查詢的菜單類型為select查詢類型,系統會將菜單中的查詢命令發送給資料庫接口,資料庫接口根據命令實施查詢獲取最終文本結果發送給TTS模塊,TTS模塊生成一個臨時文件並在系統中播放該文件給用戶,返回用戶所需要的信息。在系統實施對用戶的服務的同時,系統每次掃描通道狀態後都會返回系統當前的信息,這些信息將傳遞給監控模塊,它是一個面向管理員的界面,管理員可以通過這個界面監控系統當前的狀態,保證系統的正常運行。以上所述僅是本發明的優選實施方式,應當指出,對於本
技術領域:
的普通技術人員來說,在不脫離本發明技術原理的前提下,還可以做出若干改進和變型,這些改進和變型也屬於本發明的保護範圍。權利要求一種IVR流程可配置的語音服務方法,其特徵在於,包括以下步驟S1,將每個IVR流程分解成多個獨立的運行單元,每個運行單元對應一個IVR功能,每個IVR功能對應一個IVR菜單;S2,對相同的IVR功能提取共同特徵建立成一個運行單元,將每個運行單元的各個特徵參數化,當在語音卡運行過程中需要實現一個IVR功能時,調用其對應的運行單元並給予相應的IVR菜單,提供所需的參數以實現該IVR功能;S3,根據每一個IVR流程,建立用戶的按鍵內容與各IVR菜單之間的一一對應的映射關係,當在語音卡運行過程中需要進行各IVR菜單之間的跳轉時,獲取用戶的按鍵內容以及所述映射關係實現跳轉,所述按鍵內容為按鍵序列;S4,根據所述映射關係對用戶可配置的IVR流程配置文件進行編輯,然後將其裝載到IVR系統中,其中,所述IVR流程配置文件包含各IVR菜單的信息。2.如權利要求1所述的IVR流程可配置的語音服務方法,其特徵在於,所述IVR流程配置文件為XML格式。3.如權利要求1或2所述的IVR流程可配置的語音服務方法,其特徵在於,IVR菜單的信息是以線性的形式羅列在配置文件中的,所述IVR流程配置文件包括如下內容根標籤以及在所述根標籤下的三種子標籤第一種標籤表示IVR菜單的層數;第二種標籤包含所有的IVR菜單,每個IVR配置文件包含一個所述第一種標籤,且包含一個所述第二種標籤;第三種標籤為錯誤處理標籤,是在IVR出現錯誤時給用戶返回的錯誤提示語音。4.如權利要求1或2所述的IVR流程可配置的語音服務方法,其特徵在於,所述IVR菜單的信息還包含以下三個屬性方面的信息菜單對應的按鍵序列、命令按鍵序列以及菜單類型,所述命令按鍵序列是IVR菜單可以響應的按鍵命令,所述按鍵序列定位了IVR菜單的位置。5.一種IVR流程可配置的語音服務系統,其特徵在於,包括TTS模塊,用於根據所述語音卡運行模塊發送的請求將對應的文本內容轉換為聲音文件;以及語音卡運行模塊,用於在初始化語音卡後,讀取IVR流程配置文件,根據所讀取的IVR流程配置文件建立相應的IVR流程。6.如權利要求5所述的IVR流程可配置的語音服務系統,其特徵在於,所述TTS模塊上配置有用於與資料庫連接的資料庫接口,所述TTS模塊通過所述資料庫接口從資料庫獲取文本內容。7.如權利要求5或6所述的IVR流程可配置的語音服務系統,其特徵在於,還包括語音卡監視模塊,用於實時地從所述語音卡運行模塊獲取語音卡的狀態信息。全文摘要本發明公開了一種IVR流程可配置的語音服務方法及系統。該方法包括步驟將每個IVR流程分解成多個運行單元,每個運行單元對應一功能,每個功能對應一菜單;對相同的功能提取共同特徵建立成一個運行單元,將每個運行單元的各個特徵參數化,當在語音卡運行過程中需要實現一個功能時,調用其對應的運行單元中的所有參數實現該功能;根據每一流程,建立按鍵內容與各菜單之間的映射關係,當語音卡運行時需要進行各菜單之間的跳轉時,獲取按鍵內容及映射關係實現跳轉;根據映射關係對用戶可配置的配置文件進行編輯,然後將其裝載到IVR系統中。本發明將語音服務系統所需要的IVR控制機制與IVR的流程分離,使得用戶可以自由的定製IVR流程,對IVR流程進行控制。文檔編號H04M3/51GK101834953SQ20101014429公開日2010年9月15日申請日期2010年4月8日優先權日2010年4月8日發明者張樹亮,徐山川,易景平,李楨,歐文浩,高萬林申請人:中國農業大學