專利背景
截至2012年3月19日,實現人機之間人性化、智慧型化的有效互動,構建高效自然的人機交流環境,已經成為信息技術套用和發展的迫切需求。隨著語音識別技術的飛速發展,語音輸入、語音搜尋等各種線上語音識別套用受到了越來越多的關注。預先基於海量數據訓練的系統能滿足常用語音輸入撰寫的需要,特別當語音輸入內容符合原語言模型機率分布時識別準確率往往較高。然而在實際套用中,移動網際網路和社交網路快速發展不斷產生著新的熱點話題及相應的熱點辭彙,不同用戶也存在不同個性化辭彙的識別需求,如聯絡人名等,這些熱點辭彙或個性化辭彙由於時效性和特異性在原始採集的語料中往往出現頻度較低,因而原語言模型對該類辭彙往往覆蓋不足,進而導致相應識別系統不能準確識別該類熱詞。
為此,在相關技術中往往採用系統參數重估的方法,在將新收集的熱詞語料加入原語料庫後,重新訓練新的語言模型以提高對新增熱詞的識別準確率。然而,在實際套用中,熱詞更新頻度往往較高,系統無法及時收集足夠語料參與系統參數重估,進而影響對熱詞的識別效果。另一方面,語言模型的重新訓練以及識別系統資源(如基於WFST(Weighted Finite-State Transducers,加權有限狀態轉換器)的解碼識別網路)的構建往往費時較多,代價較大,無法實現對熱詞識別的快速回響。
發明內容
專利目的
《語音識別方法及系統》提供一種語音識別方法及系統,以解決專利背景中相關技術無法快速、準確識別熱點辭彙及用戶個性化辭彙的技術問題。
技術方案
《語音識別方法及系統》實施例提供如下技術方案:
一種語音識別方法,包括:構建解碼識別網路;對接收的語音信號,根據所述解碼識別網路對其中每幀語音信號幀進行解碼,並在解碼過程中根據熱詞對活躍節點的歷史路徑進行激勵,以提高熱詞所在路徑的累積歷史路徑機率;在完成對最後一幀語音信號幀解碼後,選擇具有最大累積機率的活躍節點為最優節點;從所述最優節點通過解碼狀態回溯得到最優路徑及對應的單詞序列。
一種語音識別系統,包括:網路構建單元,用於構建解碼識別網路;解碼單元,用於對接收的語音信號,根據所述解碼識別網路對其中每幀語音信號幀進行解碼;激勵單元,用於在所述解碼單元的解碼過程中根據熱詞對活躍節點的歷史路徑進行激勵,以提高熱詞所在路徑的累積歷史路徑機率;最優節點確定單元,用於在所述解碼單元完成對最後一幀語音信號幀解碼後,選擇具有最大累積機率的活躍節點為最優節點;回溯單元,用於從所述最優節點通過解碼狀態回溯得到最優路徑及對應的單詞序列。
改善效果
《語音識別方法及系統》實施例採用基於熱詞匹配對活躍節點的歷史路徑進行激勵,以提高熱詞所在路徑的累積歷史路徑機率,實現了對熱詞識別的有效激勵,提高了熱詞的識別效果。無需系統參數重估,即可快速、準確識別熱點辭彙及用戶個性化辭彙,為系統支持用戶定製的個性化詞庫或個性化語言模型提供了一種可行的解決方案,用戶通過簡單的更新系統支持的熱詞詞條即可實現對個性化辭彙的識別支持。
附圖說明
圖1是《語音識別方法及系統》實施例語音識別方法的流程圖;
圖2是《語音識別方法及系統》實施例中一種基於WFST的解碼識別網路的示意圖;
圖3是《語音識別方法及系統》實施例中樹形結構的熱詞詞典的示意圖;
圖4是《語音識別方法及系統》實施例中根據熱詞集合對解碼得到的歷史路徑進行激勵的一種流程圖;
圖5是《語音識別方法及系統》實施例中根據熱詞詞典對解碼得到的歷史路徑進行激勵的一種流程圖;
圖6是《語音識別方法及系統》實施例中根據歷史路徑的擴展結果更新歷史路徑的累積歷史路徑機率的一種實現流程圖;
圖7是《語音識別方法及系統》實施例中根據歷史路徑的擴展結果更新歷史路徑的累積歷史路徑機率的另一種實現流程圖;
圖8是《語音識別方法及系統》實施例中熱詞詞典的一種具體示意圖;
圖9是《語音識別方法及系統》實施例語音識別系統的結構示意圖;
圖10是《語音識別方法及系統》實施例語音識別系統的一種具體套用結構示意圖;
圖11是《語音識別方法及系統》實施例語音識別系統的另一種具體套用結構示意圖;
圖12是《語音識別方法及系統》實施例中激勵子單元的一種結構示意圖;
圖13是《語音識別方法及系統》實施例中激勵子單元的另一種結構示意圖。
技術領域
《語音識別方法及系統》涉及語音識別技術領域,特別涉及一種語音識別方法及系統。
權利要求
1、一種語音識別方法,其特徵在於,包括:構建解碼識別網路;對接收的語音信號,根據所述解碼識別網路對其中每幀語音信號幀進行解碼,並在解碼過程中根據熱詞對活躍節點的歷史路徑進行激勵,以提高熱詞所在路徑的累積歷史路徑機率;在完成對最後一幀語音信號幀解碼後,選擇具有最大累積機率的活躍節點為最優節點;從所述最優節點通過解碼狀態回溯得到最優路徑及對應的單詞序列。
2、如權利要求1所述的方法,其特徵在於,所述方法還包括:獲取用戶輸入的熱詞,並將所述熱詞保存到熱詞集合;所述在解碼過程中根據熱詞對活躍節點的歷史路徑進行激勵包括:在解碼過程中根據所述熱詞集合對活躍節點的歷史路徑進行激勵。
3、如權利要求2所述的方法,其特徵在於,所述在解碼過程中根據所述熱詞集合對活躍節點的歷史路徑進行激勵包括:獲取對當前語音信號幀解碼得到的所有活躍節點的歷史路徑和累積歷史路徑機率;根據所述熱詞集合判斷所述歷史路徑上鄰近單詞是否構成一條熱詞;如果是,則提高所述歷史路徑的累積歷史路徑機率;如果否,則保持所述歷史路徑的累積歷史路徑機率。
4、如權利要求1所述的方法,其特徵在於,所述方法還包括:獲取用戶輸入的熱詞,對所述熱詞進行文本分詞,並將得到的分詞保存到熱詞詞典;所述在解碼過程中根據熱詞對活躍節點的歷史路徑進行激勵包括:在解碼過程中根據所述熱詞詞典對活躍節點的歷史路徑進行激勵。
5、如權利要求4所述的方法,其特徵在於,所述在解碼過程中根據所述熱詞詞典對活躍節點的歷史路徑進行激勵包括:獲取對當前語音信號幀解碼得到的所有活躍節點的歷史路徑和累積歷史路徑機率;判斷所述活躍節點的歷史路徑中是否出現新詞;如果是,則根據所述新詞相對於所述歷史路徑上對應所述熱詞詞典中的分詞的擴展結果,更新所述歷史路徑的累積歷史路徑機率;如果否,則保持所述歷史路徑的累積歷史路徑機率。
6、如權利要求5所述的方法,其特徵在於,所述根據所述新詞相對於所述歷史路徑上對應所述熱詞詞典中的分詞的擴展結果,更新所述歷史路徑的累積歷史路徑機率包括:判斷所述新詞是否是所述歷史路徑上對應的熱詞分詞的後續分詞;如果是,則對所述歷史路徑的累積歷史路徑機率進行與所述後續分詞對應的加分;如果否,則判斷所述新詞是否為所述熱詞詞典中的起始分詞;如果是,則對所述歷史路徑的累積歷史路徑機率進行與所述起始分詞對應的加分;如果否,則保持所述歷史路徑的累積歷史路徑機率。
7、如權利要求5所述的方法,其特徵在於,所述根據所述新詞相對於所述歷史路徑上對應所述熱詞詞典中的分詞的擴展結果,更新所述歷史路徑的累積歷史路徑機率包括:如果所述新詞所在歷史路徑上所述新詞之前的單詞序列是所述熱詞詞典中的一個完整熱詞,則判斷所述新詞是否為所述熱詞詞典中的起始分詞;如果是,則對所述歷史路徑的累積歷史路徑機率進行與所述起始分詞對應的加分;如果否,則保持所述歷史路徑的累積歷史路徑機率;如果所述新詞所在歷史路徑上所述新詞之前的單詞序列不是所述熱詞詞典中的一個完整熱詞,則判斷所述新詞是否是所述歷史路徑上對應的熱詞分詞的後續分詞;如果是,則對所述歷史路徑的累積歷史路徑機率進行與所述後續分詞對應的加分;如果否,則撤銷之前對所述歷史路徑的累積歷史路徑機率的加分。
8、一種語音識別系統,其特徵在於,包括:網路構建單元,用於構建解碼識別網路;解碼單元,用於對接收的語音信號,根據所述解碼識別網路對其中每幀語音信號幀進行解碼;激勵單元,用於在所述解碼單元的解碼過程中根據熱詞對活躍節點的歷史路徑進行激勵,以提高熱詞所在路徑的累積歷史路徑機率;最優節點確定單元,用於在所述解碼單元完成對最後一幀語音信號幀解碼後,選擇具有最大累積機率的活躍節點為最優節點;回溯單元,用於從所述最優節點通過解碼狀態回溯得到最優路徑及對應的單詞序列。
9、如權利要求8所述的系統,其特徵在於,所述系統還包括:熱詞集合更新單元,用於獲取用戶輸入的熱詞,並將所述熱詞保存到熱詞集合;所述激勵單元在所述解碼單元解碼過程中根據所述熱詞集合對活躍節點的歷史路徑進行激勵。
10、如權利要求9所述的系統,其特徵在於,所述激勵單元包括:獲取子單元,用於獲取對當前語音信號幀解碼得到的所有活躍節點的歷史路徑和累積歷史路徑機率;判斷子單元,用於根據所述熱詞集合判斷所述歷史路徑上鄰近單詞是否構成一條熱詞;激勵子單元,用於在所述判斷子單元判斷所述歷史路徑上鄰近單詞構成一條熱詞後,提高所述歷史路徑的累積歷史路徑機率;在所述判斷子單元判斷所述歷史路徑上鄰近單詞不能構成一條熱詞後,保持所述歷史路徑的累積歷史路徑機率。
11、如權利要求8所述的系統,其特徵在於,所述系統還包括:熱詞獲取單元,用於獲取用戶輸入的熱詞;切分單元,用於對所述熱詞獲取單元獲取的熱詞進行文本分詞,並將得到的分詞保存到熱詞詞典;所述激勵單元在所述解碼單元解碼過程中根據所述熱詞詞典對活躍節點的歷史路徑進行激勵。
12、如權利要求11所述的系統,其特徵在於,所述激勵單元包括:獲取子單元,用於獲取對當前語音信號幀解碼得到的所有活躍節點的歷史路徑和累積歷史路徑機率;新詞判斷子單元,用於判斷所述活躍節點的歷史路徑中是否出現新詞;激勵子單元,用於在所述新詞判斷子單元判斷所述活躍節點的歷史路徑中出現新詞後,根據所述新詞相對於所述歷史路徑上對應所述熱詞詞典中的分詞的擴展結果,更新所述歷史路徑的累積歷史路徑機率;否則保持所述歷史路徑的累積歷史路徑機率。
13、如權利要求12所述的系統,其特徵在於,所述激勵子單元包括:第一判斷子單元,用於判斷所述新詞是否是所述歷史路徑上對應的熱詞分詞的後續分詞;第一處理子單元,用於在所述第一判斷子單元判斷所述新詞是所述歷史路徑上對應的熱詞分詞的後續分詞後,對所述歷史路徑的累積歷史路徑機率進行與所述後續分詞對應的加分;第二判斷子單元,用於在所述第一判斷子單元判斷所述新詞不是所述歷史路徑上對應的熱詞分詞的後續分詞後,判斷所述新詞是否為所述熱詞詞典中的起始分詞;第二處理子單元,用於在所述第二判斷子單元判斷所述新詞是所述熱詞詞典中的起始分詞後,對所述歷史路徑的累積歷史路徑機率進行與所述起始分詞對應的加分;否則保持所述歷史路徑的累積歷史路徑機率。
14、如權利要求12所述的系統,其特徵在於,所述激勵子單元包括:熱詞判斷子單元,用於判斷所述新詞所在歷史路徑上所述新詞之前的單詞序列是否是所述熱詞詞典中的一個完整熱詞;第三判斷子單元,用於在所述熱詞判斷子單元判斷所述新詞所在歷史路徑上所述新詞之前的單詞序列是所述熱詞詞典中的一個完整熱詞時,判斷所述新詞是否是所述熱詞詞典中的起始分詞;第三處理子單元,用於在所述第三判斷子單元判斷所述新詞是所述熱詞詞典中的起始分詞後,對所述歷史路徑的累積歷史路徑機率進行與所述起始分詞對應的加分;否則保持所述歷史路徑的累積歷史路徑機率;第四判斷子單元,用於在所述熱詞判斷子單元判斷所述新詞所在歷史路徑上所述新詞之前的單詞序列不是所述熱詞詞典中的一個完整熱詞時,判斷所述新詞是否是所述歷史路徑上對應的熱詞分詞的後續分詞;第四處理子單元,用於在所述第四判斷子單元判斷所述新詞是所述歷史路徑上對應的熱詞分詞的後續分詞後,對所述歷史路徑的累積歷史路徑機率進行與所述後續分詞對應的加分;否則撤銷之前對所述歷史路徑的累積歷史路徑機率的加分。
實施方式
操作內容
以下結合《語音識別方法及系統》實施例中的附圖,對該發明實施例中的技術方案進行清楚、完整地描述,所描述的實施例僅是該發明一部分實施例,而不是全部的實施例。基於該發明中的實施例,該領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬於該發明保護的範圍。
為了使該發明實施例的方案更容易理解,並且更好地體現與相關語音識別方案的區別,下面首先對相關技術中基本的語音識別方法做簡單說明。
在相關技術中,通常是將語言模型的語義網路通過聲學模型及字典等擴展成基於模型狀態層的搜尋網路,即構建解碼識別網路,然後在對輸入語音信號解碼時,通過計算輸入的每一幀語音信號相對於當前有效擴展路徑上的每個聲學模型及語言模型的累積歷史路徑機率獲取新的有效擴展路徑。隨後在搜尋完最後一幀語音信號時,通過從具有最大累積歷史路徑機率的最優節點執行狀態回溯得到解碼最優路徑,得到對應的單詞序列。
該發明實施例語音識別方法及系統,針對相關技術採用系統參數重估的方式提高對新增熱詞的識別準確率,無法快速、準確識別熱點辭彙及用戶個性化辭彙的技術問題,對當前歷史路徑基於熱詞進行激勵,從而提高熱詞所在路徑的累積歷史路徑機率,提高了熱詞的識別效果。無需系統參數重估,即可快速、準確識別熱點辭彙及用戶個性化辭彙。
實施案例
如圖1所示,是《語音識別方法及系統》實施例語音識別方法的流程圖,包括以下步驟:
步驟101,構建解碼識別網路。在該發明實施例中,所述解碼識別網路可以由系統線上構建,也可以通過離線方式構建,在系統啟動時直接載入,以減少系統運算量及所需記憶體,進一步提高解碼效率。
步驟102,對接收的語音信號,根據所述解碼識別網路對其中每幀語音信號幀進行解碼,並在解碼過程中根據熱詞對活躍節點的歷史路徑進行激勵,以提高熱詞所在路徑的累積歷史路徑機率。利用所述解碼識別網路對用戶輸入的語音信號進行解碼的過程是一個在該解碼識別網路中搜尋最優路徑,實現語音到文本的轉換的過程。
具體地,可以首先對接收的連續語音信號採樣為一系列離散能量值存入數據快取區。當然,為了進一步提高系統的魯棒性,還可以先對接收到的連續語音信號進行降噪處理。首先通過對語音信號的短時能量和短時過零率分析,將連續的語音信號分割成獨立的語音片斷和非語音片斷,然後對分割得到的語音片斷進行語音增強處理,在進行語音增強處理時,可以通過維納濾波等方法,將語音信號中的環境噪聲進一步消除,以提高后續系統對該信號的處理能力。
考慮到降噪處理後的語音信號中依然會存在大量語音識別無關的冗餘信息,直接對其識別可能會使運算量和識別準確率降低,為此,可以從降噪處理後的語音能量信號中提取識別有效語音特徵,並存入特徵快取區內。具體地,可以提取語音的MFCC(Mel Frequency Cepstrum Coefficient,Mel頻率倒譜係數)特徵,對窗長25ms幀移10ms的每幀語音數據做短時分析得到MFCC參數及其一階、二階差分,總計39維。也就是說,將每幀語音信號量化為一39維的特徵序列。然後,根據所述解碼識別網路對其中每幀語音信號進行解碼,獲取最優路徑,從而完成解碼識別過程。
在相關技術中,最優路徑的搜尋過程如下:按照從左到右的時間順序,計算每幀語音信號幀到達解碼識別網路中每個活躍節點的累積歷史路徑機率。具體地,對於需要考察的每幀語音信號幀,可以首先計算當前解碼識別網路中所有活躍節點相對於該語音信號幀的歷史路徑和累積歷史路徑機率。比如,對於當前的一幀語音信號,對應的語音特徵序列為:{O1,O2,...,Ot},其中t時刻的語音特徵Ot轉入活躍節點j的路徑機率,即從活躍節點i到該節點j的所有可能歷史路徑的機率最大值計算如下:
其中,i表示解碼識別網路中所有與活躍節點j相連的活躍節點;
表示(t-1)時刻特徵O
t-1落在活躍節點i上的歷史路徑機率;a
ij表示從節點i到節點j的轉移機率,而b
j(o
t)表示第t時刻特徵O
t相應於節點j的似然機率。
活躍節點j的累積歷史路徑機率為所有和活躍節點j相連的節點路徑中具有最大累積路徑機率的路徑得分。也就是說,在計算活躍節點j的累積路徑機率的同時,也獲知了活躍節點j的前一節點,進而獲知活躍節點j的歷史路徑。
然後,獲取下一幀語音信號幀,並從滿足系統預設條件的歷史路徑向後擴展解碼。當對最後一幀語音信號幀解碼後,其中具有最大累積歷史路徑機率的活躍節點即為最優節點,從該最優節點通過解碼狀態回溯得到的歷史路徑即為最優路徑,該最優路徑上的單詞序列即為解碼結果。
由於基於海量數據訓練的語言模型能夠很好地體現原語料庫的辭彙分布,因而對大部分常規辭彙具有較好的識別效果。而熱點辭彙及用戶個性化辭彙由於具有個性化的特點,在原有語言模型中機率較小,因而其對應的解碼路徑得分往往偏低,導致不能正確識別。
為此,在該發明實施中,基於熱詞對活躍節點的歷史路徑進行激勵,保持熱詞在搜尋路徑擴展中的存活時間,從而使解碼識別網路中可能和熱詞匹配的路徑得到最佳化,提高熱詞匹配的成功率,熱詞識別正確性也可得到相應提高。具體地,對解碼識別網路中可能和熱詞匹配的路徑可以採用不同的激勵方式,對此將在後面詳細說明。
步驟103,在完成對最後一幀語音信號幀解碼後,選擇具有最大累積機率的活躍節點為最優節點。
步驟104,從所述最優節點通過解碼狀態回溯得到最優路徑及對應的單詞序列。從所述最優節點通過解碼狀態回溯得到的歷史路徑即為最優路徑。
由此可見,該發明實施例語音識別方法,採用基於熱詞匹配的歷史路徑激勵處理,使熱詞所在路徑的累積歷史路徑機率得到最佳化,提高了熱詞的識別效果。利用該發明實施例語音識別方法,無需系統參數重估,即可快速、準確識別熱點辭彙及用戶個性化辭彙,為系統支持用戶定製的個性化詞庫或個性化語言模型提供了一種可行的解決方案,用戶通過簡單的更新系統支持的熱詞詞庫即可實現對個性化辭彙的識別支持。
前面提到,在該發明實施例中,所述解碼識別網路可以由系統線上構建,也可以通過離線方式構建,在系統啟動時直接載入,以減少系統運算量及所需記憶體,進一步提高解碼效率。具體地,所述解碼識別網路的構建可以利用預設的聲學模型和語言模型等構建。
其中,所述聲學模型主要用於模擬字元音特點,具體可以採用語音識別領域常用的基於轉移機率和傳輸機率的HMM(Hidden Markov Model,隱馬爾可夫)模型。考慮到在大辭彙量連續語音識別中,辭彙量的數量過於龐大,若是對每個字元都構建一個HMM模型,則模型數量太多,不利於數據存儲及計算。因此,在實際套用中,可以僅對基本的發音單元,如音節或音素單元構建HMM模型。顯然聲學模型還可以採用其他技術手段,比如神經網路等,對此該發明實施例不做限定。
其中,所述語言模型是為了更有效地表征語法及語義等知識,以彌補聲學模型的不足,提高識別率。具體可以採用語音識別領域常用統計語言模型,利用統計機率的方式描述詞和詞之間的關係,即假設某個詞wk出現的機率僅和其前n-1個詞相關,記為
。顯然語言模型也可以採用其他技術手段,比如字詞對等,對此該發明實施例不做限定。
所述解碼識別網路的構建可以採用相關技術中的一些構建方法,利用聲學模型將所述語言模型擴展成模型層的搜尋網路。圖2示出了一種基於WFST的解碼識別網路的示意圖。當然,還可以採用其他方式的解碼識別網路,如基於歷史詞樹拷貝的動態解碼識別網路等。
在該發明實施例中,允許用戶隨時自定義熱詞,以擴大系統的識別範圍,適應辭彙不斷變化的需求。具體地,當用戶輸入新的熱詞後,可以將所述熱詞保存到熱詞集合。也就是說,所述熱詞集合可以是一個動態更新的熱詞詞條庫。
另外,在更新所述熱詞詞庫時,還可以採用分詞算法,通過使用系統預置的現有詞典對用戶新增自定義的熱詞的文本進行分詞,使每個熱詞詞條都表述為一個由系統現有基本字詞單元組成的序列,並將得到的分詞結果保存到熱詞詞典,該分詞結果可以由圖3所示的樹形結構管理,每一個分支對應一個熱詞詞條,具體如下:
熱詞A:Wordi1 Wordi2 Wordi3;
熱詞B:Wordi1 Wordi4;
熱詞C:Wordi5;
...;
熱詞N:Wordij...Wordik。
該熱詞詞典可以是一個動態更新的熱詞分詞庫。
基於上述熱詞集合或熱詞詞典,對解碼識別網路中可能和熱詞匹配的路徑可以採用不同的激勵方式,對此下面詳細說明。
1、根據熱詞集合對解碼得到的歷史路徑進行最佳化
如圖4所示,是該發明實施例中根據熱詞集合對解碼得到的歷史路徑進行激勵的一種流程圖。在該流程中,在活躍節點的歷史路徑對應的單詞序列可以構成一個熱詞詞條時給予適當的得分激勵,以提高該歷史路徑的優先權。該流程具體包括以下步驟:
步驟401,獲取對當前語音信號幀解碼得到的所有活躍節點的歷史路徑和累積歷史路徑機率。
步驟402,根據所述熱詞集合判斷所述歷史路徑上鄰近單詞是否構成一條熱詞;如果是,則執行步驟403;否則,執行步驟404。
步驟403,提高所述歷史路徑的累積歷史路徑機率。比如,可以採取固定激勵加分的方法來提高熱詞所在路徑的優先權,以使熱詞所在路徑更容易保留。固定激勵加分的具體數值可以根據需要預先設定,一般來說,激勵加分越高,則熱詞匹配度越高,熱詞識別正確性也相應提高。在平衡熱詞識別率和其它非熱詞識別率的基礎上可以設定固定激勵加分的參考值為300,當然,也可以是其它數值,對此該發明實施例不做限定。
步驟404,保持所述歷史路徑的累積歷史路徑機率。
需要說明的是,步驟402至步驟404,需要對步驟401獲取的每一條歷史路徑逐一執行,即對步驟401獲取的所有活躍節點的歷史路徑中不包含熱詞的歷史路徑保持其路徑機率,而對包含熱詞的歷史路徑機率進行激勵。
需要說明的是,在實際套用中,在進行下一幀語音信號幀解碼之前,還可以對活躍節點的歷史路徑進行最佳化,刪除部分不可能的路徑以提高后續搜尋效率。具體地,可以採用基於機率裁減門限的方法,首先統計當前活躍節點累積歷史路徑機率的最高值,然後分別計算各活躍節點的累積歷史路徑機率與該最高值的差值,將其中差值大於預先設定的裁剪門限的活躍節點設為非活躍節點,並從後續搜尋路徑中剪除,中止從該節點開始的後續搜尋。
在該發明實施例中,上述過程需要在對當前語音信號幀解碼得到的所有活躍節點的歷史路徑按照圖4所示流程激勵之後,根據當前所有活躍節點(包括激勵後的活躍節點和未激勵的活躍節點)的累積歷史路徑機率確定新的活躍節點,實現後續路徑的擴展。在圖4所示流程中,通過固定激勵加分的方法來提高熱詞所在路徑的優先權,實現對熱詞所在路徑的最佳化。
在實際套用中,由於熱詞往往由兩個或多個分詞構成,上述在熱詞詞條實現完整匹配時給予激勵的方式可能會由於熱詞詞條所在路徑過早被裁減而達不到激勵的目的,影響熱詞識別的準確率。為此,在該發明實施例中,還可以採用基於預測路徑的激勵方法,通過逐步給予激勵的方式不斷提高熱詞所在路徑的優先權。
2、根據熱詞詞典對解碼得到的歷史路徑進行最佳化
如圖5所示,是該發明實施例中根據熱詞詞典對解碼得到的歷史路徑進行激勵的一種流程圖,包括以下步驟:
步驟501,獲取對當前語音信號幀解碼得到的所有活躍節點的歷史路徑和累積歷史路徑機率。
步驟502,判斷所述活躍節點的歷史路徑中是否出現新詞;如果是,則執行步驟503;否則,執行步驟504。
步驟503,根據所述新詞相對於所述歷史路徑上對應所述熱詞詞典中的分詞的擴展結果,更新所述歷史路徑的累積歷史路徑機率。
步驟504,保持所述歷史路徑的累積歷史路徑機率。
需要說明的是,對於每一幀語音信號幀的所有活躍節點的歷史路徑,都需要進行上述步驟502至步驟504的過程。而且,在進行下一幀語音信號幀解碼之前,還可以對活躍節點的歷史路徑進行最佳化,刪除部分不可能的路徑以提高后續搜尋效率。具體地,可以採用基於機率裁減門限的方法,首先統計當前活躍節點累積歷史路徑機率的最高值,然後分別計算各活躍節點的累積歷史路徑機率與該最高值的差值,將其中差值大於預先設定的裁剪門限的活躍節點設為非活躍節點,並從後續搜尋路徑中剪除,中止從該節點開始的後續搜尋。
不同於上述在熱詞完全匹配時才對歷史路徑激勵,步驟503在解碼過程中熱詞部分匹配時即對歷史路徑實行激勵,即根據歷史路徑的擴展結果更新歷史路徑的累積歷史路徑機率,通過提前提高路徑累計機率,可以更好地確保熱詞所在路徑的存活機率。
上述步驟503的可以採用多種不同的方法實現,比如:
如圖6所示,是該發明實施例中根據歷史路徑的擴展結果更新歷史路徑的累積歷史路徑機率的一種實現流程圖,包括以下步驟:
步驟601,判斷新詞是否是所述歷史路徑上對應的熱詞分詞的後續分詞;如果是,則執行步驟605;否則,執行步驟602。
步驟602,判斷所述新詞是否為所述熱詞詞典中的起始分詞;如果是,則執行步驟603;否則,執行步驟604。
步驟603,對所述歷史路徑的累積歷史路徑機率進行與所述起始分詞對應的加分。
步驟604,保持所述歷史路徑的累積歷史路徑機率。
步驟605,對所述歷史路徑的累積歷史路徑機率進行與所述後續分詞對應的加分。
如圖7所示,是該發明實施例中根據歷史路徑的擴展結果更新歷史路徑的累積歷史路徑機率的另一種實現流程圖,包括以下步驟:
步驟701,判斷新詞所在歷史路徑上所述新詞之前的單詞序列是否為所述熱詞詞典中的一個完整熱詞;如果是,則執行步驟705;否則,執行步驟702。
步驟702,判斷所述新詞是否是所述歷史路徑上對應的熱詞分詞的後續分詞;如果是,則執行步驟703;否則,執行步驟704。
步驟703,對所述歷史路徑的累積歷史路徑機率進行與所述後續分詞對應的加分。
步驟704,撤銷之前對所述歷史路徑的累積歷史路徑機率的加分。
步驟705,判斷所述新詞是否為所述熱詞詞典中的起始分詞;如果是,則執行步驟706;否則,執行步驟707。
步驟706,對所述歷史路徑的累積歷史路徑機率進行與所述起始分詞對應的加分。
步驟707,保持所述歷史路徑的累積歷史路徑機率。
利用圖7所示流程,可以進一步避免錯誤地對非熱詞所在歷史路徑的激勵。
另外在實際套用中,如果對每一個活躍節點對應的歷史路徑僅保留一條熱詞分詞歷史記錄,則在解碼中可能無法保證所有包含熱詞的路徑都能被發現。例如,熱詞A的詞序列為Word1Word2Word3,而熱詞B的詞序列為Word2Word4,當輸入詞序列為Word1Word2Word4時,在對“Word2”解碼時會優先匹配到熱詞A的Word2分詞,而忽略了熱詞B的Word2分詞,使得詞序列Word1Word2Word4最終並沒有匹配到Word2Word4的熱詞B上。對此,在該發明實施例中,還可以採用對單個活躍節點的歷史路徑保留多個熱詞分詞匹配歷史的方法來提高熱詞匹配的合理性。即在對“Word2”解碼時,不僅保留“Word1Word2”的熱詞A的部分匹配歷史,同時保留“Word2”的熱詞B的部分匹配歷史,並對同一歷史路徑相應保存多個激勵附加值。隨後在後續解碼中當確定某項熱詞分詞匹配結果不可能繼續擴展時,再撤銷之前對所述歷史路徑的由於熱詞分詞產生的累積歷史路徑機率的加分。
在實際套用中,可以根據解碼所得單詞和熱詞分詞的匹配度對路徑機率進行激勵。比如,可以在解碼獲取新詞時獲取系統預置的熱詞分詞權重,並對路徑進行激勵。特別的,還可以通過設定熱詞分詞詞典的熱詞分詞首尾字元的權重,而將其他分詞權重簡單設定為0以簡化激勵過程。比如,假設當前的熱詞詞典如圖8所示,由“中國,中華,人民,人們”構成。解碼識別時,若解碼得到的某個活躍節點的歷史路徑上出現“中”或者“人”時,即和熱詞詞典的首字元匹配時,對所述歷史路徑給予與對應熱詞分詞“中”或“人”相應的分值激勵,即對所述歷史路徑的累積歷史路徑機率進行與所述首字元對應的加分。隨後,當熱詞分詞所在路徑進行後續擴展時,若後續擴展路徑上出現“國,華”或“民,們”,構成“中國”,“中華”,“人民”,“人們”的熱詞或部分熱詞時,則繼續對該路徑給予與“國”,“華”,“民”,“們”相應的分值激勵。否則當所述熱詞分詞所在路徑擴展為其他非熱詞字詞時,對所在路徑不給予激勵,或者刪除前面增加的激勵。
可見,該實施例的語音識別方法,採用基於預測路徑的激勵方法,通過逐步給予激勵的方式不斷提高熱詞所在路徑的優先權,實現對熱詞所在路徑的最佳化,提高了熱詞的識別效果。
相應地,該發明實施例還提供一種語音識別系統,如圖9所示,是該系統的一種結構示意圖。
在該實施例中,所述系統包括:網路構建單元901,用於構建解碼識別網路;解碼單元902,用於對接收的語音信號,根據所述解碼識別網路對其中每幀語音信號幀進行解碼;激勵單元903,用於在所述解碼單元902的解碼過程中根據熱詞對活躍節點的歷史路徑進行激勵,以提高熱詞所在路徑的累積歷史路徑機率;最優節點確定單元904,用於在所述解碼單元902完成對最後一幀語音信號幀解碼後,選擇具有最大累積機率的活躍節點為最優節點;回溯單元905,用於從所述最優節點通過解碼狀態回溯得到最優路徑及對應的單詞序列。
在該發明實施例中,網路構建單元901具體可以通過線上方式構建所述解碼識別網路,也可以通過離線方式構建所述解碼識別網路,在系統啟動時直接載入已構建的解碼識別網路,可以減少系統運算量及所需記憶體,進一步提高解碼效率。網路構建單元901具體可以利用預設的聲學模型和語言模型等構建,在此不再詳細描述。
在該發明實施例中,解碼單元902利用所述解碼識別網路對用戶輸入的語音信號進行解碼的過程是一個計算每幀語音信號幀到達解碼識別網路中每個活躍節點的累積歷史路徑機率的過程,當解碼單元902對每一幀語音信號幀解碼後,可以得到當前所有活躍節點的歷史路徑和累積歷史路徑機率,激勵單元903可以採用多種不同方式根據熱詞對活躍節點的歷史路徑進行激勵,提高熱詞所在路徑的累積歷史路徑機率,具體將在後面詳細說明。
需要說明的是,在實際套用中,在解碼單元902進行下一幀語音信號幀解碼之前,還可以對活躍節點的歷史路徑進行最佳化,刪除部分不可能的路徑以提高后續搜尋效率。具體地,可以採用基於機率裁減門限的方法,首先統計當前活躍節點累積歷史路徑機率的最高值,然後分別計算各活躍節點的累積歷史路徑機率與該最高值的差值,將其中差值大於預先設定的裁剪門限的活躍節點設為非活躍節點,並從後續搜尋路徑中剪除,中止從該節點開始的後續搜尋。
由此可見,該發明實施例語音識別系統,採用基於熱詞匹配的歷史路徑激勵處理,使熱詞所在路徑的累積歷史路徑機率得到最佳化,提高了熱詞的識別效果。利用該發明實施例語音識別系統,無需系統參數重估,即可快速、準確識別熱點辭彙及用戶個性化辭彙,為系統支持用戶定製的個性化詞庫或個性化語言模型提供了一種可行的解決方案,用戶通過簡單的更新系統支持的熱詞詞庫即可實現對個性化辭彙的識別支持。
在該發明實施例中,允許用戶隨時自定義熱詞,以擴大系統的識別範圍,適應辭彙不斷變化的需求。
如圖10所示,是該發明實施例語音識別系統的一種具體套用結構示意圖。
在該實施例中,所述系統還包括:熱詞集合更新單元911,用於獲取用戶輸入的熱詞,並將所述熱詞保存到熱詞集合。該熱詞集合可以是一個動態更新的熱詞詞條庫。相應地,激勵單元913在解碼過程中根據所述熱詞集合對活躍節點的歷史路徑進行激勵。
在該實施例中,激勵單元913具體包括:獲取子單元9131,判斷子單元9132和激勵子單元9133。其中:獲取子單元9131,用於獲取解碼單元702對當前語音信號幀解碼得到的所有活躍節點的歷史路徑和累積歷史路徑機率;判斷子單元9132,用於根據所述熱詞集合判斷所述歷史路徑上鄰近單詞是否構成一條熱詞;激勵子單元9133,用於在所述判斷子單元9132判斷所述歷史路徑上鄰近單詞構成一條熱詞後,提高所述歷史路徑的累積歷史路徑機率;在所述判斷子單元9132判斷所述歷史路徑上鄰近單詞不能構成一條熱詞後,保持所述歷史路徑的累積歷史路徑機率。在進行激勵時,可以採取固定激勵加分的方法來提高熱詞所在路徑的優先權,以使熱詞所在路徑更容易保留。固定激勵加分的具體數值可以根據需要預先設定,一般來說,激勵加分越高,則熱詞匹配度越高,熱詞識別正確性也相應提高。
該實施例的語音識別系統,在活躍節點的歷史路徑對應的單詞序列可以構成一個熱詞詞條時給予適當的得分激勵,實現對熱詞所在路徑的最佳化,提高了熱詞的識別效果。
在實際套用中,由於熱詞往往由兩個或多個分詞構成,上述在熱詞詞條實現完整匹配時給予激勵的方式可能會由於熱詞詞條所在路徑過早被裁減而達不到激勵的目的,影響熱詞識別的準確率。為此,在該發明語音識別系統的另一實施例中,激勵單元還可以採用基於預測路徑的激勵方法,通過逐步給予激勵的方式不斷提高熱詞所在路徑的優先權。
如圖11所示,是該發明實施例語音識別系統的另一種具體套用結構示意圖。
在該實施例中,所述系統還包括:熱詞獲取單元921和切分單元922,其中,熱詞獲取單元921用於獲取用戶輸入的熱詞;切分單元922用於對所述熱詞獲取單元獲取的熱詞進行文本分詞,並將得到的分詞保存到熱詞詞典。相應地,激勵單元923在解碼過程中根據所述熱詞詞典對活躍節點的歷史路徑進行激勵。
在該實施例中,激勵單元923具體包括:獲取子單元9231,新詞判斷子單元9232和激勵子單元9233。其中:獲取子單元9231,用於獲取對當前語音信號幀解碼得到的所有活躍節點的歷史路徑和累積歷史路徑機率;新詞判斷子單元9232,用於判斷所述活躍節點的歷史路徑中是否出現新詞;激勵子單元9233,用於在所述新詞判斷子單元9232判斷所述活躍節點的歷史路徑中出現新詞後,根據所述新詞相對於所述歷史路徑上對應所述熱詞詞典中的分詞的擴展結果,更新所述歷史路徑的累積歷史路徑機率;否則保持所述歷史路徑的累積歷史路徑機率。
在該實施例中,不同於上述圖10中的激勵子單元9133在熱詞完全匹配時才對歷史路徑激勵,激勵子單元9233在解碼過程中熱詞部分匹配時即對歷史路徑實行激勵,即根據歷史路徑的擴展結果更新歷史路徑的累積歷史路徑機率,通過提前提高路徑累計機率,可以更好地確保熱詞所在路徑的存活機率。所述激勵子單元9233可以有多種實現方式,下面舉例詳細進行說明。
如圖12所示,是該發明實施例中激勵子單元的一種具體結構示意圖。
在該實施例中,所述激勵子單元包括:第一判斷子單元121,用於判斷所述新詞是否是所述歷史路徑上對應的熱詞分詞的後續分詞;第一處理子單元122,用於在所述第一判斷子單元121判斷所述新詞是所述歷史路徑上對應的熱詞分詞的後續分詞後,對所述歷史路徑的累積歷史路徑機率進行與所述後續分詞對應的加分;第二判斷子單元123,用於在所述第一判斷子單元121判斷所述新詞不是所述歷史路徑上對應的熱詞分詞的後續分詞後,判斷所述新詞是否為所述熱詞詞典中的起始分詞;第二處理子單元124,用於在所述第二判斷子單元123判斷所述新詞是所述熱詞詞典中的起始分詞後,對所述歷史路徑的累積歷史路徑機率進行與所述起始分詞對應的加分;否則保持所述歷史路徑的累積歷史路徑機率。
如圖13所示,是該發明實施例中激勵子單元的另一種具體結構示意圖。
在該實施例中,所述激勵子單元包括:熱詞判斷子單元131,用於判斷所述新詞所在歷史路徑上所述新詞之前的單詞序列是否是所述熱詞詞典中的一個完整熱詞;第三判斷子單元132,用於在所述熱詞判斷子單元131判斷所述新詞所在歷史路徑上所述新詞之前的單詞序列是所述熱詞詞典中的一個完整熱詞時,判斷所述新詞是否是所述熱詞詞典中的起始分詞;第三處理子單元133,用於在所述第三判斷子單元132判斷所述新詞是所述熱詞詞典中的起始分詞後,對所述歷史路徑的累積歷史路徑機率進行與所述起始分詞對應的加分;否則保持所述歷史路徑的累積歷史路徑機率;第四判斷子單元134,用於在所述熱詞判斷子單元131判斷所述新詞所在歷史路徑上所述新詞之前的單詞序列不是所述熱詞詞典中的一個完整熱詞時,判斷所述新詞是否是所述歷史路徑上對應的熱詞分詞的後續分詞;第四處理子單元135,用於在所述第四判斷子單元134判斷所述新詞是所述歷史路徑上對應的熱詞分詞的後續分詞後,對所述歷史路徑的累積歷史路徑機率進行與所述後續分詞對應的加分;否則撤銷之前對所述歷史路徑的累積歷史路徑機率的加分。
當然,在實際套用中,所述激勵子單元還可以有其它實現方式,對此該發明實施例不做限定。比如,可以對單個活躍節點的歷史路徑保留多個熱詞分詞匹配歷史,在後續解碼中當確定某項熱詞分詞匹配結果不可能繼續擴展時,再撤銷之前對所述歷史路徑的由於熱詞分詞產生的累積歷史路徑機率的加分,以此來進一步提高熱詞匹配的合理性。
該實施例的語音識別系統,採用基於預測路徑的激勵方法,通過逐步給予激勵的方式不斷提高熱詞所在路徑的優先權,實現對熱詞所在路徑的最佳化,提高了熱詞的識別效果。
該說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的系統實施例僅僅是示意性的,其中所述作為分離部件說明的單元及模組可以是或者也可以不是物理上分開的。另外,還可以根據實際的需要選擇其中的部分或者全部單元和模組來實現該實施例方案的目的。該領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。
以上公開的僅為《語音識別方法及系統》的優選實施方式,但該發明並非局限於此,任何該領域的技術人員能思之的沒有創造性的變化,以及在不脫離該發明原理前提下所作的若干改進和潤飾,都應落在該發明的保護範圍內。
專利榮譽
2021年6月24日,《語音識別方法及系統》獲得第二十二屆中國專利金獎。