時 華,陸新民(中國科技出版?zhèn)髅焦煞萦邢薰?,北?00717)
基于MS Word字處理軟件的內(nèi)容結(jié)構(gòu)化標引和拆分技術(shù)研究
時華,陸新民
(中國科技出版?zhèn)髅焦煞萦邢薰荆本?00717)
介紹ConSIS系統(tǒng)中提出的針對.docx格式文稿的內(nèi)容進行結(jié)構(gòu)化標引與拆分中涉及到的3種技術(shù):對內(nèi)容結(jié)構(gòu)進行自動標引的方法,將公式對象轉(zhuǎn)換為標準MathML代碼的方法,進行語義標引的方法,并且通過ConSIS系統(tǒng)的實現(xiàn)驗證這些技術(shù)的有效性。
字處理軟件;內(nèi)容結(jié)構(gòu)化;結(jié)構(gòu)化標引;公式轉(zhuǎn)換;MathML;語義標引
隨著新媒體技術(shù)的不斷涌現(xiàn)和用戶的消費特征、閱讀行為習慣等方面的不斷變化,使得可選擇的出版內(nèi)容的呈現(xiàn)方式、傳播方式或服務(wù)的形態(tài)和商業(yè)模式成幾何倍數(shù)增長。如何適應(yīng)這種發(fā)展和變革,對出版內(nèi)容進行有意義的碎片化處理和重組一直是數(shù)字出版領(lǐng)域的重要研究方向。
內(nèi)容的碎片化是將非結(jié)構(gòu)化或半結(jié)構(gòu)化內(nèi)容進行結(jié)構(gòu)化處理,并從內(nèi)容復(fù)用角度進行拆分的過程。如何從技術(shù)層面實現(xiàn)這一過程,國外著名的數(shù)字出版內(nèi)容和技術(shù)服務(wù)商,如愛思唯爾、斯普林格,早在20世紀90年代初開始就做了大量的技術(shù)研究,開發(fā)了各種基于XML的內(nèi)容結(jié)構(gòu)化標引與拆分工具。國內(nèi)的一些具有前瞻性的企業(yè),如萬方數(shù)據(jù)、同方知網(wǎng)、高等教育出版社、方正電子等也都在這方面做了有力的嘗試。
目前大多數(shù)的內(nèi)容結(jié)構(gòu)化標引與拆分工具都建立在XML編輯器的基礎(chǔ)之上,在結(jié)構(gòu)化方面需要較多的人工干預(yù),一般依附于內(nèi)容編撰平臺,以在線方式開展工作,這就使得內(nèi)容碎片化存在一定的問題。
一是由于內(nèi)容在創(chuàng)作時沒有按照規(guī)范要求進行編排,導致出版單位需要在作品的加工環(huán)節(jié)投入大量的人力進行諸如電子目錄制作、公式表格的重新繪制等工作。
二是由專門的加工編輯人員對內(nèi)容進行細粒度加工,例如CNKI的知網(wǎng)節(jié)、萬方的五要素等,在碎片化方面達到了一定效果,但是離開了作者和專家的參與,這種形式的碎片化和標引標注的質(zhì)量都會受到質(zhì)疑。因為作者對于作品的本意是最清楚的,而編輯的重點在于作品的規(guī)范和質(zhì)量控制,同行評議的專家對于內(nèi)容的學術(shù)水平是最清楚的,重復(fù)性的加工利用工業(yè)化的加工的成本是最低的。所以,對于作品的碎片化和標引標注工作應(yīng)該從作品的創(chuàng)作階段就開始進行,只有四種角色都參與進來才能保證內(nèi)容碎片化和標引標注的質(zhì)量,才使得加工成果有復(fù)用的價值。
三是現(xiàn)有的內(nèi)容結(jié)構(gòu)化標引與拆分工具沒有在軟件的可用性和易用性角度進行設(shè)計,往往忽略使用者的客觀限制和使用習慣:作者、編輯、專家使用最多的軟件是字處理軟件,對于其中的界面最為習慣,而對于基于XML編輯器的在線標引工具所提供的交互界面相對陌生,要想靈活掌握需要花費一定的時間成本;在線標引工具要求使用者必須在聯(lián)通因特網(wǎng)的網(wǎng)絡(luò)環(huán)境下工作,在使用場所上受到很大的限制;在線標引工具的界面功能相對薄弱,使用者在標引的同時往往會伴隨著內(nèi)容的修改和調(diào)整,單一的標引功能使得用戶要想對內(nèi)容和版式做調(diào)整的話,需要用戶不斷在幾個工作平臺上進行切換,效率低下,很容易出錯。
因此,研究能夠智能生成文檔內(nèi)容結(jié)構(gòu),適合于多種角色習慣的基于常用字處理軟件的內(nèi)容結(jié)構(gòu)標引標注技術(shù),無論在理論上還是在應(yīng)用中都具有重要意義。
結(jié)合科技部科技支撐計劃項目專項“科技文獻采編、生產(chǎn)環(huán)節(jié)動態(tài)出版關(guān)鍵技術(shù)研發(fā)與應(yīng)用示范”課題的研究工作,本文介紹了由中國科技出版?zhèn)髅焦煞萦邢薰狙兄频恼n題原型系統(tǒng)ConSIS(內(nèi)容結(jié)構(gòu)化標引與拆分系統(tǒng)的簡稱)中提出的針對采編環(huán)節(jié)中的.docx格式文稿進行的文檔結(jié)構(gòu)智能生成、自動化標引的機制,相關(guān)的關(guān)鍵實現(xiàn)技術(shù)和總體設(shè)計方法。
結(jié)構(gòu)化標引涉及到對文檔結(jié)構(gòu)、文檔內(nèi)容對象的標引,以及語義標引,具體研究內(nèi)容包括以下。
1.1對文檔內(nèi)容結(jié)構(gòu)的識別與自動彪引技術(shù)的研究
從內(nèi)容復(fù)用的角度來看,一本圖書可被拆分成目錄、前言、序言、篇章節(jié)、段落、注釋、公式、插圖、表、后記/跋、參考文獻、附錄/索引等內(nèi)容單元。這些內(nèi)容單元與Word對象模型中的對象并不是一一對應(yīng)的。
1.2對公司、圖、表等特殊文檔內(nèi)容對象的識別與自動轉(zhuǎn)換技術(shù)研究
由于作者在作品創(chuàng)作時使用的公式、圖、表編輯工具各種各樣,造成在文檔中會有各種OLE對象。當脫離終端環(huán)境后,在新的環(huán)境中如果沒有安裝相應(yīng)的編輯處理程序,那么將無法編輯這些文檔內(nèi)容對象。
目前大部分標引工具無法解決此類問題,它們普遍采取的是保存圖片的方式。而這種方式使得重用性大大降低,如:公式轉(zhuǎn)換成一定精度圖片后,就不能滿足再編輯、同時滿足印刷(精度太?。?、不同終端展示(精度太高)的需求。
MathType是現(xiàn)在最流行的公式錄入器,它可以和Word很好地結(jié)合,非常快捷方便地在Word中輸入公式。
在Word文檔中,用MathType編輯的公式都是Inlinshape對象。為了規(guī)范化存儲,一般可以考慮轉(zhuǎn)化為圖片,不想損失原格式,就必須用OLE對象轉(zhuǎn)化為二進制流。
1.3對手動標引技術(shù)研究
對文檔內(nèi)容的語義標引,必須使用工具進行手動標引。標引內(nèi)容的存放位置是一個問題,目前大多數(shù)工具的做法是將其單獨存放到數(shù)據(jù)庫或文檔之外的XML文件中,也有部分程序采用的是在文檔正文中使用可隱藏的標引符號的方式將標引標注的內(nèi)容插入到被標引的正文中的方式。存儲到數(shù)據(jù)庫或XML文件中的方式,一般是文稿被提交到數(shù)字內(nèi)容管理系統(tǒng)后,由編輯人員通過在線標引工具實現(xiàn)的。這種方式要讓作者采用是非常困難的;插入到正文的方式破壞了原文的內(nèi)容體系結(jié)構(gòu),增加了自動標引的復(fù)雜度,不利于針對正文內(nèi)容的全文索引庫的建立。
ConSIS系統(tǒng)是中國科技出版?zhèn)髅焦煞萦邢薰舅袚目萍疾靠萍贾斡媱濏椖繉m棥翱萍嘉墨I采編、生產(chǎn)環(huán)節(jié)動態(tài)出版關(guān)鍵技術(shù)研發(fā)與應(yīng)用示范”課題的原型系統(tǒng)之一。本文給出了ConSIS系統(tǒng)在.docx格式文稿結(jié)構(gòu)化標引、拆分方面所設(shè)計實現(xiàn)的新機制。它在一定程度上解決了目前大多數(shù)標引工具的問題。
對文檔結(jié)構(gòu)的識別,系統(tǒng)的做法是基于Word對象模型(Word Object Model)逐一分析Word對象中元素的樣式,通過預(yù)先定義的具有語義特征的樣式分析出整個文檔的結(jié)構(gòu)及其中各類特征元素。
如果文檔的結(jié)構(gòu)性能比較好,創(chuàng)建出合格的目錄就會變得非常快速簡便。Word一般是利用標題或者大綱級別來創(chuàng)建目錄的,這對那些用Word寫書、寫論文的朋友很有幫助。因此,在創(chuàng)建目錄之前,應(yīng)確保希望出現(xiàn)在目錄中的標題應(yīng)用了內(nèi)置的標題樣式(如,標題1到標題9),也可以應(yīng)用包含大綱級別的樣式或者自定義的樣式。
文檔拆分的過程是由程序來完成的。程序會逐一分析Word對象中元素的樣式,通過預(yù)先定義的具有語義特征的樣式分析出整個文檔的結(jié)構(gòu)及其中各類特征元素,最后抽取出對應(yīng)的內(nèi)容形成相對獨立的內(nèi)容單元。
2.2將Word 中德公式轉(zhuǎn)換為標準Matgnl 代碼方法
這里所指的Word文稿中的公式包括由Word自帶的公式編輯器生成的公式和MathType程序生成的公式。
通過對Word文檔進行研究發(fā)現(xiàn),從Word界面插入的公式是基于OMath XML(Office Open XML的一部分,在Office 2007中被作為一種新的文檔格式介紹)的。
因此,在程序中可以這樣從打開的Word文檔中得到公式的OMath XML:
String str=ActiveDocument.OMaths(1).Range.WordOpenXML;
它將被嵌入用來定義一個Word文檔的OPC平面文件OOXML中。但是很容易從中提取出它。
當然,OMath XML和MathML是不同的,但這并不會影響到將OMML公式轉(zhuǎn)化為MathML公式。
可以調(diào)用MathType Convert Equations命令將OMML公式直接轉(zhuǎn)換成MathML。
對于由MathType生成的公式,在Word中是以O(shè)LE對象的方式存儲的。通過設(shè)置MathType工具的“剪切和復(fù)制首選項”,就可以輕松的復(fù)制獲得一個公式的MathML代碼,如圖1所示:
圖1
那么,如何讓已經(jīng)插入到Word文稿中的公式由程序自動完成MathML代碼轉(zhuǎn)換呢?
一種解決思路是:
首先利用VBA編程實現(xiàn)將Word中的MathType公式對象向MathML代碼轉(zhuǎn)換。
如:
轉(zhuǎn)化成XML片段為:
feaagKart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLw-BLn
hiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr
4rNCHbGeaGqiVu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq= Jc9
vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr= xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcba WaaOaaaeaaca
WGIbWaaWbaaSqabeaacaaIYaaaaOGaeyOeI0IaaGinaiaadggacaWGJbaaleqaaOWaaSaaaeaacqGHsislcaWGIbGaeyySae7aa
Oaaaeaaca
WGIbWaaWbaaSqabeaacaaIYaaaaOGaeyOeI0IaaGinaiaadggacaWG
JbaaleqaaaGcbaGaaGOmaiaadggaaaaaaa@465A@
〈/annotation>
〈/semantics>
〈/math>
然后使用字符串匹配的方式提取出公式的源代碼。
使用Apache的POI開源項目提供的HWPF接口可以把Word中的presentation源碼提取。
更簡單的解決方法是使用MathType SDK:
MathType已經(jīng)提供了很多免費的軟件開發(fā)套件(MathType Software Development Kit,簡稱MathType SDK),在MathType SDK中有專用來做此事的hooks。
2.3實現(xiàn)手動標引的方法
系統(tǒng)為用戶提供了一種對文檔中的圖表、表格、公式、知識點等內(nèi)容進行語法標引的方法。
(1)根據(jù)模板文件(Xsd格式)中的規(guī)則,生成標引標注命令,為文檔編輯者提供標引標注界面。
在Word初始化時,解析指定目錄下的Xsd文件,取得所有根節(jié)點元素,使用Word自定義工具欄功能在工具欄上生成節(jié)點的操作按鈕。
當單擊相應(yīng)的按鈕時,程序繼續(xù)解析該節(jié)點的類型定義,讀取該類型定義將下的一級節(jié)點,寫入新建的窗體中。如果該節(jié)點為基本類型,則根據(jù)基本類型的對應(yīng)顯示控件類型在窗體上繪制出該控件;如果該節(jié)點為基本類型之外的類型,如,復(fù)雜類型,則在窗體上繪制出該類型所對應(yīng)的一個按鈕。
點擊按鈕時,程序循環(huán)執(zhí)行上述操作。
(2)保存文檔編輯者標引標注的內(nèi)容到自定義的XML文件中,該XML存于文檔的.docx文檔容器中。
作為存儲方式,XML具有良好的規(guī)范性和可擴展性,可以滿足版式信息的需求。但是XML除了要滿足XML的語法規(guī)則外,還必須遵循某些額外定義的語意才行,這些語意就是告訴程序需要標引哪些元素,每個元素的接收內(nèi)容、類型,是否必須,以及元素之間的關(guān)系等。
標引功能需要利用XML處理器,根據(jù)XML規(guī)范中所定義的完構(gòu)性和有效性來查核標引標注文件的內(nèi)容,一旦發(fā)現(xiàn)不合規(guī)定的文件便會拒絕處理并告知標引者,這對于保證標引內(nèi)容的正確性、規(guī)范性是非常必要的。
在.docx文檔容器內(nèi)部,生成自定義XML,用于存儲用戶通過標引標注窗口輸入的標引標注數(shù)據(jù)。
自定義XML數(shù)據(jù)也是單獨的存儲在.docx文檔容器當中的。
每個項都存儲為包中的一個單獨的部件,這個數(shù)據(jù)放在一個叫做customXML的目錄中,它位于包的根目錄下。模塊通過將一個新的部件添加到文檔的customXMLParts集合,將一個XML文件附加到一個文檔當中,然后默認地XML數(shù)據(jù)被存儲在一個叫做/customXml/item1.xml的文件當中。
通過使用XMLMapping和XPath表達式,將XML部件的特定元素映射到一個內(nèi)容控制。當需要修改自定義XML時,只需要查找保存自定義XML的部件,然后只修改這些文件的內(nèi)容。
存儲后的結(jié)構(gòu)如圖2所示:
圖2
(3)提供右鍵查看標引標注內(nèi)容的功能,并允許修改。
取得當前坐標值,遍歷自定義XML文件,獲得所有包含該坐標值的標引標注項,生成Ribbon界面,顯示標引標注項目與數(shù)據(jù)。
基于字處理軟件的標引標注工具解決了在線標引工具使用環(huán)境受限及多數(shù)標引工具與用戶的使用習慣不一致的問題,實現(xiàn)了在字處理軟件上完成內(nèi)容結(jié)構(gòu)化創(chuàng)作和編輯工作的目的。
工具對文稿的結(jié)構(gòu)化構(gòu)建,減少了編輯的工作量,提高了質(zhì)量和效率。但,受到文稿自身結(jié)構(gòu)規(guī)范化程度影響,目前的技術(shù)人工參與的痕跡還很多,還無法完全實現(xiàn)智能的結(jié)構(gòu)化和標注。
隨著國產(chǎn)字處理軟件(如金山WPS軟件等)品質(zhì)和創(chuàng)新能力的不斷提升,市場份額逐漸擴大。今后要針對國產(chǎn)字處理軟件開發(fā)出相應(yīng)的系統(tǒng),不斷完善與改進ConSIS系統(tǒng)。
[1]孫艷玲,劉化冰,王海虹,等.深度加工標引的中國藥物專利數(shù)據(jù)庫[J].中國醫(yī)藥導刊,2008,10(1):22~26
[2]吳倩,李寧,方春燕.“標文通”與OOXML文字處理文檔格式的比較與轉(zhuǎn)換[J].計算機應(yīng)用研究,2009,26(2):591~594
[3]Ausbrooks R,Buswell S,Carlisle D,et al.Mathematical Markup Language(MathML)Version 2.0.W3C Recommendation[J].World Wide Web Consortium,2003,2003
[4]劉東閣.基于MathML的公式檢索系統(tǒng)的設(shè)計與實現(xiàn)[D].東北大學,2009
[5]傅立云,劉新.基于XML技術(shù)的多媒體資料標引系統(tǒng)[J].圖書館,2010(2):111-113,2010(2):111~113
[6]McGrath K,Stubbs P,李永倫.VSTO開發(fā)者指南[M].機械工業(yè)出版社,2009
Research on the Content Structuring Indexing and Split Techniques Based on Word Processor in MS Word
SHI Hua ,LU Xin-min
(China Science Publishing&Media Ltd.,Beijing 100717)
Proposes three technologies that involved in content structural indexing and splitting of.docx document in CoSIS system:indexing content structure automatically;transforming formula object to standard MathML code;semantic indexing over.docx document.The experimental results conducts on CoSIS reveal that these technologies work well in practice.
Word Processor;Content Structuring;Structured Indexing;Conversion Formula;MathML;Semantic Indexing
國家科技支撐項目(No.2012BAH90F00)
1007-1423(2015)11-0038-05
10.3969/j.issn.1007-1423.2015.11.007
時華(1981-),男,河北高碑人,本科,高工,研究方向為項目管理、數(shù)字出版
陸新民(1971-),男,河北人,碩士研究生,副編審,研究方向為出版、計算機應(yīng)用技術(shù)
2015-03-03
2015-03-25