肖 禹
(中國國家圖書館,北京 100034)
經過近三十年的發展, 古籍數字化研究與實踐取得了豐碩的成果, 產生了一大批有影響的古籍數字化項目。 這些古籍數字化項目具有檢索和瀏覽的功能,但在文字處理方面還有所欠缺。古籍中大量的避諱字、異體字、少數民族文字、草體字(手抄本中的)都在一定程度上限制了古籍數字化的轉換和檢索[1]。 目前,對古籍數字化中的文字處理的研究主要有兩類: 一類是從整體上探討古籍數字化中的文字處理; 另一類是從具體項目的角度出發討論具體處理方法。 現有的研究往往從學術角度出發,以異體字處理為研究重點,提出系列異體字處理原則, 或基于某個項目提出異體字的處理方法。 這些研究為古籍數字化中的文字處理提供了思路和方法,但也存在一些不足:其一,未能明確定義異體字的處理范圍;其二,未能分別給出集內異體字和集外異體字的處理方法;其三,未能給出異體字處理的工程化方法。
本文立足于大規模古籍數字化項目, 從工程和技術實現的角度探討古籍數字化過程中的集外字處理問題。之所以以集外字為研究對象,原因有三:其一,集外字雖然是一個相對概念,但是若字符集固定,集外字的范圍就是固定的;其二,在大規模古籍數字化項目中,集外字大量存在,集外字處理問題無法回避;其三,集外字無法直接輸入、處理和顯示,必須采用其他的技術和方法,相關的研究與實踐還存在很多的問題。
字符集是描述多個文字和符號的集合[2],在古籍數字化中最常用的是Unicode 字符集。 Unicode 是一個經過字符寬度整合的編碼方式, 它是為文字及符號所建立的國際性編碼, 幾乎覆蓋世界上任何一種語言的字符[3]。目前,Unicode 的最新版本是6.2[4],是符合國際標準(ISO10646)收錄漢字最多的字符集,共收字74 566 個,其中CJK 基本集收字20 902 個, 擴A 集收字6 582 個, 擴B集收字42 711 個,擴C 集收字4 149 個,擴D 集收字222 個。
集外字是指字符集所不包含的文字, 若不采用其他的技術和方法,集外字無法輸入、處理和顯示。 集外字的數量與字符集的收字數量直接相關,若數字化對象的用字總量和文字處理規則固定,字符集收錄的文字越多,集外字的數量越少。 以國家圖書館數字方志項目第一期 (全文數字化明至民國間的方志744 種,14 682 卷,506485 筒子頁,采用鍵盤手工錄入方式進行全文數字化,使用“中易漢神e”漢字系統,支持CJK 基本區、擴A 區和擴B 區的7 0195 個字符)為例,使用CJK 基本區1 6801 個字 (203 781 248 次),CJK 擴A 區 的2 959 個字 (274 847 次),CJK 擴B 區9 117 個 字(732 675 次)。 若使用GBK 字符集 (收錄21 003個字),集外字將多出12 136 個(1 007 522 次),若使用GB18030-2000 字符集(收錄27 533 個字),集外字將多出9 117 個字(732 675 次)。 可見,字符集的選擇對集外字的數量有很大的影響。
因字符集主要收錄楷書字,收字尚不完備,無法完全滿足古籍數字化的需求,集外字大量存在。以數字方志項目的文字錄入實驗為例, 選取明至民國間刻印的方志100 種(5 0000 余頁),文字總量超過2 000 萬字,完全按字形比對,集內字只占38%,除了少量模糊字外(低于0.5%),其余都是集外字。 逐一分析這些集外字,由于書寫變異造成筆畫細微差異的字占58%,占集外字的絕大多數,這些字完全可以認同為集內字。 可見,在古籍數字化項目中集外字普遍存在, 僅靠擴大字符集收字范圍不能解決集外字處理問題, 還需要一系列的集外字處理方法。
采用OCR(Optical Character Recognition,光學字符識別)或鍵盤錄入古籍文字,集外字都無法直接輸入,必須引入集外字處理方法。 常見的集外字處理方法有:
(1)替換法。 替換法是將集外字變換為其他可以輸入的形式,如符號、圖形和集內字。 一是符號替換。 在OCR 或文字錄入的過程中,將集外字直接替換為某個特定符號, 這是最簡單的集外字處理方法。 在保存為純文本的古籍全文數據建設中常采用這種方法,但這種方法存在以下幾個問題:其一,集外字統一替換為某個符號,這些符號基本沒有檢索意義;其二,替換符號未能保留集外字的任何信息,當字符集變更時,集外字無法管理;其三,常用的替換符號有等,這些符號在古籍中都較為常用, 用戶無法區別這些符號是古籍中原有的,還是由于數字化造成的。 二是圖形替換。 將集外字替換為圖形,圖形數據保留了集外字的字形特征,但是圖形數據不能直接檢索。 圖形數據的引入,增強了全文數據的顯示效果,同時,為了支持檢索和后續的管理維護, 圖形數據要添加必要的描述信息。 在數字化項目中將集外字替換為圖形,圖形的采集、處理和存儲都需要加工軟件的支持。 三是集內字替換。 相對于特定符號和圖形,將集外字替換為集內字是更好的處理方法,但這種替換要滿足兩個基本條件: 數字化項目對文字字形沒有嚴格的要求,允許對異體字、避諱字、訛誤字等進行規范;集外字可以替換為集內字,這兩個字讀音、含義和用法都相同。 在大規模數字化項目中,將集外字替換為集內字有一定的難度,對人員素質有較高的要求。 在國家圖書館數字方志項目集外字中, 由于書寫變異造成筆畫微異的異體字占58%, 由于偏旁簡省造成的異寫字和由于隸定造成的異寫字占2%,異構字和其他情況(非異體字) 占2%。 異寫字轉換的平均錯誤率為0.27‰,異構字轉換的平均錯誤率為0.52‰,而集內字轉換的平均錯誤率僅為0.22‰。 可見,將集外字替換為集內字會影響數字化項目的錯誤率,錯誤率與替換的難度成正比, 難度越大, 錯誤率越高。
(2)造字法。 造字法是在字符集的自定義區為集外字定義編碼, 這些編碼與集外字的字形一一對應。 只要有字符集自定義編碼區的支持,造字的檢索與顯示和集內字完全相同。 以《文淵閣四庫全書電子版3.0 版》為例,該項目采用了Unicode5.0字符集,整個項目共造字12 592 個[5]。若使用造字法處理集外字,必須有集外字管理、輸入法管理、造字、字符集自定義區管理等一系列工具。Unicode字符集允許用戶自定義編碼, 專門設置了私用區(Private Use Area),私用區、增補私用A 區和增補私用B 區共有137 468 個碼位。雖然Unicode 字符集有較多的碼位可供造字使用, 但是如果將古籍中出現的所有字形,不做必要的文字規范,也不區分字體、 書體, 只要字形與字符集中的字形有差異, 就簡單地做造字處理, 這些碼位也會很快耗盡。 同時,Unicode 對私用區基本沒有限制,不同的古籍數字化項目對私用區的使用可能完全不同,同一個自定義編碼在不同的項目中表示不同的字形,若同時使用這些古籍數字化項目,將發生私用區編碼沖突,造成文字編碼錯誤。
(3)描述法。 描述法是將集外字表示為一個字符串,這個字符串描述了集外字的字形。 目前,較為常用的描述方法有 《漢語文古籍機讀目錄格式使用手冊》 中393 字段系統外字附注的外字描述方法[6]、臺灣開發的漢字構形數據庫使用的構字式描 述 方 法[7]、Unicode 的IDS(Ideographic Description Sequence,表意描述序列)描述方法[8]等。 描述法既可以獨立使用,也可以和替換法一起使用,如香港理工大學開發的“中文古籍網上出版平臺”將集外字替換為圖形,并用IDS 進行描述。
3.1.1 《文淵閣四庫全書》電子版項目
《文淵閣四庫全書》電子版項目以《景印文淵閣四庫全書》為底本,由上海人民出版社和迪志文化出版有限公司合作出版, 迪志文化出版有限公司、 書同文電腦技術開發有限公司承辦全部開發制作工程, 清華大學計算機系負責OCR 引擎開發,北大方正電子有限公司負責建立專用字庫,微軟公司(北京)研究開發中心在平臺技術等方面提供技術援助[9]。 基于當時的技術條件,該項目使用CJK+字庫 (包含符合Unicode 標準的CJK 和CJK擴A 編碼, 自定義編碼4 296 個, 共收字31 780個),使用OCR 方式進行全文轉換。 該項目的集外字處理方案:(1)參照遵守ISO10646/Unicode 的認同規則對集外字進行有控制的異體代換。 微小筆形差異視作異寫, 應認同之而不加標記。 在Unicode 中兩個異體字都有編碼時, 應選與書中字跡最接近者。 其他異體代換,必須標記相似符號“~”。(2)對原書中的模糊之處(“模糊字”),實在難以辨別者,保留其原圖形作“□”處理,并加以說明。 (3)無法認同的集外字保留原圖形并做字形描述,依據字形描述進行字頻統計, 高字頻集外字做造字處理,低字頻集外字替換為構字符或“□”。 (4)甲骨文、金文、篆文等字體直接替換為圖形。
3.1.2 數字方志項目
數字方志項目始于2002 年,到目前為止已掃描舊志(1949 年以前編輯出版的地方志)6 868 種(3 349 651 筒子頁), 已全文數字化2 821 種(1 742 176 筒子頁)。 該項目使用支持Unicode5.0 的字庫(CJK、CJK 擴A 和CJK 擴B 編碼,共收字70 195 個),使用人工錄入方式進行全文轉換。該項目的集外字處理方案:(1)參照《漢語大字典》對集外字中的異寫字進行認同, 認同為本字或字形相近的異體字,不加標記。 異構字認同為本字或字形相近的異體字,并添加文字認同標記。 (2)模糊字替換為圖形,并添加模糊字標記。 若模糊字無法反映任何字形信息,則替換為“□”,并添加模糊字標記。 (3)無法認同的集外字替換為圖形,并給圖形添加IDS 描述。 若無法進行IDS 描述,則添加其他方式的描述。
集外字處理是古籍數字化的重要環節之一,不僅影響全文數據的質量和使用效果, 而且影響項目成本、管理和維護。 因此,對集外字處理方案評價也要從檢索效果、顯示效果、錯誤率、復雜度、擴展性等方面來進行。
3.2.1 檢索效果
檢索效果是指集外字處理后能否檢索, 以及檢索集外字是否需要附加條件。 古籍全文數據庫的核心功能是檢索, 若集外字無法檢索或檢索困難,將大大降低古籍全文數據庫的可用性。 在《文淵閣四庫全書》 電子版項目中, 集外字替換為圖形、“□”、構字符等,可以顯示(“□”和構字符無法顯示集外字字形),但是無法檢索。 在數字方志項目中,替換為集內字的集外字可以檢索,替換為圖形的集外字可以借助IDS 描述實現檢索, 但是需要額外的軟件支持。
3.2.2 顯示效果
顯示效果是指集外字處理后能否正常顯示,以及這種顯示方式是否符合用戶的要求。 若集外字無法正常顯示, 將大大降低古籍全文數據庫的可用性。 在《文淵閣四庫全書》電子版項目中,全部集外字都能顯示,但是替換為“□”和構字符的集外字顯示意義不大, 而且集外字顯示為構字符不符合用戶的閱讀習慣。 在數字方志項目中,全部集外字都能顯示,但是替換為“□”的集外字顯示意義不大。
3.2.3 錯誤率
錯誤率是指集外字處理發生錯誤的比率,以及集外字處理對全文數據庫平均錯誤率的影響。平均錯誤率反映了全文數據庫的總體質量, 錯誤率直接決定了全文數據庫的可用性。 《文淵閣四庫全書》 電子版項目沒有相關的數據, 無法做出評價。 在數字方志項目中, 集外字處理的錯誤率為0.278‰,與文字錄入實驗的錯誤率基本一致,符合該項目平均文字錯誤率低于0.3‰的要求。
3.2.4 復雜度
復雜度是對集外字處理成本和可實現性的度量,這是數字化工程管理和工藝設計的重要指標。《文淵閣四庫全書》電子版項目和數字方志項目的集外字處理方案都能滿足項目的要求, 符合項目的時間成本和資金成本要求。
3.2.5 擴展性
擴展性是對集外字數據遷移、管理、維護能力的度量,尤其是當字符集發生版本變更時,集外字數據能否自動或半自動遷移到新版本的字符集中。 《文淵閣四庫全書》電子版項目使用了自定義編碼,當Unicode 字符集升級到新版本,要將自定編碼的字形與字符集中新納入的文字字形逐一進行人工比對,根據比對的結果建立編碼映射表,再通過軟件完成映射。 同時,該項目雖然對無法認同的集外字部分做了描述, 但是這些描述無法與全文數據集成在一起, 也不能和字符集進行直接的映射,遷移、管理和維護都很困難。 數字方志項目未使用自定義編碼, 替換為圖形的集外字絕大部分都有IDS 描述, 當Unicode 字符集升級到新版本, 只需將字符集中新納入的文字的IDS 與集外字的IDS 進行比對,若兩者相同,則可以直接替換為正式編碼。IDS 也使得日常的集外字管理和維護更為簡便,都可以通過軟件進行批量處理。
字符集是一個封閉的系統, 雖然中日韓統一漢字(CJK)己達7 0195 個字符,但是即使將來再加擴展,也只可能是古籍刻寫異體的一個子集,必然有許多字不能重現[10]。 集外字大量存在,集外字處理問題無法回避, 集外字處理直接影響全文數據庫的正確率、檢索效果和顯示效果,進而影響全文數據庫的可用性。 因此,有必要多角度研究集外字處理問題,不斷改進和完善集外字處理方案。
[1] 陳力.中文古籍數字化的再思考[J].國家圖書館學刊,2006(2):42-49.
[2] 字符集[EB/OL].[2013-03-30].http://baike.baidu.com/view/51987.htm.
[3] 苗軍.Unicode/XML 在電子出版物中的實現[D].天津:河北工業大學,2002.
[4] Unicode 6.2.0[EB/OL]].[2013-03-30].http://www.unicode.org/versions/Unicode5.2.0/.
[5] 《文淵閣四庫全書》最新3.0 版(內聯網版/網上版)產品小冊子[EB/OL].[2013-03-30].http://www.sikuquanshu.com/Html/GB/product/download/3.0leaflet_gb.pdf.
[6] 中國國家圖書館館.漢語文古籍機讀目錄格式使用手冊[M].北京:北京圖書館出版社,2001.
[7] 缺字系統整合動態組字之應用 [EB/OL].[2013-03-30].http://itech.ntcu.edu.tw/Tanet%202007/2%5C396.pdf.
[8] Decomposition for ISO/IEC 10646 Ideographic Characters[EB/OL]. [2013 -03 -30].http://acl.ldc.upenn.edu/W/W02/W02-1209.pdf
[9] 中文古籍網上出版平臺系統概要[EB/OL].[2013-03-30].http://e-platform.iso10646hk.net/sysoverview.jsp.
[10] 尉遲治平.電子古籍的異體字處理研究——以電子《廣韻》為例[J].語言研究,2007(3):118-122.