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