APP下载

航天复杂薄壁零件加工工艺知识图谱构建及其应用*

2024-04-24彭仕鑫赵正彩徐宝德丁国智苏宏华

机电工程 2024年4期
关键词:薄壁路线图谱

彭仕鑫,肖 彪,赵正彩*,徐宝德,丁国智,尉 渊,苏宏华,王 萌

(1.南京航空航天大学 机电学院,江苏 南京 210016;2.北京星航机电装备有限公司,北京 100071)

0 引 言

随着我国航天领域技术的不断发展,航天类产品规模日趋庞大。复杂薄壁类零件作为国防装备核心关键零件,具有壁薄、体积大、特征复杂等特点。有些复杂薄壁零件的最小壁厚度为1 mm,致使零件刚度差、易变形。同时,一个复杂薄壁零件包含的典型特征数可能多达20余个,需从工艺的角度去把控零件加工质量和精度。因此,复杂薄壁零件的工艺流程极其复杂,从毛坯料至加工成完整零件过程中包含的工艺知识数量十分庞大。由于不同工艺员设计经验的差异,使得工艺编制质量一致性差。此外,大多数工艺数据是以简单的图纸和工艺卡片的形式存在,工艺知识结构化程度低、工艺关联度低,使得知识整理的难度大,导致数据缺乏有效的挖掘和重用[1]。

重用和共享工艺知识是制造企业保持竞争力的有效手段[2],如何将企业内部积累的多源异构数据转换为统一规范的结构化知识,以及如何更快速方便地使用这些知识,已成为当前学者们研究热点[3-4]。

知识图谱技术可以有效解决上述工艺知识重用和共享的问题。CHANG Z Y等人[5]提出了一种强化工艺员主观能动性的工艺知识重用方法。李秀玲等人[6]将潜在语义分析技术引入到了工艺知识重用中。李柏林等人[7]针对复杂曲面精加工工艺规划效率低和加工实例数据难以有效重用的问题,构建了复杂曲面精加工工艺规划知识图谱。段阳等人[8]基于等价实体判别的数据融合算法,构建了金属切削加工知识图谱。

另外,知识图谱的应用也十分广泛,这在电商、金融证券、医疗、公共安全以及娱乐生活等领域[9]体现得尤为明显。尤其是在辅助智能问答、自然语言理解、大数据分析、推荐计算、物联网设备互联、可解释性人工智能等多个方面,展现出了丰富的应用价值[10]。

NIE T等人[11]利用知识图谱,结合构建技术,对飞机电源系统进行了故障诊断。LU D等人[12]将知识图谱应用于协同过滤的推荐系统中,有效提高了推荐的准确性,缓解了用户历史交互数据稀疏的问题。CHEN X等人[13]构建了基于企业风险的知识图谱,并将其应用于智能问答系统中,有效地提高了系统回答的准确性。盛林等人[14]基于关系路径的知识图谱推理方法,对旋转机械故障进行了诊断,解决了征兆缺少时故障诊断准确率低的问题。

相对于其他领域,知识图谱在机械加工工艺领域仍处于起步阶段,缺乏研究与应用的实例,针对大规模生产企业的知识整合和重用技术也不成熟。

因此,为了提升航天复杂薄壁零件的工艺设计效率,笔者通过分析典型零件的加工工艺知识体系和数据特点,提出面向加工工艺领域的知识图谱构建方法,并利用Neo4j图数据库对工艺知识进行可视化表示;基于构建的知识图谱进行工艺知识检索、工艺路线推荐等实际应用;最后,验证复杂薄壁零件加工工艺知识图谱构建的合理性和可行性。

1 工艺知识图谱构建

1.1 框架构建

知识图谱(knowledge graph)的概念由Google公司于2012年首次提出[15],并作为构建下一代智能化搜索引擎的核心基础[16]。本质上,知识图谱是以三元组(头实体、关系、尾实体和实体、属性、属性值)形式描述客观世界的实体及其之间关系的语义网络[17]。

