基于Word2vec的监控告警信息向量化模型建立方法与流程

文档序号:32253898发布日期:2022-11-19 03:21阅读:123来源:国知局
基于Word2vec的监控告警信息向量化模型建立方法与流程
基于word2vec的监控告警信息向量化模型建立方法
技术领域
1.本发明涉及电网运维管理技术领域,具体地说,涉及基于word2vec的监控告警信息向量化模型建立方法。


背景技术:

2.电网运行状态监控是一项确保电网安全稳定运行的核心业务工作,主要是监视所辖范围设备的遥信、遥测、及异常告警信息,按规定进行确认和复归等生产工作。目前主网调控每天面对近万条监控信息,监屏压力很大,在异常、故障突发时大量告警信息集中涌现,与故障无关的信号在短时间内将有价值的信号淹没,若完全依靠调度员对信号进行分辨、甄别,事件分析难度较大,且极易造成漏监视,对电网安全运行存在较大风险。
3.目前,随着网络科技的发展,逐渐发展出基于深度学习的电网监控信息事件化智能辨识技术。基于历史电网告警事件特征库,通过对事件相关的告警信息采用深度学习,结合数据关联规则算法、推理算法等智能化的手段进行知识推理,可以从海量告警信息中及时、准确、自动地辨识出事件结果。
4.采用深度学习对电网告警事件进行表征学习、提取特征,建立数据模型并用于分析新数据的方法,其实质是通过构建多隐层的模型和海量训练数据(可为无标签数据),来学习更有用的特征,从而最终提升分类或预测的准确性。“深度模型”是手段,“特征学习”是目的。深度学习技术作为机器学习的一个发展分支,相比于传统的机器学习模型,其可以充分学习监控大数据样本特征,减少人工知识库建立和故障识别的工作量。其中,word2vec模型是用于训练词向量的工具,提供了一种使用分布式向量表示文本的方法,是一种无监督模型。
5.然而,若要通过深度学习实现从监控信息中辨识电网事件,首先海量监控告警信息为nlp在电网监控领域的应用提供了天然语料,但是要想使计算机能够理解文本信息中蕴含的深层语义,就必须将监控告警信息等文本信息转换为数字信息。鉴于此,我们提出了基于word2vec的监控告警信息向量化模型建立方法。


技术实现要素:

