APP下载

基于深度学习的机械领域知识图谱构建及应用*

2023-02-24崔硕张春燕贾家乐张成东张胜文陈凯

制造技术与机床 2023年2期
关键词:字符机械设计图谱

崔硕 张春燕② 贾家乐 张成东 张胜文② 陈凯

(①江苏科技大学机械工程学院,江苏 镇江 212100;②江苏省船海机械装备先进制造重点实验室,江苏 镇江 212100)

随着工业智能的兴起,智能制造正逐步将制造业数据由数据智能转换为认知智能[1]。虽然很多大型企业积累了大量的制造业数据,但它们是以分散的文档、三维设计模型等形式对机械设计相关信息进行存储和显示,这使得人们难以深入挖掘其潜在关系。尤其当设计相似零件与特征时,无法快速对三维模型库与设计

文本进行知识重用,重复性劳动增多,设计效率降低。如何将企业内部积累的多源异构数据转换为具体的工业知识以及如何更便捷使用这些知识已发展成为当前人们研究热点之一[2-3]。

为解决上述问题,Li X等人[4]提出了一种包括异构CAM知识重用的加工知识图谱构建方法;Chen Z Y等人[5]设计了一种包含CAD模型与装配关系异构知识的图谱构建方法。Zhao M等[6]人使用BIGRUattention模型自动提取生产与用户评价信息,用于构建汽车行业的知识图谱。Chen L等人[7]提出了应用于实体识别和关系提取的BIGRU-HAN 和Bi_LSTM-CRF模型。当前的研究主要在Word2vev[8]对词的预训练的基础上,对非结构化文本获取关键结构化信息。

随着近些年来预训练语言模型的快速增长,涌现出ELMo[9]、BERT[10]等一批更加优秀的预训练语言模型。基于这些预训练语言模型,罗凌等人[11]提出了基于笔画ELMo的中文电子病历识别方法。王得强[12]等人提出应用知识图谱技术对领域指示图搜索提供技术支持。刘赫[13]等人提出了以BERT模型作为预训练的典礼调度文本抽取方法,提升了电力调度文本的应用度。BERT相比于Word2vev更擅长识别歧义词汇,但是BERT的模型参数巨大,训练代价较大。后来谷歌提出ALBERT[14]模型,该模型具有与BERT相似的训练性能,但参数仅为其1/10。

虽然众多学者做了大量的研究,但是在产品设计领域中设计文本信息提取模型准确率与智能化程度并不高。因此本文提出了面向设计领域的知识图谱构建方法。首先从企业众多零散的库存信息中提取出模型数据并根据相似度聚类算法对相似特征进行分类;然后选用ALBERT模型代替BERT进行对设计领域词汇进行预训练构建知识抽取模型对非结构化文本进行抽取。最后,将经过实体对齐后的节点储存至图数据库并构建原型系统验证其可行性。

1 知识图谱构建系统

本文构建图谱总流程如图1所示,主要包括机械设计领域图谱建立模块与知识问答模块。数据来源主要是从MBD(model based definition)模型库、设计手册与工艺卡片中获取结构化与非结构化文本数据;图谱构建模块主要阐述了如何搭建知识抽取模型对文本信息文本挖掘,获取所需知识并进行储存;图谱应用模块主要结合Web框架,部署后台模型对图谱进行管理与问答。

图1 总体构建流程

2 图谱构建

MBD模型尺寸标注复杂以及有关的设计手册等各种信息多态且冗杂,构建一个统一、高效的知识图谱有助于在领域进行知识重用,实现企业智能化建设。文章主要研究了该图谱具体的构建方法,图谱构建技术路线如图2所示,图2a介绍了如何从模型获取特征与其基本关系;图2b搭建了非结构化文本的知识抽取模型;图2c~e介绍了节点的储存与融合。

2.1 MBD模型信息抽取

为构建知识图谱,文章引入了图像识别技术,结合软件二次开发与PMI(product manufacturing information)标注对特征视图进行捕捉并提取特征具体信息[15]。自动构建模型、部件与特征之间的关系并储存。由于模型包含众多特征,导致后期图谱检索复杂度提升,为解决该问题,对所提取出的特征图像进行相似度聚类处理,减少信息冗余,降低图谱复杂度,最终将信息保存至数据库,如图2c所示。

图2 图谱构建技术路线