相对于传统的数据储存工具和知识表示方法,知识图谱拥有以下优势[18-21]:1)图结构的数据存储方式,数据调取速度更快;2)数据检索更有深度和广度,可以匹配出与搜索结果相关的完整知识体系;3)具有强大的推理能力,可以模仿人的思考过程推理出隐含知识;4)知识图谱支持可视化展示,更方便进行人机交互。

由于航天复杂薄壁零件的加工工艺知识图谱属于一种领域知识图谱,对知识有严苛的专业性和准确性要求。因此,笔者将航天复杂薄壁零件作为图谱构建对象,采用自顶向下和自底向上法相结合的构建方法,既能保留自顶向下中概念层次清晰的优势,保证本体的准确率和覆盖率,也具有自底向上的图谱更新快、支持大数据量构建的特点[22]。

知识图谱构建时,首先根据对历史工艺数据的分析,在专家指导下进行本体构建,确立良好的概念层次,再通过对实体、关系和属性的知识抽取完成数据层的构建,最后将模式层与数据层关联映射并导入Neo4j图数据库中,得到工艺知识图谱。

构建流程如图1所示。

图1中,流程包括:模式层构建、数据层构建、知识储存及可视化、知识更新。

1.2 模式层构建

模式层的构建要对历史工艺文件和数据使用需求进行分析,并采用本体构建的方法构建模式层。本体就是用来描述某个领域内的概念及概念间关系,使得这些概念和关系在共享的范围内具有大家共同认可的、明确的、唯一的定义[23]。

笔者采用自顶向下的方式构建模式层,分析工艺文件得出图谱的组织结构,构建复杂薄壁零件加工工艺知识图谱模式层,如图2所示。

图2 复杂薄壁零件加工工艺知识图谱模式层

笔者利用protégé软件完成class(类)、object properties(对象属性)和data properties(数据属性)的添加;最后,将本体建模结果保存为OWL文件,便于其后续与数据层相互映射。

1.3 数据层构建

知识图谱数据层通常使用关系型数据库存储大量加工实例[24]。笔者利用MySQL数据库储存复杂薄壁零件的加工实例和关系。数据层依据模式层设定的结构层次和规则进行构建,从数据源中抽取出本体概念及其属性,使构建的模式层实例化。数据层的构建包括知识抽取和本体关系建立两个部分。

1.3.1 知识抽取

知识抽取的目的是从不同数据源、不同结构数据中提取出三元组,并存入知识图谱中,其质量直接影响知识图谱的优劣[25]。

笔者构建知识图谱的数据源是以PDF格式保存的历史工艺文件,包括结构化数据和非结构化数据,知识抽取内容主要包括对实体、属性和属性值的抽取。

1)结构化数据的知识抽取

在工艺文件中,结构化数据包括零件、工序、工步的实体及相关属性。该部分利用PDFplumber库将实体及属性提取出来,生成实例表,储存在MySQL数据库中。

此处以MySQL数据库中储存的零件实例为例,如表1所示。

表1 MySQL数据库中存储的零件实例

2)非结构化数据的知识抽取

非结构化数据的抽取方法通常有基于规则和字典的方法、机器学习的方法和深度学习的方法等[26]。采用基于规则的方法进行知识抽取、编写规则模板的方法改进方便、易于理解,并且在小规模的数据集上相对容易实现。

在工艺文件中,对于加工特征的描述相对固定,动宾搭配组合常用“加工……”等。因此,此处采用人工总结匹配模板对特征本体进行抽取,抽取规则以句号、逗号等标点作为规则的终止符。

1.3.2 知识融合

工艺文件是由不同的工艺员编写的,所以无法保证特征实体名称的规范性。在抽取得到的特征实体中会出现共指问题,如“上端面”、“前端面”、“左端面”等都指代同一个端面特征,这是由于零件附图的方向导致同一特征出现不同特征名称问题。

因此,知识抽取的特征实体还需进行融合并统一规范命名处理。

特征实体知识融合流程如图3所示。

