專利名稱:語音處理系統(tǒng)及方法
在通常的語音處理系統(tǒng)中,例如基于電話的應(yīng)用中提供各種可能的語音輸入和輸出。其輸入可能為從識別單個口述數(shù)字和有限數(shù)目的命令詞直到流利的發(fā)音。其輸出可能為從輸出完整錄制的發(fā)音到由例如存儲的音素純粹合成產(chǎn)生的文字的聲音輸出。
語音處理系統(tǒng)在公共以及專門領(lǐng)域工業(yè)中的應(yīng)用無論是語音輸入還是語音輸出都面對非常不同的需求。這由多種應(yīng)用可能和由此產(chǎn)生的由語音處理系統(tǒng)要解決的語音任務(wù)所決定。
這同樣適用于語音對話系統(tǒng),在語音對話系統(tǒng)中語音處理系統(tǒng)與該語音處理系統(tǒng)的用戶處于任意建立的對話中。
在語音處理系統(tǒng)領(lǐng)域的一個應(yīng)用中例如需要能夠在某一時刻從用戶詢問一個單個的數(shù)字,但在同一對話中的另一時刻由用戶輸入一個日期,而由該語音處理系統(tǒng)處理。
同樣,在對某個位置輸出時一個語音錄制資料足夠,而對需要多種輸出文本的一個應(yīng)用場合的另一個位置,語音合成是適宜的。
另外可能在不同的時刻從操作人員認為需要語音識別的各種功能特征,例如可以隨意中斷系統(tǒng)輸出,但是反之,在另一位置用戶應(yīng)能完整地聽到輸出。
為盡可能有效地應(yīng)用專門的、公知的語音識別和語音輸出算法,以及具有復(fù)雜識別特征和輸出特征的語音對話系統(tǒng),例如為簡單的數(shù)字識別或者為孤立識別一個小數(shù)目的命令詞,迄今為止通常以下述方式建立系統(tǒng),即通過特別選擇技術(shù)方法和專門的軟件技術(shù)措施考慮對語音識別或者對語音輸出的專門需求。
然而這需要極大數(shù)量專家人力的開銷,這種開銷為每一新應(yīng)用情況重新產(chǎn)生。前述方式顯著阻礙有效經(jīng)濟地使用語音處理系統(tǒng)。
在電話領(lǐng)域中存在有對話系統(tǒng),在這些對話系統(tǒng)中需要例如通過所謂的DTMF音調(diào)和簡單列舉數(shù)字或者一些少量預(yù)先給的命令字進行一項選擇。
然而對于新開發(fā)一個具有現(xiàn)有方法和系統(tǒng)的的語音處理系統(tǒng)或者語音對話系統(tǒng)的開銷十分昂貴。中公開了一種改進語音識別的方法,它考慮了各種數(shù)字編碼條件。在此,對于大量使用同樣語音識別算法、然而為接收的信號盡可能優(yōu)化適應(yīng)不同通道編碼方法的語音識別模塊識別每次應(yīng)用的通道編碼方法和選擇各相應(yīng)語音識別模塊。中公開了一種為產(chǎn)生大量電子信號的方法和設(shè)備。在該設(shè)備中大量同樣結(jié)構(gòu)的語音輸出單元彼此組合成整個設(shè)備。
因此,本發(fā)明的任務(wù)在于,給出一種語音處理系統(tǒng)以及一種語音處理方法,通過該系統(tǒng)和方法可以實現(xiàn)最優(yōu)地、根據(jù)內(nèi)容使用語音識別模塊和/或語音輸出模塊,同時減少需要的計算能力。
該任務(wù)通過按照權(quán)利要求1的語音處理系統(tǒng)以及按照權(quán)利要求8的方法解決。
該語音處理系統(tǒng)具有多個語音識別模塊和/或語音輸出模塊,它們各自為一種可預(yù)先給定方式的語音識別或者語音輸出所提供。此外,該語音識別系統(tǒng)還具有一種選擇一個語音識別模塊和/或語音輸出模塊的設(shè)備。通過該設(shè)備,取決于引導(dǎo)到該設(shè)備的一個輸入信號,選擇、激活各語音識別模塊或者語音輸出模塊,并且把相應(yīng)的語音信號或者所需參數(shù)分配給各模塊。然后由各模塊執(zhí)行語音識別或者語音輸出。
在該方法中,分析一個輸入信號,說明需要哪種方式的語音識別或者語音輸出。取決于該輸入信號,至少一個語音識別模塊和/或至少一個語音輸出模塊為每次由說明語音識別或者語音輸出的輸入信號激活。通過每次選擇的或者激活的模塊執(zhí)行各類語音識別或者語音輸出。
無論是語音處理系統(tǒng)還是語音處理方法相對于現(xiàn)有技術(shù)來說都具有許多顯著的優(yōu)點。
語音識別或者語音輸出對計算能力或者處理資源的需求顯著減少,因為依賴于每次需要的應(yīng)用場合使用為該場合優(yōu)化適應(yīng)的語音識別或者語音輸出模塊。
另外,在建立語音對話系統(tǒng)時該語音處理系統(tǒng)對于開發(fā)支持極具優(yōu)點。該種語音處理系統(tǒng)在這一領(lǐng)域特別具有優(yōu)點,因為可以快速簡單地使現(xiàn)有技術(shù)的語音識別方法和語音輸出方法適應(yīng)該應(yīng)用場合各種特定需求。
另外,可以靈活地、適應(yīng)特定對話場合使用其不同功能和特征。另外也可能使語音識別能力和語音輸出能力靈活適應(yīng)在特定對話場合使用的可用資源,例如可用計算機資源。
因此,該語音處理系統(tǒng)說明了一種用于按需計算配置和適應(yīng)語音輸入和語音輸出在各種應(yīng)用場合的重要設(shè)備。
本發(fā)明有利的改進從從屬權(quán)利要求產(chǎn)生。
該語音處理系統(tǒng)的一種改進共同使用規(guī)定的算法,亦即共同使用模塊的規(guī)定部分,以此避免冗余實現(xiàn)實際僅需一次的算法。
另一有利的改進在于,多個語音識別模塊使用公共資源,例如語音識別的公共詞匯。這能顯著節(jié)省資源,例如存儲器需求。
另外的優(yōu)點是提供對話運行控制,通過這種控制能夠?qū)崿F(xiàn)語音處理系統(tǒng)與一個用戶的對話。
本發(fā)明的一個實施例在附圖中表示,下面詳細敘述。
圖1表示具有一些改進的語音處理系統(tǒng);圖2是表示對話運行控制的方框圖,圖3是表示執(zhí)行對話運行控制的一種可能方法的流程圖;圖4是表示本發(fā)明方法的流程圖。
圖1表示語音處理系統(tǒng)。該語音處理系統(tǒng)至少具有一個語音識別模塊E1、E2、Ei、…、En。使用一個位于1到n之間任意數(shù)的下標(biāo)i確定地表示每一語音識別模塊Ei。使用n表示在該語音處理系統(tǒng)中的語音識別模塊數(shù)。
此外該語音識別系統(tǒng)另外或可選至少具有一個語音輸出模塊A1、A2、Aj、…、Am。使用一個位于1到m之間任意數(shù)的第二下標(biāo)j確定地表示每一語音輸出模塊Aj。使用m表示在該語音處理系統(tǒng)中的語音輸出模塊數(shù)。
此外該語音識別系統(tǒng)還具有一個選擇語音識別模塊Ei或者語音輸出模塊Aj的設(shè)備MA。選擇模塊的該設(shè)備MA與單個模塊Ei、Aj連接,使得從設(shè)備MA為選擇模塊Ei、Aj能夠向單個模塊Ei、Aj發(fā)送信號,例如為激活單個模塊Ei、Aj或者為傳輸由單個模塊為執(zhí)行語音識別或者語音輸出所需要的參數(shù)。語音識別模塊Ei語音識別基礎(chǔ)例如在文獻[1]和[2]中說明。
單個語音識別模塊E1,E2,…,En是各自為一種規(guī)定方式的語音識別特定的模塊。
單個語音識別模塊可以例如通過硬件或者通過單個的軟件過程實現(xiàn)。
下面給出關(guān)于前述可在語音處理系統(tǒng)的范圍內(nèi)使用的語音識別模塊Ei的不完全的研究概要。
-單個數(shù)字識別器如果語音識別模塊Ei作為單個數(shù)字識別器模塊建立的話,則其這樣配置,其處理一個單個的、從該語音識別系統(tǒng)的用戶B錄制的表示一個從數(shù)字中選擇的唯一數(shù)字的語音信號這樣的輸入。此時該單個數(shù)字識別器的不同之處在于聲學(xué)模型的模型化。已知這樣的系統(tǒng),其中由不同的講話者存儲一個整詞的聲學(xué)模型,并通過比較方法,例如所謂的動態(tài)編程或者動態(tài)時間交換或者還通過在識別過程中使用神經(jīng)網(wǎng)絡(luò)確定最適合的詞。其它用于單個數(shù)字識別器的已知模塊基于隱式馬爾科夫原理。在單個數(shù)字識別器的原理中多個講話者說出的詞的聲音序列作為具有可變和預(yù)先給定長度的狀態(tài)序列存儲。在識別該詞時,在這種場合為數(shù)字,確定對存儲的詞序列的最短距離。在該原理的各種變體下,在隱式馬爾科夫模型中存儲的由多個講話者的數(shù)據(jù)獲得的單個語音單元序列通常為數(shù)字。為減少所需要的計算能力,可以在一個單個數(shù)字識別器中使一個另外的序列不出現(xiàn)在任何存儲的語音序列中。因此,在該種場合不需任何計算開銷檢測詞界。同時要檢查的詞庫小,因為僅需檢查數(shù)字。
-數(shù)字鏈識別器如果語音識別模塊Ei作為數(shù)字鏈識別器配置的話,則該語音識別模塊通常與連續(xù)語音識別等同。一些在一個數(shù)字詞典中定義的、預(yù)先給定的詞,在該場合為數(shù)字,可以以任意順序相繼由該語音處理系統(tǒng)的用戶B發(fā)出。對于該種場合,需要檢測單個詞之間的界限。這既可以通過一個顯式檢測詞界的方法實現(xiàn),也可以通過詞查找的算法確定詞界。在詞查找時在輸入信號中并行地檢查所有數(shù)字并假定不同結(jié)尾。在每一結(jié)尾處可以在信號中尋找另一個數(shù)字。為此,建立一個查找范圍,它同時接續(xù)各種可能的方案,并按照預(yù)先規(guī)定的準(zhǔn)則排序。在這一意義上可以例如使用動態(tài)編程原理,如在文獻[1]中所說明。一個這樣的準(zhǔn)則可以是該信號的觀察部分對參考模型,即單個存儲的數(shù)字的長度。數(shù)字鏈識別器通常的特色是以特殊方式的模型化連續(xù)識別聲學(xué)參考模型,其中對數(shù)字使用單個數(shù)字的一個專門的發(fā)音方式或者典型長度。通過對講話停頓的模型化或者通過一個決定準(zhǔn)則,例如以信號可見能量,可以以不同的啟迪學(xué)檢測一個這樣的序列的結(jié)尾。
-從有限詞匯表中識別詞如果一個語音識別模塊Ei作為為一個有限詞匯表中的確定頻度命令詞-所謂的核心詞匯-的一個識別器配置的話,則使用相應(yīng)的算法,就像為單個數(shù)字識別器所用,不同之處是其詞匯表擴充相應(yīng)詞匯,或者其詞匯表為單個詞的相應(yīng)存儲表示不同于數(shù)字的表示。一個專門擴展或者使用的詞匯表為該識別器預(yù)先確定,并通常用較大數(shù)目的講話者訓(xùn)練。
-從無限詞匯表中識別一個單個詞為識別流利講述的無限詞匯的語音如此配置語音識別模塊Ei,使得在該語音識別模塊Ei中實現(xiàn)的語音識別算法不認識詞匯表中的詞,而由用戶B事先規(guī)定。語音識別算法通?;谧R別一系列語音單元,所謂的音素或者其它詞子單元,待識別詞匯表的詞可由這些語音單元組成。在語音識別模塊Ei的字典中在一個存儲器中存儲表示各詞的聲音序列。該聲音可以在其模型中以及其它的子單元顯示,例如音素開始、音素中間、音素結(jié)尾、音素轉(zhuǎn)變等。該語音識別方法從所觀察的語音信號中再次查找對參考數(shù)據(jù)具有最短距離的序列。單個詞識別器可以通過算法利用下述情況,即在存儲的語音序列中不出現(xiàn)任何其它序列。
-識別流利講述的具有無限詞匯表的語音如果一個語音識別模塊Ei為識別用戶流利講述的具有無限詞匯的語音而配置建立的話,則該語音識別模塊Ei與識別數(shù)字鏈的語音識別模塊Ei一般在語音單元的模型化的方式不同。如果辭典內(nèi)容,亦即詞匯表無限的話,其也作為一個未完結(jié)的辭典內(nèi)容表示,則聲學(xué)模型大多數(shù)以語音單元即音素或者詞子單元實現(xiàn),由這樣的單元組成待識別詞匯表。同樣,如同在為識別連續(xù)數(shù)字的語音識別模塊Ei一樣,在該語音識別模塊的配置中詞之間的界限通過一種適合的查找確定。這例如通過對語音停頓的模型化或者通過一種決定準(zhǔn)則例如在信號中可見的能量實現(xiàn)。該語音識別模塊可以輸出可能的、或者通過擴展在查找算法中一個可預(yù)先給定數(shù)目的可能的詞序列。在連續(xù)語音識別模塊中的查找通常通過一個為規(guī)定的語音段的典型的或者可能的詞序列的模型支持,該模型即所謂的語言模型。詞序列或者詞表的語法模型或者在所謂的N-Gram分析的意義上的統(tǒng)計模型例如應(yīng)該理解為語言模型。
-識別預(yù)先給定的詞組合為識別預(yù)先給定的詞組合,如此配置語音識別模塊Ei,即使用例如日期參數(shù)、時間參數(shù)、計量參數(shù)、費用參數(shù)作為專門詞匯。在該種語音識別模塊Ei中,通常涉及用于連續(xù)語音的語音識別模塊Ei,但是其辭典內(nèi)容就各領(lǐng)域的預(yù)先給定的詞組合,例如要截取的一段日期參數(shù)或者計量參數(shù)。另外,詞序列查找可以通過一個可能的詞序列的模型支持,如同在連續(xù)語音識別模塊Ei中一樣,此時該模型的特征在于,基本上它特別考慮在該語音子區(qū)域例如日期參數(shù)上所期望的表達方式。
-鍵字詞識別在用于鍵字詞識別的語音識別模塊Ei中可以檢測在一個語音輸入信號中一個或者多個預(yù)先規(guī)定的事先存儲于一個辭典中的詞。配置用于鍵字詞識別的語音識別模塊的各種可能例如在參考文獻[4]中說明。
-鍵字詞組合識別為識別鍵字詞組合使用和鍵字詞識別同樣的原理,不同之處在于,可以檢測在一個任意輸入信號ES中預(yù)先定義的詞鏈。該詞鏈既可以作為參考數(shù)據(jù)顯式存儲,也可以通過其它方法,例如語言模型或者語法說明。
-字母表識別如果語音識別模塊Ei作為一個字母表識別設(shè)備配置的話,則通常字母用特別的聲學(xué)語音模型說明。作為在語音處理系統(tǒng)的存儲器中提供的辭典內(nèi)容在這種場合基本上使用該字母表的字母。一個字母表識別器可以例如作為為孤立的字母表的單個詞識別器或者還作為為流利拼讀的連續(xù)識別器而實現(xiàn)。在連續(xù)字母表識別器中可以通過語言模型或者也通過語法支持實際詞序列的查找。
-聲音序列識別用于聲音序列識別的語音識別模塊Ei的特征在于,聲學(xué)單元在語音單元上模型化,以及待識別的聲音序列不通過一個辭典限制。聲音序列識別器或者音素識別器基于一個語音的聲音的聲學(xué)-語音模型。通過語音目錄在聲學(xué)語音信號中執(zhí)行查找。假定聲音的一個任意鏈。在聲學(xué)分析中使用不同的啟迪學(xué),以避免在一次發(fā)音中假定的聲音、音素過快的變化。另外作為待識別的聲音序列的限制可以在語言模型的意義上顧及一次發(fā)音的語音合法性。
-DTMF識別DTMF識別在電話語音識別的各種領(lǐng)域公知。
作為語音輸出模塊Aj,可以使用各種公知原理來實現(xiàn)各種語音輸出原理-輸出預(yù)先給定的、存儲的錄制語音如果語音輸出模塊Aj為輸出預(yù)先給定的、存儲的錄制語音而配置的話,則由隨便某人說出、錄制、并數(shù)字化存儲的語音發(fā)音通過一個任意的聲學(xué)通道輸出。錄制的發(fā)音在這里可以是為每一特定場合提供的完全要輸出的講話,也可以是其中的段落,它們在運行時重新組成完整的講話。它的一個典型的例子是數(shù)字鏈的建立,其長度和組成在大多數(shù)應(yīng)用場合事先不可知。然而可以根據(jù)各種定音變體的內(nèi)容存在同一講述并在一個軟件程序中選擇相應(yīng)于它的當(dāng)前內(nèi)容。此外可以使用各種方法,這些方法可以以各種形式在單個錄制語音級連跨越處采用對所用錄制語音的一個所謂的聲學(xué)平滑。
-輸出存儲的音素合成的詞為配置輸出存儲的音素合成合成詞的語音輸出模塊的可能實現(xiàn)方法在文獻[5]中說明。
為選擇在一種應(yīng)用場合每次要應(yīng)用的語音識別模塊Ei或者語音輸出模塊Aj的設(shè)備MA如此配置,使其取決于一個屬于設(shè)備MA的輸入信號ES至少激活一個語音識別模塊或者語音輸出模塊,以及只要需要,供給單個語音識別模塊Ei或者語音輸出模塊Aj在以后的語音識別或者語音輸出方法中需要的參數(shù)。相應(yīng)的參數(shù)例如可以是分配給語音識別模塊Ei或者語音輸出模塊Aj資源,或者例如是提供的所用數(shù)字辭典的存儲地址。
在該實施例中將其結(jié)果,亦即從語音輸出模塊Aj輸出的語音信號供給設(shè)備MA,并例如通過該語音處理系統(tǒng)的一個輸出端AS輸出給用戶B。從一個用戶B說出的語音信號通過一個輸入端E,例如通過一個麥克風(fēng),供給設(shè)備MA,并由該設(shè)備MA取決于每次被激活的語音識別模塊Ei供給該被激活的語音識別模塊Ei。
單個模塊Ei、Aj通常使用知識源,例如數(shù)字辭典,存儲在語音處理系統(tǒng)的存儲器中的公共數(shù)據(jù)。知識源還例如包括為每次語音識別任務(wù)特定的聲學(xué)模型,例如具有聲音模型的單個詞識別器或者具有為任意詞的聲學(xué)模型的單個詞識別器。但是知識源也可以是從識別一個對話系統(tǒng)中的一個給定的對話步選擇存在的特定詞庫,或者為規(guī)定的期望的輸入特定的所謂的語音模型。
語音識別模塊使用的詞匯表是任意的,既可以在該語音處理系統(tǒng)建立時也可以在運行時間當(dāng)時通過正字法的-亦即不取決于發(fā)音的-或者發(fā)音的-亦即取決于發(fā)音的-輸入擴展,因此可以適應(yīng)變化的需求。
通過適當(dāng)?shù)膶W(xué)習(xí)方法,知識源在語音處理系統(tǒng)操作期間通過分析運行的輸入數(shù)據(jù)修改而適應(yīng)特別的使用和應(yīng)用場合。
此外,供給語音識別模塊Ei或者語音輸出模塊Aj的參數(shù)可以考慮,以此參數(shù)規(guī)定在語音輸出期間是否可以處理由用戶B說出的語音信號和語音處理系統(tǒng)是否能夠接收。
下面根據(jù)一個非常簡單的對話場合的例子說明配置一個作為語音對話系統(tǒng)的語音處理系統(tǒng)。
下面說明中的一個偽消息流圖每次從一行開始,箭頭左側(cè)表示一個規(guī)定信號的發(fā)送者,箭頭右側(cè)是該信號的接收者,該行的其余部分給出該信號。
在該例中,不失一般性,從一個下面將說明的改進即對話運行控制DA開始。
DA->MA輸出(“在嘀的一聲后說出您的名字”)MA->A1放提示文件(在嘀的一聲后說出您的名字)A1->MA放提示文件結(jié)束MA->DA輸出完成DA->MA識別講話(域=數(shù)字,數(shù)目最大=5)MA->E1開始識別(模塊=單個數(shù)字,辭典=數(shù)字)MA->E2開始識別(模塊=連續(xù)數(shù)字識別,辭典=數(shù)字)E1->MA識別輸出(模塊=單個數(shù)字,結(jié)果=0)E2->MA識別輸出(模塊=連續(xù)數(shù)字,識別的數(shù)字序列1 2 3 4 5)MA->DA輸入數(shù)字序列(1 2 3 4 5)DA->MA輸出(“您的號碼是1 2 3 4 5”)DA->A1放提示文件(“您的號碼是1 2 3 4 5”)DA->A2合成(數(shù)字序列1 2 3 4 5)A1->MA放提示文件結(jié)束
A2->MA合成結(jié)束MA->DA輸出完成DA->MA輸出(“您想說操作還是用戶服務(wù)?”)MA->A1放提示文件(您想說操作還是用戶服務(wù))A1->MA提示文件不適用MA->A2合成(您想說操作還是用戶服務(wù)?)A2->MA合成完成MA->DA輸出完成DA->DM識別語音(域=操作或者用戶服務(wù))MA->E3開始識別(模塊=連續(xù),辭典=核心詞匯表)DM->E4開始識別(模塊=鍵字詞識別,辭典=操作和用戶服務(wù))E3->MA識別器輸出(模塊=連續(xù),結(jié)果=“請?zhí)峁┎僮鳌?E4->MA識別器輸出(模塊=鍵字詞識別,結(jié)果=“操作”)MA->DA輸入字符序列(操作)DA->MMA輸出(“請輸入您的生日”)MA->A1放提示文件(請輸入您的生日)DA->MA識別講話(域=日期)DM->E5開始識別(模塊=連續(xù),辭典=日期參數(shù))E5->MA識別輸出(模塊=連續(xù),結(jié)果1=“于1950.1.1”,結(jié)果2=“于1950.11.1”)MA->DA輸入字符序列(于1950.1.1)DA->MA輸出(“您于1950.1.1出生”)MA->A3分級(concat)輸出(您于1950.1.1出生)A3->MA分級放提示文件完成MA->DA輸出完成DA->MA識別講話(域=是/否-提問)MA->E6開始識別(模塊=單個詞,辭典=是,否)
在這一個簡單的例子中,語音識別模塊Ei具有下述簡單語音識別特征語音識別模塊E1作為單個數(shù)字識別器配置,E2作為識別連續(xù)數(shù)字亦即數(shù)字鏈的模塊配置。語音識別模塊E3作為識別流利講述的具有有限詞匯表,即核心詞匯表辭典,的語音識別模塊配置。語音識別模塊E4作為具有“操作和用戶服務(wù)”辭典的鍵字詞識別器配置,語音識別模塊E5作為識別預(yù)定詞組合的語音識別模塊配置,在該特定場合是識別一個日期表述。
所用語音輸出模塊Aj在該簡單例子中是作為輸出預(yù)先給定的存儲的錄制語音的模塊(A1),由示例音素合成語音的模塊(A2)以及輸出組成的單個預(yù)先給定的存儲的錄制語音的模塊(A3)配置的。
如從該簡單例子中看出,每一次從語音識別模塊Ei供給設(shè)備MA語音識別結(jié)果或從語音輸出模塊Aj供給設(shè)備MA要輸出的語音信號。
另一方面,從設(shè)備MA給單個模塊Ei、Aj每次供給識別所需要的信息,例如在語音處理系統(tǒng)中錄制的語音信號。
用于語音處理的語音處理系統(tǒng)和方法的另一改進在于,語音信號還由多個語音識別模塊Ei或者語音輸出模塊Aj同時處理,以及每次使用涉及任意相似度計量一個最佳結(jié)果,或者只使用一個比較結(jié)果以提高識別可靠性。對話運行控制使用對話運行控制DA根據(jù)應(yīng)用場合執(zhí)行與語音處理系統(tǒng)的用戶B預(yù)先給定的對話,并根據(jù)各對話場合供給設(shè)備MA控制信息,例如還需要的信息。此外,在該改進中例如在該設(shè)備中為對話運行控制分析語音識別模塊的結(jié)果,其例如可以以下述方式實現(xiàn)對話運行控制DA至少具有下述部件,它們例如通過一個總線BU(參見圖2)彼此連接-輸入設(shè)備EM,-輸入存儲器ESP,-行動確定單元AE,-參數(shù)分析器PP。
下面結(jié)合用于與用戶B對話的運行控制的方法詳細說明對話運行控制DA的單個部件的工作方式。
行動確定單元AE一方面用于確定一種行動方式,另一方面用于確定至少一個可預(yù)先給定由行動提示提示的行動。該行動從任意數(shù)目的可預(yù)先給定行動中確定。確定要查找的、由行動提示提示的行動的方法已為專業(yè)人員熟知。然而結(jié)合本方法詳細解釋一些以實例說明的實現(xiàn)可能。
參數(shù)分析器PP用于從在輸入存儲器ESP中存儲的數(shù)字行動信息中確定每次明確分配給每一行動的行動參數(shù)。
圖2表示對用于行動確定的對話運行控制DA進行一些改進的對話運行控制DA。
在一種配置中提供的信息數(shù)據(jù)庫ID包含各特定應(yīng)用要查找的信息,它們根據(jù)規(guī)定的行動并隨之為該行動確定的行動參數(shù)而確定。
一種改進提供一個行動說明單元AKE,用以確定從用戶輸入的另外的行動提示。該行動說明單元AKE當(dāng)能從各種行動中確定查找的行動時首先在應(yīng)用領(lǐng)域獲得提升的重要性。如果由對話運行控制DA的用戶B提供的行動提示不足以確定行動,則使用該行動說明單元AKE確定用戶B輸入的另外的行動方式?,F(xiàn)在結(jié)合本方法詳細說明行動說明單元AKE的配置。然而不需要行動說明單元AKE準(zhǔn)確確定一個行動。同樣提供以某一任意方式減少預(yù)先給定的行動數(shù)目,以便只需繼續(xù)處理較少數(shù)目的行動。
一種改進是提供參數(shù)說明單元PKE用以確定用戶輸入的另外的行動參數(shù)。當(dāng)對至少一個已確定的行動并非所有屬于各行動的行動參數(shù)能夠確定時,使用參數(shù)說明單元PKE。對該種情況,使用參數(shù)說明單元PKE確定用戶B輸入的錯誤行動參數(shù)是有利的。
此外,對話運行控制DA的一個改進是提供一個第一行動存儲器AS1和/或一個第二行動存儲器AS2,其十分有利。在第一行動存儲器AS1中那些存儲行動及其行動參數(shù),其至少一個行動提示至少與一部分鍵字概念完全一致(關(guān)于鍵字概念的意義后面說明),在第二行動存儲器AS2中存儲那些行動及其行動參數(shù),其至少一個行動提示至少與一個鍵字概念一致。
此外一種改進是提供一個對用戶B產(chǎn)生問題(提示)以確定另外的行動提示和/或另外的行動參數(shù)的設(shè)備GF。產(chǎn)生問題的該設(shè)備GF的結(jié)構(gòu)例如在文獻[3]中公開。
此外該對話運行控制DA的一種改進提供,在使用已經(jīng)確定的信息下使用一個控制后臺應(yīng)用HA的控制單元STE。控制單元STE的結(jié)構(gòu)完全是應(yīng)用特定的,并僅為使用已確定的行動來控制該后臺應(yīng)用HA。下面詳細說明各種應(yīng)用可能,從而控制單元STE的各種配置。
此外一種改進是提供一個鍵字概念編輯器SE,使用該鍵字概念編輯器一方面可以改變、刪除和插入在下面將要說明的鍵字概念、另一方面可以改變、刪除和插入新的行動和/或行動參數(shù)。
本方法的單個運行步驟在圖3說明。
在第一步驟301由對話運行控制DA的用戶B給出行動信息,其至少具有一個行動提示。本方法不必必需與上述應(yīng)用一起執(zhí)行,本方法同樣可以借助一個計算機執(zhí)行。
行動信息從用戶B交給對話運行控制DA或者語音處理系統(tǒng)。該行動信息被數(shù)字化并作為數(shù)字化行動信息存儲(步驟302)。數(shù)字化行動信息可以例如以一種音素表示或者表示字符(例如ASCII碼)的一種普通編碼存儲。
在下一步驟303,從存儲的行動信息通過使用參數(shù)分析器PP至少確定一個行動提示。參數(shù)分析器PP的結(jié)構(gòu)在文獻[4]中公開。
通過使用行動提示和行動確定單元AE,至少在步驟304確定一個行動。
可以采用各種方式實現(xiàn)至少一個行動的確定。一個非常簡單但是在某些場合僅可應(yīng)用的方法,是給每一個行動分配一個可預(yù)先規(guī)定數(shù)目的表征各行動的鍵字概念,以及從行動信息由參數(shù)分析器PP確定的行動提示與該鍵字概念比較。這一比較可以通過一個直接的詞比較實現(xiàn),或者也可以通過任何模型比較實現(xiàn)。模型比較的算法每一專業(yè)人員都很熟悉。
如果在步驟304確定了至少一個行動,則對所有行動通過參數(shù)分析器PP從數(shù)字化行動信息確定明確分配給該行動的行動參數(shù)(步驟305)。根據(jù)確定的行動以及所屬行動參數(shù)現(xiàn)在在最后一個步驟306執(zhí)行該行動。
在本方法的一種改進是從信息數(shù)據(jù)庫ID確定行動信息,并通過輸出單元AUS顯示給用戶。
如果在數(shù)字行動信息中包含的行動提示不足以確定至少一個行動的話(步驟401),則一種改進提供,例如通過與用戶B的一次對話確定另外的行動提示(步驟402)。
這一點通過使用說明單元AKE實現(xiàn),其優(yōu)選如此配置,對于預(yù)先給定的行動每次至少分配一個明確的確定提示。該確定提示例如是分配給各行動和固定存儲的問題。該確定提示在不足以確定行動時顯示給用戶B。用戶B對這一確定提示亦即相應(yīng)的問題給出回答,該回答然后再次被處理,由此確定另外的行動提示。該對話一直執(zhí)行、循環(huán),直到確定的行動提示和另外的行動提示足夠識別可預(yù)先給定數(shù)目的行動為止。
如果確定了至少一個行動,則對每一行動確定各行動所屬的行動參數(shù),步驟305。
然而,如果并非所有必需的行動參數(shù)完全能從在輸入存儲器ESP確定的數(shù)字行動信息獲得或確定的話,其在另外的運行步驟403中驗證,則其余的行動參數(shù)例如由參數(shù)說明單元PKE確定。
這同樣例如通過與用戶B的對話實現(xiàn)。對于這一對話,再次使用分配給單個參數(shù)的提示,下面稱為參數(shù)-提示,它在必需確定行動參數(shù)時輸出給用戶B,用戶B回答相應(yīng)問題。
然而,無論是確定另外的行動參數(shù)(步驟402),還是確定其余的行動參數(shù)(步驟404),都可以以其它方式實現(xiàn)。
例如不一定必需給單個行動或者參數(shù)分配預(yù)先固定給定的確定-提示或者參數(shù)-提示,這樣雖然在執(zhí)行本方法和在適應(yīng)各應(yīng)用時簡單以及行動和參數(shù)的擴展也非常簡單,然而總是只向用戶B提出預(yù)先固定給出的問題。
本方法和對話運行控制DA的一種改進提供,使用產(chǎn)生向用戶B提出問題的設(shè)備GF。實現(xiàn)這一設(shè)備GF的一種可能例如在文獻[3]中說明。
本方法的一種改進提供,為確定某行動在行動確定單元AE中執(zhí)行下述步驟。在行動確定單元AE中對于每一行動執(zhí)行鍵字概念與行動提示的比較。
首先確定第一數(shù)量的行動,這些行動的所有行動提示至少與一部分鍵字概念一致。這一優(yōu)選方式明顯說明確定所有行動中通過行動提示提示的的一部分。第一數(shù)量的行動例如存儲在第一行動存儲器AS1中。
此外建立第二數(shù)量的行動,這些行動中至少一部分行動提示與鍵字概念一致。這一優(yōu)選方式明顯意味著建立對其可以提示的所有行動的統(tǒng)一數(shù)量。第二數(shù)量的行動例如存儲在第二行動存儲器AS2中。
如果第一數(shù)量只包含一個單元,則要確定的行動被明確標(biāo)定。對于這種情況不需要任何另外的說明對話。然而如果第一數(shù)量包含多于要確定的行動的數(shù)目的話,則該行動不能通過初始用戶輸入足夠準(zhǔn)確說明。在這種情況,執(zhí)行前面敘述的說明對話是有利的。
如果第一數(shù)量為空,則初始用戶表述包含對對立行動的提示。在這種情況下,由在第二數(shù)量中包含的行動控制說明對話是有利的。
如果無論是第一數(shù)量還是第二數(shù)量均為空,則例如執(zhí)行為決定所有在該應(yīng)用中已知行動的一個說明對話。
因此,第一數(shù)量和第二數(shù)量在這一改進中用作為與用戶B對話以確定至少一個行動的基礎(chǔ)。
被確定的行動可以在本方法的一種改進中有利地用于控制至少一個后臺應(yīng)用HA。
后臺應(yīng)用HA可理解為本方法的各種應(yīng)用可能和對話運行控制,其在后面說明。
本方法以及對話運行控制DA可以例如在下述領(lǐng)域有利地使用-電話服務(wù),-遠程銷售和/或遠程銀行系統(tǒng),-所謂的聲音郵件處理系統(tǒng),-用于控制任何機器,例如機床或者機械手,-用于控制計算機,-遠程通信系統(tǒng)的一個小交換機的消息系統(tǒng)。
此外,本方法的一種改進有利的一點是,對在輸入存儲器ESP中存儲的數(shù)字行動信息的分析由參數(shù)分析器PP關(guān)于行動信息的輸入以相反的順序確定。
這意味著,行動信息的分析在行動信息末尾開始,并繼續(xù)到該行動信息的開始。通過這一優(yōu)選方式,用戶B可以以一句糾正行動信息,這還將在下面詳細解釋。
為簡單地理解對話運行控制DA,下面介紹旅游領(lǐng)域的一個非常簡單的例子。在該應(yīng)用領(lǐng)域中例如可以定義下面的行動-詢問火車信息;-詢問飛機信息;-詢問輪船信息;
-詢問飯店房間;-飯館信息。
單個行動例如可以通過下述參數(shù)表示-火車問訊〈始發(fā)地〉,〈到達地〉,〈日期〉,〈時間〉-飛機問訊〈始發(fā)地〉,〈到達地〉,〈日期〉,〈時間〉-輪船問訊〈始發(fā)地〉,〈到達地〉,〈日期〉,〈時間〉-飯店問訊〈地點〉,〈房間〉,〈種類〉,〈人數(shù)〉,〈入住日期〉,〈結(jié)算日期〉-飯館問訊〈地點〉,〈風(fēng)格〉,〈類別〉下面以偽碼方式分列單個行動。這里在各2.1項下給該行動明確分配一個號碼,在2.2項下分配各確定-提示,在2.3項下分配單個參數(shù)說明,其各自取決于在該種場合為預(yù)先給定的參數(shù)-提示定義的語法以一種方式表示,在各3.1項下和3.3項下給出各行動參數(shù)的各語法,在3.2項下標(biāo)識各參數(shù)-提示。
行動(火車問訊)(2.1號碼=12.2確定-提示=“您想問火車的信息嗎?”2.3參數(shù)說明={參數(shù){3.1g_出發(fā)(X)3.2“請說出您的始發(fā)地?!?.3g_地點(X)}參數(shù){3.1g_到達(Y)3.2“請說出您的到達地?!?.3g_地點(Y)}參數(shù){3.1g_日期(Z)3.2“您想哪天出發(fā)?”3.3g_日期(Z)
}參數(shù){3.1g_時間(W)3.2“您想幾點出發(fā)?”3.3g_時間(W)}}2.4行動提示={從,到,出發(fā),火車問訊,鐵路,鐵路問訊}2.5確認-提示=“您得到火車在Z日W點從X到Y(jié)的問訊的回答?!眪行動(飛行問訊)(2.1號碼=22.2確定-提示=“您想問飛行的信息嗎?”2.3參數(shù)說明={參數(shù){3.1g_出發(fā)(X)3.2“請說出您的始發(fā)地?!?.3g_地點(X)}參數(shù){3.1g_到達(Y)3.2“請說出您的到達地?!?.3g_地點(Y)}參數(shù){3.1g_日期(Z)3.2“您想哪天出發(fā)?”3.3g_日期(Z)}參數(shù){3.1g_時間(W)
3.2“您想幾點出發(fā)?”3.3g_時間(W)}}2.4行動提示={從,到,出發(fā),飛行,飛行問訊,飛機}2.5確認-提示=“您得到在Z日W點從X到Y(jié)的飛機問訊的回答?!眪行動(輪船問訊)(2.1號碼=32.2確定-提示=“您想問輪船的信息嗎?”2.3參數(shù)說明={參數(shù){3.1g_出發(fā)(X)3.2“請說出您的始發(fā)地?!?.3g_地點(X)}參數(shù){3.1g_到達(Y)3.2“請說出您的到達地?!?.3g_地點(Y)}參數(shù){3.1g_日期(Z)3.2“您想哪天出發(fā)?”3.3g_日期(Z)}參數(shù){3.1g_時間(W)3.2“您想幾點出發(fā)?”3.3g_時間(W)}
}2.4行動提示={從,到,出發(fā),輪船問訊,輪船}2.5確認-提示=“您得到在Z日W點從X到Y(jié)的輪船信息的問訊的回答?!眪行動(飯店問訊)(2.1號碼=42.2確定-提示=“您想問飯店的信息嗎?”2.3參數(shù)說明={參數(shù){3.1g_地點項(X)3.2“您想在何地找飯店?”3.3g_地點項(X)}參數(shù){3.1g_房間種類(Y)3.2“您要單人間還是雙人間?”3.3g_房間種類(Y)}參數(shù){3.1g_人數(shù)(Z)3.2“您一共幾個人?”3.3g_人數(shù)(Z)}參數(shù){3.1g_從哪日開始(W)3.2“您想哪天入?。俊?.3g_日期(W)}參數(shù){3.1g_到哪日結(jié)束(V)3.2“您想哪天離開?”
3.3:g_日期(V)}}2.4行動提示={飯店,住處,單人間,雙人間,房間}2.5確認-提示=“您得到從W日到V日Z人在X的飯店Y房間可用的問訊?!眪行動(飯館問訊)(2.1號碼=52.2確定-提示=“您想問飯館的信息嗎?”2.3參數(shù)說明={參數(shù){3.1g_地點項(X)3.2“您想在哪兒吃飯?”3.3g_地點(X)}參數(shù){3.1g_風(fēng)格(Y)3.2“您要哪種風(fēng)格?”3.3g_風(fēng)格(Y)}參數(shù){3.1g_類別(Z)3.2“您要哪種類別?”3.3g_類別(Z)}}2.4行動提示={飯館,吃飯}2.5確認-提示=“您得到X地Y風(fēng)格飯館Z類別的問訊的回答?!眪下表舉例列出為由在花括號中相應(yīng)號碼明確標(biāo)識的單個行動的鍵字概念。
從 {1,2,3}到 {1,2,3}出發(fā) {1,2,3}火車問訊 {1}鐵路 {1}飛行 {2}飛行問訊 {2}飛機 {2}輪船問訊 {3}輪船 {3}飯店 {4}住處 {5}單人房間 {4}雙人房間 {4}飯館 {5}飯 {5}下面表示用戶B與對話運行控制DA一個對話的例子。
用戶B準(zhǔn)確完整說出他的愿望。
用戶B輸入下列信息“我想于1996年1月1日5點乘火車從幕尼黑到漢堡?!钡谝恍袆哟鎯ζ鰽S1通過使用上述鍵字概念和語法包含有第一數(shù)量行動{1}。第二行動存儲器AS2包含有第二數(shù)量行動{1,2,3}。
因為第一行動存儲器AS1只有一個單元,則直接由對話運行控制DA從信息數(shù)據(jù)庫ID確定所查找的信息,并例如通過下述回答顯示給用戶B“您得到于1996年1月1日5點乘飛機從幕尼黑到漢堡的問訊回答1.飛機,2.飛機,3.飛機等?!痹诹硪粋€例子中用戶B既不說時間也不說交通工具行動信息例如如下“我想于1996年1月1日從幕尼黑到漢堡?!痹谶@種情況下第一行動存儲器AS1包含第一數(shù)量行動{1,2,3}。第二數(shù)量存儲器AS2包含第二數(shù)量行動{1,2,3}。在對話運行控制DA中啟動一個說明對話,在行動{1,2,3}之間決定。
為此,例如上述確定-提示“您想問火車信息嗎?”顯示給用戶B。
用戶B例如回答“不”。
在這種情況下從對話運行控制DA例如輸出下述確定提示“您想問飛行信息?”如果用戶B回答“是”,則執(zhí)行另外的說明對話以確定為飛行詢問其余尚缺的行動參數(shù)。這里例如為確定行動參數(shù)“時間”給用戶B輸出“您想幾點起飛?”用戶B例如回答“5點”。
現(xiàn)在對話運行控制DA具有足夠信息來確定所查找的行動。其結(jié)果例如以下述方式顯示給用戶B“您得到于1996年1月1日5點乘飛機從幕尼黑到漢堡問訊的回答”。
關(guān)于對話運行控制DA一個可能配置的其它細節(jié)在德國專利申請,申請?zhí)枮?9615693.9中說明。
圖4以流程圖表示本方法的運行步驟。輸入信號ES被分析,這里用輸入信號ES說明在后繼方法中需要何種語音識別和/或何種語音輸出,步驟401。
此外,取決于輸入信號ES至少激活一個語音識別模塊Ei和/或一個語音輸出模塊Aj,步驟402。
在最后步驟403,在至少一個語音識別模塊和/或語音輸出模塊中執(zhí)行各自的語音識別或者語音輸出。
此外,一種改進提供,在單獨的預(yù)處理模塊VV中執(zhí)行在各種語音識別方法中同時共同使用的公共預(yù)處理步驟或者還有算法的公共部分。
在公共預(yù)處理中例如在至少一個預(yù)處理模塊VV中例如可以實現(xiàn)一個聲學(xué)預(yù)處理或者語音信號檢查部分的一個所謂的間隔計算。
此外,一種改進共同使用資源,例如以由多個語音識別模塊Ei公共使用辭典的方式,這是十分有利的。例如下述方式是可能的,由于為識別流利講述的語音的辭典通常包含詞“是”和“不”,由此就概念“是”和“不”執(zhí)行語音識別的一個鍵字詞-識別器在該種情況下可以訪問同一辭典。
同樣,無論在方法中還是在語音處理系統(tǒng)中使用一個后處理模塊作為一種配置提供在后處理時共同使用資源的可能。
無論是語音處理系統(tǒng)還是語音處理方法都可以既在語音識別和語音輸出以及執(zhí)行與用戶B的對話中也能在建立語音對話系統(tǒng)中有利地使用,因為可以根據(jù)特定應(yīng)用非常簡單地組合語音識別模塊和/或語音輸出模塊。
在本文獻中引用下述出版物[1]G.Ruske,自動語音識別,Oldenbourg出版社,第一版,ISBN3-486-20877-2,幕尼黑,106-171頁,1988[2]A.Zell,模擬神經(jīng)網(wǎng)絡(luò),Edison Wesley,第一版,ISBN 3-89319-554-8,137-143頁,1994[3]Caspari,R.,1993,從平語義結(jié)構(gòu)從下向上生成,語音處理的說明和過程方面會議錄,德國語音處理協(xié)會,計算機語言學(xué)部,第四次專業(yè)會議,1-6頁[4]Naumann,Sven和Hagen Langer,1994分析,斯圖加特,Teubner,第一版,ISBN 3-519-02139-0,155-166頁[5]DE 44 12309 A1[6]GB 2 119 208 A
權(quán)利要求
1.語音處理系統(tǒng),-具有多個語音識別模塊(Ei,i=1..n)和/或語音輸出模塊(Aj,j=1..m),它們各自用于一種語音識別和/或一種語音輸出的預(yù)先給定方式,-具有一個設(shè)備(MA),用于根據(jù)一個說明以后需要何種語音識別和/或語音輸出的輸入信號(ES)為一個以后要執(zhí)行的語音識別和/或語音輸出選擇至少一個語音識別模塊(Ei)和/或語音輸出模塊(Aj)。
2.根據(jù)權(quán)利要求1的語音處理系統(tǒng),其中如此配置選擇語音識別模塊(Ei)和/或語音輸出模塊(Aj)的設(shè)備(MA),語音識別模塊(Ei)和/或語音輸出模塊(Aj)由該設(shè)備(MA)控制。
3.根據(jù)權(quán)利要求1或2的語音處理系統(tǒng),其中共同使用的部分語音識別模塊(Ei)和/或語音輸出模塊(Aj)在至少一個預(yù)處理模塊(VV)和/或在至少一個后處理模塊中實現(xiàn)。
4.根據(jù)權(quán)利要求3的語音處理系統(tǒng),其中多個語音識別模塊(Ei)和/或語音輸出模塊(Aj)使用共同的資源。
5.根據(jù)權(quán)利要求1到4之一的語音處理系統(tǒng),其中提供一個對話運行控制(DA),用它實現(xiàn)語音處理系統(tǒng)與該語音處理系統(tǒng)的一個用戶(B)的對話。
6.根據(jù)權(quán)利要求1到5之一的語音處理系統(tǒng),其中由對話運行控制(DA)產(chǎn)生輸入信號(ES)。
7.根據(jù)權(quán)利要求1到6之一的語音處理系統(tǒng),-其中語音識別模塊(Ei)至少為執(zhí)行下述語音識別方式之一而配置--單個數(shù)字識別,--數(shù)字鏈識別,--從有限詞匯表識別詞,--用無限詞匯表識別一個單個詞,--使用一個無限詞匯表識別流利講述的語音,--識別預(yù)先給定的詞組合,--鍵字詞識別,--字母表識別,--聲音序列識別,--講話者識別,--DTMF識別,和/或-其中語音輸出模塊(Aj)至少為執(zhí)行下述語音輸出方式之一配置--輸出預(yù)先給的、存儲的錄制語音,--輸出組成的單個預(yù)先給定的、存儲的錄制語音,--輸出由存儲的音素合成的詞,--輸出DTMF音調(diào)。
8.語音處理方法,其中-分析一個輸入信號(ES)(401),其說明后面需要何種方式的語音識別和/或語音輸出,-取決于該輸入信號(ES),激活各自為一種預(yù)先給定方式的語音識別和/或語音輸出的至少一個語音識別模塊(Ei)和/或至少一個語音輸出模塊(Aj)(402),-用所選擇的語音識別模塊和/或語音輸出模塊執(zhí)行各自方式的語音識別和/或語音輸出(403)。
9.根據(jù)權(quán)利要求8的方法,其中在語音識別前執(zhí)行對于待識別語音信號的一個預(yù)處理(VV)。
10.根據(jù)權(quán)利要求8或者9的方法,其中在語音識別后執(zhí)行對已識別語音信號的一個后處理。
全文摘要
一個語音處理系統(tǒng)具有任意數(shù)目的語音識別模塊(Ei,i=1..n)和語音輸出模塊(Aj,j=1..m)。各自為一種規(guī)定方式的語音識別或者語音輸出提供的模塊按照應(yīng)用場合取決于一個輸入信號(ES)由一個選擇設(shè)備(MA)選擇該模塊,并激活和配置參數(shù),以便相應(yīng)于對語音識別或者語音輸出的配置使用所選擇的模塊。
文檔編號G10L13/04GK1228866SQ97197631
公開日1999年9月15日 申請日期1997年9月2日 優(yōu)先權(quán)日1996年9月3日
發(fā)明者G·尼德爾邁爾, P·卡爾斯滕, S·哈倫格爾, F·穆爾 申請人:西門子公司