文獻處理實驗室 論文目錄

「第二次兩岸古籍整理研究學術研討會」,北京大學,北京,1998年5月11-13日

中央研究院古籍全文資料庫解決缺字問題的方法

Page 3 of 8

壹、前言

解決缺字問題的理論部份,業已發展完備【1,2,3,4】。依此理論首要之務是解決缺字在電腦中的表達,即給予各缺字一個識別碼,並解決缺字的輸出入和後續處理等問題,以達成盡量減少文件中缺字的目標。此系統和目前所有的字碼均可相容,只要在各現有的造字檔中,加入適當的部件及運算符號約六百個,即可利用組字式來表達缺字,組字式分為構字式、部件序及缺字序號。以下,謹為此法作一簡介。

一、部件

當一個形體用來構成某字形的一部分時,我們稱該形體為某字的部件。如: 「日」、「京」是「景」的部件;「景」、「頁」是「顥」的部件;「顥」是「灝」的部件;又如:「圍」的部件有「囗」和「韋」。是故,部件是漢字的構形單位。部件是有層次的,如:「顥」可拆分成「景」與「頁」,「景」又可拆分成「日」、「京」。部件裡有的是字,有的不是字(是不是字是相對於某字集而說的)。最後不再拆分的最小形體叫作字根。

漢字最常用的構字方法為橫連()、直連()與包含()。如將上例寫作:『灝=艣V』,『顥=景糬間z,『景=日顐吽z,『圍=囗颻部z,則這些式子稱為「構字式」。在本系統中,一個構字式裡只能有一個拆分的符號,是故,構字式十分簡潔。再者,對缺字而言,構字式表達的是一個唯一的字形,不會與其他文字混淆;因此,以構字式作為缺字的識別碼(identifier)十分理想。

茲以金剛經經文為例,『爾時世尊食時,著衣持金禰說A入舍衛大城乞食,於其城中,次第乞已,還至本處。飯食訖,收衣金禰說A洗足已,敷座而坐。』 文中的「金禰說v即是一個用部件所表達的缺字;「金禰說v不僅是此缺字的字碼,也指出了此缺字的字形結構。

我們拆分了四萬多字,並把這些構字式存放在字形資料庫裡。依此統計,橫連()的字約佔70%,直連()的佔21%強,包含()的佔9%弱。構字式在字形資料庫中可以表達字形的孳乳,每個字根都孳生出一棵字形的家族樹。

根據林樹字集分析而得的部件集(以下稱林樹部件集)共2,150個。從林樹字集觀之,是字的(即在林樹字集中原已有的字)共1,452個,不是字的則有698個【4】。這698個是要增入五大碼中的。然而,此698個字形使用的頻度並不一致,如下表所示:

表一:林樹部件集中非字部件的使用頻率統計

累計頻度

部件數(%)

累計部件數(%)

造字數(%)

累計造字數(%)

0~90%

628(29.21%)

628(29.21%)

182(26.07%)

182(26.07%)

90%~99%

662(30.79%)

1290(60.00%)

193(27.65%)

375(53.72%)

99%~99.9%

345(16.05%)

1635(76.05%)

89(12.76%)

464(66.48%)

99.9%~100%

515(23.95%)

2150(100.0%)

234(33.52%)

698(100.0%)

若希望99.9%的字都可由構字式組成(即留下0.1%的殘留缺字用其他的方法解決,以增進系統之效益),則吾人可省去207個非字部件(因234個非字部件中有27個是字根,而字根仍需完整保留,故234-27=207)。又,在464個非字部件中(即滿足99.9%條件所應加的字形數)﹔有22個字根重疊的字形,如下:

鶪f I 穭P 鶪H A D 鶪 鶪g 鶪x
鶡 鶪 鶪 巋^ 鶪O 齯f 鶪S 鶢 鶗 鬗S ~

這些以字根重疊而成之字形可用方便符號表示,不需另造新字,是故林樹部件集經上述最佳化後,需外加的總字數為464-22+27=469個,此469個非字部件如[表二]所示。

以上述的林樹部件集為基礎,將字集擴大至五大碼(Big-5)字集,並校以康熙字典214部首,及周何等導出的聲母869個,形母265個【5】, 將林樹的部件集擴大至2,370個字形,稱為五大部件集。在五大部件集中,1,801個字形已為五大碼所收錄,非字者(在五大碼之外的字)有569個,五大部件集的全部字形則詳如附件一。至於簡筆字所需增加部件,共只有179個,目前因來不及造這些字形,並未加入 [表二] 林樹部件集中。

