蘇志同,鞏玲玲
北方工業(yè)大學(xué) 信息工程學(xué)院,北京 100041
MRITIS—一種遠程智能試題錄入系統(tǒng)
蘇志同,鞏玲玲
北方工業(yè)大學(xué) 信息工程學(xué)院,北京 100041
試題組卷依賴于試題錄入,而許多研究關(guān)注于試題組卷技術(shù)[1-2],很少涉及試題錄入。目前試題的錄入均需要人工方式,通常是提供專門的Web交互頁面,在網(wǎng)頁中設(shè)置不同的文本框,每個文本框約定好錄入的內(nèi)容。如有些文本框用于錄入試題的題目,有些用于錄入試題的答案或試題的解析等。這種錄入方式往往比較繁瑣,每次只能錄入一道題,且需等前一道題上傳成功后才能上傳下一道題,不能實現(xiàn)批量錄入,圖片也需要每張都陸續(xù)上傳,非常耗時。以上這些都造成當前試題錄入速度慢、效率低的主要原因。
Microsoft Word 2007內(nèi)置了Blog發(fā)布功能,可以在Word中直接編輯博客并發(fā)布到指定站點,提供了基本的FTP支持,可以將圖片上傳至指定位置。新浪、搜狐和網(wǎng)易等國內(nèi)的大型博客發(fā)布平臺支持用Microsoft Word 2007直接編輯和發(fā)布博客,由于這種方式方便快捷,越來越受到博客用戶的歡迎。
因此,若能夠利用Microsoft Word 2007的這種博客發(fā)布功能,將試題事先錄入之后,批量上傳至服務(wù)器端,并能夠按照編Word中的錄入格式顯示在網(wǎng)頁中,則可以大大提高試題的錄入速度。Microsoft Word 2007基于多種標準博客API來進行博客發(fā)布,其中MetaWeblog API是一種基于XML-RPC技術(shù)[3-5]的API,使用了RSS Web feed格式,以結(jié)構(gòu)化數(shù)據(jù)形式查看博客文章。這種集成使開發(fā)人員能夠使用熟悉的模型創(chuàng)建、提交、管理和查詢結(jié)構(gòu)化的博客文章。MetaWeblog API支持使用任何支持它的軟件包發(fā)布、檢索和編輯博客文章。
本系統(tǒng)提出了一種基于MetaWeblog技術(shù)的教育網(wǎng)站試題錄入系統(tǒng),使得試題錄入人員可以在Word中實現(xiàn)大批量的試題創(chuàng)建、提交、管理,大大簡化了試題錄入的復(fù)雜性,特別是對于圖片的處理,不再需要試題錄入人員的選擇與上傳等,只需在Word中插入或者粘貼圖片即可完成。同時本系統(tǒng)利用正則表達式和機器學(xué)習(xí)技術(shù)對錄入的試題進行分解,可將多道試題按題存儲,并將每道題目的題型、題干、難度、答案、解析等分別存儲,方便了試題錄入人員對試題細節(jié)的修改,避免為改一道題需修改整個試卷的情況發(fā)生。
2.1 MetaWeblog交互方式
MetaWeblog是基于XML-RPC(XML Remote Procedure Call)方式進行數(shù)據(jù)傳送的,XML-RPC是一套允許運行在不同的操作系統(tǒng)、不同的環(huán)境的程序?qū)崿F(xiàn)基于Internet過程調(diào)用的規(guī)范和一系列的實現(xiàn)。這種過程調(diào)用使用http作為傳輸協(xié)議,XML形式作為傳送信息的編碼格式。
Microsoft Word 2007利用MetaWeblog API函數(shù)上傳至服務(wù)器端,在服務(wù)器端,服務(wù)程序也會利用MetaWeblog API函數(shù)對數(shù)據(jù)進行分析。Word與MetaWeblog服務(wù)器的交互過程以及所利用的API函數(shù)如圖1所示。
圖1 Microsoft Word 2007與MetaWeblog服務(wù)器交互圖
2.2 格式分析
本文利用Wireshark抓包工具,對Word與網(wǎng)易MetaWeblog服務(wù)器之間相互傳送的數(shù)據(jù)包進行了截取,部分格式樣例如圖2所示。
圖2 MetaWeblog數(shù)據(jù)傳輸格式抓包截圖
從圖2可以看出,應(yīng)用層數(shù)據(jù)部分實際上是一個XML文件。數(shù)據(jù)包主要由API函數(shù)名和此函數(shù)所需要的函數(shù)組成。包含本次數(shù)據(jù)發(fā)送所需要調(diào)用的MetaWeblog API函數(shù)名,所攜帶的參數(shù)名以及相應(yīng)的取值,圖2(b)中可以看出,服務(wù)器一般會返回提交成功后,圖片所對應(yīng)的圖片發(fā)布地址(URL地址)。因此只需要在服務(wù)器端,首先讀取API函數(shù)名,了解本次傳輸?shù)淖饔?,然后根?jù)API函數(shù)的標準說明,依次從XML文件中分解出對應(yīng)的參數(shù),就可以調(diào)用API函數(shù)進行相關(guān)操作。
3.1 系統(tǒng)結(jié)構(gòu)
整個系統(tǒng)主要分成三個部分,客戶端、MetaWebLog服務(wù)器以及數(shù)據(jù)庫服務(wù)器,如圖3所示。
圖3 系統(tǒng)結(jié)構(gòu)圖
制定基本的錄入規(guī)則,用戶可以利用Word 2007編輯試題,然后基于XML-RPC通信方式,與MetaWebLog進行交互。
MetaWebLog監(jiān)聽程序負責(zé)實時接收所發(fā)送過來的XML消息,而后交由XML解析模塊進行處理。請求處理模塊根據(jù)解析后的結(jié)果調(diào)用響應(yīng)的MetaWebLog API程序,進行相應(yīng)處理。服務(wù)器端對圖片的處理比較復(fù)雜,基于MetaWebLog技術(shù)在利用XML-RPC格式傳送圖片時,使用的是圖片的二進制流,服務(wù)器端的圖片轉(zhuǎn)換模塊利用blogger.newMediaObject方法,可以將二進制流讀取成圖片存儲。數(shù)據(jù)存儲模塊負責(zé)數(shù)據(jù)庫方面的操作,便于保存各種需要的試題信息。
服務(wù)器最重要的一個模塊是試題分割模塊,由于Word 2007通過XML-RPC發(fā)送到服務(wù)器端的試題的內(nèi)容部分是按照HTML格式編碼的,為了能夠按照網(wǎng)站的格式在頁面上顯示試題,還需要對這些原始的HTML文本進行處理。主要是提取試題的題型、題干、難度、答案、提示信息、解析等,并且可以分別將抽取出來的內(nèi)容保存到數(shù)據(jù)庫中。本文設(shè)計的系統(tǒng),包含了兩種試題分割方式,正則表達式法和基于機器學(xué)習(xí)的分割法。若所發(fā)送的HTML文本比較規(guī)整,且每份試題所要抽取的相同內(nèi)容項,其上下文的HTML標記基本一致,則正則表達式法效果就比較明顯。然而通常HTML文本并不規(guī)范,很難書寫出匹配所有可能的上下文正則表達式。而基于機器學(xué)習(xí)的方法,以其特有的優(yōu)勢能夠獲取更好的擴展能力。
3.2 基于正則表達式的試題分割法
一般來說,同一科目的試題,其上下文信息會比較類似,本文設(shè)計的系統(tǒng)針對每種科目的試題,分別書寫不同的正則表達式,以提取題型、題干等內(nèi)容。如圖4所示為抽取Word發(fā)往服務(wù)器的內(nèi)容HTML源碼,要提取原始的輸入信息中的“正確答案”以及其對應(yīng)的文本格式,則可以通過規(guī)則“(<p(.*?)(s)*(.*?))?(正確答案:|正確答案:)[sS] *?(提示:|提示:|提示一:|提示一:)”來實現(xiàn),內(nèi)容提取后將存入數(shù)據(jù)庫。
圖4 正則表達式發(fā)分割試題實例
3.3 基于機器學(xué)習(xí)的試題分割法
采用基于正則表達式的試題分割法雖能滿足將試題各個部分內(nèi)容提取出的要求,但這種分割模式要求人工錄入時有嚴格的錄入規(guī)則.而實際人工錄入過程中,很難定義統(tǒng)一的錄入標準,人與人之間的錄入習(xí)慣差異很大,若采用正則表達式方法,必須對每一種錄入習(xí)慣建立一套規(guī)則,這顯然降低了靈活性,增加了錄入成本,通用性差。
為此本文提出了采用基于機器學(xué)習(xí)的分割方法。機器學(xué)習(xí)分割方法在分割試題的訓(xùn)練中能夠?qū)W習(xí)試題錄入規(guī)則,具有極強的自適應(yīng)性和通用性。
判斷復(fù)雜的試題錄入規(guī)則,實際上屬于基于實例的學(xué)習(xí)范疇,因此基于機器學(xué)習(xí)的方法是比較有效的,目前尚未其他合理的方法可以代替。
3.3.1 分割流程與特征定義
本文基于機器學(xué)習(xí)的分割方法,其流程為:(1)首先利用簡單的正則表達式,把HTML編碼的試題的各個部分粗略地大致分開;(2)然后利用訓(xùn)練好的判別式來識別各部分所屬類別。
若采用機器學(xué)習(xí)方法來分割試題,則需要對所識別的對象賦予一定的特征。本文的思想是,選取一部分HTML標記,其集合記為H,并按照某種順序進行排列,其在排列中的序號作為其編碼。對粗略分開的各部分內(nèi)容,按照閱讀順序檢查每一個HTML標記h,若在選取的標記集合H中,則將h的編碼依次記錄下來。最終選取前m個HTML標記的編碼來作為這個部分的特征。
如圖4所示,若H={<p>,<span,font>},m=8,則原始HTML編碼內(nèi)容部分的特征為x=<12,3,3,1,2,3,3>。本文針對每種科目的試題進行訓(xùn)練和學(xué)習(xí),其分類決策均采用最小化錯誤分類的方法。數(shù)據(jù)集合記為:
3.3.2 基于生成模型的方法
基于生成模型的方法,本文采用的是貝葉斯推斷[6],利用MAP(Maximum A Posterior)來進行參數(shù)估計。
MAP即等價于最大化對數(shù)似然:
對于先驗概率 p(Ck),本文通過挑出一些典型試題并人工分割來近似估計。若記人工挑出的試題數(shù)量為N,每種抽取類別在試題中的實例數(shù)量為Mik,則有:
3.3.3 基于判別模型的方法
基于判別模型的方法,本文采用邏輯斯蒂回歸[7],利用梯度下降法進行參數(shù)學(xué)習(xí),即
若記學(xué)習(xí)速度為η,第t個樣本的實際輸出為rtj,則梯度更新方程為:
3.3.4 基于判別函數(shù)的方法
基于判別模型的方法,本文采用支持向量機(Support Vector Machine,SVM)方法[8]。其主要思想是使用Karush-Kuhn-Tucker條件,解決如下公式的對偶問題,從而得到最佳分離的超平面:
為了得到更好的識別效果,本文采用基于核函數(shù)的SVM方法,核函數(shù)采用徑向基函數(shù):
4.1 數(shù)據(jù)集
本文設(shè)計的系統(tǒng)應(yīng)用于實際教育網(wǎng)站的試題錄入中,并對1 500份5種科目試題的錄入進行了初步的分析與測試。測試工作分成了5個小組,平均每個小組2個人,隨機抽取300份試題。分別用傳統(tǒng)人工錄入和使用本系統(tǒng)錄入的方式。試題基本信息如表1所示。
表1 待錄入試題基本信息
4.2 效率比較
本實驗部分主要比較傳統(tǒng)的錄入方式與通過本系統(tǒng)錄入方式的試題錄入效率,如圖5和圖6所示。其中所使用的時間是按照每天工作最多8 h,除去非工作日的實際天數(shù)計算的,并且保證錄入人員的試題錄入速度的水平相當。
圖5 每組錄入天數(shù)比較
圖6 每種題型錄入天數(shù)比較
從圖5可以看出無論是每組的錄入情況還是每種類型試題的錄入情況,基于本文的系統(tǒng)的錄入時間幾乎是傳統(tǒng)方式的50左右。圖6表明,圖片較多的試題類型改善效果明顯,題目類型數(shù)量最多的英語,效率提升最大,時間縮短了76%。這是由于傳統(tǒng)方式中,題目類型越多,排隊時間越長,上傳速度不固定,所耗費的時間也就越多,本文的系統(tǒng)能夠?qū)崿F(xiàn)批量上傳,避免了中間等待時間。
4.3 試題分割性能
本實驗部分比較正則表達式分解方法,以及各種基于機器學(xué)習(xí)技術(shù)的分割方法的性能。對與機器學(xué)習(xí)方法,本文事先對每種類型的試題,平均人工標注了1 000份,作為訓(xùn)練樣本。在利用本系統(tǒng)錄入1 500份試題過程中,MetaWeblog服務(wù)器端基于各種方法分別對同一份提交的試卷進行分割,并保存到不同的數(shù)據(jù)庫中,最后人工檢驗分割的正確性。對于基于貝葉斯方法的機器學(xué)習(xí),通過對每種科目抽取了100份典型試題對其先驗概率進行了估計,貝葉斯中假定采用高斯密度估計。各種方法的在測試集上的性能比較如表2所示。
表2 試題分割正確率比較 (%)
從實驗效果來看,正則表達式的分割正確率最低,因為在人工錄入過程中,無法使用嚴格的規(guī)則。而機器學(xué)習(xí)的方法正確率相對較高,其中貝葉斯正確率改進效果最差,這是由于在較少的樣本情況下,很難估計出比較合理的密度函數(shù)。邏輯斯蒂直接對后驗概率進行估計,效果略比貝葉斯明顯。而SVM在小樣本的學(xué)習(xí)中具有較好的優(yōu)勢,分割正確率最高。
本文針對教育網(wǎng)站傳統(tǒng)試題錄入方式的不足,引入了MetaWeblog和機器學(xué)習(xí)技術(shù)。通過對Word 2007的博客傳輸數(shù)據(jù)格式進行分析,結(jié)合MetaWeblog API,設(shè)計了一種新穎的教育網(wǎng)站試題錄入系統(tǒng)。用戶可以利用Word 2007批量編輯和上傳試題,避免了傳統(tǒng)錄入方式中不必要的等待時間。并且利用正則表達式和機器學(xué)習(xí)方法,對上傳的HTML編碼的試題內(nèi)容進行分割,將抽取的有用信息保存到數(shù)據(jù)庫中。實驗表明,本文提出的系統(tǒng)具有較高的錄入效率和分割正確率。本文的不足之處是科目種類還較少,訓(xùn)練樣本也較少,只能在一定條件下表現(xiàn)出較好的性能,下一步的工作是通過大規(guī)模的實驗來繼續(xù)完善本文提出的系統(tǒng)。
[1]李鐵軍,張德強.智能化專家系統(tǒng)試題庫的實現(xiàn)途徑[J].遼寧工業(yè)大學(xué)學(xué)報:自然科學(xué)版,2011,(6):358-360.
[2]楊世達,金敏,梅磊.面向自動組卷問題的改進類電磁算法[J].計算機工程與應(yīng)用,2011,47(35):51-53.
[3]肖君,張永忠,陳祝華.基于XML-RPC技術(shù)的分布式教育資源庫系統(tǒng)[J].計算機工程,2005(20):217-219.
[4]劉純波,李琦,承繼成.基于XML-RPC的分布式地理信息系統(tǒng)計算模型研究[J].計算機工程與應(yīng)用,2003,39(26):106-108.
[5]羅玲,白曉穎.基于XML的RPC技術(shù)分析[J].計算機科學(xué),2004 (2):167-170.
[6]林士敏,王雙成,陸玉昌.貝葉斯方法的學(xué)習(xí)機制與問題求解[J].清華大學(xué)學(xué)報,2000,40(9):61-64.
[7]王濟川,郭志剛.Logistic回歸模型方法與應(yīng)用[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
為提高遠程試題錄入的工作效率,簡化復(fù)雜的錄入和圖片上傳步驟,提出了一種基于MWA(MetaWeblog API)的遠程智能試題錄入系統(tǒng)(MWA based Remote Intelligent Test Input System,MIRITIS)。利用WireShark對Microsoft Office Word 2007博客發(fā)布功能的數(shù)據(jù)包格式進行截取和分析,并基于MWA設(shè)計了試題錄入交互模塊。服務(wù)器端采用正則表達式和機器學(xué)習(xí)技術(shù)對試題進行分割和提取,并存入到數(shù)據(jù)庫中。實驗結(jié)果表明,MIRITIS相對于傳統(tǒng)方式提高了效率,且錯誤率較低,具有一定的實用價值。
MetaWeblog API;機器學(xué)習(xí);試題錄入;正則表達式
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.
國家自然科學(xué)基金(No.61105045,No.51075423)。
蘇志同(1963—),男,教授,研究領(lǐng)域為管理信息系統(tǒng)與計算機網(wǎng)絡(luò)、數(shù)字媒體技術(shù);鞏玲玲(1985—),女,碩士,研究方向為管理信息系統(tǒng)與計算機網(wǎng)絡(luò)、數(shù)字媒體技術(shù)。E-mail:crystalgong2012@hotmail.com
2012-03-28
2012-07-13
1002-8331(2013)05-0140-04
◎圖形圖像處理◎