2.2 知识抽取模型建立

将设计手册等文本内容挖掘成结构化语义信息需要NLP(natural language processing)技术进一步处理,主要包含中文分词、词性标注、命名体识别和关系抽取。目前,根据开源项目的NLP技术,经测试已经在前两个步骤中取得优异的成绩。但命名体识别与关系抽取任务目前主要针对的通用领域中的时间、地点和组织进行抽取,对机械设计领域的应用效果不是很理想。本文提出一种新颖的联合知识抽取模型MachineALBERT+Bi_LSTM-CRF+CNN,用于获取非结构化文本中包含语义信息的三元组,以构建高质量的机械设计领域知识抽取模型。

2.2.1 模型输入

机械设计领域的文本大多排列复杂、不规则。如果直接使用信息抽取模型对其进行抽取,所得的结果往往不尽人意。因此,需对数据文本进行一些必要的预处理并制作数据集。

步骤1数据处理:使用分词工具,导入自定义字典进行数据的分词与清洗。从技术层面上,本文使用正则表达式结合分词工具对文本中所包含的句子进行清洗与拆分。首先采用去除停用词将文本中一些无意义信息去除,然后将小于128字符的句子进行拆分,拆分标识符为句末的句号;将字符数量大于128的句子,按照分词结果在128个字符处进行分割为两个或者多个句子。

步骤2 数据集制作:(1)命名体识别数据集制作。命名体识别不同于二分类问题,存在多种标注体系。经比较,文章选用经典的BIO标注。在BIO标注体系下,通过标签B-X(beginning)标记每一个实体起始的token,用标签I-X(inside)标注非起始的token,用标签O(Other)表示其他非标记的实体token。(2)关系抽取数据集制作。关系抽取可以看作文本分类任务。类似于其他监督学习,在每条数据之后,打上所属关系类型标签即可完成数据集制作,表1列出部分标注类型。

表1 实体与关系类型

2.2.2 ALBERT模型预训练过程

基于ALBERT预训练模型,使用Transformer编码器作为主体语言模型并共享全部参数,可以捕获更远距离的依赖关系,并且效率比循环神经网络更高。该模型常见的中文官方预训练语料为人民日报语料,但是缺乏涉及机械领域专业语料。为了更好地满足领域需要,本文整理了机械设计领域相关方面的教材、手册和报告等,这些文本具有丰富的机械领域专业词汇。运用上述语料对ALBERT模型进行自监督训练,将所获得的模型称为Machine-ALBERT,具体模型结构图如图3所示。

图3 ALBERT结构模型

预处理层:当非结构化文本进入文本预处理层,所输入文本将进行随机MASK,采用无监督学习法进行预测所遮挡部分内容,使语言模型可以更好地利用上下文对当前词进行特征编码。在该预测阶段,模型对输入文本字符的15%进行掩码处理,被选中的字符约80%会被替换为‘[MASK]’符号,10%概率被替换为不相关的字符其余保持不变。因为掩码过程为随机选中的字符,有一定概率将一个实体词的前一个字符掩码而后一个字符保持不变,这样会降低模型预测的准确率,所以本文预先进行分词处理,将字符级掩码处理上升为全词级掩码。如图3预处理层中文本‘孔与端面之间需要有倒角’中原始MASK词汇为‘端’,经处理后全词MASK结果为‘孔与[MASK][MASK]之间需要有倒角’。该模型会对MASK词汇进行预测,在预测过程中模型会根据上下文信息对当前字符进行向量表示,将预测结果与真实字符进行误差值计算,并用反向传播修正模型的参数,具体预处理流程如图4所示。

图4 MASK预处理流程

词嵌入层:本文依据ALBERT模型提供的微调机制和机械设计领域知识提取问题的特殊性,构建了一个基于MachineALBERT的动态词向量编码层。动态词向量编码是指模型输入不同单个字符生成的语义信息是基于周围字符搭配情况与传统word2vec编码方式不同,这样可以更好地理解机械领域中的一词多义现象。我们定义一个完整的句子向量y=(y1,y2,···,yn),其中yi包含字符向量(i<512)、文本向量Eis与位置向量,yi=++,从不同维度提升该模型的非结构文本表示能力。最终通过注意力机制[16]将句子向量y作为输入,采用多头注意力机制学习字词与上下文关系,提升模型泛化能力。

