王詠梅,高 宇,任書(shū)俊,劉新宇,馬巍巍,鄧 勇,宋 莉
(1.合肥師范學(xué)院 計(jì)算機(jī)與人工智能學(xué)院,安徽 合肥 230601;2.安徽中醫(yī)藥大學(xué) 圖書(shū)館,安徽 合肥 230038)
書(shū)目提要是文獻(xiàn)的重要信息。提要又稱(chēng)為“解題”,日本文獻(xiàn)學(xué)家小見(jiàn)山壽海曾言:“解題是一書(shū)比較詳細(xì)的記載,也就是對(duì)每一種圖書(shū)的品題解說(shuō)?!盵1]梁?jiǎn)⒊?“載籍浩博絕非一人之力所能盡藏、所能盡讀。瀏覽諸錄,可以知古人著作之大凡。有題解者,讀其解題,雖未睹其原書(shū),亦可知梗概?!盵2]“提要”不僅為讀書(shū)人指引治學(xué)門(mén)徑,也為“辨章學(xué)術(shù),考鏡源流”提供了巨大的幫助,能夠達(dá)到讓讀者未目睹其原書(shū)也可知梗概的目的,提要的有無(wú)與好壞直接關(guān)系著文獻(xiàn)的質(zhì)量與價(jià)值[3]。中醫(yī)藥古籍除了具有一般古籍的特點(diǎn)外還有著極強(qiáng)的專(zhuān)業(yè)價(jià)值,通常晦澀難懂,因而,中醫(yī)藥古籍書(shū)目提要信息數(shù)字化建設(shè)對(duì)深入研究中醫(yī)藥古籍歷史和學(xué)術(shù)價(jià)值有著重要意義。
國(guó)內(nèi)已建好的書(shū)目提要數(shù)據(jù)庫(kù)普遍存在以下問(wèn)題:
一是書(shū)名著錄規(guī)則不統(tǒng)一,導(dǎo)致以題名途徑檢索時(shí)容易出現(xiàn)偏差。很多古籍在封面、版心、內(nèi)封、書(shū)衣、書(shū)根等處都可能會(huì)有書(shū)名,而且名字往往不同,因而在著錄時(shí)會(huì)因所取題名位置不同而產(chǎn)生較大差異,導(dǎo)致以題名途徑檢索時(shí)出現(xiàn)差錯(cuò)。二是分類(lèi)法不統(tǒng)一,導(dǎo)致數(shù)據(jù)庫(kù)共享困難。在古籍文獻(xiàn)分類(lèi)方面,現(xiàn)有的書(shū)目數(shù)據(jù)庫(kù)采用的分類(lèi)法普遍不一,常見(jiàn)的有“四部法”“四庫(kù)法”“中圖法”“人大法”和“種次序號(hào)”等,分類(lèi)方法的不統(tǒng)一導(dǎo)致古籍書(shū)目數(shù)據(jù)庫(kù)難以共享[4-6]。三是主題標(biāo)引欠缺?,F(xiàn)有的《漢語(yǔ)主題詞表》不能滿足中醫(yī)藥古籍主題內(nèi)容的要求,其主題標(biāo)引差異明顯。四是子目無(wú)法檢索。中醫(yī)藥古籍,尤其是合訂本古籍,都包含有很多子目,目前大部分書(shū)目數(shù)據(jù)庫(kù)都未能實(shí)現(xiàn)子目檢索。五是無(wú)法提供不同版本在不同單位的收藏線索。同一種古籍,在千百年的流傳過(guò)程中形成了不同的版本,這些版本的使用價(jià)值和文物價(jià)值均不同,不同讀者的使用要求也不同。同一種書(shū)的不同版本可能分散在不同的收藏單位,各收藏單位多以自己收藏的版本創(chuàng)建書(shū)目數(shù)據(jù)庫(kù),無(wú)法有效地為讀者提供不同版本在不同收藏單位的線索。六是目前在用的中醫(yī)藥古籍書(shū)目數(shù)據(jù)庫(kù)基本不提供提要信息[4]。
國(guó)內(nèi)中醫(yī)藥古籍主要集中在中醫(yī)藥院校、科研機(jī)構(gòu)及其圖書(shū)館,收藏機(jī)構(gòu)多建有書(shū)目數(shù)據(jù)庫(kù)。如北京中醫(yī)藥大學(xué)的“中醫(yī)藥古籍書(shū)目數(shù)據(jù)庫(kù)”、天津中醫(yī)藥大學(xué)的“中醫(yī)古籍珍善本圖書(shū)目錄”、上海中醫(yī)藥大學(xué)圖書(shū)館的“中醫(yī)古籍善本書(shū)目提要”等[7]。安徽中醫(yī)藥古籍在省外的收藏信息,散落在這些數(shù)據(jù)庫(kù)中。由于各數(shù)據(jù)庫(kù)標(biāo)準(zhǔn)不統(tǒng)一,揭示文獻(xiàn)的深度和廣度也不一樣,要查找安徽中醫(yī)藥古籍的收藏情況,只能分別查找各館的書(shū)目數(shù)據(jù)庫(kù),效率十分低下。
安徽省內(nèi)有五家古籍收藏單位建立了古籍書(shū)目數(shù)據(jù)庫(kù),收藏安徽中醫(yī)藥古籍較多的兩個(gè)單位分別是安徽中醫(yī)藥大學(xué)圖書(shū)館和安徽省圖書(shū)館[8]。安徽中醫(yī)藥大學(xué)圖書(shū)館的館藏安徽中醫(yī)藥古籍與其他古籍、普通文獻(xiàn)按照統(tǒng)一標(biāo)準(zhǔn)建在一個(gè)數(shù)據(jù)庫(kù)內(nèi)。安徽省圖書(shū)館則把安徽中醫(yī)藥古籍相關(guān)的書(shū)目分建在“安徽省歷代皖人書(shū)目數(shù)據(jù)庫(kù)”[9]、“安徽省善本書(shū)目數(shù)據(jù)庫(kù)”[10]和“普通古籍書(shū)目數(shù)據(jù)庫(kù)”[11]中。用戶檢索時(shí)不能進(jìn)行跨庫(kù)檢索,降低了檢索效率。同時(shí),安徽中醫(yī)藥古籍流落海外的部分較少而且地域分散,目前國(guó)內(nèi)外均沒(méi)有專(zhuān)門(mén)的安徽中醫(yī)藥古籍書(shū)目提要數(shù)據(jù)庫(kù)。由于安徽中醫(yī)藥古籍一方面具有自身的專(zhuān)業(yè)特色,另一方面又肩負(fù)著一部分徽文化傳承的重任,因而創(chuàng)建專(zhuān)門(mén)的安徽中醫(yī)藥古籍書(shū)目提要數(shù)據(jù)庫(kù)有重要意義。
書(shū)目提要信息數(shù)字化,是指利用現(xiàn)有的科學(xué)技術(shù)把中醫(yī)藥古籍編目紙質(zhì)信息轉(zhuǎn)化為可在計(jì)算機(jī)中存儲(chǔ)和傳播的資源的過(guò)程??紤]到共享與交換,書(shū)目提要必須規(guī)范化。我國(guó)目前唯一機(jī)讀目錄格式CNMARC是在UNIMARC基礎(chǔ)上修訂的,是針對(duì)現(xiàn)代文獻(xiàn)研發(fā)的,對(duì)古籍文獻(xiàn)并不適用。為了在計(jì)算機(jī)中合理規(guī)范地描述中醫(yī)藥古籍書(shū)目提要信息,本文使用制定元數(shù)據(jù)規(guī)范的方式來(lái)描述古籍文獻(xiàn)信息。與古籍有關(guān)的元數(shù)據(jù)相關(guān)標(biāo)準(zhǔn)有《專(zhuān)門(mén)元數(shù)據(jù)設(shè)計(jì)指南》《專(zhuān)門(mén)數(shù)字對(duì)象描述元數(shù)據(jù)》《古籍元數(shù)據(jù)規(guī)范》《基本元數(shù)據(jù)著錄規(guī)則》和《都柏林核心元數(shù)據(jù)集》(DC)[12]等。其中DC定義了Web資源通用的核心標(biāo)準(zhǔn),包含了15個(gè)描述資源對(duì)象的核心元素,是國(guó)際上通用的元數(shù)據(jù)解決方案,已成為Internet的正式標(biāo)準(zhǔn)和美國(guó)國(guó)家信息標(biāo)準(zhǔn)。其他元數(shù)據(jù)標(biāo)準(zhǔn)基本都兼容DC并在其基礎(chǔ)上進(jìn)行了擴(kuò)展?!秾?zhuān)門(mén)元數(shù)據(jù)設(shè)計(jì)指南》復(fù)用了DC中15個(gè)核心元素并提出了復(fù)用原則,指出了元數(shù)據(jù)規(guī)范的基本組成元素和擴(kuò)展原則?!豆偶獢?shù)據(jù)規(guī)范》由科技部重大項(xiàng)目“我國(guó)數(shù)字圖書(shū)館標(biāo)準(zhǔn)規(guī)范建設(shè)”提出,用于規(guī)范地描述古籍的內(nèi)容和外觀特征。本文提出的元數(shù)據(jù)規(guī)范從著錄者、使用者、著錄對(duì)象三方面入手,充分考慮前兩者的需求和著錄對(duì)象的特性并加以平衡,遵循《專(zhuān)門(mén)元數(shù)據(jù)設(shè)計(jì)指南》的設(shè)計(jì)原則,以DC和《中華人民共和國(guó)文化行業(yè)標(biāo)準(zhǔn)·古籍元數(shù)據(jù)規(guī)范》(WH/T66-2014)為基礎(chǔ),在采集樣本的基礎(chǔ)上針對(duì)安徽中醫(yī)藥古籍書(shū)目提要的特點(diǎn)設(shè)計(jì)而成。樣本取自《安徽中醫(yī)古籍總目提要》和《中國(guó)中醫(yī)古籍總目》。元數(shù)據(jù)規(guī)范schema結(jié)構(gòu)如圖1所示,該元數(shù)據(jù)規(guī)范在滿足著錄者錄入中醫(yī)藥古籍書(shū)目信息要求的基礎(chǔ)上,涵蓋了資源的重要檢索點(diǎn),不僅可以滿足使用者的要求,其中的數(shù)據(jù)項(xiàng)還可以作為信息抽取依據(jù),滿足安徽中醫(yī)藥古籍款目的信息存儲(chǔ)要求。
圖1 安徽中醫(yī)藥古籍元數(shù)據(jù)規(guī)范結(jié)構(gòu)示意圖
信息抽取簡(jiǎn)稱(chēng)IE(information extraction),即從自然語(yǔ)言文本中抽取出特定的事件或事實(shí)信息,以便將海量?jī)?nèi)容進(jìn)行分類(lèi)、提取和重構(gòu)。安徽中醫(yī)藥古籍信息抽取的目標(biāo)是將紙質(zhì)書(shū)目提要信息抽取出來(lái),形成符合圖1的半結(jié)構(gòu)化數(shù)據(jù)。信息抽取可以通過(guò)基于規(guī)則和基于統(tǒng)計(jì)的兩種方法實(shí)現(xiàn)[13]。以《安徽中醫(yī)古籍總目提要》中的基本款目《傷寒類(lèi)證便覽》為例(圖2)[14],可以將文本內(nèi)容歸納為:正題名、卷數(shù)、附錄附注、別名、主要責(zé)任者、其他責(zé)任者、責(zé)任者附注、出版時(shí)間、成書(shū)附注、內(nèi)容提要、版本附注、版本及收藏單位。由以上款目可以看出,《安徽中醫(yī)古籍總目提要》構(gòu)成相對(duì)簡(jiǎn)單,相關(guān)詞有限,有明顯的規(guī)律性,更適合采用基于規(guī)則的方法對(duì)書(shū)目提要進(jìn)行信息抽取。由于正則表達(dá)式對(duì)于字符串匹配的功能強(qiáng)大,得到大多數(shù)編程語(yǔ)言支持,安徽中醫(yī)藥古籍書(shū)目的抽取規(guī)則可以采用正則表達(dá)式來(lái)描述。
圖2 傷寒類(lèi)證便覽款目
將抽取的記錄信息放入XML文檔中,形成描述安徽中醫(yī)藥古籍書(shū)目提要的XML文檔。為了保證XML文檔的有效性,先要根據(jù)圖1中元數(shù)據(jù)規(guī)范設(shè)置文檔數(shù)據(jù)模式定義。XML的數(shù)據(jù)模式可以通過(guò)DTD或者XML Schema的形式定義,由于DTD是XML標(biāo)準(zhǔn)的一部分且較成熟,本文使用DTD定義安徽中醫(yī)藥古籍書(shū)目提要的款目信息。DTD的模式管理機(jī)制包括DTD_DocType、DTD_Element、DTD_Attribute、DTD_ElementScope四部分,安徽中醫(yī)藥古籍書(shū)目提要信息的DTD定義如圖3所示。
圖3 安徽中醫(yī)藥古籍書(shū)目提要信息的DTD
DTD規(guī)定了安徽中醫(yī)藥古籍書(shū)目提要信息XML文檔中使用的標(biāo)記、父元素包含的子元素、各子元素的出現(xiàn)順序及各元素包含的屬性等?;谠撃0?以《傷寒類(lèi)證便覽》為例,可以得出描述安徽中醫(yī)藥古籍書(shū)目提要的XML文檔(圖4)。編程人員可以根據(jù)DTD了解XML的邏輯結(jié)構(gòu),并編寫(xiě)相應(yīng)的應(yīng)用程序。
圖4 安徽中醫(yī)藥古籍書(shū)目提要的XML文檔
文檔對(duì)象模型(Document Object Model,DOM)是W3C推薦的用來(lái)管理XML文檔信息或數(shù)據(jù)的模型,它采用樹(shù)型數(shù)據(jù)結(jié)構(gòu)表示XML數(shù)據(jù),基于DOM查詢(xún)的實(shí)現(xiàn)方法相當(dāng)于對(duì)DOM結(jié)構(gòu)樹(shù)的遍歷。XML DOM 定義了所有XML元素的對(duì)象、屬性以及訪問(wèn)方法(接口),這些接口以Document、Processing Instruction、Element、Attribute等類(lèi)型的形式出現(xiàn)。DOM對(duì)XML文檔的訪問(wèn)以結(jié)點(diǎn)訪問(wèn)為基礎(chǔ),從XML數(shù)據(jù)樹(shù)型結(jié)構(gòu)的根結(jié)點(diǎn)開(kāi)始,每一個(gè)下層元素都作為處理節(jié)點(diǎn)。安徽中醫(yī)藥古籍書(shū)目提要信息XML文檔對(duì)應(yīng)的DOM結(jié)構(gòu)樹(shù)如圖5所示。
圖5 安徽中醫(yī)藥古籍DOM結(jié)構(gòu)樹(shù)
安徽中醫(yī)藥古籍書(shū)目提要信息數(shù)字化后,利用DOM編寫(xiě)服務(wù)器端腳本程序,可以實(shí)現(xiàn)在客戶端遠(yuǎn)程添加、修改或查詢(xún)服務(wù)器端XML文檔的數(shù)據(jù),從而實(shí)現(xiàn)XML文檔的在線交互。由于DOM是一種與平臺(tái)和語(yǔ)言無(wú)關(guān)的應(yīng)用程序編程接口,其對(duì)于各種語(yǔ)言展現(xiàn)的都是統(tǒng)一的對(duì)象、屬性、方法和事件,因而可以使用各種計(jì)算機(jī)語(yǔ)言和解決方案編寫(xiě)服務(wù)器端腳本。例如,可以使用JavaScript創(chuàng)建XML DOM對(duì)象實(shí)例TCMAbook.xml文檔,加載書(shū)目提要信息:
Var xmldoc=new ActiveXobject(“MSXML.DOMDocument”);
xmldoc.async=”false”;
xmldoc.load(“TCMAbook.xml”);
創(chuàng)建安徽中醫(yī)藥古籍書(shū)目提要信息對(duì)象實(shí)例后,可以利用ASP編程通過(guò)該實(shí)例創(chuàng)建、遍歷XML文檔,添加、修改、查詢(xún)XML數(shù)據(jù)等,實(shí)現(xiàn)對(duì)XML數(shù)據(jù)的存儲(chǔ)和管理,工作過(guò)程如圖6。
圖6 DOM方式工作過(guò)程
基于XML的數(shù)據(jù)庫(kù)系統(tǒng)分為NXD(Native XML Database)和XEDB(XML Enable Database)兩類(lèi)。NXD是以XML文檔為基礎(chǔ)的數(shù)據(jù)庫(kù)管理系統(tǒng),XEDB則是在傳統(tǒng)的RDBMS中增加了支持XML技術(shù)的功能,需要結(jié)構(gòu)映射或者模型映射才能允許傳統(tǒng)數(shù)據(jù)庫(kù)訪問(wèn)XML。在安徽中醫(yī)藥古籍書(shū)目提要信息的存儲(chǔ)方面,由于需要保存中醫(yī)藥古籍的層次型結(jié)構(gòu)信息,同時(shí),針對(duì)書(shū)目提要信息數(shù)據(jù)庫(kù)的操作主要是查詢(xún)和存儲(chǔ),而對(duì)數(shù)據(jù)進(jìn)行修改更新的需求較少。因此,可以選擇專(zhuān)門(mén)為處理XML數(shù)據(jù)設(shè)計(jì)的NXD系統(tǒng),如eXist、BaseX等。
XML是用于新一代網(wǎng)絡(luò)數(shù)據(jù)表示、傳遞和交換的標(biāo)準(zhǔn)。用XML可以清楚地描述和儲(chǔ)存中醫(yī)藥古籍書(shū)目提要的層次型結(jié)構(gòu)特征,解決目前CNMARC格式對(duì)古籍文獻(xiàn)并不適用的問(wèn)題。引入XML處理機(jī)制DOM,可以利用ASP編程,實(shí)現(xiàn)XML文檔的在線交互,在不同應(yīng)用平臺(tái)之間傳遞和共享數(shù)據(jù)。利用XML數(shù)據(jù)庫(kù)技術(shù),構(gòu)建安徽中醫(yī)藥古籍書(shū)目信息資源管理系統(tǒng),對(duì)半結(jié)構(gòu)化的中醫(yī)藥古籍書(shū)目信息進(jìn)行管理并提供檢索,在有效解決現(xiàn)有古籍書(shū)目數(shù)據(jù)庫(kù)問(wèn)題的基礎(chǔ)上,實(shí)現(xiàn)安徽中醫(yī)藥古籍書(shū)目提要信息的數(shù)字化。