摘要:每年的國家普通話測試,都留下普通話測試的相關信息。為了有效利用這些信息,建立了普通話測試語音信息庫,實現了信息錄入、信息查詢、數據統計、權限管理等多種功能。為了實現最小到音節的錄音語料查詢,信息庫利用HTK進行音頻文件的自動切分處理。普通話測試語音信息庫可方便地用于包括測試錄音語料在內的各種資料的調用和各種關聯數據的統計。
關鍵詞:普通話測試;語音信息庫;信息查詢;設計與實現
0 引言
分析利用普通話測試信息,可以了解不同背景人群習說普通話的規律和特點,了解普通話各種語音單元的實際發音狀況,了解普通話測試的具體實施情況。在普通話語音特征研究、普通話教學改進與完善、普通話測試方法的科學與智能化發展等方面,普通話測試信息是不可多得的資料。有效地利用普通話相關測試信息,對掌握普通話推廣工作的形勢,加快普通話推廣進程,加強全國各地區各民族人民的交流與交往,促進和諧社會的發展都具有十分重要的意義。
一般情況,普通話測試信息被分成幾種形式保存:現場錄音語料為音頻資料,專家評定的分數為紙質試卷,考生及管理信息則多為電子信息。其中,音頻資料和試卷查閱起來比較困難,錄音、分數和其他不同形式的信息之間的關聯查詢更為不易。此外,信息利用和隱私保護之間的矛盾也難以協調。
為了更好地利用和保護普通話測試信息,有必要建立普通話測試語音信息庫。信息庫應綜合各類普通話測試信息,方便各種信息的關聯調用,并具有信息保護與權限管理功能。
國內外學者對語音及相關信息的利用價值早有定論,開發出了各式各樣的語音信息庫。國內也有一些和普通話測試相關的信息處理軟件,在普通話測試實踐中發揮了巨大作用。這些軟件的功能偏重于測試管理,在信息利用方面有待進一步完善。
本文以一個普通話測試中心為背景,建立了一個包含數字化錄音語料信息、數字化試卷與分數信息、其他測試相關信息的普通話測試信息數據庫,實現了錄音語料、試卷分數、考生背景等信息的關聯查詢。數據庫還附有分數錄入工具和錄音自動切分工具。分數錄入工具可以用來錄入試卷分數,測試專家也可以用它進行現場打分。錄音自動切分工具可以從語流中切分出單字和單詞并分別存放,以實現細化到字、詞的音頻語料查詢。
普通話測試語音信息庫存貯了錄音語料音頻信息、試卷分數信息、試題信息、考生信息及考試信息,具有信息錄入、信息查詢、數據統計、音頻文件處理及權限管理功能。普通話測試語音信息庫中的Windows應用程序采用Visual C++編寫,由OBDC接口與Microsoft SQL Server數據庫相連,實現系統軟件的構建。
1 普通話測試語音信息庫總體設計
1.1 用戶需求分析
普通話測試語音信息庫主要服務于普通話水平測試管理、普通話推廣與教學研究、語音處理與語音學研究。
在普通話水平測試管理方面,需要實現測試前和測試中的報名、考試安排以及測試后信息的分類查詢等功能。現有的普通話測試信息軟件,多數只服務于普通話測試前和測試中的管理工作,測試后可供查詢的信息種類較少。本文的普通話測試語音信息庫提供了多種信息的綜合查詢。可查詢的信息主要有:考試信息、考生信息和試題信息。考試信息用于了解各個考場的使用、評委工作量的分配情況。考生信息用于計算考生比例、了解不同語言背景下考生的分布情況,分析普通話測試的影響力。試題信息可用于查閱歷次測試的試題內容。
在語音處理與語音學研究中,需要大量具有不同發音質量的語音材料,以提高語音識別的正確性和自動語音評估系統的精確度。本文的普通話測試語音信息庫能處理測試錄音語料,得到以單字、單詞、段落形式存放的音頻文件。這些音頻文件同時關聯和反映了發音質量的測試分數,以及發音者來自哪個方言區、從事專業、年齡等信息,可為測試錄音語料的研究和利用提供方便。
在普通話推廣與教學研究方面,母語、日常方言對語音、語調誤讀的影響較為明顯,為了解不同語言背景下的發音特點,需要大量不同背景發音者的不同質量的發音語料。本文的普通話測試語音信息庫實現了發音文本、發音質量和發音人背景信息的關聯,為分析不同背景學生普通話說不準的原因提供了方便,有助于有的放矢地開展普通話教學。另外,本信息庫可以動態地接收學生的讀音,并對其發音的標準性給出即時的評價。
1.2 信息種類
為了滿足普通話水平測試管理、普通話推廣與教學研究、語音處理與語音學研究的需要,普通話測試語音信息庫需要包含錄音語料音頻信息、試卷分數信息、試題信息、考生信息及考試信息。
錄音語料音頻信息是普通話測試現場記錄的考生讀音。根據普通話測試的內容,每個測試考生的錄音語料音頻信息分為單字(100個音節)朗讀、單詞(i00個音節)朗讀、短文朗讀和主題談話四個部分。前兩部分經過語音切分后,以獨立單字、單詞的形式存貯,并將路徑索引到數據庫中。后兩部分則整體分別存貯,路徑同樣索引到數據庫中。
試卷分數信息是普通話測試時測試專家根據測試者的讀音正誤給出的分數。字、詞部分的分數包含了每個音節的發音分數。短文朗讀和主題談話部分的分數包含了發音的準確性、流暢性、語速控制等方面的分數。數據庫存貯了上述各單項分數、總分及其相對應的測試等級。
試題信息包括題號、題目文本、以及相應的拼音等內容。
考生信息包括考生個人信息和考生語言背景信息。考生的個人信息包含考生的專業、出生年月、學歷等基本信息。考生的語言信息包含考生的家庭使用語言、父母學歷、母語等先天語言背景信息,還有日常用語、工作用語等后天語言背景信息。
考試信息記錄了普通話測試時的時間、地點、測試專家等信息。
2 主要功能的設計與實現
普通話測試語音信息庫的主要功能為:信息錄入、信息查詢、數據統計(第三章中進行討論)、音頻文件處理及權限管理。
2.1 信息錄入
錄入信息包含:錄音語料音頻信息、試卷分數信息、試題信息、考生信息及考試信息。
錄音語料音頻信息的錄入采用現場錄音的方法,與測試同步進行,經語音自動切分后,存放在數據庫中(將在2.3節討論)。
試卷分數信息需要人工錄入。有兩種錄入方式:其一是在測試時,由測試專家直接在界面上打分;其二是在測試后,由數據庫維護人員錄入各題分數。試卷分數錄入界面與紙質試卷版面嚴格一致。計算機統計各題得分和總分后,將分數信息輸出到屏幕或存入數據庫。
試題信息由工作人員錄入數據庫。
考生和考試信息在普通話測試報名和考試安排時獲得,由考生和普通話水平測試管理人員分別在普通話測試網絡管理系統上填寫個人信息、考場和評委信息。這些信息直接存入數據庫。
普通話測試語音信息庫有較好的人機交互接口和完善的信息保護設置。
2.2 信息查詢
信息錄入以后,按照相應的數據模型組織到數據庫中。系統利用Microsoft SQL Server存貯人員信息,試卷分數信息、錄音語料音頻信息等多種數據,具有較小的冗余度,較高的數據獨立性和易擴展性,并可被各種用戶共享。
系統對各查詢條件使用“交”的關系操作。如:關系R和關系S的交,就是同時在R和S中存在的元素的集合。
本程序采用開放數據庫互聯技術(Open Database Connec-tivity,ODBC)使Visual C++與Microsoft SQL Server數據庫相連,通過添加相應的控件(DBGird和RemoteData)來完成查詢系統的界面與數據源的綁定。
2.3 音頻文件處理
測試者的錄音資料經過數字化以后,需要以單字、單詞、段落的形式存放。本文利用HTK工具箱(The Hidden Markov Model Toolkit——劍橋大學開發),通過普通話測試語音材料的訓練,得到普通話測試語音模型。在此基礎上利用HTK的自動強制對齊(Force Alignment)功能,將普通話測試錄音語流中的單字、單詞等語音單元與試卷中對應的文本進行時間對齊,標出每一個語音單元的邊界時間。最后根據標注出的邊界編寫程序,實現語音單元自動切分,得到以單字、單詞等形式存放的音頻文件。切分后的音以“WAV”的文件格式存放在特定的文件夾中。利用查詢功能用戶可以快速、準確地找出各個語音的存放路徑,進行語音查詢。
系統調用Visual C++MCI(Media Control Interface)中自帶的音頻處理函數,實現后綴名為“.way”的音頻文件播放。
2.4 權限管理
使用普通話測試語音信息庫的人員大致劃分為:系統管理人員、試卷分數錄入人員、普通話測試管理與研究人員、語音研究人員。
權限管理的主要方法是:①管理人員對不同類型的用戶設定不同的密碼;②用不同的密碼登錄之后,只能進行特定的操作。
權限管理采用的技術路線是:①系統對用戶輸入的密碼進行類型判別,激活相應的操作菜單,提供相應的操作;②只有激活的菜單才具有可操作性。例如:試卷分數錄入人員輸入相應的密碼后,“試卷錄入”的菜單被激活,點擊菜單后彈出相應的對話框,即可進行試卷分數的錄入。這時,信息查詢的菜單處于未激活狀態,即使點擊信息查詢菜單,也不能彈出相應的對話框,從而達到阻止下一步操作之目的。
3 數據庫設計
普通話測試語音信息庫需要將大量的數據存入數據庫中,以方便用戶查詢。我們根據不同目標用戶的需求,對數據庫進行了概念結構、邏輯結構和物理結構的設計。
3.1 概念結構
根據數據庫需求分析及系統功能需求分析,可以確定數據庫的概念結構。本系統中有考生、音頻、考試、試題、試卷分數5個基本實體,分別記錄了考生信息、測試后的語音資料、考場與評委信息、試題和分數信息等。數據庫實體(entity)一關系(relationship)的E-R圖如圖1所示。

