一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于深度学习的问题整改建议生成方法与流程

2022-06-09 02:26:33 来源:中国专利 TAG:

1.本发明涉及整改建议生成技术领域。更具体地说,本发明涉及一种基于深度学习的问 题整改建议生成方法。


背景技术:

2.等保测评(信息安全等级保护测评)是经公安部认证的具有资质的测评机构,依据国 家信息安全等级保护规范规定,受有关单位委托,按照有关管理规范和技术标准,对信息 系统安全等级保护状况进行检测评估的活动。
3.测评机构对信息系统安全进行等保测评过程中对于发现的安全问题,需要测评师手动 撰写对应的安全问题整改建议,手动撰写存在如下问题:
4.效率低:需要人工查阅大量资料,导致效率难以提高;
5.人力成本高:需要专业人员参与,人力成本高;
6.没有统一标准:由于问题的多样性以及测评师个人主观原因导致建议没有统一标准, 质量参差不齐;
7.提供一种高效率,能够降低人力成本同时具有统一标准的问题整改建议生成方法是目 前急需解决的问题。


技术实现要素:

8.本发明的一个目的是解决至少上述问题,并提供至少后面将说明的优点。
9.本发明还有一个目的是提供一种基于深度学习的问题整改建议生成方法,利用安全问 题数据结合上下文进行语义解析,在知识抽取的基础上,通过知识图谱对安全问题进行知 识推理,而后结合文本生成模型(gpt-2)结合关键信息生成高可读性的安全问题整改建 议,降低了人力成本,提高了安全问题整改建议的生成质量。
10.为了实现根据本发明的这些目的和其它优点,提供了一种基于深度学习的问题整改建 议生成方法,包括以下步骤:
11.将训练集和验证集的安全问题数据加上实体标签,而后与作为先验知识的各类实体定 义类型进行拼接,得到实体定义训练集、实体定义验证集;
12.以roberta-wwm-large-ext作为预训练模型,实体定义训练集作为输入,训练分别用 于预测实体开始位置和实体结束位置的两个分类器,构建实体识别模型,其中,以实体定 义验证集验证确定实体识别模型是否训练完成;
13.依据实体识别模型的输出结果,建立实体对,将实体边界、实体定义类型、主宾类型 作为标识符加入到实体前后,而后与作为先验知识的各类关系定义类型进行拼接,得到关 系定义训练集、关系定义验证集;
14.以roberta-wwm-large-ext作为预训练模型,关系定义训练集作为输入,训练两个分 类器,一个softmax分类器和一个二分类分类器,然后将两个分类器结果进行动态加权平 均获得预测的实体关系分类,构建关系抽取模型,其中,以关系定义验证集验证确定关
系 抽取模型是否训练完成;
15.对待测评系统进行等保测评,而后利用实体识别模型进行实体识别,输出实体信息, 在输出的实体信息的基础上,利用关系抽取模型进行实体关系抽取,输出实体关系信息;
16.依据确定的实体信息、实体关系信息,在知识图谱中进行检索,然后进行知识图谱推 理,获得整改建议相关信息,结合实体信息、实体关系信息、整改建议相关信息生成等保 测评安全问题整改建议。
17.优选的是,与作为先验知识的各类实体定义类型进行拼接具体为:将各类实体定义类 型与训练集、验证集的安全问题数据进行字符串拼接后切分,限定文本长度为512,文本 长度超过512的部分,重新与各类实体定义类型进行字符串拼接。
18.优选的是,实体定义训练集作为输入对预训练模型进行训练前还包括:随机过滤掉占 实体定义训练集总样本35-40%的样本,其中,确定每种实体定义类型的负样本含量,按 照负样本含量由大至小对实体定义类型排序,与在前实体定义类型对应的样本中过滤掉的 样本量不小于与在后实体定义类型对应的样本中过滤掉的样本量,每种实体定义类型的负 样本含量=该实体定义类型的负样本数/该实体定义类型的样本总数,该实体定义类型的负 样本为实体定义类型与安全问题数据不匹配的样本。
19.优选的是,以实体定义验证集验证确定实体识别模型是否训练完成具体为:
20.预训练模型迭代预定次数后,分别获取实体定义训练集和实体定义验证集的损失值, 依据两者损失值的走向关系,确定实体识别模型是否训练完成,其中,损失值为分别用于 预测实体开始位置和实体结束位置的两个分类器的损失值之和。
21.优选的是,关系定义训练集作为输入对预训练模型进行训练前还包括:
22.随机过滤掉占关系定义训练集总样本35-40%的样本,其中,确定每种关系定义类型 的负样本含量,按照负样本含量由大至小对关系定义类型排序,与在前关系定义类型对应 的样本中过滤掉的样本量不小于与在后关系定义类型对应的样本中过滤掉的样本量,每种 关系定义类型的负样本含量=该关系定义类型的负样本数/该关系定义类型的样本总数,该 关系定义类型的负样本为关系定义类型与安全问题数据不匹配的样本。
23.优选的是,以关系定义验证集作为输入验证确定关系抽取模型是否训练完成具体为:
24.预训练模型迭代预定次数后,分别获取关系定义训练集和关系定义验证集的损失值, 依据损失值的走向关系,确定实体识别模型是否训练完成,其中,损失值为预测的实体关 系分类与真实的实体关系分类之间的误差。
25.优选的是,训练集样本数占训练集和验证集样本数总和的70%-90%。
26.优选的是,利用实体识别模型进行实体识别,输出实体信息,具体为:
27.将各类实体定义类型分别与待测评系统的安全问题数据进行字符串拼接,然后对拼接 完成后的文本进行长度切分,其中,文本长度超过512的部分,将作为新的安全问题数据 重新与各类实体定义类型重新进行拼接,得到实体定义测试集;
28.以实体定义测试集作为实体识别模型的输入,进行实体识别,输出实体信息,其中, 实体信息包括实体和实体位置。
29.优选的是,利用关系抽取模型进行实体关系抽取,输出实体关系信息具体为:
30.获取实体识别模型的输出结果后,建立实体对,将实体边界、实体定义类型、主宾类型作为标识符加入到实体前后,得关系定义测试集;
31.将关系定义测试集作为关系抽取模型的输入,获得实体关系信息。
32.优选的是,在实体识别模型的训练过程中更新每个输出层的权重。
33.本发明至少包括以下有益效果:
34.第一、利用安全问题数据结合上下文进行语义解析,在知识抽取的基础上,通过知识图谱对安全问题进行知识推理,而后结合文本生成模型(gpt-2)结合关键信息生成高可读性的安全问题整改建议,降低了人力成本,提高了安全问题整改建议的生成质量;
35.第二、改进实体识别模型的输出数据,在模型的迭代循环训练过程中更新每个输出层(表示层)的权重,通过给予不同层不同的权重,提高实体识别准确度;
36.第三、改进关系抽取模型的输入数据,将关系定义类型与输入数据进行拼接,然后又融合了实体主宾边界和实体类型两种信息,训练一个softmax分类,一个二分类,最后将两个分类器结果进行动态加权平均获得最终实体关系分类,提高模型准确率;
37.第四、在模型训练过程中对不匹配数据进行过滤,对训练数据进行瘦身,有效的提高了知识抽取模型(实体识别模型、关系抽取模型)的性能。
38.本发明的其它优点、目标和特征将部分通过下面的说明体现,部分还将通过对本发明的研究和实践而为本领域的技术人员所理解。
具体实施方式
39.下面结合实施例对本发明做进一步的详细说明,以令本领域技术人员参照说明书文字能够据以实施。
40.基于深度学习的问题整改建议生成方法,包括以下步骤:
41.步骤一、构建数据库
42.1.1、获取等保测评过程中的安全问题数据;
[0043]“安全问题数据”例如:应用系统未提供安全审计模块,审计记录直接写入数据库,elasticsearch未启用审计功能;
[0044]
1.2、对安全问题数据进行预处理,得预处理后的安全问题数据,其中,预处理包括对特殊字符(例如单引号、空格、异常符号、大小写转换等)处理,目的在于避免在后续模型训练过程中将特殊字符理解为特殊含义,脱离设计本意,而导致执行上的混乱问题;
[0045]
1.3、将预处理后的安全问题数据加上实体标签(即进行bieso标注),得样本数据,全部样本数据构成样本集,样本集存储至数据库,其中,样本集中样本数据不低于2万条;
[0046]
其中,进行bieso标注具体为:“b”表示词汇开始字符,“i”表示词汇中间字符,“e”表示词汇结尾字符,“s”表示词汇为单个字符,“o”表示该字符不在词汇当中,例如对于安全问题数据“应用系统未提供安全审计模块,审计记录直接写入数据库,elasticsearch未启用审计功能”而言标注为:b-sysi-sysi-syse-sysooob-funi-funi-funi-funi-fune-funob-infoi-infoi-infoe-infooooob-appi-appe-appob-appi-appi-appi-appi-appi-appi-appi-appi-appi-appi-appi-appe-appooob-funi-funi-fune-fun;
[0047]
步骤二、训练获得实体识别模型
[0048]
2.1:从样本集中随机获取70-90%的样本数据,构成训练集;
[0049]
获取剩余的样本数据,构成验证集;
[0050]
2.2:数据加工
[0051]
2.2.1、构建实体定义类型数据集,其包括与等保测评安全问题数据相关的实体定义类 型,例如系统类实体(system,简称sys)、功能类实体(function,简称fun)、软件类实体 (software,简称soft)、信息类实体(information,简称info)、应用类实体(application, 简称app)等;
[0052]
2.2.2、对于训练集:
[0053]
将各类实体定义类型作为query,与训练集的样本数据进行字符串拼接,然后对拼接 完成后的文本进行长度切分,限定文本长度为512(其中文本长度不够的进行补齐),进 一步,文本长度超过512的部分,将作为新的样本数据与各类实体定义类型重新进行字符 串拼接,得到实体定义训练集;
[0054]
对于实体定义训练集,随机过滤掉占总样本35-40%的样本,其中,确定每种实体定 义类型的负样本含量,按照负样本含量由大至小对实体定义类型排序,在前实体定义类型 过滤掉的样本量不小于在后实体定义类型的样本量,得到筛选后的训练集,其中,实体负 样本为与实体定义类型不匹配“安全问题数据”;
[0055]
其中,每种实体定义类型的负样本含量=(该实体定义类型的负样本数/该实体定义类 型的样本总数),例如,按照实体定义样本的负样本含量在全部实体定义样本中按照负样 本含量的占比进行随机过滤,具体为:训练集的安全问题数据为k个,实体定义类型为n 类,分别记为(n1、n2、n3、
·····
、ni、
······
、nn),对应的,每个实体定义类型对应的 负样本含量分别记为(w1、w2、w3、
·····
、wi、
······
、wn),样本总数为(n*k)个, 则需要过滤掉的样本数为m=(35%*n*k),综上,对于第i个实体定义类型ni而言,负 样本含量wi,对应需要随机过滤掉的样本数
[0056]
xi=(wi/(w1 w2 w3
·····
wi
······
wn))*m;
[0057]
2.2.3、对于验证集
[0058]
将各类实体定义类型作为query,与验证集的样本数据进行字符串拼接,然后对拼接 完成后的文本进行长度切分,限定文本长度为512(其中文本长度不够的进行补齐),进 一步,文本长度超过512的部分,将作为新的样本数据与各类实体定义类型重新进行字符 串拼接,得到实体定义验证集;
[0059]
2.3:实体识别
[0060]
2.3.1、以哈工大讯飞联合实验室发布的中文训练模型roberta-wwm-large-ext作为预 训练模型;
[0061]
2.3.2、以筛选后的训练集作为预训练模型的输入;
[0062]
2.3.3、预训练模型进行微调(fine-turning),迭代预定次数后,输出与每个“安全问 题数据”的每一个token对应的词向量(实体类型),并获得当前训练结束后的初始实体识 别模型,其中,“安全问题数据”的每一个token对应的词向量为24层输出层配合对应权 重加和获得,在模型的迭代循环训练过程中更新每个输出层(表示层)的权重,预定的迭 代次数可依据具体的操作人员基于实际情况设定;
[0063]
当筛选后的训练集通过预训练模型一次并且返回了一次,这个过程称为一次
epoch(占 预订次数中的一次),(也就是说,所有训练样本在预训练模型中都进行了一次正向传播和 一次反向传播,再通俗一点,一次epoch就是将所有筛选后的训练集训练一次的过程。
[0064]
2.3.4、在得到与筛选后的训练集对应的输出后,训练两个分类器,分别用于预测实体 span开始位置和实体span结束位置,依据预测结果得到初始实体识别模型的损失值a, 具体的,损失值a为两个分类器损失值之和,每个分类器的损失值为预测结果与真实标签 之间的误差,例如:对于预测实体span开始位置的分类器的损失值loss(start)=ce(预测 start,标签start),对于预测实体span结束位置的分类器的损失值loss(end)=ce(预测end, 标签end),损失值a=loss(start) loss(end)
[0065]
其中,实体span开始位置、实体span结束位置序列是与输入文本等长的一个由0和 1构成的序列,1对应的是实体片段的开始位置和结束位置;
[0066]
2.3.4、通过实体定义验证集作为初始实体识别模型的输入,输出与其每个“安全问题 数据”对应的词向量,在使用初始实体识别模型得到与实体定义验证集对应的词向量之后, 训练两个分类器,分别用于预测实体span开始位置和实体span结束位置,依据预测结果 得到初始实体识别模型的损失值b;
[0067]
2.3.5、依据损失值a与损失值b的关系以及预训练模型在训练过程中的收敛情况, 确定是否得到最优损失值a,若是,得到训练好的实体识别模型,若否,重复步骤2.3.3-2.3.5 至确定得到最优损失值a;
[0068]
其中,步骤2.3.3中预定的迭代次数可依据具体的操作人员基于实际情况设定,重复 步骤2.3.3-2.3.5的过程中新的预定迭代次数可参考多次测试损失值a与损失值b的关系走 向进行调整;
[0069]
步骤三:训练获得关系抽取模型
[0070]
3.1:数据加工
[0071]
3.1.1构建关系定义类型数据集,其内包括与等保测评安全问题数据相关的关系定义 类型,例如调用关系、存储关系、提供功能关系等;
[0072]
3.1.2、对于训练集
[0073]
获取实体识别模型与筛选后训练集数据对应的输出结果后,建立实体对(pair),将实 体边界(从实体的第一个字开始到实体的最后一个字结束)、实体定义类型、主宾类型(主 实体(subject,简称s)、宾实体(object,简称o))作为标识符加入到实体(实体span) 前后,得处理后的训练集输出结果,例如,对于安全问题数据“应用系统未提供安全审计 模块”中的实体对(应用系统,安全审计模块)而言,“《s:sys》应用系统《/s:sys》未提供 《o:fun》安全审计模块《/o:fun》”;
[0074]
将各类关系定义类型作为先验知识分别与处理后的输出结果进行拼接,得关系定义训 练集;
[0075]
其中,对于关系定义训练集,随机过滤掉占总样本35-40%的样本,其中,确定每种 关系定义类型的负样本含量,按照负样本含量由大至小对关系定义类型排序,在前关系定 义类型过滤掉的样本量不小于在后关系定义类型的样本量,得到筛选后的训练集输出结果, 其中,关系负样本为与关系定义类型不匹配“训练集输出结果”;
[0076]
其中,每种关系定义类型的负样本含量=(该关系定义类型的负样本数/该关系定
义类 型的样本总数),例如,按照关系定义类型的负样本含量在全部关系定义类型样本中按照 负样本含量的占比进行随机过滤,具体为:训练集的安全问题数据为h个,实体定义类型 为g类,分别记为(g1、g2、g3、
·····
、gi、
······
、gg),对应的,每个实体定义类型 对应的负样本含量分别记为(l1、l2、l3、
·····
、li、
······
、lg),样本总数为(h*g) 个,则需要过滤掉的样本数为y=(35%*h*g),综上,对于第i个实体定义类型gi而言, 负样本含量为li,对应需要随机过滤掉的样本数
[0077]
si=(li/(l1 l2 l3
·····
li
······
lg))*y;
[0078]
3.1.2、对于验证集
[0079]
获取实体识别模型与验证集数据对应的输出结果后,建立实体对(pair),将实体边界 和实体类型作为标识符加入到实体span前后,得处理后的验证集输出结果;将各类关系 定义类型作为先验知识分别与处理后的输出结果进行拼接,得关系定义验证集;
[0080]
3.2:关系抽取
[0081]
3.2.1、以哈工大讯飞联合实验室发布的中文训练模型roberta-wwm-large-ext作为预 训练模型;
[0082]
3.2.2、以关系定义训练集作为预训练模型的输入;
[0083]
3.2.3、预训练模型进行微调(fine-turning),迭代预定次数后,输出与每个token对应 的编码,并获得当前训练结束后的初始关系抽取模型;
[0084]
3.2.4、在得到与关系定义训练集对应的输出后,训练两个分类器,一个softmax分类 器和一个二分类分类器,然后将两个分类器结果进行动态加权平均获得预测的实体关系分 类,依据预测结果得到初始实体识别模型的损失值c,具体的,损失值c为预测的实体关 系分类与真实的实体关系分类之间的误差;
[0085]
3.2.4、通过关系定义验证集作为初始关系抽取模型的输入,输出与每个token对应的 编码(实体关系分类),结合两个分类器,一个softmax分类器和一个二分类分类器,然 后将两个分类器结果进行动态加权平均获得预测的实体关系分类,依据预测结果得到初始 实体识别模型的损失值d,具体的,损失值d为预测的实体关系分类与真实的实体关系分 类之间的误差;
[0086]
2.3.5、依据损失值c与损失值d的关系以及预训练模型在训练过程中的收敛情况, 确定是否得到最优损失值c,若是,得到训练好的关系抽取模型,若否,重复步骤3.2.3-3.2.5 至确定得到最优损失值c;
[0087]
其中,步骤3.2.3中预定的迭代次数可依据具体的操作人员基于实际情况设定,重复 步骤3.2.3-3.2.5的过程中新的预定迭代次数可参考多次测试损失值c与损失值d的关系走 向进行调整;
[0088]
步骤四、整改建议生成
[0089]
4.1、对待测评系统进行等保测评,生成对应的安全问题数据,构成测试集;
[0090]
4.2、对测试集的安全问题数据进行预处理,预处理具体为对特殊字符的处理;
[0091]
4.3、将各类实体定义类型分别与测试集预处理后的安全问题数据进行字符串拼接, 然后对拼接完成后的文本进行长度切分,其中,文本长度超过512的部分,将作为新的安 全问题数据重新与各类实体的定义进行拼接,得到实体定义测试集;
[0092]
4.3、以实体定义测试集作为实体识别模型的输入,进行实体识别,输出与安全问
题 数据对应的实体和实体位置,作为实体识别模型的输出结果;
[0093]
4.4、获取实体识别模型的输出结果后,建立实体pair,将实体边界、实体定义类型、 主宾类型作为标识符加入到实体span前后,得关系定义测试集;
[0094]
4.5、将关系定义测试集作为关系抽取模型的输入,获得实体关系;
[0095]
4.6、依据确定的实体信息、实体关系信息,在知识图谱中进行检索,然后进行知识 图谱推理,获得整改建议相关信息;
[0096]
4.7、通过预训练模型gpt-2,结合上述步骤得到的实体信息、实体关系信息、整改建 议相关信息,生成等保测评安全问题整改建议。
[0097]
尽管本发明的实施方案已公开如上,但其并不仅仅限于说明书和实施方式中所列运用, 它完全可以被适用于各种适合本发明的领域,对于熟悉本领域的人员而言,可容易地实现 另外的修改,因此在不背离权利要求及等同范围所限定的一般概念下,本发明并不限于特 定的细节。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献