针对特征实体名称的融合。笔者采用编辑距离对特征实体进行相似度计算,将相似度大于阈值的特征名称聚类,统一指代相同的特征名称。编辑距离即指一个字符串变成另一个字符串所需的最小编辑次数,编辑操作包括替换、插入和删除。一般来说,编辑距离越小则两个字符串相似度越大。

编辑距离的递推公式为:

leva,b(i,j)=

(1)

式中:a,b为字符串;i,j为长度;leva,b(i-1,j)为删除ai;leva,b(i,j-1)为插入bj;leva,b(i,j-1)+1(ai≠bj)为替换bj;1(ai≠bj)为一个指示函数。相等时为0,不相等时为1。

笔者将实体融合的结果保存在MySQL数据库中,如表2所示。

表2 MySQL数据库中存储的特征实例

1.3.3 本体关系建立

由于工艺文件中缺少对本体关系的描述,难以通过知识抽取的方式得到本体之间的关系,所以要采用建立关系表的方式将抽取得到的实体联系起来。具体步骤是:

根据模式层设置的四组对象属性,将具有相互关系的所有本体实例的id抽取出来,每类本体id之间一一对应,并将本体关系表储存在MySQL数据库。

“零件有特征”关系如表3所示。

表3 MySQL数据库中存储的“零件有特征”关系

1.4 知识存储

目前,知识图谱的主要存储方式有三种[27]:基于关系型数据库的储存、基于RDF结构的存储方式、基于免费开源的图数据库。

三种存储方式优缺点如表4所示[28]。

表4 三种知识图谱储存方式的优缺点对比

结合关系型数据库拥有成熟的技术架构,对数据高效的全局操作,以及图数据库在搜索查询方面的优势[29]。笔者对知识的存储主要采用MySQL关系型数据库和Neo4j图数据库结合的方法。

以MySQL数据库作为储存数据的媒介,其主要储存各类本体实例;以Neo4j图数据库为中心,将所有三元组在Neo4j图数据库中进行可视化展示;将模式层与数据层分别导入Neo4j图数据库中,通过对类、对象属性和数据属性的映射使模式层与数据层结合,实现知识图谱的实例化。

具体包括以下两个部分:

1)模式层导入Neo4j数据库

将模式层以OWL文件导出,利用neosemantics jar工具导入Neo4j数据库中,在Neo4j中建立类节点和关系节点。Cypher语句导入如下:

CALLsemantics.liteOntoImport('file:///C:/Users/user/Desktop/model.owl', 'RDF/XML')

其中:“file:///C:/Users/user/Desktop/model.owl”为文件路径;

2)数据层导入Neo4j数据库

采用Neo4j中的apoc插件和MySQL JDBC驱动实现Neo4j与MySQL数据库的连接与数据传输功能,在Neo4j中建立各类的实体节点、实体关系和属性。两个数据库数据对应的规则是MySQL数据库的每个表都对应着Neo4j中的每个类节点或关系节点;表的每列对应着不同的属性,每行则对应输入的每个实例数据。将MySQL数据库与Neo4j连接Cypher语句如下:

callapoc.load.driver('com.mysql.jdbc.Driver')

以“零件有特征”关系为例,下面是将MySQL数据库中的数据导入Neo4j图数据库中,生成三元组的Cypher语句:

call apoc.load.jdbc('jdbc:mysql://localhost:/复杂薄壁零件?user=root&password=root&use Unicode=true &characterEncoding=utf8','select * from零件有特征')YIELD row

match (from:零件实例{零件id:row.零件id}),(to:特征实例{特征id:row.特征id})

merge (from)-[r:有特征]->(to)

1.5 知识更新

构建复杂薄壁零件加工工艺知识图谱是为了让工艺员更快速、方便地检索和重用历史加工工艺数据,但是该知识图谱难以包括所有复杂结构零件以及相关的工艺知识,并且随着航天技术的发展会出现越来越多的复杂结构零件。因此,为了满足相关企业的需求并保证知识图谱的准确性,在知识图谱系统构建完成后需要定期对知识库进行更新,从逻辑上分别对模式层和数据层两个层面的更新以更新知识库。

