亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

在軟件程序中使用強(qiáng)數(shù)據(jù)類(lèi)型表示語(yǔ)音識(shí)別語(yǔ)法的制作方法

文檔序號(hào):2830066閱讀:529來(lái)源:國(guó)知局
專(zhuān)利名稱:在軟件程序中使用強(qiáng)數(shù)據(jù)類(lèi)型表示語(yǔ)音識(shí)別語(yǔ)法的制作方法
在軟件程序中使用強(qiáng)數(shù)據(jù)類(lèi)型表示語(yǔ)音識(shí)別語(yǔ)法
背景
下面的討論僅僅提供廣義的背景信息,并不是為了被用作確定所要求的主 題的范圍的依據(jù)。
"自然語(yǔ)言軟件應(yīng)用程序"是指用于接收以人說(shuō)話的方式表達(dá)的語(yǔ)音表述
或者文本輸入的應(yīng)用程序。然而,傳統(tǒng)的利用語(yǔ)音識(shí)別的此類(lèi)應(yīng)用程序?qū)崿F(xiàn)如
下定義該應(yīng)用程序可能會(huì)收到的詞、定義這些詞可能怎樣被組合、以及定義 這些詞的特定組合的語(yǔ)義含義。
通常,術(shù)語(yǔ)"語(yǔ)法"(grammar)是指定義任何給定語(yǔ)言的結(jié)構(gòu)的規(guī)則和 潛在原則,并且語(yǔ)法可被用作自然語(yǔ)言應(yīng)用程序執(zhí)行這些功能的機(jī)制。在實(shí)現(xiàn) 中,自然語(yǔ)言編程器對(duì)語(yǔ)法進(jìn)行編碼,該語(yǔ)法之后被語(yǔ)音識(shí)別器利用。當(dāng)用于 訪問(wèn)該自然語(yǔ)法程序并且說(shuō)了一些屬于己經(jīng)被該語(yǔ)法所定義的一組詞和規(guī)則 中的內(nèi)容時(shí),語(yǔ)法識(shí)別器將這些詞映射到在該語(yǔ)法中定義的串或者其他類(lèi)型。 語(yǔ)法識(shí)別器之后告知應(yīng)用程序(用戶)說(shuō)了什么,以及任何由語(yǔ)法所定義的相 應(yīng)的語(yǔ)義信息,并通常將映射后的對(duì)象提供給該應(yīng)用程序進(jìn)行進(jìn)一步的處理。
這種形式的傳統(tǒng)應(yīng)用程序要求軟件開(kāi)發(fā)者編碼大量的文本和串文本操作。 為了使編碼更加有效率,開(kāi)發(fā)者需要對(duì)語(yǔ)法從總體上有很好的理解,且對(duì)開(kāi)發(fā) 者所使用的該具體語(yǔ)法的內(nèi)部工作原理有很好的理解。不幸的是,這種語(yǔ)法知 識(shí)(grammatical insight)并不是程序員的知識(shí)庫(kù)的 一 部分。
為了加快整體的開(kāi)發(fā)周期,開(kāi)發(fā)者通常希望使用一些現(xiàn)存語(yǔ)法的變體,比 如對(duì)現(xiàn)存的語(yǔ)法進(jìn)行編譯和/或進(jìn)行增加。然而,對(duì)現(xiàn)存的語(yǔ)法進(jìn)行編譯需要開(kāi) 發(fā)者花費(fèi)時(shí)間去學(xué)習(xí)其結(jié)構(gòu),而這些時(shí)間原本是可以用來(lái)增強(qiáng)軟件實(shí)現(xiàn)的。盡 管傳統(tǒng)的技術(shù)允許開(kāi)發(fā)者在另一個(gè)語(yǔ)法中參考一個(gè)現(xiàn)存的語(yǔ)法,但是該參考語(yǔ) 法對(duì)于調(diào)用程序并不是透明的,因?yàn)槠涫峭ㄟ^(guò)返回參考語(yǔ)法的語(yǔ)義的方式而起 作用的。
概要
該概要被提供用于以簡(jiǎn)要的方式介紹一些概念,這些概念在下面的詳細(xì)說(shuō) 明部分會(huì)被描述。該概要不是為了確定所要求的主題的關(guān)鍵特征或者是基本特 征,該概要也不是為了被用作確定所要求的主題的范圍的依據(jù)。
在一實(shí)施例中, 一種用于向自然語(yǔ)言實(shí)現(xiàn)應(yīng)用程序解釋自然語(yǔ)言輸入的系 統(tǒng)具有語(yǔ)法、源文件、以及語(yǔ)音識(shí)別器。該語(yǔ)法具有一組數(shù)據(jù)類(lèi)型以及關(guān)于該 組數(shù)據(jù)類(lèi)型的語(yǔ)義編碼定義規(guī)則。該源文件包括用于通過(guò)實(shí)例化該組數(shù)據(jù)類(lèi)型 中所選擇的數(shù)據(jù)類(lèi)型而訪問(wèn)該語(yǔ)法的計(jì)算機(jī)可讀編碼。該語(yǔ)音識(shí)別器用于接收 自然語(yǔ)言輸入并將該自然語(yǔ)言輸入映射至所選擇的數(shù)據(jù)類(lèi)型。
在另一實(shí)施例中, 一種用于自然語(yǔ)言輸入識(shí)別的系統(tǒng)具有輸入設(shè)備、強(qiáng)類(lèi) 型語(yǔ)法、識(shí)別組件、以及解釋組件。該輸入設(shè)備用于接收自然語(yǔ)言輸入。該強(qiáng) 類(lèi)型語(yǔ)法定義了一組表示自然語(yǔ)言輸入的元素的類(lèi)型。該識(shí)別組件用于使用該 強(qiáng)類(lèi)型語(yǔ)法將該自然語(yǔ)言輸入轉(zhuǎn)換成文本并基于該文本產(chǎn)生識(shí)別輸出。該解釋 組件用于基于該識(shí)別輸出確定自然語(yǔ)言輸入的語(yǔ)義。
在另一實(shí)施例中,提供一種用于訪問(wèn)自然語(yǔ)言應(yīng)用程序的語(yǔ)法的方法。提 供一個(gè)或多個(gè)語(yǔ)法。每個(gè)語(yǔ)法具有一組表示自然語(yǔ)言的類(lèi)型。在一個(gè)或多個(gè)源 編碼文件中定義用于在自然語(yǔ)言輸入上操作的進(jìn)程。在運(yùn)行時(shí),該組類(lèi)型中被 選擇的類(lèi)型從一個(gè)或多個(gè)語(yǔ)法被實(shí)例化。該選擇的類(lèi)型對(duì)應(yīng)于自然語(yǔ)言輸入。
附圖簡(jiǎn)述


