郭銘昊,解焱陸
(1.北京語言大學 信息科學學院,北京 100080;2.天津大學 智能與計算學部,天津 300300; 3. 北京語言大學 語言資源高精尖創(chuàng)新中心,北京 100080)
近年來,隨著二語學習需求的增長,學習漢語的人越來越多。基于自動語音識別的計算機發(fā)音訓練系統(tǒng)(The Computer-Aided Pronunciation Training System,CAPT)不僅能夠滿足當下學習者碎片化學習時間的需要,還能彌補傳統(tǒng)課堂教學的劣勢。其主要核心功能有: ①提供反饋; ②評估發(fā)音質量。從反饋形式的角度看,CAPT系統(tǒng)可大致分為發(fā)音質量打分和發(fā)音偏誤檢測兩種類型,發(fā)音偏誤檢測任務的目標是高精度檢測發(fā)音錯誤并給出對應的糾音反饋。研究發(fā)現,即使以簡單的形式提供糾音反饋,也能夠改善學習者在音素層級的發(fā)音質量[1]。用于提供糾音反饋的研究有很多,例如,利用拓展識別網絡創(chuàng)建一個音素級的發(fā)音偏誤檢測和診斷的模型[2],利用發(fā)音屬性來提供診斷性反饋等。
通過研究人類識別語音的過程,人的記憶單元中字詞存儲的基本單位是段,并且通過一系列的特征集合來相互區(qū)分,這些用于描述語音學發(fā)音并區(qū)分語音段的特征稱為“區(qū)分性特征”。這些特征可以從語音的不同方面定義,如發(fā)音位置、發(fā)音方式等,這些“區(qū)分性特征”叫做發(fā)音屬性(Speech Attribute)。目前,發(fā)音屬性在二語學習中主要用于提供糾音反饋、簡化二語語料庫標注等,發(fā)音屬性的定義方法多采用國際音標標準。
外國學生在學習漢語時出現的發(fā)音偏誤,往往就是由于發(fā)音位置等發(fā)音屬性的不準確導致的。二語學習者受母語負遷移等作用影響,其發(fā)音屬性常常會傾向于母語中相似音的發(fā)音屬性。同樣地,如果二語中的發(fā)音屬性在其母語中缺失,則學習者將很難正確掌握新的發(fā)音方法。目前,在偏誤檢測任務上應用發(fā)音屬性的方法有: 發(fā)音偏誤趨勢建模、發(fā)音屬性特征提取、多語言發(fā)音屬性建模等。
Cao等[3]根據來自于發(fā)音人發(fā)音位置和發(fā)音方法等發(fā)音屬性的不準確,定義了包括高化、低化、前化、后化等發(fā)音偏誤趨勢。Li等人[4]基于發(fā)音偏誤趨勢的屬性進行特征提取,用于提供診斷性反饋。但是,上述方法也存在很多局限性,例如,高度依賴擁有準確標注信息的大規(guī)模二語語料庫。采用多語言建模發(fā)音屬性的原因在于,發(fā)音屬性具備跨語言特性,且當二語者在發(fā)音時發(fā)生母語負遷移現象,其偏誤發(fā)音的發(fā)音屬性會包含兩種語言的發(fā)音屬性。因此,若同時建模兩種語言的發(fā)音屬性,將有助于檢測偏誤發(fā)音的發(fā)音屬性[5]。理論上,通過多語言發(fā)音屬性建模,有助于建模任意母語背景二語者語料的發(fā)音屬性。采用多語言發(fā)音屬性建模也存在難點,例如,難以建模所有已知語言、漢語與其他語言發(fā)音屬性定義存在差異(如,漢語元音“i”)。以上應用中,使用發(fā)音屬性的方法往往采用國際音標的定義,但是由于漢語和其他語言在發(fā)音屬性的定義上存在差異,國際音標無法準確地描述漢語的發(fā)音屬性。
假設在沒有足夠的二語數據集的情況下,本文針對整合多母語描述發(fā)音偏誤方法的難點,提出了一個以學習漢語為目的發(fā)音屬性定義和優(yōu)化建模方法,即細顆粒度的發(fā)音屬性(FSA),將有助于改善漢語的發(fā)音偏誤檢測任務。在此基礎上,檢測屬性檢測器的跨語言能力,以及探究面對不同母語背景學習者語料時上述方法檢測發(fā)音偏誤的能力。由于發(fā)音屬性具備可跨語言的特點,我們還探究了單語言訓練的屬性檢測器的跨語言能力,通過控制建模時的上下文信息,降低了單語言屬性檢測器對漢語數據的過度適應,并設置了多個對照實驗,分別采用不同的上下文信息建模,在漢語和英語兩個測試集中進行屬性檢測,最后對比雙語言屬性檢測器的檢測結果來進行分析。由于跨語言建模發(fā)音屬性具備描述發(fā)音偏誤的能力,我們還在母語為日語和俄羅斯語的學習者測試集上進行次音段級和音段級的發(fā)音偏誤檢測。
本文從四個方面對漢語聲母進行描述: 發(fā)音位置(PA)、發(fā)音方式(MA)、是否送氣(AS)、清濁音(VO)。而漢語元音部分則包括四個類別: 舌位前后(TF)、舌位高低(TH)、唇形圓展(RO)、PA和VO。需要強調的是,由于在聲學音標中輔音和元音的發(fā)音屬性定義不同[6],所以我們分別對輔音和元音的發(fā)音屬性進行建模,并嘗試將它們在PA分類中合并建模。由于所有的漢語元音在AS和VO中都沒有子分類,所以將它們的詳情放在聲母發(fā)音屬性定義中呈現。
我們將所有的漢語輔音與IPA一一映射,根據IPA上對應音素的知識信息,找到需要的屬性信息并給予分類標簽。在PA類別中,所有元音部分都將被標記為“vowels”,其中聲母的四個類別在映射表1的音素分類中產生[7]。在表1中,漢語輔音以拼音形式首先列出,其次則是以音素表示的英語輔音。該表還列出了英文中存在但中文中不存在的屬性,這些屬性沒有參與建模,以此不難看出漢語和英語屬性的區(qū)別。例如,英語中沒有AS屬性分類,Timit音素集中只有一個清化的元音“axh”。
漢語韻母由多個元音和鼻元音組成(en、an等),相對于聲母來說比較復雜。因此,我們將每個漢語韻母描述為一組IPA音素,然后根據這些音素得到每個韻母的屬性集。表2中列出了四個漢語元音屬性類別,列出了漢語單元音和英語音素的屬性分類。
此外,漢語和英語的元音在舌位上有很大的差異。在過去的研究中,將音素舌位前后大致分為三大類: 前、中、后[8],這樣簡單的分類顯然不能完全體現漢語元音在舌位前后的位置。為了找到更好的描述漢語的舌位前后的分類方法,我們將漢語元音分為五類和七類分類建模。由于五分類的舌位可以直接對應于聲母的發(fā)音位置,所以我們在PA類中同時對韻母和聲母進行建模,而在TF類中更詳細地分為七類。將PA與TF進行比較,可以看出兩種分類方法的差異,如表2所示。另外,漢語的聲母在TF、RO和TH中被標記為“輔音”。值得注意的是,漢語韻母中存在著三種屬性維度,它們描述了漢語韻母中存在的屬性數量。例如,漢語的最后一個“iao”被描述為三個IPA音素,所以它在每個類別中都有三維屬性。
表1 中英文輔音屬性類別表(部分)
表2 中英文元音屬性類別表(部分)
圖1 本研究的TDNN網絡結構
對連續(xù)語流數據下的語音任務來說,由于語音是一種時序序列,所以上下文信息對于聲學模型的性能影響非常關鍵。在發(fā)音偏誤檢測任務中也是同樣。TDNN的優(yōu)點在于: 多層網絡訓練時對輸入特征具有較強的時序建模能力,描述了語音特征在時間序列上的關系,具備時間不變性且不需要對樣本標注進行時間定位,適用于本研究的關鍵在于TDNN對動態(tài)語音分類任務具有相當好的性能表現[9]。圖1是本研究訓練發(fā)音屬性時的TDNN模型結構,這種TDNN結構對時間序列輸入數據[10,11,12]具有有限的動態(tài)響應。假設t是當前幀,在輸入層(layer1),幀[t-2,t+2]被拼接在一起。層2,3和4我們分別將幀[t-1,t+2],[t-3,t+3]和[t-7,t+2]拼接在一起??偟膩碚f,神經網絡的左上下文為13,右上下文為9。
我們使用所有訓練集特征建立GMM建模通用背景模型,得到GMM訓練的統(tǒng)計量后重新訓練GMM,得到UBM,其中訓練特征40維,高斯數512個;使用UBM初始化i-vector,獲取正規(guī)化(CMVN)的特征后驗概率,計算統(tǒng)計量,根據統(tǒng)計量計算最后的i-vector模型F,其中,s維度為512×40,m維度512×40,w維度是100,因此T維度為512×100×40;拼接之后使用CMVN和LDA進行特征處理,根據特征和UBM獲取每個話者的超向量,根據超向量s、UBM、F模型,得到i-vector特征[10-12]。最終得到100維的i-Vector特征和49維的MFCC特征,共同訓練發(fā)音屬性檢測器組。
建模時,漢語聲母和韻母的建模分離和屬性分類差異導致訓練數據分布不平衡。例如,聲母屬性分類器中無用的標簽“vowels”包含了近一半的訓練數據。我們采用基于音素背景建模(phone-basedbackground model,PBM)的方法來解決這一問題,其關鍵是將無用分類和數據量龐大的分類進行多標簽表示,就像說話者或話語驗證的方法,通過非屬性類劃分獲得多標簽。圖2為本文在屬性檢測器中使用PBM方法建模的示例圖,該示例圖為非屬性類“vowels”化子標簽的做法,以建模發(fā)音方式(PA)為例,橫坐標為屬性標簽名,縱坐標為屬性標簽數量,斜線陰影表示是原始標簽數據量,點狀表示是PBM算法進行數據平衡后的各標簽數量??梢钥吹?,斜線陰影表示部分“vowels”標簽數量遠大于其他標簽,但是該標簽在PA中沒有任何意義,這樣的數據分布會導致模型訓練不平衡;而使用PBM后的點狀部分,將原標簽“vowels”的數量平均分為四個子標簽“vowels”、“vowels-a”、“vowels-b”、“vowels-c”,這樣數據分布相對平滑。
圖2 使用PBM方法對PA建模的數據分布
眾所周知,發(fā)音屬性具備跨語言特性,為了探究基于FSA方法的跨語言屬性識別能力,我們通過設計實驗對照組,觀察單語言和雙語言訓練的發(fā)音屬性檢測器在雙語言屬性識別任務中的性能對比。因為整合所有語言的發(fā)音屬性本身比較難,我們還探索了單語言訓練的屬性檢測器是否具備良好的多語言屬性檢測能力。但是TDNN和基于屬性HMM同時建模發(fā)音屬性的方法,有可能使得模型過于適應漢語發(fā)音習慣,而弱化發(fā)音屬性原本的語言通用性質。因此,我們通過減少建模時使用的上下文的信息弱化模型對單個語言的適應性和依賴性,之后對比雙語言訓練的屬性檢測器的性能來驗證這樣做的可行性。弱化上下文信息的屬性建模,我們采用Monophone-HMM和普通DNN模型作為對照組。
利用上述已被驗證的語言之間共享發(fā)音屬性的結論,可在發(fā)音偏誤檢測任務中用于建模發(fā)音偏誤。由于二語者受到母語負遷移的影響,其發(fā)音偏誤的發(fā)音屬性常常會傾向于母語中的相似發(fā)音的發(fā)音屬性,也就是說偏誤發(fā)音實際上是介于二語者的母語和第二語言之間的發(fā)音。利用這一點,結合整合語言的屬性檢測器,可用于直接建模該發(fā)音人的發(fā)音偏誤。理論上,在跨語言屬性檢測任務中性能良好的屬性檢測器,擁有描述不同母語背景學習者的發(fā)音偏誤的能力。
為此,針對上述基于FSA的單語言和雙語言訓練的屬性檢測器,我們在不同母語背景學習者的發(fā)音偏誤檢測任務上進行測試,通過分析兩組屬性檢測器在該任務上的性能,來驗證是否跨語言屬性識別性能良好的屬性檢測器,也會擁有更好的描述發(fā)音偏誤的能力。我們使用的兩種二語語料測試集,分別為母語俄語的發(fā)音人和母語日語的發(fā)音人。
我們通過對比上下文相關的HMM(triphone)組合TDNN、上下文無關的HMM(monophone)組合TDNN、上下文無關的HMM(monophone)組合DNN的三種建模發(fā)音屬性的方法設置對照實驗,在英語、漢語屬性識別任務中,觀察三個對照實驗的性能,測試單一語言訓練數據下的三種方法建模發(fā)音屬性時的跨語言能力。
同時,為了更直觀地觀察上述三個對照實驗的效果,我們單獨設置了一個對照實驗,采用上下文相關的HMM(triphone)組合TDNN的建模方法, 數據上使用漢語和英語雙語語料作為訓練集,兩語言訓練數據量比例為1: 1,訓練數據總量同上述三種方法一致,同樣在英語、漢語屬性識別任務中觀察性能。
在發(fā)音偏誤檢測任務上,我們在兩個測試集上設置了四組對照實驗,兩個測試集分別為母語俄語的學習者的中文語料、母語日語的學習者的中文語料。四組對照實驗為: 單語言訓練屬性檢測器組+俄語背景學習者測試集;單語言訓練屬性檢測器組+日語背景學習者測試集;雙語言訓練屬性檢測器組+俄語背景學習者測試集;雙語言訓練屬性檢測器組+日語背景學習者測試集。
最后一項對照實驗是基于FSA的屬性建模和基線屬性建模兩種方法的對比,我們針對二語學習任務設計了細顆粒度的發(fā)音屬性定義,并根據該定義建模了七種屬性檢測器,組成了前端屬性檢測器組。其中,只有兩種屬性與基線屬性定義差距較大,即舌位前后、舌位高低,因此我們設置了兩個對照組,分別觀察在這兩種屬性上基于FSA和基線屬性建模的兩項后端任務的性能,即屬性識別性能、偏誤檢測性能。圖3為對照實驗設計示意圖。
圖3 對照實驗設計示意圖
本研究通過借鑒ASAT框架的整合思路,設計了基于FSA的建模框架。前端特征提取模塊包含了一組屬性分類器,用于提取屬性后驗概率,再用于后端發(fā)音偏誤檢測任務,可以在不同維度上定義偏誤檢測,即超音段層級(如時長)、音段層級(如音素替換)和次音段層級(如清化音素)[13-14]。本研究主要在次音段層級完成偏誤檢測實驗,以及前端屬性提取器的性能測試,具體過程框架如圖4所示。
使用MFCC作為輸入特征,設置對照組分別為CD-HMMs、CI-HMMs,每個對照組包含七個基于發(fā)音屬性的HMM模型;使用MFCC和i-Vector作為輸入特征,兩組基于屬性的HMM做神經網絡初始化,經過PBM的數據平衡后,建?;趯傩缘腡DNN和DNN,總計四個對照實驗,每個對照實驗七個模型;在每個前端分類器模型中,生成當前幀在該分類器中每個屬性的概率,即幀層級屬性后驗概率,作為前端輸出??傆媰蓚€后端任務,將每個屬性分類的幀層級后驗概率用于評估基于FSA的建模方法在中文和英文測試集的性能,之后進入強制對齊處理后轉化為音素級后屬性驗概率進行次音段級發(fā)音錯誤檢測,即中英文屬性測試和次音段、音段偏誤檢測兩項任務。
圖4 基于FSA的建??蚣?/p>
本文使用的語料庫來自中國國家高技術項目863[15],以及開源的Aishell 178h普通話語料庫,英語語料庫分別使用來自LibriSpeech和Timit。單語言訓練的屬性檢測器的訓練數據共使用了1 800名說話者(約300h)的25萬個話語進行聲學建模,雙語言訓練的屬性監(jiān)測器的訓練數據使用了LibriSpeech和Aishel兩個語料庫的數據,共20 000條數據,約300h,與單語言對照組的訓練數據量保持一致,英語語料和漢語語料的比例為1:1,充足的數據保證了基于FSA方法建模的魯棒性。屬性識別實驗的的測試集有兩個,一個是來自Aishell語料庫的6 000條中文數據,另一個是來自Timit的6 000條英文數據。
我們對單語言訓練的屬性檢測器在母語(Ch)和跨語言(En)發(fā)音屬性檢測任務上進行了評估;通過兩種建模方法(上下文相關CD、上下文無關CI)和兩個神經網絡DNN模型、TDNN模型,每個對照組包含三組對照實驗(Triphone、Monophone、CI)。所有屬性識別的實驗結果如圖5、圖6所示。
由圖5可知,上方三條曲線表示在漢語(Ch)測試上表現出可靠的性能,即三個對照實驗性能均在80%以上,且上下文相關和TDNN組合建模(Triphone-Ch)的準確率,高于上下文無關和DNN組合(CI-Ch)建模的準確率。下面三條曲線在跨語言測試集(En)中表現出相對較低的檢測準確率,尤其是元音部分,這表現出英語元音的結構與漢語差別很大,但是上下文無關和DNN組合(CI-En)建模的準確率,在趨勢上高于上下文相關和TDNN組合(Triphone-En)的準確率。經過更深入的觀察,在跨語言屬性檢測任務中的多個屬性檢測器,如擦音(Fricative)和濁音(Voiced),可以獲得較好的準確性(最高93%和78%)。我們還發(fā)現,在英語測試集上分類更精細的TF的屬性集(表2)精度略優(yōu)于PA分類(表1)。此外,由依賴于上下文的建模方法并不比上下文獨立的建模優(yōu)異,甚至CI方法在某些屬性上也具有更好的效果,驗證了發(fā)音屬性的語言獨立性。
圖5 在漢語和英語上的基于FSA方法的檢測準確率
圖5 (續(xù))
我們同樣對單語言訓練的和雙語言訓練的屬性檢測器,在母語(Ch)和跨語言(En)發(fā)音屬性檢測任務上進行了評估,對應兩個對照組(Ch、En),每個對照組包含兩個對照實驗(Monolingual、Bilingual),其中兩個對照組上下文相關組合TDNN,兩個對照組除訓練數據不同以外無其他差別。另外,由于英語中并沒有AS屬性,所以我們使用PBM方法平衡了雙語訓練集數據來訓練AS屬性檢測器。所有屬性識別的實驗結果如圖6所示,從中可以看出,準確率最高的兩個曲線為漢語測試集上的屬性識別結果(Ch),識別準確率在80%以上,且單語言訓練的屬性檢測器識別準確率(Monolingual-Ch)均高于雙語言訓練的屬性檢測器識別準確率(Bilingual-Ch)。圖中下兩條曲線反映了英語屬性識別對照組的情況,其中雙語言屬性檢測器識別準確率(Bilingual-En)遠高于單語言屬性檢測器識別準確率(Monolingual-En)。
圖6 在漢語和英語上的基于FSA方法的檢測準確率
發(fā)音偏誤檢測任務采用的二語語音數據庫,使用北京語言大學漢語中介語語料庫[16],其中包含母語為俄語的普通話學習者的1 000條語音,母語為日語的普通話學習者1 000條語言。為了在次音段級和音段級上檢測發(fā)音偏誤,我們使用了兩個指標,即F-score和診斷準確率(DA)來評估發(fā)音錯誤檢測的性能。
其中,NM為檢測到的真實偏誤數,檢測結果與人工標注一致。NC是系統(tǒng)檢測到的真實正確發(fā)音的個數。Precision是真實偏誤數和所有檢測到的發(fā)音錯誤的數量的比值,稱為準確率。Recall為真實偏誤數和測試集中發(fā)音錯誤總數的比值,稱為召回率。N為測試集中音素或屬性的個數。
在單語言訓練的屬性檢測器組的對照實驗中,我們選取了7個具有最好屬性識別性能的分類器,并在兩種測試集上對次音段級偏誤檢測性能進行評估,之后將它們整合至音段級的偏誤檢測中,結果如表3、表4所示。我們可以看到,不論是母語為俄語還是日語的發(fā)音人測試集,基于FSA的方法都可以很好地檢測出不同的發(fā)音屬性的偏誤,尤其是單語言訓練的屬性檢測器組(Monolingual-DA),次音段級診斷準確率均在83%以上。更精細地體現漢語舌位變化的TF、PA、TH,不論是在兩個測試上(母語為俄語或日語)還是單語言或雙語言訓練(Monolingual-DA,Bilingual-DA)的屬性檢測器,表現均高于基線的T-T和H-H。
表3 母語俄語學習者次音段偏誤檢測 (單位: %)
表4 母語日語學習者次音段偏誤檢測 (單位: %)
在母語為俄語的二語者的測試集上,通過對比單語言訓練和雙語言訓練的屬性檢測器組的整體診斷準確率(Monolingual-DA,Bilingual-DA),我們發(fā)現雙語言訓練的屬性檢測器組的偏誤檢測診斷準確率低于單語言訓練的屬性檢測器。在母語為日語的二語者的測試集上的偏誤檢測結果顯示: 總體上母語為日語的學習者的次音段偏誤檢測準確率比母語為俄語的學習者要高,可能是因為母語為日語的學習者的漢語總體水平高于母語為俄語的學習者。通過對比關于單語言訓練和雙語言訓練的屬性檢測器組的診斷準確率(Monolingual-DA,Bilingual-DA),同樣發(fā)現雙語言訓練的屬性檢測器總體表現低于單語言屬性檢測器。
將上述單語言和雙語言訓練的屬性檢測器組分別整合后,與同數據量訓練(Aishell,約300h)的基于音段的偏誤檢測(表5)相比(Monolingual,M),在兩種母語背景學習者的測試集上,基于FSA的偏誤檢測診斷準確率更高,F-score更高,驗證了本研究所提出的方法的有效性。此外,在母語為日語的發(fā)音人測試集中,音段偏誤檢測的性能均優(yōu)于在母語為俄語的發(fā)音人測試集中的性能,包括基線系統(tǒng)(Segment-based)的基于音段的偏誤檢測診斷準確率;雙語言屬性檢測器組整合后(Bilingual,B),用于音段偏誤檢測,在DA和F-score上低于單語言屬性檢測器組整合后的結果,這與次音段偏誤檢測中的結果一致。
表5 母語俄語/日語學習者音段偏誤檢測 (單位: %)
本文提出了一種基于細顆粒度發(fā)音屬性(FSA)識別方法,并在發(fā)音偏誤檢測中應用。 實驗結果表明, 在使用單一語言訓練時,該方法提取了可靠的幀層級發(fā)音屬性的準確率,均在90%以上;在跨語言測試中,通過修改建模時使用的上下文信息,降低了檢測器在漢語上的過度適應,建模時使用的上下文信息越少,單語言屬性檢測器性能越好,驗證了發(fā)音屬性的跨語言特性;但是,使用上下文信息最少的屬性檢測器組,跨語言測試的準確率也遠低于雙語言屬性檢測器在英語屬性識別任務中的性能,表明語言間音素結構的巨大差異依然有很大影響。在漢語屬性識別任務中,單語言訓練相比雙語言訓練的屬性檢測器組準確率平均高出7%,這表明雙語言屬性檢測器沒有很好地表現出發(fā)音屬性的語言獨立性。相比單語言訓練,雙語言屬性檢測器組在英語屬性識別任務中的性能提升明顯,體現了屬性的語言通用性。
在二語學習者的偏誤檢測實驗中,使用基于FSA的方法相比于傳統(tǒng)發(fā)音屬性定義的基線系統(tǒng),在次音段級別偏誤檢測任務中都表現了更優(yōu)的性能,表明基于FSA的方法在偏誤檢測任務中更能體現漢語語言發(fā)音的特點;同時,同數據量訓練的基于發(fā)音屬性的方法(單語言)比起基于音段的方法,在音段偏誤檢測任務中獲得了更好的檢測性能,近一步驗證了基于FSA方法的有效性。
理論上,該方法可以應用于任何母語背景的學習者,我們通過在母語背景為俄語、日語的發(fā)音人語料庫上的發(fā)音偏誤檢測,測試雙語言訓練相比單語言訓練的的屬性檢測器,是否能擁有更好的描述發(fā)音偏誤的能力。實驗結果顯示,單語言訓練的屬性檢測器性能更優(yōu)。經過分析,可能由于雙語訓練使用的第二語料庫,并非使用發(fā)音人的第一語言,即日語和俄語;雙語屬性檢測器在漢語屬性識別任務中的準確率低于單語言屬性檢測器,即沒有體現屬性的語言獨立性。