摘要:文章介紹了自動(dòng)閱卷算法的關(guān)鍵技術(shù),按照不同類試題的特點(diǎn)分別提出了不同的匹配算法。在此基礎(chǔ)上提出了同義詞庫的建設(shè)的設(shè)計(jì)思想,可以實(shí)現(xiàn)對(duì)主觀題公平公正判分,實(shí)現(xiàn)了閱卷全過程的自動(dòng)的自動(dòng)化,對(duì)推進(jìn)學(xué)校的教學(xué)創(chuàng)新,減少教師工作量,提高考務(wù)效率,節(jié)約資源有重要意義。
關(guān)鍵詞:自動(dòng)閱卷;模式匹配;同義詞庫;答案因子;標(biāo)準(zhǔn)答案集合;模式匹配算法
中圖分類號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-2374(2012)01-0048-03
自動(dòng)閱卷算法的基礎(chǔ)是模式匹配算法。無論是計(jì)算機(jī),還是人類本身,批改作業(yè)的過程歸根結(jié)底是一個(gè)匹配的過程。客觀題的標(biāo)準(zhǔn)答案是唯一的,很明顯其批改的過程是一個(gè)精確匹配的過程。主觀題,因?yàn)闃?biāo)準(zhǔn)答案在表示形式上常常不是唯一的,并且每種表示形式的標(biāo)準(zhǔn)答案一般是由提煉出來的多個(gè)“答案因子”共同組成。所以,在標(biāo)準(zhǔn)答案的編制時(shí),應(yīng)該建立一個(gè)由多個(gè)標(biāo)準(zhǔn)答案組成的同義詞庫,同時(shí)需要對(duì)各個(gè)“答案因子”建立同義詞庫;在評(píng)卷時(shí)采用分析性評(píng)分法,對(duì)各個(gè)解答關(guān)鍵因素個(gè)別給分。于是對(duì)一道主觀題的批改就是對(duì)標(biāo)準(zhǔn)答案中的各個(gè)解答關(guān)鍵因素進(jìn)行匹配,這也是精確匹配。
一、試題類型分析
自動(dòng)閱卷首先需要將試題進(jìn)行分類,然后針對(duì)每一種題型進(jìn)行相應(yīng)的處理。(1)簡單題型:包含判斷題、單選題等。對(duì)于這類題,計(jì)算機(jī)可以采用字符串比較的方法,將考生的答案與標(biāo)準(zhǔn)答案進(jìn)行精確的匹配評(píng)分。(2)多選題:對(duì)于這類題,計(jì)算機(jī)可以采用“排列比較”或“排序比較”的方法閱卷。所謂“排列比較”,是指只要答題者答案集合中的各個(gè)元素能夠與標(biāo)準(zhǔn)答案中的各個(gè)元素一一對(duì)應(yīng),該答案才是正確的。所謂“排序比較”,是指先按照相同的規(guī)則,分別對(duì)考生答案集合和標(biāo)準(zhǔn)答案集合中的各個(gè)元素進(jìn)行排序,得到的兩個(gè)結(jié)果必須相等,該答案才是正確的。(3)主觀題:對(duì)于某些主觀題目,要由考生綜合自己所學(xué)的知識(shí)給出答案,只要答案屬于標(biāo)準(zhǔn)答案的集合,便為正確。所以主觀題閱卷科學(xué)性的關(guān)鍵在于標(biāo)準(zhǔn)答案的集合的建立。
二、主觀題自動(dòng)閱卷算法分析
1.一道主觀題的標(biāo)準(zhǔn)答案是一個(gè)由多個(gè)標(biāo)準(zhǔn)答案組成的集合。而每一個(gè)標(biāo)準(zhǔn)答案由多個(gè)“答案因子”組成。所謂“答案因子”,可以理解為標(biāo)準(zhǔn)答案中的一個(gè)詞組,它可以通過教師在建立同義詞庫時(shí)通過對(duì)標(biāo)準(zhǔn)答案拆分得到。我們用A表示標(biāo)準(zhǔn)答案集合,Ai表示標(biāo)準(zhǔn)答案集合中的第i個(gè)標(biāo)準(zhǔn)答案,B表示“答案因子”,Bij表示Ai的第j個(gè)“答案因子”。因此,A={A1,A2……An},Ai={Bi1,Bi2,......Bij},其中i,j=1,2,……,m。
由上可知,標(biāo)準(zhǔn)答案集合中的每一個(gè)標(biāo)準(zhǔn)答案的“答案因子”的個(gè)數(shù)可以相同,也可以不同。另外,標(biāo)準(zhǔn)答案集合中有滿分的標(biāo)準(zhǔn)答案,也可以有零分的標(biāo)準(zhǔn)答案,只需要正確的確定標(biāo)準(zhǔn)答案Ai中的每一個(gè)“答案因子”Bi的分?jǐn)?shù),就可以確定Ai的分?jǐn)?shù),進(jìn)而確定A的總分。這里說的正確的確定是指,在標(biāo)準(zhǔn)答案集合中,每一個(gè)標(biāo)準(zhǔn)答案的總分應(yīng)該與該標(biāo)準(zhǔn)答案的各“答案因子”的分?jǐn)?shù)之和相等。教師根據(jù)教學(xué)需要和教學(xué)策略合理地分配各“答案因子”的分?jǐn)?shù)。
我們用Ti表示標(biāo)準(zhǔn)答案Ai的總分,用Tij表示Ai的每一個(gè)“答案因子”Bij的分?jǐn)?shù)。因此,Ti=Ti1+Ti2+......+Tij,其中i,j=1,2,……,m。
既然標(biāo)準(zhǔn)答案集合中有多個(gè)標(biāo)準(zhǔn)答案,當(dāng)計(jì)算機(jī)批改作業(yè)時(shí),到底選擇哪一個(gè)標(biāo)準(zhǔn)答案與學(xué)生的答案進(jìn)行匹配呢?我們定義了一個(gè)“相似度”的概念。這里講的“相似度”是指學(xué)生的答案與標(biāo)準(zhǔn)答案集合中每一個(gè)標(biāo)準(zhǔn)答案的相似程度,用S表示。下面介紹“相似度”的計(jì)算方法。
計(jì)算機(jī)將學(xué)生的答案與標(biāo)準(zhǔn)答案集合A中的一個(gè)標(biāo)準(zhǔn)答案Ai進(jìn)行匹配,假設(shè)匹配成功的“答案因子”的個(gè)數(shù)為m,Ai的“答案因子”個(gè)數(shù)為n,則學(xué)生的答案相對(duì)于標(biāo)準(zhǔn)答案Ai,“相似度”Si=m/n,其中m 在計(jì)算機(jī)進(jìn)行自動(dòng)批改時(shí),先將學(xué)生的答案與標(biāo)準(zhǔn)答案集合中的各個(gè)標(biāo)準(zhǔn)答案分別進(jìn)行匹配,得到與各個(gè)標(biāo)準(zhǔn)答案相對(duì)應(yīng)的“相似度”的得分。然后,從這些“相似度”中選取最大的“相似度”,找到與之對(duì)應(yīng)的標(biāo)準(zhǔn)答案的得分。 例如A={A1,A2……An},Ai={Bi1,Bi2,......Bij},其中i,j=1,2,……,m。用A0表示學(xué)生答案,用T'i表示A0與Ai進(jìn)行匹配后的得分,用T'表示A0最后的得分,那么自動(dòng)閱卷過程的形式化描述如下。 具體算法流程如下: (1)i=1; (2)將A0與A中的Ai進(jìn)行匹配得Si; (3)i=i+1; (4)if i (5)從S1,S2,......,Sm,中選取Sk,使Sk=MAX(S1,S2,......,Sm); (6)T'=T'k; 2.同義詞庫的建設(shè)。在上一部分我們提到,需要利用同義詞庫才能使填空題的自動(dòng)閱卷得以實(shí)現(xiàn).所以義詞庫的建設(shè)對(duì)實(shí)現(xiàn)智能批改,進(jìn)行模糊匹配相當(dāng)重要。同義詞庫的好壞直接影響著整個(gè)試卷填空題的批閱效果以及無紙化水平的程度。同義詞庫是根據(jù)學(xué)科進(jìn)行劃分和建立的,其使用的范圍受到學(xué)科的限制.也就是說,不同學(xué)科的同義詞庫存在巨大差異。所以說,某一學(xué)科的同義詞庫即使在該學(xué)科內(nèi)是相當(dāng)完善的,它也不能在其它學(xué)科的閱卷中使用。否則會(huì)出現(xiàn)一些非常低級(jí)的閱卷錯(cuò)誤,這樣的話根本不可能促進(jìn)教學(xué),反而會(huì)誤導(dǎo)學(xué)生的學(xué)習(xí)。 同義詞庫的使用,使得我們可以完成填空題的自動(dòng)閱卷。而隨著同義詞庫的不斷豐富,其閱卷精確率會(huì)不斷提高。這就給我們實(shí)現(xiàn)簡答題的自動(dòng)閱卷提供了一個(gè)很好的思路,目前市面上流行的考試系統(tǒng)對(duì)簡答題的閱卷都是通過人工閱卷來完成的。其工作量大,效率低。 通過建立簡答題答案的“答案因子庫”,在輔以一定的算法,我們可以實(shí)現(xiàn)簡答題的自動(dòng)閱卷。 例如用A表示考生簡答題的答案,用Bi表示標(biāo)準(zhǔn)答案中的第i個(gè)答案因子,其中i=1,2,……,m。則可以將學(xué)生的答案A與“答案因子庫”中的每一個(gè)答案因子Bi進(jìn)行匹配,假設(shè)匹配成功的“答案因子”的個(gè)數(shù)為m,該題的“答案因子”個(gè)數(shù)為n,則考生該題的成績?yōu)閙/n*權(quán)值。 簡答題“答案因子庫”的建設(shè)要相當(dāng)謹(jǐn)慎,因?yàn)樗苯佑绊懼麄€(gè)試卷簡答題的批閱效果。必須從標(biāo)準(zhǔn)答案中挑選出有代表性的關(guān)鍵詞組,而且要不斷的修改和擴(kuò)充,只有待相當(dāng)完善后,方可投入使用。 三、自動(dòng)改卷算法關(guān)鍵代碼 下面是使用存儲(chǔ)過程和函數(shù)實(shí)現(xiàn)的自動(dòng)改卷算法: select @cnt=len(@answer),@ucnt=len(@uanswer) select @i=1,@j=1 if @cnt<@ucnt return "0" else begin while @j<=@ucnt begin set @sql ="false" set @gs1=substring(@uanswer,@j,1) while @i<=@cnt begin set @gs2=substring(@answer,@i,1) if @gs1=@gs2 begin set @sql ="true" break; end else set @i=@i+1 end set @j=@j+1 end end if @sql="true" set @sql="1" else set @sql="0" return @sql 四、結(jié)語 一般來說,同義詞庫在使用前已經(jīng)錄入了大量的同義詞組。隨著同義詞庫的不斷使用,需要不斷的對(duì)其進(jìn)行擴(kuò)充,這就要求對(duì)同義詞庫進(jìn)行定期的維護(hù)。當(dāng)同義詞庫的規(guī)模不大時(shí),計(jì)算機(jī)可能會(huì)把本來是正確的學(xué)生答案判定為錯(cuò)誤的,這時(shí)要通過學(xué)生和教師的交流(譬如:學(xué)生認(rèn)為存在判定錯(cuò)誤,通過電子郵件或其它渠道向教師反映情況并提出疑問),由教師把學(xué)生的正確答案增加到標(biāo)準(zhǔn)答案集合中,或者擴(kuò)充同義詞庫,使學(xué)生本來正確的答案被計(jì)算機(jī)判定為正確。所以,通過人工的干預(yù),完全可以做到對(duì)同義詞庫的不斷擴(kuò)充,使同義詞庫逐漸完善,計(jì)算機(jī)自動(dòng)閱卷能力會(huì)逐漸接近甚至超過人的水平。 參考文獻(xiàn) [1]唐洪彬.WORD、EXCEL自動(dòng)閱卷系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J].宿州教育學(xué)院學(xué)報(bào),2005,(2). [2]劉應(yīng)成.主觀試題計(jì)算機(jī)輔助判卷系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J].中山大學(xué)學(xué)報(bào)論叢,2004,(6). [3]李濤.網(wǎng)絡(luò)在線考試系統(tǒng)研究與實(shí)現(xiàn)[D].昆明理工大學(xué),2007. 作者簡介:陳強(qiáng)(1977-),男,河南南陽人,供職于南陽市中心醫(yī)院,研究方向:軟件理論、算法、數(shù)據(jù)庫技術(shù)。 (責(zé)任編輯:陳 倩)