圖1是可以實(shí)現(xiàn)本發(fā)明的實(shí)施例的計(jì)算系統(tǒng)環(huán)境的示意圖2是根據(jù)本發(fā)明的一實(shí)施例用于自然語(yǔ)言語(yǔ)法的編譯進(jìn)程的簡(jiǎn)化框圖3是示出根據(jù)本發(fā)明的一實(shí)施例的自然語(yǔ)言系統(tǒng)的輸入組件的簡(jiǎn)化框
圖4是根據(jù)本發(fā)明的一實(shí)施例用于編程強(qiáng)類(lèi)型語(yǔ)法的進(jìn)程的簡(jiǎn)化的流程
圖5是根據(jù)本發(fā)明的一實(shí)施例使用強(qiáng)類(lèi)型語(yǔ)法編程自然語(yǔ)言程序的編譯進(jìn) 程的簡(jiǎn)化的流程圖6是根據(jù)本發(fā)明的一實(shí)施例用于編譯自然語(yǔ)言狀態(tài)機(jī)和中間語(yǔ)言編碼的
編譯系統(tǒng)的簡(jiǎn)化的框圖7是示出根據(jù)本發(fā)明的一實(shí)施例用于實(shí)例化語(yǔ)法的元素的簡(jiǎn)化的框圖。
詳細(xì)描述
圖1說(shuō)明了適當(dāng)?shù)挠?jì)算系統(tǒng)環(huán)境100的一例,其中可以實(shí)現(xiàn)本發(fā)明。計(jì)算
系統(tǒng)環(huán)境ioo僅是適當(dāng)?shù)挠?jì)算環(huán)境的一例并且并非意圖限制本發(fā)明的使用范圍
或功能。計(jì)算環(huán)境100不應(yīng)被解釋為具有與示例性操作環(huán)境100中所述的組件 的任一或組合有關(guān)的從屬性或要求。
本發(fā)明可以用多種其它通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置來(lái)操作??梢赃m合 與本發(fā)明一起使用的公知計(jì)算系統(tǒng)、環(huán)境和/或配置的示例包括、但不限于個(gè) 人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手提或便攜式設(shè)備、多處理器系統(tǒng)、基于微處理器 的系統(tǒng)、機(jī)頂盒、可編程用戶電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、 包括任一上述系統(tǒng)的分布式計(jì)算環(huán)境等等。
本發(fā)明可以用計(jì)算機(jī)可執(zhí)行指令的一般上下文來(lái)描述,譬如由計(jì)算機(jī)執(zhí)行 的程序模塊。 -般而言,程序模塊包括例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等, 它們執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類(lèi)型。本發(fā)明還可以實(shí)際用于分布式 計(jì)算環(huán)境中,其中由通過(guò)通信網(wǎng)絡(luò)或其它數(shù)據(jù)傳輸媒質(zhì)連接的遠(yuǎn)程處理設(shè)備來(lái) 執(zhí)行任務(wù)。在分布式計(jì)算環(huán)境中,程序模塊及其它數(shù)據(jù)可以位于本地和遠(yuǎn)程存 儲(chǔ)媒質(zhì)中,包括存儲(chǔ)器存儲(chǔ)設(shè)備。分布式計(jì)算通過(guò)計(jì)算設(shè)備和系統(tǒng)間的直接交 換便于共享計(jì)算機(jī)資源和服務(wù)。這些資源和服務(wù)包括信息、高速緩存、及文件 磁盤(pán)存儲(chǔ)的交換。分布式計(jì)算利用網(wǎng)絡(luò)連接性,允許用戶機(jī)發(fā)揮它們的集體功 效來(lái)有利于整個(gè)公司。在這點(diǎn)上,多種設(shè)備可以具有應(yīng)用程序、對(duì)象或資源, 它們可以利用本發(fā)明的技術(shù)。
參考圖1,用于實(shí)現(xiàn)本發(fā)明的示例性系統(tǒng)包括形式為計(jì)算機(jī)110的通用計(jì) 算設(shè)備。計(jì)算機(jī)110的組件可以包括、但不限于處理單元120、系統(tǒng)存儲(chǔ)器
30、及把包括系統(tǒng)存儲(chǔ)器在內(nèi)的各種系統(tǒng)組件耦合至處理單元120的系統(tǒng)總 線121。系統(tǒng)總線121可以是多種類(lèi)型總線結(jié)構(gòu)的任一種,包括存儲(chǔ)器總線或 存儲(chǔ)器控制器、外圍設(shè)備總線、及使用任一多種總線結(jié)構(gòu)的本地總線。通過(guò)示 例但非限制,這種結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(ISA)總線、微通道結(jié)構(gòu)(MCA)總線、
增強(qiáng)型ISA(EISA)總線、視頻電子標(biāo)準(zhǔn)聯(lián)盟(VESA)本地總線、及外圍組件互連 (PCI)總線(也稱為Mezzanine總線)。
計(jì)算機(jī)110—般包括各種計(jì)算機(jī)可讀媒質(zhì)。計(jì)算機(jī)可讀媒質(zhì)可以是能由計(jì) 算機(jī)110訪問(wèn)的任何可用媒質(zhì)并包括易失性和非易失性的媒質(zhì)、可移動(dòng)和不可 移動(dòng)媒質(zhì)。通過(guò)示例但非限制,計(jì)算機(jī)可讀媒質(zhì)可以包括計(jì)算機(jī)存儲(chǔ)媒質(zhì)和通 信媒質(zhì)。計(jì)算機(jī)存儲(chǔ)媒質(zhì)包括易失性和非易失性、可移動(dòng)和不可移動(dòng)媒質(zhì),它 們以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)這樣的信 息的任意方法或技術(shù)來(lái)實(shí)現(xiàn)。計(jì)算機(jī)存儲(chǔ)媒質(zhì)包括、但不限于RAM、 ROM、 EEPROM、閃存或其它存儲(chǔ)技術(shù)、CDROM、數(shù)字化通用光盤(pán)(DVD)或其它光盤(pán) 存儲(chǔ)器、磁帶盒、磁帶、磁盤(pán)存儲(chǔ)器或其它磁性存儲(chǔ)設(shè)備、或用于存儲(chǔ)期望信 息并能由計(jì)算機(jī)110訪問(wèn)的任意其它媒質(zhì)。通信媒質(zhì)一般在諸如載波或其它傳 輸機(jī)制這樣的已調(diào)數(shù)據(jù)信號(hào)中包含計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其 它數(shù)據(jù),并且包括任意信息傳遞媒質(zhì)。術(shù)語(yǔ)"已調(diào)數(shù)據(jù)信號(hào)"意指其一個(gè)或多 個(gè)特性以對(duì)信號(hào)內(nèi)信息進(jìn)行編碼的方式被設(shè)置或改變的信號(hào)。通過(guò)示例但非限 制,通信媒質(zhì)包括諸如有線網(wǎng)絡(luò)或直接線連接這樣的有線媒質(zhì)、以及諸如聲音、 RF、紅外這樣的無(wú)線媒質(zhì)及其它無(wú)線媒質(zhì)。上述的任意組合應(yīng)該包含在計(jì)算機(jī) 可讀媒質(zhì)的范圍內(nèi)。
系統(tǒng)存儲(chǔ)器130包括計(jì)算機(jī)存儲(chǔ)媒質(zhì),其形式為易失性和/或非易失性存儲(chǔ) 器,譬如只讀存儲(chǔ)器(ROM)131和隨機(jī)存取存儲(chǔ)器(RAM)132?;据斎?輸出系 統(tǒng)133(BIOS)—般存儲(chǔ)在ROM 131內(nèi),它包含例如啟動(dòng)期間幫助在計(jì)算機(jī)110 內(nèi)的組件間傳輸信息的基本例程。RAM 132 —般包含數(shù)據(jù)和/或程序模塊,它 們可以立即訪問(wèn)并且/或者當(dāng)前由處理單元120在其上操作。通過(guò)示例但非限 制,圖1說(shuō)明了操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù) 137。
計(jì)算機(jī)110還可以包括其它可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存 儲(chǔ)媒質(zhì)。僅僅通過(guò)示例,圖l說(shuō)明了對(duì)不可移動(dòng)、非易失性磁性媒質(zhì)進(jìn)行讀寫(xiě) 的硬盤(pán)驅(qū)動(dòng)器MK對(duì)可移動(dòng)、非易失性磁盤(pán)152進(jìn)行讀寫(xiě)的磁盤(pán)驅(qū)動(dòng)器151、 以及對(duì)可移動(dòng)、非易失性光盤(pán)156進(jìn)行讀寫(xiě)的光盤(pán)驅(qū)動(dòng)器155,譬如CD ROM
或其它光學(xué)媒質(zhì)。示例性操作環(huán)境中可用的其它可移動(dòng)/不可移動(dòng)、易失性/非
易失性計(jì)算存儲(chǔ)媒質(zhì)包括、但不限于磁帶盒、閃存卡、數(shù)字通用盤(pán)、數(shù)字視
頻磁帶、固態(tài)RAM、固態(tài)ROM等等。硬盤(pán)驅(qū)動(dòng)器141 一般通過(guò)如接口 140這 樣的不可移動(dòng)存儲(chǔ)器接口與系統(tǒng)總線121相連,且磁盤(pán)驅(qū)動(dòng)器151和光盤(pán)驅(qū)動(dòng) 器155—般用如接口 150這樣的可移動(dòng)存儲(chǔ)器接口與系統(tǒng)總線121相連。
上面討論并在圖1中說(shuō)明的驅(qū)動(dòng)器和它們的相關(guān)計(jì)算機(jī)存儲(chǔ)媒質(zhì)為計(jì)算機(jī) 110提供了計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲(chǔ)。在圖1 中,例如,所述硬盤(pán)驅(qū)動(dòng)器141存儲(chǔ)操作系統(tǒng)144、應(yīng)用程序145、其它程序 模塊146和程序數(shù)據(jù)147。注意到這些組件或者可與操作系統(tǒng)134、應(yīng)用程序 135、其它程序模塊136和程序數(shù)據(jù)137相同,或者與它們不同。這里為操作 系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147給出不同數(shù)字以 說(shuō)明它們至少是不同的副本。
用戶可以通過(guò)諸如鍵盤(pán)162和指示設(shè)備161這樣的輸入設(shè)備把命令和信息 輸入到計(jì)算機(jī)110中,輸入設(shè)備通常稱為鼠標(biāo)、軌跡球或觸板。其它輸入設(shè)備 (未示出)可以包括麥克風(fēng)、游戲桿、游戲板、衛(wèi)星式轉(zhuǎn)盤(pán)、掃描儀等等。這些 和其它輸入設(shè)備經(jīng)常通過(guò)與系統(tǒng)總線121耦合的用戶輸入接口 160與處理單元 120相連,但也可以用其它接口和總線結(jié)構(gòu)連接,譬如并行端口、游戲端口或 通用串行總線(USB)。監(jiān)視器191或其它類(lèi)型的顯示設(shè)備也通過(guò)諸如視頻接口 l卯這樣的接口與系統(tǒng)總線121相連。除了監(jiān)視器191之外,計(jì)算機(jī)還可以包 括其它外部設(shè)備,如揚(yáng)聲器197和打印機(jī)196,它們可以通過(guò)輸出外設(shè)接口 l卯 連接。
計(jì)算機(jī)IIO可以工作在聯(lián)網(wǎng)環(huán)境中,該環(huán)境使用與諸如遠(yuǎn)程計(jì)算機(jī)180這 樣的一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)之間的邏輯連接。遠(yuǎn)程計(jì)算機(jī)180可以是個(gè)人計(jì)算 機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備或其它公共網(wǎng)絡(luò)節(jié)點(diǎn),并且一般包括 上述與計(jì)算機(jī)110有關(guān)的許多或全部元件。圖1所述的邏輯連接包括局域網(wǎng) (LAN)171和廣域網(wǎng)(WAN)173,但可以還包括其它網(wǎng)絡(luò)。這種聯(lián)網(wǎng)環(huán)境在辦公 室、企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、企業(yè)內(nèi)聯(lián)網(wǎng)和互聯(lián)網(wǎng)中是常見(jiàn)的。
當(dāng)用于LAN聯(lián)網(wǎng)環(huán)境中時(shí),計(jì)算機(jī)110通過(guò)網(wǎng)絡(luò)接口或適配器170與LAN 171相連。當(dāng)用于WAN聯(lián)網(wǎng)環(huán)境中時(shí),計(jì)算機(jī)110 —般包括用于在諸如互聯(lián) 網(wǎng)這樣的WAN 173上建立通信的調(diào)制解調(diào)器172或其它裝置。調(diào)制解調(diào)器172
可以是內(nèi)部或外部的,它可以通過(guò)用戶輸入接口 160或其它適當(dāng)機(jī)制與系統(tǒng)總 線121相連。在網(wǎng)絡(luò)化環(huán)境中,關(guān)于計(jì)算機(jī)IIO所述的程序模塊或其部分可以
存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。通過(guò)示例但非限制,圖l說(shuō)明了駐留在遠(yuǎn)程計(jì)
算機(jī)180上的遠(yuǎn)程應(yīng)用程序185??梢岳斫猓揪W(wǎng)絡(luò)連接是示例性的,也可 以使用在計(jì)算機(jī)間建立通信連接的其它裝置。
在一實(shí)施例中,語(yǔ)音識(shí)別語(yǔ)法和結(jié)果被表達(dá)為各種數(shù)據(jù)類(lèi)型(比如在面向 對(duì)象技術(shù)中的"類(lèi)")。傳統(tǒng)的自然語(yǔ)言編程應(yīng)用程序?qū)⒄Z(yǔ)法表示為文本串或 者二進(jìn)制數(shù)據(jù)結(jié)構(gòu),但是可使用強(qiáng)類(lèi)型語(yǔ)法來(lái)替代,以執(zhí)行自然語(yǔ)言的功能。 通常,短語(yǔ)"強(qiáng)類(lèi)型"(strongly typed)是指語(yǔ)言或者語(yǔ)法如何來(lái)運(yùn)用數(shù)據(jù)類(lèi) 型。在此處,強(qiáng)類(lèi)型語(yǔ)法或者語(yǔ)言是指在編譯時(shí)所有的類(lèi)型都可被檢驗(yàn)的那種。
通常,應(yīng)用程序開(kāi)發(fā)者通過(guò)下述的方式定義語(yǔ)法制作一系列應(yīng)用程序接
口 (API)調(diào)用以便將詞和規(guī)則加入到語(yǔ)音識(shí)別器中,或者創(chuàng)建一個(gè)文本文件 (比如可擴(kuò)展標(biāo)記語(yǔ)言(XML)或者XML文件格式)。上述格式中的一種是 萬(wàn)維網(wǎng)聯(lián)盟(W3C)語(yǔ)音識(shí)別語(yǔ)法規(guī)范(SRGS)。該文本文件一般包含該語(yǔ) 法,由該潛在的語(yǔ)音識(shí)別器將該語(yǔ)法編譯成狀態(tài)機(jī)。
圖2是強(qiáng)類(lèi)型語(yǔ)法的一實(shí)施例的元素200在編譯進(jìn)程的不同階段的簡(jiǎn)化框 圖。該元素200包括語(yǔ)法元素、語(yǔ)義編碼202和源編碼文件204。語(yǔ)法元素和 語(yǔ)義編碼202定義了用于將語(yǔ)音識(shí)別語(yǔ)法和結(jié)果表達(dá)成數(shù)據(jù)類(lèi)型的一組類(lèi)型 (或者"類(lèi)")。源編碼文件204定義了一組按照特定應(yīng)用程序處理自然語(yǔ)言 輸入的進(jìn)程。例如,該語(yǔ)法元素和語(yǔ)義編碼202可包括SRGS語(yǔ)法。例如,源 編碼文件204可包括一個(gè)或多個(gè)C弁源編碼文件。
語(yǔ)義信息可根據(jù)特定的實(shí)施方式被編碼在源編碼文件204中或者在語(yǔ)法元 素和語(yǔ)義編碼202中。在編譯的過(guò)程中,如果語(yǔ)義信息被編碼在語(yǔ)法元素和語(yǔ) 義編碼202中,則語(yǔ)法編譯器(grammar complier)將文件分離成為語(yǔ)法元素 206和語(yǔ)義編碼208。源編碼文件204接著被載入到該編譯器并與語(yǔ)義編碼208 結(jié)合以產(chǎn)生中間語(yǔ)言編碼214。語(yǔ)法元素被編譯到狀態(tài)機(jī)212。例如,該中間 語(yǔ)言編碼214和狀態(tài)機(jī)212可以是能被語(yǔ)音識(shí)別器所利用的二進(jìn)制文件。
通過(guò)從語(yǔ)義編碼208 (有關(guān)詞的含義的規(guī)則)中分離語(yǔ)法元素206 (收到 的詞的序列),二進(jìn)制文件被簡(jiǎn)化從而該狀態(tài)機(jī)212包括了所有可能的轉(zhuǎn)換或
改變,而該中間語(yǔ)言編碼214包含了語(yǔ)義處理信息。
總的來(lái)說(shuō),語(yǔ)法編譯器可產(chǎn)生經(jīng)編譯的形式語(yǔ)法(CFG)文件或者類(lèi)庫(kù) (class library)。通常,CFG文件包含狀態(tài)機(jī)212、中間語(yǔ)言編碼214、以及 任何調(diào)試信息(debugging information)。通常,CFG文件要求從例如一語(yǔ)義值 字典中計(jì)算出的結(jié)果。
類(lèi)庫(kù)表示包含中間語(yǔ)言編碼214和狀態(tài)機(jī)212的強(qiáng)類(lèi)型語(yǔ)法。調(diào)試信息可 被存儲(chǔ)在分開(kāi)的文件中(沒(méi)有示出)。類(lèi)庫(kù)使得將用于不同文化的語(yǔ)法所有語(yǔ) 言版本保存在同一個(gè)文件中變得可能。這不再需要語(yǔ)音應(yīng)用程序開(kāi)發(fā)者具備他 所使用的語(yǔ)法的口語(yǔ)知識(shí)。例如,語(yǔ)音應(yīng)用程序開(kāi)發(fā)者能在完全不懂西班牙語(yǔ) 的情況下為英語(yǔ)和西班牙語(yǔ)進(jìn)行編碼。此外,語(yǔ)法中定義的類(lèi)型可被語(yǔ)音應(yīng)用 程序、以字段形式返回的結(jié)果以及語(yǔ)法對(duì)象的屬性所共享。
在該實(shí)例中,強(qiáng)類(lèi)型語(yǔ)法被封裝在動(dòng)態(tài)鏈接庫(kù)(dll)中,動(dòng)態(tài)鏈接庫(kù)是一 種在反病毒過(guò)濾器、email過(guò)濾器等領(lǐng)域中廣為人知的文件類(lèi)型。如果強(qiáng)類(lèi)型 語(yǔ)法被封裝在DLL中,應(yīng)用程序編碼,比如.NET語(yǔ)義編碼就能夠訪問(wèn)語(yǔ)音應(yīng) 用程序能夠訪問(wèn)的所有資源。
在這種情況下,開(kāi)發(fā)者能夠在總體上對(duì)于語(yǔ)法只有一點(diǎn)了解并且對(duì)于他們 使用的特定語(yǔ)法的內(nèi)部工作原理完全不了解的情況下對(duì)自然語(yǔ)言程序進(jìn)行編 程。此外,開(kāi)發(fā)者使用自然數(shù)據(jù)類(lèi)型而不是通過(guò)操作輸入串和解析輸出串來(lái)和 語(yǔ)法進(jìn)行互動(dòng)。
在一實(shí)施例中,使用標(biāo)簽(tag)來(lái)創(chuàng)建屬性。例如,與一年中的月份有關(guān) 的屬性可以被編碼如下
<item〉Febmary<tag〉"month,,=2</tag></item>.
上述的編碼片斷將整數(shù)值2與項(xiàng)目"二月"的標(biāo)簽相關(guān)。于是,如果用戶 從下拉菜單中選擇項(xiàng)目"二月",諸如屬性"2"被分配給標(biāo)簽"月份"。
屬性可被結(jié)合以創(chuàng)建強(qiáng)類(lèi)型復(fù)合對(duì)象。例如,日期時(shí)間"DataTime"對(duì)象 可從中間結(jié)果中返回,例如
return(new DataTime( result["year,,], result["month,,], result["day"]).
對(duì)象和屬性可基于父規(guī)則重新組合以創(chuàng)建最終結(jié)果??偟膩?lái)說(shuō),強(qiáng)類(lèi)型的 復(fù)合對(duì)象在語(yǔ)義處理期間被創(chuàng)建并被返回給語(yǔ)音應(yīng)用程序。
上述的討論很大程度針對(duì)由自然語(yǔ)言應(yīng)用程序的作者執(zhí)行的語(yǔ)義結(jié)果的 處理(產(chǎn)生)。作為語(yǔ)法編譯進(jìn)程的一部分,源編碼被編譯并被核對(duì)。大多數(shù) 的編碼錯(cuò)誤能在這個(gè)階段被找出,并且錯(cuò)誤的精確位置能夠被確定。此外,調(diào) 試信息可被保存,中斷點(diǎn)可直接在源文件中被設(shè)置,任何變量的內(nèi)容可被察看,
并且可使用包括VS.net、 Rascal等在內(nèi)的任何調(diào)試器。
圖3是示出在自然語(yǔ)言應(yīng)用的設(shè)計(jì)階段自然語(yǔ)言系統(tǒng)300的一個(gè)實(shí)施例的 簡(jiǎn)化框圖。系統(tǒng)300包括自然語(yǔ)言識(shí)別組件302和耦合至客戶輸入設(shè)備302的 解釋組件306??蛻舳溯斎朐O(shè)備304可以是麥克風(fēng)、筆式(pen-based)輸入設(shè) 備、鍵盤(pán)和鼠標(biāo)、或者任何其他輸入機(jī)構(gòu)。通常,自然語(yǔ)言識(shí)別組件302從用 戶處捕獲自然語(yǔ)言輸入,將該輸入翻譯成能夠被后續(xù)的處理所使用的形式。該 自然語(yǔ)言識(shí)別組件302使用由語(yǔ)法標(biāo)記語(yǔ)言(比如XML、 SRGS等等)描述的 強(qiáng)類(lèi)型語(yǔ)法308。自然語(yǔ)言識(shí)別組件302包括語(yǔ)音識(shí)別組件312A、手寫(xiě)識(shí)別組 件312B、鍵盤(pán)和鼠標(biāo)組建312C、其他輸入312D、以及系統(tǒng)生成輸入312E。 302 的每個(gè)識(shí)別組件312A-312D使用該強(qiáng)類(lèi)型語(yǔ)法308將該自然語(yǔ)言輸入轉(zhuǎn)換成文 本,并基于在該強(qiáng)類(lèi)型語(yǔ)法中定義的類(lèi)型對(duì)該文本進(jìn)行標(biāo)記(或者分類(lèi))。
經(jīng)標(biāo)記或者分類(lèi)的詞接著被傳送到解釋組件306。更具體地說(shuō),每個(gè)識(shí)別 組件312A-312D分別將其分類(lèi)的詞送到不同的解釋組件314A-314D。每一個(gè)解 釋組件314A-314D基于來(lái)自不同的識(shí)別組件302 (312A-312D)的經(jīng)標(biāo)記的用 戶輸入,使用語(yǔ)義編碼310來(lái)確定用戶希望的"意思"或者"語(yǔ)義"。此時(shí), 來(lái)自客戶端設(shè)備304的輸入數(shù)據(jù)基于在語(yǔ)義編碼310中定義的規(guī)則被映射到在 該強(qiáng)數(shù)據(jù)類(lèi)型的語(yǔ)法308中定義的類(lèi)型。解釋組件306提供一組語(yǔ)義結(jié)果316 (文本至類(lèi)型映射)給集成組建320。集成組件320包括一處理器322,該處 理器322用于按照一方案或者其他系統(tǒng)產(chǎn)生的輸入312處理所述一組語(yǔ)義規(guī) 則,以從所述一組語(yǔ)義規(guī)則316中選擇能夠被客戶端設(shè)備304所使用的類(lèi)型。 因此,不映射至自然語(yǔ)言特征在客戶端設(shè)備304的客戶端應(yīng)用程序中定義的類(lèi) 型映射將被丟棄,而合適的映射將被結(jié)合到--集成輸出中。集成輸出接著返回 到客戶端設(shè)備304供一客戶端應(yīng)用程序使用。在一實(shí)施例中,集成輸出包括一 個(gè)或多個(gè)具有相關(guān)的字段和屬性的語(yǔ)法對(duì)象,它們表示自然語(yǔ)言輸入。
通過(guò)使用強(qiáng)類(lèi)型語(yǔ)法,基于類(lèi)型的系統(tǒng)的優(yōu)點(diǎn)將在進(jìn)行自然語(yǔ)言編程時(shí)被
開(kāi)發(fā)者所利用,比如可在編譯時(shí)間找到更多的錯(cuò)誤、通過(guò)繼承(inheritance) 和封裝(encapsulation)來(lái)進(jìn)行重構(gòu)(reuse)、對(duì)實(shí)施細(xì)節(jié)進(jìn)行抽象(abstraction),
等等。這允許開(kāi)發(fā)者能夠使用自然數(shù)據(jù)類(lèi)型與語(yǔ)法進(jìn)行互動(dòng)。對(duì)于使用一語(yǔ)法 來(lái)說(shuō),開(kāi)發(fā)者只需要聲明并實(shí)例語(yǔ)法類(lèi)型,設(shè)置隨便什么該類(lèi)型所暴露的屬性, 并將實(shí)例化的類(lèi)型傳送到語(yǔ)音識(shí)別器即可。開(kāi)發(fā)者不需要管理語(yǔ)法文件。相反, 任何可以由開(kāi)發(fā)者調(diào)整的設(shè)置作為該類(lèi)型的外部接口的一部分是可見(jiàn)的。此 外,強(qiáng)類(lèi)型的語(yǔ)法允許開(kāi)發(fā)者在運(yùn)行時(shí)間通過(guò)標(biāo)準(zhǔn)編程技術(shù)設(shè)置語(yǔ)法的參數(shù), 比如通過(guò)構(gòu)造器重載(constructor overload)、暴露的屬性,等等。使用一組參 數(shù)來(lái)實(shí)例化一語(yǔ)法可通過(guò)單個(gè)的簡(jiǎn)單句來(lái)完成。換句話說(shuō),語(yǔ)法可基于一組運(yùn) 行時(shí)間參數(shù)在運(yùn)行時(shí)間同時(shí)進(jìn)行(on the fly)參數(shù)化和重建。此外,使用強(qiáng)類(lèi) 型語(yǔ)法允許開(kāi)發(fā)者構(gòu)建多語(yǔ)言的語(yǔ)法,而不需要學(xué)習(xí)定義不同語(yǔ)言的結(jié)構(gòu)的規(guī) 則和潛在原理。因此,語(yǔ)音應(yīng)用程序開(kāi)發(fā)者可按照一語(yǔ)言(比如英語(yǔ))進(jìn)行編 碼,并且,顯然的,該同樣的編碼對(duì)于另一種語(yǔ)言(比如西班牙語(yǔ))的同樣語(yǔ) 法的變形同樣適用。
需要理解的是,在強(qiáng)類(lèi)型語(yǔ)法308中定義的標(biāo)簽或者分類(lèi)可被識(shí)別器302 使用以標(biāo)記或者標(biāo)示所識(shí)別的輸入。這些經(jīng)標(biāo)記或者標(biāo)示的輸入接著可由解釋 組件306按照開(kāi)發(fā)者定義的語(yǔ)義編碼306進(jìn)行處理以產(chǎn)生一組語(yǔ)義結(jié)果316。 較佳的,該組語(yǔ)義結(jié)果316對(duì)應(yīng)于客戶端設(shè)備304的操作者所希望的輸入。該 集成的輸出可被客戶端設(shè)別304使用以執(zhí)行用戶所希望的操作。
圖4是用于編程強(qiáng)數(shù)據(jù)類(lèi)型語(yǔ)法的進(jìn)程的一實(shí)施例的簡(jiǎn)化的流程圖。開(kāi)發(fā) 者在定義語(yǔ)法對(duì)象的標(biāo)簽元素中創(chuàng)建屬性(步驟400)。可選擇的,該屬性可 被結(jié)合用于創(chuàng)建強(qiáng)類(lèi)型復(fù)合對(duì)象(步驟402)??蛇x擇的,強(qiáng)類(lèi)型復(fù)合對(duì)象可 根據(jù)父規(guī)則重新組合而創(chuàng)建一最終結(jié)果(步驟404)。該源編碼使用語(yǔ)法編譯 器進(jìn)行編譯(步驟406)。作為語(yǔ)法編譯進(jìn)程的一部分,驗(yàn)證該語(yǔ)法(步驟408)。 最后,調(diào)試信息與中間語(yǔ)言編碼輸出一起被保存(步驟410)。
圖5是用于使用強(qiáng)類(lèi)型語(yǔ)法編程自然語(yǔ)言程序的進(jìn)程的簡(jiǎn)化的流程圖。一 語(yǔ)法在一個(gè)或多個(gè)專(zhuān)用源編碼文件和/或一個(gè)語(yǔ)法文件中與語(yǔ)義編碼一起被定 義(步驟500)。編譯器將語(yǔ)法從語(yǔ)義編碼中分離(步驟502)。該語(yǔ)法和相 關(guān)的語(yǔ)義編碼被編譯(步驟504)。語(yǔ)法編譯器自動(dòng)為每一個(gè)公共語(yǔ)法規(guī)則創(chuàng)
建一個(gè)類(lèi)(步驟506)。該語(yǔ)法編譯器基于該語(yǔ)法產(chǎn)生一狀態(tài)機(jī)(步驟508)。 最后,語(yǔ)法編譯器基于語(yǔ)法文件和/或一個(gè)或多個(gè)專(zhuān)用源編碼文件中的編碼產(chǎn)生 經(jīng)編譯的中間語(yǔ)言編碼(步驟510)。
圖6是用于編譯自然語(yǔ)言狀態(tài)機(jī)和中間語(yǔ)言編碼的編譯器系統(tǒng)600的一實(shí) 施例的簡(jiǎn)化的框圖。系統(tǒng)600包括由語(yǔ)法編譯器604和編碼編譯器606組成的 編譯器602。語(yǔ)法編譯器604用于接收源語(yǔ)法文件608,其可包括語(yǔ)法和語(yǔ)義 編碼。語(yǔ)法編譯器604用于將語(yǔ)義編碼從語(yǔ)法編碼中分離出來(lái),并將語(yǔ)法編碼 編譯到狀態(tài)機(jī)612中。語(yǔ)法編譯器604提供分離的語(yǔ)義編碼之編碼編譯器606。
編碼編譯器606用于接收一個(gè)或多個(gè)源編碼文件610和來(lái)自于語(yǔ)法編譯器 604的分離的語(yǔ)義編碼。編碼編譯器606用于將分離的語(yǔ)義編碼和一個(gè)或多個(gè) 源編碼文件610編譯到一中間語(yǔ)言編碼614,該中間語(yǔ)言編碼614可包括調(diào)試 信息616。在一些情況中,調(diào)試信息616可被保存在分離的文件中。
強(qiáng)類(lèi)型數(shù)據(jù)允許開(kāi)發(fā)者在另一個(gè)語(yǔ)法中參考一現(xiàn)存的語(yǔ)法。通過(guò)允許開(kāi)發(fā) 者實(shí)例化一語(yǔ)法作為一類(lèi)型,開(kāi)發(fā)者能容易地使用標(biāo)準(zhǔn)的面向?qū)ο缶幊碳夹g(shù)或 方法,比如子類(lèi)或者聚集重構(gòu)并擴(kuò)展現(xiàn)存的語(yǔ)法。
傳統(tǒng)的技術(shù)無(wú)法提供簡(jiǎn)單的方法來(lái)識(shí)別日期或者基于文本文件將其限制 到曰期范圍內(nèi),而強(qiáng)類(lèi)型語(yǔ)法可以通過(guò)這樣的方式來(lái)實(shí)現(xiàn),其可在運(yùn)行時(shí)間通 過(guò)標(biāo)準(zhǔn)編程技術(shù),比如構(gòu)造器重載或者暴露的屬性來(lái)接收參數(shù)。語(yǔ)法接著可通 過(guò)單個(gè)簡(jiǎn)單語(yǔ)句(statement)內(nèi)的一組參數(shù)進(jìn)行實(shí)例化。例如,這允許開(kāi)發(fā)者 限制日期范圍。
圖7是用于實(shí)例化語(yǔ)法的系統(tǒng)700的一實(shí)施例的簡(jiǎn)化的框圖。該系統(tǒng)700 包括語(yǔ)法702和應(yīng)用程序編碼708。語(yǔ)法702較佳的包括一組強(qiáng)類(lèi)型的類(lèi)型704。 語(yǔ)法702還可以包括語(yǔ)義編碼706,語(yǔ)義編碼706包括一個(gè)或多個(gè)構(gòu)造器714。 應(yīng)用程序編碼708使用參數(shù)718調(diào)用構(gòu)造器714。構(gòu)造器714基于所述一組參 數(shù)718使用語(yǔ)法編譯器716重建其狀態(tài)機(jī)。
語(yǔ)法編譯器716用于基于從應(yīng)用程序編碼708調(diào)用的參數(shù)718編譯語(yǔ)法 702。來(lái)自所述一組類(lèi)型704中的類(lèi)型的具體實(shí)例可基于構(gòu)造器714或者應(yīng)用 程序編碼708中的其他編碼結(jié)合參數(shù)718而進(jìn)行實(shí)例化。參數(shù)718可在具體的 實(shí)例化上設(shè)置特定的要求。此外,得到的實(shí)例化的語(yǔ)法(可選擇地具有參數(shù))
720包括該類(lèi)型所暴露的屬性。該實(shí)例化的語(yǔ)法720被傳送到語(yǔ)音識(shí)別器722。 語(yǔ)音識(shí)別器722用于接收自然語(yǔ)言輸入724并將自然語(yǔ)言輸入映射到實(shí)例化的 語(yǔ)法720中的實(shí)例化的類(lèi)型中以產(chǎn)生映射的對(duì)象726。
開(kāi)發(fā)者不需要管理語(yǔ)法702。相反,可由開(kāi)發(fā)者調(diào)整的任何一個(gè)設(shè)置作為 該類(lèi)型的外部接口是可見(jiàn)的,例如,可通過(guò)構(gòu)造器714訪問(wèn)。這種強(qiáng)類(lèi)型的語(yǔ) 法允許開(kāi)發(fā)者在運(yùn)行時(shí)間通過(guò)標(biāo)準(zhǔn)編程技術(shù),比如構(gòu)造器重載、暴露的屬性等 等對(duì)應(yīng)用程序進(jìn)行參數(shù)化。此外,實(shí)例化的類(lèi)型能夠從該一組類(lèi)型中的基本類(lèi) 繼承屬性。因此,本發(fā)明的實(shí)施例提供類(lèi)似面向?qū)ο蟮囊唤M類(lèi)型704或者類(lèi), 用于編程自然語(yǔ)言應(yīng)用程序,因而允許開(kāi)發(fā)者將注意力集中在程序特征,而不 是語(yǔ)法的內(nèi)部工作原理上。
盡管本發(fā)明結(jié)合具體實(shí)施例進(jìn)行描述,本領(lǐng)域的技術(shù)人員會(huì)認(rèn)識(shí)到對(duì)于形
式和細(xì)節(jié)可進(jìn)行改變,但是不脫離本發(fā)明的精神和范圍。
權(quán)利要求
1.一種用于向自然語(yǔ)言實(shí)現(xiàn)應(yīng)用程序解釋自然語(yǔ)言輸入的系統(tǒng),包括語(yǔ)法,包括一組數(shù)據(jù)類(lèi)型和關(guān)于該組數(shù)據(jù)類(lèi)型的語(yǔ)義編碼定義規(guī)則;源文件,包括用于通過(guò)實(shí)例化所述這組數(shù)據(jù)類(lèi)型中所選擇的數(shù)據(jù)類(lèi)型而訪問(wèn)所述語(yǔ)法的計(jì)算機(jī)可讀編碼;語(yǔ)音識(shí)別器,用于接收自然語(yǔ)言輸入并將自然語(yǔ)言輸入映射到所選擇的數(shù)據(jù)類(lèi)型。
2. 如權(quán)利要求l所述的系統(tǒng),還包括語(yǔ)法編譯器,用于接收所述語(yǔ)法并從所述語(yǔ)義編碼中分離所述這組數(shù)據(jù)類(lèi)型, 該語(yǔ)法編譯器用于從該語(yǔ)法產(chǎn)生一輸出。
3. 如權(quán)利要求2所述的系統(tǒng),其特征在于,所述輸出包括一狀態(tài)機(jī)。
4. 如權(quán)利要求l所述的系統(tǒng),其特征在于,所選擇的數(shù)據(jù)類(lèi)型在運(yùn)行時(shí)是用 參數(shù)進(jìn)行實(shí)例化的。
5. 如權(quán)利要求l所述的系統(tǒng),還包括編碼編譯器,用于接收源編碼和源文件并將所述源編碼和所述源文件編譯成 為中間語(yǔ)言編碼。
6. 如權(quán)利要求5所述的系統(tǒng),其特征在于,該中間語(yǔ)言編碼包括計(jì)算機(jī)可讀 編碼和相關(guān)的調(diào)試信息。
7. —種用于自然語(yǔ)言輸入識(shí)別的系統(tǒng),包括 輸入設(shè)備,用于接收自然語(yǔ)言輸入;強(qiáng)類(lèi)型語(yǔ)法,用于定義表示自然語(yǔ)言輸入的元素的一組類(lèi)型;識(shí)別組件,用于使用該強(qiáng)類(lèi)型語(yǔ)法將該自然語(yǔ)言輸入轉(zhuǎn)換成文本并基于該文 本產(chǎn)生識(shí)別輸出;以及解釋組件,用于基于該識(shí)別輸出確定所述自然語(yǔ)言輸入的語(yǔ)義。
8. 如權(quán)利要求7所述的系統(tǒng),還包括 語(yǔ)義編碼,用于定義所述語(yǔ)法中的類(lèi)型的含義。
9. 如權(quán)利要求8所述的系統(tǒng),其特征在于,所述解釋組件使用該語(yǔ)義編碼基 于所述語(yǔ)法來(lái)標(biāo)識(shí)所述自然語(yǔ)言輸入的語(yǔ)義。
10. 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述識(shí)別組件用于將所述自然 語(yǔ)言輸入轉(zhuǎn)換成在該語(yǔ)法中指定的文本。
11. 如權(quán)利要求7所述的系統(tǒng),其特征在于,所述解釋組件包括一個(gè)或多個(gè) 解釋組件,每一個(gè)解釋組件用于產(chǎn)生所述自然語(yǔ)言輸入的一可能的解釋?zhuān)撓到y(tǒng)還包括集成組件,用于集成由所述一個(gè)或多個(gè)解釋組件產(chǎn)生的所述自然語(yǔ)言輸入的 一個(gè)或多個(gè)可能的解釋。
12. 如權(quán)利要求7所述的系統(tǒng),其特征在于,該自然語(yǔ)言輸入包括語(yǔ)音。
13. 如權(quán)利要求7所述的系統(tǒng),其特征在于,該自然語(yǔ)言輸入包括手寫(xiě)輸入。
14. 如權(quán)利要求7所述的系統(tǒng),還包括在包含所述強(qiáng)類(lèi)型語(yǔ)法的語(yǔ)法文件之內(nèi)且在一個(gè)或多個(gè)專(zhuān)用源編碼文件之內(nèi) 進(jìn)行定義的應(yīng)用程序編碼。
15. —種訪問(wèn)用于自然語(yǔ)言應(yīng)用程序的語(yǔ)法的方法,包括 提供一個(gè)或多個(gè)語(yǔ)法,每一個(gè)語(yǔ)法包括表示自然語(yǔ)言的一組類(lèi)型; 定義用于在一個(gè)或多個(gè)源編碼文件中的自然語(yǔ)言輸入上進(jìn)行操作的進(jìn)程;以 及在運(yùn)行時(shí)間從所述一個(gè)或多個(gè)語(yǔ)法實(shí)例化所述這組類(lèi)型中所選擇的類(lèi)型,該 所選擇的類(lèi)型對(duì)應(yīng)于自然語(yǔ)言輸入。
16. 如權(quán)利要求15所述的方法,其特征在于,所述實(shí)例化的步驟進(jìn)一步包括 在所選擇的類(lèi)型的至少一個(gè)被實(shí)例化的類(lèi)型上設(shè)置參數(shù)。
17. 如權(quán)利要求15所述的方法,其特征在于,所述實(shí)例化的步驟進(jìn)一步包括 使用語(yǔ)法編譯器在所述一個(gè)或多個(gè)語(yǔ)法中為每一個(gè)公共語(yǔ)法創(chuàng)建一個(gè)類(lèi)。
18. 如權(quán)利要求15所述的方法,其特征在于,每個(gè)語(yǔ)法進(jìn)一步包括與所述這組類(lèi)型相關(guān)的語(yǔ)義編碼。
19. 如權(quán)利要求15所述的方法,其特征在于,所選擇的類(lèi)型基于類(lèi)型定義從 所述語(yǔ)法繼承屬性。
20. 如權(quán)利要求15所述的方法,還包括 使用語(yǔ)法編譯器將所述語(yǔ)法編譯成一狀態(tài)機(jī);以及 向語(yǔ)音識(shí)別器提供所述狀態(tài)機(jī)以及與所選擇的類(lèi)型相關(guān)的語(yǔ)義編碼。
全文摘要
在一實(shí)施例中,一種用于向自然語(yǔ)言實(shí)現(xiàn)應(yīng)用程序解釋自然語(yǔ)言輸入的系統(tǒng)具有語(yǔ)法、源文件、以及語(yǔ)音識(shí)別器。該語(yǔ)法具有一組數(shù)據(jù)類(lèi)型以及關(guān)于該組數(shù)據(jù)類(lèi)型的語(yǔ)義編碼定義規(guī)則。該源文件包括用于通過(guò)實(shí)例化(instantiating)該組數(shù)據(jù)類(lèi)型中所選擇的數(shù)據(jù)類(lèi)型而訪問(wèn)該語(yǔ)法的計(jì)算機(jī)可讀編碼。該語(yǔ)音識(shí)別器用于接收自然語(yǔ)言輸入并映射該自然語(yǔ)言輸入至所選擇的數(shù)據(jù)類(lèi)型。
文檔編號(hào)G10L15/00GK101185116SQ200680018504
公開(kāi)日2008年5月21日 申請(qǐng)日期2006年5月8日 優(yōu)先權(quán)日2005年6月23日
發(fā)明者J-F·佩洛克斯 申請(qǐng)人:微軟公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1