專利名稱:集成語音對話系統的制作方法
技術領域:
本發明涉及一種用于實現人聲和計算機系統之間交互的語音對話系統。具體而言,本發明涉及一種高集成度的多組件語音對話系統,該系統很大程度上獨立于實際平臺。
背景技術:
人聲很可能被認為是最為自然和舒適的人機界面。由此,語音輸入具有不用手操作的優點,例如,為行動不便用戶提供訪問方式、且也可避免學習抽象的計算機語法。因此,長久以來,計算機用戶都期望一種可由語音操作的軟件應用程序。
特別地,由于計算機性能近些年來的發展,例如一方面關于計算功能和內存的發展,另一方面關于理論上的語音分析,語音對話系統的發展已經相當先進。語音對話系統被包括在輸入、輸出和處理語音、聲音、字符、數字、圖形、圖像等的多媒體系統中。
用于計算機操作的語音語言輸入的基本元素為語音識別,即,將語音信號轉換為相應的文字集的表示方法。經識別的詞語和句子可以是作為例如命令和數據輸入的實施的最終結果,或者可作為進一步語音處理的數據。已經從單個文字識別發展到了利用統計語言模型進行的連續文字識別。
對于語音對話系統的輸出任務來說,已經從直接的文字到語音的對話系統發展到了考慮單個語調的精細語音合成裝置。
常規語音對話系統已經被設計為單獨開發的例如語音識別和語音合成的組件的簡單組合。另外,在某種程度上,由于這些組件的低集成度,現有語音對話系統限制于特定的平臺,并且具有所不期望的多種不同接口。
例如,由微軟公司提供的語音應用程序接口(SAPI)限于微軟操作系統。另一種可替換的開發產品JAVA SAPI允許程序員忽略與平臺相關的問題,例如,記錄語音的音頻和識別器指示并且提供了在多平臺上的語音識別,但所有這些僅在特定語音服務器運行在后臺上時起作用。其中不包括通過某種參數相關性控制操作的組件。
由此,本發明的根本問題是提供一種克服現有技術的缺點的語音對話系統,特別地,該系統表現出較高的便攜性和多組件的集成度。同時,理想的系統應該表現出較高程度的功能擴展性和對目標系統的簡單連接性。
發明內容
可通過根據權利要求1所述的語音對話系統和根據權利要求9所述的用于運行語音對話系統的方法解決上述問題。如權利要求1所提供的語音對話系統包括用于控制語音對話系統的語音應用程序管理器;至少兩個服務組件,具體來說,配置以識別語音的語音識別裝置;消息路由器,用于在該至少兩個服務組件彼此之間以及該至少兩個服務組件和該語音應用程序管理器之間提供數據交換;平臺抽象層,其將該語音對話系統連接到任意硬件平臺和/或任意操作系統和/或至少一個任意的設備驅動程序。
語音應用程序管理器(SAM)為語音對話系統的主控制單元,并且包括服務記錄,該服務記錄包括關于所使用的服務的操作的信息。特別地,SAM控制所有注冊的服務的啟動和關閉的相配合的操作。
語音對話系統的服務被分為數個單元或組件。一種語音或人聲識別裝置代表了通過用戶語言經由該語音識別系統控制某些應用程序所必需的主要組件。由服務組件所代表的一些其它組件在下文中進行說明。
在服務組件之間以及服務組件和SAM之間的數據交換由消息路由器提供。服務組件最好使用標準統一的形式和開放的接口及通信協議。由此,語音對話系統可由其它組件方便地進行擴展。
消息路由器從一個系統組件接收例如消息或數據,并且根據一些情況將其重新發布到不同的消息通道。
該消息路由器與最基本的管道和過濾器的概念不同,其中該消息路由器連接于多個輸出通道。該消息路由器的關鍵屬性是其不更改消息內容,但其將其自身與消息的目的地相關聯。
平臺抽象層(PAL)代表了本發明的語音對話系統的關鍵系統組件。PAL在語音對話系統的內核和在某種硬件平臺上使用的設備驅動程序間進行通信,該語音對話系統的內核即作為服務組件的內部操作單元,例如是某種操作系統。
換言之,PAL使得該語音對話系統方便且簡單地適用于任意目標系統。該語音對話系統對目標系統的軟件等的適用性完全是由對PAL進行適當更改而實現。
PAL可使得該語音對話系統被連接到任意的總線結構,例如,CAN、MOST、Ibus和D2B,并且用于實現包括TCP/IP、藍牙、GSM的通信協議。
一般情況下,可利用開關和按鈕,通過PAL例如存儲器、數據端口、音頻和視頻輸出來調用該語音對話系統的不同類型的設備。
本發明的語音對話系統多路復用所有服務組件,例如,語音識別、語音輸入/輸出和語音對話的控制。特別地,PAL代表了對于任意目標系統的抽象的單一的可適用接口。
PAL確保一些組件的高便攜性和集成度,以及高功能可擴展性和到目標系統的簡單連接。由于有了PAL,該語音對話系統的任何實現將不受限于操作系統,也不受限于目標系統的硬件結構。
優選地,消息路由器可在不同系統組件之間路由通用通信格式的數據。術語通用通信格式(GCF)指完全獨立于目標系統的數據格式的格式。對在數個系統組件之間進行通信的消息使用單一的數據格式使得語音對話系統有效地且穩定地工作,且很大程度上促進對不同服務的多路復用。消息路由器的數據格式最好也可以擴展。
語音對話系統可包括客戶程序員接口和/或語音檢測裝置和/或語音提示裝置和/或文字合成裝置和/或語音記錄器和/或拼寫匹配器和/或包括所有服務組件的配置文件的配置數據庫,和/或對于可選語音開發組件(見下)來說是重要的調試裝置,和/或對話管理器。客戶程序員的接口允許簡單地將客戶服務連接到語音對話系統的消息路由器。可通過將消息路由器格式(即GCF接口)所使用的數據格式映射到客戶系統應用程序來建立連接。
語音對話系統也可提供一種開發環境,特別是用于開發語音對話的環境。語音開發環境允許定義、編譯、實現和管理語音對話設計。例如,可選擇TCP/IP作為到和從主機開發工具的數據傳輸通道。單獨提供的調試裝置也可適用于客戶開發環境。開發環境也可包括圖形界面以促進新語音對話的有效開發。
語音對話系統也可提供模擬由語音對話系統實際運行或控制和/或計劃運行或控制的應用程序和/或設備的模擬環境,該設備例如,類似于調諧器或CD播放器的音頻設備。在開發用于控制將在以后被添加的組件的新的語音對話時,模擬這些組件可有效地輔助開發者。例如,數據和/或控制沖突可在設想的應用程序實際實現之前被確定和解決。
圖形開發環境可被配置成集成語音對話系統,而不對本系統(單源法則(single source principle))做任何更改。由此,不僅包括開發環境并且包括模擬環境的語音對話系統的一個實施例可被方便地用于模擬新設計的語音對話。
在對要納入語音對話系統中的新服務的模擬顯示出期望的結果后,相應的新服務組件可被集成以替換模擬的虛擬服務。
在新語音對話的開發過程中,例如,由語音輸入控制新的設備過程中,該語音對話系統完全是功能性的,并且可持續執行開發過程。由此,可實現快速開發原型及其后續的到客戶系統的無縫遷移。
不同種類的應用程序裝置可被包括在語音對話系統中。典型的應用程序裝置可為查詢表中或電話簿中信息的電話撥號器和裝置,其可為用于提供例如航班或火車的時間表信息的系統的一部分。另外,通過語音輸入經由語音對話系統控制的機械設備表示可能的應用方式。
也可在交通工具中提供使用一種上述語音對話系統,特別地,在汽車中使用該系統。可經由PAL將任意汽車數據總線連接到語音對話系統。
在交通工具中使用本語音對話系統的實施例使得駕駛員可以通過說話簡單地操作該交通工具的一些設備。此外,可經由該語音對話系統通過查詢存儲的號碼并且撥號使用電話功能。如果該交通工具配備有導航系統,上述語音對話系統的一個實施例可被集成在導航系統中。
還提供了一種用于運行包括服務組件的語音對話系統的方法,其包括以下步驟通過語音應用程序管理器控制語音對話系統;通過消息路由器在服務組件之間以及服務組件和語音應用程序管理器之間交換數據;通過平臺抽象層將語音對話系統連接到任意硬件平臺和/或任意操作系統和/或至少一個任意的設備驅動程序;通過消息路由器交換的數據可被格式化為一種單一的通用通信格式。
該方法還可包括檢測和處理語音信號,在對經處理的語音信號進行分析的基礎上生成輸出數據,將輸出數據路由至應用程序裝置以執行應用程序,該路由是由平臺抽象層調節。
對該語音信號的處理可包括將語音信號轉換到特征矢量和/或語音識別和/或拼寫匹配和/或語音記錄。特征矢量包括與語音分析和合成相關的參數,并且可由倒譜或預測系數組成。
輸出數據可包括至少一個由語音對話系統輸出的合成語音信號。
此處公開的方法還可包括,使用表示服務組件中的一個組件的開發環境開發語音對話,以及使用表示一個服務組件的模擬環境模擬語音對話系統實際運行或控制和/或計劃運行或控制的應用程序和設備。
另外,提供了一種計算機程序產品,其包括一個或多個具有計算機可執行指令的計算機可讀介質,該計算機可執行指令用于執行所公開的運行語音對話系統的方法的上述實施例中的一個實施例的各個步驟。
將參照附圖對本發明的其它特征和優點進行說明。在此說明書中,將參照示意本發明的優選實施例的附圖。可以理解,該實施例并不代表由以下所附權利要求所限定的本發明的整個范圍。
圖1顯示出根據本發明的語音對話系統的可擴展結構,其中包括SAM、消息路由器和服務組件。
圖2顯示出本發明的語音對話系統的一個實例的框圖,其中包括SAM、消息路由器、服務組件和PAL。
圖3顯示出與StarRec對話開發工作室相關的本發明的語音對話系統的優選實施例。
圖4顯示出適于客戶音頻驅動程序規范的平臺抽象層。
具體實施例方式
圖1顯示出本發明的語音對話系統的可擴展結構。除其它組件以外,該系統還包括語音應用程序管理器(SAM)10和例如從1標號到M的服務組件12,以及作為用于提供服務組件和SAM之間的數據交換的中央消息通信單元的消息路由器14。在若干服務組件12和SAM之間的通信通過使用專用的單一消息格式作為消息協議來實現。使用獨立于目標或客戶系統的一般的和可擴展的通用通信格式(GCF)對于簡便地和經濟的更改以及滿足客戶需求方面來說是重要的。
例如,服務組件12包括用于語音檢測、語音記錄、語音識別、語音合成、診斷和客戶接口的裝置。根據本發明所依照的可擴展服務期概念,可在不需要更改內核的情況下方便地添加其它服務組件。客戶接口被簡單地視為集成在語音對話系統中的且也使用上述消息格式的附加服務組件。該格式必須被轉換為本發明的系統的軟件內核外部的客戶所使用的格式。
根據用戶的意愿,由SAM 10配置語音對話系統。因此,SAM 10包括服務記錄,該服務記錄包括操作控制所必需的信息,該操作控制例如是使得適當的服務組件12與相應的數據庫相關聯。此外,SAM 10負責所有記錄的服務組件12的協調啟動和關斷。
圖2詳細顯示出根據本發明的語音對話系統的一個實例。硬件平臺20提供了語音對話系統的物理基礎,該硬件平臺20優選地為32位平臺,例如32位RISC平臺。32位操作系統(OS)和驅動程序22使用硬件平臺20。
本發明的系統設計為大量不同類型的目標系統提供了高便攜性。出于這種目的,平臺抽象層(PAL)24在語音對話系統起到重要作用。語音對話系統的軟件組件對于客戶設備和需求,即對于設想目標系統的所有相關性都由PAL 24處理,因而源于本發明系統的內核。通過使PAL 24的功能專門適于實際環境來實現對目標系統的適用性。
從對于實際使用平臺的任意相關性的抽象以及單一通用消息格式使得可以簡單實現第三方軟件。可通過從第三方接口的特定實現進行抽象并且將第三方設計映射到本發明的語音對話系統內部使用的接口和消息格式來實現第三方軟件的集成。
語音對話系統的軟件內核包括SAM 26和提供服務組件之間的通信的消息路由器28,如圖1中所示。根據圖2,服務組件包括通用對話管理器(GDM)30和拼寫匹配器32。
GDM 30,例如StarRecGDM,為執行對話流程的運行時間組件。由GDM對話管理器處理的語音應用程序以基于XML的通用對話模型語言(GDML)來編碼。GDML源文件必須由GDC語法編譯器編譯成壓縮二進制表示形式,該壓縮二進制表示形式在運行時間內由GDM對話管理模塊解釋。
StarRecGDM對話管理器為解釋經編譯的GDML應用程序的虛擬機。可使多種32位RISC(整數和/或浮點)處理器運行在最為通用的實時操作系統上。所支持的操作系統包括VxWorks、QNX、WinCE和LINUX。由于獨立于平臺而實現StarRecGDM軟件,可方便地實現到其它目標平臺的連接。
此外,服務組件包括管理如語音識別裝置36、語音提示器38、文字合成裝置40和語音記錄器42的人機語音交互的基礎元件的音頻輸入/輸出管理器和編解碼器34。服務組件包括適當的數據庫。
圖2中顯示在消息路由器28上方的行表示根據本發明的語音應用程序程序設計接口的功能,且其示出服務配置裝置44、客戶程序員接口46、調試和跟蹤服務48和主代理50。配置裝置44提供每個服務的基于文件的配置,并且由SAM 26啟動。
客戶接口46提供到用戶應用程序的連接。通過將GCF串接口映射到客戶系統應用程序實現該連接。向內核以外的任何其它通信協議的映射可以通過經由傳輸通道(例如,TCP/IP、MOST、I2C、消息隊列等)的傳輸來方便地實現。由此,客戶應用程序簡單地連接到消息路由器28。
調試和跟蹤服務器48以及主代理50提供用于進一步開發語音對話系統和/或集成目標系統的有效的開發和調試GCF接口。例如,StarRec對話開發工作室可經由主代理50被連接,并被用于開發和調試語音對話。使用例如StarRec對話開發工作室允許通過圖形用戶界面對語音對話開發進行定義、編譯、實現和管理。
開發的語音對話在成功執行時可被集成進語音對話系統,而不需要任何原理上的更改。換言之,語音對話系統可被用于模擬在客戶應用程序中使用的已開發的語音對話,并且,語音對話的組件可隨后被包括進目標系統中。通常情況下,本發明的語音對話系統顯示出具有快速開發原型和無縫主機-目標集成的交叉開發能力。
圖3顯示出用于使用圖形用戶界面(GUI)66的開發語音對話的集成開發工具鏈。作為一個實例,可為此使用StarRec對話開發工作室(DDS)66。DDS 66允許在交叉平臺開發環境中交互式地測試和調試經編譯的GDML對話。
可利用模塊化軟件結構實現到目標平臺的無縫遷移主DDS程序使用基于TCP/IP進程間通信在組件之間交換消息和數據(語音識別、語音輸出、對話管理)。這些組件以硬件與獨立于OS的方式實現,并且由此可被連接在任何類型的平臺上。
根據圖3中所顯示的本發明系統的實施例,Windows 2000/NT操作系統62被在X86硬件平臺60上實現。方框64包括與圖2的示例性實例相似的語音對話系統的基礎組件。
DDS/GUI 66通過TCP/IP連接到使用主機代理和目標代理72的對話語音系統。除了目標代理72,DSS 66包括調試單元68、項目配置單元70、GDC編譯器74、GDS編譯器76,和用于登錄和測試的單元80,其中GDS編譯器76為用于標準面向對象語言ADA的編譯器。DDS 66也包括語法數據庫,即,用于對話開發的Java語音語法格式(JSGF)數據庫82,即,GDML數據庫,和用于登錄的登錄文件86。
JSGF為獨立于平臺的、獨立于供應商的在語音識別中通用的語法的文字表示,該語音識別采用Java程序設計語言的形式和規范,另外還使用傳統的語法符號。
可通過使用DDS 66,模擬實際語音對話系統中還沒有實現的設想的服務88。信息的交換還是由GCF消息路由器提供。例如,可模擬調諧器92和CD播放器94的集成。在各個對話被成功開發后,實際的設備可被連接到語音對話系統,并且由語音對話系統控制。
圖4顯示出根據本發明的語音對話系統到客戶專用脈沖編碼調制(PCM)驅動程序接口110的適應性結構。PCM表示通過將模擬波形表示為數字比特流來將模擬信息轉換為數字信號(反之亦然)的通用方法。PAL 104允許適用于特定規范,如PCM的客戶版本的字的比特表示。
由PAL 104處理對于音頻設備的客戶設備的語音對話系統的軟件組件的所有相關性。通過將PAL 104的功能專門應用于實際環境(具體來說,在某硬件平臺100上實現的OS和驅動程序102)來獲得對目標系統的適應性。
音頻IO管理器112表示經由消息路由器114連接到其它服務組件(見例如圖1)的本發明的語音對話系統的內核組成結構。到特定客戶音頻驅動程序110的適用僅在PAL 104中執行,PAL 104還包括OS功能和文件系統管理108以及提供全范圍(full scope)C編程語言106的ANSI程序庫功能。
對于通信來說,客戶音頻設備驅動程序可使用某種PCM,并且PAL將這種PCM用于在PAL和語音對話系統內核的音頻IO管理器112之間的數據連接的固有PCM。
所有之前討論的實施例并不是對本發明的限制,而是作為說明本發明的特性和優勢的實例。可以理解,一些或所有上述特性也可以不同方式進行組合。
權利要求
1.語音對話系統,其包括用于控制所述語音對話系統的語音應用程序管理器;所述語音對話系統的至少兩個服務組件,具體而言,配置用來識別語音的語音識別裝置;消息路由器,用于在所述至少兩個服務組件彼此之間以及所述至少兩個服務組件和所述語音應用程序管理器之間提供數據交換;和平臺抽象層,其將所述語音對話系統連接到任意硬件平臺和/或任意操作系統和/或至少一個任意的設備驅動程序。
2.如權利要求1所述的語音對話系統,其中,所述消息路由器使用一種單一的通用通信格式來提供所述數據交換。
3.如權利要求1或2所述的語音對話系統,其中,所述至少兩個服務組件包括客戶程序員接口和/或語音檢測裝置和/或語音提示裝置和/或文字合成裝置和/或語音記錄器和/或拼寫匹配器和/或配置數據庫和調試裝置和/或對話管理器。
4.如上述權利要求中任一項所述的語音對話系統,還包括開發環境,具體而言,用于開發語音對話的開發環境。
5.如權利要求4所述的語音對話系統,其中,所述開發環境包括圖形用戶界面。
6.如上述權利要求中任一項所述的語音對話系統,還包括用于模擬由所述語音對話系統實際運行或控制和/或計劃運行或控制的應用程序和/或設備的模擬環境。
7.如上述權利要求中任一項所述的語音對話系統,還包括至少一個應用程序裝置。
8.在交通工具中對上述權利要求中任一項所述的語音對話系統的使用。
9.運行包括服務組件的語音對話系統的方法,其包括以下步驟通過語音應用程序管理器控制所述語音對話系統;通過消息路由器,在所述服務組件之間以及所述服務組件和所述語音應用程序管理器之間交換數據;通過平臺抽象層,將所述語音對話系統連接到任意硬件平臺和/或任意操作系統和/或至少一個任意的設備驅動程序。
10.如權利要求9所述的方法,其中,由所述消息路由器交換的所述數據被格式化為一種單一的通用通信格式。
11.如權利要求9或10所述的方法,還包括檢測和處理語音信號;在對所述經處理的語音信號的分析的基礎上生成輸出數據;將所述輸出數據路由至應用程序裝置處以執行應用程序,且其中,由所述平臺抽象層對所述路由進行調整。
12.如權利要求9-11中任一項所述的方法,其中,對所述語音信號的所述處理包括將所述語音信號轉換為特征向量和/或語音識別和/或拼寫匹配和/或語音記錄。
13.如權利要求9-12中任一項所述的方法,其中,所述輸出數據包括至少一個由所述語音對話系統輸出的合成語音信號。
14.如權利要求9-13中任一項所述的方法,還包括使用表示所述服務組件中的一個組件的開發環境開發語音對話。
15.如權利要求9-14中任一項所述的方法,還包括使用表示所述服務組件中的一個組件的模擬環境,模擬由所述語音對話系統實際運行或控制和/或計劃運行或控制的應用程序和/或設備。
16.計算機程序產品,其包括一個或多個具有計算機可執行指令的計算機可讀介質,所述計算機可執行指令用來執行如權利要求9-15中任一項所述的方法的步驟。
全文摘要
本發明涉及語音對話系統,其包括用于控制該語音對話系統的語音應用程序管理器;該語音對話系統的至少兩個服務組件,具體而言,配置以識別語音的語音識別裝置;用于在至少兩個服務組件相互之間以及該至少兩個服務組件和語音應用程序管理器之間提供數據交換的消息路由器;以及將語音對話系統連接到任意硬件平臺和/或任意操作系統和/或至少一個任何設備驅動程序的平臺抽象層,并且還涉及一種使用本發明的系統的方法。
文檔編號G10L15/28GK1909063SQ200610107879
公開日2007年2月7日 申請日期2006年7月27日 優先權日2005年8月4日
發明者M·舍德爾 申請人:哈曼貝克自動系統股份有限公司