中文自然语言驱动的自动几何建模方法

2014-11-28 08:11王振伟刘云杰
计算机集成制造系统 2014年2期
关键词:子句意图范式

王振伟,田 野,陈 丰,刘云杰

(1.电子科技大学 航空航天学院,四川 成都 611731;2.四川出入境检验检疫局,四川 成都 610018)

0 引言

目前,产品设计大都遵循以下循环反复过程:拟定初步设计方案→几何建模与分析→修正设计方案→再修正几何模型→…。几何模型是设计方案的直观表达,是论证分析的重要基础。现有的几何建模方法大都由设计人员通过频繁的鼠标或键盘操作完成,是一种工作负荷较大的“体力型”建模方法,该方法难以保证类似方案构思、结构创新等“脑力型”工作所需的时间与精力,不可避免地影响了设计质量与效率,难以提高产品设计的自动化水平。虽然计算机辅助技术已给几何建模与图形绘制带来了极大的便利,但它仍延用原有的几何建模机制,改善程度有限,无法从根本上解决问题。为此,本文提出中文自然语言驱动,该方法以中文自然语言为媒介,通过对几何建模意图自然语言的表达与理解,建立良构的几何模型描述文档,再通过自动推理完成几何建模。

20世纪60年代,I.E.Sutherland[1]首次提出计算机辅助设计(Computer Aided Design,CAD)概念。随后,几何建模经历了曲面造型、实体造型、参数化及变量化等阶段。几何自动作图从几何要素之间的约束关系出发,实现自动几何位置求解,产生了基于数值计算、符号计算、规则和图论等的几何自动作图方法[2-6]。现有的几何自动作图研究主要关注几何拓扑约束关系的表达和求解[7-8],如线与线之间的垂直和平行、点的共线等,并以这种拓扑约束关系为边界条件进行求解算法研究。在设计意图研究方面,Geo等[9]对设计活动行为的框架体系进行分析和论述;Dantan等[10]将符号学与产品设计公理相结合,提出支持公理设计的符号单元和语义模型,以及实现设计活动统一表达的联结语义概念模型;Davidson等[11]对三维几何公差信息的表达方法进行了研究,给出几何公差信息分类及几何要素的表示方法,解决了几何公差变动问题;Wang等[12]提出基于工程语义信息的拆卸序列规划算法。针对半智能化设备设计方法的元件信息表达不完备和工件定位问题,Maropoulos等[13]提出基于特征层次的设备元件描述方法和基于工件特征推理的工件定位表面的自动选取方法,并完成了工件定位误差分析;Dmitriy等[14]通过对三维模型的工件定位特征自动提取和分析,提出基于规则推理(Rule-Based Reasoning,RBR)与模糊评判相结合的工件定位方案推理及优化算法,确定了工件定位方式和可行的定位表面;Boldin等[15]给出了面向零部件装配环境的基于事例推理(Case-Based Reasoning,CBR)的零部件装配次序表示和装配零部件检索算法;Chen 等[16]给出了零部件装配次序的与或层次结构建模与分析方法。

1 自然语言驱动的自动几何建模框架

自然语言是一种自然、方便的人机交互方式,通常包括语音和文本两种,这里主要讨论几何建模意图的自然语言文本描述方式。本文提出的“自然语言自动几何建模方法”研究框架如图1所示。首先,研究“建模意图的自然语言描述和理解”,分析以自然文本形式表达的几何建模意图,建立自然语言的表达规则,重构几何建模意图,形成“描述范式”;然后,分析产品模型数据交换标准(STandard for the Exchange of Product model data,STEP)中几何要素的构成特点,依据应用协议AP204提取蕴含在描述范式中的几何参数,建立几何参数识别方法,完成描述范式的几何参数映射,形成良构的几何建模文档;最后,剔除几何建模文档中的冗余几何信息,开发相关软件接口程序,完成几何建模文档的自动调入,从而实现自动几何建模。相对而言,几何建模意图的自然语言输入和STEP建模文档调入较为简单和成熟,该建模方法的主要难点是几何建模意图的自然语言描述与理解、几何建模要素的自动识别与映射。下面对上述两方面内容进行详细论述。

