马嵩华,田 凌
(清华大学 机械工程系,北京 100084)
随着零件制造业的发展和供货商的丰富,在当今的中小型机械制造企业中,零件的加工过程已经从生产过程中分离出来,取而代之的是外协外购过程,制造企业只需将注意力集中在设计和装配过程,通过选择合适的供应商就可以组装出符合市场需求的产品。生产过程的转变决定了设计过程的转变,“设计人员不需要从设计轮胎开始新的汽车设计”。设计成品中70%左右的零件是标准件,而企业设计模式的转变也迫切需要一个丰富的零件库。同时,在大规模定制生产中,构建零件库能有效地管理企业内部零件,减少数据的多样化和冗余。目前,国外已经开发出的开放式零件库包括达索公司的3DContentCenteral零件库(http://www.3d-contentcentral.com)和TraceParts零件库(http://www.tracepartsonline.net),其中TraceParts已经存储了一亿多种计算机辅助设计(Computer Aided Design,CAD)模型;国内新迪公司的3DSource(http://www.3dsource.cn)存储了百万级的资源规模。开放的集成零件库能够方便制造企业进行多供应商比较,节省大量的外协外购成本,同时也为生产企业提供了新的营销途径。
开放零件库不同于企业零件库,需要集成和组织多供应商的产品信息。制造企业作为需求方的同时,也可以将自己的产品进行上传,从而转变成为供应方。由于系统的开放性,所有企业在系统中具有对等的地位。开放零件库可以提升企业与企业间的电子商务营销模式,系统不但提供供应商目录和联系方式,而且具有企业编目视图、产品功能视图和特征相似性视图多个视图。零件库应提供充分的产品展示功能,包括二维图纸、三维模型和选型参数。调查表明,80%的美国工程师希望零件供应商可以通过网络提供二维或三维CAD 零件文件;60%的顾客承认他们倾向于选择提供了此类服务的供应商[1]。
根据开放式零件库的设计需求,Li等[2]使用可扩展标记语言(eXtensible Markup Language,XML)表示零件的特征参数,实现了基于Web的可共享零件库。Jin等[3]使用资源描述框架(Resource Description Framework,RDF)描述的工程语义网对零件库进行组织,实现了扩展性检索。黄方毅等[4]在动态服务器页面(Active Server Page,ASP)模式下开发了VPLS.NET 零件库系统。黄沈权等[5]利用Web 2.0 的技术,如维基、社交网站(Social Networking Services,SNS)、掘客、标签和本体结合的技术,实现了零件库的自组织和自维护。郭剑锋[6]和顾复[7]等基于本体实现了可扩展性零件查询。Cho等[8]利用本体技术实现了多供应商的信息集成。Pierra建立了零件库(Parts LIBrary,PLIB)本体[9],目标是为现有的零件表达定义一个中性的、计算机可解释的格式。该本体用6元组表示为O=〈C,P,IsA,PropCont,ClassCont,ValCont〉,其中:C表示描述类集合;P 为属性集合;IsA 定义了类间的继承关系;PropCont定义了属性的可视性;ClassCont为属性的可应用性;ValCont将相关环境从属特征属性与相关环境参数联系起来,可应用于零件库的系统中。马军等[10]在PLIB本体研究的基础上,提出了产品资源定义。操云甫等[11]基于PLIB标准,采用基本语义单元、字典元素和内容项三级描述,以统一的数据格式表达了零件库信息。杨静通等[12]将PLIB 与产品模型数据交互规范(STandard for the Exchange of Product model data,STEP)相结合,使零件库和本地计算机辅助设计环境集成起来。马俊等[13]基于本体库使用XML实现Web上的动态目录发布。余军合[14]通过总模型类、功能模型类和功能视图模型类实现了零件库标准的产品信息建模。
上述研究运用当时最新的技术手段实现了零件的查询、查看和共享,将本体作为零件库的规范化描述,用于组织、管理零件和供应商的信息。其中PLIB本体过于庞大和复杂,增加了部署、实施和维护的负担,削弱了用户使用的自助性和灵活性,应用性不强。同时上述研究使用本体中“主—谓—宾”三元组的查询方式,该查询方式对用户并不简便;而本体也作为人机交互语义理解的一致性描述,可以实现语义检索,使零件库得到扩展性查询。已有的开放式零件库在使用上还存在不足:①搜索零件时难以有效把握搜索意图,容易造成查询失效;②进行新零件发布时需要管理员介入对库进行更新,难以实现使用上的自助性,造成商业吸引力的不足;③零件库不支持多设备,在使用灵活性上存在不足。
在前人研究的基础上,本文建立基于Web的跨平台零件库,实现多设备多操作系统的零件浏览操作和扩展性查询。首先,建立零件库的领域本体,用以描述和组织数据资源,包括供应商、零件及其功能和特征;通过对领域本体进行完备性检查建立合理的语义关系;通过零件信息发布实现本体的更新和维护;通过比较概念间的语义相似度实现扩展性信息查询;利用HTML5技术实现跨设备跨平台的零件库的资源可视化。最后,建立基于Web的零件库原型系统。该开放零件库可提供查找、配置、上传、下载等基本功能,同时具有语义检索、多平台三维模型浏览和自助零件发布等功能,便于中小型制造企业便捷地选择供应商,同时也为供应商提供充分展示产品的机会。
本体是共享概念模型的明确的形式化规范说明[15],在本体描述的支持下,用户和系统可以在对事务统一认识的基础上进行沟通。根据GB/T17645.42标准,将零件族层次划分为一个具有单一继承关系的树状结构。按分类层次的高低,将零件族分为通用族和相似族两部分。本文根据马军等[10]提出的产品资源定义,提出如图1所示的零件库本体模式,实现零件和供应商信息的组织。
定义1 零件库的领域本体模型O=〈C,Fun,Fea,R,D〉。其中:C 表示本体中概念(或称类)的集合,Fun表示功能属性集,Fea表示特征属性集,R表示零件库中各概念间关系的集合,D 表示数据属性集合。
C={ci,1≤i≤n},ci为零件库概念,包括图1中的零件资源概念、供应商、零件族及其子概念,n为概念分类数。C使用体现领域功能的基础词汇表述,如紧固件、齿轮、丝杠等,形成零件库的领域词典,归纳和组织整个库中各种型号的零件,用于关键词的零件检索。
Fun表示零件涉及的功能属性集合,是在功能上对概念集合C进行结构化描述形成通用族。Fun通过将设计制造领域所描述的知识在功能原理层进行抽象,得到所含的功能本体,就可以实现一定程度上知识的迁移与重用,使信息搜索不受关键词提取的主观性限制,从而在功能维度上扩展查询零件信息的范围,推送符合查询意图的相关信息。如搜索关键词“螺栓”,在查询到多种类型的螺栓之后,其配套的螺母也会被检索到。功能本体的构建采用“功能动词+流名词”的形式。零件所涉及的功能动词分为分支、移动、结合、控制、转化、补给、发送和支持八个基本子类,这些动词被进一步细化为二级功能属性与三级功能属性,如“结合”的二级功能属性包括连结和混合,三级功能属性包括结合、连接、合并等;作为流属性的名词分为物质流、能量流、信息流三个基本子类,并且同样根据需要做了进一步的细化,具体请参见文献[16]。
Fea表示零件的特征属性,与Fun相对应,是在特征上对概念集合C 进行结构化描述,形成相似族。Fea是将零件在几何特征方面进行抽象,得到所含特征本体,使信息搜索在特征维度上进行扩展。零件库仅定义关键特征,以保证特征关联性弱化于功能关联性。
D 表示数据属性集合,由简单数据类型组成,如图1中的标志码、版本号、单位等。D 用于对难以定性描述的功能属性和特征属性进行定量描述,如刚性、柔性和挠性分别用整数1~3,4~7 和8~10标示。
R 表示领域本体中各种概念之间关系的集合,主要描述基本概念和概念、概念和属性、属性和属性之间一对一、一对多或者多对多的相互映射关系。表1[17]所示为零件库中涉及的主要关系及其性质,这些性质决定了后续本体推理的方向。
表1 概念间的关系定义
本体构建的好坏决定着查询结果的优劣。本体建立起来后需要进行完备性检查,即对概念间的语义关系进行推理,从而派生出新的关系,同时排除不合逻辑的关系。推理机以描述逻辑作为理论基础,采用Tableau算法。该算法最早由Schmidt-Schau和Smolka为检验定语概念语言补充(Attributive concept Language with Complements,ALC)中概念的可满足性而提出,其基本思路为:通过公式逐渐构建模型,通过自顶向下的方式分解公式。此过程一直持续,直到找完所有可能的公式,目的是为了证明没有找到不可满足公式的模型。RACER,FaCT 和Pellet等是Protégé自带的具有强烈针对性的推理机,其优点是效率高、使用方便,可限定在几种具体的本体语言上(如Web本体描述语言(Web Ontology Language,OWL)、资源描述框架模式(Resource Description Framework Schema,RDFS)/资源描述框架(Resource Description Framework,RDF))进行推理。本文使用Protégé中的FaCT++进行推理,最终实现的领域本体如图2所示,其中图2a为根据图1建立的零件库本体中的主要概念,图2b是对主要概念的展开。
实现零件自助发布既要满足本体在整个零件库中信息组织的权威性和可维护性,又要保证供应商具有足够的自助性和自主权限,是开放式零件库需要解决的一个重要问题。本文采用本体实例的方式组织详细零件信息,ci表示某零件概念,其中的实例记为mij,记录了可选型的属性信息。零件的自助发布需要经历从“XML 信息文件”到“OWL 本体实例”的过程,如图3所示。图3a为角接触球轴承概念下的上传XML文件,经过文件解析得到如图3b所示的实例;同时对概念ci对应数据属性集di进行更新,即di={Masskg,dmm,Bmm,Dmm,Limiting-Speeds-Grease,LimitingSpeeds-Oil,BearingNumber,CrN,COrN},如图3c所示。零件的查询是该过程的逆过程。与直接保存XML 文件相比,采用本体实例对零件信息进行组织、保存和维护保证了扩展性,可以在新零件发布时不需要对旧信息进行处理;与采用数据库保存信息的方式相比,可以采用含有语义的SPARQL语言进行查询;不同零件具有不一致属性,采用本体实例组织降低了对数据库设计的要求。设计零件库本体由管理员设计,概念实例由供应商上传的零件信息得到。本体概念实例与零件具有一一对应关系,实现本体实例的自动定义、属性集的自动更新和零件的自助发布。
进行零件库中信息的扩展性搜索首先考虑语义相似性。两个词句w1和w2之间的语义相似度可用表示,其中α 为调节因子,Dist(w1,w2)表示两语句间的距离。词语语义距离的计算方法基本上可以分为两类:①基于某种世界知识的计算方法;②基于大规模语料库的上下文统计计算方法[18]。
本文采用Dekang Lin[19]的方法计算领域本体的语义相似度。概念的出现概率记为P(ci):P(mij∈ci),表示从所有实例中随机抽取某个实例是概念ci的实例的可能性。零件库中的实例数相对较小,该数值可以用相对频率直接计算,表示概念ci的所有实例数,N 为领域本体中的全部个体数。在领域本体中,概念c1和c2间的相似度定义为
式中:LCS(c1,c2)表示概念c1和c2的最小公共父概念,且P(LCS(c1,c2))≥P(c1)+P(c2)。六角头螺栓被定义为c1={六角,圆杆,供应商,螺纹,连结,锁紧},不规则头螺栓可以定义为c2={不规则,圆杆,供应商,螺纹,连结,锁紧},两个概念的差异在于fea1={六角,圆杆},fea2={不规则,圆杆},则两者的LCS(c1,c2)=c1∧c2={圆杆,供应商,螺纹,连结,锁紧},即具有c1和c2公共属性的概念集合。
企业用户使用零件库的基本操作是浏览和查询。常用的信息查询模式是以点对点的关键词检索,如图4a所示。这种检索模式结果简单,实现容易,但是由于关键词在抽象过程中与用户本身的认知水平有关,容易造成检索失效。图4b所示为基于本体的两种检索模式。SPARQL 可以直接查询本体中的概念和实例,同时关键字通过同义、反义、逻辑性、结构、相关性被扩展成知识面,其检索结果更能涵盖查询意图。
对于每一个输入的查询语句,首先进行分词,得到查询关键词。对每个查询关键词利用Hownet计算其在领域本体中的对应概念,实现同义词扩展;借助语义相似性计算查询概念与其他概念的相似度,得到逻辑扩展和结构扩展;结果按照相似度从大到小的顺序进行排列,形成功能本体语义扩展词库,最后根据扩展词库对整个零件库进行查询。具体语义扩展算法如下:
算法1 ExpansionQuery(String query,Ontology O)。
Input:用户输入查询语句query,领域本体O。
Output:扩展查询语句lists。
本文设计的零件库系统基于Web服务,基于超文本传输协议(Hypertext Transfer Protocol,HTTP)的浏览器/服务器(Browser/Server,B/S)结构,简化了客户端软件,增强了系统的开放性和跨平台性。将所有的开发、维护和升级工作集中在服务器端,用户通过系统管理员获得权限后,就可以使用各种设备上的浏览器,通过HTTP请求并共享集中在服务器端的服务,保证了操作对象的一致性。零件库的体系结构定义如图5所示,包括表示层、应用服务层和资源层。
资源层是整个零件库的基础和核心,负责管理所有的资源和数据,包括本体库、零件信息库、文档信息库、供应商信息库和人员信息库。应用服务层包括系统层、工具集和应用工具三部分,其中系统层面向系统管理员,工具集尽可能地提供给供需双方在商业活动中便捷的交流方式和工具,应用工具面向用户使用,实现供应商信息自助式发布和需求方信息自助式获取。表示层包括客户端浏览器和Web Server页面处理程序。客户端浏览器负责人机交互。表示层可以支持的客户端包括计算机、平板电脑、手机和掌上电脑等。
基于Web的开放式零件系统界面如图6所示,后台业务逻辑采用Java语言编写,开源Tomcat作为服务器,MySQL作为信息数据库。零件库的PC端视图界面使用Ext JS 4.1编写,移动视图界面采用Sencha Touch 2.0 编写,业务逻辑采用Struts2+Hibernate3+Spring3 的架构实现。注册用户进入零件库后,根据权限可以查看整个零件组织树,若为供应商,则可以发布自己的零件和选型参数表;若为需求方,则可以查看或上传下载零件二维图纸、三维CAD 模型和其他技术资料。
跨平台指在个人电脑、平板电脑、手持设备中进行零件信息的查看、三维模型显示和观察等操作,增强了零件库使用的灵活性。基于Web的零件库可以实现跨操作系统的操作,但对于三维模型显示,往往需要借助浏览器插件的形式。由于设备性能的不同、浏览器内核的不同以及对三维模型浏览插件的支持程度不一致,在HTML5之前的Web零件库也很难实现跨平台。HTML5中的网页图形库(Web Graphics Library,WebGL)技术基于OpenGL ES 2.0改写,是JavaScript的关于三维模型显示交互的应用程序编程接口(Application Programming Interface,API)。图7所示为WebGL实现三维模型显示的最基本的类和类之间的关系,包括场景(Scene)、渲染器(Renderer)、容器(Document)三个层次。
该零件库选择Three.js作为浏览器三维引擎,实现无插件三维模型可视化,图8所示为不同操作系统下的使用效果。该部分在跨平台的设计工作中直接移植了运行在PC 端的代码,不需要额外的开发工作。用户可以在手机上对三维模型进行交互式操作,以保证产品性能得到充分展示。
该零件库基于本体建立,除利用SPARQL语言进行信息检索外,还可以利用领域本体概念之间的语义相似性进行扩展性检索。以检索六角头螺栓为例,得到的结果如图9所示。查询结果相似度最高的包括六角头螺钉(100%)、六角螺母(74.3%)、锁紧螺母(63.1%)、沉头螺栓(56.2%)、圆柱头螺栓(55.8%)、不规则头螺栓(54.6%)、紧定螺钉(53.4%)和吊环螺栓(53.1%),它们的相似度均高于50%。结果反映出以式(1)计算领域本体概念之间的相似度,以及概念与概念、概念与属性之间的关系对结果具有很大的影响。六角螺母与六角头螺栓都具有连接的功能和螺纹特征,在实际生产过程中经常配合使用,其相似度远高于其他类型螺栓。这正反映了基于该领域本体的零件语义检索方法。与基于几何特征和关键字的检索方法相比,该方法在功能维度上进行了扩展,能够得到更符合检索意图的结果。
零件库中不同的零件具有不同的关键参数,这些参数对产品选型具有重要意义。以角接触球轴承为例,选型属性包括内圈直径、外圈直径、宽度、额定动载荷、额定静载荷和质量,而齿轮的选型参数包括齿数、齿顶圆直径、内孔直径和齿厚等。同类零件由于供应商不同,可展示的选型参数不同,或参数的单位不同。同样地,与SNR 公司相比,角接触球轴承NSK 公司提供了可选型的限制转速属性,这决定了选型表格的设计应具有柔性和适应性。
已有的零件库采用静态页面,供应商在发布零件时需要通知系统管理员,管理员对整个零件库的源代码进行修改。本文使用XML 技术,利用XML文档保存选型参数值,如图3 所示。JavaScript和XML DOM 会解析XML 文件,生成动态表格。每个零件参数都通过自助发布技术保存在数据库中,同时对领域本体信息进行更新。系统通过取回本体实例进行显示。在具有发布权限的前提下,供应商可以直接上传零件的相关信息及其XML 格式的选型参数表(如图10),方便了供应商迅速发布信息,也体现了该零件库的开放性。该方法不需要对源代码进行改动,增强了供应商的自主性和零件库使用的自助性。
本文所提出的开放性跨平台零件库系统基于本体组织和HTML5 技术开发,具有以下特点:①以本体为核心提供第三方信息化服务平台,可实现零件信息自助发布、系统自动维护,方便了零件供应商的自助服务;②将零件资源和供应商信息以领域本体的形式进行组织,基于语义相关性的检索方式增强了查询的有效性,能够推送更符合用户意图的结果,并提高了零件库的可扩展性和集成性;③提供跨平台的三维模型显示和操作方法,具有良好的开放性和使用灵活性。
本文领域本体的建立具有一定个体主观性和不完备性,虽然使用推理机制,但是如果前提定义得不合理,会使检索结果差别很大。未来希望能够自动建立领域本体和本体评价反馈机制,使检索结果的适应性更强。该零件库将与基于Web的产品数据管理(Product Data Management,PDM)系统建立接口,以方便PDM 对整个产品生命周期的管理,同时可以将相关关键技术移植到基于Web 的PDM系统中。
[1]QI Guoning,GU Xinjian,TAN Jianrong.Technology and application of mass customization[M].Beijing:China Machine Press,2003(in Chinese).[祁国宁,顾新建,谭建荣.大批量定制技术及其应用[M].北京:机械工业出版社,2003.]
[2]LI Yingguang,LU Yong,LIAO Wenhe,et al.Representation and share of part feature information in Web-based parts library[J].Expert Systems with Applications,2006,31(4):697-704.
[3]JIN Bo,TENG Hongfei,WANG Yishou,et al.Product design reuse with parts libraries and an engineering semantic Web for small-and medium-sized manufacturing enterprises[J].The International Journal of Advanced Manufacturing Technology,2008,38(11):1075-1084.
[4]HUANG Fangyi,ZHAO Han,DONG Yude,et al.Development of service platform for Web parts library[J].Transactions of the Chinese Society for Agricultural Machinery,2007,38(3):148-152(in Chinese).[黄方毅,赵 韩,董玉德,等.Web零件库服务平台的开发[J].农业机械学报,2007,38(3):148-152.]
[5]HUANG Shenquan,GU Xinjian,QI Guoning,et al.Web 2.0-based parts library management system[J].Computer Integrated Manufacturing Systems,2009,15(10):2057-2062(in Chinese).[黄沈权,顾新建,祁国宁,等.基于Web 2.0的零件库管理系统[J].计算机集成制造系统,2009,15(10):2057-2062.]
[6]GUO Jianfeng,GU Xinjian,QI Guoning,et al.Research and implementation of intelligent search engine based on ontology in parts-library[J].Journal of Zhejiang University:Engineering Science,2007,41(4):639-645(in Chinese).[郭剑锋,顾新建,祁国宁,等.零件库中基于本体的智能搜索引擎的研究与实现[J].浙江大学学报:工学版,2007,41(4):639-645.]
[7]GU Fu,ZHANG Shuyou.Adjustable relevance search in Web-based parts library[J].Computer Integrated Manufacturing Systems,2011,17(4):688-694(in Chinese).[顾 复,张树有.面向Web零件库的可拓关联搜索[J].计算机集成制造系统,2011,17(4):688-694.]
[8]CHO J,HAN S,KIM H.Meta-ontology for automated information integration of parts libraries[J].Computer-Aided Design,2006,38(7):713-725.
[9]PIERRA G.The PLIB ontology-based approach to data integration[EB/OL].[2012-08-27].http://link.springer.com/chapter/10.1007%2F978-1-4020-8157-6_2#page-1.
[10]MA Jun,QI Guoning,GU Xinjian,et al.Product resource common model based on PLIB ontology[J].Computer Integrated Manufacturing Systems,2007,13(4):631-637(in Chinese).[马 军,祁国宁,顾新建,等.基于PLIB 本体的产品资源公共模型研究与实现[J].计算机集成制造系统,2007,13(4):631-637.]
[11]CAO Yufu,LI Feng,HAN Yongsheng,et al.Information model of parts library and its representation based on PLIB[J].Journal of Computer-Aided Design &Computer Graphics,2002,14(6):598-602(in Chinese).[操云甫,李 峰,韩永生,等.基于PLIB 标准的零件库信息模型及其表达[J].计算机辅助设计与图形学学报,2002,14(6):598-602.]
[12]YANG Jingtong,QIU Changhua,ZHANG Jiatai,et al.Development and research of open parts library system based on PLIB[J].Journal of Harbin Engineering University,2005,26(3):380-384(in Chinese).[杨静通,邱长华,张家泰,等.基于PLIB的开放式零件库系统的开发与研究[J].哈尔滨工程大学学报,2005,26(3):380-384.]
[13]MA Jun,QIU Changhua,ZHANG Jiatai.PLIB and Web based parts library information system[J].Applied Science and Technology,2003,30(7):5-7(in Chinese).[马 俊,邱长华,张家泰.基于PLIB 和Web 的零件库信息系统[J].应用科技,2003,30(7):5-7.]
[14]YU Junhe,QI Guoning,WU Zhaotong.Product information modeling based on parts library standard[J].Computer Integrated Manufacturing Systems,2002,8(4):263-268(in Chinese).[余军合,祁国宁,吴昭同.基于零件库标准的产品信息建模技术[J].计算机集成制造系统,2002,8(4):263-268.]
[15]GRUBER T R.A translation approach to portable ontology specifications[J].Knowledge Acquisition,1993,5(2):199-220.
[16]YING Hang,LI Shanping,GUO Ming,et al.Research on ontology-based product knowledge S-B-F representation model[J].Computer Integrated Manufacturing Systems,2004,10(S1):30-38(in Chinese).[应 杭,李善平,郭 鸣,等.本体在产品知识S-B-F表达模型中的应用研究[J].计算机集成制造系统,2004,10(S1):30-38.]
[17]TU Jianwei,LI Yan,LI Wenqiang,et al.Knowledge retrieval model and implementation for product Innovative design[J].Computer Integrated Manufacturing Systems,2013,19(2):300-308(in Chinese).[涂建伟,李 彦,李文强,等.一种面向产品创新设计的知识检索模型与实现[J].计算机集成制造系统,2013,19(2):300-308.]
[18]LIU Qun,LI Sujian.Word similarity computing based on How-net[J].International Journal of Computational Linguistics &Chinese Language Processing,2002,7(2):59-76(in Chinese).[刘 群,李素建.基于《知网》的词汇语义相似度计算[J].中文计算语言学,2002,7(2):59-76.]
[19]LIN Dekang.An information-theoretic definition of similarity[C]//Proceedings of the 15th International Conference on Machine Learning.San Francisco,Cal.,USA:Morgan Kaufmann Publishers Inc.,1998:296-304.