UML软件工程组织

基于本体的设计原理信息提取
王昕 熊光楞 选自:松耦合空间

 

摘要:本文提出了一种基于本体的设计原理信息提取方法。该方法以设计原理的知识模型为基础,通过查询驱动的用户界面,可以动态的预测设计人员所关心的问题,并给出相应的回答。我们在文献综述和案例分析的基础上建立了设计原理的本体,并以铁路货车转向架设计为例说明了智能信息提取的实现。初步的研究表明,与文档管理和关键字搜索相比,这种基于本体的设计原理信息提取方法具有完整性和一致性等优点,可以作为KBDSS  (Knowledge-Based Design Support System) 的技术基础之一。

关键词:设计重用,设计原理,智能信息提取,基于知识的设计支持系统,本体

 

1 介绍

设计重用是产品开发过程中具有普遍性的问题,重用已有的设计数据能够显著的提高产品设计的质量和效率。而重用设计必须理解设计原理。设计原理是对于产品信息及其设计过程的记录和解释[1]。它的内容包括两个方面[1-3]:一方面是产品的需求、约束、功能、结构、行为之间的关系;另一方面是产品设计的决策过程及原因,包括关键的设计问题、解决方案以及对于方案的评价和选择。

目前,设计原理信息的获得主要来自于相关的文档。文档管理是一种非结构化的信息管理方式,因此,设计人员很难找到所需信息。而且,文档中信息的完整性和一致性也很难得到保证。

本文提出了一种基于本体的设计原理信息提取方法。该方法以设计原理的知识模型为基础,通过查询驱动的用户界面,可以动态的预测设计人员所关心的问题,并给出相应的回答。我们在文献综述和案例分析的基础上建立了设计原理的本体,并以铁路货车转向架设计为例说明了智能信息提取的实现。

这种查询驱动的智能信息提取,突破了产品数据管理系统(如PTC公司的Windchill)基于关键字搜索的信息提取方式。它以设计原理的知识模型为基础,较好的保证了设计原理信息的完备性和一致性,且具有一定的主动性,可以作为KBDSS  (Knowledge-Based Design Support System) 的技术基础之一。

2 设计原理本体及表达

设计原理的知识模型(即本体)体现了设计师进行设计重用的信息需求。对于设计中的不同元素(如部件、参数、需求、约束或仿真过程中的状态、事件等),设计师具有不同的信息查询需求。当设计师通过用户界面触发某一元素的查询事件时,系统就会通过推理来预测设计师的信息需求,并根据具体的问题给出相应的回答。设计原理本体中的元素反映了可供设计师查询的对象类别,元素之间的关系反映了查询的内容。

我们按照本体工程的方法来建立设计原理的知识模型,从而较好的保证了设计原理信息的完整性和一致性。我们采用Java专家系统开发工具Jess来实现设计原理本体,使得推理机能与用户事件处理的Java程序方便的集成。

2.1 设计原理模型要素

对于设计重用信息需求的详细分析,可参见文献[3-5]。我们在对这些文献进行分析的基础上,结合转向架设计重用的实例,建立了设计原理的核心模型,如图1所示。

1 设计原理的核心模型

设计原理的内容包括两个方面:一方面是产品自身的工作原理,包括功能、结构、行为及其相互关系(图1右下的小三角形);另一方面是产品设计的决策过程,包括决策问题、候选方案、决策准则、方案评价以及最终的选择(图1左下的小三角形)。产品的工作原理反映了产品设计的客观因素,人的决策过程反映了产品设计的主观因素,这两方面又是紧密联系的。例如每个方案都会有其结构、功能、行为。下面我们对以上要素及其相互关系作扼要的解释。

w          需求:产品设计的功能、结构、行为所必须满足的要求。需求是功能产生的基础,并可分为准则和约束。

w          准则:对产品设计的可度量的属性的期望,如成本最小、可制造性、安全性等。

w          决策:根据效用(utility)对候选方案进行的选择。设计决策包括一组候选方案、相关的评价准则、以及用来计算效用的信息(如目标函数)。

w          方案:对于产品设计全部或部分的描述,对方案的选择就形成决策。

w          约束:对一个或多个参数取值进行限制的表达式。

w          参数:描述设计对象属性的变量。参数可用来描述功能、约束、行为等。

w          部件:产品设计的组成要素,可能是零件、装配件或子系统等。

w          功能:设计对象在某一操作环境下的期望行为。

w          结构:设计对象的物理和/或逻辑组成,如组成的部件和连接形式等。结构是产品实现的基础,通常用工程图的形式表达。

w          行为:设计对象在某一操作环境下的状态及其变化。如果状态用参数值来表达,行为则体现了这些参数值之间的关系。

