基于知识图谱的5G网络故障分析方法
2022-07-18谷奉锦贺楚闳潘庆亚朱晓荣
谷奉锦,贺楚闳,潘庆亚,王 晔,朱晓荣*
(1.南京邮电大学 江苏省无线通信重点实验室,江苏 南京 210003;2.中国移动通信集团江苏有限公司,江苏 南京 210003)
0 引言
随着移动通信网络的发展,未来网络将不是单一存在或仅使用单一技术,而是多种技术的共存互补和共同发展。在这种网络异构化、密集化的发展趋向下,如何对网络故障进行高效的诊断与分析成为一个巨大挑战。传统的故障管理完全基于操作人员的专业知识进行,但实际上,专业知识是有限的以及通过人工维护是困难的。一方面,面对各种网络故障,网络诊断程序需要非常短的响应时间;另一方面,网络规模和复杂性的增加以及人工操作员有限的处理能力,将使网络故障的诊断不可能在没有自动化的情况下有效地执行。此外,由于现有系统的缺陷,运营商很难提前预测网络可能产生哪些故障。在移动通信网络环境下,故障会不时地发生或产生级联效应,因此,如何对网络故障进行及时准确的诊断分析具有重要的研究意义。
传统运维人员基于经验,根据故障的基本信息和故障症状,逐步分析出故障的原因及故障的解决措施。但如果单纯基于经验与已知故障信息无法分析出故障原因等措施,就需要增加诊断措施,甚至是查阅相关的材料(如故障分析案例等)来分析故障并找到解决措施[1]。
近年来,随着人工智能技术(Artificial Intelligence,AI)和大数据挖掘的发展,越来越多的基于机器学习(Machine Learning,ML)的智能故障诊断方法受到科研工作者的的喜爱[2]。目前,基于机器学习的网络故障诊断技术得到了广泛应用,其中应用最广泛的主要有基于支持向量机(Support Vector Machines,SVM)的故障诊断方法、基于人工神经网络(Artifical Neural Network,ANN)的故障诊断方法[3]以及基于深度学习(Deep Learning,DL)的网络故障诊断方法等[4]。基于机器学习进行故障诊断的方法可以充分利用大数据对可能发生的故障模式以及故障原因等做出诊断,但纯粹基于数据的网络故障诊断方法会有两个缺陷,首先是可解释性,传统的基于机器学习和深度学习的模型对于用户而言是一个黑匣子,无法向用户解释最终的故障诊断结果,降低了其在实际工程中的应用;其次,它不能有效利用现有的先验知识,如故障诊断记录等非结构化的知识,导致一些数据资源的浪费[5]。
知识图谱概念自2012年被谷歌提出后引起了业界广泛关注[6],近年来在很多领域有了广泛的应用[7]。知识图谱可以把大量的信息、数据和连接关系汇集成知识,让信息资源能够更方便计算、理解和评价,可以更有效地表达、管理组织和利用现有的海量异构且动态的大数据,使网络更加智能,与人类的认知思维更加贴合[8]。知识图谱近年来在很多领域有了广泛的应用,文献[9]提出调度知识图谱的详细构建方法,并详细介绍了构建的电力系统调度知识图谱,讨论了知识图谱在实际电力系统调度场景中的好处。文献[10]为了解决电力系统调度知识繁杂,且对于调度决策的实时性要求较高等问题,提出一种基于知识图谱的配电网故障辅助决策方法,充分利用现有专家经验、故障案例和配电网调度规则等先验知识,构建了同时包含配电网调度、配电网故障处理、配电网业务流程等知识的配电网故障调度知识图谱,辅助电网工作人员快速响应处理电网调度出现的故障。近年来,知识图谱还被广泛运用在医疗、教育以及故障诊断等领域。文献[11]通过分析中医诊疗过程,提取中医核心概念,构建本体层。使用深度学习从非结构化数据中提取实体及其关系以构建中医知识图谱,构建了一个基于知识图谱的端到端平台 TCMKG,来提供知识检索。文献[12]运用知识图谱和机器学习算法对大量实验室检查数据和实验诊断数据进行训练和分析,建立一个由知识和数据双驱动的,兼具鲁棒性和可解释性的检验AI系统,其核心功能是准确诊断疾病并提供合理的解释。在通信故障诊断领域,也广泛应用知识图谱技术,文献[13-14]将工作人员日常维护日志以及相关的操作经验等非结构化的知识结构化,通过知识图谱相关技术构建了基于知识图谱的智能故障诊断架构,通过自动关联告警信息、自动匹配设备信息、智能获取业务影响范围等手段,实现了通信故障的快速发现与准确定位。文献[15]提出了一种基于知识图谱的地铁故障推荐模型,该模型可以辅助地铁维修工作人员更快更准确地响应地铁可能发生的故障,提高了工作效率。文献[4]充分利用已有的先验知识,构建了一种面向飞机电源系统故障诊断的知识图谱,应用其进行飞机电源系统故障诊断与排查,使整个过程安全且高效。文献[1]提出了一种基于知识图谱的智能故障诊断方法,充分利用电信网络领域的专家经验构建电信领域知识图谱,并运用知识推理等技术,进行智能网络故障诊断,辅助解决网络运维方面的的问题。文献[16]构建了用于故障诊断和分析的知识图谱系统,使得故障诊断和分析效率更加高效、便捷。目前各种利用深度学习、神经网络等工具与知识图谱相结合,以此来解决实际问题的方法逐渐变成主流[17-18]。
因此为了降低运维门槛,提升网络运维效率,本文设计了一种基于知识图谱与机器学习的网络故障智能分析方法,利用专家经验及故障案例等知识搭建网络故障知识图谱,应用知识图谱进行智能化故障分析。首先利用已有的专家知识,构建5G网络故障知识图谱本体,利用现有数据通过知识抽取、知识融合等步骤搭建网络故障知识图谱;其次利用机器学习方法进行网络故障诊断,将数据转化为知识,针对不同的诊断问题匹配不同的机器学习算法,提高故障诊断的准确性;最后应用知识图谱提出一种基于知识和数据双驱动的网络故障分析方法,并提出了一种基于知识子图匹配的网络故障知识检索方法。
1 系统模型
1.1 知识图谱应用架构
如图1所示,网络故障领域知识图谱应用架构覆盖数据层、构建层以及应用层等3个等级。数据层负责获取数据并解析,构建层是整个架构的核心层,首先根据网络故障诊断领域专家知识以及知识图谱应用需求构建本体,确定图谱中所包含的实体与关系类型。
图1 网络故障领域知识图谱应用架构示意图
本体构建结束后要对现有的数据进行知识抽取,知识抽取包括实体抽取与关系抽取两部分。对于从不同数据来源抽取的知识,需要进行知识融合,以此来减少知识的冗余。完成知识抽取与知识融合之后,将知识以三元组的形式存放在Neo4j图数据库中,搭建完整的面向网络故障诊断的知识图谱。在上述工作基础上,基于搭建好的网络故障知识图谱,结合机器学习进行智能化网络故障诊断与分析。
1.2 本体构建
知识图谱从宏观上可以分为两大类,通用知识图谱和行业(领域)知识图谱。网络故障知识图谱是针对故障诊断领域构建的行业知识图谱,采用自顶向下的设计方式。首先根据专家知识构建图谱的本体,本文选择使用专家知识人工构建本体。构建本体包括规定实体类型、关系类型和关系类型的头尾实体类型。
在网络故障领域定义以<实体-属性-属性值>和<概念-关系-概念>为核心的知识图谱。根据专家经验构建了网络故障知识图谱上层本体,如图2所示,包含“故障模式”“故障原因”“故障解决方案”“故障可能引发事故”“故障发生位置”等概念及其相互之间的关系。
图2 网络故障知识图谱本体
1.3 知识抽取及知识融合
针对网络故障知识图谱而言,数据来源主要分为结构化数据、半结构化数据和非结构化数据3种类型,如图3所示。
图3 知识抽取数据来源
故障数据库中包含的数据为结构化数据,对于结构化的数据知识抽取较简单,可以根据数据源与本体进行一一映射直接抽取。对于员工日志、网络故障案例等半结构化或非结构化数据需要根据其具体结构和内容,设计相应的抽取算法进行知识抽取,一般有基于规则模板的算法、基于机器学习的算法和基于神经网络的算法。
传统的知识抽取方法是以一种流水线的方式进行的,即将实体抽取和关系抽取分步执行,即首先利用命名实体识别技术来抽取实体,然后对这些实体间的关系进行识别,进而生成三元组。由于两次抽取操作分步进行,流水线方法存在误差传递、信息冗余与忽视两个子任务间联系等问题。本系统采用实体关系联合抽取算法,使用网络故障领域文本语句预训练语言模型,同时抽取实体及其之间关系。通过该联合抽取模型,输入一个句子,可直接得到<实体-关系-实体>三元组。基于故障诊断方面的知识抽取实例如图4所示。
图4 知识抽取实例
从不同的数据来源中所抽取到的知识,会出现知识重复和冗余的问题,知识融合过程是通过实体对齐、属性对齐等技术来消除冗余。
1.4 基于Neo4j的知识图谱构建
图数据库能够直观地对数据进行管理,并能够实现数据之间的关系链接,Neo4j是图数据库中比较典型的代表。
Neo4j图数据库具有较强的扩展能力,可以与多种编程语言和开发平台相结合,如Java和Python等。同时Neo4j采用的图存储结构具有自由邻接的特点,因此具有比较强的关系处理能力,同时可以很好地实时更新数据。因此本文选择Neo4j图数据库作为搭建及展示知识图谱的载体。本文构建的网络故障知识图谱部分结构如图5所示。
图5 网络故障知识图谱部分结构图
2 基于知识和数据双驱动的网络故障分析
2.1 整体架构
在构建的网络故障知识图谱的基础上,本文提出了一种基于知识和数据双驱动的网络故障分析方法,该方法利用现有数据训练机器学习算法,进行网络故障诊断,通过诊断是否发生故障及故障原因,将已有的数据转化为知识的形式,将诊断结果作为已知条件输入到知识图谱中,利用知识检索与知识推理进行网络故障分析,并最终通过知识子图的形式输出故障分析结果,整体的系统流程如图6所示。
图6 系统流程图
2.2 数据预处理
本文对机器学习模型训练所使用的实验数据为在南京某区域采集的真实数据,数据集经专业人员分析整理。数据提供了12 000条带有标签的故障数据,其中主要包含了RSRP、RSRQ、RSSI和SINR等14项衡量指标,具体如表1所示。
表1 数据所包含主要衡量指标
数据预处理主要包括两部分:标准化和特征筛选。
(1) 标准化
假设给定了k个指标X1,X2,…,Xk,其中
Xi={x1,x2,…,xn},
(1)
(2)
其中,k=14,n=1,2,…,12 000。
(2) 特征选择
本文利用XGboost算法统计各个KPI对系统模型的权重,权重越大证明其对最终决策结果影响越大。经计算,权重具体值如表2所示。
表2 指标权重
从表2可以看出,不同的指标在模型中起到的作用不同。在故障诊断模型中,重要度较高的5个指标为RSRP0、SINR、RSRP1、RSRP_1和SINR0。
得到具体权重值并进行排序后,运用XGboost进行测试,发现当保留8个特征值时,此时模型的正确率趋于稳定,具体特征值个数与结果准确率关系如图7所示。
图7 特征值数量与准确率关系
2.3 机器学习算法对比
本文旨在针对不同的故障诊断问题匹配不同的机器学习算法,在检测到发生故障且确定故障类型后,对不同的故障类型使用不同的机器学习算法诊断对应的故障原因。本文以弱覆盖以及过覆盖两种故障类型为例,具体诊断其故障发生原因。
在SEC储量评估变化原因分析中,采油厂具有与勘探开发工作相结合对评估单元进行精细分析的优势。通常,采油厂在一年或者一个阶段的生产过程中,开展了大量的非投资性开发调整工作,如注采调整(调配)、注入质量提升、转注等。这些工作影响了开发形势也直接影响到SEC储量评估结果,但是这些开发行为在评估师评估中及高层评估分析中不易掌握和分析到。
针对同一问题往往有多种模型可以解决,但每种模型都有着自身的特点和适合解决的问题,本文在相同的数据集基础上,训练对比了逻辑回归、支持向量机、线性判别分析、朴素贝叶斯、K近邻以及决策树6种机器学习算法的准确度,最终为当前问题选择最佳的机器学习算法模型。
通过表3可以看出,不同的问题有各自最适合的机器学习算法。对于弱覆盖原因诊断问题而言,K近邻算法的准确度最高为99.1%,对于过覆盖原因诊断问题而言,最合适的算法为线性判别分析算法。
表3 6种机器学习算法准确度对比
2.4 基于子图匹配的知识检索方法
本文提出一种基于子图匹配的知识检索方法,应用故障数据在通过网络故障诊断模型后,输出网络故障类型及故障原因,在知识图谱中检索与相关结果有关的所有信息。具体流程如图8所示。
图8 基于子图匹配的知识检索流程
步骤1通过机器学习算法,将已有的数据信息输出为知识信息,将其作为已知条件输入至网络故障知识图谱,采用实体识别技术进行核心实体识别。
步骤2判断故障知识图谱中是否包含该实体。
步骤3从核心实体出发,在知识图谱中搜索与核心实体距离为1的实体。
步骤4输出包含核心实体及与其距离为1的所有实体及关系的知识图谱子图。
3 仿真结果分析
通过对本文故障诊断模型与传统故障诊断模型行对比分析,分析比较两种系统模型在故障诊断数据集上的准确度,结果如表4所示。
表4 不同故障诊断模型准确性比较
由结果可见,相比于传统的单纯基于一种机器学习算法的方法,通过细化诊断问题为不同的诊断问题匹配不同的机器学习算法准确率有较大提升。
图9为以弱覆盖为核心实体输出的知识图谱子图,从图中可清楚看到对于故障的描述(弱覆盖是基站所需要覆盖面积大,基站间距过大,或者建筑物遮挡而导致边界区域信号较弱;弱覆盖一般都是在Rxlev<-90 dBm)及故障解决方案(增加基站建设)等信息。
图9 以弱覆盖为核心实体的知识图谱子图
4 结束语
本文提出了一种基于知识和数据双驱动的网络故障分析方法。通过本体构建、知识抽取以及知识融合等技术利用Neo4j图数据库搭建面向网络故障诊断的知识图谱;结合机器学习进行智能化网络故障诊断与分析;将网络故障诊断问题拆分成不同子问题,对比不同机器学习算法的准确性,为不同诊断问题匹配准确度最高的机器学习算法;利用Neo4j图数据库提出基于子图匹配的知识检索方法,将网络分析结果以知识图谱子图的形式展示。本方法可以利用历史故障分析案例辅助工程师更加快捷精准探查故障问题根源,并更快指定对应的改善措施,同时通过知识图谱平台进行学习,可以提升信息探索速率,加速知识和经验的沉淀。
在今后的工作中,将加入更多的数据来源,构建更大规格的网络故障知识图谱,辅助提升网络故障分析效率。此外针对网络故障诊断问题,改进现有机器学习算法,从而更加精确地进行网络故障诊断。