壽周翔+魯文科
隨著計算機(jī)的大量普及,高校的日常管理效率顯著提高,但在教學(xué)管理上,效率改變還不是十分明顯,特別是針對計算機(jī)專業(yè)學(xué)生的作業(yè)評分還是完全人工的方式,教師需要花大量的時間和精力在作業(yè)批改上,且評分主觀性大,效率低。如何改變這一現(xiàn)狀呢?能不能采用算法來提高評分的客觀性,減少主觀性呢?針對上述問題,筆者提出了借助教育云平臺(ITbegin)的作業(yè)自動評分技術(shù),以期幫助教師減少作業(yè)批改時間,降低評分主觀性,提高工作效率。
ITbegin云教育平臺作業(yè)自動評分
ITbegin是一個云教育平臺,它已集成了編程知識庫、在線編程、在線運行、實時互動等多項要素。同時,該平臺已具備整合在線作業(yè)自動評分的兩個條件:①能支撐各種語言編譯。②能實現(xiàn)程序的運行并取得結(jié)果。因此,我們只要實現(xiàn)評分的正確性、客觀性,便能完成作業(yè)的自動評分。所以,我們需要建立一個評分模型來驗證評分的正確性、客觀性。
評分模型
從正確性、客觀性出發(fā),代碼運行正確、代碼運行結(jié)果與答案結(jié)果匹配、代碼與答案代碼匹配、做作業(yè)時的敲鍵次數(shù)、做作業(yè)時的運行次數(shù)等五個指標(biāo)會影響評分。
評分模型設(shè)計可分為嚴(yán)格型、標(biāo)準(zhǔn)型、寬松型三種,教師可以根據(jù)不同的評分模型進(jìn)行評分。
嚴(yán)格型的評分模型必須代碼運行正確,且代碼運行結(jié)果與答案結(jié)果完全匹配(如表1)。
標(biāo)準(zhǔn)型的評分模型必須代碼運行正確,降低代碼與答案代碼匹配的權(quán)重,提高代碼與答案代碼匹配的權(quán)重(如表2)。
寬松型的評分模型中,代碼運行正確不是唯一標(biāo)準(zhǔn),所以會提高敲鍵次數(shù)、運行次數(shù)的權(quán)重(如表3)。
作業(yè)自動評分的技術(shù)分析
評分模型各指標(biāo)需要使用各種算法去匹配,這里主要介紹運行結(jié)果算法和代碼相似度算法。
1.運行結(jié)果算法分析
由于程序運行的結(jié)果一般都以字符串的形式出現(xiàn),所以可以將代碼運行的結(jié)果字符串與答案運行的結(jié)果字符串進(jìn)行相似度比較。運行結(jié)果算法常采用距離算法來比較作業(yè)的運行結(jié)果與答案的運行結(jié)果。
距離算法是指從原串轉(zhuǎn)換到目標(biāo)串所需要的最少插入、刪除和替換的操作次數(shù)。它們的距離越大,說明它們越不同。
將字符串1轉(zhuǎn)成字符串2的距離算法說明如表4所示。
距離算法過程:
(1)如果字符串1或字符串2長度為0,則返回另一個字符串的長度。
(2)初始化(字符串1長度+1)*(字符串2長度+2)的矩陣m,矩陣的下標(biāo)從零開始。
(3)掃描整個矩陣,如果str1 [i]==str2[j],則temp=0,否則temp=1,然后矩陣m[i][j]=(上方值+1,左邊值+1,左上方值+temp)三者的最小值。
(4)掃描完后,返回矩陣m的最后一個值是它們的距離。
(5)相似度的計算公式:相似度=1-(距離/兩字符串的最大長度)。例如,abc和abcd的相似度為1-(1/4)=0.75。
2.代碼相似度算法分析
由于代碼中可能存在英文或中文的單詞,所以筆者在代碼相似度算法中,基于Lucene實現(xiàn)了中英文分詞。Lucene提供了幾個常用的分詞器,如StandardAnalyzer(標(biāo)準(zhǔn)分析器,去除標(biāo)點符號)、IKAnalyzer(一個獨立的開源中文分詞工具包,提供了語義級的分詞,更加智能)等。
相似度計算可以用向量空間模型,向量可以解釋為一組坐標(biāo),一個坐標(biāo)表示空間中的一個點,而向量本身是從空間原點到該點的向量。兩個向量的夾角越小,方向就越一致,相似度就越高,夾角的計算用余弦公式。
相似度算法過程:
(1)字符串分詞(如上頁表5)。
(2)合并分詞集合并計算每個詞的相似度(值為0~1之間,如上頁表6)。
(3)計算各點的向量(如上頁表7)。
(4)用余弦定理計算相似度。
相似度=sum/Math.sqrt (s1*s2)=0.73706。
作業(yè)自動評分的技術(shù)實現(xiàn)
作業(yè)自動評分技術(shù)采用Java語言編寫及實現(xiàn)。
1.運行結(jié)果算法實現(xiàn)
核心代碼如上頁圖1所示。
2.代碼相似度算法實現(xiàn)
核心代碼如圖2所示。
作業(yè)自動評分技術(shù)的優(yōu)點
(1)高效率。作業(yè)由原來的人工評分變?yōu)橛嬎銠C(jī)自動評分,大大縮短了教師批改作業(yè)的時間,提高了他們的工作效率。
(2)客觀性。作業(yè)自動評分以評分模型為標(biāo)準(zhǔn),評分較客觀,適用于所有學(xué)生。
(3)公平性。作業(yè)自動評分減少了人為的主觀因素,提高了評分的公平性。
作者簡介:壽周翔(1974—),男,浙江省諸暨市人,碩士研究生,講師,主要研究方向為人工智能。
基金項目:浙江省教育技術(shù)研究規(guī)劃課題(項目編號:JB049);浙江省高等教育教學(xué)改革項目(項目編號:jg2015244)。