一种基于数控机床故障知识图谱的智能问答方法及其系统

文档序号:34242523发布日期:2023-05-25 01:04阅读:34来源:国知局
一种基于数控机床故障知识图谱的智能问答方法及其系统

本发明属于知识图谱问答,具体涉及一种基于数控机床故障知识图谱的智能问答方法及其系统。


背景技术:

1、随着全球制造业的高速发展,数控机床的应用越加广泛,在企业生产制造中变得不可或缺。如果数控机床某些设备发生故障时不能及时发现并且处理,将影响整个系统的正常运行,甚至导致系统停止运转,这会给企业带来严重的经济损失和人员伤亡。但是,在使用数控机床的过程中,运行环境、工作人员操作不规范等因素都会不可避免地造成数控机床发生故障,并且一旦发生故障,数控机床在设备运行中产生的海量状态数据以及监控变量会使维修难度远远高于普通机床。

2、进入二十一世纪后,由于互联网的迅猛发展,网上信息不管是种类还是数量都呈现爆发式的增长。为了有效管理和利用互联网上的海量信息,谷歌、微软等公司采用关键词搜索的方法来优化搜索工具:用户只需输入一些关键词,搜索工具就会搜索出关键词相关的网页供用户选择。但是,基于关键词的搜索方式没有考虑到文字之间深层的语义关系,搜索的效率比较低下。基于此背景,谷歌公司在2012年11月提出了知识图谱(knowledgegraph,kg)的概念,并将它应用于搜索引擎中,用于提升搜索工具的能力,增强用户的搜索质量。

3、基于知识图谱的智能问答系统的主要思想是:通过分析问题,将问题转化为一个包含实体和关系的查询语句,在知识图谱中进行查询,返回的三元组即为问题的答案。基于知识图谱的智能问答系统被应用到电影推荐、数控机床故障等各个领域,然而,现有的基于数控机床故障知识图谱的智能问答系统还有一些不足之处:其一,现有的数控机床故障知识图谱存在实体之间的关系大量缺乏的情况;其二,现有的知识推理模型在处理书籍、电影等通用领域知识图谱时准确率较高,但在处理数控机床故障等专业领域知识图谱时,由于专业领域知识图谱中实体之间大量的深层因果关系难以被挖掘,知识推理模型在处理专业领域知识图谱时速度较慢、准确率较低;其三,现有的基于数控机床故障知识图谱的智能问答系统对用户提出的问题直接在数控机床故障知识图谱中进行查询,不能进行推理预测,与用户个性化问题的适配度较低,查询结果片面。


技术实现思路

1、本发明的目的在于克服现有技术的缺陷,提供一种基于数控机床故障知识图谱的智能问答方法及其系统,将知识图谱和智能问答引入到故障诊断领域,通过融合gat和rotate的知识推理模型对数控机床故障知识图谱进行知识推理,并构造智能问答系统,为维修人员寻找数控机床故障的维修方法提供了有效、快捷的途径。

2、为解决上述技术问题,本发明采用以下技术方案。

3、本发明的一种基于数控机床故障知识图谱的智能问答方法,包括以下步骤:

4、s1、构建数控机床故障知识图谱:将收集到的数控机床设备维修记录进行处理,保留实体和实体之间的语义关系,生成故障三元组,所述的故障三元组包括头实体、关系和尾实体,将故障三元组储存在数控机床故障知识库中,按比例将故障三元组拆分为训练集、验证集和测试集,将故障三元组导入neo4j图数据库中形成一张全新的数控机床故障知识图谱;

5、s2、构建融合gat和rotate的知识推理模型并进行训练:融合gat和rotate的知识推理模型包括图注意力层部分和链接预测层部分;将数控机床故障知识库中的故障三元组输入图注意力层,经过训练后得到的实体和关系的嵌入表示向量被输入到链接预测层;在链接预测层,采用随机采样的方式从正例故障三元组中得到负例故障三元组,通过得分函数计算正例故障三元组和负例故障三元组的得分,循环迭代优化结束后保存链接预测层输出的实体和关系的嵌入表示向量;

