倉頡系統
漢字檢索的問題
台灣雖然亦有以注音符號序列作檢索,但日常應用仍以部首檢字為主;香港的電話簿雖然亦有提供粵音姓名檢索,但日常使用,仍然以部首檢字法或純綷筆劃檢字法為主,這從現時香港小學的電腦認知課程主要教授九方輸入法及倉頡輸入法而可得知。
漢字檢索的最大難題,是不管用甚麼方法來實行,都要面對重碼的問題。
倉頡系統方案
朱邦復在發展倉頡輸入法時,原意是要發展「中文檢字法」,使漢字具有「序位觀念」,使中文能像拼音文字一般,用少數字母找到所有漢字。倉頡輸入法的26個字碼「日月金木水火土…卜」,其實正如同拉丁字母的26個字母「ABCDE…XYZ」、日本語的五十音序等,是有序的排列,可用於檢索漢字,是以稱作「倉頡字母」。
事後他進一步擴充系統,提出漢字基因理論。由於字根都依漢字形聲字特性分析得來,故若在電腦上運用這套方法,將有以下六大用途:
- 1.字碼
- 倉頡碼可用於漢字之輸入,即倉頡輸入法。
- 2.字序
- 倉頡碼有一定的排序規律,漢字也可如同英語般快速地排序、查詢、檢索。
- 3.字形
- 將倉頡碼輸入「向量字形產生器」後,可組合成漢字,顯示於電腦螢幕或用於列印。
- 4.字辨
- 把掃描所得的漢字點陣資料輸入,轉換為向量,分析其中的倉頡字根,可得出倉頡碼。這種由「形」得「碼」的過程就是文字辨識。
- 5.字音
- 大部分的漢字具有形聲的特質,因此將輸入的倉頡碼的字身分析出來,通常可代表該漢字的聲部,即讀音,可用於語音辨識。(但實務上,很多漢字發音已變,須另外處理。)
- 6.字義
- 由「倉頡碼」可分析出字首和字身,能夠透過程式組合出漢字字義,可供電腦「理解」人類常識,甚至和人類溝通。
倉頡系統即是將上列六大要素綜合考慮而發展出的電腦系統。
所解決的問題
倉頡系統可解決下列各種問題:
缺字和儲存問題
電腦系統會有缺字問題,除了漢字的編碼和查對曠日費時以外,字集的儲存空間也是一大考量因素。目前主流的輪廓字體中,Times New Roman約佔400KB,收字不足1,500;新細明體和細明體共約8.6MB,收字不到23,000字;標楷體約5.1MB,收字亦不到23,000。相較於拼音文字,由於漢字所需的儲存空間龐大,許多小型的電子儀器不是無法收入漢字,就是缺字嚴重,如電子辭典、手機、各式醫療電子儀器等等。
由於倉頡碼有字首、字身的訊息,漢字字形產生器可根據輸入的倉頡碼,把字根自動組合為字形,無需把每個字的字形逐一儲存,大大減少所需記憶空間。由於輸入輸出統一以倉頡處理,取碼與輸出字形相符。
朱邦復在1995年開發的「漢字字形產生器」是依輸入的倉頡碼組合成字。該系統本身收錄了已存在約六萬古今漢字(字首約六百,字身約一萬);並且可根據倉頡組字規則類推,依已有的字首、字身組合出「新字」近一千萬。此系統共佔160KB,在處理器速度450兆赫的電腦上,每秒可產生及顯示16×16之字型46,000個。字體有明、黑、圓、宋、楷、隸等,並且能任意變化大小、筆劃粗細、筆劃填充。與當今字集相較,其效率相當驚人。[1][2]
實際應用
朱邦復依倉頡系統的概念,設計出以下幾套系統:
聚珍整合作業系統
聚珍整合作業系統於1989年推出市場,使用第五代倉頡,提供符合漢字結構的字數百萬,有七萬為實際用字,整個系統連同各種程式只佔450KB。因此,當系統發售時,一個A4紙長寬、十厘米高的盒子裡,主要是使用手冊,而整個系統只佔用一片軟碟片。即使是當時市面上功能最差的個人電腦,亦可以順暢地運行。
人文系統
「人文系統」是一套於1999年起發展的非作業系統,且不對外發售。其為建構在MS-DOS上的軟體系統,並由兩項系統組成:
- 具圖文功能的「圖文系統」;
- 漢字處理功能的「倉頡系統」。
此系統是首套使用第六代倉頡(又稱蒼頡)的系統。由於有字序,即使資料庫巨大,查尋速度仍然很快。靈活的字庫,也讓生僻字能如常處理。倉頡系統的優點得到發揮。
這套系統現時有北京的欒貴明教授用來建構其收錄中國歷代文獻的,成品為漢文史資料庫。
明珠中文系統
脫胎自聚珍中文系統,含明珠中文小字庫。
理解系統
理解系統是倉頡系統的一部分。該系統將漢字使用4位元組的固定長度編碼,其中有1個「分類字元」,1個「區別字元」,和2個「定義字元」。採用固定長度編碼的目的是為了能夠快速方便地檢索。
在「分類字元」中,朱邦復將漢字用二分法進行多次的「概念分類」,以定義漢字的字義:[4]
上圖顯示將概念分為三十二的結果。舉例而言,「逃」為主觀-行為-生存-體能,故前5碼為11001。
32類各可再細分為八,共有256類,剛好可用1個字元代表,如「體能」的詳細分類為:
C8行動:進退赴去往返來達蒞渡旅行巡到出入 C9走動:走踱跑跨邁超步越馳奔凌 CA體動:扒攀登游泳泅涉仆跌撲爬拐 CB追動:躲避竄逃遁追趕攆驅逐排 CC腳動:踏踩踹蹬踢跳蹦踐躡蹈蹴跺躍 CD姿動:仰俯伏跪坐鞠躬蹲踞躺臥趴站立佇 CE互動:摟擁抱掙扎攔擋妨礙遏絆剎 CF電腦:(電腦功能)
其中「逃」屬「追動」類,編碼為CB。
「逃」的「區別字元」定義如下:[5]
位元1及2 有四種組合,表示危險性之程度,逃字設為1,優先性不高,此類條件由主體自行判斷。 位元3 表示字首之關係,設為1,凡屬1者,皆需查字首「辵」之說明。 位元4及5 文字結合型態為「靜態」、「始態」、「終態」或「連續態」。 位元6 表示是否可做為姓,設為0,表示否定。 位元7 能否作單位用,設為0,表示否定。 位元8 有無延伸定義,設為0,表示否定。
「逃」的「定義字元」定義可參考下表:[6]
位元1 移動之方向兩種:固定/無關。 2,3 速度之快慢四種:急/緩/正常/無關。 4,5 位移之對象四種:接近/遠離/比較/無關。 6 動作之連續兩種:連續/否。 7,8 動作之能量四種:大/常態/小/無關。 9,10 行為之態度四種:緊張/謹慎/從容/無關。 11 行為之影響兩種:嚴重/無關。 12 行為之隱祕兩種:需要/無關。 13~16 暫未定。
如此一來,32個位元便能表達無數多種的漢字字義,空間和時間效率都很高。舉例來說,若要判斷「逃」是否屬於「生存類」,比對前3個位元是否等於110即可。
倉頡系統係採用組合語言寫成,可針對輸入的文句產生聯想推理的「概念網絡」,根據這些對漢字的定義編碼進行高速的複雜運算,進而理解一段中文的意思。[7]
倉頡碼延伸的應用
對倉頡系統的評價
註釋
- 漢字基因 朱邦復 漢字基因工程(三) (页面存档备份,存于)(繁體中文)
- 奇特的「漢字字形產生器」 (页面存档备份,存于)(繁體中文)
- 《中文電腦漫談 (页面存档备份,存于)》
- 分類表自朱邦復提出後,進行過數次修改。此表取自《智慧之旅 (页面存档备份,存于)》一書第四部「七、概念」。尚可在其他著作中找到不同的分類表: (页面存档备份,存于)、 (页面存档备份,存于)、 (页面存档备份,存于)、 (页面存档备份,存于)
- 關於四態之說明見:《智慧之旅 (页面存档备份,存于)》第四部「八、秋分」。
- 《智慧之旅 (页面存档备份,存于)》第四部「六、白露」。
- 漢字基因工程(八) (页面存档备份,存于)(繁體中文)
- 朱邦復:中文直接轉成動畫 (页面存档备份,存于)(繁體中文)
- 中文攝製劇本與「三維動畫」並非空談 (页面存档备份,存于)(繁體中文)
- 《資訊科技的未來 (页面存档备份,存于)》
- 朱邦復工作室已經完成了很多動畫,例如在fooooo搜尋引擎 (页面存档备份,存于)上可找到很多:
- 漢字基因
- 上海交通大學漢字編碼組,上海漢語拼音文字研究組編著。漢字信息字典。北京市科學出版社,1988。
- 宋柔,林民,葛詩利。漢字字形計算及其在校對系統中的應用,小型微型計算機系統,第29卷第10期,第1964至1968頁,2008。
- http://dx.doi.org/10.1145/1967293.1967297 Chao-Lin Liu(劉昭麟), Min-Hua Lai(賴敏華), Kan-Wen Tien(田侃文), Yi-Hsuan Chuang(莊怡軒), Shih-Hung Wu(吳世弘), and Chia-Ying Lee(李佳穎). Visually and phonologically similar characters in incorrect Chinese words: Analyses, identification, and applications, ACM Transactions on Asian Language Information Processing, 10(2), 10:1-39. Association for Computing Machinery, USA, 2011.
- 詳見同文-漢文史考證文庫 (页面存档备份,存于)介紹。
- 正體中文網-動態組字QA (页面存档备份,存于) (繁體中文)
- 原文章說極限值是為26⁵=11881376,但根據蒼頡檢字法的資訊,應為32⁵=33554432。