孫澤軍,常新峰
(平頂山學院 河南 平頂山 467000)
隨著計算機技術、Internet技術的發展和普及,網絡教學作為一種全新的教學方式正逐步滲透到高等教育的教學過程中。網絡教學突破了教師與學生在時間與空間上的距離,實現了教學資源最大范圍的整合與共享,填補了傳統課堂教學過程中存在的空白,有效提升了教學效率[1]。網絡教學平臺是一個支持學生、教師、教務管理人員和系統管理員之間的交流,實現網絡教學的開放式平臺。它作為課堂教學的補充及延伸,不僅可供教師網上教學、網上發布作業、教學資料等,更重要的是為學生提供課后自主學習的平臺[2],促進學生與老師之間、學生與學生之間的溝通與交流,有助于提高學生學習興趣和學習效率。
網絡學教學平臺學除了網絡教學與學習內容之外,對學習效果的評估也是一個必不可少的方面,因此網絡考試是教學過程中的一個重要環節,也是教育質量保證體系中的一個重要組成部分[3]。傳統的考試出卷、閱卷、評分、登記全部由手工完成,數據重復抄寫,工作效率低下,浪費大量的人力和財力[4]。而在線考試出卷、閱卷、評分等大部分工作由計算機完成大大減輕了教師工作量,提高了工作效率。但現有許多在線考試系統沒有與網絡教學平臺相接合,試題類型過于簡單、組卷速度慢、試卷難度和隨機性很難控制。本文所設計的基于改進遺傳算法的在線考試系統有效的解決了傳統組卷慢、題型重復、難度分布不均、組卷質量底等問題。
網絡教學平臺包含有三大庫,教學庫、資源庫和題庫,系統運行中需要對數據庫進行頻繁的交互操作,為了更好的規劃和實現對數據庫的訪問功能,提高數據庫訪問效率和處理性能,本文在最底層數據庫上加入Nhibernate,把系統中訪問數據庫層與Nhibernate結合成為一體,成為數據持久層。整個平臺架框采用的是3層結構,表示層、業務邏輯層,數據庫層與Nhibernate作為數據持久層。Spring.Net為各層提供了事務管理抽象和事務管理技術。根據以上分析,基于Spring.Net+NHibernate框架的網絡教學平臺的總體架構如圖1所示。Spring.Net+NHibernate構建多層應用程序,架構具有松耦合性、接口編程、并且有很強的可擴展性。

圖1 平臺結構圖Fig.1 Platform structure
網絡教學平臺主要包括幾大子系統:教學管理、資源管理、考試管理、系統管理。
1)教學管理子系統包括在線學習、課程管理、實驗管理、作業提交、網上答疑、在線自測等功能模塊。
2)資源管理子系統包括課件資源、視頻資源、題庫資源、其它資源等功能模塊,主要實現資源的添加、刪除、編輯、審核等管理,提供教學資源觀看下載。
3)考試管理子系統包括在線考試、組卷管理、自/手動改卷、試題管理等。主要實現考試課程設置,考試試題管理(試題導入、導出、添加、修改、刪除),試卷管理,試卷添加和試卷設置(包括人工試卷和隨機試卷),可以設置試卷的題型,題量以及到章節的題型和各難度的題量。能進行考試班級的考試權限管理。試卷批改,分為自動改卷和手動改卷。另外還有試卷統計,查詢成績,成績導出等。
4)系統管理子系統包括系統設置、用戶管理、公告管理等功能模塊。
在線考試子系統主要包括考試管理模塊、教師模塊、學生模塊。在線考試子系統結構如圖2所示。