2 几何建模意图的自然语言描述与理解

2.1 几何建模意图的自然语言描述

以自然文本形式表达的几何建模意图涵盖了完整的几何建模意图信息,以保证建模意图理解的正确性,因此需保证几何建模意图自然语言描述的规范性。其中,几何建模意图的自然语言描述规则和自然语言表达范式自动处理是几何建模意图自然语言描述的主要难点。目前,关于自然语言描述与理解的算法较多,并在信息检索、机器翻译等方面得到了应用[17-19]。本文拟采用语料库技术进行几何建模意图的自然语言描述与理解。与通用语料库不同,几何建模语料库更具有针对性和专业性,其蕴含的工程语义更为明确,因此目标搜索范围相对收敛,问题求解过程较为快捷。

为保证几何建模意图自然语言描述的规范性,避免后继几何建模意图理解的误差和歧义,本文建立了几何建模意图的自然语言描述规则。

规则1 几何建模意图描述句是以中文句号“。”作为该语句的起始和终止标识;首句可以没有起始标识。合法几何要素描述句式为:

“……。几何建模语句1。几何建模语句2。……”

规则2 几何建模描述句内部的子句仅以中文逗号“,”作为断句分割符。合法子句的描述格式为:

“……。子句1,子句2,……,子句n。……”

规则3 几何建模描述句内部子句的文本用中文文本表达,数字用阿拉伯数字表达,其他字符为非法字符。即如“Φ30孔”需表达为“孔直径30”或“直径30的孔”。

规则4 几何建模意图描述子句句型为无主句,包括动宾短语、介词短语、名词短语三种形式。即“,……画长40直线,……”为合法子句,“,……长40,”为非法子句。

规则5 几何建模意图的自然语言表达范式的BNF描述为

〈几何要素〉{〈属性〉〈属性值〉}。

其中:〈几何要素〉多为名词,在每个句式中仅出现一次;〈属性〉为名词、形容词或介词,可以多次反复出现;〈属性值〉为数词,与〈属性〉成对出现,具体说明见2.2节。

通常,几何建模意图自然语言描述很难完全符合以上描述规则,需建立几何建模意图自然语言表达规范自动处理算法,将几何建模意图自然语言描述自动转换为符合规则的描述形式。本文采用了基于几何要素模式匹配的自然语言规范化处理方法,主要包括关键词匹配和句型匹配两个环节,规范处理算法如图2所示。首先,提取自然语言描述中的一个子句,若符合句型规范,则进行关键词匹配,否则提取下一个子句进行匹配,直至结束;然后,进行关键词匹配,搜索自然语言描述子句蕴含的关键词,若找到匹配关键词,则进行信息识别和提取,从而完成范式生成,否则继续处理下一个子句;最后,将提取识别所有子句进行组合,输出匹配结果,退出算法。模式匹配正确性与关键词的选择和数量等因素有关,通过收集、整理和分析各种设计资料,可以建立相应的几何建模意图关机词库,并根据需要进行增加、删除等。

2.2 几何建模意图的自然语言描述理解

几何建模意图子句理解是自动几何建模的重要影响因素,主要涉及几何建模意图词典和几何要素构造模式。目前,自然语言理解多采用分词词典法,并已产生许多中文信息分词规范,但是由于具体应用需求的不同,其分词效果差别很大。因此,对几何建模意图理解而言,通用分词规范存在一定局限性和误差。例如,几何元素“直线”是整体化的专用名词,而通用分词规范将其切分为“直”(形容词)和“线”(名词)两个词。同样,几何要素“曲线”不应切分为“曲”(乐曲)和“线”(名词)等。因此,本文建立了面向几何要素语料库的分词规范。用于分词的常用几何要素词和标识符(如表1)主要包括基本几何要素(点、线、面、圆、长方形等)和基本体素(立方体、柱体、球体、楔形体等),每类几何要素包含若干属性,属性词表和标识符如表2所示。根据具体的几何建模需求,可修改或增减几何要素及其属性。

表1 几何要素词及标识符

表2 属性词及标识符

