互動式語音應(yīng)答ivr可視化流程的開發(fā)系統(tǒng)及方法
【專利摘要】本發(fā)明公開了一種IVR可視化流程的開發(fā)系統(tǒng)及方法,其中該系統(tǒng)包括:語音應(yīng)用平臺IAVP;畫圖模塊,用于對流程圖進(jìn)行繪制,其中流程圖包括多個功能節(jié)點(diǎn),每個功能節(jié)點(diǎn)具有各自的類型;以及流程引擎模塊,用于解析流程圖,并根據(jù)流程圖中的多個功能節(jié)點(diǎn)與IAVP進(jìn)行交互以執(zhí)行多個功能節(jié)點(diǎn),并對多個功能節(jié)點(diǎn)中的交互節(jié)點(diǎn)進(jìn)行封裝并反饋對應(yīng)的VXML信息。本發(fā)明實(shí)施例的系統(tǒng)通過畫圖模塊繪制流程圖以實(shí)現(xiàn)圖形化編輯的功能,并通過流程圖中的功能節(jié)點(diǎn)來支持自定義功能包和多層嵌套的解析,從而可得到主流程和子流程,在整個開發(fā)過程中,開發(fā)人員只需根據(jù)VUI圖形即可繪制出相應(yīng)的流程圖,無需進(jìn)行代碼編寫的操作,減少了開發(fā)工作量。
【專利說明】互動式語音應(yīng)答IVR可視化流程的開發(fā)系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及語音識別【技術(shù)領(lǐng)域】,尤其涉及一種IVR(Interactive VoiceResponse,互動式語音應(yīng)答)可視化流程的開發(fā)系統(tǒng)及方法。
【背景技術(shù)】
[0002]目前,IVR 流程主要通過硬編碼寫 VXML(Voice extensible Markup Language,被用來創(chuàng)建語音對話系統(tǒng),可以調(diào)用語音合成以及語音識別服務(wù),可以用來記錄語音錄入和連接電話系統(tǒng))來實(shí)現(xiàn),即需要開發(fā)人員根據(jù)VUI(—種通過Vis1畫的流程圖)進(jìn)行VXML的手動編寫,但是這樣會使得整個過程變得操作復(fù)雜,且容易導(dǎo)致錯誤,不直觀,耗費(fèi)大量的工作量,并且行業(yè)內(nèi)可視化圖形界面生成的主要為主干流程或者直接腳本,實(shí)現(xiàn)上不易控制。
【發(fā)明內(nèi)容】
[0003]本發(fā)明的目的旨在至少在一定程度上解決上述的技術(shù)問題之一。
[0004]為此,本發(fā)明的第一個目的在于提出一種互動式語音應(yīng)答IVR可視化流程的開發(fā)系統(tǒng)。該系統(tǒng)使得開發(fā)人員在整個開發(fā)過程中,只需根據(jù)VUI圖形即可繪制出相應(yīng)的流程圖,無需進(jìn)行代碼編寫的操作,大大減少了開發(fā)工作量。
[0005]本發(fā)明的第二個目的在于提出一種互動式語音應(yīng)答IVR可視化流程的開發(fā)方法。
[0006]為了實(shí)現(xiàn)上述目的,本發(fā)明第一方面實(shí)施例的互動式語音應(yīng)答IVR可視化流程的開發(fā)系統(tǒng),包括:語音應(yīng)用平臺IAVP ;畫圖模塊,用于對流程圖進(jìn)行繪制,其中,所述流程圖包括多個功能節(jié)點(diǎn),每個功能節(jié)點(diǎn)具有各自的類型;以及流程引擎模塊,用于解析所述流程圖,并根據(jù)所述流程圖中的多個功能節(jié)點(diǎn)與所述IAVP進(jìn)行交互以執(zhí)行所述多個功能節(jié)點(diǎn),并對所述多個功能節(jié)點(diǎn)中的交互節(jié)點(diǎn)進(jìn)行封裝并反饋對應(yīng)的VXML信息。
[0007]根據(jù)本發(fā)明實(shí)施例的互動式語音應(yīng)答IVR可視化流程的開發(fā)系統(tǒng),可通過畫圖模塊對流程圖進(jìn)行繪制,流程引擎模塊解析流程圖,并根據(jù)流程圖中的多個功能節(jié)點(diǎn)與IAVP進(jìn)行交互以執(zhí)行多個功能節(jié)點(diǎn),并對多個功能節(jié)點(diǎn)中的交互節(jié)點(diǎn)進(jìn)行封裝并反饋對應(yīng)的VXML信息,從而達(dá)到和用戶進(jìn)行交互的效果,通過畫圖模塊繪制流程圖以實(shí)現(xiàn)圖形化編輯的功能,并通過流程圖中的功能節(jié)點(diǎn)來支持自定義功能包和多層嵌套的解析,從而可得到主流程和子流程,在整個開發(fā)過程中,開發(fā)人員只需根據(jù)VUI圖形即可繪制出相應(yīng)的流程圖,無需進(jìn)行代碼編寫的操作,大大減少了開發(fā)工作量。
[0008]為了實(shí)現(xiàn)上述目的,本發(fā)明第二方面實(shí)施例的互動式語音應(yīng)答IVR可視化流程的開發(fā)方法,包括:畫圖模塊對流程圖進(jìn)行繪制,其中,所述流程圖包括多個功能節(jié)點(diǎn),每個功能節(jié)點(diǎn)具有各自的類型;流程引擎模塊解析所述流程圖,并根據(jù)所述流程圖中的多個功能節(jié)點(diǎn)與語音應(yīng)用平臺IAVP進(jìn)行交互以執(zhí)行所述多個功能節(jié)點(diǎn),并對所述多個功能節(jié)點(diǎn)中的交互節(jié)點(diǎn)進(jìn)行封裝并反饋對應(yīng)的VXML信息。
[0009]根據(jù)本發(fā)明實(shí)施例的互動式語音應(yīng)答IVR可視化流程的開發(fā)方法,可通過畫圖模塊對流程圖進(jìn)行繪制,流程引擎模塊解析流程圖,并根據(jù)流程圖中的多個功能節(jié)點(diǎn)與IAVP進(jìn)行交互以執(zhí)行多個功能節(jié)點(diǎn),并對多個功能節(jié)點(diǎn)中的交互節(jié)點(diǎn)進(jìn)行封裝并反饋對應(yīng)的VXML信息,從而達(dá)到和用戶進(jìn)行交互的效果,通過畫圖模塊繪制流程圖以實(shí)現(xiàn)圖形化編輯的功能,并通過流程圖中的功能節(jié)點(diǎn)來支持自定義功能包和多層嵌套的解析,從而可得到主流程和子流程,在整個開發(fā)過程中,開發(fā)人員只需根據(jù)VUI圖形即可繪制出相應(yīng)的流程圖,無需進(jìn)行代碼編寫的操作,大大減少了開發(fā)工作量。
[0010]本發(fā)明附加的方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。
【專利附圖】
【附圖說明】
[0011]本發(fā)明上述的和/或附加的方面和優(yōu)點(diǎn)從下面結(jié)合附圖對實(shí)施例的描述中將變得明顯和容易理解,其中,
[0012]圖1是根據(jù)本發(fā)明一個實(shí)施例的互動式語音應(yīng)答IVR可視化流程的開發(fā)系統(tǒng)的結(jié)構(gòu)示意圖;
[0013]圖2(a)是根據(jù)本發(fā)明一個實(shí)施例的通過畫圖模塊繪制的流程圖的示例圖;
[0014]圖2(b)是針對圖2(a)中流程圖的執(zhí)行邏輯的示例圖;
[0015]圖3是根據(jù)本發(fā)明一個實(shí)施例的流程引擎模塊解析流程圖中功能節(jié)點(diǎn)時的執(zhí)行邏輯的示例圖;
[0016]圖4是根據(jù)本發(fā)明另一個實(shí)施例的互動式語音應(yīng)答IVR可視化流程的開發(fā)系統(tǒng)的結(jié)構(gòu)示意圖;
[0017]圖5是根據(jù)本發(fā)明一個實(shí)施例的流程引擎模塊解析任務(wù)節(jié)點(diǎn)時的執(zhí)行邏輯的示例圖;以及
[0018]圖6是根據(jù)本發(fā)明一個實(shí)施例的互動式語音應(yīng)答IVR可視化流程的開發(fā)方法的流程圖。
【具體實(shí)施方式】
[0019]下面詳細(xì)描述本發(fā)明的實(shí)施例,所述實(shí)施例的示例在附圖中示出,其中自始至終相同或類似的標(biāo)號表示相同或類似的元件或具有相同或類似功能的元件。下面通過參考附圖描述的實(shí)施例是示例性的,旨在用于解釋本發(fā)明,而不能理解為對本發(fā)明的限制。
[0020]為了解決目前主要通過硬編碼寫VXML來實(shí)現(xiàn)IVR流程,導(dǎo)致過程操作復(fù)雜、且容易導(dǎo)致錯誤、不直觀、耗費(fèi)大量的工作量等的問題,本發(fā)明提出了一種IVR可視化流程的開發(fā)系統(tǒng)及方法。具體地,下面參考附圖描述本發(fā)明實(shí)施例的互動式語音應(yīng)答IVR可視化流程的開發(fā)系統(tǒng)及方法。
[0021]需要說明的是,由于VUI的格式相對固定,條理基本上比較清晰,因此可以直接通過特殊的VUI來自動生成VXML,這個特殊的VUI即為可視化的流程。
[0022]圖1是根據(jù)本發(fā)明一個實(shí)施例的互動式語音應(yīng)答IVR可視化流程的開發(fā)系統(tǒng)的結(jié)構(gòu)示意圖。如圖1所示,該互動式語音應(yīng)答IVR可視化流程的開發(fā)系統(tǒng)可以包括:語音應(yīng)用平臺IAVP(是基于Voice XML并集成了語音識別和語音識別大型自動語音基礎(chǔ)平臺)10、畫圖模塊20和流程引擎模塊30。需要說明的是,用戶可通過語音應(yīng)用平臺IAVPlO實(shí)現(xiàn)與互動式語音應(yīng)答IVR系統(tǒng)進(jìn)行交互。
[0023]具體地,畫圖模塊20可用于對流程圖進(jìn)行繪制,其中,流程圖包括多個功能節(jié)點(diǎn),每個功能節(jié)點(diǎn)具有各自的類型。更具體地,畫圖模塊20可提供繪制頁面,用戶可通過畫圖模塊20在該頁面上進(jìn)行繪制圖形,并配置屬性以形成流程圖。其中,在本發(fā)明的實(shí)施例中,上述類型可包括交互節(jié)點(diǎn)類型和任務(wù)節(jié)點(diǎn)類型等。
[0024]流程引擎模塊30可用于解析流程圖,并根據(jù)流程圖中的多個功能節(jié)點(diǎn)與IAVPlO進(jìn)行交互以執(zhí)行多個功能節(jié)點(diǎn),并對多個功能節(jié)點(diǎn)中的交互節(jié)點(diǎn)進(jìn)行封裝并反饋對應(yīng)的VXML信息。其中,在本發(fā)明的一個實(shí)施例中,功能節(jié)點(diǎn)可包括開始節(jié)點(diǎn)、任務(wù)節(jié)點(diǎn)、子模塊節(jié)點(diǎn)、會議室節(jié)點(diǎn)、按鍵節(jié)點(diǎn)、按鍵式串播節(jié)點(diǎn)、錄音節(jié)點(diǎn)、提示音節(jié)點(diǎn)、語音云節(jié)點(diǎn)、mi domi (哼唱)節(jié)點(diǎn)、轉(zhuǎn)接節(jié)點(diǎn)、submi t (提交按鈕)節(jié)點(diǎn)、掛機(jī)節(jié)點(diǎn)、返回節(jié)點(diǎn)、變量節(jié)點(diǎn)和箭頭節(jié)點(diǎn)等中的一種或多種。
[0025]更具體地,流程引擎模塊30可對流程圖進(jìn)行解析,以解析成系統(tǒng)方便識別的數(shù)據(jù)庫字段,并將圖形轉(zhuǎn)化成數(shù)據(jù)庫中的“圖”、“功能節(jié)點(diǎn)”、“線”的信息,之后可根據(jù)用戶針對IAVPlO的狀態(tài)及響應(yīng),結(jié)合加載的流程圖中的多個功能節(jié)點(diǎn)進(jìn)行交互,以執(zhí)行流程圖中的所有功能節(jié)點(diǎn),并對這些功能節(jié)點(diǎn)中的交互節(jié)點(diǎn)進(jìn)行封裝并反饋對應(yīng)的VXML信息,從而達(dá)到與用戶進(jìn)行交互的效果。
[0026]舉例而言,圖2(a)是根據(jù)本發(fā)明一個實(shí)施例的通過畫圖模塊20繪制的流程圖的示例圖,圖2(b)是針對圖2(a)中流程圖的執(zhí)行邏輯的示例圖,如圖2(a)和圖2(b)所示,首先,流程引擎模塊30可從IAVPlO獲取到用戶的狀態(tài)或響應(yīng),根據(jù)用戶的狀態(tài)或響應(yīng)選擇并解析對應(yīng)的流程圖,之后,可獲取該流程圖的開始節(jié)點(diǎn),即根據(jù)用戶的狀態(tài)或響應(yīng)找到從哪里開始執(zhí)行該流程,可以理解,該開始節(jié)點(diǎn)即為進(jìn)入流程的開始入口,例如如圖2(a)中的“開始”節(jié)點(diǎn)即為該流程的開始入口節(jié)點(diǎn),當(dāng)找到該流程圖的開始節(jié)點(diǎn)(即“開始”功能節(jié)點(diǎn))時,可判斷該功能節(jié)點(diǎn)的類型,當(dāng)判斷該功能節(jié)點(diǎn)為任務(wù)節(jié)點(diǎn)時,可執(zhí)行該“開始”功能節(jié)點(diǎn),并在執(zhí)行完該“開始”任務(wù)節(jié)點(diǎn)之后,遍歷該“開始”節(jié)點(diǎn)路徑,并在判斷該“開始”節(jié)點(diǎn)路徑滿足條件(節(jié)點(diǎn)路徑滿足條件可理解為滿足如圖2(a)中“開始”與“提示音”之間的連接上的條件)時,獲取該路徑的目標(biāo)節(jié)點(diǎn)(如圖2(a)中的“提示音”),并繼續(xù)判斷該目標(biāo)節(jié)點(diǎn)的類型,以及根據(jù)該目標(biāo)節(jié)點(diǎn)的類型執(zhí)行對應(yīng)的操作,直至該流程圖中的所有任務(wù)節(jié)點(diǎn)都執(zhí)行完任務(wù),或者判斷功能節(jié)點(diǎn)的類型為交互節(jié)點(diǎn)類型時,對該交互節(jié)點(diǎn)進(jìn)行封裝參數(shù)并返回對應(yīng)的VXML信息,從而系統(tǒng)根據(jù)該VXML信息實(shí)現(xiàn)與用戶的交互。
[0027]進(jìn)一步的,在本發(fā)明的實(shí)施例中,流程引擎模塊30可從開始功能節(jié)點(diǎn)進(jìn)行遍歷,直至遍歷后的開始功能節(jié)點(diǎn)的節(jié)點(diǎn)路徑上的功能節(jié)點(diǎn)滿足預(yù)設(shè)條件,并對節(jié)點(diǎn)路徑上的交互節(jié)點(diǎn)進(jìn)行封裝并反饋對應(yīng)的VXML信息。其中,在本發(fā)明的實(shí)施例中,功能節(jié)點(diǎn)可具有變量,變量可為全局變量??梢岳斫猓诒景l(fā)明的實(shí)施例中,每個功能節(jié)點(diǎn)所產(chǎn)生的變量均可以被其他功能節(jié)點(diǎn)使用,并支持一些全局變量的引用,例如:主叫號、被叫號、省份、地市等都可以作為全局變量。
[0028]舉例而言,圖3是根據(jù)本發(fā)明一個實(shí)施例的流程引擎模塊30解析流程圖中功能節(jié)點(diǎn)時的執(zhí)行邏輯的示例圖,如圖3所示,流程引擎模塊30可從開始功能節(jié)點(diǎn)進(jìn)行遍歷,獲取當(dāng)前節(jié)點(diǎn),當(dāng)用戶通過IAVPlO進(jìn)行用戶輸入時,可記錄用戶的輸入,根據(jù)用戶的輸入判斷當(dāng)前是否要跳出該當(dāng)前節(jié)點(diǎn),如果否,則封裝參數(shù)并返回VXML信息;如果是,則跳出該當(dāng)前節(jié)點(diǎn)并遍歷該當(dāng)前節(jié)點(diǎn)的節(jié)點(diǎn)路徑,當(dāng)判斷該節(jié)點(diǎn)路徑滿足路徑上的條件時,可獲取該節(jié)點(diǎn)路徑上的目標(biāo)節(jié)點(diǎn)(即滿足路徑條件所指向的下一個節(jié)點(diǎn)),之后可判斷該目標(biāo)節(jié)點(diǎn)的類型,當(dāng)判斷該目標(biāo)節(jié)點(diǎn)為交互節(jié)點(diǎn)類型時,可封裝對應(yīng)的參數(shù)并返回VXML信息;當(dāng)判斷該目標(biāo)節(jié)點(diǎn)為任務(wù)節(jié)點(diǎn)類型時,可執(zhí)行對應(yīng)的任務(wù)直至判斷目標(biāo)節(jié)點(diǎn)為交互節(jié)點(diǎn)為止,最后將對應(yīng)的參數(shù)進(jìn)行封裝并返回VXML信息。由此,可完成流程圖中的所有節(jié)點(diǎn)的解析。
[0029]進(jìn)一步的,在本發(fā)明的一個實(shí)施例中,如圖4所示,該互動式語音應(yīng)答IVR可視化流程的開發(fā)系統(tǒng)還可包括功能包管理模塊40。功能包管理模塊40可用于接收新注入的功能包,并解析功能包中被選擇的方法所需要傳入的參數(shù),以及將參數(shù)返回至流程圖以供其他功能節(jié)點(diǎn)使用。
[0030]需要說明的是,在本發(fā)明的實(shí)施例中,由于流程圖支持功能包的注入,因此,在畫圖模塊20繪制流程圖時,編輯任務(wù)節(jié)點(diǎn)時會掃描功能包的所有方法,選中方法后,解析該方法需要傳入的參數(shù),該參數(shù)可以是變量(其來源:可以是其他節(jié)點(diǎn)產(chǎn)生的;還可以是全局變量;又可以是從上個流程圖傳進(jìn)來的),也可以是任意常量,傳入對應(yīng)的入?yún)?,并將返回的參?shù)返回到本流程圖,供其他節(jié)點(diǎn)使用。流程引擎模塊30在解析該任務(wù)節(jié)點(diǎn)時,可根據(jù)方法名到功能包中找到對應(yīng)的方法執(zhí)行,并返回相應(yīng)的結(jié)果,以及將該結(jié)果返回至流程圖以供其他功能節(jié)點(diǎn)使用。應(yīng)當(dāng)理解,該功能包可以是自定義的功能包,也可以是系統(tǒng)預(yù)先設(shè)定的功能包。由此,擴(kuò)大了系統(tǒng)的實(shí)現(xiàn)功能。
[0031]舉例而言,圖5是根據(jù)本發(fā)明一個實(shí)施例的流程引擎模塊30解析任務(wù)節(jié)點(diǎn)時的執(zhí)行邏輯的示例圖,如圖5所示,流程引擎模塊30可先根據(jù)方法名到功能包中找到對應(yīng)的方法,獲取該方法的入?yún)?即所需要傳入的參數(shù)),之后可遍歷該方法的入?yún)⒚枋?,首先,可從?dāng)前節(jié)點(diǎn)的參數(shù)中獲取該入?yún)?,之后可判斷該參?shù)是否為變量,當(dāng)參數(shù)為變量時,先從變量管理器中獲取該變量的值,當(dāng)該參數(shù)不是變量(即為常量)時,可將該參數(shù)值放入入?yún)⒈碇?,直到遍歷完該方法中的所有入?yún)⒚枋?,即此時獲取到該方法的所有入?yún)?,之后可根?jù)得到的入?yún)⒄{(diào)用該方法的invoke方法,并通過遍歷出參描述以獲取當(dāng)前節(jié)點(diǎn)的出參(即方法執(zhí)行后返回的結(jié)果),最后將出參的值放入到變量池中以供其他功能節(jié)點(diǎn)使用。
[0032]需要說明的是,在本發(fā)明的實(shí)施例中,由于流程圖可支持多層嵌套,因此,在畫圖模塊20繪制流程圖時,可以根據(jù)功能模塊劃分多個流程圖,增強(qiáng)流程圖的可讀性和可維護(hù)性。流程圖之間可以通過功能節(jié)點(diǎn)中的子模塊節(jié)點(diǎn)任意跳轉(zhuǎn),對于一些公共模塊的功能,可以單獨(dú)繪制一個流程圖,以供其他流程跳轉(zhuǎn),從而可達(dá)到極高的復(fù)用率。
[0033]還需要說明的是,在本發(fā)明的實(shí)施例中,每個功能節(jié)點(diǎn)均具有各自的功能,上面已經(jīng)分別介紹了功能節(jié)點(diǎn)中的任務(wù)節(jié)點(diǎn)和子模塊節(jié)點(diǎn)的功能,下面將分別簡單介紹下其他功能節(jié)點(diǎn)的功能。具體地,會議室節(jié)點(diǎn):此功能節(jié)點(diǎn)可支持多個人一起聊天;按鍵節(jié)點(diǎn):接收用戶按鍵;按鍵式串播節(jié)點(diǎn):接受用戶按鍵并串播資源;錄音節(jié)點(diǎn):接收用戶錄音;提示音節(jié)點(diǎn):播放音頻文件;語音云節(jié)點(diǎn):接收用戶語音,返回識別結(jié)果;哼唱節(jié)點(diǎn):哼唱識別就是用戶通過輸入哼唱語音來搜索歌曲名,可以指定在一種或多種語言范圍內(nèi)進(jìn)行搜索,以提高識別準(zhǔn)確率;轉(zhuǎn)接節(jié)點(diǎn):將用戶的電話轉(zhuǎn)接到另一個電話上,可以是外線或者是內(nèi)線坐席,可以指定等待振鈴時間和轉(zhuǎn)接的方式;submit節(jié)點(diǎn):指定一個URL跳轉(zhuǎn);掛機(jī)節(jié)點(diǎn):掛機(jī);返回節(jié)點(diǎn):返回到上一層;變量節(jié)點(diǎn):使用該節(jié)點(diǎn)可以對流程圖的變量進(jìn)行重新賦值;箭頭節(jié)點(diǎn):用于連接兩個節(jié)點(diǎn)的,決定流程的走向。箭頭上支持配置條件,例如:字符串比較、數(shù)字比較、是否為true、是否為false ;還支持and和or配置等。
[0034]根據(jù)本發(fā)明實(shí)施例的互動式語音應(yīng)答IVR可視化流程的開發(fā)系統(tǒng),可通過畫圖模塊對流程圖進(jìn)行繪制,流程引擎模塊解析流程圖,并根據(jù)流程圖中的多個功能節(jié)點(diǎn)與IAVP進(jìn)行交互以執(zhí)行多個功能節(jié)點(diǎn),并對多個功能節(jié)點(diǎn)中的交互節(jié)點(diǎn)進(jìn)行封裝并反饋對應(yīng)的VXML信息,從而達(dá)到和用戶進(jìn)行交互的效果,通過畫圖模塊繪制流程圖以實(shí)現(xiàn)圖形化編輯的功能,并通過流程圖中的功能節(jié)點(diǎn)來支持自定義功能包和多層嵌套的解析,從而可得到主流程和子流程,在整個開發(fā)過程中,開發(fā)人員只需根據(jù)VUI圖形即可繪制出相應(yīng)的流程圖,無需進(jìn)行代碼編寫的操作,大大減少了開發(fā)工作量。
[0035]為了實(shí)現(xiàn)上述實(shí)施例,本發(fā)明提出了一種互動式語音應(yīng)答IVR可視化流程的開發(fā)方法。
[0036]圖6是根據(jù)本發(fā)明一個實(shí)施例的互動式語音應(yīng)答IVR可視化流程的開發(fā)方法的流程圖。需要說明的是,本發(fā)明實(shí)施例的IVR可視化流程的開發(fā)方法可應(yīng)用于IVR可視化流程的開發(fā)系統(tǒng)中,用戶可通過IVR可視化流程的開發(fā)系統(tǒng)中的IAVP實(shí)現(xiàn)與IVR系統(tǒng)進(jìn)行交互。其中,IVR可視化流程的開發(fā)系統(tǒng)還可包括畫圖模塊、流程引擎模塊和功能包管理模塊。
[0037]如圖6所示,該互動式語音應(yīng)答IVR可視化流程的開發(fā)方法可以包括:
[0038]S601,畫圖模塊對流程圖進(jìn)行繪制,其中,流程圖包括多個功能節(jié)點(diǎn),每個功能節(jié)點(diǎn)具有各自的類型。
[0039]具體地,畫圖模塊可提供繪制頁面,用戶可通過畫圖模塊在該頁面上進(jìn)行繪制圖形,并配置屬性以形成流程圖。其中,在本發(fā)明的實(shí)施例中,上述類型可包括交互節(jié)點(diǎn)類型和任務(wù)節(jié)點(diǎn)類型等。
[0040]S602,流程引擎模塊解析流程圖,并根據(jù)流程圖中的多個功能節(jié)點(diǎn)與語音應(yīng)用平臺IAVP進(jìn)行交互以執(zhí)行多個功能節(jié)點(diǎn),并對多個功能節(jié)點(diǎn)中的交互節(jié)點(diǎn)進(jìn)行封裝并反饋對應(yīng)的VXML信息。
[0041]其中,在本發(fā)明的一個實(shí)施例中,功能節(jié)點(diǎn)可包括開始節(jié)點(diǎn)、任務(wù)節(jié)點(diǎn)、子模塊節(jié)點(diǎn)、會議室節(jié)點(diǎn)、按鍵節(jié)點(diǎn)、按鍵式串播節(jié)點(diǎn)、錄音節(jié)點(diǎn)、提示音節(jié)點(diǎn)、語音云節(jié)點(diǎn)、mi domi (哼唱)節(jié)點(diǎn)、轉(zhuǎn)接節(jié)點(diǎn)、submi t (提交按鈕)節(jié)點(diǎn)、掛機(jī)節(jié)點(diǎn)、返回節(jié)點(diǎn)、變量節(jié)點(diǎn)和箭頭節(jié)點(diǎn)等中的一種或多種。
[0042]具體地,流程引擎模塊可對流程圖進(jìn)行解析,以解析成系統(tǒng)方便識別的數(shù)據(jù)庫字段,并將圖形轉(zhuǎn)化成數(shù)據(jù)庫中的“圖”、“功能節(jié)點(diǎn)”、“線”的信息,之后可根據(jù)用戶針對IAVP的狀態(tài)及響應(yīng),結(jié)合加載的流程圖中的多個功能節(jié)點(diǎn)進(jìn)行交互,以執(zhí)行流程圖中的所有功能節(jié)點(diǎn),并對這些功能節(jié)點(diǎn)中的交互節(jié)點(diǎn)進(jìn)行封裝并反饋對應(yīng)的VXML信息,從而達(dá)到與用戶進(jìn)行交互的效果。具體的實(shí)現(xiàn)過程可參照上述IVR可視化流程的開發(fā)系統(tǒng)中的描述,在此不再贅述。
[0043]具體而言,在本發(fā)明的實(shí)施例中,流程弓I擎模塊可先從開始功能節(jié)點(diǎn)進(jìn)行遍歷,直至遍歷后的開始功能節(jié)點(diǎn)的節(jié)點(diǎn)路徑上的功能節(jié)點(diǎn)滿足預(yù)設(shè)條件,之后可對節(jié)點(diǎn)路徑上的交互節(jié)點(diǎn)進(jìn)行封裝并反饋對應(yīng)的VXML信息。其中,在本發(fā)明的實(shí)施例中,功能節(jié)點(diǎn)可具有變量,變量可為全局變量??梢岳斫?,在本發(fā)明的實(shí)施例中,每個功能節(jié)點(diǎn)所產(chǎn)生的變量均可以被其他功能節(jié)點(diǎn)使用,并支持一些全局變量的引用,例如:主叫號、被叫號、省份、地市等都可以作為全局變量。
[0044]舉例而言,圖3是根據(jù)本發(fā)明一個實(shí)施例的流程引擎模塊解析流程圖中功能節(jié)點(diǎn)時的執(zhí)行邏輯的示例圖,如圖3所示,流程引擎模塊可從開始功能節(jié)點(diǎn)進(jìn)行遍歷,獲取當(dāng)前節(jié)點(diǎn),當(dāng)用戶通過IAVP進(jìn)行用戶輸入時,可記錄用戶的輸入,根據(jù)用戶的輸入判斷當(dāng)前是否要跳出該當(dāng)前節(jié)點(diǎn),如果否,則封裝參數(shù)并返回VXML信息;如果是,則跳出該當(dāng)前節(jié)點(diǎn)并遍歷該當(dāng)前節(jié)點(diǎn)的節(jié)點(diǎn)路徑,當(dāng)判斷該節(jié)點(diǎn)路徑滿足路徑上的條件時,可獲取該節(jié)點(diǎn)路徑上的目標(biāo)節(jié)點(diǎn)(即滿足路徑條件所指向的下一個節(jié)點(diǎn)),之后可判斷該目標(biāo)節(jié)點(diǎn)的類型,當(dāng)判斷該目標(biāo)節(jié)點(diǎn)為交互節(jié)點(diǎn)類型時,可封裝對應(yīng)的參數(shù)并返回VXML信息;當(dāng)判斷該目標(biāo)節(jié)點(diǎn)為任務(wù)節(jié)點(diǎn)類型時,可執(zhí)行對應(yīng)的任務(wù)直至判斷目標(biāo)節(jié)點(diǎn)為交互節(jié)點(diǎn)為止,最后將對應(yīng)的參數(shù)進(jìn)行封裝并返回VXML信息。由此,可完成流程圖中的所有節(jié)點(diǎn)的解析。
[0045]進(jìn)一步的,在本發(fā)明的一個實(shí)施例中,該互動式語音應(yīng)答IVR可視化流程的開發(fā)方法還可包括:功能包管理模塊接收新注入的功能包,并解析功能包中被選擇的方法所需要傳入的參數(shù);以及功能包管理模塊將參數(shù)返回至流程圖以供其他功能節(jié)點(diǎn)使用。
[0046]需要說明的是,在本發(fā)明的實(shí)施例中,由于流程圖支持功能包的注入,因此,在畫圖模塊繪制流程圖時,編輯任務(wù)節(jié)點(diǎn)時會掃描功能包的所有方法,選中方法后,解析該方法需要傳入的參數(shù),該參數(shù)可以是變量(其來源:可以是其他節(jié)點(diǎn)產(chǎn)生的;還可以是全局變量;又可以是從上個流程圖傳進(jìn)來的),也可以是任意常量,傳入對應(yīng)的入?yún)?,并將返回的參?shù)返回到本流程圖,供其他節(jié)點(diǎn)使用。流程引擎模塊在解析該任務(wù)節(jié)點(diǎn)時,可根據(jù)方法名到功能包中找到對應(yīng)的方法執(zhí)行,并返回相應(yīng)的結(jié)果,以及將該結(jié)果返回至流程圖以供其他功能節(jié)點(diǎn)使用。應(yīng)當(dāng)理解,該功能包可以是自定義的功能包,也可以是系統(tǒng)預(yù)先設(shè)定的功能包。由此,擴(kuò)大了系統(tǒng)的實(shí)現(xiàn)功能。
[0047]舉例而言,圖5是根據(jù)本發(fā)明一個實(shí)施例的流程引擎模塊解析任務(wù)節(jié)點(diǎn)時的執(zhí)行邏輯的示例圖,如圖5所示,流程引擎模塊可先根據(jù)方法名到功能包中找到對應(yīng)的方法,獲取該方法的入?yún)?即所需要傳入的參數(shù)),之后可遍歷該方法的入?yún)⒚枋觯紫?,可從?dāng)前節(jié)點(diǎn)的參數(shù)中獲取該入?yún)?,之后可判斷該參?shù)是否為變量,當(dāng)參數(shù)為變量時,先從變量管理器中獲取該變量的值,當(dāng)該參數(shù)不是變量(即為常量)時,可將該參數(shù)值放入入?yún)⒈碇?,直到遍歷完該方法中的所有入?yún)⒚枋?,即此時獲取到該方法的所有入?yún)ⅲ罂筛鶕?jù)得到的入?yún)⒄{(diào)用該方法的invoke方法,并通過遍歷出參描述以獲取當(dāng)前節(jié)點(diǎn)的出參(即方法執(zhí)行后返回的結(jié)果),最后將出參的值放入到變量池中以供其他功能節(jié)點(diǎn)使用。
[0048]需要說明的是,在本發(fā)明的實(shí)施例中,由于流程圖可支持多層嵌套,因此,在畫圖模塊繪制流程圖時,可以根據(jù)功能模塊劃分多個流程圖,增強(qiáng)流程圖的可讀性和可維護(hù)性。流程圖之間可以通過功能節(jié)點(diǎn)中的子模塊節(jié)點(diǎn)任意跳轉(zhuǎn),對于一些公共模塊的功能,可以單獨(dú)繪制一個流程圖,以供其他流程跳轉(zhuǎn),從而可達(dá)到極高的復(fù)用率。
[0049]還需要說明的是,在本發(fā)明的實(shí)施例中,每個功能節(jié)點(diǎn)均具有各自的功能,上面已經(jīng)分別介紹了功能節(jié)點(diǎn)中的任務(wù)節(jié)點(diǎn)和子模塊節(jié)點(diǎn)的功能,下面將分別簡單介紹下其他功能節(jié)點(diǎn)的功能。具體地,會議室節(jié)點(diǎn):此功能節(jié)點(diǎn)可支持多個人一起聊天;按鍵節(jié)點(diǎn):接收用戶按鍵;按鍵式串播節(jié)點(diǎn):接受用戶按鍵并串播資源;錄音節(jié)點(diǎn):接收用戶錄音;提示音節(jié)點(diǎn):播放音頻文件;語音云節(jié)點(diǎn):接收用戶語音,返回識別結(jié)果;哼唱節(jié)點(diǎn):哼唱識別就是用戶通過輸入哼唱語音來搜索歌曲名,可以指定在一種或多種語言范圍內(nèi)進(jìn)行搜索,以提高識別準(zhǔn)確率;轉(zhuǎn)接節(jié)點(diǎn):將用戶的電話轉(zhuǎn)接到另一個電話上,可以是外線或者是內(nèi)線坐席,可以指定等待振鈴時間和轉(zhuǎn)接的方式;submit節(jié)點(diǎn):指定一個URL跳轉(zhuǎn);掛機(jī)節(jié)點(diǎn):掛機(jī);返回節(jié)點(diǎn):返回到上一層;變量節(jié)點(diǎn):使用該節(jié)點(diǎn)可以對流程圖的變量進(jìn)行重新賦值;箭頭節(jié)點(diǎn):用于連接兩個節(jié)點(diǎn)的,決定流程的走向。箭頭上支持配置條件,例如:字符串比較、數(shù)字比較、是否為true、是否為false ;還支持and和or配置等。
[0050]根據(jù)本發(fā)明實(shí)施例的互動式語音應(yīng)答IVR可視化流程的開發(fā)方法,可通過畫圖模塊對流程圖進(jìn)行繪制,流程引擎模塊解析流程圖,并根據(jù)流程圖中的多個功能節(jié)點(diǎn)與IAVP進(jìn)行交互以執(zhí)行多個功能節(jié)點(diǎn),并對多個功能節(jié)點(diǎn)中的交互節(jié)點(diǎn)進(jìn)行封裝并反饋對應(yīng)的VXML信息,從而達(dá)到和用戶進(jìn)行交互的效果,通過畫圖模塊繪制流程圖以實(shí)現(xiàn)圖形化編輯的功能,并通過流程圖中的功能節(jié)點(diǎn)來支持自定義功能包和多層嵌套的解析,從而可得到主流程和子流程,在整個開發(fā)過程中,開發(fā)人員只需根據(jù)VUI圖形即可繪制出相應(yīng)的流程圖,無需進(jìn)行代碼編寫的操作,大大減少了開發(fā)工作量。
[0051]在本說明書的描述中,參考術(shù)語“一個實(shí)施例”、“一些實(shí)施例”、“示例”、“具體示例”、或“一些示例”等的描述意指結(jié)合該實(shí)施例或示例描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)包含于本發(fā)明的至少一個實(shí)施例或示例中。在本說明書中,對上述術(shù)語的示意性表述不必須針對的是相同的實(shí)施例或示例。而且,描述的具體特征、結(jié)構(gòu)、材料或者特點(diǎn)可以在任一個或多個實(shí)施例或示例中以合適的方式結(jié)合。此外,在不相互矛盾的情況下,本領(lǐng)域的技術(shù)人員可以將本說明書中描述的不同實(shí)施例或示例以及不同實(shí)施例或示例的特征進(jìn)行結(jié)合和組合。
[0052]此外,術(shù)語“第一”、“第二”僅用于描述目的,而不能理解為指示或暗示相對重要性或者隱含指明所指示的技術(shù)特征的數(shù)量。由此,限定有“第一”、“第二”的特征可以明示或者隱含地包括至少一個該特征。在本發(fā)明的描述中,“多個”的含義是至少兩個,例如兩個,三個等,除非另有明確具體的限定。
[0053]流程圖中或在此以其他方式描述的任何過程或方法描述可以被理解為,表示包括一個或更多個用于實(shí)現(xiàn)特定邏輯功能或過程的步驟的可執(zhí)行指令的代碼的模塊、片段或部分,并且本發(fā)明的優(yōu)選實(shí)施方式的范圍包括另外的實(shí)現(xiàn),其中可以不按所示出或討論的順序,包括根據(jù)所涉及的功能按基本同時的方式或按相反的順序,來執(zhí)行功能,這應(yīng)被本發(fā)明的實(shí)施例所屬【技術(shù)領(lǐng)域】的技術(shù)人員所理解。
[0054]在流程圖中表示或在此以其他方式描述的邏輯和/或步驟,例如,可以被認(rèn)為是用于實(shí)現(xiàn)邏輯功能的可執(zhí)行指令的定序列表,可以具體實(shí)現(xiàn)在任何計(jì)算機(jī)可讀介質(zhì)中,以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備(如基于計(jì)算機(jī)的系統(tǒng)、包括處理器的系統(tǒng)或其他可以從指令執(zhí)行系統(tǒng)、裝置或設(shè)備取指令并執(zhí)行指令的系統(tǒng))使用,或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用。就本說明書而言,"計(jì)算機(jī)可讀介質(zhì)"可以是任何可以包含、存儲、通信、傳播或傳輸程序以供指令執(zhí)行系統(tǒng)、裝置或設(shè)備或結(jié)合這些指令執(zhí)行系統(tǒng)、裝置或設(shè)備而使用的裝置。計(jì)算機(jī)可讀介質(zhì)的更具體的示例(非窮盡性列表)包括以下:具有一個或多個布線的電連接部(電子裝置),便攜式計(jì)算機(jī)盤盒(磁裝置),隨機(jī)存取存儲器(RAM),只讀存儲器(R0M),可擦除可編輯只讀存儲器(EPR0M或閃速存儲器),光纖裝置,以及便攜式光盤只讀存儲器(⑶ROM)。另外,計(jì)算機(jī)可讀介質(zhì)甚至可以是可在其上打印所述程序的紙或其他合適的介質(zhì),因?yàn)榭梢岳缤ㄟ^對紙或其他介質(zhì)進(jìn)行光學(xué)掃描,接著進(jìn)行編輯、解譯或必要時以其他合適方式進(jìn)行處理來以電子方式獲得所述程序,然后將其存儲在計(jì)算機(jī)存儲器中。
[0055]應(yīng)當(dāng)理解,本發(fā)明的各部分可以用硬件、軟件、固件或它們的組合來實(shí)現(xiàn)。在上述實(shí)施方式中,多個步驟或方法可以用存儲在存儲器中且由合適的指令執(zhí)行系統(tǒng)執(zhí)行的軟件或固件來實(shí)現(xiàn)。例如,如果用硬件來實(shí)現(xiàn),和在另一實(shí)施方式中一樣,可用本領(lǐng)域公知的下列技術(shù)中的任一項(xiàng)或他們的組合來實(shí)現(xiàn):具有用于對數(shù)據(jù)信號實(shí)現(xiàn)邏輯功能的邏輯門電路的離散邏輯電路,具有合適的組合邏輯門電路的專用集成電路,可編程門陣列(PGA),現(xiàn)場可編程門陣列(FPGA)等。
[0056]本【技術(shù)領(lǐng)域】的普通技術(shù)人員可以理解實(shí)現(xiàn)上述實(shí)施例方法攜帶的全部或部分步驟是可以通過程序來指令相關(guān)的硬件完成,所述的程序可以存儲于一種計(jì)算機(jī)可讀存儲介質(zhì)中,該程序在執(zhí)行時,包括方法實(shí)施例的步驟之一或其組合。
[0057]此外,在本發(fā)明各個實(shí)施例中的各功能單元可以集成在一個處理模塊中,也可以是各個單元單獨(dú)物理存在,也可以兩個或兩個以上單元集成在一個模塊中。上述集成的模塊既可以采用硬件的形式實(shí)現(xiàn),也可以采用軟件功能模塊的形式實(shí)現(xiàn)。所述集成的模塊如果以軟件功能模塊的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時,也可以存儲在一個計(jì)算機(jī)可讀取存儲介質(zhì)中。
[0058]上述提到的存儲介質(zhì)可以是只讀存儲器,磁盤或光盤等。盡管上面已經(jīng)示出和描述了本發(fā)明的實(shí)施例,可以理解的是,上述實(shí)施例是示例性的,不能理解為對本發(fā)明的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的范圍內(nèi)可以對上述實(shí)施例進(jìn)行變化、修改、替換和變型。
【權(quán)利要求】
1.一種互動式語音應(yīng)答IVR可視化流程的開發(fā)系統(tǒng),其特征在于,包括: 語音應(yīng)用平臺IAVP ; 畫圖模塊,用于對流程圖進(jìn)行繪制,其中,所述流程圖包括多個功能節(jié)點(diǎn),每個功能節(jié)點(diǎn)具有各自的類型;以及 流程引擎模塊,用于解析所述流程圖,并根據(jù)所述流程圖中的多個功能節(jié)點(diǎn)與所述IAVP進(jìn)行交互以執(zhí)行所述多個功能節(jié)點(diǎn),并對所述多個功能節(jié)點(diǎn)中的交互節(jié)點(diǎn)進(jìn)行封裝并反饋對應(yīng)的VXML信息。
2.如權(quán)利要求1所述的IVR可視化流程的開發(fā)系統(tǒng),其特征在于,所述功能節(jié)點(diǎn)包括開始節(jié)點(diǎn)、任務(wù)節(jié)點(diǎn)、子模塊節(jié)點(diǎn)、會議室節(jié)點(diǎn)、按鍵節(jié)點(diǎn)、按鍵式串播節(jié)點(diǎn)、錄音節(jié)點(diǎn)、提示音節(jié)點(diǎn)、語音云節(jié)點(diǎn)、哼唱節(jié)點(diǎn)、轉(zhuǎn)接節(jié)點(diǎn)、submit節(jié)點(diǎn)、掛機(jī)節(jié)點(diǎn)、返回節(jié)點(diǎn)、變量節(jié)點(diǎn)和箭頭節(jié)點(diǎn)中的一種或多種。
3.如權(quán)利要求1所述的IVR可視化流程的開發(fā)系統(tǒng),其特征在于,所述流程引擎模塊從開始功能節(jié)點(diǎn)進(jìn)行遍歷,直至遍歷后的所述開始功能節(jié)點(diǎn)的節(jié)點(diǎn)路徑上的功能節(jié)點(diǎn)滿足預(yù)設(shè)條件,并對所述節(jié)點(diǎn)路徑上的交互節(jié)點(diǎn)進(jìn)行封裝并反饋對應(yīng)的VXML信息。
4.如權(quán)利要求1所述的IVR可視化流程的開發(fā)系統(tǒng),其特征在于,所述功能節(jié)點(diǎn)具有變量。
5.如權(quán)利要求4所述的IVR可視化流程的開發(fā)系統(tǒng),其特征在于,所述變量為全局變量。
6.如權(quán)利要求1所述的IVR可視化流程的開發(fā)系統(tǒng),其特征在于,還包括: 功能包管理模塊,用于接收新注入的功能包,并解析所述功能包中被選擇的方法所需要傳入的參數(shù),以及將所述參數(shù)返回至所述流程圖以供其他功能節(jié)點(diǎn)使用。
7.如權(quán)利要求1所述的IVR可視化流程的開發(fā)系統(tǒng),其特征在于,所述流程圖支持多層嵌套。
8.—種互動式語音應(yīng)答IVR可視化流程的開發(fā)方法,其特征在于,包括: 畫圖模塊對流程圖進(jìn)行繪制,其中,所述流程圖包括多個功能節(jié)點(diǎn),每個功能節(jié)點(diǎn)具有各自的類型; 流程引擎模塊解析所述流程圖,并根據(jù)所述流程圖中的多個功能節(jié)點(diǎn)與語音應(yīng)用平臺IAVP進(jìn)行交互以執(zhí)行所述多個功能節(jié)點(diǎn),并對所述多個功能節(jié)點(diǎn)中的交互節(jié)點(diǎn)進(jìn)行封裝并反饋對應(yīng)的VXML信息。
9.如權(quán)利要求8所述的IVR可視化流程的開發(fā)方法,其特征在于,所述功能節(jié)點(diǎn)包括開始節(jié)點(diǎn)、任務(wù)節(jié)點(diǎn)、子模塊節(jié)點(diǎn)、會議室節(jié)點(diǎn)、按鍵節(jié)點(diǎn)、按鍵式串播節(jié)點(diǎn)、錄音節(jié)點(diǎn)、提示音節(jié)點(diǎn)、語音云節(jié)點(diǎn)、哼唱節(jié)點(diǎn)、轉(zhuǎn)接節(jié)點(diǎn)、submit節(jié)點(diǎn)、掛機(jī)節(jié)點(diǎn)、返回節(jié)點(diǎn)、變量節(jié)點(diǎn)和箭頭節(jié)點(diǎn)中的一種或多種。
10.如權(quán)利要求8所述的IVR可視化流程的開發(fā)方法,其特征在于,所述根據(jù)所述流程圖中的多個功能節(jié)點(diǎn)與IAVP進(jìn)行交互以執(zhí)行所述多個功能節(jié)點(diǎn),并對所述多個功能節(jié)點(diǎn)中的交互節(jié)點(diǎn)進(jìn)行封裝并反饋對應(yīng)的VXML信息具體包括: 從開始功能節(jié)點(diǎn)進(jìn)行遍歷,直至遍歷后的所述開始功能節(jié)點(diǎn)的節(jié)點(diǎn)路徑上的功能節(jié)點(diǎn)滿足預(yù)設(shè)條件;以及 對所述節(jié)點(diǎn)路徑上的交互節(jié)點(diǎn)進(jìn)行封裝并反饋對應(yīng)的VXML信息。
11.如權(quán)利要求8所述的IVR可視化流程的開發(fā)方法,其特征在于,所述功能節(jié)點(diǎn)具有變量。
12.如權(quán)利要求11所述的IVR可視化流程的開發(fā)方法,其特征在于,所述變量為全局變量。
13.如權(quán)利要求8所述的IVR可視化流程的開發(fā)方法,其特征在于,還包括: 功能包管理模塊接收新注入的功能包,并解析所述功能包中被選擇的方法所需要傳入的參數(shù);以及 所述功能包管理模塊將所述參數(shù)返回至所述流程圖以供其他功能節(jié)點(diǎn)使用。
14.如權(quán)利要求8所述的IVR可視化流程的開發(fā)方法,其特征在于,所述流程圖支持多層嵌套。
【文檔編號】H04M3/493GK104410637SQ201410713092
【公開日】2015年3月11日 申請日期:2014年11月28日 優(yōu)先權(quán)日:2014年11月28日
【發(fā)明者】齊樹軍, 查道賓, 周正友, 張文鳳, 沈明花 申請人:科大訊飛股份有限公司