国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      通過會話虛擬機進行會話式計算的制作方法

      文檔序號:2821994閱讀:409來源:國知局
      專利名稱:通過會話虛擬機進行會話式計算的制作方法
      本申請基于1998年10月2日提交的美國臨時專利申請60/102,957號和1999年1月27日提交的美國臨時專利申請60/117,595號。
      本申請涉及會話式計算系統(tǒng)和方法。更具體地,本發(fā)明涉及一個CVM(會話虛擬機),其中CVM可以被實現(xiàn)成獨立的OS(操作系統(tǒng))或在能夠針對常規(guī)平臺和應(yīng)用提供向后兼容的常規(guī)OS或RTOS(實時操作系統(tǒng))的頂端運行的平臺或內(nèi)核。這里所描述的CVM向應(yīng)用開發(fā)者公開了會話API(應(yīng)用程序接口),會話協(xié)議和會話基礎(chǔ)類,提供了一個通過管理對話與上下文,會話引擎與資源實現(xiàn)會話式計算的內(nèi)核層,并且提供了跨越具有不同會話能力的平臺和設(shè)備的會話協(xié)議/通信以便實現(xiàn)統(tǒng)一的CUI(會話用戶界面)。
      當前,由于主流體系結(jié)構(gòu),平臺和OS根本上都是基于GUI或圍繞GUI內(nèi)核而建立的,基于GUI(圖形用戶界面)的OS(操作系統(tǒng))在PC(個人計算機)和工作站領(lǐng)域占有絕對優(yōu)勢。當然,除了諸如IVR(交互式語音響應(yīng)),UI主要是語音和DTMF(雙音多頻)I/O(輸入/輸出)的電話應(yīng)用之外,最普遍的信息訪問和管理應(yīng)用均是圍繞GUI模式而建立的。另外,結(jié)合諸如主機或非常專用的系統(tǒng)的舊體系結(jié)構(gòu)使用其他非GUI的UI。通常,對于GUI模式,用戶和機器之間的用戶界面是圖形方式的(例如Microsoft窗口或Unix X Windows)并且通過把各個進程顯示成單獨的窗口來提供多任務(wù),其中可以通過鍵盤,鼠標,和/或諸如筆的其他指點設(shè)備輸入到各個窗口(盡管在不直接與用戶“交互/接口”時可以隱藏某些進程)。
      GUI推動并促進了從分時主機到單個機器及其他諸如服務(wù)器,后端接收器和體系結(jié)構(gòu)的同層設(shè)備的模式切換?;贕UI的OS已經(jīng)被廣泛地應(yīng)用于常規(guī)PC客戶服務(wù)器模型中以便訪問和管理信息。所訪問的信息可以是設(shè)備的本地信息,因特網(wǎng)或?qū)S闷髽I(yè)內(nèi)部網(wǎng)的遠程信息,個人所有并且位于多個個人PC,設(shè)備和服務(wù)器上的信息。這種信息包含內(nèi)容資料,事務(wù)管理和生產(chǎn)工具。然而,我們正看到一個偏離常規(guī)PC客戶/服務(wù)器模型的新趨勢,這種趨勢是訪問和管理針對數(shù)十億彼此互連、普及運算客戶(PvC客戶)的信息,從而允許用戶從任何地方,在任意時刻并且通過任何設(shè)備訪問和管理信息。并且這種對信息的訪問使得信息接口同樣獨立于所使用的設(shè)備或應(yīng)用。這個趨勢與設(shè)備的小型化成對出現(xiàn)并且其能力和復(fù)雜性出現(xiàn)驚人增長。同時,由于電話仍然是最普遍的用于訪問信息的通信設(shè)備,對于通過電話廣泛訪問和管理信息的期望也變得更加強烈。
      不幸的是,對這種信息的訪問受到可用設(shè)備或接口的限制,并且不同設(shè)備的基礎(chǔ)邏輯完全不同。當然,滿足嵌入式領(lǐng)域的種類和約束與其它對等領(lǐng)域,即PC,工作站和后臺服務(wù)器沒有可比性,嵌入式領(lǐng)域向UI提出了真實的挑戰(zhàn)。此外,增加PvC客戶端復(fù)雜性并且連接更加強制的輸入和輸出接口會顯著減少GUI的效果。當然,PvC客戶端更經(jīng)常地被配置在移動環(huán)境中,其中用戶希望進行免提或免看式的交互。即使是對于提供某些強制顯示能力的嵌入式設(shè)備,GUI也會使小型顯示器過載,獨占有限處理能力和CPU資源。另外,這種GUI消耗并分散了努力使用這種強制性接口的用戶的精力。此外,更多近來提出的對在任意時刻從任何地方通過任何設(shè)備訪問和管理信息的普適接口的需求揭示出GUI的局限性。
      最近,在使用計算機的各種應(yīng)用中出現(xiàn)了語音命令和控制(語音C&amp;C)UI。的確,近來語音識別作為電話IVR(交互式語音響應(yīng))接口的一部分在緊包裝零售產(chǎn)品及其逐步介紹方面的成功表明語音識別會成為關(guān)鍵的用戶界面單元。例如,電話公司,呼叫中心和IVR已經(jīng)實現(xiàn)了自動完成某些任務(wù),減少其操作員要求和操作費用并且加速呼叫處理的語音接口。然而,目前IVR應(yīng)用開發(fā)者只是提供其自己專用的語音引擎和API(應(yīng)用程序接口)。對話開發(fā)需要復(fù)雜的腳本編制和內(nèi)行的程序員,并且這些專門的應(yīng)用通常不能在提供商之間移植(即,各個應(yīng)用制作辛苦并且針對特定的業(yè)務(wù)邏輯)。
      另外,使用能市場供應(yīng)的、針對聽寫與命令和控制的連續(xù)語音識別應(yīng)用已經(jīng)實現(xiàn)了針對基于GUI的OS的語音接口。然而這些語音應(yīng)用本質(zhì)上只是對基于GUI的OS的增補,在某種意義上這種應(yīng)用允許對鍵盤和鼠標進行細微的替換并且允許用戶改變控制焦點,加載新任務(wù)并且向擁有控制焦點的任務(wù)提供語音命令。當然,所有當前提供這種語音接口的提供商和技術(shù)開發(fā)者均依靠引入語音或NLU(自然語言理解)作為命令行輸入來直接取代鍵盤或指點設(shè)備以便激活并選擇GUI菜單。在這種應(yīng)用中,語音被認為是一個新的附加I/O形態(tài)而不是人機交互的根本變革方向。
      把語音,NLU或任何其他輸入/輸出接口實現(xiàn)成一個會話系統(tǒng)不應(yīng)當僅限于集成到操作系統(tǒng)中。也不應(yīng)當僅限于通過嵌入式設(shè)備進行的普通查看和感知。應(yīng)當從根本上改變基礎(chǔ)操作系統(tǒng)和計算功能的設(shè)計。此外,輸入和輸出介質(zhì)在操作系統(tǒng)中產(chǎn)生最根本改變時要求的靈活性不一定需要語音輸入/輸出,而是還可以通過更常規(guī)的鍵盤,鼠標或筆輸入和顯示輸出來加以實現(xiàn)。
      因此,非常期望有一個通過統(tǒng)一會話用戶界面跨越多個平臺,設(shè)備和應(yīng)用提供會話式計算,并且不僅僅是向現(xiàn)有應(yīng)用增加語音I/O或會話能力,在常規(guī)操作系統(tǒng)中建立常規(guī)會話應(yīng)用或單純集成“語音”的系統(tǒng)。
      本發(fā)明涉及一個基于通過統(tǒng)一會話用戶界面(CUI)提供會話式計算的會話式計算模式的系統(tǒng)和方法。會話式計算模式規(guī)定與一個用戶進行對話的系統(tǒng)負責對查詢及其執(zhí)行結(jié)果的完成,歧義消除,總結(jié)或校正。這些系統(tǒng)根據(jù)上下文,應(yīng)用,歷史資料和用戶參數(shù)選擇與生物測量抽象并處理查詢,上下文和生成的信息。這些核心原則不需要有語音I/O接口,它們更傾向滲透到基礎(chǔ)計算核心底層。當然,基于本發(fā)明的會話式計算模式適用于沒有語音的情況,并且描述了圍繞對話和會話建立計算的必要性,即使是通過例如鍵盤的設(shè)備進行這種對話。會話式計算模式允許用戶以無縫的方式控制多窗口應(yīng)用,例如,即使通過一個諸如VT100或Palm Pilot屏幕的啞終端顯示器進行操作也可以按照并行方式運行。
      在本發(fā)明的一個方面,一個提供基于會話模式的會話式計算的系統(tǒng)是一個CVM(會話虛擬機),其中CVM可以被實現(xiàn)成獨立的OS(操作系統(tǒng))或者是能夠針對常規(guī)平臺和應(yīng)用提供向后兼容的常規(guī)OS或RTOS(實時操作系統(tǒng))的頂端運行的平臺或內(nèi)核。CVM向應(yīng)用開發(fā)者公開了會話API(應(yīng)用程序接口),會話協(xié)議和會話基礎(chǔ)類,提供了那個通過管理對話與上下文,會話引擎與資源實現(xiàn)會話式計算的內(nèi)核層,并且提供了跨越具有不同會話能力的平臺和設(shè)備的會話協(xié)議/通信以便實現(xiàn)統(tǒng)一的CUI(會話用戶界面)。CVM內(nèi)核根據(jù)其登記的會話能力和要求控制應(yīng)用和設(shè)備之間的對話的核心層。CVM還提供了一個統(tǒng)一會話用戶界面,該界面不單純是增加語音以作為提供會話系統(tǒng)行為特性的I/O形態(tài)。CVM能夠以類似于會話的、具有談話,上下文,混合主動和抽象能力的方式管理任務(wù)。
      在本發(fā)明的一個方面,CVM使用包含語音識別,發(fā)聲者識別,文本-語音,自然語言理解和自然對話產(chǎn)生引擎的會話子系統(tǒng)(可以是本地或分布式的)理解并產(chǎn)生用戶和機器之間的對話。通過CVM訪問這些子系統(tǒng)。通過會話應(yīng)用API對應(yīng)用隱藏各個引擎。CVM可以通過會話引擎API控制這種引擎。另外,會話應(yīng)用API可以包含會話引擎API。通常,CVM包含向應(yīng)用開發(fā)者直接公開這些引擎API。通過使會話引擎API被包含在會話應(yīng)用API中或通過在會話應(yīng)用API層次上仿真類似的調(diào)用和功能可以實現(xiàn)上述要求。
      在另一方面,CVM內(nèi)核層(或CVM控制器)包括一個元信息管理器,一個資源管理器,一個上下文堆棧,一個全局歷史記錄,一個對話管理器和一個任務(wù)調(diào)度器以便管理對話并且選擇活躍的對話,上下文和應(yīng)用。上下文堆棧累積每個活躍進程的上下文(全部查詢參數(shù)和狀態(tài)/模式-即已經(jīng)導(dǎo)入的查詢參數(shù),任何I/O事件和一個應(yīng)用產(chǎn)生的事件),其中上述進程具有一個活躍的會話以及理解輸入所需的任何數(shù)據(jù)(例如,活躍的FSG,主題,詞匯或一個語音輸入的可能查詢)。CVM內(nèi)核協(xié)同被分散在本地和聯(lián)網(wǎng)常規(guī)與會話資源上的不同任務(wù)和進程。CVM內(nèi)核層跟蹤這些資源,向適當?shù)臅捵酉到y(tǒng)發(fā)送輸入并且在設(shè)備,狀態(tài)和應(yīng)用之間作出仲裁。CVM內(nèi)核層還根據(jù)活躍的會話與會話歷史記錄,延遲返回結(jié)果,網(wǎng)絡(luò)資源授權(quán),任務(wù)授權(quán)和記錄協(xié)同輸出產(chǎn)生和劃分優(yōu)先權(quán)。
      在本發(fā)明的另一方面,CVM系統(tǒng)提供了一個高層抽象并且通過與諸如對象,數(shù)據(jù)流句柄,網(wǎng)絡(luò),外設(shè),硬件與本地和網(wǎng)絡(luò)文件系統(tǒng)的單元相關(guān)的元信息抽象出類別。一個基于本發(fā)明一個方面的抽象元信息系統(tǒng)包含由資源所有者/開發(fā)者或資源的以往用戶/應(yīng)用定義的多個類別??梢酝ㄟ^抽象快捷方式和混合主動請求訪問這些單元。提供一個登記在連接或經(jīng)過一個元信息服務(wù)器(類似于DNS服務(wù)器或名稱空間管理器)自動產(chǎn)生與新對象相關(guān)的新類別,其中上述元信息服務(wù)器更新與一個對象或其內(nèi)容相關(guān)的抽象類別目錄并且充當一個登記各個資源的能力的抽象列表??梢允褂孟嗤瑓f(xié)議在本地登記被下載或傳遞的對象。抽象元信息可用于快捷方式,自動提取或網(wǎng)絡(luò)的處理單元。
      在另一方面,CVM提供了使自然語言對話在多個任務(wù),進程和談話(具有多個語境)上進行NLU,NLG,上下文和混合主動分類的能力。提供一個會話輸入接口,其中一組多模式輸入流被分別轉(zhuǎn)換成ASCII命令或查詢(即,屬性-數(shù)值或n元組列表)。各個輸入實體(命令,NLU查詢字段或參數(shù)單位(隔離字母,字,等等))與時間-標記關(guān)聯(lián)并且相應(yīng)被附加到一個混合輸入流中。根據(jù)以前產(chǎn)生各個輸入流的時間或各個應(yīng)用/輸入流依據(jù)上下文歷史記錄接收的優(yōu)先權(quán)劃分兩個或更多具有相同時間標記的輸入流的優(yōu)先權(quán)。參照可能的FSG和詞典檢查混合輸入并且可以有選擇地把輸入反饋到用戶。各個資源交換其會話能力并且輸入流被裁剪成只交換相應(yīng)的信息。
      在另一個方面,提供會話輸出調(diào)度和接口協(xié)議,其中多個任務(wù)的輸出排隊等候基于單通道輸出的上下文堆棧和任務(wù)調(diào)度器的處理。提供一個重定向或修改被分配給各個輸入流的資源的機制,即使在多路復(fù)用的情況下也是如此。各個資源交換其會話能力并且輸出流被裁剪成只交換有關(guān)的信息,其中包含輸出語音字體的選擇和會話呈現(xiàn)的格式化。
      在另一方面,使用編程/腳本語言以便允許把任何可用資源用作輸入或輸出流。通過使用會話子系統(tǒng),各個輸入被轉(zhuǎn)換成可以被程序設(shè)計語言當做內(nèi)置對象直接處理的二進制或ASCII輸入(屬性-數(shù)值對或n元組列表)。自動包含調(diào)用,標志和標簽以便在對象之間發(fā)送,并且處理與不同對象正確接口所需的會話元信息。實際上,具有任何形態(tài)的任何輸入被CVM內(nèi)核層的對話管理器捕捉成一個被加到相關(guān)上下文或上下文堆棧中的事件。例如,一個后跟“我想打開這個”命令的鼠標點擊或指針/輸入筆標點動作被解析成一組屬性值對命令打開,對象最后一次鼠標點擊選擇的窗口或任務(wù)??梢愿鶕?jù)應(yīng)用或用戶的需要專門對輸出進行格式化?,F(xiàn)在可以使用新的編程工具容易地建立多態(tài)會話處理。另外,這種編程語言和腳本包括會話應(yīng)用和CVM之間的會話API以及CML(會話標記語言)。
      在另一個方面,擴充常規(guī)邏輯語句狀態(tài)和操作符以適應(yīng)會話查詢的多樣性,其中可以根據(jù)其ASCII/二進制內(nèi)容或其經(jīng)過NLU轉(zhuǎn)換的查詢/屬性值n元組列表對查詢進行邏輯比較。實現(xiàn)邏輯操作符以便測試或修改這種系統(tǒng)。
      在另一方面,提供允許多個會話設(shè)備或應(yīng)用登記其會話能力的會話網(wǎng)絡(luò)連接協(xié)議,其中包含只需可理解會話的靜音部件。提供會話協(xié)議以便協(xié)同與多個CVM和靜音部件的會話,使得在通過會話連接和協(xié)同多個CVM設(shè)備時能夠通過一個單獨的接口(例如通過一個單獨的擴音器)同時對其進行控制。在彼此發(fā)現(xiàn)并且登記其標識之后,各個系統(tǒng)或設(shè)備交換有關(guān)其會話能力的信息以便把數(shù)據(jù)傳輸限制到有關(guān)信息上。靜音會話部件以類似方式工作并且可以通過一個會話代理服務(wù)器或作為CVM的會話客戶端進行交互。多個CVM之間的協(xié)同可以導(dǎo)致動態(tài)主-從交互和端到端交互,從而提供一個經(jīng)過協(xié)同的、由多個會話連接設(shè)備/對象呈現(xiàn)的統(tǒng)一會話接口。另外,可以考慮其他拓撲,其中包含多個在其間以端到端方式彼此交互的本地主設(shè)備(經(jīng)過優(yōu)化或判定以減少總體網(wǎng)絡(luò)通信量和對話流程延遲)。對象集合通過集中或分布式上下文堆棧為用戶提供了一個單獨的協(xié)同接口。
      在另一個方面,提供開發(fā)工具以便開發(fā)者針對CVM建立,模擬和調(diào)試可理解會話的應(yīng)用。開發(fā)工具提供對API調(diào)用,協(xié)議調(diào)用,使用這些API和協(xié)議并且鏈接相關(guān)庫的應(yīng)用,拓展CVM提供的服務(wù)和行為特性的應(yīng)用的直接實現(xiàn)。這些開發(fā)工具允許根據(jù)多個諸如語音字體的個性化特征構(gòu)造高級會話接口,從而允許選擇提供輸出的語音類型。提供建立會話呈現(xiàn)的、諸如Postcript和AFL(音頻格式化語言)的會話格式化語言。實現(xiàn)這些應(yīng)用的代碼可以是說明性或過程性的代碼。其中包括經(jīng)過解釋和編譯的、具有庫鏈接,會話邏輯,引擎調(diào)用和會話基礎(chǔ)類的腳本和程序。會話基礎(chǔ)類是獨立于形態(tài)或形態(tài)組合,概括了所有對話的特征的基本構(gòu)件或會話原語(gestures)。
      在另一個方面,通過使用關(guān)于本地或遠程文件,尤其是可執(zhí)行文件的作者和/或修改人的元信息防止未授權(quán)訪問來提供會話安全。資源對受限制資源進行一次查詢時,CVM便根據(jù)有關(guān)該資源的安全元信息對用戶進行自動認證。直接對查詢之前剛獲取的請求或非過期信息執(zhí)行認證。
      在另一方面,CVM提供會話定制。每當對資源進行一次查詢時便自動識別一個用戶。直接對查詢之前剛獲取的請求或非過期信息執(zhí)行認證??梢愿鶕?jù)請求方的優(yōu)先順序單獨定制各個任務(wù)或資源訪問。根據(jù)活躍用戶的順序劃分任務(wù)和上下文的優(yōu)先權(quán),并且每當用戶順序發(fā)生改變時重新劃分優(yōu)先權(quán)??梢栽诓恍枰匦略O(shè)置整個環(huán)境的情況下根據(jù)用戶身份的變化在運行時刻修改環(huán)境變量。使用用戶身份在各個上下文或上下文堆棧的層次上消除歧義。
      在另一個方面,不僅根據(jù)文件的名稱,修改或ASCII內(nèi)容,還根據(jù)操作系統(tǒng),應(yīng)用或用戶定義的抽象類別和操作系統(tǒng)在線或離線提取的主題來提供會話搜尋能力,或者在訪問對象時通過會話協(xié)議獲得上述能力。另外,提供上下文搜尋能力以完成活躍的查詢或提取類似的查詢/上下文。
      在另一方面,在資源管理器層次或依賴元信息,抽象和會話查詢/混合主動/校正的任何應(yīng)用內(nèi)部提供會話選擇能力。這種會話選擇能力避免出現(xiàn)較長的基本選擇序列并且提供了自然的快捷方式和選擇校正。另外,提供通過層次結(jié)構(gòu)訪問并且立即呈現(xiàn)對象框架的機制。
      在另一個方面,使用本地和遠程資源,用戶和代理的使用歷史記錄并且通過一個完全協(xié)同的會話接口提供會話幫助,指南和支持,從而完成請求,過程指導(dǎo),信息搜尋和新應(yīng)用的升級與安裝。另外,通過使用訪問幫助信息的NLU查詢或根據(jù)與當前用戶(歷史記錄)相關(guān)的元信息和遺漏或通過混合主動方式修改的參數(shù)可以訪問幫助信息。調(diào)整各個應(yīng)用提供的對話使之適應(yīng)用戶的參數(shù)選擇或技能水平。
      基于本發(fā)明的CVM提供的其他特性包含簡單、直觀、自然并且具有最短學(xué)習周期的接口,對語音的使用大大改善工作效率、新功能或使用的強制會話應(yīng)用,能夠理解自然語言查詢的智能機器/設(shè)備,通過免提和/或免看模式有效完成任務(wù)的能力,補充常規(guī)用戶I/O并且在必要時(沒有顯示器或顯示器較小,沒有鍵盤、輸入筆或定點設(shè)備,遠程計算等等)可以替代的強制多模式高效用戶界面,獨立于被用來訪問的設(shè)備(PC,PDA,電話等等)并且獨立于事務(wù)處理服務(wù)/應(yīng)用的統(tǒng)一用戶界面,和跨越多個會話設(shè)備、允許一個設(shè)備控制多個其它設(shè)備、對現(xiàn)有OS,應(yīng)用,設(shè)備和服務(wù)向后兼容的協(xié)同接口。
      通過下列對最優(yōu)實施例的詳細描述將要描述并且從中可以理解本發(fā)明的這些及其他方面,特性和優(yōu)點,其中需要結(jié)合附圖閱讀該描述。


      圖1是基于本發(fā)明一個實施例的一個會話式計算系統(tǒng)的模塊圖;圖2是圖解基于本發(fā)明一個實施例的一個會話式計算系統(tǒng)的抽象層次的圖例;圖3是圖解在基于本發(fā)明一個方面的會話式計算系統(tǒng)中實現(xiàn)的會話協(xié)議的模塊圖;圖4是基于本發(fā)明一個實施例的一個會話式計算系統(tǒng)的構(gòu)件的模塊圖;圖5是一個圖解基于本發(fā)明一個方面的任務(wù)調(diào)度進程的圖例;圖6是一個圖解基于本發(fā)明一個方面的通用會話用戶界面和輸入/輸出進程的圖例;圖7是一個圖解基于本發(fā)明一個方面的分布式會話式計算系統(tǒng)的圖例;圖8是圖解基于本發(fā)明一個最優(yōu)實施例的一個通用會話設(shè)備的圖例;圖9是一個圖解基于本發(fā)明一個方面的會話管理進程的圖例;圖10是一個圖解基于本發(fā)明另一個方面的會話管理進程的圖例;圖11是一個圖解基于本發(fā)明另一個方面的會話管理進程的圖例;和圖12是一個圖解基于本發(fā)明的會話網(wǎng)絡(luò)的圖例。
      本發(fā)明涉及引用會話系統(tǒng)和多態(tài)接口的所有方面的會話式計算系統(tǒng)和方法。提供基于這里描述的會話式計算模式的會話式計算的關(guān)鍵構(gòu)件是CVM(會話虛擬機)。在一個實施例中,CVM是一個運行在常規(guī)OS或RTOS頂端的會話平臺或內(nèi)核。還可以用PvC(普及運算)客戶端和服務(wù)器實現(xiàn)CVM平臺。通常,CVM在會話子系統(tǒng)(例如語音識別引擎,文本-語音等等。)和會話和/或常規(guī)應(yīng)用之間提供會話API和協(xié)議。CVM也可以通過有更多限制的接口為現(xiàn)有應(yīng)用提供向后兼容。如下所述,CVM提供了會話服務(wù)和行為特性以及會話協(xié)議以便與多個同樣配備了一個CVM層或至少可以理解會話的應(yīng)用和設(shè)備進行交互。
      應(yīng)當理解,這里描述的不同單元和協(xié)議/API是根據(jù)其執(zhí)行的功能或交換的信息來定義的。其實際組織或?qū)崿F(xiàn)可以發(fā)生變化,例如,通過相同或不同的實體來實現(xiàn),被實現(xiàn)成較大構(gòu)件的一個構(gòu)件,或者作為一個獨立實例化的對象或一組這樣的對象或類。
      一個基于這里根據(jù)本發(fā)明描述的會話式計算模式的CVM(或操作系統(tǒng))允許計算機或任何其他交互設(shè)備與用戶進行交談。無論一臺機器是否有顯示器或GUI能力,也無論其是否有任何鍵盤,輸入筆或指點設(shè)備,CVM還允許用戶在該機器上運行多個任務(wù)。實際上,用戶可以管理這些類似一個會話的任務(wù)并且最終完成一個任務(wù)或多個同時執(zhí)行的任務(wù)。為了管理類似一個會話的任務(wù),基于本發(fā)明的CVM提供根據(jù)混合主動方式,上下文和高級抽象層次執(zhí)行其各種功能的能力?;旌现鲃臃绞皆试S用戶通過與系統(tǒng)進行對話自然地完成,修改或校正一個請求。混合主動方式還意味著CVM可以積極幫助(主動幫助)并且指導(dǎo)用戶完成任務(wù),在語音應(yīng)用中尤其如此,其中混合主動能力是補充顯示能力較弱的系統(tǒng)或具有有限顯示能力的系統(tǒng)的自然方式。通常,CVM被用來補充常規(guī)接口和用戶輸入/輸出而不是替代它們。這就是“多態(tài)”的概念,其中以和鼠標,鍵盤及其他諸如輸入筆的輸入設(shè)備并行的方式使用語音。當設(shè)備局限性對某些接口的實現(xiàn)有限制時可以取代常規(guī)接口。另外,在設(shè)備,對等層次和服務(wù)之間形成的接口的普適性和統(tǒng)一性是一個附加的強制特征。應(yīng)當理解,CVM系統(tǒng)可以用于大量具有常規(guī)輸入和/或輸出介質(zhì)的功能。實際上,利用基于本發(fā)明的CVM可以使具有典型鍵盤輸入和結(jié)合常規(guī)監(jiān)視器顯示的指點設(shè)備的計算機顯著受益。在1999年4月7日申請,標題為“多態(tài)命令解釋程序”的美國臨時專利申請第60/128,081號中描述了一個例子,其中該專利申請與本發(fā)明有共同轉(zhuǎn)讓并且在此對其加以參考引用(該申請描述一個構(gòu)造在GUI形態(tài)和語音形態(tài)之間緊密同步的真實多態(tài)應(yīng)用的方法)。換句話說,甚至不希望與其計算機交談的用戶也可以使其與CVM機器的交互得到顯著的改進。
      現(xiàn)在參照圖1,一個模塊解了基于本發(fā)明一個實施例的一個會話式計算系統(tǒng)(或CVM系統(tǒng)),其中在一個客戶端設(shè)備或服務(wù)器上實現(xiàn)該系統(tǒng)。通常,CVM提供一個統(tǒng)一協(xié)同的多態(tài)會話用戶界面(CUI)10。CUI的“多態(tài)”特性意味著諸如語音,鍵盤,輸入筆,和指點設(shè)備(鼠標),觸摸屏的各種I/O資源可被用于CVM平臺。CUI10的“通用”特性意味著無論通過一個桌面計算機,具有有限顯示能力的PDA還是沒有顯示能力的電話來實現(xiàn)CVM,CVM系統(tǒng)均為用戶提供相同的UI。換句話說,通用性意味著CVM系統(tǒng)可以適當?shù)靥幚砭哂袕募冋Z音到語音,從語音到多態(tài),即語音+GUI并且再到純GUI的能力的設(shè)備的UI。所以,無論訪問形態(tài)如何,通用CUI為所有用戶交互提供相同的UI。
      此外,通用CUI的概念擴展到協(xié)同CUI的概念。具體地,假定多個設(shè)備(在多個計算機對等層次內(nèi)部或之間)提供相同的CUI,可以通過一個單獨的會話-即協(xié)同接口管理這些設(shè)備。即,當多個設(shè)備以會話方式相連(即,彼此理解)時,可以通過其中一個設(shè)備的一個接口(例如單個擴音器)同時控制這些設(shè)備。例如,語音可以通過一個統(tǒng)一協(xié)同的CUI自動控制以會話方式相連的一個智能電話,一個尋呼機,一個PDA,網(wǎng)絡(luò)計算機和IVR,以及一個車載計算機。下面會更詳細地解釋這些CUI概念。
      CVM系統(tǒng)還包括多個應(yīng)用,其中包含可理解會話的應(yīng)用11(即用會話協(xié)議“交談”的應(yīng)用)和常規(guī)應(yīng)用12??衫斫鈺挼膽?yīng)用11是被專門編程以便通過會話應(yīng)用API13與一個CVM核心層(或內(nèi)核)進行操作的應(yīng)用。通常,CVM內(nèi)核14根據(jù)其登記的CVM能力和要求控制應(yīng)用和設(shè)備之間的對話并且提供統(tǒng)一的CVM用戶界面,該界面不單純是把語音添加成提供會話系統(tǒng)行為特性的I/O形態(tài)。CVM系統(tǒng)可以建立在一個常規(guī)OS,API15和常規(guī)設(shè)備硬件16的頂端并且位于一個服務(wù)器或任何客戶端設(shè)備(PC,PDA,PvC)上面。由CVM內(nèi)核層14管理常規(guī)應(yīng)用12,其中CVM內(nèi)核層14負責通過OSAPI,GUI菜單和常規(guī)應(yīng)用的命令以及基礎(chǔ)OS命令進行訪問。CVM自動操作所有的輸入/輸出發(fā)起方,其中包含會話子系統(tǒng)18(即,會話引擎)和常規(guī)OS15的常規(guī)子系統(tǒng)(例如,文件系統(tǒng)和常規(guī)驅(qū)動器)。通常,會話子系統(tǒng)18負責使用適當?shù)臄?shù)據(jù)文件17(例如,上下文,有限狀態(tài)語法,詞匯表,語言模型,符號查詢映射等等。)把語音請求轉(zhuǎn)換成查詢并且把輸出和結(jié)果轉(zhuǎn)換成口語消息。會話應(yīng)用API13傳達CVM14的全部信息以便把查詢轉(zhuǎn)換成應(yīng)用調(diào)用,反之在輸出被提供到用戶之前把輸出轉(zhuǎn)換成語音并且加以適當?shù)姆诸悺?br> 現(xiàn)在參照圖2,一個圖例圖解了基于本發(fā)明一個實施例的一個會話式計算系統(tǒng)(或CVM)的抽象編程層次。CVM的抽象層包括可理解會話的應(yīng)用200和常規(guī)應(yīng)用201。如上所述,可理解會話的應(yīng)用200通過會話應(yīng)用API層203與CVM內(nèi)核層202交互。會話應(yīng)用API層203包括會話編程語言/腳本和庫(會話基礎(chǔ)類)以便提供CVM內(nèi)核202開放的各種功能(下面討論)。例如,會話編程語言/腳本提供允許應(yīng)用開發(fā)者掛到(或開發(fā))可理解會話的應(yīng)用200的會話API。它們也提供允許開發(fā)者把會話功能融入一個應(yīng)用使之“可理解會話”的會話API層203,會話協(xié)議204和系統(tǒng)調(diào)用。實現(xiàn)應(yīng)用的代碼,API調(diào)用和協(xié)議調(diào)用包含經(jīng)過解釋和編譯的、具有庫鏈接,會話邏輯(如下所述)引擎調(diào)用和會話基礎(chǔ)類的腳本和程序。
      更具體地說,會話應(yīng)用API層203包括多個會話基礎(chǔ)類205(或基礎(chǔ)對話構(gòu)件),通過可以被用來建立基于本發(fā)明的CUI或可理解會話的應(yīng)用200的庫函數(shù)把這些基礎(chǔ)類提供給應(yīng)用開發(fā)者。會話基礎(chǔ)類205獨立于形態(tài)或形態(tài)組合(可以通過過程性或說明性的方式實現(xiàn))、概括所有對話的特征的基本構(gòu)件或會話原語(如T.V.Raman在“聽覺用戶界面,關(guān)于會說話的計算機”,Kluwer學(xué)術(shù)出版社,Boston1997中描述的)。會話基礎(chǔ)類205包括CUI建立模塊與會話平臺庫,對話模塊與構(gòu)件,和對話腳本與小程序。會話基礎(chǔ)類205可以在本地被編譯成會話對象206。更具體地說,通過在用諸如Java或C++的程序設(shè)計語言調(diào)用這些庫的代碼中綜合不同的個體類從會話基礎(chǔ)類205(基礎(chǔ)對話構(gòu)件)編譯出會話對象205(或?qū)υ挊?gòu)件)。如上所述,編碼包括把這種基礎(chǔ)對話構(gòu)件嵌入到說明性代碼中或者把它們鏈接到代碼中。嵌套調(diào)用和嵌入會話基礎(chǔ)類205允許為執(zhí)行特定對話任務(wù)或應(yīng)用而構(gòu)造(按照說明性方式或通過編譯/解釋)會話對象206(可重用或不可重用)。例如,可以通過諸如由一個會話瀏覽器(或查看器)(200a)處理或加載的CML(會話標記語言)(嵌套或非嵌套)頁面的說明性方式實現(xiàn)會話對象206,其中在IBM文檔號為Y09998-392P,與本專利同時申請,標題為“會話瀏覽器和會話系統(tǒng)”的專利申請中公開了上述會話瀏覽器,并且該專利申請與本發(fā)明有共同轉(zhuǎn)讓并且在此對其加以參考引用。對話對象包括可以通過CML(會話標記語言)頁面(通過會話瀏覽器)加載的小應(yīng)用程序或?qū)ο?,CVM頂端上的過程性對象(可能分布在CVM的頂端),CML中的腳本CML標簽和小服務(wù)程序構(gòu)件。
      根據(jù)本發(fā)明可以實現(xiàn)的會話原語的某些例子如下所述。一個會話原語消息被機器用來向用戶傳遞信息類消息。原語消息通常會被表示成一個顯示字符串或口語提示。被說出的消息部分可以是一個在CVM頂端運行的、關(guān)于各種應(yīng)用/對話的當前狀態(tài)的函數(shù)。一個“從集合中選擇”會話原語被用來封裝期待用戶從一個離散選項集合中選擇選項的對話。該原語封裝了提示,缺省選擇,和合法選項集合。“從范圍中選擇”會話原語被用來封裝允許用戶從一個連續(xù)數(shù)值范圍中選擇一個數(shù)值的對話。該原語封裝了有效范圍,當前選擇,和一個信息性提示。另外,當輸入約束更加復(fù)雜(或許不存在)時,會話原語輸入被用來獲得用戶輸入。該原語封裝用戶提示,關(guān)于所請求的信息項的應(yīng)用級語義(TBD),并且可能還包括測試輸入有效性的謂詞。然而,如上所述,會話基礎(chǔ)類包含但已超越了會話原語的概念(即擴展到基本行為和服務(wù)以及執(zhí)行會話任務(wù)的規(guī)則層次)。
      如下所述,一個編程模型允許通過會話API在一個主對話管理器和引擎之間建立連接。在CVM上提供基礎(chǔ)類的數(shù)據(jù)文件(對嵌入平臺可加載)??梢詳U充和加載對象的數(shù)據(jù)文件。不同對象充當同時對話管理器。某些會話基礎(chǔ)類的例子如下所述低層次對話會話基礎(chǔ)類(在適當?shù)牡胤娇捎玫亩鄳B(tài)功能)(在屬于分布方式時具有CVM句柄)1.從列表中選擇一項2.根據(jù)語法填充字段3.發(fā)聲者聲學(xué)登記4.發(fā)聲者聲學(xué)識別5.發(fā)聲者聲學(xué)驗證6.發(fā)聲驗證7.加入列表8.發(fā)聲登記
      9.根據(jù)NL獲得輸入10.消除歧義等等低層次專用對話會話基礎(chǔ)類(在適當?shù)牡胤娇捎玫亩鄳B(tài)功能)(在屬于分布方式時具有CVM句柄)1.得到是/否2.得到日期3.得到時間4.得到自然數(shù)5.得到當前值6.得到美國或國際電話號碼,規(guī)則可以指定,也可以是任意可能的規(guī)則7.得到數(shù)字串8.得到字母數(shù)字9.得到拼寫10.語音生物測定識別11.打開NL12.關(guān)閉NL13.刪除NL14.保存NL15.選擇NL16.標記NL等等。
      中間層次對話會話基礎(chǔ)類(在適當?shù)牡胤娇捎玫亩鄳B(tài)功能)(在屬于分布方式時具有CVM句柄)1.表格填充2.請求確認
      3.識別用戶4.通過對話登記用戶5.語音生物測定識別6.通過對話驗證用戶7.校正輸入8.語音生物測定識別9.語音生物測定驗證10.語音生物測定登記11.管理表格12.填充空白字段13.傾聽TTS14.傾聽回放15.同時填充表格16.同時分類對話17.總結(jié)對話等等。
      高層專用基礎(chǔ)類(在適當?shù)牡胤娇捎玫亩鄳B(tài)功能)(在屬于分布方式時具有CVM句柄)1.管理銀行帳戶2.管理文件夾3.請求旅行客房預(yù)訂4.管理電子郵件5.管理日歷6.管理地址簿/定向器等等。
      通信會話類1.得到CVM設(shè)備目錄2.得到CVM設(shè)備能力
      3.向設(shè)備發(fā)送能力信息4.請求具有指定能力的設(shè)備5.從CVM設(shè)備得到句柄6.標記為主CVM7.標記為活躍CVM8.得到上下文9.發(fā)送上下文10.得到結(jié)果11.發(fā)送結(jié)果12.保存上下文等等。
      服務(wù)和行為會話基礎(chǔ)類(在屬于分布方式時也可以具有CVM句柄)1.得到元信息2.發(fā)送元信息3.登記類別4.得到類別目錄5.會話搜尋(基于對話或抽象)6.會話選擇(基于對話或抽象)7.接受結(jié)果8.拒絕結(jié)果9.仲裁結(jié)果等等。
      其他服務(wù)(具有多個類)會話安全會話定制會話幫助會話劃分優(yōu)先權(quán)資源管理輸出格式化和呈現(xiàn)I/O抽象引擎抽象等等。
      規(guī)則如何根據(jù)第一名稱完整地得到一個名稱如何得到一個電話號碼如何得到一個地址如何撤消一個查詢?nèi)绾涡U粋€查詢等等。
      CVM提供的開發(fā)環(huán)境在這里被稱作SPOKEN AGETM。SpokenAge允許開發(fā)者針對CVM建立,模擬和調(diào)試可理解會話的應(yīng)用。除了提供API調(diào)用的直接實現(xiàn)之外,SpokenAge還提供了建立具有多種個性化特征的高級會話接口。允許用戶選擇提供輸出的語音類型的語音字體和建立會話呈現(xiàn)的會話格式化語言類似Postcript和AFL(音頻格式化語言)。
      如上所述,會話應(yīng)用API層203包括會話編程語言和腳本以便提供通用會話輸入和輸出,會話邏輯和會話元信息交換協(xié)議。會話編程語言/腳本以便允許把任何可用資源用作輸入或輸出流。如下所述,通過使用會話引擎208和會話數(shù)據(jù)文件209(由CVM202通過會話引擎API207訪問),各個輸入被轉(zhuǎn)換成可以被程序設(shè)計語言當做內(nèi)置對象直接處理的二進制或ASCII輸入??梢宰詣影{(diào)用,標志和標簽以便在對象之間進行發(fā)送,并且處理與不同對象正確接口所需的會話元信息。此外,可以根據(jù)應(yīng)用或用戶的需要專門對輸出流進行格式化。這些編程工具允許容易地建立多態(tài)會話處理。此外,擴充邏輯語句狀態(tài)和操作符以適應(yīng)會話查詢的多樣性,其中可以根據(jù)其ASCII/二進制內(nèi)容、其經(jīng)過NLU轉(zhuǎn)換的查詢(常規(guī)和會話子系統(tǒng)的輸入/輸出)或基于FSG的查詢(其中系統(tǒng)使用受限制的命令)對查詢進行比較??梢詫崿F(xiàn)邏輯操作符以便測試或修改這種系統(tǒng)。所擴充的會話邏輯數(shù)值/操作符包含從ASCII碼的角度看,有真,假,不完整,不明確,不同/相等,從NLU的角度看,有不同/相等,從活躍查詢字段的角度看,有不同/相等,以及未知,不兼容和不可比。
      并且,會話應(yīng)用API層203還包括擴展基礎(chǔ)OS功能和行為的代碼。這種擴展包含高層抽象和與任何對象相關(guān)的抽象類別,抽象類別的自登記機制,記錄,總結(jié),會話搜尋,選擇,重定向,用戶定制,訓(xùn)練能力,幫助,多用戶和安全能力,以及基礎(chǔ)類庫,下面會更詳細地講述上述各個擴展。
      圖2的會話式計算系統(tǒng)還包括一個在核心引擎會話引擎208(例如語音識別,NL分析,NLU,TTS和語音壓縮/解壓縮引擎)之間提供接口的會話引擎API層207和使用它們的應(yīng)用。引擎API層207也提供與本地或遠程的核心引擎進行通信的協(xié)議。一個I/OAPI層210提供一個針對諸如鍵盤,鼠標,觸摸屏,小鍵盤等等的I/O資源211的接口(提供一個多態(tài)會話UI)和一個用于捕捉語音I/O(音頻入/音頻出)的音頻子系統(tǒng)。I/OAPI層210提供設(shè)備抽象,I/O抽象和UI抽象。I/O資源211會通過I/OAPI層210在CVM內(nèi)核層202上登記。
      核心CVM內(nèi)核層202包括諸如會話應(yīng)用和行為/服務(wù)管理層215,會話對話管理器(仲裁器)層219,會話資源管理器層220,任務(wù)/調(diào)度器管理器221和元信息管理器220的編程層,該層次提供CVM層202的核心功能。會話應(yīng)用和行為/服務(wù)管理器層215包括管理常規(guī)和可理解會話的應(yīng)用200與201的功能。這種管理功能包含跟蹤哪個應(yīng)用被登記(本地應(yīng)用和網(wǎng)絡(luò)分布式應(yīng)用),應(yīng)用的對話接口(如果有)是什么,以及各個應(yīng)用的狀態(tài)如何。另外,會話應(yīng)用和服務(wù)/行為管理器20啟動與CVM系統(tǒng)提供的任何特定服務(wù)或行為相關(guān)的所有任務(wù)。會話服務(wù)和行為是用戶可以期待在應(yīng)用和交互中發(fā)現(xiàn)的會話UI的所有行為和功能以及應(yīng)用開發(fā)者可以期待能夠通過API訪問(在不必通過應(yīng)用開發(fā)來實現(xiàn)的情況下)的功能。CVM內(nèi)核202提供的會話服務(wù)和行為的例子包含但不僅限于會話分類與元信息,會話對象,資源和文件管理,會話搜尋,會話選擇,會話定制,會話安全,會話幫助,會話劃分優(yōu)先權(quán),會話資源管理,輸出格式化與呈現(xiàn),總結(jié),會話延遲動作/代理/記錄會話邏輯,和協(xié)同接口與設(shè)備(這里都會詳細加以解釋)。由會話應(yīng)用API層203通過API調(diào)用提供這種服務(wù)。會話應(yīng)用和行為/服務(wù)管理器215負責執(zhí)行所有為使UI適應(yīng)設(shè)備,應(yīng)用的能力與約束和/或用戶參數(shù)選擇所需的所有不同功能。
      會話對話管理器219包括管理所有登記應(yīng)用之間的對話(包括語音與諸如GUI鍵盤,指針,鼠標,視頻輸入等等的多態(tài)I/O的會話對話)的功能。具體地,會話對話管理器219確定用戶具有什么信息,用戶提供了什么輸入,以及哪個應(yīng)用應(yīng)當處理用戶輸入。
      會話資源管理器220確定登記哪個會話引擎208(本地會話208和/或網(wǎng)絡(luò)分布式資源),各個登記資源的能力和各個登記資源的狀態(tài)。另外,會話資源管理器220劃分CPU周期分配或輸入/輸出的優(yōu)先權(quán)以便保持一個正在與活躍應(yīng)用(例如,用于識別或處理一個具有優(yōu)先權(quán)的當前輸入或輸出的引擎)進行的對話。類似地,對于分布式應(yīng)用,會話資源管理器220路由并選擇被用來使活躍前臺處理的任何網(wǎng)絡(luò)延遲最小化的引擎和網(wǎng)絡(luò)路徑。
      任務(wù)調(diào)度器/管理器221調(diào)度并協(xié)同分散(由用戶和機器)在本地與網(wǎng)絡(luò)常規(guī)和會話資源上的不同任務(wù)和進程(下面會詳細解釋)。元信息管理222通過一個元信息注冊表218管理與系統(tǒng)相關(guān)的元信息。元信息管理器218和注冊表218收集通常假定在會話交互中已知但在當前會話的層次上得不到的全部信息。例子是先驗知識文化層次,教育水平假定和固定信息過去的請求,參考資料,關(guān)于用戶,應(yīng)用,新聞等等的信息。這些信息通常是需要保存并保持超過會話歷史記錄/上下文的存在時間長度/壽命的信息和期待成為會話的公共知識的信息,因而這些信息從不在當前和過去的會話交互其間被定義。并且如下所述,針對命令,資源和宏的快捷方式由元信息管理器222來管理并且被存儲在元信息注冊表218中。另外,元信息注冊表21包含一個基于用戶身份的用戶使用記錄。應(yīng)當理解,當被存儲在元信息注冊表218中并且與應(yīng)用相關(guān)時,可以根據(jù)用戶的使用歷史記錄裁剪CVM系統(tǒng)提供的諸如會話幫助和支持的服務(wù)以及某些對話提示(介紹,提問,反饋等等)。如果一個用戶以前已經(jīng)與一個指定應(yīng)用進行交互,則在假定用戶已經(jīng)對其熟悉的情況下可以減少解釋。類似地,如果一個用戶犯了許多錯誤,由于多個錯誤被解釋成用戶對應(yīng)用或功能不確定,不熟悉或不理解/誤解,所以解釋可以更加復(fù)雜。
      對話管理器219管理一個上下文堆棧217。上下文堆棧217包括有關(guān)一個應(yīng)用的全部信息。這種信息包含所有針對在對話的上下文環(huán)境中執(zhí)行的后臺程序和任何在對話其間發(fā)生的外部事件的變量,狀態(tài),輸入,輸出和查詢。如下所述,上下文堆棧與對應(yīng)于各個活躍對話(或延遲對話-代理/記錄)、經(jīng)過組織/分類的上下文相關(guān)。一個全局歷史記錄216被包含在CVM系統(tǒng)中,其中包含被存儲在各個應(yīng)用的上下文之外的信息。全局歷史記錄存儲與所有應(yīng)用和在一個會話對話期間采取的動作相關(guān)的信息(即,當前對話用戶和機器之間的對話的歷史記錄或從機器被啟動開始的歷史記錄)。
      CVM內(nèi)核層202還包括一個允許通過對話管理器219(而不是略過對話管理器219)訪問后臺業(yè)務(wù)邏輯213的后臺抽象層223。這樣就允許把這種訪問加到上下文堆棧217和全局歷史記錄216中。例如,后臺抽象層223可以把來自和來自對話管理器219的輸入和輸出轉(zhuǎn)換成數(shù)據(jù)庫查詢。層次223會把標準化屬性值n元組轉(zhuǎn)換成數(shù)據(jù)庫查詢并且把查詢結(jié)果轉(zhuǎn)換成返回給對話管理器219的屬性值n元組列表或集合。另外,提供一個會話譯碼層224以便根據(jù)運行CVM系統(tǒng)的設(shè)備的I/O和引擎能力修改呈現(xiàn)給用戶的行為,用戶界面和對話。
      CVM系統(tǒng)還包括一個作為OS212提供的基礎(chǔ)系統(tǒng)服務(wù)的一部分的通信堆棧214(或通信引擎)。CVM系統(tǒng)使用通信堆棧通過會話協(xié)議204發(fā)送信息,其中會話協(xié)議204擴展常規(guī)通信服務(wù)以便提供會話通信。應(yīng)當理解,根據(jù)本發(fā)明在會話設(shè)備之間提供會話通信交換的一個實施例并且結(jié)合眾所周知的OSI(開放系統(tǒng)互聯(lián))協(xié)議層次可以實現(xiàn)通信堆棧214。如本領(lǐng)域中所知的,OSI包括七個層次,其中每個層次執(zhí)行各自在網(wǎng)絡(luò)連接設(shè)備的網(wǎng)絡(luò)分布式會話應(yīng)用之間提供通信的功能。這些層次(其功能是易理解的)包括一個應(yīng)用層,一個表示層,一個會話層,一個傳送層,一個網(wǎng)絡(luò)層,一個數(shù)據(jù)鏈接層和一個物理層。通過會話協(xié)議204擴展應(yīng)用層以便允許會話通信。
      會話協(xié)議204通常允許遠程應(yīng)用和資源登記其會話能力和代理。在IBM文檔號為Y0999-113P,與本專利同時申請,標題為“提供網(wǎng)絡(luò)協(xié)同會話服務(wù)的系統(tǒng)和方法”的專利申請中也公開了這些會話協(xié)議204,其中該專利申請與本發(fā)明有共同轉(zhuǎn)讓并且在此對其加以參考引用(其中在一個不利用CVM系統(tǒng)的系統(tǒng)中使用會話協(xié)議)。具體地,額外參照圖3,會話協(xié)議204(或方法)包含分布式會話協(xié)議300,發(fā)現(xiàn),登記和協(xié)商協(xié)議301和語音傳輸協(xié)議302。分布式會話協(xié)議300允許網(wǎng)絡(luò)會話應(yīng)用200,200a和網(wǎng)絡(luò)連接設(shè)備(本地客戶端及其他諸如服務(wù)器的網(wǎng)絡(luò)設(shè)備)交換信息以便彼此登記其當前會話狀態(tài),參數(shù)(數(shù)據(jù)文件209)和上下文。分布式會話協(xié)議300允許在網(wǎng)絡(luò)連接設(shè)備(例如客戶/服務(wù)器)之間共享本地和分布式會話引擎208,208a。分布式會話協(xié)議300也包含對話管理器(DM)協(xié)議(下面討論)。分布式會話協(xié)議允許交換信息以便協(xié)同涉及多個設(shè)備或應(yīng)用的會話,這些設(shè)備或應(yīng)用包含主/從式會話網(wǎng)絡(luò),同層會話網(wǎng)絡(luò),靜音部件??梢允褂梅植际綍拝f(xié)議在網(wǎng)絡(luò)設(shè)備之間交換的信息包括數(shù)據(jù)文件(參數(shù))指針,數(shù)據(jù)文件及其他會話參數(shù)的傳遞(如果需要),輸入、輸出事件和識別結(jié)果通知,會話引擎API調(diào)用和結(jié)果,狀態(tài)和上下文及其他系統(tǒng)事件通知,登記更新登記握手,協(xié)商更新協(xié)商握手,和丟失一個請求資源時的發(fā)現(xiàn)更新。
      另外,分布式會話協(xié)議300允許應(yīng)用和設(shè)備交換其他諸如小應(yīng)用程序,ActiveX構(gòu)件,及其他可執(zhí)行代碼的信息,其中上述可執(zhí)行代碼允許設(shè)備或相關(guān)應(yīng)用在主/從或端到端會話網(wǎng)絡(luò)結(jié)構(gòu)和包括靜音部件的網(wǎng)絡(luò)中的這種設(shè)備之間協(xié)同一個會話。換句話說,當多個CVM或可理解會話的多個設(shè)備以會話方式相連并且協(xié)同工作時,可以通過其中一個單獨的接口(即通過一個單獨的擴音器)同時控制這些設(shè)備。例如,語音可以通過一個唯一協(xié)同的會話接口自動控制一個智能電話,一個尋呼機,一個PDA,網(wǎng)絡(luò)計算機,一個IVR,和一個車載計算機。可以通過另一個會話設(shè)備的會話接口控制靜音部件。靜音部件是一個可理解會話以便其能夠通過API/協(xié)議與一個網(wǎng)絡(luò)連接的CVM進行交互的系統(tǒng)。然而除了可能已經(jīng)指定的功能之外,靜音部件不向用戶提供任何I/O。例如,通過能夠被一個CVM發(fā)現(xiàn),房屋內(nèi)的一盞燈就變成可理解會話的,從而能夠登記其會話狀態(tài)(例如,其命令是開燈,關(guān)燈)并且能夠執(zhí)行從一個CVM發(fā)送的命令。在這種形式下,這里遠程UCRC(通用會話遠程控制)的CVM遠程控制能夠下載由所有被發(fā)現(xiàn)的可理解會話設(shè)備支持的命令。因而用戶可以簡單地通過與CVM遠程控制對話用語音控制這些應(yīng)用。
      在一個實施例中,通過RMI(遠程方法調(diào)用)或RPC(遠程過程調(diào)用)系統(tǒng)調(diào)用實現(xiàn)分布式會話協(xié)議300,從而實現(xiàn)應(yīng)用與網(wǎng)絡(luò)上不同會話引擎之間的調(diào)用。如本領(lǐng)域中所知的,RPC是允許一個應(yīng)用向網(wǎng)絡(luò)上的另一個應(yīng)用請求一個接收方的協(xié)議。類似地,RMI是一個可以用來使對象在分布式網(wǎng)絡(luò)中進行交互的方法。RMI允許一或多個對象隨請求一起傳遞。
      會話協(xié)議204還包括會話發(fā)現(xiàn)(檢測),登記,和協(xié)商協(xié)議(或方法)301。登記協(xié)議允許各個網(wǎng)絡(luò)設(shè)備或應(yīng)用交換并登記有關(guān)其會話能力,狀態(tài)/上下文和參數(shù)的信息,從而把設(shè)備之間的數(shù)據(jù)傳遞限制成只傳輸有關(guān)信息并且協(xié)商出主/從或同層網(wǎng)絡(luò)關(guān)系。靜音會話部件(只可理解會話)與此類似(即,登記其能力等等。)并且可以通過一個會話代理服務(wù)器進行交互或充當一個CVM的客戶端(即,靜音部件在CVM設(shè)備上的使用會話登記)。
      登記協(xié)議允許交換下列信息(1)能力與包含定義和最新事件的負載消息;(2)引擎資源(一個指定設(shè)備是否包含NLU,DM,NLG,TTS,發(fā)聲者識別,語音識別壓縮,編碼,存儲等等。);(3)I/O能力;(4)CPU,存儲器,和負載能力;(5)數(shù)據(jù)文件類型(特定語境,詞典,語言模型,語言,等等。);(6)網(wǎng)絡(luò)地址和功能;(7)關(guān)于一個用戶的信息(定義和最新事件);(8)用戶對設(shè)備,應(yīng)用或?qū)υ挼膮?shù)選擇;(9)定制;(10)用戶經(jīng)驗;(11)幫助;(12)每個應(yīng)用的能力要求(和應(yīng)用狀態(tài))(定義和最新事件);(13)關(guān)于CUI服務(wù)和行為的元信息(幫助文件,類別,會話優(yōu)先權(quán),等等。)(定義和更新事件,通常通過針對列表的指針);(14)協(xié)議握手;和/或(15)拓撲協(xié)商。
      使用諸如TCP/IP,TCP/IP29,X-10或CEBus的常規(guī)通信協(xié)議和設(shè)備之間的套接字通信可以進行登記。設(shè)備使用一個分布式會話體系結(jié)構(gòu)向其相關(guān)的會話引擎和一個CVM控制器傳送其會話參數(shù)(例如,活躍詞匯,語法和語言模型,分析和轉(zhuǎn)換/標簽?zāi)P?,語音印模,合成規(guī)則,基表(發(fā)音規(guī)則)和語音字體)。把這種信息當做文件、數(shù)據(jù)流或URL傳遞到CVM控制器和會話引擎(或如上所述,在設(shè)備間的信息交換層次上的說明性或過程性信息對象和XML結(jié)構(gòu))。在一個實現(xiàn)登記協(xié)議的實施例中,當進行連接時,設(shè)備可以通過交換一組標志或一個設(shè)備屬性對象用預(yù)先安排的協(xié)議(例如TTS英語,任何文本,語音識別,500個字和FSG語法,無發(fā)聲者識別等等。)交換關(guān)于其會話能力的信息。同樣地,應(yīng)用可以交換引擎要求列表。對于主/從網(wǎng)絡(luò)結(jié)構(gòu),主對話管理器可以編譯所有列表并且用會話能力滿足功能和要求。另外,可以通過指示傳遞或指向上下文堆棧/可以被控制器訪問并且加入其上下文堆棧的設(shè)備或應(yīng)用的歷史記錄來發(fā)送上下文信息。設(shè)備也傳遞關(guān)于其多態(tài)I/O和UI能力(有屏幕/沒有屏幕,音頻入和音頻出能力,鍵盤,等等。)的信息。會話參數(shù)允許一個對話引擎根據(jù)當前狀態(tài)和上下文估計NLU引擎是否適合進行一個新查詢。
      會話發(fā)現(xiàn)協(xié)議301被設(shè)備的自然聯(lián)網(wǎng)的會話客戶端230,230a用來自動發(fā)現(xiàn)本地或網(wǎng)絡(luò)可理解會話系統(tǒng)并且動態(tài)且自然地網(wǎng)絡(luò)連接這種可理解會話的系統(tǒng)。通過發(fā)現(xiàn)協(xié)議交換的信息包括如下(1)廣播用于握手或偵聽請求的請求;(2)交換設(shè)備標識符;(3)交換第一次登記的句柄/指針;和(4)交換第一次協(xié)商的句柄。
      此外,協(xié)商協(xié)議301允許在主/從或同層網(wǎng)絡(luò)之間進行協(xié)商,從而在動態(tài)主-從和端到端交互中的多個CVM系統(tǒng)之間提供適當?shù)膮f(xié)同。更具體地說,在登記時多個CVM設(shè)備會增加會話登記能力,關(guān)于其控制能力、它們要訪問的會話引擎、它們已經(jīng)登記的應(yīng)用與設(shè)備和它們所控制的應(yīng)用與設(shè)備的信息。根據(jù)其UI,I/O能力和活躍的I/O,一個CVM控制器變成主控制器而其它CVM控制器充當從控制器,其中從控制器作為已登記應(yīng)用與主控制器相對等價,直到發(fā)生一次新的協(xié)商。根據(jù)活躍的I/O形態(tài)或設(shè)備或根據(jù)活躍的應(yīng)用可以動態(tài)切換主和從的地位。
      語音傳輸協(xié)議302(或會話編碼協(xié)議)被語音傳輸客戶端38,38a用來向其他網(wǎng)絡(luò)設(shè)備,系統(tǒng)或應(yīng)用發(fā)送/從其接收壓縮語音以便進行處理。語音傳輸客戶端38,38a使用適當?shù)膲嚎s硬件235,235a與壓縮,解壓縮和重構(gòu)引擎234,234a配合工作以便處理通過網(wǎng)絡(luò)發(fā)送的語音。語音編碼器234,234a提供感觀上可接受或可理解的壓縮語音重構(gòu)和優(yōu)化的會話性能(例如,字差錯率)。使用聲學(xué)信號處理引擎(音頻子系統(tǒng))232,232a和適當?shù)囊纛l硬件233,233a在各自的網(wǎng)絡(luò)設(shè)備上捕捉語音(并且轉(zhuǎn)換成特征)。另外,可以在設(shè)備之間發(fā)送和接收壓縮語音文件格式303以便處理語音。更具體地說,語音傳輸協(xié)議303允許設(shè)備向網(wǎng)絡(luò)上的其他設(shè)備和應(yīng)用發(fā)送并且從其接收壓縮語音或本地處理結(jié)果。如上所述,會話引擎208(圖2)最好包含用于壓縮語音(或結(jié)果)的壓縮/解壓縮引擎234以便傳輸和解壓縮通過網(wǎng)絡(luò)從另一個設(shè)備或應(yīng)用獲得的壓縮語音(或結(jié)果)并且進行本地處理。在一個實施例中,當一個發(fā)送設(shè)備和一個接收設(shè)備之間的握手過程結(jié)束之后,一個數(shù)據(jù)流(基于分組)被發(fā)送到接收器。分組報頭最好指定用于對語音(或結(jié)果)進行編碼的編碼方案和編碼參數(shù)(即,如在前面引用的IBM文檔號為Y0999-113P的專利申請中討論的采樣頻率,功能特征,向量維數(shù),特征變換/系列)。還可以引入糾錯信息(例如,如果損失或延遲了前面的分組則引入前面分組的最后特征向量以校正差分解碼器)或適當?shù)南魉鸵曰謴?fù)(再發(fā)送)出損失的分組。
      如圖9,10和11所示,會話協(xié)議204還包含用于在網(wǎng)絡(luò)設(shè)備的對話管理器(DM)(下面會更詳細地討論DM)之間的信息交換的協(xié)議。例如如圖9所示,在一個分布式應(yīng)用(分布式應(yīng)用200a)中,會話管理協(xié)議被用于交換信息以確定哪個對話管理器(219或219a)會執(zhí)行一個指定功能。通常,不同設(shè)備,CVM或不同應(yīng)用會具有其自己的對話管理器,上下文堆棧217,217a和全局歷史記錄218,218a。通過對話管理器DM協(xié)議(作為分布式協(xié)議300(圖3)的一部分),不同的對話管理器會協(xié)商出一個拓撲,該拓撲具有一個主對話管理器和從對話管理器或同層對話管理器。活躍的主對話管理器(如圖9中對話管理器219所示)會管理到不同管理器的I/O流以判定活躍的對話并且適當執(zhí)行一個查詢和更新上下文與歷史記錄。例如,可以交換下列信息(1)DM體系結(jié)構(gòu)登記(例如,每個DM可以是一組本地DM);(2)針對相關(guān)元信息(用戶,設(shè)備能力,應(yīng)用需求,等等。)的指針;(3)DM網(wǎng)絡(luò)拓撲(例如,主/從,端到端)的協(xié)商;(4)在可適用,即使用由一個主DM控制的引擎的情況下的數(shù)據(jù)文件(會話參數(shù));(5)關(guān)于諸如用戶輸入,輸出到用戶的I/O事件、被傳送到引擎和/或補充上下文的通知;(6)識別事件通知;(7)從引擎向一個主DM傳送經(jīng)過處理的輸入;(8)向已登記DM傳送主DM的職責;(9)處理結(jié)果事件的DM;(10)DM異常;(11)傳送置信度和歧義結(jié)果,建議的反饋和輸出,建議的期望狀態(tài),建議的動作,建議的上下文改變,建議的新對話狀態(tài);(12)判決通知,上下文更新,動作更新,狀態(tài)更新,等等;(13)關(guān)于完成,失敗或中斷動作的通知;(14)上下文改變通知;和/或(15)因動作而導(dǎo)致的數(shù)據(jù)文件,上下文和狀態(tài)更新。另外,動作,I/O事件,后臺訪問是被會話資源管理器和任務(wù)調(diào)度器管理器共享的信息。
      圖10和11圖解了一個基于本發(fā)明的,用于會話管理的系統(tǒng)和方法。更具體地說,圖10圖解了各種設(shè)備/應(yīng)用(1,k和N)的多個對話管理器(即主仲裁器和從對話管理器1,k和N)之間的一個分層對話。圖10圖解了一個典型的主從拓撲。如上所述,通過使用DM協(xié)議交換有關(guān)信息來構(gòu)成拓撲。另一方面,圖11圖解了另一個主/從結(jié)構(gòu),其中只有主干(仲裁器)對話管理器執(zhí)行一或多個應(yīng)用或設(shè)備(1,k,N)的對話管理器任務(wù)。在這個情況下,主對話管理器仲裁器是唯一提供并維護全局上下文和歷史記錄(或者具有專用上下文和歷史記錄的分類)的對話管理器。DM協(xié)議導(dǎo)致在各個應(yīng)用,設(shè)備和核心主對話管理器之間交換屬性值n元組。
      應(yīng)當理解,即使在涉及多個設(shè)備/應(yīng)用的情況下也可以通過一個單獨設(shè)備上的一個單獨對話管理器串行執(zhí)行如圖10所示的實際對話管理處理。兩種情況之間的差異是與針對每個專用于指定任務(wù)的實體使用一個會話完成多個會話任務(wù)相反,用戶有通過一個完成多個任務(wù)的實體完成一個會話的感覺。通過DM協(xié)議可以協(xié)商所有這些拓撲,也可以根據(jù)用戶參數(shù)選擇,應(yīng)用選項或CVM缺省設(shè)置設(shè)定這些拓撲。
      現(xiàn)在參照圖4,一個圖例圖解了基于本發(fā)明一個實施例的會話系統(tǒng)的詳細體系結(jié)構(gòu)和CVM系統(tǒng)的會話內(nèi)核的核心功能模塊。應(yīng)當理解,圖4的系統(tǒng)和附加的描述的圖解目的是提供實現(xiàn)例子,并且本領(lǐng)域的普通技術(shù)人員可以想象到用于實現(xiàn)一個基于本發(fā)明的宗旨的CVM的其他構(gòu)件或系統(tǒng)體系結(jié)構(gòu)。此外,應(yīng)當理解,所有這些單元可以被引入一個應(yīng)用內(nèi)的獨立模式,或者在一個現(xiàn)有操作系統(tǒng)下的平臺,或者作為一個圍繞這些不同的新單元建立一個核心內(nèi)核的真實CVM。通過CVM可以捕捉和實現(xiàn)對基礎(chǔ)操作系統(tǒng)的常規(guī)調(diào)用,從而允許移植。在這個情況下,CVM被配置成現(xiàn)有平臺的一個獨立平臺。
      參照圖4,一個基于本發(fā)明一個實施例的會話系統(tǒng)400通常包括由一個CVM401運行和管理的常規(guī)子系統(tǒng)和會話子系統(tǒng)的一個組合。CVM401包括一個任務(wù)調(diào)度器/控制器402,一個元信息管理器403,一個對話控制器404(或前面被稱作對話管理器的設(shè)備),一個上下文堆棧405,和一個會話子系統(tǒng)服務(wù)管理器406。應(yīng)當理解,術(shù)語“CVM控制器”在這里可以被用來統(tǒng)一表示任務(wù)調(diào)度器/控制器402和對話控制器404。通常,CVM401通過把會話和常規(guī)輸入流轉(zhuǎn)換成多個動作來進行操作并且通過會話和/或常規(guī)輸出流向一個用戶產(chǎn)生分類輸出。
      會話系統(tǒng)400還包括多個會話資源子系統(tǒng)(引擎)407,該子系統(tǒng)包含一個語音識別系統(tǒng)408,一個發(fā)聲者識別系統(tǒng)409,一個自然語言理解和自然語言分析系統(tǒng)410和一個文本-語音合成(TTS)系統(tǒng)411。應(yīng)當理解,會話資源407也可以包含其他諸如一個NLG(自然語言生成)引擎的系統(tǒng)和一個音頻子系統(tǒng)。如上所述,可以通過對CVM401的API調(diào)用訪問所有這些會話子系統(tǒng)407。CVM401會定位所請求的會話子系統(tǒng)407(通過會話子系統(tǒng)服務(wù)管理器406),驅(qū)動其運行并且適當?shù)胤祷亟Y(jié)果。應(yīng)當理解,這些會話子系統(tǒng)407可以位于本地或分布在一個網(wǎng)絡(luò)上,而且所有會話子系統(tǒng)調(diào)用對應(yīng)用是隱藏的(雖然在開發(fā)者想要實現(xiàn)引擎407的一個特定行為的情況下引擎API總是可用于應(yīng)用)。
      會話子系統(tǒng)服務(wù)管理器406管理CVM401提供的所有服務(wù),UI和行為(如這里描述的)。常規(guī)子系統(tǒng)服務(wù)管理器406管理一個基礎(chǔ)操作系統(tǒng)(或者在沒有基礎(chǔ)OS的情況下的常規(guī)I/O系統(tǒng))提供的所有服務(wù)和UI。
      CVM401的核心是上下文堆棧405,其中在對話控制器404的控制下操作和管理上下文堆棧405(應(yīng)當理解,上下文堆棧405直接涉及上述全局歷史記錄和元信息注冊表)。通常,上下文堆棧405通過一個激活的會話(即,涉及一個指定任務(wù)/進程/線程的會話交互)累積每個活躍進程的上下文(即,屬性值n元組和狀態(tài)/模式的全部查詢參數(shù)列表)以及輸入理解可能需要的不同引擎的任何數(shù)據(jù)文件413(或至少是這種會話參數(shù)的標識符)(例如,引擎用來執(zhí)行其各自任務(wù)、諸如活躍FSG,主題,詞匯,HMM(隱藏馬爾科夫模型),語音印模,語言模型或針對一個語音輸入的可能查詢的文件或參數(shù))。換句話說,術(shù)語“上下文”是指各個會話的狀態(tài)(活躍或外來),其中上下文跟蹤過去的會話歷史記錄,其當前狀態(tài),具體特征,對應(yīng)任務(wù)的全部查詢參數(shù)(例如,各個活躍任務(wù)/進程的詞匯文件,語言模型,分析,標簽,聲波紋,TTS規(guī)則,語法,NLU等等)和輸入理解所需的任何數(shù)據(jù)。應(yīng)當理解,在一個分布式CVM(如下所述)中,上下文堆棧(以及其他CVM構(gòu)件)可以直接與網(wǎng)絡(luò)服務(wù)(即,分布在網(wǎng)絡(luò)上的服務(wù))相關(guān)(如上所述,針對上下文和全局歷史記錄)。
      更具體地說,各個新任務(wù),進程,或線程產(chǎn)生一個新堆棧入口并且和一個會話相關(guān)。各個應(yīng)用可以和多個會話(例如應(yīng)用管理會話和應(yīng)用內(nèi)容導(dǎo)航會話)相關(guān)。與一個指定會話相關(guān)的各個上下文包括最近對對應(yīng)進程/任務(wù)/線程作出的請求以及最近的輸出。一個指定會話的上下文也與任何對應(yīng)于實際查詢的活躍語法,詞匯和符號語言相關(guān)。并且,最近的信息被存儲在歷史記錄和上下文堆棧中。過去的歷史記錄,上下文和其他信息由元信息管理器403管理并且被存儲成元信息的一部分。
      對話控制器404通過在上下文堆棧405中為每個分散在本地或遠程網(wǎng)絡(luò)設(shè)備上的任務(wù)/進程/線程產(chǎn)生一個新堆棧入口來管理上下文堆棧405(其中任務(wù)管理由下述任務(wù)調(diào)度器/控制器402控制)。各個應(yīng)用可以和多個會話(例如應(yīng)用管理會話和應(yīng)用內(nèi)容導(dǎo)航會話)相關(guān)。如上所述,與一個指定會話相關(guān)的各個上下文包括最近對對應(yīng)進程/任務(wù)/線程作出的請求以及最近的輸出。此外,一個指定會話的上下文與任何對應(yīng)于實際查詢的活躍語法,詞匯和符號語言(屬性值n元組)相關(guān)。上下文堆棧405與機器狀態(tài)堆棧相關(guān),使得對于來自一個用戶的任何新輸入,對話控制器404可以遍歷上下文堆棧405直到可以適當建立輸入上下文。這在本質(zhì)上相當于從最近和過去的會話中發(fā)現(xiàn)和選擇用戶和機器之間的活躍會話。
      任務(wù)調(diào)度器/控制器402調(diào)度并協(xié)同分散(由用戶和機器)在本地與網(wǎng)絡(luò)常規(guī)和會話資源上的不同任務(wù)和進程。任務(wù)調(diào)度器/控制器402本質(zhì)上是一個資源分配機制,其中通常通過監(jiān)視所有資源的負載和可用性并且把各種任務(wù)適當分配和切換到不同資源,上述機制調(diào)度激活的任務(wù)(無論是常規(guī)任務(wù)還是會話任務(wù))并且控制各個任務(wù),資源等等的狀態(tài)。資源分配功能涉及確定各個資源的當前負載,各個服務(wù)和應(yīng)用的需求,以及通過把任務(wù)調(diào)度到可以對其進行處理的資源上來均衡/管理總體系統(tǒng)以便優(yōu)化總體系統(tǒng)負載和會話流。任務(wù)調(diào)度器/控制器402依賴常規(guī)系統(tǒng)管理過程(通過常規(guī)任務(wù)管理器417)和不同資源(通過上述發(fā)現(xiàn),登記,協(xié)商,和分布式會話協(xié)議)交換的任何信息。任務(wù)調(diào)度器/控制器402跟蹤這些資源并且在上下文堆棧405上的不同任務(wù)之間共享常規(guī)子系統(tǒng)(例如,GUI I/O和系統(tǒng),視頻識別引擎,等等。)和會話子系統(tǒng)407。另外,任務(wù)調(diào)度器/控制器402會利用基礎(chǔ)操作系統(tǒng)的服務(wù)到管理和控制可以由操作系統(tǒng)在常規(guī)任務(wù)管理器417的層次上控制的常規(guī)任務(wù)。并且如上所述,常規(guī)操作系統(tǒng)可以在會話任務(wù)調(diào)度器管理器/控制器402的指示下執(zhí)行任務(wù)管理。
      任務(wù)調(diào)度器/控制器402把來自常規(guī)和會話子系統(tǒng)服務(wù)412,406的輸入(通過選擇活躍上下文的對話控制器404)饋送到上下文堆棧405,把不同任務(wù)輸出到不同子系統(tǒng)并且對其劃分優(yōu)先權(quán)。任務(wù)調(diào)度器/控制器402還通過上下文堆棧405插入和管理具有代理/守護程序和記錄任務(wù)形式的會話助理。任務(wù)調(diào)度器/控制器402根據(jù)活躍的會話與會話歷史記錄,延遲返回結(jié)果,網(wǎng)絡(luò)資源授權(quán),任務(wù)授權(quán),總結(jié)和記錄協(xié)同輸出產(chǎn)生和劃分優(yōu)先權(quán)(下面會解釋這些功能)。
      對話控制器404管理所有會話和常規(guī)應(yīng)用(在任務(wù)調(diào)度器/控制器402上登記)之間的對話(會話=語音并且多態(tài)GUI,鍵盤,指針,鼠標,視頻輸入等)。如上所述,應(yīng)用交換(通過API調(diào)用或協(xié)商協(xié)議)關(guān)于其狀態(tài),它們?nèi)绾谓忉屢粋€最近的輸入,和這種解釋的置信級的信息。對話控制器404管理并確定活躍的上下文和應(yīng)用。該控制器也管理會話協(xié)議,其中應(yīng)用通過該協(xié)議交換幫助對話控制器404確定處于活躍狀態(tài)的應(yīng)用,或在不能確定時激活一個小對話以消除歧義。
      圖5圖解了對話管理器404的功能。如圖所示,由CVM401管理不同的任務(wù)(任務(wù)1,任務(wù)N)和資源(會話子系統(tǒng)A-Z)。CVM401判定哪個應(yīng)用處于活躍狀態(tài)以及如何修改上下文(如前面針對對話管理器和會話協(xié)議所描述的)。在分布式應(yīng)用中,通過按照上述對話管理器協(xié)議發(fā)送消息來執(zhí)行這個功能。應(yīng)當理解,對話管理器協(xié)議被用來在本地并行應(yīng)用之間交換信息。管理多個(本地或網(wǎng)絡(luò)的)在設(shè)計時對對話管理器和引擎是未知的對話/應(yīng)用上的對話和上下文的能力被稱作通用NL處理,可插入對話管理器和NL應(yīng)用。
      應(yīng)當理解,應(yīng)用可以直接向CVM401(通過上述CVMAPI)或操作系統(tǒng)(諸如JVM(Java虛擬機)的基礎(chǔ)系統(tǒng)或一個諸如MicrosoftWindows的操作系統(tǒng))發(fā)出調(diào)用。當通過CVM401進行調(diào)用時,通過任務(wù)調(diào)度器/控制器402對其進行登記并且由對話控制器404管理對話(可以是多態(tài)的,甚至可以沒有任何語音輸入或輸出)。當完成對基礎(chǔ)操作系統(tǒng)的調(diào)用時,對話控制器404會僅僅間接地與應(yīng)用進行交互,即,常規(guī)調(diào)用由常規(guī)任務(wù)管理器417管理并且當被傳遞和/或任務(wù)調(diào)度器聯(lián)合/命令常規(guī)任務(wù)調(diào)度器417時被任務(wù)調(diào)度器/控制器402加以處理。后者會在對話控制器404上登記應(yīng)用并且更新任務(wù)調(diào)度器/控制器402知道的任何狀態(tài)變化。在通過一個C&amp;C(命令和控制)接口(或任何其他類型的語音接口)管理常規(guī)應(yīng)用的情況下,對話控制器404通過在對話控制器404上登記來登記和控制應(yīng)用對話。應(yīng)當理解,這些是特別的情況。但是,通常在向后兼容或非會話應(yīng)用不成問題時,對話控制器404會控制所有應(yīng)用的對話并通過上下文堆棧405管理上下文。應(yīng)當理解,CVM401可以重新實現(xiàn)所有的常規(guī)功能,服務(wù)和行為特性。在這種情況下,CVM401不充當一個常規(guī)操作系統(tǒng)上的平臺,而是充當其自己的、用來捕捉所有常規(guī)調(diào)用的操作系統(tǒng)。
      CVM401還包括一個元信息管理器403,該管理器管理諸如文件(或其他類似的、適于設(shè)備的、諸如記錄或名稱空間的實體),目錄,對象,與CVM401相關(guān)的應(yīng)用,以及任何其他資源或?qū)ο?本地,網(wǎng)絡(luò)等等),和有關(guān)用戶的信息(參數(shù)選擇,安全習慣,生物測定,行為等等)的單元。元信息管理器403通過用抽象類別和元信息使這種單元和系統(tǒng)資源與高級會話抽象層次相關(guān)來管理這些單元。擴充對象表示以包括類似與各個對象相關(guān)的內(nèi)容驅(qū)動元信息(例如安全特性(用戶和作者),文件與類似圖畫,圖例,圖像等等的抽象概念的關(guān)聯(lián))的高級知識表示。所有這些單元均與多個元信息類別中的一個或多個類別相關(guān)。由操作系統(tǒng),應(yīng)用或用戶定義這些類別。通過指向類別定義和相關(guān)功能,或者通過把它們登記到這些類可以使各個文件,目錄對象和應(yīng)用與一個或多個已定義的類別關(guān)聯(lián)。如下所述,抽象元信息可用于提供快捷方式,或自動提取并處理文件系統(tǒng)的單元或任何其他對象,資源或用戶。
      更具體地說,元信息管理器403使用具有多個類別的抽象元信息和協(xié)議管理文件系統(tǒng)??梢杂少Y源的所有者/開發(fā)者或資源的以往用戶/應(yīng)用定義這些類別。有利的是,與常規(guī)文件管理系統(tǒng)相反,CVM401依賴關(guān)聯(lián)存儲器概念,其中操作系統(tǒng)通過三種主要形式捕捉有關(guān)文件的信息(1)文件名的擴展名;(2)文件名的開頭;和(3)文件內(nèi)容類型(二進制或ASCII)(雖然這里描述的抽象類別概念可以顯著改善這種常規(guī)文件系統(tǒng))。在一個會話系統(tǒng)中,增加一個附加抽象層次以概括文件的內(nèi)容或作用的特征。例如,各個文件可以和一組概括文件(通常一個GIF文件與一個缺省打開或編輯文件的軟件應(yīng)用相關(guān)聯(lián))特征的抽象類關(guān)聯(lián)。另外,多個目錄/文件系統(tǒng)顯示缺省包含或不包含根據(jù)顯示信息所得到的這些擴展名。為了利用任何自動處理,任何其他圖像類型文件會需要在應(yīng)用層次上登記,或者最好在操作系統(tǒng)層次上登記。反之,不正確或歧義文件擴展名經(jīng)常會導(dǎo)致不正確的自動任務(wù)。另一方面,文件名開頭傳遞更詳細的、關(guān)于指定文件的內(nèi)容和處理要求的信息。然而,當前類似MIME頭的文件名開頭通常只被用于應(yīng)用類,例如電子郵件或諸如HTTP和HTML的協(xié)議和語言。
      根據(jù)本發(fā)明,文件與抽象元信息相關(guān)。自動使用主題或圖像分類符,或者明確根據(jù)應(yīng)用,用戶,平臺等等可以實現(xiàn)這種關(guān)聯(lián)。例如,圖像,圖畫,電影,繪圖的概念可以定義不同的抽象類別。所以可以通過這些獨立于格式,擴展名,和/或文件使用的不同術(shù)語概括文件的特征。另外,CVM提供由應(yīng)用開發(fā)者(接著進行登記)或用戶(定制或使用)在應(yīng)用上增加類別的能力。
      應(yīng)當理解,這些抽象也可以被擴展到目錄,對象和應(yīng)用,而不僅僅是針對文件。例如,類似鏈接,宏,快捷方式,甚至書簽的概念可以和某些類別關(guān)聯(lián)。相對于所有繪圖應(yīng)用或所有圖像文件,這些類別允許顯示所有財務(wù)應(yīng)用或財務(wù)文件。
      元信息管理器403會將任何在CVM平臺上提供或建立的對象關(guān)聯(lián)到一個雙鏈接類別目錄。應(yīng)當理解,可以使用實現(xiàn)相同功能的其他實現(xiàn)。CVM平臺包含一個關(guān)于所有已定義類別的注冊表列表,其中由元信息管理器403管理該注冊表。某些類別可以是依賴用戶或應(yīng)用的類別。通過使用CVM平臺系統(tǒng)調(diào)用,一個用戶或應(yīng)用可以產(chǎn)生新類別和與這些類別關(guān)聯(lián)的新對象。對于文件系統(tǒng)尤其是如此。此外,CVM平臺或用戶/應(yīng)用通過系統(tǒng)調(diào)用提供的動態(tài)信息可以被增加到各個對象中產(chǎn)生日期,使用日期,使用者,使用時間,使用頻率,對象產(chǎn)生者,對象編譯者。
      根據(jù)對象,應(yīng)用,用戶或平臺提供的信息可以索引一個對象的內(nèi)容。這些索引是與一個對象相關(guān)的動態(tài)信息的一部分。可以在可能的運行時刻或以批處理模式完成索引和/或主題檢測。
      此外,應(yīng)當理解,正象元信息可以被關(guān)聯(lián)到可用資源那樣,元信息,抽象和抽象類別可以被關(guān)聯(lián)到各個被調(diào)度的任務(wù)和進程。除了進程和負載管理之外,這提供了很特定的任務(wù)選擇。例如,通過一個會話請求,用戶可以傾聽一個任務(wù)的輸出或者重新要求把一個任務(wù)的輸入(例如擴音器)壓到上下文堆棧中并且把一個wave文件或一個ASCII碼文件附加到輸入流中。類似地,舉例來說,用戶可以通過提供一個單獨的重定向請求重定向到打印機,其中一個文件被發(fā)送到該打印機。
      應(yīng)當理解,在文件系統(tǒng)層次上使用抽象類別的概念最好被擴展到可被CVM操作系統(tǒng)使用或訪問的任何對象和/或資源。同樣應(yīng)當理解,對于聯(lián)網(wǎng)和分布式應(yīng)用,元信息管理器403可以管理多個與非本地對象或資源(例如文件,目錄,磁盤,對象,外設(shè),應(yīng)用等等)相關(guān)、由資源的所有者/開發(fā)者或資源的以往用戶/應(yīng)用定義的元信息類別。應(yīng)當理解,實際上抽象類別不受一個具體資源是本地還是網(wǎng)絡(luò)資源的影響,并且通過訪問或連接到一個資源,該資源可以登記到抽象類別,甚至可以產(chǎn)生新的抽象類別。更具體地,可訪問但未訪問的對象必須登記其元信息,其中當一個機器與其相連時可以在本地進行登記處理,也可以登記到一個類似于DNS方案或名稱空間管理器的服務(wù)器,其中登記其自身,其內(nèi)容或其類別。當一個應(yīng)用或?qū)ο蟊幌螺d或被傳送到機器(例如通過ActiveX,Java腳本,Java小應(yīng)用程序,Vb腳本)時也在本地使用這個協(xié)議,從而允許一個應(yīng)用自動登記/激活其抽象類別。使用登記協(xié)議(如上所述)在與一個遠程系統(tǒng)相連時、或者通過一個元信息服務(wù)器(類似于一個DNS服務(wù)器或名稱空間管理器)自動產(chǎn)生與新的非本地對象關(guān)聯(lián)的新類別,其中上述服務(wù)器更新與一個對象或其內(nèi)容相關(guān)的抽象類別目錄。自登記機制允許從網(wǎng)絡(luò)下載新對象或把新對象傳送到網(wǎng)絡(luò)以便傳遞其相關(guān)元信息并且使用相同協(xié)議進行本地登記。雙鏈接目錄和注冊表可以被附加到平臺目錄。每當一個資源登記新類別時,指定新類別與該資源關(guān)聯(lián)。當釋放該資源時,清除對應(yīng)的類別。
      就象與本地對象相關(guān)的元信息那樣,抽象元信息可用于快捷方式,自動提取或處理網(wǎng)絡(luò)的非本地單元。在活躍抽象類別或登記資源集合內(nèi)應(yīng)當記憶這些資源,至少是記憶一段時間。通過指向類別定義和相關(guān)功能,或者通過把它們登記到適當?shù)念?,各個遠程可訪問非本地對象或資源可以和這些不同的類別關(guān)聯(lián)。
      例如,“watson”資源可以是指所有屬于所訪問的watson.ibm.com企業(yè)內(nèi)部互聯(lián)網(wǎng)、所有打印機資源或所有財務(wù)主頁。當前,對于一個常規(guī)瀏覽器(或查看器),針對頁面或文件的URL可以被存儲并且被用戶人工分類。作為該方案的結(jié)果,會根據(jù)文件名開頭格式或最初在HTML內(nèi)(例如在符合當前HTML規(guī)范的指定注解字段內(nèi),或在一個適當?shù)脑獦撕瀮?nèi),或者基于一個附加的會話協(xié)議握手)包含的其他元信息自動產(chǎn)生或預(yù)訂抽象類別。所以,當書簽被訪問或增加時會被自動分類。
      元信息管理器403和注冊表收集通常假定在會話交互中已知但在當前會話的層次上得不到的全部信息。例子是先驗知識文化層次,教育水平假定和固定信息過去的請求,參考資料,關(guān)于用戶,應(yīng)用,新聞等等的信息。這些信息通常是需要保存并保持超過會話歷史記錄/上下文的存在時間長度/壽命的信息和期待成為會話的公共知識的信息,因而這些信息從不在當前和過去的會話交互其間被定義。
      統(tǒng)一數(shù)據(jù)流處理是一個通過元信息簡化抽象分類并且允許分類出類似抽象類別,文件,對象,應(yīng)用以及本地或網(wǎng)絡(luò)資源的重要路徑。
      現(xiàn)在會更詳細地解釋當處理輸入和輸出數(shù)據(jù)流時在CVM401的任務(wù)調(diào)度器/控制器402,對話控制器404和上下文堆棧405之間的交互。應(yīng)當理解,本發(fā)明在多個任務(wù)(具有多個語境)之間提供了具有上下文和混合主動分類的NLU接口。更具體地說,本發(fā)明提供了使用NLU,NLG和混合主動方式在具有多個語境的多個應(yīng)用之間進行自然語言對話的能力。在這點上,各個應(yīng)用會為CVM401提供其自己的分析和轉(zhuǎn)換參數(shù)。如下所述,NLU引擎410可以順序(表格填充)或并行(例如,過程性線程或并行會話對象/過程或并行表格)標記一個查詢。執(zhí)行第一個通過產(chǎn)生一個非歧義查詢完成其對話的任務(wù),并且在用戶拒絕所識別的查詢的情況下存儲其它應(yīng)用解釋的對應(yīng)查詢以便激活。
      應(yīng)當理解,會話生物測定可用于收集任何上下文和有關(guān)用戶的元信息,這樣做不但是為了設(shè)定或適應(yīng)用戶參數(shù)選擇或授權(quán)一個查詢,也是為了使用信息執(zhí)行更可靠的識別。因此,可以累積任何信息以便識別用戶。即,常用查詢短語,查詢短語類型,命令頻率(經(jīng)常使用,不經(jīng)常使用),最優(yōu)應(yīng)用,時間或使用率等等。使用在標題為“使用非聲學(xué)和/或聲學(xué)模型進行發(fā)聲者驗證/識別/分類的裝置和方法”的美國專利5,897,616號中公開的方法可以建立會話生物測定,其中該專利與本發(fā)明有共同轉(zhuǎn)讓并且在此對其加以參考引用。
      現(xiàn)在參照圖6,一個圖例圖解了一個基于本發(fā)明一個實施例的會話輸入/輸出接口。如圖所示,一個基于本發(fā)明一個實施例的會話輸入接口可以通過包含自然語言接口的電話600,鍵盤601,指點設(shè)備602,手寫設(shè)備603處理多態(tài)輸入,即文件/數(shù)據(jù)流/資源,語音。這意味著所有形態(tài)之間的所有輸入和輸出事件被捕捉并且被傳送到對話管理器(還將其適當?shù)卮鎯υ谏舷挛亩褩V?。對來自一個語音客戶端(例如電話600)的口語輸入進行語音識別處理604,而對其它輸入(例如,鍵盤,鼠標點擊等等)進行NLU處理605。對各個輸入進行屬性獲取(401a)處理,從而根據(jù)輸入獲取屬性值n元組。執(zhí)行一個總結(jié)處理401b,其中屬性值n元組被加到上下文中并且根據(jù)后臺應(yīng)用608的語法驗證查詢是否完整,不完整,或有歧義。對話管理器和上下文管理也跟蹤后臺訪問。有時可以通過向后臺加載某些歧義消除能力(對話管理器的一個功能)向后臺分配某些“智能”。單獨地,各個輸入流工作如常。關(guān)鍵的會話特性在于輸入過程,其中可以根據(jù)NLU(提供對輸入查詢的自然語言理解)或FSG模式(與自由式自然語言輸入相反,根據(jù)規(guī)則語法和詞匯約束輸入)輸入命令。通過補足遺漏字段或校正不正確的字段可以完成或校正活躍任務(wù)的命令或查詢。同樣地,CVM引入了不符合常規(guī)OS要求的新問題合并同時的輸入流,從而產(chǎn)生輸入歧義。例如,輸入現(xiàn)在可以混合鍵盤上的輸入按鍵,手寫輸入和語音輸入還有來自重定向輸入流的可能輸入。所以,本發(fā)明提供一個消除任何歧義的機制。按照前面引用的美國專利申請60/128,081號描述的方式可以實現(xiàn)這種機制。
      根據(jù)本發(fā)明,輸入問題被看成合并多個解碼器輸出,ASCII轉(zhuǎn)錄或一列屬性值n元組的問題。各個輸入流被轉(zhuǎn)換成其ASCII轉(zhuǎn)錄并且通過語音識別處理604與輸入時間標記對齊。當不同輸入流與相同任務(wù)相關(guān)時,轉(zhuǎn)錄被合并如下。首先,根據(jù)時間標記對命令和查詢進行分類并且附加到一個單獨數(shù)據(jù)流上??梢愿鶕?jù)FSG規(guī)則檢查命令格式并且重新分類以滿足語法規(guī)則。NLU查詢不必需要重新分類。對于NLU查詢,針對各個輸入流填充符號字段并且在最終輸入流層次上混合。諸如拼寫和字母數(shù)字的參數(shù)不使用語法規(guī)則或NLU消除順序歧義。類似地,時間標記被用于建立一個唯一的輸入流。然而,輸入被反饋給用戶以便確認,其中使用一個取決于應(yīng)用的詞典或FSG規(guī)則庫進行可能的預(yù)先過濾。
      如上所述,對于基于網(wǎng)絡(luò)的交互,各個機器登記網(wǎng)絡(luò)中其他設(shè)備的任務(wù)調(diào)度器/控制器并且提供關(guān)于其會話能力的信息。換句話說,一個合格桌面PC會登記所有的會話能力,其中一個電話會自己(智能電話)或使其服務(wù)器(合格電話)登記成無顯示器,無鍵盤,無輸入筆,無指針的設(shè)備,一個PDA會登記成單窗口設(shè)備等等。在系統(tǒng)之間只交換有關(guān)的輸入。
      總之,輸入過程提供一組多模式輸入流,每個輸入流被改寫成一個ASCII命令,查詢或?qū)傩灾祅元組列表。各個輸入實體(命令,NLU查詢字段或參數(shù)單位(隔離字母,字,等等。)與時間-標記關(guān)聯(lián)并且相應(yīng)被附加到一個混合輸入流中。如果兩個或更多輸入流具有相同的時間標記,則根據(jù)各個輸入流以前被構(gòu)成的時間劃分其優(yōu)先權(quán)。參照可能的FSG和詞典檢查混合輸入并且可以有選擇地把輸入反饋到用戶。各個資源交換其會話能力并且輸入流被裁剪成只交換相應(yīng)的信息。
      對于會話輸出調(diào)度和接口,CVM401產(chǎn)生對文件/數(shù)據(jù)流/資源,顯示(單窗口或多窗口,GUI,顏色,圖像,電影),音頻的輸出。單獨地,各個輸出流工作如常。然而,根據(jù)上下文堆棧405和任務(wù)調(diào)度器/控制器402,多個處理的輸出可以同時在相同的輸出流上發(fā)生沖突(例如相同文本模式顯示器或語音合成器)。并且在若干輸出流之間可以多路復(fù)用一個任務(wù)的輸出。
      各個輸出流可以工作如常??蛇x地,輸出可以是一個任務(wù)的輸出或?qū)υ掃M程(例如,直接對話或混合主動對話)產(chǎn)生的輸出。存在不同類別的輸出流。例如,對于一個單通道輸出(例如,啞終端(VT100或Palm Pilot屏幕)或純音頻輸出),所有使用這個資源的輸出消息使用相同的通道(有時共享一個相同通道)(例如語音輸出,單窗口/屏幕和/或文本輸出)。對于多通道輸出,每任務(wù)(例如Windows GUI)的輸出均有一個單獨的通道。根據(jù)內(nèi)容堆棧405和任務(wù)調(diào)度器402分配的優(yōu)先權(quán)對多個任務(wù)針對單通道資源產(chǎn)生的輸出流進行排隊。當一個單通道輸出被提供給用戶時,事件變成活躍并且被壓到上下文堆棧的頂端。多通道輸出不劃分優(yōu)先權(quán),但被異步更新,并且沒有把任務(wù)彈到堆棧頂端。
      應(yīng)當理解,根據(jù)由任務(wù)分配但可以被用戶修改的輸出句柄,各個任務(wù)的輸出可以被多路復(fù)用到多個輸出流。對于基于網(wǎng)絡(luò)的交互,各個機器會登記網(wǎng)絡(luò)中其它連接設(shè)備的任務(wù)調(diào)度器/控制器以便提供有關(guān)會話能力的信息。例如,如上所述,一個合格桌面PC會登記全部會話能力。一個電話會自己(智能電話)或使其服務(wù)器(合格電話)登記成無顯示器,無鍵盤,無輸入筆,無指針的設(shè)備,一個PDA會登記成單窗口設(shè)備(例如Palm Pilot)等等。在系統(tǒng)之間只交換有關(guān)的輸出。
      應(yīng)當理解,所有輸出,尤其是語音輸出,可以被用戶定制和編程。類似于可以為文本顯示選擇字體,可以選擇通過語音產(chǎn)生輸出。在這種情況下,我們說出語音字體。使用會話格式化語言準備更復(fù)雜的會話表示。總之,CVM401提供一個根據(jù)上下文堆棧405和任務(wù)調(diào)度器402把多個任務(wù)的輸出排列成單通道輸出的機制,并且提供了一個甚至在多路復(fù)用的情況下也可以重定向或修改分配給各個輸入流的資源的機制。各個資源交換其會話能力并且輸出流被裁剪成只交換有關(guān)的信息,其中包含輸出語音字體的選擇和包括GUI事件及其他音頻內(nèi)容的會話呈現(xiàn)的格式化。
      現(xiàn)在更詳細地解釋CVM401的輸入/輸出處理。如上所述,CVM401必須適當?shù)亟M織各種活動。例如,基本系統(tǒng)調(diào)用必須分散多個涉及不同子系統(tǒng)的動作。這種動作包含執(zhí)行一個任務(wù),偵聽新輸入,和產(chǎn)生一個輸出/反饋。舉例來說,任務(wù)調(diào)度器/控制器402會根據(jù)上下文堆棧405決定使用不同的、必須進行一次查詢的統(tǒng)計分析器以便對話控制器404識別活躍上下文并完成查詢。必須適當?shù)貙@些動作劃分優(yōu)先權(quán)以便執(zhí)行完整查詢和更新上下文堆棧405,向用戶提供有關(guān)不完整或有歧義查詢/命令的反饋,允許新輸入被解碼并且遍歷上下文堆棧405,以及返回執(zhí)行或運行進程的輸出。
      任務(wù)調(diào)度器/控制器402通過會話參數(shù)使各個任務(wù)或設(shè)備與一個會話引擎關(guān)聯(lián)。當每個應(yīng)用或設(shè)備有一個引擎時,各個應(yīng)用或設(shè)備的NLU引擎可以并行(過程性線程)或串行(表格填充)工作(如上所述)。當多個設(shè)備/應(yīng)用共享相同引擎時,需要NLU引擎與過程性線程并行工作。由各個被激活的任務(wù)根據(jù)會話參數(shù)拒絕一個新查詢或確定其可能性。被拒絕或恢復(fù)幾乎不可能的查詢導(dǎo)致對話控制器404遍歷上下文堆棧405以便尋找下一個可用上下文。在上下文堆棧405中存儲一個活躍任務(wù)的各個動作,完成的查詢和會話參數(shù),以及每個返回值/結(jié)果。另外,在適當?shù)那闆r下一個返回值和結(jié)果會啟動傳遞上下文。
      任務(wù)調(diào)度器/控制器402把各個命令/處理分解成多個動作,啟動具有適當優(yōu)先權(quán)的相關(guān)線程/進程并且在上下文堆棧405內(nèi)部關(guān)聯(lián)/插入這些動作。任務(wù)調(diào)度器402分配各個資源,在不同的分散動作之間共享這些資源并且控制到達和來自資源的句柄和數(shù)據(jù)流。任務(wù)調(diào)度器402根據(jù)形態(tài)(指針,鍵盤,文件,語音)把數(shù)據(jù)流重定向到適當?shù)臅捵酉到y(tǒng)或常規(guī)子系統(tǒng),其中語音輸入被改寫/理解。使用這些子系統(tǒng)的輸出遍歷上下文堆棧405以選取活躍的查詢并且完成查詢。另一方面,根據(jù)各個任務(wù)的優(yōu)先級對輸出進行排隊并且把輸出順序調(diào)度到輸出資源上。
      在有或者沒有被激活的會話的情況下各個新(活躍)任務(wù)/進程/線程在上下文堆棧405中產(chǎn)生一個新的堆棧入口。上下文堆棧405與機器狀態(tài)堆棧相關(guān),使得對于來自一個用戶的任何新輸入,可以遍歷上下文堆棧405直到能夠適當建立輸入上下文。這在本質(zhì)上相當于從最近和過去的會話中發(fā)現(xiàn)和選擇用戶和機器之間的活躍會話,其中可能回溯歷史記錄?,F(xiàn)在更詳細地解釋選擇過程。另外,各個任務(wù)與一個混合主動層相關(guān)聯(lián)。該層可以象相當于在操作系統(tǒng)中一個命令行的使用信息的會話那樣簡單。對話控制器404會首先在命令查詢的語法層次檢查一個用戶命令查詢是否完整或沒有歧義。被認為不完整或有歧義的命令會通過類似方式以某個優(yōu)先級(對所涉及的應(yīng)用是最高優(yōu)先級)被返回到適當?shù)臅捯?07,該引擎會產(chǎn)生一個針對遺漏或有歧義信息的請求(提示)并且更新上下文(所請求的遺漏字段)。當不能更好地構(gòu)成提示(例如傳統(tǒng)應(yīng)用)時,也可以簡單地通知請求不完整或有歧義。
      另一方面,完整和無歧義命令會產(chǎn)生某些結(jié)果(例如,輸出或動作)。通過類似方式以某個優(yōu)先級把這些結(jié)果返回到適當?shù)臅捯?07并且更新上下文,除非象在常規(guī)系統(tǒng)中那樣由用戶進行重定向。然而,由于在對結(jié)果進行重定向時會導(dǎo)致部分混合主動的通知,重定向會更加復(fù)雜。如下所述,可以通過一個會話助理來加以實現(xiàn)。這樣會使通過常規(guī)系統(tǒng)實現(xiàn)的方式極其復(fù)雜并且可能會需要把輸出重定向到一個專門編寫的腳本。命令也可能需要用戶在根據(jù)來自CVM平臺,應(yīng)用或用戶參數(shù)選擇的優(yōu)先順序/設(shè)置執(zhí)行任務(wù)之前進行確認。
      以逐個上下文遍歷堆棧的方式完成/搜尋活躍上下文。即,對話引擎通過遍歷堆棧對新查詢或參數(shù)進行比較,直到獲得一個可接受的匹配并且可選地得到用戶的確認。當發(fā)現(xiàn)一個在NLU符號語言層次上與發(fā)言匹配的上下文后,該上下文變成活躍并且對應(yīng)的進程活躍。直到完成活躍的命令,或者直到提供一個新命令,所選擇的上下文被標記成活躍并且被推到上下文堆棧405的頂端。當一個消息被返回給用戶時,上下文被更新并且被推到上下文堆棧405中低于活躍上下文的頂端位置。更新活躍上下文以便通知存在一個返回值。當遍歷堆棧之前也可以在取代CVM對話的會話層次實現(xiàn)這些操作,其中上述會話可以在堆棧內(nèi)或總是在堆棧外,并且在活躍上下文之后搜尋到上述會話。同時,被完成的任務(wù)產(chǎn)生根據(jù)CVM優(yōu)先權(quán)(例如FIFO或FILO)被排列在活躍上下文后面的上下文。充分完成并產(chǎn)生一個任務(wù)的活躍上下文會被壓到低于下一個或所有返回上下文的堆棧位置。也可以變成活躍會話。可以自動進行這種處理,也可以在用戶發(fā)出命令時進行。這種堆棧結(jié)構(gòu)允許和多個任務(wù),線程或進程保持無歧義的會話交互。
      如果請求是完整的,則會處理請求,當請求不能被撤消時掛起可能需要用戶確認的請求。否則,混合主動方式被用來繼續(xù)完成或校正查詢/命令。每當一個命令/請求取得進展時,在上下文中打開選項以供用戶拒絕會話。這樣會意味著恢復(fù)以前的堆棧狀態(tài)(和程序狀態(tài))并且遍歷堆棧。用戶則必須明確請求在堆棧中向上回退。如果在執(zhí)行或把執(zhí)行通知傳到用戶之前用戶拒絕或立即完成他/她的輸入,新輸入被附加到活躍發(fā)言中并且重新從堆棧頂端開始搜尋。用戶在建立活躍上下文之前提供的任何其他發(fā)言被存儲在緩沖區(qū)中并且被認為是對活躍發(fā)言的附加(語音發(fā)言或任何其他模式的輸入)。根據(jù)語音,鍵盤,鼠標,任何其他輸入或命令與應(yīng)用輸出更新上下文堆棧。
      基于本發(fā)明的CVM401提供的一個特別有用的功能是“會話記憶”。會話記憶是延遲并返回到一個由用戶,平臺或特定應(yīng)用分配的任務(wù)和上下文的能力。通常,由用戶啟動的指令/命令被明確發(fā)送到系統(tǒng)的后臺。這種命令可以導(dǎo)致啟動被賦予某些特定任務(wù)或功能的守護程序或代理。它們還可以導(dǎo)致記憶,其中CVM憑借記憶“記錄”一個命令或事件,報告或加以執(zhí)行并且在由用戶選擇或缺省設(shè)置的特定時間(例如在對話結(jié)束時)返回到用戶。所以,可以重定向一個輸出或后臺任務(wù)以便在一個后續(xù)的時間提供其結(jié)果。常規(guī)代理被激活。常規(guī)后臺任務(wù)和代理的差異是,當提示或結(jié)果被返回到用戶時,恢復(fù)在記憶請求時生成的會話上下文。在發(fā)生記憶時,獲得上下文堆棧405的抽樣并且將其存儲成與被記憶任務(wù)相關(guān)的元信息。當所記憶的任務(wù)與用戶交互時重新組織上下文堆棧405。根據(jù)從啟動任務(wù)到完成任務(wù)之間上下文和對話的演變產(chǎn)生的中間變化,通過由用戶或應(yīng)用開發(fā)者編程或由CVM強加的可能更新,存儲當前上下文堆棧并且把舊的上下文堆棧加到堆棧頂端。當完成用戶與被記憶任務(wù)之間的交互時,通過返回到一個以前的上下文把以前的上下文堆棧加到堆棧頂端。當增加上下文堆棧時,在堆棧底部消除任何重疊。用戶,平臺或應(yīng)用可以決定只保存堆棧的存儲部分。會話助理執(zhí)行這種任務(wù)。通過簡單地運行其自身并且只在產(chǎn)生輸出時與用戶重新交互的代理和守護程序可以實現(xiàn)這些操作。根據(jù)任務(wù)的優(yōu)先級將其輸出發(fā)送到用戶。當變成活躍時用戶可以容易地更新與代理相關(guān)的任務(wù)。會話記憶更適合作為被插入到堆棧底部并且只在對話結(jié)束并且堆棧被清空時才執(zhí)行的任務(wù)。有時它們可以被插入到堆棧中較高的的位置或者在預(yù)定時刻被推到堆棧的頂端。只在活躍時才執(zhí)行記憶任務(wù)。記憶功能提供記憶過去的動作,優(yōu)先順序和指令的能力。
      如上所示,記憶節(jié)省了一次為恢復(fù)與提示相關(guān)的會話對活躍上下文進行的抽樣。然而在進行記憶時能夠總結(jié)針對用戶的會話和上下文也是重要的。為此,一個應(yīng)用(和/或用戶參數(shù)選擇或CVM平臺作出的某些決定)的應(yīng)用開發(fā)者可以提供應(yīng)當被總結(jié)并且在被填充時被提供給用戶的字段(即屬性項目)。這些字段在與系統(tǒng)的各個變量/屬性相關(guān)的元信息中被存儲成額外字段。通常,應(yīng)用開發(fā)者還可以描述應(yīng)當如何尋址各個字段(使用一個可用的抽象名稱)以代替用其實際變量名稱或?qū)傩詷酥具M行尋址的方式。接著在應(yīng)用作出決定(應(yīng)用的再激活)時啟動總結(jié),也可以由用戶或CVM的查詢啟動總結(jié)??偨Y(jié)處理會搜尋活躍的進程,恢復(fù)上下文并且總結(jié)“填充與查詢相關(guān)的屬性n元組的狀態(tài)”??偨Y(jié)任務(wù)是一個類似于任何其他應(yīng)用的CVM服務(wù),依靠該服務(wù)用戶可以和總結(jié)應(yīng)用對話以獲得更詳細的信息,也可以在時間上進一步回退以便進行總結(jié)。這就象說出“回到應(yīng)用X”或“您在叫我做Y”那樣簡單,更復(fù)雜的方式是根據(jù)對話歷史記錄更詳細地回退。
      CVM401提供的另一個功能是會話重定向。由于易于重定向Unix進程的輸入和輸出,會話重定向也執(zhí)行相同的功能。然而,由于在對數(shù)據(jù)流進行重定向時會導(dǎo)致部分混合主動的通知,重定向會更加復(fù)雜。使用會話調(diào)用可以使用優(yōu)先權(quán)級別區(qū)別處理結(jié)果之間的輸出和用戶通知。
      并且如上所述,元信息,抽象和抽象類別可以被關(guān)聯(lián)到各個被調(diào)度的、提供特定任務(wù)選擇的任務(wù)和進程。例如,通過一個會話請求(或通過按下鍵盤上的按鍵或點擊鼠標或提供一個按鍵),用戶可以傾聽一個任務(wù)的輸出或者重新要求把一個任務(wù)的輸入(例如擴音器)壓到上下文堆棧中并且把一個wave文件或一個ASCII碼文件附加到輸入流中。類似地,舉例來說,用戶可以通過提供一個單獨的重定向請求重定向到打印機,其中一個文件被發(fā)送到該打印機。
      根據(jù)選項/優(yōu)先順序的配置,系統(tǒng)負載或系統(tǒng)的能力,任務(wù)調(diào)度器/控制器402可以決定在網(wǎng)絡(luò)處理器上執(zhí)行任務(wù)或延遲某些任務(wù)直到另一個處理器可用于理解輸入,激活和能夠理解輸入,或者在網(wǎng)絡(luò)上有一個能夠執(zhí)行這種任務(wù)的設(shè)備可用。通常,一個低端手持設(shè)備上的延遲聽寫會遵循這個模型。而且在任務(wù)中記憶任務(wù)并且逐個對話地進行記憶直到服務(wù)器端活躍并且能夠進行改寫。類似地,任務(wù)調(diào)度器/控制器402可以管理一個本地機器和一個服務(wù)器機器之間的共享接口。例如,一個名稱撥號器應(yīng)用可以被加到一個會話智能電話上。經(jīng)常使用的名稱被本地存儲和識別。另一方面,未知名稱或以前從不使用的名稱被發(fā)送到一個能力更強的網(wǎng)絡(luò)機器以便識別并接著下載更新的信息(要撥打的電話號碼等等)。類似地,本地存儲的全部信息可以周期性地進行同步以便更新電話號碼信息。這個本地對基于服務(wù)器的識別的處理被任務(wù)調(diào)度器402隱藏。網(wǎng)絡(luò)共享任務(wù)被用戶當做若干獨立于執(zhí)行任務(wù)的機器的會話來管理。這是對針對所有事務(wù)處理的所有平臺上的統(tǒng)一CVMAPI的用作的一個說明。這類似于在前面引用的IBM文檔號YO999-113P中描述的、使用會話協(xié)議在網(wǎng)絡(luò)設(shè)備之間提供會話服務(wù)協(xié)同的方法和系統(tǒng)。另外,一個分布式體系結(jié)構(gòu)和介于客戶端和服務(wù)器之間的分布式處理對會話網(wǎng)絡(luò)產(chǎn)生新的要求。這種要求涉及管理分布在網(wǎng)絡(luò)上的傳輸流和資源以保證參與網(wǎng)絡(luò)上一個會話交互的各個用戶有適當?shù)膶υ捔鞒?。在IBM文檔號YO999-113P中描述的單元在這里是被用于網(wǎng)絡(luò)上的會話交互(例如,維護對話流程的服務(wù)器負載管理,基于任務(wù),功能,能力要求,會話參數(shù)可用性(數(shù)據(jù)文件),會話協(xié)議,提供一個具有允許重構(gòu)播放的間隔的編碼協(xié)議的音頻RecoVC(兼容識別語音編碼器)的引擎服務(wù)器選擇,等等)。
      應(yīng)當理解,任務(wù)調(diào)度器/控制器402提供相對于常規(guī)OS是全新的調(diào)度行為,其中常規(guī)OS不這里描述的CVM方式共享會話和常規(guī)子系統(tǒng)。實際上,對于一個常規(guī)系統(tǒng),文本輸入在一個窗口內(nèi)部總是連續(xù)的,并且與唯一一個的任務(wù)相關(guān)。通過一個鍵盤處理多個同時任務(wù)并且處理一個唯一窗口內(nèi)顯示的文本的能力會要求這里描述的大部分會話調(diào)度原則。任務(wù)調(diào)度器處理有關(guān)維護對話流程的事項,因而使網(wǎng)絡(luò)和CPU負載造成的任何延遲最小。任務(wù)調(diào)度器會劃分CPU周期,可用網(wǎng)絡(luò)路徑和資源的優(yōu)先級以保證對話的延遲對于可接受的水平的最小的。當一個引擎變成瓶頸時,該引擎接受更多的CPU周期(較高優(yōu)先級,直到被收回)。并且,這涉及會話式計算。當一個網(wǎng)絡(luò)路徑變得速度很慢時,會找到另一個路徑或另一個資源以便最小化延遲。否則,會警告用戶可能有響應(yīng)延遲。活躍對話的對話流程是CVM的一個優(yōu)先權(quán)。所有連接用戶的活躍對話的對話流程和最小化延遲是通過網(wǎng)絡(luò)中路由器網(wǎng)關(guān)和服務(wù)器上的CVM進行優(yōu)化的功能。
      會話CVM系統(tǒng)提供的另一個功能是“會話安全”,其中涉及本地或遠程文件,尤其是可執(zhí)行文件的作者和/或修改人的元信息可被用于安全目的。具體地,對于基于語音的會話系統(tǒng),由于各個命令不但傳遞查詢的方式,而且傳遞用于用戶使用認證的足夠信息,不依賴文本的發(fā)聲者驗證可用于識別和驗證用戶。通過這種方式,每當對受限制資源進行一次查詢時,可以根據(jù)有關(guān)該資源的安全元信息對用戶進行自動(和透明)認證。如上所述,針對用戶查詢和歷史記錄收集的全部信息可用于幫助用戶識別(ID或驗證)。
      可以直接根據(jù)請求或使用在查詢之前剛獲取的非過期信息進行認證。具體地,可以通過逐個查詢的方式對文件或應(yīng)用訪問進行授權(quán)。例如,如果一個用戶請求一個受限制服務(wù),可以根據(jù)預(yù)先被授權(quán)訪問該特定服務(wù)的用戶集合對請求進行驗證。通過根據(jù)請求(例如,文件訪問,目錄訪問,應(yīng)用打開,可執(zhí)行程序,連接,加密/解密,數(shù)字認證/簽名)執(zhí)行的開集發(fā)聲者識別可以進行認證。在沒有明確的登錄或口令認證的情況下可以無縫訪問具有不同口令或與一個類似用戶相關(guān)的用戶ID的資源。無論如何,在用戶對話過程中可以連續(xù)并透明地進行非強制用戶認證。
      根據(jù)即使沒有語音輸入也可以實現(xiàn)會話VM的思路,上下文堆棧應(yīng)當包含用戶的身份以作為最近鑒定的身份。另外,各個資源應(yīng)當包含授權(quán)用戶目錄以及某些安全要求(例如,在非語音的情況下最近認證的截止日期)。當然,也可以考慮基于敲鍵和輸入筆的認證,但絕不是強制的。
      各個資源還可以記錄/高速緩沖各個試圖訪問它們的用戶的身份。這些記錄可以被加密并且以后被用來識別針對以前訪問的資源的訪問請求。具體地,操作系統(tǒng)可以截取來自一個外部源的口令請求并且以對用戶透明的方式使用記錄完成請求。新資源可以傳遞一個登錄請求并且同時登記其元信息,使得即使是登錄處理也可以對用戶完全透明。這是對單一簽名或口令窗口(vault)概念的擴展。
      CVM提供的另一個功能是“會話定制”,其中可以根據(jù)用戶請求程序的參數(shù)選擇單獨定制對各個任務(wù)或資源的訪問。例如,可以根據(jù)一個已識別用戶的參數(shù)選擇自動定制CVM的個性特征/行為(例如合成的語音-語音字體)。直到用戶明確退出CVM實例(即終止對話),定制和參數(shù)選擇才被凍結(jié)。這種系統(tǒng)或應(yīng)用是多用戶的,但每次只處理一個用戶并且僅此一次,直到下一次登錄為止。
      如上所述,對于會話安全,每當對一個資源進行一次查詢時可以對用戶進行自動識別??梢灾苯痈鶕?jù)請求或使用在查詢之前剛獲取的過期信息進行認證。根據(jù)活躍用戶的順序劃分任務(wù)和上下文的優(yōu)先權(quán),并且每當用戶順序發(fā)生改變時重新劃分優(yōu)先權(quán)。可以在不需要重新設(shè)置整個環(huán)境的情況下根據(jù)用戶身份的變化在“運行時刻”修改環(huán)境變量和參數(shù)選擇??梢允褂糜脩羯矸菰诟鱾€上下文或上下文堆棧的層次上消除歧義。在分布式情況下,對于用戶或服務(wù)器變化,不論是從客戶端向服務(wù)器加載上下文還是恢復(fù)服務(wù)器上保存的上下文或在服務(wù)器之間傳遞上下文,均應(yīng)當更新上下文。
      會話VM可以動態(tài)適應(yīng)多個用戶的參數(shù)選擇和活躍上下文。它允許多個用戶同時活動運行。在一個基于語音的系統(tǒng)中,各個命令可用于進行不依賴文本的發(fā)聲者識別。用戶的任何改變自動隱含產(chǎn)生一個新的活躍上下文,該上下文在上下文堆棧中把以前的上下文壓到后面,除非新用戶或活躍應(yīng)用明確放棄新的活躍上下文。用戶改變自動改變上下文堆棧中的優(yōu)先權(quán)以便產(chǎn)生處理與活躍用戶相關(guān)的任務(wù)。
      由于在各個會話的上下文中可以關(guān)聯(lián)用戶身份,可以立即并且透明地消除命令歧義(以獨立于用戶的方式正確理解來自我的母親的電子郵件)。通過與相同用戶相關(guān)的會話可以較好地增強遍歷上下文堆棧405的處理,除非會話所有者,相關(guān)應(yīng)用或某些選項放棄處理。在遍歷上下文堆棧時這個規(guī)則出現(xiàn)的異??梢宰詣影凳緯挶粯擞洺啥嘤脩舻?。如上針對會話安全所述,通過諸如人工選擇或由用戶輸入他或她的身份的可選過程可以獲得用戶身份。改變活躍用戶身份也對會話安全子系統(tǒng)有影響。各個資源可以記錄對其進行訪問的用戶的身份。
      總之,應(yīng)當理解,對于會話多用戶和會話安全,對話,類別,元信息,和資源訪問可以是一個關(guān)于用戶身份及其相關(guān)元信息歷史記錄的函數(shù)。反之,通過一個查詢收集到的會話信息可用于識別用戶。在執(zhí)行各個動作或訪問之前和之后可以查詢和更新與各個對象相關(guān)的元信息。當一個對象被產(chǎn)生,修改或查詢時,關(guān)于用戶的信息被加到其元信息中,使得元信息包括與各個對象相關(guān)的安全和參數(shù)選擇字段。根據(jù)其內(nèi)容,產(chǎn)生日期,訪問歷史記錄,修改及其他元信息訪問一個對象。不但根據(jù)用戶身份而且根據(jù)類似日期,使用歷史記錄,被打開的應(yīng)用等等的附加元信息對訪問進行控制或配置。換句話說,可以允許個人訪問一個文件,其中該文件被打開并且顯示在屏幕上或者被播放或執(zhí)行。然而,拒絕個人打開文件將其內(nèi)容復(fù)制到另一個對象中。另外,可以通過不可刪除的方式把元信息標貼到一個對象上。
      CVM提供的另一個功能是“會話搜尋”,其中搜尋能力不僅基于文件的名稱,修改或ASCII內(nèi)容,還基于操作系統(tǒng),應(yīng)用或用戶定義的抽象類別,以及操作系統(tǒng)可以通過在線或離線方式提取,或者在對象被訪問時通過協(xié)議獲得的主題。另外,上下文搜尋能力可以被用來完成活躍查詢或選取類似查詢/上下文。
      具體地,可以根據(jù)與各個資源相關(guān)的抽象類別搜尋資源。這些類別可以被定義成此前在元信息上下文概念中描述的那樣,也可以根據(jù)上下文關(guān)聯(lián)定義這些類別。搜尋如上所述的目錄中的所有圖像相對較為簡單,而搜尋“類似圖像”則取決于上下文關(guān)聯(lián)在目錄的所有圖像中,哪些圖像已經(jīng)被用于一個類似的上下文(例如,被以類似于用來編輯當前圖像的應(yīng)用的方式加以分類的資源打開,編輯或包含等等)。通過對各個資源/對象訪問進行上下文記錄/高速緩沖來執(zhí)行上述處理。現(xiàn)在類別還可以包含關(guān)于其自身的元信息。另外,不但可以根據(jù)類別或上下文類別進行搜尋,也可以根據(jù)用戶訪問進行搜尋(并且不象常規(guī)操作系統(tǒng)那樣單純根據(jù)對其進行修改的用戶的身份)。
      最終,可以根據(jù)字片段,字,字主題或上下文搜尋可轉(zhuǎn)存介質(zhì)的ASCII,音頻和任何其他集合。主題涉及識別主題文本的能力。上下文搜尋涉及在文本中搜尋與活躍上下文或候選上下文類似的上下文以完成當前活躍查詢/上下文的能力。例如,可以選取與指定的星期二有關(guān)的所有文件,同時明確搜尋關(guān)鍵字“星期二”或?qū)嶋H日期。提示“明天”的、有關(guān)星期一的日歷條目也會返回這些條目。
      當計算機不太可用時可以對文件進行離線主題確定。只應(yīng)當檢查新的或最近修改的文件。主題被自動加到與各個資源相關(guān)的元信息上。根據(jù)定義上下文信息總是非常消耗CPU的任務(wù),因而只在用戶明確請求時才執(zhí)行這種任務(wù)。對于外部對象,當訪問資源時可以自動登記主題(如上所述)。這不禁止本地機器在對象中搜尋其自己的內(nèi)部抽象(通過有關(guān)其自身的元信息定義)。
      還提供了“會話選擇”功能。在資源管理器層次或依賴元信息,抽象和會話查詢/混合主動/校正的任何應(yīng)用內(nèi)部提供會話選擇能力,從而避免較長的基本選擇操作序列并且提供自然的快捷方式和選擇校正。提供通過層次結(jié)構(gòu)訪問并且立即呈現(xiàn)對象框架的各種機制。
      具體地,應(yīng)當理解,根據(jù)本發(fā)明并且使用從中選擇一個活躍任務(wù)或應(yīng)用的層次搜尋(基于抽象的選擇)和復(fù)雜查詢能力(基于對話的選擇)的一種組合可以實現(xiàn)會話選擇。會話選擇對常規(guī)選擇方法提供了重要改進。實際上,即使在GUI環(huán)境中,通過使用元信息和抽象類別也大大改進了指定應(yīng)用的可用資源顯示。更具體地說,通過基于抽象的會話選擇(使用抽象和快捷方式),個人可以按照與語音查詢(IVR中)通過DTMF接口略過菜單頁面的方式類似的方式略過菜單和層次選擇。從提供效率的角度講,這是會話接口提供的一個主要優(yōu)點。其中也說明接口的統(tǒng)一性表現(xiàn)在可以通過獨立于被用來訪問一個服務(wù)的形態(tài)的方式使用相同接口(例如,通過一個桌面PC,一個PDA或電話)(例如,在前面引用的IBM文檔號YO998-392P中討論的CML)。
      例如,考慮一個從數(shù)據(jù)庫檢索信息并且提供具有用于Web瀏覽的HTML格式和一個使用JSAPI和會話擴展建立的會話頭的信息的后臺服務(wù)器。當通過常規(guī)瀏覽器形態(tài)訪問服務(wù)器時,個人可以通過點擊或說話來顯示信息并且選擇期望信息。如果個人通過電話形態(tài)訪問服務(wù)器,則通過一個包括URL和錨形標志的導(dǎo)航菜單進行用戶選擇。根據(jù)網(wǎng)頁通過會話HTML發(fā)送到瀏覽器的元信息產(chǎn)生這些導(dǎo)航菜單。
      在所有這些情況下,可能通過各種補充方式中的一個方式適當提供用于導(dǎo)航的菜單或?qū)ο笈c資源的任何其他層次結(jié)構(gòu),其中根據(jù)使用網(wǎng)頁或文件系統(tǒng)作出的選擇來進行上述導(dǎo)航。例如,在登記一個網(wǎng)絡(luò)對象時,菜單可以傳送有關(guān)其結(jié)構(gòu)的元信息。此外,系統(tǒng)可以在本地跟蹤元信息使之與具有結(jié)構(gòu)(在IBM文檔號為YO999-111P,與本專利同時申請,標題為“通過通用層次對象有效進行語音導(dǎo)航的結(jié)構(gòu)框架”的專利申請中詳細描述了會話結(jié)構(gòu)框架,其中該專利申請與本發(fā)明有共同轉(zhuǎn)讓并且在此對其加以參考引用)的結(jié)構(gòu)(框架)的各個對象關(guān)聯(lián)。此外,在CPU的非峰值使用其間系統(tǒng)可以周期性地更新其框架信息。
      系統(tǒng)可以周期性地掃描任何本地或外部資源和層次對象??蛇x地,在具體對話結(jié)構(gòu)中,各個系統(tǒng)可以預(yù)訂可訪問資源并且在訪問時周期性地更新框架元信息。此外,元信息服務(wù)器可以執(zhí)行掃描并且和元信息一起提供框架信息。
      這種元信息描述如何為菜單(TTS)提供需要使用的詞匯,F(xiàn)SG和NLU等等。另外,在不需要象基于常規(guī)OS和GUI的選擇所產(chǎn)生的后臺跟蹤或全新選擇的情況下,混合主動方式和NLU可用于校正選擇。
      所以,對于會話搜尋和選擇,可以根據(jù)常規(guī)結(jié)構(gòu)(類似一個具有目錄的文件系統(tǒng)),元信息,被平臺應(yīng)用或用戶關(guān)聯(lián)到對象的抽象類別及其相關(guān)的動態(tài)信息搜尋或選擇對象。另外,可以通過自然方式提供搜尋查詢并且可以使用混合主動方式縮減搜尋查詢。使用NLU技術(shù)可以對查詢進行解碼,分析并且將其轉(zhuǎn)換成查詢的一個邏輯組合(符號查詢)。接著可以搜尋常規(guī)結(jié)構(gòu),類別和動態(tài)信息以匹配符號查詢。根據(jù)搜尋結(jié)果,混合主動方式可用于縮減并修改查詢。可以挑選或接受匹配的對象。
      CVM提供的其他功能是會話幫助,指南和支持。會話接口一個最引人注目的方面是其平滑使用這種系統(tǒng)的學(xué)習曲線的能力。實際上NLU和混合主動方式有助于指導(dǎo)用戶使用各個應(yīng)用并且控制系統(tǒng)。然而,更重要的是能夠在其執(zhí)行任務(wù)時為用戶提供支持。在用戶有請求時會話支持提供幫助和指南。它依賴應(yīng)用的用戶使用歷史的歷史記錄和具有類似分類(元信息)類別的歷史記錄。根據(jù)用戶以前的動作,本發(fā)明的幫助功能會是詳細(例如,用戶從未執(zhí)行任務(wù),用戶最近沒有執(zhí)行任務(wù),或用戶在執(zhí)行這個任務(wù)時總是失敗)或簡單的提示(當用戶熟悉此操作時)。當用戶執(zhí)行任務(wù)時,一個支持助理同時跟蹤應(yīng)用指南。助理跟蹤并且使用遺漏字段,歧義請求,系列校正和被拒絕的命令以加強具有幫助對話的混合主動方式。應(yīng)當理解,當被存儲在元信息注冊表218中并且與應(yīng)用相關(guān)時,可以根據(jù)用戶的使用歷史記錄裁剪CVM系統(tǒng)提供的諸如會話幫助和支持的服務(wù)以及某些對話提示(介紹,提問,反饋等等)。如果一個用戶以前已經(jīng)與一個指定應(yīng)用進行交互,則在假定用戶已經(jīng)對其熟悉的情況下可以減少解釋。類似地,如果一個用戶犯了許多錯誤,由于多個錯誤被解釋成用戶對應(yīng)用或功能不確定,不熟悉或不理解/誤解,所以解釋可以更加復(fù)雜。
      通過NLU請求,混合主動方式,基于主題的搜尋和多態(tài)教學(xué)提供范圍包括從混合主動方式/使用支持到對指南的會話訪問(本地和通過網(wǎng)絡(luò))的不同幫助程序和形態(tài)。可以采取涉及本地或遠程代理的會話技術(shù)支持形式(例如,升級或重新安裝以及后臺應(yīng)用)。幫助接口的統(tǒng)一性和協(xié)同性總是具有最高的重要性。
      應(yīng)當理解,通過使用訪問幫助信息的NLU查詢或根據(jù)與當前用戶(歷史記錄)相關(guān)的元信息和遺漏或通過混合主動方式修改的參數(shù)可以訪問幫助信息。調(diào)整各個應(yīng)用提供的對話使之適應(yīng)用戶的偏好或技能水平。
      總之,使用本地和遠程資源,用戶和代理的使用歷史記錄并且通過一個完全協(xié)同的會話接口提供幫助和支持,從而完成請求,過程指導(dǎo),信息搜尋和新應(yīng)用的升級/安裝。
      下面是有關(guān)被用來實現(xiàn)上述CVM的編程語言/腳本的更詳細討論。這種編程/腳本以便允許把任何可用資源用作輸入或輸出流。通過使用CVM平臺的會話子系統(tǒng),各個輸入被轉(zhuǎn)換成可以被程序設(shè)計語言當做內(nèi)置對象直接處理的二進制、ASCII輸入或?qū)傩灾祅元組(或等價說明-字節(jié)或XML)。自動包含調(diào)用,標志和標簽并且在對象和會話元信息與不同對象正確接口所需的進程之間發(fā)送。可以根據(jù)應(yīng)用或用戶的需要專門對任何輸出進行格式化?,F(xiàn)在可以使用新的編程工具容易地建立多態(tài)會話處理。編程/腳本語言為會話系統(tǒng)體系結(jié)構(gòu)中出現(xiàn)的會話子系統(tǒng)語音識別/發(fā)聲者識別/會話系統(tǒng)的輸入或輸出提供類似于文件或數(shù)據(jù)流處理的處理。這些輸入流被處理成實際上通過系統(tǒng)調(diào)用來實現(xiàn)的庫調(diào)用。應(yīng)當理解,從CVM的角度看,一個如前面引用的IBM文檔號Y0998-392P所描述的會話瀏覽器可以被認為是一個會話應(yīng)用,也可以認為其構(gòu)件(例如XML分析器)和插件是包括會話應(yīng)用的會話引擎的一部分。
      來自一個擴音器的語音輸入(例如標準語音輸入)可以是具有字序列,電話,用戶身份或查詢的功能調(diào)用參數(shù)(NLU提供的符號語言表示)。也可以通過手寫或文件等等提供輸入。產(chǎn)生的各個輸入流可以被看成是一個面向?qū)ο笊舷挛闹械膶?dǎo)出類。
      在使用平臺腳本的情況下,使用一個會話子系統(tǒng)服務(wù)處理發(fā)言并且在產(chǎn)生動作之前通過腳本處理發(fā)言。一個常規(guī)命令和控制環(huán)境(例如通過語音的語音中心)可以被看作一個通過會話腳本產(chǎn)生的相對簡單的會話平臺。通過修改腳本,平臺也會被修改。實際上使用常規(guī)C/C++代碼建立語音中心,在代碼深處隱藏了輸入處理,命令識別和執(zhí)行??梢栽谄脚_內(nèi)部設(shè)置上下文,音頻狀態(tài)等等以便更新環(huán)境或全局變量。并且如上所述,會話對象/構(gòu)件和基礎(chǔ)類可以是過程性或說明性的。
      上述基于本發(fā)明一個方面的輸入處理認為語音或任何其他輸入流被包含成典型的輸入/輸出流,上述輸入/輸出流易受通常為字符或二進制輸入保留的所有形式的處理的影響。通過改寫或者在經(jīng)過分析和NLU之后映射成符號語言可以表示用戶輸入。此外,也可以通過腳本/程序設(shè)計語言完全控制輸出??梢愿鶕?jù)消息選擇或設(shè)計,修改語音字體。通過使用這種會話編程語言和腳本,可以建立復(fù)雜的重定向,會話處理器或多態(tài)會話處理器。存在對常規(guī)字處理器和圖片/照片/視頻編輯器的自然多態(tài)擴展。包括CVM的基礎(chǔ)類如上所述。
      此外,當與其他對象交換輸入流時,重要的是以無縫方式為數(shù)據(jù)流補充會話元信息以便對輸入流進行導(dǎo)航,控制或合成。當與其他對象或子系統(tǒng)通信時,通過系統(tǒng)功能調(diào)用在本地完成這種處理。網(wǎng)絡(luò)對象通過類似HTTP/HTML;TCP/IP的其他遠程協(xié)議或不同形式的套接字交互進行通信。使用能夠交換這個會話元信息的標簽,標志和信號燈補充這些協(xié)議。
      從根本上講這種編程語言是新的會話工具,這種工具可以具有新腳本語言的形式并且是對PERL和Kshell,C和C++,HTML,Java腳本,Basic,Java以及現(xiàn)在被稱作口語PERL的語言等等。還可以通過磨合(scratch)建立語言以便優(yōu)化會話基礎(chǔ)類庫和對話構(gòu)件(過程性或說明性)庫在CVM頂端的解釋(腳本/說明性)或編譯(過程性)。
      如上所述,編程語言/腳本包括會話應(yīng)用和CVM之間的會話API。它也包括如前面引用的國際商業(yè)機器公司文檔號為YO998-392P的專利申請所描述的CML(會話標記語言)。值得討論過程性API和協(xié)議與CML(XML和HTTP)之間的差別以及對傳送協(xié)議產(chǎn)生的變化。過程性API把CVM暴露給可理解會話的應(yīng)用。過程性API和協(xié)議允許在CVM,應(yīng)用和設(shè)備之間更快地交換會話信息,并且允許控制器更快地確定各個應(yīng)用狀態(tài),而上下文交換需要過程性接口。在另一方面CML是符合XML的目的的、向會話瀏覽器傳遞呈現(xiàn)資料/內(nèi)容的理想方式,并且具有減少開發(fā)對話所需的編程技能的優(yōu)點。
      在一個如前面引用的專利申請中描述的會話瀏覽器類型的接口中,在頁面之間交換XML,但由瀏覽器通過API/協(xié)議管理頁面之間和多個同時任務(wù)之間的上下文。實現(xiàn)可以是根據(jù)以串行化對象交換(使用XML)為基礎(chǔ)的、基于純套接字(TCP/IP)的Corba/Java RMI。最好把協(xié)議設(shè)計成支持XML(說明性)和過程性通信。
      在會話腳本提供的可能性中間,會話邏輯大概是最引人注目的。在新會話編程語言的層次上對被提交和饋送到常規(guī)和會話子系統(tǒng)的輸入流進行直接處理隱含了新的邏輯語句和操作符。
      邏輯語句可以是下列語句(1)真,(2)假,(3)不完整,(4)有歧義,(5)從ASCII的角度看,不同/相等,(6)從NLU的角度看,不同/相等,(7)從活躍查詢字段的角度看,不同/相等,(8)未知,(9)不兼容,和/或(10)不可比??梢砸霑掃壿嫴僮鞣员銣y試或修改這種語句??傊?,擴充邏輯語句狀態(tài)和操作符以適應(yīng)會話查詢的多樣性,其中可以根據(jù)其ASCII/二進制內(nèi)容或其經(jīng)過NLU轉(zhuǎn)換的查詢(常規(guī)和會話子系統(tǒng)的輸入/輸出)對查詢進行邏輯比較。可以實現(xiàn)邏輯操作符以便測試或修改這種系統(tǒng)。
      現(xiàn)在參照圖7,一個圖例圖解了針對基于本發(fā)明一個方面的一個分布式CVM的體系結(jié)構(gòu)。分布式系統(tǒng)的核心是CVM704(可以位于一個服務(wù)器,PC等等上面),CVM704充當多個應(yīng)用706,設(shè)備708-713,其他CVM應(yīng)用或設(shè)備707和會話資源705之間的會話仲裁器。CVM704在這種設(shè)備和應(yīng)用之間提供一個協(xié)同統(tǒng)一的會話接口,其中不同會話設(shè)備708-713,資源705,應(yīng)用706利用該接口可以通過我們的會話協(xié)議進行連接。由多個會話連接的設(shè)備/對象提供一個協(xié)同接口。對象集合通過CVM704的集中或分布式上下文堆棧為用戶提供了一個單獨的協(xié)同接口。會話設(shè)備可以包含靜音部件,其中可以通過另一個會話設(shè)備的會話接口控制靜音部件。在登記期間,它們會在請求支持的上下文目錄時進行交換。在連接期間更新這些上下文。根據(jù)連接把上下文集中或分布在設(shè)備上(即,網(wǎng)絡(luò)是協(xié)商式的)。
      當一個用戶與設(shè)備集合交互時,總可以通過一個諸如汽車中的PVA(個人車輛助理)710的中央單元或一個語音瀏覽器713進行交互。任務(wù)調(diào)度器和上下文堆棧累積與所有設(shè)備相關(guān)的上下文并且會分析命令并把命令相應(yīng)分配到各個設(shè)備上。如果用戶與整個設(shè)備集合交互,則一個設(shè)備始終是活躍的(上次被激活的上下文)。這個設(shè)備檢查一個新命令是否適合其上下文堆棧。即使不適合,傳送到一個變成活躍的相鄰設(shè)備。迭代處理,直到發(fā)現(xiàn)一個匹配并且可能得到用戶的證實,或者請求被返回第一個設(shè)備。在這種情況下,向用戶返回一個錯誤或混亂消息。
      如上所述,CVM通過提供以下能力允許用戶與系統(tǒng)對話管理多個會話,使用上下文,通過抽象和元信息引用對象,分配和記憶任務(wù),抽象和上下文,為用戶定制,總結(jié),幫助用戶,甚至幫助不熟悉的用戶,識別和鑒定用戶,在有或者沒有顯示,GUI,keyboard或定點設(shè)備的所有交互中提供相同的接口。在加上或減去與通道無關(guān)的功能的電話,Web,PDA,桌面PC上進行相同的交互。
      例如,一個用戶可以遠程訪問關(guān)于一個電子數(shù)據(jù)表格的一個單元的信息并且在必要時修改該單元,同時還檢查其電子郵件。用戶可以選擇以常規(guī)方式執(zhí)行所有這些任務(wù)(在其桌面PC的前臺),也可以選擇在不用查看的情況下通過語音檢查電子數(shù)據(jù)表格信息,同時還完成錄入一個電子郵件。在所有情況下接口對用戶均是相同的。
      當多個設(shè)備會話相連時,它們會協(xié)同其接口以便可以通過統(tǒng)一的CUI控制所有設(shè)備。通過下列例子可以說明這個概念。假定一天夜里你正開車回家并且記起你的配偶叫你到一個新食品商店購買某些商品。在發(fā)現(xiàn)你的電話應(yīng)答機上的消息之后,你使用一個語音識別軟件在你的桌面PC上快速把消息改寫成一個備忘錄。然而,你忘記打印或?qū)⑺鼈鬟f到你的PDA上。由于在你的汽車中有一個會話PDA,一個會話汽車PC(PVA,個人車輛助理)和一個會話智能電話,在你的桌面PC運行一個CVM的情況下便不會有什么影響。進一步假定PVA運行一個嵌入式CVM并且兩個其他應(yīng)用是可理解會話的,即你可以通過在PVA上運行的CVM控制它們。
      你可以指示PVA使用電話撥入你的PC。一旦連接建立,通過語音對你進行鑒定,并且在不必記起文件名、目錄或瀏覽你的目錄并最終選擇適當文件的情況下,你通過簡單地請求你以前產(chǎn)生的“食品目錄”以語音方式找到備忘錄。如果你的PC CVM請求如此,你可能需要確認選擇。你可以提出另一個查詢-“應(yīng)當與我的PDA同步”-并且文件被適當鏈接以便在下一次同步時被傳送到你的PDA。最后命令-“干吧!”-并且你的PC放棄處理而由PVA處理有歧義的查詢。PVA根據(jù)你以前的會話知道你期望同步PDA和PC。在可能的確認之后,執(zhí)行同步并且食品目錄被存儲在你的PDA上以備稍后使用。
      你現(xiàn)在指示PVA指導(dǎo)你一步一步到達商店。計算你的位置,從本地或一個服務(wù)器得到商店的位置,并且計算出一個線路以便考慮到最近的交通信息。任何時候你都可以請求有關(guān)你在哪里,下一步做什么,要走多遠的導(dǎo)航信息,甚至可以請求一個不同的線路。
      如果時間緊迫,你指示PVA撥打商店轉(zhuǎn)接服務(wù)器。這可以導(dǎo)致一個具有目錄支持服務(wù)IVR的中間對話。一旦連接到商店IVR,即以類似當前主頁的方式建立的小型商業(yè)概念實例或個人用戶IVR,你通過與商店的會話接口對話發(fā)出訂單。為此,你請求PVA慢速瀏覽食品目錄并且為你逐項朗讀。接著重新向IVR陳述請求并且繼續(xù)對話直到適當發(fā)出各個訂單。
      在你到達商店時,你的訂單已經(jīng)就緒?,F(xiàn)在你可以開車回家并且在開車時安靜地傾聽你的電子郵件或檢查新聞或股票行情。如果需要,你可以撥入你的PC以便查詢或修改某些電子數(shù)據(jù)表格信息。同樣你會在處理你的郵件時在你的桌面PC上對其進行語音查詢。你還可以把任務(wù)分配給你的PVA或桌面PC上的代理以便請求更新或稍后提示。
      對于運行在桌面PC和PVA上的CVM和了解智能電話和PDA的CVM,應(yīng)用開發(fā)者必須只掛接到CVMAPI上。它導(dǎo)致登記所有其會話能力和要求1.活躍詞匯,有限狀態(tài)語法和控制應(yīng)用的語言模型;2 在支持NLU或列出一個上下文狀態(tài)目錄的情況下的符號映射;3 被關(guān)聯(lián)的有關(guān)元信息/類別,尤其是允許針對輸出進行分類的元信息/類別;4 會話I/O信息是否直接控制輸入/輸出或是否一個靜音部件,一個會話I/O提供方的客戶端;和5 CVM能力/狀態(tài)是否運行一個CVM;是否一個CVM客戶端;是否一個主CVM,從CVM或配套CVM。
      在前面的例子中,PVA是主CVM。如果配備CVM,則PDA和智能電話是從CVM,或者只是了解CVM。當PVA會話連接到PC時,需要PVA的應(yīng)用開發(fā)者判定PVA是否充當主CVM,從CVM或配套CVM。當在本地或通過電話連接時,設(shè)備交換由API傳遞的必要信息,從而完全定義了設(shè)備間的協(xié)同關(guān)系。并且CVM自動處理所有的輸入/輸出發(fā)起方,其中包含會話和常規(guī)子系統(tǒng)。并且API傳遞CVM的全部信息以便把查詢轉(zhuǎn)換成應(yīng)用調(diào)用,反之在輸出被提供到用戶之前把輸出轉(zhuǎn)換成語音并且加以適當?shù)姆诸悺?br> 開發(fā)者使用開發(fā)工具可以容易地圍繞會話API和CVM建立他的應(yīng)用。這個開發(fā)環(huán)境(這里被稱作口語時代“Spoken Age”)允許程序員仿真CVM,調(diào)試應(yīng)用或網(wǎng)絡(luò)協(xié)議并且快速開發(fā)會話用戶界面??谡Z時代包含CUI和針對CVM開發(fā)的應(yīng)用。它也提供修改針對指定應(yīng)用的引擎的數(shù)據(jù)文件(會話參數(shù))的環(huán)境。具體地,這意味著口語時代在工具層次上也包含類似象IBM通過語音工具包那樣的SDK工具包的常規(guī)引擎前臺程序。這意味著它提供的工具包和算法允許用戶針對一個指定任務(wù)重新建立,調(diào)整或擴展數(shù)據(jù)文件。這導(dǎo)致根據(jù)數(shù)據(jù)收集規(guī)則收集應(yīng)用數(shù)據(jù)并且運行適當?shù)哪_本以便產(chǎn)生數(shù)據(jù)文件并測試性能。這可以導(dǎo)致下載數(shù)據(jù)文件或一部分專用于任務(wù),語境或聲學(xué)環(huán)境的數(shù)據(jù)文件(來自CD ROM或Web站點)。這還可以導(dǎo)致根據(jù)查詢更新數(shù)據(jù),其中通過填寫表格并且描述新應(yīng)用/指定數(shù)據(jù)例子對一個數(shù)據(jù)文件生成服務(wù)機構(gòu)進行上述查詢。
      一旦在一個平臺上針對一個特定通道開發(fā)一個應(yīng)用,程序員可以依賴口語時代把應(yīng)用移植到任何其他支持CVM的平臺上。他們還可以使用CVM自動調(diào)整其針對通信通道或新平臺或設(shè)備產(chǎn)生的UI約束的會話能力。換句話說,現(xiàn)在可以依靠CVM的電話能力通過電話對一個為通過桌面PC進行語音訪問而編寫的電子數(shù)據(jù)表格進行語音訪問。并且,一個用口語時代編寫的、基于Java,CGI和XML/HTML的Web站點可以立即被轉(zhuǎn)換成一個通過電話或使用小型嵌入式會話瀏覽器訪問的受限制語音標記語言提供的IVR。
      分布式系統(tǒng)還包括一個會話瀏覽器713,這是一個可以與CVM配合工作的、引人注目的語音應(yīng)用。會話瀏覽器可以運行在CVM頂端并且在呈現(xiàn)一個CML頁面的同時解釋CML以建立一個會話對話。如圖7所示并且如前面引用的IBM文檔號為Y0998-392P的專利申請所描述的,會話譯碼器一個把類似HTML或DB2的常規(guī)格式譯碼成XML的會話譯碼器代理可以訪問傳統(tǒng)應(yīng)用700。會話瀏覽器解釋CML(會話語音標記語言),該語言是一個基于XML規(guī)范的語音標記語言。該瀏覽器可以被看作一個運行在CVM頂端的、最引人注目的應(yīng)用。會話瀏覽器可以攜帶其自己的CVM的獨立應(yīng)用。CML允許缺乏經(jīng)驗的應(yīng)用開發(fā)者快速開發(fā)會話式對話。為了進一步跟上HTML和環(huán)球網(wǎng),CML和會話瀏覽器提供了一個簡單并且系統(tǒng)的,圍繞傳統(tǒng)企業(yè)應(yīng)用和傳統(tǒng)數(shù)據(jù)庫建立一個會話用戶界面的方式。此外,一旦在CVM頂端建立,這個機制可以在由用戶在多個應(yīng)用(本地和網(wǎng)絡(luò))和設(shè)備(本地和網(wǎng)絡(luò))之間進行的會話中包含這些應(yīng)用,服務(wù)和事務(wù)處理。當用戶訪問一個傳統(tǒng)應(yīng)用,其PC上的一個會話應(yīng)用或一個在服務(wù)器端運行會話瀏覽器或會話應(yīng)用的IVR時,該機制也為用戶提供相同的用戶界面。使用會話代理把HTML對話轉(zhuǎn)換成CML允許使用相同頁面驅(qū)動PC或嵌入式設(shè)備上的常規(guī)或多態(tài)瀏覽器和IVR應(yīng)用。在配備一個電話卡的服務(wù)器上適當設(shè)計的主頁也變成一個個人IVR。尤其是在使用會話代理把HTML頁面譯碼成CML頁面時。
      盡管通過API提供CVM并且CVM和分布式資源會通過API和過程性協(xié)議最有效地進行交互,但重要的是擴展交互協(xié)議使之包括HTTP和XML/HTML交換。實際上,HTTP和XML交換,或串行化對象對于一個單獨的或連續(xù)的會話事務(wù)處理是足夠的。選擇最優(yōu)協(xié)議和允許XML交換的選項使對話設(shè)計簡單得只需要很少的編程知識。另一方面,過程性調(diào)用允許通過多個同時會話應(yīng)用非常有效地得到本地或分布式實現(xiàn)。有效會話平臺能力需要API接口。多個會話應(yīng)用上的有效對話管理器需要在不同子系統(tǒng),應(yīng)用和所涉及的CVM實體之間交換過程性對象。
      下面是本發(fā)明一個使用如圖8所示的、也被稱作UCRC(統(tǒng)一會話遠程控制)的UCA(統(tǒng)一會話設(shè)備)的應(yīng)用的一個例子。UCA或UCRC是涉及會話協(xié)議的多個方面的CVM設(shè)備的一個例子。UCRC是一個具有自聯(lián)網(wǎng)能力的語音便攜PDA。這種聯(lián)網(wǎng)能力可以是RF,特殊技術(shù)(例如藍牙,跳躍聯(lián)網(wǎng))或IR。在家庭環(huán)境中,設(shè)備現(xiàn)在可以理解會話(但通常是靜音部件)。這意味著不同設(shè)備可以被發(fā)現(xiàn)并且交換以會話方式控制的必要信息。不同設(shè)備具有類似的網(wǎng)絡(luò)能力。在簡化的情況下,由一個使用類似X10的固定網(wǎng)絡(luò)的“家庭控制器”類型的接口直接控制。在這種情況下,UCA更傾向于直接和家庭控制器會話。
      UCRC周期性地(很經(jīng)常)通過會話協(xié)議801(如上所述)廣播握手(發(fā)現(xiàn))請求。各個設(shè)備(或家庭控制器)在檢測到這種請求時作出應(yīng)答。任何新發(fā)現(xiàn)的設(shè)備標識其自身。UCRC也標識其自身。最終的握手導(dǎo)致一次登記。登記包含標識設(shè)備的性質(zhì)和名稱(和任何其他元信息)以及設(shè)備是一個靜音部件的事實,登記接著會導(dǎo)致一次協(xié)商。
      在這種情況下,協(xié)商立即同意由UCRC驅(qū)動會話。新發(fā)現(xiàn)的設(shè)備交換其當前狀態(tài)和在該狀態(tài)下支持的命令。當支持有限數(shù)量的命令時,也可以發(fā)送其支持的其它狀態(tài)和與這些其他狀態(tài)相關(guān)的命令。這些等于預(yù)先發(fā)送一個結(jié)構(gòu)框架。當狀態(tài)的結(jié)構(gòu)太復(fù)雜時,每當狀態(tài)改變時會以逐個狀態(tài)的方式處理這種信息。
      交換處理導(dǎo)致交換一列在激活時把返回句柄/事件回送到設(shè)備的命令和所有必要的數(shù)據(jù)文件-詞匯,基表,對話的提示/語音字體,語法,可能的分析,轉(zhuǎn)換,標簽,針對NL接口的符號語言和語言產(chǎn)生規(guī)則??蛇x地,信息可以涉及會執(zhí)行會話引擎任務(wù)的其他引擎(例如,一個會執(zhí)行語音識別任務(wù)等等的服務(wù)器)的地址。在激活并且從用戶得到輸入時,UCRC CVM確定相關(guān)的設(shè)備。這可以基于使用不同設(shè)備(如IBM文檔號YO999-113P所述的本地或遠程設(shè)備)支持的命令得到的識別結(jié)果。
      當作出決定時,事件/返回句柄被激活并且在相關(guān)設(shè)備上執(zhí)行命令。這導(dǎo)致狀態(tài)改變。新狀態(tài)被傳送到UCRC。也更新有關(guān)UCRC的上下文。根據(jù)框架或所支持的命令的一次新交換更新命令。當一個設(shè)備臨時從網(wǎng)絡(luò)消失時,在設(shè)備仍然由UCRC控制的情況下信息被存儲在上下文中??梢愿鶕?jù)時間(多長時間以前最后見到該設(shè)備)、位置(元信息)或通過元信息(如果被撤消)進行這種操作。當重新激活時,從上下文或元信息中重新加載大部分信息并且協(xié)議只檢查更新。
      當一個設(shè)備被明確地從所控制的目錄中清除時,停止簽收請求可以明確來自設(shè)備或UCRC。當以常規(guī)方式(常規(guī)TV遙控器或燈光開關(guān)等等)控制設(shè)備時,事件被返回到UCRC以便重新登記/重新協(xié)商或僅僅更新上下文,數(shù)據(jù)文件和設(shè)備狀態(tài)。
      注意當一個家庭控制器被使用時,協(xié)議實際上是相同的,除非兩個模型可以1)只登記一個應(yīng)用家庭控制器。任何設(shè)備改變或任何命令均導(dǎo)致家庭控制器總體狀態(tài)的改變;2)在UCRC上登記所有單個設(shè)備。家庭控制器只充當一個在設(shè)備和UCRC之間發(fā)送和譯碼協(xié)議的網(wǎng)關(guān)。
      當考慮一個家庭控制器模型時,可以擴展UCRC提供的功能??梢酝ㄟ^一個合格無線LAN(以太網(wǎng),針對被連接到家庭控制器的基站的RF)代替自聯(lián)網(wǎng)。當超出范圍時,家庭控制器解決方案提供了可以通過合格電話(例如調(diào)制解調(diào)器類型的連接)進行呼叫的優(yōu)點。在這種情況下,可以通過電話交換所有協(xié)議。所以一個新UCRC拓撲是一個當處于范圍內(nèi)時具有本地或自網(wǎng)絡(luò)能力并且當超出家庭控制范圍時具有二進制連接到基站的能力的蜂窩電話/UCRC。
      可選地,UCRC能力還可以被復(fù)制或限制到家庭控制器機器上。當被復(fù)制時,如果機器可以通過電話卡提供語音瀏覽能力或本地家庭IVR能力,則在不需要一個經(jīng)過交換會話協(xié)議的客戶和服務(wù)器的二進制連接的情況下可以通過電話以語音方式從任何地方控制家庭設(shè)備。UCRC和會話協(xié)議更適合介于家庭控制器和設(shè)備之間??梢允褂萌魏魏细竦碾娫?。在第二種情況下,服務(wù)器通常也會被用來控制家庭設(shè)備。UCRC更適合作為一個便攜I/O系統(tǒng)捕捉音頻,壓縮并傳送(會話編碼)到家庭控制器。以類似方式把輸出傳送到UCRC以便播放?,F(xiàn)在在家庭控制器服務(wù)器上完成所有的實際CVM處理。
      現(xiàn)在參照圖12,一個圖例圖解了一個可以使用這里描述的構(gòu)件和功能構(gòu)造的會話網(wǎng)絡(luò)系統(tǒng)。應(yīng)當理解,基于本發(fā)明的會話式計算在不同設(shè)備的聯(lián)網(wǎng)方面隱含了新要求。這意味著在所有協(xié)議,負載和傳輸管理,以及網(wǎng)絡(luò)高速緩沖和存儲中主要考慮的目標不僅僅是保證負載或傳輸?shù)木?,也要?yōu)化在網(wǎng)絡(luò)上交談或使用網(wǎng)絡(luò)資源的用戶的所有活躍對話的對話流程。換句話說,會話分布式體系結(jié)構(gòu)對優(yōu)化增加了新的附加約束或考慮對話延遲和流程,發(fā)送音頻(會話編碼)時的延遲,同步語音和GUI構(gòu)件(實際上,一個GUI輸入必須產(chǎn)生一個事件和由UI的一個語音構(gòu)件和一個GUI構(gòu)件構(gòu)成的一個同步/協(xié)同行為)和更新與交換基礎(chǔ)會話協(xié)議(協(xié)商,對話管理器協(xié)議等等)。如果期望在本地和/或網(wǎng)絡(luò)上進行無縫和透明的處理,這個方面起著重要的作用。對于VoIP而言,服務(wù)質(zhì)量,帶寬,最低延遲,最低分組損耗仍然重要。
      另外還存在充分傳遞數(shù)據(jù)文件的問題,對于特定任務(wù)和適當?shù)囊娣秶孕枰M行這種傳遞。并且這需要網(wǎng)絡(luò)上的高速緩沖或存儲,特別精確的傳輸管理和負載管理。并且,甚至沒有針對只注重發(fā)送器和接收器之間的傳輸流程的VoIP提出一個概念。另外,在網(wǎng)絡(luò)中可以適當預(yù)先存儲,高速緩沖或復(fù)制框架信息(即對話邏輯)以便改進效率。
      在圖12所述的系統(tǒng)中,基于本發(fā)明的客戶端設(shè)備1000(配備CVM系統(tǒng)或?qū)υ捁芾砥髂芰?通過使用路由器1004連接經(jīng)過PSTN1002和因特網(wǎng)/企業(yè)內(nèi)部互聯(lián)網(wǎng)1003可以從一個服務(wù)網(wǎng)絡(luò)提供商網(wǎng)絡(luò)1001訪問期望的信息。路由器1004和因特網(wǎng)/企業(yè)內(nèi)部互聯(lián)網(wǎng)網(wǎng)絡(luò)1003提供了會話網(wǎng)絡(luò)服務(wù)擴展和包含以下內(nèi)容的功能分布式會話協(xié)議(上述),通過RecoVC(兼容識別語音編碼器)進行的音頻編碼,應(yīng)用和元信息(分布式應(yīng)用協(xié)議),發(fā)現(xiàn),登記,協(xié)商協(xié)議,維護對話流程的服務(wù)器負載管理,維護對話流程的傳輸均衡和路由,基于任務(wù)功能,能力要求,會話參數(shù)可用性(數(shù)據(jù)文件),會話參數(shù)(分發(fā)存儲)的引擎服務(wù)器選擇,傳輸/路由和高速緩沖。在任何如圖12所示的網(wǎng)絡(luò)(因特網(wǎng),藍牙,無線網(wǎng)絡(luò)等等)中,以及在一個會話應(yīng)用服務(wù)或內(nèi)容、交易提供商的企業(yè)內(nèi)部互聯(lián)網(wǎng)上,網(wǎng)絡(luò)會具有內(nèi)容服務(wù)器,后臺邏輯或業(yè)務(wù)邏輯服務(wù)器,會話引擎服務(wù)器,網(wǎng)關(guān),路由器,代理,IVR(例如類似一個聲卡)和服務(wù)器瀏覽器,其中根據(jù)由會話網(wǎng)絡(luò)原則產(chǎn)生的優(yōu)化在資源之間連續(xù)交換音頻和數(shù)據(jù)文件。
      因此,需要在所有這些實體(服務(wù)器,客戶端,網(wǎng)關(guān),路由器等等)上提供CVM構(gòu)件或會話服務(wù)以便交換用于執(zhí)行會話網(wǎng)絡(luò)測量,傳輸,管理和執(zhí)行不同功能的消息。通常在現(xiàn)有協(xié)議和系統(tǒng)的頂端執(zhí)行這些功能以便在網(wǎng)絡(luò)中完成負載均衡,傳輸均衡,存儲和高速緩沖等等。
      雖然這里已經(jīng)針對附圖描述了說明性的實施例,但應(yīng)當理解,本系統(tǒng)和方法不僅限于這些詳細的實施例,并且本領(lǐng)域的技術(shù)人員在不偏離本發(fā)明的范圍和宗旨的前提下可以進行各種其他的改變和修改。所有這樣的改變和修改確立被指定包含在如所附權(quán)利要求書所定義的本發(fā)明的范圍內(nèi)。
      權(quán)利要求
      1.一個會話式計算系統(tǒng),其中包括一個接收輸入查詢的多態(tài)會話用戶界面(CUI);處理輸入查詢并且根據(jù)輸入查詢產(chǎn)生對話的會話引擎;一個根據(jù)輸入查詢管理對話和與應(yīng)用相關(guān)的上下文并且管理會話引擎的會話內(nèi)核;和一個在應(yīng)用和會話內(nèi)核之間提供一個接口的會話應(yīng)用程序接口(API)。
      2.如權(quán)利要求1所述的系統(tǒng),其中會話API包括會話基礎(chǔ)類和基礎(chǔ)對話構(gòu)件的庫函數(shù),可以訪問這些函數(shù)以便構(gòu)造用于執(zhí)行會話過程或建立會話應(yīng)用的會話對象。
      3.如權(quán)利要求2所述的系統(tǒng),其中會話基礎(chǔ)類和基礎(chǔ)對話構(gòu)件包括CUI建立模塊,會話平臺庫,對話模塊,對話腳本,小程序,會話原語或其組合。
      4.如權(quán)利要求2所述的系統(tǒng),其中以說明性和過程性方式中的一種方式實現(xiàn)會話對象。
      5.如權(quán)利要求1所述的系統(tǒng),其中會話內(nèi)核是一個在操作系統(tǒng)和實時操作系統(tǒng)中的一個的頂端運行的平臺。
      6.如權(quán)利要求1所述的系統(tǒng),其中系統(tǒng)在個人計算機平臺,服務(wù)器平臺和嵌入式設(shè)備平臺中的一個平臺上運行。
      7.如權(quán)利要求1所述的系統(tǒng),其中多態(tài)CUI包括多個輸入/輸出(I/O)資源和一個用于和多個I/O資源接口并且在會話內(nèi)核上登記多個I/O資源的I/OAPI。
      8.如權(quán)利要求7所述的系統(tǒng),其中I/OAPI層包括I/O抽象,用戶界面抽象,設(shè)備抽象或其組合。
      9.如權(quán)利要求1所述的系統(tǒng),其中多態(tài)CUI包括統(tǒng)一自然語言理解(NLU)接口和自然語言生成(NLG)接口中的一個接口。
      10.如權(quán)利要求9所述的系統(tǒng),其中NLU和NLG接口提供上下文和混合主動方式。
      11.如權(quán)利要求1所述的系統(tǒng),其中會話內(nèi)核包括一個管理應(yīng)用之間的對話并且根據(jù)輸入查詢選擇一個活躍對話,上下文和應(yīng)用的對話管理器;一個為會話任務(wù)管理并分配會話引擎的資源管理器;一個協(xié)同和調(diào)度會話任務(wù)的會話任務(wù)調(diào)度器;和累積一個會話任務(wù)的一個活躍會話的一個上下文的一個上下文堆棧,上下文包括查詢參數(shù),一列屬性值n元組和會話狀態(tài)。
      12.如權(quán)利要求11所述的系統(tǒng),其中上下文堆棧還包括上下文的一個全局歷史記錄。
      13.如權(quán)利要求11所述的系統(tǒng),其中還包括一個管理元信息注冊表的元信息管理器,元信息包括多個與單元相關(guān)的抽象類別,這些類別包括文件,目錄,對象,數(shù)據(jù)流句柄,網(wǎng)絡(luò),外設(shè),硬件,應(yīng)用,網(wǎng)絡(luò)文件系統(tǒng)或其組合。
      14.如權(quán)利要求13所述的系統(tǒng),其中元信息被用來提供針對單元的快捷方式。
      15.如權(quán)利要求13所述的系統(tǒng),其中元信息還提供有關(guān)參數(shù)選擇,安全,習慣,生物測定,行為或其組合的用戶信息。
      16.如權(quán)利要求1所述的系統(tǒng),其中會話內(nèi)核通過一個會話引擎API控制和訪問會話引擎。
      17.如權(quán)利要求11所述的系統(tǒng),其中會話內(nèi)核還包括一個通過對話管理器訪問后臺邏輯的后臺抽象層。
      18.如權(quán)利要求7所述的系統(tǒng),其中會話內(nèi)核包括一個根據(jù)I/O資源和會話引擎的能力對行為進行調(diào)整,提供呈現(xiàn)給用戶的CUI和對話的會話代碼轉(zhuǎn)換器。
      19.如權(quán)利要求11所述的系統(tǒng),其中還包括與可理解會話的系統(tǒng)交換信息的會話協(xié)議,上述可理解會話的系統(tǒng)包括遠程應(yīng)用,遠程設(shè)備,遠程會話式計算系統(tǒng)或其組合。
      20.如權(quán)利要求19所述的系統(tǒng),其中會話協(xié)議包括用于交換信息的分布式會話協(xié)議,所交換的信息包括會話狀態(tài),會話參數(shù),上下文,會話引擎API調(diào)用,結(jié)果或其組合。
      21.如權(quán)利要求19所述的系統(tǒng),其中會話協(xié)議包括用于自動發(fā)現(xiàn)可理解會話的系統(tǒng)的會話發(fā)現(xiàn)協(xié)議,會話發(fā)現(xiàn)協(xié)議包括廣播握手請求,交換標識符,交換第一次登記的句柄和交換第一次協(xié)商的句柄。
      22.如權(quán)利要求21所述的系統(tǒng),其中會話協(xié)議包括交換信息以便在系統(tǒng)和可理解會話的系統(tǒng)之間協(xié)商出網(wǎng)絡(luò)拓撲的會話協(xié)商協(xié)議。
      23.如權(quán)利要求22所述的系統(tǒng),其中會話協(xié)議包括用于交換和登記有關(guān)會話能力,會話狀態(tài)和上下文的信息以便把數(shù)據(jù)傳遞限制成只傳輸有關(guān)信息并且協(xié)商出網(wǎng)絡(luò)拓撲的會話登記協(xié)議。
      24.如權(quán)利要求11所述的系統(tǒng),其中會話內(nèi)核層提供通過會話應(yīng)用API使用系統(tǒng)調(diào)用可以訪問的會話服務(wù)和行為。
      全文摘要
      一個會話式計算系統(tǒng),該系統(tǒng)在多個了解會話的應(yīng)用(11)(即使用會話協(xié)議“談話”的應(yīng)用)和常規(guī)應(yīng)用(12)之間提供了一個統(tǒng)一協(xié)調(diào)的多態(tài)會話用戶界面(CUI)(10)。了解會話的應(yīng)用(11)通過會話應(yīng)用API(13)與一個會話內(nèi)核(14)通信。會話內(nèi)核(14)根據(jù)其登記的會話能力和要求控制應(yīng)用和設(shè)備(本地和聯(lián)網(wǎng))之間的對話并且提供統(tǒng)一的會話用戶界面,會話服務(wù)和行為。會話式計算系統(tǒng)可以建立在一個常規(guī)操作系統(tǒng),API(15)和常規(guī)設(shè)備硬件(16)的頂端。會話內(nèi)核(14)處理所有的I/O處理并且控制會話引擎(18)。會話內(nèi)核(14)使用會話引擎(18)和會話參數(shù)(17)把語音請求轉(zhuǎn)換成查詢并且把輸出和結(jié)果轉(zhuǎn)換成口語消息。會話應(yīng)用API(13)傳達會話內(nèi)核(14)的全部信息以便把查詢轉(zhuǎn)換成應(yīng)用調(diào)用,反之在輸出被提供到用戶之前把輸出轉(zhuǎn)換成語音并且加以適當?shù)姆诸悺?br> 文檔編號G10L15/22GK1321296SQ99811618
      公開日2001年11月7日 申請日期1999年10月1日 優(yōu)先權(quán)日1998年10月2日
      發(fā)明者丹尼爾·考夫曼, 利安·D·康莫福德, 史蒂文·V·德貞納羅, 愛德華·A·愛波斯坦, 波納尼·格帕克里什南, 斯蒂芬尼·H·梅斯, 戴維·納哈莫 申請人:國際商業(yè)機器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1