本体模块化的研究
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
收稿日期 : 2007 - 05- 31 。 宋扬 , 研究 员 , 主研 领域 : 计 算机软 件及 理论 , 人工智能 , 智能交通工程 , 道路交通事故防治等。
本体已被知 识工 程界 广 泛采 用 , 它 被 N eches 等人 定 义为 给出构成相关领 域词 汇的 基本术 语和 关系 , 以 及利 用这 些术 语和关系构成的规定这些词汇外 延的规则 的定义
3
(D epart m en t of Compu ter S cience and E ngineering, Shangha i Jiaotong Un iv ersity, Shangha i 200240, Ch ina )
4
(P ostdoctora l Sc ien tif ic R esearch S ta tion, Anhui San lian G roup, H ef ei 230081, Anhu i, Ch ina )
的 内部概念 , 而 q1 , q2, ! qn 则 是对 于其他 模块 中知识 的查 询 , 注 意这里使 用的是 q 而不 是 c , 表 示并不 是直接 引用其他 模块 中 的概念 , 而是对其他 模块进 行查询。这 样模块 间的界限 就很 清 晰 , 各模块间相互独立。方法库需要有很好的组织形式 , 能够 按 方法的不同用途和目的进行 索引 , 这样 既有利 于方法库 中其 他 的方法调用 , 也有利于被应用程序灵活使用。 方法库利用领域知识解 决某种 任务。一方 面 , 方 法库 为获 取本体模块 中的知识提供了查询、 推理的手段 , 另一方面也为本 体 模块中的知识提供了一个对 外的接 口 , 应用程 序能够方 便地 通 过它获得模块中的知识 , 而不需要了解模块中的内部 结构。 使用独立于本体知识库的方法库最大的优点是减少了本体 知 识库与推理机制之间的耦合 度 , 大大加 强了本 体知识库 的可 重 用性和可共享性。另外 , 由于可 通过专 门的与 领域知识 库的 接 口获取知识库中的现有知识 , 独 立的方 法库能 够方便地 处理 数 据 , 不 用 像 设 计规 则、 公理 那 样 考 虑各 种 知 识 概念 耦 合 的 问 题。 方法库从领域知识抽象和 分离出 过程性 知识 , 使系统 的推 理行为和系 统中领域知识的任务清晰和易于更新。在领域知识 库中知识有 所改变时 , 只要不涉及到过程性知识 , 那么方法库就 无 需改动 ; 同样地 , 推理机制改变时 , 也只需要改变方法库 , 领域 知 识库可以不变。
第 3期
宋扬等 : 本体模块化的研究
185
1 本体模块
1 . 1 定 义
( C, R, )。
2 推理方法库
2 . 1 推理方法与领域知识分离的知识推导方式
现在最常用的也是最简单 的本体 推理方 法 , 是 在本体 知识 库 中定义一组逻辑公理或规则 , 借 此新的 事实可 以由已有 的事 实中衍生出 来。普通 的推理引擎就可以基于这些规则或公理得 出 结论 , 产生新的知识 和最后 解决一些 简单的 问题。但这 些规 则和公理专 适用于某一领域。另外规则常常潜藏隐含的过程性 知 识 ( 如规则序、 结 合序 ), 最 终会 影响 引擎的 实际 运行。 这些 隐 含的知识使规则库不可靠 , 当领域知识发展时难以更 新 [ 7] 。 我们使用推理方法与领域 知识分 离的知 识推导 方式 , 为每 个本体模块 i建立各自的推理方法库 F i 。 F i可以表示成 { fq} , 对 于查询要求 q , F i中有相应的方法 : fq ( c1, c2, !, cm, q1 , q2, !, qn ) 其 中 c1, c2, !, cm ∃ C i , 表 示方法 在推理 过程中 所涉及 的 i中
[ 1]
。在知识
工程、 自然语言处理、 信息检索系统、 智能信息集成和知识管理、 信息交 换 和 软 件 工 程 等 领 域 , 本 体 技 术 都 得 到 了 研 究 和 发 展 [ 2] 。然而毕竟本体技术还是一个 比较年 轻的技 术 , 比 起软件 工程经过几十年的发展已形 成的大 量成功 的程序 设计方 法 , 本 体技术还有很多不完备 有待改 进之处。现 有的本 体系统 , 往往 将所有概念组织成一个概念 网络 , 概念 之间存 在着错综 复杂的 关系。这样高耦合度的系统确实能够体现现实世界事物之间广 泛存在的复杂关系 , 但是本体中所包 含的概念往往很多 , 有时一 个本体会包含超过 10 亿个概念 , 对于某个概念的某个细微的变 更就可能影响到整个本体系 统中的 很大一 部分 , 所谓牵 一发而 动全身 , 这样的本体维护起 来十分困难。另一方面 , 我们在本体 重用时 , 往往并不会对整个本体感兴 趣 , 而只是想重用其中的一 部分 , 但由于系统的高度耦 合性 , 只 能将整 个本体 全部重 用 ( 如 使用 RDF 和 OW L 语言提供的 i m port 方法 [ 3] ), 这不仅增大了经
1 . 2 划块原则
一个领域本体往往包含 许多学 科领域 的知识 , 如汽 车驾驶 培训领域就 涉及包括机 械动力、 心理、 生理医 学、 交 通法规等许 多学科 , 这些学科领域知识之间关系 错综复杂 , 如何将整个知识 体系划分成本体模块呢 ? 首先, 模块的划分要使人易于理解。本体系统一方面是使得 计算机理解所处理的知识 , 但最基本的还是要让人来理解。这样 对于系统的共享和重用大有好处, 也利于系统地维护和扩展。 第二 , 划分的模块应 具有知 识相对 独立性 的特点。 知识相 对独立就能降低模块间 的耦合 度 , 减 少模块 间的通 信。也就是 和 跨模块 在整个本体系统 中跨 模块 的概念 间关 系的 集合 R∀ 的约束集合 ∀ 尽可能地小。与软件工程 中一样 , 模块间 较小的 耦合度能够使得各个模块易于重用和共享。 第三 , 每个模块与其 有关系 的模块 数尽量 少。减少 相关的 模块数使得模块间的依赖相对明晰 , 减少模块间的复杂度。 根据模块划分的原则 , 汽车驾驶 培训系统中 , 整个本体系统 划分为车辆结构、 驾驶技术 、 驾驶心理、 生理 医学、 交 通法规 等 5 个模块。易见这些模块本 身都是较 为独立 的知识 体系 , 其中驾 驶心理学包含了大量的生理医学和驾驶技术的知识。而汽车驾 驶模块则关系到车辆结构模 块的知 识 , 交通法 规模块关 系到汽 车驾驶模块的知识。可以 看到 , 生理医 学和车 辆结构模 块相对 独立 , 它并不调用其他模块 的领域知识。整个本体系统中 , 与模 块间知识的调用关系十分明晰 , 模块及知 识调用关系 可见图 1。 这样的领域模块划分也得到了领域专家的认可。
Identifier), C i 表示模块中所定义 的所有 概念的 集合 , R i是所有 模块中定义的关系的集 合 , i是 C i与 R i中 的元素 所必 须遵循 的约束的集合。 设 中有 n 个模块 , 则 T 满足 : C = C1# C2# ! # Cn R = R1# R 2# ! # R n# R∀ = 1# 2# ! # n# ∀ 其中 , R∀ 是跨模块的概念间 关系 , ∀ 是跨模块的约束。 = ( 1, 2, !, n, R∀ , ∀) 并
Ab stract T his paper introducesm odular ization into the construction o f onto logy repository wh ich has been w ide ly adopted in soft w are eng i neer ing. O nto logy is organ ized in the way that there are severa lm odules m erged in it . Th ism ethod eases the onto logy deve lopm ent , and also he lps to rea lize shar ing , reusing and m a inta ining the ontology repos ito ry . In the paper , an onto logy of driv ing tra in ing dom ain is deve loped w ith m odular ization m ethod, the m ethod library is constructed. A nd onto logy m odules use query pattern to ach ieve comm un ication betw een the m odu les. W e find that the un iversa lity o f ontology m odu lar ization makes it po ssib le to be ex tended to other doma ins . K eywords O ntology M odular ization M ethod library Q uery 济 成本 , 也降低了效率。
0 引
言
模块化思想在软件工程中 已被广 泛应用 , 一个 大型软 件分 成 多个相互协作的模块 , 每个 模块进而 拥有各 自的子 模块。模 块化能够很 好地支持重用 , 并能为系统维护提供很大的方便 , 但 模块化在知 识表示和推理领域则并没有引起足够的重视。但近 年 来也有人做 过相 关的 尝试。 W. F ar m er和 J . G uttm an 等人 [ 4] 提 出的运用模块化与 数学 结构 的 结合 来对 复杂 的问 题进 行推 理 , 它显示了模块 化 方法 在重 用和 减少 建模 成本 方面 的优 势。 自此 , 重用、 组织知识 块而不是白手起家地建设知识库的思想开 始 被知识工程 界广 泛采 用。 M cI lra ith 和 Am ir[ 5] 提 出知 识 库的 模块化对推 理也十分有益 , 即使是对已有的知识系统进行分 解 , 也能提高推 理效率。 R ector[ 6] 提出 了一种 使用描 述逻辑来 模块 化实现本体 的策略。这种方法虽然能够较方便地建立和重用本 体知识 , 但它仍然将整个模型看作是一个单独的本体 , 对事件进 行 耦合的概念描述。 总的来说 , 本体的模块 化缺乏 理论的 指导 , 如何划 分模 块 , 如 何对实现模块间通信和知识 整合 , 如何 进行知 识推理都 是需 要 解决的问题。
第 26卷第 3 期 2009年 3月
计算机应用与软件 Com puter App lications and So ftw are
Vo l 26 No . 3 M ar . 2009
本体模块化的研究
宋
1 3
扬
1, 4
金会庆
1, 2
张维一
3
2
陆汝占
4
3
夏妍春
2
王
珏
1, 2
( 上海申磬安防科技研究院
上海 201203) 上海 200240)
ON ONTOLOGY MODULAR IZATI ON
Song Yang
1
1 , 4
Jin H uiqing
2
1, 2
Zhang W e iyi
3
Lu Ruzhan
3
X ia Y anchun
2
W ang Jue
1 , 2
(S hangha i S henqing Acad e m y of S ecurity Sc ience and T echnology, Shangha i 201203, China ) (The Institute of Anhui S an lian A ccid en Fra Baidu bibliotek P rev en tion, H ef ei 230081, Anhu i , Ch ina )
一个本体可表示为
其中 C 表示本体中所定义的所有概 念的集 合 , R 是所有 本体中 定义的关系的集合 , 是 本体中 概念和 关系 所必须 遵循 的约束 的集合。 本体中每个模块可表示为 其中 id 对应模块 i ( id , C, iR, i i) 。
i的统一资源标示符 [ 8] UR I( U n ique R esource
(安徽三联事故预防研究所
安徽 合肥 230081) 安徽 合肥 230081)
( 上海交通大学计算机科学与工程系
(安徽三联集团博士后科研工作站
摘 要 将软件工程中模块化的思想引入本体知识库的构建过程中 , 将本体组织成多个本体模块的集成形式 , 这样不仅方便了本 体的构建 , 更有利于本体知识库的共 享 、 重用和维护 。 文中用模块化的方法构建了汽车驾驶培训领 域本体 , 建立方法库 , 在本体模块 间用查询方式实现模块间的通信 。 此模块化具有普适性 , 可以推广到其他领域 。 关键词 本体 模块化 方法库 查询
本体已被知 识工 程界 广 泛采 用 , 它 被 N eches 等人 定 义为 给出构成相关领 域词 汇的 基本术 语和 关系 , 以 及利 用这 些术 语和关系构成的规定这些词汇外 延的规则 的定义
3
(D epart m en t of Compu ter S cience and E ngineering, Shangha i Jiaotong Un iv ersity, Shangha i 200240, Ch ina )
4
(P ostdoctora l Sc ien tif ic R esearch S ta tion, Anhui San lian G roup, H ef ei 230081, Anhu i, Ch ina )
的 内部概念 , 而 q1 , q2, ! qn 则 是对 于其他 模块 中知识 的查 询 , 注 意这里使 用的是 q 而不 是 c , 表 示并不 是直接 引用其他 模块 中 的概念 , 而是对其他 模块进 行查询。这 样模块 间的界限 就很 清 晰 , 各模块间相互独立。方法库需要有很好的组织形式 , 能够 按 方法的不同用途和目的进行 索引 , 这样 既有利 于方法库 中其 他 的方法调用 , 也有利于被应用程序灵活使用。 方法库利用领域知识解 决某种 任务。一方 面 , 方 法库 为获 取本体模块 中的知识提供了查询、 推理的手段 , 另一方面也为本 体 模块中的知识提供了一个对 外的接 口 , 应用程 序能够方 便地 通 过它获得模块中的知识 , 而不需要了解模块中的内部 结构。 使用独立于本体知识库的方法库最大的优点是减少了本体 知 识库与推理机制之间的耦合 度 , 大大加 强了本 体知识库 的可 重 用性和可共享性。另外 , 由于可 通过专 门的与 领域知识 库的 接 口获取知识库中的现有知识 , 独 立的方 法库能 够方便地 处理 数 据 , 不 用 像 设 计规 则、 公理 那 样 考 虑各 种 知 识 概念 耦 合 的 问 题。 方法库从领域知识抽象和 分离出 过程性 知识 , 使系统 的推 理行为和系 统中领域知识的任务清晰和易于更新。在领域知识 库中知识有 所改变时 , 只要不涉及到过程性知识 , 那么方法库就 无 需改动 ; 同样地 , 推理机制改变时 , 也只需要改变方法库 , 领域 知 识库可以不变。
第 3期
宋扬等 : 本体模块化的研究
185
1 本体模块
1 . 1 定 义
( C, R, )。
2 推理方法库
2 . 1 推理方法与领域知识分离的知识推导方式
现在最常用的也是最简单 的本体 推理方 法 , 是 在本体 知识 库 中定义一组逻辑公理或规则 , 借 此新的 事实可 以由已有 的事 实中衍生出 来。普通 的推理引擎就可以基于这些规则或公理得 出 结论 , 产生新的知识 和最后 解决一些 简单的 问题。但这 些规 则和公理专 适用于某一领域。另外规则常常潜藏隐含的过程性 知 识 ( 如规则序、 结 合序 ), 最 终会 影响 引擎的 实际 运行。 这些 隐 含的知识使规则库不可靠 , 当领域知识发展时难以更 新 [ 7] 。 我们使用推理方法与领域 知识分 离的知 识推导 方式 , 为每 个本体模块 i建立各自的推理方法库 F i 。 F i可以表示成 { fq} , 对 于查询要求 q , F i中有相应的方法 : fq ( c1, c2, !, cm, q1 , q2, !, qn ) 其 中 c1, c2, !, cm ∃ C i , 表 示方法 在推理 过程中 所涉及 的 i中
[ 1]
。在知识
工程、 自然语言处理、 信息检索系统、 智能信息集成和知识管理、 信息交 换 和 软 件 工 程 等 领 域 , 本 体 技 术 都 得 到 了 研 究 和 发 展 [ 2] 。然而毕竟本体技术还是一个 比较年 轻的技 术 , 比 起软件 工程经过几十年的发展已形 成的大 量成功 的程序 设计方 法 , 本 体技术还有很多不完备 有待改 进之处。现 有的本 体系统 , 往往 将所有概念组织成一个概念 网络 , 概念 之间存 在着错综 复杂的 关系。这样高耦合度的系统确实能够体现现实世界事物之间广 泛存在的复杂关系 , 但是本体中所包 含的概念往往很多 , 有时一 个本体会包含超过 10 亿个概念 , 对于某个概念的某个细微的变 更就可能影响到整个本体系 统中的 很大一 部分 , 所谓牵 一发而 动全身 , 这样的本体维护起 来十分困难。另一方面 , 我们在本体 重用时 , 往往并不会对整个本体感兴 趣 , 而只是想重用其中的一 部分 , 但由于系统的高度耦 合性 , 只 能将整 个本体 全部重 用 ( 如 使用 RDF 和 OW L 语言提供的 i m port 方法 [ 3] ), 这不仅增大了经
1 . 2 划块原则
一个领域本体往往包含 许多学 科领域 的知识 , 如汽 车驾驶 培训领域就 涉及包括机 械动力、 心理、 生理医 学、 交 通法规等许 多学科 , 这些学科领域知识之间关系 错综复杂 , 如何将整个知识 体系划分成本体模块呢 ? 首先, 模块的划分要使人易于理解。本体系统一方面是使得 计算机理解所处理的知识 , 但最基本的还是要让人来理解。这样 对于系统的共享和重用大有好处, 也利于系统地维护和扩展。 第二 , 划分的模块应 具有知 识相对 独立性 的特点。 知识相 对独立就能降低模块间 的耦合 度 , 减 少模块 间的通 信。也就是 和 跨模块 在整个本体系统 中跨 模块 的概念 间关 系的 集合 R∀ 的约束集合 ∀ 尽可能地小。与软件工程 中一样 , 模块间 较小的 耦合度能够使得各个模块易于重用和共享。 第三 , 每个模块与其 有关系 的模块 数尽量 少。减少 相关的 模块数使得模块间的依赖相对明晰 , 减少模块间的复杂度。 根据模块划分的原则 , 汽车驾驶 培训系统中 , 整个本体系统 划分为车辆结构、 驾驶技术 、 驾驶心理、 生理 医学、 交 通法规 等 5 个模块。易见这些模块本 身都是较 为独立 的知识 体系 , 其中驾 驶心理学包含了大量的生理医学和驾驶技术的知识。而汽车驾 驶模块则关系到车辆结构模 块的知 识 , 交通法 规模块关 系到汽 车驾驶模块的知识。可以 看到 , 生理医 学和车 辆结构模 块相对 独立 , 它并不调用其他模块 的领域知识。整个本体系统中 , 与模 块间知识的调用关系十分明晰 , 模块及知 识调用关系 可见图 1。 这样的领域模块划分也得到了领域专家的认可。
Identifier), C i 表示模块中所定义 的所有 概念的 集合 , R i是所有 模块中定义的关系的集 合 , i是 C i与 R i中 的元素 所必 须遵循 的约束的集合。 设 中有 n 个模块 , 则 T 满足 : C = C1# C2# ! # Cn R = R1# R 2# ! # R n# R∀ = 1# 2# ! # n# ∀ 其中 , R∀ 是跨模块的概念间 关系 , ∀ 是跨模块的约束。 = ( 1, 2, !, n, R∀ , ∀) 并
Ab stract T his paper introducesm odular ization into the construction o f onto logy repository wh ich has been w ide ly adopted in soft w are eng i neer ing. O nto logy is organ ized in the way that there are severa lm odules m erged in it . Th ism ethod eases the onto logy deve lopm ent , and also he lps to rea lize shar ing , reusing and m a inta ining the ontology repos ito ry . In the paper , an onto logy of driv ing tra in ing dom ain is deve loped w ith m odular ization m ethod, the m ethod library is constructed. A nd onto logy m odules use query pattern to ach ieve comm un ication betw een the m odu les. W e find that the un iversa lity o f ontology m odu lar ization makes it po ssib le to be ex tended to other doma ins . K eywords O ntology M odular ization M ethod library Q uery 济 成本 , 也降低了效率。
0 引
言
模块化思想在软件工程中 已被广 泛应用 , 一个 大型软 件分 成 多个相互协作的模块 , 每个 模块进而 拥有各 自的子 模块。模 块化能够很 好地支持重用 , 并能为系统维护提供很大的方便 , 但 模块化在知 识表示和推理领域则并没有引起足够的重视。但近 年 来也有人做 过相 关的 尝试。 W. F ar m er和 J . G uttm an 等人 [ 4] 提 出的运用模块化与 数学 结构 的 结合 来对 复杂 的问 题进 行推 理 , 它显示了模块 化 方法 在重 用和 减少 建模 成本 方面 的优 势。 自此 , 重用、 组织知识 块而不是白手起家地建设知识库的思想开 始 被知识工程 界广 泛采 用。 M cI lra ith 和 Am ir[ 5] 提 出知 识 库的 模块化对推 理也十分有益 , 即使是对已有的知识系统进行分 解 , 也能提高推 理效率。 R ector[ 6] 提出 了一种 使用描 述逻辑来 模块 化实现本体 的策略。这种方法虽然能够较方便地建立和重用本 体知识 , 但它仍然将整个模型看作是一个单独的本体 , 对事件进 行 耦合的概念描述。 总的来说 , 本体的模块 化缺乏 理论的 指导 , 如何划 分模 块 , 如 何对实现模块间通信和知识 整合 , 如何 进行知 识推理都 是需 要 解决的问题。
第 26卷第 3 期 2009年 3月
计算机应用与软件 Com puter App lications and So ftw are
Vo l 26 No . 3 M ar . 2009
本体模块化的研究
宋
1 3
扬
1, 4
金会庆
1, 2
张维一
3
2
陆汝占
4
3
夏妍春
2
王
珏
1, 2
( 上海申磬安防科技研究院
上海 201203) 上海 200240)
ON ONTOLOGY MODULAR IZATI ON
Song Yang
1
1 , 4
Jin H uiqing
2
1, 2
Zhang W e iyi
3
Lu Ruzhan
3
X ia Y anchun
2
W ang Jue
1 , 2
(S hangha i S henqing Acad e m y of S ecurity Sc ience and T echnology, Shangha i 201203, China ) (The Institute of Anhui S an lian A ccid en Fra Baidu bibliotek P rev en tion, H ef ei 230081, Anhu i , Ch ina )
一个本体可表示为
其中 C 表示本体中所定义的所有概 念的集 合 , R 是所有 本体中 定义的关系的集合 , 是 本体中 概念和 关系 所必须 遵循 的约束 的集合。 本体中每个模块可表示为 其中 id 对应模块 i ( id , C, iR, i i) 。
i的统一资源标示符 [ 8] UR I( U n ique R esource
(安徽三联事故预防研究所
安徽 合肥 230081) 安徽 合肥 230081)
( 上海交通大学计算机科学与工程系
(安徽三联集团博士后科研工作站
摘 要 将软件工程中模块化的思想引入本体知识库的构建过程中 , 将本体组织成多个本体模块的集成形式 , 这样不仅方便了本 体的构建 , 更有利于本体知识库的共 享 、 重用和维护 。 文中用模块化的方法构建了汽车驾驶培训领 域本体 , 建立方法库 , 在本体模块 间用查询方式实现模块间的通信 。 此模块化具有普适性 , 可以推广到其他领域 。 关键词 本体 模块化 方法库 查询