2014年11月18日 星期二

國際電腦漢字及異體字字典

隨著兩年多來閱讀詩經的持續進行,我對這些古老詩歌的閱讀深度也自然而然地逐步加強。有時候我會翻遍手邊所有的辭典,只為了對某一個單字或複詞的意義有更深入的理解。這時候,我自己收集製作的七、八部離線辭典通常就能幫上大忙,讓我可以方便、可靠地查到我想要找的資料。不過現有的幾部主力辭典基本上收字都侷限在 BIG-5 碼定義的一萬三千多字(例如:教育部重編國語辭典修訂本---單字 11199、遠流活用中文大辭典---單字 10417、漢語大詞典3.0---單字 13069),許多古籍裡的異體字、罕用字就幾乎都查不到,這也讓這個有力的閱讀輔助工具總有那麼一點美中不足。

目前異體字收錄最多最齊全的當屬 教育部異體字字典,號稱收錄有十萬多漢字,但它有大量的異體字(以手寫圖片呈現)目前沒有電腦字可以對應,要想整理成全文字化的離線字典,難度很高。另外一個就是中央研究院的 國際電腦漢字及異體字知識庫,它收錄了七萬多漢字,幾乎已包括了目前大部分的 Unicode 字。由於可對應至 Unicode,這也就表示應該有機會能純文字化,於是我想:能不能把這些資料也整理成離線字典,這樣我的離線辭典群所缺的那一塊就能給補上了?

做了點網站結構的分析研究後,認為應該可行,於是我便開始動手製作。

首先用我自己寫的批次下載工具花了好幾天的時間(通常我會刻意放慢命令的執行速度,避免影響到別人對該網站的正常存取),自動把所有的資料收集下來(共計 146591 個網頁)。再用我自己寫的批次合併工具把所有的資料給合併起來(接近 2GB 的資料量),然後就開始了漫長的整理過程。

刪除空字、重複字,將 "圖片字連結" 解碼還原成純文字,拔除所有的 HTML 標籤、重新排版,將數百處使用者造字、構形表示式還原成 Unicode 字,修正幾百處注音標示錯亂(原網站注音出現圖片叉叉的幾乎都是這個問題,例如:㜪、㜵等字。由於錯誤數量不少,使用這個網站時一定要小心,注音標示參考就好,最好能參酌其他資料來確認)跟錯字,歷時近兩個月,最後整理成了一部 "國際電腦漢字及異體字字典"。經過我這樣的整理跟修正,手邊的這份資料可能都要比原網站更加正確、更有可用性了(原網站的字頭、注音都是用圖片表示,想要參考取用時沒辦法直接複製成純文字)。

這部離線字典共收有 78685 個字,其中包括 Unicode 碼字頭 70192 個、BIG-5 碼字頭 215 個、CNS 碼字頭 5966 個、漢語大字典字頭 2312 個,另外有說明字形演變的甲骨文、金文、篆體的圖片 11579 張(其中 512 張為空白,原網站即如此)。共分為兩個檔案,"國際電腦漢字及異體字字典.mdx" 是主要辭典內容,大小為 5.2MB;"國際電腦漢字及異體字字典.mdd" 是古字圖片資料,大小為 15.7MB。另外值得一提的是網站含有的 27645 則字義解釋,其實是參照自 "漢語大字典" 去掉書證後精簡而來(我在還原那些看不見的使用者造字時,便是比對漢語大字典的紙本來修正)。

完成後的實際查詢效果如下:


 異體:  𠔱 𢄖 (c)