特征编码层:MachineALBERT模型中Transformer层中多头注意力机制是由多个单头自注意力机制并联而成的,机械非结构化文本同时进入多个单头自注意力机制进行编码操作可以增强所收集到的语义信息多样性。目前每个自注意层大多为12层编码与解码层,可以满足机械文本特征提取效果。盲目的增加编码层数而导致训练缓慢,减少又会导致语义信息提取不全。综合考虑文章的ALBERT模型在每个编码层进行12次自注意力机制提取为最佳,最后将所输出的字符编码作为Bi_LSTM神经网络的输入。

具体计算表达式(1)、(2)如下。

式中:Wheadi表示第i个自注意力编码结果;Q、K、V分别为字向量矩阵;dk表示词嵌入维度;Contact表示对不同编码结果进行拼接,W0表示映射矩阵。

2.2.3 Bi_LSTM-CRF模型

机械领域文本在进行实体识别时存在长距离依赖问题,本文使用具有门控机制的Bi_LSTM模型对文本中字符所属标签概率进行建模计算。该模型用于自动提取句子特征。我们使用句子每个单词作为模型时间步长的输入,在同一时刻t下,字向量xt在前向LSTM单元输出ft,在后向LSTM输出bt,最终运算结果为h=ft⊕bt。输出结果h的维度和当前机械实体标签个数相同,且向量中的每个维度数值大小表示当前文字属于各个实体分类概率的大小,选取最大概率的实体标签作为分类结果。Bi_LSTM网络虽然获取了机械设计文本上下文语义信息,但是实体之间依赖关系并未考虑到,对一个实体有可能会预测出连续‘B-’、‘B-’或者出现以‘I-’为开头的标注,因此本文选用CRF(conditional random fields)进行预测上下文标签之间关系进行解决该问题。所需预测文本中的字符在经过Bi-LSTM计算后得到输出结果h,CRF通过考虑实体标签得分和相邻字符标签间转移得分,对所需预测领域内实体字符标签进行综合评分,具体评分公式如下。

式中:Ayi-1,yi表示一条机械设计领域文本中相邻两标签间的转移分数;Pi,yi表示机械文本中第i个字符的yi标签得分;n表示当前输入字符数量。将机械设计文本字符正确标注总得分score(x,y)与所有可能标注总得分的比值具体公式为

式中:Yx表示所有可能的机械文本字符标注。得到字符标签预测正确的概率P,当P(y|x)接近1的时候,表示标注结果与模型所预测结果一致,机械设计实体识别模型得到了有效的训练。

2.2.4 CNN模型

Kim Y等[17]用卷积神经网络(CNN)提取问题特征信息,简化网络结构,文本矩阵仅通过一层卷积与一层池化尽可能多地保留语义特征。将经过Bi_LSTM模型转化的机械设计文本向量序列输入进行CNN层进行分类。卷积层通过3个不同大小的卷积核进行提取特征具体模型结构如图5所示,最后经池化操作选取每个Featuremap的最大值捕捉设计文本中重要的特征信息,通过全连接层计算所对应实体标签的概率并选取概率最大的关系标签作为预测结果。

图5 CNN网络结构

2.3 实验数据与评价指标

采用某大型企业内部设计手册与历史模型库作为研究对象,根据第2节描述方法进行知识获取,获得不同模型特征节点759个,共标记1 000个语句,生成实体2 750个,生成关系1 309。按照8∶1∶1划分为训练集、测试集与验证集。实验所涉及算法基于Tensorflow框架进行搭建,训练环境为Intel处理器CPU运行内存16 G,GPU NVIDIA 8 G。

文中采用经典的精确率precision、召回率recall与F-score作为评价指标,具体评价指标为

其中:precision为准确率;recall为召回率;TP为预测为正例,实际为正例;FP为预测为正例,实际为负例;FN为预测为负例,实际为正例。

