1. 引言
铁路运输是国民经济与社会发展的命脉,内燃机车作为核心运输工具,其稳定性直接决定整个网络的效能。然而,内燃机车维修数据分散、信息孤岛严重,导致传统维修管理难以实现及时、准确的决策支持。
通用知识图谱在开放域数据融合方面具有优势,但其在工业领域的应用仍存在一定局限[1] [2];知识图谱已在医学、金融、矿业工程及铁路等领域广泛应用[3]-[7]。此外,基于规则、逻辑推理以及图谱表示学习的方法在复杂关系和推理决策中也取得了显著成果[8]-[10]。因此,本文通过融合知识图谱构建与推理技术,以提升维修决策的效率与准确性。
2. 知识图谱构建流程
知识图谱构建方法主要分为自顶向下构建和自底向上构建。自底向上方法多基于开放域大规模语料,通过弱监督或半监督学习自动生成图谱,但对专业领域术语及复杂上下文的适应性较差。与之相比,自顶向下方法依托领域专家知识,虽然需要先验本体设计,但在精度和可解释性方面具有明显优势。针对铁路内燃机车维修场景中的故障现象、维修措施等语义复杂要素,在自顶向下框架内,结合规则抽取与BERT-CRF模型,实现了90%以上的抽取精度与召回率,有效弥补了纯规则或纯深度学习方法的不足。
在矿区铁路内燃机车故障维修知识图谱构建过程中,数据采集作为关键的首要步骤,其质量和完整性决定了后续分析的可靠性。本文数据来源于某矿区铁路机务段,数据信息涵盖设备型号、故障记录、维修措施等内容。具体数据收集步骤如下:
(1) 现场数据获取:通过与矿区铁路机务段一线维修人员的现场交流,获得详细的维修记录。这些记录涉及内燃机车故障现象、故障原因、维修过程以及维修结果等关键信息。其次从设备管理部门借阅设备手册,手册中包含设备的参数、操作指南和常见故障的处理方法,为数据分析提供了技术支持。
(2) 数据数字化:将文字内容录入到可编辑的文本文件中。
经文本清洗与预处理后,开展实体与关系的分析与抽取。最后将实体与关系、属性等,按已构建的本体关系链接到图数据库Neo4j储存并显示为有向图的形式。图谱构建流程如图1所示。
Figure 1. The construction process of the knowledge graph
图1. 知识图谱构建流程
3. 知识建模
为构建铁路内燃机车故障维修知识图谱,需要对维修案例文本进行深入分析与全面标注,提取设备信息、故障部位、故障原因、故障现象及维修措施等关键要素,为后续知识抽取与本体构建奠定基础。案例文本分析如图2所示。
Figure 2. Maintenance case study
图2. 维修案例分析
在对铁路内燃机车故障维修案例进行分析后,确定案例文本中的故障构成要素。实体是铁路内燃机车故障维修的相关信息,如表1所示。
Table 1. Definition of entities
表1. 实体定义
实体含义 |
中文含义 |
举例说明 |
EQUIPMENT_MODEL |
设备型号 |
0080机车 |
FAULT_LOCATION |
故障部位 |
微机励磁 |
FAULT_CAUSE |
故障原因 |
水温高 |
FAULT_PHENOMENON |
故障现象 |
卸载现象 |
MAINTENANCE |
维修措施 |
更换撒砂脚踏阀后正常 |
关系是实体和实体之间的关系,本文定义了五种关系,如表2所示。
Table 2. Definition of relationship
表2. 关系定义
关系 |
含义 |
关系说明 |
原因 |
Reason |
{故障现象,原因,故障原因} |
导致 |
Cause |
{故障原因,导致,故障部位} |
维修 |
Repair |
{故障现象,维修,维修措施} |
现象为 |
Phenomenon |
{故障部位,现象为,故障现象} |
属于 |
Belong |
{故障部位,属于,设备型号} |
4. 图谱构建
为实现原始文本到结构化知识的转化,本文采用基于规则和基于深度学习的两种混合抽取策略。
4.1. 基于规则的抽取
在规则抽取部分,设计了以下四步流程:
(1) 文本预处理。对收集来的文本进行清洗处理,存储为TXT文件。
(2) 词库构建。构建自定义词典,将领域专业词汇(如“0079机车”、“微机励磁”、“励磁板”等)及其词性导入词典,并以UTF-8编码保存。
(3) 分词及词性标注。基于上述构建的词库,对文本进行分词和词性标注。如“0079机车”、“万向轴十字绡”等词汇均被准确标注,为后续规则匹配提供语义依据。
(4) 抽取规则构建。对于设备型号,规则采用\d{4}机车来匹配四位数字后缀“机车”的词组,如“0079机车”。对于故障部位,则用多组上下文匹配规则,如匹配“经检查为(\w+)”、“更换(\w+)”、“检查(\w+)”等。通过对上下文关键词的匹配,提取紧随其后的内容作为故障部位。
4.2. 基于深度学习的抽取方法
深度学习方法能够捕捉长距离上下文依赖,适用于故障原因、故障现象及维修措施等复杂要素的抽取。
4.2.1. 文本序列标注
为了确保构建出的知识图谱在规模与质量上均达到较高水平,本文在内燃机车故障维修元素抽取过程中做出了如下改进:
(1) 文本序列标注:文本序列标注是指对数据集中每条故障文本进行逐词标记,从而生成具有序列标签的语料库。为扩大语料库的范围,本文利用现有的矿区铁路内燃机车故障数据,同时整合其他来源的文本数据(如设备手册、操作指南等)。在文本序列标注工具的选择上,采用“精灵标注助手”对案例按BIO标注体系进行人工标注,构建语料库。具体的处理过程如图3所示。
Figure 3. Corpus construction
图3. 语料库构建
(2) 实体标注方法:为完成故障维修案例中关键元素(包括故障原因、故障现象、解决措施等)的抽取任务,需要对文本数据进行准确的实体标注。针对矿区铁路内燃机车故障文本数据,经人工初步分析后,定义了三种实体类型:故障原因、故障现象与解决措施。常用的标注体系有BIO、BMES和BIOES等。为了保证标注的清晰简洁,捕捉到领域内专业术语的细粒度信息,本文在传统BIO标注体系的基础上进行了适当的调整。具体的标注规则如下表3所示。
Table 3. Labeling rules
表3. 标注规则
实体类别 |
起始标记 |
中间标记 |
结束标记 |
故障原因 |
B-fau |
I-fau |
I-fau |
故障现象 |
B-phe |
I-phe |
I-phe |
解决措施 |
B-mea |
I-mea |
I-mea |
为了进一步降低纯人工标注的工作量,提高标注效率和一致性,引入半自动标注模块。利用训练好的BERT-CRF的模型,对原始文本数据进行自动预测,自动生成初始的实体标注结果。生成的自动标注可以通过使用标注工具进行复核和必要的校正,确保标注错误能被及时纠正。半自动标注流程在保证数据一致性和准确度方面具有显著优势,同时降低了标注工作的耗时。
(3) 语料库构建:完成文本序列标注与实体标注后,需要将生成的ann格式文件转化为符合BIO标注格式的最终语料库,部分示例如表4所示。
Table 4. Corpus
表4. 语料库
词语 |
标注 |
词语 |
标注 |
词语 |
标注 |
0 |
O |
因 |
O |
修 |
O |
0 |
O |
为 |
O |
|
O |
7 |
O |
整 |
B-fau |
更 |
B-mea |
9 |
O |
流 |
I-fau |
换 |
I-mea |
机 |
B-phe |
二 |
I-fau |
二 |
I-mea |
车 |
I-phe |
极 |
I-fau |
极 |
I-mea |
不 |
I-phe |
管 |
I-fau |
管 |
I-mea |
走 |
I-phe |
击 |
I-fau |
即 |
O |
车 |
I-phe |
穿 |
I-fau |
可 |
O |
, |
O |
, |
O |
。 |
O |
原 |
O |
辅 |
O |
|
|
4.2.2. 深度学习模型及模型比较
文章在已构建的BIO标注语料上开展实验,旨在评估不同深度学习模型在故障记录实体抽取任务中的表现。为捕捉文本的基本语义信息,首先利用Word2Vec模型在语料上训练了100维词向量(窗口大小为5,最小词频阈值为3)。已构建的BIO标注语料上,采用Word2Vec训练了100维词向量(窗口大小5,最小词频阈值3)。基于预训练的BERT-CRF模型,设计了多种实体抽取模型,并在相同故障语料库上进行比较。利用BERT-CRF模型进行实体抽取,所有模型均统一设置学习率为2e−5、Batch size为8,并在60个Epoch内完成训练。实验结果如表5所示。
Table 5. Model comparisons
表5. 模型比较
模型 |
Precision |
Recall |
F1 |
BERT |
88.30% |
87.25% |
87.77% |
BERT-BILSTM |
89.21% |
88.38% |
88.79% |
Bert-CRF |
90.18% |
90.91% |
89.92% |
Bert-BILSTM-CRF |
89.65% |
89.80% |
88.23% |
实验结果表明,BERT-CRF模型在复杂语境下对实体的抽取效果最佳,较其他模型显著提升了准确率和召回率。例如,对“0079机车第二空压机不打风,经检查为ZYC接触器损坏,更换ZYC接触器后使用正常”这一记录,模型准确识别出“第二空压机不打风”(故障现象)、“ZYC接触器损坏”(故障原因)及“更换ZYC接触器”(维修措施),验证了其实用性。
4.3. 数据存储
完成三元组结构化转换后,为实现对故障维修知识的高效存储与检索,需将生成的三元组导入图数据库Neo4j。Neo4j数据库的数据导入方式主要包括两种:基于Cypher语句的逐条插入和通过Import工具实现批量加载。针对非结构化数据转化后的大量三元组存储需求,本文采用Import工具完成数据的高效入库。最终构建的部分知识图谱如图4所示。
在图谱中,深蓝色代表设备型号,褐色表示故障部位,紫色代表解决措施,红色代表故障原因,而绿色表示故障现象;关系线的颜色分别为:黄色表示“现象为”关系,蓝色代表“导致”或“原因”关系(可通过深浅区分细微差别),深绿色表示“属于”关系,而粉色则对应“维修”关系。这种颜色区分不仅可以在海量数据中迅速定位和理解关键信息,还能直观地呈现系统中各要素之间的因果和归属关系。
Figure 4. Knowledge graph visualization
图4. 图谱可视化
5. 辅助决策推荐
知识图谱可以从历史故障维修记录中获取故障维修方法和故障原因等相关信息。然而,知识图谱的用途不仅限于查询数据库,本文将进一步研究链接预测任务,通过比较TransE、TransH、TransR和TransD四种嵌入算法在铁路内燃机车故障维修知识图谱上的表现,选取在MRR、MR、Hits@1、Hits@3、Hits@10等指标上表现最优的模型,作为辅助故障维修方案推荐的推理核心。
5.1. 实验过程及可视化分析
5.1.1. 实验数据预处理
基于构建好的知识图谱,利用APOC工具将实体间的关系以三元组形式展现,从Neo4j数据库中提取了所有实体与关系,导出结果如表6所示。
Table 6. Mapping table
表6. 映射表
Entity |
Relation |
Entity_relation_entity |
名称 |
Id |
名称 |
Id |
头实体id |
关系 |
尾实体id |
0079 |
1 |
原因 |
0 |
127 |
1 |
126 |
0080 |
2 |
导致 |
1 |
224 |
2 |
1 |
ZMK烧损 |
19 |
属于 |
2 |
216 |
3 |
190 |
冷却阀冷却单节漏水 |
29 |
现象为 |
3 |
209 |
0 |
200 |
… |
… |
… |
… |
… |
… |
… |
照明电路的8/24与15/22阀断路 |
151 |
维修 |
4 |
174 |
4 |
65 |
5.1.2. 实验过程与可视化分析
首先,从知识图谱中提取所有正例三元组,为三元组中的每个头实体、尾实体和对应关系分别生成初始向量表示;接着,采用随机替换法生成负样本,对每个正例随机替换头实体或尾实体,构造出与正例数量等量的错误三元组。在超参数调优方面,采用网格搜索与随机搜索相结合的策略,对关键超参数(如学习率、批尺寸、嵌入向量维度以及训练的Epoch数)进行调参,以确保模型在不同配置下均能达到稳定的性能。例如,在学习率范围[0.001, 0.01]内进行初步搜索,最终确定学习率为0.01时,模型整体表现最佳。
Figure 5. Loss function
图5. 损失函数
Figure 6. Hits@K metric
图6. Hits@K指标
Figure 7. MRR indicator
图7. MRR指标
在训练过程中,对于每种嵌入算法(TransE、TransH、TransR、TransD)均采用相同的超参数设置,包括学习率0.01、margin值4.5、Batch size16以及训练16个Epoch,并以margin-based ranking loss为目标函数,通过梯度下降等优化方法多次迭代,使正样本与负样本之间的距离差异达到最小化。
(1) 训练损失函数如图5所示。
损失曲线如图5所示,显示了模型的收敛趋势:训练集(蓝色)和验证集(橙色)损失均从3.6下降至4.4左右。第15个Epoch时,早停策略生效,验证损失保持稳定,有效防止过拟合。这图直观展示了模型由快速下降至稳定收敛的过程。
(2) Hits@K指标分析。
实验结果如图6所示,随着训练轮次增加,Hits@K指标稳步上升,其中Hits@10在早期就达到较高水平,Hits@3和Hits@1指标也持续改善,证明模型能有效将正确答案排在靠前位置。
(3) MRR指标分析
结果如图7所示,随着训练轮次的增加,MRR指标显著提升并趋于稳定,这表明模型的排序能力得到了持续优化。总体来看,这些量化结果验证了我们采用的训练策略、超参数设置以及负样本生成方法在提升模型语义匹配和排序性能方面的有效性,为后续的模型优化及实际应用提供了坚实的理论依据。
最后,训练完成后,通过MRR、Mean Rank、Hits@10和Hits@3等评价指标,对各个模型在链接预测任务上的表现进行比较评估,实验结果汇总如表7所示。
Table 7. Model comparison
表7. 模型对比
模型 |
MRR |
MR |
Hits@10 |
Hits@3 |
TransE |
0.880 |
6.111 |
0.944 |
0.917 |
TransR |
0.143 |
49.556 |
0.389 |
0.194 |
TransH |
0.813 |
12.833 |
0.917 |
0.889 |
TransD |
0.694 |
11.083 |
0.889 |
0.861 |
实验结果显示,在相同参数配置下,TransE模型在链接预测任务中表现最佳。
5.2. 推理流程
辅助故障维修方法利用TransE嵌入模型进行链接预测。整个推理流程如下。
Figure 8. Inference process
图8. 推理流程
(1) 故障描述输入:接收文本形式的故障描述,进行分词及预处理,生成与知识图谱实体同构的向量表示。
(2) 知识图谱匹配:首先在Neo4j中检索是否存在与输入描述完全匹配的历史维修记录;若无精确匹配,则计算输入描述向量与所有故障实体向量的余弦相似度,选取相似度最高的实体作为推理起点。
(3) 链接预测与候选生成:将查询格式化为“<故障描述,维修,?>”,并在TransE嵌入空间中,依据头实体向量与关系向量之和与各尾实体向量的距离差异,生成维修措施候选列表。
(4) 方案排序与输出:对候选维修方法按向量距离(或余弦相似度)进行排序;对距离分值归一化后,输出前三名推荐方案以辅助决策。推理流程如图8所示。
5.3. 案例分析
对于输入故障现象<辅发不发电,维修,?>,系统首先在Neo4j中尝试精确匹配历史记录;若未命中,则进入链接预测阶段,具体过程如下:
(1) 历史记录匹配。系统利用Neo4j的图查询功能,查找与“辅发不发电”对应的故障节点及其历史维修方案。如果找到了完整匹配的历史记录,可直接返回相应的维修方法。
(2) TransE链接预测。当精确匹配失败时,系统对故障描述进行分词和预处理,生成与知识图谱中实体同构的嵌入向量。将输入故障节点作为起点,在整个知识图谱中筛选出所有候选维修方案对应的节点。使用TransE模型计算目标故障向量与各候选维修措施向量的距离(或余弦相似度)。对计算得到的距离分值进行归一化,使得不同尺度下的距离可比,再从小到大排序,最终输出Top-3推荐方案。如图9所示,图中直观展示了连接预测的路径。
Figure 9. Link prediction path
图9. 链接预测路径
根据排序结果,系统输出如表8所示。
Table 8. Inference result
表8. 推理结果
<FAULT_PHENOMENON,Repair,?> |
TopK |
Recommended Repair Methods |
<辅发不发电,维修,?> |
1 |
更换转换开关后正常 |
2 |
更换配件后使用正常 |
3 |
更换电压调整电阻RDT后正常 |
从结果可见,“更换转换开关后正常”与输入故障向量最为接近,同时也是历史维修数据中出现频次最高的方案,因此被排在第一位;“更换配件后使用正常”与第一方案具有很高的相似度,符合实际维修逻辑;“更换电压调整电阻RDT后正常”:虽然语义匹配略逊,但依然作为备选方案具备参考价值。
这种基于知识图谱嵌入和链接预测的混合方法,不仅发掘了故障与维修方案之间的潜在语义关联,同时依托历史记录的统计信息增强了推荐的准确性,为现场维修决策提供了高效且有力的辅助支持。
6. 结论
针对铁路内燃机车维修中存在的信息孤岛和故障诊断不精准的问题,本文提出了一种基于知识图谱构建与推理的辅助决策方法。首先采用自顶向下的策略设计领域本体,并结合规则抽取和BERT-CRF模型,实现对历史维修案例中设备型号、故障部位、故障原因、故障现象及维修措施等关键信息的自动化提取,将抽取结果以三元组形式存储于Neo4j图数据库中。其次,通过对TransE、TransH、TransR与TransD四种知识图谱嵌入算法的系统对比,验证了TransE在MRR、Hits@10等评估指标上的优越性,最终以其为核心实现链接预测和方案推荐,为维修人员提供高效准确的故障维修候选方案。
本研究在知识抽取准确度等方面还有待提高,未来将进一步优化抽取算法、丰富模型训练数据,实现更精准的维修方案推荐,从而为铁路内燃机车的智能维修提供更全面的数据支撑和决策依据。
NOTES
*通讯作者。