龔春亞
摘要:交代評分細則及考生成績細目表的制定,給出批量自動閱卷算法流程。利用表單文件結(jié)構(gòu)特性,給出批閱表單的代碼實現(xiàn);運用正則表達式,給出批閱改錯部分程序的代碼實現(xiàn)。最后給出批卷應(yīng)用的實例及分析,驗證了閱卷程序的有效性。
關(guān)鍵詞:自動閱卷;閱卷系統(tǒng);VFP閱卷
中圖分類號:TP311 文獻標(biāo)識碼:A 文章編號:1009-3044(2014)30-7065-04
Research on Automated Marking Technology for VFP Operation Tests
GONG Chun-Ya
(Department of Information Enginerring , Nanjing Normal University Taizhou College,Taizhou 225300, China)
Abstract:With VFP toolkit, the solution on automatic assessment of vfp operation tests is given. The standard for evaluation is designed as table,and the structrue of score table is given.The program flow chart is proposed.The codes for form and correction part are presented. Finally,example of automated assessment result is presented,which proves efficency of the system.
Key words:automatic marking; automatic assessment; assessment of vfp programs
近年來,采用計算機實現(xiàn)無紙化考試己成趨勢,相關(guān)技術(shù)涉及題庫的建立與維護,試卷的智能組卷以及智能批閱。其中試卷智能批閱技術(shù)的研究意義非凡。目前客觀題的自動閱卷技術(shù)己相對成熟,如選擇題和判斷題等利用計算機閱卷早己超越了人工閱卷,但主觀題的閱卷技術(shù)還在起步階段[1]。國外的相關(guān)研究始于對學(xué)生用自然語言書寫的文章進行自動評分,有的進入實用階段,如Project EssayGrade(PEG) a Page[2],LSA(Latent Semantic Analysis)[3]等。由于編程語言的詞法和語法的諸多限制,使編程題的分析易于自然語言,現(xiàn)有的自動評分方法有,動態(tài)分析方法和靜態(tài)分析方法兩種[4]。
目前針對VFP編程環(huán)境的自動閱卷技術(shù),國內(nèi)已有部分學(xué)術(shù)積累。周松[5]對VFP中表單、菜單、數(shù)據(jù)庫等文件的結(jié)構(gòu)和記錄特征做了剖析,指明閱卷方向;白素蘭[6]提出要點匹配算法用于答案的判定,為降低誤差率做出參考。但是對于VFP機考整卷批閱系統(tǒng)的研究,國內(nèi)文獻見諸較少,結(jié)合工作需求,提出機考整卷批量評閱解決方案并加以實現(xiàn)。經(jīng)驗證,能對全班學(xué)生機考文件進行自動評分,直接產(chǎn)生機考得分細目表,用于學(xué)期成績的評定。
1 閱卷程序開發(fā)的準備
閱卷系統(tǒng)需要完成兩項準備工作:首先分析操作題結(jié)構(gòu)和分值分布,制定自動閱卷評分細則;其次設(shè)計并創(chuàng)建得分明細表,以記錄考生得分信息。
1.1 評分細則的制定
參照江蘇省二級VFP考試,上機操作分五大模塊:項目,查詢,菜單,表單和改錯。由于題型的差異,有必要在細化分值標(biāo)準的同時,給出針對不同題型該采取何種技術(shù)手段批閱。因篇幅限制,只列出數(shù)據(jù)庫表操作部分的評分細則及對應(yīng)機器閱卷技術(shù)要點,見表1。
1.2 建立考生得分細目表
設(shè)計考生得分細目表結(jié)構(gòu)如表2。
2 批量閱卷算法
閱卷對象是成批的考生操作題壓縮包,需事先將其解壓到指定的文件夾.閱卷程序遍歷考生文件夾,對考生成績進行判定,完畢將考生準考證號、分值等信息自動錄入得分細目表,方便日后查看及統(tǒng)計。給出算法思路,流程見圖1。
3 閱卷模塊核心代碼的實現(xiàn)
VFP操作題自動閱卷的順利進行,關(guān)鍵在于數(shù)據(jù)庫文件(*.DBC)、菜單文件(*.MNX)、表單文件(*.SCX)均以數(shù)據(jù)表文件的結(jié)構(gòu)組織,通過use命令可讀至工作區(qū)[5]。而查詢部分(*.qpr)及改錯部分(*.Prg)文件均是文本文件格式,可以將其讀入內(nèi)存變量,進而判斷相關(guān)特征是否滿足,以給分。
下面通過表單及改錯部分閱卷細節(jié)展示機器閱卷的實現(xiàn):
3.1表單操作的批閱
考題要求:編寫新添加的命令按鈕的click事件代碼,其功能是釋放表單(按鈕名為command1,表單文件名為fx.scx)
閱卷代碼如下:
if file("fx.scx")
use "fx.scx"
biaodan=….. &&此刻略去部分代碼,biaodan變量記錄表單部分累計得分
SCAN FOR objname= 'Command1' &&搜索表單中的'Command1
if [thisform.release]$ lower(methods)
biaodan = biaodan + 2 &&若寫對退出腳本則全分
else
biaodan = biaodan + 1 &&若寫不出給一分,因為添加按鈕也要得分
endif
ENDSCAN
Endif
3.2改錯部分的批閱endprint
首先定義函數(shù)isMatch,供批閱程序調(diào)用,返回值.T.意味著某項改錯要求得到滿足。
Function isMatch(patrn, strng)
regEx = CreateObject("VBScript.RegExp") &&建立正則表達式對象
Matches = regEx.Execute(strng) &&執(zhí)行搜索
RetStr=""
For Each Match in Matches &&遍歷匹配集合
RetStr=RetStr+Match.Value
Next
if len(RetStr)>0
return .T.
else
return .F.
endif
Return
當(dāng)考題要求將一處代碼修改為目標(biāo)串PARAMETERS cStr,給出如下閱卷代碼:
if isMatch(lower("PARAMETERS +cStr"),lower(stuAnswerContent))
gaicuo = gaicuo +2.5 &&匹配成功給分
endif
其中變量stuAnswerContent存儲待批閱程序代碼;函數(shù)isMatch實參,能有效防止考生因輸入多余的空格或書寫大小寫混用的標(biāo)識符而導(dǎo)致的識別出錯。
4 實驗分析
選取園藝系物理系本科學(xué)生的138 份《VFP》上機操作壓縮包,試題總分為40分,進行自動批改。最終的批卷結(jié)果見圖2。
從考生操作題得分樣表看,成績分布與學(xué)生個體差異相符。部分學(xué)生有些項目幾乎未得分,手工進入該考生文件夾,發(fā)現(xiàn)數(shù)據(jù)庫DBC文件,數(shù)據(jù)庫表DBF文件已損壞,甚至還有表單SCX文件損壞無法處理的情況出現(xiàn),可見代碼能對文件損毀情況進行自動識別。對優(yōu)秀學(xué)生的答題,也進行手工核查,機器評分結(jié)果與手工評分結(jié)果相差無幾。可見程序代碼實現(xiàn)基本符合閱卷的要求。
進一步分析138名學(xué)生的得分信息,算得考生操作題得分率,見圖3。
從圖3可以看出,考生感到最難做的題型是數(shù)據(jù)庫查詢部分,其次是數(shù)據(jù)庫擴展屬性的設(shè)置及改錯。這些數(shù)據(jù)的及時取得為今后教學(xué)的改進指明了方向,使教師能投入更多的精力至教學(xué)思路的挑戰(zhàn),方法的完善上。
5 結(jié)論
初步實現(xiàn)VFP課程考試上機操作整卷的批閱,一定程度上減輕教師負擔(dān)。目前系統(tǒng)在下列方面還待完善:
1) 程序代碼與標(biāo)準答案沒有實現(xiàn)分離,導(dǎo)致模塊的重用性低,每次開考須修改閱卷程序;可以嘗試通過xml建立操作題答案庫,屆時還需開展答案xml文件的自動生成技術(shù)的研究。
2) 正則表達式的使用能很大程度上減少主觀題誤判,但如何應(yīng)對VFP中四個字母縮寫的問題,以提高程序的適應(yīng)能力,是下一步的研究方向。
參考文獻:
[1] 高思丹,袁春風(fēng).主觀試題的計算機自動批改技術(shù)研究[J].計算機應(yīng)用研究,2004(2):181-185.
[2] Jill Burstein, Martin Chodorow, Claudia Leacock. Automated essay evaluation:the criterion online writing service[J]. AI Magazine,2004(3):27-36.
[3] Dharmendra Kanej iya,Arun Kumar,Surendra Prasad.Automatic evaluation of students answers using syntactically enhanced LSA[C]. Human Language Technology Conference. Proceedings of the HLT NAACL 03 workshop Building educational applications using natural language processing, 2003(4):53-60.
[4] 佘石泉.編程題自動閱卷技術(shù)的研究[D].長沙:中南大學(xué),2007.
[5] 周松.Visual FoxPro上機操作考試自動閱卷系統(tǒng)的設(shè)計與實現(xiàn)[J].淮海工學(xué)院學(xué)報,2003,12(2):22-24,31.
[6] 白素蘭.Visual FoxPro程序設(shè)計題自動閱卷技術(shù)的研究與實現(xiàn)[D].沈陽:沈陽工業(yè)大學(xué),2005.
[7] 田甜,張振國.主觀題自動閱卷技術(shù)研究[J]. 計算機工程與設(shè)計,2010,31(16):3697-3699,3704.
[8] 賈宗維,王曉芳.Visual FoxPro 程序設(shè)計主觀題自動閱卷系統(tǒng)設(shè)計思路[J].山西農(nóng)業(yè)大學(xué)學(xué)報:自然科學(xué)版,2008,28(1):99-101.
[9] 彭作民.EXCEL文檔自動閱卷評分算法設(shè)計.南京師范大學(xué)學(xué)報:工程技術(shù)版,2007,7(3):70-73.
[10] 巨同升.C 語言程序自動閱卷系統(tǒng)的改進[J].山東理工大學(xué)學(xué)報:自然科學(xué)版,2010,24(5):52-54.endprint
首先定義函數(shù)isMatch,供批閱程序調(diào)用,返回值.T.意味著某項改錯要求得到滿足。
Function isMatch(patrn, strng)
regEx = CreateObject("VBScript.RegExp") &&建立正則表達式對象
Matches = regEx.Execute(strng) &&執(zhí)行搜索
RetStr=""
For Each Match in Matches &&遍歷匹配集合
RetStr=RetStr+Match.Value
Next
if len(RetStr)>0
return .T.
else
return .F.
endif
Return
當(dāng)考題要求將一處代碼修改為目標(biāo)串PARAMETERS cStr,給出如下閱卷代碼:
if isMatch(lower("PARAMETERS +cStr"),lower(stuAnswerContent))
gaicuo = gaicuo +2.5 &&匹配成功給分
endif
其中變量stuAnswerContent存儲待批閱程序代碼;函數(shù)isMatch實參,能有效防止考生因輸入多余的空格或書寫大小寫混用的標(biāo)識符而導(dǎo)致的識別出錯。
4 實驗分析
選取園藝系物理系本科學(xué)生的138 份《VFP》上機操作壓縮包,試題總分為40分,進行自動批改。最終的批卷結(jié)果見圖2。
從考生操作題得分樣表看,成績分布與學(xué)生個體差異相符。部分學(xué)生有些項目幾乎未得分,手工進入該考生文件夾,發(fā)現(xiàn)數(shù)據(jù)庫DBC文件,數(shù)據(jù)庫表DBF文件已損壞,甚至還有表單SCX文件損壞無法處理的情況出現(xiàn),可見代碼能對文件損毀情況進行自動識別。對優(yōu)秀學(xué)生的答題,也進行手工核查,機器評分結(jié)果與手工評分結(jié)果相差無幾。可見程序代碼實現(xiàn)基本符合閱卷的要求。
進一步分析138名學(xué)生的得分信息,算得考生操作題得分率,見圖3。
從圖3可以看出,考生感到最難做的題型是數(shù)據(jù)庫查詢部分,其次是數(shù)據(jù)庫擴展屬性的設(shè)置及改錯。這些數(shù)據(jù)的及時取得為今后教學(xué)的改進指明了方向,使教師能投入更多的精力至教學(xué)思路的挑戰(zhàn),方法的完善上。
5 結(jié)論
初步實現(xiàn)VFP課程考試上機操作整卷的批閱,一定程度上減輕教師負擔(dān)。目前系統(tǒng)在下列方面還待完善:
1) 程序代碼與標(biāo)準答案沒有實現(xiàn)分離,導(dǎo)致模塊的重用性低,每次開考須修改閱卷程序;可以嘗試通過xml建立操作題答案庫,屆時還需開展答案xml文件的自動生成技術(shù)的研究。
2) 正則表達式的使用能很大程度上減少主觀題誤判,但如何應(yīng)對VFP中四個字母縮寫的問題,以提高程序的適應(yīng)能力,是下一步的研究方向。
參考文獻:
[1] 高思丹,袁春風(fēng).主觀試題的計算機自動批改技術(shù)研究[J].計算機應(yīng)用研究,2004(2):181-185.
[2] Jill Burstein, Martin Chodorow, Claudia Leacock. Automated essay evaluation:the criterion online writing service[J]. AI Magazine,2004(3):27-36.
[3] Dharmendra Kanej iya,Arun Kumar,Surendra Prasad.Automatic evaluation of students answers using syntactically enhanced LSA[C]. Human Language Technology Conference. Proceedings of the HLT NAACL 03 workshop Building educational applications using natural language processing, 2003(4):53-60.
[4] 佘石泉.編程題自動閱卷技術(shù)的研究[D].長沙:中南大學(xué),2007.
[5] 周松.Visual FoxPro上機操作考試自動閱卷系統(tǒng)的設(shè)計與實現(xiàn)[J].淮海工學(xué)院學(xué)報,2003,12(2):22-24,31.
[6] 白素蘭.Visual FoxPro程序設(shè)計題自動閱卷技術(shù)的研究與實現(xiàn)[D].沈陽:沈陽工業(yè)大學(xué),2005.
[7] 田甜,張振國.主觀題自動閱卷技術(shù)研究[J]. 計算機工程與設(shè)計,2010,31(16):3697-3699,3704.
[8] 賈宗維,王曉芳.Visual FoxPro 程序設(shè)計主觀題自動閱卷系統(tǒng)設(shè)計思路[J].山西農(nóng)業(yè)大學(xué)學(xué)報:自然科學(xué)版,2008,28(1):99-101.
[9] 彭作民.EXCEL文檔自動閱卷評分算法設(shè)計.南京師范大學(xué)學(xué)報:工程技術(shù)版,2007,7(3):70-73.
[10] 巨同升.C 語言程序自動閱卷系統(tǒng)的改進[J].山東理工大學(xué)學(xué)報:自然科學(xué)版,2010,24(5):52-54.endprint
首先定義函數(shù)isMatch,供批閱程序調(diào)用,返回值.T.意味著某項改錯要求得到滿足。
Function isMatch(patrn, strng)
regEx = CreateObject("VBScript.RegExp") &&建立正則表達式對象
Matches = regEx.Execute(strng) &&執(zhí)行搜索
RetStr=""
For Each Match in Matches &&遍歷匹配集合
RetStr=RetStr+Match.Value
Next
if len(RetStr)>0
return .T.
else
return .F.
endif
Return
當(dāng)考題要求將一處代碼修改為目標(biāo)串PARAMETERS cStr,給出如下閱卷代碼:
if isMatch(lower("PARAMETERS +cStr"),lower(stuAnswerContent))
gaicuo = gaicuo +2.5 &&匹配成功給分
endif
其中變量stuAnswerContent存儲待批閱程序代碼;函數(shù)isMatch實參,能有效防止考生因輸入多余的空格或書寫大小寫混用的標(biāo)識符而導(dǎo)致的識別出錯。
4 實驗分析
選取園藝系物理系本科學(xué)生的138 份《VFP》上機操作壓縮包,試題總分為40分,進行自動批改。最終的批卷結(jié)果見圖2。
從考生操作題得分樣表看,成績分布與學(xué)生個體差異相符。部分學(xué)生有些項目幾乎未得分,手工進入該考生文件夾,發(fā)現(xiàn)數(shù)據(jù)庫DBC文件,數(shù)據(jù)庫表DBF文件已損壞,甚至還有表單SCX文件損壞無法處理的情況出現(xiàn),可見代碼能對文件損毀情況進行自動識別。對優(yōu)秀學(xué)生的答題,也進行手工核查,機器評分結(jié)果與手工評分結(jié)果相差無幾??梢姵绦虼a實現(xiàn)基本符合閱卷的要求。
進一步分析138名學(xué)生的得分信息,算得考生操作題得分率,見圖3。
從圖3可以看出,考生感到最難做的題型是數(shù)據(jù)庫查詢部分,其次是數(shù)據(jù)庫擴展屬性的設(shè)置及改錯。這些數(shù)據(jù)的及時取得為今后教學(xué)的改進指明了方向,使教師能投入更多的精力至教學(xué)思路的挑戰(zhàn),方法的完善上。
5 結(jié)論
初步實現(xiàn)VFP課程考試上機操作整卷的批閱,一定程度上減輕教師負擔(dān)。目前系統(tǒng)在下列方面還待完善:
1) 程序代碼與標(biāo)準答案沒有實現(xiàn)分離,導(dǎo)致模塊的重用性低,每次開考須修改閱卷程序;可以嘗試通過xml建立操作題答案庫,屆時還需開展答案xml文件的自動生成技術(shù)的研究。
2) 正則表達式的使用能很大程度上減少主觀題誤判,但如何應(yīng)對VFP中四個字母縮寫的問題,以提高程序的適應(yīng)能力,是下一步的研究方向。
參考文獻:
[1] 高思丹,袁春風(fēng).主觀試題的計算機自動批改技術(shù)研究[J].計算機應(yīng)用研究,2004(2):181-185.
[2] Jill Burstein, Martin Chodorow, Claudia Leacock. Automated essay evaluation:the criterion online writing service[J]. AI Magazine,2004(3):27-36.
[3] Dharmendra Kanej iya,Arun Kumar,Surendra Prasad.Automatic evaluation of students answers using syntactically enhanced LSA[C]. Human Language Technology Conference. Proceedings of the HLT NAACL 03 workshop Building educational applications using natural language processing, 2003(4):53-60.
[4] 佘石泉.編程題自動閱卷技術(shù)的研究[D].長沙:中南大學(xué),2007.
[5] 周松.Visual FoxPro上機操作考試自動閱卷系統(tǒng)的設(shè)計與實現(xiàn)[J].淮海工學(xué)院學(xué)報,2003,12(2):22-24,31.
[6] 白素蘭.Visual FoxPro程序設(shè)計題自動閱卷技術(shù)的研究與實現(xiàn)[D].沈陽:沈陽工業(yè)大學(xué),2005.
[7] 田甜,張振國.主觀題自動閱卷技術(shù)研究[J]. 計算機工程與設(shè)計,2010,31(16):3697-3699,3704.
[8] 賈宗維,王曉芳.Visual FoxPro 程序設(shè)計主觀題自動閱卷系統(tǒng)設(shè)計思路[J].山西農(nóng)業(yè)大學(xué)學(xué)報:自然科學(xué)版,2008,28(1):99-101.
[9] 彭作民.EXCEL文檔自動閱卷評分算法設(shè)計.南京師范大學(xué)學(xué)報:工程技術(shù)版,2007,7(3):70-73.
[10] 巨同升.C 語言程序自動閱卷系統(tǒng)的改進[J].山東理工大學(xué)學(xué)報:自然科學(xué)版,2010,24(5):52-54.endprint