【正文】
章結(jié)構(gòu)特性的文件允許我們擷取到更細(xì)部的結(jié)構(gòu)資料,而不僅僅只能擷取到文件所呈現(xiàn)的文字內(nèi)容 (Content)。在 [5] 這篇論文中,使用了識(shí)別碼 (UIDUnique element Identifier) 和kary tree來(lái)減少建置索引時(shí)所必須佔(zhàn)用的儲(chǔ)存空間。SCL 利用每個(gè)元素與內(nèi)容出現(xiàn)的位置來(lái)做為其識(shí)別碼,不但簡(jiǎn)單也提供了夠充分的檢索層次給使用者。並提供單一的介面讓使用者只需要在VUCS上面做檢索便可獲得多個(gè)不同數(shù)位圖書(shū)館的館藏資料,而且個(gè)別的數(shù)位圖書(shū)館只需要提供其架構(gòu)在 WWW 上的資訊查詢系統(tǒng)即可,不需要開(kāi)放資料庫(kù)權(quán)限。此類文件通常是由網(wǎng)頁(yè)應(yīng)用程式所自動(dòng)產(chǎn)生出來(lái)的,因此只要可以正確地分析出其共同結(jié)構(gòu),就可以快速地?cái)X取使用者感興趣的資料。2. 虛擬聯(lián)合目錄系統(tǒng)虛擬聯(lián)合目錄系統(tǒng)係指將多個(gè)分散式的圖書(shū)資訊館藏查詢系統(tǒng)整合成單一的檢索系統(tǒng) [2],其目的在讓使用者可以很方便地透過(guò)單一檢索介面取得各個(gè)不同數(shù)位圖書(shū)館的館藏資料。對(duì)於圖書(shū)資訊館藏查詢系統(tǒng)發(fā)展者而言,透過(guò)此系統(tǒng)可以使得將來(lái)各校圖書(shū)資訊館藏查詢系統(tǒng)在開(kāi)發(fā)時(shí),有一簡(jiǎn)單且規(guī)範(fàn)明確的標(biāo)準(zhǔn)可以依循。本系統(tǒng)將透過(guò)各校原有的WebPAC查詢系統(tǒng),利用XML的技術(shù)來(lái)解譯各校 WebPAC的資訊,查詢所需的館藏資料。圖表一所描述的就是本系統(tǒng)的架構(gòu)示意圖,接下來(lái)我們就將本系統(tǒng)分成以下三個(gè)部分來(lái)討論。介紹完整個(gè) VUCS 的各部分功能後,我們將整個(gè) VUCS 的運(yùn)作流程整理如圖表二所示,黑色方框內(nèi)所描述的就是本論文欲達(dá)到的主要的目。3. 擁有共同結(jié)構(gòu)之網(wǎng)頁(yè)文件資料萃取一個(gè)虛擬聯(lián)合目錄系統(tǒng)必須要能從各個(gè)不同圖書(shū)資訊館藏查詢系統(tǒng)中萃取資料,但由於並不是所有的圖書(shū)資訊館藏查詢系統(tǒng)都允許直接存取其底層的資料庫(kù),為了讓虛擬聯(lián)合目錄系統(tǒng)的功能更加完善,我們發(fā)展了 Extractor 這個(gè)系統(tǒng)來(lái)分析網(wǎng)頁(yè)的文件結(jié)構(gòu)並做資料萃取,其中 LevelID 方法便是其核心的演算法,其目的在於分析文件結(jié)構(gòu),系統(tǒng)架構(gòu)如圖表三所示,本文設(shè)計(jì)並實(shí)作了一個(gè)從含有共同結(jié)構(gòu)之網(wǎng)頁(yè)文件作資料萃取的系統(tǒng)如下。在介紹系統(tǒng)的運(yùn)作流程之前,我們先說(shuō)明本文所提出的 LevelID 方法。定義一、階層性質(zhì) (Level Property (LP)) 節(jié)點(diǎn) A 和節(jié)點(diǎn) B 是階層式架構(gòu)中的兩個(gè)節(jié)點(diǎn),階層性質(zhì)在 A 是 B 的祖先 (Ancestor) 且文件中 A 的內(nèi)容 (Content) 中包含了 B 時(shí)成立,此時(shí), A 和 B 具有階層性質(zhì)的關(guān)係。輔助表格編號(hào)上層元素下層元素1HTMLHeadBody2FramesetFrame3BodyTableOlUlDirBrPHr4TableTr5TrTd6TdTableOlUlDirBrP7OlUlDirLi8LiTableOlUlDirBrP9HrTableOlUlDirBrP圖表五、輔助表格0 LevelID_Assignment_Algorithm (in HTML D, out Level_ID ){1 Var Structure_Hierarchy C。8 Increment(tag) 。在分析一結(jié)構(gòu)化文件時(shí),若文件中的一上層元素接下來(lái)所出現(xiàn)的元素屬於下層元素時(shí),即代表在此結(jié)構(gòu)化文件存在一個(gè)正向的階層性質(zhì)(Positive Level Property)。此時(shí)將LevelID加一代表屬於同一個(gè)階層。這種情形在 HTML 文件中尤其常見(jiàn),因?yàn)?HTML 文件對(duì)整個(gè)標(biāo)籤結(jié)構(gòu)並沒(méi)有很嚴(yán)格地規(guī)定,即使網(wǎng)頁(yè)撰寫者編寫了不正確的文件,使用者仍然可以從瀏覽器上看到正確的結(jié)果。配置 Level ID (Level ID Assignment)經(jīng)過(guò) TIDY 格式化之後的文件還必須經(jīng)過(guò)配置 Level ID 的動(dòng)作才可以做分析的動(dòng)作。從圖表七中可以很清楚地看到,文件的序號(hào)、刊名、ISSN以及出版項(xiàng)欄位被分析出來(lái),而其包含的資料也被分析出來(lái)並按照欄位順序排列,這些事先的分析讓後續(xù)資料萃取的工作更形容易。以此例而言,索引值 30101 到 30104 都是使用者所欲萃取的資料欄位,使用者可在欄位名中標(biāo)記萃取資料後欲命名的欄位名稱。 資料萃取階段 (Information Extraction)1 Information_Extraction_Algorithm (in HTML D, in Label_File L, out Information_File F){2 For each LevelID in D {3 For Iteration Level of each marked tag in L {4 IF (Parent(LevelID) and Iteration Level are the same)5 Mark information by label name in L and save the information to F 6 }7 }8 End9 }圖表十、資料擷取的演算法在訓(xùn)練步驟後,我們就可以參照已儲(chǔ)存之結(jié)構(gòu)標(biāo)記檔來(lái)和讀入的文件作比對(duì)分析真正把資料從文件中萃取出來(lái)。利用共同架構(gòu)文件中的階層性質(zhì)以及平行性質(zhì),參考輔助表格的內(nèi)容,配置元素所屬的Level ID。從網(wǎng)頁(yè)中含有共同結(jié)構(gòu)的文件萃取資料對(duì)很多數(shù)位圖書(shū)館及網(wǎng)頁(yè)應(yīng)用程式都是非常有用的。當(dāng)然也可以將其他結(jié)構(gòu)化文件如XML及 SGML 用在本文所提出的方法上,只需要改變 LevelID 演算法中的輔助表格內(nèi)容,將之修改成和該結(jié)構(gòu)化文件的標(biāo)籤語(yǔ)言相符合,LevelID 的方法就可以正確地分析出文件的結(jié)構(gòu)。參