几何要素构造模式是几何要素性质和参数的构成形式。通常,一个几何建模意图子句涵盖了多个几何要素,如长方体中蕴含了长、宽、高等几何要素,需进一步分解蕴含在几何建模意图自然语言表达范式中的几何要素信息,并去除多余成分。为此,本文建立了几何要素表达范式:

&索引项→[后继词]{属性}(属性值)〈编号〉。其中:

&索引项指几何要素,如表1所示;

[后继词]指几何要素所具有的属性,如表2所示;

{属性}指[后继词]的类型,包括“数值”和“约束”类型,“数值”多用于表示几何要素属性,“约束”类型多表示几何要素关系,包括相切、垂直、平行、偏移、角度、距离等类型;

(属性值)指{属性}的具体内容,包括数值、编号等;

〈编号〉指索引项序号。例如,“长方形”所含几何要素的表达范式如下:

“长方形→[长]{数值}(60)〈#1〉;”

“长方形→[宽]{数值}(20)〈#2〉;”

“长方形→[高]{数值}(30)〈#3〉;”

“长方形→[点]{数值}(0,0,0)〈#4〉;”

为实现几何建模意图自然语言表达范式的几何要素表达范式的自动推理,本文采用一阶谓词逻辑完成几何建模意图的几何要素识别与处理。令几何要素表达范式为逻辑公式前提,拟定作为推理结论的各类几何要素谓词表达(如表1),并将几何要素属性作为参量,通过参数识别与逻辑推理便可获得几何要素的具体属性值,进而完成几何建模意图的自然语言理解。各类几何要素推理原理相同,只是属性表达不同。例如,长方形所含几何要素的搜索匹配算法如下:

&索 引 项→[W]{T}(V)〈N〉:-长 方 形(_,_),!;

&索引项→[W]{T}(V)〈N〉:-长方形(&索引项WV,长方形(_,_));

其中W,T,V 和N 分别表示后继词、属性、属性值和编号等符号变量。这里需要指出,由于公差精度、粗糙度等制造工艺信息对几何建模过程的影响不大,上述内容的自然语言描述和理解不作讨论。

3 几何要素的数据表达与映射

3.1 几何要素的数据表达

几何要素的数据表达与映射主要是将几何要素表达范式转换为STEP 标准格式的几何数据格式。作为产品数据交换与表达标准,STEP 不但给出了几何要素的种类和表达格式,而且规定了明确的拓扑关系,它已在实际中得到了广泛应用[20-22]。因此,本文采用STEP AP204作为几何要素数据表达与交换的规范,并采用B-rep 几何模型表达模式。目前,已有许多软件平台都提供了支持AP204协议的数据导入接口,如Pro/E 和UG 等。因此,需要建立STEP几何要素表达与映射算法,以实现几何要素表达范式的自动STEP表达与转换。需解决的主要问题包括几何要素STEP数据表达和几何要素自动映射。

STEP格式包括头段和数据段。其中头段范围由“HEADER;/ENDSEC;”来标记,用于说明文件性质、配置等内容,对几何要素的数据表达与映射没有实质影响,将其作为一个数据块。头段数据的表达格式如下:

其中:文件名(File)、时间(Time)和作者(Author)等为几何建模的输入变量,ADD_HEADER 为头段谓词;数据段范围用“DATA;/ENDSEC;”来标记,它是几何要素的表达部分。数据段表达如下:

其中GEOMETRICAL_MODEL_PREDICIATES表示几何要素的映射子句,它是按STEP AP204由几何要素的表达范式映射而来。

几何建模意图给出了几何模型的自然主观描述,如长、宽、高等,需将这些表达要素转换为符合STEP的几何要素,如线(Line)、曲线(Curve)和边线(Edge_curve)等。STEP 规定了若干几何要素,采用不同的应用协议可以生成不同的数据模型,几何要素具有很大的灵活性,通过组装几何要素可以建立同一模型的不同表达。本文采用的几何要素表达格式为

编号=几何要素(参数1,参数2,…)。

