蘇志同,鞏玲玲
北方工業大學 信息工程學院,北京 100041
MRITIS—一種遠程智能試題錄入系統
蘇志同,鞏玲玲
北方工業大學 信息工程學院,北京 100041
試題組卷依賴于試題錄入,而許多研究關注于試題組卷技術[1-2],很少涉及試題錄入。目前試題的錄入均需要人工方式,通常是提供專門的Web交互頁面,在網頁中設置不同的文本框,每個文本框約定好錄入的內容。如有些文本框用于錄入試題的題目,有些用于錄入試題的答案或試題的解析等。這種錄入方式往往比較繁瑣,每次只能錄入一道題,且需等前一道題上傳成功后才能上傳下一道題,不能實現批量錄入,圖片也需要每張都陸續上傳,非常耗時。以上這些都造成當前試題錄入速度慢、效率低的主要原因。
Microsoft Word 2007內置了Blog發布功能,可以在Word中直接編輯博客并發布到指定站點,提供了基本的FTP支持,可以將圖片上傳至指定位置。新浪、搜狐和網易等國內的大型博客發布平臺支持用Microsoft Word 2007直接編輯和發布博客,由于這種方式方便快捷,越來越受到博客用戶的歡迎。
因此,若能夠利用Microsoft Word 2007的這種博客發布功能,將試題事先錄入之后,批量上傳至服務器端,并能夠按照編Word中的錄入格式顯示在網頁中,則可以大大提高試題的錄入速度。Microsoft Word 2007基于多種標準博客API來進行博客發布,其中MetaWeblog API是一種基于XML-RPC技術[3-5]的API,使用了RSS Web feed格式,以結構化數據形式查看博客文章。這種集成使開發人員能夠使用熟悉的模型創建、提交、管理和查詢結構化的博客文章。MetaWeblog API支持使用任何支持它的軟件包發布、檢索和編輯博客文章。
本系統提出了一種基于MetaWeblog技術的教育網站試題錄入系統,使得試題錄入人員可以在Word中實現大批量的試題創建、提交、管理,大大簡化了試題錄入的復雜性,特別是對于圖片的處理,不再需要試題錄入人員的選擇與上傳等,只需在Word中插入或者粘貼圖片即可完成。同時本系統利用正則表達式和機器學習技術對錄入的試題進行分解,可將多道試題按題存儲,并將每道題目的題型、題干、難度、答案、解析等分別存儲,方便了試題錄入人員對試題細節的修改,避免為改一道題需修改整個試卷的情況發生。
2.1 MetaWeblog交互方式
MetaWeblog是基于XML-RPC(XML Remote Procedure Call)方式進行數據傳送的,XML-RPC是一套允許運行在不同的操作系統、不同的環境的程序實現基于Internet過程調用的規范和一系列的實現。這種過程調用使用http作為傳輸協議,XML形式作為傳送信息的編碼格式。
Microsoft Word 2007利用MetaWeblog API函數上傳至服務器端,在服務器端,服務程序也會利用MetaWeblog API函數對數據進行分析。Word與MetaWeblog服務器的交互過程以及所利用的API函數如圖1所示。

圖1 Microsoft Word 2007與MetaWeblog服務器交互圖
2.2 格式分析
本文利用Wireshark抓包工具,對Word與網易MetaWeblog服務器之間相互傳送的數據包進行了截取,部分格式樣例如圖2所示。

圖2 MetaWeblog數據傳輸格式抓包截圖
從圖2可以看出,應用層數據部分實際上是一個XML文件。數據包主要由API函數名和此函數所需要的函數組成。包含本次數據發送所需要調用的MetaWeblog API函數名,所攜帶的參數名以及相應的取值,圖2(b)中可以看出,服務器一般會返回提交成功后,圖片所對應的圖片發布地址(URL地址)。因此只需要在服務器端,首先讀取API函數名,了解本次傳輸的作用,然后根據API函數的標準說明,依次從XML文件中分解出對應的參數,就可以調用API函數進行相關操作。
3.1 系統結構
整個系統主要分成三個部分,客戶端、MetaWebLog服務器以及數據庫服務器,如圖3所示。