w          依赖关系:设计要素(如参数、需求、约束、决策等)之间的决定关系,这种关系是单向的。因为设计重用必然要涉及设计的修改,所以依赖关系的管理是必不可少的。

以上要素及其相互关系构成了设计重用信息查询的基础。由于该模型是从若干案例中分析总结出来的,因而具有一定的通用性。设计原理本体中的要素反映了可供设计师查询的对象类别,要素之间的关系反映了查询的内容。

2.2 用本体工程的方法建立设计原理的知识模型

为了保证完备性和一致性,我们用本体工程的方法来建立设计原理知识模型。分为以下步骤[6]

1)        确定应用背景。应用背景决定本体构造的需求,我们的应用背景是转向架设计重用。

2)        用自然语言描述本体所要回答的问题(即能力问题,competence question)。即设计师在进行设计重用时所关心的问题,这些问题从案例分析中进行总结归纳。对于如何从案例中提取问题,参考文献[5]中有详细说明。

3)        用一阶谓词逻辑表达对象、属性及其相互关系。根据需求分析,确定描述本体所需的术语,2.1节中的要素和关系就是术语的基本组成部分。

4)        用一阶谓词逻辑表达能力问题。在2)3)的基础上对本体所要回答的问题进行形式化的描述。

5)        用一阶谓词逻辑表达表达定义和约束。对术语的定义以及语义约束进行表达,相当于知识库中的规则部分。

6)        通过证明完备性定理来测试本体的完备性。定义本体的完备性条件并根据能力问题加以证明。

总的说来,本体能够满足信息查询的需求,则称其是完备的。本体的一致性指本体的知识表达中不能有自相矛盾或循环论证等问题存在。至于如何保证一致性,参考文献[7]中有所讨论,但目前似乎还没有有效的形式化方法。当概念和语义约束数量不多时,其一致性不难保证。

2.3 设计原理本体的表达

我们用Jess[8]的脚本语言来表达设计原理本体。Jess是专家系统开发工具CLIPS[9]Java实现,其脚本语言和CLIPS基本一致。我们之所以选择Jess,是因为它能同我们的Java主程序方便的集成。我们将在3.2节中介绍Jess知识库同主程序之间的接口实现。

Jess脚本语言具有一阶谓词逻辑的表达能力,并且提供了deffactsdefruledeftemplate等预定义谓词,使得知识库可以用类似于面向对象的形式组织起来。Jess的推理机Rete可以在知识库的基础上进行推理。关于Jess的表达机制,在此限于篇幅,不再赘述。

通过定义规则(即本体中的定义和约束),我们可以从已知的事实推出未知的事实。例如,定义规则如果需求R产生约束CC中包含参数P,则需求R约束参数P,就不必对需求对象和参数对象之间的关系进行明确的表达,因为这种关系可以通过规则推理出来。

另外,设计原理的知识模型是领域无关的,它既可以用于铁路货车转向架设计,也可用于其它产品设计。用脚本语言表达的本体可以在不同的系统中进行重用。关于本体重用技术,可参考文献[10]

3 智能信息提取的实现

在这一部分中我们以转向架摇枕弹簧的再设计为例说明智能信息提取的实现。

3.1 查询驱动的用户界面

我们首先描述设计原理信息的查询过程:用户界面(例如产品结构树或三维产品模型)上的某些元素(当这些元素是设计原理模型中的要素时)是鼠标敏感的,当设计师要了解这些元素的信息时,只需点击该元素,系统就会根据该元素的类别进行推理,预测设计师所关心的问题,并把这些问题以弹出菜单的形式显示出来,供设计师选择。当设计师选择某一问题,系统就将把问题和答案显示在信息显示区域中。答案中涉及的设计原理要素仍然是鼠标敏感的,可供设计师进一步查询。

2描述了一个查询实例。图中的箭头代表鼠标,带下划线的文字表示设计师选择查询的设计元素。设计师首先选择参数簧条直径d为查询对象,弹出菜单显示出与簧条直径相关的问题;选择第一个问题后,在显示区域中显示问题和答案;点击答案中的摇枕弹簧,则显示出与摇枕弹簧相关的问题。经过这样的反复交互,使得设计师可以比较充分的理解设计的原理。

2 设计原理信息查询实例

3.2 信息查询的处理过程

由于Jess是用纯Java语言实现的,而且提供了源代码,因此我们可以很方便的把主程序和Jess知识库及推理机集成起来。Jess的推理机是基于Rete算法[11]实现的,因此推理机对应的类名为Rete。我们在主程序中创建Rete对象,就可以调用对于知识库的各种操作了。一个信息查询过程的实现如图3所示。用户的选择可以通过向知识库中插入事实来通知推理机,推理机推理得到的结果输出到特定的数据结构(问题或答案数组)中供主程序处理。

3 信息查询的处理过程