圖2 在線考試功能結構圖Fig.2 Online examination function structure
管理模塊:主要包括題庫管理,題庫的添加導入、修改、刪除、審核等操作;試卷管理,試卷狀態更改,試卷設置等;閱卷管理管理主要是對改卷進行相關設置,如主觀題可設置為手動批改或機改;考生管理主要設置考生的考試權限,如沒有打開權限,則考生不能參加考試;系統設置主要設置考試系統相關參數,考試時段設置,教師手動改卷班級分配等。
教師模塊:主要包括試題管理,試題的添加、修改、刪除等操作;組卷管理,教師組卷,題型、題量、難度系數、考試內容、考試時長、時間的設定等;手動改卷,如果試卷被設定為手動改卷,教師可以手動批改主觀題;成績管理,教師可以查詢、導出、打印學生考試成績。
學生模塊主要包括學生在線考試和成績查詢功能模塊,學生抽題成功考試開始并開始計時,考生在切換試題時自動保存答案,并且每3 min自動保存一次。非人為原因中斷考試,學生還可重新登陸繼續考試,試題仍為首次登陸時所抽試題。
遺傳算法是一種模擬自然選擇和自然遺傳機制的隨機優化算法[5],該算法模擬達爾文的自然界遺傳學:繼承(基因遺傳)、進化(基因突變)、優勝劣汰(優的基因大量被遺傳復制,劣的基因較少被遺傳復制)[6]。首先生成一定規模的初始群體,然后使其中的個體以一定的概率進行交叉與變異,實現個體結構的重組,再按預定的評價函數選擇復制優秀個體,組成新的一代,如此循環迭代,以期最終找到滿足尋優條件的全局最優解[5]。
構成遺傳算法的幾個基本要素,染色體編碼,個體適應度,遺傳操作(包括選擇算子,交叉算子,變異算子),最優保存策略。
1)染色體編碼使用遺傳算法求解問題時,應把問題解的參數形式轉換成由基因編碼組成的具有一定結構的遺傳染色體或個體,這一轉換叫做染色體編碼。
2)個體適應度,個體適應度是衡量個體優劣的尺度。適應度函數的選取至關重要,它的設計直接影響到遺傳算法的性能。
3)遺傳操作,選擇算子將按照一定的規律從群體中選擇個體。選擇個體的目的是為了強調群體中適應性高的個體,并希望其后代也能具有較高的適應性。交叉算子將多個個體進行交叉配對,生成新的個體。一方面,它保持了原始群體中優良個體的特性;另一方面,它使算法能夠探索新的基因空間,維持了新群體中個體的多樣性。變異算子對個體串的某些基因位置上的基因值作變動。變異算子使得算法具有局部的隨機搜索能力,增加了群體的多樣性。
4)最優保存策略選擇、交叉、變異操作后,再比較上下兩代最好個體的適應度,如下降,則以上一代最好個體替換下一代的最差個體。反之則相反[5]。
考試系統的組卷方式是考試系統設計的關鍵之一,在傳統的組卷算法中,大多采用隨機選取和回溯試探法。這種算法雖然簡單,但是要完整地組成一張試卷,其時間復雜度很大[7]。遺傳算法經常被用在在線考試系中進行組卷,然而傳統的遺傳算法常采用二進制編碼來表示,用1表示該題被抽中,0則剛好相反,表示未被抽中,這種編碼實現起來非常簡單,但這給組卷帶來了一個問題,就是試題難度和題量難控制。另外,現實應用中,常常出現提前出現收斂,遺傳算法產生早熟,其結果直接影響到試卷生成質量,產生早熟主要是由于部分操作的誤差隨著種群多樣性減小而引起的。因此本文采用改進的遺傳算法組卷,改進后的遺傳算法改進了染色體編碼方法,引入染色體庫使生成試卷的質量得到了保證。
3.1.1 改進的染色體編碼
遺傳算法已逐步應用在考試組卷上,已有大量實驗表明,解決數值優化問題采用實數編碼的遺傳算法的效率要高得多,本文采用一種分段實數編碼機制,將一份試卷映射為一個染色體,組成試卷的各個試題映射為這條染色體的基因,編碼時將同一題型的試題放在同一段,同一段內題號各不相同。例如組成一份試卷,包含選擇題10道,填空題5道,判斷題10道,則染色體編碼如圖3所示。題號編碼方法表達意義清楚、明確、不需解碼,從而可以提高算法性能,提高運算效率。而且交叉和變異操作都在各段內部進行,因此可以保證組卷過程中各題型題量的正確匹配[8]。

