專利名稱:用語(yǔ)音應(yīng)用語(yǔ)言標(biāo)記執(zhí)行的語(yǔ)義對(duì)象同步理解的制作方法
背景技術(shù):
本發(fā)明涉及計(jì)算機(jī)系統(tǒng)中的信息訪問(wèn)和匯報(bào)。尤其涉及使用識(shí)別和理解來(lái)訪問(wèn)信息。
近來(lái),已經(jīng)發(fā)展了允許用戶通過(guò)提供語(yǔ)音命令,在計(jì)算機(jī)系統(tǒng)上訪問(wèn)信息的技術(shù)。一旦收到一個(gè)用戶命令,那么為了確定用戶的意圖,計(jì)算機(jī)系統(tǒng)將在用戶輸入的基礎(chǔ)上執(zhí)行語(yǔ)音識(shí)別并對(duì)該輸入作進(jìn)一步的處理,其目的在于使計(jì)算機(jī)系統(tǒng)執(zhí)行所期望的動(dòng)作。
在某些情況下,用戶提供的輸入是不完整或不確定的,這將需要計(jì)算機(jī)系統(tǒng)以視頻或音頻提示的形式向用戶請(qǐng)求進(jìn)一步的信息。因此可以在用戶與計(jì)算機(jī)系統(tǒng)之間建立一個(gè)對(duì)話框,其中在確定了用戶意圖并可以執(zhí)行一個(gè)動(dòng)作之前,用戶和計(jì)算機(jī)系統(tǒng)輪流提供問(wèn)題,答案和/或確認(rèn)。在其他情況中,創(chuàng)建這樣一個(gè)話框是用于與計(jì)算機(jī)系統(tǒng)相互作用的優(yōu)選模式。
為了使語(yǔ)音成為現(xiàn)代用戶接口設(shè)計(jì)的可行輸入/輸出方式,已經(jīng)引入了語(yǔ)音應(yīng)用語(yǔ)言標(biāo)記(SALT)。SALT的設(shè)計(jì)目的是使通用語(yǔ)音任務(wù)易于編程,而且具有簡(jiǎn)易實(shí)現(xiàn)的高級(jí)性能。例如,一個(gè)專門通過(guò)語(yǔ)音對(duì)話框僅與用戶相互作用的基于電話的純語(yǔ)音應(yīng)用程序。
SALT包括語(yǔ)音輸入和輸出對(duì)象(“l(fā)isten”和“prompt”),他們具有同一種合并技術(shù)的模式設(shè)計(jì)以檢測(cè)用戶輪次的開(kāi)始和結(jié)尾。因此,許多語(yǔ)音應(yīng)用程序采用需要用戶發(fā)信號(hào)通知一個(gè)用戶輪次開(kāi)始的用戶接口。一些計(jì)算機(jī)系統(tǒng)包括便攜式計(jì)算機(jī),語(yǔ)音啟動(dòng)模式裝置或多模式裝置(由一個(gè)諸如鼠標(biāo)此類的輸入裝置為選擇的區(qū)域提供語(yǔ)音輸入)以及其他解放雙眼的應(yīng)用。盡管如此,在每個(gè)情況中,在對(duì)話框中仍然存在對(duì)比計(jì)算機(jī)系統(tǒng)的用戶輪次上清楚切分的情況。
然而人類對(duì)話通常不遵循參與者之間的清楚切分的、輪流的對(duì)話。相反地,對(duì)話可以包括由一個(gè)參與者提供的確認(rèn),確定,提問(wèn)等,此時(shí)其他參與者正提供可以徹底影響,輕微影響或甚至一點(diǎn)也不影響說(shuō)話者正提供信息的方式。人類發(fā)言者喜歡這種自然形式的對(duì)話。同樣地,電話系統(tǒng)采用全雙工技術(shù)以允許發(fā)生這種對(duì)話。
相比之下,基于接口的對(duì)話框采用在一個(gè)用戶和一個(gè)計(jì)算機(jī)系統(tǒng)之間固定輪流操作的模式,這導(dǎo)致計(jì)算機(jī)系統(tǒng)在處理和進(jìn)行后來(lái)的動(dòng)作之前要等到用戶對(duì)話框的結(jié)束。盡管在用戶完成他的/她的輪次而且計(jì)算機(jī)系統(tǒng)作出了響應(yīng)之前,諸如穿過(guò)計(jì)算屏幕的一系列點(diǎn)進(jìn)程那樣的視頻指示的簡(jiǎn)單反饋可以提供給用戶一些保證,保證計(jì)算機(jī)系統(tǒng)至少在處理著什么,但是該計(jì)算機(jī)系統(tǒng)理解的程度還是未知的。
因此,在計(jì)算機(jī)系統(tǒng)中需要基于識(shí)別和理解的改善。這種改善將提供一種通過(guò)對(duì)用戶更自然,更易于使用的用于訪問(wèn)信息的系統(tǒng)或方法。
發(fā)明概述一種提供動(dòng)態(tài)匯報(bào)部分語(yǔ)義解析的語(yǔ)音輸入模式的方法和系統(tǒng),而音頻說(shuō)明仍在進(jìn)行??梢允褂靡粋€(gè)立即匯報(bào)給用戶的結(jié)果來(lái)評(píng)價(jià)該語(yǔ)義分析。
一方面,一種語(yǔ)音理解系統(tǒng)包括一個(gè)語(yǔ)言模式,該語(yǔ)言模式包含一個(gè)N-gram語(yǔ)言模式和一個(gè)上下文無(wú)關(guān)文法語(yǔ)言模式的一個(gè)組合。該語(yǔ)言模式存儲(chǔ)有關(guān)字以及將要識(shí)別的語(yǔ)義信息的信息。該語(yǔ)音理解系統(tǒng)還包括一個(gè)適用于接收用戶輸入并捕獲該輸入以用于處理的模塊。該模塊進(jìn)一步適用于接收與輸入識(shí)別有關(guān)的SALT應(yīng)用程序接口。該模塊配置成處理SALT應(yīng)用程序接口和輸入以用來(lái)確定與輸入的第一部分有關(guān)的語(yǔ)義信息并通過(guò)訪問(wèn)語(yǔ)言模式來(lái)輸出包括第一部分的文本和語(yǔ)義信息的語(yǔ)義對(duì)象,其中當(dāng)連續(xù)捕獲輸入的隨后部分時(shí)執(zhí)行識(shí)別并輸出語(yǔ)義對(duì)象。
附圖簡(jiǎn)述
圖1是一個(gè)數(shù)據(jù)顯示系統(tǒng)的方框圖;圖2是一個(gè)計(jì)算裝置運(yùn)行環(huán)境的平面圖;圖3是圖2中計(jì)算裝置的方框圖;圖4是一個(gè)電話的平面圖;圖5是一個(gè)通用計(jì)算機(jī)的方框圖;圖6是一個(gè)對(duì)于客戶/服務(wù)器系統(tǒng)的體系結(jié)構(gòu)的方框圖;圖7是一個(gè)語(yǔ)音識(shí)別和理解模塊的方框圖。
說(shuō)明性實(shí)施例的詳細(xì)描述圖1是一個(gè)用于在聲音輸入的基礎(chǔ)上再現(xiàn)數(shù)據(jù)的數(shù)據(jù)顯示系統(tǒng)10的方框圖。系統(tǒng)10包括一個(gè)語(yǔ)音接口模塊12,一個(gè)語(yǔ)音識(shí)別和理解模塊14和一個(gè)數(shù)據(jù)再現(xiàn)模塊16。用戶用聲音查詢的形式提供輸入給語(yǔ)音接口模塊12。語(yǔ)音接口模塊12從一個(gè)用戶那兒搜集語(yǔ)音信息并提供一個(gè)它的指示性信號(hào)。在語(yǔ)音接口模塊12搜集了輸入的語(yǔ)音之后,語(yǔ)音識(shí)別和理解模塊14用一個(gè)語(yǔ)音識(shí)別器識(shí)別語(yǔ)音,并且還執(zhí)行語(yǔ)音理解,其中在本發(fā)明的一個(gè)方面,提供至今為止接收到的輸入的部分語(yǔ)義解析,同時(shí)仍然捕獲音頻語(yǔ)音輸入。
將此部分語(yǔ)義解析提供給能夠使用多種不同形式實(shí)現(xiàn)的應(yīng)用模塊16,該部分語(yǔ)義解析一般包括所接收輸入的文本(或者輸入文本的其他指示性數(shù)據(jù)),而且還包括確定的語(yǔ)義信息。例如,在一個(gè)實(shí)施例中,應(yīng)用模塊16可以是一個(gè)用來(lái)發(fā)送,接收和答復(fù)電子郵件,安排會(huì)議等諸如此類的個(gè)人信息管理器。在這種方式下,用戶可以提供音頻命令來(lái)執(zhí)行這些任務(wù)。更重要的是應(yīng)用模塊16可以提供交互式的反饋和/或在接收部分語(yǔ)義解析信息時(shí)對(duì)部分語(yǔ)義分析信息采取動(dòng)作,藉此給用戶提供一個(gè)應(yīng)用模塊16的高度交互式接口。例如,在一種純聲音的操作方式中,輸出20可以包括返回到用戶的音頻指令,當(dāng)然,同時(shí)可能執(zhí)行其他涉及此應(yīng)用程序的任務(wù)。該部分語(yǔ)義解析或語(yǔ)義對(duì)象可以用來(lái)在應(yīng)用程序中執(zhí)行對(duì)話邏輯。例如,該對(duì)話邏輯可以在一個(gè)或更多的語(yǔ)義對(duì)象基礎(chǔ)上向用戶顯示一個(gè)選項(xiàng)或多個(gè)選項(xiàng)或一欄選項(xiàng)。
這使得系統(tǒng)10能夠在一個(gè)部分發(fā)言的基礎(chǔ)上來(lái)立即匯報(bào)結(jié)果,即在用戶輪次結(jié)束之前。換言之,通過(guò)使用秘密渠道通信來(lái)匯報(bào)并執(zhí)行通常與一個(gè)系統(tǒng)輪次相關(guān)的任務(wù),使用戶和系統(tǒng)輪次的定義變得模糊。最傳統(tǒng)的對(duì)話框計(jì)劃經(jīng)常將秘密渠道通信視為僅傳送諸如肯定應(yīng)答,否定應(yīng)答或中立應(yīng)答那樣簡(jiǎn)單信號(hào)的非交互式反饋,這尤其是那些在人對(duì)人對(duì)話框基礎(chǔ)上的對(duì)話框計(jì)劃。然而,輸出20所提供的反饋大概可以傳送更多的信息以致于稍微插入到正在進(jìn)行的用戶發(fā)言中,該反饋可以導(dǎo)致或不導(dǎo)致用戶闡明用戶的意圖或方向。盡管如此,該方法在用戶和系統(tǒng)10之間提供一個(gè)更逼真的仿人對(duì)話框,多數(shù)情況下不認(rèn)為該對(duì)話框煩人,而是對(duì)于用戶而言更加輕松并逐漸有信心滿足用戶的需求。
在這一點(diǎn)上,應(yīng)該注意本發(fā)明并不局限于一個(gè)純聲音運(yùn)行環(huán)境,而是可以包括在部分語(yǔ)義解析或?qū)ο筇幚砘A(chǔ)上反饋給用戶的其它形式。例如,在上述應(yīng)用模塊16執(zhí)行電子郵件任務(wù)的應(yīng)用程序中,輸出20可以包括視頻反饋,諸如僅僅在一個(gè)來(lái)自用戶的包含“發(fā)送電子郵件給Bob”的連續(xù)命令中的“發(fā)送電子郵件”的短語(yǔ)回執(zhí)基礎(chǔ)上激活一個(gè)電子郵件模塊,其中短語(yǔ)“給Bob”的處理可以導(dǎo)致應(yīng)用模塊訪問(wèn)數(shù)據(jù)存儲(chǔ)器18中的進(jìn)一步信息并再現(xiàn)一個(gè)名為“Bob”的人員列表。因此參看該列表,用戶可簡(jiǎn)單地確定該預(yù)定收件人為“Bob Green”,于是由于系統(tǒng)將已經(jīng)為此部分發(fā)言“Bob Green”提供了另一個(gè)語(yǔ)義對(duì)象,所以可以選擇此人,這依據(jù)于應(yīng)用程序提供的回執(zhí),而且對(duì)其進(jìn)行的處理將導(dǎo)致選擇“Bob Green”。
如上所示,應(yīng)用模塊16能夠以多種形式實(shí)現(xiàn),本發(fā)明以下對(duì)此方面的進(jìn)一步描述或許有益。在沒(méi)有限制的情況下,應(yīng)用模塊16還可以是一個(gè)口述模塊,用來(lái)提供用戶口頭輸入的文本輸出。然而,通過(guò)同樣處理輸入的部分輸入或輸入短語(yǔ)處理語(yǔ)義信息,可以獲得一個(gè)更精確的轉(zhuǎn)換。
盡管上述關(guān)于一個(gè)來(lái)自用戶并包含聲音命令的輸入,但是本發(fā)明的這些方面還可以適用于其它輸入形式,諸如手寫,DTMF,手勢(shì)或視頻指示。
給予部分語(yǔ)義解析或?qū)ο筇幚韽V闊的適用性,可以有利于描述上述能夠運(yùn)行于系統(tǒng)10中的一般計(jì)算裝置。如本領(lǐng)域技術(shù)人員所理解那樣,系統(tǒng)10的部件可以位于單個(gè)計(jì)算機(jī)之內(nèi)或分布于使用網(wǎng)絡(luò)連接或協(xié)議的一個(gè)分布式計(jì)算環(huán)境中。
請(qǐng)參看圖2,用30來(lái)舉例說(shuō)明一個(gè)移動(dòng)裝置的示范形式,諸如一個(gè)數(shù)據(jù)管理裝置(PIM,PDA等)。然而,應(yīng)預(yù)料的是本發(fā)明還可以使用以下討論的其它計(jì)算裝置來(lái)實(shí)現(xiàn)。例如,電話機(jī)和/或數(shù)據(jù)管理裝置也將受益于本發(fā)明。與現(xiàn)有便攜式個(gè)人信息管理裝置和其他便攜式電子裝置相比,這種裝置將具有一個(gè)增強(qiáng)的實(shí)用性。
在圖2舉例說(shuō)明的數(shù)據(jù)管理移動(dòng)裝置30的示范形式中,該移動(dòng)裝置30包括一個(gè)外殼32并具有一個(gè)包括顯示屏34的用戶界面,該用戶界面使用一個(gè)結(jié)合了指示筆33的觸感顯示屏。指示筆33用來(lái)在設(shè)定的坐標(biāo)上按壓或接觸顯示屏34來(lái)選擇一個(gè)區(qū)域,有選擇性地移動(dòng)一個(gè)光標(biāo)的啟動(dòng)位置或另外的用來(lái)提供諸如通過(guò)手勢(shì)或手寫那樣的命令信息。可選或附加地,在設(shè)備30上可以包括一個(gè)或更多個(gè)用于導(dǎo)航的按鈕35。另外,還可以提供諸如旋轉(zhuǎn)輪,滾軸等其他輸入機(jī)制。然而應(yīng)該注意到本發(fā)明并不限于這些輸入機(jī)制形式。例如,另一種輸入形式可以包括諸如通過(guò)計(jì)算機(jī)視覺(jué)那樣的一種視頻輸入。
請(qǐng)參看圖3,一個(gè)舉例說(shuō)明包含移動(dòng)裝置30的功能部件的方框圖。中央處理單元(CPU)50執(zhí)行軟件控制功能。CPU50連接于顯示器34使得在顯示器34上顯示根據(jù)控制軟件所生成的文本和圖形圖標(biāo)。揚(yáng)聲器43一般可以通過(guò)一個(gè)數(shù)模轉(zhuǎn)換器59連接到CPU50以提供一個(gè)音頻輸出。在與CPU50雙向連接的非易失性讀/寫隨機(jī)存取存儲(chǔ)器54中存儲(chǔ)下載的或由用戶輸入到移動(dòng)裝置30中的數(shù)據(jù)。隨機(jī)存取存儲(chǔ)器(RAM)54為CPU50所執(zhí)行的指令提供易失性存儲(chǔ)器,而且為諸如寄存器值此類的臨時(shí)數(shù)據(jù)提供存儲(chǔ)器。在只讀存儲(chǔ)器(ROM)58中存儲(chǔ)配置選項(xiàng)和其他變量的默認(rèn)值。ROM58還可以用來(lái)為那些控制移動(dòng)裝置30的基本函數(shù)以及其它操作系統(tǒng)核函數(shù)(例如往RAM54中加載軟件部件)的裝置存儲(chǔ)操作系統(tǒng)軟件。
RAM54還充當(dāng)一個(gè)與PC上一個(gè)用來(lái)存儲(chǔ)應(yīng)用程序的硬盤的功能類似的當(dāng)場(chǎng)代碼存儲(chǔ)器。應(yīng)該注意到盡管非易失性存儲(chǔ)器用于存儲(chǔ)代碼,但可選地,可以在不用于執(zhí)行代碼的易失性存儲(chǔ)器中存儲(chǔ)該代碼。
可以由移動(dòng)裝置通過(guò)連接到CPU50的無(wú)線收發(fā)裝置52來(lái)發(fā)射/接收無(wú)線信號(hào)。如果需要的話,可以提供一個(gè)任選的通信接口60來(lái)從一個(gè)計(jì)算機(jī)(例如,臺(tái)式計(jì)算機(jī))或一個(gè)有線網(wǎng)絡(luò)直接下載數(shù)據(jù)。另外,接口60可以包括多種形式的通信裝置,例如紅外線路,調(diào)制解調(diào)器,網(wǎng)卡等。
移動(dòng)裝置30包括一個(gè)麥克風(fēng)29,模數(shù)轉(zhuǎn)換器(A/D)37,以及一個(gè)在存儲(chǔ)器54中存儲(chǔ)的任選識(shí)別程序(語(yǔ)音,DTMF,手寫,手勢(shì)或計(jì)算機(jī)視覺(jué))。舉例來(lái)說(shuō),響應(yīng)來(lái)自用戶裝置30的音頻信息,指令或命令,麥克風(fēng)29提供由A/D轉(zhuǎn)換器37數(shù)字化的語(yǔ)音信號(hào)。該語(yǔ)音識(shí)別程序可以在數(shù)字化語(yǔ)音信號(hào)上執(zhí)行標(biāo)準(zhǔn)化和/或特征析取功能來(lái)獲得中間語(yǔ)音識(shí)別結(jié)果。使用無(wú)線收發(fā)裝置52或通信接口60可以將語(yǔ)音數(shù)據(jù)發(fā)射到以下討論并在圖6的體系結(jié)構(gòu)中舉例說(shuō)明的遠(yuǎn)程識(shí)別服務(wù)器204。然后可以將識(shí)別結(jié)果返回移動(dòng)裝置30以在其上再現(xiàn)(例如視頻的和/或音頻的),最后傳送到網(wǎng)絡(luò)服務(wù)器202(圖6),其中網(wǎng)絡(luò)服務(wù)器202與移動(dòng)裝置30以客戶機(jī)/服務(wù)器的關(guān)系進(jìn)行操作。
類似的處理可以用于其他輸入形式。例如,在設(shè)備30上可以使用預(yù)處理地?cái)?shù)字化手寫輸入或不使用預(yù)處理地?cái)?shù)字化手寫輸入。與語(yǔ)音數(shù)據(jù)類似,可以將這種形式的輸入發(fā)射到識(shí)別服務(wù)器204中識(shí)別,其中將處理結(jié)果返回到裝置30和/或網(wǎng)絡(luò)服務(wù)器202中的至少一個(gè)上。同樣地,可以類似地處理DTMF數(shù)據(jù),手勢(shì)數(shù)據(jù)和視頻數(shù)據(jù)。取決于輸入形式,裝置30(和以下討論的其他客戶機(jī)形式)將包括對(duì)于視頻輸入所必要的硬件,如照相機(jī)。
圖4是一個(gè)便攜式電話機(jī)80的實(shí)例平面圖。該電話機(jī)80包括顯示屏82和鍵區(qū)84。一般而言,雖然可以要求執(zhí)行其他功能所必需的附加電路,但是圖3的方框圖通常應(yīng)用于圖4的電話機(jī)。例如,對(duì)圖3的實(shí)施例將需要一個(gè)必要的收發(fā)裝置來(lái)作為一個(gè)電話機(jī);然而,該電路與本發(fā)明無(wú)關(guān)。
除了上述便攜式或移動(dòng)計(jì)算裝置以外,還應(yīng)該理解到本發(fā)明可以采用其他眾多諸如一般臺(tái)式計(jì)算機(jī)那樣的計(jì)算裝置。例如,當(dāng)其他諸如全字母-數(shù)字鍵盤那樣的傳統(tǒng)輸入設(shè)備難于操作時(shí),本發(fā)明將允許用戶以有限的體能來(lái)往計(jì)算機(jī)或其他計(jì)算裝置中輸入或鍵入文本。
本發(fā)明還可以供其他眾多通用或?qū)S糜?jì)算系統(tǒng),環(huán)境或配置使用??梢赃m合采用本發(fā)明的公知計(jì)算系統(tǒng),環(huán)境和/或配置的例子包括(但不限于)常規(guī)電話(沒(méi)有任何屏幕)個(gè)人計(jì)算機(jī),服務(wù)器計(jì)算機(jī),手持或膝上型裝置,平板計(jì)算機(jī),多處理器系統(tǒng),基于微處理器的系統(tǒng),置頂盒,可編程消費(fèi)電子裝置,網(wǎng)絡(luò)PC,小型計(jì)算機(jī),大型機(jī),包括以上任何系統(tǒng)或裝置等的分布式計(jì)算環(huán)境等等類似物。
接下來(lái)簡(jiǎn)要描述圖5中舉例說(shuō)明的通用計(jì)算機(jī)120。然而,計(jì)算機(jī)120仍僅是一個(gè)適合的計(jì)算環(huán)境的例子,而且也不認(rèn)為是對(duì)本發(fā)明的用途或功能進(jìn)行任何限定。不應(yīng)該將計(jì)算機(jī)120理解為具有涉及在此舉例說(shuō)明的任何一個(gè)部件或這些部件的組合的任何從屬性或必要條件。
可以在計(jì)算機(jī)所執(zhí)行的諸如程序模塊那樣的計(jì)算機(jī)可執(zhí)行指令的通用上下文中描述本發(fā)明。通常,程序模塊包括例行程序,程序,對(duì)象,部件,數(shù)據(jù)結(jié)構(gòu)等,他們執(zhí)行部分任務(wù)或執(zhí)行部分抽象數(shù)據(jù)類型。本發(fā)明還可以在分布計(jì)算環(huán)境中實(shí)現(xiàn),其中由通過(guò)一個(gè)通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理裝置執(zhí)行該計(jì)算環(huán)境中的任務(wù)。在分布計(jì)算環(huán)境中,程序模塊可以位于包含存儲(chǔ)器裝置的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)媒體中。以下借助于附圖來(lái)描述由程序和模塊執(zhí)行的任務(wù)。本領(lǐng)域技術(shù)人員可以將描述和附圖實(shí)現(xiàn)為可以在任何形式的計(jì)算機(jī)可讀媒體上編寫的處理器可執(zhí)行指令。
參照?qǐng)D5,計(jì)算機(jī)120的部件可以包括但不局限于一個(gè)處理裝置140,一個(gè)系統(tǒng)存儲(chǔ)器150以及一個(gè)把包括系統(tǒng)存儲(chǔ)器的多個(gè)系統(tǒng)部件連接到處理裝置140的系統(tǒng)總線141。系統(tǒng)總線141可以是其中任何一種包括一個(gè)存儲(chǔ)器總線或存儲(chǔ)器控制器,一個(gè)外圍總線,以及使用多個(gè)總線體系結(jié)構(gòu)中的一種的一個(gè)本地總線的總線結(jié)構(gòu)。舉例來(lái)說(shuō)(但并不局限于此),這種體系結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)結(jié)構(gòu)(ISA)總線,通用串行總線(USB),微通道結(jié)構(gòu)(MCA)總線,擴(kuò)展ISA(EISA)總線,視頻電子協(xié)會(huì)標(biāo)準(zhǔn)(VESA)本地總線,以及也稱為附加板總線的周邊元件擴(kuò)展接口(PCI)總線。計(jì)算機(jī)120一般包括多個(gè)計(jì)算機(jī)可讀媒體。計(jì)算機(jī)可讀媒體可以是任何一種能夠由計(jì)算機(jī)120訪問(wèn)的有效媒體并包括易失性和非易失性媒體,可移動(dòng)和不可移動(dòng)媒體。舉例來(lái)說(shuō)(但并不局限于此),計(jì)算機(jī)可讀媒體可以包含計(jì)算機(jī)存儲(chǔ)媒體和通信媒體。計(jì)算機(jī)存儲(chǔ)媒體包括為了存儲(chǔ)諸如計(jì)算機(jī)可讀指令,數(shù)據(jù)結(jié)構(gòu),程序模塊或其他數(shù)據(jù)那樣的信息,以任何方式或技術(shù)實(shí)現(xiàn)的易失性和非易失性,可移動(dòng)和不可移動(dòng)的媒體。計(jì)算機(jī)存儲(chǔ)媒體包括(但并不限于)RAM,ROM,EEPROM,閃存或其他存儲(chǔ)技術(shù),CD-ROM,數(shù)字化視頻光盤或其他光盤存儲(chǔ)器,磁帶盒,磁帶,磁性光盤存儲(chǔ)器或其他磁性存儲(chǔ)器裝置,或其他任何由計(jì)算機(jī)120訪問(wèn)并存儲(chǔ)想要的信息的媒體。
通信媒體一般在諸如載波或其他傳送機(jī)制那樣的調(diào)制數(shù)據(jù)信號(hào)中包含有計(jì)算機(jī)可讀指令,數(shù)據(jù)結(jié)構(gòu),程序模塊或其他數(shù)據(jù),并且該通信媒體包括任何信息傳送媒體。術(shù)語(yǔ)“調(diào)制數(shù)據(jù)信號(hào)”意味著一個(gè)具有一個(gè)或更多個(gè)自己的特征集的信號(hào),或者是一種以這種方式變化以在該信號(hào)中對(duì)信息編碼的信號(hào)。舉例來(lái)說(shuō)(但并不局限于此),通信媒體包括諸如一個(gè)有線網(wǎng)絡(luò)或直線連接那樣的有線媒體,以及諸如聲音的,F(xiàn)R,紅外線的那樣的無(wú)線媒體和其他無(wú)線媒體。以上任何組合應(yīng)該包含在計(jì)算機(jī)可讀媒體的范圍之內(nèi)。
系統(tǒng)存儲(chǔ)器150包括以諸如只讀存儲(chǔ)器(ROM)151和隨機(jī)存取存儲(chǔ)器(RAM)152那樣的易失性和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)媒體。一般在ROM151中存儲(chǔ)一個(gè)基本輸入/輸出系統(tǒng)153(BIOS),該BIOS包含有助于傳送計(jì)算機(jī)120內(nèi)元件之間信息的基本例行程序,諸如在啟動(dòng)過(guò)程中。RAM152一般包含由處理裝置140立即可存取的和/或當(dāng)前執(zhí)行的數(shù)據(jù)和/或程序模式。舉例來(lái)說(shuō)(但并不局限于此),圖5舉例說(shuō)明操作系統(tǒng)154,應(yīng)用程序155,其他程序模式156和程序數(shù)據(jù)157。
計(jì)算機(jī)120還可以包括其他可移動(dòng)/不可移動(dòng)的易失性/非易失性計(jì)算機(jī)存儲(chǔ)媒體。僅舉例來(lái)說(shuō),圖5舉例說(shuō)明一個(gè)從不可移動(dòng)的,非易失性磁性媒體讀取或往其中寫東西的硬盤驅(qū)動(dòng)器161,一個(gè)從可移動(dòng)的,非易失性磁盤172讀取或往其中寫東西的磁盤驅(qū)動(dòng)器171,以及一個(gè)從諸如CD-ROM或其他光媒體那樣的可移動(dòng)的,非易失性光盤176中讀取或往其中寫東西的光盤驅(qū)動(dòng)器175??梢栽谑痉哆\(yùn)行環(huán)境中使用的其他可移動(dòng)/不可移動(dòng)的,易失性/非易失性計(jì)算機(jī)存儲(chǔ)媒體包括(但并不局限于)磁帶盒,閃存卡,數(shù)字化視頻光盤,數(shù)字視頻磁帶,固態(tài)RAM,固態(tài)RAM等。硬盤驅(qū)動(dòng)器161一般通過(guò)諸如接口160那樣一個(gè)不可移動(dòng)的存儲(chǔ)器接口與系統(tǒng)總線141相連接,而且磁盤驅(qū)動(dòng)器171和光盤驅(qū)動(dòng)器175一般通過(guò)諸如接口170那樣一個(gè)可移動(dòng)的存儲(chǔ)接口與系統(tǒng)總線141相連接。
以上討論的并在圖5中舉例說(shuō)明的驅(qū)動(dòng)器及其相關(guān)的計(jì)算機(jī)存儲(chǔ)媒體為計(jì)算機(jī)120提供計(jì)算機(jī)可讀指令,數(shù)據(jù)結(jié)構(gòu),程序模式以及其他數(shù)據(jù)的存儲(chǔ)器。例如在圖5中,是以存儲(chǔ)了操作系統(tǒng)164、應(yīng)用程序165、其他程序模塊166,以及程序數(shù)據(jù)167來(lái)說(shuō)明硬盤驅(qū)動(dòng)器161的。注意,這些部件可以相同或不同于操作系統(tǒng)154,應(yīng)用程序155,其他程序模塊156以及程序數(shù)據(jù)157。在這里將用不同的數(shù)字來(lái)描述操作系統(tǒng)164,應(yīng)用程序165,其他程序模塊166和程序數(shù)據(jù)167,至少他們是不同版本的。
用戶可以通過(guò)諸如鍵盤182,麥克風(fēng)183和像鼠標(biāo),跟蹤球或觸摸屏那樣的點(diǎn)擊裝置的輸入設(shè)備往計(jì)算機(jī)120中輸入命令和指令。其他輸入設(shè)備(未顯示)可以包括游戲控制桿,游戲墊,圓盤式衛(wèi)星電視天線,掃描儀等。這些輸入設(shè)備和其他輸入設(shè)備經(jīng)常通過(guò)一個(gè)連接到系統(tǒng)總線的用戶輸入接口180相連于處理設(shè)備140,但是可以通過(guò)其他諸如并行端口,游戲端口或通用串行總線(USB)這樣的接口和總線結(jié)構(gòu)來(lái)連接這些輸入設(shè)備。監(jiān)視器184或其他類型的顯示設(shè)備還經(jīng)由一個(gè)諸如視頻接口185那樣的接口與系統(tǒng)總線141相連接。除監(jiān)視器以外,計(jì)算機(jī)還可以包括其他諸如揚(yáng)聲器187和打印機(jī)186那樣的外圍輸出設(shè)備,可以通過(guò)一個(gè)輸出外圍接口188連接這些外圍輸出設(shè)備。
計(jì)算機(jī)120可以運(yùn)行在使用邏輯連接到一個(gè)或更多個(gè)遠(yuǎn)程計(jì)算機(jī)的網(wǎng)絡(luò)工作環(huán)境中,例如一個(gè)遠(yuǎn)程計(jì)算機(jī)194。遠(yuǎn)程計(jì)算機(jī)可以是個(gè)人計(jì)算機(jī),手持裝置,服務(wù)器,路由器,網(wǎng)絡(luò)工作PC,對(duì)等裝置或其他通用網(wǎng)絡(luò)節(jié)點(diǎn),而且計(jì)算機(jī)120一般包括多個(gè)或所有上述與計(jì)算機(jī)120有關(guān)的部件。在圖5中描述的該邏輯連接包括局域網(wǎng)(LAN)191和廣域網(wǎng)(WAN)193,但它還可以包括其他網(wǎng)絡(luò)。這種網(wǎng)絡(luò)環(huán)境在辦公室,企業(yè)寬帶計(jì)算機(jī)網(wǎng)絡(luò),企業(yè)內(nèi)部互聯(lián)網(wǎng)和國(guó)際互聯(lián)網(wǎng)中是很平常的。
當(dāng)應(yīng)用在一個(gè)局域網(wǎng)的網(wǎng)絡(luò)環(huán)境中時(shí),計(jì)算機(jī)120通過(guò)一個(gè)網(wǎng)絡(luò)接口或適配器190與局域網(wǎng)連接。當(dāng)應(yīng)用在一個(gè)廣域網(wǎng)的網(wǎng)絡(luò)環(huán)境中時(shí),計(jì)算機(jī)120一般包括一個(gè)調(diào)制解調(diào)器192或其他用于在WAN193上建立連接的裝置,如國(guó)際互聯(lián)網(wǎng)?;蚴莾?nèi)部的或是外部的調(diào)制解調(diào)器192可以經(jīng)由用戶輸入接口180或其他合適的機(jī)制與系統(tǒng)總線141連接。在一個(gè)網(wǎng)絡(luò)環(huán)境中,可以在遠(yuǎn)程存儲(chǔ)器裝置中存儲(chǔ)與計(jì)算機(jī)120有關(guān)的程序模塊或相應(yīng)的段。舉例說(shuō)明但(并不局限于此),圖5說(shuō)明的遠(yuǎn)程應(yīng)用程序195保存在遠(yuǎn)程計(jì)算機(jī)194上。應(yīng)理解得是,所顯示的網(wǎng)絡(luò)連接僅是示例,也可以使用其他裝置在計(jì)算機(jī)之間建立連接。
圖6舉例說(shuō)明基于識(shí)別和數(shù)據(jù)再現(xiàn)的網(wǎng)絡(luò)體系結(jié)構(gòu)200,該體系結(jié)構(gòu)是本發(fā)明的一個(gè)示范環(huán)境。通常,可以通過(guò)諸如移動(dòng)裝置30或計(jì)算機(jī)120那樣的一個(gè)客戶機(jī)訪問(wèn)存儲(chǔ)在網(wǎng)絡(luò)服務(wù)器202中的信息(其中表示其他形式的具有一個(gè)顯示屏,一個(gè)麥克風(fēng),一個(gè)照相機(jī),一個(gè)觸摸板等的計(jì)算設(shè)備,這需要以輸入形式為基礎(chǔ)),或者通過(guò)其中要求音頻信息的電話機(jī)80或者響應(yīng)按下的鍵由電話機(jī)80而產(chǎn)生的音調(diào),而且其中僅將來(lái)自網(wǎng)絡(luò)服務(wù)器202的音頻信息返回給用戶。
在該實(shí)施例中,體系結(jié)構(gòu)200在是否通過(guò)客戶機(jī)100或電話機(jī)80獲得信息是統(tǒng)一標(biāo)準(zhǔn)的,單個(gè)識(shí)別服務(wù)器204可以支持每一種操作模式。另外,體系結(jié)構(gòu)200用一種擴(kuò)展的眾所周知的標(biāo)記語(yǔ)言來(lái)進(jìn)行操作(例如HTML,XHTML,cHTML,XML,WML等)。因此,還可以使用以這些標(biāo)記語(yǔ)言創(chuàng)建的眾所周知的GUI方法來(lái)訪問(wèn)存儲(chǔ)在網(wǎng)絡(luò)服務(wù)器202上的信息。使用這些擴(kuò)展的眾所周知的標(biāo)記語(yǔ)言使得更容易在網(wǎng)絡(luò)服務(wù)器上進(jìn)行創(chuàng)建,而且還可以易于修改目前存在的傳統(tǒng)應(yīng)用程序使其包含聲音識(shí)別。
通常,客戶100執(zhí)行由網(wǎng)絡(luò)服務(wù)器202使用一個(gè)瀏覽器所提供的通常用206表示的HTML頁(yè)面,腳本等。舉例來(lái)說(shuō),當(dāng)需要聲音識(shí)別時(shí),將已經(jīng)如上所述由客戶機(jī)100預(yù)處理其中音頻數(shù)據(jù)的語(yǔ)音數(shù)據(jù)提供給識(shí)別服務(wù)器204,該識(shí)別服務(wù)器具有一個(gè)可以由客戶100機(jī)所提供的在語(yǔ)音識(shí)別期間使用的文法或語(yǔ)言模式220的指示。另外,語(yǔ)音服務(wù)器204可以包括語(yǔ)言模式220??梢砸远喾N形式來(lái)實(shí)現(xiàn)該識(shí)別服務(wù)器,其中一種形式如上所述,但通常包括一個(gè)識(shí)別器211。如果需要或合適的話,提供識(shí)別結(jié)果返回到客戶100機(jī)用來(lái)本地再現(xiàn)。如果需要的話,文本-到-語(yǔ)音模塊222可以用來(lái)提供口頭文本到客戶機(jī)100。如果必要的話,根據(jù)通過(guò)識(shí)別和任何圖形用戶接口(如果使用)進(jìn)行的信息編譯,客戶機(jī)100發(fā)送信息到網(wǎng)絡(luò)服務(wù)器202用以進(jìn)一步處理以及進(jìn)一步接收HTML頁(yè)面/腳本。
如圖6中所述,客戶機(jī)100,網(wǎng)絡(luò)服務(wù)器202和識(shí)別服務(wù)器204通常是通過(guò)網(wǎng)絡(luò)205連接并分別尋址的,在這里是諸如國(guó)際互聯(lián)網(wǎng)那樣一個(gè)廣域網(wǎng)。因此任何這些裝置沒(méi)有必要彼此實(shí)際互連定位。特別是,網(wǎng)絡(luò)服務(wù)器202沒(méi)有必要包括識(shí)別服務(wù)器204。照這樣,可以把在網(wǎng)絡(luò)服務(wù)器202上的創(chuàng)建集中在應(yīng)用程序上,而不需要讓創(chuàng)建者知道識(shí)別服務(wù)器204的復(fù)雜性。相反地,可以獨(dú)立設(shè)計(jì)識(shí)別服務(wù)器204并將其連接到網(wǎng)絡(luò)205,并不需要進(jìn)一步的改變而對(duì)網(wǎng)絡(luò)服務(wù)器202進(jìn)行更新和改善。網(wǎng)絡(luò)服務(wù)器202還可以包括一個(gè)能夠動(dòng)態(tài)地產(chǎn)生客戶端標(biāo)記和腳本的創(chuàng)建機(jī)制。在進(jìn)一步的實(shí)施例中,可以根據(jù)執(zhí)行機(jī)制的能力來(lái)結(jié)合網(wǎng)絡(luò)服務(wù)器202,識(shí)別服務(wù)器204和客戶機(jī)100。例如,如果客戶機(jī)100包含一個(gè)諸如個(gè)人計(jì)算機(jī)那樣的通用計(jì)算機(jī),該客戶機(jī)可以包括識(shí)別服務(wù)器204等,如果需要的話,可以在單個(gè)機(jī)器中結(jié)合網(wǎng)絡(luò)服務(wù)器202和識(shí)別服務(wù)器204。
通過(guò)電話機(jī)80對(duì)網(wǎng)絡(luò)服務(wù)器202的訪問(wèn)包括將電話機(jī)80連接到一個(gè)有線或無(wú)線的電話網(wǎng)絡(luò)208,輪流地,將電話機(jī)80連接到一個(gè)第三部分通路210。通路210把電話機(jī)80連接到一個(gè)電話聲音瀏覽器212。電話聲音瀏覽器212包括一個(gè)提供電話接口和聲音瀏覽器216的媒體服務(wù)器214。與客戶機(jī)100類似,電話聲音瀏覽器212接收HTML頁(yè)面/腳本或來(lái)自網(wǎng)絡(luò)服務(wù)器202的相同東西。在一個(gè)實(shí)施例中,該HTML頁(yè)面/腳本與提供給客戶100的HTML頁(yè)面/腳本在形式上相近。照這樣,網(wǎng)絡(luò)服務(wù)器不必分別支持客戶100和電話80,或者甚至不必分別支持標(biāo)準(zhǔn)GUI客戶機(jī)。相反地,可以使用一種通用標(biāo)記語(yǔ)言。另外與客戶機(jī)100類似,通過(guò)網(wǎng)絡(luò)205或通過(guò)專用路線207,例如使用TCP/IP,從聲音瀏覽器216把來(lái)自于由電話機(jī)80發(fā)射的音頻信號(hào)的聲音識(shí)別提供給識(shí)別服務(wù)器204。可以在諸如圖5中所描述的通用計(jì)算機(jī)那樣的任何合適的計(jì)算環(huán)境中嵌入網(wǎng)絡(luò)服務(wù)器202,識(shí)別服務(wù)器204和電話聲音瀏覽器212。
已經(jīng)描述了多種環(huán)境以及在系統(tǒng)10中運(yùn)行的體系結(jié)構(gòu),現(xiàn)在將對(duì)多個(gè)部件和系統(tǒng)10的功能提供一個(gè)更詳細(xì)的描述。圖7舉例說(shuō)明語(yǔ)音識(shí)別和理解模塊14的一個(gè)方框圖。把接收自語(yǔ)音接口模塊12的輸入語(yǔ)音發(fā)送到語(yǔ)音識(shí)別和理解模塊14。語(yǔ)音識(shí)別和理解模塊14包括具有一個(gè)相關(guān)的語(yǔ)言模塊310的識(shí)別引擎306。識(shí)別引擎306用語(yǔ)言模塊310來(lái)確定可能的表面語(yǔ)義結(jié)構(gòu)以顯示每一個(gè)形成該輸入的短語(yǔ),當(dāng)接收輸入時(shí)提供部分語(yǔ)義解析。與等候用戶完成發(fā)言然后處理所接收的完整輸入的系統(tǒng)不同,模塊14僅基于至今為止已接收的持續(xù)提供語(yǔ)義對(duì)象。
識(shí)別引擎306在部分發(fā)言的基礎(chǔ)上提供至少一個(gè)表面語(yǔ)義輸出對(duì)象。在一些實(shí)施例中,識(shí)別引擎306能夠?qū)γ恳粋€(gè)可選擇的結(jié)構(gòu)提供多于一個(gè)的可選擇表面語(yǔ)義對(duì)象。
盡管在圖7中舉例說(shuō)明中提供了語(yǔ)音輸入,但是本發(fā)明可以利用手寫識(shí)別,手勢(shì)識(shí)別或圖形用戶接口(其中該用戶與一個(gè)鍵盤或其他輸入設(shè)備相互作用)。在另外的實(shí)施例中,用一個(gè)合適的識(shí)別引擎取代語(yǔ)音識(shí)別器306是本領(lǐng)域公知的技術(shù)。對(duì)于圖形用戶接口,具有語(yǔ)言模式的文法與諸如通過(guò)一個(gè)輸入框的用戶輸入有關(guān)。另外,在輸入方式基礎(chǔ)上以一種不需要顯著修改的連貫方式處理用戶輸入。
上述交互式對(duì)話框還包括系統(tǒng)10基于部分語(yǔ)義或?qū)ο筇峁┑钠渌问降男畔⒎答仯摻换ナ綄?duì)話框10可以用SALT(語(yǔ)音應(yīng)用語(yǔ)言標(biāo)記)或其他語(yǔ)音、手寫,以及支持一個(gè)語(yǔ)言模式結(jié)構(gòu)的模式識(shí)別AIP(應(yīng)用程序接口)來(lái)實(shí)現(xiàn),該語(yǔ)言模式結(jié)構(gòu)能夠在一個(gè)給定的應(yīng)用程序和語(yǔ)義對(duì)象同步解碼的已選擇模式的基礎(chǔ)上提供語(yǔ)義信息。SALT是一種能夠從個(gè)人計(jì)算機(jī),電話,平面PC和無(wú)線移動(dòng)裝置中訪問(wèn)信息,應(yīng)用程序和網(wǎng)絡(luò)服務(wù)的發(fā)展中的標(biāo)準(zhǔn),例如,SALT還可以應(yīng)用于應(yīng)用接口,同時(shí)不需要經(jīng)過(guò)網(wǎng)絡(luò)進(jìn)行互連。SALT擴(kuò)展現(xiàn)有諸如HTML,XHTML和XML那樣的標(biāo)記語(yǔ)言??梢栽趆ttp//www.SALTforum.org上在線找到SALT.10規(guī)范。還應(yīng)該注意到,SALT可以基于用戶的輸入提供語(yǔ)義信息,例如從語(yǔ)音服務(wù)器204,這種信息在完成一個(gè)發(fā)言后構(gòu)成提供給數(shù)據(jù)再現(xiàn)模塊16的對(duì)象;然而如下進(jìn)一步描述的,可以先前不打算提供部分語(yǔ)義解析或?qū)ο蟮姆绞绞褂肧ALT。使用SALT擴(kuò)展或在其他API中類似的擴(kuò)展,為驅(qū)動(dòng)用戶交互的高度交互式事件提供支持。
舉例來(lái)說(shuō)使用SALT,該SALT的listen對(duì)象可以用來(lái)執(zhí)行語(yǔ)音識(shí)別和理解任務(wù)。這是因?yàn)樵撛O(shè)計(jì)遵循將語(yǔ)音識(shí)別理解為模式識(shí)別問(wèn)題的觀點(diǎn)和公式化,,就像語(yǔ)音識(shí)別。同樣力求從最匹配一個(gè)給予的語(yǔ)音信號(hào)的一個(gè)可能輸出的集合中找到一個(gè)模式。對(duì)于語(yǔ)音識(shí)別,要找到的模式是一個(gè)字符串,而對(duì)于理解是一個(gè)語(yǔ)義對(duì)象樹(shù)。傳統(tǒng)語(yǔ)音識(shí)別任務(wù)命令用包含可能的字符串的語(yǔ)言模式進(jìn)行搜索處理。一個(gè)語(yǔ)音理解任務(wù)可以以一種類似的方式指導(dǎo)相同的搜索引擎來(lái)用一個(gè)語(yǔ)義模式組成合適的語(yǔ)義對(duì)象樹(shù)。如經(jīng)常暗示一個(gè)專門詞匯和從專門詞匯入口組合短語(yǔ)段的規(guī)則這樣的語(yǔ)言模式,一個(gè)語(yǔ)義模式暗示一個(gè)所有語(yǔ)義對(duì)象和組成它們的規(guī)則的字典。當(dāng)識(shí)別結(jié)果是一個(gè)文本串時(shí),該理解結(jié)果是語(yǔ)義對(duì)象樹(shù)。
盡管有可能擴(kuò)展N-gram來(lái)返回一個(gè)構(gòu)成的搜索結(jié)果,但是多數(shù)標(biāo)準(zhǔn)語(yǔ)音理解應(yīng)用程序是在其中設(shè)計(jì)者可以指定組成語(yǔ)義對(duì)象的規(guī)則而沒(méi)有龐大的注釋培訓(xùn)數(shù)據(jù)的樹(shù)庫(kù)的隨機(jī)上下文無(wú)關(guān)文法基礎(chǔ)上的。一種指定這些規(guī)則的方法與每一個(gè)帶有產(chǎn)品指向的PCFG有關(guān),該產(chǎn)品執(zhí)行是關(guān)于搜索引擎如何將部分PCFG短語(yǔ)樹(shù)轉(zhuǎn)換成一個(gè)語(yǔ)義對(duì)象樹(shù)。以下顯示的是一個(gè)用微軟語(yǔ)音應(yīng)用接口(SAPI)編寫的實(shí)施例(它也是可以用在本發(fā)明一個(gè)語(yǔ)音API的實(shí)施例)<rule name=”nyc”>
<list>
<phrase>new york?city</phrase>
<phrase>the big apple</phrase>
</list>
<output>
<city_location>
<city>New York</city>
<state>New York</state>
<country>USA</country>
</city_location>
</output>
</rule>
...
<rule name=”NewMeeting”>
<rulerefmin=”0”name=”CarrierPhrase”>
<rulerefmax=”inf”name=”Apptproperty”>
<output>
<NewMeeting>
<DateTime>
<xslapply-templates select=”//Date”/>
<xslapply-templates select=”//Time”/>
<xslapply-templates select=”//Duration”/>
</DateTime>
<Invitees>
<xslapply-templates select=”//Person”/>
</Invitees>
...
</NewMeeting>
</output>
</rule>
<rule name=”ApptProperty”>
<list>
<rulerefname=”Date”/>
<rulerefname=”Duration”/>
<rulerefname=”Time”/>
<rulerefname=”Person”max=”inf”/>
<rulerefname=”ApptSubject”/>
....
</list>
</rule>
....
該文法程序段包含三個(gè)法則。第一,一個(gè)名為“nyc”的前端列出關(guān)于紐約市的表達(dá)式。本實(shí)施例中的標(biāo)記<output>揭示關(guān)于構(gòu)造語(yǔ)義對(duì)象的法則。當(dāng)搜索路徑退出文法節(jié)點(diǎn)時(shí)啟用他們,通過(guò)優(yōu)先立即標(biāo)記來(lái)表示該文法節(jié)點(diǎn)。在這種情況下,當(dāng)一個(gè)搜索路徑退出“nyc”法則時(shí),創(chuàng)建一個(gè)表示為具有一個(gè)<city_location>元素的XML的語(yǔ)義對(duì)象。該語(yǔ)義對(duì)象分別由以下三個(gè)語(yǔ)義對(duì)象輪流組成城市名,州和國(guó)家名縮寫。
語(yǔ)義對(duì)象的組成還可以是一個(gè)動(dòng)態(tài)過(guò)程,例如,在安排一個(gè)新的會(huì)面中。例如,當(dāng)用戶完成對(duì)諸如日期,時(shí)間,持續(xù)時(shí)間和出席者那樣的會(huì)面屬性的指定時(shí)將產(chǎn)生一個(gè)NewMeeting語(yǔ)義對(duì)象??梢杂媚0逋鵑ewMeeting語(yǔ)義對(duì)象中粘帖其他語(yǔ)義對(duì)象作為其組成部分。還可以把相同的法則運(yùn)用到這里沒(méi)有顯示的其他法則中。舉例來(lái)說(shuō),以下語(yǔ)義對(duì)象將導(dǎo)致一個(gè)發(fā)言“在1月1日安排LiDeng與AlexAcero進(jìn)行一個(gè)為時(shí)1個(gè)小時(shí)的會(huì)面”<NewMeeting>
<DateTime>
<Date>01/01/2003</Date>
<Duration>3600</Duration>
</DateTime>
<Invitees>
<Person>Li Deng</Person>
<Person>Alex Acero</person>
</Invitees>
</NewMeeting>
在實(shí)際應(yīng)用中,提高PCFG有效區(qū)域是一項(xiàng)艱難的任務(wù)。因此需要能夠使用一個(gè)N-gram到模式,其中,功能語(yǔ)句不傳送關(guān)鍵的語(yǔ)義信息,但通常在文法結(jié)構(gòu)中具有相當(dāng)大的變化(例如,”May I...”,”Couldyou show me...”,”Please showme...”)。在一個(gè)實(shí)施例中,語(yǔ)言模式310包含一個(gè)結(jié)合了PCFG和N-gram的語(yǔ)義語(yǔ)言模式。該技術(shù)與同樣也可以使用的一個(gè)統(tǒng)一語(yǔ)言模式稍微不同。除了該統(tǒng)一語(yǔ)言模式允許CFG分段而不僅僅是一列字之外,該統(tǒng)一語(yǔ)言模式是對(duì)傳統(tǒng)分類N-gram的自然擴(kuò)展來(lái)形成N-gram中的一個(gè)特殊標(biāo)記。使用該模式的識(shí)別器306仍然產(chǎn)生接著要解析的文本串。因此設(shè)計(jì)該統(tǒng)一語(yǔ)言模式以結(jié)合某個(gè)語(yǔ)言結(jié)構(gòu)來(lái)輔助文本翻譯。
另一方面,該語(yǔ)義語(yǔ)言模式旨在使用解碼器或識(shí)別器來(lái)對(duì)語(yǔ)義結(jié)構(gòu)進(jìn)行搜索,通常由PCFG來(lái)捕獲會(huì)更好。因此,與在N-gram中嵌入CFG分段相反,通過(guò)創(chuàng)建一個(gè)響應(yīng)內(nèi)部N-gram的專用PCFG前端,PCFG用來(lái)包含N-gram。在微軟SAPI文法格式中,這可以用帶有一個(gè)XML<dictation>標(biāo)記的一個(gè)前端來(lái)表示,就如同在LCFG<dictateon max=”inf”/>RCFG中。
其中LCFG和RCFG分別表示嵌入的N-gram的左、右上下文。該搜索處理創(chuàng)建作為一個(gè)作為標(biāo)記的<dictation>標(biāo)記并在N-gram中擴(kuò)展,仿佛進(jìn)入一個(gè)規(guī)則的非終結(jié)符號(hào)。該標(biāo)記上的最大屬性指定N-gram能夠耗費(fèi)的最大字?jǐn)?shù)。在N-gram內(nèi),通過(guò)對(duì)補(bǔ)償N-gram內(nèi)插PCFG來(lái)計(jì)算字符串概率,更特別地P(Wn|Wn-1,Wn-2,...)=λP(Wn|Ngram,Wn-1,Wn-2,...)+(1-λ)P(Wn|RCFG)P(RCFG|Wn-1,Wn-2,...)(1)其中λ是N-gram內(nèi)插權(quán)而且P(RCFG|Wn-1,...)使用N-gram的補(bǔ)償概率,即創(chuàng)建Wn就好像它不是一個(gè)詞匯單詞。在一個(gè)實(shí)施例中,術(shù)語(yǔ)P(Wn|RCFG)取決于是否達(dá)到最大N-gram字符串大小而且該字是否在CFG分段的傳送中來(lái)假定二元值。既然取自PCFG的字經(jīng)常具有一個(gè)較高概率,那么甚至在將最大N-gram字計(jì)算設(shè)置成無(wú)窮大時(shí),真正適合CFG所轉(zhuǎn)換的路徑也傾向于克服他們N-gram副本的障礙。除了功能語(yǔ)句以外,嵌入的N-gran還可以用來(lái)構(gòu)建具有一個(gè)作為屬性的口述的語(yǔ)義對(duì)象。例如,meeting對(duì)象是我們以下任務(wù)中的模式<rule name=”ApptSubject”>
<p><dictation rnax=”inf”/><P>
在K.Wang的“Semantic modeling for dialog system in a pattern recognitionframework”(Proc.Asru-2001,Trento Italy 2001)中描述了關(guān)于語(yǔ)義語(yǔ)言模式的進(jìn)一步細(xì)節(jié),在此結(jié)合參考了它的全部?jī)?nèi)容。
本發(fā)明進(jìn)一步包括對(duì)SALT的listen對(duì)象的新的運(yùn)用。SALT提供一組具有相關(guān)屬性和DOM對(duì)象屬性的XML元素,可以連同一個(gè)源標(biāo)記文件一起用來(lái)把一個(gè)語(yǔ)音接口運(yùn)用到一個(gè)源頁(yè)面的事件和方法。通常,該主要元素包括<Promt...>用于語(yǔ)音合成配置并提示運(yùn)行<Listen...>用于語(yǔ)音識(shí)別器配置,識(shí)別執(zhí)行和錯(cuò)后處理,并記錄<dtmf...>用于DTMF配置和控制<smex...>用于具有平臺(tái)部件的通用通信listen和dtmf對(duì)象還包含grammar和bind控制<grammar...>用于指定輸入文法<bind...>用于處理識(shí)別結(jié)果listen元素可以包括一個(gè)用來(lái)區(qū)分三種識(shí)別模式的“mode”屬性,它命令識(shí)別服務(wù)器(例如204)怎樣以及什么時(shí)候返回結(jié)果。該返回結(jié)果酌情暗示提供“onReco”事件或激活“bind”時(shí)間。
在第一個(gè)模式中,語(yǔ)音平臺(tái)“automatic”而非應(yīng)用程序控制何時(shí)停止識(shí)別處理。該模式還為電話或解放雙手方案進(jìn)行了發(fā)展。一旦一個(gè)識(shí)別結(jié)果有效,和/或一個(gè)過(guò)去的時(shí)間周期表示停止,語(yǔ)音平臺(tái)自動(dòng)停止識(shí)別器并返回其結(jié)果,該結(jié)果可以通過(guò)bind元素與合適的字段相關(guān)。
在第二個(gè)操作模式中,一個(gè)識(shí)別結(jié)果的返回“single”是受一個(gè)明確的“stop”請(qǐng)求控制的。該停止請(qǐng)求將響應(yīng)用戶的諸如“pen-up”那樣的事件,而且該模式為了用在一個(gè)多模式環(huán)境中而得到了發(fā)展,其中在多模式環(huán)境中的裝置允許語(yǔ)音輸入,但是用戶一般受到用什么以及什么時(shí)候選擇字段的控制,諸如通過(guò)使用指示筆33(圖1)。
語(yǔ)音識(shí)別器的第三種操作模式是一個(gè)“多模式”。該操作模式用于“打開(kāi)麥克風(fēng)”或用在一個(gè)口述方案中。通常,在此操作模式中,在接收一個(gè)明確的停止請(qǐng)求或其他超出了關(guān)于非識(shí)別輸入的時(shí)間周期或聽(tīng)的一個(gè)最大時(shí)間之前,不時(shí)地返回識(shí)別結(jié)果。通常,以這種操作方式,在接收停止請(qǐng)求之前對(duì)每一個(gè)識(shí)別的語(yǔ)句聲明一個(gè)“onReco”事件并且返回結(jié)果。
然而,作為本發(fā)明另一個(gè)方面,該操作模式可以提供一種方法,用于通過(guò)允許他們每當(dāng)達(dá)到一個(gè)顯著的語(yǔ)言界標(biāo)時(shí)立即匯報(bào),對(duì)于檢索引擎用來(lái)揭示更多對(duì)用戶的交互能力。眾所周知檢索算法基于時(shí)間同步解碼,并可以對(duì)該模式以簡(jiǎn)單的方式執(zhí)行該算法。H.Ney,S.Ortmanns 1999年在IEEE Signal ProcessingMagazine,pp.64-83上的“Dynamic programming search for continuous speechrecognition”中描述了其中一種該算法。對(duì)于語(yǔ)音識(shí)別,該語(yǔ)言界標(biāo)通常響應(yīng)一個(gè)字或一個(gè)短語(yǔ)界面。一旦他們有效,一個(gè)SALT多模式識(shí)別就可以用來(lái)動(dòng)態(tài)顯示該字符串假設(shè),通常在多種商業(yè)命令軟件中顯示一個(gè)UI效果。然而,在本發(fā)明中,該多模式可以創(chuàng)建語(yǔ)義對(duì)象的實(shí)例作為語(yǔ)言界標(biāo)和匯報(bào),即提供一些答復(fù)用作可以理解的東西的功能,同樣以一種動(dòng)態(tài)方式在他們上返回應(yīng)用程序。這看起來(lái)似乎是SALT的應(yīng)用程序設(shè)計(jì)者正在執(zhí)行一個(gè)語(yǔ)義對(duì)象同步理解。
通過(guò)將該操作模式與一個(gè)多模式方案進(jìn)行比較,可以更容易地理解該操作模式。例如,在多模式方案中,用戶通過(guò)當(dāng)說(shuō)話時(shí)在一個(gè)輸入字段中點(diǎn)擊并保持指示筆來(lái)指示一個(gè)字段。當(dāng)用戶可以在一個(gè)通用字段上輕敲并發(fā)射出一個(gè)詳細(xì)的句子以用一個(gè)單句充滿多個(gè)字段時(shí),該指定-交談接口(tap-and-talk interface)仍然占用著用戶的眼睛和手,這是一種不適合于多種情況的方案。另外,盡管指定-交談特征在于一個(gè)顯示有限語(yǔ)音語(yǔ)言處理的容量和進(jìn)度條的有意義的秘密渠道通信。這些反饋僅對(duì)按照速度和精度量化語(yǔ)音語(yǔ)言處理提供非常原始的提示。對(duì)于長(zhǎng)句可以假定這是更成問(wèn)題的,其中可以把誤差傳送到一個(gè)寬頻帶示波器,最后要求僅僅在檢驗(yàn)和校正該識(shí)別和理解結(jié)果方面作進(jìn)一步的努力。既然可用的方案似乎指示長(zhǎng)句是用實(shí)驗(yàn)證明語(yǔ)音的實(shí)用性超過(guò)了增強(qiáng)的或選擇的鍵盤的關(guān)鍵區(qū)別因素,那么一個(gè)滿意的用戶界面技巧對(duì)成功使用語(yǔ)音作為一個(gè)可行的模式是絕對(duì)必要的。
為了促使一個(gè)仿人的計(jì)算機(jī)感知在完成一個(gè)共同目標(biāo)中接近于合作伙伴,通過(guò)在他們有效時(shí)馬上匯報(bào)部分語(yǔ)義解析或?qū)ο髞?lái)進(jìn)行語(yǔ)義對(duì)象同步理解。在一個(gè)實(shí)施例中,通過(guò)使用SALT中聽(tīng)元素的多模式來(lái)實(shí)現(xiàn)這個(gè)。特別是,對(duì)于該聽(tīng)元素,設(shè)計(jì)一個(gè)多模式然后為了識(shí)別該輸入語(yǔ)音,指定所有識(shí)別文法。還可以在Listen對(duì)象中指定該指定結(jié)果。例如用來(lái)獲得必要信息的HTML輸入代碼,諸如日期,時(shí)間,地點(diǎn),對(duì)象和與會(huì)者等,可以用以下形式創(chuàng)建一個(gè)新的會(huì)面<listen mode=”multiple”...>
<grammar src=”subject.grm”/>
<grammar src=”date.grm”/>
<grammar src=”time_duration.grm”/>
<grammar src=”attendees.grm”/>
<bind targetElement=”subject”value=”//ApptSubject”/>
<bind targetElement=”date”value=”//DateTime”/>
<bind targetElement=”start_time”value=”//start_time”targetElement=”end_time”value=”//end_time”targetElement=”duration”value=”//DateTime/duration”/>
...
</Listen>
該多個(gè)文法包含一個(gè)并行搜索空間。用于帶有一個(gè)返回到入口點(diǎn)的空轉(zhuǎn)換的識(shí)別。照這樣,SALT允許Listen對(duì)象在一旦退出一個(gè)文法時(shí)產(chǎn)生一個(gè)事件。當(dāng)進(jìn)行優(yōu)先音頻采集和識(shí)別的時(shí)侯,該事件派生一個(gè)并行處理來(lái)依次啟用bind指令,因此在對(duì)具有一個(gè)領(lǐng)域視頻再現(xiàn)的應(yīng)用程序仍然發(fā)出一個(gè)語(yǔ)音命令的時(shí)侯,為用戶創(chuàng)建在形式上是充實(shí)的相關(guān)領(lǐng)域的影響。
對(duì)于為了解放雙眼應(yīng)用的用戶接口,也許要求有伴生的語(yǔ)音輸出。照這樣,SALT的prompt對(duì)象可以用來(lái)提供立即返回。例如,接下來(lái)的prompt對(duì)象可以用于在數(shù)據(jù)領(lǐng)域里動(dòng)態(tài)常量的基礎(chǔ)上進(jìn)行同步響應(yīng),而且可以如下所述用附加的SALT的bind指令觸發(fā)該語(yǔ)音同步<prompt id=”say_date”>
on<value targetElement=”date”/>
</prompt>
...
<listen...>
<bind targetElement=”date”value=”//date”targeElement=”say_date”targetMethod=”Start”/>
...
</listen>
總效應(yīng)是用戶感覺(jué)就像他/她和另一個(gè)參與者在交談,不僅僅是草草記錄下來(lái)而是重復(fù)所聽(tīng)到的東西,就像在下個(gè)星期二(10/29/02)兩點(diǎn)(在下午兩點(diǎn)開(kāi)始)為時(shí)兩個(gè)小時(shí)(持續(xù)時(shí)間兩個(gè)小時(shí))的“安排一個(gè)會(huì)面(新會(huì)面)”中,其中在括號(hào)內(nèi)提供返回到用戶的表示音頻和/或視頻提示(也可以是同步的)的短語(yǔ)。
還應(yīng)該注意到SALT允許設(shè)計(jì)者附上自定義識(shí)別事件處理程序,該處理程序執(zhí)行超出諸如SALT的bind指令那樣的簡(jiǎn)單指定的高級(jí)計(jì)算。在以上實(shí)施例中,可以在語(yǔ)義文法中完成數(shù)據(jù)歸一化,然而該數(shù)據(jù)歸一化無(wú)法促進(jìn)高級(jí)參考結(jié)果(例如,“安排Li Deng與它的經(jīng)理的一次會(huì)面”)。例如,可以將算法作為可達(dá)到目標(biāo)事件處理程序的腳本對(duì)象來(lái)訪問(wèn)能存儲(chǔ)數(shù)據(jù)以確定無(wú)窮的參考。K.Wang的“A plan based dialog system with probabilistic inferences”(Proc.ICSLP-2000,Beijing China 2000)中以及2002年4月24日公開(kāi)的歐洲專利申請(qǐng)EP1199630A2中描述了這種算法,在此結(jié)合參考了它們的全部?jī)?nèi)容。
還應(yīng)該注意到盡管為了listen對(duì)象退出了該多模式操作,但是在當(dāng)前執(zhí)行過(guò)程中,該模式對(duì)于諸如在口述方案中的輸入數(shù)據(jù)僅提供文本。然而,在本發(fā)明中所接收作為輸入的部分結(jié)果不僅僅是文本,而是還包括與該文本相關(guān)的響應(yīng)語(yǔ)義信息,因此該輸出包含部分語(yǔ)義解析或?qū)ο?,這可以如上所述用來(lái)提供用戶更多有關(guān)計(jì)算機(jī)已經(jīng)完全理解所接收的東西的質(zhì)量反饋。取決于應(yīng)用程序接收部分語(yǔ)義解析或?qū)ο蟮募记?,系統(tǒng)可以在所接收的部分語(yǔ)義解析或?qū)ο蟮幕A(chǔ)上提供反饋給用戶確定,選擇,校正和澄清。
盡管公知在多模式應(yīng)用程序中包括多個(gè)文法來(lái)允許用戶在前發(fā)言,從而提供該提供還未指定的信息的能力,由于listen元素提供給用戶一個(gè)更高的理解指示,所以在多模式操作中使用listen元素會(huì)更好。在一個(gè)純聲音應(yīng)用程序中產(chǎn)生一個(gè)自然形式對(duì)話框,反而如果使用執(zhí)行的視頻再現(xiàn),可以在用戶持續(xù)發(fā)言時(shí),在用戶至今為止所提供的部分語(yǔ)義解析的基礎(chǔ)上開(kāi)始處理一個(gè)應(yīng)用程序(開(kāi)始,顯示臨時(shí)結(jié)果或選項(xiàng),例如通過(guò)彈出窗)。
盡管參照部分實(shí)施例描述了本發(fā)明,但是本領(lǐng)域技術(shù)人員將認(rèn)識(shí)到可以在不脫離本發(fā)明的精神和范圍的情況下進(jìn)行形式上以及詳細(xì)地改變。
權(quán)利要求
1.一種語(yǔ)音理解系統(tǒng)包括一個(gè)語(yǔ)言模式,包含一個(gè)N-gram語(yǔ)言模式和一個(gè)上下文無(wú)關(guān)文法語(yǔ)言模式的一個(gè)組合,該語(yǔ)言模式存儲(chǔ)涉及字以及將要識(shí)別的語(yǔ)義信息的信息;一個(gè)適用于接收用戶輸入并捕獲該輸入用來(lái)處理的模塊,該模塊進(jìn)一步適用于接收與輸入識(shí)別有關(guān)的SALT應(yīng)用程序接口,該模塊配置成處理SALT應(yīng)用程序接口和輸入以用來(lái)確定與輸入的第一部分有關(guān)的語(yǔ)義信息并通過(guò)訪問(wèn)語(yǔ)言模式來(lái)輸出包括第一部分的文本和語(yǔ)義信息的語(yǔ)義對(duì)象,其中當(dāng)連續(xù)捕獲輸入的隨后部分時(shí)執(zhí)行識(shí)別并輸出語(yǔ)義對(duì)象。
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其中語(yǔ)言模式包含一個(gè)統(tǒng)一語(yǔ)言模式。
3.根據(jù)權(quán)利要求1所述的系統(tǒng),其中語(yǔ)言模式包含一個(gè)語(yǔ)義語(yǔ)言模式。
4.根據(jù)權(quán)利要求1,2或3所述的系統(tǒng),其中在繼續(xù)捕獲輸入的隨后的部分時(shí),為了執(zhí)行識(shí)別和輸出語(yǔ)義對(duì)象,該模塊適用于以一種多模式來(lái)識(shí)別一個(gè)SALT的Listen對(duì)象。
5.根據(jù)權(quán)利要求4所述的系統(tǒng),其中模塊適用于確定文法對(duì)象來(lái)定義語(yǔ)言模式的一個(gè)搜索空間。
6.根據(jù)權(quán)利要求1,2或3所述的系統(tǒng),其中模塊適用于確定文法對(duì)象來(lái)定義語(yǔ)言模式的一個(gè)搜索空間。
7.一種包括計(jì)算裝置可讀指令的計(jì)算機(jī)可讀媒體,當(dāng)執(zhí)行該計(jì)算機(jī)可讀媒體時(shí)將導(dǎo)致計(jì)算裝置通過(guò)執(zhí)行以下步驟來(lái)處理信息,步驟包括接收來(lái)自一個(gè)用戶的輸入并捕獲要處理的該輸入;接收SALT應(yīng)用程序接口來(lái)確定一個(gè)執(zhí)行識(shí)別和理解的語(yǔ)言模式,該語(yǔ)言模式適合于為所接收的輸入提供識(shí)別的輸入文本和語(yǔ)義信息;通過(guò)訪問(wèn)該語(yǔ)言模式來(lái)處理輸入以在輸入上執(zhí)行識(shí)別,以便確定與輸入的第一部分有關(guān)的語(yǔ)義信息,以及為第一部分輸出包含已識(shí)別輸入的文本和語(yǔ)義信息的語(yǔ)義對(duì)象,其中當(dāng)連續(xù)捕獲輸入的隨后部分時(shí)執(zhí)行識(shí)別并輸出語(yǔ)義對(duì)象。
8.根據(jù)權(quán)利要求7所述的計(jì)算機(jī)可讀媒體,其中處理包括當(dāng)連續(xù)捕獲輸入的隨后部分時(shí),為了執(zhí)行識(shí)別和輸出語(yǔ)義對(duì)象,以一種多模式來(lái)識(shí)別一個(gè)SALT的Listen對(duì)象。
9.根據(jù)權(quán)利要求8所述的計(jì)算機(jī)可讀媒體,其中接收SALT應(yīng)用程序接口包括確定文法對(duì)象來(lái)定義語(yǔ)言模式的一個(gè)搜索空間。
10.根據(jù)權(quán)利要求7所述的計(jì)算機(jī)可讀媒體,其中接收SLT應(yīng)用程序接口包括確定文法對(duì)象來(lái)定義語(yǔ)言模式的一個(gè)搜索空間。
全文摘要
一種語(yǔ)音理解系統(tǒng)包括一個(gè)語(yǔ)言模式,該語(yǔ)言模式包含一個(gè)N-gram語(yǔ)言模式和一個(gè)上下文無(wú)關(guān)文法語(yǔ)言模式的一個(gè)組合,該語(yǔ)言模式存儲(chǔ)涉及字以及將要識(shí)別的語(yǔ)義信息的信息。該語(yǔ)音理解系統(tǒng)還包括一個(gè)適用于接收用戶輸入并捕獲該輸入用來(lái)處理的模塊。該模塊進(jìn)一步適用于接收與輸入識(shí)別有關(guān)的SALT應(yīng)用程序接口,該模塊配置成處理SALT用程序接口輸入以用來(lái)確定與輸入的第一部分有關(guān)的語(yǔ)義信息并通過(guò)訪問(wèn)語(yǔ)言模式來(lái)輸出包括第一部分的文本和語(yǔ)義信息的語(yǔ)義對(duì)象,其中當(dāng)連續(xù)捕獲輸入的隨后部分時(shí)執(zhí)行識(shí)別并輸出語(yǔ)義對(duì)象。
文檔編號(hào)G10L17/00GK1573928SQ200410059568
公開(kāi)日2005年2月2日 申請(qǐng)日期2004年5月28日 優(yōu)先權(quán)日2003年5月29日
發(fā)明者王冠三 申請(qǐng)人:微軟公司