語音應(yīng)用中用于自動確認和消歧模塊的方法和系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供了語音應(yīng)用中用于自動確認和消歧模塊的方法和系統(tǒng)。所述方法包括:經(jīng)由語音瀏覽器執(zhí)行對與用戶的對話流建模的控制流邏輯??刂屏鬟壿嫯a(chǎn)生消歧要求。啟動消歧模塊,并將一組至少兩個候選和劃分標準從控制流邏輯發(fā)送給所述模塊。基于劃分標準分析候選的屬性以確定每個屬性的劃分分數(shù),其指示辨別候選的能力?;趧澐址謹?shù)對屬性進行排序?;谂判蛟谑孜坏膶傩栽儐栍脩簦⑹褂迷儐柕慕Y(jié)果以減少所述一組候選。重復分析、排序和詢問的步驟,直到所述一組候選被減少為單個候選為止。將單個候選返回給控制流邏輯,用于繼續(xù)執(zhí)行。
【專利說明】語音應(yīng)用中用于自動確認和消歧模塊的方法和系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本公開涉及語音應(yīng)用,并且更具體地涉及語音應(yīng)用中用于自動確認和消歧模塊的系統(tǒng)和方法。
【背景技術(shù)】
[0002]語音應(yīng)用是通過口語與用戶通信的計算機程序。例如,用戶可以被提供語音提示,然后可以說出由語音應(yīng)用解釋的指令。語音應(yīng)用有各種各樣的用途,諸如基于電話的自動客戶服務(wù)應(yīng)用??梢允褂矛F(xiàn)有標準(諸如作為用于提供自動交互語音對話的標準的VoiceXML(VXML))開發(fā)語音應(yīng)用。VoiceXML可以按照與在網(wǎng)頁瀏覽器上觀看HTML文檔類似的方式被使用JoiceXML文檔可以由語音瀏覽器解釋。用戶可以經(jīng)由電話系統(tǒng)與語音瀏覽器接觸。然而,語音瀏覽器也可以位于用戶本地。例如,安裝在智能電話或平板電腦上的語音瀏覽器可以用于與用戶交互。
[0003]除了 VoiceXML之外,可以使用業(yè)務(wù)流程建模標注(BPMN)建模語音應(yīng)用。BPMN建立了用于建模業(yè)務(wù)流程和網(wǎng)頁服務(wù)的標準。由于語音應(yīng)用可以是網(wǎng)頁服務(wù)的重要部分,所以BPMN可以特別有助于建模語音應(yīng)用。
[0004]語音應(yīng)用的重要部分是自動語音識別(ASR)。ASR技術(shù)用于將接收到的用戶語音解釋為計算機可理解的指令。由于可能存在許多不同的以口語表達相同指令的方式、對于相同的詞可能存在不同的發(fā)音、以及可能存在許多聽上去非常相似、但彼此不同的詞,ASR技術(shù)在辨別用戶說的話的多個可能的可選含義時會有困難。確認和消歧是在計算機已經(jīng)確定口說的詞可以是多個不同命令中的一個之后,幫助ASR技術(shù)將口說的詞確定為特定命令的方法。
[0005]在確認時,語音應(yīng)用會要求用戶確認實際說出了特定命令。典型的確認問題會聽起來是“我認為你說了 X,正確么? ”確認會非常適合于以下情況:計算機已經(jīng)確定口語最可能是特定命令,但確定度沒有超過預(yù)定閾值和/或可能有其它接近的選項可用。
[0006]在消歧時,計算機會在辨別兩個或更多可能的選項時有困難,并且計算機可以請求用戶在可能的選項之間選擇。消歧可以特別有助于多個選項聽起來相似的情況,因此消歧可以通過例如提示用戶使用更易于解釋的語言回答來要求用戶在相似的發(fā)聲選項之間選擇。例如,在用戶已經(jīng)說出城市名并且計算機不確定該城市名是“奧斯汀”還是“波士頓”的情況下,可以通過問用戶“你是說德克薩斯的奧斯汀還是馬薩諸塞的波士頓? ”來執(zhí)行消歧,從而提示用戶說出州名以及城市名,使得計算機可以準確確定命令。
[0007]在存在大量的潛在命令的情況下,消歧可以用于減小潛在命令的范圍,并通過一系列問題的過程最終獲得特定命令。在此情況下,可以基于預(yù)期答案的范圍仔細確定問題。
[0008]由于預(yù)期答案一般與潛在命令有很大關(guān)系,一般逐個應(yīng)用地編程確認和消歧邏輯。特別地,用于執(zhí)行確認和消歧的邏輯、以及可能的答案一般被直接硬編碼到用于語音應(yīng)用的處理流程中。通過使用該方法,對預(yù)期答案的認識會被更有效地用于執(zhí)行確認和消歧。然而,該方法也通過迫使開發(fā)者重復編程確認和消歧而使編程語音應(yīng)用更加困難。
【發(fā)明內(nèi)容】
[0009]一種用于提供語音應(yīng)用的方法包括:經(jīng)由語音瀏覽器執(zhí)行控制流邏輯,其對與用戶的對話流建模。控制流邏輯產(chǎn)生消歧/確認要求。響應(yīng)于消歧/確認要求而啟動消歧/確認模塊。將劃分標準和一組至少兩個候選從控制流邏輯發(fā)送給消歧/確認模塊。基于劃分標準分析所述一組候選的屬性以確定每個屬性的劃分分數(shù),其指示該屬性辨別至少兩個候選的能力?;趯傩缘膶?yīng)劃分分數(shù)對屬性進行排序。基于排序在首位的屬性詢問用戶,并使用詢問結(jié)果以至少減少所述一組候選。重復分析、排序和詢問的步驟,直到所述一組候選被減少為單個候選為止。將單個候選從消歧/確認模塊返回給控制流邏輯用于繼續(xù)執(zhí)行。
[0010]控制流邏輯可以包括業(yè)務(wù)流程建模(BPM)。
[0011]當所述一組候選中的排在首位的候選的確定度低于第一預(yù)定閾值、或者排在首位的候選和所述一組候選中的另一個候選的確定度之間的差值低于第二預(yù)定閾值時,消歧/確認要求可以由控制流邏輯生成。
[0012]對屬性進行分析和排序的步驟可以包括:收集所述一組候選中的每個候選的屬于每個屬性的標識符,并根據(jù)語言或音素特性對屬性進行排序。
[0013]可以訪問語言或音素數(shù)據(jù)庫以提供語言或音素特性。
[0014]詢問用戶可以包括:參考一個或多個用戶接口文檔基于排序在首位的屬性生成消歧用戶接口,經(jīng)由文本轉(zhuǎn)語音模塊向用戶提供所生成的消歧用戶接口,經(jīng)由自動語音識別模塊獲得用戶響應(yīng),以及基于獲得的用戶響應(yīng)減少所述一組候選。
[0015]劃分分數(shù)可以是值為0.0和1.0之間的系數(shù)。
[0016]一種用于提供語音應(yīng)用的方法包括:經(jīng)由語音瀏覽器執(zhí)行控制流邏輯,其對與用戶的對話流建模,控制流邏輯產(chǎn)生消歧/確認要求。響應(yīng)于消歧/確認要求而啟動消歧/確認模塊。將候選和選擇標準從控制流邏輯發(fā)送給消歧/確認模塊?;谶x擇標準分析候選的屬性以確定每個屬性的確認分數(shù),其指示該屬性確認候選的正確性的能力?;趯傩缘膶?yīng)劃分分數(shù)對屬性進行排序?;谂判蛟谑孜坏膶傩栽儐栍脩?,并使用詢問結(jié)果修改候選的正確性的確定性度量。將候選的正確性的確定性度量返回給控制流邏輯用于繼續(xù)執(zhí)行。
[0017]可以重復分析、排序和詢問的步驟,直到確定性度量高于第一預(yù)定閾值或低于第二預(yù)定閾值為止。
[0018]當候選被修改為低于第二預(yù)定確定性程度時,可以從控制流邏輯接收另外的候選,并且可以對另外的候選執(zhí)行消歧。
[0019]控制流邏輯可以包括業(yè)務(wù)流程建模(BPM)。
[0020]當候選的確定性度量低于預(yù)定閾值時,消歧/確認要求可以由控制流邏輯生成。
[0021]對屬性進行分析和排序的步驟可以包括:收集候選的屬于每個屬性的標識符,并根據(jù)語言或音素特性對屬性進行排序。
[0022]可以訪問語言或音素數(shù)據(jù)庫以提供語言或音素特性。
[0023]詢問用戶可以包括:參考一個或多個用戶接口文檔基于排序在首位的屬性生成確認用戶接口,經(jīng)由文本轉(zhuǎn)語音模塊向用戶提供所生成的確認用戶接口,經(jīng)由自動語音識別模塊獲得用戶響應(yīng),以及基于獲得的用戶響應(yīng)修改確定性度量。
[0024]一種用于提供語音應(yīng)用的方法包括:經(jīng)由語音瀏覽器執(zhí)行控制流邏輯,其對與用戶的對話流建模??刂屏鬟壿嫯a(chǎn)生消歧/確認要求。響應(yīng)于消歧/確認要求而啟動數(shù)據(jù)庫消歧模塊。將劃分標準和一組至少兩個候選從控制流邏輯發(fā)送給數(shù)據(jù)庫消歧模塊。從數(shù)據(jù)庫對所述一組候選中的每個候選檢索一組屬性?;趧澐謽藴史治鏊鲆唤M候選中的每個候選的屬性以確定每個屬性的劃分分數(shù),其指示該屬性辨別至少兩個候選的能力?;趯傩缘膶?yīng)劃分分數(shù)對屬性進行排序?;谂判蛟谑孜坏膶傩栽儐栍脩?,并使用詢問結(jié)果以至少減少所述一組候選。重復分析、排序和詢問的步驟,直到所述一組候選被減少為單個候選為止。將單個候選從數(shù)據(jù)庫消歧模塊返回給控制流邏輯用于繼續(xù)執(zhí)行。
[0025]控制流邏輯可以包括業(yè)務(wù)流程建模(BPM)。
[0026]當所述一組候選中的排在首位的候選的確定度低于第一預(yù)定閾值、或者排在首位的候選和所述一組候選中的另一個候選的確定度之間的差值低于第二預(yù)定閾值時,消歧/確認要求可以由控制流邏輯生成。
[0027]對屬性進行分析和排序的步驟可以包括:收集所述一組候選中的每個候選的屬于每個屬性的標識符,并根據(jù)語言或音素特性對屬性進行排序。
[0028]詢問用戶可以包括:參考一個或多個用戶接口文檔基于排序在首位的屬性生成消歧用戶接口,經(jīng)由文本轉(zhuǎn)語音模塊向用戶提供所生成的消歧用戶接口,經(jīng)由自動語音識別模塊獲得用戶響應(yīng),以及基于獲得的用戶響應(yīng)減少所述一組候選。
【專利附圖】
【附圖說明】
[0029]當結(jié)合附圖考慮時,通過參考以下詳細描述將容易獲得并同時更好地理解本公開更加完整的評價及其許多附隨的方面,其中:
[0030]圖1是示出根據(jù)本發(fā)明示例性實施例的用于在語音應(yīng)用中執(zhí)行自動確認和消歧的架構(gòu)的示意圖;
[0031]圖2是示出根據(jù)本發(fā)明示例性實施例的用于在語音應(yīng)用中執(zhí)行自動確認和消歧的方法的流程圖;
[0032]圖3是示出根據(jù)本發(fā)明示例性實施例的用于在語音應(yīng)用中執(zhí)行自動數(shù)據(jù)庫消歧的方法的流程圖;
[0033]圖4和5提供了示出根據(jù)本發(fā)明示例性實施例的確認/消歧模塊的邏輯的流程圖;并且
[0034]圖6示出能夠?qū)崿F(xiàn)根據(jù)本公開的實施例的方法和裝置的計算機系統(tǒng)的示例。
【具體實施方式】
[0035]在描述附圖所示的本公開的示例性實施例的過程中,出于清楚的目的采用了特定術(shù)語。然而,本發(fā)明并不意在局限于如此選擇的特定術(shù)語,應(yīng)理解的是,每個特定要素均包括以類似方式操作的所有技術(shù)等價物。
[0036]本發(fā)明的示例性實施例可以提供使用通用模塊執(zhí)行語音應(yīng)用中的確認和消歧的系統(tǒng)和方法,所述通用模塊可以替代將確認和消歧硬編碼到控制流邏輯中的方案而被使用。在本文中該通用模塊可以被稱為自動語音識別(ASR)確認/消歧模塊。
[0037]如上面討論的,語音應(yīng)用的現(xiàn)有方法要求基于期待的答案定制編程確認和消歧,以便提供滿意的用戶體驗。相比而言,本發(fā)明的示例性實施例提供可以用于執(zhí)行確認和消歧而不需要定制編程的通用模塊。
[0038]本發(fā)明的示例性實施例可以提供能夠解決確認和消歧問題的ASR確認/消歧模塊。該模塊可以在需要時被激活,并且可以動態(tài)和自動地生成用于與用戶一起執(zhí)行確認和消歧的提示。
[0039]ASR確認/消歧模塊可以被用在建立于業(yè)務(wù)流程建模(BPM)框架上的語音應(yīng)用中。然而,本發(fā)明并不局限于這種應(yīng)用,在出于提供簡化解釋的目的在本文描述BPM的使用時,應(yīng)該理解本文描述的自動確認和消歧模塊的概念可以用在各種各樣的平臺中。
[0040]此外,可以在語音應(yīng)用使用用戶響應(yīng)從外部數(shù)據(jù)庫檢索數(shù)據(jù)時使用本發(fā)明的示例性實施例。如果應(yīng)用期待從數(shù)據(jù)庫挑選出唯一的條目、但用戶僅提供部分信息(例如不足以識別唯一響應(yīng)的信息),則從數(shù)據(jù)庫檢索的數(shù)據(jù)可能是有歧義的。例如,如果用戶在被提示給出城市名時提供的城市名被數(shù)據(jù)庫確定為存在于多個州中,則應(yīng)用需要消歧。因此,本發(fā)明的示例性實施例提供了數(shù)據(jù)庫(DB)消歧模塊,其解決了從自動識別問題并生成適當提示的外部資源檢索的數(shù)據(jù)中的歧義。
[0041]解決這些ASR和數(shù)據(jù)庫消歧問題的兩個模塊都可以被自動化,生成用于用戶的必要提示和語法。這些模塊可以被集成在相關(guān)對話步驟中,并在歧義出現(xiàn)時被自動激活。這些模塊可以被集成在可能僅具有最小定制編碼的語音應(yīng)用中。
[0042]本發(fā)明的示例性實施例可以利用被稱作控制流邏輯(CFL)的服務(wù)器組件,所述控制流邏輯利用解釋用戶語音命令的ASR引擎、以及提供語音提示并通過合成和/或預(yù)先錄制的聲音將其它信息傳遞給用戶的文本轉(zhuǎn)語音(TTS)引擎,來配置對對話流建模的BPM活動和VXML瀏覽器之間的通信。
[0043]控制流邏輯可以包括ASR確認/消歧模塊。該確認/消歧模塊可以接受語音識別的N-最優(yōu)結(jié)果(其中N是2或更大的整數(shù))作為輸入,并決定響應(yīng)是充分足夠還是需要額外確認或消歧。當最優(yōu)識別結(jié)果的置信度低于預(yù)定閾值時,可以自動調(diào)用確認。當除了排在首位的結(jié)果之外還存在其它具有高置信度的識別結(jié)果時,可以自動調(diào)用消歧。
[0044]當要求確認時,ASR確認/消歧模塊可以產(chǎn)生問題,諸如“你的意思真的是X么? ”。在消歧時,模塊可以基于可能的選項生成用于消歧的提示。例如,模塊可以產(chǎn)生問題,諸如“請說表示X的1,表示Y的2,或表示Z的3”。在兩種情況下,附加有特定語法的提示被提供給VXML瀏覽器。負責向用戶讀出提示(例如使用TTS)并轉(zhuǎn)錄可聽響應(yīng)(例如使用ASR)的VXML瀏覽器可以處理向用戶的提問。該過程可以是自動的,并且對于主對話流是隱藏的。因此,如果曾經(jīng)發(fā)生過一些ASR確認或消歧,主對話流可以不必考慮。因此,主對話流可以僅僅確信從CFL接收的最終用戶響應(yīng)是確認的響應(yīng)。因此,如果缺省值不適合,則主對話流中的活動可能僅提供將由模塊使用的置信度。
[0045]數(shù)據(jù)庫(DB)消歧模塊可以存在于架構(gòu)的BPM層面中。當對話流過程使用用戶響應(yīng)詢問外部數(shù)據(jù)存儲裝置時,會發(fā)生歧義。如果用戶響應(yīng)看起來與數(shù)據(jù)庫內(nèi)的多個條目匹配(例如,提供了與數(shù)據(jù)庫內(nèi)的多個不同的城市匹配的城市名),可以調(diào)用該模塊,以基于從詢問返回的數(shù)據(jù)庫條目執(zhí)行消歧。因此,該模塊可以被放置在與外部數(shù)據(jù)存儲裝置的連接之后,其中在所述外部數(shù)據(jù)存儲裝置中可以檢索歧義數(shù)據(jù)。
[0046]當返回的詢問結(jié)果并不唯一時,可以自動調(diào)用消歧。該模塊可以使用所述結(jié)果中的不同數(shù)據(jù)庫條目中的數(shù)據(jù)來檢索用于辨別候選的額外信息。用于消歧的數(shù)據(jù)庫條目可以作為參數(shù)由利用模塊的應(yīng)用的開發(fā)者提供,或者數(shù)據(jù)庫條目可以由數(shù)據(jù)庫消歧模塊基于候選而動態(tài)地生成。在此情況下,模塊選擇最適合消歧的數(shù)據(jù)庫條目,例如,該模塊可以確定最有效辨別候選的數(shù)據(jù)庫條目??梢钥紤]候選之間的語音相似性?;谒x擇的候選,模塊可以使用最適合的數(shù)據(jù)庫條目生成用于消歧的提示。如果候選列表足夠短,則該提示可以枚舉它們中的每一個,并讓用戶通過號碼或其他這樣的方式進行挑選。如果存在許多候選,則模塊可以生成提示,請求用戶提供可以用于就最終結(jié)果做出決定或縮窄可能候選的范圍的信息。例如,所生成的提示可以是:“請指定州”。該提示及其語法可以基于數(shù)據(jù)庫條目名和候選的數(shù)據(jù)生成。生成的提示可以盡可能接近考慮了候選、使用的數(shù)據(jù)庫條目及其數(shù)據(jù)的自然語言。
[0047]圖1是示出根據(jù)本發(fā)明示例性實施例的用于在語音應(yīng)用中執(zhí)行自動確認和消歧的架構(gòu)的示意圖。控制流邏輯(CFL) 11可以被例如開發(fā)者編程為提供語音應(yīng)用的流程樹(flow tree)。該流程樹可以引導語音應(yīng)用從開始到結(jié)束的進展,同時考慮語音應(yīng)用取決于用戶輸入而形成分支的全部各種方式。雖然現(xiàn)有技術(shù)中一些方法的CFL可以基于期待的結(jié)果而被硬編碼為包括確認和消歧,但是根據(jù)本發(fā)明示例性實施例的CFL不包含用于確認和消歧的邏輯。由此,CFL的編程可以被顯著簡化,并且尋常度更低。
[0048]CFLll可以向語音瀏覽器12提供用于引導語音瀏覽器12與用戶交互的指令。語音瀏覽器12可以利用文本轉(zhuǎn)語音(TTS)模塊14提供發(fā)聲提示。然后語音瀏覽器可以經(jīng)由電話15或另一揚聲器和麥克風接口將語音提示提供給用戶。用戶可以經(jīng)由電話15響應(yīng)該語音提示,并且語音瀏覽器可以利用ASR模塊13提供用于聲音輸入的聽寫(dictat1n)。聽寫所得的響應(yīng)可以被提供回給控制流邏輯。然而,當聽寫所得的響應(yīng)的明確度不令人滿意時,可以自動調(diào)用確認/消歧模塊16。此外,當聽寫所得的響應(yīng)被理解為數(shù)據(jù)庫18中的條目、并且聽寫所得的響應(yīng)的明確度不令人滿意時,數(shù)據(jù)庫消歧模塊17可以從數(shù)據(jù)庫18讀取相關(guān)條目,并可以對其執(zhí)行消歧。在任何一種情況下,確認和/或消歧響應(yīng)可以被提供回給 CFLlI。
[0049]圖2是示出根據(jù)本發(fā)明示例性實施例的用于在語音應(yīng)用中執(zhí)行自動確認和消歧的方法的流程圖??梢詧?zhí)行控制流邏輯(步驟S21)??刂屏鬟壿嫷膱?zhí)行可以包括運行語音應(yīng)用的應(yīng)用編程??梢栽诎˙PM框架的應(yīng)用服務(wù)器上執(zhí)行CFL。
[0050]CFL可以在例如需要輸入時要求生成用戶詢問(步驟S22)。文本轉(zhuǎn)語音可以用于使詢問變?yōu)榘l(fā)聲(步驟S23)。然后可以執(zhí)行語音通信(步驟S24)。語音通信可以包括向用戶播放發(fā)聲詢問,并將用戶的可聽響應(yīng)數(shù)字化。然后可以對該數(shù)字化響應(yīng)執(zhí)行ASR(步驟S25)。
[0051]然后,可以確定數(shù)字化響應(yīng)是否足夠明確(步驟S26)。明確的結(jié)果可以是被識別為具有可接受的確定度的單個響應(yīng)的結(jié)果。該可接受的確定度可以作為參數(shù)由CFL提供。如果確定響應(yīng)足夠明確(是,步驟S26),則可以使用該響應(yīng),并且可以繼續(xù)控制流邏輯的執(zhí)行(步驟S21)。如果確定響應(yīng)不足夠明確(否,步驟S26),例如存在多個響應(yīng)候選和/或排在首位的候選的確定度不夠,則可以調(diào)用確認和消歧模塊以產(chǎn)生明確的詢問結(jié)果(步驟S27),其可以是具有足夠確定度的單個識別結(jié)果。此后,可以使用該響應(yīng),并且可以繼續(xù)控制流邏輯的執(zhí)行(步驟S21)。
[0052]在一般的ASR結(jié)果不足夠明確時,上述方法會特別有用。然而,有時CFL期待結(jié)果處于可從數(shù)據(jù)庫檢索的一組期待答案中。例如,用于提供航班狀態(tài)的航線語音應(yīng)用可以向用戶詢問目的地城市,并且期待用戶提供的結(jié)果是該航線服務(wù)的其中一個城市。在此情況下,結(jié)果可以與數(shù)據(jù)庫條目進行比較。圖3是示出根據(jù)本發(fā)明示例性實施例的用于在語音應(yīng)用中執(zhí)行自動數(shù)據(jù)庫消歧的方法的流程圖。
[0053]可以執(zhí)行控制流邏輯(步驟S31)。CFL可以在例如需要輸入時要求生成用戶詢問(步驟S32)。文本轉(zhuǎn)語音可以用于使詢問變?yōu)榘l(fā)聲(步驟S33)。然后可以執(zhí)行語音通信(步驟S34)。語音通信可以包括向用戶播放發(fā)聲詢問,并將用戶的可聽響應(yīng)數(shù)字化。然后可以對該數(shù)字化響應(yīng)執(zhí)行ASR(步驟S35)。
[0054]然后,可以確定是否期待數(shù)字化響應(yīng)與來自數(shù)據(jù)庫的條目匹配(步驟S36)。該確定可以根據(jù)例如CFL提供的參數(shù)做出。在以上示例中,當要求的結(jié)果是航線飛往的城市時,CFL的編程可以指示該結(jié)果將從一組數(shù)據(jù)庫條目中選擇。該指示可以作為參數(shù)由CFL提供。如果不期待響應(yīng)與數(shù)據(jù)庫條目匹配(否,步驟S36),則可以使用該響應(yīng),并且可以繼續(xù)控制流邏輯的執(zhí)行(步驟S31)。然而,如果確定結(jié)果將從一組數(shù)據(jù)庫條目中選擇(是,步驟S36),則可以自動調(diào)用數(shù)據(jù)庫消歧模塊以查閱數(shù)據(jù)庫條目并產(chǎn)生明確的詢問結(jié)果(步驟S37)。此后,可以使用該響應(yīng),并且可以繼續(xù)控制流邏輯的執(zhí)行(步驟S31)。
[0055]如上面討論的,通過自動調(diào)用確認/消歧模塊,本發(fā)明的示例性實施例消除了對于將這些特征硬解碼到CFL中的需要。圖4和5提供了示出根據(jù)本發(fā)明的示例性實施例的確認/消歧模塊的邏輯的流程圖。該過程可以在檢測到消歧請求時開始(步驟S41)。消歧請求可以由語音應(yīng)用CFL自動生成。消歧請求的示例可以包括一組N-最優(yōu)候選,其中N是至少為2的整數(shù)。N-最優(yōu)候選可以具有相似的置信度值,并且由于該原因消歧會是合乎期望的??商鎿Q地,消歧可以由CFL標記啟動,在這種情況下語音應(yīng)用的開發(fā)者預(yù)期將會有些模糊的一組答案。接下來,可以收集關(guān)于候選結(jié)果組的數(shù)據(jù)(步驟S42)。候選結(jié)果組可以是用戶在做出選擇時可能已經(jīng)說過的一組詞或短語。這些詞可以是相似的發(fā)音或者甚至相同的發(fā)音,因此會需要消歧。可以檢查候選的數(shù)據(jù)結(jié)構(gòu)以獲得消歧屬性和/或?qū)傩越M合(步驟S43)。本文使用的屬性是用于例如描述每個數(shù)據(jù)庫條目的數(shù)據(jù)的類別。消歧屬性是可以用于將候選彼此辨別開的數(shù)據(jù)的那些類別。例如,在一組候選是人名、并且每個人具有相關(guān)聯(lián)的數(shù)據(jù)庫條目的情況下,當人的名和姓聽起來至少相似時,消歧可以使用除了名和姓以外的其它屬性(諸如“位置”或“出生日期”)。在候選具有至少略微不同的發(fā)音的情況下,屬性可以是語音的,諸如“名”。然而,屬性也可以與候選的其它特性(諸如關(guān)于其定義的那些特性)相關(guān)。類似地,屬性的組合可以用在特定組合會具有特別重要性的情況中。因此,檢查可以包括確定可以用于消歧的屬性/組合。
[0056]每個屬性/組合可以具有指示該屬性/組合辨別候選的能力的劃分系數(shù)。例如,劃分系數(shù)越大,屬性/組合更擅于辨別更多候選。
[0057]此后,可以通過劃分系數(shù)對屬性/組合進行排序(步驟S44)。劃分系數(shù)可以是表示每個屬性/組合的劃分能力的值。該值可以在0.0(意味著該屬性僅具有有限的辨別能力)到1.0(意味著該屬性能夠有效辨別所有候選)之間歸一化。
[0058]該排序可以包括檢查候選結(jié)果組(步驟S45)。此后,對于排序在首位的屬性,可以收集一組標識符,以供用戶接口使用(步驟S46)。排序在首位的屬性可以是具有最大劃分能力的屬性或?qū)傩越M合。標識符是針對每個屬性與每個候選相關(guān)聯(lián)的那些數(shù)據(jù)點。例如,如果屬性是“名”,則一個候選的標識符可以是“約翰”,而針對同一個屬性的另一個候選的標識符可以是“貝蒂”。對應(yīng)地,在本步驟中,可以對于每個候選收集屬于每個排序在首位的屬性值的實際數(shù)據(jù)。
[0059]然后,可以基于每個屬性的各種標識符的音素和其它分割(separat1n)來分析排在首位的屬性(步驟S51)。本步驟可以用于部分地基于相關(guān)聯(lián)的標識符可以被發(fā)音的程度來確定哪些屬性可以最適合于消歧??梢圆殚喺Z言和/或音素數(shù)據(jù)庫(步驟S52),以提供對排在首位的屬性的各種標識符可以被發(fā)音的方式的洞察。
[0060]此后,可以基于標識符的發(fā)音的區(qū)別度來執(zhí)行屬性的進一步排序(步驟S53)。該區(qū)別度可以被表示為例如標識符不和諧系數(shù)。這也可以是0.0(其中標識符可以被基本相同地發(fā)音)和1.0(其中每個標識符可以具有基本不同的發(fā)音)之間的歸一化值。進一步排序的目的可以是最小化最小對立對(音素分割)的數(shù)量,以及增加完全消歧的幾率。該進一步排序可以參考所分析的劃分屬性(步驟S54)。所分析的劃分屬性可以是步驟S51的分析的結(jié)果。
[0061]此后,可以基于主消歧屬性生成消歧用戶接口,然后用戶可以使用所生成的用戶接口被詢問(步驟S55)。生成消歧用戶接口可以包括:確定參考了排序在首位的屬性的用于向用戶提供詢問的最佳句法。消歧用戶接口可以依賴于諸如標識符的類型和數(shù)量之類的因素。適合的用于生成消歧用戶接口的技術(shù)可以包括枚舉、大列表分割(large listsegmentat1n)、以及其它形式的語法生成。主消歧屬性可以作為消歧標準由CFL選擇。在生成消歧用戶接口時,可以查閱各種用戶接口文檔(步驟S56)??梢愿鶕?jù)什么最適合于被開發(fā)的給定語音應(yīng)用,來選擇這些接口文檔。適合的接口文檔的示例可以包括用于支持主要可視界面的HTML5文檔、用于支持語音瀏覽器的VoiceXML文檔等。
[0062]此后,可以確定消歧是否完成(步驟S57)。消歧的完成可以被定義為除了一個候選以外排除所有候選。如果消歧完成(是,步驟S57),則消歧過程可以結(jié)束,并且最終結(jié)果可以被提供回給CFL。另一方面,如果候選的范圍已經(jīng)被縮窄,但還沒有被縮窄為一個候選(否,步驟S57),則消歧的結(jié)果(其可以是更少的一組候選)可以被用于(步驟S58)進一步消歧(步驟S42)。
[0063]圖6示出可以實現(xiàn)本公開的方法和系統(tǒng)的計算機系統(tǒng)的示例。本公開的系統(tǒng)和方法可以以運行在例如主機、個人計算機(PC)、手持計算機、服務(wù)器等的計算機系統(tǒng)上的軟件應(yīng)用的形式實現(xiàn)。軟件應(yīng)用可以存儲在可由計算機系統(tǒng)在本地訪問、并且可經(jīng)由去往例如局域網(wǎng)或互聯(lián)網(wǎng)的網(wǎng)絡(luò)的硬線或無線連接被訪問的記錄媒質(zhì)上。
[0064]一般地被稱為系統(tǒng)1000的計算機系統(tǒng)可以包括:例如,中央處理單元(CPU) 1001,隨機存取存儲器(RAM) 1004,打印機接口 1010,顯示單元1011,局域網(wǎng)(LAN)數(shù)據(jù)傳輸控制器1005,LAN接口 1006,網(wǎng)絡(luò)控制器1003,內(nèi)部總線1002,以及一個或多個輸入設(shè)備1009(例如鍵盤、鼠標等)。如圖所示,系統(tǒng)1000可以經(jīng)由鏈路1007被連接到數(shù)據(jù)存儲設(shè)備1008(例如硬盤)。
[0065]本文描述的示例性實施例是示例性的,并且可以引入許多變化,而不脫離本公開的精神或所附權(quán)利要求的范圍。例如,在本公開和所附權(quán)利要求的范圍內(nèi),不同示例性實施例的要素和/或特征可以彼此結(jié)合和/或彼此替換。
【權(quán)利要求】
1.一種用于提供語音應(yīng)用的方法,包括: 經(jīng)由語音瀏覽器執(zhí)行對與用戶的對話流建模的控制流邏輯,所述控制流邏輯產(chǎn)生消歧/確認要求; 響應(yīng)于所述消歧/確認要求,啟動消歧/確認模塊; 將一組至少兩個候選和劃分標準從所述控制流邏輯發(fā)送給所述消歧/確認模塊; 基于所述劃分標準分析所述一組候選的屬性以確定每個屬性的劃分分數(shù),其指示該屬性辨別所述至少兩個候選的能力; 基于所述屬性的對應(yīng)劃分分數(shù)對所述屬性進行排序; 基于排序在首位的屬性詢問所述用戶,并使用詢問的結(jié)果以至少減少所述一組候選; 重復分析、排序和詢問的步驟,直到所述一組候選被減少為單個候選為止;以及 將所述單個候選從所述消歧/確認模塊返回給所述控制流邏輯,用于繼續(xù)執(zhí)行。
2.如權(quán)利要求1所述的方法,其中所述控制流邏輯包括業(yè)務(wù)流程建模BPM。
3.如權(quán)利要求1所述的方法,其中當所述一組候選中的排在首位的候選的確定度低于第一預(yù)定閾值、或者所述排在首位的候選和所述一組候選中的另一個候選的確定度之間的差值低于第二預(yù)定閾值時,由所述控制流邏輯生成所述消歧/確認要求。
4.如權(quán)利要求1所述的方法,其中對屬性進行分析和排序的步驟包括:收集所述一組候選中的每個候選的屬于每個屬性的標識符,以及根據(jù)語言或音素特性對所述屬性進行排序。
5.如權(quán)利要求4所述的方法,其中訪問語言或音素數(shù)據(jù)庫以提供所述語言或音素特性。
6.如權(quán)利要求1所述的方法,其中詢問所述用戶包括: 參考一個或多個用戶接口文檔基于所述排序在首位的屬性生成消歧用戶接口; 經(jīng)由文本轉(zhuǎn)語音模塊向所述用戶提供所生成的消歧用戶接口; 經(jīng)由自動語音識別模塊獲得用戶響應(yīng);以及 基于所獲得的用戶響應(yīng)減少所述一組候選。
7.如權(quán)利要求1所述的方法,其中所述劃分分數(shù)是具有0.0和1.0之間的值的系數(shù)。
8.一種用于提供語音應(yīng)用的方法,包括: 經(jīng)由語音瀏覽器執(zhí)行對與用戶的對話流建模的控制流邏輯,所述控制流邏輯產(chǎn)生消歧/確認要求; 響應(yīng)于所述消歧/確認要求,啟動消歧/確認模塊; 將候選和選擇標準從所述控制流邏輯發(fā)送給所述消歧/確認模塊; 基于所述選擇標準分析所述候選的屬性以確定每個屬性的確認分數(shù),其指示該屬性確認所述候選的正確性的能力; 基于所述屬性的對應(yīng)劃分分數(shù)對所述屬性進行排序; 基于排序在首位的屬性詢問所述用戶,并使用詢問的結(jié)果以修改所述候選的正確性的確定性度量;以及 將所述候選的正確性的確定性度量返回給所述控制流邏輯,用于繼續(xù)執(zhí)行。
9.如權(quán)利要求8所述的方法,其中重復分析、排序和詢問的步驟,直到所述確定性度量高于第一預(yù)定閾值或低于第二預(yù)定閾值為止。
10.如權(quán)利要求9所述的方法,其中當所述候選被修改為低于第二預(yù)定確定性程度時,從所述控制流邏輯接收另外的候選,并對所述另外的候選執(zhí)行消歧。
11.如權(quán)利要求8所述的方法,其中所述控制流邏輯包括業(yè)務(wù)流程建模BPM。
12.如權(quán)利要求8所述的方法,其中當所述候選的確定性度量低于預(yù)定閾值時,由所述控制流邏輯生成所述消歧/確認要求。
13.如權(quán)利要求8所述的方法,其中對屬性進行分析和排序的步驟包括:收集所述候選的屬于每個屬性的標識符,以及根據(jù)語言或音素特性對所述屬性進行排序。
14.如權(quán)利要求13所述的方法,其中訪問語言或音素數(shù)據(jù)庫以提供所述語言或音素特性。
15.如權(quán)利要求8所述的方法,其中詢問所述用戶包括: 參考一個或多個用戶接口文檔基于所述排序在首位的屬性生成確認用戶接口; 經(jīng)由文本轉(zhuǎn)語音模塊向所述用戶提供所生成的確認用戶接口; 經(jīng)由自動語音識別模塊獲得用戶響應(yīng);以及 基于所獲得的用戶響應(yīng)修改所述確定性度量。
16.一種用于提供語音應(yīng)用的方法,包括: 經(jīng)由語音瀏覽器執(zhí)行對與用戶的對話流建模的控制流邏輯,所述控制流邏輯產(chǎn)生消歧/確認要求; 響應(yīng)于所述消歧/確認要求,啟動數(shù)據(jù)庫消歧模塊; 將一組至少兩個候選和劃分標準從所述控制流邏輯發(fā)送給所述數(shù)據(jù)庫消歧模塊; 從數(shù)據(jù)庫對所述一組候選中的每個候選檢索一組屬性; 基于所述劃分標準分析所述一組候選中的每個候選的屬性以確定每個屬性的劃分分數(shù),其指示該屬性辨別所述至少兩個候選的能力; 基于所述屬性的對應(yīng)劃分分數(shù)對所述屬性進行排序; 基于排序在首位的屬性詢問所述用戶,并使用詢問的結(jié)果以至少減少所述一組候選; 重復分析、排序和詢問的步驟,直到所述一組候選被減少為單個候選為止;以及 將所述單個候選從所述數(shù)據(jù)庫消歧模塊返回給所述控制流邏輯,用于繼續(xù)執(zhí)行。
17.如權(quán)利要求16所述的方法,其中所述控制流邏輯包括業(yè)務(wù)流程建模BPM。
18.如權(quán)利要求16所述的方法,其中當所述一組候選中的排在首位的候選的確定度低于第一預(yù)定閾值、或者所述排在首位的候選和所述一組候選中的另一個候選的確定度之間的差值低于第二預(yù)定閾值時,由所述控制流邏輯生成所述消歧/確認要求。
19.如權(quán)利要求16所述的方法,其中對屬性進行分析和排序的步驟包括:收集所述一組候選中的每個候選的屬于每個屬性的標識符,以及根據(jù)語言或音素特性對所述屬性進行排序。
20.如權(quán)利要求16所述的方法,其中詢問所述用戶包括: 參考一個或多個用戶接口文檔基于所述排序在首位的屬性生成消歧用戶接口; 經(jīng)由文本轉(zhuǎn)語音模塊向所述用戶提供所生成的消歧用戶接口; 經(jīng)由自動語音識別模塊獲得用戶響應(yīng);以及 基于所獲得的用戶響應(yīng)減少所述一組候選。
21.一種用于提供語音應(yīng)用的系統(tǒng),所述系統(tǒng)包括配置成執(zhí)行權(quán)利要求1至20中任一項所述的方法步驟的裝置。
【文檔編號】G10L15/06GK104299623SQ201410331849
【公開日】2015年1月21日 申請日期:2014年7月14日 優(yōu)先權(quán)日:2013年7月15日
【發(fā)明者】R·P·阿科爾卡爾, J·克萊蒂恩斯特, V·S·莫爾, D·納哈莫, C·F·維夏 申請人:國際商業(yè)機器公司