葉秀云,劉德正
(大連理工大學軟件學院,大連 116621)
研究生學位論文格式自動檢測系統設計與實現
葉秀云,劉德正
(大連理工大學軟件學院,大連 116621)
研究生學位論文一般采用Word軟件撰寫,對論文格式要求非常嚴格,傳統依靠人工進行格式檢測的方式效率較低。基于OpenXML技術,設計一種學位論文格式自動檢測系統,能夠根據論文模板自動掃描待測論文,找到其中不符合模板要求的格式問題,并生成檢測報告。實驗結果顯示該方法具有較低的誤報率和漏報率,能夠有效工作。
國內高校大量使用微軟公司的Word字處理軟件撰寫學位論文,學位論文有較嚴格的格式要求,人工檢測效率和準確性均較低,因此有必要設計一種學位論文格式自動檢測系統。安徽工業大學的陳國勝、何宗明老師早在 2009年就提出了一種基于 XML技術的Word文檔錄入及格式檢測系統設計方法,該方法通過Word文檔和XML文檔的相互轉換,設計了一個Word文檔錄入和格式檢測模型系統,但是該系統還有不完善的地方,例如需要改進文檔格式檢測機制,進一步實現Excel接口和XSTL轉化接口;東北電力大學的闞運奇老師在2012年提出一種基于VBA的論文檢測方法,該方法需使用VBA技術操作宏,普通用戶難以使用;隋欣、張軍輝在2013年提出了一種基于.NET的文檔信息提取解析方式,該方法僅僅讀取到了文檔內部的文本、標題、目錄和表格信息,但對文檔的樣式信息提取并沒有涉及。
雖然不少學者提出了各種操作文檔的想法,但是目前還沒有一種比較方便有效的系統供人們對大量相同格式要求的論文進行檢測。本文設計開發了一套基于OpenXML格式規范的研究生學位論文格式自動檢測系統,該系統利用自動化方法檢測docx格式論文文檔,可以提高用戶編輯學位論文的效率,減輕教師和學生的負擔。
本方法的系統架構圖如圖1所示,包括單元定位模塊、格式提取模塊、對比模塊三個模塊。

圖1 系統架構圖
單元定位模塊包括封面定位子模塊、獨創性聲明定位子模塊、標題定位子模塊等11個子模塊,功能為分別定位論文的各個特定部位,獲取對應的XML信息。
格式提取模塊包括段落屬性提取子模塊和特殊格式屬性提取子模塊兩個子模塊。段落屬性提取子模塊的功能是提取待測論文每個部分共有的段落屬性,如每個段落的字體、字號、段間距。特殊格式屬性提取子模塊的功能是提取除段落屬性之外的其他格式,如參考文獻樣式提取、圖和表所在章節的標題名稱提取。
對比模塊包括規則配置文件、規則對比子模塊、報告生成子模塊三個部分。規則配置文件的功能是存儲模板論文規定的規則,是檢測待測論文正確與否的標準。規則對比子模塊的功能是將待測論文的格式特征與規則配置文件配置的規則進行對比,判斷格式的正誤。報告生成子模塊的功能是獲取規則對比子模塊中檢測到的錯誤信息并寫入檢測報告中。
由于本系統處理的是論文各個部分的格式,如何準確地定位各部分以及如何精準地切割就顯得至關重要。以下列出論文中幾個關鍵部分的定位算法。

元素和封裝圖的
元素;最后定位正文結束部分,尋找正文結束后出現的第一個沒有編號的標題,以此為正文部分的結束定位標志。