UNICODE:U+7570 BIG-5:B2A7CNS11643T1-5C2C 漢語大字典:4-2540-05部首 總筆畫11注音ㄧˋ拼音通用:yi4
【義】(1) 分開。(2) 不同。(3) 其他;別的;另外的。(4) 不平常的;特別的。(5) 怪異;奇怪。(6) 怪異的事物。(7) 違逆;叛離。(8) 佛教用語。變化。(9) 姓。
【形】 甲骨文/合集29395 金文/集成02838/金文詁林索引3.304 楚系簡帛文字 小篆/說文
【詞】優異日新月異異樣特異奇異怪異詭異卓異驚異訝異駭異變異差異歧異大同小異迥異見異思遷奇珍異寶神異異鄉異葉楊異養微生物異丙腎上腺素異煙肼亞硝酸異戊酯奇裝異服


順便再補充說明一下,原網站認為某些字在不同編碼下的字形是不同的,例如上面實際查詢的例子中,"異" 的異體字 "异",原網站用 來表達 Unicode 編碼的 "异" 字,用 來表達 CNS 編碼的 "异" 字,而二者互為異體字。為了純文字化,我最後決定放棄去呈現這樣字形上的不同(目前的電腦字無法同時去呈現如此的差異),完全以 Unicode 字為主,直接用 "异" 字來呈現,而 CNS 編碼則用 "异(c)" 來呈現。同理,所有的 BIG-5 碼字頭加上 (b) 來標示,漢語大字典字頭則加上 (h) 來標示。這樣的處理雖然喪失了某些原先編撰者想呈現的細節,但實用上影響還不算太大,不得已只好權宜如此。

有了這部 "國際電腦漢字及異體字字典" 後,某種程度上填補了目前辭典群資料的不足,我讀起書來又更添助力了。最後還是要感謝中央研究院多年來將許多研究的成果公開給大家參考使用,功莫大焉。



7 則留言:

  1. 先生您好:我最近也在做【國際電腦漢字及異體字知識庫】的离线词库,有一个问题想向您请教一下:对于同一个字有不同的显示您是怎么处理的呢?
    比如【㑤】字的【艹】草字头,还有一种显示为【十十】(这个部首我打不出来,所以用两个十代替了)。但是在我们用的字体里并没有这种区分。而【 國際電腦漢字及異體字知識庫】里面是有两条独立的词条。
    对于这种词条您是直接去掉一条,还是用了其它的处理方式呢?

    回覆刪除
    回覆
    1. 您好:

      不好意思,留言現在才看到(似乎又不會e-mail通知我了)。我在倒數第二段的說明,正是您描述的情況,請自行參考。其實不必拘泥於我的作法如何,您大可依照您自己的需求、看法來處理,不是嗎?呵呵!

      刪除
    2. 感谢先生的解惑,抱歉现在才回复,由于我对字符编码没有什么研究,最后只保留了一个,不过还是您的处理方式更为合理。词典其实两个月前就处理好了,现在还剩下5000多个图片文字需要文字化处理。(按原计划每天处理100个,2个月就可以完成,但自己太懒,估计还得放一放)

      刪除
  2. 你好,由於讀書的需要,請問國際電腦漢字及異體字字典mdd,可以在哪裡下載呢?

    回覆刪除
    回覆
    1. 您好,很抱歉,由於該網站的"智財權聲明" 有提到:「除另有約定外,任何人不得逕自使用、修改、重製、公開播送、改作、散布、發行、公開發表、進行還原工程、解編或反向組譯。」、「本網站內容僅授權個人在非商業目的的情況下瀏覽、使用。」為尊重版權方,所以這部辭典我並未提供分享、下載。

      其實對我來說,近幾年來這部辭典的異體資訊漸漸被我製作的另一部 "電腦漢字基本資訊字典" 所取代,該辭典的資料來源是 "字形維基" 網站,異體字的資訊更為豐富、完整,有機會我會另文介紹。

      刪除
  3. 谢谢分享,電腦漢字基本資訊字典 也分享了么?好像没看到

    回覆刪除
    回覆
    1. 您好!不知您是指哪一部字典?如果是我曾做過的《電腦漢字基本資訊字典》,後來我加了資訊改名叫《電腦漢字字典》,不在這一帖,在《電腦漢字字典》那一帖分享。

      刪除