李少芳
(莆田學(xué)院 信息工程學(xué)院,福建 莆田351100)
傳統(tǒng)考試的組考流程中每一個環(huán)節(jié)都是人工操作的,從組織命題到公布成績不僅周期較長,而且安全性也難以得到保證。無紙化考試不僅可以縮短組考周期,節(jié)約考試成本,更因為機器自動閱卷,一定程度上減少了人為閱卷的主觀誤差,使考試成績更客觀、更公正。無紙化考試已經(jīng)在很多領(lǐng)域得到應(yīng)用和開發(fā)[1],比如教育部的全國計算機等級考試,勞動與社會保障部的全國計算機信息高新技術(shù)考試,會計、銀行等行業(yè)從業(yè)資格考試,機動車駕駛?cè)丝颇恳唬ɡ碚摚┛荚?,高校公共計算機課程網(wǎng)絡(luò)無紙化考試等,試題中可包括文本、語音、視頻等交互信息。
計算機自動閱卷評分速度快且準(zhǔn)確性高,基本上避免了人工評卷的誤差。由于客觀題有統(tǒng)一規(guī)范的答案,其自動閱卷實現(xiàn)較為簡單。對于短文類主觀題,可以直接通過參考答案和學(xué)生答案的匹配度來評分;對于相對長的作文類主觀題,通常采用提取淺層結(jié)構(gòu)信息或語義信息,然后根據(jù)遣詞造句評分,或者通過與設(shè)置的模板匹配來評分。目前計算機自動評分算法有很多,有近似串匹配算法[2]、基于語義脈絡(luò)的主觀題自動評分算法[3]、基于分詞匹配的主觀題自動評閱技術(shù)[4]、基于文本相似度計算的主觀題自動閱卷技術(shù)[5,6]、以關(guān)鍵詞匹配為主、語意貼近度計算為輔的參數(shù)可調(diào)主觀題自動閱卷技術(shù)[7],等等。
以漢字錄入題的評分為例,評分的關(guān)鍵在于如何計算錄入的正確字?jǐn)?shù)。通常采用的是簡單的上下文比照對應(yīng)位置的精確匹配來判斷正確性,在操作界面上要求考生參照標(biāo)準(zhǔn)文本依次錄入漢字,有不會的字符必須用空格占位,并用文字的顏色實時提醒考生所輸入字符的正誤,例如紅色表示錄入正確,藍色表示錄入錯誤,黑色表示尚未錄入。設(shè)N 為比較的文字總數(shù),M 為正確的文字?jǐn)?shù),則文字錄入的正確率為M/N,得分就是M/N*100 取整。如圖1中由于多錄入“首席”兩個字后,后面的錄入雖然看似正確,但全被判為錯誤,顯然這是對添字、漏字等情況的不合理評分,必須加以改進。
圖1 精確匹配算法對添字、漏字等近似串的不合理評分
對于純文本錄入進行自動評分看似簡單,其實要評好評快并不易。目前在許多為考核計算機初級應(yīng)用能力的計算機上機考試中都包含有采用上下文比照的限時文字錄入題,如果采用的也是這種精確匹配算法進行字符串一一對應(yīng)來評分的話,實現(xiàn)起來很簡單,然而一旦考生多輸或漏輸一個字符,將導(dǎo)致剩余字符的誤判,顯然這樣的評分方法是不合適的。由于一般機器自動評分的細(xì)節(jié)不公開,考生是無從了解其合理性的,這里不作評論。
近似串匹配(string matching, pattern matching)是一種允許誤差的串匹配,目前已有上百種串匹配算法出現(xiàn)[8],其廣泛應(yīng)用于文本檢索、OCR 糾錯和生物信息學(xué)等領(lǐng)域。近似串匹配算法實現(xiàn)中,模式串與文本之間的誤差通常用編輯距離來表示,具體操作包括:①刪除,②插入,③替換[9]。例如,給定文本T=”aproxiomally”,P=”approximatly”,從P 到T 要經(jīng)過一次刪除操作,一次插入操作和一次替換操作,如圖2 所示,因此編輯距離為3。近似串匹配算法的VB 實現(xiàn)代碼如下:
圖2 近似串匹配的三種差別操作(①刪除②插入③替換)
Private Function strmatch (p ( ) As String, t ( ) As
String, m As Integer, n As Integer)
Dim i As Integer,j As Integer, mink As Integer
ReDim d(m,n) As Integer
For j=0 To n
d(0, j)= 0
Next j
For i=0 To m
d(i,0)=i
Next i
For j=1 To n
For i=1 To m
If p(i)=t(j) Then
d(i,j)=mint(d(i-1,j-1),d(i-1,j)+1,d(i,j-1)+1)Else
d(i,j)=mint(d(i-1,j-1)+1,d(i-1,j)+1,d(i,j-1)+1)End If
Next i
Next j
mink=d(m, 1)
For j=2 To n
If mink>=d(m, j) Then mink = d(m, j)
Next j
strmatch=mink
End Function
近似串匹配算法對上下文進行匹配比較后,會得到兩段比較文本的最小編輯距離mink,設(shè)mink=14,表示有7 處漢字錄入錯誤。
圖3 近似串匹配算法對添字情況的合理評分示例
如圖3 所示,由于多了一個“工”字,后面的錄入雖然看是正確,按上下文一一對應(yīng)精確匹配的評分算法,一律判為錯誤輸入,顯示為與對照的上文不符的藍色。但采用近似串匹配算法計算后,顯示正確字?jǐn)?shù)為182,僅判斷多出的“工”字和末尾因長度限制無法輸入的句號“?!边@兩個字是錯誤的,顯然這樣的判分算法更符合實際情況,更為合理。
圖4 近似串匹配算法對漏字情況的合理評分示例
對于漏字情況,如圖4 所示,由于錄入過程中,漏掉“驚艷的”3 個字,導(dǎo)致后面錄入文字的誤判,顯示為藍色,但采用近似串匹配算法計算后,顯示正確字?jǐn)?shù)為270,僅漏掉的“驚艷的”3 個字被判為錯誤。
圖5 近似串匹配算法對中英文混合文本的評分優(yōu)化效果圖
以文本錄入評分為例,分析上下文精確匹配評分的不足,運用了近似串匹配算法進行自動評分,大大改進了評分效果,對于添字、漏字、替換錄入等情況的評分都更客觀、更合理。對于中英文混合文本的評分效果如圖5 所示,顯示藍色的字符有8個,但從實錄字?jǐn)?shù)與正確字?jǐn)?shù)的比較可以看出,運用串匹配后,顯示為6 個錯誤,“think”中的“in”是正確的。在實際評分中,對于較大段落的文字的評分,可以按句子劃分后分段測試,以避免耗費很大的空間來存儲對照樣本字符串和待匹配的錄入文字。當(dāng)然,除對比上下文精確匹配算法評分外,可以嘗試對比如最長公共子序列等其他算法或改進的中文近似字符串匹配算法[10]的評分效果,進一步優(yōu)化評分設(shè)計??焖?、客觀、合理的機器自動評分,最大限度地減少人為因素的不利影響,且可能提供即時、豐富的反饋信息,對促進考試的規(guī)范化和科學(xué)化有著積極的意義。
[1]丁亞濤.無紙化考試平臺構(gòu)建技術(shù) [J].巢湖學(xué)院學(xué)報,2007,9(3):32-35.
[2]王紅梅.算法設(shè)計與分析[M].北京:清華大學(xué)出版社,2006:132-134.
[3]馬昌威.基于語義脈絡(luò)的主觀題自動評分算法探討[J].淮海工學(xué)院學(xué)報(自然科學(xué)版),2013(1):26-29.
[4]馮光,喬丹丹,常靜怡.基于分詞匹配的主觀題自動評閱技術(shù)研究[J].計算機與現(xiàn)代化,2013(3):212-214,219.
[5]張?zhí)硪?基于文本相似度計算的主觀題自動閱卷技術(shù)研究[D].長春:東北師范大學(xué),2011:9-23.
[6]楊巍巍.相似度模型在主觀題自動閱卷中的應(yīng)用[J].數(shù)字技術(shù)與應(yīng)用,2013(5):77-78.
[7]倪應(yīng)華,于莉,呂君可.一種參數(shù)可調(diào)的主觀題自動閱卷實現(xiàn)[J].浙江師范大學(xué)學(xué)報(自然科學(xué)版),2008(4):428-431.
[8]劉萍,劉燕兵,郭莉,等.串匹配算法中模式串與文本之間關(guān)系的研究[J].軟件學(xué)報,2010,21(7):1503-1514.
[9]李少芳,車艷.近似串匹配算法在自動評分系統(tǒng)中的應(yīng)用[J].東莞理工學(xué)院學(xué)報,2008,15(3):25-28.
[10]范立新.改進的中文近似字符串匹配算法[J].計算機工程與應(yīng)用,2006(34):173-174,207.