專利名稱:一種自動檢測語言學(xué)習(xí)者朗讀錯誤的方法
技術(shù)領(lǐng)域:
本發(fā)明屬于計(jì)算機(jī)輔助語言教學(xué)領(lǐng)域,具體的說,本發(fā)明涉及一種自動檢測語 言學(xué)習(xí)者朗讀語音中的朗讀錯誤的方法。
背景技術(shù):
在計(jì)算機(jī)輔助語言教學(xué)中,能夠自動檢測用戶朗讀語音中的錯誤并及時(shí)給予反 饋是至關(guān)重要的一個部分。在語言朗讀學(xué)習(xí)中,對詞或字的多讀、漏讀、錯讀是學(xué) 習(xí)者最容易出現(xiàn)的朗讀錯誤。以往的檢測方法通常是將用戶語音與標(biāo)準(zhǔn)語音進(jìn)行模 板匹配,進(jìn)而檢測出朗讀錯誤的位置。標(biāo)準(zhǔn)語音通常是事先錄制好的老師的語音。 這種方法最大的缺點(diǎn)是需要標(biāo)準(zhǔn)語音作為模板,學(xué)習(xí)材料不能隨意更換,在實(shí)際應(yīng) 用中,非常的不方便?;陔[含馬爾可夫模型的自動語音識別技術(shù)的發(fā)展給計(jì)算機(jī)輔助語言教學(xué)提供 了一種新的發(fā)展道路。自動語音識別技術(shù)通過對大量的語音數(shù)據(jù)進(jìn)行統(tǒng)計(jì)分析,構(gòu) 建出符合語音特征的聲學(xué)模型;識別過程中,語音識別解碼單元根據(jù)聲學(xué)模型在一 個有限的搜索空間中找到一條與實(shí)際語音最為匹配的一條路徑,即語音的識別結(jié)果。 一般意義上的語音識別技術(shù)解決的是將語音轉(zhuǎn)化成文字的問題,其最終的輸出結(jié)果 是一個文字序列。在這里,語音的內(nèi)容是完全未知的,因此它一般采用很大的詞表 和通用的語言模型來包含盡可能多的候選項(xiàng)。對于朗讀錯誤檢測的任務(wù),其要解決 的是檢測用戶語音與參考答案是否匹配的問題,其最終的輸出結(jié)果是一個朗讀錯誤 的位置和類型信息。這時(shí),用戶朗讀的內(nèi)容是已知的,因此,通常的語音識別方法 在這里并不適合?;诖?,本發(fā)明提供了一種自動檢測語言學(xué)習(xí)者朗讀錯誤的方法。發(fā)明內(nèi)容本發(fā)明的目的在于提供一種自動檢測語言學(xué)習(xí)者朗讀錯誤的方法。該方法以基 于隱馬爾可夫模型的自動語音識別技術(shù)為基礎(chǔ),提出了一種用于自動檢測語言學(xué)習(xí) 者朗讀語音中的多讀、漏讀和錯讀的新方法。該方法不需要老師的標(biāo)準(zhǔn)語音作為模 板,大大提高實(shí)際應(yīng)用的便利性。4為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明提供的檢測朗讀錯誤的方法包含如下幾個步驟-1) 前端處理對輸入語音進(jìn)行預(yù)處理,提取MFCC特征。2) 構(gòu)建精簡搜索空間根據(jù)參考答案(即用戶所要朗讀的內(nèi)容)、發(fā)音字典、 多發(fā)音模型和聲學(xué)模型構(gòu)建精簡的搜索空間,。3) 構(gòu)建朗讀語言模型根據(jù)參考答案構(gòu)建用戶的朗讀語言模型,該語言模型描 述了用戶在朗讀該參考語句的時(shí)候可能朗讀的上下文內(nèi)容及其概率信息。4) 搜索在搜索空間中,根據(jù)聲學(xué)模型、朗讀語言模型和多發(fā)音模型搜索得到 與輸入的特征矢量流最匹配的一條路徑,作為用戶的實(shí)際朗讀結(jié)果內(nèi)容,即 識別結(jié)果序列。在搜索過程中,每個詞W的似然概率由以下公式計(jì)算其中,o是當(dāng)前輸入的特征矢量,p(wo是當(dāng)前詞w的語言模型概率, 尸(VIM/)是當(dāng)前詞W的某個發(fā)音V的概率,尸(oii/)是特征矢量o在發(fā)音v上的聲學(xué)模型概率。5) 對齊將參考答案與識別結(jié)果進(jìn)行對齊,得到用戶多讀、漏讀、錯讀的檢測結(jié)果。上述技術(shù)方案中,所述步驟2)進(jìn)一步包括如下步驟a) 將用戶所要朗讀的內(nèi)容作為參考答案,并對參考答案進(jìn)行分詞;b) 對每個詞,根據(jù)其發(fā)音字典和多發(fā)音模型,找到其所有可能的發(fā)音,構(gòu)建成 詞網(wǎng)絡(luò),并加入一個filler發(fā)音;c) 根據(jù)發(fā)音字典,將上述詞網(wǎng)絡(luò)中的每個詞展開成音素序列,構(gòu)成一個音素網(wǎng)絡(luò);d) 將每個音素再轉(zhuǎn)換成對應(yīng)的隱馬爾可夫模型,每個馬爾可夫模型由若干個狀 態(tài)構(gòu)成;e) 經(jīng)過前向和后向的合并,最終形成精簡的狀態(tài)網(wǎng)絡(luò)。其中,上述步驟b)中的多發(fā)音模型描述每個詞可能的發(fā)音以及相應(yīng)的概率 P(V|W0,是通過收集大量的朗讀語料,由專家對這些數(shù)據(jù)進(jìn)行實(shí)際發(fā)音的標(biāo)注,將 標(biāo)注與參考答案通過動態(tài)規(guī)劃算法對齊,通過如下公式計(jì)算每個字的每個發(fā)音的概、1 J iV同其中,7v(wo是語料中出現(xiàn)的詞w的數(shù)目,iv(w^,vo是其發(fā)音被標(biāo)注為v的w的 數(shù)目。上述技術(shù)方案中,所述步驟3)所提到的語言模型是一個二元因子的語言模型,其描述了當(dāng)前的詞Wl跳轉(zhuǎn)到詞W2的概率,Wl和W2都是參考答案中的詞或者 filler。這個語言模型規(guī)定,當(dāng)前詞跳轉(zhuǎn)到下一個正確的詞的概率為P,跳轉(zhuǎn)到參考答 案中的其他的詞或者filler的概率為(P-1)/W, iV為參考答案中的總的詞數(shù)。上述技術(shù)方案中,所述步驟4)所采用到的搜索算法為Viterbi搜索算法。上述技術(shù)方案中,所述步驟5)所提到對齊方法采用動態(tài)規(guī)劃對齊的方法。本發(fā)明的自動檢測語言學(xué)習(xí)者朗讀錯誤的方法的有益效果在于,其與現(xiàn)有的采 用老師的標(biāo)準(zhǔn)語音與學(xué)習(xí)者的朗讀語音進(jìn)行模板匹配來檢測朗讀錯誤的方法相比, 其采用隱馬爾可夫模型作為聲學(xué)模型,不再需要模板語音,因此,學(xué)習(xí)材料可隨意 更換,不再需要對每一句學(xué)習(xí)材料錄制標(biāo)準(zhǔn)模板語音。而且,基于統(tǒng)計(jì)的隱馬爾可 夫聲學(xué)模型采用大規(guī)模的語音語料訓(xùn)練而成,最大程度上消除了對單個模板語音的 依賴,其魯棒性要遠(yuǎn)遠(yuǎn)高于模板匹配的方法,可大大提高朗讀檢測的客觀性和準(zhǔn)確 性。
圖1是本發(fā)明的自動檢測語言學(xué)習(xí)者朗讀錯誤方法的流程圖。 圖2是本發(fā)明的方法中所使用多發(fā)音模型的一個示例。 圖3是本發(fā)明的方法中詞網(wǎng)絡(luò)的示意圖。圖4是本發(fā)明的方法中一個詞節(jié)點(diǎn)轉(zhuǎn)化成狀態(tài)節(jié)點(diǎn)序列的示意圖。 圖5是本發(fā)明的方法中所使用的精簡搜索空間(狀態(tài)網(wǎng)絡(luò))的示意圖。 圖6是本發(fā)明的方法中所使用的朗讀語言模型的示意圖。
具體實(shí)施方式
下面結(jié)合附圖及具體實(shí)施例對本發(fā)明做進(jìn)一步描述 實(shí)施例圖1是本發(fā)明的檢測朗讀錯誤的方法的流程圖。如圖1所示,本發(fā)明提供的檢測朗讀錯誤的方法包括如下步驟1) 前端處理對輸入語音進(jìn)行預(yù)處理,進(jìn)行特征提??;在一個實(shí)施例中,將輸入數(shù)據(jù)進(jìn)行16K采樣率數(shù)字化(此處也可采用其他的采 樣率,比如,8K, 32K等等),并進(jìn)行預(yù)加重、分幀、加窗處理,對每一幀提取MFCC (mel-frequency cepstral coefficient)特征矢量及兩階差分矢量。2) 構(gòu)建精簡搜索空間將用戶所要朗讀的內(nèi)容作為參考答案,并根據(jù)參考答案、 發(fā)音字典、多發(fā)音模型和聲學(xué)模型構(gòu)建精簡的搜索空間;例如,具體包括如下步驟a) 將用戶所要朗讀的內(nèi)容作為參考答案,并對參考答案進(jìn)行分詞。b) 對每個詞,根據(jù)其發(fā)音字典和多發(fā)音模型,找到其所有可能的發(fā)音,構(gòu)建成 如圖3所示的詞網(wǎng)絡(luò),并加入一個filler發(fā)音。c) 根據(jù)發(fā)音字典,將圖3的詞網(wǎng)絡(luò)中的每個詞展開成音素序列,構(gòu)成一個音素 網(wǎng)絡(luò)。d) 將每個音素再轉(zhuǎn)換成對應(yīng)的隱馬爾可夫模型(HMM),每個馬爾可夫模型由若 干個狀態(tài)構(gòu)成。這里,將詞轉(zhuǎn)化成狀態(tài)的過程如圖4所示。e) 經(jīng)過前向和后向的合并,如圖5所示,最終形成一個精簡的高效的狀態(tài)網(wǎng)絡(luò)。上述步驟b)中所提到的多發(fā)音模型描述了每個詞可能的發(fā)音以及相應(yīng)的概率 P(V|W0,是根據(jù)事先收集的朗讀語料統(tǒng)計(jì)得到,反映了某一地區(qū)或某一群體經(jīng)常發(fā) 生的發(fā)音錯誤的分布情況。其簡單示例如圖6所示。每個詞有多個發(fā)音,每個發(fā)音 有相應(yīng)的概率。比如"長"有兩個發(fā)音"chang2"和"zhang3",每個發(fā)音的概率分 別為0.59和0.41。多發(fā)音模型是事先訓(xùn)練好的,其訓(xùn)練方法為收集大量的朗讀語 料,由專家對這些數(shù)據(jù)進(jìn)行實(shí)際發(fā)音的標(biāo)注,將標(biāo)注與參考答案通過動態(tài)規(guī)劃算法 對齊,通過如下公式計(jì)算每個字的每個發(fā)音的概率iV同其中,iv(w)是語料中出現(xiàn)的詞w的數(shù)目,7v(w^,vo是其發(fā)音被標(biāo)注為v的w的數(shù)目。上述步驟b)中所提到的詞網(wǎng)絡(luò)如圖3所示,其每一條邊都代表了參考答案中的 某個詞的某個發(fā)音。它是一個可循環(huán)的網(wǎng)絡(luò),表示用戶可以隨意朗讀其中的詞所構(gòu)成的句子。為了能夠識別出用戶所朗讀的參考答案之外的內(nèi)容, 一個特殊的發(fā) 音一_filler也被加入到這個搜索空間中。filler是聲學(xué)模型中的一個特殊的發(fā)音模型, 它由所有發(fā)音的語料數(shù)據(jù)綜合訓(xùn)練而成,通常用來解決語音中的集外詞(OOV)問題。3) 構(gòu)建朗讀語言模型根據(jù)參考答案構(gòu)建用戶的朗讀語言模型,該語言模型描 述用戶在朗讀該參考語句的時(shí)候可能朗讀的上下文內(nèi)容及其概率信息;這里的語言模型是一個二元因子的語言模型,其描述了當(dāng)前的詞Wl跳轉(zhuǎn)到詞 W2的概率,W1和W2都是參考答案中的詞或者filler。這個語言模型規(guī)定,當(dāng)前詞 跳轉(zhuǎn)到下一個正確的詞的概率為尸,跳轉(zhuǎn)到參考答案中的其他的詞或者filler的概率 為(P—1)/iV, iV為參考答案中的總的詞數(shù)。例如,朗讀語言模型按照圖6的模式構(gòu)建,圖6給出了"歡"字向其他字的跳轉(zhuǎn) 概率,其跳到正確的下一個字"迎"的概率是P,跳轉(zhuǎn)到其他字的概率為(1-P)/7V。 P 可以調(diào)節(jié)對朗讀錯誤檢測的漏檢率和虛警率,其可根據(jù)實(shí)際應(yīng)用場景憑經(jīng)驗(yàn)設(shè)定, 或者由一批訓(xùn)練數(shù)據(jù)訓(xùn)練得到。在我們系統(tǒng)中,尸=0.8。4) 搜索在搜索空間中,根據(jù)聲學(xué)模型、朗讀語言模型和多發(fā)音模型搜索得到 與輸入的特征矢量流最匹配的一條路徑,作為用戶的實(shí)際朗讀結(jié)果內(nèi)容,即識別結(jié) 果序列,例如,本系統(tǒng)釆用Viterbi的算法,對每一幀語音特征矢量,計(jì)算其在每一個狀 態(tài)上的聲學(xué)似然概率p(^/s,),此似然概率和狀態(tài)轉(zhuǎn)移概率的累積構(gòu)成了每個詞的聲 學(xué)似然概率P(OIV0,聲學(xué)似然概率和發(fā)音概率以及語言模型概率的累積構(gòu)成了一個 詞的總的似然概率,在搜索過程中,每個詞W的似然概率由以下公式計(jì)算= ,V0 .尸(,).其中,o是當(dāng)前輸入的特征矢量,p(wo是當(dāng)前詞w的語言模型概率,尸(wwo是當(dāng)前詞W的某個發(fā)音V的概率,P(OlV)是特征矢量0在發(fā)音V上的聲學(xué)模型概率;Viterbi算法尋找似然概率累積最高的詞序列,作為最終的識別結(jié)果。因?yàn)樽罱K 目的是要檢測朗讀錯誤,因此這里的識別結(jié)果將是以發(fā)音序列的形式來表示,而非 一般語音識別中的詞序列。5) 對齊將所述參考答案與識別結(jié)果進(jìn)行對齊,得到用戶多讀、漏讀、錯讀的 檢測結(jié)果。8這里,將識別結(jié)果發(fā)音序列與參考答案的發(fā)音序列進(jìn)行對齊,采用的是動態(tài)規(guī)劃 (Dynamic Programming)的對齊方法。對齊以后,多讀、漏讀和錯讀的信息即可以通 過對齊過程中的插入、刪除、替代信息得到。檢測試驗(yàn)使用一個1300名香港學(xué)生朗讀普通話的數(shù)據(jù)集對本發(fā)明所提出的朗讀錯誤檢測 方法進(jìn)行了實(shí)驗(yàn)。在這個數(shù)據(jù)集中,每個學(xué)生朗讀一段約350字的短文。這些數(shù)據(jù) 由專家標(biāo)注其實(shí)際讀音,由漢語拼音來表示。整個數(shù)據(jù)集被分成兩個部分,900人的 數(shù)據(jù)用于訓(xùn)練上述步驟2)所提到的多發(fā)音模型;另外400人的數(shù)據(jù)用來評估朗讀錯 誤檢測的性能。性能指標(biāo)由漏檢率DER (Detection Error Rate)和虛警率FAR (False Alarm Rate)來表示。DER代表未被檢測出來的朗讀錯誤與所有的朗讀錯誤的比值; FAR代表被誤檢測為朗讀錯誤的正確的音節(jié)與所有正確朗讀的音節(jié)的比值。試驗(yàn)中 所采用的聲學(xué)模型包含5100個狀態(tài),每個狀態(tài)由48個高斯分量構(gòu)成。實(shí)驗(yàn)結(jié)果如下表所示漏檢率(DER)虛警率(FAR)37.04%11.37%在CPU為奔騰3.0G,內(nèi)存2G的計(jì)算機(jī)上測試實(shí)時(shí)率約0.4倍實(shí)時(shí)。通過上述試驗(yàn)結(jié)果,可以看出檢測的準(zhǔn)確率基本可以達(dá)到一般的使用要求,其 運(yùn)行速度也滿足用于實(shí)時(shí)檢測的需求。9
權(quán)利要求
1、一種自動檢測語言學(xué)習(xí)者朗讀錯誤的方法,其特征在于,包含如下步驟1)前端處理對輸入語音進(jìn)行預(yù)處理,進(jìn)行特征提取,所提取特征為MFCC特征矢量;2)構(gòu)建精簡搜索空間將用戶所要朗讀的內(nèi)容作為參考答案,并根據(jù)參考答案、發(fā)音字典、多發(fā)音模型和聲學(xué)模型構(gòu)建精簡的搜索空間;3)構(gòu)建朗讀語言模型根據(jù)參考答案構(gòu)建用戶的朗讀語言模型,該語言模型描述用戶在朗讀該參考語句的時(shí)候可能朗讀的上下文內(nèi)容及其概率信息;4)搜索在搜索空間中,根據(jù)聲學(xué)模型、朗讀語言模型和多發(fā)音模型搜索得到與輸入的特征矢量流最匹配的一條路徑,作為用戶的實(shí)際朗讀結(jié)果內(nèi)容,做成識別結(jié)果序列;5)對齊將所述參考答案與識別結(jié)果進(jìn)行對齊,得到用戶多讀、漏讀、錯讀的檢測結(jié)果。
2、 如權(quán)利要求l所述的自動檢測語言學(xué)習(xí)者朗讀錯誤的方法,其特征在于,所述步驟l)中對輸入語音的預(yù)處理包括對輸入語音數(shù)字化、預(yù)加重高頻提升、分幀及加窗處理,所述特征提取包括提取每一幀語音的MFCC特征矢量及兩階差分矢量。
3、 如權(quán)利要求l所述的自動檢測語言學(xué)習(xí)者朗讀錯誤的方法,其特征在于,所述步驟2)進(jìn)一步包括如下步驟a) 將用戶所要朗讀的內(nèi)容作為參考答案,并對參考答案進(jìn)行分詞;b) 對每個詞,根據(jù)其發(fā)音字典和多發(fā)音模型,找到其所有可能的發(fā)音,構(gòu)建成詞網(wǎng)絡(luò),并加入一個filler發(fā)音;c) 根據(jù)發(fā)音字典,將上述詞網(wǎng)絡(luò)中的每個詞展開成音素序列,構(gòu)成一個音素網(wǎng)絡(luò);d) 將每個音素再轉(zhuǎn)換成對應(yīng)的隱馬爾可夫模型,每個馬爾可夫模型由若干個狀態(tài)構(gòu)成;e) 經(jīng)過前向和后向的合并,最終形成精簡的狀態(tài)網(wǎng)絡(luò)。
4、 如權(quán)利要求3所述的自動檢測語言學(xué)習(xí)者朗讀錯誤的方法,其特征在于,所述步驟b)中的多發(fā)音模型描述每個詞可能的發(fā)音以及相應(yīng)的概率P(VIW),是通過收集大量的朗讀語料,由專家對這些數(shù)據(jù)進(jìn)行實(shí)際發(fā)音的標(biāo)注,將標(biāo)注與參考答案通過動態(tài)規(guī)劃算法對齊,通過如下公式計(jì)算每個字的每個發(fā)音的概率-,,)=其中,iV(W)是語料中出現(xiàn)的詞W的數(shù)目,AT(W,VO是其發(fā)音被標(biāo)注為V的W的數(shù)目。
5、 如權(quán)利要求l所述的自動檢測語言學(xué)習(xí)者朗讀錯誤的方法,其特征在于,所述步驟3)中的語言模型是二元因子的語言模型,其描述當(dāng)前詞Wl跳轉(zhuǎn)到詞W2的概率,其中,W1和W2均為參考答案中的詞或者filler,該語言模型規(guī)定,當(dāng)前詞跳轉(zhuǎn)到下一個正確的詞的概率為尸,跳轉(zhuǎn)到參考答案中的其他的詞或者filler的概率為1)/W, iV為參考答案中的總的詞數(shù)。
6、 如權(quán)利要求l所述的自動檢測語言學(xué)習(xí)者朗讀錯誤的方法,其特征在于,所述步驟4)中的搜索采用Viterbi搜索算法,算法執(zhí)行過程中每個詞W的似然概率由以下公式計(jì)算-=尸(。ivo 尸o/同 尸W其中,o是當(dāng)前輸入的特征矢量,p(wo是當(dāng)前詞w的語言模型概率,尸(^wo是當(dāng)前詞W的某個發(fā)音V的概率,尸(0|/)是特征矢量0在發(fā)音乂上的聲學(xué)模型概率。
7、 如權(quán)利要求l所述的自動檢測語言學(xué)習(xí)者朗讀錯誤的方法,其特征在于,所述步驟5)中所采用的對齊算法為動態(tài)規(guī)劃匹配算法。
全文摘要
本發(fā)明涉及一種用于自動檢測語言學(xué)習(xí)者朗讀錯誤的方法,包括根據(jù)朗讀語料訓(xùn)練多發(fā)音模型;根據(jù)參考答案、發(fā)音字典、多發(fā)音模型構(gòu)建精簡搜索空間;根據(jù)參考答案及語言學(xué)知識構(gòu)建朗讀語言模型;對輸入語音預(yù)處理分幀,提取語音特征;采用Viterbi算法在精簡搜索空間中搜索一條聲學(xué)模型得分、語言模型得分及發(fā)音得分的累積分?jǐn)?shù)最高的一條發(fā)音路徑作為識別發(fā)音序列;將識別的發(fā)音序列與參考答案的發(fā)音序列通過動態(tài)規(guī)劃匹配算法對齊,進(jìn)而得到朗讀的多讀、漏讀、錯讀結(jié)果。本發(fā)明中采用隱馬爾可夫模型作為聲學(xué)模型,不需要模板語音,可大大提高使用的便利性,其性能和運(yùn)行速度也較好。
文檔編號G09B19/06GK101650886SQ20081022479
公開日2010年2月17日 申請日期2008年12月26日 優(yōu)先權(quán)日2008年12月26日
發(fā)明者劉常亮, 濱 董, 顏永紅 申請人:中國科學(xué)院聲學(xué)研究所;北京中科信利技術(shù)有限公司