一种关联故障挖掘方法、装置、电子设备及介质
文献发布时间:2023-06-19 10:24:22
技术领域
本申请涉及关联故障挖掘技术领域,尤其是涉及一种关联故障挖掘方法、装置、电子设备及介质。
背景技术
关联故障挖掘(Relevant Fault Mining)是工业维修助手应用的重要功能,该功能旨在实现从案例知识库中挖掘某两种或两种以上故障之间的潜在关联关系,为不同故障之间的关联提供可解释性依据,能够帮助维修工程师进行关联故障分析以找出更深层次的故障原因。
现有的关联故障挖掘的解决方案主要包括以下两种方案:
(1)人工制定故障关联库方案
在该方案中,由维修专家根据抽样案例数据以及经验知识制定故障关联的规则库,然后依靠该规则库进行关联故障挖掘。该方案具有局限性,往往难以发现故障之间的潜在联系,也具有人力成本极高、耗时较长等缺点。
(2)统计分析方案
在该方案中,对案例知识库中的故障进行统计分析。该方案每次只能挖掘特定数目的故障之间的关联,存在挖掘不够全面、效率低下的缺点。
发明内容
有鉴于此,本申请的目的在于提供一种关联故障挖掘方法、装置、电子设备及介质,能够一次性挖掘出维修案例数据库中所有的关联故障,挖掘结果高效、准确且全面。
第一方面,本申请实施例提供了一种关联故障挖掘方法,包括:
对维修案例数据库中的维修案例数据进行实体抽取,得到实体类别为案例标识的第一节点集合和实体类别为故障信息的第二节点集合;
基于所述第一节点集合和第二节点集合构建二分图;
向所述二分图添加辅助边,以分别联通所述第一节点集合中的各节点和第二节点集合中的各节点,从而得到目标图网络;
求解所述目标图网络的所有极大团,从而挖掘出维修案例数据库中的所有关联故障。
在一种可能的实施方式中,对维修案例数据库中的维修案例数据进行实体抽取,包括:基于预定义的实体类别,利用命名实体识别模型和命名实体词典对维修案例数据库中的维修案例数据进行实体抽取;所述预定义的实体类别包括案例标识和故障信息。
在一种可能的实施方式中,求解所述目标图网络的所有极大团,包括:利用Bron-Kerbosch算法求解所述目标图网络的所有极大团。
在一种可能的实施方式中,还包括:将所述第一节点集合和第二节点集合存储到图数据库中。
第二方面,本申请实施例还提供一种关联故障挖掘装置,包括:
抽取模块,用于对维修案例数据库中的维修案例数据进行实体抽取,得到实体类别为案例标识的第一节点集合和实体类别为故障信息的第二节点集合;
构建模块,用于基于所述第一节点集合和第二节点集合构建二分图;
添加模块,用于向所述二分图添加辅助边,以分别联通所述第一节点集合中的各节点和第二节点集合中的各节点,从而得到目标图网络;
求解模块,用于求解所述目标图网络的所有极大团,从而挖掘出维修案例数据库中的所有关联故障。
在一种可能的实施方式中,所述抽取模块具体用于:基于预定义的实体类别,利用命名实体识别模型和命名实体词典对维修案例数据库中的维修案例数据进行实体抽取;所述预定义的实体类别包括案例标识和故障信息。
在一种可能的实施方式中,所述求解模块具体用于:利用Bron-Kerbosch算法求解所述目标图网络的所有极大团。
在一种可能的实施方式中,所述抽取模块还用于:将所述第一节点集合和第二节点集合存储到图数据库中。
第三方面,本申请实施例还提供一种电子设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
第四方面,本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行上述第一方面,或第一方面中任一种可能的实施方式中的步骤。
本申请实施例提供的一种关联故障挖掘方法,首先对维修案例数据库中的维修案例数据进行实体抽取,得到实体类别为案例标识的第一节点集合和实体类别为故障信息的第二节点集合,并构建二分图;由于极大团求解时要求顶点之间需要有边连接,向所述二分图添加辅助边,以分别联通所述第一节点集合中的各节点和第二节点集合中的各节点,从而得到目标图网络;最后求解所述目标图网络的所有极大团,从而挖掘出维修案例数据库中的所有关联故障。本申请实施例能够一次性挖掘出维修案例数据库中所有的关联故障,挖掘结果高效、准确且全面。
为使本申请的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1示出了本申请实施例所提供的一种关联故障挖掘方法的流程图;
图2示出了本申请实施例所提供的一种关联故障挖掘方法的整体技术架构图;
图3示出了本申请实施例中二分图的示意图;
图4示出了本申请实施例中目标图网络的示意图;
图5示出了本申请实施例中极大团的示意图;
图6示出了本申请实施例所提供的一种关联故障挖掘装置的结构示意图;
图7示出了本申请实施例所提供的一种电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本申请实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本申请的实施例的详细描述并非旨在限制要求保护的本申请的范围,而是仅仅表示本申请的选定实施例。基于本申请的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
考虑到现有的关联故障挖掘的解决方案主要包括以下两种方案:(1)人工制定故障关联库方案:在该方案中,由维修专家根据抽样案例数据以及经验知识制定故障关联的规则库,然后依靠该规则库进行关联故障挖掘。该方案具有局限性,往往难以发现故障之间的潜在联系,也具有人力成本极高、耗时较长等缺点。(2)统计分析方案:在该方案中,对案例知识库中的故障进行统计分析。该方案每次只能挖掘特定数目的故障之间的关联,存在挖掘不够全面、效率低下的缺点。基于此,本申请实施例提供了一种关联故障挖掘方法、装置、电子设备及介质,下面通过实施例进行描述。
为便于对本实施例进行理解,下面结合图1-图4对本申请实施例所公开的一种关联故障挖掘方法进行详细介绍。
请参照图1,图1为本申请实施例所提供的一种关联故障挖掘方法的流程图。如图1所示,可以包括如下步骤:
S101、对维修案例数据库中的维修案例数据进行实体抽取,得到实体类别为案例标识的第一节点集合和实体类别为故障信息的第二节点集合;
S102、基于所述第一节点集合和第二节点集合构建二分图;
S103、向所述二分图添加辅助边,以分别联通所述第一节点集合中的各节点和第二节点集合中的各节点,从而得到目标图网络;
S104、求解所述目标图网络的所有极大团,从而挖掘出维修案例数据库中的所有关联故障。
步骤S101中,如图2所示,维修案例数据库处于整个技术架构的数据层。维修案例数据库可以为设备故障维修知识库,设备故障维修知识库解决设备维护维修过程中的故障维护知识积累和故障解决方法查询的问题。设备发生故障后,当设备制造商和用户技术工人在线上沟通时,沟通内容被自动记录下来,而在故障解决后还要求工人填写规范的故障维修单,完成故障知识库积累。
案例标识可以为案例标号,每个维修案例都对应有唯一的案例标号。第一节点集合中包括多个节点,每个节点的实体类别均为案例标识。
故障信息代表维修案例包含的故障信息,每个维修案例可能包括多个故障信息。以汽修领域维修助手为例,某维修案例可以包括:“离合器拨叉螺丝断裂”、“变速箱前壳断裂”和“变速箱漏油”这三个故障信息。第二节点集合中包括多个节点,每个节点的实体类别均为故障信息。
在本步骤中,如图2所示,在整个技术架构的抽取层对维修案例数据库中的维修案例数据进行实体抽取,抽取得到两种实体节点,这两种实体节点的实体类别包括案例标识和故障信息。案例标识类型的实体节点组合成第一节点集合,故障信息类型的实体节点组合成第二节点集合。
在一种可能的实施方式中,基于预定义的实体类别,利用命名实体识别模型和命名实体词典对维修案例数据库中的维修案例数据进行实体抽取;所述预定义的实体类别包括案例标识和故障信息。命名实体指的是文本中具有特定意义或者指代性强的文本段,如人名、地名、组织机构名、日期时间、专有名词等。在本实施例中,需要有两个前提假设:①已有训练好的命名实体识别模型和命名实体词典;②预定义的实体类别必须包括“案例标识”和“故障信息”这两种实体类别。在这两个前提假设均满足的前提下,本实施例利用训练好的命名实体识别模型和命名实体词典对维修案例数据库中的维修案例数据进行实体抽取,并将抽取得到的所述第一节点集合和第二节点集合存储到图数据库中。
关于命名实体识别模型和命名实体词典的训练方法,可以包括以下四种方法:
(1)有监督的学习方法:这一类方法需要利用大规模的已标注语料对模型进行参数训练。目前常用的模型或方法包括隐马尔可夫模型、语言模型、最大熵模型、支持向量机、决策树和条件随机场等。值得一提的是,基于条件随机场的方法是命名实体识别中最成功的方法。
(2)半监督的学习方法:这一类方法利用标注的小数据集(种子数据)自举学习。
(3)无监督的学习方法:这一类方法利用词汇资源(如WordNet)等进行上下文聚类。
(4)混合方法:几种模型相结合或利用统计方法和人工总结的知识库。
需要说明的是,由于深度学习在自然语言的广泛应用,基于深度学习的命名实体识别方法也展现出不错的效果,此类方法基本还是把命名实体识别当做序列标注任务来做,比较经典的方法是LSTM+CRF、BiLSTM+CRF。
步骤S102中,二分图是一类特殊的图网络,其节点可以划分为两个集合,其关系仅连接一个集合的节点和另一个集合的节点,每个集合的各节点互不相连。
在本步骤中,如图2所示,在整个技术架构的图构建层,将图数据库中的第一节点集合和第二节点集合构建成一个二分图。如图3所示,第一节点集合包括节点1、节点2、节点3和节点4,第二节点集合包括节点A、节点B、节点C和节点D。节点1-4代表案例标识,节点A-D代表故障信息,从左到右的连线表示该案例所包含的故障信息,例如:节点1所包含的故障信息为节点A和C所表示的故障信息,节点2所包含的故障信息为节点B所表示的故障信息,节点3所包含的故障信息为节点A、C和D所表示的故障信息,节点4所包含的故障信息为节点B和C所表示的故障信息,至此便完成二分图的初步构建。
需要说明的是,图3所示的二分图仅用于教导本领域技术人员如何实施本发明,本发明不限于此。
步骤S103中,如图4所示,由于极大团求解时要求顶点之间需要有边连接,所以需要对步骤S102中构建的二分图做辅助边,联通所述第一节点集合中的节点1-4,以及联通所述第二节点集合中的节点A-D,至此完整的目标图网络构建完成。
需要说明的是,图4所示的目标图网络仅用于教导本领域技术人员如何实施本发明,本发明不限于此。
步骤S104中,假设一个无向图G,一个团指的是图G的一个子图,该子图中的所有顶点之间都有边将它们相连,而极大团指的是该团不属于图G的任何其他团,即不是任何其他团的真子集。子图指的是位于较大的图内的图。
假设在图5中希望的故障关联为[1,3,A,C],即在案例1和3中均发生了故障A和C,而该故障关联即是图的一个极大团,因此求解故障之间的关联可以转化成求解图的极大团问题。如图2所示,在整个技术架构的搜索层,查找极大团,即求解目标图网络的所有极大团,可以挖掘出维修案例数据库中的所有关联故障。
在一种可能的实施方式中,利用Bron-Kerbosch算法求解所述目标图网络的所有极大团。Bron-Kerbosch算法是一个递归回溯的搜索算法,在Bron-Kerbosch算法中需要指定三个集合R、P和X。R集合记录的是当前极大团中已经加入的点,P集合记录的是可能还能加入的点(也就是说可能与R集合中所有点都有边存在的候选节点,用于扩充当前当前极大团而并入R中),X集合记录的是已经完成极大团计数的点(作用是判重)。P∪X是所有可能与R集合构成极大团的点集(虽然X中的点不可能再参与极大团的构成),也就是与最后一个加入R集合相连的点相连的点的一部分。若P集合中某节点与R集合中的节点可以形成更大的团,则该节点加入R集合和X集合中,然后从P集合中删除。
具体地,Bron-Kerbosch算法可以有以下三种实现方案,具体如下:
①Bron-Kerbosch算法的第一种实现方案可以包括:
初始化集合R,X分别为空,而集合P为所有顶点的集合。而每次从集合P中取顶点{v},当集合中没有顶点时,两种情况:
1.集合R是最大团,此时集合X为空;
2.无最大团,此时回溯。
对于每一个从集合P中取得得顶点{v},有如下处理:
1.将顶点{v}加到集合R中,集合P,X与顶点{v}得邻接顶点集合N{v}相交,之后递归集合R,P,X;
2.从集合P中删除顶点{v},并将顶点{v}添加到集合X中;
若集合P,X都为空,则集合R即为最大团。
也就是说,每次从集合P中取v后,再在P∩N{v}集合中取,一直取相邻,保证集合R中任意顶点间都两两相邻。
Bron-Kerbosch算法的上述第一种实现方案效率不高,因为其递归搜索了所有情况,其中有些不是最大团的也进行了搜索。
②Bron-Kerbosch算法的第二种实现方案可以包括:
初始化集合R,X分别为空,而集合P为所有顶点的集合。而每次从集合P中取顶点{v},当集合中没有顶点时,两种情况:
1.集合R是最大团,此时集合X为空;
2.无最大团,此时回溯。
选择特殊点{u},对于每一个从集合P\N(u)中取得得顶点{v},有如下处理:
1.将顶点{v}加到集合R中,集合P,X与顶点{v}得邻接顶点集合N{v}相交,之后递归集合R,P,X;
2.从集合P中删除顶点{v},并将顶点{v}添加到集合X中;
若集合P,X都为空,则集合R即为最大团。
也就是说,选择特殊点{u},每次从集合P\N(u)中取v后,再在P∩N{v}集合中取,一直取相邻,保证集合R中任意顶点间都两两相邻。
Bron-Kerbosch算法的第二种实现方案通过选择特殊点{u},可以节省时间和让算法更快的回溯。
③Bron-Kerbosch算法的第三种实现方案可以包括:
1.集合P降序排列,将顶点{v}加到集合R中,集合P,X与顶点{v}得邻接顶点集合N{v}相交,之后递归集合R,P,X;
2.从集合P中删除顶点{v},并将顶点{v}添加到集合X中;
若集合P,X都为空,则集合R即为最大团。
也就是说,每次从集合P中取v后,再在P∩N{v}集合中取,一直取相邻,保证集合R中任意顶点间都两两相邻。
Bron-Kerbosch算法的第三种实现方案,放弃选择特殊点,而是利用降序的方式,即将集合P中的节点按度大小降序排序,这是因为节点度越大,该节点越容易成为极大团,在一定程度上节省了时间。
采用上述Bron-Kerbosch算法的任一方案求解如图4所示的目标图网络的极大团,最终返回极大团集合,如图5所示浅灰色部分即为目标图网络的极大团集合。
需要说明的是,以上三种Bron-Kerbosch算法的实现方案仅用于教导本领域技术人员如何实施本发明,本发明不限于此,还可以采用其他求解极大团的实现方案。
在步骤S104之后,如图2所示,在整个技术架构的输出层,输出案例中的所有关联故障。具体地,目标图网络的极大团集合包含了案例中的所有关联故障,例如该集合的输出结果可能是[“离合器漏油”,“离合器异响”],[“离合器拨叉螺丝断裂”,“变速箱前壳断裂”,“变速箱漏油”]等,输出案例中的所有关联故障,与使用统计方法只能输出固定数目的故障关联相比,本申请实施例不受故障数目的限制,而且也可以从极大团集合中筛选出需要的关联故障数目,降低了时间复杂度。
本申请实施例提供的一种关联故障挖掘方法,首先对维修案例数据库中的维修案例数据进行实体抽取,得到实体类别为案例标识的第一节点集合和实体类别为故障信息的第二节点集合,并构建二分图;由于极大团求解时要求顶点之间需要有边连接,向所述二分图添加辅助边,以分别联通所述第一节点集合中的各节点和第二节点集合中的各节点,从而得到目标图网络;最后求解所述目标图网络的所有极大团,从而挖掘出维修案例数据库中的所有关联故障。本申请实施例能够一次性挖掘出维修案例数据库中所有的关联故障,挖掘结果高效、准确且全面。
基于相同的技术构思,本申请实施例还提供一种关联故障挖掘装置、电子设备、以及计算机存储介质等,具体可参见以下实施例。
请参照图6,图6为本申请实施例所提供的一种关联故障挖掘装置的结构示意图。如图6所示,所述装置可以包括:
抽取模块10,用于对维修案例数据库中的维修案例数据进行实体抽取,得到实体类别为案例标识的第一节点集合和实体类别为故障信息的第二节点集合;
构建模块20,用于基于所述第一节点集合和第二节点集合构建二分图;
添加模块30,用于向所述二分图添加辅助边,以分别联通所述第一节点集合中的各节点和第二节点集合中的各节点,从而得到目标图网络;
求解模块40,用于求解所述目标图网络的所有极大团,从而挖掘出维修案例数据库中的所有关联故障。
在一种可能的实施方式中,所述抽取模块10具体用于:基于预定义的实体类别,利用命名实体识别模型和命名实体词典对维修案例数据库中的维修案例数据进行实体抽取;所述预定义的实体类别包括案例标识和故障信息。
在一种可能的实施方式中,所述求解模块40具体用于:利用Bron-Ke rbosch算法求解所述目标图网络的所有极大团。
在一种可能的实施方式中,所述抽取模块10还用于:将所述第一节点集合和第二节点集合存储到图数据库中。
本申请实施例公开了一种电子设备,如图7所示,包括:处理器701、存储器702和总线703,所述存储器702存储有所述处理器701可执行的机器可读指令,当电子设备运行时,所述处理器701与所述存储器702之间通过总线703通信。
所述机器可读指令可用于执行前面方法实施例中所述的方法的步骤:
对维修案例数据库中的维修案例数据进行实体抽取,得到实体类别为案例标识的第一节点集合和实体类别为故障信息的第二节点集合;
基于所述第一节点集合和第二节点集合构建二分图;
向所述二分图添加辅助边,以分别联通所述第一节点集合中的各节点和第二节点集合中的各节点,从而得到目标图网络;
求解所述目标图网络的所有极大团,从而挖掘出维修案例数据库中的所有关联故障。
在一种可能的实施方式中,所述处理器701对维修案例数据库中的维修案例数据进行实体抽取,包括:基于预定义的实体类别,利用命名实体识别模型和命名实体词典对维修案例数据库中的维修案例数据进行实体抽取;所述预定义的实体类别包括案例标识和故障信息。
在一种可能的实施方式中,所述处理器701求解所述目标图网络的所有极大团,包括:利用Bron-Kerbosch算法求解所述目标图网络的所有极大团。
在一种可能的实施方式中,所述处理器701还用于执行:将所述第一节点集合和第二节点集合存储到图数据库中。
本申请实施例所提供的进行关联故障挖掘的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可执行的非易失的计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本申请的具体实施方式,用以说明本申请的技术方案,而非对其限制,本申请的保护范围并不局限于此,尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本申请实施例技术方案的精神和范围,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应所述以权利要求的保护范围为准。
- 一种关联故障挖掘方法、装置、电子设备及介质
- 业务关联挖掘方法、装置、电子设备及存储介质