国产精品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>

      用于從數(shù)據(jù)元模型生成有聲用戶接口編碼的方法和系統(tǒng)的制作方法

      文檔序號:2823264閱讀:222來源:國知局
      專利名稱:用于從數(shù)據(jù)元模型生成有聲用戶接口編碼的方法和系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明總體上涉及軟件開發(fā);更具體地,本發(fā)明旨在使用等同于圖形用戶接口向?qū)У囊龑?dǎo)方式來生成用于軟件應(yīng)用的有聲用戶接口編碼;本發(fā)明還旨在從實體關(guān)系模型 (諸如,以設(shè)計語言中描述軟件應(yīng)用的統(tǒng)一建模語言(UML)類圖)開始生成有聲用戶接口編碼。
      背景技術(shù)
      當(dāng)從整個軟件應(yīng)用的數(shù)據(jù)模型開始時,自動生成有聲用戶接口編碼成為一項挑戰(zhàn)。如今的開發(fā)工具允許開發(fā)者通過首先設(shè)計對話流來生成有聲用戶接口編碼,有聲用戶接口編碼隨后從該對話流自動生成。由于有聲接口人體工學(xué)通常極為敏感,因此開發(fā)者需要修改和定制在第一步驟中已經(jīng)生成的有聲用戶接口編碼。此開發(fā)概念已經(jīng)由針對話音的 UML簡檔(OMG)中的OMG俘獲并將其形式化。存在對軟件應(yīng)用的有聲用戶接口編碼可以從待由應(yīng)用俘獲的數(shù)據(jù)的建模(例如, 諸如UML類圖的元數(shù)據(jù)模型)來自動生成的需求。然而,至今尚未發(fā)現(xiàn)直接從元數(shù)據(jù)模型自動生成有聲用戶接口編碼的這種方法,即便是OMG建模也試圖對接口和對話流保持高度的關(guān)注。相比于用于用戶接口開發(fā)的現(xiàn)有的軟件開發(fā)工具,并入非常容易理解的向?qū)ё鳛槿鐖D形用戶接口的業(yè)務(wù)應(yīng)用的數(shù)量不斷增加。向?qū)墙换ボ浖?,其通過圖形用戶接口以引導(dǎo)的方式幫助用戶使用步進頁面來完成復(fù)雜的業(yè)務(wù)操作。類似地,有聲用戶接口應(yīng)用需要等同于圖形用戶接口應(yīng)用向?qū)У囊龑?dǎo)方式。如今還不可能直接從軟件應(yīng)用的元數(shù)據(jù)模型自動生成允許用戶以如通過圖形用戶接口向?qū)瓿傻囊龑?dǎo)方式輸入應(yīng)用數(shù)據(jù)的有聲用戶接口編碼。注意到,利用現(xiàn)有的技術(shù),如今仍不可能從元數(shù)據(jù)模型自動生成圖形用戶接口編碼的向?qū)Ь幋a。對于圖形用戶接口而言,存在用于從應(yīng)用的高級設(shè)計(諸如實體關(guān)系模型) 開始生成實現(xiàn)應(yīng)用的對話的編碼的工具。對話編碼的自動生成已經(jīng)并且仍然由許多不同的軟件工具使用,但其主要用于類似DynamicTMN CMIP MIT瀏覽器的開發(fā)工具中。注意到, 所有基于SNMP或CMIP的管理系統(tǒng)基于持久性模型動態(tài)地創(chuàng)建用戶接口。在因特網(wǎng)地址 http//www, monfox. com/dtmn/ java-cmip-mit-browser. html 處描述了一個不例,其中基于在CMIP定義中俘獲的00模型自動創(chuàng)建了用戶接口。DynamicTMN CMIP MIT瀏覽器提
      出數(shù)據(jù)模型對象與以Eclipse EMF框架提供的形式的一般屬性值表格編輯器的樹狀圖。該瀏覽器還提出更高級的對話,仍然使用與附加圖形輸入、手動輸入相關(guān)聯(lián)的實體關(guān)系模型 (如描述用于數(shù)據(jù)庫系統(tǒng)的自動接口布局生成器的美國專利US5495567中所定義的)。因此,存在從包括有聲用戶接口的軟件應(yīng)用的元數(shù)據(jù)模型開始自動開發(fā)有聲用戶接口編碼的需要。此外,為了幫助用戶以引導(dǎo)的方式執(zhí)行操作,存在對開發(fā)有聲接口的需要,當(dāng)該有聲接口用于軟件應(yīng)用的圖形用戶接口中時,其引導(dǎo)用戶以與向?qū)ь愃频姆绞戒浫霐?shù)據(jù)。

      發(fā)明內(nèi)容
      從軟件應(yīng)用的實體關(guān)系數(shù)據(jù)模型開始,本發(fā)明的方法和系統(tǒng)的目標在于進行模型的解釋,以定義自動生成引導(dǎo)式話音接口編碼所需的強制性與選擇性步驟。該軟件應(yīng)用的引導(dǎo)式話音接口由應(yīng)用的用戶執(zhí)行,以用引導(dǎo)方式在軟件應(yīng)用的數(shù)據(jù)模型中創(chuàng)建對話實體。如同圖形接口向?qū)Ы?jīng)結(jié)構(gòu)化為一系列頁面,類似地,由本發(fā)明的方法和系統(tǒng)創(chuàng)建的引導(dǎo)式話音接口經(jīng)結(jié)構(gòu)化為語音對話及在該文檔的其余部分中被稱作“表格”的一系列對話單元。如在VoiceXML標準中所定義的“表格”是與針對一組域的值的獲取對應(yīng)的對話編碼單元。即使類似,頁面和表格并非具有相同的結(jié)構(gòu)特性;雖然標準分頁服務(wù)與頁面相關(guān)聯(lián)(前移、后移、完成),但對于“表格”而言并非如此。然而,在該文檔的其余部分中,本發(fā)明的引導(dǎo)式話音接口將被稱為“支持話音的向?qū)А?。有聲接口能夠通過例如電話線到達實際上任何地方的用戶,這個有聲接口的普遍特性抵消了為支持話音的向?qū)ё詣由删幋a的技術(shù)挑戰(zhàn)和人體工學(xué)挑戰(zhàn)。本發(fā)明的目標是根據(jù)權(quán)利要求1以一種在計算機上執(zhí)行的方法來實現(xiàn),該方法用于生成用于軟件應(yīng)用的有聲接口編碼,該軟件應(yīng)用具有利用包括類、類屬性和類之間的關(guān)系的實體關(guān)系模型所描述的數(shù)據(jù),該方法包括以下步驟-針對從實體關(guān)系模型讀取的每個類,標識為不是用于軟件應(yīng)用接口的類也不是抽象類;-創(chuàng)建(304)對話單元編碼的結(jié)構(gòu)(VoiceXML表格)以用于獲取類屬性的值;-針對從實體關(guān)系模型讀取的標識的類的每個屬性,如果該類與一個其他類具有單一關(guān)系,或者如果該類與其他類具有多重關(guān)系但該多重關(guān)系并不適用于該屬性,則在該對話單元編碼中創(chuàng)建(307)用于直接獲取屬性(VoiceXML域)的值的編碼,否則,在該對話單元編碼中創(chuàng)建用于啟用選擇其他類的對話單元編碼的子對話編碼(308);-通過讀取與該實體關(guān)系模型中的類相關(guān)聯(lián)的關(guān)系,標識已創(chuàng)建的表格為錄入表格還是內(nèi)部表格。本發(fā)明的目標還根據(jù)權(quán)利要求2利用如權(quán)利要求1的方法來實現(xiàn),其中在該對話單元編碼中創(chuàng)建用于直接獲取關(guān)于該屬性的值的編碼的步驟(307)包括以下步驟-創(chuàng)建用于直接獲取該屬性的值的提示編碼;-自該實體關(guān)系模型讀取該屬性類型;-如果該屬性類型為內(nèi)置,則參考相應(yīng)現(xiàn)有的內(nèi)置語法(107);如果其為枚舉,則創(chuàng)建并參考枚舉語法,如果其并非枚舉,如果將該屬性定義為包含,則在由此屬性參考的該類的對話單元編碼中,創(chuàng)建用于執(zhí)行該屬性的類的對話單元編碼的子對話編碼,如果該屬性并非包含,則在由此屬性參考的類的對話單元編碼中,創(chuàng)建用于選擇該屬性的類的對話單元編碼的子對話編碼。本發(fā)明的目標還根據(jù)權(quán)利要求3利用如權(quán)利要求1或2中任一項的方法來實現(xiàn), 該方法進一步包括以下步驟該軟件應(yīng)用用戶基于已創(chuàng)建的支持話音的向?qū)Ь幋a來執(zhí)行支持話音的向?qū)н^程,其從填充錄入向?qū)υ拞卧幋a及該內(nèi)部向?qū)υ拞卧幋a(如果有的話)的屬性值開始,直至已填充所有向?qū)υ拞卧幋a屬性為止。
      本發(fā)明的目標還根據(jù)權(quán)利要求4利用如權(quán)利要求1至3中任一項的方法來實現(xiàn), 其中該步驟以讀取實體關(guān)系模型來執(zhí)行,該實體關(guān)系模型為UML類圖。本發(fā)明的目標還根據(jù)權(quán)利要求5利用如權(quán)利要求1至4中任一項的方法來實現(xiàn),其中用于生成編碼的步驟基于該VoiceXML語言,對于此種語言,該對話單元編碼為 VoiceXML表格且用于該表格中的直接屬性值獲取的編碼為VoiceXML域。本發(fā)明的目標還根據(jù)權(quán)利要求6利用如權(quán)利要求1至5中任一項的方法來實現(xiàn), 其中用于生成編碼的步驟系基于自然語言理解。本發(fā)明的目標還根據(jù)權(quán)利要求7利用一種計算機程序產(chǎn)品來實現(xiàn),該計算機程序產(chǎn)品包括程序編碼指令,該指令用于當(dāng)在計算機上執(zhí)行所述程序時,執(zhí)行根據(jù)權(quán)利要求1 至6中任一項的方法的步驟。本發(fā)明的目標還根據(jù)權(quán)利要求8利用一種系統(tǒng)實現(xiàn),該系統(tǒng)包括適用于進行根據(jù)權(quán)利要求1至6中任一項的方法的裝置。本發(fā)明的方法為開發(fā)者帶來允許自動有聲接口編碼生成的設(shè)計建模的優(yōu)點該方法的所有步驟可在計算機上執(zhí)行。本發(fā)明的方法提供統(tǒng)一用戶有聲接口編碼,其為應(yīng)用的支持話音的向?qū)Ь幋a。支持話音的向?qū)Ь幋a在統(tǒng)一的情況下將易于維持。從應(yīng)用用戶的角度而言,支持話音的向?qū)У氖褂玫囊话慊ㄟ^這個引導(dǎo)式用戶接口帶來可用性的優(yōu)點。本方法提出用于(例如)用UML開發(fā)應(yīng)用支持話音的向?qū)У腗DA(模型驅(qū)動式架構(gòu))方法這允許使開發(fā)工具和相關(guān)編碼標準化。提供的解決方法從UML類圖開始,在該圖中對持久性數(shù)據(jù)進行建模。隨后由系統(tǒng)對模型進行分析以自動產(chǎn)生支持話音的向?qū)Ь幋a。本發(fā)明的方法為用于創(chuàng)建某一類型的支持話音的向?qū)У目芍貜?fù)過程這個類型的向?qū)涤糜谳o助應(yīng)用用戶創(chuàng)建實體關(guān)系模型的離散對象。與僅允許向類屬性提供值的“編輯器”相比,支持話音的向?qū)善鲃?chuàng)建支持話音的向?qū)?,該支持話音的向?qū)г趫?zhí)行時幫助用戶向該類屬性提供值。由本發(fā)明的方法產(chǎn)生的支持話音的向?qū)橥耆捎密浖嶓w,其引導(dǎo)包含支持話音的向?qū)У膽?yīng)用的用戶將支持話音的向?qū)У膶傩灾?其為簡單類型值)從簡單字串、日期或布爾值填充為更復(fù)雜的屬性值(諸如對另一對象的參考)。由應(yīng)用用戶創(chuàng)建并且填充的支持話音的向?qū)У膶嶓w實例可由軟件應(yīng)用的其他程序再利用以用于(例如) 編輯。


      圖1示出了用于構(gòu)建和使用根據(jù)優(yōu)選實施方式的方法由本發(fā)明生成的支持話音的應(yīng)用向?qū)У沫h(huán)境;圖2示出了使用由優(yōu)選實施方式的方法用作輸入的、統(tǒng)一建模語言(UML)表示的數(shù)據(jù)元模型的示例;圖3是優(yōu)選實施方式的方法的一般流程圖;圖4是優(yōu)選實施方式的方法的域構(gòu)造子過程(307);圖5示出了由優(yōu)選實施方式的屬性子過程(308)創(chuàng)建子對話的可能實現(xiàn)方式所產(chǎn)生的示例對話流程圖;以及圖6(圖6A、圖6B)是所生成代碼的示例,其生成自圖1上呈現(xiàn)的數(shù)據(jù)元模型的一部分。
      具體實施例方式圖1示出了用于構(gòu)建和使用根據(jù)優(yōu)選實施方式的方法由本發(fā)明產(chǎn)生的支持話音的應(yīng)用向?qū)У沫h(huán)境。這個環(huán)境允許應(yīng)用向?qū)У木幋a的生成,該應(yīng)用向?qū)Р倏v實體關(guān)系模型 (102)中描述的應(yīng)用的持久數(shù)據(jù),應(yīng)用的數(shù)據(jù)元模型可以是UML類圖。在優(yōu)選實施方式中,生成支持話音的向?qū)Ь幋a的方法被實現(xiàn)為軟件程序,即在計算機上執(zhí)行的支持話音的向?qū)善?103)。用于創(chuàng)建支持話音的向?qū)г淳幋a的方法的步驟的其他可能實現(xiàn)方式(硬件、語言解釋器等)也是適合的。支持話音的向?qū)善?10 允許應(yīng)用開發(fā)者生成完全可用的支持話音的向?qū)?(105)的編碼。該支持話音的向?qū)С绦蚶^而可以與可執(zhí)行應(yīng)用(11 進行組合,以向應(yīng)用的用戶(111)提供在線性有聲交互中容易地創(chuàng)建應(yīng)用數(shù)據(jù)及其屬性的方式。該目標支持話音的向?qū)?105)可以表示為針對話音的UML簡檔(OMG)或適當(dāng)?shù)某绦蛘Z言,包括作為面向?qū)驅(qū)υ捳Z言的VoiceXML和用于處理動態(tài)內(nèi)容和高階對話流控制 ^J Java0支持話音的向?qū)善?103)在“軟件開發(fā)環(huán)境”(100)中運行,并且創(chuàng)建應(yīng)用的支持話音的向?qū)У木幋a。支持話音的向?qū)Ю^而在“執(zhí)行環(huán)境”(110)中部署和執(zhí)行。軟件開發(fā)環(huán)境(100)是如當(dāng)今現(xiàn)存許多框架的開發(fā)框架,其包括在開發(fā)者計算機工作區(qū)中可用來構(gòu)建整個應(yīng)用的工具(諸如編輯器、向?qū)А⒕幾g器、鏈接)。軟件環(huán)境被安裝作為在操作系統(tǒng)上操作的程序,該操作系統(tǒng)提供圖形用戶接口,其被用作本發(fā)明的優(yōu)選實施方式的最喜歡的開發(fā)者接口。執(zhí)行環(huán)境(110)是硬件和軟件平臺,其適于通過電話信道遠程地或在本地(如果有聲信號是在與執(zhí)行支持話音的向?qū)嗤脑O(shè)備上收集的)執(zhí)行有聲應(yīng)用。執(zhí)行環(huán)境可以包括應(yīng)用服務(wù)器、話音瀏覽器、語音識別引擎和文本轉(zhuǎn)語音引擎。執(zhí)行環(huán)境還可以可選地包括多模式瀏覽器以支持有聲接口和圖形接口兩者。核心單元,即支持話音的向?qū)善?103)需要一組信息作為程序輸入。第一輸入為由應(yīng)用設(shè)計者所創(chuàng)建的表示將由應(yīng)用操縱的數(shù)據(jù)的應(yīng)用的數(shù)據(jù)元模型(102)。該數(shù)據(jù)元模型是以可以具有圖形表示的設(shè)計語言(諸如優(yōu)選實施方式中的UML)來描述的。第二輸入為一組庫(107),其支援運行時間環(huán)境的話音能力(以生成不同語言、不同類型的話音
      寸乂 O在其他能力中,開發(fā)者(106)可以定制用作支持話音的向?qū)善鞯妮斎氲膮?shù)。這些參數(shù)例如可以定義對話類型(引導(dǎo)式與混和主導(dǎo)式)、TTS提示長度、自由文本屬性的默認收集行為(拼寫語法、聲音轉(zhuǎn)拼寫算法…)、強制域、支持話音的向?qū)е斜砀竦拇涡颉?。?dāng)在執(zhí)行環(huán)境中運行支持話音的向?qū)r將應(yīng)用這些定制。圖2示出了數(shù)據(jù)元模型的示例(200),其為由優(yōu)選實施方式的方法用作輸入的UML 類圖。圖2的數(shù)據(jù)元模型為實體關(guān)系模型,其已由程序設(shè)計者或架構(gòu)者使用任何高階面向?qū)ο蟮慕UZ言工具來創(chuàng)建,該實體關(guān)系模型不定義話音接口屬性,僅定義類001)、類屬性、它們與屬性相關(guān)聯(lián)的類型(203)及類之間的關(guān)系002)。這個類圖示例已使用基于UML的建模工具(命名為Rational Rose)來完成??梢允褂萌魏纹渌唠A面向?qū)ο蟮慕UZ言工具來完成數(shù)據(jù)元模型的其他表示。從圖2的數(shù)據(jù)元模型讀取的實體(其為類、類屬性及類之間的關(guān)系)形成導(dǎo)航樹, 該導(dǎo)航樹經(jīng)線性化為由如在下列圖中描述的支持話音的向?qū)善魉傻闹С衷捯舻南驅(qū)У牧鞒虉D。在圖2的示例中,數(shù)據(jù)模型為用于項目管理應(yīng)用的設(shè)計?!鞍鳖惐粯俗R為鏈接至具有其上有一個黑色菱形的關(guān)系的另一類的那些類。類為包含的事實對用以俘獲這個類的數(shù)據(jù)的有聲接口的結(jié)構(gòu)具有影響。舉例而言,因為可以存在I^roject的Drop,所以ftOject 類中包含類Drop,并且為了俘獲關(guān)于該ftOject的數(shù)據(jù),用戶接口必須還提出俘獲關(guān)于該 Drop的數(shù)據(jù)。相反的,因為當(dāng)俘獲關(guān)于Drop的數(shù)據(jù)時不存在必須俘獲關(guān)于Bug的數(shù)據(jù)的義務(wù),所以Drop與Bug之間的關(guān)系不包括黑色菱形。當(dāng)俘獲關(guān)于I^roject的數(shù)據(jù)時,關(guān)于 Bug的數(shù)據(jù)被強制地俘獲。類似地,當(dāng)屬性所參考的類被定義為包含時,該類的此屬性被標識為包含。從程序的角度而言,俘獲包含類的數(shù)據(jù)的支持話音的向?qū)С绦虻木幋a為從這個支持話音的向?qū)С绦騼?nèi)另一處調(diào)用的子過程。此概念在步驟308中作為子對話進一步進行描述。圖3為在生成過程期間用于生成(300)所有支持話音的向?qū)ЫM件的方法的一般流程圖。此流程圖在生成器組件中實施。該過程的第一步驟為收集數(shù)據(jù)模型中的所有類并且在所收集的所有類上循環(huán) (301),隨后檢查是否涉及接口(302)。類可實施自身定義方法的接口 無法被實例化為具體類的接口 ;因此,在過程中必須對這些接口進行篩選,因為對它們進行編輯。當(dāng)這是接口類(對測試302回答是)時,讀取下一類(314)。當(dāng)這不是接口類(對測試302回答否)時,系統(tǒng)檢查是否涉及抽象類(303)。抽象類包含將需使用或者重新定義具體類的默認行為方法及屬性;因此,在過程中還必須篩選抽象類,且僅經(jīng)由在過程后期使用抽象類的具體類使用。當(dāng)這是抽象類(對測試303回答是)時,讀取下一類(314)。當(dāng)這不是抽象類(對測試303回答否)時,系統(tǒng)通過執(zhí)行另一主要步驟繼續(xù),以從使用類名稱作為用于表格標識符的基礎(chǔ)的類定義生成向?qū)У谋砀?304)。該過程的下一步驟為收集當(dāng)前類及其祖先(ancestor)的所有屬性,并且在所有屬性上循環(huán)(305)。對于每個屬性,測試306檢查其是否為單一關(guān)系。當(dāng)這個類對另一類具有單一關(guān)系(對測試306回答是)時,下一步驟從正在當(dāng)前表格中所讀取的屬性創(chuàng)建域(307)。如W3C對于VoiceXML語言的定義的域為用以基于語法實例化特定變量或?qū)傩缘谋砀竦淖釉?。稍后在關(guān)于圖4的文檔中描述域創(chuàng)建的子過程定義。否則,當(dāng)這個類具有多重關(guān)系(對測試306回答否)時,下一步驟從多重關(guān)系的目標類創(chuàng)建子對話(308)。這個子對話旨在若當(dāng)前類包含目標類,則定義哪些實體為這個屬性的部分并創(chuàng)建這些實體。一旦子對話完成其任務(wù),則調(diào)用表格從其之前的位置繼續(xù)執(zhí)行。 在此定義的子對話的行為相對類似于Voice XML語言說明書中W3C所定義的元素子對話的行為;在這個特定上下文中,它的實現(xiàn)還可實現(xiàn)于諸如java/jsp的中間編程層中以編控制動態(tài)內(nèi)容。
      在圖5中描述這樣的子對話的實現(xiàn)的示例。備選地,如果當(dāng)前類不包含目標類,則可使用選擇域。這樣的域與允許用于此屬性的所有合格實體的級聯(lián)的某些表格的語法相關(guān)聯(lián)。隨后讀取下一屬性(309),直到類中無屬性(對測試309回答否)為止。一旦覆蓋了類的所有屬性(對測試309回答否),則步驟310對表格內(nèi)的所有域進行重新排序,以便將與強制屬性相關(guān)聯(lián)的域前移。這在作為本發(fā)明的優(yōu)選實施方式的引導(dǎo)式(順序)對話方案中尤為重要。與步驟402中描述的分流語法一起,它使得一旦已經(jīng)實例化了所有強制屬性,則用戶有可能跳至下一類。系統(tǒng)隨后檢查包含關(guān)系的目標類(311)。這個信息已在步驟307的執(zhí)行期間(如本文中稍后描述關(guān)于圖4的步驟409的描述)存儲,或者在這個測試311中檢索。當(dāng)不包含該類但是僅由關(guān)系的源類參考該類(對測試311回答否)時,下一步驟將當(dāng)前表格標記為“錄入表格”(313)。錄入表格為用于對話流的合格錄入點。否則,當(dāng)包含該類(對測試311回答是)時,下一步驟將當(dāng)前表格標記為“內(nèi)部”(31 。內(nèi)部表格為僅可基于該關(guān)系的來源而從支持話音的向?qū)?nèi)調(diào)用的表格。該內(nèi)部表格不能為該對話流的輸入點。過程的最終步驟(313)將創(chuàng)建的表格(304)作為錄入表格(313)或作為內(nèi)部表格添加至支持話音的向?qū)?312)。除非如果(可選地)開發(fā)者已輸入定制(106)并且強加特定順序,否則對話流將按照表格創(chuàng)建的順序展開。在每個表格內(nèi),默認實現(xiàn)為引導(dǎo)式(順序)對話,雖然可以考慮諸如混和主導(dǎo)式或自然語言的其他更復(fù)雜對話策略。當(dāng)已讀取所有類(對測試314回答否)并且已創(chuàng)建所有表格時,若開發(fā)者引入用于支持話音的向?qū)У捻撁娲涡虻亩ㄖ?,則可選步驟315允許對表格的重新排序。圖4為用于基于當(dāng)前類屬性生成域的子過程流程圖(400)。這個流程圖在生成器組件(105)中實施。該生成器組件向?qū)Ξ?dāng)前表格(304)提供新的域。過程的第一步驟001)為檢查屬性是否為強制的。若回答為否,則步驟402創(chuàng)建分流語法,該語法與允許跳過當(dāng)前或者所有隨后屬性匹配。步驟310使后一種選擇在引導(dǎo)式或順序?qū)υ挿桨钢谐蔀榭赡?,且該后一種選擇等效于移至下一表格/類(圖形接口中的下一個或完成按鈕)。此語法稍后在主要域語法得以創(chuàng)建時(408、409、411、413)包括于主要域語法中??梢跃S持用于每個表格的強制域的持久性列表以易于步驟310的實施。當(dāng)在運行時間由用戶請求跳至下一表格時,且若無任何一個具有強制項目的其他表格仍待填充,則對話可在這個點結(jié)束。步驟401、402、408、409、411、413及416形成用于跳過非可選域的簡單實施方案。然而,其他選擇在對話允許經(jīng)由非引導(dǎo)式對話(例如,本領(lǐng)域中已知的混和主導(dǎo)式或自然語言對話)填充域的其他方案中是可能的。在步驟403中讀取類屬性,且在步驟404中使用類屬性名稱以創(chuàng)建提示。該提示通常使用嵌入在默認說明性句子中的類屬性名稱,諸如通過使用文本轉(zhuǎn)語音技術(shù)而動態(tài)生成的“請輸入域X的值”。在步驟405中讀取類屬性類型,并且由系統(tǒng)檢查該類屬性類型G06)以將簡單類型與復(fù)雜類型分開。在當(dāng)前類型為簡單(對測試406回答是)時,下一步驟是根據(jù)該技術(shù)基于相應(yīng)簡單類型而創(chuàng)建簡單錄入域005)。為實現(xiàn)這個目標,步驟407測試我們是否處理內(nèi)置類型。我們將內(nèi)置類型定義為我們的執(zhí)行環(huán)境可提供語法(諸如W3C所定義的voice-xml內(nèi)置語法)的類型。若當(dāng)前屬性類型為內(nèi)置類類型(對測試407回答是),則步驟408參考關(guān)于當(dāng)前域的此內(nèi)置語法。若當(dāng)前屬性類型并非內(nèi)置類型(對測試407回答否),則步驟409執(zhí)行后移策略以為這個屬性收集數(shù)據(jù)。這個后移策略可以由覆蓋幾乎任何文本錄入的后移語法(例如,拼寫語法)組成。替代地,可以使用聲音轉(zhuǎn)拼寫系統(tǒng),或作為最基本的替代可以收集并儲存音頻信號的錄音以用于這個屬性。隨后將新創(chuàng)建的域添加至當(dāng)前表格(304)。當(dāng)屬性類型為復(fù)雜(對測試404回答否)時,下一步驟檢查該類型是否為數(shù)據(jù)模型中所定義的枚舉006)。當(dāng)屬性類型為復(fù)雜(對測試406回答否)時,下一步驟檢查該類型是否為數(shù)據(jù)模型中所定義的枚舉010)。在當(dāng)前類型為枚舉(測試410回答是)時,下一步驟創(chuàng)建包括枚舉中所定義的所有可能值的默認枚舉語法G11)。隨后將完成的域添加至當(dāng)前表格(304)。否則,在當(dāng)前類型并非為枚舉(對測試410回答否)時,下一步驟檢查是否系統(tǒng)檢查屬性是否為包含(412)。在當(dāng)前屬性為包含(對測試412回答是)時,這意味-這個屬性所參考的類被定義為包含,且在實體關(guān)系數(shù)據(jù)元模型中,另一類指向這個類。將針對這個類生成標記為內(nèi)部的表格。-所分析的屬性是指向數(shù)據(jù)元模型中的其他類的屬性。在這種情況下,步驟413創(chuàng)建TTS提示,該提示將告知用戶將要創(chuàng)建目標類的對象。隨后在步驟414中創(chuàng)建并且參考語法,且該語法將允許用戶繞過非強制域或跳至下一類(參見步驟40幻。步驟415從當(dāng)前屬性創(chuàng)建子對話,以使用為該目標類所創(chuàng)建的適當(dāng)內(nèi)部表格實例化當(dāng)前屬性。隨后將該新創(chuàng)建的域添加至當(dāng)前表格(304)。否則,在當(dāng)前屬性并非包含(對測試412回答否)時,下一步驟創(chuàng)建并且參考將在運行時間利用目標類的合格現(xiàn)有的對象提供的語法,進而允許用戶在關(guān)于當(dāng)前屬性的那些適當(dāng)值中進行選擇。隨后將新創(chuàng)建的域添加至當(dāng)前表格(304)。圖5示出了實現(xiàn)步驟308 (從多重關(guān)系屬性創(chuàng)建子對話)的對話流程圖的示例。提示(501)列舉出將在運行時間動態(tài)地檢索的選定對象及合格對象。用戶還可選擇退出當(dāng)前對話(返回至母表格),或創(chuàng)建目標類的新對象。依賴于語音識別匹配(502、503、504、505), 從當(dāng)前選擇中移除對象(506),或向當(dāng)前選擇添加對象(507),或創(chuàng)建對象并將其添加至當(dāng)前選擇(508、509),或如果已選擇的對象的數(shù)目符合數(shù)據(jù)元模型則用戶可退出對話(511)。圖6(圖6A,圖6B)示出了 VoiceXML中的對話編碼在其可以由支持話音的向?qū)善?103)生成時的示例。表格標識符“consultingProject”由步驟304創(chuàng)建以用于相應(yīng)類。該表格標識符進一步包含由步驟307創(chuàng)建的4個域(名稱、起始日期、結(jié)束日期、公司名稱)以用于實體關(guān)系數(shù)據(jù)元模型中類ConsultingProject的相應(yīng)單一關(guān)系屬性。這些域中的每個域內(nèi)的語法由步驟408創(chuàng)建并且參考,以用于spelling, grxml及date, grxml,或由步驟402創(chuàng)建并且參考以用于skip, grxml。如關(guān)于圖3、圖4和圖5的流程圖所描述的用于生成支持話音的向?qū)Ь幋a的方法包括操作步驟和測試步驟。盡管在優(yōu)選實施方式中所描述的所有步驟可由應(yīng)用開發(fā)者以互動模式在計算機上執(zhí)行(106),但是所有這些步驟還可由本領(lǐng)域中公知的源編碼生成器程序自動執(zhí)行。在優(yōu)選實施方式中,開發(fā)者可經(jīng)由開發(fā)框架的向?qū)硗瓿蓪υ淳幋a生成器的調(diào)用,該向?qū)蜷_發(fā)者呈現(xiàn)頁面,開發(fā)者可以可選地通過向?qū)?106)向生成過程頁面添加。但是,支持話音的向?qū)Ь幋a生成還可以在獨立模式并且針對定制的可選步驟而執(zhí)行;定制文件可由開發(fā)者已經(jīng)預(yù)先準備,并且在支持話音的向?qū)г淳幋a生成器的自動執(zhí)行期間將其用作輸入。
      權(quán)利要求
      1.一種在計算機上執(zhí)行以生成用于軟件應(yīng)用的有聲接口編碼的方法,所述軟件應(yīng)用具有利用包括類、類屬性和類之間關(guān)系的實體關(guān)系模型描述的數(shù)據(jù),所述方法包括-針對從所述實體關(guān)系模型讀取的每個類,標識為不是用于所述軟件應(yīng)用的接口的類也不是抽象類;-創(chuàng)建(304)對話單元編碼的結(jié)構(gòu)(VoiceXML表格)以用于獲取所述類的屬性的值;-針對從所述實體關(guān)系模型讀取的標識的類的每個屬性,如果所述類與一個其他類具有單一關(guān)系或者如果所述類與其他類具有多重關(guān)系,但是所述多重關(guān)系不應(yīng)用于所述屬性,則在所述對話單元編碼中創(chuàng)建(307)用于直接獲取所述屬性(VoiceXML域)的值的編碼,否則,在所述對話單元編碼中創(chuàng)建用于啟用選擇其他類的對話單元編碼的子對話編碼 (308);-通過讀取與所述實體關(guān)系模型中的所述類相關(guān)聯(lián)的關(guān)系來標識所創(chuàng)建的表格是錄入表格還是內(nèi)部表格。
      2.根據(jù)權(quán)利要求1所述的方法,其中用于在所述對話單元編碼中創(chuàng)建用于直接獲取所述屬性值的編碼的步驟(307)包括-創(chuàng)建用于直接獲取所述屬性值的提示編碼;-從所述實體關(guān)系模型讀取所述屬性類型;-如果所述屬性類型是內(nèi)置,則參考對應(yīng)的現(xiàn)有的內(nèi)置語法(107);-如果所述屬性不是簡單類型,如果所述屬性是枚舉,則創(chuàng)建并參考枚舉語法,如果屬性不是枚舉,如果將所述屬性定義為包含,則在由該屬性參考的類的對話單元編碼中創(chuàng)建用于執(zhí)行所述屬性的所述類的對話單元編碼的子對話編碼,如果所述屬性不是包含,則在由所述屬性參考的所述類的對話單元編碼中創(chuàng)建用于選擇所述屬性的所述類的對話單元編碼的子對話編碼。
      3.根據(jù)權(quán)利要求1或權(quán)利要求2任意一項所述的方法,進一步包括所述軟件應(yīng)用的用戶基于所創(chuàng)建的支持話音的向?qū)Ь幋a來執(zhí)行支持話音的向?qū)н^程,所述執(zhí)行通過從填充錄入向?qū)υ拞卧幋a和所述內(nèi)部向?qū)υ拞卧幋a的屬性值開始,如果有的話,直到填充了所有所述向?qū)υ拞卧幋a屬性為止。
      4.根據(jù)權(quán)利要求1至權(quán)利要求3中任意一項所述的方法,其中所述步驟通過讀取實體關(guān)系模型來執(zhí)行,所述實體關(guān)系模型為UML類圖。
      5.根據(jù)權(quán)利要求1至權(quán)利要求4中任意一項所述的方法,其中用于生成編碼的步驟基于VoiceXML語言,針對所述VoiceXML語言,所述對話單元編碼是VoiceXML表格并且用于所述表格中的直接屬性值獲取的編碼為VoiceXML域。
      6.根據(jù)權(quán)利要求1至權(quán)利要求5中任意一項所述的方法,其中用于生成編碼的所述步驟基于自然語言理解。
      7.一種包括程序編碼指令的計算機程序產(chǎn)品,所述程序編碼指令用于當(dāng)在計算機上執(zhí)行所述程序時,執(zhí)行根據(jù)權(quán)利要求1至權(quán)利要求6中任意一項所述方法的步驟。
      8.一種系統(tǒng),包括適于執(zhí)行根據(jù)權(quán)利要求1至權(quán)利要求6中任意一項所述方法的裝置。
      全文摘要
      一種用于通過讀取應(yīng)用的持久性數(shù)據(jù)來生成軟件應(yīng)用的有聲接口的編碼的方法、計算機程序及系統(tǒng),該應(yīng)用由數(shù)據(jù)元模型使用諸如定義類的層級式組織、其屬性及類之間關(guān)系的UML(統(tǒng)一建模語言)的設(shè)計語言來設(shè)計。類似于用于圖形用戶接口的向?qū)В撚新暯涌诰幋a包含對話單元編碼(在使用VoiceXML語言時,該對話單元編碼為表格)以在執(zhí)行時允許以引導(dǎo)方式錄入用于該應(yīng)用的數(shù)據(jù)。
      文檔編號G10L15/22GK102246227SQ200980150265
      公開日2011年11月16日 申請日期2009年10月20日 優(yōu)先權(quán)日2008年12月19日
      發(fā)明者J-Y·里戈萊, R·勒熱納 申請人:國際商業(yè)機器公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1