APP下载

磁悬浮轴承故障知识图谱的创建与应用*

2022-09-27王继业严俊伟

组合机床与自动化加工技术 2022年9期
关键词:字符串磁悬浮图谱

田 野,萧 筝,王继业,娄 平,严俊伟

(武汉理工大学a.机电工程学院;b.信息工程学院,武汉 430070)

0 引言

磁悬浮轴承系统由于结构紧凑可靠,能进行自动平衡等特性,已广泛应用于军工,航天等精细化和高端制造装备行业,这对磁悬浮轴承的可靠性提出了更高的要求。众多学者针对磁悬浮轴承系统不同故障进行了深入研究,这些研究成果是磁悬浮轴承故障知识的重要来源[1-5]。但是,目前积累的故障案例、专家经验和研究成果没有被有效地利用,故障知识经验零散、价值密度较低,导致在磁悬浮轴承故障领域存在知识表示不清晰、形式不规范、可复用性差的问题,影响了磁悬浮领域故障诊断效能的提升。因此,如何展示磁悬浮轴承故障知识的发展进程与结构关系,是亟需考虑并解决的问题。

知识图谱是一种新的知识存储与检索技术,最早应用在谷歌搜索引擎上[6],以知识范围划分,可分为通用领域知识图谱和垂直领域知识图谱[7],国外垂直领域知识图谱主要涉及地理领域,学术领域[8]和生物领域[9],在国内垂直领域知识图谱研究中,阮彤等[10]提出增量式知识图谱创建方法,成功构建了中医药、海洋和企业知识图谱;李文鹏等[11]构建的软件知识图谱解决了在软件复用中知识检索较难的问题;刘园园等[12]提出了一套高校信息知识图谱构建方法,实现了高考咨询问题自动智能问答。

因此,本文提出磁悬浮轴承垂直领域故障知识图谱构建方法,通过知识图谱直观形象地对磁悬浮轴承故障知识表示,以实现对故障传播的可解释、故障根因的可定位,也能对故障排查起到参考作用。通过将历史故障数据转化为有价值的知识,探究故障案例间的关联关系,使故障知识结构化、显性化和可视化,从而为磁悬浮轴承健康管理提供良好的知识输送和共享。

1 磁悬浮轴承故障文本数据分类

1.1 磁悬浮轴承故障非结构化数据特点

磁悬浮轴承故障数据可以分为结构化数据和非结构化数据。其中结构化数据包括磁悬浮轴承转子、传感器、控制器和执行器等装置和设备的拓扑结构还有传感器采集到的二维表格数据;非结构化数据主要是故障案例信息,说明文档以及相关文献等文本数据。其中,对于非结构化数据,存在以下特点:

(1)文本数据较短。短文本可能会导致利用文本统计信息对文本进行处理的算法效果下降。

(2)专业词汇比较多。

(3)有用的关键词信息在文本中的分布呈现出首尾分布较为密集,中间分布较为稀疏的特点。

(4)故障短语关键词连续成对出现。例如:“断路和电流的值为0”,可以将此特点作为词语特征信息进行有效利用。

(5)文本结构不统一。多词同义的现象比较突出。

1.2 磁悬浮轴承文本数据分类

为了对文本数据进行统一处理,需要对相关的数据进行抽取以及分类。根据第1.1节中磁悬浮轴承故障文本数据相关特点,对文本数据中的相关信息分为如下几类:装置组件类(dev),现象类(phe),特征类(fea),原因类(rea),处理类(dis),如表1所示。

表1 磁悬浮轴承故障数据信息分类表

1.2.1 文本预处理

在磁悬浮轴承故障文本数据中,存在大量的无用词和连词,因此需要将文本数据进行分词去噪,再将关键词标记出来。本文使用Jieba分词库进行分词处理。

表2展示了在Jieba分词精确模式下部分自定义的词典并去除无用相关分词之后的结果。

表2 磁悬浮轴承故障文本数据分词示例

1.2.2 文本向量生成

分词之后需要进行文本向量的表示,文本向量的表示方法有两大类,第一类是独热编码表示,第二类是分布式编码表示,在分布式编码表示中以word2vec比较常用,由于独热编码有可能会造成大量冗余的稀疏矩阵以及造成维度灾难,本文使用分布式编码中的word2vec。

