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