易钢
摘要:近年来本体被计算机领域广泛用于知识表达共享和重用,国内外很多大学及研究机构对本体展开了大量相关研究,为了整合中医学领域相关信息资源实现中医学知识的共享和重用,利用本体技术构建中医学知识库,通过对本体描述语言,本体构建工具和领域本体构建方法的研究,采用骨架法构建了中医方药本体,以此为例探讨中医药学本体构建方法。关键词:本体;知识库;OWL;骨架法;方药
中图分类号:TP18文献标识码:A文章编号:1009-3044(2012)01-0223-03
Research of Traditional Chinese Medicine Ontology Based on Protégé
YI Gang
(Department of Computer, Hunan University of Chinese Medicine, Changsha 410208, China)
Abstract: In recent years, ontology has been widely used in the field of computer knowledge to express a lot of sharing and reuse of domestic and foreign universities and research institutions launched a large body of research, in order to integrate the medical resources to achieve in the field of information sharing and reuse of medical knowledge to use technology to build the ontology medical knowledge base, through ontology languages, ontology construction tools, and domain ontology construction method of research, the use of Chinese herbs skeleton method to build the body, as an example of traditional Chinese medicine ontology construction method. Key words: ontology; knowledge base; OWL; skeleton method; stomach disease
信息资源随着社会的发展不断积累,国内医疗信息化市场热潮涌动,在发展数字医疗的过成中则面临着医疗信息的标着化、统一化、一体化等问题。中医作为传统医学,在经历了几千年长期形成了大量的数据,独特的中医理论和中医诊断技术。中医学在信息化阶段还有很大的研究发展空间,它的数据多建立在人的经验基础上,其规律受自身理论的支配,其客观性与科学实验数据不在一个层面上。若果用科学实验数据的获取方法和标准衡量中医数据,即便是实证数据仍不可避免带有主观因素。
本体(Ontology)的概念实际上是哲学上的一个概念,近二十年来,计算机人工智能领域大量使用本体概念。形象的描述,本体就像个位于人和机器之间智能的中间构件,通过这个中间构件使得人和机器的交流变得通畅,它能帮助机器理解自然语言,自然语言的不断扩充,能导致机器做出相应的变化和修改。本体具有自我学习的能力并且能够和自然语言同步。那么本体是怎么学习的呢?它也和人一样必须遵循一定的“语言规则”,它利用一套推理机制从已知出发“推理”要学的新东西。所以一个本体是一个自我完善的系统,它通过自己的一套公理和推理规则达到人类类似的智能学习,并且它的运行准确无误。因此,本文尝试使用本体编辑工具Protégé作为知识库建立工具,以建立中医方药本体为例,利用中医药历史文献及公认的中医药知识和中药专家对方药进行全面诠释,讨论构建中医药本体的方法。
1 Protégé工具
Protégé工具是一个斯坦福大学开发的本体编辑和知识获取软件,第一本版本是1987年推出,开发语言是Java,属于开放源码软件。由于该软件设计优秀并且包含众多的插件,使得Protégé成为最常见的本体论编辑器之一。
2中医方药本体的建立
目前本体的研究包括领域知识本体、通用本体、方法本体、元数据本体等。知识库系统提供基本词汇以及词汇之间的关系,设计相应的本体是建立大型知识库系统的第一步,这对于知识库系统的组织起着至关重要的作用。
2.1本体的构建原则和方法
本体到目前为止,构建原则归纳为满足后建本体必须逐条参考先建本体,沿用其合理条目,若弃用先建本体,必须阐明实质性分歧,此原则也适用于任何本体的自身修改过程[5]。但构建本体并没有形成相对完善的构建方法,不同的领域有不同的构建方法,我们选择的是Mike Uschold & King的“骨架”法,具体流程见图1[2]。
1)确定本体的应用目的与应用范围:确定本体的研究目的和用户的范围(如管理者、技术员、程序员);比对本体应用环境和目的;建立本体用户文档;确定本体的形式化程度。
2)本体的分析:根据本体应用目的和形式化程度,确定本体知识范围,通过该领域专家的研究探讨,定义本体所有术语的意义及其之间的相关关系。
3)本体的表示:是确定本体形式化的东西,可以用语义模型表示本体。
4)本体的检验:构建相应本体后,通过相关专家对本体做最后论证,包括检查本体各元素间的语法上清晰性、一致性、完整性、可扩展性。
5)本体的建立:建立本体表示知识,这是一个知识概念话和形式化的过程,首先通过设计知识本体概念结构,确定本体结构,其次利用函数、类、公理、关系等组织和表示概念知识,最后选择合适工具和语言构建具体本体。
本体的建立过程是一个反复、不断推敲和完善的过程。通常领域本体的建立不是一撮而就的,我们需要在应用中不断的修改、完善与扩充。
2.2中医方药本体的定义
不同的本体应用环境,需要不同的领域知识范围,我们构建中医方药本体目的是能够根据中医方药知识库中的现有知识,对中医医师临床用药意见做出提示,也就是在辨证的基础上,依据确立的法治,选择适当的药物和配伍组成。并根据系统中的知识判断出用药的合理性和相应的疗效。我们构建本体的应用范围是中医临床医师或者中医在校学生,作为学生学习的相关指导。
以本文的领域本体建模的范围就是严格按照Gruber本体约定最小(Minimal Ontological commitment)原则将涉及中医方剂知识利用本体表达,集中体现为方药组成、功用、用法、加减、主治[3]。
中医用药过程中,准确的辨证乃是采取“有的放矢”治疗措施的前提。只有通过对症状的全面分析,仔细鉴别、认真判断等获得病人状况,然后根据确立的法治选择相关方药,并进行药味、药量加减,组方结构充分表明了方中药物配伍之间的主从关系。因此,进一步了中医方药的概念和意义、熟悉方药的君药、臣药、佐药、使药之间的关系,掌握中医用药原则与方法等非常重要。
2.3利用Protégé构建中医方药本体模型
通过相应的中医药专家的分析和研究建立中医方药本体,并需要借助Protégé本体编辑工具来具体实施。
2.3.1定义类和属性
本体中最基本的组织单元就是类,类是创建对象实例的模板,是同种对象的集合和抽象,类是一种层次结构的组织形式。子类继承父类,子类也是一种概念模型,是父类更具体的概念。如”方药”是中医方药本体的最高层次类而方药组成、方药功用等是其子类它们会继承方药的所有特性。
定义类和类层次的基本方法是:从所有概念中选取顶层概念,作为本体类中的基类,以及其它类与基类的继承关系作为本体类中类层次结构中的锚点。类的层次关系通过它们之间类的关系来确定。如解表剂类的实例是全部治疗表症的实例,则解表剂类为方药类的子类,以下就中医方药本体的类和类层次划分具体说明。在长期临床实践积累中,中医形成了许多经典的方剂,如麻烦汤、小青龙汤等,不同方剂反映了由中医独特的哲学或世界观出发的对疾病滋生形成,形态构成,变化转归,治疗控制的特有的视角和思考。在辩证过程中,各种辩证方法互相参照、补充、演绎,
形成中医特有的错综复杂的中医诊断学。
本文方剂本体设计过程中,在保留中医辨证特色的原则下,将不同的辩证方法下形成的方剂,如解表剂、泻下剂、清热剂、温里剂、安神剂、消食剂、驱虫剂等作为为方剂类下的基本的锚点,进行类与类层次划分[3]。
1)建立并保存项目
打开Protégé,点击“新建(Create New Owl Ontology)”按钮,然后点击Continue,选择保存位置。然后选择“select a project type”。为了便于本体和系统的交互,笔者建议将新建项目存为“OWL/XML”格式。然后点击“Finish”按钮,新的项目即被成功地建立。
2)创建并命名类
创建类及类的命名在Protégé主界面中。
3)创建类的属性(Properties)
4)本体定义的逻辑检验
本体定义的逻辑检验实际上是对本体概念的一致性进行检验,常用的方法有直接利用Protégé中检验模块进行,也可以利用DIG接口编程调用Racer推理引擎来解决,推理引擎支持下的本体检验和本体推理,通过对本体概念的一致性检验来达到本体检验的目的,本文通过Protégé和Racer的接口,使用Racer推理来检验本体建立的逻辑是否有误。
例如:解表剂即是表症的下位词,也是方药的下位词,如果我们将解表剂改为里症的下位词,这显然是矛盾的,因为里症与表症是互斥的概念。
5)本体实例的建立
在Protégé中,通过individuals标签的三个面板达到添加实例的目的。内容包括实例名称和附加在该类上的属性。当大量的实例被赋予相应的属性及属性值时,就形成了相关领域的知识库[4]。
实例建立分为两步:首先选择类,创建该类的实例;然后添加各实例的值。下面是解表剂中得具体实例。
①选择方剂类->解表剂类,添加“麻黄汤”。
②在Members list窗口中点击Add individuals,输入实例名称,并编辑实例的各种属性。分别添加组成、用法、功用、主治、加减。
实例例子:
Defframe麻黄汤:中医方剂类
{
组成:麻黄9g,桂枝6g,杏仁9g,炙甘草3g。
用法:水煎温服,服后加盖衣被,取微汗。
功用:发汗解表,宣肺平喘。
主治:外感风寒表实症。
加减:无。
}
3总结
本文介绍领域知识本体的构造原则、构造过程及注意事项,并用Protégé工具构造了一个具体的知识本体——中医方药本体。知识本体能够较好地描述领域知识中的概念属性以及概念之间的相互关系,可以实现基于领域知识语义的资源检索,大大提高检索结果之间的相关度。由此可见,构造合适规模的领域知识本体是中医药学知识库系统分析的第一块基石。
参考文献:
[1]冯志勇,李文杰,李晓红.本体论工程及其应用[M].北京:清华大学出版社,2007.
[2]钟伶.基于本体的益气健脾方的知识表示与应用初探[D].福州:福建中医学院,2005.
[3]高红艳,周强,包含飞.以肺瘩病为例探讨中医证候本体的构建[J].医学信息,2007,20(11):1876-1882.
[4]侯玉,张昌林,周强,等.Protégé在构建中医治则治法本体中的运用[J].医学信息,2007,20(11):1566-1871.
[5]高成勉,包含飞,周强.本体构建原则及其在中医顶层本体构建中的应用[J].医学信息,2008,21(5):581-583.
[6]侯利,钱庆,黄利辉,等.基于本体的临床医学知识库系统构建探讨[J].医学信息学杂志.2011,32(4):42-44.