3.2 邏輯結構
根據數據庫的概念結構,構建了5張數據總表來存貯和反映5個基本實體。即:考生(student)、音頻(speech)、考試(test)、試題(test paper)、試卷分數(test score)。每張數據總表又包含若干分表,存貯各個實體的各方面信息。例如:考生信息包括出生年月、所在單位等多種屬性。5個實體之間存在相互作用的關系,故在構建數據庫時將具有關系的實體項進行了級聯。
3.3 物理結構
數據庫的物理結構設計如圖2所示。

主鍵是實體中惟一標識元組的屬性。本系統中考生編號(student_ID)是每個實體的主鍵。相較考生姓名(有可能重復)等屬性,考生編號更能夠惟一地標識數據庫中的一條記錄。
外鍵用于實現數據庫中表與表之間的關聯,起到橋梁作用。考生編號(student_D)為各個表的外鍵。例如:查詢來自不同單位的考生成績時,“考生”和“測試成績”這兩個表就需要實現關聯。為此,在考生表中找出滿足查詢條件的考生,即可獲得相應的考生編號,再將考生編號對應到測試成績表中,就可查詢出考生的成績。
4 應用舉例
普通話測試語音信息庫中的試卷分數信息、試題信息、考生信息及考試信息可統稱為文字基礎信息。經處理后,從文字基礎信息中可得到數據統計信息。
4.1 文字基礎信息
文字基礎信息在普通話水平測試管理、考生成績管理、普通話推廣與教學研究、語音處理與語音學研究等方面,有較為廣泛的應用(表1)。

