專利背景
隨著
手機等智慧型終端上語音輸入功能和套用的普及,用戶在手機等
智慧型終端上使用語音輸入的需求越來越多,對用戶個性化信息,尤其是通訊錄中聯繫人的識別準確率也提出了更高的要求。而傳統連續語音識別系統由於語言模型訓練方式及識別方法的局限性,對存在多音字現象的漢語語音信號可能無法提供正確的字詞結果,特別是在人名信息識別中,其識別準確率更受到了進一步的限制,主要體現在:
1.中文常見人名數量眾多,對此連續語音識別的詞典中通常將人名字詞作為未登錄詞處理,導致訓練語料中覆蓋的人名數量極其有限;
2.其次中文人名同音字大量存在,常見人名有幾十個甚至更多的漢字組合;
3.對每個用戶來說,用戶特有的個性化通訊錄中聯繫人人名可能還會有一部分非常用人名,即每個個性化的人名列表在訓練語料中無法均勻覆蓋。
基於以上原因,2012年12月以前技術中用於連續語音識別的語言模型不能很好地模擬人名字詞特別是用戶個性化聯繫人名字詞,人名識別效果也往往明顯低於其他內容的識別效果。顯然如何在連續語音識別中提高用戶個性化信息,特別是人名信息的識別準確率已經成為連續語音識別系統亟待解決的問題。
發明內容
專利目的
《用戶個性化信息語音識別方法及系統》的目的是提供一種用戶個性化信息語音識別方法及系統,以提高連續語音識別中用戶個性化信息的識別準確率。
技術方案
《用戶個性化信息語音識別方法及系統》提供如下技術方案:
一種用戶個性化信息語音識別方法,包括:接收用戶輸入的語音信號;根據基礎靜態解碼網路逐幀對所述語音信號進行解碼,得到當前幀在基礎靜態解碼網路中各活躍節點上的解碼路徑,所述基礎靜態解碼網路是與基礎人名語言模型相關的解碼網路;如果確定當前幀有解碼路徑進入所述基礎靜態解碼網路中的人名節點,則根據所述用戶的附屬靜態解碼網路對所述人名節點進行網路擴展,所述附屬靜態解碼網路是與特定用戶人名語言模型相關的解碼網路;在最後一幀解碼完成後,返回識別結果。
優選地,所述方法還包括:在根據基礎靜態解碼網路逐幀對所述語音信號進行解碼之前,確定所述用戶的附屬靜態解碼網路;或者在確定當前幀有解碼路徑進入所述基礎靜態解碼網路中的人名節點之後,確定所述用戶的附屬靜態解碼網路。
優選地,所述確定所述用戶的附屬靜態解碼網路包括:根據所述語音信號的特徵確定用戶身份,然後根據所述用戶身份確定所述用戶的附屬靜態解碼網路;或者根據用戶的設備碼確定用戶身份,然後根據所述用戶身份確定所述用戶的附屬靜態解碼網路。
優選地,所述方法還包括:構建基礎人名語言模型和特定用戶人名語言模型;分別構建與所述基礎人名語言模型相關的基礎靜態解碼網路和與所述特定用戶人名語言模型相關的附屬靜態解碼網路。
優選地,所述構建基礎人名語言模型包括:分別採集人名資料庫和語言模型訓練語料;根據所述人名資料庫及所述語言模型訓練語料,對常規字詞以及常規字詞與人名字詞間關聯關係進行統計;根據統計結果生成基礎人名語言模型。
優選地,所述根據所述人名資料庫及所述語言模型訓練語料,對常規字詞以及常規字詞與人名字詞間關聯關係進行統計包括:根據所述人名資料庫中的人名在所述訓練語料中進行人名檢測;對所述訓練語料中的所有具體人名用一個統一的虛擬人名替換;根據替換後的訓練語料對常規字詞以及常規字詞與人名字詞間關聯關係進行統計。
優選地,所述構建與所述基礎人名語言模型相關的基礎靜態解碼網路包括:為所述虛擬人名設定一個虛擬發音,以使所述虛擬人名作為一個普通單詞參與聲學模型的靜態網路擴展;根據所述虛擬發音確定擴展後的靜態網路中的特殊節點,所述特殊節點包括:進入人名單元的節點和人名單元的終止節點;對所述特殊節點的入弧或出弧上的虛擬發音單元進行擴展,得到與基礎人名語言模型相關的基礎靜態解碼網路。
優選地,所述構建特定用戶人名語言模型包括:從用戶上傳的人名相關信息中提取人名,並將所述人名作為人名詞條記錄;對每個人名詞條設定一個詞頻機率,並根據人名詞條的詞頻機率生成特定用戶人名語言模型;所述構建與所述特定用戶人名語言模型相關的附屬靜態解碼網路包括:分別設定特定用戶人名語言模型中的句首詞和句尾詞的發音為虛擬的特殊發音;對於句首節點的出弧和句尾節點的入弧上的特殊發音單元進行擴展,得到特定用戶人名語言模型相關的附屬靜態解碼網路。
一種用戶個性化信息語音識別系統,包括:接收單元,用於接收用戶輸入的語音信號;解碼單元,用於根據基礎靜態解碼網路逐幀對所述語音信號進行解碼,得到當前幀在基礎靜態解碼網路中各活躍節點上的解碼路徑,所述基礎靜態解碼網路是與基礎人名語言模型相關的解碼網路;解碼路徑檢查單元,用於確定當前幀是否有解碼路徑進入所述基礎靜態解碼網路中的人名節點;網路擴展單元,用於在所述解碼路徑檢查單元確定當前幀有解碼路徑進入所述基礎靜態解碼網路中的人名節點後,根據所述用戶的附屬靜態解碼網路對所述人名節點進行網路擴展,所述附屬靜態解碼網路是與特定用戶人名語言模型相關的解碼網路;結果輸出單元,用於在最後一幀解碼完成後,返回識別結果。
優選地,所述系統還包括:確定單元,用於在所述解碼單元根據基礎靜態解碼網路逐幀對所述語音信號進行解碼之前,確定所述用戶的附屬靜態解碼網路;或者在解碼路徑檢查單元確定當前幀有解碼路徑進入所述基礎靜態解碼網路中的人名節點之後,確定所述用戶的附屬靜態解碼網路。
優選地,所述確定單元,具體用於根據所述語音信號的特徵確定用戶身份,然後根據所述用戶身份確定所述用戶的附屬靜態解碼網路;或者根據用戶的設備碼確定用戶身份,然後根據所述用戶身份發明確定所述用戶的附屬靜態解碼網路。
優選地,所述系統還包括:基礎人名語言模型構建單元,用於構建基礎人名語言模型;特定用戶人名語言模型構建單元,用於構建特定用戶人名語言模型;基礎靜態解碼網路構建單元,用於構建與所述基礎人名語言模型相關的基礎靜態解碼網路;附屬靜態解碼網路構建單元,用於構建與所述特定用戶人名語言模型相關的附屬靜態解碼網路。
優選地,所述基礎人名語言模型構建單元包括:人名採集單元,用於採集人名資料庫;語料採集單元,用於採集語言模型訓練語料;統計單元,用於根據所述人名資料庫及所述語言模型訓練語料,對常規字詞以及常規字詞與人名字詞間關聯關係進行統計;基礎人名語言模型生成單元,用於根據所述統計單元得到的統計結果生成基礎人名語言模型。
優選地,所述統計單元包括:檢測子單元,用於根據所述人名資料庫中的人名在所述訓練語料中進行人名檢測;替換子單元,用於對所述訓練語料中的所有具體人名用一個統一的虛擬人名替換;統計子單元,用於根據替換後的訓練語料對常規字詞以及常規字詞與人名字詞間關聯關係進行統計。優選地,所述基礎靜態解碼網路構建單元包括:虛擬發音設定單元,用於為所述虛擬人名設定一個虛擬發音,以使所述虛擬人名作為一個普通單詞參與聲學模型的靜態網路擴展;特殊節點確定單元,用於根據所述虛擬發音確定擴展後的靜態網路中的特殊節點,所述特殊節點包括:進入人名單元的節點和人名單元的終止節點;第一擴展單元,用於對所述特殊節點的入弧或出弧上的虛擬發音單元進行擴展,得到與基礎人名語言模型相關的基礎靜態解碼網路。
優選地,所述特定用戶人名語言模型構建單元包括:人名提取單元,用於從用戶上傳的人名相關信息中提取人名,並將所述人名作為人名詞條記錄;特定用戶人名語言模型生成單元,用於對每個人名詞條設定一個詞頻機率,並根據人名詞條的詞頻機率生成特定用戶人名語言模型;
所述附屬靜態解碼網路構建單元包括:設定單元,用於分別設定特定用戶人名語言模型中的句首詞和句尾詞的發音為虛擬的特殊發音;第二擴展單元,用於對於句首節點的出弧和句尾節點的入弧上的特殊發音單元進行擴展,得到特定用戶人名語言模型相關的附屬靜態解碼網路。
改善效果
《用戶個性化信息語音識別方法及系統》實施例提供的用戶個性化信息語音識別方法及系統,在接收到用戶輸入的語音信號後,根據與基礎人名語言模型相關的基礎靜態解碼網路逐幀對所述語音信號進行解碼,得到當前幀在所述基礎靜態解碼網路中活躍節點上的解碼路徑,如果確定當前幀有解碼路徑進入所述基礎靜態解碼網路中的人名節點,則進一步根據所述用戶的與特定用戶人名語言模型相關的附屬靜態解碼網路對所述人名節點進行網路擴展,從而不僅提高了連續語音識別中個性化的聯繫人人名的識別準確率,而且還提高了聯繫人人名的上下文內容識別準確率。在語音識別的多個層面套用聯繫人信息,使整體識別效果得到了最佳化,提高了連續語音識別中用戶個性化信息的識別準確率。
附圖說明
圖1是該發明實施例用戶個性化信息語音識別方法的流程圖;
圖2是該發明實施例用戶個性化信息語音識別方法中的一種具體解碼流程圖;
圖3是該發明實施例用戶個性化信息語音識別方法中的另一種具體解碼流程圖;
圖4是該發明實施例中構建基礎人名語言模型的流程圖;
圖5是該發明實施例中構建特定用戶人名語言模型的流程圖;
圖6是該發明實施例中構建與基礎人名語言模型相關的基礎靜態解碼網路的流程圖;
圖7是該發明實施例中基礎人名語言模型相關解碼網路擴展示意圖;
圖8是該發明實施例中構建與特定用戶人名語言模型相關的附屬靜態解碼網路的流程圖;
圖9是該發明實施例中特定用戶人名語言模型相關解碼網路擴展示意圖;
圖10是該發明實施例用戶個性化信息語音識別系統的結構示意圖;
圖11是該發明實施例用戶個性化信息語音識別系統的一種具體實現結構示意圖;
圖12是該發明實施例用戶個性化信息語音識別系統的另一種具體實現結構示意圖;
圖13是該發明實施例用戶個性化信息語音識別系統的另一種具體實現結構示意圖;
圖14是該發明實施例用戶個性化信息語音識別系統中基礎人名語言模型構建單元的結構示意圖;
圖15是該發明實施例用戶個性化信息語音識別系統中基礎靜態解碼網路構建單元的結構示意圖;
圖16是該發明實施例用戶個性化信息語音識別系統中特定用戶人名語言模型構建單元和附屬靜態解碼網路構建單元的結構示意圖。
權利要求
1.一種用戶個性化信息語音識別方法,其特徵在於,包括:接收用戶輸入的語音信號;根據基礎靜態解碼網路逐幀對所述語音信號進行解碼,得到當前幀在基礎靜態解碼網路中各活躍節點上的解碼路徑,所述基礎靜態解碼網路是對基礎人名語言模型中的字詞進行聲學單元的擴展構成的解碼網路,所述基礎人名語言模型是用於描述常用字詞間以及常用字詞與人名間的統計機率的語言模型;
如果確定當前幀有解碼路徑進入所述基礎靜態解碼網路中的人名節點,則根據所述用戶的附屬靜態解碼網路對所述人名節點進行網路擴展,所述附屬靜態解碼網路是對特定用戶人名語言模型中的字詞進行聲學單元的擴展構成的解碼網路,所述特定用戶人名語言模型是用於描述所述用戶相關的具體人名的統計機率的語言模型;在最後一幀解碼完成後,返回識別結果。
2.根據權利要求1所述的方法,其特徵在於,所述方法還包括:在根據基礎靜態解碼網路逐幀對所述語音信號進行解碼之前,確定所述用戶的附屬靜態解碼網路;或者在確定當前幀有解碼路徑進入所述基礎靜態解碼網路中的人名節點之後,確定所述用戶的附屬靜態解碼網路。
3.根據權利要求2所述的方法,其特徵在於,所述確定所述用戶的附屬靜態解碼網路包括:根據所述語音信號的特徵確定用戶身份,然後根據所述用戶身份確定所述用戶的附屬靜態解碼網路;或者根據用戶的設備碼確定用戶身份,然後根據所述用戶身份確定所述用戶的附屬靜態解碼網路。
4.根據權利要求1至3任一項所述的方法,其特徵在於,所述方法還包括:構建基礎人名語言模型和特定用戶人名語言模型;分別構建與所述基礎人名語言模型相關的基礎靜態解碼網路和與所述特定用戶人名語言模型相關的附屬靜態解碼網路。
5.根據權利要求4所述的方法,其特徵在於,所述構建基礎人名語言模型包括:分別採集人名資料庫和語言模型訓練語料;根據所述人名資料庫及所述語言模型訓練語料,對常規字詞以及常規字詞與人名字詞間關聯關係進行統計;根據統計結果生成基礎人名語言模型。
6.根據權利要求5所述的方法,其特徵在於,所述根據所述人名資料庫及所述語言模型訓練語料,對常規字詞以及常規字詞與人名字詞間關聯關係進行統計包括:根據所述人名資料庫中的人名在所述訓練語料中進行人名檢測;對所述訓練語料中的所有具體人名用一個統一的虛擬人名替換;根據替換後的訓練語料對常規字詞以及常規字詞與人名字詞間關聯關係進行統計。
7.根據權利要求6所述的方法,其特徵在於,所述構建與所述基礎人名語言模型相關的基礎靜態解碼網路包括:為所述虛擬人名設定一個虛擬發音,以使所述虛擬人名作為一個普通單詞參與聲學模型的靜態網路擴展;根據所述虛擬發音確定擴展後的靜態網路中的特殊節點,所述特殊節點包括:進入人名單元的節點和人名單元的終止節點;對所述特殊節點的入弧或出弧上的虛擬發音單元進行擴展,得到與基礎人名語言模型相關的基礎靜態解碼網路。
8.根據權利要求4所述的方法,其特徵在於,所述構建特定用戶人名語言模型包括:從用戶上傳的人名相關信息中提取人名,並將所述人名作為人名詞條記錄;對每個人名詞條設定一個詞頻機率,並根據人名詞條的詞頻機率生成特定用戶人名語言模型;所述構建與所述特定用戶人名語言模型相關的附屬靜態解碼網路包括:分別設定特定用戶人名語言模型中的句首詞和句尾詞的發音為虛擬的特殊發音;對於句首節點的出弧和句尾節點的入弧上的特殊發音單元進行擴展,得到特定用戶人名語言模型相關的附屬靜態解碼網路。
9.一種用戶個性化信息語音識別系統,其特徵在於,包括:接收單元,用於接收用戶輸入的語音信號;解碼單元,用於根據基礎靜態解碼網路逐幀對所述語音信號進行解碼,得到當前幀在基礎靜態解碼網路中各活躍節點上的解碼路徑,所述基礎靜態解碼網路是對基礎人名語言模型中的字詞進行聲學單元的擴展構成的解碼網路,所述基礎人名語言模型是用於描述常用字詞間以及常用字詞與人名間的統計機率的語言模型;解碼路徑檢查單元,用於確定當前幀是否有解碼路徑進入所述基礎靜態解碼網路中的人名節點;
網路擴展單元,用於在所述解碼路徑檢查單元確定當前幀有解碼路徑進入所述基礎靜態解碼網路中的人名節點後,根據所述用戶的附屬靜態解碼網路對所述人名節點進行網路擴展,所述附屬靜態解碼網路是對特定用戶人名語言模型中的字詞進行聲學單元的擴展構成的解碼網路,所述特定用戶人名語言模型是用於描述所述用戶相關的具體人名的統計機率的語言模型;結果輸出單元,用於在最後一幀解碼完成後,返回識別結果。
10.根據權利要求9所述的系統,其特徵在於,所述系統還包括:確定單元,用於在所述解碼單元根據基礎靜態解碼網路逐幀對所述語音信號進行解碼之前,確定所述用戶的附屬靜態解碼網路;或者在解碼路徑檢查單元確定當前幀有解碼路徑進入所述基礎靜態解碼網路中的人名節點之後,確定所述用戶的附屬靜態解碼網路。
11.根據權利要求10所述的系統,其特徵在於,所述確定單元,具體用於根據所述語音信號的特徵確定用戶身份,然後根據所述用戶身份確定所述用戶的附屬靜態解碼網路;或者根據用戶的設備碼確定用戶身份,然後根據所述用戶身份確定所述用戶的附屬靜態解碼網路。
12.根據權利要求9至11任一項所述的系統,其特徵在於,所述系統還包括:基礎人名語言模型構建單元,用於構建基礎人名語言模型;特定用戶人名語言模型構建單元,用於構建特定用戶人名語言模型;基礎靜態解碼網路構建單元,用於構建與所述基礎人名語言模型相關的基礎靜態解碼網路;
附屬靜態解碼網路構建單元,用於構建與所述特定用戶人名語言模型相關的附屬靜態解碼網路。
13.根據權利要求12所述的系統,其特徵在於,所述基礎人名語言模型構建單元包括:人名採集單元,用於採集人名資料庫;語料採集單元,用於採集語言模型訓練語料;統計單元,用於根據所述人名資料庫及所述語言模型訓練語料,對常規字詞以及常規字詞與人名字詞間關聯關係進行統計;基礎人名語言模型生成單元,用於根據所述統計單元得到的統計結果生成基礎人名語言模型。
14.根據權利要求13所述的系統,其特徵在於,所述統計單元包括:檢測子單元,用於根據所述人名資料庫中的人名在所述訓練語料中進行人名檢測;替換子單元,用於對所述訓練語料中的所有具體人名用一個統一的虛擬人名替換;統計子單元,用於根據替換後的訓練語料對常規字詞以及常規字詞與人名字詞間關聯關係進行統計。
15.根據權利要求14所述的系統,其特徵在於,所述基礎靜態解碼網路構建單元包括:虛擬發音設定單元,用於為所述虛擬人名設定一個虛擬發音,以使所述虛擬人名作為一個普通單詞參與聲學模型的靜態網路擴展;特殊節點確定單元,用於根據所述虛擬發音確定擴展後的靜態網路中的特殊節點,所述特殊節點包括:進入人名單元的節點和人名單元的終止節點;第一擴展單元,用於對所述特殊節點的入弧或出弧上的虛擬發音單元進行擴展,得到與基礎人名語言模型相關的基礎靜態解碼網路。
16.根據權利要求12所述的系統,其特徵在於,所述特定用戶人名語言模型構建單元包括:人名提取單元,用於從用戶上傳的人名相關信息中提取人名,並將所述人名作為人名詞條記錄;特定用戶人名語言模型生成單元,用於對每個人名詞條設定一個詞頻機率,並根據人名詞條的詞頻機率生成特定用戶人名語言模型;所述附屬靜態解碼網路構建單元包括:設定單元,用於分別設定特定用戶人名語言模型中的句首詞和句尾詞的發音為虛擬的特殊發音;第二擴展單元,用於對於句首節點的出弧和句尾節點的入弧上的特殊發音單元進行擴展,得到特定用戶人名語言模型相關的附屬靜態解碼網路。
實施方式
《用戶個性化信息語音識別方法及系統》實施例針對2012年12月以前的用於連續語音識別的語言模型不能很好地模擬人名字詞,特別是用戶個性化聯繫人名字詞的問題,提供了一種用戶個性化信息語音識別方法及系統,以提高用戶個性化信息的識別準確率。
如圖1所示,是該發明實施例用戶個性化信息語音識別方法的流程圖,包括以下步驟:
步驟101,接收用戶的語音信號。
步驟102,根據基礎靜態解碼網路逐幀對所述語音信號進行解碼,得到當前幀在所述基礎靜態解碼網路中所有活躍節點上的解碼路徑,所述基礎靜態解碼網路是與基礎人名語言模型相關的解碼網路。
利用所述解碼網路對用戶輸入的語音信號進行解碼的過程是一個在該解碼網路中搜尋最優路徑,實現語音到文本的轉換的過程。
具體地,可以首先對接收的連續語音信號採樣為一系列離散能量值存入數據快取區。
當然,為了進一步提高系統的魯棒性,還可以先對接收到的連續語音信號進行降噪處理。首先通過對語音信號的短時能量和短時過零率分析,將連續的語音信號分割成獨立的語音片斷和非語音片斷,然後對分割得到的語音片斷進行語音增強處理,在進行語音增強處理時,可以通過維納濾波等方法,將語音信號中的環境噪聲進一步消除,以提高后續系統對該信號的處理能力。
考慮到降噪處理後的語音信號中依然會存在大量語音識別無關的冗餘信息,直接對其識別可能會使運算量和識別準確率降低,為此,可以從降噪處理後的語音能量信號中提取識別有效語音特徵,並存入特徵快取區內。具體地,可以提取語音的MFCC(Mel Frequency Cepstrum Coefficient,Mel頻率倒譜係數)特徵,對窗長25毫秒幀移10毫秒的每幀語音數據做短時分析得到MFCC參數及其一階、二階差分,總計39維。也就是說,將每幀語音信號量化為一39維的特徵序列。然後,根據所述基礎靜態解碼網路對其中每幀語音信號進行解碼,獲取所述語音信號在所述基礎靜態解碼網路中所有活躍節點上的解碼路徑。
步驟103,如果確定當前幀有解碼路徑進入所述基礎靜態解碼網路中的人名節點,則根據所述用戶的附屬靜態解碼網路對所述人名節點進行網路擴展,所述附屬靜態解碼網路是與特定用戶人名語言模型相關的解碼網路。
在2012年12月以前的技術中,解碼路徑的搜尋過程如下:按照從左到右的時間順序,計算每幀語音信號幀到達解碼網路中每個活躍節點的累積歷史路徑機率。具體地,對於需要考察的每幀語音信號幀,可以首先計算當前解碼網路中所有活躍節點相對於該語音信號幀的歷史路徑和累積歷史路徑機率。然後,獲取下一幀語音信號幀,並從滿足系統預設條件的歷史路徑向後擴展解碼。
由於該發明實施例中的解碼網路是與基礎人名語言模型相關的基礎靜態解碼網路,因此,在當前幀有解碼路徑進入所述基礎靜態解碼網路中的人名節點時,根據所述用戶的附屬靜態解碼網路對所述人名節點進行網路擴展。由於所述附屬靜態解碼網路是與特定用戶人名語言模型相關的解碼網路,因此通過對用戶個性化詞條的構建及套用,尤其是對用戶個性化聯繫人信息的套用,有效提高了用戶個性化信息的識別準確率。
步驟104,在最後一幀解碼完成後,返回識別結果。
當對最後一幀語音信號幀解碼後,其中具有最大累積歷史路徑機率的活躍節點即為最優節點,從該最優節點通過解碼狀態回溯得到的歷史路徑即為最優路徑,該最優路徑上的單詞序列即為解碼結果。
該發明實施例用戶個性化信息語音識別方法,在接收到用戶輸入的語音信號後,根據與基礎人名語言模型相關的基礎靜態解碼網路逐幀對所述語音信號進行解碼,得到當前幀在解碼網路中所有活躍節點上的解碼路徑,如果確定當前幀有解碼路徑進入所述基礎靜態解碼網路中的人名節點,則進一步根據所述用戶的與特定用戶人名語言模型相關的附屬靜態解碼網路對所述人名節點進行網路擴展,從而不僅提高了連續語音識別中個性化的聯繫人人名的識別準確率,而且還提高了聯繫人人名的上下文內容識別準確率。在語音識別的多個層面套用聯繫人信息,使整體識別效果得到了最佳化,提高了連續語音識別中用戶個性化信息的識別準確率。
需要說明的是,在實際套用中,上述基礎靜態解碼網路和附屬靜態解碼網路可以由系統線上構建,也可以通過離線方式構建,在系統啟動時直接載入,以減少系統運算量及所需記憶體,進一步提高解碼效率。
上述基礎靜態解碼網路是與基礎人名語言模型相關的解碼網路,附屬靜態解碼網路是與特定用戶人名語言模型相關的解碼網路,下面進一步詳細說明該發明實施例中人名相關語言模型及相關解碼網路的構建過程。
傳統語音識別系統通常採用統計模型的方法構建語言模型,通過模擬語法和語義知識減少識別範圍、提高識別率。一般的,系統首先根據預設詞典對海量訓練語料進行分詞處理,然後分別統計各詞聯合出現的機率,並採用條件機率的方式構建語言模型。假設某個詞wk出現的機率僅和其前n-1個詞相關,記為
然而由於中文人名數量眾多,傳統詞典很少將人名作為確定字詞處理,因而訓練語料分詞後的人名數量極其有限,訓練得到的語言模型也無法很好地描述具體人名的出現機率,進而影響了人名相關整詞的識別準確率。
為此,在該發明實施例中,分別構建用以描述常用字詞間以及常用字詞與人名間的統計機率的基礎人名語言模型、以及特定用戶相關的用以描述具體人名統計機率的語言模型。其中,基礎人名語言模型用於描述常用字詞間以及常用字詞與人名間的統計機率。特定用戶人名語言模型用於描述該用戶相關的具體人名的統計機率。
如圖2所示,是該發明實施例中構建基礎人名語言模型的流程圖,包括以下步驟:
步驟201,採集人名資料庫。
具體地,可以採集一個較大規模的人名資料庫,以實現對常用人名的有效覆蓋。
步驟202,採集語言模型訓練語料。
步驟203,根據所述人名資料庫及所述語言模型訓練語料,對常規字詞以及常規字詞與人名字詞間關聯關係進行統計。
具體地,可以根據所述人名資料庫中的人名在所述訓練語料中進行人名檢測,比如,可以採用傳統人名檢測算法進行人名檢測。然後對所述訓練語料中的所有具體人名用一個統一的虛擬人名替換,然後在替換後的訓練語料上對常規字詞以及常規字詞與人名字詞間關聯關係進行統計。
步驟204,根據統計結果生成基礎人名語言模型。
需要說明的是,在實際套用中,還可以在上述過程中對語料中的具體人名進行統計,確定各類不同人名詞條出現的詞頻,以便在構建特定用戶人名語言模型過程中依據該詞頻設定人名詞條的詞頻機率。
相比於傳統的語言模型,該基礎人名語言模型通過對人名字詞的歸納提取,更好地描述了人名屬性字詞和常規字詞的統計機率,實現了對人名整詞識別的支持。
上述基礎人名語言模型雖然描述了人名屬性字詞的統計機率,但依然無法解決具體人名字詞識別的問題。而在中文中,人名同音字大量存在,常見人名有幾十個甚至更多的漢字組合,此外對每個用戶來說,用戶特有的個性化通訊錄中聯繫人人名可能還會有一部分非常用人名,即每個個性化的人名列表在訓練語料中無法均勻覆蓋。
因此,為了更好地識別各特定用戶相關人名字詞,在該發明實施例中,還可進一步根據用戶需求構建特定用戶相關的人名語言模型,即前面所述的特定用戶人名語言模型。具體地,可以在接收到用戶上傳的聯繫人信息後從所述聯繫人信息中提取獲得該用戶特定的人名語言模型。
如圖3所示,是該發明實施例中構建特定用戶人名語言模型的流程圖,包括以下步驟:
步驟301,從用戶上傳的人名相關信息中提取人名,並將所述人名作為人名詞條記錄。
所述人名相關信息可以是通訊錄等。
步驟302,對每個人名詞條設定一個詞頻機率。
最簡單的可以設定每個人名詞條的詞頻機率均等,或者根據海量語料中統計的人名詞頻相應設定,更進一步的還可以根據用戶歷史使用記錄按高低頻度對人名詞條進行詞頻設定,並允許後續對其進行更新。
步驟303,根據人名詞條的詞頻機率生成特定用戶人名語言模型。
在該發明實施例中,可以利用詞典,聲學模型等預置模型結合上述構建的多重語言模型(即基礎人名語言模型和特定用戶人名語言模型)擴展,獲得相應的多重解碼搜尋靜態網路。具體地,可以選擇低階的聲學模型,如uniphone模型,對語言模型中的字詞進行聲學單元的擴展構成解碼網路。進一步地,為了提高解碼準確率,還可選用更高階的聲學模型,如biphone(雙音素)、triphone(三音素)模型等,提高不同發音單元之間的區分性。
如上面所述,對常規字詞以及常規字詞與人名字詞間關聯關係進行統計時,可以先對所述訓練語料中的所有具體人名用一個統一的虛擬人名替換,然後在替換後的訓練語料上對常規字詞以及常規字詞與人名字詞間關聯關係進行統計,構建基礎人名語言模型。也就是說,基礎人名語言模型中包含有虛擬人名單元,其在解碼前無法明確具體發音。為此,該發明實施例提供一種基於聲學模型的網路擴展方法,以構建與所述基礎人名語言模型相關的靜態解碼網路。
如圖4所示,是該發明實施例中構建與基礎人名語言模型相關的基礎靜態解碼網路的流程圖,包括以下步驟:
步驟401,為所述虛擬人名設定一個虛擬發音,以使所述虛擬人名作為一個普通單詞參與聲學模型的靜態網路擴展。
步驟402,確定擴展後的靜態網路中的特殊節點,所述特殊節點包括:進入人名單元的節點和人名單元的終止節點。
將所述虛擬發音記為$C,以triphone聲學模型為例,如圖5所示,在擴展後的靜態網路中將主要包括三類節點:常規節點(節點A)和兩類特殊節點(節點S和節點E)。
其中,a,b,x,y,n表示普通的發音單元,$C表示虛擬人名的發音單元,為了描述方便,將其稱為虛擬發音單元。
節點A為常規節點,即進入A節點以及離開A節點的弧上的triphone模型是可以預先確定的。
節點S為特殊節點,其出弧為人名單元,即進入人名單元的節點,顯然該節點的入弧上由於具體人名的不確定性導致該入弧上的triphone模型的右相關擴展不確定,如圖中x-b+$C和y-b+$C。
節點E為特殊節點,其入弧為人名單元,即人名單元的終止節點,相應的,其出弧上的triphone模型左相關也無法確定,如圖中$C-a+x和$C-a+y。
步驟403,對所述特殊節點的入弧或出弧上的虛擬發音單元進行擴展,得到與基礎人名語言模型相關的基礎靜態解碼網路。
對於節點S的入弧,例如x-b+$C和y-b+$C,對$C進行擴展替換成所有可能的phone單元,相應的,由弧x-b+$C將擴展出多個triphone模型的集合,包括x-b+a,x-b+b…等。擴展方式可以根據x-b的triphone組和規律確定。
對於節點E的出弧,同樣採取上述類似操作,如對$C-a+x和$C-a+y,將$C替換成所有可能的phone單元,擴展出相應的準確的triphone模型。
保持從節點S到節點E的弧*-$C+*不變,在後續動態解碼進入到節點S時對其進行具體人名靜態解碼網路的替換。
同樣,在構建特定用戶人名語言模型相關的靜態解碼網路時,對特定用戶相關的具體語言模型的擴展,在採用高階聲學模型時,也需要採用與上述類似的方法。
如圖6所示,是該發明實施例中特定用戶人名語言模型相關的附屬靜態解碼網路的流程圖,包括以下步驟:
步驟601,分別設定特定用戶人名語言模型中的句首詞和句尾詞的發音為虛擬的特殊發音。
通常語言模型中一般會包含兩個特殊的詞,即句首詞<s>和句尾詞</s>,分別表示句子開始和句子結束,句首句尾詞發音一般定義為靜音sil。
在該發明實施例中,為了保證人名單元在識別過程中和原始靜態網路的連線,可以對該特定用戶人名語言模型的句首和句尾詞的發音進行特殊處理,以便構建triphone模型擴展的靜態網路,具體如圖7所示。
其中,設定句首詞的發音為虛擬的特殊發音$S,句尾詞的發音為虛擬的特殊發音$E。從句首節點S出發的弧上的triphone模型左相關不確定,如圖中$S-a+b和$S-x+y,而句尾節點E的弧上的triphone模型的右相關是不確定的,如圖中a-b+$S和x-y+$S,並保持其他弧上的模型為常規triphone模型。
步驟602,對於句首節點的出弧和句尾節點的入弧上的特殊發音單元進行擴展,得到特定用戶人名語言模型相關的附屬靜態解碼網路。
具體地,對於句首節點S的出弧,例如$S-a+b和$S-x+y,將$S替換成所有可能的phone,擴展出相應的準確的triphone模型;對於句尾節點E的入弧也做類似操作,例如a-b+$S和x-y+$S,將$S替換成所有可能的phone,擴展出相應的準確的triphone模型。
前面提到,上述基礎靜態解碼網路及附屬靜態解碼網路可以通過離線方式構建,其中,附屬靜態解碼網路是與特定用戶相關的,也就是說,不同用戶可以對應不同的附屬靜態解碼網路。因此,在對接收的用戶語音信號進行識別過程中,可以載入針對該用戶的附屬靜態解碼網路,具體載入時機可以不同,比如,可以是在根據基礎靜態解碼網路逐幀對所述語音信號進行解碼之前,也可以是在確定當前幀有解碼路徑進入所述基礎靜態解碼網路中的人名節點之後等,對此,下面分別舉例說明。
如圖8所示,是該發明實施例用戶個性化信息語音識別方法中的一種具體解碼流程圖,包括以下步驟:
步驟801,接收用戶的語音信號。
步驟802,對所述語音信號進行預處理,並提取聲學特徵。
步驟803,確定所述用戶的附屬靜態解碼網路。
步驟804,在基礎靜態網路中逐幀對語音信號解碼,搜素當前解碼路徑。
步驟805,判斷當前解碼路徑中是否有路徑進入基礎靜態解碼網路中的人名節點;若是,則執行步驟806;否則執行步驟807。
步驟806,根據用戶的附屬靜態解碼網路對基礎靜態網路中的人名節點進行網路擴展。
具體地,可以利用附屬靜態解碼網路對基礎靜態網路中的該人名節點進行替換;或設定所述進入人名節點的解碼路徑直接進入所述用戶的附屬靜態解碼網路。
需要說明的是,當設定所述進入人名節點的解碼路徑進入所述用戶的附屬靜態解碼網路時,在接收到新的語音幀信號時,所述進入用戶的附屬靜態解碼網路的解碼路徑將在所述用戶的附屬靜態解碼網路內搜尋後續解碼路徑,並在所述路逕到達附屬的靜態解碼網路的終止節點時返回到基礎靜態網路的人名節點的終止節點。
步驟807,判斷當前幀是否最後一幀,即是否解碼結束;若是,則執行步驟808;否則轉入步驟804。
步驟808,返回解碼結果。
如圖9所示,是該發明實施例用戶個性化信息語音識別方法中的另一種具體解碼流程圖,包括以下步驟:
步驟901,接收用戶的語音信號。
步驟902,對所述語音信號進行預處理,並提取聲學特徵。
步驟903,在基礎靜態網路中逐幀對語音信號解碼,搜素當前解碼路徑。
步驟904,判斷當前解碼路徑中是否有路徑進入基礎靜態解碼網路中的人名節點;若是,則執行步驟905;否則執行步驟907。
步驟905,確定所述用戶的附屬靜態解碼網路。
步驟906,根據用戶的附屬靜態解碼網路對基礎靜態網路中的人名節點進行網路擴展。
具體地,可以利用附屬靜態解碼網路對基礎靜態網路中的該人名節點進行替換;或設定所述進入人名節點的解碼路徑直接進入所述用戶的附屬靜態解碼網路。
需要說明的是,當設定所述進入人名節點的解碼路徑進入所述用戶的附屬靜態解碼網路時,在接收到新的語音幀信號時,所述進入用戶的附屬靜態解碼網路的解碼路徑將在所述用戶的附屬靜態解碼網路內搜尋後續解碼路徑,並在所述路逕到達附屬的靜態解碼網路的終止節點時返回到基礎靜態網路的人名節點的終止節點。
步驟907,判斷當前幀是否最後一幀,即是否解碼結束;若是,則執行步驟908;否則轉入步驟903。
步驟908,返回解碼結果。
需要說明的是,上述步驟803和步驟905中,確定所述用戶的附屬靜態解碼網路的方式可以有多種,比如:
(1)根據用戶的語音信號特徵確定用戶的身份,即具體的用戶,然後根據用戶的身份確定其附屬靜態解碼網路。
(2)根據用戶的設備碼確定用戶的身份,然後根據用戶的身份確定其附屬靜態解碼網路。
可見,該發明實施例用戶個性化信息語音識別方法,在接收到用戶輸入的語音信號後,根據與基礎人名語言模型相關的基礎靜態解碼網路逐幀對所述語音信號進行解碼,得到當前幀在解碼網路中所有活躍節點上的解碼路徑,如果確定當前幀有解碼路徑進入所述基礎靜態解碼網路中的人名節點,則進一步根據所述用戶的與特定用戶人名語言模型相關的附屬靜態解碼網路對所述人名節點進行網路擴展,從而不僅提高了連續語音識別中個性化的聯繫人人名的識別準確率,而且還提高了聯繫人人名的上下文內容識別準確率。在語音識別的多個層面套用聯繫人信息,使整體識別效果得到了最佳化,提高了連續語音識別中用戶個性化信息的識別準確率。
需要說明的是,該發明實施例用戶個性化信息語音識別方法不僅適用於用戶人名解碼,還適用於其他可定義的個性化信息的語音識別,比如地址識別等。
相應地,該發明實施例還提供一種用戶個性化信息語音識別系統,如圖10所示,是該系統的結構示意圖。
在該實施例中,所述系統包括:
接收單元111,用於接收用戶輸入的語音信號;
解碼單元112,用於根據基礎靜態解碼網路逐幀對所述語音信號進行解碼,得到當前幀在基礎靜態解碼網路中各活躍節點上的解碼路徑,所述基礎靜態解碼網路是與基礎人名語言模型相關的解碼網路;
解碼路徑檢查單元113,用於確定當前幀是否有解碼路徑進入所述基礎靜態解碼網路中的人名節點;
網路擴展單元114,用於在所述解碼路徑檢查單元113確定當前幀有解碼路徑進入所述基礎靜態解碼網路中的人名節點後,根據所述用戶的附屬靜態解碼網路對所述人名節點進行網路擴展,所述附屬靜態解碼網路是與特定用戶人名語言模型相關的解碼網路;
所述解碼單元112,還用於在最後一幀解碼完成後,返回識別結果。
解碼單元112對用戶輸入的語音信號進行解碼的過程是一個在所述基礎靜態解碼網路中搜尋最優路徑,實現語音到文本的轉換的過程。具體地,可以首先對接收的連續語音信號採樣為一系列離散能量值存入數據快取區。
當然,為了進一步提高系統的魯棒性,在所述系統中還可以包括預處理單元(未圖示),用於在解碼單元112對用戶輸入的語音信號進行解碼之前,對接收單元111接收到的連續語音信號進行降噪處理。具體地,可以首先通過對語音信號的短時能量和短時過零率分析,將連續的語音信號分割成獨立的語音片斷和非語音片斷,然後對分割得到的語音片斷進行語音增強處理,在進行語音增強處理時,可以通過維納濾波等方法,將語音信號中的環境噪聲進一步消除,以提高后續系統對該信號的處理能力。
考慮到降噪處理後的語音信號中依然會存在大量語音識別無關的冗餘信息,直接對其識別可能會使運算量和識別準確率降低,為此,所述預處理單元還可以從降噪處理後的語音能量信號中提取識別有效語音特徵,並存入特徵快取區內。具體地,可以提取語音的MFCC(MelFrequencyCepstrumCoefficient,Mel頻率倒譜係數)特徵,對窗長25毫秒幀移10毫秒的每幀語音數據做短時分析得到MFCC參數及其一階、二階差分,總計39維。也就是說,將每幀語音信號量化為一39維的特徵序列。然後,再由解碼單元112根據所述基礎靜態解碼網路對其中每幀語音信號進行解碼,獲取所述語音信號在所述基礎靜態解碼網路中所有活躍節點上的解碼路徑。當對最後一幀語音信號幀解碼後,其中具有最大累積歷史路徑機率的活躍節點即為最優節點,從該最優節點通過解碼狀態回溯得到的歷史路徑即為最優路徑,該最優路徑上的單詞序列即為解碼結果。
由於所述基礎靜態解碼網路是與基礎人名語言模型相關的解碼網路,因此,在當前幀有解碼路徑進入所述基礎靜態解碼網路中的人名節點時,由網路擴展單元114根據所述用戶的附屬靜態解碼網路對所述人名節點進行網路擴展。由於所述附屬靜態解碼網路是與特定用戶人名語言模型相關的解碼網路,因此通過對用戶個性化詞條的構建及套用,尤其是對用戶個性化聯繫人信息的套用,有效提高了用戶個性化信息的識別準確率。
該發明實施例用戶個性化信息語音識別系統,在接收到用戶輸入的語音信號後,根據與基礎人名語言模型相關的基礎靜態解碼網路逐幀對所述語音信號進行解碼,得到當前幀在解碼網路中所有活躍節點上的解碼路徑,如果確定當前幀有解碼路徑進入所述基礎靜態解碼網路中的人名節點,則進一步根據所述用戶的與特定用戶人名語言模型相關的附屬靜態解碼網路對所述人名節點進行網路擴展,從而不僅提高了連續語音識別中個性化的聯繫人人名的識別準確率,而且還提高了聯繫人人名的上下文內容識別準確率。在語音識別的多個層面套用聯繫人信息,使整體識別效果得到了最佳化,提高了連續語音識別中用戶個性化信息的識別準確率。
上述網路擴展單元114需要根據所述用戶的附屬靜態解碼網路對所述人名節點進行網路擴展。如果所述系統的用戶只有一個,則所述附屬靜態解碼網路是唯一的,可以由系統線上構建,也可以通過離線方式構建,在系統啟動時直接載入。如果所述系統的用戶有多個,則需要識別當前的用戶以及該用戶對應的附屬靜態解碼網路。同樣,這些不同用戶的附屬靜態解碼網路可以由系統線上構建,也可以通過離線方式構建,在系統啟動時直接載入。
需要說明的是,在具體套用中,當前用戶對應的附屬靜態解碼網路的確定可以在不同時機來完成。
如圖11所示,是該發明用戶個性化信息語音識別系統的一種具體實現結構示意圖。
與圖10不同的是,在該實施例中,所述用戶個性化信息語音識別系統還包括:確定單元121,用於在所述解碼單元112根據基礎靜態解碼網路逐幀對所述語音信號進行解碼之前,確定所述用戶的附屬靜態解碼網路。
如圖12所示,是該發明用戶個性化信息語音識別系統的另一種具體實現結構示意圖。
與圖10不同的是,在該實施例中,所述用戶個性化信息語音識別系統還包括:確定單元131,用於在解碼路徑檢查單元113確定當前幀有解碼路徑進入所述基礎靜態解碼網路中的人名節點之後,確定所述用戶的附屬靜態解碼網路。
需要說明的是,無論是上述確定單元121還是確定單元131,都可以根據所述語音信號的特徵確定用戶身份,然後根據所述用戶身份確定所述用戶的附屬靜態解碼網路;或者根據用戶的設備碼確定用戶身份,然後根據所述用戶身份確定所述用戶的附屬靜態解碼網路。
在實際套用中,上述基礎靜態解碼網路和附屬靜態解碼網路可以由系統線上構建,也可以通過離線方式構建,在系統啟動時直接載入,以減少系統運算量及所需記憶體,進一步提高解碼效率。
由於中文人名數量眾多,傳統詞典很少將人名作為確定字詞處理,因而訓練語料分詞後的人名數量極其有限,訓練得到的語言模型也無法很好地描述具體人名的出現機率,進而影響了人名相關整詞的識別準確率。為此,在該發明系統的另一實施例中,如圖13所示,還可進一步包括:
基礎人名語言模型構建單元131,用於構建基礎人名語言模型
特定用戶人名語言模型構建單元132,用於構建特定用戶人名語言模型;
基礎靜態解碼網路構建單元133,用於構建與所述基礎人名語言模型相關的基礎靜態解碼網路;
附屬靜態解碼網路構建單元134,用於構建與所述特定用戶人名語言模型相關的附屬靜態解碼網路。
如圖14所示,是該發明實施例用戶個性化信息語音識別系統中基礎人名語言模型構建單元的結構示意圖。
所述基礎人名語言模型構建單元包括:
人名採集單元141,用於採集人名資料庫;
語料採集單元142,用於採集語言模型訓練語料;
統計單元143,用於根據所述人名資料庫及所述語言模型訓練語料,對常規字詞以及常規字詞與人名字詞間關聯關係進行統計;
基礎人名語言模型生成單元143,用於根據所述統計單元143得到的統計結果生成基礎人名語言模型。
上述統計單元143可以根據所述人名資料庫中的人名在所述訓練語料中進行人名檢測,比如,可以採用傳統人名檢測算法進行人名檢測。然後對所述訓練語料中的所有具體人名用一個統一的虛擬人名替換,然後在替換後的訓練語料上對常規字詞以及常規字詞與人名字詞間關聯關係進行統計。為此,所述統計單元143可以包括:
檢測子單元,用於根據所述人名資料庫中的人名在所述訓練語料中進行人名檢測;
替換子單元,用於對所述訓練語料中的所有具體人名用一個統一的虛擬人名替換;
統計子單元,用於根據替換後的訓練語料對常規字詞以及常規字詞與人名字詞間關聯關係進行統計。
相比於傳統的語言模型,由所述基礎人名語言模型構建單元構建的基礎人名語言模型通過對人名字詞的歸納提取,更好地描述了人名屬性字詞和常規字詞的統計機率,實現了對人名整詞識別的支持。
如圖15所示,是該發明實施例用戶個性化信息語音識別系統中基礎靜態解碼網路構建單元的結構示意圖。
所述基礎靜態解碼網路構建單元包括:
虛擬發音設定單元151,用於為虛擬人名設定一個虛擬發音,以使所述虛擬人名作為一個普通單詞參與聲學模型的靜態網路擴展;
特殊節點確定單元152,用於根據所述虛擬發音確定擴展後的靜態網路中的特殊節點,所述特殊節點包括:進入人名單元的節點和人名單元的終止節點;
第一擴展單元153,用於對所述特殊節點的入弧或出弧上的虛擬發音單元進行擴展,得到與基礎人名語言模型相關的基礎靜態解碼網路。
如圖16所示,是該發明實施例用戶個性化信息語音識別系統中特定用戶人名語言模型構建單元和附屬靜態解碼網路構建單元的結構示意圖。
所述特定用戶人名語言模型構建單元包括:
人名提取單元161,用於從用戶上傳的人名相關信息中提取人名,並將所述人名作為人名詞條記錄;
特定用戶人名語言模型生成單元162,用於對每個人名詞條設定一個詞頻機率,並根據人名詞條的詞頻機率生成特定用戶人名語言模型;
所述附屬靜態解碼網路構建單元包括:
設定單元171,用於分別設定特定用戶人名語言模型中的句首詞和句尾詞的發音為虛擬的特殊發音;
第二擴展單元172,用於對於句首節點的出弧和句尾節點的入弧上的特殊發音單元進行擴展,得到特定用戶人名語言模型相關的附屬靜態解碼網路。
利用該發明實施例用戶個性化信息語音識別系統,不僅可以提高連續語音識別中個性化的聯繫人人名的識別準確率,而且還可以提高聯繫人人名的上下文內容識別準確率。在語音識別的多個層面套用聯繫人信息,使整體識別效果得到了最佳化,提高了連續語音識別中用戶個性化信息的識別準確率。
需要說明的是,該發明實施例用戶個性化信息語音識別系統不僅適用於用戶人名解碼,還適用於其他可定義的個性化信息的語音識別,比如地址識別等。
該專利中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述得比較簡單,相關之處參見方法實施例的部分說明即可。以上所描述的系統實施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位於一個地方,或者也可以分布到多個網路單元上。可以根據實際的需要選擇其中的部分或者全部模組來實現該實施例方案的目的。該領域普通技術人員在不付出創造性勞動的情況下,即可以理解並實施。
以上對該發明實施例進行了詳細介紹,該文中套用了具體實施方式對該發明進行了闡述,以上實施例的說明只是用於幫助理解該發明的方法及設備;同時,對於該領域的一般技術人員,依據該發明的思想,在具體實施方式及套用範圍上均會有改變之處,綜上所述,該專利內容不應理解為對該發明的限制。
榮譽表彰
2020年7月,《用戶個性化信息語音識別方法及系統》獲得第二十一屆中國專利銀獎。