專利名稱:文本對話服務系統(tǒng)的制作方法
技術領域:
隨著增值業(yè)務及網(wǎng)絡的不斷發(fā)展,諸如短信類的文本交互應用越來越多,且交互性不斷增強,應用邏輯也越來越復雜,傳統(tǒng)的開發(fā)方法是選擇一種開發(fā)語言從零開始或者基于以前相似的系統(tǒng)進行開發(fā),開發(fā)效率低,存在很多重復開發(fā),且后期維護量大。本發(fā)明涉及文本交互應用開發(fā)技術領域,公開一種通過使VXML用腳本的開發(fā)方式實現(xiàn)交互應用的方法和系統(tǒng)。利用本發(fā)明,可以提升交互應用開發(fā)效率和降低開發(fā)復雜度,把應用開發(fā)者從低級的編程語言和資源管理中解放出來。
背景技術:
如圖1所示,現(xiàn)有短信類文本交互應用系統(tǒng)基本都會重復實現(xiàn)以下內(nèi)容第一步選擇開發(fā)語言、框架,并進行基礎框架和通用模塊開發(fā);第二步對系統(tǒng)及交互邏輯進行處理;第三步若存在狀態(tài)管理,還需專門開發(fā)狀態(tài)管理模塊;第四步進行各個功能模塊開發(fā);第五步與外部相關系統(tǒng)一一集成(如短信網(wǎng)關、識別引擎等等)。綜上,應用開發(fā)過程中需要關注很多與業(yè)務邏輯無關的內(nèi)容,開發(fā)過程和內(nèi)容均比較復雜?,F(xiàn)有技術的缺點為現(xiàn)有技術實現(xiàn)短信交互應用太過復雜,需要開發(fā)大量與應用無關的內(nèi)容,導致開發(fā)效率低,后期應用系統(tǒng)維護麻煩。
發(fā)明內(nèi)容
本發(fā)明要解決以下技術問題1.統(tǒng)一外部系統(tǒng)處理模塊,應用開發(fā)無需關心與業(yè)務邏輯無關的開發(fā)內(nèi)容;2.簡化應用開發(fā)方式,業(yè)務應用無需通過復雜的代碼實現(xiàn)業(yè)務邏輯,能夠通過簡單腳本實現(xiàn)業(yè)務邏輯;3.提供智能識別引擎,業(yè)務應用可以直接使用,減少集成工作,方便智能交互應用實現(xiàn)。本發(fā)明采用的技術方案為一種文本對話服務系統(tǒng),主要包含5個模塊短信收發(fā)模塊(SMAC)、資源管理器模塊(RCC)、解析器模塊(Interpreter)、文本識別引擎模塊和管理維護模塊;其中所述的短信收發(fā)模塊(SMAC):其為文本收發(fā)適配子模塊,主要作用是適配不同的文本收發(fā)模塊,并轉(zhuǎn)換成統(tǒng)一格式傳遞到系統(tǒng)內(nèi)部,系統(tǒng)處理完再將結(jié)果適配發(fā)出;所述的業(yè)務邏輯處理及資源管理模塊(RCC):其與解析器模塊(Interpreter ) —起完成業(yè)務流程化處理,完成文本對話功能;所述的解析器模塊(Interpreter):該解析器模塊完成VXML腳本解析,與資源管理器模塊(RCC)—起完成業(yè)務流程化處理,完成文本對話功能,應用開發(fā)者通過開發(fā)VXML腳本,并以HTTP方式與解析器模塊(Interpreter)交互實現(xiàn)業(yè)務流程;所述的文本識別引擎模塊該文本識別引擎基于自然語言理解的內(nèi)置識別引擎,用于識別理解用戶意圖,實現(xiàn)智能對話功能;所述的管理維護模塊用于Web管理系統(tǒng)配置和監(jiān)控系統(tǒng)運行情況。本發(fā)明與現(xiàn)有技術相比的技術優(yōu)點為I)、本發(fā)明采用腳本化的開發(fā)方法,應用開發(fā)簡單、效率高;2)、本發(fā)明實現(xiàn)應用與平臺的分離,應用開發(fā)只需關心核心業(yè)務邏輯,與業(yè)務無關的系統(tǒng)無需關心3)、本發(fā)明提供一種基于自然語言理解的文本識別引擎,可以直接用來進行人機交互類應用開發(fā)
圖1為現(xiàn)有技術短信類文本交互應用系統(tǒng);圖2為系統(tǒng)整體架構(gòu)示意圖;圖3為系統(tǒng)處理流程圖;圖4為應用開發(fā)工作流程圖。
圖5為文法編譯成文法網(wǎng)絡的示意 圖6為文法網(wǎng)絡解析及解析結(jié)果示意圖。
具體實施例方式下面結(jié)合附圖以及具體實施例進一步說明本發(fā)明。1.如圖2所示,系統(tǒng)整體架構(gòu)如下系統(tǒng)包含5個主要模塊SMAC (短信收發(fā)模塊)、RCC (資源管理器模塊)、Interpreter (解析器模塊)、文本識別引擎模塊和管理維護模塊DSMAC :文本收發(fā)適配子模塊,主要作用是適配不同的文本收發(fā)模塊,并轉(zhuǎn)換成統(tǒng)一格式傳遞到系統(tǒng)內(nèi)部,系統(tǒng)處理完再將結(jié)果適配發(fā)出;2) RCC :業(yè)務邏輯處理及資源管理模塊,與Interpreter模塊一起完成業(yè)務流程化處理,完成文本對話功能;3) Interpreter :解析器,完成VXML腳本解析,與RCC模塊一起完成業(yè)務流程化處理,完成文本對話功能。應用開發(fā)者通過開發(fā)VXML腳本,并以HTTP方式與Interpreter交互實現(xiàn)業(yè)務流程。4) TRS :文本識別引擎,基于自然語言理解的內(nèi)置識別引擎,用于識別理解用戶意圖,實現(xiàn)智能對話功能;5)管理維護Web管理系統(tǒng),用于管理系統(tǒng)配置和監(jiān)控系統(tǒng)運行情況。2.系統(tǒng)關鍵I旲塊詳細說明I) Interpreter解析器本系統(tǒng)核心模塊,通過對VXML腳本進行解析完成業(yè)務操作,從而實現(xiàn)文本交互類應用只需通過編寫VXML腳本即可完成業(yè)務功能和邏輯。同時提供超長周期會話管理功能,方便了以短信為載體的非實時在線的人機對話業(yè)務的開發(fā)。如圖3所示,在文本對話服務系統(tǒng)上,應用開發(fā)者只需基于VXML腳本開發(fā)語言進行文本對話應用開發(fā),減少了大量與業(yè)務邏輯無關的功能或模塊開發(fā),如圖4所示,開發(fā)流程如下應用開發(fā)者通過VXML腳本語言可以實現(xiàn)含自然語言理解識別的文本交互應用,常見的交互應用場景實現(xiàn)方式如下V無識別對話無識別會話表示在一次交互過程中對用戶發(fā)送的文本不需要進行識別,而是直接獲取。通過application. lastresult$. context獲取識別前的短信內(nèi)容,將field標記的type屬性設置為getputin,不使用語法識別,直接將用戶的輸入保存到變量中作為返回值,如果需要進行二次識別則返回值包含二次識別結(jié)果。V識別對話用戶發(fā)送的短信需要進行識別時,可以在腳本中傳入識別文法的路徑或字符串,引擎用相應語法進行識別,得到識別結(jié)果,腳本再根據(jù)識別結(jié)果進行處理,得到每個識別結(jié)果的一些屬性application. lastresult$. mode //標識是以哪種方式(一次識別、二次識別)識別出來的application. lastresult$.1nputmode// 表不用戶輸入的類型,暫時只支持 text類型,表示文本application. lastresult$. context // 識別前的短信內(nèi)容application. lastresult$.1enth //單個語義的參數(shù)個數(shù),如第一個語義或第一個參數(shù)可以將
省略application. lastresult$
. paramtype// 識別出的參數(shù)類型,可能包括操作、業(yè)務、時間等信息,其中還包括幫助的類型application. lastresult$
. paramvalue// 識別結(jié)果的各參數(shù)值V交互識別對話當應用層想不以收用戶短信為前提進行識別的話,可以將識別的內(nèi)容放入expr與value中,系統(tǒng)會不等用戶短信而自動進行識別,并將識別結(jié)果放入application.lastresult$中,解決二次交互的問題,如用戶先說gprs,又說了幫我開通吧,應用層可以直接將兩個文本拼起來。V 二次識別對話在用戶主導態(tài)交互過程中,有些時候用戶一次輸入僅僅用一次語法識別是不夠的,這種情況就需要二次識別,引擎會自動先針對設置的語法進行識別,如果沒有識別結(jié)果則再采用大文法進行識別。設置Secondrecognize屬性為True,使用之前保存的語法進行二次識別,如果之前沒有保存語法則此處設置為True無效;此屬性默認值為False,即不是用保存的語法進行二次識別。2) TRS文本識別引擎采用科大訊飛現(xiàn)有的自然語言理解文本識別引擎,滿足多種短信類應用智能交互需求。如圖5、圖6所示,科大訊飛現(xiàn)有的自然語言理解文本識別引擎采用上下文無關文法(ABNF)解析受限領域下的自然語言,將自然語言理解問題轉(zhuǎn)換成有限空間下的搜索問題:_將自然語言中的句式編寫成句文法,并定義句文法中的概念及要素(或業(yè)務、操作、屬性)。-利用下推自動機理論,將句文法編譯成文法網(wǎng)絡,形成受限領域下的自然語言搜索空間。-對用戶輸入的自然語言,在文法網(wǎng)絡中進行深度優(yōu)先或廣度優(yōu)先搜索,解析出對應的概念及要素ABNF文法有以下特點:-不需要分詞,以字為單位構(gòu)建文法網(wǎng)絡。-文法頭尾處有filler,可以有效除去“請你、你好、謝謝了”之類的語義無關的文字。-支持屬性信息的解析,例如“5元套餐”“合肥” “上?!钡?。-支持誤拼寫、別名,例如“升請、流浪、帳單”等常用誤拼寫,“搞個、查下”等業(yè)務或操作的別名。-語義信息可靈活加載.放在節(jié)點上:我要開通彩鈴業(yè)務。語義信息放在“開通”和“彩鈴”上。
.放在路徑上:我的密碼丟了,我想改一下。語義為:密碼重置-變更我怎么才能讓話費便宜點呢。語義為:套餐變更-幫助ABNF文法編譯及解析舉例:$qq=[[ 一]個][超級][手機|上網(wǎng)I [5元|包月]套餐]qq;$open=(開通|訂購|申請|審請|升請)[[一]下];$qqopen=$_ti_fiIler_$open $qqiller_;本發(fā)明未詳細闡述的部分屬于本領域公知技術。盡管上面對本發(fā)明說明性的具體實施方式
進行了描述,以便于本技術領的技術人員理解本發(fā)明,但應該清楚,本發(fā)明不限于具體實施方式
的范圍,對本技術領域的普通技術人員來講,只要各種變化在所附的權利要求限定和確定的本發(fā)明的精神和范圍內(nèi),這些變化是顯而易見的,一切利用本發(fā)明構(gòu)思的發(fā)明創(chuàng)造均在保護之列。
權利要求
1.一種文本對話服務系統(tǒng),其特征在于:主要包含5個模塊:短信收發(fā)模塊(SMAC)、業(yè)務邏輯處理及資源管理模塊(RCC)、解析器模塊(Interpreter)、文本識別引擎模塊和管理維護模塊;其中: 所述的短信收發(fā)模塊(SMAC):其為文本收發(fā)適配子模塊,主要作用是適配不同的文本收發(fā)模塊,并轉(zhuǎn)換成統(tǒng)一格式傳遞到系統(tǒng)內(nèi)部,系統(tǒng)處理完再將結(jié)果適配發(fā)出; 所述的業(yè)務邏輯處理及資源管理模塊(RCC):其與解析器模塊(Interpreter) —起完成業(yè)務流程化處理,完成文本對話功能; 所述的解析器模塊(Interpreter):該解析器模塊完成VXML腳本解析,與資源管理器模塊(RCC) —起完成業(yè)務流程化處理,完成文本對話功能,應用開發(fā)者通過開發(fā)VXML腳本,并以HTTP方式與解析器模塊(Interpreter)交互實現(xiàn)業(yè)務流程; 所述的文本識別引擎模塊:該文本識別引擎模塊基于自然語言理解的內(nèi)置識別引擎,用于識別理解用戶意圖,實現(xiàn)智能對話功能; 所述的管理維護模塊:用 于Web管理系統(tǒng)配置和監(jiān)控系統(tǒng)運行情況。
全文摘要
本發(fā)明提供一種文本對話服務系統(tǒng),包含所述的短信收發(fā)模塊,為文本收發(fā)適配子模塊;所述的業(yè)務邏輯處理及資源管理模塊,與解析器模塊一起完成業(yè)務流程化處理,完成文本對話功能;所述的解析器模塊,完成VXML腳本解析,與資源管理器模塊一起完成業(yè)務流程化處理,完成文本對話功能;所述的文本識別引擎模塊,基于自然語言理解的內(nèi)置識別引擎,用于識別理解用戶意圖,實現(xiàn)智能對話功能;所述的管理維護模塊,用于Web管理系統(tǒng)配置和監(jiān)控系統(tǒng)運行情況。本發(fā)明采用腳本化的開發(fā)方法,應用開發(fā)簡單、效率高;實現(xiàn)應用與平臺的分離,應用開發(fā)只需關心核心業(yè)務邏輯,與業(yè)務無關的系統(tǒng)無需關心,可以直接用來進行人機交互類應用開發(fā)。
文檔編號G06F9/44GK103077020SQ20121058055
公開日2013年5月1日 申請日期2012年12月27日 優(yōu)先權日2012年12月27日
發(fā)明者吳維昊, 徐偉, 史峰, 謝招娣, 馬甜甜, 楊歡歡, 石峰, 李偉, 劉波, 張磊 申請人:安徽科大訊飛信息科技股份有限公司