word2vec有CBOW(连续词袋模型)以及Skip-gram(跳字模型)两种训练模型。对于数据量不太大或者生僻词的出现次数较少的时候,Skip-gram模型训练得到的词向量会比CBOW模型的结果的准确率会高一点,但两者都存在一个问题:当文本数据中的无用词较多时会影响词向量的特征表达。为了更加准确地表达文本数据的特征,本文利用表2的分词字典,建立文本数据的共现矩阵,然后将点互信息值引入Skip-gram目标函数中,以此来提高模型对关键词的表达。具体过程如下:

设type表示磁悬浮轴承文本数据的某一类别,则type∈{dev,phe,fea,rea,dis},Mtype表示该类的关键词共现矩阵,设Vw表示该类的关键词集合,w,c∈Vw,w表示中心关键词,c表示处于关键词上下文窗口之中的词,Do表示共现词对的集合,nb(w,c)表示词对(w,c)在Do中出现的次数,其中

nb(w)=∑c′∈Vwnb(w,c′)

(1)

nb(c)=∑c′∈Vwnb(c,w′)

(2)

为了降低文本数据中无用词对词向量的信息表达的影响,点互信息值PMI计算公式如下:

(3)

式中,p表示关键词或者词对出现的概率。

设Skip-gram训练的词库text长度为k,C(w)为上下文窗口中的词集,c∈C(w),则模型的目标函数为:

L=∏w∈text∏c∈C(w)P(c|w)

(4)

式中,P(c|w)表示当前关键词为w,预测上下文关键词为c的概率,对其展开得到:

(5)

式中,xc表示上下文窗口中词集元素;yw表示关键词元素。

在该目标函数中,引入点互信息值算子,让目标函数对关键词更加敏感,得到最终的目标函数:

(6)

通过随机梯度下降法求解式(6)的最小值并得到词向量结果,词向量包含更多关键词的信息,然后利用多种生成方法得到的词向量通过BiLSTM算法验证在不同维度下的分类正确率。

2 故障文本信息语义解析

2.1 语义解析框架

磁悬浮轴承系统由多个组件组成,因此针对结构化数据中的拓扑结构数据,提出将该类数据解析为三元组,设为G,则G的表达式为:

(7)

式中,En为磁悬浮轴承装置;Re为关系集合;Sm为三元组集合;ei表示磁悬浮轴承组成部件;rj表示装置之间的关系;sk表示ei1和ei2与其之间的关系rj1的三元组。

将非结构化数据解析为五元组,设为T,则T的表达式为:

(8)

式中,D为故障设备和装置;P为故障现象;F为故障特征;Rs为故障原因;H为故障处理措施。

2.2 内容解析

2.2.1 字符串匹配模板库

字符串能否高成功率进行匹配很大程度上由字符串匹配模板库决定。由于磁悬浮轴承故障数据长度不等且词汇比较复杂,并且形式和结构不一,因此应该预先根据磁悬浮轴承基本信息,相关的故障特点以及一些书籍文献等构建磁悬浮轴承故障数据内容匹配模板库,如表3所示,并且人工进行补充和修正。

表3 磁悬浮轴承故障数据内容匹配模板来源及示例

2.2.2 字符串匹配算法

字符串匹配是在一个长字符串中搜索某个字符串的所有出现的位置并记录和返回,字符串匹配算法主要有两种,第一种是普通模式匹配算法,第二种是快速模式匹配算法,普通模式匹配算法简单但是效率比较低;快速模式匹配算法能够保证在不进行回退的前提下,在匹配失败的时候,让模式串向右移动最大距离,从而提高匹配效率,KMP算法就是常用的快速模式匹配算法。

磁悬浮轴承故障数据的字符串文本一般较为短小,并且关键词信息在文本中的分布呈现出首尾分布较为密集,中间分布较为稀疏的特点,KMP算法在进行字符串匹配的时候,首尾是需要着重注意的部分,针对此特点进行首尾双向表的循环改进,采用前后两个指针记录位置,匹配到关键字即跳出循环。

2.2.3 基于字符串匹配的内容解析方法

对于单条磁悬浮轴承文本数据信息,基于字符串匹配的语义解析方法流程如图1所示,方法概括如下:

(1)根据第2.2.1节中所述匹配模板依次匹配装置组件、故障现象、故障特征、故障原因和故障处理措施等语义解析框架要素。对于单个要素,若匹配成功,则将匹配成功的字符结果存储至对应语义解析框架要素位置并将相应字符从待匹配文本内删除;若未找到匹配项,则该要素为空。