3.3 问题及答案文本的生成

在信息查询的处理过程中,必须根据推理的结果产生完整通顺的句子来描述问题和答案。为此我们需要对问题和答案进行分类和建模。

按照设计原理信息查询的需求,可以把查询的问题分为是什么为什么怎样的三种(即know-whatknow-whyknow-how)。我们把为什么怎样的都归结为是什么的问题,以便生成句子。例如,该参数在工作过程中是怎样变化的?可以归结为该参数的工作过程是什么?”“工作过程中存在哪些状态和变化?”“在每个状态中该参数的值是多少?等问题。又例如,为什么选择这个方案?可以归结为该方案有哪些其它可替代的方案?”“每个方案的评价是什么?等问题。

这样,问题的结构就可以表达为:

提问的对象类 + + 属性 + 是什么?

(例:该参数的值是什么?)

或:

提问的对象类 + 关系 + 什么 + 相关的对象类?

(例:该参数影响什么参数?该参数有什么约束?)

答案的结构可以表达为:

提问的对象 + + 属性 + + 属性值。

(例:簧条直径的值是5。)

或:

提问的对象 + 关系 + 相关的对象列表。

(例:簧条直径影响弹簧强度、弹簧刚度。)

问题及答案的文本生成已经属于自然语言处理领域的问题,对此问题的深入讨论可参考文献[12]

4 结论

本文在文献综述和案例分析的基础上建立了设计原理信息的知识模型,在此模型的基础上提出了一种智能的设计原理信息提取方法。该方法通过查询驱动的用户界面和知识推理,动态的预测设计人员所关心的问题,并给出相应的回答。我们以铁路货车转向架设计为例说明了智能信息提取的实现。初步研究表明,设计原理的知识模型可以保证设计原理信息的完整性和一致性,减少模型的冗余,并且可在不同领域的设计支持系统中得到方便的重用。通过反复交互的方法进行信息查询,突破了文档管理被动搜索的缺点,有助于设计师充分理解设计原理。

参考文献

[1]      王昕 操晴 熊光楞,基于产品数据管理的设计历史建模、管理与集成研究[J],计算机集成制造系统,2001年第2.

[2]      D.G. Ullman, “Issues critical to the development of design history, design rationale and design intent systems”[A], DTM’94[C], ASME, 1994.

[3]      T.R. Gruber & D. M. Russell, “Derivation and Use of Design Rationale Information as Expressed by Designers”[J/OL]. Knowledge Systems Laboratory, Technical report KSL-92-64, 1992.

[4]      T.A. Kuffner, and D.G. Ullman, “The information requests of mechanical design engineers”[J], Design Studies: vol. 12, No. 1, 1991.

[5]      B. Vinod, “Information handling behaviour of designers during conceptual design: three experiments”[D], Ph.D thesis of Stanford University, 1996.

[6]      M. Gruninger and M.S. Fox, “Methodology for the design and evaluation of ontologies”[A], In Workshop on Basic Ontological Issues in Knowledge Sharing, International Joint Conference on Artificial Intelligence, 1995.

[7]      T.R. Gruber, “Towards principles for the design of ontologies used for knowledge sharing”[J], International Journal of Human-Computer Studies 43 (5/6): 907-928, 1995.

[8]      Ernest J. Friedman-Hill, “Jess, The Java Expert System Shell”[J/OL],Sandia National Laboratories,  http://herzberg.ca.sandia.gov/jess, 1997.

[9]      CLIPS主页[J/OL]http://www.ghgcorp.com/clips/CLIPS.html.

[10]  T.R. Gruber, “Ontolingua: a mechanism to support portable ontologies”[J/OL], KSL 91-66, Stanford University, Knowledge Systems Laboratory, 1992.

[11]  Charles L. Forgy, “Rete: A Fast Algorithm for the Many Pattern/ Many Object Pattern Match Problem”[J], Artificial Intelligence 19, 17-37, 1982.

[12]  K. R. McKeown, “Discourse Strategies for Generating Natural Language Text”[J], Artificial Intelligence, 27(1):1-42, September 1985.

Ontology-based design rationale information retrieval

Abstract: This article presents an ontology-based method for design rationale information retrieval. The method is based on the knowledge level model of design rationale. Through the query-driven user interface, the questions from which the designer wants to know about the design are dynamically generated and the answers of the questions are presented. We build the ontology of design rationale based on related empirical studies and our own case analysis. The implementation of the method is illustrated with an example of railway freight car bogie design. Elementary study shows that the method has the advantage of completeness and coherence over conventional information retrieval based on document management and keyword search. It is believed to be one of the well-founded techniques of Knowledge Based Design Support System.

Keywords: design reuse, design rationale, intelligent information retrieval, knowledge based design support system, ontology

 

 

版权所有:UML软件工程组织