基于SWRL规则推理的隐含关系挖掘
丁晟春, 江超男
南京理工大学信息管理系 南京 210094
摘要

针对本体系统中,知识的表现形式有限,OWL本身无法建立一般领域的规则,导致很多存在于社会关系本体中的隐含关系信息尚待挖掘的问题,将推理系统中的本体和规则相互分离,在社会关系领域本体的基础上,构建一系列SWRL规则以进行隐含关系的自动挖掘。在实验中,共定义22条关系规则,推理得出50条新的公理,由此进行社会关系本体的自动更新。

关键词: 隐含关系挖掘; SWRL规则; Jess; 本体推理
中图分类号:G356.8 G250.73
Excavating Implicit Relation Based on SWRL
Ding Shengchun, Jiang Chaonan
Department of Information Management, Nanjing University of Science and Technology,Nanjing 210094,China
Abstract

Due to insufficient reasoning abilities, many implicit social relationships existing in the social relationship Ontology are not mined. This article integrates SWRL with Jess reasoning engine. Based on the SWRL rules, the implicit relationship automatic mining experiment is done, and 22 relation rules are designed as well as more than 50 new axioms are reasoned in order to update social relationships Ontology.

Keyword: Implicit relation excavate; SWRL rules; Jess; Ontology reasoning
1 引 言

现实生活中,存在着多种多样的社会关系,有人物与人物之间的血缘关系、朋友关系,人物与机构间的任职关系,机构与机构的隶属关系等。这些关系信息都蕴含在实体所属的句子或是篇章中,有的甚至要通过推理得出,例如根据“A是B的孩子”、“A为女性”这两句话,应得出:“A是B的女儿”,这需要加入一定的思维理解才能得到。现有的关系抽取工作多是将句子中已存在的字词作为实体间的关系描述,而很少考虑到句中的一些隐性知识、隐含关系;对本体的应用也仅仅停留在将其作为一个建模工具,而忽视了它的推理功能。

本体描述了特定领域中资源间的关系,而推理则借助一定的规则,通过已知的关系推出潜在未知的关系。语义网的层次关系最早是由Berners⁃Lee[ 1]提出,并由此构建了基于本体和描述逻辑(DL)[ 2]的推理规则,使基于语义的知识表示和推理成为可能。由斯坦福大学开发的SWRL(Semantic Web Rule Language)是一个与Protégé高度集成的规则语言。它在OWL的基础上补充了对规则的定义,并综合了OWL DL、OWL Lite,以及一元与二元 Datalog RuleML规则标记语言[ 3]。当今国内外对于如何解析SWRL规则的主要研究方向是将SWRL与第三方的规则引擎相整合。目前有许多不同的推理引擎可对描述逻辑进行推理[ 4],如Racer、OWLJessKB、SWRLJess等。 本文借鉴以上研究思路,将SWRL规则语言与Jess推理引擎相集成,建立了基于SWRL规则的本体推理机制,为挖掘隐含关系提供了一条实用的知识推理依据,通过推理方法挖掘出社会关系本体中的隐含关系,以进一步完善本体中的关系描述。

2 支持SWRL规则推理的社会关系领域本体构建

SWRL规则推理的操作对象是本体,因此,首先要对本体进行形式化描述,使得计算机能够理解本体所描述的知识,从而较好地实施推理。本体构建尤其是领域本体的构建,特别强调对现有成熟本体的复用,但由于在社会关系领域对本体的应用还比较少,目前针对社会关系领域的本体基本上没有,因此,只能尽可能地搜集社会关系学中的各类概念,不求最全面,只为用于支撑SWRL规则推理。

2.1 社会关系领域本体中类的设置

根据应用目的,该社会关系领域本体主要关注人/人、人/机构、机构/机构间的社会关系,借鉴国外针对家庭关系构建的Family本体,共创建了“人”、“性别”、“机构”、“业务”、“职务”以及“行为”6个大类,并对其关系进行了严格规范的定义,部分类的设置如表1所示:

表1 社会关系领域本体中部分类的设置
2.2 社会关系领域本体中属性的设置

在OWL本体中,属性有两种类别:对象属性(Object Property)和数据类型属性(Datatype Property)。其中对象属性是能将两个类互相关联起来的属性。数据类型属性是用来定义一个类自身固有特征的属性。

在社会关系本体中,共创建了31个对象属性,6个数据类型属性。其中对象属性包括:“有性别”、“有侄子”、“有侄女”、“有叔叔”、“有婶婶”、“有配偶”、“有孩子”(包含子属性:“有儿子”和“有女儿”)、“有父母”(包括子属性:“有父亲”和“有母亲”)、“有兄弟姐妹”(包含子属性:“有哥哥”、“有弟弟”、“有姐姐”、“有妹妹”)、“有同事”、“有朋友”、“有领导”、“有业务”、“就职于”、“有同学”、“有学生”、“有老师”、“有职务”、“有行为”、以及“合作关系”、“竞争关系”。根据实际情况,分别设置各个属性的定义域、值域。例如,将“就职于”属性的定义域设置为“同事”类,值域设置为“机构”类。对于对象属性,部分具体属性特征设置如表2所示:

表2 社会关系本体中部分对象属性的特征设置

数据类型属性包括:姓名、年龄、出生年月、机构名、创始时间以及创始地等,并根据实际情况分别对各个属性的定义域和值域进行设置。例如,对于“姓名”属性,定义域为人类,值域则选择String型。

2.3 社会关系本体中实例的设置

在该社会关系本体中共创建了100个实例,其中在“男人”类、“女人”类下分别构建了10个实例,在“性别”类下构建了2个实例,在“同事”类下构建了2个实例,在“机构”类下构建了2个实例,在“业务”类下构建了11个实例、在“职务”类下构建了25个实例、在“行为”类下构建了38个实例。图1为属于“业务”、“职务”、“行为”类的部分实例。

图1 社会关系本体中的部分实例结构

3 隐含社会关系挖掘实验设计

本体推理是计算机对本体知识理解的一种重要表现,但由于本体仅仅基于描述逻辑,不能表示一般形式的规则,所以为了挖掘出本体内的隐含关系,需要选取合适的规则语言建立规则。

3.1 SWRL及Jess

(1)SWRL

SWRL是以OWL DL和RuleML为基础的一种规则描述语言,利用抽象的语法表达了OWL本体中所描述的知识信息[ 5]。SWRL与Protégé⁃OWL高度集成,实现了规则和知识的结合。它既可以采用XML语法,通过RuleML和OWLX的方式描述,也可以通过RDF语法以OWL+RDF的形式进行描述,具有很好的重用性和共享性。此外,结合OWL DL的一阶逻辑也使SWRL可以方便地与传统数据库进行交流[ 6]

在本体构建工具Protégé中存在SWRL Tab插件,用于扩展OWL,实现SWRL规则的读写操作。用户可插入类、属性、实例、变量、内置Built⁃in、DifferentFrom、SameAs以及XML Schema Datatype等来编辑各种规则。

(2)Jess

通过SWRL Tab,用户可以方便地编辑规则并从OWL中导入或存储。但SWRL本身并没有推理能力,它只是简单地允许用户编辑规则并存储于本体中。因此需要一个能连接本体与SWRL规则库的推理引擎,将本体知识与所编辑的规则相结合,达到通过本体进行推理的能力。由于不同的推理引擎对本体格式的要求不同,所以选择已提供了对OWL格式和SWRL格式进行转换的Jess规则推理引擎。

Jess(Java Expert System Shell)是由美国Sandia国家实验室分布式系统计算组成员以CLIPS(C Language Integrated Production System)为基础扩展的、采用Java编写的开放式专家系统平台[ 7]。Jess将专家系统与Java语言相集成,主要由Working Memory(事实库)、Rule Base(规则库)以及Inference Engine(推理引擎)三部分组成,其中推理引擎又包括了Pattern Matcher(模式匹配器)、Agenda(议程)和Execution Engine(执行引擎)。

3.2 实验方案

针对社会关系,将社会关系本体与SWRL规则导入到Jess推理引擎中进行推理,实现社会关系本体的自我更新与完善,达到挖掘实体间隐含关系的目的。具体实验方案如图2所示:

(1)构建社会关系本体;

(2)根据社会关系本体设置SWRL规则;

(3)将社会关系本体和SWRL规则一起导入Jess推理引擎中,完成关系本体到Jess事实库以及SWRL规则到Jess规则库的转换,为推理提供事实基础和规则基础;

(4)运行Jess推理引擎进行本体推理,得到包含新的本体知识的推理结果;

(5)将推理结果导回社会关系本体中,更新本体。

3.3 SWRL规则设计

SWRL规则由推理前提Antecedent和推理结果Consequent构成。一条规则,若其前提被满足,则其结论也必为真[ 8]。如本文定义的竞争关系规则:DifferentFrom(?x, ?y) ∧ 机构(?x) ∧ 机构(?y) ∧ 有业务(?x, ?z) ∧ 有业务(?y, ?z) → 竞争关系(?x, ?y),即:如果两个不同机构从事的是相同的业务,则这两个机构间存在竞争关系。当编辑SWRL规则时,可直接使用本体中的类、属性和实例等作为变量,也可以直接获取SWRL中的内置规则。部分规则如表3所示:

表3 社会关系本体中部分SWRL规则
4 实验实现及结果
4.1 实验实现

(1)使用Protégé中SWRL插件(SWRL Tab)进行规则编辑,SWRL Tab支持完整的语言特征集合,并与Protégé⁃OWL高度集成。

(2)社会关系本体到Jess事实库的转换

由于OWL的语法格式与Jess推理引擎的语法格式并不兼容,因此在推理前,必须要进行格式转换,将转换结果分别存储在Jess推理引擎的事实库中,为下一阶段提供事实依据。

例如:男人是人的子类,在Jess中转化后的代码为:

(deftemplate 人 extends OWL Thing)