作為實例,圖3示出了考生測試成績查詢界面,表2列出了—個具體的查詢結果。

4.2 數據統計信息
數據統計信息也廣泛應用于普通話推廣與教學研究、語音處理與語音學研究中。
數據庫中的數據經過導出,可生成一份EXCEL的電子表格文件,利用EXCEL自帶的圖表操作功能,最后可以生成直觀的統計圖表,利用這些圖表可以得到許多有價值的論斷。
例如:圖4所示為某次測試對不同方言背景的考生發“仄”音的得分分布情況的統計。由圖4可以看出:使用少數民族語言和吳方言的考生發“仄”音的正確率較高,贛方言、閩方言的考生發“仄”音的正確率較低。可能的原因有:①“仄”音在少數名族語言中出現頻率高,其發音標準與普通話的發音標準基本一致;②在贛方言和閩方言中,“仄”音的發音標準與普通話的發音標準有較大差異;③一些考生不認識“仄”音的部分字,不能正確地發音。

實際上,日常方言對語音、語調的影響較大。通過對不同方言背景下考生對某個字發音正誤率的比較,可以得出具有該方言背景的人的發音特點。普通話測試語音信息庫系統可以給出不同方言背景下的考生對某個字發音的正誤率,以助于語音研究。
4.3 錄音語料音頻信息
通過查詢界面。找到某一語言背景下某個單字的得分和存放路徑,可以幫助建立該語言背景下某單字的語言模型,此模型可運用到語音識別和自動發音評估系統中。圖5所示為日常用語是北方方言的考生發“拐”音的情況。

得到查找音的存放路徑后,在音頻播放界面點擊“打開文件”按鈕,彈出對話框,在對話框中填入相應的路徑,就可進行音頻播放。
系統沒有音頻播放的暫停/繼續、停止等功能(圖5)。語音研究者可以根據需要選擇合適的播放方式。
5 結束語
本文開發了普通話測試語音信息庫,軟件具有信息錄入、信息查詢、數據統計、音頻文件處理、權限管理等功能。語音信息庫包含了錄音語料音頻信息、試卷分數信息、試題信息、考生信息及考試信息。系統可應用于普通話水平測試管理、普通話推廣與教學研究、語音處理與語音學研究中,具有廣泛的實用價值。