一種發音詞典的構建方法及裝置與流程
2023-06-17 21:10:21 3

本申請涉及計算機技術領域,尤其涉及一種發音詞典的構建方法及裝置。
背景技術:
語音交互技術早在二十世紀中期就已經開始出現,近幾年隨著智慧型手機的普及,大量的語音交互產品相繼出現,語音交互產品走進了普通用戶的日常生活之中。例如,語音輸入法就是通過接收並識別用戶發出的語音,然後將用戶的語音轉換成文字,省去了打字的繁瑣輸入;來電報號功能可以將文字以語音的形式輸出,在用戶不看屏幕的情況下,即可獲知來電方身份。
在語音交互技術中,發音詞典是語音交互系統中重要的組成部分,是聯接聲學模型和語言模型之間的橋梁,其覆蓋面和發音質量對系統的整體性能具有重大的影響。
發音詞典中包含詞和發音音素序列之間的映射關係,通常可以採用詞轉換為音素(grapheme-to-phoneme,g2p)方法建立該映射關係。一般情況下,發音詞典經過語言學相關方面的專家審核校正,規模大小相對固定,因此其不可能覆蓋所有的詞彙,從而在實際應用中,有可能會根據需要,利用g2p方法確定新增詞彙所匹配的發音音素序列,即確定新增詞彙的正確發音,進而根據新增詞彙和與其匹配的發音音素序列,對現有的發音詞典進行擴充。
目前,採用g2p方法,基本能夠準確確定常規詞彙的正確發音。但是,對於一些特別的詞彙,比如包含多音字的詞彙,採用該方法確定出的詞彙的正確發音的準確度往往較低,從而影響發音詞典的質量。
技術實現要素:
本申請實施例提供一種發音詞典的構建方法,用以解決按照現有技術構建的發音詞典的質量較差的問題。
本申請實施例還提供一種發音詞典的構建裝置,用以解決按照現有技術構建的發音詞典的質量較差的問題。
本申請實施例採用下述技術方案:
一種發音詞典的構建方法,包括:
將目標詞彙的語音聲學特徵,輸入語音識別解碼器;其中,所述語音識別解碼器中的發音詞典包括:目標詞彙和目標詞彙的候選發音音素序列;
根據所述語音識別解碼器以所述語音聲學特徵作為輸入而輸出的候選發音音素序列,確定所述目標詞彙對應於輸出的候選發音音素序列的概率分布;
根據所述概率分布,從所述輸出的候選發音音素序列中,選擇作為所述目標詞彙的正確發音的發音音素序列;
根據所述正確發音的發音音素序列,構建發音詞典。
一種發音詞典的構建裝置,包括:
解碼單元:用於將目標詞彙的語音聲學特徵,輸入語音識別解碼器中;其中,所述語音識別解碼器中的發音詞典包括:目標詞彙和目標詞彙的的候選發音音素序列;
發音確定單元:用於根據所述語音識別解碼器以所述語音聲學特徵作為輸入而輸出的候選發音音素序列,確定所述目標詞彙對應於輸出的候選發音音素序列的概率分布;根據所述概率分布,從所述輸出的候選發音音素序列中,選擇作為所述目標詞彙的正確發音的發音音素序列;
詞典構建單元:用於根據所述正確發音的發音音素序列,構建發音詞典。
本申請實施例採用的上述至少一個技術方案能夠達到以下有益效果:
由於引入了待預測發音的目標詞的語音聲學特徵,作為預測詞彙正確發音的依據之一,從而相對於僅依靠詞彙和發音音素序列的映射關係來作為預測詞彙正確發音依據的現有技術而言,可以更為準確地預測目標詞彙正確發音,提 升了基於確定出的正確發音構建的發音詞典的質量。
附圖說明
此處所說明的附圖用來提供對本申請的進一步理解,構成本申請的一部分,本申請的示意性實施例及其說明用於解釋本申請,並不構成對本申請的不當限定。在附圖中:
圖1為本申請實施例提供的一種發音詞典的構建方法的實現流程示意圖;
圖2為本實施例提供的一種發音詞典的構建裝置的具體結構示意圖。
具體實施方式
為使本申請的目的、技術方案和優點更加清楚,下面將結合本申請具體實施例及相應的附圖對本申請技術方案進行清楚、完整地描述。顯然,所描述的實施例僅是本申請一部分實施例,而不是全部的實施例。基於本申請中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬於本申請保護的範圍。
以下結合附圖,詳細說明本申請各實施例提供的技術方案。
實施例1
現有的發音預測方法通常是基於g2p轉換的方法,g2p方法通過建立詞彙和發音音素之間的映射關係,將詞彙轉換為發音音素序列。採用g2p方法,基本能夠準確得到與常規詞彙匹配的發音音素序列,但是由於該方法只利用了詞彙(字序列)和發音音素的映射關係,因此對於一些特別的詞彙,比如包含多音字的詞彙,採用該方法確定出的與詞彙匹配的發音音素序列的準確度往往較低,從而影響發音詞典的質量。
為解決由於現有技術不能準確預測詞彙的正確發音從而影響發音詞典的質量的問題,本申請實施例1提供了一種發音詞典的構建方法。
本申請實施例提供的發音詞典的構建方法的執行主體可以是伺服器也可 以是不同於伺服器的其他設備,等等。所述的執行主體並不構成對本申請的限定,為了便於描述,本申請實施例均以執行主體是伺服器為例進行說明。
為便於描述,在本實施例中,存在對應關係的詞彙和語音聲學特徵可以用詞彙-語音聲學特徵來表示。
類似的,存在對應關係的詞彙(字序列)和音素序列,以及存在對應關係的語音聲學特徵和語音音素序列,也可用上述表示方式表示。例如,存在對應關係的詞彙和音素序列,可以用詞彙-語音音素序列來表示。
以下對本申請實施例提供該方法進行詳細介紹。
該方法的實現流程示意圖如圖1所示,包括下述步驟:
步驟11:伺服器將目標詞彙的語音聲學特徵,輸入到嵌入有發音詞典、聲學模型和語言模型的語音識別解碼器;
本申請實施例中,所述的目標詞彙,可以是任何詞彙,比如中文詞彙、英文詞彙或者其他語言的詞彙。若針對語音識別解碼器中已有的發音詞典而言,所述的目標詞彙,可以是指該發音詞典當前不包含的詞彙,即相對於該發音詞典的新增詞彙。
本申請實施例中所述的目標詞彙的語音聲學特徵,可以但不限於包括從說出該目標詞彙所產生的語音信號中提取出的filterbank特徵、mfcc(melfrequencycepstrumcoefficient)特徵以及plp(perceptuallinearpredictive)特徵等等中的至少一種。
本申請實施例中,所述的語音信號,比如可以是根據目標詞彙對應的音頻樣本。
目標詞彙對應的音頻樣本,可以但不限於是採用下述方式中的至少一種獲得的:
一、委託專業的語音數據供應商進行人工錄音,從而獲得目標詞彙對應的音頻樣本;
二、採用眾包的形式,以用戶的真實使用感受和切身體驗為出發點,將錄 音任務以自由自願的形式委託給非特定的(而且通常是大型的)網絡大眾,從而獲得目標詞彙對應的音頻樣本;
三、分析用戶反饋的記錄日誌,從而獲得目標詞彙對應的音頻樣本。例如,在語音搜索任務中,用戶先通過語音輸入目標詞彙,如果語音識別系統識別錯誤,用戶繼續通過鍵盤輸入正確的目標詞彙,這一系列的行為可以通過日誌的形式記錄下來。
本申請實施例中,可以從目標詞彙對應的音頻樣本中分別獲得語音聲學特徵,進而將獲得的各語音聲學特徵作為所述目標詞彙的語音聲學特徵,分別輸入所述語音識別解碼器。
以下進一步介紹步驟11中提及的語音識別解碼器的工作原理。
一般地,語音識別解碼器,是用於針對輸入的語音信號(或語音聲學特徵),根據聲學模型、語言模型及發音詞典,尋找能夠以最大概率發出該語音信號(或與該語音聲學特徵相匹配的語音信號)的詞的虛擬或者實體設備。
在語音識別領域,對語音信號進行解碼的目標,就是尋找字序列w*(相當於上文所述的「詞」),使得對應的語音聲學特徵x似然概率最大化,實質上就是一個基於貝葉斯準則的機器學習問題,即利用貝葉斯公式來計算最佳字序列w*,如公式[1.1]所示:
其中p(x|wi)為聲學模型,p(wi)為語言模型。
聲學模型,是字序列wi的語音聲學特徵為x的概率。一般可以利用大量的數據(包括語音聲學特徵以及對應的標籤序列)訓練得到聲學模型。
語言模型,是詞彙對應的字序列wi的出現概率。該出現概率的含義一般為:構成詞彙的各個字依照所述各個字在該詞彙中的排列順序依次出現的概率。
考慮到字序列一般會對應的不同的發音音素序列,比如用帶不同地方口音發出某個詞彙(可由字序列表示)的發音可能對應不同的發音音素,又或者包 含多音字的詞彙也有可能對應不同的發音音素,因此,若假設是字序列wi對應的各發音音素序列,那麼公式[1.1]可變為:
其中,wi為字序列;為聲學模型;p(wi)為語言模型;為發音詞典中的詞彙(由字序列wi表示)的發音音素序列為的概率。
對於發音學習的問題,進一步假定字序列wi和對應的語音聲學特徵x是已知的,則公式[1.2]的計算目標,可以轉換是為了尋找字序列wi對應的最佳發音音素序列q*。這樣,公式[1.2]進一步可變為:
公式[1.3]中:
q*為使得公式[1.3]中等號右側的值最大的發音音素序列,也即字序列wi對應的候選發音音素序列的概率分布的最大值;
wi為字序列,i為詞彙的編號;
x表示wi對應的語音聲學特徵;
q表示發音音素序列;
j為發音音素序列的編號;
表示編號為i的詞彙對應的語音音素序列中的、編號為j的發音音素序列。
為聲學模型,即發音音素序列對應的語音聲學特徵為x的概率。
目前,相關的語音識別技術中用到的聲學模型一般是對隱馬爾科夫-深度神經網絡(hiddenmarkovmodel-deepneuralnetwork,hmm-dnn)的混合模型訓練得到的,或者也可以是對dnn模型訓練得到的。本申請實施例中,可以預先通過海量語音聲學特徵,對hmm-dnn的混合模型或dnn模型進行訓練得到聲學模型,並設置在本申請實施例所述的該語音識別解碼器中。
p(wi)為語言模型——本實施例中的語言模型可以是n-gram模型,該模型 基於這樣一種假設,第n個詞的出現只與前面n-1個詞相關,而與其它任何詞都不相關,整句的概率就是各個詞出現概率的乘積,各個詞出現的概率可以通過直接從語料中統計n個詞同時出現的次數得到。本實施例中的語言模型也可以是基於條件隨機場或者基於深度神經網絡策略的語言模型。該語言模型可以預先生成並設置在本申請實施例所述的該語音識別解碼器中。
為基於給定的發音詞典中的詞彙(由字序列wi表示)的發音音素序列為的概率。
這裡所說的發音詞典,比如可以為加入了目標詞彙對應的各個候選發音音素序列的發音詞典。
目標詞彙的候選發音音素序列,是指可能作為目標詞彙正確發音的發音音素序列。本申請實施例中,可以但不限於採用g2p方法,為目標詞彙生成發音音素序列(本申請實施例中稱「候選發音音素序列」),並將所述目標詞彙和生成的各候選發音音素序列,加入到發音詞典中。
其中,將所述目標詞彙和生成的各候選發音音素序列,加入到發音詞典中,可以是指,將包含目標詞彙-候選發音音素序列的詞條,添加到發音詞典中。
需要說明的是,噹噹前不存在發音詞典時,將所述詞條添加到發音詞典中,可以是指根據所述詞條構建發音詞典;噹噹前已存在發音詞典時,將所述詞條添加到發音詞典中,可以是指根據所述詞條對該已有的發音詞典進行更新,得到更新後的發音詞典。
為便於描述,本申請實施例中假設當前已存在發音詞典。在這樣的場景下,所述目標詞彙為相對於當前已存在的發音詞典而言的新增詞彙。
本實施例中,為目標詞彙生成的對應的候選發音音素序列的個數視實際情況而定。
如,採用g2p方法,可以為目標詞彙「阿里巴巴」生成十個以上候選的發音音素序列。以該些發音音素序列中的某一個發音音素序列為例,其可以表示為「a1/li3/ba1/ba1/」。該發音音素序列中,符號「/」用於區分不同發音音素,即「/」 前後的符號表示不同的音素。比如,a1和li3為不同音素。音素中的數字代表聲調,即1代表聲調一聲,2代表聲調二聲,3代表聲調三聲,4代表聲調四聲。
基於嵌入有上述發音詞典、公式[1.3]中所示的聲學模型和語言模型p(wi)的語音識別解碼器,本申請實施例中,將目標詞彙的語音聲學特徵輸入到該語音識別解碼器中,可以觸發該語音識別解碼器通過對語音樣本聲學特徵的解碼,輸出該語音樣本聲學特徵對應的發音音素序列。
以下進一步介紹本申請實施例提供的該方法包含的後續步驟。
步驟12:確定語音識別解碼器以步驟11中所述的語音聲學特徵作為輸入而輸出的候選發音音素序列;並根據目標詞彙對應於所述輸出的候選發音音素序列的統計規律,確定目標詞彙對應於輸出的候選發音音素序列的概率分布;根據所述概率分布,從所述輸出的候選發音音素序列中,選擇作為目標詞彙的正確發音的發音音素序列;
比如,若假定目標詞彙t對應的候選發音音素序列有2個,分別為a1a2和b1b2,且它們被添加到語音識別解碼器包含的發音詞典中。進一步地,若假設採集到的t的音頻樣本有100個,從而可以獲得這100個音頻樣本各自的語音聲學特徵(共100個語音聲學特徵),通過執行步驟11,將這100個語音聲學特徵分別輸入到嵌入發音詞典、聲學模型和語言模型的語音識別解碼器中。
那麼,語音識別解碼器對這100個語音聲學特徵進行識別解碼,可以輸出候選發音音素序列,如輸出a1、a2、b1、b2的組合。
進一步地,假設根據設置於該語音識別解碼器中的發音詞典,確定目標詞彙對應於所述輸出的候選發音音素序列的統計規律為:
這100個語音聲學特徵中:有75個語音聲學特徵是通過發音詞典的詞條「t-a1a2」映射到t,有25個語音聲學特徵是通過發音詞典的詞條「t-b1b2」映射到t。
那麼,根據該統計規律,可以得到如下概率分布:
t對應於a1a2的概率為75/100=0.75
t對應於b1b2的概率為25/100=0.25
一般地,伺服器可以將所述概率分布中的最大概率值對應的候選發音音素序列,確定為所述目標詞彙正確的發音的發音音素序列。
沿用上例,則伺服器可以將所述概率分布中的最大概率值0.75對應的候選發音音素序列a1a2,確定為t正確發音的發音音素序列。
步驟13:根據作為目標詞彙正確發音的發音音素序列,構建發音詞典。
具體地,伺服器比如可以從加入了目標詞彙對應的各個候選發音音素序列的發音詞典中,刪除除作為目標詞彙正確發音的發音音素序列外的、與該目標詞彙對應的其他候選發音音素序列。或者,伺服器也可以根據作為目標詞彙正確發音的發音音素序列,重新構建新的發音詞典。
採用本申請實施例1提供的上述方法,由於引入了待預測發音的目標詞的語音聲學特徵,作為預測詞彙正確發音的依據之一,從而相對於僅依靠詞彙和發音音素序列的映射關係來做為預測詞彙正確發音依據的現有技術而言,可以更為準確地預測目標詞彙正確發音,從而提升了語音詞典的質量。
實施例2
為解決採用現有技術會導致與詞彙匹配的發音音素序列的準確性較低的問題,本申請實施例提供一種發音詞典的構建裝置。該詞彙發音預測裝置的結構示意圖如圖3所示,主要包括下述功能單元:
解碼單元21,用於將目標詞彙的語音聲學特徵,輸入語音識別解碼器中;其中,語音識別解碼器中的發音詞典包括:目標詞彙和目標詞彙的的候選發音音素序列;
發音確定單元22,用於根據所述語音識別解碼器以所述語音聲學特徵作為輸入而輸出的候選發音音素序列,確定所述目標詞彙對應於輸出的候選發音音素序列的概率分布;根據所述概率分布,從所述輸出的候選發音音素序列中, 選擇作為所述目標詞彙的正確發音的發音音素序列;
詞典構建單元23,用於根據所述正確發音的發音音素序列,構建發音詞典。
在一種實施方式中,本申請實施例提供的該裝置還可以包括音素序列處理單元。該單元用於在於將目標詞彙的語音聲學特徵,輸入語音識別解碼器中前,獲得目標詞彙的候選發音音素序列;並將目標詞彙和獲得的候選發音音素序列,加入到所述語音識別解碼器中的發音詞典中。
在一種實施方式中,音素序列處理單元,具體可以用於利用g2p方法,獲得目標詞彙的候選發音音素序列。
在一種實施方式中,所述解碼單元21,具體可以用於採集目標詞彙對應的音頻樣本;根據所述音頻樣本,獲得所述語音聲學特徵;將獲得的所述語音聲學特徵,輸入所述語音識別解碼器中。
在一種實施方式中,所述發音確定單元22,具體可以用於確定所述概率分布中的最大概率值;從所述輸出的候選發音音素序列中,選擇所述最大概率值對應的候選發音音素序列,作為所述目標詞彙的正確發音的發音音素序列。
在一種實施方式中,所述詞典構建單元23,具體可以用於根據作為所述目標詞彙正確發音的發音音素序列,從加入了目標詞彙和獲得的候選發音音素序列的發音詞典中,刪除目標詞彙對應的、除所述正確發音的發音音素序列外的其他候選發音音素序列。
採用本申請實施例2提供的上述裝置,由於引入了待預測發音的目標詞的語音聲學特徵,作為預測詞彙正確發音的依據之一,從而相對於僅依靠詞彙和發音音素序列的映射關係來做為預測詞彙正確發音依據的現有技術而言,可以更為準確地預測目標詞彙正確發音。
本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或電腦程式產品。因此,本發明可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本發明可採用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限於磁碟存儲器、 cd-rom、光學存儲器等)上實施的電腦程式產品的形式。
本發明是參照根據本發明實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方框圖來描述的。應理解可由電腦程式指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些電腦程式指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些電腦程式指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些電腦程式指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
以上所述僅為本申請的實施例而已,並不用於限制本申請。對於本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本申請的權利要求範圍之內。