- 1 -
三维 CAD 模型语义检索技术研究1
张三元,刘志鹏
浙江大学计算机学院,浙江杭州(310027)
摘 要: 为了实现有效地重用已有的三维 CAD 模型,提高产品设计的效率,本文提
出了一种基于语义的三维 CAD模型检索方法,该方法能够避免目前文本匹配搜索方法不能
很好地理解和利用模型语义的来进行检索的缺陷。通过定义三维 CAD建模领域的语义本体
及构建语义词典及上下文,有效地确定三维模型检索语句的关键字含义,提出了针对三维模
型的语义相似性,语义查询,从而达到精准检索模型的目的。最后通过实例演示了基于语义的
三维 CAD模型检索结果。
关键词:语义检索; 语义本体, 语义词典; CAD模型
中图分类号:
1. 引 言
伴随着经济的全球化,制造业的竞争变得日益激烈,人们对其生产、研发的效率有了
更高的追求。特别在研发领域,人们提出了更高的要求,如何最大程度重用以前的模块已经
成了关注的焦点。特别在制造业,三维建模软件的成熟,以及计算机软硬件的快速发展,使
得三维模型的数量急剧膨胀,已经成为了制作业不可或缺的多媒体资源。而且研究表明,企
业产品零件 90%以上是相似件或标准件,因此,可见如何有效地重用以前的零件设计,将
可以有效地节省的研发成本,加快研发速率,提高企业竞争力。而目前主要的 CAD 模型检
索,主要是通过文本关键字进行匹配进行查询,该方法不能有效理解查询语句的含义,导致
了含义相似,或完全等同等模型被忽略。
所谓三维 CAD 模型的语义检索,是指通过语义词典解析用户的查询语句,理解其需要
的模型特征,并在此基础上对模型库进行匹配程度查询。
2. 语义相似性计算
为了有效地理解“语义相似性”(Semantic Similarity),我们首先介绍其相关概念 “语义相
关性”(Semantic Relativity)和“语义距离”(Semantic Distance)。其中语义相关度则指词汇含义之
间的关联程度,如 Computer-Software 的词汇形状相似性很小,但是相关度很大;而语义距
离是指词汇之间在语义树上的路径长度。语义相似性是指词的可替换度和词义的符合程度,
与语义距离成反比,和语义相关性正相关,如 Computer-Calculator 的相似性就比较大。
目前绝大部分语义相似度计算的算法都基于本体库,比如 Princeton 大学的 WordNet 就
是利用同义词词典(Thesaurus)等计算语义相似性。该词典是一部树状的英语语义字典。树状
1 本课题得到教育部博士点基金资助(20060335114)。
- 2 -
图上两片树叶之间的距离,就是这两个概念的语义距离,由语义距离可进一步得出语义相似
性。而 Jiang-Conrath 算法通过子节点的条件概率来计算给定了共同祖先的节点之间的语义
距离,计算公式如下:
1 2 1 2 1 2( , ) 2 ( ( ( , ))) ( ( ( )) ( ( )))D c c log p lso c c log p c log p c= − +
式中: ),( 21 cclso 是 ),( 21 cc 的最近共有祖先,p(c)是 c 在特定本体库中出现的概率。
最后,语义的相似度是语义距离的倒数,即:
1 2 1 2( , ) 1/ ( , )S c c D c c= 。
3. 模型特征本体词典构建以及模型特征的本体表示
从语义相似性的概念可知,语义相似性是基于概念之间的语义距离,而针对计算概念之
间的语义距离这个问题,很多学者给出了基于本体的方法,即构建工程本体和工程辞典来解
决该问题。本文也主要采用了基于本体的技术,构建了针对三维 CAD 建模领域的工程本体
和词典。构建过程如下:
首先,根据 CAD 工程建模领域已有的知识,明确定义模型特征本体的范围区域。我们
对先前在产品设计阶段中所使用信息的调查结果进行分类后,得到了模型特征本体的主要分
类。其包括设计好的设备(产品和组件),设备功能及特性,设备建模过程中常用的几何和
装配关系,材料选择以及用于设计和生产设备的设计制造过程,可以影响设备工作状态的环
境对象,或者特定设计或制造遵循的标准等。而且为了方便本体概念类别的表示,我们为每
个概念添加了前缀表示其分类法,比如(m-木材,表示木材是材料的一种)。其框架如图
一:
图 1 模型特征本体框架
然后,在模型特征本体的框架下构建分类法,我们可以通过各种产品设计原理,以及三
维 CAD 模型的相关文档,获取每种分类法的定义,这些概念将用于标记和查询过程。
- 3 -
接着建立不同分类法中概念的内部关系。比如不锈钢齿轮,显然其为设备概念,但同时
我们也知道其有不锈钢材料构成,因此我们可以构建不锈钢齿轮这设备概念和不锈钢这材料
概念之间的关系,这主要是通过 has-material 来表示。除此之外,我们还建立一些常用的关
联,如设备与设备之间的装配关联 has-part,设备和功能之间的关联 has-function,属性和值,
测度单位之间的关联 has-property,has-measurement 等。
如果用节点表示模型特征本体概念,用弧表示其本体概念之间的关系,我们可以将模型
特征本体组织成一个有向图的形式。因此对于上面不锈钢齿轮的例子我们可以得到模型特征
本体,如下图二:
图 2 模型特征本体组织
最后,就是获取工程词典,这是按降序的词法项序列。这些词法项将用于匹配文档中或
查询中的单词,而且每个词法项的解释都是用模型特征本体中已有的单词或短语表示。同时
每个词法项的缩写,简写及同义词都是词法项,和原始项分享相同的解释。
为了支持模型的语义检索,我们还必须有很好的方法将三维 CAD 模型的设计特征进行
表述,本文主要通过 OWL 构建 CAD 模型特征本体表示。而且针对模型设计参数和其它设
计特征的不同进行区别对待,其不同点反映在模型设计参数包含了一些量化的属性值,且设
计特征名对于不同的建模软件名字统一,种类相对较少。举例说明其具体的 OWL 语义表示,
比如如下一块长 20mm,宽 10mm,高 5mm 的松木桌板,其具有如下的设计特征及自定义
参数表示:
- 4 -
图 3 模型特征的本体表示
图 4 设计参数的本体表示
4. 语义查询处理
1、关键词提取:分割查询语句,提取关键词。在本系统中主要通过空格用于分割查询
2、数值识别:识别出查询语句中常规数据的表示,如整数,小数,分数,以及时间等。
识别出数值的同时,需要检测其是否毗邻与数值测度单元,如厘米(mm),或者属性概念
比如“直径”之类。语句关键词。
3、概念识别:即从模型特征本体中查找关键字的定义,找到后并为该关键字赋值。该
过程分为两阶段:
第一阶段是关键词完全匹配阶段,即顺序检索模型特征本体词典,如发现关键词完全匹
配语法项,则直接将该语法项的解释赋予该关键词。
第二阶段关键词只能部分匹配词法项,部分匹配的词法项有多个,则必须通过计算这些
候选的词法项的上下文关联程度,选出最有可能的关键词解释,已消除关键词的二义性的方
法,达到检索结果最符合用户要求的目的。这也充分体现了语义搜索的特点,即通过上下文,
理解关键词的涵义,从而选出相关的模型。其具体过程如下:
不妨设查询语句中的第 i 个关键词 Ki 只能部分匹配词法项,其候选的匹配项有 h 个,
用 Ci,m )1( hm ≤≤ 表示,这样可用式 表示匹配情况:
,1 ,2 ,: ...,i i i i hK C C C
对于其它完全匹配的关键词,在进行词法项解释赋值后,查询语句可以表示成下式:
11 1,2 1,1 1,1 1,2 ,... ...i i i s tC C C C C C− + +
且设词法项 Ci,m都有如下解释:
, , ,1 , ,2 , ,: ...i h i h i h i h jC T T T
然后计算候选词法项与整个查询语句的相似程度,即查询中匹配的词法项匹配的单词个
- 5 -
数除以总的词法项的个数,得到每个词法项得分,如下式:
, ,
, ,
, ,
s in
s in
i h j
i h j
i h j
Number of keyword query T mathches with
Tscore
Number of word T
=
我们记录所有候选项中最高的匹配程度作为该词法项的得分:
, , ,max( )i h i h jCscore Tscore=
紧接着在模型数据本体中计算这些词法项之间的概念距离,即本体概念之间的最短距
离,也就是前面构建的本体有向图中的最小弧长数:
( , )( , ) , ,1 min(# ( , ))i h s t i h s tCD arcs C C= + of
接着根据概念匹配程度以及概念距离,计算出其有权概念得分,显然其与 Cscores 正相
关,而且和 CDs 反向相关。
,
, ,
, 1,1 ( , )( , )
s t
i h i h
s t i h s t
Cscore
wCscore Cscore
CD=
= + ∑
最后比较关键词所有的匹配概念的 wCscores,我们选择其中的最大值作为其解释项,
这些选择的概念通过添加相关概念比如子概念而进一步扩展,新加入的概念和父概念享受相
同的 wCscore 值。
5. 语义检索在三维 CAD 检索领域的应用
本文实现了基于三维 SolidWorks 模型检索系统,其主界面如图五:
图 5 系统检索主界面
- 6 -
其中系统主界面的左下侧的两个输入框,支持我们对模型的自定义参数和设计参数进行语义
检索。当我们在自定义标签中输入“圆角”,我们可以得到如下的检索结果,其如图六:
图 6 系统检索结果
6. 结束语
本文设计实现了三维 CAD 语义检索系统。通过对三维 CAD 建模领域定义各工程本体
的概念,定义本体语义词典,并根据查询语句上下文的关联性,实现了对用户查询语句的有
效准确地理解,从而可以准确地检索出用户期望的三维模型。该语义检索的想法可以推广到
特定领域进行该领域的专业检索
参考文献
[1] Zhanjun Li, Victor Raskin, Karthik Ramani, Developing Engineering ontology for Information
Retrival[J], Journal of Computing and Information Science in Engineering 2008, 8(3):11003-11016
[2] . Jiang, . Conrath. Semantic similarity based on corpus statistics and lexical taxonomy[C]. In:
Proceedings f the International Conference on Research in Computational Linguistics, 1997, 19-33
[3] 胡玉杰, 李善平, 郭鸣. 基于本体的产品知识表达[J]. 计算机辅助设计与图形学学报, 2003, 15(12):
1531-1537
[4] G. Brunetti, S. Grimm. Feature ontologies for the explicit representation of shape semantics[J].
International Journal of Computer Applications in Technology, 2005, 23(2):192-202
Semantic search technology research on 3D CAD model
Zhang Sanyuan Liu Zhipeng
College of Computer Science, Zhejiang University
Abstract
In order to reuse the previous 3D CAD model effectively, improve the efficiency of product
design, we proposed a semantic retrieval method based on the 3D CAD model in this paper. This
method can solve the problem which text-matching search methods can not understanding of the
semantics defects. By definition the field of 3D CAD modeling and semantic ontology semantics:
Construction and context, the determination of an effective three-dimensional model of the keyword
search phrase meaning to achieve the purpose of precise retrieval model. At last, the retrieval results
based on the semantics of 3D CAD model search are presented by example.
Keywords: Semantic retrieval; Semantic ontology; Semantic Dictionary; CAD model