一種建立用於語音識別的語言模型的方法及裝置的製作方法
2023-04-30 22:29:46 2
專利名稱:一種建立用於語音識別的語言模型的方法及裝置的製作方法
—種建立用於語音識別的語言模型的方法及裝置
技術領域:
本發明涉及語音識別技術,特別涉及一種建立用於語音識別的語言模型的方法及裝置。
背景技術:
搜尋引擎大大改變了人們獲取信息的方式,已經越來越成為人們生活中不可或缺的部分。近年來,隨著語音識別技術的發展,語音搜索成了一種更為便捷的搜索方式。人們通過移動終端輸入語音搜索請求,就可以從搜尋引擎伺服器得到滿足自己需求的搜索結
果O語音搜索依賴語音識別技術,只有正確對用戶的語音輸入進行識別,才能返回用戶想要查找的信息。語音識別的效果取決於語音識別中使用的聲學模型及語言模型。聲學模型在語音識別中應用於語音到音節概率的計算,而語言模型在語音識別中應用於音節到字概率的計算。語言模型是描述詞語概率分布的模型,一個能可靠反映用戶語音搜索時用詞的概率分布的語言模型,是語音搜索系統取得可靠結果的關鍵。由於語言模型中詞語的概率分布取決於訓練該語言模型時使用的語料,因此,獲取與用戶語音搜索時用詞習慣一致的訓練語料非常重要。在現有技術中,通常採用兩種方法獲取訓練語料,第一種是人工標註用戶在語音搜索時的查詢請求並將標註後的查詢請求作為訓練語料,這種方式的缺點是成本很高,也很難獲取到足夠數量的語料,另一種方式是直接將用戶以文字輸入的查詢請求作為訓練語料,這種方式的缺點是由於用戶使用語音輸入方式發出搜索請求時的用詞與使用文字輸入方式發出搜索請求時的用詞相比存在差異,這種方式得到的語言模型,很難反映用戶使用語音搜索時用詞的偏好,將這樣的語言模型應用於語音識別中,就會降低語音識別的精度。
發明內容本發明所要解決的技術問題是提供一種建立用於語音識別的語言模型的方法及裝置,以解決現有技術的語言模型難以反映用戶在語音表述時的用詞習慣從而影響語音識別精度的缺陷。本發明為解決技術問題而採用的技術方案是提供一種建立用於語音識別的語言模型的方法,包括:Α.將對用戶的語音搜索查詢進行識別的結果作為語音搜索語料進行語言模型訓練,得到語音語言模型;以及,將用戶的文本搜索查詢作為文本搜索語料進行語言模型訓練,得到文本語言模型;Β.將所述語音語言模型與所述文本語言模型融合,得到識別語目模型。根據本發明之一優選實施例,所述步驟A中,使用初始的識別語言模型對用戶的語音搜索查詢進行識別。根據本發明之一優選實施例,所述步驟B中,將所述語音語言模型與所述文本語言模型融合時,將所述語音語言模型中的參數與所述文本語言模型中的參數進行插值,以得到所述識別語言模型中的參數。根據本發明之一優選實施例,將所述語音語言模型與所述文本語言模型中的參數進行插值時,對所述語音語言模型或所述文本語言模型中的參數進行加權。根據本發明之一優選實施例,所述方法進一步包括:使用所述識別語言模型對用戶的語音搜索查詢進行識別,得到識別結果。根據本發明之一優選實施例,所述方法進一步包括:將所述識別結果作為新增加的語音搜索語料進行語言模型訓練,以更新所述語音語言模型,並返回所述步驟B。根據本發明之一優選實施例,使用識別語言模型對用戶的語音搜索查詢進行識別的步驟包括:根據用戶的語音搜索查詢建立多個候選詞序列;使用識別語言模型計算每個候選詞序列在識別語言模型中出現的概率,並選擇出現概率最大的候選詞序列作為對用戶的語音搜索查詢的識別結果。8、根據權利要求5所述的方法,其特徵在於,所述方法進一步包括:向用戶返回與所述識別結果相關的檢索結果。本發明還提供了一種建立識別語音模型的裝置,包括:第一訓練單元,用於將對用戶的語音搜索查詢進行識別的結果作為語音搜索語料進行語言模型訓練,得到語音語言模型;第二訓練單元,用於將用戶的文本搜索查詢作為文本搜索語料進行語言模型訓練,得到文本語言模型;融合單元,用於將所述語音語言模型與所述文本語言模型融合,得到識別語目模型。根據本發明之一優選實施例,所述第一訓練單元進行語言模型訓練時使用的語音搜索語料是使用初始的識別語言模型對用戶的語音搜索查詢進行識別後得到的。根據本發明之一優選實施例,所述融合單元將所述語音語言模型與所述文本語言模型融合時,對所述語音語言模型和所述文本語言模型中的參數進行插值,以得到所述識別語言模型中的參數。根據本發明之一優選實施例,所述融合單元對所述語音語言模型和文本語言模型中的參數進行插值時,對所述語音語言模型或所述文本語言模型中的參數進行加權。根據本發明之一優選實施例,所述裝置進一步包括:識別單元,用於使用所述識別語言模型對用戶的語音搜索查詢進行識別,得到識別結果。根據本發明之一優選實施例,所述識別單元將得到的識別結果提供給所述第一訓練單元,供所述第一訓練單元將所述識別結果作為新增加的語音搜索語料進行語言模型訓練,以更新所述語音語言模型。根據本發明之一優選實施例,所述識別單元包括:詞序列單元,用於根據用戶的語音搜索查詢建立多個候選詞序列;計算單元,用於使用所述識別語言模型計算每個候選詞序列在所述識別語言模型中出現的概率,並選擇出現概率最大的候選詞序列作為對用戶的語音搜索查詢的識別結果。根據本發明之一優選實施例,所述裝置進一步包括:檢索單元,用於向用戶返回與所述識別結果相關的檢索結果。由以上技術方案可以看出,通過將語音識別結果作為語料進行語言模型訓練,並將語音識別結果訓練的語言模型與文本語料訓練的語言模型融合得到的識別語言模型,能夠很好地反映用戶語音輸入時的用詞偏好,將這樣的識別語言模型應用於語音識別中,可以提聞語首識別的精度。
圖1為本發明中建立用於語音識別的語言模型的方法的實施例的流程示意圖;圖2為本發明中獲取語音搜索語料及文本搜索語料的實施例的示意圖;圖3為本發明中詞圖的實施例的示意圖;圖4為本發明中建立用於語音識別的語言模型的裝置的實施例的結構示意框圖;圖5為本發明中識別單元的實施例的結構示意框圖。
具體實施方式
為了使本發明的目的、技術方案和優點更加清楚,下面結合附圖和具體實施例對本發明進行詳細描述。請參考圖1,圖1為本發明中建立用於語音識別的語言模型的方法的實施例的流程示意圖。如圖1所示,該方法包括:SlOl:將對用戶的語音搜索查詢進行識別的結果作為語音搜索語料進行語言模型訓練,得到語音語言模型;以及,將用戶的文本搜索查詢作為文本搜索語料進行語言模型訓練,得到文本語言模型。S102:將語音語言模型與文本語言模型融合以得到識別語言模型。下面對上述步 驟進行具體說明。請參考圖2,圖2為步驟SlOl中獲取語音搜索語料及文本搜索語料的實施例的示意圖。如圖2所示,用戶在搜索時,可以通過文字輸入或語音輸入的方式進行。當用戶利用鍵盤輸入搜索請求,文本收集客戶端就會將收集到的文本搜索請求通過網絡發送到搜尋引擎伺服器,伺服器中的日誌記錄裝置在檢索日誌中記錄用戶通過鍵盤輸入的搜索請求,該檢索日誌就可以作為本發明中的文本搜索語料。當用戶通過移動終端(如手機)發出語音搜索請求時,語音收集客戶端會將收集到的語音信號通過網絡傳遞到搜尋引擎伺服器,搜尋引擎伺服器中的語音識別裝置對用戶的語音搜索請求進行識別後得到識別結果,該識別結果即可作為本發明中的語音搜索語料。在圖2所示的獲取語音搜索語料的實施例中,語音識別裝置需要利用初始的識別語言模型對用戶的語音搜索查詢進行識別。本實施例中的初始的識別語言模型可以是一個現有的識別語言模型,也可以是利用本發明所提供方法建立的識別語言模型,這種情況下圖2中的語音識別裝置得到的識別結果,即步驟SlOl中用於語言模型訓練的語音搜索語料對步驟S102中的識別語言模型起到了更新的作用,從而實現了本發明中的識別語言模型的自適應過程。語言模型指的是N-Gram語言模型,該模型基於這樣一種假設,即第N個詞的出現只與前面N-1個詞相關,而與其它任何詞都不相關,整句的概率就是各個詞出現概率的乘積。訓練語言模型的過程,就是從語料中統計N個詞同時出現的次數,以得到各個N-Gram概率值的過程。通常使用較多的為二元的B1-Gram模型和三元的Tr1-Gram模型,本發明對此不做限制。語音語言模型和文本語言模型中的參數是各N-Gram概率值,在步驟S102中將語音語言模型與文本語言模型融合時,對語音語言模型中的參數和文本語言模型中的參數進行插值處理,這樣就得到了識別語言模型中的參數,即識別語言模型中的各個N-Gram概率值。例如:在語音語言模型中P (您好)是0.5,其中P(X)表示X的概率值,文本語言模型中詞語P (您好)是0.8,如果給語音語言模型與文本語言模型中的參數(即各個概率值)賦予相同的權值,則在插值後的識別語言模型中,P(您好)就是50% *0.5+50% *0.8=0.65。此外,在對語音語言模型中的參數與文本語言模型中的參數進行插值處理時,還可以為語音語言模型中的參數加權。例如上面的例子中,如果語音語言模型的權重設置為70 %,文本語言模型的權重設置為30 %,則P (您好)就是70 % *0.5+30 % *0.2 = 0.41。為語音語言模型中的參數進行加權,可以使得最終的識別語言模型更好地反映用戶語音輸入時的偏好。如果希望最終的識別語言模型側重於反映用戶文本輸入時的偏好,也可以對文本語言模型進行加權。得到識別語言模型後,進一步地,還可以用識別語言模型對用戶的語音搜索查詢進行識別,得到識別結果。得到的識別結果可以作為新增加的語音搜索語料進行語言模型訓練,以更新語音語言模型,更新後的語音語言模型與文本語言模型融合後又可以更新識別語言模型,達到自適應的過程。對用戶的語音搜索查詢進行識別的過程包括:根據用戶的語音搜索查詢建立多個候選詞序列;使用識別語言模型計算每個候選詞序列在識別語言模型中出現的概率,並選擇出現概率最大的候選詞序列作為用戶的語音搜索查詢的識別結果。例如用戶的語音搜索查詢的音節為「na Ii de kao ya hao chi」,這個音節序列可以表示為多個候選詞序列,如「那裡的烤牙好吃」、「那裡的烤鴨好吃」或「哪裡的烤鴨好吃」等等。針對每個候選詞序列,從識別語言模型中可以查找到其中每個詞出現的概率以及相鄰詞語之間的轉移概率,將每個詞出現的概率以及相鄰詞語之間的轉移概率相乘即可得到該候選詞序列在語言模型中出現的概率,這樣,出現概率最大的候選詞序列就可以作為對用戶的語音搜索查詢的識別結果。以識別語言模型為B1-Gram語言模型為例,一個候選詞序列在識別語言模型中出現的概率可以表示如下:P (哪裡的烤鴨好吃)=P (哪裡的)*P (烤鴨I哪裡的)*P (烤鴨)*P (好吃I烤鴨)*P (好吃)其中P (哪裡的)、P (烤鴨)、P (好吃)為候選詞序列中每個詞出現的概率,P (烤鴨I哪裡的)、P(好吃I烤鴨)為相鄰詞語之間的轉移概率。在根據用戶的語音搜索查詢建立多個候選詞序列時,可以在與音節對應的詞語中選取在語言模型中出現頻率最高的若干個詞形成如圖3所示的詞圖,詞圖中任意一條從前向後連通的路徑均可作為候選詞序列,應該理解,以上建立多個候選詞序列的方式只是示意性說明,本發明對建立多個候選詞序列的策略不做限定,可在本領域技術人員能夠實現的方式中任意選擇。在得到了對用戶語音搜索查詢的識別結果後,本發明還可以進一步向用戶返回與識別結果相關的檢索結果,這個過程與現有的搜尋引擎返回與用戶輸入的查詢內容相關的檢索結果類似,在此不再進行具體描述。可以理解,與識別結果相關的檢索結果,既可以是包含識別結果的檢索結果,也可以是基於識別結果而進行擴展的檢索結果,相應的擴展檢索結果採用的擴展策略,可採用任意現有的擴展策略,本發明對此不做限制。請參考圖4,圖4為本發明中建立用於語音識別的語言模型的裝置的實施例的結構示意框圖。如圖4所示,語音識別的裝置包括:第一訓練單元201、第二訓練單元202、融合單元203、識別單元204。第一訓練單元201,用於將對用戶的語音搜索查詢進行識別的結果作為語音搜索語料進行語言模型訓練,得到語音語言模型。第二訓練單元202,用於將用戶的文本搜索查詢作為文本搜索語料進行語言模型訓練,得到文本語言模型。融合單元203,用語將語音語言模型與文本語言模型融合,得到識別語言模型。識別單元204,用於使用識別語言模型對用戶的語言搜索查詢進行識別,得到識別結果。在一個實施例中,第一訓練單元201進行語言模型訓練時使用的語音搜索語料是使用初始的識別語言模型對用戶的語言搜索查詢進行識別後得到的。初始的識別語言模型可以是一個現有的識別語言模型,也可以是利用本發明所提供的裝置建立的識別語言模型。第二訓練單元202中的文本搜索語料是搜尋引擎中記錄用戶文本搜索查詢的檢索日誌。本發明中的語言模型,指的是N-Gram語言模型,該模型基於這樣一種假設,即第N個詞的出現只與前面N-1個詞相關,而與其它任何詞都不相關,整句的概率就是各個詞出現概率的乘積。訓練語言模型的過程,就是從語料中統計N個詞同時出現的次數,以得到各個N-Gram概率值的過程。通常使用較多的為二元的B1-Gram模型和三元的Tr1-Gram模型,本發明對此不做限制。語音語言模型和文本語言模型中的參數是各N-Gram概率值,融合單元203在將語音語言模型與文本語言模型融合時,對語音語言模型中的參數和文本語言模型中的參數進行插值處理,這樣就得到了識別語言模型中的參數,即識別語言模型中的各個N-Gram概率值。例如:在語音語言模型中詞語P (您好)是0.5 (P表示概率值),文本語言模型中詞語P (您好)是0.8,如果給語音語言模型與文本語言模型中的參數(即各個概率值)賦予相同的權值,則在插值後的識別語言模型中,P(您好)就是50% *0.5+50% *0.8 = 0.65。融合單元203在對語音語言模型中的參數和文本語言模型中的參數進行插值處理時,可以為語音語言模型中的參數加權。例如上面的例子中,如果語音語言模型的權重設置為70%,文本語言模型的權重設置為30%,則P(您好)就是70% *0.5+30% *0.2 =
0.41。為語音語言模型中的參數進行加權,可以使得最終的識別語言模型更好地反映用戶語音輸入時的偏好。如果希望最終的識別語言模型側重於反映用戶文本輸入時的偏好,融合單元203也可以對文本語言模型進行加權。請參考圖5,圖5為本發明中識別單元的實施例的示意圖。如圖5所示,識別單元204包括詞序列單元2041和計算單元2042。其中詞序列單元2041用於根據用戶的語音搜索查詢建立多個候選詞序列,計算單元2042用於使用識別語言模型計算每個候選詞序列在識別語言模型中出現的概率,並選擇出現概率最大的候選詞序列作為用戶的語音搜索查詢的識別結果。詞序列單元2041在得到用戶的語音搜索查詢之後根據語音搜索查詢的音節建立起多個候選詞序列。例如用戶的語音搜索查詢的音節為「na Ii de kaoya hao chi」,則詞序列單元2041可以建立起如圖3所示的詞圖,詞圖中任意一條從前向後連通的路徑形成了一個候選詞序列,如「那裡的烤牙好吃」、「那裡的烤鴨好吃」或「哪裡的烤鴨好吃」等等。詞序列單元2041在建立多個候選詞序列時,可以在與音節對應的詞語中選取在識別語言模型中出現頻率最高的若干個詞形成詞圖,此外,也可以採用本領域技術人員能夠實現的任意其他方法建立多個候選詞序列。計算單元2042針對詞候選單元2041中的每個候選詞序列,從識別語言模型中查找到其中每個詞出現的概率以及相鄰詞語之間的轉移概率,並將每個詞出現的概率與相鄰詞語之間的轉移概率相乘得到每個候選詞序列出現的概率,這樣,出現概率最大的候選詞序列就可以作為對用戶的語音搜索查詢的識別結果。請繼續參考圖4。進一步地,識別單元204將得到的識別結果提供給第一訓練單元201,供第一訓練單元201將識別結果作為新增加的語音搜索語料進行語言模型訓練,以更新語音語言模型。更新後的語音語言模型與文本語言模型經過融合單元203的處理,就實現了對識別語言模型進行更新的目的,從而實現本裝置的自適應過程。此外,本發明的裝置進一步還可包括一檢索單元(圖4中未示出),用於在識別單元204得到了對用戶語音搜索查詢的識別結果後,向用戶返回與識別結果相關的檢索結果,檢索單元的工作原理與現有搜尋引擎的檢索單元的工作原理相同,本發明不再做詳細介紹。應該理解,與識別結果相關的檢索結果,既可以是包含識別結果的檢索結果,也可以是基於識別結果而進行擴展的檢索結果,相應的擴展檢索結果採用的擴展策略,可採用任意現有的擴展策略,本發明對此不做限制。以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明保護的範圍之內。
權利要求
1.一種建立用於語音識別的語言模型的方法,其特徵在於,該方法包括: A.將對用戶的語音搜索查詢進行識別的結果作為語音搜索語料進行語言模型訓練,得到語音語言模型;以及,將用戶的文本搜索查詢作為文本搜索語料進行語言模型訓練,得到文本語目模型; B.將所述語音語言模型與所述文本語言模型融合,得到識別語言模型。
2.根據權利要求1所述的方法,其特徵在於,所述步驟A中,使用初始的識別語言模型對用戶的語音搜索查詢進行識別。
3.根據權利要求1所述的方法,其特徵在於,所述步驟B中,將所述語音語言模型與所述文本語言模型融合時,將所述語音語言模型中的參數與所述文本語言模型中的參數進行插值,以得到所述識別語言模型中的參數。
4.根據權利要求3所述的方法,其特徵在於,將所述語音語言模型與所述文本語言模型中的參數進行插值時,對所述語音語言模型或所述文本語言模型中的參數進行加權。
5.根據權利要求1所述的方法,其特徵在於,所述方法進一步包括: 使用所述識別語言模型對用戶的語音搜索查詢進行識別,得到識別結果。
6.根據權利要求5所述的方法,其特徵在於,所述方法進一步包括:將所述識別結果作為新增加的語音搜索語料進行語言模型訓練,以更新所述語音語言模型,並返回所述步驟B0
7.根據權利要求2或5所述的方法,其特徵在於,使用識別語言模型對用戶的語音搜索查詢進行識別的步驟包括: 根據用戶的語音搜索查詢建立多個候選詞序列; 使用識別語言模型計算每個候選詞序列在識別語言模型中出現的概率,並選擇出現概率最大的候選詞序列作為對用戶的語音搜索查詢的識別結果。
8.根據權利要求5所述的方法,其特徵在於,所述方法進一步包括: 向用戶返回與所述識別結果相關的檢索結果。
9.一種建立識別語音模型的裝置,其特徵在於,該裝置包括: 第一訓練單元,用於將對用戶的語音搜索查詢進行識別的結果作為語音搜索語料進行語言模型訓練,得到語音語言模型; 第二訓練單元,用於將用戶的文本搜索查詢作為文本搜索語料進行語言模型訓練,得到文本語言模型; 融合單元,用於將所述語音語言模型與所述文本語言模型融合,得到識別語言模型。
10.根據權利要求9所述的裝置,其特徵在於,所述第一訓練單元進行語言模型訓練時使用的語音搜索語料是使用初始的識別語言模型對用戶的語音搜索查詢進行識別後得到的。
11.根據權利要求9所述的裝置,其特徵在於,所述融合單元將所述語音語言模型與所述文本語言模型融合時,對所述語音語言模型和所述文本語言模型中的參數進行插值,以得到所述識別語言模型中的參數。
12.根據權利要求9所述的裝置,其特徵在於,所述融合單元對所述語音語言模型和文本語言模型中的參數進行插值時,對所述語音語言模型或所述文本語言模型中的參數進行加權。
13.根據權利要求9所述的裝置,其特徵在於,所述裝置進一步包括: 識別單元,用於使用所述識別語言模型對用戶的語音搜索查詢進行識別,得到識別結果。
14.根據權利要求13所述的裝置,其特徵在於,所述識別單元將得到的識別結果提供給所述第一訓練單元,供所述第一訓練單元將所述識別結果作為新增加的語音搜索語料進行語言模型訓練,以更新所述語音語言模型。
15.根據權利要求13所述的裝置,其特徵在於,所述識別單元包括: 詞序列單元,用於根據用戶的語音搜索查詢建立多個候選詞序列; 計算單元,用於使用所述識別語言模型計算每個候選詞序列在所述識別語言模型中出現的概率,並選擇出現概率最大的候選詞序列作為對用戶的語音搜索查詢的識別結果。
16.根據權利要求13所述的裝置,其特徵在於,所述裝置進一步包括:檢索單元,用於向用戶返回與所述識別結果相關的檢索結果。
全文摘要
本發明提供了一種建立用於語音識別的語言模型的方法及裝置,其中所述方法包括A.將對用戶的語音搜索查詢進行識別的結果作為語音搜索語料進行語言模型訓練,得到語音語言模型;以及,將用戶的文本搜索查詢作為文本搜索語料進行語言模型訓練,得到文本語言模型;B.將所述語音語言模型與所述文本語言模型融合,得到識別語言模型。通過上述方式得到的識別語言模型,能夠很好地反映用戶語音輸入時的用詞偏好,將該識別語言模型應用於語音識別中可以提高語音識別的精度。
文檔編號G10L15/06GK103187052SQ20111045138
公開日2013年7月3日 申請日期2011年12月29日 優先權日2011年12月29日
發明者萬廣魯, 賈磊 申請人:北京百度網訊科技有限公司