基于2.2节所搭建的知识抽取模型,通过自构建训练集进行预训练的MachineBERT模型将预案文本进行动态词768维度向量化,并将生成向量输入Bi_LSTM-CRF分类模型,计算预案样本的实体识别平均准确率、召回率、F-score为96.38%、97.65%和98.36%。基于CNN网络对1 309个关系进行分类训练,建立实体关系抽取模型。采用该训练完成的模型对200个实体关系进行识别,4种关系类型的平均识别准确率、召回率、F-score为89.73%、87.69%和91.37%。将该混合网络模型与Word2vec+Bi_LSTM-CRF+CNN、Word2vec+Bi_LSTM建立的抽取模型进行对比,各种模型对于相同测试实体抽取的结果平均值如图6所示。从图6中数据可以看出,所提 MachineALBERT+Bi_LSTM-CRF+CNN 混合神经网络对机械实体与实体关系具有较高的识别准确率。

图6 各模型抽取效果对比

2.4 实体对齐并存储

在各类文本与从MBD模型中获取的数据中,对各类实体类型的表述是多样化的。如果大量相似实体节点储存进图谱中,将会大大提升图谱的复杂性,为下游知识问答任务带来极大困难。实体对齐要尽量聚集实体信息,通过对比词向量余弦相似度是否超过所设定阈值进行判断,将判断为相同的实体之间构建对齐关系,解决实例与关系冲突问题。文章通过使用Python支持的Py2Neo等第三方库将各类数据实体与关系以节点与关系的形式进行储存,并可以提供对应的增删改查等操作。

3 知识问答系统建立

为了便于用户查询所需信息,本文提出了基于图谱的智能问答方法:沿用2.2小节中的实体识别模型,提取出用户输入问句所包含的实体,理解用户意图,并进行解答。考虑到机械领域内一般场景的用户提问通常是短文本,所以知识问答系统将问句进行分类,构建问题模版,具体示例如表2所示。采用基于深度学习的问题分类算法匹配问题类型;根据问题模版整合为对应Cypher查询语句对图数据库进行检索,并将检索结果返回给用户。

表2 问句集示例(部分)

4 系统验证

为验证上述方案的可行性,将上述实体识别与知识问答模型结合Python的Django框架进行后台部署。前端中使用jQuery等工具实现数据交互,通过文本、三维模型图等多种形式将知识进行可视化展示。平台主要包括:节点查询模块与知识问答模块。

4.1 节点查询

节点查询模块的目的是统计被查询实体有关的所有实体与关系,该模块提供3种查询方式:(1)指定一种实体进行查询.(2)指定一个实体与关系进行查询。(3)指定两个实体,查询两实体之间是否有关系,并通过插件将三维模型与特征进行前端可视化。图7所示为查询具体特征节点所返回的界面。左键点击图中节点可进行了解节点所包含的详细属性信息,右键点击节点可以对节点进行快速编辑。

图7 实体查询界面

4.2 知识问答

知识问答通过挖掘用户输入问题背后的语义,使返回结果更加贴合用户需求。在进行知识问答过程中,首先使用结巴分词工具,通过导入自构建的领域字典进行问句分词。然后结合第3小节所构建的问题模版,通过CNN网络进行问题分类。最后根据模版与具体问句实体,将所查询到的结果返回至前端界面。图8为问题“连杆MBD模型包含哪些特征?”的问答情况,实现了知识问答的目标。

图8 知识问答界面

5 结语

本文搭建了关于机械设计领域的知识图谱与问答推荐框架。在构建领域知识库中,进行了三维模型的特征融合,减少特征冗余,提高知识库质量。基于领域知识库搭建,在知识库的基础上提出了MachineALBERT的方法进行非结构化机械设计文本的实体识别工作,实现了机械特征实体信息的高准确率识别。在知识问答阶段,结合实际生产设计环境,构建了领域问答模版,便于对用户问句语义进行解析。最终结合Web框架开发出一套原型系统,验证该方法可行性。

本文提出了一种行之有效领域的知识图谱构建与问答框架,但仍存在一些局限性:(1)知识抽取模型超参数是根据经验所设,未来可能需要针对不同的应用继续优化超参数。(2)连续问答是未来主要趋势,但知识问答部分只可实现单句问答。因此,针对该问题需进行深入的研究,提升问答在实际中的应用能力。

猜你喜欢

字符机械设计图谱
绘一张成长图谱
机械设计制造及其自动化探究
字符代表几
一种USB接口字符液晶控制器设计
图片轻松变身ASCⅡ艺术画
自动化技术在机械设计制造中的应用探讨
HBM电子称与西门子S7-200系列PLC自由口通讯
关于三维CAD技术在机械设计中的应用
补肾强身片UPLC指纹图谱
主动对接你思维的知识图谱