6、s3、问题识别:构建智能问答系统网页,获取用户提出的问题文本,利用python库和自定义词典提取问题文本的关键词,将问题文本的关键词和数控机床故障三元组的实体进行语义相似度计算,确定问题三元组的头实体,通过特征词匹配和意图识别相结合的方式确定问题三元组的关系,从数控机床故障知识库中随机一个实体作为问题三元组的尾实体;

7、s4、答案输出:用数控机床故障知识库中的实体替换问题三元组的尾实体得到被替换问题三元组,调用融合gat和rotate的知识推理模型训练得到的实体和关系的嵌入表示向量,将被替换问题三元组转化为向量的形式,利用得分函数计算被替换问题三元组的得分,将被替换问题三元组按照得分进行排序和知识过滤,最后将得分最低的十个被替换问题三元组以表格的形式输出给用户。

8、进一步地,在步骤s1中所述的构建数控机床故障知识图谱,包括:

9、s1.1、数控机床设备维修记录处理:将收集到的数控机床设备维修记录进行处理,删除缺失行和无意义行,保留设备名称、故障情况和维修结果三种实体类别和不同实体类别之间的语义关系,根据保留的实体类别和语义关系构建由头实体、关系和尾实体组成的故障三元组,将故障三元组存储在数控机床故障知识库;

10、s1.2、划分训练集、验证集和测试集:按照7:2:1的比例将故障三元组随机划分为训练集、验证集和测试集三部分,训练集用于更新融合gat和rotate的知识推理模型的参数,验证集用于对融合gat和rotate的知识推理模型的参数进行调整,测试集用于对融合gat和rotate的知识推理模型的泛化能力进行评价;

11、s1.3、构建数控机床故障知识图谱:利用python创建数控机床故障知识图谱,向数控机床故障知识图谱中插入数控机床故障知识库中的故障三元组,故障三元组的实体和关系分别用数控机床故障知识图谱的节点和边表示,通过neo4j图数据库生成一张全新的数控机床故障知识图谱并进行可视化展示。

12、进一步地,在步骤s2中所述的构建融合gat和rotate的知识推理模型并进行训练,包括:

13、s2.1、构建图注意力层:图注意力层采用注意力机制,通过聚合函数进行建模,计算数控机床故障知识图谱中的节点和邻居节点的权重关系,然后对权重关系进行非线性激活,通过逻辑回归函数得到注意力系数,最后将注意力系数加权聚合得到输出时节点的嵌入表示向量,进行代码实现时指定图注意力层的各层节点数、学习率、迭代次数;

14、为了将融合gat和rotate的知识推理模型输入的实体和关系转换到向量空间中,通过已初始化的矩阵w(w∈rf′×f)定义一个映射b:rf′×rf→r,其中f和f'分别表示输入时实体和关系的嵌入表示向量的维度和输出时实体和关系的嵌入表示向量的维度,再由注意力机制计算得到节点i和节点j的权重关系:

15、eij=b(wxi,wxj)                             (1)

16、其中,eij是节点i和节点j的权重关系,b是映射向量,w是节点i和节点j的线性变换矩阵,xi是节点i,xj是节点i的邻居节点j;

17、加入leakyrelu非线性激活函数,使用softmax函数进行正则化处理,得到节点i的注意力系数:

18、

19、其中,αij是节点i的注意力系数,ni是第i个节点的邻居节点,exp(x)是数学运算ex,||是向量拼接操作,bt是映射向量b的转置,xk是第k个节点的邻居节点;

20、将所求的节点i的注意力系数加权求和,可得训练后节点i的嵌入表示向量:

21、

22、其中,σ是非线性转换操作,xi′是训练后的节点i的嵌入表示向量;

23、s2.2、构建链接预测层:利用rotate模型构建融合gat和rotate的知识推理模型的链接预测层,采用随机采样的方式从正例故障三元组中得到负例故障三元组,通过得分函数计算正例故障三元组和负例故障三元组的得分,进行代码实现时指定rotate模型实体和关系的嵌入表示向量的维度、损失函数、得分函数;

