肖 巍 辜向東
(南京師范大學(xué),南京,210097;重慶大學(xué),重慶,400044)
隨著計(jì)算機(jī)技術(shù)的發(fā)展,一些大規(guī)??荚嚕ㄈ鏑ET)的閱卷方式已由傳統(tǒng)的紙筆閱卷過渡到計(jì)算機(jī)甚至網(wǎng)上閱卷。其中,主觀題的閱卷一般是將原始試卷掃描成灰度圖像,再將圖像輸出到顯示器上供閱卷員評(píng)閱。以CET為例,先是將主觀題答題卡掃描成灰度圖像,再按題目將圖像分割成一個(gè)個(gè)小塊,每道題目為一個(gè)圖像文件,最后把一個(gè)個(gè)圖像文件依次輸出到顯示器。我們自身的CET 閱卷經(jīng)歷以及對(duì)部分CET 閱卷員的訪談表明,每次CET 主觀題閱卷都會(huì)有一定數(shù)量的空白題。如果這些空白題不必由閱卷員評(píng)分,而是由計(jì)算機(jī)自動(dòng)識(shí)別并賦分,無疑能減輕閱卷員的工作量,提高閱卷效率,降低閱卷成本,節(jié)約人力、物力和財(cái)力。
從掃描后的圖像來看,空白題和非空白題的主要區(qū)別在于像素灰度值,作答部分的灰度值接近0,空白部分接近255。但由于作答筆跡有輕有重,掃描清晰度不高,很難直接用像素灰度值加以區(qū)分(賈志先2009),需采用一定的技術(shù)進(jìn)行識(shí)別。實(shí)現(xiàn)空白題自動(dòng)識(shí)別的技術(shù)路線較多,如神經(jīng)網(wǎng)絡(luò)、支持向量機(jī)等。其中神經(jīng)網(wǎng)絡(luò)較為簡(jiǎn)單實(shí)用。本研究將嘗試?yán)蒙窠?jīng)網(wǎng)絡(luò)進(jìn)行空白題識(shí)別技術(shù)的開發(fā),并討論該技術(shù)在CET主觀題閱卷中的應(yīng)用。利用神經(jīng)網(wǎng)絡(luò)進(jìn)行空白題識(shí)別,最關(guān)鍵的是要保證識(shí)別的準(zhǔn)確性與穩(wěn)定性,即保證未作答的空白題一定賦0分,而考生作答了的一定不賦0分,留待人工評(píng)閱。如何確??瞻最}識(shí)別技術(shù)具有較高的準(zhǔn)確性與穩(wěn)定性是本研究需解決的主要問題。
神經(jīng)網(wǎng)絡(luò)是一種能夠模擬人腦結(jié)構(gòu)及功能的信息處理系統(tǒng)。其基本單位是神經(jīng)元,這一點(diǎn)與人腦相似。神經(jīng)網(wǎng)絡(luò)并不依賴事先編好的程序去運(yùn)行,而是通過訓(xùn)練去調(diào)整自身權(quán)值,具有自組織、自學(xué)習(xí)、非線性逼近的能力(Shiet al.2004)。由于神經(jīng)網(wǎng)絡(luò)具有這些能力,它能夠反映人腦功能的許多基本特征,近年來在人工智能、自動(dòng)控制、信息處理等方面取得了廣泛應(yīng)用(董長(zhǎng)虹2005;韓力群2006)。
在教育考試領(lǐng)域,神經(jīng)網(wǎng)絡(luò)被應(yīng)用于試卷等值、空白題識(shí)別等方面,如賈志先(2009)曾使用神經(jīng)網(wǎng)絡(luò)識(shí)別HSK(漢語水平考試)的空白題,取得了較好的識(shí)別效果。通過學(xué)習(xí)空白題和非空白題的特征,不斷調(diào)整自身權(quán)值,神經(jīng)網(wǎng)絡(luò)可以像人腦一樣把空白題準(zhǔn)確識(shí)別出來。然而,HSK 用漢語答題,CET用英語答題,書寫文字的不同可能導(dǎo)致不同的識(shí)別效果。此外,若特征參數(shù)、實(shí)驗(yàn)?zāi)P?、?xùn)練函數(shù)、學(xué)習(xí)函數(shù)、傳遞函數(shù)和隱藏層神經(jīng)元數(shù)目等設(shè)置不同,識(shí)別效果可能也不同,需通過實(shí)證加以探究。我們的思路如下:首先提取可靠的特征參數(shù),其次選取合適的網(wǎng)絡(luò)模型、函數(shù)及神經(jīng)元數(shù)目,最后通過對(duì)網(wǎng)絡(luò)的訓(xùn)練調(diào)試達(dá)到最佳識(shí)別效果。
對(duì)空白題進(jìn)行識(shí)別,首先要提取出能區(qū)分空白題和非空白題的特征參數(shù)。我們發(fā)現(xiàn),空白題由于沒有任何作答記號(hào),掃描后圖像各像素的灰度值均接近255,其標(biāo)準(zhǔn)差較小。非空白題由于有作答記號(hào),掃描后這些作答部分的像素灰度值接近0,而其它部分的像素灰度值接近255,從而導(dǎo)致其標(biāo)準(zhǔn)差很大。因此,我們擬使用標(biāo)準(zhǔn)差作為區(qū)分空白題和非空白題的特征參數(shù)。
假設(shè)一幅圖像大小為m×n像素,則其像素灰度值矩陣為:
圖像像素灰度值矩陣A的行向量的標(biāo)準(zhǔn)差為:
其中u1,u2,…,um為圖像灰度值矩陣A的各行向量的平均值。A的列向量的標(biāo)準(zhǔn)差為:
其中v1,v2,…,vn為圖像灰度值矩陣A的各行向量的平均值。
然而,直接以這些向量作為神經(jīng)網(wǎng)絡(luò)的輸入,數(shù)據(jù)量太大,且由于m和n的取值不確定,神經(jīng)網(wǎng)絡(luò)輸入層的神經(jīng)元數(shù)目也無法確定。因此,我們對(duì)行向量和列向量的標(biāo)準(zhǔn)差繼續(xù)求標(biāo)準(zhǔn)差,得到一個(gè)二維數(shù)組[x1,x2],其中x1為行向量標(biāo)準(zhǔn)差的標(biāo)準(zhǔn)差,x2為列向量標(biāo)準(zhǔn)差的標(biāo)準(zhǔn)差。這樣,我們就可以用x1和x2兩個(gè)參數(shù)作為區(qū)分空白題和非空白題的特征參數(shù)。實(shí)現(xiàn)這些步驟的Matlab代碼為:
f=imread(‘...');∥載入圖像灰度值矩陣f,其中…為載入圖像的文件名∥
x1=std(std(double(f')));∥求行向量標(biāo)準(zhǔn)差的標(biāo)準(zhǔn)差,f'為圖像灰度值矩陣的轉(zhuǎn)置矩陣∥
x2=std(std(double(f)))?!吻罅邢蛄繕?biāo)準(zhǔn)差的標(biāo)準(zhǔn)差∥
使用神經(jīng)網(wǎng)絡(luò)需根據(jù)研究自身特點(diǎn)選取合適的網(wǎng)絡(luò)模型。本研究選取Elman神經(jīng)網(wǎng)絡(luò)模型。Elman網(wǎng)絡(luò)由Elman于1990年提出,并由Pham 和Liu于1992年加以改進(jìn),是一種動(dòng)態(tài)的反饋網(wǎng)絡(luò)。該模型在前饋網(wǎng)絡(luò)的隱藏層中增加一個(gè)反饋層作為延時(shí)算子,以達(dá)到記憶的目的,從而使系統(tǒng)具有適應(yīng)時(shí)變特性的能力,能直接反映動(dòng)態(tài)過程系統(tǒng)的特性(Elman 1990;Pham&Liu 1992;Shiet al.2004)。其優(yōu)點(diǎn)是對(duì)目標(biāo)函數(shù)的逼近度高、自學(xué)習(xí)能力強(qiáng);不足之處是需要的神經(jīng)元數(shù)目可能較多,可能導(dǎo)致網(wǎng)絡(luò)結(jié)構(gòu)龐大、學(xué)習(xí)時(shí)間較長(zhǎng)。
Elman網(wǎng)絡(luò)由輸入層、隱藏層、反饋層和輸出層組成。輸入層用于輸入信號(hào),隱藏層對(duì)來自輸入層的信號(hào)進(jìn)行一定處理,反饋層用于記憶隱藏層前一時(shí)刻的輸出值并返回給輸入,即一步延時(shí)。輸出層的作用為對(duì)隱藏層傳來的信號(hào)進(jìn)行加權(quán)輸出。這種特殊的網(wǎng)絡(luò)結(jié)構(gòu)可以任意精度逼近任意函數(shù)(董長(zhǎng)虹2005),具有較強(qiáng)的自學(xué)習(xí)能力,因此能夠較容易地學(xué)會(huì)對(duì)空白題的識(shí)別。結(jié)構(gòu)圖可由圖1表示。
圖1 Elman神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)圖
該網(wǎng)絡(luò)的數(shù)學(xué)表達(dá)式如下:設(shè)網(wǎng)絡(luò)信號(hào)輸入為x(k),隱藏層輸出為x'(k),反饋層輸出為xc(k),信號(hào)輸出為y(k);W1、W2、W3分別為輸入層至隱藏層、反饋層至隱藏層、隱藏層至輸出層的連接權(quán)值;f(*)、h(*)分別為隱藏層和輸出層的傳遞函數(shù);α(0≤α<1)為反饋層的自反饋增益因子,則該網(wǎng)絡(luò)的數(shù)學(xué)表達(dá)式為:
選定網(wǎng)絡(luò)模型后,還需選取網(wǎng)絡(luò)的訓(xùn)練函數(shù)、學(xué)習(xí)函數(shù)、以及隱藏層和輸出層的傳遞函數(shù)。我們選取traindx函數(shù)作為訓(xùn)練函數(shù)。該函數(shù)基于Levenberg-Marquardts優(yōu)化算法,結(jié)合了梯度下降法和高斯—牛頓法的優(yōu)點(diǎn),其訓(xùn)練速度較快且準(zhǔn)確度高(王建梅、覃文忠2005;曹紅杏等2008)。以梯度下降動(dòng)量函數(shù)learngdm 為學(xué)習(xí)函數(shù)。該函數(shù)利用神經(jīng)元的輸入和誤差、權(quán)值或閾值的學(xué)習(xí)速率和動(dòng)量常數(shù)來計(jì)算權(quán)值或閾值的變化率(董春嬌等2010)。分別以tansig函數(shù)、logsig函數(shù)作為隱藏層和輸出層的傳遞函數(shù)。tansig函數(shù)為S型正切函數(shù),logsig函數(shù)為S型對(duì)數(shù)函數(shù)。在本研究中,輸入接近0(空白題)時(shí)需輸出0,輸入不接近0(非空白題)時(shí)需輸出1,輸入與輸出之間并非線性關(guān)系,故采用tangis和logsig兩類非線性函數(shù)比purelin等線性函數(shù)更滿足本研究的需要。
選定函數(shù)后,還需根據(jù)實(shí)際需要設(shè)定神經(jīng)網(wǎng)絡(luò)各層的神經(jīng)元數(shù)目。本研究中,輸入層神經(jīng)元設(shè)為2個(gè),分別接收行向量標(biāo)準(zhǔn)差的標(biāo)準(zhǔn)差x1以及列向量標(biāo)準(zhǔn)差的標(biāo)準(zhǔn)差x2。隱藏層的神經(jīng)元數(shù)目過多會(huì)導(dǎo)致學(xué)習(xí)時(shí)間、可推廣性差,過少則難以保證學(xué)習(xí)精度和輸出的正確率(Suzuki&Mitsukura 2010)。一般情況下,隱藏層的神經(jīng)元數(shù)目根據(jù)公式n'=(n+m)1/2+t來確定,其中n'為隱藏層神經(jīng)元數(shù)目,n為輸入層神經(jīng)元數(shù)目,m為輸出神經(jīng)元數(shù)目,t∈{x$1<x<10,x∈N}(周開利和康耀紅2007;黨小超和郝占軍2010)。反饋層神經(jīng)元數(shù)目與隱藏層相同。輸出層神經(jīng)元設(shè)為1個(gè),輸出對(duì)空白題的識(shí)別結(jié)果y,y接近0即為空白題,y接近1即為非空白題。
可見,為構(gòu)建一個(gè)具有良好性能的神經(jīng)網(wǎng)絡(luò),需選擇合適的網(wǎng)絡(luò)模型、訓(xùn)練函數(shù)、學(xué)習(xí)函數(shù)、傳遞函數(shù),并設(shè)定合適的隱藏層神經(jīng)元數(shù)目。網(wǎng)絡(luò)模型和各函數(shù)的選取依據(jù)各函數(shù)自身的特點(diǎn)及本研究的需要,隱藏層神經(jīng)元數(shù)目的設(shè)定依據(jù)上述經(jīng)驗(yàn)公式。由上述經(jīng)驗(yàn)公式可知,本研究隱藏層的神經(jīng)元數(shù)目取值范圍為3~11。我們使用訓(xùn)練樣本對(duì)這些具有不同隱藏層神經(jīng)元數(shù)目的神經(jīng)網(wǎng)絡(luò)進(jìn)行測(cè)試,評(píng)價(jià)其預(yù)測(cè)效果,從中選出最優(yōu)模型。
我們使用Elman神經(jīng)網(wǎng)絡(luò)進(jìn)行處理的是二維的灰度圖像。如果掃描得到的原始圖像為有三個(gè)維度的RGB彩色圖像,需在進(jìn)行實(shí)驗(yàn)之前使用Photoshop等軟件將其轉(zhuǎn)換為灰度圖像。使用Photoshop的具體操作為:打開圖像,在菜單中依次打開“圖像”“模式”,選擇“灰度”,然后保存。一般設(shè)定圖像有256個(gè)色階,即灰度值區(qū)間為[0,255]。
圖2為實(shí)驗(yàn)所用的一幅模擬CET 主觀題答題圖像,其內(nèi)容為對(duì)2010年6月CET 六級(jí)考試一道主觀題的作答。該圖像為120×36像素的灰度圖像,每個(gè)像素的灰度值可在[0,255]區(qū)間內(nèi)取值。
圖2 實(shí)驗(yàn)圖像示例
為加快網(wǎng)絡(luò)的收斂速度,我們對(duì)圖像的灰度值進(jìn)行了歸一化,即將[0,255]區(qū)間的灰度值轉(zhuǎn)換到[0,1]區(qū)間內(nèi)。
我們?cè)贛atlab中使用下列訓(xùn)練樣本進(jìn)行訓(xùn)練:
輸入訓(xùn)練樣本為:
目標(biāo)輸出為:
對(duì)網(wǎng)絡(luò)的設(shè)定為:
訓(xùn)練結(jié)果見表1。
表1 隱藏層神經(jīng)元數(shù)目的選取方案比較結(jié)果
由訓(xùn)練結(jié)果可知,當(dāng)神經(jīng)元數(shù)目設(shè)定為7時(shí),訓(xùn)練后誤差最小,但訓(xùn)練次數(shù)最多,為21次。神經(jīng)元數(shù)目設(shè)定為10時(shí)訓(xùn)練次數(shù)最少,但其訓(xùn)練后誤差相對(duì)較大。經(jīng)綜合考慮,我們選取神經(jīng)元數(shù)目為8的方案,此時(shí)訓(xùn)練后誤差為2.50880e-006,相對(duì)較小,且經(jīng)過11次訓(xùn)練就達(dá)到了設(shè)定的目標(biāo)誤差,所需訓(xùn)練次數(shù)也相對(duì)較少。這一數(shù)目與賈志先(2009)所做研究設(shè)定的7個(gè)神經(jīng)元較為接近。
圖3為神經(jīng)元數(shù)目為8時(shí)Elman網(wǎng)絡(luò)的訓(xùn)練效果圖。
圖3 神經(jīng)元數(shù)目為8時(shí)的Elman網(wǎng)絡(luò)訓(xùn)練效果圖
由圖3可見,雖然訓(xùn)練樣本較小(N=10),但經(jīng)過11次訓(xùn)練后,誤差達(dá)到了設(shè)定的最小值(10-5),表明該模型訓(xùn)練成功,可以投入使用。
網(wǎng)絡(luò)訓(xùn)練好以后就可用于空白題識(shí)別。我們使用以下數(shù)據(jù)進(jìn)行測(cè)試。
網(wǎng)絡(luò)的輸出結(jié)果為:
其中,前7個(gè)數(shù)據(jù)近似于1,表明輸入圖像為非空白題;后3個(gè)數(shù)據(jù)近似于0,表明輸入圖像為空白題。經(jīng)過人工核對(duì),識(shí)別結(jié)果完全正確。
測(cè)試結(jié)果表明,該Elman網(wǎng)絡(luò)可以較好地識(shí)別出空白題。
本研究使用神經(jīng)網(wǎng)絡(luò)進(jìn)行空白題識(shí)別技術(shù)的開發(fā),提取出圖像像素灰度值矩陣行向量、列向量標(biāo)準(zhǔn)差的標(biāo)準(zhǔn)差作為識(shí)別空白題的特征參數(shù),選取Elman網(wǎng)絡(luò)模型為實(shí)驗(yàn)網(wǎng)絡(luò)模型,以traindx函數(shù)為訓(xùn)練函數(shù),以learngdm 函數(shù)為學(xué)習(xí)函數(shù),分別以tansig和logsig函數(shù)為隱藏層和輸出層的傳遞函數(shù),通過對(duì)神經(jīng)網(wǎng)絡(luò)隱藏層神經(jīng)元數(shù)目的調(diào)整來優(yōu)化網(wǎng)絡(luò),使得網(wǎng)絡(luò)能夠以較少的運(yùn)算消耗獲得較好的識(shí)別效果。初步實(shí)驗(yàn)結(jié)果表明,該技術(shù)可以較好地識(shí)別出空白題。
本研究成功的關(guān)鍵是提取出區(qū)別空白題與非空白題的特征參數(shù)。因?yàn)榉强瞻最}有作答記號(hào),導(dǎo)致其行向量、列向量標(biāo)準(zhǔn)差的標(biāo)準(zhǔn)差均較大,而空白題行向量、列向量標(biāo)準(zhǔn)差的標(biāo)準(zhǔn)差均接近0,所以我們提取圖像像素灰度值矩陣行向量、列向量標(biāo)準(zhǔn)差的標(biāo)準(zhǔn)差作為特征參數(shù)。為了更好地識(shí)別,可在提取特征參數(shù)之前對(duì)圖像進(jìn)行增強(qiáng)對(duì)比度的預(yù)處理,以避兔對(duì)特征參數(shù)不明顯的試卷的“誤判”。此外,還可通過應(yīng)用支持向量機(jī)的方法(如賈志先2011)進(jìn)一步避兔可能出現(xiàn)的識(shí)別錯(cuò)誤。
本研究只是利用神經(jīng)網(wǎng)絡(luò)進(jìn)行空白題識(shí)別技術(shù)開發(fā)的一個(gè)初步嘗試,尚存一些不足。首先,訓(xùn)練樣本較小,識(shí)別的準(zhǔn)確性和穩(wěn)定性有待大樣本的驗(yàn)證。其次,將彩色圖像轉(zhuǎn)換為灰度圖像的操作尚需人工處理,尚未實(shí)現(xiàn)“轉(zhuǎn)換-識(shí)別”的自動(dòng)化。在后續(xù)開發(fā)中,如果實(shí)現(xiàn)了圖像轉(zhuǎn)換處理的自動(dòng)化,且空白題識(shí)別的輸入結(jié)果能夠作為評(píng)分系統(tǒng)的輸入,自動(dòng)給空白題賦分,那么這一基于神經(jīng)網(wǎng)絡(luò)的空白題識(shí)別技術(shù)應(yīng)當(dāng)有廣泛的應(yīng)用前景。