俞 婷 符云清
(重慶大學(xué)軟件學(xué)院 重慶 401331)
?
基于詞法分析和XML技術(shù)的多媒體試題批量導(dǎo)入研究
俞婷符云清
(重慶大學(xué)軟件學(xué)院重慶 401331)
摘要試題導(dǎo)入是當(dāng)前在線教育面臨的一個(gè)難點(diǎn)問題。傳統(tǒng)的在線試題導(dǎo)入效率較低而且出錯(cuò)率較高。目前一些基于詞法、語法分析的試題導(dǎo)入研究側(cè)重于純文本試題的導(dǎo)入。通過對聯(lián)通內(nèi)訓(xùn)平臺(tái)試題庫的分析發(fā)現(xiàn)包含圖片、視頻的多媒體試題出現(xiàn)較為頻繁。為了解決這一問題,提出一種基于詞法分析和XML技術(shù)的多媒體試題批量導(dǎo)入方法。該方法首先對試卷進(jìn)行預(yù)處理得到標(biāo)準(zhǔn)的試卷模型,然后通過試題解析得到HTML格式的試卷并根據(jù)HTML的標(biāo)簽信息分解出題目與答案,最后將“題目-答案”以XML格式存入數(shù)據(jù)庫中并完成試題導(dǎo)入。該方法成功運(yùn)用到聯(lián)通內(nèi)訓(xùn)平臺(tái),高效地解決了多媒體試題導(dǎo)入的問題。相比于現(xiàn)有的試題導(dǎo)入方法,該試題導(dǎo)入方法支持的試題類型更多,導(dǎo)入效率和準(zhǔn)確率也有所提高。
關(guān)鍵詞試題導(dǎo)入詞法分析JACOB
0引言
隨著在線教育的進(jìn)一步發(fā)展,試題庫中的題目越來越多。自動(dòng)化的試題導(dǎo)入能夠大大減小試題導(dǎo)入人員的工作負(fù)擔(dān),同時(shí)提高試題準(zhǔn)確率。李靜梅[1]利用Microsoft公司提供的VBA技術(shù)來處理word文檔中試題的導(dǎo)入問題。這種處理方式效率較高,處理過程也相對簡單,但是在試題文檔的類型上存在著明顯的局限性。王甲[2]利用詞法、語法分析技術(shù)逐個(gè)字符讀入試題,然后對這些字符進(jìn)行歸類和封裝,最后通過構(gòu)建語法樹來驗(yàn)證和還原試題。這種方法在一定程度上解決了試題導(dǎo)入過程中數(shù)據(jù)的安全性、試題文檔類型等問題,但是這類方法沒有很好地考慮到多媒體試題的導(dǎo)入問題。
當(dāng)前許多題庫系統(tǒng)僅包含純文本格式的試題,在題干或試題選項(xiàng)部分都不能支持復(fù)雜的公式、特殊符號(hào)以及圖片、音視頻等多媒體內(nèi)容,從而限制了題庫系統(tǒng)的應(yīng)用和推廣;且大多試題庫系統(tǒng)僅支持人工錄入,其不僅效率低下,還容易在輸入過程中出錯(cuò)。在這種背景下,若能將這些試卷以多媒體試題形式批量導(dǎo)入到題庫系統(tǒng)中,則將大大提高題庫系統(tǒng)建設(shè)的效率,實(shí)現(xiàn)題庫資源在更大范圍內(nèi)的共享和重用,從而為各類教育培育的教學(xué)評(píng)價(jià)奠定堅(jiān)實(shí)基礎(chǔ)。
本文在王甲等人工作的基礎(chǔ)上研究了傳統(tǒng)的分詞技術(shù)[3]、詞法分析技術(shù)[4],提出了基于詞法分析[5]和XML技術(shù)[6]的多媒試題批量導(dǎo)入方法。首先通過詞法分析為試題打上唯一標(biāo)識(shí)并得到試題的題干及選項(xiàng)部分,然后以XML形式存儲(chǔ)到數(shù)據(jù)庫中,同時(shí)提供對多媒體試題的支持。作者在中國聯(lián)通重慶分公司員工內(nèi)訓(xùn)平臺(tái)中題庫及考試模塊中對提出的方法予以了具體實(shí)現(xiàn),并驗(yàn)證了該方法的可行性和高效性。
1相關(guān)研究
1.1詞法分析
詞是中文中最小的能夠獨(dú)立活動(dòng)的有意義的語言成分,而漢語是以字為基本的書寫單位,詞語之間沒有明顯的區(qū)分標(biāo)記。因此,中文詞語分析[7]是信息處理的基礎(chǔ)和關(guān)鍵。其中分詞的方法又是多種多樣的,包括基于字符串匹配的分詞方法[8]、基于統(tǒng)計(jì)的分詞方法[9]、基于語法規(guī)則的分詞方法等。在目前試題導(dǎo)入的研究中,詞法分析被應(yīng)用到試卷的預(yù)處理中。一些研究者利用詞法分析技術(shù)把試卷以詞為單位進(jìn)行分解[2,10],然后導(dǎo)入試題庫。本文綜合考慮試卷導(dǎo)入的實(shí)際情況和詞法分析特點(diǎn),將傳統(tǒng)的詞擴(kuò)大到‘試題’,以試題為單位進(jìn)行分‘詞’。
1.2基于單詞流的試題導(dǎo)入
一些試題導(dǎo)入方法將試題分解為一組詞,然后將一個(gè)個(gè)詞導(dǎo)入系統(tǒng),出題時(shí)對這些詞進(jìn)行重新組裝。王甲[2]通過詞法分析將試題文本打斷為孤立的單詞,進(jìn)而將各個(gè)單詞進(jìn)行歸類和封裝,然后使用預(yù)定義的語法樹對封裝后的單詞對象進(jìn)行匹配和驗(yàn)證。同時(shí),單詞表對整個(gè)過程涉及到的臨時(shí)數(shù)據(jù)進(jìn)行存儲(chǔ)和必要支持。潘旭[10]把試卷內(nèi)容作為源代碼來處理,提出了一種基于ANTLR的試題導(dǎo)入方法。潘旭通過對詞法、語法的分析生成試卷模型并完成試題導(dǎo)入工作。
這類試題導(dǎo)入方法需要對試題進(jìn)行打亂處理,然后重新組裝。一個(gè)試題庫中需要導(dǎo)入的試題可能數(shù)量極大,如果都要進(jìn)行試題打亂和重新組裝需要耗費(fèi)大量時(shí)間。此外,王甲在文中也提到試題打亂組裝的過程中可能會(huì)造成元素重復(fù)、元素缺失等錯(cuò)誤。
1.3基于純文本文檔的試題導(dǎo)入
在一些課程平臺(tái)系統(tǒng)中需要導(dǎo)入以TXT格式或者PDF格式的培訓(xùn)試題[11]。導(dǎo)入文本文件時(shí)首先是需要選擇存儲(chǔ)試題的文檔,培訓(xùn)試題的類別,培訓(xùn)內(nèi)容所屬的章節(jié),輸入培訓(xùn)試題的數(shù)量。這樣,通過后臺(tái)一系列的操作,培訓(xùn)問題就會(huì)被導(dǎo)入到數(shù)據(jù)庫中,避免了繁瑣的手動(dòng)打字的問題。在進(jìn)行試題導(dǎo)入的過程中,首先要進(jìn)行培訓(xùn)試題格式的預(yù)處理,比如TXT格式的文件,因?yàn)槭羌兾谋疚募?,所以只需要使用輸?輸出流讀取文本內(nèi)容。比如DOC格式的文本,需要導(dǎo)入專門分析用戶DOC文檔的POI包。通過調(diào)用POI包的方法,則可以更容易地分析其文檔中的內(nèi)容,將題目解析過后存入數(shù)據(jù)庫中。李靜梅[1]在文中采用了Microsoft提供的文檔解析包來處理word文檔。在此類導(dǎo)入方法中,雖然實(shí)現(xiàn)方便,但對試卷文檔類型要求比較苛刻,且不支持含有圖片、符號(hào)等的多媒體試題導(dǎo)入。
2多媒體試題導(dǎo)入模型的建立
以上提及了多種試題導(dǎo)入的方法。在試題導(dǎo)入的過程中,基于單詞流的試題導(dǎo)入方法效率不高。特別是在出題過程中,試題重組將會(huì)花費(fèi)較大的時(shí)間,而且重組過程中會(huì)帶來元素重復(fù)、元素缺失等問題?;诩兾谋疚臋n的試題導(dǎo)入在方法實(shí)現(xiàn)上和導(dǎo)入效率上有所提高,但是并不能很好地支持含有多媒體類型的試題導(dǎo)入。試題導(dǎo)入的主要目的是將各種類型的試題快速存入數(shù)據(jù)庫中,在出題時(shí)能夠快速地從題庫中提取出所需要的試題。如果將試題全部逐字逐句進(jìn)行詞法分析,不但效率非常低下,而且詞語與詞語之間將會(huì)出現(xiàn)非常大的歧義。同時(shí),在實(shí)際的應(yīng)用中,我們不需要對每一道試題中的每一個(gè)詞都進(jìn)行單獨(dú)的分析,我們關(guān)注的是一道試題。
本文在分析了基于單詞流和基于純文本文檔的試題導(dǎo)入方法的優(yōu)缺點(diǎn)之后,提出了一種基于詞法分析和XML技術(shù)的多媒體試題導(dǎo)入模型。該模型的構(gòu)建主要分為三步(詳見圖1所示)。
圖1 試題導(dǎo)入模型
該方法首先構(gòu)建試卷模型,對試卷解析,將其轉(zhuǎn)化成HTML格式文檔,然后再以XML形式存儲(chǔ)到數(shù)據(jù)庫中。通過將試卷文檔解析成HTML,不僅避免了分詞所帶來的極大的歧義問題,也提高了試題導(dǎo)入的效率,試題存儲(chǔ)不再以詞為單位,而是以題為單位。下面對試卷導(dǎo)入模型進(jìn)行詳細(xì)的分析。
2.1試卷模型構(gòu)建
在進(jìn)行試題導(dǎo)入前,需要對試題做一個(gè)統(tǒng)一的規(guī)定,以減小在導(dǎo)入過程中的出錯(cuò)率。一份試卷包含多種類型的試題、試題數(shù)量以及試題答案。為了更好地描述,文中用E表示試卷,Q表示試題,N表示試題數(shù)量,A表示試題答案。那么一份試卷可以用式(1)進(jìn)行簡單表示。
E=Q∪N∪A
(1)
試卷中試題類型多樣,文中用Qi來分別表示單選題、多選題、判斷題、簡答題、填空題,其中i為1、2、3、4、5。對五類題型進(jìn)行分析可以發(fā)現(xiàn)一定的規(guī)律。Q1、Q2由題干和選項(xiàng)兩部分組成,而Q3、Q4、Q5則只有題干一個(gè)部分。故在試題標(biāo)注和導(dǎo)入時(shí)需要特別注意Q1、Q2的完整性。
同樣的,一份試卷中總的試題數(shù)量N是試卷中各個(gè)類型試題總量之和,我們定義了如下試題總量公式。
(2)
其中[Qi]為一份試卷中第i類題型對應(yīng)的試題數(shù)目。N能夠反應(yīng)出一份試卷的容量,在系統(tǒng)出題時(shí)可以用來評(píng)定一份卷子的難度系數(shù)。
在確定了一份試卷的組成內(nèi)容和題量后一份試卷的總體結(jié)構(gòu)構(gòu)件完成。本文提出的試卷導(dǎo)入方法以試題為單位,故在試卷模型構(gòu)建過程中需對每一道試題進(jìn)行標(biāo)注。
定義標(biāo)注的試題格式為:
$Qi-Q-n$
(3)
其中Qi為題目類型,Q表示題目,n(n≤[Qi])表示題目序號(hào)。例如$Q1-Q-30$表示第30道單選題。判斷題和簡答題的標(biāo)注規(guī)定與單選題和多選題類似。如果文檔中含有答案,則將答案和前面的題目相對應(yīng)起來,在試卷解析和分解完成后以結(jié)構(gòu)化形式存入到數(shù)據(jù)庫中。定義答案的標(biāo)注格式為:
$Qi-A-n$
(4)
比如$Q1-A-30$表示的是題目序號(hào)為30的單項(xiàng)選擇題答案。
2.2試卷解析
用戶選擇不同類型的試卷文檔并導(dǎo)入系統(tǒng)后,系統(tǒng)需要對這些文檔進(jìn)行解析。以word文檔為例,圖2為聯(lián)通五級(jí)認(rèn)證試卷中的部分試題,試題由單選題、多選題、判斷題和簡答題四部分構(gòu)成。
圖2 聯(lián)通等級(jí)認(rèn)證試題(加入標(biāo)注前)
在試卷解析步驟中最為重要的是試題題型和試題數(shù)量的解析。因?yàn)樵谠囶}導(dǎo)入的過程中要保證試題答案的導(dǎo)入,而試題類型和試題數(shù)量是保證試題和答案對應(yīng)的關(guān)鍵。為了更好地區(qū)分試題題型、提取試題數(shù)量。本文在試卷解析的過程中對每道試題進(jìn)行標(biāo)注。例如,在選擇題題型前面的標(biāo)注:“$Q[1-5]{1}-Q-[ ]+$”。其中Q表示題型,n表示該類題型數(shù)量。圖3為加入標(biāo)注后的試卷(詳見2.1試卷模型構(gòu)建)。
圖3 聯(lián)通等級(jí)認(rèn)證試卷(加入標(biāo)注后)
在試卷類型前面加入標(biāo)注可以認(rèn)為是在原始word文檔中加入相應(yīng)的html標(biāo)簽,這是后面word文檔解析成HTML文檔的前提。
為了更好地將試題以題為單位存入數(shù)據(jù)庫中,以數(shù)據(jù)流形式讀取word文檔可能效率不是很高,這里將word文檔解析成HTML文檔。這是因?yàn)镠TML文檔結(jié)構(gòu)化信息鮮明,方便了試題的提取。在將試卷解析成HTML文檔的過程中,主要使用的是JACOB(JAVA-COMBridege)組件[12]。用戶通過JACOB來調(diào)用本地COM自動(dòng)化組件。圖4就是JACOB調(diào)用本地COM自動(dòng)化組件的詳細(xì)機(jī)制[13]。為了提高下一階段中試卷分解的效率,解析生成的HTML文檔會(huì)先緩存到系統(tǒng)服務(wù)器中,在試題導(dǎo)入數(shù)據(jù)庫后刪除。
圖4 JACOB調(diào)用COM工作原理圖
在進(jìn)行試題解析的過程中,除了處理純文本試題,還需要處理包括圖片、特殊公式、符號(hào)、音頻、視頻等多媒體試題。例如,在解析含有圖片的試題過程中,試卷解析器將試卷中的文本試題轉(zhuǎn)換成HTML格式,同時(shí)將圖片上傳至資源服務(wù)器,最后將圖片在資源服務(wù)器中的地址寫入到原來的圖片的位置。若試題中含有一些特殊的符號(hào)和公式,試卷解析器將這些符號(hào)和公式轉(zhuǎn)換為特定的編碼格式,最后將原來的符號(hào)和公式替換為特定的編碼格式。
如下為試卷解析部分的偽碼:
BEGIN(算法開始)
IMPORT:試卷
EXPORT:HTML文檔
IFType=Text則TEXT→HTML
IFType=Multimedia則Multimedia→MediaService,ChangeSRC
……
HTML→ScratchFile
END(算法結(jié)束)
2.3試卷分解
在解析成HTML后,試卷以HTML形式表示。若將試卷以HTML格式存入數(shù)據(jù)庫,則在出題時(shí)不能重新組題。為了解決這一問題,對試卷解析完成后的HTML格式的試卷以試題為單位進(jìn)行分解,得到題目和答案。試卷分解的主要依據(jù)是試卷解析階段中的標(biāo)簽信息。試卷分解完成后的試題及對應(yīng)答案被整合封裝成XML格式,最后存入數(shù)據(jù)庫。
如下為試卷分解部分的偽碼:
BEGIN(算法開始)
IMPORT:HTML文檔
EXPORT:題目-答案
IFcurrentType=SingleAnswer、Multipleanswer,則(SingleAnswer||Multipleanswer) →Tmain&&Toption&&SetType
IFcurrentType=ShortAnswer、TrueorFalse則(ShortAnswer||TrueorFalse) →Key&&SetType
IFcurrentType=Multimedia則GetPath&&SetType
……
Questions→Database
END(算法結(jié)束)
3實(shí)驗(yàn)與結(jié)果
在以往的試題導(dǎo)入研究中較少考慮到多媒體試題,一般觀念認(rèn)為多媒體試題導(dǎo)入將會(huì)消耗巨額的時(shí)間。為了更好地比較包含多媒體試題的試卷和純文本試卷導(dǎo)入效率。本文首先驗(yàn)證了基于題的試題導(dǎo)入效率與試題類型的關(guān)系。取100份word文檔的聯(lián)通模擬試卷,將每一份完整試卷拆分成單選題、多選題、判斷題、簡答題四個(gè)部分分別導(dǎo)入數(shù)據(jù)庫,并統(tǒng)計(jì)各類題型導(dǎo)入消耗的時(shí)間(每類題型總數(shù)量相同)。結(jié)果表明試題導(dǎo)入的效率并不依賴于試題類型。然后分別取出100份包含多媒體試題和不包含多媒體試題的完整試卷,統(tǒng)計(jì)兩類試卷導(dǎo)入的準(zhǔn)確率和時(shí)間。實(shí)驗(yàn)結(jié)果如圖5所示。
圖5 多媒體試卷與純文本試卷導(dǎo)入效率、準(zhǔn)確率對比圖
上述實(shí)驗(yàn)結(jié)果表明基于詞法分析和XML技術(shù)的試題導(dǎo)入方法在處理多媒體試題時(shí)所消耗的時(shí)間與處理純文本試題所消耗的時(shí)間差距不大。
為了更好地分析和對比,本文實(shí)現(xiàn)了基于單詞流、基于純文本的試題導(dǎo)入方法,同時(shí)還記錄了人工試題導(dǎo)入的時(shí)間和出錯(cuò)率。實(shí)驗(yàn)數(shù)據(jù)為100份word文檔的聯(lián)通模擬試卷(不包含多媒體試題)。其中每份試卷共含有40個(gè)題目:10個(gè)單選題,10個(gè)多選題,5個(gè)判斷題,10個(gè)填空題,5個(gè)簡答題。實(shí)驗(yàn)結(jié)果如圖6、圖7所示。
圖6 耗費(fèi)時(shí)間對比圖
圖7 出錯(cuò)率對比圖
通過圖6可以發(fā)現(xiàn)本文提出的多媒體試題導(dǎo)入方法相比于手工的試題導(dǎo)入和基于單詞流的試題導(dǎo)入方法在處理相同數(shù)量的試題時(shí)具有較大的優(yōu)勢,兩者消耗的時(shí)間都比較少。通過對比四種試題導(dǎo)入方法的出錯(cuò)率(見圖7所示),基于純文本試題導(dǎo)入和本文提出的基于詞法分析和XML技術(shù)的試題導(dǎo)入方法出錯(cuò)率明顯低于基于手工的試題導(dǎo)入和基于單詞流的試題導(dǎo)入方法。雖然基于純文本的試題導(dǎo)入方法在時(shí)間消耗和出錯(cuò)率上與本文提出的方法持平,但是本文提出的多媒體試題導(dǎo)入方法在試題的類型上卻有著較大的優(yōu)勢。
此外,本文提出的基于詞法分析和XML技術(shù)的多媒體試題批量導(dǎo)入方法在中國聯(lián)通重慶分公司員工內(nèi)訓(xùn)平臺(tái)中予以了具體實(shí)現(xiàn),從實(shí)際中驗(yàn)證了該方法的可行性和高效性。
4結(jié)語
本文闡述了基于詞法分析和XML技術(shù)的多媒體試題批量導(dǎo)入方法,并通過該方法完成文本格式及其他媒體格式的試題導(dǎo)入工作。在試卷模型的構(gòu)建過程中,采用題為單位的試卷導(dǎo)入思想,規(guī)避了以詞為單位的試題導(dǎo)入帶來的低效率問題,符合實(shí)際的試題導(dǎo)入應(yīng)用要求。試卷解析和分解階段通過對試題的標(biāo)注并結(jié)合JACOB技術(shù)將文本文檔解析成HTML文檔,組裝試題-答案存入數(shù)據(jù)庫。該試題方法目前成功應(yīng)用到聯(lián)通內(nèi)部培訓(xùn)平臺(tái),實(shí)現(xiàn)了高效導(dǎo)入試題、高效重組試題的目標(biāo),得到了聯(lián)通上下員工的認(rèn)可。同時(shí),通過與當(dāng)前的存在的試題導(dǎo)入方法對比也可以發(fā)現(xiàn)本文提出的多媒體試題導(dǎo)入方法在批量處理和效率上有一定的優(yōu)勢。
參考文獻(xiàn)
[1] 李靜梅,冉祥金,姚成浪,等.基于PB與VBA的試題導(dǎo)入方法研究[J].應(yīng)用科技,2006,33(4):51-53.
[2] 王甲,康慕寧.基于詞法、語法分析的試題導(dǎo)入系統(tǒng)的研究[J].微型機(jī)與應(yīng)用,2010,29(4):65-67,70.
[3] 葉繼平,張桂珠.中文分詞詞典結(jié)構(gòu)的研究與改進(jìn)[J].計(jì)算機(jī)工程與應(yīng)用,2012,48(23):139-142.
[4] 劉群,張華平,俞鴻魁,等.基于層疊隱馬模型的漢語詞法分析[J].計(jì)算機(jī)研究與發(fā)展,2004,41(8):1421-1429.
[5] 黃小斌,余悅蒙.一種詞法分析與字標(biāo)注分詞結(jié)合的方法[J].電腦知識(shí)與技術(shù),2012,8(8):1814-1817.
[6]WangX.XMLintheapplicationofnetworktestsystem[C]//ElectricalandControlEngineering:Yichang,2011:937-940.
[7] 吳棟,滕育平.中文信息檢索引擎中的分詞與檢索技術(shù)[J].計(jì)算機(jī)應(yīng)用,2004,24(7):128-131.
[8]LiuL,WangC,BaiL,etal.Studyofontologytechnologyinfieldwordsegmentationsystemofdigitallibrary[C]//Shanghai,China:ComputerSupportedCooperativeWorkinDesign,2010:223-227.
[9]LiuH,WangZ.Post-processingmethodofunknownwordsegmentationbasedonstatisticofwordfrequency[C]//InformationScienceandEngineering,2010:1386-1389.
[10] 潘旭,康慕寧.基于ANTLR的試卷識(shí)別和導(dǎo)入系統(tǒng)的研究[J].電子設(shè)計(jì)工程,2011,19(7):45-49.
[11]LiY,ZhuL,WangX.Designandimplementationofanonlineself-trainingsystemfortheComputerSystemPlatformcourse[C]//Harbin:AdvancedComputationalIntelligence(ICACI),2012:194-197.
[12] 車曉波,閏旭琴,劉曉建.基于JACOB的WORD文檔操作技術(shù)[J].科技創(chuàng)新導(dǎo)報(bào),2013(4):29-30.
[13] 李瑞,李永剛.JAVA中基于JACOB的COM組件調(diào)用研究[J].微計(jì)算機(jī)信息,2007,23(15):168-170.
STUDY ON BATCH MULTIMEDIA QUESTIONS IMPORTING BASED ONLEXICALANALYSISANDXMLTECHNOLOGY
Yu TingFu Yunqing
(College of Software Engineering,Chongqing University,Chongqing 401331,China)
AbstractQuestion importing is a nodus facing by current online education. Traditional online question importing is characterised by low efficiency and high error ratio. At present, some researches on question importing based on lexical and syntax analysis focus on the plain text-oriented questions importing. However, through analysing the item bank of China Unicom internal training platform, it is found that the multimedia questions including pictures and videos appear frequently. In order to address this problem, in the paper we put forward a batch importing method for multimedia questions, it is based on lexical analysis and XML technology. First, the method pre-treatments the paper to get a standard test paper model. Secondly, by questions analysing it gets a test paper in HTML format and disassembles the questions and answers according to HTML tag information. Finally, it stores the “questions-answers” to database in XML format and completes the question importing. This method has been successfully applied to China Unicom internal training platform, which efficiently solves the problem of multimedia questions importing. Compared with existing questions importing methods, this one supports more question types and has higher importing efficiency and accuracy.
KeywordsQuestions importingLexical analysisJACOB
收稿日期:2014-12-31。俞婷,碩士,主研領(lǐng)域:E-Learning,計(jì)算機(jī)網(wǎng)絡(luò)。符云清,教授。
中圖分類號(hào)TP393
文獻(xiàn)標(biāo)識(shí)碼A
DOI:10.3969/j.issn.1000-386x.2016.06.033