表二:林樹部件集中之469個非成字部件 (依使用頻度排序)

@ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ m @ A B C D E F G H I J K L M N O P Q R S T U V W X Y Z [ \ ] ^ _ ` a b c d e f g h i j k l m n o p q r s t u v w x y z { | } ~ n

二、部件序

讓我們先來看兩個例子,第一個例子是「牖」字,此字無法用構字式表示,因為構字式限定只能用一個運算符號。「牖」字的左邊為「片」,右邊的「戶顙j」並不在五大碼中,字形組合的方式是『牖=片(戶顙j)』,其中同時用到兩個運算符號,所以不符合組字規則一。(其實部件「戶顙j」在我們系統中原是一個部件,然而因為使用度太低而被刪除)。第二個例子是「奭」字,由「大」、「百」、「百」三個部件組成,但是卻無法採用橫連、直連或包含的方式來分解。

當缺乏適當的部件,如:「牖」字; 或缺乏適當的運算符號時,如:「奭」字,則可完全摒除運算符號,用部件序來表示。此時,直接按照書寫的順序將部件打出,(次序不同也沒啥關係,因在計算機中均將化成字根式來識別。) 並在前後加上起始「」及終結「」標示(Tagging)。例如:『牖=片戶甫』,其中「」及「」也是自創的符號。要注意的是『牖=片戶甫』中,部件「片」、「戶」、「甫」出現的順序按照書寫的順序較好。如此,在表示缺字時,可以方便往後校對。

本系統的設計是以使用者方便為首要考量,這也是前文中刪去0.1%使用度207個冷僻部件的原因之一,因為即使系統中有這些部件,輸入的人都不一定會熟稔其形和輸入碼。為了同樣的原因,亦允許用部件序來表示缺字,下一節中,將再提出一些好用的方法來減底使用時之困難。

三、方便符號與從缺符號的運用

並不是所有的缺字,都可以利用上述的規則打出來,這些缺字中有可能出現一個部件都沒有提供或是不知道如何輸入的情形,所以再造一個符號「」,表示從缺,例如:『竊=穴釆』。目前,一個組字式中,最多只允許出現一次從缺符號。若是使用倉頡輸入法的人,或許會覺得「」與倉頡中的「難」有些類似。

為了方便輸入,另外還造了一些方便符號。方便符號需放在部件的前頭,如:「鶠v表示兩個相同的部件橫連(例如:『兢=鶚J』);「禲v表兩個相同的部件直連(例如:『戔=穭遄z);「齱v表三個相同的部件橫連,(例如:「囓h」,中文大辭典編號3171);「驉v表三個相同的部件直連,(例如:「髐寣v,中文大辭典編號12029);「騿v表三個相同的部件三角頂立(例如:『轟=魒恣z);「」表四個相同的部件橫連;「」表四個相同的部件直連;和「龤v表四個相同的部件分佔四方(例如:『燚=糷鶠z)等。

從缺符號和方便符號是可以用於構字式,如此可擴大構字式的適用範圍;例如,原先只能用部件序表達的字即能改為構字式,如:『瞿=鶗颸A』、『俎=穭H禰B』、『桑=鬗S韙魽B『啜=口糷S』等。方便符號也可用於部件序中,讓組字更為方便,例如:『歠=糷S酉欠』。方便符號也讓一些字的組字式既不需橫連、直連及包含符號,也不需起始及終結標記,例如:「驤翩v(中文大辭典編號47603)。

四、缺字序號

會不會有些字,連一個部件都拆不出來?有的,在中文大辭典49,905個字中,就有約二千字很像圖形,幾乎無法拆分,這時候就得利用缺字序號來識別他。缺字序號的型式如同部件序,需要用<起始>和<終結>的標示,但是標示中的部件改為編號,如:『5』表示這是第五個無法利用前規則表達的缺字。

五、其他的標示

我們正在設計一些其他的標示來表示異體字和異寫字【6】,包括多一筆、少一筆等的變異在內。原則上,不讓異體字佔碼位。本系統中有管理異體字的資料庫,異體字的字形則利用字體庫(font library)來顯示。


Page 3 of 8
上一頁

論文目錄

下一頁

文獻處理實驗室