24、rotate模型的基本思想来源于欧拉公式:

25、eiθ=cosθ+isinθ                            (4)

26、其中,指数iθ被表示为在复数向量空间中的旋转角度θ;因此,rotate模型将实体和关系映射到复数向量空间中,并且定义关系为从头实体嵌入表示向量到尾实体嵌入表示向量的旋转角度;给定一个故障三元组,故障三元组的头实体嵌入表示向量经过故障三元组的关系嵌入向量旋转后得到的旋转向量应该尽可能接近故障三元组的尾实体嵌入表示向量;故障三元组的旋转向量和故障三元组的尾实体嵌入向量越靠近,故障三元组的实体和关系的嵌入表示向量越准确;用距离函数来计算故障三元组的旋转向量和故障三元组的尾实体嵌入向量的靠近程度,计算公式如下:

27、

28、其中,dr(h,r,t)表示故障三元组的得分结果,h表示故障三元组的头实体嵌入向量,r表示故障三元组的关系嵌入向量,t表示故障三元组的尾实体嵌入向量,表示圈乘操作,||·||l1/l2表示l1范数或l2范数,具体计算公式如下:

29、

30、

31、其中,x为矩阵,xi为矩阵中的第i个元素;

32、s2.3、训练融合gat和rotate的知识推理模型:将数控机床故障知识库中的故障三元组的训练集输入到融合gat和rotate的知识推理模型的图注意力层进行训练,得到训练后数控机床故障知识图谱中每个节点的嵌入表示向量,计算正例故障三元组和负例故障三元组的得分,设计marginloss函数为损失函数,损失函数的计算公式如下:

