冷強(qiáng)奎 王洪敏
【摘 要】為設(shè)計(jì)針對(duì)《數(shù)據(jù)結(jié)構(gòu)》課程的智能化考試系統(tǒng),提出了一種新的系統(tǒng)構(gòu)建框架。該框架由人員信息維護(hù)、試題管理、試卷管理等幾個(gè)主要模塊組成。其中,智能組卷算法和智能評(píng)分算法是該框架的技術(shù)核心。智能組卷算法考慮試題的綜合分布、類型的合理搭配、分值的有效設(shè)定等問(wèn)題。智能評(píng)分算法解決學(xué)生程序不完全正確下自動(dòng)評(píng)分的合理賦分問(wèn)題。通過(guò)數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)和系統(tǒng)運(yùn)行流程的仿真模擬,能夠說(shuō)明該框架的有效性。
【關(guān)鍵詞】智能考試系統(tǒng);構(gòu)建框架;組卷算法;評(píng)分算法
《數(shù)據(jù)結(jié)構(gòu)》課程是計(jì)算機(jī)相關(guān)專業(yè)的一門核心基礎(chǔ)課程,同時(shí)它也是計(jì)算機(jī)工程實(shí)踐中應(yīng)用最廣泛的課程之一[1-2]。它能夠訓(xùn)練學(xué)生的計(jì)算思維,并幫助學(xué)生掌握針對(duì)復(fù)雜算法的設(shè)計(jì)和分析能力[3]。該課程的教學(xué)包含講授、實(shí)踐、研討、測(cè)評(píng)等諸多環(huán)節(jié),其中,對(duì)學(xué)生學(xué)習(xí)狀況的有效測(cè)評(píng)是檢驗(yàn)學(xué)生學(xué)習(xí)能力的重要一環(huán)。
但由于學(xué)生人數(shù)眾多,對(duì)學(xué)生算法/程序的人工評(píng)分需要教師付出大量勞動(dòng),效率低下。并且學(xué)生提交程序后不能即時(shí)得到分?jǐn)?shù)反饋,這也影響學(xué)生的學(xué)習(xí)狀態(tài)。另外,人工評(píng)分還要受到評(píng)卷教師水平、經(jīng)驗(yàn)、個(gè)性甚至道德水準(zhǔn)的影響[4],因此設(shè)計(jì)一種智能的自動(dòng)考試系統(tǒng)就顯得十分重要。預(yù)期該系統(tǒng)能夠?qū)W(xué)生算法設(shè)計(jì)能力和編程實(shí)踐能力進(jìn)行有效評(píng)測(cè),并為教師的課堂授課改革提供一定的依據(jù)。
一、系統(tǒng)總體框架
智能化考試系統(tǒng)由人員信息維護(hù)、試題管理、試卷管理、信息查詢等四個(gè)核心模塊組成。其中,試題管理由任課教師負(fù)責(zé),實(shí)現(xiàn)添加、修改、刪除試題的功能。試卷管理包含生成試卷、瀏覽試卷、刪除試卷、自動(dòng)評(píng)分、人工校準(zhǔn)等五個(gè)部分。在生成試卷時(shí),要采用智能的組卷算法,即從試題庫(kù)中按知識(shí)點(diǎn)分布和試題類型來(lái)組成一套完整的試卷。此時(shí),教師可以對(duì)新生成的試卷進(jìn)行預(yù)覽,如果不符合要求或預(yù)期,則刪除該試卷并再次生成新的試卷。考試結(jié)束后,系統(tǒng)會(huì)進(jìn)行自動(dòng)評(píng)分,然后等待是否需要人工校準(zhǔn)。信息查詢模塊主要包括學(xué)生對(duì)單人成績(jī)的查詢和教師對(duì)總體成績(jī)的查詢,這個(gè)模塊還要集成對(duì)數(shù)據(jù)的分析匯總功能,以便教師從整體上了解該次考試的情況。
二、數(shù)據(jù)庫(kù)設(shè)計(jì)
考試系統(tǒng)需要進(jìn)行數(shù)據(jù)庫(kù)模式設(shè)計(jì)。考試系統(tǒng)的數(shù)據(jù)庫(kù)主要包含三個(gè)數(shù)據(jù)表,即人員表、試題表和考試表。其中,人員表主要負(fù)責(zé)存儲(chǔ)管理員、教師、學(xué)生等人員的信息。為了保持實(shí)體完整性和參照完整性,需要對(duì)表的主鍵和外鍵進(jìn)行設(shè)置。在人員表中,使用教師的工號(hào),或?qū)W生的學(xué)號(hào),或自動(dòng)分配的管理員編號(hào)來(lái)作為該表的主鍵,并且不允許為空。其他附加信息根據(jù)具體情況設(shè)定數(shù)據(jù)類型和數(shù)據(jù)長(zhǎng)度。
試題表包含試題號(hào)、試題類型、分值、參考答案等幾個(gè)字段。它主要負(fù)責(zé)保持各個(gè)題目之間的獨(dú)立性,以便組卷算法能夠自動(dòng)抽取。試卷表包含學(xué)號(hào)、試題號(hào)、自動(dòng)評(píng)分分?jǐn)?shù)、人工評(píng)分分?jǐn)?shù)、最終得分?jǐn)?shù)等幾個(gè)字段。它是一個(gè)生成表,在考試發(fā)生時(shí)生成,從這個(gè)意義上講,它也可以看作是一個(gè)動(dòng)態(tài)表。它的主鍵由兩個(gè)外鍵(學(xué)號(hào)和試題號(hào))聯(lián)合構(gòu)成,即Key=(學(xué)號(hào),試題號(hào))。試卷表是人員表和試題表聯(lián)系的紐帶,也是考試系統(tǒng)中最重要的一個(gè)表。
三、編程題智能評(píng)分方法
針對(duì)傳統(tǒng)編程題自動(dòng)評(píng)分方法不能準(zhǔn)確衡量學(xué)生程序與參考答案之間的接近程度等問(wèn)題,本系統(tǒng)擬實(shí)現(xiàn)一種智能的編程題自動(dòng)評(píng)分方法。分別構(gòu)造學(xué)生程序與參考答案的向量空間模型,并計(jì)算兩者的余弦相似度,來(lái)作為評(píng)判詞語(yǔ)相似的依據(jù)。最終的分?jǐn)?shù)由結(jié)構(gòu)相似度和詞語(yǔ)相似度的加權(quán)分?jǐn)?shù)計(jì)算得出。該方法包含以下步驟:
變量歸一化:由于學(xué)生自定義的變量名與對(duì)應(yīng)試題無(wú)實(shí)質(zhì)性關(guān)聯(lián),因此為了檢測(cè)學(xué)生程序中變量的類型和體量,對(duì)變量名作歸一化處理。具體的處理方法是“類型+序號(hào)”,比如在程序中第一個(gè)出現(xiàn)的雙精度浮點(diǎn)型變量,歸一化后的名稱為“double1”。
詞頻統(tǒng)計(jì):變量歸一化后,可以對(duì)答案中出現(xiàn)的詞語(yǔ)進(jìn)行詞頻統(tǒng)計(jì),以決定該詞的權(quán)重。這里的統(tǒng)計(jì)方法使用自然語(yǔ)言處理中的經(jīng)典方法,即詞頻-逆文檔頻率(Term Frequency - Inverse Document Frequency, TF-IDF)[5-6]。
生成VSM:經(jīng)過(guò)詞頻統(tǒng)計(jì)得到詞的權(quán)重后,每個(gè)學(xué)生程序可以得到一個(gè)對(duì)應(yīng)的向量空間模型(Vector Space Model, VSM)[7-8]。如學(xué)生程序S1={0.18, 0.24, ..., 0.07, 0.11},參考答案A={0.14, 0.18, ..., 0.06, 0.15}。
相似度計(jì)算:利用余弦值來(lái)計(jì)算兩個(gè)向量的相似性,即如果它們的夾角越接近0度,表明這兩個(gè)向量越相似。假定Si和A都是n維向量,Si=[S1i, S2i, ..., Sni],A=[A1, A2, ..., An],則Si與A的夾角θ的余弦等于: cosθ=Si·A/|Si|×|A|。
四、在線考試流程
下面給出整體考試流程。學(xué)生登錄成功后,可以開(kāi)始進(jìn)行考試。對(duì)于已經(jīng)提交的試卷,系統(tǒng)會(huì)首先進(jìn)行自動(dòng)評(píng)分,然后等待指令,以判斷是否需要進(jìn)行人工評(píng)分,如果不需要,則直接給出最終成績(jī)。否則,待人工評(píng)分結(jié)束后,再進(jìn)行成績(jī)發(fā)布。
五、結(jié)束語(yǔ)
提出了一種針對(duì)《數(shù)據(jù)結(jié)構(gòu)》課程的智能化考試系統(tǒng)的構(gòu)建框架。該框架能夠完成從自動(dòng)組卷到自動(dòng)評(píng)分等一系列的智能化過(guò)程。在大規(guī)模考試場(chǎng)景中,該方法可以有效解決人力不足、給分主觀等問(wèn)題。
【參考文獻(xiàn)】
[1] 李治軍, 廖明宏, 張巖. 數(shù)據(jù)結(jié)構(gòu)與算法課程設(shè)計(jì)教學(xué)模式的探討[J]. 計(jì)算機(jī)教育, 2006, (2):54-56.
[2] 張銘, 許卓群, 楊冬青, 唐世渭. 數(shù)據(jù)結(jié)構(gòu)課程的知識(shí)體系和教學(xué)實(shí)踐[J]. 計(jì)算機(jī)教育, 2004, 2/3: 89-91.
[3] 李曉鴻, 駱嘉偉, 季潔. “數(shù)據(jù)結(jié)構(gòu)與算法分析”研究型實(shí)踐教學(xué)的探索[J]. 實(shí)驗(yàn)室研究與探索, 2012, 31(1):121-125.
[4] 李琦. C語(yǔ)言程序設(shè)計(jì)題自動(dòng)評(píng)分算法的研究[J]. 電腦知識(shí)與技術(shù), 2011, 07(7): 1585-1588.
[5] 賀科達(dá), 朱錚濤, 程昱. 基于改進(jìn)TF-IDF算法的文本分類方法研究[J]. 廣東工業(yè)大學(xué)學(xué)報(bào), 2016, 33(5):49-53.
[6] 周源, 劉懷蘭, 杜朋朋,等. 基于改進(jìn)TF-IDF特征提取的文本分類模型研究[J]. 情報(bào)科學(xué), 2017, V35(5):111-118.
[7] 郭慶琳, 李艷梅, 唐琦. 基于VSM的文本相似度計(jì)算的研究[J]. 計(jì)算機(jī)應(yīng)用研究, 2008, 25(11):3256-3258.
[8] 陳飛宏. 基于向量空間模型的中文文本相似度算法研究[D]. 電子科技大學(xué), 2011.