1)模式层的更新。主要对模式层中实体、概念、关系、属性及其类型进行增加、删除、修改的操作。更新的结果重新导入Neo4j图数据库中生成新的节点;

2)数据层的更新。主要将新的实体、属性和属性值重新映射到知识图谱中。对于少量的数据更新可以直接在Neo4j图数据库中使用Cypher语句进行实例、属性、关系的增加、删除和修改操作;而对于批量的数据更新则可将知识抽取的结果转成CSV文件格式,并放入Neo4j的安装目录import文件夹下,然后利用Cypher语句将三元组直接导入Neo4j图数据库中并在各类节点中进行更新。

2 工艺知识图谱实例与应用

基于上述复杂薄壁零件工艺知识图谱构建方法,笔者对325份工艺文件进行知识抽取,共形成23 596个节点和43 713个实体关系;将这些三元组数据导入Neo4j图数据中,可构成可视化的复杂薄壁零件加工工艺知识图谱。

某个零件关联信息的展示如图4所示。

图4 复杂薄壁零件加工工艺知识图谱可视化模型(部分)

2.1 工艺知识检索

传统信息检索方式是根据关键词进行匹配,搜索结果只是自然语言的表层信息,并没有深入到语义信息[30]。而知识图谱可以准确直观地表达出实体之间的关联关系。基于知识图谱丰富的语义网络,用户可以更快速、全面、准确地检索到相互关联的工艺知识。

以“后端框”为例,加工工艺信息查询结果如图5所示。

图5 “后端框”加工工艺信息查询结果

可以双击特征或节点查看与之关联的工步信息,由此仅需搜索零件的名称或代号就可获得该零件相关属性、工艺流程以及特征构成信息,提高检索效率和信息关联深度。

2.2 工艺路线推荐

零件加工工艺路线是对零件生产的整体规划,直接影响零件的质量和生产效益[31]。由于复杂薄壁零件结构和用途的特殊性,对于工艺路线的规划要求更加严格,特别是典型零件的工艺路线蕴含了宝贵的经验,对技术人员设计新的零件有借鉴作用。利用知识图谱对工艺路线精准推荐,能够辅助工艺人员进行工艺设计,减少重复低效的工作。

2.2.1 相似度计算

根据工艺人员在对新零件进行工艺设计时的思路和经验,可以认为零件的工艺路线与零件之间的相似程度关联密切,也就是说两个零件越相似则它们的工艺路线就越相似。因此,可将新零件与历史零件进行相似度计算,并将结果大于阈值的零件工艺路线推荐给用户。

基于零件的数据属性描述和特征拓扑信息进行相似度评价,数据属性包括分零件名称、零件代号、零件材料和特征信息等。

常用的文本相似度计算方法有欧式距离、余弦距离、杰卡德系数等[32]。零件名称和代号分别以短语和字符串的形式出现,利用Word2vec词向量模型获得每个零件名称词向量,利用BOW词袋模型将每个零件代号向量化,然后使用余弦相似度计算两零件向量之间的相似度。

假设零件A在空间中的向量a的坐标为(x1,x2),零件B在空间中的向量b的坐标为(y1,y2),则A、B的余弦相似度计算公式为:

(2)

式中:Ai,Bi为向量a,b的第i维;n为向量的维度;θ为a,b之间的夹角;cos(θ)为当前的两个零件相似度值,夹角越小则余弦值越接近1,表示两个向量的相似度越高。

零件是许多特征的集合,零件的特征和零件材料都是零件的标签。利用Jaccard系数比较两个零件属性标签集合的相似性,系数越大,则表示两个样本集相似度越高。

假设零件A的属性标签的集合为Ax,零件B的属性标签集合为By,则其相似度计算公式为:

(3)

此外,两个零件特征的拓扑关系差异也会影响其相似性。可利用矩阵表示特征之间的关系,然后计算两个零件特征的拓扑关系矩阵得到相似度。