33、loss=max[0,γ+dr(h,t)-dr'(h',t')]                  (8)

34、其中,loss表示故障三元组的损失函数值,γ表示正例故障三元组和负例故障三元组之间的距离,一般取1,dr(h,t)表示正例故障三元组的得分结果,dr'(h',t')表示负例故障三元组的得分结果;

35、使用adam优化器优化学习,不断更新融合gat和rotate的知识推理模型的权重参数,使故障三元组的损失函数值不断降低,循环结束后保存故障三元组的实体和关系的嵌入表示向量;

36、s2.4、测试融合gat和rotate的知识推理模型性能:利用融合gat和rotate的知识推理模型训练后得到的故障三元组的实体和关系的嵌入表示向量,将数控机床故障知识库中的故障三元组的测试集转换为嵌入表示向量的形式,然后分别替换故障三元组的测试集的头实体和尾实体得到被替换故障三元组,通过得分函数将所有被替换故障三元组按照得分结果由低到高进行排序,查找替换前的故障三元组的头实体或尾实体所在的位置,利用hit@3、hit@10、mr、mrr评价指标评估融合gat和rotate的知识推理模型的泛化能力。

37、进一步地,在步骤s3中所述的问题识别,包括:

38、s3.1、构建智能问答系统网页:通过python的django库创建项目,修改路由地址,选择css、js插件编写html网页文件,使后台可以接收智能问答系统网页上用户提出的问题,并将后台处理后的结果展现在智能问答系统的网页上;

39、s3.2、实体识别:利用python的jieba库和自定义词典提取出用户提出的问题的关键词,将问题的关键词和数控机床故障知识库中的实体进行语义相似度计算,语义相似度计算结果最高的数控机床故障知识库的实体为问题三元组的头实体;

40、s3.3、构建问题三元组:采用特征词匹配和意图识别相结合的方式,确认问题三元组的关系,然后由问题三元组的头实体、问题三元组的关系和从数控机床故障知识库中随机选择的一个实体作为问题三元组的尾实体,共同构成问题三元组。

41、进一步地,在步骤s4中所述的答案输出,包括:

42、s4.1、计算负例问题三元组的得分并排序:用数控机床故障知识库中的实体替换问题三元组的尾实体得到负例问题三元组,利用融合gat和rotate的知识推理模型训练后得到的实体和关系的嵌入表示向量将负例问题三元组的实体和关系转化为嵌入表示向量,通过得分函数计算所有负例问题三元组的得分,按照得分结果从低到高排列;

43、s4.2、知识筛选:对排序后的负例问题三元组进行知识筛选,根据尾实体标签要求去除不符合的负例问题三元组;

44、s4.3、返回答案:将经过知识筛选后得分最低的十个负例问题三元组作为答案在智能问答系统网页上以表格的形式展示给用户。

45、具体地,所述的语义相似度计算,包括编辑距离相似度部分、字符重叠系数相似度部分和余弦相似度部分:

46、编辑距离相似度是根据字符串ci向字符串cj转换需要执行的最少操作次数计算,操作包括插入、删除和替换,计算公式为:

47、

48、其中,ld是字符串ci向字符串cj转换需要执行的最少操作次数,length(ci)和length(cj)分别表示字符串ci和字符串cj的字符长度,sld(ci,cj)表示字符串ci和字符串cj的编辑距离相似度;

49、字符重叠系数相似度是根据字符串ci和字符串cj相同字符的个数计算求得;

50、

51、其中,n是字符串ci和字符串cj相同字符的个数,length(set(ci,cj))表示字符串ci和字符串cj中不重复字符集合的长度,soc(ci,cj)表示字符串ci和字符串cj的字符重叠系数相似度;

52、余弦相似度是用向量空间中两个向量夹角的余弦值衡量两个字符间差异,在计算字符串ci和字符串cj的余弦相似度时,利用融合gat和rotate的知识推理模型训练得到的实体的嵌入表示向量,将字符串转化为嵌入表示向量,然后利用余弦相似度公式计算:

53、

54、其中,vci和vcj分别是字符串ci和字符串cj的嵌入表示向量,||vci||和||vcj||分别是字符串ci和字符串cj的嵌入表示向量的特征,scos(ci,cj)表示字符串ci和字符串cj的余弦相似度;

55、将字符串ci和字符串cj的语义相似度s(ci,cj)定义为编辑距离相似度sld(ci,cj)、字符重叠系数相似度soc(ci,cj)和余弦相似度scos(ci,cj)三者的算术平均数,计算公式如下:

56、

57、其中,s(ci,cj)表示字符串ci和字符串cj的语义相似度。

58、本发明的一种基于数控机床故障知识图谱的智能问答系统,在实施时用于执行上述的基于数控机床故障知识图谱的智能问答方法,包括:数控机床故障知识图谱构建模块、融合gat和rotate的知识推理模型的构建与训练模块、问题识别模块和答案输出模块。

59、与现有技术相比,本发明具有以下优点和有益效果:

60、1.本发明将数控机床故障维修记录进行处理,构建故障三元组,将故障三元组导入neo4j图数据库中,生成一张全新的数控机床故障知识图谱;此发明生成的数控机床故障知识图谱不同于现有的数控机床故障知识图谱,是对现有的数控机床故障知识图谱的补充,实现了对数控机床故障领域的进一步整合和分析;

61、2.本发明提供了一种新的不同字符串的语义相似度计算方法:首先分别计算不同字符串的编辑距离相似度、字符重叠相似度和余弦相似度,然后将编辑距离相似度、字符重叠相似度和余弦相似度三个语义相似度计算结果的算数平均值作为最终的不同字符串的语义相似度计算结果;新的语义相似度计算方法在对不同字符串的语义相似度进行计算时,能够同时考虑编辑距离、字符重叠和余弦相似度三种情况,从而提高了不同字符串通过语义相似度计算结果进行匹配时的准确率;

62、3.本发明提供了一种融合gat和rotate的知识推理模型,此模型包括图注意力层部分和链接预测层部分;在处理数控机床故障知识图谱时,融合gat和rotate的知识推理模型可深入挖掘实体本身丰富的语义信息以及实体之间的潜在因果关系,链接预测的准确率远高于现有的知识推理模型。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1