其中:编号表示几何要素的数字标识(简称为标识符),它是唯一的,并可作为其他几何要素的参数被调用;几何要素指STEP规定的几何要素标识符号,如Line,Circle等;参数指几何要素本身所具有的参数。不同几何要素所包含的参数类型和个数不同,需根据标准进行匹配和识别。

为了区别相同几何要素的不同实体,一般将几何要素的第一参数定义为几何要素的别名,并以单引号标识,如为了区别长方体的长、宽、高等,可分别命名为“长”、“宽”和“高”等。

3.2 几何要素的模型映射

为实现自动建模,需要将几何要素表达范式转换为具体的几何要素(或称为几何建模实体Entity),并完成几何要素参数提取和处理。几何要素参数主要包括元素和表两种形式。元素是最简单的数据类型,包括数值、标识符、字符串、布尔值和通配符*等类型;表是由元素类型构成的复合数据形式,由括号“()”表示。由于STEP 几何要素(实体)均采用英文描述,为表达方便,本文统一采用英文表述。几何要素的模型映射需解决“几何要素的工程语义分析”和“几何要素的自动构建机制”。

自然语言几何要素的工程语义理解,是指将蕴含在几何建模意图中的工程语义映射为具有明确意义的几何要素。例如,将长、宽、高等自然语言工程语义转换为几何要素Line实体。工程语义可以分为简单工程语义和复合工程语义,其中复合工程语义由简单工程语义按需求组合而成。简单工程语义是描述几何模型特征的属性信息,如长、宽和高等;复合工程语义是表达特定结构的抽象信息,如孔、槽和筋等。一般而言,简单工程语义较易处理,复合工程语义需要进行分解,获得相应的简单工程语义集后,再进行工程语义处理和几何要素组合。常用工程语义及其对应几何要素如表3所示。

表3 常用工程语义的几何要素表

几何要素的自动构建机制是指按几何要素结构形式自动构建几何要素的表达格式。尽管STEP每类几何要素的构造模式不同,但这些几何要素的结构形式相对固定,这为几何要素表达范式的自动推理提供了映射依据。为了实现几何要素的自动构建,除了必须知道每类几何要素的构造模式外,还要知道每类几何要素的信息模式,这些内容都可以通过分析STEP 几何要素的数据结构获得。例如,STEP线(Line)实体的数据结构和信息模式可以表达成如图3所示的树型结构。

由该几何要素组成结构可见,它涉及STEP 信息(粗体字)和用户数据信息(斜体字)两类。具体而言,几何要素包括4 个字符串(表示几何元素的名字,若可以清楚地识别各个几何要素,则可将其命名为空字符串‘’)、2个表元素(分别表示起点和方向矢量)和1个数值(表示线长度)。确定了几何模型的参数信息——起点、方向和长度,就可以确定Line元素。其中,每类元素的对应编号可由映射元素直接获得,由几何要素结构树可得:①每个建模实体都应具有一个标识符;②结构树中叶节点均为用户输入参数;③非叶节点为均为几何建模实体;④所有几何建模实体中,根节点为几何建模实体,其他非叶节点为引用几何建模实体。

最后,需根据几何要素结构模式将几何要素表达范式转换为对应的几何元素。本文采用基于一阶谓词逻辑的模式匹配法,其匹配原理与识别过程与图2相似。例如,图3所示的Line元素对应的几何要素模式匹配与识别算法如下:

其他类型几何实体的处理方法与Line相同,只是数据结构和参数有所不同,在此不再赘述。通过上述模式识别与匹配,便可以实现几何要素的自动识别与映射,从而完成几何要素的模型映射。

3.3 几何建模要素的几何模型处理

由于上述分析采用了STEP标准独立地建立各类几何要素,且在各类几何要素的模式识别和自动建立过程中没有考虑同类几何要素的数据重复问题,不可避免地出现数据冗余、参数命名空间混乱等情况。因此,几何模型的后继处理需完成冗余数据剔除与相关数据修改。冗余元素的主要特点是几何要素的表达词和参数均相同,通过对比分析即可消除冗余词汇及其对应的语言描述。此外,在冗余数据删除过程中,应及时更改被删除冗余元素所属的上下文描述子句中的参数标识符号,否则会产生相关歧义数据,导致建模失败。由于这些重复实体具有标识符相同和标号不同的特点,通过比较标识符和参数便可以剔除重复数据。例如,下列代码中CARTESIAN_POINT 元素大量出现,包括#3,#7,…。完成冗余数据的剔除和整理后,仅保留一个元素(#3),其他元素将被剔除(#7)。这将使#8元素中的#7参数构造失败,因此须将其修改为#3。剔除修改前后的代码如下:

4 实例研究

本文依据以上论述,以Visual C++为平台、Microsoft Access为后台数据库,开发了原型实验系统——自然语言几何建模系统,如图4所示。该系统包括自然语言输入、建模意图分析、几何要素映射、建模信息处理和几何模型生成等模块。自然语言输入模块用于几何建模意图的自然语言描述,完成句型的有效性验证;建模意图分析模块根据语料库对输入的几何建模意图进行整理和分析,形成良构的几何建模意图描述;几何要素映射模块完成STEP几何要素的映射;建模信息处理模块完成冗余信息和数据的修改;几何模型生成生成相关软件平台的接口程序,实现几何建模文档的自动调入和模型重构,本文使用Pro/E 平台,通过读取STEP文档实现几何模型自动构建。目前,大多数软件都提供了多种格式(IGES,STEP,DXF 等)的文件导入功能,此处不再赘述。

5 结束语

本文针对目前产品几何建模存在的问题,提出中文自然语言驱动的自动几何建模方法。该方法以中文自然语言文本表达几何建模意图,采用语料库技术完成了几何建模意图的理解和分析,并提出了用于规范设计意图表达的相关规则,给出了自然语言几何建模意图理解的模式匹配分析方法;采用树型结构完成了STEP 中几何实体的分析和表达,分析了几何建模实体的参数表达特点,实现了基于一阶谓词逻辑的几何建模意图模式识别和几何要素自动映射;最后,通过开发相关的原型系统,对所提方法进行了实验验证。实验表明,该方法是合理、可行的。由于建模意图表达的复杂性和不确定性,以及几何要素的多样性,本文主要以简单几何实体为目标对自然语言几何建模方法进行了尝试和探索。有关复杂几何模型的自然语言建模方法,以及公差信息、约束关系等内容还有待深入研究。

[1]SUTHERLAND I E.A man-machine graphical communication system[C]//Proceedings of the Spring Joint Computer Conference.Detroit,Mich.,USA:Spartan Book,1963:329-345.

[2]BORNING A H.The programming language aspect of thing lab[J].ACM Transaction on Programming Language and System,1984,3(4):353-387.

[3]HEYDON A,NELSON G.The juno-2constraint-based drawing editor[R].Palo Alto,Cal.,USA:Semiconductor Research Center Rsearch Report 131a,1986:341-354.

[4]GOSLING J.Algebraic constraint[R].Techniacl Report on Pittsburgh,Pa.,USA:Carnigie Mellon University,1987:456-467.

[5]ALLGOWER E L,GEORG K.Continuation and path following[J].Acta Numerical,1989,2:1-84.

[6]GAO X S.Automated geometry diagram construction and intelligent CAD[C]//Proceedings of the 2nd International Workshop on Automated Deduction in Geometry.Berlin,Germany:Springer-Verlag,1999:232-257.

[7]LIU Jing,CHEN Zhengming,GAO Shuming,et al.Design intent maintenance and topological entities naming in design process[J].Journal of Computer-Aided Design &Computer Graphics,2009,21(8):1106-1117(in Chinese).[刘 景,陈正鸣,高曙明,等.设计过程中的设计意图维护和拓扑元素命名[J].计算机辅助设计与图形学学报,2009,21(8):1106-1117.]

[8]ZHANG Wenli,ZUO Hongfu,ROLLER D.Adaptive interactive evolutionary computation-based intent-oriented modeling[J].China Mechanical Engineering,2006,17(4):350-355(in Chinese).[张文莉,左洪福,Dietr Roller.基于自适应交互进化的设计意图驱动造型[J].中国机械工程,2006,17(4):350-355.]