特征单元之间包括无关系、邻接关系、包含关系、参数关系、位置关系和同一特征,分别用0、0.2、0.4、0.6、0.8、1来表示[33]。系数则根据各关系对相似度的影响程度而定,系数越大,则对零件特征拓扑关系相似度的影响也越大。

以某复杂薄壁零件为例,零件模型如图6所示。

图6 示例零件模型图

图6中,数字标注的是零件的部分典型特征,它们的拓扑关系矩阵如表5所示。

表5 示例零件特征拓扑关系矩阵

根据两个零件的特征拓扑关系矩阵,其相似度计算公式如下:

(4)

式中:m,n为零件A,B的特征单元数量;aij,bij为A,B零件特征拓扑关系矩阵元素。

笔者设置权重值来表达数据属性和特征拓扑信息对综合相似度影响的大小。权值越大,说明该因素对零件综合相似度的影响程度也越大。其计算表达式如下:

S=w1cosθ1+w2cosθ2+w3J(Ax,By)+w4St(AB)

(5)

式中:w1为零件名称相似度的权值;w2为零件代号相似度的权值;w3为零件属性标签相似度的权值;w4为特征拓扑关系相似度权值。

其中,w1+w2+w3+w4=1,最后选取一定的相似度阈值,可将大于阈值的历史零件工艺路线推荐给用户。

2.2.2 推荐结果分析

该部分利用实例将模型推荐结果与实际工艺路线进行对比,并对基于知识图谱的工艺路线推荐效果进行分析。笔者推荐的工艺路线主要包括零件在各个分厂加工的整体路线和具体的加工工序路线:

1)实验数据选择

框段类零件是复杂薄壁零件的典型代表,也具有结构复杂、特征众多、加工工艺路线复杂的特点。因此,选择框段类零件作为验证对象可以确保实验的可行性和可靠性。

图6中零件的相关数据信息如表6所示。

表6 实验数据信息

2)推荐结果及分析

笔者将该零件作为目标零件,把相关信息都输入相似度算法模型中,得到相似度排列,如表7所示。

表7 “后端框”零件工艺路线推荐列表

表7中,相似度最高的零件和目标零件的模型图及工艺文件中的工艺路线如图7所示。

图7 零件模型及工艺路线对比

由图7可知:两个模型十分相似,并且两个零件工艺路线完全一致。这说明基于工艺知识图谱和该相似度计算模型进行新零件工艺路线推荐是可行的,可以大幅度减少人工设计工艺路线的时间。

笔者构造样本数据,对推荐模型进行500次测试,并以HR(hit rate,准确率)、MRR(mean reciprocal rank,平均倒数排名)、NGCG(normalized discounted cummulative gain,归一化折损累计增益)三个指标对模型进行评价,得到的结果如表8所示。

表8 推荐模型效果测试结果

表8中,HR用于表示推荐的准确率,即推荐列表中是否存在目标零件的工艺路线。其计算公式如下:

(6)

式中:hit(i)为如果推荐结果中有目标零件的工艺路线i,hit(i)就为1,否则为0。

MRR用于表示目标零件的工艺路线在推荐列表的具体顺序位置。其计算公式如下:

(7)

式中:rank(i)为目标零件的工艺路线在推荐结果中出现的位置,如果没有出现,则rank(i)就为+∞。

NGCG用于评判推荐列表的排序结果是否优秀,即评判模型推荐得分与实际情况是否相符。其计算公式如下:

(8)

式中:rel(i)为列表中的结果与目标结果的相关性得分,由人为进行打分;IDCG为理想情况下最大的DCG值。

在500次的测试结果中,有94.7%的推荐列表中存在与目标零件相符的工艺路线;MRR为78.7%,说明与目标零件相符的工艺路线大多数出现在推荐列表前列;NGCG为81.1%,说明大多数情况下人为打分的排序结果与推荐模型计算的排序结果完全相符。

在测试中也会出现综合相似度最高的零件工艺路线与目标零件实际工艺路线存在差异的情况,其最大的原因是在大多数情况下工艺员根据自身经验进行工艺路线设计,而每个工艺员设计工艺的水平有差异,使得工艺设计标准化程度低,所以最相符的工艺路线不一定是推荐得分最高的工艺路线。

