1.本发明涉及计算机科学技术领域,具体是一种基于自然语言处理和随机森林的电力数据治理方法。
背景技术:
2.电力数据,特别是电力设备档案数据是电网生产工作开展的基础,目前各类生产设备档案数据很多都存储在设备(资产)运维精益管理系统(pms2.0)中,总数据量早已超过100g,涉及到200多种设备,例如:变压器、母线等。
3.公司设备档案数据由基层班组人员负责维护,电力生产的各个环节也都以设备档案数据为基础,只有保证设备档案数据的准确性,电力相关的各个流程和业务才能更准确的展开,从而为电力运维检修和电力分析决策提供更坚实的支撑。
4.目前电网生产设备档案数据存在不完整、不准确等问题,例如:设备档案关键参数不完整、设备台账参数填写错误等。这些问题,特别是数据不准确的问题很难通过提炼规则,继而开发程序来进行错误数据排查;现状是采用运维人员人工核对的方法进行数据排查,但是这种方法效率低、难度大,并且效果欠佳。
技术实现要素:
5.针对现有技术存在的问题,本发明提供一种基于自然语言处理和随机森林的电力数据治理方法,可实现电力设备档案数据的数据治理和自动排错。
6.一种基于自然语言处理和随机森林的电力数据治理方法,包括如下步骤:
7.第一步:数据抽取,获取训练集:获取柱上变压器的型号数据和额定容量数据,并将其中的70%数据作为训练集f;
8.第二步:对训练集f进行特征数据提取,将型号数据进行分词得到特征数据集合s={s1,s2,s3,...,sn};
9.第三步:对特征数据集合s进行去停用词形成数据集合s',s'={s1,s2,s3…
,sm},其中m≤n;
10.第四步:对数据集合s'进行分词,然后经过word2vec变换形成词向量v(s’),其中v(s’)表示数据集合s'经过word2vec变换后的词向量,k表示词向量的长度;
11.第五步:对词向量v(s’)进行随机森林算法分类,其中标签列是额定容量数据l;
12.第六步:随机森林分类模型构建:针对第五步得到的分类结果,得到随机森林分类模型的准确率,若准确率未达到预期的阈值,则返回步骤四和步骤五进行参数调整,直到准确率达到预期的阈值;
13.第七步:随机森林分类模型确定后,在使用阶段将数据分类,然后将每一类的异常数据返回给用户,并且将正常数据推荐给用户,由用户参考修改。
14.进一步的,第一步中数据抽取后还进行数据清洗及过滤:首先过滤掉变压器型号
和额定容量字段为空的行,然后过滤掉变压器型号字段中不包含
“‑”
的行,最后过滤掉变压器型号字段中既不包含“m”也不包含“m”的行。
15.进一步的,第三步中对特征数据集合s进行去停用词具体为:将变压器型号字段中的
“‑”
和“/”用一个空格代替。
16.进一步的,第五步中,对型号数据转换成形成的词向量v(s’)进行随机森林算法分类的过程如下:
17.(1)设定随机森林决策树的总树数为b,其中一棵决策树b的生成过程如下:
18.(a)从词向量v(s’)中采用有放回的形式随机地选取n个样本;
19.(b)然后递归地生成随机森林树tb;
20.(2)输出随机森林树的集合
21.(3)针对一个新的数据点x(即用户新输入的型号数据)做一个分类预测:假设表示该新的数据点x在第b棵树上的分类,那么
22.进一步的,其中递归地生成随机森林树tb具体步骤包括:
23.i从k个词向量长度中随机地选取个k'个长度的特征向量,其中k’≤k;
24.ii从k'个特征向量中选一个使数据集信息不确定最小的特征进行数据切分,该特征也称为最好的切分特征;
25.iii将选取的最好的切分特征向量节点分成两个子节点,直到每个节点都足够“纯”为止,最终形成一个完整的随机森林树tb,另外,如果切分特征向量节点组成的决策树达到设置的最大深度值,则不管该节点是否足够“纯”都停止切分。
26.进一步的,计算使数据集信息不确定最小的方式包括:基于信息增益、基于信息增益率和基于基尼系数。
27.进一步的,第六步具体包括:针对第五步得到的分类结果,人工验证分类中的数据,将异常数据和误判数据选出,验证每个类中的数据误判的情况,得到数据验证的准确率,对所有的分类中的准确率求取平均值,得到随机森林分类模型的准确率,然后判断模型准确率是否达到预期的阈值,如果没有则转到第四步和第五步,重新调整第四步中词向量的长度k和第五步中的决策树的个数b、计算使数据集信息不确定最小的方法、决策树的最大深度,直到准确率达到预期的阈值。
28.进一步的,随机森林分类模型超参数确定的过程采用网格搜索法进行,即通过循环遍历,尝试每一种可能性,表现最好的参数就是最终的结果。
29.本发明利用自然语言处理和随机森林技术开展数据治理,对大量数据中异常的自动诊断,并为数据的整改提供建议,能够减少数据校验工作对业务人员的强依赖性,对于完全无规则可提炼的分散型数据异常情况,也可以机器学习实现自动处理,避免人力筛查带来的复杂工作量。
附图说明
30.图1是本发明基于自然语言处理和随机森林的电力数据治理方法的流程图。
具体实施方式
31.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
32.为了描述本方案,先介绍样例数据(见表1)
33.表1样例数据
[0034][0035]
从表1中可以看到样例数据有3列,带有物理及业务含义的主要有变压器型号和额定容量2列;根据业务规则,每一个确定的变压器型号都对应唯一的一个额定容量,但是变压器型号的写法各式各样,例如s9-m-50/10、s11-m-50/10、s9-50/10、s9-50、s9-50kva的变压器型号对应的额定容量都是50,额定容量50这个数值隐藏在变压器型号的填写信息中,但是位置不确定,也没有明确的规则,但是有经验的业务人员基本上可以通过变压器型号的值判断出该型号对应的额定容量应该为多少,但是这种方法低效,并且难度大。
[0036]
如图1所示,本发明实施例提供一种基于自然语言处理和随机森林的电力数据治理方法,其采用word2vec算法对变压器型号进行特征提取,然后基于这些特征用随机森林分类算法构建模型,具体步骤如下:
[0037]
第一步:数据抽取,获取训练集:获取柱上变压器的型号数据和额定容量数据,并将其中的70%数据作为训练集f;数据抽取后还可可进行数据清洗及过滤,具体的,首先过滤掉变压器型号和额定容量字段为空的行,然后过滤掉变压器型号字段中不包含
“‑”
的行,最后过滤掉变压器型号字段中既不包含“m”也不包含“m”的行,此处将变压器型号命名为xh,额定容量字段命名为edrl;
[0038]
第二步:对训练集f进行特征数据提取,将型号数据进行分词得到特征数据集合s={s1,s2,s3,
…
,sn};
[0039]
第三步:对特征数据集合s进行去停用词(例如
“‑”
和“/”等)形成数据集合s',s'=
{s1,s2,s3…
,sm},其中m≤n;例如,将变压器型号字段中的
“‑”
和“/”用
“”
(一个空格)代替,经处理及变换的变压器型号命名为xh1,例如变压器型号字段为“s9-m-50/10”(xh)经处理后会变成“s9 m 50 10”(xh1);
[0040]
第四步:对数据集合s'进行分词,然后经过word2vec变换形成词向量v(s’),其中v(s’)表示数据集合s'经过word2vec变换后的词向量,k表示词向量的长度;
[0041]
具体的,用tokenizer对处理及变换后的变压器型号字段(xh1)内容进行分词,并对分词后的数组字段命名为xh2,例如“s9 m 50 10”(xh1)经tokenizer分词后会变成“[s9,m,50,10]”(xh2),然后用字段xh2来训练word2vec模型,得到word2vec模型的输出字段命名为rawfeatures,字段rawfeatures是一个多维的特征向量,例如“[s9,m,50,10]”(xh2)作为word2vec模型的输入,得到word2vec模型的输出:
[0042]
[-0.3870379527409871,0.883052121847868,0.16217718521753946,0.24961639444033304,0.09006961186726888,-0.3612159974873066](rawfeatures)。
[0043]
第五步:对词向量v(s’)进行随机森林算法分类,其中标签列是额定容量数据l;
[0044]
在第五步中,对型号数据转换成形成的词向量v(s’)进行随机森林算法分类的过程如下:
[0045]
1.设定随机森林决策树的总树数为b,其中一棵决策树b的生成过程如下:
[0046]
(a)从词向量v(s’)中采用有放回的形式随机地选取n个样本;
[0047]
(b)然后通过以下三个步骤递归地生成随机森林树tb;
[0048]
i从k个词向量长度中随机地选取个k'个长度的特征向量,其中k’≤k;
[0049]
ii从k'个特征向量中选一个使数据集信息不确定最小的特征进行数据切分,该特征也称为最好的切分特征,需要说明的是,计算使数据集信息不确定最小的方式目前来说有三种,分别是id3(基于信息增益)、c4.5(基于信息增益率)、cart(基于基尼系数)。
[0050]
iii将选取的最好的切分特征向量节点分成两个子节点,直到每个节点都足够“纯”为止,最终形成一个完整的随机森林树tb,另外,如果切分特征向量节点组成的决策树达到设置的最大深度值,则不管该节点是否足够“纯”都停止切分。
[0051]
2.输出随机森林树的集合
[0052]
3.针对一个新的数据点x(即用户新输入的型号数据)做一个分类预测:
[0053]
假设表示该新的数据点x在第b棵树上的分类,那么
[0054]
第六步:随机森林分类模型构建:针对第五步得到的分类结果,人工验证分类中的数据,将异常数据和误判数据选出,验证每个类中的数据误判的情况,得到数据验证的准确率,对所有的分类中的准确率求取平均值,得到随机森林分类模型的准确率,然后判断模型准确率是否达到预期的阈值,如果没有则转到第四步和第五步,重新调整第四步中词向量的长度k和第五步中的决策树的个数b、计算使数据集信息不确定最小的方法、决策树的最大深度,直到准确率达到预期的阈值,例如准确率预期阈值设为95%;整个随机森林分类模型超参数确定的过程采用网格搜索法进行,即通过循环遍历,尝试每一种可能性,表现最好
的参数就是最终的结果。
[0055]
第七步:随机森林分类模型确定后,在使用阶段将数据分类,然后将每一类的异常数据返回给用户,并且将正常数据推荐给用户,由用户参考修改。
[0056]
进一步的,在用户使用过程中,通过用户的反馈来修正模型的标签列(即额定容量数据)增加随机森林分类时正确分类的概率。
[0057]
部分样例数据中针对变压器型号给出的额定容量推荐值如下表2:
[0058]
表2
[0059][0060]
本发明利用自然语言处理和随机森林技术开展数据治理,对大量数据中异常的自动诊断,并为数据的整改提供建议,能够减少数据校验工作对业务人员的强依赖性,对于完全无规则可提炼的分散型数据异常情况,也可以机器学习实现自动处理,避免人力筛查带来的复杂工作量(采用人工手段进行核对,每100条数据往往需要投入3人天的工作量,而通过本发明的方法几分钟即可完成数万条的数据治理,并且治理的准确率可达到95%以上),本发明利用大数据对数据异常问题进行归类分析,提供给数据产生方进行整改,能够从源头上降低数据问题,为数据源头整改提供参考。
[0061]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何属于本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。
技术特征:
1.一种基于自然语言处理和随机森林的电力数据治理方法,其特征在于:包括如下步骤:第一步:数据抽取,获取训练集:获取柱上变压器的型号数据和额定容量数据,并将其中的70%数据作为训练集f;第二步:对训练集f进行特征数据提取,将型号数据进行分词得到特征数据集合s={s1,s2,s3,...,s
n
};第三步:对特征数据集合s进行去停用词形成数据集合s',s'={s1,s2,s3…
,s
m
},其中m≤n;第四步:对数据集合s'进行分词,然后经过word2vec变换形成词向量v(s’),其中v(s’)表示数据集合s'经过word2vec变换后的词向量,k表示词向量的长度;第五步:对词向量v(s’)进行随机森林算法分类,其中标签列是额定容量数据l;第六步:随机森林分类模型构建:针对第五步得到的分类结果,得到随机森林分类模型的准确率,若准确率未达到预期的阈值,则返回步骤四和步骤五进行参数调整,直到准确率达到预期的阈值;第七步:随机森林分类模型确定后,在使用阶段将数据分类,然后将每一类的异常数据返回给用户,并且将正常数据推荐给用户,由用户参考修改。2.如权利要求1所述的基于自然语言处理和随机森林的电力数据治理方法,其特征在于:第一步中数据抽取后还进行数据清洗及过滤:首先过滤掉变压器型号和额定容量字段为空的行,然后过滤掉变压器型号字段中不包含
“‑”
的行,最后过滤掉变压器型号字段中既不包含“m”也不包含“m”的行。3.如权利要求1所述的基于自然语言处理和随机森林的电力数据治理方法,其特征在于:第三步中对特征数据集合s进行去停用词具体为:将变压器型号字段中的
“‑”
和“/”用一个空格代替。4.如权利要求1所述的基于自然语言处理和随机森林的电力数据治理方法,其特征在于:第五步中,对型号数据转换成形成的词向量v(s’)进行随机森林算法分类的过程如下:(1)设定随机森林决策树的总树数为b,其中一棵决策树b的生成过程如下:(a)从词向量v(s’)中采用有放回的形式随机地选取n个样本;(b)然后递归地生成随机森林树tb;(2)输出随机森林树的集合(3)针对一个新的数据点x(即用户新输入的型号数据)做一个分类预测:假设表示该新的数据点x在第b棵树上的分类,那么5.如权利要求4所述的基于自然语言处理和随机森林的电力数据治理方法,其特征在于:其中递归地生成随机森林树tb具体步骤包括:i从k个词向量长度中随机地选取个k'个长度的特征向量,其中k’≤k;ii从k'个特征向量中选一个使数据集信息不确定最小的特征进行数据切分,该特征也称为最好的切分特征;
iii将选取的最好的切分特征向量节点分成两个子节点,直到每个节点都足够“纯”为止,最终形成一个完整的随机森林树tb,另外,如果切分特征向量节点组成的决策树达到设置的最大深度值,则不管该节点是否足够“纯”都停止切分。6.如权利要求5所述的基于自然语言处理和随机森林的电力数据治理方法,其特征在于:计算使数据集信息不确定最小的方式包括:基于信息增益、基于信息增益率和基于基尼系数。7.如权利要求1所述的基于自然语言处理和随机森林的电力数据治理方法,其特征在于:第六步具体包括:针对第五步得到的分类结果,人工验证分类中的数据,将异常数据和误判数据选出,验证每个类中的数据误判的情况,得到数据验证的准确率,对所有的分类中的准确率求取平均值,得到随机森林分类模型的准确率,然后判断模型准确率是否达到预期的阈值,如果没有则转到第四步和第五步,重新调整第四步中词向量的长度k和第五步中的决策树的个数b、计算使数据集信息不确定最小的方法、决策树的最大深度,直到准确率达到预期的阈值。8.如权利要求7所述的基于自然语言处理和随机森林的电力数据治理方法,其特征在于:随机森林分类模型超参数确定的过程采用网格搜索法进行,即通过循环遍历,尝试每一种可能性,表现最好的参数就是最终的结果。
技术总结
本发明提供一种基于自然语言处理和随机森林的电力数据治理方法,包括:数据抽取,获取训练集F;对训练集F进行特征数据提取,将型号数据进行分词得到特征数据集合;第三步:对特征数据集合进行去停用词形成数据集合;第四步:对数据集合进行分词,然后经过word2vec变换形成词向量;第五步:对词向量进行随机森林算法分类;第六步:随机森林分类模型构建;第七步:随机森林分类模型确定后,在使用阶段将数据分类,然后将每一类的异常数据返回给用户,并且将正常数据推荐给用户,由用户参考修改。本发明利用大数据对数据异常问题进行归类分析,提供给数据产生方进行整改,能够从源头上降低数据问题,为数据源头整改提供参考。为数据源头整改提供参考。为数据源头整改提供参考。
技术研发人员:刘伟 叶磊
受保护的技术使用者:湖北华中电力科技开发有限责任公司
技术研发日:2021.11.15
技术公布日:2022/3/8