高晶晶
浙江省中醫藥研究院,浙江 杭州 310007
中醫古籍數字化生僻字的處理
高晶晶
浙江省中醫藥研究院,浙江 杭州 310007
中醫古籍數字化生僻字的處理是一項基本而又關鍵的技術,目前普遍存在缺字的現象,給中醫古籍的閱讀和研究造成障礙。本文分別從字符集、字庫、輸入法等方面,分析了集內字缺字產生的原因和解決方案,并探討了集外字的處理方法。
中醫古籍;數字化;生僻字
中醫古籍承載著祖國醫學數千年文明的綿延,是中醫學傳承、發展、創新的源頭活水。中醫古籍數字化,可以通過全文錄入與網絡共享,解決中醫古籍作為一種不可再生資源而存在的借閱困難、容易損傷的問題,對比傳統的手工檢索,又極大地提升了查詢的效率,使中醫古籍得到了更廣泛和更有效的利用,近年來頗受重視,發展迅速。在數字化進程中,對生僻字的處理直接影響到古籍閱讀的質量和檢索的效果,目前存在的問題主要是缺字現象。對于傳統的紙質版發行與單機版的數字化,缺字可以通過自己造字或圖片替代的方案解決。但是對于全文網絡版數字化,使用自造字會在通用性上受到限制,而圖片替代則導致檢索困難,其解決方案需要進一步的研究與探討。
字符集是各種文字和符號的集合,如包含英文字母的ASCⅡ字符集、包含簡體中文的GB2312字符集、包含繁體中文的BIG5字符集等。計算機要準確地處理各種字符集文字,需要對字符進行編碼,以識別和存儲各種文字。隨著中文信息處理技術需求的不斷發展,國家標準總局發布了一系列的“信息交換用漢字編碼字符集”。但由于各國文字都有自己的字符集編碼,不同編碼體系之間碼位重疊,相互引起沖突,在Web等多語言環境中就會造成無法使用或出現亂碼。
Unicode作為國際組織制定的可以容納世界上所有文字和符號的字符編碼方案,也稱統一碼、萬國碼,實現了跨語言、跨平臺的文本轉換及處理。Windows、Linux等主要操作系統及.Net、Java等主流編程語言都提供對Unicode編碼的支持。目前,Unicode字符集包含了7萬余漢字,并且仍在不斷地擴充中[1]。所以從理論上講,只要在字符集中存在的字符,就可以被顯示,而集外字符,則形成缺字現象。但事實上,很多中醫古籍數字化系統的集內字亦存在大量缺失,一方面是因為采用相對較小的字符集編碼存儲漢字,另一方面主要還是由于字庫與輸入的缺失造成的。
字形是字符呈現的形狀,按照一定的編碼順序以矢量或點陣等方式存儲在字庫中,不同的字庫表現出不同的字體。以Windows操作系統為例,當計算機需要顯示一個字符時,首先識別該字符被存儲的數值代碼,然后將此代碼轉換為Unicode編碼,再根據此編碼到指定的字庫中尋找對應的字形,最后將字形顯示在屏幕上。如果字庫中沒有該字符對應編碼的字形,則以缺字的符號顯示。如常用的“宋體”、“楷體”、“黑體”等字庫,其編碼范圍都在 Unicode碼位的4E00~9FBF區2萬余漢字內,因此對于20000~2A6DF等區域的漢字就不能進行顯示,而“方正超大字符集字體”、“海峰超大字符集字體”等支持Unicode超大字符集的字庫就可以正確顯示7萬多漢字。
應用網絡版中醫古籍數字化系統的用戶,其計算機上不一定裝有支持超大字符集的字庫,因此即便是服務器上的文件系統都使用 Unicode字符集編碼存儲,在用戶的計算機上仍然不能顯示相應的字符而表現為缺字現象。這個問題可以通過提供相應字庫下載的方法得到解決。
在確定字符集編碼存儲方式和選擇正確字庫后,仍然會有大量的缺字現象出現在各種古籍數字化項目中,主要原因在于輸入階段的不可控性。因為中醫古籍的數字化進程,是一個長期、大型的多人協作項目,無論是通過人工打字,或是OCR軟件識別,都會存在錄入與校對人員素質的參差不齊,使得一些不常見到、難以辨認音義的生僻字被直接忽略,或是做上標記等待后續處理。而通用的輸入法,如搜狗、百度、紫光等,并不支持4E00~9FBF區以外的漢字輸入,所以在古籍數字化處理過程中,就會出現很多所謂打不進去的字。因此,當碰到一個難以輸入的字符時,可以換用一些支持Unicode超大字符集的輸入法,如逍遙筆、海峰五筆等,也可以使用一些在線工具,如漢典網、書同文巧筆等。雖然輸入方式的選擇本屬于細枝末節,但這一環節對于古籍全文錄入的質量控制,卻有著至關重要的影響,不可輕忽。
通過上述步驟,正確使用字符集、字庫和輸入方式后,中醫古籍數字化中常見的缺字現象,如“白”、“脹”、“痛”、“咀”、“蟲”、“解”、“蟲”等屬于Unicode字符集CJK統一表意符號擴展A、擴展B區的生僻字,都可以正確地輸入、顯示與檢索,大大減輕了數字化系統對缺字處理和管理的難度。
由于任何字符集與字庫的收字范圍都有一定的限度和時間性,故對于超出現有Unicode字符集的字符,需要有缺字處理方案,能夠既滿足現階段實際應用,又可以隨著字符集的擴充而自動替換。遺憾的是,下列所述4種缺字處理方案,都有各自的不足,需要進一步完善。
Unicode在基本面 E000~F8FF私用區、輔助面F0000~FFFFD增補私用A區、100000~10FFFD增補私用B區,設置了13萬余碼位,用于集外字的造字編碼。這個方法在提供所造字字庫的情況下,能夠與文中其他字符無差別地顯示所造漢字,并支持檢索,因此很多商用古籍數字化項目都使用這種方法。但如果用戶同時使用多個數字化項目,并需要對這些項目的數據進行利用整合,則會引起私用區編碼的沖突,產生張冠李戴的字形顯示,或對同一字符重復編碼,造成混亂。在互聯網模式下,私用區造字法存在通用性上的不足。
使用插入集外字符的字形圖片,可以得到正確的顯示,也可以進行數據整合,是一種較為簡易快捷的方法。但存在難以檢索、字體格式與文中其他字符難以保持無差別顯示的不足,限制了此法的應用。
使用在規定標記內自然語言描述集外字符的方式,如{左足右行}、{上山左下弓右下殳}等,一般用于生僻字輸入的預處理階段,可以粗略地滿足輸入、顯示和檢索的需求。但這只是一種非正式、非常規的替代方案,畢竟在顯示上與原字符存在差距,而且自然語言在描述上有較大的隨意性,故檢索的不確定性也隨之增加。
Unicode在2FF0~2FFB區定義了12個表意文字描述符,使用這些標準化的描述符序列對漢字的構造進行說明,解決了自然語言描述法的不規范性,并可利用動態組字軟件輸出所描述字符的字形。動態組字法[2]可以解決集外字的輸入、顯示與檢索,但需要額外的軟件支持,并且字形與原字符也存在一定的差距。
上述的幾種方案都存在著某些局限性,目前尚沒有一種很好的方案可以綜合解決集外字的缺字問題,需要根據不同的應用環境靈活選擇。
通過以上幾種方法,基本可以滿足以閱讀和一般檢索為主的中醫古籍數字化系統的需求。但由于生僻字的難讀、難懂,且存在大量的異體字、俗體字等字形變化,給研究者造成閱讀和理解的障礙,所以還需要一定的研究支持功能,完成對生僻字的音義注釋、異體俗體字間的相互轉換,做到可以索引并重復使用,避免重復注釋的繁瑣勞作和遺漏。這些功能可以通過字詞間的動態映射表完成。
總之,中醫古籍數字化建設中,生僻字的處理是一項基本而又關鍵的技術,需要前期輸入的改進與后期研究功能的支持,需要進行不斷的完善,使中醫古籍數字化規范化發展,使中醫古籍作為中醫藥知識寶庫,更好地發揮指導臨床和新藥研發等社會效用。
[1]Unicode協會.Unicode 5.0標準[M].孫偉峰,李德龍,譯.北京:清華大學出版社,2010:365-389.
[2]肖禹,王昭.動態組字的發展及其在古籍數字化中的應用[J].科技情報開發與經濟,2013,23(5):118-122.
Investigation of Digitization of Rare Words Processing in Ancient Traditional Chinese Medicine Literature
Gao Jingjing
(Institute of Traditional Chinese Medicine of Zhejiang Province, Hangzhou Zhejiang 310007, China)
Digitization of rare words processing in Ancient Traditional Chinese Medicine(TCM) literature is a basic and key technology. The prevailing phenomenon of missing words creates obstacles to reading and research of ancient TCM literature. The article analyzed the cause of missing words, offered solutions, and discussed processing methods of missing words out of the character set from the aspects of character set, font, and input methods.
ancient TCM literature; digitization; rare words
10.3969/j.issn.2095-5707.2014.03.009
浙江省科技計劃項目(2011F10019)
高晶晶,主治中醫師,研究方向:中醫古籍數字化整理。E-mail: gaojingjing1012@163.com
2014-02-28,編輯:魏民)