第5卷第6期 智能系统学报 Vol.5 No.6 2010年12月 CAAI Transactions on Intelligent Systems Dec.2010 doi:10.3969/j.issn.16734785.2010.06.008 中国古建的语义网络知识库及其高效实现 白卫静,张松懋2,刘椿年1 (1.北京工业大学计算机学院,北京100124:2.中国科学院数学与系统科学研究院,北京100190) 摘要:将全过程计算机辅助动画自动生成技术应用于中国古建领域,实现了一个自动古建动画系统.它根据用户 对古建的描述,自动生成三维动画来表现古建的搭建过程,整个自动过程都是在古建知识库的支持下完成的,采用 语义网络技术设计并实现了知识库,包括本体库和规则库2部分.主要论述古建知识库的结构、本体和规则库的组 成,并以生成古建搭建顺序为例来说明规则推理的过程,共实现了2个方案,一个基于本体构造环境Ptg6,另一个 基于规则推理系统J,后者比前者在推理时间上节省了99%以上,重点论述了高效方案的设计思想和实现技术, 并分析了其优点和不足. 关键词:计算机辅助动画自动生成;语义网络;本体;规则;Protege;Jess 中图分类号:TP182文献标志码:A文章编号:16734785(2010)060510-12 A knowledge base of traditional Chinese architecture and its efficient implementation demonstrated through BAI Wei-jing,ZHANG Song-mao2,LIU Chun-nian' (1.College of Computer Science,Beijing University of Technology,Beijing 100124,China;2.Academy of Mathematics and Systems Science,Chinese Academy of Sciences,Beijing 100190,China) Abstract:In applying the full life-cycle automatic animation technology,an automatic animation system was de- signed and implemented for traditional Chinese architecture.Based on the user's description of a traditional build- ing,the system generated an animation demonstrating the construction of the building.The whole automation was supported by a domain knowledge base.Semantic web technology was used to implement the knowledge base,in- cluding ontological knowledge and rules.The structure and components of the ontology and rule base were presen- ted.Moreover,the inference process through using rules to reason about the construction sequence of wooden com- ponents was illustrated.Two implementations were given:Protege-based and Jess-based.The latter saved up to 99%more of the reasoning time than the former.The details of the Jess-based knowledge base were presented,and its merits and drawbacks were analyzed. Keywords:computer-aided automatic animation;Semantic Web technology;ontology;rules;Protege;Jess 起源于哲学的本体论(ontology)在信息科学领 撑,在上层运用人工智能技术以及电影艺术实现了 域一度引起广泛关注2],其重要性也已在很多方 一个全新的动画片生产自动化的技术路线.它的目 面表现出来并得到广泛认同.尤其是语义网(seman- 标是只要有了一个适当的故事,以受限自然语言的 tic Web)[341的诞生,在W3C组织的主导下有望解 形式把它输入到计算机里,从此时开始,直到最终动 决网络信息共享的语义问题,从而实现因特网内的 画生成,每一步都是在计算机的辅助下完成的.将全 知识共享和智能信息集成.随着语义网技术的不断 过程计算机辅助动画自动生成技术应用到中国古代 发展,越来越多的本体知识库被建立起来,用本体知 建筑领域,建立了古建动画自动生成系统,用户输入 识库来表示相关领域知识逐渐成为大势所趋. 他想要的古建的木架结构,系统则自动生成三维动 本文的研究基础是陆汝钤院士提出的全过程计 画,表现这个建筑一步一步的搭建过程.为了支持这 算机辅助动画自动生成技术[5],它将人工智能技术 样的古建动画自动生成,构建了古建知识库系统,实 与现代多媒体技术相结合,以底层图形学技术为支 现了对搭建顺序的自动推理、以及对每根木头的尺 寸和空间位置的自动计算;特别地,面向知识共享和 收稿日期:2010-0305. 基金项目:国家科技支撑计划资助项目(2006BAK31B04), 互操作,应用语义网络技术实现了整个古建知识库 通信作者:白卫静.E-mail:estherbaiweijing@gmail.com. 系统,包括建立了本体库和规则库,并针对使用多种
第6期 白卫静,等:中国古建的语义网络知识库及其高效实现 .511. 本体构建工具导致推理效率低的问题,提出了一个 针对某些具体的建筑或构件而建立的查询系统,并 高效的推理实现方案, 未涉及到古代建筑的搭建过程,也没有把这一搭建 1研究背景 过程用动画形式表现出来 古建动画自动生成系统填补了这个空白,它是 1.1全过程古建动画自动生成系统 全过程计算机辅助动画自动生成技术在古建领域的 我国古代建筑文化遗产极为丰富,中国古建形 应用,以类自然语言的形式把古建结构的信息输入 式多种多样,归结起来有硬山、悬山、歇山、庑殿、攒 到计算机里,从此时开始,直到最终生成古建搭建动 尖5种基本形式,在这几种最基本的建筑形式中,又 画,每一步都是在计算机的辅助下完成的.系统框架 细分成具有不同特点的建筑,如庑殿有单檐庑殿、重 流程如图1所示,具体步骤包括对用户输入的古建 檐庑殿,硬山和悬山既有1层,也有2层楼房等6. 结构描述的信息抽取、建筑类型和所需构件及其数 尽管古代建筑形式纷繁复杂,但各个部位都有 目的推导、构件搭建顺序的推理、每个构件的尺寸和 较为固定的比例关系,这些比例关系是古建筑设计 空间位置的计算、定性动画场景描述生成、榫卯计算 与施工共同遵循的法则.掌握这些法则,对其进行整 和生成、定量动画场景描述生成和最后可以用于直 理加工,可以用计算机来重现这些古建筑的建造过 接渲染的动画文件的生成。 程.目前古代建筑领域的数据库或知识库,大多都是 用户输入的建筑 结构描述 系统类库 建立建筑实例并推理出 该建筑所需所有构件实例 建筑实例和建筑构件实例 实例规则库 构件尺寸 推理出各构件尺寸 带贝寸屈性值的构件实例 规则 构件位置 推理出各构件三维空可 带尺大、位置、方向屈 性值的构件实例 规则库 位置和方向 带尺寸、位置、方向、 构件搭建顺序 推理出各构件在动画巾的 搭建顺序属性值的构作 规则库 搭建顺序 实例 带尺寸、位置、方向、 榫卯规圳库 推理出各构件之间的 搭建顺序、榫卯关系属 榫卯关系 性值的构件实例 斗拱规则库 推理出斗拱类型和 相关信息 斗拱部件的位置和方向 古建搭建动画的定性规划 动画定性描述信息 古建搭建动画的定量规划 动画定量描述信息 动画生成 可渲染的动画文件 图1古建动画自动生成系统框架流程图 Fig.1 Flow chart of the automatic animation system for Chinese traditional architecture
512. 智能系统学报 第5卷 建筑类型和所需构件及其数目的推导、构件搭 本体应用的研究领域非常广泛,包括智能信息 建顺序的推理、构件尺寸和空间位置的计算和榫卯 检索、数字图书馆、网络教学、企业本体、电子邮件过 生成等,都需要在本体知识库系统的支持下实现.目 滤、文档归类、文体求解、需求分析、知识管理、信息 前本体的研究非常热,领域本体的覆盖范围非常广, 集成、机器翻译等.另外,国家也在“973”计划、国家 但在中国古建领域,涉及古建木架结构搭建方面的 自然科学基金等项目中支持了基于ontolog灯的信息 知识库就很少,更是没有发现符合本项目需求的关 集成、数字图书馆、信息检索等应用型的技术,这些 于建筑中每根木头构件的知识库,因此需要建立一 项目也都以ontolog灯技术作为核心[8].本体知识库 个面向古建动画自动生成系统的知识库。 采用本体知识表示的方式,以本体作为某个领域概 1.2语义网络技术 念、属性以及概念间内在关系的形式化表达,事实和 1998年,T.B.Lee首次提出语义网络的概念, 概念的建模体现在本体知识上,进一步可以用本体 在他给出的语义网络体系结构中(如图2),构建在 概念和关系进行规则地组织,形成规则库,在古建动 Unicode与URI、XML、RDF(S)等语言标准之上的 画知识库系统中就创建了各种规则库,并利用本体 本体层(ontology vocabulary)起着关键的作用,其提 推理和规则推理实现系统功能.目前大多数的知识 供的丰富的表达能力不仅能用来描述领域的概,念模 库只是进行本体构建和推理,并不包括规则库,未使 型,还是对知识进行推理和验证的基础们 用规则推理。 本体部分目前常用的编辑工具主要有斯坦福大 规圳 信任 学开发的Protege系列9]、马德里技术大学开发的 WebODE10]、卡尔斯鲁厄大学开发的OntoEdit!和 数据 验诽 曼彻斯特大学构建的0Ed2]等.这些工具各有偏 数据 逻辑 重,其中斯坦福大学的Protegé系列因其界面友好、 奥 简单易学、开放源码等特性成为国内外众多本体研 木体词汇 自描述 究机构的首选工具.目前比较常用的本体语言的主 文档 要有XML、RDF、OIL、DAML+OIL、OWL等,其中 RDF+BD模式 OWL已经成为本体的标准语言,最新的版本是 XML+名空间+XMI模式 OWL2.比较常用的针对本体的规则语言包括 ruleML(rule makeup languages)SWRL(semantic Unicode URI web rule language),SWRL是以OWL语言为基础的 规则描述语言.目前本体推理机有Fact++、Pellet、. 图2语义网络体系结构 RacerPro等,它们还支持基于本体的规则推理,另外 Fig.2 Semantic Web structure layer 较常用的支持规则推理的还有通用推理引擎Jss、 本体赋予网络上的信息以语义含义,因此本体 Jena等 作为语义载体在语义网络中起着核心的作用,是语 2古建动画自动生成系统中的知识库 义网络基于语义的互操作得以实现的关键因素.本 体是对领域概念的规范化表示,作为知识和概念描 系统 述的重要工具,可以清晰描述领域知识库中的概念 2.1古建领域知识总结 及其关系,实现领域知识的共享和重用,也有利于领 马炳坚先生在《中国古建筑木作营造技术(2版)》 域知识库的管理和维护.基于领域本体,可以对领域 中曾提到:“研究古建筑,首先应当了解这些不同形式 内的资源在语义层次上进行表述,使得领域内的资 建筑的不同构造,了解每种构造都是由那些构件组成 源从内容级别上升到语义级别,使得资源的管理和 的,它们在整体中起着什么作用.这些构件又是怎么有 利用更加地有效和智能化.由此,本体的构建也就成 机地组合起来,构成相应的建筑形式的.只有了解了这 为语义网络实现的重要步骤。 些内容,才能指导能动地认识古建筑”. 正是由于其在知识共享和资源重用方面的优 古建搭建过程应该基于具体的建筑构件,针对 势,在古建动画自动生成系统中采用了基于语义网 古建的木架结构,把每根木头作为建筑基本构件单 络的本体这一技术来实现知识库系统的构建, 位,并根据它们在搭建过程中起的作用,抽象出4个
第6期 白卫静,等:中国古建的语义网络知识库及其高效实现 ·513 属性,形成一个描述建筑构件的四元组,包括构件 表示出来.2)接收用户输人的对于他想要的建筑的 名、垂直方向所跨过的层列表、面宽方向所跨过的缝 描述参数,如建筑制式、建筑特性、间数、檩数、柱径、 列表、进深方向所跨过的缝列表.图3是古建动画系 柱高等,在本体库和规则库中选取适当的模块加载, 统自动生成的间数为5、檩数为7的有周围廊的庑 由推理机推理,得到建筑的建筑构件信息,包括构件 殿建筑,其中((金柱),(1,1),(6,6),(3,3)代表 名称、数目、构件尺寸、空间位置和方向、搭建顺序 图中用椭圆标识出来的一个构件,金柱表示的是建 等,并将这些信息以特定的形式输出给自动动画系 筑构件的名称,(1,1)表示这根金柱在竖直方向上 统的下一个部分 是第1层,位于最底层,(6,6)表明这根金柱在面宽 归纳总结出来了硬山、歇山、庑殿的领域知识, 方向上是位于第6缝的位置,(3,3)表示这根金柱 其中,庑殿建筑是中国古建筑中的最高型制.在等级 在进深方向上位于第3缝的位置; 森严的封建社会,这种建筑形式常用于宫殿、坛庙一 类皇家建筑,是北京中轴线上主要建筑最常采用的 形式,如故官午门、太和殿、乾清宫等都是庑殿式建 金柱).(1,1),(6.6.(3,3 筑.庑殿建筑实际上已经成为皇家建筑中独有的一 种建筑形式,皇家建筑之外的建筑是不允许采用这 种建筑形式的,庑殿建筑的这种特殊政治地位决定 了它制式复杂,用材硕大、体量雄伟、装饰华贵富 丽6].这表明在本体知识库的实现过程中,庑殿的 难度是最大的,因此在下文中,选用庑殿建筑为例来 论述知识库系统的设计和实现细节. 图35间7檩有周围廊庑殿木架结构的构件示意图 2.2知识库系统结构 Fig.3 Wooden structure of a Wudian style building with 将古建知识体现在知识库中,包括2个部分:古 five sections from left to right and seven purlins 代建筑本体库和古代建筑规则库,推理机基于这2 from front to rear 个部分运行,得到系统需要的信息.其中类(概念) 古建知识库是古建动画自动生成系统的重要组 和实例体现在本体库上,各种规则存在于规则库中, 成部分,它的功能主要包括:1)把古建专家总结出 如图4所示. 来的领域知识在知识库中以本体库和规则库的形式 系统类库 古建本体库 系统实例库 关系红 实例规则库 的 构件尺寸规则库 和划 构件位置规则库 图例 古建规则库 构件搭建顺序规则库 榫卯规则库 子库 斗拱规则库 图4古建知识库系统结构 Fig.4 Components of the knowledge base for Chinese traditional architecture
514 智能系统学报 第5卷 2.2.1古建本体库 的顺序属性。 本体库包括2个子库:系统类库和系统实例库 5)榫卯规则库. 1)系统类库 基于系统实例库和榫卯规则,推理机推理出用 系统类库存储类及类的属性,主要包括建筑制 户输入建筑中建筑构件之间的榫卯关系,同时将其 式类、建筑构件类 更新写人系统实例库 建筑制式类的子类包括:硬山、庑殿、歇山等,这 6)斗拱规则库。 个类的子类可以随着领域专家的知识总结而不断扩 基于系统实例库和斗拱规则,推理机推理出用 充.其属性包括建筑制式的间数、檩数等通用属性, 户输入建筑中的斗拱类型和相关信息,同时将其更 同时,每个子类都还包括自己特殊的一些属性,如: 新写人系统实例库 硬山的有无前后廊的属性,庑殿的有无周围廊的属 2.2.3古建知识库推理机 性等 以一个5间7檩有周围廊庑殿为例,说明知识 建筑构件类的子类包括:金柱、檐柱、小额枋、桁 库系统是如何基于本体库和实例规则库运行并建立 枋、大额枋等,同样地,这个类的子类也可以随着领 相关建筑实例和构件实例的.首先用户输人的参数 域知识的学习而扩充.如前文提到的,按照领域专家 被传递给知识库系统,知识库系统会在系统类库中 的总结,建筑构件可以用((构件名),(垂直方向所 找到有周围廊庑殿的类,基于有周围廊庑殿的实例 跨过的层列表),(面宽方向所跨过的缝列表),(进 规则库,建立一个5间7檩的有周围廊庑殿实例;然 深方向所跨过的缝列表))的四元组来表示。 后基于此实例和构件个数规则推理出这个建筑需要 2)系统实例库, 22根檐柱、14根金柱、22个小额枋等等,相应地系 在系统未运行的时候实例库是空的,根据用户的 统建立22个檐柱实例、14个金柱实例、22个小额枋 输入,经过推理机基于本体和规则的推理,系统动态地 实例等等,并在这些构件实例和庑殿实例之间建立 在实例库中建立对应的建筑实例和建筑构件实例, 相应的所属关系,如图5所示 2.2.2古建规则库 3基于Jess的知识库系统 规则库包括6个子库:实例规则库、构件尺寸规 则库、构件位置规则库、构件搭建顺序规则库、榫卯 该文的古建知识库系统全部用Jess实现.Jess 规则库和斗拱规则库 (Java expert shell system)是l995年由美国Sandia 1)实例规则库 国家实验室分布式系统计算组成员E.J.Friendman- 基于本体库和实例库的规则,推理机推理出用户 Hill用Java实现的一个经过扩充的CLPIS版本.Jess 输入建筑所需要的各种建筑构件,及其具体建筑构件 是性能良好的开放式推理机,原则上可以处理各种 的数目,然后在系统实例库中建立该建筑制式的一个 领域的推理任务,只要系统能够为Jss提供这个领 具体实例和其所需建筑构件的相应数目的实例, 域的特定领域规则和事实信息.Jess的规则匹配采 2)构件尺寸规则库 用经典的RETE算法,以牺牲大量的存储空间来换 基于系统实例库和尺寸规则,推理机推理出用 取匹配的高速性.RETE算法利用了专家系统中时 户输入建筑中各个建筑构件的具体尺寸大小,同时 间冗余性和结构相似性这2个特点,有效地减少了 将其更新写人系统实例库, 用于匹配操作的次数,因此,当系统的性能是由匹配 3)构件位置规则库 算法的质量决定时,Jess的优点将更加明显.应当指 基于系统实例库、空间位置和方向规则,推理机 出的是,RETE算法是一个以空间换取时间的算法, 推理出用户输入建筑中各个建筑构件的三维位置和 所以,应用Jess时应当考虑内存的消耗3] 方向,同时将其更新写入系统实例库 根据古建动画自动生成系统的需要,把所有总 4)构件搭建顺序规则库, 结得到的古建知识写入知识库的本体库和规则库 基于系统实例库和搭建顺序规则,推理机推理 中,知识库系统根据用户输入的具体参数(如5间7 出用户输入建筑中各个建筑构件在搭建动画中出现 檩有周围廊的庑殿),进行下列推理: 的先后顺序,同时更新系统实例库中各个相关构件 1)基于实例规则库的规则,推理出5间7檩有周