張繼琛

摘 要:pdf、word、txt等類型文檔在學習和辦公中的使用越來普遍,為了方便對這些文檔進行統一歸類、整理等必要的處理,在處理文檔的時候,那么就需要把文檔轉換成統一的格式進行處理,這就涉及到各種類型文檔的相互轉換。還需要提取關鍵詞等功能來幫助用戶對文檔分類或了解文檔的大概內容。
本文會講解在多種類型文檔進行數據處理時所采用的關鍵詞抽取的相關技術和數據格式轉換技術的調研和使用。擬用C/S結構開發,采用JAVA作為開發工具,在Eclipse環境下,實現對多種類型文檔進行數據處理的模擬。
關鍵詞:格式轉換;關鍵詞抽取
1 設計方案
1.1文檔格式轉換方案
因各類文檔的轉換方法類似,而word文檔轉換為pdf文檔是最常用的。所以設計方案用實現word文檔轉換為pdf文檔的作為例子,詳細方案如下。
方案1:
首先利用程序直接打開Word文檔,從原文檔中獲取文字和圖像的內容以及它們的相關屬性(因word文檔對文字和圖像的屬性設置過多,只能獲取部分關鍵屬性),再直接生成PDF文檔并按照Word文檔的對應屬性把對應的文字內容和圖像內容分別輸入到相應的位置上,最后關閉文件。
但是,因為需要從文檔中直接獲取其中的內容和對應屬性,如果要采用此方案,就必須精通Word以及PDF的文檔的結構。但是Word和PDF的文檔的結構非常復雜(單單文檔的規則就有幾千條,時間會浪費在閱讀和使用規則上)。這就意味著,在讀取Word文檔的時候不但要獲取Word文檔的文本內容,而且還要獲取到對應的字體格式、顏色、背景圖像以及表格的位置等等。又因為微軟的office軟件和Adobe Acrobat Professional都不是開源軟件,沒有它們的源代碼,就很難保證在定義Word和PDF文檔對應屬性、設置文檔格式時不會遇到非開源的部分。綜上所述,此方案體實現困難。
方案2:
對于方案1中存在的問題,微軟公司和第三方公司提供了操作Word、Excel和PDF的類庫、接口和組件,這就有了解決方案。第二種方案就是先制作一個中間件,即將word文檔先轉換成Ps文檔,然后再把Ps文檔轉換成PDF文檔。最終編寫圖形界面,上傳文檔并利用代碼使用這個中間件完成文檔轉換。
方案3:
為了提高多種類型文檔的數據處理的穩定性和安全性,本方案對方案2進行修改,取消使用件。方案2調用提供的相應組件和類庫的使用是在中間件中實現的,每當對中間件打包處理時,只能把中間件打包,而對于其中所調用的組件和類庫等無法打包,若用方案2開發模擬數據處理的模擬程序必受到軟件環境的制約。所以方案3放棄使用中間件,采用PDFBOX、POI類庫。考慮到需轉換的文檔具有很多的規范,且不易直接操作的特點,同時為了數據處理模擬程序的通用性,因此決定使用方案3進行模擬。
1.2關鍵詞抽取方案
在文檔被統一的轉換為同一類文檔后,接下來就需要對文檔進行關鍵詞抽取。
1.利用ANSJ中文分詞對轉換后文檔進行處理,將文檔中所有詞匯和詞性放入數組中存儲。
2.統計特征值。創建一個哈希表。里面需要有詞匯所在位置(標題,摘要,正文,句首,句尾)和出現總次數等等。
3.從正文的開始處,若開頭不是虛詞也不是符號,若相連的兩個詞都不是,計算這兩個詞連續出現的次數。如果計算的次數大于設定的閾值,就把這兩個詞或者合并到一起并修正詞性為new(表示為名詞),再從這個重新組成的詞作為開始,循環以上操作;若相連兩個詞的出現的次數小于設定的閾值,或有虛詞、符號,則跳過。然后尋找下一個不是虛詞或者符號的實詞。直至正文內容的結尾。
4.根據修改的數組重新遍歷。重新整理哈希表的信息。修改原來的新詞匯new和里面的特征值。
以上步驟能夠重新切分出一些新詞。這些新詞可以作為關鍵詞提取的一個特征值,它們會起很大的作用。
2 程序模擬
按照方案3進行程序模擬的結果如下圖所示:
參考文獻
[1] 田學軍.PDF文件格式及其轉化方法探討[J],荊門職業技術學院學報,2005,(3):5-31.
[2] 鄭家恒,盧嬌麗,關鍵詞抽取方法的研究[J].計算機工程,2005,18(9):194-196.
[3] 宋艷娟,李金銘,陳振標.基于XSLT的PDF信息抽取技術的研究[J].計算機與數字工程,2008,36(5):156-159.