元素,判斷其中是否包含 元素重復第一步,直到文檔最后停止遍歷;在< body>元素中尋找保存最后一節屬性的 是否為空段落,空段落體現為一個空行,非空段落作為表名處理。如在該前一個位置沒有找到表名,則再向前回溯一個位置繼續進行判斷。如超過3步回溯仍未找到表名,認為表名缺失或表名的格式有誤。 格式提取模塊的功能為獲取論文各特定部分的格式。格式提取模塊包括段落屬性提取子模塊和特殊格式屬性提取子模塊。 中,在表1中給出了段落中常見的元素及其說明。 表1 常見的段落元素和C#類說明 (1)字體 元素,由rFonts元素按照樣式的層次結構依次提取字體樣式,獲取到中英文的字體;檢測段落是否為全英文、全中文,或者既有中文又有英文,若是全英文,舍棄提取到的中文字體樣式,不能用于對比模塊;若是全中文,舍棄提取到的英文字體樣式,不能用于對比模塊;若既有中文又有英文,提取到的中文英文字體樣式全部保存。 (2)字號 首先按照樣式的層次結構獲取 (3)段前距離 段前距離信息從 特殊格式提取子模塊用于處理除段落屬性之外的其他格式提取問題,包括參考文獻樣式提取、圖和表所在章節的標題名稱提取等,這些格式要求在OpenXML中并沒有明確的元素對應,需采用特殊方式提取。 (1)參考文獻格式提取 首先利用正則表達式匹配參考文獻的標志代碼,根據標志代碼確定參考文獻的類型;若無法匹配,說明此條參考文獻缺少標志代碼,保存錯誤信息后,繼續下一條參考文獻格式的提取;若匹配成功,接著以中括號為分割點把該條參考文獻分割成幾部分,檢測作者、出版社、出版年份等格式是否滿足要求;接下來獲取參考文獻的編號樣式,判斷參考文獻的編號是否連續,若不連續,保存錯誤信息,若連續,進入下一步;最后統計參考文獻條目的數目,保存起來用于對比模塊。 檢測參考文獻連續性的方法如下:首先記錄并維護參考文獻的正確編號值,即編號應為從1開始的連續自然數,每次檢測到新的參考文獻條目后此值加1;接著判斷此參考文獻是手動編號還是自動編號,若是手動編號,利用正則表達式獲取編號,然后判斷是否和正確編號值相同,若是自動編號只需檢測自動編號開始的參考文獻編號是否和正確編號值相同。 (2)圖和表所在章節的標題名稱提取 首先用鏈表保存章節標題所在的段落的位置信息,即索引值;然后獲取圖、表的索引,用圖、表的索引值和鏈表中的各個值依次比較,直到鏈表中的值大于此值為止,則鏈表中的前一個數值就是該圖、表所在章節標題的位置;最后根據此索引即可得到標題名稱。 對比模塊的功能是將格式提取模塊提取出的待測論文中的格式特征與論文模板中的規則進行對比,將對比結果不一致格式問題輸出到檢測報告中。該模塊分為規則配置文件、規則對比子模塊、報告生成子模塊三個部分。 規則配置文件包含了模板論文規定的規則,是檢測待測論文正確與否的標準。在調用規則配置文件時,首先由單元定位模塊確定當前檢測的位置在論文中所屬的部分,然后檢測該部分是否已存在XML格式的配置文件,若存在,則進入規則對比子模塊;若不存在,則說明當前部分沒有設置格式要求,結束當前部分的檢測。 首先獲取單元定位模塊的結果,判斷當前要檢測的段落是待測論文的哪一部分,在規則配置文件中找到模板論文相應的規則,將格式提取模塊提取到的該部分的格式信息與相應的規則配置文件中的規則進行對比,若該格式特征與規則配置文件中的規則一致,則說明該格式正確;反之將錯誤信息交由報告生成子模塊處理。 首先獲取生成報告的保存路徑,若用戶未自定義,默認路徑設置為該待測論文的上傳路徑;接著獲取在規則配置文件中保存的所有待檢測的特定部分的節點信息,依次遍歷每個節點;獲取節點中保存的該節點對應的名稱,從而找到對應的錯誤信息的保存位置;將尋找到的錯誤信息編號后保存到檢測報告中,最終生成一份檢測報告。 在編程結束后,共進行了開發人員測試和用戶測試兩方面測試,下面是兩種測試環境下的具體分析。 為了實現快速檢測大批量、相同格式要求論文的目的,檢測單篇論文的程序被進行了批處理,在批處理程序中選擇需要檢測的部分,包括封面、獨創性聲明、標題、摘要、目錄、正文、頁眉頁腳、表格、圖形、參考文獻、授權書等十一個部分。在.NET及Java環境下,對包含46篇論文的論文集檢測結果如下:46篇論文全部檢測成功,共用時33秒,平均0.717秒一篇。 本系統于2016年6月1日正式上線,在2016年6月本科生畢業期間共收到來自全校的500余篇論文的上傳,其中不同的論文317篇,剩余的200余次上傳為同一用戶在修改論文的過程中不斷地使用本系統進行檢測與修正,最終修正為格式無誤的論文。在2016年9月研究生畢業期間,共收到來自23名用戶的50余篇不同的研究生論文。 學位論文格式自動檢測系統可以根據論文模板,自動對待測論文進行格式檢測,具有自動化程度高、檢測速度快、檢測準確率高等優點,可大幅降低畢業生和指導教師的工作量,提高工作效率。下一步工作可重點考慮在線配置檢測規則,以提高本系統對不同學校論文模板的適用性。 [1]陳國勝,何宗明.基于XML技術的Word文檔錄入及格式檢測系統設計[J].計算機時代,2009(4):38-40. [2]闞運奇.畢業論文格式檢測系統的設計與研究[J].無線互聯科技,2012(11):17-17. [3]隋欣,張軍輝.基于.NET的Word的文檔信息讀取解析[J].計算機光盤軟件與應用,2013(24):87-88. [4]葉明,張諍.基于C#.NET的Word報告生成功能開發[J].計算機工程與應用,2008,44(9):104-106. [5]徐東風,彭紅星,廖俊杰.基于 Java的文檔格式檢查技術的研究及其應用[J].計算機工程與設計,2010,31(19):4309-4315 [6]周益蘭.TMLC在研究生學位論文檢測中的應用研究[J].研究生教育研究,2012,02:71-74. [7]趙常麗,楊磊.基于學位論文管理系統的本科生學位論文檢測方法研究[J].青海大學學報(自然科學版),2014,01:85-89. Design and Im p lementation of Automatic Detection System of Graduation Thesis Format YE Xiu-yun,LIU De-zheng Graduate degree thesis is generally written in Word software,and the format requirements of the thesis are very strict.Based on the OpenXML technology,designs an automatic detection system of degree thesis,which can automatically scan the papers to be tested ac鄄cording to the template,and find the formats that do notmeet the requirements of the template,and generate the test report.The experi鄄mental results show that thismethod has low false positive rate and false negative rate,and can work effectively. 國家級大學生創新創業項目(No.2016101410302) 葉秀云(1996-),女,安徽阜陽人,在讀本科,研究方向為算法設計與分析 2017-02-28 2017-04-20 1007-1423(2017)13-0051-04 10.3969/j.issn.1007-1423.2017.13.012 學位論文;格式檢測;OpenXML 劉德正(1996-),男,河北滄州人,在讀本科,研究方向為算法設計與分析 Degree Thesis;Format Detection;OpenXML
3 格式提取模塊



4 對比模塊



5 實驗及分析


6 結語
(School of Software,Dalian University of Technology,Dalian 116621)