圖3 系統結構圖
制定基本的錄入規則,用戶可以利用Word 2007編輯試題,然后基于XML-RPC通信方式,與MetaWebLog進行交互。
MetaWebLog監聽程序負責實時接收所發送過來的XML消息,而后交由XML解析模塊進行處理。請求處理模塊根據解析后的結果調用響應的MetaWebLog API程序,進行相應處理。服務器端對圖片的處理比較復雜,基于MetaWebLog技術在利用XML-RPC格式傳送圖片時,使用的是圖片的二進制流,服務器端的圖片轉換模塊利用blogger.newMediaObject方法,可以將二進制流讀取成圖片存儲。數據存儲模塊負責數據庫方面的操作,便于保存各種需要的試題信息。
服務器最重要的一個模塊是試題分割模塊,由于Word 2007通過XML-RPC發送到服務器端的試題的內容部分是按照HTML格式編碼的,為了能夠按照網站的格式在頁面上顯示試題,還需要對這些原始的HTML文本進行處理。主要是提取試題的題型、題干、難度、答案、提示信息、解析等,并且可以分別將抽取出來的內容保存到數據庫中。本文設計的系統,包含了兩種試題分割方式,正則表達式法和基于機器學習的分割法。若所發送的HTML文本比較規整,且每份試題所要抽取的相同內容項,其上下文的HTML標記基本一致,則正則表達式法效果就比較明顯。然而通常HTML文本并不規范,很難書寫出匹配所有可能的上下文正則表達式。而基于機器學習的方法,以其特有的優勢能夠獲取更好的擴展能力。
3.2 基于正則表達式的試題分割法
一般來說,同一科目的試題,其上下文信息會比較類似,本文設計的系統針對每種科目的試題,分別書寫不同的正則表達式,以提取題型、題干等內容。如圖4所示為抽取Word發往服務器的內容HTML源碼,要提取原始的輸入信息中的“正確答案”以及其對應的文本格式,則可以通過規則“(<p(.*?)(s)*(.*?))?(正確答案:|正確答案:)[sS] *?(提示:|提示:|提示一:|提示一:)”來實現,內容提取后將存入數據庫。

圖4 正則表達式發分割試題實例
3.3 基于機器學習的試題分割法
采用基于正則表達式的試題分割法雖能滿足將試題各個部分內容提取出的要求,但這種分割模式要求人工錄入時有嚴格的錄入規則.而實際人工錄入過程中,很難定義統一的錄入標準,人與人之間的錄入習慣差異很大,若采用正則表達式方法,必須對每一種錄入習慣建立一套規則,這顯然降低了靈活性,增加了錄入成本,通用性差。
為此本文提出了采用基于機器學習的分割方法。機器學習分割方法在分割試題的訓練中能夠學習試題錄入規則,具有極強的自適應性和通用性。
判斷復雜的試題錄入規則,實際上屬于基于實例的學習范疇,因此基于機器學習的方法是比較有效的,目前尚未其他合理的方法可以代替。
3.3.1 分割流程與特征定義
本文基于機器學習的分割方法,其流程為:(1)首先利用簡單的正則表達式,把HTML編碼的試題的各個部分粗略地大致分開;(2)然后利用訓練好的判別式來識別各部分所屬類別。
若采用機器學習方法來分割試題,則需要對所識別的對象賦予一定的特征。本文的思想是,選取一部分HTML標記,其集合記為H,并按照某種順序進行排列,其在排列中的序號作為其編碼。對粗略分開的各部分內容,按照閱讀順序檢查每一個HTML標記h,若在選取的標記集合H中,則將h的編碼依次記錄下來。最終選取前m個HTML標記的編碼來作為這個部分的特征。
如圖4所示,若H={<p>,<span,font>},m=8,則原始HTML編碼內容部分的特征為x=<12,3,3,1,2,3,3>。本文針對每種科目的試題進行訓練和學習,其分類決策均采用最小化錯誤分類的方法。數據集合記為:

3.3.2 基于生成模型的方法
基于生成模型的方法,本文采用的是貝葉斯推斷[6],利用MAP(Maximum A Posterior)來進行參數估計。

MAP即等價于最大化對數似然:

對于先驗概率 p(Ck),本文通過挑出一些典型試題并人工分割來近似估計。若記人工挑出的試題數量為N,每種抽取類別在試題中的實例數量為Mik,則有:

3.3.3 基于判別模型的方法
基于判別模型的方法,本文采用邏輯斯蒂回歸[7],利用梯度下降法進行參數學習,即

若記學習速度為η,第t個樣本的實際輸出為rtj,則梯度更新方程為:

3.3.4 基于判別函數的方法
基于判別模型的方法,本文采用支持向量機(Support Vector Machine,SVM)方法[8]。其主要思想是使用Karush-Kuhn-Tucker條件,解決如下公式的對偶問題,從而得到最佳分離的超平面:

為了得到更好的識別效果,本文采用基于核函數的SVM方法,核函數采用徑向基函數:

4.1 數據集
本文設計的系統應用于實際教育網站的試題錄入中,并對1 500份5種科目試題的錄入進行了初步的分析與測試。測試工作分成了5個小組,平均每個小組2個人,隨機抽取300份試題。分別用傳統人工錄入和使用本系統錄入的方式。試題基本信息如表1所示。

表1 待錄入試題基本信息
4.2 效率比較
本實驗部分主要比較傳統的錄入方式與通過本系統錄入方式的試題錄入效率,如圖5和圖6所示。其中所使用的時間是按照每天工作最多8 h,除去非工作日的實際天數計算的,并且保證錄入人員的試題錄入速度的水平相當。

圖5 每組錄入天數比較

