C語言操作題評分方法

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

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

C語言操作題評分方法

1概述

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

2C程序設計操作題

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

3閱卷算法的實現

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

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

3.2基本數據表設計對應上述設計思想,設計如下兩個表作為閱卷知識庫。對于改錯程序和程序填空題閱卷知識庫表結構設計如(表1,表2)。

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

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

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

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

4結語

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