本发明实施例涉及网络故障检测领域,特别涉及一种网络故障的模型训练、诊断预测方法、装置以及电子设备。
背景技术:
:网络故障诊断和预测是通过技术判断网络是否会发生故障及预测发生某种类型故障的概率。目前较为流行的主动型网络故障诊断和预测技术有两种。一种是通过贝叶斯网络模型进行网络故障诊断,该方法依赖于网络的拓扑结构和各结点的报警信息。另一种主动型网络故障预测方法是基于梯度提升树模型(gbdt)。这种方法首先采集网络故障症状数据和故障数据,然后使用梯度提升树分类器进行分类训练,并根据分类器对网络故障进行预测。但是,本申请的发明人发现,上述网络故障诊断和预测方案存储以下缺陷:首先,现有网络故障预测模型通常只采用故障报警数据和故障类型数据,没有考虑用户不同的网络使用习惯对网络质量的影响,以及不同的质量需求对用户满意度的影响,以至于预测结果准确度较低。其次,贝叶斯网络模型要求对网络拓扑结构进行全面的了解,并为每个用户找出所有网络链路,效率不高。并且,该方法依赖设备报警信息,只能在某些设备发出故障报警之后判断是否出现网络故障,无法在网络故障出现前进行告警。再次,采用梯度提升树分类器容易发生过拟合现象,且该模型无法对样本之外的案例进行预测。因此,该方案要求历史故障数据包含所有可能的故障场景和故障症状,否则模型将会失效。技术实现要素:本发明实施方式的目的在于提供一种网络故障的模型训练、诊断预测方法、装置以及电子设备,能够准确、高效的对网络故障进行诊断和预测。为解决上述技术问题,本发明的实施方式提供了一种网络故障的模型训练方法,包括:采集目标网络中的设备数据以及用户使用网络过程中的用户行为数据;采集用户使用所述目标网络过程中的用户投诉数据和用户体验数据;以标记网络故障的所述设备数据和所述用户行为数据作为训练样本,采用gbdt模型对网络故障进行分类训练,得到gbdt网络故障分类模型;以所述用户投诉数据和所述用户体验数据作为训练样本,采用dnn模型对网络故障进行预测训练,得到dnn网络故障预测模型;以所述gbdt网络故障分类模型和所述dnn网络故障预测模型的输出结果作为训练样本,采用fm模型进行训练,得到fm网络故障诊断预测模型。本发明的实施方式还提供了一种网络故障的诊断预测方法,基于上述任一项所述的网络故障的模型训练方法所构建的模型,包括:采集目标网络中的设备数据以及用户使用网络过程中的用户行为数据;采集用户使用所述目标网络过程中的用户投诉数据和用户体验数据;将采集的所述设备数据、所述用户行为数据输入至gbdt网络故障分类模型进行分类,将所述用户投诉数据和所述用户体验数据输入至dnn网络故障预测模型进行预测,并将分类结果和预测结果输入至fm网络故障诊断预测模型进行预测,得到网络故障的诊断预测结果。本发明的实施方式还提供了一种网络故障的模型训练装置,包括:样本数据采集模块,用于采集目标网络中的设备数据以及用户使用网络过程中的用户行为数据;采集用户使用所述目标网络过程中的用户投诉数据和用户体验数据;gbdt训练模块,用于以标记网络故障的所述设备数据和所述用户行为数据作为训练样本,采用gbdt模型对网络故障进行分类训练,得到gbdt网络故障分类模型;dnn训练模块,用于以所述用户投诉数据和所述用户体验数据作为训练样本,采用dnn模型对网络故障进行预测训练,得到dnn网络故障预测模型;fm训练模块,用于以所述gbdt网络故障分类模型和所述dnn网络故障预测模型的输出结果作为训练样本,采用fm模型进行训练,得到fm网络故障诊断预测模型。本发明的实施方式还提供了一种网络故障的诊断预测装置,基于上述任一项所述的网络故障的模型训练方法所构建的模型,包括:预测数据采集模块,用于采集目标网络中的设备数据以及用户使用网络过程中的用户行为数据;采集用户使用所述目标网络过程中的用户投诉数据和用户体验数据;诊断预测模块,用于将采集的所述设备数据、所述用户行为数据输入至gbdt网络故障分类模型进行分类,将所述用户投诉数据和所述用户体验数据输入至dnn网络故障预测模型进行预测,并将分类结果和预测结果输入至fm网络故障诊断预测模型进行预测,得到网络故障的诊断预测结果。本发明的实施方式还提供了一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的方法。本发明实施方式相对于现有技术而言,通过采集目标网络中的设备数据以及用户使用网络过程中的用户行为数据;采集用户使用目标网络过程中的用户投诉数据和用户体验数据;以标记网络故障的设备数据和用户行为数据作为训练样本,采用gbdt模型对网络故障进行分类训练,得到gbdt网络故障分类模型;以用户投诉数据和用户体验数据作为训练样本,采用dnn模型对网络故障进行预测训练,得到dnn网络故障预测模型;以gbdt网络故障分类模型和dnn网络故障预测模型的输出结果作为训练样本,采用fm模型进行训练,得到fm网络故障诊断预测模型。由于在该模型训练过程中引入了用户侧数据,即用户行为数据、用户投诉数据和用户体验数据,因此可以充分的从用户角度出发,充分考虑用于使用网络的个人习惯和用户发生较差的网络体验记录,投诉记录等方面的因素来更准确、高效的对网络故障进行诊断和预测。另外,采集目标网络中的设备数据具体为:利用网关软探针采集网关设备的属性信息和运行状态数据;利用机顶盒软探针采集机顶盒的属性信息和运行状态数据,可以更便捷的采集网络中的设备数据。另外,在网络故障的模型训练方法中,还包括:对采集的设备数据、用户行为数据、用户投诉数据和用户体验数据分别进行预处理,得到以向量表示的训练样本,从而方便进行模型训练。另外,以gbdt网络故障分类模型的输出结果作为训练样本具体为:对gbdt网络故障分类模型的所有叶节点进行one-hot编码,并将编码后的数据作为fm网络故障诊断预测模型的训练样本数据,以获得适用于fm模型训练的稀疏的输入向量。另外,以用户投诉数据和用户体验数据作为训练样本,采用dnn模型对网络故障进行预测训练,得到dnn网络故障预测模型具体为:在dnn模型中分别为用户投诉数据和用户体验数据增加1个包含k个节点的嵌入层,以将用户投诉数据和用户体验数据转化为k维的稠密型数据,k为模型超参数,从而减少高维数据带来的计算压力。附图说明一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。图1是根据本发明第一实施方式的网络故障的模型训练方法的具体流程图;图2是根据本发明第一实施方式的网络故障的模型训练结构图;图3是根据本发明第二实施方式的网络故障的诊断预测方法的具体流程图;图4是根据本发明第三实施方式的电子设备的结构示意图;图5是根据本发明第四实施方式的电子设备的结构示意图。具体实施方式为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。本发明的第一实施方式涉及一种网络故障的模型训练方法。本实施方式的核心在于采集目标网络中的设备数据以及用户使用网络过程中的用户行为数据;采集用户使用目标网络过程中的用户投诉数据和用户体验数据;以标记网络故障的设备数据和用户行为数据作为训练样本,采用gbdt模型对网络故障进行分类训练,得到gbdt网络故障分类模型;以用户投诉数据和用户体验数据作为训练样本,采用dnn模型对网络故障进行预测训练,得到dnn网络故障预测模型;以gbdt网络故障分类模型和dnn网络故障预测模型的输出结果作为训练样本,采用fm模型进行训练,得到fm网络故障诊断预测模型。下面对本实施方式的网络故障的模型训练方法的实现细节进行具体的说明,以下内容仅为方便理解提供的实现细节,并非实施本方案的必须。如图1所示,具体包括如下步骤:步骤101:采集目标网络中的设备数据以及用户使用网络过程中的用户行为数据。步骤102:采集用户使用目标网络过程中的用户投诉数据和用户体验数据。具体地,本方案设备数据主要包括设备属性数据和运行状态数据,主要利用网关软探针采集网关设备的属性数据和运行状态数据;利用机顶盒软探针采集机顶盒的属性数据和运行状态数据。其中,网关软探针通过开放服务网关协议(openservicegatewayinitiative,osgi)的应用程序接口(applicationprograminterface,api)采集网关属性和网关运行状态数据。机顶盒软探针的数据主要来源于底层播放器、网路接口和机顶盒的操作系统。通过播放器接口可以实时获取视频播放数据,通过网路接口实时抓取和分析网络报文获取网络环境数据,这两种数据主要用于反映用户使用网络过程中的用户行为数据。通过机顶盒系统提供的接口采集机顶盒的属性和机顶盒运行状态数据。此外,本方案还从客服系统采集了宽带用户的用户投诉数据和网络故障数据。表1是一部分采集到的数据示例。表1采集数据示例值得说明的是,本方案引入考虑使用用户侧的数据预测网络故障。这种做法源于两方面的考虑。首先,用户使用宽带网络的习惯不一,不同的行为习惯发生的故障类型也会不一致。因此,本方案将用户使用网络的个人习惯和用户发生较差的网络体验记录(即用户行为数据和用户体验数据)作为两个重要特征。其次,用户对网络宽带质量的评价标准不一,只有解决用户最在意的痛点问题才能真正提高用户对网络质量的满意度。因此,本方案加入了用户投诉数据,该特征包含两层信息:一是用户历史发生某类型故障的频率;二是用户对某类型故障的敏感程度。进一步地,在采集完成数据后,可对采集的上述设备数据、用户行为数据、用户投诉数据和用户体验数据分别进行预处理,得到以向量表示的训练样本。首先,对采集到的数值型数据进行概览,将空值、异常值、逻辑矛盾值进行删除;将数值型数据中的离散变量进行数字顺序编码。然后,将采集到的文本型数据利用word2vec模型进行关键词提取并生成向量表示;将网络故障数据的向量进行整合编码,转换成一维的数字向量,作为标签数据,标记发生某种故障。步骤103:以标记网络故障的设备数据和用户行为数据作为训练样本,采用gbdt模型对网络故障进行分类训练,得到gbdt网络故障分类模型。通常情况下,gbdt对输入特征的分布没有要求,可以支持低维的稀疏数据,也可以支持离散变量,且预测的准确率较高。但是,gbdt模型不支持高维的稀疏数据,也容易发生过拟合现象,泛化能力不高。因此,本方案中将该模型仅作为一种特征转换的技术,将gbdt的输出结果作为后续fm模型(步骤s105)的输入,以减少过拟合。如图2所示,本方案选择设备属性数据、设备运行状态数据和用户行为数据作为gbdt模型的输入,用来预测该用户发生网络故障的可能性。其中,这种gbdt模型训练过程:首先采集网络故障症状数据和故障类型数据,然后使用梯度提升树分类器进行分类训练,并根据分类器对网络故障进行预测。其中,故障症状数据和故障类型数据来源于一个开源架构(如redis业务数据)。因此,在该方案实施前需要在各个设备产生交互的位置部署redis框架,通过redis监听一个tcp端口或unixsocket接收客户端连接获取数据。表2给出了一部分故障症状数据和故障类型数据示例。表1数据示例故障症状故障类型ip地址接口断开路由终点距离端口不匹配路由跳数线路故障输入丢包率缓冲不足输出丢包率带宽不足接口操作协议不匹配上行延迟无故障下行延迟网关状态操作状态梯度提升树模型是一种基于决策树模型的提升(boosting)方法,该模型利用前向分步算法不断迭代,优化当前分类器,求解损失函数更小的分类器,并将过程中的弱分类器进行组合成强分类器。梯度提升树模型可以表示为:其中,x代表特征值,t(x;θm)是第m棵决策树。每一步训练决策树的目标为:即第m棵树的参数由前m-1个决策树组成的集成分类器,通过最小化损失函数来确定参数。其中,损失函数选择平方误差函数,即:l(y,f(x))=(y-f(x))2,y=(y1,…,yn)代表分类变量。因此,每一步训练决策树目标可表示为:其中rm-1(xi)=fm-1(xi)-yi为第m-1步模型的残差,根据损失函数可使用最速下降法来近似,即用负梯度近似残差:步骤104:以用户投诉数据和用户体验数据作为训练样本,采用dnn模型对网络故障进行预测训练,得到dnn网络故障预测模型。其中,用户投诉数据是高维的稀疏数据,需要利用word2vec模型提取出每条投诉的关键词,并通过词频统计得到每条投诉的向量表示;用户体验数据是一个低维的稀疏数据,通过聚合运算统计出每位用户的网络连接失败次数、视频卡顿次数、视频卡顿时长、视频花屏次数等,并生成一条向量表示。进一步地,在dnn(深度神经网络)模型中分别为用户投诉数据和用户体验数据增加1个包含k个节点的嵌入层,以将用户投诉数据和用户体验数据转化为k维的稠密型数据,该k为模型超参数。k可以设置为一个比用户投诉维度小很多的值,以减少高维数据带来的计算压力。如图2中为示意给出了一个包含3个节点的embedding层。深度神经网络(dnn)支持高维稠密数据,可以挖掘数据的深度信息,提高预测的准确率。本方案将经过嵌入层的用户投诉向量和用户体验向量作为dnn模型的输入,使用全连接网络,并设置三个隐藏层,隐藏节点个数分别为128、64和32个,激活函数选择为线性整流函数(relu),并通过反向传播进行模型训练。步骤105:以gbdt网络故障分类模型和dnn网络故障预测模型的输出结果作为训练样本,采用fm(因子分解机)模型进行训练,得到fm网络故障诊断预测模型。具体地,在以gbdt网络故障分类模型的输出结果作为训练样本时,可先对gbdt网络故障分类模型的所有叶节点进行one-hot编码,然后以编码后的数据作为fm网络故障诊断预测模型的训练样本数据。fm模型支持非线性分布和任何形式的输入,其最大的优势是支持稀疏数据。gbdt和dnn模型都容易发生过拟合问题,本方案将训练好的gbdt模型叶节点进行one-hot编码获得稀疏的输入向量,将dnn模型的最后一个隐藏层作为另一个输入向量,采用fm模型对其进行融合并交叉,充分挖掘用户信息和设备信息。本方案可采用随机梯度下降算法(sgd)求解fm模型。与现有技术相比,本实施方式通过采集目标网络中的设备数据以及用户使用网络过程中的用户行为数据;采集用户使用目标网络过程中的用户投诉数据和用户体验数据;以标记网络故障的设备数据和用户行为数据作为训练样本,采用gbdt模型对网络故障进行分类训练,得到gbdt网络故障分类模型;以用户投诉数据和用户体验数据作为训练样本,采用dnn模型对网络故障进行预测训练,得到dnn网络故障预测模型;以gbdt网络故障分类模型和dnn网络故障预测模型的输出结果作为训练样本,采用fm模型进行训练,得到fm网络故障诊断预测模型。由于在该模型训练过程中引入了用户侧数据,即用户行为数据、用户投诉数据和用户体验数据,因此可以充分的从用户角度出发,充分考虑用于使用网络的个人习惯和用户发生较差的网络体验记录,投诉记录等方面的因素来更准确、高效的对网络故障进行诊断和预测。本发明的第二实施方式涉及一种网络故障的诊断预测方法。其核心方式是基于如图1所示的fm网络故障诊断预测模型(dnn+gbdt+fm模型),对网络故障进行诊断预测。如图3所示,具体方法如下:s301:采集目标网络中的设备数据以及用户使用网络过程中的用户行为数据。s302:采集用户使用目标网络过程中的用户投诉数据和用户体验数据。s303:将采集的设备数据、用户行为数据输入至gbdt网络故障分类模型进行分类,将用户投诉数据和用户体验数据输入至dnn网络故障预测模型进行预测,并将分类结果和预测结果输入至fm网络故障诊断预测模型进行预测,得到网络故障的诊断预测结果。本实施例的具体执行过程可参见第一实施方式中各模型的训练过程,在此不做赘述。上面各种方法的步骤划分,只是为了描述清楚,实现时可以合并为一个步骤或者对某些步骤进行拆分,分解为多个步骤,只要包括相同的逻辑关系,都在本专利的保护范围内;对算法中或者流程中添加无关紧要的修改或者引入无关紧要的设计,但不改变其算法和流程的核心设计都在该专利的保护范围内。本发明第三实施方式涉及一种电子设备,如图4所示,包括至少一个处理器402;以及,与至少一个处理器402通信连接的存储器401;其中,存储器401存储有可被至少一个处理器402执行的指令,指令被至少一个处理器402执行,以使至少一个处理器202能够执行上述网络故障的模型训练方法。其中,存储器401和处理器402采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器402和存储器401的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器402处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器402。处理器402负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器401可以被用于存储处理器402在执行操作时所使用的数据。本发明第四实施方式涉及一种电子设备,如图5所示,包括至少一个处理器502;以及,与至少一个处理器502通信连接的存储器501;其中,存储器501存储有可被至少一个处理器502执行的指令,指令被至少一个处理器502执行,以使至少一个处理器202能够执行上述网络故障的模型训练方法。其中,存储器501和处理器502采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器502和存储器501的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器502处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器502。处理器502负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器501可以被用于存储处理器502在执行操作时所使用的数据。本发明第五实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述任一方法实施例。即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。当前第1页12