总体来说,基于知识图谱的工艺路线推荐对工艺设计工作具有指导作用,可以有效提高工艺路线设计效率。

3 系统设计与实现

3.1 系统设计

为验证上述方案的可行性,笔者将知识图谱与工艺推荐模型相结合,设计并实现了复杂薄壁零件加工工艺知识图谱的可视化系统功能。

该系统整体框架采用前后端分离的B/S架构,用户可输入服务器IP地址进入该系统。其前端采用Vue.js框架构建页面,运用HTML、CSS等技术对页面进行渲染,并使用MySQL数据储存用户与系统的交互数据;后端采用基于Python的轻量级web框架Flask进行开发。

系统总体架构如图8所示。

图8 系统架构设计图

图8中,自左向右分别是表示层、业务层、数据层。

表示层是系统可视化界面,支持用户与系统进行交互操作,当客户输入需求信息,客户端向web服务器发送请求,通过Ajax调用RESTFUL API接口与后端数据库进行交互,最终将系统运行结果展示给用户。

业务层主要负责系统数据业务的逻辑处理,将表示层收到的用户输入信息进行判断后传递给数据层,同时将数据层返回的信息传递给表示层。

数据层是为整个推荐系统提供数据支持,分为MySQL数据库和Neo4j数据库,存储航天复杂结构零件所有的三元组数据和普通的关系型数据。

3.2 功能模块实现与展示

该系统主要提供以下功能:

1)知识检索

该模块可以查询零件、特征、工序、工步所有实体信息与关系,采用Py2neo接口调用Neo4j的引擎,并将三元组返回给前端展示,帮助工艺员快速检索到某零件的工艺规程;并且该模块使用插件对三维模型和特征进行前端展示,工艺员可以根据三维特征和对应的工步对新零件进行工艺设计。

知识检索界面如图9所示。

图9 知识检索界面

在图9中,点选左图的三维模型特征,在右图会更新特征节点信息,同时可以对右图的节点信息进行查看和编辑。

2)工艺路线推荐

该模块利用相似零件的工艺路线进行自动推荐。利用相似度模型取相似度大于阈值的零件及相应数据生成推荐列表。

某框段零件的工艺路线推荐如图10所示。

图10 工艺路线推荐界面

4 结束语

笔者针对如何高效组织、重用工艺知识的问题,提出了自顶向下和自底向上结合的复杂薄壁零件加工工艺知识图谱构建方法,并利用相似度模型实现了工艺路线推荐目的。

研究结果表明:

1)利用Neo4j图数据库对模式层和数据层相互映射,可实现对图谱的构建和工艺知识的可视化表示,减少了数据冗余并提高了知识检索效率;

2)综合零件属性和特征拓扑关系的相似度计算,完成了基于知识图谱的工艺路线推荐任务,推荐准确率达到了94.7%;

3)利用Web框架将知识图谱和工艺路线推荐集成为可视化系统。实践证明,笔者提出的航天复杂薄壁零件加工工艺知识图谱构建方法,能够有效提高知识的可重用性、工艺检索和设计效率。

然而,笔者的工作仍存在一些局限性:1)复杂薄壁零件加工工艺知识图谱数据源单一,在机械工艺领域覆盖还不全面,后续将进一步完善知识抽取算法,扩大知识图谱的覆盖范围;2)基于知识图谱的工艺路线推荐并没有完全表现出知识图谱强大的推理能力。因此,针对如何利用知识图谱进行具体工步及工艺参数等工艺知识的推理,将是笔者后续的研究和关注的重点。

猜你喜欢

薄壁路线图谱
磁流变液仿生薄壁吸能管及其耐撞性可控度的研究
绘一张成长图谱
最优路线
『原路返回』找路线
超小型薄壁线圈架注射模设计
画路线
补肾强身片UPLC指纹图谱
找路线
主动对接你思维的知识图谱
一种薄壁件的加工工艺介绍