(deftemplate 男人 extends 人)

再如:男人-02是女人-01的叔叔,转化为Jess后的格式为:

(assert(有叔叔 女人-01 男人-02))

(3)SWRL规则到Jess规则库的转换

SWRL规则库向Jess规则库的转化则主要是根据XSLT标准,其基本原理是首先将SWRL规则源文件生成一棵来源树,通过SWRL2Jess模板遍历来源树的节点,以使每个节点都按模板中的格式进行转化,随后将处理好的文件写入Jess格式的文件中即可[ 9]

如SWRL规则:

人(?x)∧男人(?y)∧有兄弟姐妹(?x, ?y)∧年龄(?x, ?a)∧年龄(?y, ?b)∧ swrlb: greaterThan (?b, ?a)→有哥哥(?x, ?y)

转化为Jess规则后即为:

Defrule aRule (人(姓名?x)) (男人(姓名 ?y)) (有兄弟姐妹 ?x ?y) (年龄 ?x ?a) (年龄 ?y ?b) (test (> ?b ?a))→(assert (有哥哥 ?x ?y))

(4)运行Jess进行推理

运行Jess推理引擎,利用Jess事实库和规则库进行本体知识推理,显示推理所得的公理条数,并可方便地查看各公理的具体表述。

4.2 实验结果

经过Jess推理后,SWRL规则中隐含的社会关系通过属性与各实例直接关联起来,得到新的本体关系,产生新的本体知识。例如:给实体女人-01添加“有父母”男人-01,再给男人-01添加“有兄弟”男人-02,经过推断实现后,再次打开实例标签,选中女人-01,即可发现男人-02已自动在女人-01的“有叔叔”窗口中,如图3所示:

图3 推理后产生新的本体知识

以往的SWRL规则多是用于类似家庭关系中,对逻辑性比较明显的类或属性进行推理。但对社会关系的其他方面,如工作关系、机构间的关系等则难以表述。本实验除构建了一系列社会关系领域的SWRL规则外,较为特别的是构建了判断企业间是否存在竞争关系的规则:DifferentFrom(?x, ?y) ∧ 机构(?x) ∧ 机构(?y) ∧ 有业务(?x, ?z) ∧ 有业务(?y, ?z) → 竞争关系(?x, ?y),即:如果两个不同机构从事的是相同的业务,则这两个机构之间存在竞争关系。

5 结 语

本文尝试将SWRL规则语言与Jess推理引擎相集成,建立了基于SWRL规则的本体推理机制,试图为挖掘隐含关系提供一条实用的知识推理依据,以进一步完善本体中的关系描述。在本文中,选取了一个家庭关系本体进行复用,并增添了工作、同事、朋友等关系,一共定义了22个关系规则,推理得到50条新的公理。其中还包括诸如竞争关系规则这样的对机构或人物间工作关系的推理,打破了SWRL规则多用于对家庭关系进行推理的限制,是对SWRL规则设置的另一种尝试。在接下来的工作中将按此思路,继续添加更多的SWRL规则,完善社会关系本体的推理功能。

The authors have declared that no competing interests exist.

作者已声明无竞争性利益关系。

参考文献
[1] Dumbill E. Berners-Lee and the Semantic Web Vision [DB/OL]. (2000-12-06). [2010-10-16]. http://www.xml.com/pub/a/2000/12/xml2000/timbl.html. [本文引用:1]
[2] Antoniou G, Damasio C V, Grosof B, et al. Combining Rules and Ontologies. A Survey[R]. 2005. [本文引用:1]
[3] 郭文英. 基于SWRL推理的语义关联发现及其在本体映射与集成中的应用[D]. 杭州: 浙江大学, 2006. [本文引用:1]
[4] Baader F, Calvanese D, McGuinness D, et al. The Description Logic Hand book: Theory, Implementation and Applications [M]. Cambridge University Press, 2003. [本文引用:1]
[5] 王松, 李冠宇, 李琳. 基于SWRL推理机制的研究[EB/OL]. (2008-05-27). [2010-10-16]. http://www.paper.edu.cn/index.php/default/advanced_search/resultQuickSearch?type=0&judge=0&filename=%E5%9F%BA%E4%BA%8ESWRL%E6%8E%A8%E7%90%86%E6%9C%BA%E5%88%B6%E7%9A%84%E7%A0%94%E7%A9%B6. [本文引用:1]
[6] 袁小娟. 动画素材的领域本体模型与语义推理研究[D]. 长沙: 湖南师范大学, 2009. [本文引用:1]
[7] 伍宏伟. 基于语义WEB技术的产品配置研究[D]. 上海: 上海交通大学, 2009. [本文引用:1]
[8] 王松. 语义网服务中基于SWRL推理机制的研究[D]. 大连: 大连海事大学, 2008. [本文引用:1]
[9] 黄勇奇, 牛振国, 崔伟宏. 基于地理本体和SWRL的时空推理研究[J]. 武汉理工大学学报: 交通科学与工程版, 2009, 33(6): 1175-1178. [本文引用:1]