C語(yǔ)言操作題評(píng)分方法

時(shí)間:2022-04-16 11:04:00

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

C語(yǔ)言操作題評(píng)分方法

1概述

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

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

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

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

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

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

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

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

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

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

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

4結(jié)語(yǔ)

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