戰(zhàn)玉娟,苑芳兵
(1.莒縣第五中學(xué),山東 日照 276500;2.莒縣人民醫(yī)院信息科,山東 日照 276500)
在語文教學(xué)過程中,有大量的課文內(nèi)容需要學(xué)生背誦,任課教師為了檢查學(xué)習(xí)效果,需要經(jīng)常檢查學(xué)生的背誦完成情況,這往往需要占用大量的課堂教學(xué)時間,并且通常情況下教師只能抽查一小部分學(xué)生,要想實(shí)現(xiàn)全面覆蓋的背誦檢查,只能依靠各種形式的學(xué)生自查,而這樣往往效果又不太理想。其他需要大量記憶的課目,比如史、地、生等同樣也存在這一矛盾。針對這一情況,筆者嘗試?yán)脟鴥?nèi)比較成熟的科大訊飛開放平臺的智能語音技術(shù),實(shí)現(xiàn)語音的連續(xù)識別和評測,使教師能夠?qū)θw學(xué)生背誦情況進(jìn)行智能自動檢查。
經(jīng)過對相關(guān)文獻(xiàn)的查閱整理,發(fā)現(xiàn)將語音識別技術(shù)應(yīng)用于背誦檢查領(lǐng)域方面的研究還很少,基本處于空白狀態(tài)。目前在文本相關(guān)(text-dependent)的語音識別領(lǐng)域,研究還主要集中在普通話或者外語口語測試等語音評測方面,技術(shù)也已經(jīng)比較成熟[1]。經(jīng)過對比研究,雖然都是文本相關(guān)的語音識別應(yīng)用,但相對于語音評測方面的應(yīng)用,背誦檢查還是有不小的區(qū)別。
首先,背誦檢查和語音評測雖然都是文本相關(guān)的,但從概念上說背誦檢查是語音評測的外延,它不僅需要檢查學(xué)生發(fā)音的準(zhǔn)確性,還要求背誦的文本跟課文完全一致;其次,不同于語音評測主要題型是嚴(yán)格按照文本順序的朗讀,在語音識別時只要做簡單的“類似切分”進(jìn)行強(qiáng)制文本對齊,而背誦很可能出現(xiàn)漏背、重復(fù)、亂序、停頓、無效語氣詞等情況,所以相對較難實(shí)現(xiàn)文本對齊;最后,在結(jié)果的呈現(xiàn)上,語音評測可以根據(jù)評分標(biāo)準(zhǔn)給出一個量化分?jǐn)?shù),而背誦雖然也可以給出某些特征評分,但還需要詳細(xì)地告訴學(xué)生哪些地方有背誦錯誤。所以語音識別在背誦檢查方面的應(yīng)用研究是很有必要的。
因?yàn)轫?xiàng)目最終使用者是技術(shù)基礎(chǔ)比較薄弱的一線教師或者學(xué)生,所以必須滿足易用性特征,盡量智能化、自動化,無需或盡量少的環(huán)境配置,無需培訓(xùn)或者只需稍加引導(dǎo)即可使用,每次使用除了需要維護(hù)原始背誦文本,盡量減少附加維護(hù)工作。由于實(shí)際使用環(huán)境一般處于噪音較大的教室或者辦公室,所以還應(yīng)盡量提高噪音環(huán)境中的魯棒性、容錯性,提高噪音環(huán)境中的識別正確率。要便于背誦結(jié)果查詢對比,方便教師發(fā)現(xiàn)學(xué)生背誦過程中存在的各種問題,以便針對性地加以引導(dǎo)。
實(shí)現(xiàn)背誦智能檢查這一目標(biāo)的難點(diǎn)主要有兩個方面:
針對這一難點(diǎn),為了降低噪音影響,首先對語音進(jìn)行預(yù)處理,選擇了卡爾曼濾波算法將原始語音進(jìn)行去噪增強(qiáng)[2]。對于語音識別,目前國內(nèi)該領(lǐng)域的技術(shù)已經(jīng)比較成熟,識別正確率大部分已經(jīng)可以做到97%以上,所以本文無意在語音識別技術(shù)方面做深入研究,而是直接利用現(xiàn)有的開放數(shù)據(jù)接口。通過分析對比,我們選擇了國內(nèi)最早研究語音技術(shù)也是技術(shù)最成熟的科大訊飛語音開放平臺[3]作為語音識別的技術(shù)基礎(chǔ),同時科大訊飛還有一個語音評測的開放接口,在檢查背誦的同時,還能夠指導(dǎo)學(xué)生普通話發(fā)音,通過智能語音技術(shù)自動對發(fā)音水平進(jìn)行評價,對發(fā)音錯誤、缺陷進(jìn)行定位和問題分析,可謂是錦上添花。由于訊飛語音聽寫接口要求上傳的每段語音不超過60秒,所以需要在上傳之前將語音進(jìn)行適當(dāng)分割,然后分段上傳識別。
對于該難點(diǎn),本文采取了四個措施以保證評價結(jié)果能夠準(zhǔn)確反映出學(xué)生的實(shí)際背誦情況。
(1)嘗試建立一個多維度的綜合評價指標(biāo)體系(見表1),從多個維度對學(xué)生的背誦給出評分,然后給出一個綜合加權(quán)評分,教師可以根據(jù)自己的喜好選擇自己偏重的維度,比如有的教師要求一字不錯才算背過,那就需要文本相似度、完成度和正確率三個指標(biāo)都達(dá)到100%。有的教師還要求不能重復(fù),那就必須插入錯誤率為0。
表1 多維度綜合評分指標(biāo)
(2)定義了一個簡單的文本相似度函數(shù)。由于背誦文本一般不長,并且檢查時一般不考慮語義相似性,只要字符不一致即判斷為背誦不正確,所以采用相對比較簡單的LD(Levenshtein Distance)文本比較算法[4]計算兩段文本的編輯距離(Edit Distance),進(jìn)而根據(jù)表1中的文本相似度公式求出兩個文本的文本相似度,然后根據(jù)該算法的LD矩陣計算回溯路徑,得到原始文本和識別文本的匹配字符串,以不同的顏色標(biāo)注出一致、漏背、多余、錯誤的字符。經(jīng)過比較,雖然LD算法在文本比較算法中并不是最優(yōu)的,尤其其空間復(fù)雜度為 O(MN)[5],當(dāng)文本較長時性能較差,但好在一般中學(xué)階段的文本背誦作業(yè)文本長度都不算很長,所以對本項(xiàng)目影響可以忽略。
(3)考慮到中文文本的特點(diǎn),一段文本是由一系列的詞組構(gòu)成,如果詞組中的單字背錯,可以認(rèn)為該詞組也是錯誤的,所以可以以詞組為單位進(jìn)行文本比較,這樣不但減少LD算法計算過程中的文本的長度,同時也可以降低誤判概率,本文采用中國科學(xué)院計算技術(shù)研究所的NLPIR分詞系統(tǒng)[6],首先對原始文本和識別文本進(jìn)行分詞,再以詞組為單位對兩文本進(jìn)行編輯距離的計算。
(4)經(jīng)過分詞系統(tǒng)切分詞組后,還采取了兩個手段進(jìn)一步減少對文本相似度計算的干擾,一是將原始文本和識別結(jié)果全部轉(zhuǎn)成拼音形式對比,以應(yīng)對中文文本中多音字較多、語音識別結(jié)果與原始文本可能音同字不同的情況;二是將原始文本和識別文本的標(biāo)點(diǎn)全部過濾掉,因?yàn)樽詣幼R別的文本一般標(biāo)點(diǎn)不夠規(guī)范,如果比對標(biāo)點(diǎn),會造成文本相似度比實(shí)際值偏低。當(dāng)然在結(jié)果呈現(xiàn)中,為了直觀還是要轉(zhuǎn)換到原來的中文文本的,這可以通過在過濾前向文本序列添加索引并保存在臨時變量中實(shí)現(xiàn)。
經(jīng)過上面的分析,我們設(shè)計了如圖1所示的系統(tǒng)模型。在學(xué)生界面中包含身份認(rèn)證、作業(yè)入口、語音錄制、語音回放、語音上傳、成績查詢、評測申訴等模塊,教師界面中除了包含學(xué)生界面的全部功能,還包含學(xué)生維護(hù)、作業(yè)維護(hù)、作業(yè)下發(fā)、手工檢查、成績查詢、歷史成績對比等模塊。
圖1 系統(tǒng)模型
考慮到背誦檢查的環(huán)境一般為教室、辦公室或者由父母監(jiān)督的家中,對可移動性要求較高,所以本項(xiàng)目選擇了在普及度比較高的Android平臺實(shí)現(xiàn)。編程環(huán)境選擇了官方的Android Studio集成開發(fā)環(huán)境。因?yàn)轫?xiàng)目的核心使用了科大訊飛的開放平臺接口,所以還需要導(dǎo)入科大訊飛的語音識別和語音評測Android版SDK。音頻錄制、分割部分使用了Android自帶的AudioRecorder、AudioManager類來處理。文本分詞系統(tǒng)采用了中國科學(xué)院計算技術(shù)研究所的NLPIR分詞系統(tǒng),同樣需要導(dǎo)入到項(xiàng)目中。
系統(tǒng)核心部分的流程是首先將錄制的背誦音頻文件暫存到臨時目錄,錄制完成使用卡爾曼濾波算法對音頻文件進(jìn)行降噪、增強(qiáng)處理,然后以1分鐘為單位將音頻切割成若干段,分別調(diào)用科大訊飛開放平臺的在線語音識別(SpeechRecognizer)和語音評測(SpeechEvaluator)接口進(jìn)行語音識別和評測,將語音評測結(jié)果合并后經(jīng)過格式化(對不同的錯誤發(fā)音標(biāo)以不同的顏色)后直接輸出,對語音識別結(jié)果合并后復(fù)制為兩份,一份暫存,另一份先調(diào)用NLPIR分詞系統(tǒng)進(jìn)行分詞,然后轉(zhuǎn)換為拼音格式并進(jìn)行標(biāo)點(diǎn)過濾,對原始文本同樣進(jìn)行分詞、拼音轉(zhuǎn)換、標(biāo)點(diǎn)過濾處理,將得到的兩份文本作為輸入,依次計算文本相似度、完成度、正確率等表1中列出的指標(biāo),其中計算插入錯誤率統(tǒng)計語氣詞時不但要參考維護(hù)好的語氣詞列表,還要參考原始文本,防止將原始文本中本來就有的語氣詞統(tǒng)計進(jìn)去。最后將計算結(jié)果輸出,并根據(jù)相似度計算矩陣回溯結(jié)果,將暫存的那份語音識別結(jié)果根據(jù)回溯結(jié)果以不同的顏色標(biāo)注出一致、漏背、多余、錯誤的字符并輸出。
系統(tǒng)實(shí)現(xiàn)后在學(xué)校中進(jìn)行了小范圍的測試和試用,受到了試用教師和學(xué)生的一致好評。對教師來說,該系統(tǒng)讓學(xué)生在教室或辦公室使用教師的Android設(shè)備或者在家使用家長的Android手機(jī)完成背誦作業(yè),免除了教師在課堂上檢查背誦占用過多時間的困擾,節(jié)約了大量寶貴的教學(xué)時間,顯著提高了教學(xué)效率。同時,系統(tǒng)可以測算學(xué)生背誦作業(yè)的各種指標(biāo),明確顯示出背誦錯誤,還能順帶準(zhǔn)確地指出發(fā)音錯誤,相對于教師人工檢查能夠提供更準(zhǔn)確、更清晰的學(xué)習(xí)指導(dǎo),方便因材施教、因勢利導(dǎo)。如果教師對某個學(xué)生的背誦不放心,可以在教師界面回放檢查該學(xué)生的背誦錄音,非常方便。對學(xué)生來說,檢查時不用面對教師和全體學(xué)生的注視,背誦時能夠更加放松,往往發(fā)揮得更好,更容易完成教師布置的背誦作業(yè),如果學(xué)生質(zhì)疑系統(tǒng)的評測,可以在學(xué)生界面對評測發(fā)起申訴,教師可以人工檢查學(xué)生的背誦錄音。
對系統(tǒng)的性能我們也進(jìn)行了基本的測試,主要對不同環(huán)境噪音背景下的語音識別正確率進(jìn)行了量化測試。經(jīng)過測試,在辦公室和家中基本安靜的條件下,語音識別的正確率還是很高的,基本能夠達(dá)到科大訊飛聲稱的97%左右。在教室其余學(xué)生都在背誦的嘈雜環(huán)境中,識別率較低,學(xué)生必須將手機(jī)的麥克風(fēng)離自己的嘴足夠近,并且前后左右同學(xué)沒有特別大聲的干擾,才能有較好的識別率。
本文以科大訊飛的語音識別技術(shù)為基礎(chǔ),將識別結(jié)果進(jìn)行一系列處理后,采用LD算法將識別結(jié)果和原始文本進(jìn)行比較,實(shí)現(xiàn)了學(xué)生背誦作業(yè)的智能自動檢查,經(jīng)過試用,取得了一定的經(jīng)濟(jì)和社會效益。
在系統(tǒng)使用過程中,我們也發(fā)現(xiàn)還有不少改進(jìn)的空間,比如少部分學(xué)生在背誦過程中可能會偷懶照讀課本,還有部分學(xué)生讓別人頂替完成作業(yè),所以計劃下一步在系統(tǒng)中加入不定時拍照、面部識別以及聲紋識別功能以應(yīng)對這兩種情況。還有系統(tǒng)為了提高識別率采用了在線語音識別,需要上傳音頻文件,如果教室中沒有WiFi用流量上傳,需要消耗較高的流量,效費(fèi)比較低,下一步考慮自動檢測網(wǎng)絡(luò)環(huán)境,在非WiFi環(huán)境中使用離線語音識別。