(2)磁悬浮轴承信息字符通过改进后的KMP算法遍历完成后,所有匹配过程结束,此时更新匹配模板。

图1 字符串匹配流程

3 实验及知识图谱的创建与应用

3.1 文本向量化实验

本文的文本向量化实验环境为基于Python的TensorFlow2.5.0和gensim3.8.1,输出层采用softmax,训练窗口大小设为5,本文设置3组不同维数的词向量,分别是50、100、150。以收集到的磁悬浮故障案例和文献中的文本数据为语料库,在前期文本预处理完成之后,利用改进的Skip-gram算法训练生成磁悬浮轴承故障词向量,改进的Skip-gram算法训练生成的部分关键词的100维词向量结果如表4所示。

表4 改进Skip-gram算法生成100维词向量结果表

3.2 词向量生成方法对比实验

本文文本分类实验环境是Python3.6的TensorFlow2.5.0,通过对磁悬浮轴承历史故障案例以及书籍文献的文本预处理,得到处理后的训练样本共1060条,用以训练BiLSTM分类模型,利用BiLSTM模型将3种词向量生成方法的词向量在不同维数下进行分类实验,准确率和损失函数如图2所示(以100维词向量为例)。

图2 词向量训练过程损失值和准确率变化

使用准确率(A)、精确率(Pr)和召回率(Re)作为实验的评价指标,公式如下:

(9)

(10)

(11)

式中,cor表示正确分类的样本数;sum表示样本总数;TPS表示正确正样本数;FPS表示错误正样本;FNS表示被识别为负样本的正样本数。

针对本文为多分类问题,模型的等价精确率和召回率公式如式(12)所示:

(12)

式中,ωi表示第i类样本在总样本数的占比权重;pi表示第i类的精确率;ri表示第i类的召回率,3组分类对比实验的结果如图3所示。

图3 分类对比实验结果

当词向量维数较低时,分类结果都不够准确,当维数渐高时,各指标反映的准确度普遍有所提升,改进Skip-gram算法效果比其他两种效果较为理想,但是维数过高,例如150维词向量,相较于100维词向量各指标反映的准确度没有明显提升,反而会增加训练时长,因此本文选择100维词向量作为文本向量。

3.3 字符串匹配算法对比实验

本文的字符串匹配算法对比实验环境为Python3.6,经过前期文本处理后创建字符串匹配模板库,随机从模板库中挑选10、20、30、40、50个关键词作为实验的模式串,以第3.2节中得到的1060条样本作为待匹配数据,两个算法的耗时时间如表5所示。

表5 不同个数关键词下字符串匹配算法耗时对比 (ms)

当一次性需要匹配的关键词个数较多时,双向匹配表KMP算法明显比基本KMP算法耗时短,因此能够更有效率地进行批量的磁悬浮轴承故障文本语义解析。

3.4 知识图谱的创建

按照第2.2.3节中提出的内容解析方法和流程之后得到关键字段以及对应的分类类别,以分类类别为关系,分类类别首尾关键字段作为实体构成知识图谱的三元组,在进行指代消歧和实体对齐之后,通过实体链接使用Neo4j图数据库存储和表现磁悬浮轴承故障知识,磁悬浮轴承故障知识图谱创建流程如图4a所示,如图4b所示即为磁悬浮轴承故障知识图谱。

(a) 创建流程图

3.5 磁悬浮轴承故障知识图谱的应用

智能搜索与推荐系统支持对磁悬浮轴承故障知识图谱中的某一实体进行搜索,在系统中对该实体进行检索并输出同时还可以根据相关实体的相似度进行推荐,具体效果如图5a所示。基于磁悬浮轴承故障知识图谱的智能问答系统如图5b所示。该系统支持对于故障形式、故障数量以及具体实体的相关信息提问。

(a) 智能搜索与推荐

4 结束语

本文提出了一种磁悬浮轴承故障知识图谱的构建方法,并在词向量生成和字符串匹配方法上进行了优化,所构建的知识图谱可以为磁悬浮轴承故障的知识搜索、问答和推理诊断等应用任务提供指导意见。

猜你喜欢

字符串磁悬浮图谱
有趣的磁悬浮陀螺
第二章 磁悬浮装置
绘一张成长图谱
神奇的磁悬浮
神奇的磁悬浮
补肾强身片UPLC指纹图谱
主动对接你思维的知识图谱
一种新的基于对称性的字符串相似性处理算法
依据字符串匹配的中文分词模型研究
杂草图谱