圖3 染色體編碼Fig.3 Chromosome coding
3.1.2 染色體庫新個體引入機制
染色體庫的使用主要是用于保存部分優秀個體,淘汰不滿足要求的個體。同時為了維持種群的多樣性,染色體庫中還需要保存部分有價值的非優秀個體模式。使用染色體庫在增加種群多樣性和縮短收斂時間上的效果是比較明顯的[9]。
多人次考試過后,可以根據每次考試結果自動分析出每一道題的抽出率、難度系數、區分度,根據設定條件可以選出優秀個體更新染色體庫。引入染色體庫后,種群中新加入個體將以染色體庫中的個體作為母本進行變異運算從而使其獲得更多優秀的個體模式。同時在種群進化的過程中也將有部分的個體被淘汰[9]。優秀個體的引人機制是在遺傳操作的中后期,引入多種模式,使群體在盡量保留原有搜索成果的基礎上使模式多樣化,它可以是含有優良染色體的個體或單獨的染色體,由他們與原群體中個體交叉或轉基因得到更好的子代,從而提高精度。
試卷批改也是考試系統中的一個重要環節,特別是對主觀題批改,主觀題的自動閱卷評分是考試系統中的一個難點問題。它涉及詞法分析、語義識別、模式識別等方面的問題[10]。通過分析人式改卷可知影響主觀題評分的因素主要有兩個:一是得分要點吻合度,二是學生答案和標準答案的相似度。因此可以預先制定好一套評分標準,然后將一道試題的總分劃分成若干個部分,將分數分配到該試題的求解過程中一些關鍵的步驟或關鍵的語句上,通常稱之為得分點,閱卷時檢查學生答案中有幾個得分點,得分點對應的分數,然后再檢查學生答案和標準答案的貼近度,貼近度高則分數高,最后再考慮學生答案語言是否通順,條理性是否強等因素,適當對分數進行調整。設計算法采用知識點關鍵詞匹配法和模糊數學中的單向貼近度進。
另外,考慮到主觀題部分計算機閱卷可能存在誤差,主觀題閱卷分為人工閱卷、計算機閱卷或兩種方式的組合,即在計算機自動閱卷之后,人工可以對主觀題的閱卷進行審查和補充,從而使系統對考生的成績更加合理、公正和公平。
本文重點介紹了網絡教學平臺中基于改進的遺傳算法的在線考試的研究設計。首先闡述了網絡教學平臺的重要意義,提出了現有在線考試系統的不足。接著介紹了網絡教學平臺結構及在線考試功能。然后分析和研究了傳統遺傳算法,在此基礎上提出了改進的遺傳算法,利用改進的遺傳算法組卷。最后介紹了在線考試閱卷方法及技術。該網絡教學平臺及其在線考試系統已在平頂山學院實用,在線考試系統的應用提高了組卷效率,節約了考試資源,節省了試卷批改時間,提高了考試的公平性。本考試系統的設計由于時問倉促,組卷生成算法還有待進一步提高,不斷優化組卷,最大程度地滿足用戶的需求,使在線考試在實際應用中越來越完善。
[1]周元春,周欣.基于.NET技術的分布式小型網絡教學平臺的設計和實現[J].電腦知識與技術,2006(5):217-218.ZHOU Yuan-chun,ZHOU Xin.Based on.net technology of distributed small network teaching platform design and implementation[J].Computer Knowledge and Technology,2006(5):217-218.
[2]魏瑩,魏華.網格技術在高校網絡教學平臺中的應用[J].甘肅師范學報,2008(3):73-75.WEI Ying,WEI Hua.Grid technology in university teaching platform in the network[J].Journal of Gansu Normal Colleges,2008(3):73-75.
[3]張義良.基于遺傳算法的網絡智能考試系統的研究與實現[D].長沙:湖南大學,2008.
[4]閆偉,曹寶香,夏小娜.基于自適應決策支持技術的研究生在線考試系統的設計與實現 [J].計算機應用研究,2009(2):637-640.YAN Wei,CAO Bao-xiang,XIA Xiao-na.Based on adaptive decision support technology graduate online examination system design and implementation[J].Application Research of Computers,2009(2):637-640.
[5]邵明珠,李偉峰.網絡考試系統設計及關鍵技術分析[J].河南機電高等專科學校學報,2009(11):116-118.SHAO Ming-zhu,LI Wei-feng.Network examination system design and key technology analysis[J].Journal of Henan Mechanical and Electrical Engineering College,2009(11):116-118.
[6]孫衛民,曹正鳳.遺傳算法在網絡考試系統中的應用[J].北京石油化工學院學報,2007(12):52-55 SUN Wei-min,CAO Zheng-feng.The application of genetic algorithm in the network examination system[J].Journal of Beijing Institute of Petro-Chemical Technology,2007(12):52-55.
[7]張芳,楊濤,蔣蘭翎.基于遺傳算法的智能組卷計算機考試系統研究[J].農業網絡信息,2006(10):66-67.ZHANG Fang,YANG Tao,JIANG Lan-ling.Intelligent grouping computer examination system based on genetic algorithm[J].Agriculture Network Information,2006(10):66-67.
[8]唐玲.改進的遺傳算法在智能組卷系統中的應用研究[D].大連:大連交通大學,2008.
[9]王小哲.遺傳算法的改進及在智能組卷系統中的應用研究[D].長沙:中南大學,2009.
[10]況姍蕓.網絡課程中主觀題在線評閱系統的設計與實現[J].中國電化教育,2004(3):83-84.KUANG Shan-yun.Design and implementation of online courses in the online review system subjective questions[J].China Educational Technology,2004(3):83-84.