圖6 每種題型錄入天數比較
從圖5可以看出無論是每組的錄入情況還是每種類型試題的錄入情況,基于本文的系統的錄入時間幾乎是傳統方式的50左右。圖6表明,圖片較多的試題類型改善效果明顯,題目類型數量最多的英語,效率提升最大,時間縮短了76%。這是由于傳統方式中,題目類型越多,排隊時間越長,上傳速度不固定,所耗費的時間也就越多,本文的系統能夠實現批量上傳,避免了中間等待時間。
4.3 試題分割性能
本實驗部分比較正則表達式分解方法,以及各種基于機器學習技術的分割方法的性能。對與機器學習方法,本文事先對每種類型的試題,平均人工標注了1 000份,作為訓練樣本。在利用本系統錄入1 500份試題過程中,MetaWeblog服務器端基于各種方法分別對同一份提交的試卷進行分割,并保存到不同的數據庫中,最后人工檢驗分割的正確性。對于基于貝葉斯方法的機器學習,通過對每種科目抽取了100份典型試題對其先驗概率進行了估計,貝葉斯中假定采用高斯密度估計。各種方法的在測試集上的性能比較如表2所示。

表2 試題分割正確率比較 (%)
從實驗效果來看,正則表達式的分割正確率最低,因為在人工錄入過程中,無法使用嚴格的規則。而機器學習的方法正確率相對較高,其中貝葉斯正確率改進效果最差,這是由于在較少的樣本情況下,很難估計出比較合理的密度函數。邏輯斯蒂直接對后驗概率進行估計,效果略比貝葉斯明顯。而SVM在小樣本的學習中具有較好的優勢,分割正確率最高。
本文針對教育網站傳統試題錄入方式的不足,引入了MetaWeblog和機器學習技術。通過對Word 2007的博客傳輸數據格式進行分析,結合MetaWeblog API,設計了一種新穎的教育網站試題錄入系統。用戶可以利用Word 2007批量編輯和上傳試題,避免了傳統錄入方式中不必要的等待時間。并且利用正則表達式和機器學習方法,對上傳的HTML編碼的試題內容進行分割,將抽取的有用信息保存到數據庫中。實驗表明,本文提出的系統具有較高的錄入效率和分割正確率。本文的不足之處是科目種類還較少,訓練樣本也較少,只能在一定條件下表現出較好的性能,下一步的工作是通過大規模的實驗來繼續完善本文提出的系統。
[1]李鐵軍,張德強.智能化專家系統試題庫的實現途徑[J].遼寧工業大學學報:自然科學版,2011,(6):358-360.
[2]楊世達,金敏,梅磊.面向自動組卷問題的改進類電磁算法[J].計算機工程與應用,2011,47(35):51-53.
[3]肖君,張永忠,陳祝華.基于XML-RPC技術的分布式教育資源庫系統[J].計算機工程,2005(20):217-219.
[4]劉純波,李琦,承繼成.基于XML-RPC的分布式地理信息系統計算模型研究[J].計算機工程與應用,2003,39(26):106-108.
[5]羅玲,白曉穎.基于XML的RPC技術分析[J].計算機科學,2004 (2):167-170.
[6]林士敏,王雙成,陸玉昌.貝葉斯方法的學習機制與問題求解[J].清華大學學報,2000,40(9):61-64.
[7]王濟川,郭志剛.Logistic回歸模型方法與應用[M].北京:高等教育出版社,2001.
[8]CortesC,Vapnik V.Supportvectornetworks[J].Machine Learning,1995,20:1-25.
SU Zhitong,GONG Lingling
School of Information Engineering,North China University of Technology,Beijing 100041,China
To improve the remote test input work efficiency and simplify complex test input and image uploading procedure,a MWA(MetaWeblog API)based remote intelligent test input system is proposed.The blog publishing packet format of Microsoft Office Word 2007 is intercepted and analyzed using WireShark,and then the test input interaction modules are designed based on WMA.The server segments the test content and exacts the single topic.Each topic is stored in the database.The experimental results show that MRITIS is more efficient than the tradition method with lower error.MRITIS proposed in this paper is of great value in applications.
MetaWeblog API;machine learning;test input;regular expression
為提高遠程試題錄入的工作效率,簡化復雜的錄入和圖片上傳步驟,提出了一種基于MWA(MetaWeblog API)的遠程智能試題錄入系統(MWA based Remote Intelligent Test Input System,MIRITIS)。利用WireShark對Microsoft Office Word 2007博客發布功能的數據包格式進行截取和分析,并基于MWA設計了試題錄入交互模塊。服務器端采用正則表達式和機器學習技術對試題進行分割和提取,并存入到數據庫中。實驗結果表明,MIRITIS相對于傳統方式提高了效率,且錯誤率較低,具有一定的實用價值。
MetaWeblog API;機器學習;試題錄入;正則表達式
A
TP311
10.3778/j.issn.1002-8331.1203-0646
SU Zhitong,GONG Lingling.MRITIS—remote intelligent test input system.Computer Engineering and Applications, 2013,49(5):140-143.
國家自然科學基金(No.61105045,No.51075423)。
蘇志同(1963—),男,教授,研究領域為管理信息系統與計算機網絡、數字媒體技術;鞏玲玲(1985—),女,碩士,研究方向為管理信息系統與計算機網絡、數字媒體技術。E-mail:crystalgong2012@hotmail.com
2012-03-28
2012-07-13
1002-8331(2013)05-0140-04
◎圖形圖像處理◎