摘要:中醫古籍,數字化生僻字的處理,是一項基本而又關鍵的技術,目前普遍存在缺字的現象,給中醫古籍的閱讀和研究造成障礙。本文分別從“字符集、字庫、輸入法”等方面,分析了集內字缺字產生的原因和解決方案,并探討了集外字的處理方法。
中醫古籍,承載著祖國醫學數千年文明的綿延,是中醫學傳承、發展、創新的源頭活水。中醫古籍數字化,可以通過全文錄入與網絡共享,解決中醫古籍作為一種不可再生資源而存在的借閱困難、容易損傷的問題,對比傳統的手工檢索,又極大地提升了查詢的效率,使中醫古籍得到了更廣泛和更有效的利用,近年來頗受重視,發展迅速。在數字化進程中,對生僻字的處理,直接影響到古籍閱讀的質量和檢索的效果,目前存在的問題主要是缺字現象。對于傳統的紙質版發行與單機版的數字化,缺字可以通過自己造字或圖片替代的方案解決。但是對于全文網絡版數字化,使用自造字會在通用性上受到限制,而圖片替代則導致檢索困難,其解決方案需要進一步的研究與探討。
一、字符集與編碼:
字符集,是各種文字和符號的集合,如包含英文字母的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種缺字處理方案,都有各自的不足,需要進一步完善。
1、使用私用區造字法:
Unicode,在基本面E000~F8FF私用區、輔助面F0000~FFFFD增補私用A區、100000~10FFFD增補私用B區,設置了13萬余碼位,用于集外字的造字編碼。這個方法在提供所造字字庫的情況下,能夠與文中其他字符無差別地顯示所造漢字,并支持檢索,因此很多商用古籍數字化項目都使用這種方法。但如果用戶同時使用多個數字化項目,并需要對這些項目的數據進行利用整合,則會引起私用區編碼的沖突,產生張冠李戴的字形顯示,或對同一字符重復編碼,造成混亂。在互聯網模式下,私用區造字法存在通用性上的不足。
2、圖片替代法:
使用插入集外字符的字形圖片,可以得到正確的顯示,也可以進行數據整合,是一種較為簡易快捷的方法。但存在難以檢索、字體格式與文中其他字符難以保持無差別顯示的不足,限制了此法的應用。
3、自然語言描述法:
使用在規定標記內自然語言描述集外字符的方式,如(左足右行)、(上山左下弓右下殳)等,一般用于生僻字輸入的預處理階段,可以粗略地滿足輸入、顯示和檢索的需求。但這只是一種非正式、非常規的替代方案,畢竟在顯示上與原字符存在差距,而且自然語言在描述上有較大的隨意性,故檢索的不確定性也隨之增加。
4、動態組字法:
Unicode,在2FF0~2FFB區定義了12個表意文字描述符,使用這些標準化的描述符序列,對漢字的構造進行說明,解決了自然語言描述法的不規范性,并可利用動態組字軟件輸出所描述字符的字形。動態組字法[2]可以解決集外字的輸入、顯示與檢索,但需要額外的軟件支持,并且字形與原字符也存在一定的差距。
上述的幾種方案都存在著某些局限性,目前尚沒有一種很好的方案可以綜合解決集外字的缺字問題,需要根據不同的應用環境靈活選擇。
五、研究支持功能:
通過以上幾種方法,基本可以滿足,以閱讀和一般檢索為主的中醫古籍,數字化系統的需求。但由于生僻字的難讀、難懂,且存在大量的異體字、俗體字等字形變化,給研究者造成閱讀和理解的障礙,所以還需要一定的研究支持功能,完成對生僻字的音義注釋、異體俗體字間的相互轉換,做到可以索引并重復使用,避免重復注釋的繁瑣勞作和遺漏。這些功能可以通過字詞間的動態映射表完成。
總之,中醫古籍數字化建設中,生僻字的處理是一項基本而又關鍵的技術,需要前期輸入的改進與后期研究功能的支持,需要進行不斷的完善,使中醫古籍數字化規范化發展,使中醫古籍作為中醫藥知識寶庫,更好地發揮指導臨床和新藥研發等社會效用。