仓颉系统
汉字检索的问题
台湾虽然亦有以注音符号串行作检索,但日常应用仍以部首检字为主;香港的电话簿虽然亦有提供粤音姓名检索,但日常使用,仍然以部首检字法或纯綷笔划检字法为主,这从现时香港小学的电脑认知课程主要教授九方输入法及仓颉输入法而可得知。
汉字检索的最大难题,是不管用甚么方法来实行,都要面对重码的问题。
仓颉系统方案
朱邦复在发展仓颉输入法时,原意是要发展「中文检字法」,使汉字具有「序位观念」,使中文能像拼音文本一般,用少数字母找到所有汉字。仓颉输入法的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。