趙嘉凌
(肇慶學院信息中心,肇慶 526021)
眾所周知,對于書目數據庫而言,其最理想的設置狀態是,每個書目實體都對應著唯一的書目記錄。然而,因為種種原因,書目數據庫存在記錄冗余的問題,具體表現在,即使在數據庫的檢索提示已經很明確清晰的情況下,目前絕大多數的書目數據庫還未做到,精確定位到某一項用戶真正需要的書目實體上來。
冗余數據降低了書目數據庫的索引進度,增加了數據存儲和管理成本,更別提用戶的檢索時間被延遲了。最終導致了整個書目數據庫的效能被拉低,數據庫涉及的各方人員(包括數據庫使用者、編目人員、技術支持機構等)的用戶體驗度受到影響。
因此,如何改善書目數據庫的用戶體驗度,最大程度減輕冗余數據的問題,成為每個書目數據庫管理者需要深入研究的方向[1]。
冗余數據其中一個典型代表就是WorldCat.org數據庫(世界圖書館目錄檢索平臺數據庫)。該數據庫是通過成千上萬的OCLC、圖書館員工和合作伙伴組織的編目人員45年來,對其輸入各種著錄信息,并從WorldCat平臺讀取大量的數據并進行合并,而形成的數據庫。該庫其主要通過整合來自WorldCat平臺和其他渠道的海量書目記錄而聞名,其收錄的數據涵蓋了世界各地圖書館的電子、印刷和數字化信息資源。
但在這個漫長的歷史過程中,由于數據輸入規則曾經含糊不清,編目人員忽視或誤讀了編目規則,導致了書目記錄出現了冗余的情況。
根據OCLC關于Worldcat的質量報告顯示:“對于WorldCat數據滿意度的統計,在人們反映的問題中,重復數據和最少內容的記錄(minimal record)是普遍存在的問題。
WorldCat數據庫的快速增長加劇了數據質量的問題。問題首先是各國國家圖書館的導入數據,新的書目數據超過了之前自動處理重復數據的工具的能力。但是這也讓OCLC通過新進入數據庫的多語種的數據,獲得了進行多語種服務的機會(1998年,WorldCat數據庫里的英文內容占64%;2010年,這個數字變成了43%)。其次是OCLC自2008年以來大量導入廠商數據(目前占書目數據庫的1.59%),這一部分的數據內容比較少,而且會造成匹配、合并的問題。
OCLC從1991年就開始使用重復檢測和分解(Du?plicate Detection and Resolution,DDR)軟件來處理重復記錄。2010年9月,DDR對WorldCat數據庫完成了一次完整的檢測,刪除了510萬條重復記錄。(從我個人的感覺來說,現在WorldCat的冗余數據確實比大概一年前要少了。)
2003年開始,OCLC開始允許“并列記錄”(parallel records,即相同資源使用不同編目語種進行編目的記錄。之前作為重復記錄處理)。而重印的資源的記錄,根據AACR2,要作為單獨的記錄來處理。但是對于終端用戶來說,這種單獨的展示是讓人困惑的甚至于是失敗的。
繼而OCLC提出了一種新的通用標識符的概念:“全球圖書館載體表現標識符”(Global Library Manifes?tation Identifier,GLIMIR),這是OCLC自2009年開始的項目,用以解決上述問題。新的標識符希望能夠克服編目語種、資源格式或者其他方面的問題,實現記錄更好的聚合。”
(1)從數據庫角度看
①信息超載
冗余數據勢必導致用戶每次檢索系統都要查詢海量的文件,而檢索結果反饋的記錄項,也勢必超過了用戶實際需要的數量。
②系統性能被降低
冗余導致數據庫記錄的增加,因而加大了數據庫有效索引的復雜度。
③增加了數據庫維護成本
表現在維護數據庫需花費更多的時間。
(2)從用戶角度看
①普通用戶
對于使用書目數據庫進行搜索的用戶,冗余記錄對搜索結果產生不必要的干擾,例如用戶查閱搜索結果列表的過程中,將不得不對表示為不同形式的同一個文獻實體,進行多次查閱比較,以確定其實際指向同一個文獻實體。
②編目人員
對冗余記錄進行識別并對書目數據庫進行過濾清洗,勢必占用了編目人員大量寶貴的時間。
③研究人員
對于學術水平需要被評估的人員而言,評估者在對其進行學術評估,使用書目數據庫進行查找,由于冗余數據的出現,使得評估者對于被評估人員的學術成果,其中有效成分的比例會產生一定的懷疑。
冗余產生的原因之一是數據庫開發商從不同渠道獲取大規模數據,并進行數據聚合所造成的。具體因素包括了:①編目規則不一致;②書目記錄的錄入工作過于草率;③使用MARC作為書目記錄格式,各種語法錯誤的記錄[2]。
為了最大程度減輕記錄的冗余程度,業界不斷開發出新的冗余檢測算法。本文提出的匹配算法就是其中一個范例,該算法主要針對的是,兩個書目描述上一模一樣的記錄的識別,而對于兩個相似的記錄,其識別具有一定的難度。該算法聚焦于冗余數據的檢測以及重復記錄的刪除。在設計該算法的時候,主要從以下三大方面展開思考。
(1)設計目標
對該算法處理的記錄所代表的對象文件,作出清晰的分類,例如報刊文件還是館藏圖書等。
(2)對冗余記錄的界定
根據具體的數據庫的特定情況,在此基礎上對何為“冗余記錄”做出細節化的定義。
(3)該算法的應用
對于該算法在書目數據庫中的執行流程,是全自動的、半自動的還是人工操作的,需要作出詳盡的分類說明。
該算法在實現上分為單步應用和雙步應用。
該算法的單步應用,在大多數情況下,目標是在重復刪除操作的快捷性與低成本之間,找到平衡點。通常,由于該類算法對一致數據的標準定義較寬松,因此更具有通用性,但是結果會導致大量冗余數據的出現,然后留待后期來控制。
該算法的雙步應用中的第一步,是通過比較有限數位的字段,從而檢測到冗余的記錄。而第二步,目標是還是將用于比較的字段的位數盡可能的最少化,以避免由于檢測結果顯示“不匹配”所導致記錄被刪除,而這些記錄具有不可復制性。第二步在第一步的基礎上再次檢測,將注重細節性和精確度,從而保證冗余記錄的真實性。
(1)字段的選擇
為了順利生成該算法,其中的關鍵在于用于匹配的字段的選擇,該字段必須具有固定不變性,即無論哪方(編目人員或者書目編寫機構)進行編目,其都能保持固定不變性,須知字段的變動性越大,越不利于記錄匹配。因此,可見基于書目控制號(例如ISBN號)是理想的選擇對象。盡管基于ISBN的重復刪除,是目前檢測冗余的最好辦法,但還是不能保證完全百分百的檢測到所有冗余記錄。于是也需要其他數據庫存儲的數據,作為檢測源,例如,著者、出版發行方、頁數、出版地址和年份。
(2)匹配鍵
該算法使用匹配“鍵”來檢測冗余記錄,所謂的匹配鍵是指由預先選取的字段或者字段的組合來構成的字符串。用作“鍵”的往往是一個字段的部分(例如ISBN號),或全部(比如書名),當然,也包括了組合字段以及字段部分的組合。在這些鍵創建之前,系統會進行數據的標注化處理,處理對象包括了空格符,標點符,特殊的字體或者字符,還有大寫符等。此外,對于字段上的內容差異,包括拼寫錯誤,丟失數據以及字詞的微小變動等,還有許多技術,對其進行調整,這些技術包括了截詞法、關鍵詞法、“海明距離”法、文件名法等[3]。
(1)匹配度的鑒定
有兩種方法來鑒定冗余記錄的匹配度:
1)字段比較
該方法是在對選取字段進行二進制數位比較的基礎上,鑒定其是否具有一致性。相關的檢測軟件,使用“Y”或者“N”來提示鑒定結果。因為該方法是把記錄的整個字段完整的進行檢測,保證了匹配結果的準確度,但過程耗時。雖然該方法具有一定的嚴格度,但是實踐起來具有相當的復雜性,因為檢測的內容還包括了,在編目和數據輸入過程中產生的拼寫錯誤的記錄。該方法提示了各種字段內容差異的可能性,包括了拼寫錯誤,數據完整性的缺失,部分數據的丟失,以及編目操作的各種不確定因素。
2)指定權值
該方法,聚焦于正進行匹配的字符串,估計其相似度而給定的權值,該權值,反映的不是數據文獻學上的意義,其用途,只是作為對相似記錄的識別。只要加權值達到了預先設定的值,也就是所謂的“閾值”,算法會對某個記錄實體,進行合并或者刪除操作。
(2)處理冗余記錄
冗余檢測算法的設計還包括了另一個主要內容,即,一旦檢測到冗余記錄,如何對其進行處理。目前業界任何的主流做法主要有以下三類:
1)選取其中一條記錄為“母”記錄,以它為參照,其他字段不匹配的記錄都進行刪除;
2)選取其中一條記錄為“母”記錄,以它為參照,其他記錄的不匹配字段,添加進該“母”記錄,然后合并成為新的“母”記錄;
3)以“母”記錄為參照中心,所有只要有字段與之匹配的記錄都保存下來。
在具體實踐中,以上操作為有一些變動,這些變動包括了:①對最先輸入數據庫的記錄進行保留和維護以及刪除最后輸入的記錄;②對最后輸入數據庫的記錄進行保留和維護以及刪除最先輸入的記錄;③同時保留最先輸入和最后輸入的記錄,并將它們彼此間進行合并,而形成一個唯一的信息。
最后,對于終端用戶,只有當他們在檢索進程中,系統默認其選擇合并冗余記錄,于是,系統將立即虛擬化地執行冗余記錄的合并操作,反饋給用戶接收到的將是單獨的一條記錄。
(3)冗余檢測算法的結果
所有致力于冗余檢測的算法,其匹配度識別后都會產生以下結果:
①完全吻合
檢測到的記錄都完全重合。
②部分吻合
只有記錄的部分存在冗余。
③不匹配或者說匹配錯誤
盡管算法檢測結果指示兩個記錄是吻合的,但是它們并不指向同一個文檔實體。
④漏掉/未經檢測的匹配情況
算法沒法把數據庫現存的冗余記錄檢測出來。
比較④的匹配疏漏,③的匹配錯誤將導致更嚴重的結果,因為,匹配錯誤而導致誤刪的記錄會使得數據庫面臨信息永久丟失的問題。為了避免這些問題,我們可以考慮讓算法采取更靈活寬松的方式,就會讓它對數據變化存在一定的容忍度的范圍,只要不超過這個范圍,盡可能避免書目信息的刪除操作。另外,算法應該采取更嚴格的方式,限制可能是冗余的數據大量累積,與此同時,確保任何真實的冗余記錄不被丟失[4]。
隨著書目數據庫體系架構的不斷演變,催生出書目數據的冗余問題。其實冗余是一直困擾圖書編目的最大問題,因此作為圖書館編目人員,我們需要不斷的修正對冗余的定義,以及不斷更新冗余的檢測方法[5]。
在接下來的時間里,筆者將聚焦于網絡空間的實時海量冗余數據的處理。虛擬書目以及Z39.50端口將是研究的重點。書目數據庫的用戶期待的是覆蓋全面的能快速檢索的書目,滿足在異構網絡中分布式書目數據庫間聯合檢索的數據一致性需求的,全新的書目數據庫。該庫同時具備檢索速度快,結果精確度高的特點。接下來將展開對目前通用的書目數據庫冗余記錄的管理方法,例如,虛擬化數據合并等。
[1]謝東.書目數據庫中冗余數據的影響及解決方案[J].情報資料工作,45-46+47.
[2]王淑梅.數字圖書館建設中冗余數據的產生于處理[J].圖書館學研究,48-50.
[3]Campbell,C.(2006),Melvyl Project Coordinator,Information Given by E-mail,(Accessed 31 January 2006).
[4]Cousins,S.(2006),COPAC Service,Manchester Computing,University of Manchester,Available at:copac@mcc.ac.uk(Accessed 11 January 2006).
[5]Vougiouklis,G.(2007),ELiDOC,Available at:gvoug@elidoc.gr(Accessed 2 February 2006).