專利名稱:多種語音工作模式的統一識別方法
技術領域:
本發明屬于語音識別領域。提出一種采用大詞匯量連續語音識別作為統一內核引擎,把多種語音識別工作模式轉化到該引擎的一個結構以及實現方法。這些語音工作模式覆蓋了當前語音識別應用所需的的各種模式,如命令工作模式、多關鍵詞檢測工作模式、有限句型識別工作模式、孤立詞聽寫工作模式以及連續語音聽寫工作模式。在對各種工作模式的差別以及共同點進行分析歸納的基礎上,本發明把其它各種工作模式從語音識別算法上通過構造專用詞典、進行數據轉化以及通道開關切換等手段映射到大詞匯量連續語音識別內核上來,并分別加入相應的處理算法以對識別結果進行可靠度的衡量。
語音識別的現狀是由于現有各種計算機硬軟件技術以及語音識別本身技術的局限性,它還無法處理象人類那樣隨意的自然語言和任何語音,只是在有限的條件下,取得進展。因而該技術的發展除了需要對本身的一些基礎問題進行進一步探索外,如何結合針對實際需求條件下,約束計算機所需要識別的詞表和說話的難度是非常重要的一個問題。基于上述背景,目前的語音識別器可以有很多的分類方法,其中一種分類方法可以從語音識別的識別模式進行分類,如圖8所示。在圖8中從不同角度看有很多分類方法,但對于識別器來說,工作模式的分類決定著識別器語法的不同,進而影響相應的實現框架。概括起來,最大的區別在于
1)各種工作模式所需要的語法約束圖是不一樣的,有些有回路,有些沒有回路;同時所需要的語言模型是不一樣的,有些需要,有些并不需要。
2)對于命令表識別、關鍵詞檢測需要獨立建立集外詞模型,從而排除集外詞的語音。
絕大多數情況是某個技術只解決某個工作模式的語音識別問題,其系統設計不能擴散到其他的工作模式上,所以一般一類應用確定一個工作模式,然后針對這個工作模式進行軟件開發,這大大限制了該類技術的使用場合以及把該項技術從一個領域轉向另一個應用領域的時間,也提高了軟件的開發成本。
本發明的目的在于提出一種采用大詞匯量連續語音識別作為統一內核引擎,把多種語音識別工作模式轉化到該引擎的一個結構以及實現方法。這些語音工作模式覆蓋了當前語音識別應用所需的的各種模式,如命令工作模式、多關鍵詞檢測工作模式、有限句型識別工作模式、孤立詞聽寫工作模式以及連續語音聽寫工作模式。在對各種工作模式的差別以及共同點進行分析歸納的基礎上,把其它各種工作模式從語音識別算法上通過構造專用詞典、進行數據轉化以及通道開關切換等手段映射到大詞匯量連續語音識別內核上來,并分別加入相應的處理算法以對識別結果進行可靠度的衡量。如圖5所示,就是充分利用大詞匯量連續語音識別的強大功能和包含性,通過對以上各種工作模式語法圖的轉換以及識別方法的修改,把它們集成在一個統一的識別引擎中。
本發明的技術要點在于首先,各種工作模式都可以歸納為具有以下特性1.孤立命令工作模式在某些場合,計算機只需要聽懂識別幾個簡單命令就可滿足用戶需求。例如“打開窗戶”,“關閉空調”,即語音命令工作模式。語音命令工作模式特點是發音是孤立的一個詞或短語,該詞或短語前后沒有與命令無關的其它語音。這種工作模式的語法描述可以由圖1所示。在圖1中可看到該語法圖沒有回路,其只能產生類似“命令1”或“命令n”這樣的輸出。2.有限句型識別工作模式在有些應用中,人機需要交互的內容可以用一些固定模式的句子來表示,這些句子模式中有某些關鍵詞匯可以替換,理論上可以由一個有限狀態的自動機來描述,這種工作模式稱為“有限句型語音識別工作模式”,例如“我想<Verb>一下<Year><Month>的<Item>”,此處Verb可以有一大串替換詞查詢,打印,匯總,顯示…; Year也可以有一大串替換詞去年,前年,大前年…;Month可以替換成全年,一月,二月,三月…;Item可以替換成銀行存款,銀行貸款,余額,…。這種工作模式可由圖6所示的語法圖進行描述。在圖6中,圓圈表示自動機的一個節點,它代表可以插入的一組詞;節點與節點之間的有序連線表示詞與詞之間可以連接。顯然其只能產生固定格式的連續句子。3.關鍵詞檢測工作模式
從語法圖1和語法6描述可以看到,上述兩種工作模式對用戶的發音方式和識別詞表有嚴格的限制,超出詞匯集以外的語音,系統在處理上會帶來極大的困難,因而在很多場合并不適合。例如在類似“呼叫中心”或“電話分機自動轉接”這種應用場合,用戶可能說了一大段話,而任務集所關心的僅僅是幾個主要的詞匯。在這種情況下,計算機只需要識別幾個詞匯而需要濾掉系統不關心的其它所有詞匯。這種工作模式稱為“關鍵詞檢測工作模式”。例如“我想找***同志!”和“***同志在不在?”這樣的自然語言,計算機只需要識別***同志就可以了。在上面例子中,一個句子中只有一個關鍵詞,有一些應用可以有多個關鍵詞例如“我想<查詢>去<北京>的航班信息”中就有兩個關鍵詞“查詢”和“北京”。如圖2所示。圖2同圖1相比,可以看到有兩個區別,一個是在關鍵詞檢測中需要包含垃圾模型,第二是關鍵詞檢測在語法上需要回路,以處理比命令更加復雜的句子。4.孤立詞聽寫工作模式在大詞匯量語音識別時,可能會由于計算資源的限制或用戶修改習慣的需要,“一字一詞“的發音方式也可方便地用于文字的輸入,這種工作模式稱為“孤立詞聽寫工作模式”。例如“江澤民主席昨天出席了世界計算機大會”就可以按照空格所指示的分詞進行間斷發音。這種方式當用戶對系統包含有的詞匯量比較熟悉或者用戶使用詞匯量相對比較固定時,比較適合,其特點是容易修改結果和獲得多個識別候選,便于編輯。該工作模式語法圖如3所示。同語法圖1相比,詞匯量更大,同時需要上下文相關語言的處理,即要加入語言模型。5.連續語音識別工作模式這是一種最為常用的工作模式,可以識別用戶連續不斷的語音;由于詞匯量大,同時詞匯之間還可以有任意的組合,因而對于用戶來說沒有特別的詞表限制;在語法圖4中,也可以看到由于在詞間允許有靜音,因而對用戶也沒有特別的發音方式的限制。這種工作模式也是當前語音識別研究最多的一個工作模式。這種工作模式采用圖4的語法圖。同樣同圖1相比,它詞匯量更大、含有語法回路以組詞以及需要上下文語言處理。
以上幾種工作模式基本上覆蓋了當前語音識別應用的各種工作模式。在以上各種工作模式中,工作模式1命令可以是通過子單元建模進行拼接也可以整命令建模,它是一個典型的封閉詞表匹配問題;工作模式2則其搜索空間是嚴格限制的,由有限狀態語法圖描述,識別在上述封閉的語法限制下進行;工作模式3除了對關鍵詞進行建模外,還需要專門的集外詞模型,同時非常重要一點是其語法圖中加了回落;工作模式4雖然詞匯量大,由于語法圖上沒有回路,所以也是一個封閉的搜索問題;而工作模式5則理論上可以組合出任意長度的句子來,其詞與詞之間由統計語言模型來約束。
在圖4所示的連續語音識別核心中,該識別核心所需要的輸入包括1)詞庫約束了連續語音識別的詞匯集,一般目前技術可識別幾萬詞的詞匯量;2)詞頻每個詞的使用頻率Pu(Wi),Wi表示一個漢語詞3)二元概率每兩個詞的連接概率Pb(Wj|Wi),表示在Wi出現下,Wj出現的概率4)三元概率每三個詞的連接概率(Ptrigram(Wk|Wi,Wj)),表示在Wi,Wj出現的條件下,Wk出現的概率本發明的技術要點還在于在其它工作模式轉化為本工作模式時都需要對上述輸入進行適當的初始化和轉化。如圖5所示,其流程如下1.輸入接口,設置工作模式。工作模式1為命令識別模式,模式2為孤立詞識別模式,模式3為有限句型識別模式,模式4為關鍵詞識別模式,模式5為連續語音識別模型;根據設置,轉入相應的模塊;2.若是命令識別模式,即模式1。則進入轉換1、開關設置和過濾垃圾詞處理模塊;在圖4所示的連續語音語法圖中,通過打開連續語音識別的回路開關,就可以把圖4所示的連接圖轉化為圖3所示的語法圖。進一步把所有的命令詞表中所有詞之間的二元和三元概率置為零。即對所有Wi,Wj,Wk屬于命令表,都有P(Wi,Wj)=0;P(Wi,Wj,Wk)=0;若命令表大小為n,則P(Wi)=1/n,則就轉化為圖1所示的語法圖,即單純的命令識別。但實際應用中,命令識別還需要排除集外詞,這是一個非常重要的指標,即對集外詞的拒識率。在專用命令識別技術中,一般加入一定數量的垃圾模型或者稱為集外詞模型來過濾集外詞,另外一個辦法是加入對識別結果的得分衡量。
在大詞匯量連續語音識別引擎下,本發明提出加入大量命令表外集外詞的辦法作為垃圾模型,這些垃圾詞的數量根據識別指標要求可以有幾百個到上萬個。即在該模式下,識別詞庫=命令表+大量垃圾詞。假設命令表的個數是N,垃圾詞的個數是M,這些命令和垃圾詞在聲學特征空間是均勻分布的,則一個集外詞被識別成命令的可能性是誤收率=N/(N+M)*100%。
假設命令表有100個詞匯,當垃圾詞模型有1萬個時,則誤收率只有1%,通過增加垃圾詞模型可以進一步降低誤收率,完全可以滿足現有語音識別應用的需要。接下來的一個問題是如何選擇這些垃圾詞模型,能使這些詞對輸入產生比較平均的反映。本發明設計了構造以上垃圾詞模型的一個方法,算法如圖7所示,該圖表示的算法具體描述如下1)首先對漢語的聲母根據其發音相似性按最細的行分類分成8類,如圖8所示。
2)然后對漢語的韻母根據其發音相似性按行分類分成4類,如圖9所示。
3)對于垃圾詞S1Y1S2Y2…SnYn,n從1-5。
4)對于不同長度的詞隨機從N類中取1類,隨機在該類中抽取一個聲母;隨機從韻母M類中取1類,隨機在該類中取一個韻母;5)觀察把聲母和韻母構成一個音節,若不能構成一個音節,則丟掉,否則把該音節加入詞表中。
6)用上述方法構造詞,轉至4)直到產生一定長度的詞為止。
7)用此方法構造一個詞,若至對n長度的詞滿足設定的個數為止。3.若是孤立詞語音識別模式,即模式2,則進入開關設置模塊。
在圖4所示的連續語音語法圖中,通過打開連續語音識別的回路開關,就可以把圖4所示的連接圖轉化為圖3所示的語法圖,即孤立語音識別模式。4.若是有限句型識別模式,即工作模式3,則進入轉化模塊2和可信度衡量模塊;有限句型識別的語法同連續語音識別用的語法有著很大的差別,前者是狀態之間確定性的連接關系,后者是概率性的連接關系。有限句型識別模式到連續語音識別模式的轉化就是要把這種確定性的語法連接關系轉化為概率連接關系。一種做法是用圖6所示的有限狀態自動機產生大量的句子,然后對這些句子進行三元文法的統計。這種方法對某些狀態自動機是有效的,但對具有自轉回路的自動機來說就不是非常合適。例如有一個能產生無限長度的數字串文法,它能產生數字串幾乎是沒有窮盡的,而直觀上就可以得出任何一個數字可以后接得數字都是等概率的結論。因而在本發明中,從有限自動機的語法描述直接就可以推算每一個詞后面可以接的詞的個數來直接確定二元概率,如果節點n后面可以后接L個節點,每個節點中可以有Li個詞,則所有這些詞與節點n中的詞的二元連接概率為。
P(Wi|Wj)=1/(SumLi)此處詞Wi屬于L個節點中的任何一個節點中的詞,Wj屬于節點n中的任何一個詞。而三元概率我們則直接置為0,即用二元概率來近似三元概率。
以上轉化算法,雖然不能從理論上保證概率的約束,但對識別結果不會產生任何負面的影響。對于有限句型的識別也需要有一個可信度衡量的問題,排除背景噪聲或同本任務無關的語音。在該算法中,第一遍搜索采用了沒有語法限制的語音識別,第二遍搜索則采用具有上述語音概率約束的語法,則兩遍搜索可以給出不同的識別結果S1Y1,S2Y2,…,SnYn,(1)S1′Y1′S2′Y2′…,Sm′Ym′(2)通過對上述兩個音節串進行動態匹配和規劃,可以計算這兩個串的相似度Similarity=Distance((S1Y1,S2Y2,…,SnYn),(S1′Y1′,S2′Y2′,…,Sm′Ym′))其中該匹配的基礎是實現估算的所有22個聲母之間和所有37個韻母之間的混淆度,根據計算得到的Similarity可以作為識別的可信度衡量。若可信度衡量小于某個門限,則可排除該語音。5.若是關鍵詞檢測模式,即工作模式4,則進入轉化模塊3和選取關鍵詞模塊;關鍵詞的檢測語法圖類同連續語音識別工作模式,都有語法回路。主要需要對其詞表進行轉化。因為關鍵詞檢測需要過濾掉關鍵詞詞表以外的大量語音,因而作為連續語音的識別需要,可以插入大量的集外詞。在漢語中,由于漢語是單音節結構體系的語音,一共只有408個無調音節,因而這408個音節理論上可以濾掉所有的語音。本發明把這408個音節作為詞表加入到連續語音識別的搜索中,由于關鍵詞本身也可以由這408個音節拼接而成,因而關鍵詞也有可能被濾掉。本發明把關鍵詞的詞頻設得高一些,而垃圾音節模型的詞頻設得低一些。所以把關鍵詞識別工作模式轉化為連續語音識別模式需要完成如下步驟(1)詞庫關鍵詞詞庫+S1,S2,…,S408,這而S1,S2,…,S408為漢語全部音節(2)詞頻關鍵詞詞頻1/n,408個音節詞頻為1/408個,在一般的應用中n<408個,所以關鍵詞的詞頻一般高于垃圾音節的詞頻;(3)在通用的關鍵詞檢測中,假設所有詞后面可以接所有的詞。即P(Wi|Wj)=1/n,而三元概率也是P(Wk|Wi,Wj)=1/n。
通過這種方式,連續語音的識別結果一般是S1,…,Ki,…,Kj,…Sn此處S表示垃圾音節詞模型,K表示所需要的關鍵詞。通過簡單的后處理,就可以從上面的識別結果中挑出就可以完成關鍵詞的檢測。6.若是連續語音識別模式,則直接進入識別引擎。
本發明的優點是以強大的連續語音識別為核心,采用了一種各種工作模式的轉化為連續語音識別的方法,并且通過加入一些覆蓋所有語音的垃圾模型,有效地壓縮了核心引擎。本方法對于關鍵詞檢測能作到與詞匯量無關,用戶可以非常方便的改變核心詞匯和詞匯量。
圖1命令識別模式語法2關鍵詞檢測語音識別示意3孤立語音識別示意4連續語音識別示意5基于連續語音識別的多模式工作流程6財務查詢有限狀態示意7垃圾詞選擇示意8語音識別分類表圖9聲母分類表圖10韻母分類表實施例1基于上述識別模式轉換的語音識別API在以上結構和算法的算法實現了API。該API是在在漢語大詞匯量、非特定人、連續語音技術基礎上發展出來的專門用于以詞、短語或連續語音形式進行語音命令控制、語音錄入的一個軟件,其內置詞匯量達4萬余條,對一般文本識別準確率可以達到90%以上。該API提供了命令控制、有限句型識別、關鍵詞檢測和語音聽寫等四種工作模式,用戶可以任意選擇和切換。其中在連續語音聽寫模式中,還具有常用編輯命令的命令控制,兩者可以并行使用;這四種模式可以并行存在與系統中,并支持這四種模式之間的在線切換。
在該API中,命令詞表的定義和關鍵詞檢測的文件定義是完全一致的。開發者或最終用戶非常簡單地在通用的編輯器中定義命令詞表,第一行表示命令集中所包含的命令的個數;然后每一行是一個命令的字符表示,然后是發音表示,最后是該命令的動作編碼,開發商自行定義動作編碼的意義。而詞表以及相應數據的轉化皆由API內部完成。
而有限句型的定義以及轉化則略為復雜,以基于多關鍵詞的財務查詢為例。當需要查詢各種財務報表時需要輸入報表時間和報表類型這兩種信息,利用本識別核心提供的技術就能用一句話同時表達這兩種關鍵詞信息,例如“請查詢去年12月的總帳”。這樣就有如圖6所示的有限狀態語法圖。
此處W1可以有請,請馬上,給我;此處W2可以有查詢,顯示,匯報,打印;此處Y可以有前年,去年,今年;此處D有1-12;此處C可以有總帳,資產負債表,銀行存款,貸方余額,工資表,工資總額;在上面圖中可以說“顯示去年的總帳”,“請馬上打印今年12月工資表”等話。實施例2通用引擎在多工作模式PDA上的應用以某PDA為例,該PDA希望能對其主菜單中的功能采用聲控啟動,此為典型的命令識別工作模式;同時該PDA上有電話本功能,需要輸入姓名、單位、電話號碼等。在姓名、單位輸入為典型的孤立詞聽寫,而電話號碼則為有限句型識別工作模式;同時該PDA希望能記錄用戶的發音并把它識別成文字,此為典型的連續語音識別功能;本發明的特點使得一個核心引擎能在同一個應用中需要多種工作模式的情況。因而要在該PDA上完成多個語音識別工作模式。若采用單獨的語音識別引擎,在PDA這樣存儲資源非常有限的環境下是非常困難的。采用本發明以及相應的API就可以以較少的軟件量和資源損耗實現以上所有功能。
另外,對于本專業的技術人員能夠清楚地了解此發明進行多方面的改變并提出與前問具體提出和描述的實現方案不同的多種實現方法,本發明的方法可以在多方面加以變化。
權利要求
1.一種多種語音工作模式的統一識別方法,其特征在于把所有語音工作模式通過詞典構造、數據轉化以及通道開關切換轉化為統一的大詞匯量、連續語音識別內核處理,具體步驟如下1)設置工作模式,工作模式1為命令識別模式,模式2為孤立詞識別模式,模式3為有限句型識別模式,模式4為關鍵詞識別模式,模式5為連續語音識別模型;根據模式設置,轉入相應的模塊;2)若是命令識別模式,即模式1,則進入轉換1、開關設置和過濾垃圾詞處理模塊;3)若是孤立詞語音識別模式,即模式2,則進入開關設置模塊;4)若是有限句型識別模式,即工作模式3,則進入轉換2和可信度衡量模塊;5)若是關鍵詞檢測模式,即工作模式4,則進入轉換3和選取關鍵詞模塊;6)若是連續語音識別模式,即工作模式5,則直接進入引擎。7)輸出結果。
2.根據權利要求1所述的一種多種語音工作模式的統一識別方法,其特征在于命令識別、多關鍵詞檢測以及有限句型識別都需要處理集外詞以及非相關語音,對于命令識別、多關鍵詞檢測以及有限句型識別采用不同的識別結果可信度衡量策略,即大數量垃圾詞策略、全音節填充策略和基于混淆度匹配的可信度策略。
3.根據權利要求1、2所述的一種多種語音工作模式的統一識別方法,其特征在于轉換1完成命令識別到連續語音識別的轉化,是在最后的命令集識別詞典中加入大量經過設計的集外詞,這些集外詞稱為大數量垃圾詞,通過集外詞的數量的不斷加入,保證關鍵詞檢測中對關鍵詞的檢出準確率;開關設置需把連續語音語法回路開關斷開。
4.根據權利要求3所述的一種多種語音工作模式的統一識別方法,特征在于對大數量垃圾詞挑選的挑選準則;首先對漢語中聲韻母根據其聲學相似形進行粗劃分,然后通過隨機選擇粗分類和在該粗分類中隨機挑選相應聲母和韻母這個二次隨機過程,來構造在聲學特征空間相對比較均勻的大數量垃圾詞,其具體步驟如下1)首先對漢語的聲母根據其發音相似性按最細的行分類分成N類;2)然后對漢語的韻母根據其發音相似性按行分類分成M類;3)對于垃圾詞S1Y1S2Y2…SnYn,n取從1-5;4)對于不同長度的詞隨機從N類中取1類,隨機在該類中抽取一個聲母;隨機從韻母M類中取1類,隨機在該類中取一個韻母;5)觀察把聲母和韻母構成一個音節,若不能構成一個音節,則丟掉,否則把該音節加入詞表中;6)用上述方法構造詞,轉至4)直到產生一定長度的詞為止;7)用此方法構造一個詞,直至對n長度的詞滿足設定的個數為止。
5.根據權利要求1所述的一種多種語音工作模式的統一識別方法,其特征在于轉換2完成從有限句型識別到連續語音識別的轉化,即把有限句型中詞與詞之間的有限自動機關系轉化為詞與詞之間的概率連接關系,具體地是從有限自動機的語法描述直接推算每一個詞后面可以接的詞的個數來直接確定二元概率,如果節點n后面可以后接L個節點,每個節點中可以有Li個詞,則所有這些詞與節點n中的詞的二元連接概率為P(Wi|Wj)=1/(SumLi)此處詞Wi屬于L個節點中的任何一個節點中的詞,Wj屬于節點n中的任何一個詞,而三元概率則直接置為0,即用二元概率來近似三元概率。
6.根據權利要求1、2所述的的一種多種語音工作模式的統一識別方法,其特征在于有限句型識別可信度衡量模塊完成識別結果的可靠性度量,是采用兩遍語音識別的搜索方法,第一遍搜索是沒有任何詞庫和語法限制的自由音節連接語法,第二遍搜索是結合了詞庫和統計語言概率的連接語法,通過比較兩遍識別結果的相似性得出可信度衡量;對于有限句型的識別也需要有一個可信度衡量的問題,排除背景噪聲或同本任務無關的語音,具體步驟為在第一遍搜索采用沒有語法限制的語音識別,第二遍搜索則采用具有上述語音概率約束的語法,則兩遍搜索可以給出不同的識別結果S1Y1,S2Y2,…,SnYn,S1′Y1′,S2′Y2′…,Sm′Ym′通過對上述兩個音節串進行動態匹配和規劃,計算這兩個串的相似度Similarity=Distance((S1Y1,S2Y2,…,SnYn),(S1′Y1′,S2′Y2′,…,Sm′Ym′))其中該匹配的基礎是事先估算的所有22個聲母之間和所有37個韻母之間的混淆度,根據計算得到的Similarity可以作為識別的可信度衡量。若可信度衡量小于某個門限,則可排除該語音。
7.根據權利要求1,2所述的一種多種語音工作模式的統一識別方法,其特征在于轉化3完成把關鍵詞檢測任務轉化為一般連續語音識別,其轉化后的連續語音詞匯集中,不但包含所要檢測的關鍵詞,而且插入漢語中通用的音節庫,同時給這些關鍵詞以及音節賦予適當的概率,其具體步驟如下(1)詞庫關鍵詞詞庫+S1,S2,…,S408,這而S1,S2,…,S408為漢語全部音節;(2)詞頻關鍵詞詞頻為1/n,408個音節詞頻為1/408個,在一般的應用中n<408個,所以關鍵詞的詞頻一般高于垃圾音節的詞頻;(3)在通用的關鍵詞檢測中,我們假設所有詞后面可以接所有的詞,即P(Wi|Wj)=1/n,而三元概率也是P(Wk|Wi,Wj)=1/n;通過這種方式,連續語音的識別結果一般是S1,…Ki,…,Kj,…Sn此處S表示垃圾音節詞模型,而K表示所需要的關鍵詞,其關鍵詞選取模塊完成從上面的識別結果中挑出關鍵詞的過程。
全文摘要
多種語音工作模式的統一識別方法屬于語音識別領域。本方法提出了一種采用大詞匯量連續語音識別作為統一內核引擎,通過構造專用詞典、進行數據轉化以及通道開關切換等手段把多種語音識別工作模式轉化到該引擎的一個結構以及實現。這些語音工作模式覆蓋了當前語音識別應用所需的各種模式,如命令工作模式、多關鍵詞檢測工作模式、有限句型識別工作模式、孤立詞聽寫工作模式以及連續語音聽寫工作模式。
文檔編號G10L15/00GK1342967SQ00124710
公開日2002年4月3日 申請日期2000年9月13日 優先權日2000年9月13日
發明者徐波, 高升, 黃泰翼 申請人:中國科學院自動化研究所