C語言操作題評分方法

時間:2022-04-16 11:04:00

導(dǎo)語:C語言操作題評分方法一文來源于網(wǎng)友上傳,不代表本站觀點,若需要原創(chuàng)文章可咨詢客服老師,歡迎參考。

C語言操作題評分方法

1概述

隨著人工智能技術(shù)的不斷發(fā)展,基于人工智能的解決方案被應(yīng)用到各個領(lǐng)域中。其中教學(xué)領(lǐng)域也在引入該技術(shù)不斷改進教學(xué)手段,如計算機輔助教學(xué)等。為了提高考試工作效率節(jié)約開支和避免教師為學(xué)生劃定考試范圍來應(yīng)付考試,利用基于題庫的考試軟件進行考試成為首選。考試系統(tǒng)可以很好的完成選擇判斷等客觀題的考試評卷工作,但在評閱主觀試題時效率就顯得比較低下。一是主觀題往往答案不唯一,利用簡單字符匹配很難公平給出成績。二是當有多個答案時難以逐一列舉,同樣造成評判不公。

2C程序設(shè)計操作題

考試系統(tǒng)總體設(shè)計該系統(tǒng)用戶分為兩類,分別是學(xué)生用戶和教師用戶。教師用戶具有出題評分等權(quán)限,學(xué)生用戶抽題和答題權(quán)限。本系統(tǒng)分為出題模塊、評分模塊、成績處理和答題模塊。當用戶登錄時可以利用數(shù)據(jù)庫用戶表的權(quán)限字段加以區(qū)分用戶角色,然后分配給不同權(quán)限。用如果是教師則在主界面顯示出題評分等操作,如果是學(xué)生用戶則顯示試題抽取操作,學(xué)生抽取試題后進入答題界面。學(xué)生答題結(jié)束則提交操作后的C源文件。

3閱卷算法的實現(xiàn)

在該系統(tǒng)中除閱卷模塊外,其他模塊的功能在實現(xiàn)方法上有比較成形的技術(shù)都能夠比較容易達到設(shè)計目標。但對于評卷模塊來說,它要完成的是主觀操作題的評閱因此實現(xiàn)起來有一定的難度。經(jīng)過多次的實驗和資料查閱,最后選用了人工智能技術(shù)來實現(xiàn)。

3.1基本設(shè)計思想對于本系統(tǒng)中主要包含三類操作題分別是程序改錯,程序填空和函數(shù)編寫。每類題的答題點都有可能出現(xiàn)多種答案。可以將每個答題點的答案存放到答案表中,答案表也可以被稱為閱卷知識庫。對于改錯和程序填空題在知識庫中每個答題點都可以有多個可選答案相對應(yīng),并且不同的答案具有不同的得分權(quán)重,由此每個答題點Point有多個帶有不同權(quán)重w的答案Ans構(gòu)成:Point={(Ans1,w1),(Ans2,w2)(Ans3,w3),……,(Ansn,wn)};每個答題點的成績最終為某個Ans的權(quán)重w成績該答題點的分值得出,因此權(quán)重w取值為[0、1]。對于函數(shù)編寫題則在答案知識庫中與改錯和程序填空有一定差別,在該知識庫中將答案視為一個文本T,T應(yīng)該由多個關(guān)鍵詞Key構(gòu)成。每個關(guān)鍵詞Key組合成T,每個關(guān)鍵詞Key在答案文本中有一定的得分比例Percent。由此每個題的答案可以為:T={(Key1,Percent1),(Key2,Percent2),(Key3,Percent3),……,(Keyn,Percentn)};該式中:得分比例累積為1,該題得分為最終得分比累加和乘以該題分值。

3.2基本數(shù)據(jù)表設(shè)計對應(yīng)上述設(shè)計思想,設(shè)計如下兩個表作為閱卷知識庫。對于改錯程序和程序填空題閱卷知識庫表結(jié)構(gòu)設(shè)計如(表1,表2)。

3.3算法實現(xiàn)當學(xué)生完成答題后,將答題結(jié)果提交到學(xué)生答題答案表。表中包含學(xué)生學(xué)號、姓名、試題套號、程序改錯答題結(jié)果、填空題答題結(jié)果和函數(shù)編寫答題結(jié)果。算法按照改錯題評閱、填空題評閱和函數(shù)編寫題評閱順序進行。

3.3.1改錯題與填空題評閱算法首先提取答案表中的一條記錄,然后提取該記錄中的題各個答題點結(jié)果,提取后放入相應(yīng)變量內(nèi)。提取該試題套號,以試題套號、類別號和具體答題點號為條件在評閱知識庫表Testans中查找相關(guān)記錄,將提取的結(jié)果集中的記錄的具體答題點的具體答案與學(xué)生答題點的答案進行字符串匹配測試。當某個評閱知識庫表中的某個具體答案與學(xué)生答題結(jié)果中的答案匹配成功時則提取該記錄的權(quán)重值然后乘以該答題點分值。依照上述方法重復(fù)進行直至所有答案表中的相關(guān)答案全部進行了匹配運算的出具體分值為止,將所有分值累加,結(jié)果為該考生改錯與填空題最終成績。

3.3.2函數(shù)編寫題評閱算法在考生答案記錄提取后,將其中的函數(shù)編寫答案字段提取,此字段中存儲考生函數(shù)編寫題的程序文本。同時以試題套號為依據(jù)在函數(shù)編寫題評閱知識庫表progans中搜索該套試題答案關(guān)鍵詞記錄。得到結(jié)果集為該題程序中應(yīng)該出現(xiàn)的關(guān)鍵詞結(jié)果集,以每個關(guān)鍵詞為依據(jù)在考生函數(shù)編寫題答案文本中搜索該關(guān)鍵詞,一旦匹配成功則累加該關(guān)鍵詞對應(yīng)的權(quán)重。結(jié)果集每個關(guān)鍵詞都進行以上算法后累加的權(quán)重值乘以該題的分值即為考生得分。

3.4知識庫知識累積實現(xiàn)上述算法基本解決了當主觀題答案出現(xiàn)多種變化時不能公平給分的矛盾。但是由于出題者對知識庫構(gòu)建時難免發(fā)生遺漏,因此評閱試題知識庫最初的質(zhì)量并不一定很高。為了能使知識庫中知識更加豐富本算法中還增加了知識庫知識累積處理。主要是通過人工干預(yù)評閱試卷,當教師對考生答題點逐個人工查看時,如果知識庫中沒有出現(xiàn)相應(yīng)答案但又是正確答案時評閱教師可以將該答案加入知識庫。添加到知識庫后的答案同時給予一個適當?shù)臋?quán)重,如果是函數(shù)編寫題在加入新的評閱關(guān)鍵詞后所有的關(guān)鍵詞權(quán)重要重新分配使得權(quán)重累加結(jié)果為1。這樣經(jīng)過幾輪人工干預(yù)評閱試卷知識庫中的內(nèi)容將更加豐富,對以后的評閱更加公平起到促進作用。

4結(jié)語

本文中主要闡述了,基于人工智能原理的C語言操作考試題的評閱算法。算法中主要利用了知識庫功能和簡單字符匹配算法。為了解決知識庫內(nèi)容起初不夠豐富的問題,設(shè)計了知識庫知識累積算法。經(jīng)過測試表明在經(jīng)過若干輪人工干預(yù)后基本實現(xiàn)了公平評閱試卷。