[9]GEO J S,KANNENIESSER U.The situated function behavior-structure framework[J].Design Studies,2004,25(4):373-391.

[10]DANTAN J Y,MATHIEU L,BALLU A,et al.Tolerance synthesis:quantifier notion and virtual boundary[J].Computer-Aided Design,2005,37(2):231-240.

[11]DAVIDSON J K,MUJEZINOVIC A,SHAN J J.A new mathematical model for geometric tolerance as applied to round faces[J].Journal of Mechanical Design,2002,124(4):609-622.

[12]WANG Hui,XIANG Dong,DUAN Guanghong,et al.Assembly planning based on semantic modeling approach[J].Computers in Industry,2007,58(3):227-239.

[13]MAROPOULOS P G,YAO Z,BRADLEY H D.An integrated design and planning environment for welding part 2:process planning[J].Journal of Materials Processing Technology,2006,107(3):9-14.

[14]BESPALOV D,REGLI W C,SHOKOUFANDEH A.Local feature extraction and matching partial objects[J].Computer-Aided Design,2006,38(9):1020-1037.

[15]BOLDIN D F,ABELL T E,LUI M C,et al.An integrated computer aided for generating and evaluating assembly sequences for mechanical products[J].IEEE Transactions on Robotics and Automation,2007,8(1):67-86.

[16]CHEN C L,HARWADE P,MINNISTA J.Neural computation for planning AND/OR precedence-constraint robot assembly sequence[J].IEEE Transactions on Robotics and Automation,2005,4(2):49-55.

[17]MIAO Duoqian,WEI Zhihua.Chinese text information processing and application[M].Beijing:Tsinghua University Press,2007(in Chinese).[苗夺谦,卫志华.中文文本信息处理的原理与应用[M].北京:清华大学出版社,2007.]

[18]WEN Tao,ZHU Qiaoming,LYU Qiang.A fast algorithm for Chinese word segmentation[J].Computer Engineering,2004,30(19):119-120(in Chinese).[温 涛,朱巧明,吕强.一种快速汉语分词算法[J].计算机工程,2004,30(19):119-120.]

[19]HE Hongzhao,HE Pilian,GAO Jianfeng,et al.Query expansion based on the context in Chinese information retrieval[J].Journal of Chinese Information Processing,2002,16(6):32-39(in Chinese).[贺宏朝,何丕廉,高剑峰,等.一种基于上下文的中文信息检索查询扩展[J].中文信息学报,2002,16(6):32-39.]

[20]ZHENG Lianyu,LIANG Dawei,LEI Pei.STEP-NC closedloop machining integrated process planning high level process control on-line inspection[J].Computer Integrated Manufacturing Systems,2011,17(11):2389-2398(in Chinese).[郑联语,梁大伟,雷 沛.基于STEP-NC 的闭环加工技术研究与 实 现[J].计算机集成制造系统,2011,17(11):2389-2398.]

[21]OUYANG Huabing,SHEN Bin.STEP-NC computer aided process planning machining features heuristic algorithms setup planning[J].Computer Integrated Manufacturing Systems,2012,18(5):973-980(in Chinese).[欧阳华兵,沈斌.面向STEP-NC基于加工特征规则聚类的零件装夹规划[J].计算机集成制造系统,2012,18(5):973-980.]

[22]LI Congdong,XIE Tian,TANG Yongli,et al.Cloud manufacturing semantic bill of X semantic reasoning ontology[J].Computer Integrated Manufacturing Systems,2012,18(7):1469-1484(in Chinese).[李从东,谢 天,汤勇力,等.面向云制造服务的语义X 列表知识表达与推理体系[J].计算机集成制造系统,2012,18(7):1469-1484.]

猜你喜欢
子句意图范式
命题逻辑中一类扩展子句消去方法
原始意图、对抗主义和非解释主义
陆游诗写意图(国画)
以写促读:构建群文阅读教学范式
范式空白:《莫失莫忘》的否定之维
制定法解释与立法意图的反事实检验
命题逻辑可满足性问题求解器的新型预处理子句消去方法
孙惠芬乡土写作批评的六个范式
管窥西方“诗辩”发展史的四次范式转换
西夏语的副词子句