基于造字机理的甲骨字生成技术研究
2022-04-22吴琴霞赵红丹
吴琴霞,赵红丹
(1.安阳师范学院 计算机与信息工程学院,河南 安阳 455000;2. 甲骨文信息处理教育部重点实验室,河南 安阳 455000;3.河南省甲骨文信息处理重点实验室,河南 安阳 455000)
文字是人类最伟大的发明,它是人类思想的反映,也是历史事件的直接记录。甲骨文是世界四大古老文字之一,是汉字的源头、中华优秀传统文化的根脉。随着计算机科学技术的发展,甲骨文的研究也与时俱进。近年来,不少学者将人工智能、大数据分析、深度学习等技术应用到甲骨文的研究中,当甲骨文与现代科技相结合,使得甲骨文信息化建设成为现实。现在,已有若干个甲骨文信息化数据平台开发完成,如安阳师范学院甲骨文信息处理教育部重点实验室与中国社会科学院甲骨学殷商史研究中心合作建设的“殷契文渊”、香港中文大学的“汉达文库”等,都采用了计算机技术建成了甲骨文信息化平台,为广大研究者提供了极大便利[1]。但大多专家学者在研究甲骨文信息化方面存在一些误区:1)重视甲骨字字形、字音和字意的考证。把甲骨字信息处理看作对知识的处理,而没有将甲骨字本身看作一种信息;2)重差别轻统一。甲骨字存在大量的异体字,重视每个甲骨字字形差别和构字部件差别,忽视甲骨字形体结构和构字部件之间的统一性[2];3)重理论轻系统,重视把甲骨字研究的经验运用到信息处理当中,而忽略信息处理的系统性。这样使得甲骨文信息处理变得零碎和烦琐,数据信息无法通用,存储和处理的数据巨大[3-4]。
随着人类对客观世界认知的不断增强,语言文字随之产生。甲骨字字形构成的思维范式体现了人类对客观世界认知的抽象、概括、分析、归纳和推理,规范了人类对自然界的认知过程。甲骨字主要以象形和表意这种最简单的方式来描述自然界里的万物,其本身就是一种抽象概括的原型。甲骨字的产生和在日常生产过程中的运用,是人类掌握了客观事物的认知规律的结果。甲骨文已经具有一套完整的构成体系,这套构成体系将甲骨文分成了字形和构件。相对于甲骨文的识别、考释、缀合等工作来说,对于甲骨字构件的研究具有更加重要的意义[5]。该文利用认知心理学的科学成果,研究和总结甲骨字的造字机理,在对甲骨字造字原理分析的基础上,通过研究甲骨字的结构、笔画和原型(构件)建模方法,提出一种基于语义构件及其空间位置的甲骨字计算模型;并通过定义甲骨字的基本笔元、组合笔元和扩展笔元来表示甲骨字构件的结构,以空间变换向量实现原型的组合,提出甲骨字构件智能拼组造字方案;并建立了基于认知机理的甲骨字自动生成数学模型。
1 甲骨字自动生成原理
1.1 甲骨字的认知原理
认知是人对自然界和人类社会活动的理解过程,甲骨字就是商朝时期人类对自然界认知和实践的产物。认知心理学中的原型匹配理论认为人脑中存储着代表一个事物的最基本特征的表示,这种表示就是某类事物的抽象形式。这种抽象形式的表示就是“原型”,人类认知一类事物,对该类事物的知觉由输入信息与脑海中存储的“原型”进行匹配而实现。
1.2 甲骨字组成原理
甲骨字是一类存在的客观事物,其原型由“象形”和“指事”符号组成。甲骨字原型是甲骨字符集的最基本的组成成分,原型映射到具体的甲骨字中称为“甲骨字构件”。甲骨字是由“甲骨字构件”按照某种结构组成,组成甲骨字时,甲骨字构件之间,以及甲骨字构件和甲骨字整体间的关系构成了甲骨字的层次结构如图1所示。
图1 甲骨字的层次结构
甲骨字自动生成技术是将甲骨字原型变化成甲骨字构件,然后按照一定的结构组合成甲骨字,甲骨字自动生成原理如图2所示。
图2 基于认知机理的甲骨字造字原理
甲骨字自动生成的实现,首先要建立甲骨字原型库和甲骨字的结构知识库。通过分析甲骨字的造字原理,对造字知识进行组织,建立智能造字知识库;其次,字体自动生成时,需要外界刺激进行输入,根据造字知识库的规则把甲骨字原型映射为甲骨字构件,按照一定的甲骨字结构将构件组合成甲骨字[7-8]。
1.甲骨字编码。甲骨字自动生成的实现工具是计算机,只有把甲骨字自动生成的工程转换成便于计算机处理的编码,才能实现甲骨字的自动生成。根据甲骨字的结构和甲骨字的造字原理给出甲骨字的编码方法。甲骨字编码处理的实质是将甲骨字编码分解为相应的甲骨字结构和甲骨字原型建立甲骨字原型组合树。
2.甲骨字原型库。甲骨字原型是甲骨字的基本组成单位,甲骨字自动生成是甲骨字原型映射到甲骨字结构中映像组合而成的数据。甲骨字原型库存储着甲骨字原型的具体构型、甲骨字原型构件的数据、甲骨字原型的表示数据等。
3.甲骨字的构成。甲骨字的构成是指甲骨字构件按照一定的组合规则生成甲骨字的过程,描述甲骨字基元在甲骨字图形中的位置关系。有了甲骨字的结构,才能实现用有限个甲骨字原型生成所有的甲骨字字符集。
4.甲骨字原型映射。原型到客体的转换是一种保持拓扑不变形的变换。甲骨字的自动生成过程就是甲骨字构件按照甲骨字构成规则在平面上的重组。从甲骨字原型到具体的甲骨字构件就是抽象到具体的映射,这种映射保持甲骨字原型的拓扑不变形。
2 甲骨字自动生成的数学模型
依据基于认知机理的甲骨字自动生成理论,所有已释甲骨字中,具有独立语义的构字单元为甲骨字原型,甲骨字符集中的每个甲骨字是由一个或多个甲骨构件组成,这些构件是甲骨字原型在甲骨字结构空间的映射。
2.1 甲骨字原型的提取原则
原型构件库是甲骨字的基本组成单位,甲骨字自动生成是由原型构件映射到甲骨字结构中的映像组合而成。原型构件库包含甲骨字原型的具体构成数据、甲骨字原型构件数据、甲骨字原型构件的计算机表示数据。原型构件库是甲骨字自动生成的基石。
2.2 甲骨字符的数学描述
由于甲骨字符的数量是无法定量的,根据认知原理给出有限个甲骨字原型可以生成所有的甲骨字符,根据这一原理给出以下定义:
定义1 设Ω代表某个时间段内所有的甲骨字符集,Ci是Ω中的元素。R为实数集,Ω的数学表达式如下:
定义2 设P为甲骨字符集的所有原型的集合,因为|P|<|Ω|,所以P为有限集;设Pi是P集合中的元素,所有甲骨字符原型组成的集合的数学表达式如下:
根据定义1、2可以得出甲骨字自动生成机理,即在甲骨字原型集合P中,可以找到Ω的一个有限覆盖。即用有限个甲骨字原型组成所有的甲骨字,它是通过甲骨字原型在甲骨字中的结构映射来实现的。一个甲骨字可以表示为一个或多个甲骨字构件在甲骨字构成空间中的分布;甲骨字构件是甲骨字原型在甲骨字结构上的拓扑映射,甲骨字构件在甲骨字中的具体外观、大小、位置将由甲骨字原型和甲骨字结构共同决定。
根据上述甲骨字自动生成机理,甲骨字自动生成的数学模型如下:
定义3 设S为甲骨字所有甲骨字结构组成的集合,|S|<|Ω|,S为有限集;甲骨字结构组成的集合可用以下公式来描述:
2.3 甲骨字自动生成数学模型
根据甲骨字自动生成数学模型,甲骨字自动生成的步骤如下:
1.依据描述甲骨字结构的数学公式,对组成甲骨字的原型进行选取;
2.把甲骨字原型pi映射到甲骨字结构si中,得到甲骨字的构件F(si,pi);
3.在甲骨字图形空间中,用一个或多个甲骨字构件F(si,pi)“拼”来自动生成甲骨字Ci;
4.自动生成的甲骨字字体和字形进行选择,通过构建函数Tfs(f为字形,s为字号),对所生成的甲骨字进行统一处理。
以此为基础,深入分析认知心理学中的原型理论,得出甲骨字这个客体是无法定量的,而组成甲骨字的原型是有限的。原型构件是甲骨字的基本组成成分。在此基础上,依据甲骨字的特殊性兼顾计算机处理效率总结出甲骨字原型提取准则。以已释的1024个甲骨字为基础实验数据,进行原型构件提取实验,为甲骨字自动生成数学模型打下基础。
表1 原型对应的构件
3 甲骨字生成平台
3.1 甲骨字生成平台功能介绍
依据甲骨字自动生成的数学模型,甲骨字由甲骨字原型、甲骨字结构的映射、甲骨字构件组成。甲骨字自动生成平台应具有输入、显示、编辑、保存等功能,如图3所示。
图3 甲骨字生成平台
键盘输入功能:对甲骨字进行编码处理,甲骨字符的外码将甲骨字的结构信息映射到键盘上的26个字母键上。
编码处理功能:将按照“甲骨字原型+甲骨字结构”进行编码的甲骨字进行解析,把解析的结果转化为特定的数据,即甲骨字的结构和组成甲骨字的原型,方便甲骨字的自动生成。
自动生成模块:从知识库中提取各个基元的映射知识,从计算机硬盘中读取各个基元的特征数据点,仿射变化后拼合成新的甲骨字。
打开和保存功能:新造的甲骨字只需将该字的构成编码保存即可。同时设计有文件打开功能,打开用户保存的数据,程序将根据该字的编码推理,并将该字“拼合”显示在屏幕上。
3.2 结果与分析
甲骨字自动生成系统根据甲骨字结构编码信息,在原型构件库的指导下生成新的甲骨字。甲骨字自动生成平台提供了甲骨字信息的输入、输出和编辑三大功能。甲骨字原型库中的每一个原型依据其特征点进行保存,现已提取出四百多个甲骨字原型,存储量为156KB,应用该原理已生成了1202个常用甲骨字。甲骨字的原型构件存储如图4所示。
图4 甲骨字原型构件
甲骨字的组成成分是原型构件在甲骨字结构上的拓扑映射,即原型构件在结构汉字中的位置、大小和形态的不同构成不同的甲骨字。但同一原型构件在不同汉字中对应的成分与原型构件都具有相同的拓扑结构。如图5所示,甲骨字“北”可以用“人”这个原型构件按照左右结构组成。
图5 由构件和笔元生成的甲骨字
原型构件映射到具体的甲骨字组成成分的几何变换方法是必须解决的问题。该实验平台采用基于区域和特征提取的仿射变换系数自动获取方法,从不同的角度、不同的技术方法来获取原型构件的仿射变换系数,形成优势互补获取更精确的原型构件的映射知识[10]。
4 结论
在对甲骨字造字原理分析的基础上,通过研究甲骨字的结构、笔画和原型构件的建模方法,提出了基于造字机理的甲骨字自动生成的方法来取代字库,不以甲骨字作为信息处理的基本单元,而是把甲骨字的原型构件作为组字的基本单元。解决了没有统一的Unicode编码的甲骨字的输入、显示和编辑等问题。采用此方法可以解决甲骨字无法定量、定型的难题,归纳智能造字规则,以后新产生的甲骨字按照造字规则来生成,可以制定稳定的甲骨文信息化标准。甲骨字原型库和智能造字知识库都是从甲骨文文化特点出发,方便了广大甲骨文爱好者对甲骨字的学习和认知。甲骨字原型库的数量远远小于甲骨字符的数量,信息处理中信息熵将大大降低,信息化效率大大提高,方便了甲骨文的Web传输。