6.本发明的目的在于提供基于word2vec的监控告警信息向量化模型建立方法,以解决上述背景技术中提出的问题。
7.为实现上述技术问题的解决,本发明的目的之一在于,提供了基于word2vec的监控告警信息向量化模型建立方法,包括如下步骤:
8.s1、构建word2vec模型并进行模型训练,实现使用分布式向量表示文本;
9.s2、获取历史监控告警信息,采用word2vec模型对监控告警信息进行向量化处理:
10.s2.1、分词:梳理历史监控告警信息中的线路名称融入知识库;即采用分词工具的精确模式进行初始分词,生成按时间排序的由一系列中文词组组成的监控告警信息;
11.s2.2、去停用词:剔除停用词表中无意义的字符,实现数据清洗以提高后期的训练
效果;
12.s2.3、向量化建模:利用word2vec模型对监控告警信息进行无监督训练,生成蕴含语义特征的高维词向量;
13.s2.4、平均化处理:利用短文本特征表达方式,将单条监控告警信息中的所有词向量求平均值,得到监控告警信息句向量,用于表达信息语义。
14.作为本技术方案的进一步改进,所述s1中,word2vec模型主要分为cbow模型和skip-gram模型两种;两种模型均包含输入层、投影层/隐藏层和输出层;其中:
15.cbow模型的输入是周围词的词向量,输出是当前词的词向量,即通过周围词来预测当前词;
16.skip-gram模型则与cbow模型相反,其输入是当前词的词向量,输出是周围词的词向量,即通过当前词预测周围词;
17.同时,cbow模型和skip-gram模型均可通过层次softmax、negative sampling负采样的方式来进行训练。
18.作为本技术方案的进一步改进,所述cbow模型的具体构建及训练方法包括如下步骤:
19.step1、构建cbow模型的模型网络图,按输入、投影及输出三层来分层描述其网络结构,并构建输出层的二叉霍夫曼树;
20.step2、基于层次softmax来训练模型:基于前述的二叉霍夫曼树,softmax概率计算沿着树形结构从根节点一直走到叶子节点的词即可;
21.step3、基于negative sampling来训练模型:用于解决训练样本里的中心词是一个很生僻的词导致其在霍夫曼树中训练效率低的问题。
22.作为本技术方案的进一步改进,所述步骤step1中,cbow模型的网络结构具体描述为:
23.输入层input:即文本中预先设定的窗口中包含的词向量,这个词向量是以one-hot编码表示的(即对于每个输入的词,其表示方式是one-hot);
24.投影层projection:可以理解为隐藏层,即直接将输入的向量进行累加求和(具体为先进行线性变换,然后求加和);
25.输出层output:输出层对应一个二叉树,其以文本中出现过的词当做叶子节点,以各词出现的次数当做权值,来构建霍夫曼huffman树。
26.作为本技术方案的进一步改进,所述步骤step2中,在word2vec中,沿着二叉霍夫曼树树形结构从根节点一直走到叶子节点的softmax概率计算采用逻辑回归的方法:即规定沿着左子树走就是负类(霍夫曼树编码1),沿着右子树走就是正类(霍夫曼树编码0);其中,判别正类和负类的方法使用sigmoid函数,即:
[0027][0028]
其中,x,w是当前内部节点的词向量,而θ则是需要从训练样本求出的逻辑回归的模型参数;则信息被划分为负例的概率为p(-)=1-p(+),从而在节点的内部,需要看到的子树树形就是往左还是往右,即是判断p(+)、p(-)哪一个概率大;
[0029]
进而,判断p(+)、p(-)哪一个概率大即基于层次softmax的word2vec本身,找到合
适的所有节点的词向量和所有内部节点θ,使训练样本达到最大似然。
[0030]
作为本技术方案的进一步改进,所述步骤step2中,基于层次softmax训练模型的过程中,使训练样本达到最大似然的具体算法如下:
[0031]
假设需要最大化的函数为:
[0032][0033]
则先定义以下几个变量,有助于我们后期公式的计算:
[0034]
定义输入的词为w(最终需要求得的词);输入层词向量求和平均后的霍夫曼树根节点词向量为xw;从根节点到w所在的叶子节点,包含的节点总数为lw;w在霍夫曼树中从根节点开始,经过的第i个节点表示为对应的霍夫曼编码为其中i=2,3,...,lw;该节点对应的模型参数表示为其中i=1,2,...,l
w-1;
[0035]
其中,定义w经过的霍夫曼树某一个节点j的逻辑回归概率为其表达式为:
[0036][0037]
那么对于某一个目标输出词w,其最大似然为:
[0038][0039]
在word2vec中,由于使用的是随机梯度上升法,所以并没有把所有样本的似然乘起来得到真正的训练集最大似然,仅仅每次只用一个样本更新梯度,这样做的目的是减少梯度计算量;进而可以得到w的对数似然函数l如下:
[0040][0041]
使用梯度上升法求解模型的梯度,从而得到模型中w词向量和内部节点的模型参数θ,其中,使用梯度上升法求解模型的梯度为:
[0042][0043]
同样的方法,可以求出xw的梯度表达式如下:
[0044][0045]
基于梯度表达式,即可用梯度上升法进行迭代来一步步的求解所需的所有的参数。
[0046]
作为本技术方案的进一步改进,所述步骤step3中,在基于negative sampling来训练模型之前,需要预先对负例词进行采样,具体采样方法为:
[0047]
a、计算每个词的未归一化分布值(对于词来说即词频);
[0048]
b、把上面计算的值加和,利用这个和进行概率归一化;
[0049]
c、引入类别或词的一定顺序,比如词的下标;
[0050]
d、计算累积分布函数cdf,即把每个点上的值修改为其前面所有类别或词的归一化概率之和;
[0051]
e、设有左端点为0、右端点为1的线段,将线段划分为m段,0对应左端点,即上面的概率0,m对应右端点,即上面的概率1,与上面的线段做一次映射,那么就知道0-m中任意整数所对应的字符了;
[0052]
f、在采样的时候,只需要从m个位置中采样出neg个位置就行,此时采样到的每一个位置对应到的线段所属的词即所需的负例词。
[0053]
作为本技术方案的进一步改进,所述步骤step3中,基于negative sampling来训练模型即通过一个正例和neg个负例进行二元逻辑回归,具体方法为:
[0054]
negative sampling同样是采用了二元逻辑回归来求解模型参数,首先通过负采样得到neg个负例(context(w),wi),并将正例定义为w0(此步骤是为了统一描述);
[0055]
在逻辑回归中,我们的正例应该期望满足:
[0056][0057]
我们的负例期望满足:
[0058][0059]
假设期望可以最大化下式:
[0060][0061]
故此时模型的对数似然函数为:
[0062][0063]
进而,采用和层次softmax类似的随机梯度上升法,仅仅每次只用一个样本更新梯度,来进行迭代更新得到所需的参数;
[0064]
则首先计算的梯度:
[0065][0066]
再采用同样的方法求出的梯度:
[0067][0068]
基于梯度表达式,即可用梯度上升法进行迭代来一步步的求解所需的所有的参数。
[0069]
作为本技术方案的进一步改进,所述skip-gram模型和cbow模型的思路是反着来的,即输入是特定的一个词的词向量,输出层是一个softmax回归分类器,它的每个结点将会输出一个概率在0-1之间的值,这些所有输出层神经元结点的概率之和为1;其构建方法为:
[0070]
输入特定词,输出softmax概率排前n的n个词,其对应的skip-gram神经网络模型
输入层有1个神经元,输出层有词汇表若干大小个神经元;
[0071]
隐藏层的神经元个数可以预先自行指定;
[0072]
再通过dnn的反向传播算法,可以求出dnn模型的参数,同时得到所有的词对应的词向量;
[0073]
进而当有新的需求,要求出某1个词对应的最可能的n个上下文词时,通过一次dnn前向传播算法得到概率大小排前n的softmax概率对应的神经元所对应的词即可;
[0074]
另外,skip-gram模型的训练方式也是包括但不限于层次softmax以及negative sampling,采用基于层次softmax或基于negative sampling方式来对skip-gram模型进行训练的操作方式与cbow模型类似。
[0075]
本发明的目的之二在于,提供了一种方法运行平台装置,包括处理器、存储器以及存储在存储器中并在处理器上运行的计算机程序,处理器用于执行计算机程序时实现上述的基于word2vec的监控告警信息向量化模型建立方法的步骤。
[0076]
本发明的目的之三在于,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的基于word2vec的监控告警信息向量化模型建立方法的步骤。
[0077]
与现有技术相比,本发明的有益效果:
[0078]
1.该基于word2vec的监控告警信息向量化模型建立方法中,与传统的词向量空间模型相比,其使用word2vec表示词向量可以解决传统模型的高维稀疏特征问题,还可以将上下文语义特征引入模型中,有助于短文本的分类;
[0079]
2.该基于word2vec的监控告警信息向量化模型建立方法中,采用nlp中的word2vec模型对监控告警信息进行向量化建模,可以为后续事件的识别模型提供输入基础,可有效支撑变电站巡视工作的各项电网运行数据的巡检和辨识作为巡视过程的数据分析支撑,可支撑大量的变电站在线智能巡检工作的问题发现及分析效率,进而辅助分析异常及影响,提升巡视效率,为调空人员工作减负,提升对电网状态实时掌控能力,提高电网的运行健康度。
附图说明
[0080]
图1为本发明中示例性的整体方法流程图;
[0081]
图2为本发明中示例性的cbow模型的网络图;
[0082]
图3为本发明中示例性的霍夫曼树的结构图;
[0083]
图4为本发明中示例性的skip-gram模型的网络图;
[0084]
图5为本发明中示例性的电子计算机平台装置结构图。
具体实施方式
[0085]
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0086]
实施例1
[0087]
如图1-图5所示,本实施例提供了基于word2vec的监控告警信息向量化模型建立方法,包括如下步骤:
[0088]
s1、构建word2vec模型并进行模型训练,实现使用分布式向量表示文本;
[0089]
s2、获取历史监控告警信息,采用word2vec模型对监控告警信息进行向量化处理:
[0090]
s2.1、分词:梳理历史监控告警信息中的线路名称融入知识库;即采用分词工具的精确模式进行初始分词,生成按时间排序的由一系列中文词组组成的监控告警信息;
[0091]
s2.2、去停用词:剔除停用词表中无意义的字符,实现数据清洗以提高后期的训练效果;
[0092]
s2.3、向量化建模:利用word2vec模型对监控告警信息进行无监督训练,生成蕴含语义特征的高维词向量;
[0093]
s2.4、平均化处理:利用短文本特征表达方式,将单条监控告警信息中的所有词向量求平均值,得到监控告警信息句向量,用于表达信息语义。
[0094]
本实施例中,s1中,word2vec模型主要分为cbow模型和skip-gram模型两种;两种模型均包含输入层、投影层/隐藏层和输出层;其中:
[0095]
cbow模型的输入是周围词的词向量,输出是当前词的词向量,即通过周围词来预测当前词;
[0096]
skip-gram模型则与cbow模型相反,其输入是当前词的词向量,输出是周围词的词向量,即通过当前词预测周围词;
[0097]
同时,cbow模型和skip-gram模型均可通过层次softmax、negative sampling负采样的方式来进行训练;其中,cbow模型的训练效率更加高效。
[0098]
其中,使用cbow模型时,如学习已经预处理的监控告警信息
“××
变244限时速断保护动作”,当模型的输出为“速断”时,则以其前后词的one-hot编码表示为输入,以“速断”的one-hot编码表示为输出进行训练迭代,最终得到每个词的分布式词向量表示。
[0099]
本实施例中,cbow模型的具体构建及训练方法包括如下步骤:
[0100]
step1、构建cbow模型的模型网络图,按输入、投影及输出三层来分层描述其网络结构,并构建输出层的二叉霍夫曼树;
[0101]
step2、基于层次softmax来训练模型:基于前述的二叉霍夫曼树,softmax概率计算沿着树形结构从根节点一直走到叶子节点的词即可;
[0102]
step3、基于negative sampling来训练模型:用于解决训练样本里的中心词是一个很生僻的词导致其在霍夫曼树中训练效率低的问题。
[0103]
本实施例中,步骤step1中,如图2所示,cbow模型的网络结构具体描述为:
[0104]
输入层input:即文本中预先设定的窗口中包含的词向量,这个词向量是以one-hot编码表示的(即对于每个输入的词,其表示方式是one-hot);
[0105]
投影层projection:可以理解为隐藏层,即直接将输入的向量进行累加求和(具体为先进行线性变换,然后求加和);
[0106]
输出层output:输出层对应一个二叉树,其以文本中出现过的词当做叶子节点,以各词出现的次数当做权值,来构建霍夫曼huffman树。
[0107]
具体地,霍夫曼huffman树最终的w(t)实际也是一个one-hot表示,对于cbow模型,它是一个中心值。
[0108]
其中,使用huffman树的好处在于:首先,由于是二叉树,之前计算量为o(n),现在变成了o(log(n));第二,由于使用霍夫曼树使高频的词靠近树根,这样高频词需要更少的时间就会被找到。
[0109]
本实施例中,如图3所示,步骤step2中,在word2vec中,沿着二叉霍夫曼树树形结构从根节点一直走到叶子节点的softmax概率计算采用逻辑回归的方法:即规定沿着左子树走就是负类(霍夫曼树编码1),沿着右子树走就是正类(霍夫曼树编码0);其中,判别正类和负类的方法使用sigmoid函数,即:
[0110][0111]
其中,x,w是当前内部节点的词向量,而θ则是需要从训练样本求出的逻辑回归的模型参数;则信息被划分为负例的概率为p(-)=1-p(+),从而在节点的内部,需要看到的子树树形就是往左还是往右,即是判断p(+)、p(-)哪一个概率大;
[0112]
进而,判断p(+)、p(-)哪一个概率大即基于层次softmax的word2vec本身,找到合适的所有节点的词向量和所有内部节点θ,使训练样本达到最大似然。
[0113]
进一步地,步骤step2中,基于层次softmax训练模型的过程中,使训练样本达到最大似然的具体算法如下:
[0114]
假设需要最大化的函数为:
[0115][0116]
则先定义以下几个变量,有助于我们后期公式的计算:
[0117]
定义输入的词为w(最终需要求得的词);输入层词向量求和平均后的霍夫曼树根节点词向量为xw;从根节点到w所在的叶子节点,包含的节点总数为lw;w在霍夫曼树中从根节点开始,经过的第i个节点表示为对应的霍夫曼编码为其中i=2,3,...,lw;该节点对应的模型参数表示为其中i=1,2,...,l
w-1;
[0118]
其中,定义w经过的霍夫曼树某一个节点j的逻辑回归概率为其表达式为:
[0119][0120]
那么对于某一个目标输出词w,其最大似然为:
[0121][0122]
在word2vec中,由于使用的是随机梯度上升法,所以并没有把所有样本的似然乘起来得到真正的训练集最大似然,仅仅每次只用一个样本更新梯度,这样做的目的是减少梯度计算量;进而可以得到w的对数似然函数l如下:
[0123]
[0124]
使用梯度上升法求解模型的梯度,从而得到模型中w词向量和内部节点的模型参数θ,其中,使用梯度上升法求解模型的梯度为:
[0125][0126]
其推导过程可以参考逻辑回归的推导,逻辑回归的推导方式为现有的常规算法,在此不做赘述;
[0127]
同样的方法,可以求出xw的梯度表达式如下:
[0128][0129]
基于梯度表达式,即可用梯度上升法进行迭代来一步步的求解所需的所有的参数。
[0130]
另外,值得说明的是,cbow和传统的bp是存在很大区别的:
[0131]
(1)首先是从输入层到隐藏层,cbow主要是进行线性变换,然后再进行简单的求和,没有进行非线性变换;而传统的bp是先线性变换,然后再进行非线性激活函数进行变换(如sigmoid函数);
[0132]
(2)从隐藏层到输出层,传统的bp主要是进行softmax,而cbow主要是进行层次softmax层次。
[0133]
其中,其实模型的输出也可以是softmax,但是对于类别较多时,softmax会对所有的词进行排序,然后取最大值,这样来做是及其耗时的,为了提升效率,则可以优选采用层次softmax来将复杂度有o(n)降为o(log(n));
[0134]
此外,使用霍夫曼树来代替传统的神经网络,可以提高模型训练的效率;但是如果训练样本里的中心词w是一个很生僻的词,那么就得在霍夫曼树中辛苦的向下走很久了,为了解决此问题,则可使用negative sampling来训练模型。
[0135]
本实施例中,步骤step3中,在基于negative sampling来训练模型之前,需要预先对负例词进行采样,具体采样方法为:
[0136]
a、计算每个词的未归一化分布值(对于词来说即词频);
[0137]
b、把上面计算的值加和,利用这个和进行概率归一化;
[0138]
c、引入类别或词的一定顺序,比如词的下标;
[0139]
d、计算累积分布函数cdf,即把每个点上的值修改为其前面所有类别或词的归一化概率之和;
[0140]
如:以字符a,b,c出现概率分别为1/2,1/3,1/6为例,设线段左端点为0,右端点为1,则中间分割点分别为1/2,(1/2+1/3),(1/2+1/3+1/6);
[0141]
e、设有左端点为0、右端点为1的线段,将线段划分为m段,0对应左端点,即上面的概率0,m对应右端点,即上面的概率1,与上面的线段做一次映射,那么就知道0-m中任意整数所对应的字符了;
[0142]
f、在采样的时候,只需要从m个位置中采样出neg个位置就行,此时采样到的每一个位置对应到的线段所属的词即所需的负例词。
[0143]
进一步地,步骤step3中,基于negative sampling来训练模型即通过一个正例和neg个负例进行二元逻辑回归,具体方法为:
[0144]
negative sampling同样是采用了二元逻辑回归来求解模型参数,首先通过负采样得到neg个负例(context(w),wi),并将正例定义为w0(此步骤是为了统一描述);
[0145]
在逻辑回归中,我们的正例应该期望满足:
[0146][0147]
我们的负例期望满足:
[0148][0149]
假设期望可以最大化下式:
[0150][0151]
故此时模型的对数似然函数为:
[0152][0153]
进而,采用和层次softmax类似的随机梯度上升法,仅仅每次只用一个样本更新梯度,来进行迭代更新得到所需的参数;
[0154]
则首先计算的梯度:
[0155][0156]
再采用同样的方法求出的梯度:
[0157][0158]
基于梯度表达式,即可用梯度上升法进行迭代来一步步的求解所需的所有的参数。
[0159]
本实施例中,如图4所示,skip-gram模型和cbow模型的思路是反着来的,即输入是特定的一个词的词向量,输出层是一个softmax回归分类器,它的每个结点将会输出一个概率在0-1之间的值,这些所有输出层神经元结点的概率之和为1;其构建方法为:
[0160]
输入特定词,输出softmax概率排前n的n个词,其对应的skip-gram神经网络模型输入层有1个神经元,输出层有词汇表若干大小个神经元;
[0161]
隐藏层的神经元个数可以预先自行指定;
[0162]
再通过dnn的反向传播算法,可以求出dnn模型的参数,同时得到所有的词对应的词向量;
[0163]
进而当有新的需求,要求出某1个词对应的最可能的n个上下文词时,通过一次dnn前向传播算法得到概率大小排前n的softmax概率对应的神经元所对应的词即可;
[0164]
另外,skip-gram模型的训练方式也是包括但不限于层次softmax以及negative sampling,采用基于层次softmax或基于negative sampling方式来对skip-gram模型进行训练的操作方式与cbow模型类似。
[0165]
另外,值得说明的是,上述计算方法中,需要获取的稠密向量即隐藏层的权重值。
[0166]
如图5所示,本实施例还提供了一种方法运行平台装置,该装置包括处理器、存储器以及存储在存储器中并在处理器上运行的计算机程序。
[0167]
处理器包括一个或一个以上处理核心,处理器通过总线与存储器相连,存储器用于存储程序指令,处理器执行存储器中的程序指令时实现上述的基于word2vec的监控告警信息向量化模型建立方法的步骤。
[0168]
可选的,存储器可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随时存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0169]
此外,本发明还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现上述的基于word2vec的监控告警信息向量化模型建立方法的步骤。
[0170]
可选的,本发明还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述各方面基于word2vec的监控告警信息向量化模型建立方法的步骤。
[0171]
本领域普通技术人员可以理解,实现上述实施例的全部或部分步骤的过程可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
[0172]
以上显示和描述了本发明的基本原理、主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的仅为本发明的优选例,并不用来限制本发明,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1