王 娜
(福建師范大學 福清分校數(shù)學與計算機科學系,福建 福清 350300)
在英語教學中,口語課常常不被重視.一個很重要的原因是學生認為只要常聽示范朗讀或者多做題目就可以在筆試中拿到高分.很多人特別是大學生在學習了幾年英語之后,甚至是一些大學英語四六級的高分考生卻不能用流利的英語表達自己的想法,學習外語關鍵在于練習.在傳統(tǒng)的課堂教學中,教師無法實現(xiàn)讓每個學生起立朗讀課文,糾正他們的發(fā)音錯誤,因為這樣會耗費大量的時間;課余時間也無法進行一對一的輔導.而復讀機雖然可以讓學生多次聽、反復跟讀,但是學生只能是從主觀上把自己的讀音與標準發(fā)音進行比較,無法得到客觀的打分結果.
近年來,計算機技術蓬勃發(fā)展,人們開始思考如何讓機器“聽懂”人的語言,語音識別技術應運而生了.現(xiàn)在的計算機輔助教學中,“聽”的比重遠大于“說”,也就是發(fā)音練習、糾錯反饋、實時評分的訓練并不多見.英語口語測試系統(tǒng)為英語學習者提供這樣的條件,讓他們通過多次發(fā)音訓練,糾正錯誤發(fā)音,從而改善當前口語教學的狀況.
英語口語測試系統(tǒng)的核心功能是對用戶的發(fā)音狀況作出評價.但如何選取適當?shù)脑u分規(guī)則給用戶的發(fā)音一個公正客觀的評價是關鍵所在.隱馬爾可夫模型(HMM)采用概率統(tǒng)計的方法形成識別模型,識別速度較快,識別率較高,動態(tài)時間序列建模能力強,識別效果良好.因此筆者選取了隱馬爾可夫模型(HMM)為基礎來訓練聲學模型.
隱馬爾可夫模型(HMM)是用單一離散隨機變量描述過程狀態(tài)的時序概率模型,該變量的可能值就是世界的可能狀態(tài),但觀察者不能直接感知狀態(tài)的變遷[1].
隱馬爾可夫模型定義為一個五元組:
HMM=(S,Y,π,A,B)
模型的世界狀態(tài)集S={S1,S2,…,SN},N是狀態(tài)的總個數(shù);輸出符號集Y={Y1,Y2,…,YM},M是每個狀態(tài)中的觀測值總數(shù);π是初始的狀態(tài)出現(xiàn)概率分布向量;A={aij}是狀態(tài)轉移矩陣,aij表示從狀態(tài)Si轉移到狀態(tài)Sj的概率;B是觀測值概率分布,B={bj(k)},bj(k)表示在狀態(tài)Sj時輸出符號Yk的概率[2].
欲使所建立的隱馬爾可夫模型能解決實際問題,以下三個問題必須加以解決:
(1)給定一個觀察序列O=O1,O2,…,OT和一個HMM參數(shù)組λ=(π,A,B),如何有效地計算在給定模型λ條件下產(chǎn)生觀察序列的概率P(O/λ).
(2)給定一個觀察序列O=O1,O2,…,OT和一個HMM參數(shù)組λ=(π,A,B),如何選擇最佳的狀態(tài)序列,使它產(chǎn)生的觀察序列O的概率最大.
一致性檢驗(Conformity Test)模型是判斷目標光譜與參考光譜一致性的常用手段。本文在建立雷公藤一致性檢驗模型時,采用的建模方法是:將待測光譜按約定化學計量學模型方法進行處理后,通過將待測光譜與參考光譜庫平均光譜相比較,計算其最大一致性指數(shù)(max.conformity index,最大CI值),與模型設定的一致性指數(shù)限度(conformity index limit,CI值限度)進行比較,從而快速簡單地判斷待測樣本木質部光譜與雷公藤木質部光譜是否具有一致性。其中最大一致性指數(shù)CI值計算公式為:
(3)如何根據(jù)觀察序列不斷修正模型參數(shù)λ,才能使P(O/λ)最大.
問題(1)實際上是一個評估問題,前人已研究出“前向-后向”算法;問題(2)是解碼問題,其關鍵在于選用怎樣最佳意義上的狀態(tài)序列Q使P(O/λ)最大,目前最好的解決方案是Viterbi算法;問題(3)是學習問題,Baum-Welch算法解決了HMM訓練問題即HMM參數(shù)估計問題,但該算法并不是唯一和最完善的方法[3,4].
圖1 系統(tǒng)的功能需求
系統(tǒng)主要功能是英語口語的學習與測試.這就需要系統(tǒng)管理員設置好學習模式或測試模式.系統(tǒng)的功能需求如圖1所示.如果是在學習模式下,用戶首先從一個可視化窗口進入系統(tǒng),選擇相應的題庫,打開示范語音,進行跟讀和練習,此時,語音提示與糾錯功能可用.如果是在測試模式下,用戶進入系統(tǒng)后,由系統(tǒng)隨機抽取題目以確??荚嚨墓叫?,此時,語音提示與糾錯功能被禁止.用戶通過麥克風錄制自己的音頻,形成WAV格式的文件保存起來.系統(tǒng)內部要進行語音識別、分割、對比、評分等一系列的活動直到成績發(fā)布到動態(tài)網(wǎng)頁上.
經(jīng)過認真分析和研究,得出了系統(tǒng)的角色分配模型,如圖2所示.系統(tǒng)共分為三個角色,分別是系統(tǒng)管理員、學生和教師.系統(tǒng)管理員能夠管理用戶信息(這里的用戶包括系統(tǒng)管理員、學生和教師),對這些信息進行增加、刪除、編輯、查詢的操作;能夠設置系統(tǒng)的模式,是教學還是考試模式;管理題庫,每過一段時間更新一次題庫,刪除其中比較舊的題目.學生能夠進行口語學習或者參加考試,學生交卷后,系統(tǒng)將評定學生的成績,學生能夠通過自己的用戶名和密碼查詢自己的考試成績.教師能查詢學生的成績,系統(tǒng)能夠以班為單位匯總、輸出成績提供給教師參考.
圖2 系統(tǒng)的角色分配模型
圖3 語音評分的工作流程
首先,被測試者通過文本的提示進行發(fā)音,系統(tǒng)從MIC中采集到被測語音信號,隨機自動轉入端點檢測,從而分離出有效信號.系統(tǒng)將有效信號和標準語音抽取Mel頻率倒譜系數(shù)(MFCC),用Viterbi算法切割音素,進行對比,從發(fā)音、語速、語調、重音和停頓幾個方面進行加權平均,得到最后的相似度得分.語音評分的工作流程如圖3所示.
為了提高效益、降低成本并考慮到系統(tǒng)的擴展性,本系統(tǒng)在Windows平臺上通過編寫C/C#代碼實現(xiàn),部分算法采用了MATLAB.以下是部分C程序.
BOOL WINAPI AudioMarkInit(BOOL bInit)
{
}
HANDLE WINAPI AudioMarkCreate(const void *lpInit,UINT nSize)
{
//2、創(chuàng)建語音評分的對象/環(huán)境
}
BOOL WINAPI AudioMarkDestroy(HANDLE h)
{
//3、釋放創(chuàng)建的語音評分對象
}
BOOL WINAPI AudioMarkSetEndPoint(HANDLE h,const Endpoint *lpEndPoint,int nCount)
{
//4、設置語音范圍
}
long WINAPI AudioMarkCheck(HANDLE H,const short *pnData,int nDta,int nSampleRate)
{
//5、根據(jù)創(chuàng)建的對象,進行評分
}
本系統(tǒng)的角色涉及到考生、教師、系統(tǒng)管理員,他們擁有不同的權限.英語口語測試系統(tǒng)的登錄界面如圖4所示.用戶登錄校園網(wǎng),通過輸入正確的用戶名和密碼并選擇相應的身份即可進入系統(tǒng).如果用戶名或密碼不正確,登錄失敗,系統(tǒng)會彈出“用戶名或密碼錯誤,請重新輸入!”的對話框,然后返回登錄界面.由于考生用戶比較多,系統(tǒng)設置了個人信息核對.
圖4 英語口語測試系統(tǒng)的界面
英語口語測試系統(tǒng)的朗讀測試界面如圖5所示,頁面上顯示了朗讀測試題的內容,考生的個人信息,播放控制,語音信號的波形等.其中,播放控制從左到右的三個鍵分別代表播放、錄制、暫停.被按下的鍵表示當前的工作狀態(tài),如錄制按鈕顯示為紅色表示當前系統(tǒng)處于錄制狀態(tài).
圖5 英語口語測試系統(tǒng)的朗讀測試界面
實驗的語音采集是由16名學生(其中男性8名,女性8名)手持麥克風在普通機房進行錄音完成的.每人讀50個單詞,每個單詞讀4遍,共采集到3200個測試語音樣本.標準語音來源于《大學英語》精讀課本的標準朗讀語音.采用普通聲卡,Windows自帶的錄音軟件,采樣頻率為44.1KHZ,PCM方式,量化精度為8bits.本系統(tǒng)使用13維的MFCC進行特征提取.教師人工打分參考值來源于四名英語專業(yè)教師的打分的平均值.利用本系統(tǒng)評分與人工打分的對比情況如表1所示.
表1 利用本系統(tǒng)評分與人工打分的對比情況表(部分)
本文依照英語發(fā)音的特點,利用基于HMM模型的語音識別技術研發(fā)了一個英語口語測試系統(tǒng).評測結果表明,本文的語音評價系統(tǒng)比較符合人的主觀感覺,其評價結果能夠反映出被測試者的發(fā)音水平.
參考文獻:
[1]高濟.人工智能高級技術導論[M].北京:高等教育出版社,2009:245~246.
[2]Mohamed Debyeche,Aderrahmane Amrouche,Jean Paul Haton.Distributed TDNN-Fuzzy Vector Quantization for HMM speech recognition[C]//International Conference on Multimedia Computing and Systems,2009:72~76.
[3]易克初,田斌,付強.語音信號處理[M].北京:國防工業(yè)出版社,2000:172~176.
[4]劉幺和,宋庭新.語音識別與控制應用技術[M].北京:科學出版社,2008:4~8.