本发明涉及网络安全,尤其涉及网络安全命名实体识别方法、装置、设备和存储介质。
背景技术:
1、随着科技的不断进步,网络环境变得日益复杂。在网络安全技术研究方面,威胁情报分析技术利用大数据爬虫技术收集威胁情报信息,然后对威胁情报信息进行分析,其中威胁情报信息的源头主要包括:软硬件厂商官方网站、网络安全咨询网站和科学文献等。然而威胁情报信息多是非结构化数据,因此如何准确的从非结构化数据中获取与网络威胁情报相关的实体信息是当前工作中的难点。
2、相关技术中利用深度学习方法从威胁情报中获取实体信息,当时深度学习方法需要使用大量的标注数据去训练模型,才能提升模型获取命名实体信息的能力。但是威胁情报领域的命名实体识别任务面临着数据稀缺和人工标注成本高的挑战,在标注样本较少的情况下得到的深度学习模型命名实体信息识别的准确率不高。
技术实现思路
1、本技术实施例的主要目的在于提出网络安全命名实体识别方法、装置、设备和存储介质,提高网络安全场景中从威胁情报中获取命名实体信息的准确性。
2、为实现上述目的,本技术实施例的第一方面提出了一种网络安全命名实体识别方法,包括:
3、获取待检测数据;
4、将所述待检测数据输入训练后的命名实体识别网络进行命名实体识别,得到命名实体识别结果;
5、其中,所述命名实体识别网络包括:原型网络模型、预训练模型、自训练模型和相关性编码模型,且所述命名实体识别网络通过以下训练步骤训练得到:
6、利用网络安全文本信息构建样本集,所述样本集包括第一实体样本集和第二实体样本集,所述第一实体样本集包括第一数量的标注样本,所述第二实体样本集包括第二数量的未标注样本;所述标注样本包括实体标签,所述第一数量小于所述第二数量;
7、将所述第一实体样本集中的所述标注样本分别输入原型网络模型、预训练模型和自训练模型,对应得到第一输出值、第二输出值和第三输出值,并将所述第一输出值、所述第二输出值和所述第三输出值输入所述相关性编码模型得到预测输出值;
8、基于所述实体标签计算分类损失值和所述预测输出值对应的预测损失值,所述分类损失值由所述第一输出值对应的第一损失值、所述第二输出值对应的第二损失值和所述第三输出值对应的第三损失值计算得到,以及根据所述分类损失值和所述预测损失值得到总损失值,并根据所述总损失值对所述原型网络模型、所述预训练模型、所述自训练模型和所述相关性编码模型的模型权重进行权重调整;
9、将所述第二实体样本集中的所述未标注样本输入所述命名实体识别网络得到未标注预测结果,所述未标注预测结果包括:所述原型网络模型的原型未标注预测结果、所述预训练模型的预训练未标注预测结果以及所述自训练模型的自训练未标注预测结果;若所述未标注预测结果有至少两项相同,则将相同的所述未标注预测结果作为所述未标注样本的样本标签,使得所述未标注样本变为标注样本,以更新所述第一实体样本集;
10、利用更新的所述第一实体样本集,重复执行所述训练步骤训练所述命名实体识别网络,得到训练后的所述命名实体识别网络。
11、在一实施例中,将所述第一实体样本集中的所述标注样本输入所述原型网络模型得到所述原型网络模型的第一输出值,并计算所述第一输出值对应的第一损失值,包括:
12、将所述标注样本输入所述原型网络模型,得到第一分类向量;
13、计算所述第一分类向量和各分类结果的原型向量之间的向量距离;
14、根据所述向量距离计算得到所述第一输出值;
15、将所述第一输出值输入原型网络损失函数计算得到所述第一损失值。
16、在一实施例中,将所述第一实体样本集中的所述标注样本输入所述预训练模型得到所述预训练模型的第二输出值,并计算所述第二输出值对应的第二损失值,包括:
17、获取所述标注样本的嵌入向量,所述嵌入向量由词嵌入向量、位置嵌入向量和段嵌入向量生成;
18、将所述嵌入向量输入所述预训练模型得到所述第二输出值;
19、根据所述第二输出值输入预训练模型损失函数计算得到所述第二损失值。
20、在一实施例中,将所述第一实体样本集中的所述标注样本输入所述自训练模型得到所述自训练模型的第三输出值,并计算所述第三输出值对应的第三损失值,包括:
21、获取所述标注样本的所述嵌入向量;
22、将所述嵌入向量输入所述自训练模型得到位置特征向量;
23、将所述位置特征向量作为状态信息得到所述第三输出值;
24、将所述第三输出值输入自训练模型损失函数计算得到所述第三损失值。
25、在一实施例中,计算所述分类损失值的过程包括:
26、分别计算所述第一损失值的第一相似度、所述第二损失值的第二相似度以及所述第三损失值的第三相似度;
27、根据所述第一相似度、所述第二相似度和所述第三相似度得到所述原型网络模型的第一权重、所述预训练模型的第二权重和所述自训练模型的第三权重;
28、基于所述第一权重和第一损失值计算第一中间值、基于所述第二权重和第二损失值计算第二中间值以及基于所述第三权重和第三损失值计算第三中间值;
29、根据所述第一中间值、所述第二中间值和所述第三中间值得到所述分类损失值。
30、在一实施例中,所述相关性编码模型包括三个子模型,所述子模型包括更新门和重置门;所述将所述第一输出值、所述第二输出值和所述第三输出值输入所述相关性编码模型得到预测输出值,包括:
31、将所述第一输出值、所述第二输出值和所述第三输出值分别输入所述子模型进行知识学习,得到所述第一输出值的第一预测值、所述第二输出值得第二预测值,所述第三输出值得第三预测值;
32、将所述第一预测值、所述第二预测值和所述第三预测值输入softmax层计算得到所述预测输出值。
33、在一实施例中,所述子模型进行知识学习的过程包括:
34、将输入值输入重置门得到第一隐状态;所述输入值包括:所述第一输出值、所述第二输出值或所述第三输出值;
35、将所述输入值输入更新门得到第二隐状态;
36、根据所述输入值计算得到中间隐状态;
37、根据所述第一隐状态、所述中间隐状态和所述第二隐状态得到输出值;所述输出值包括:所述第一预测值、所述第二预测值或所述第三预测值。
38、在一实施例中,基于所述实体标签计算所述预测输出值对应的预测损失值的过程包括:
39、两两计算所述第一预测值、所述第二预测值和所述第三预测值得到三个相关度值;
40、根据三个所述相关度值计算得到总相关值;
41、根据所述总相关值计算得到所述预测损失值。
42、在一实施例中,所述利用网络安全文本信息构建样本集,包括:
43、获取网络安全数据,并从所述网络安全数据中提取得到所述网络安全文本信息;
44、对所述网络完全文本信息进行分句操作,得到多个样本句;
45、将所述多个样本句分为第一句集合和第二句集合;
46、利用标注工具对所述第一句集合中每个所述样本句进行标注得到所述标注样本;
47、利用所述标注样本构建所述第一实体样本集,以及将所述第二句集合中所述样本句作为未标注样本构建所述第二实体样本集。
48、在一实施例中,所述利用标注工具对所述第一句集合中每个所述样本句进行标注得到所述标注样本,包括:利用标注工具在每个所述样本句中分词的第一位置和第二位置进行实体标签标注得到所述标注样本;所述实体标签包括:风险软件、风险软件所属家族、风险行为者、正常群体、风险时间、风险地址、风险动机、攻击活动、传播方式、资产信息、漏洞信息、风险工具、风险情报、被攻击行业、防御措施中一种或多种。
49、为实现上述目的,本技术实施例的第二方面提出了一种网络安全命名实体识别装置,所述装置包括:
50、数据获取模块:用于获取待检测数据;
51、命名实体识别模块:用于将所述待检测数据输入训练后的命名实体识别网络进行命名实体识别,得到命名实体识别结果;
52、其中,所述命名实体识别网络包括:原型网络模型、预训练模型、自训练模型和相关性编码模型,且所述命名实体识别网络通过以下训练步骤训练得到:
53、利用网络安全文本信息构建样本集,所述样本集包括第一实体样本集和第二实体样本集,所述第一实体样本集包括第一数量的标注样本,所述第二实体样本集包括第二数量的未标注样本;所述标注样本包括实体标签,所述第一数量小于所述第二数量;
54、将所述第一实体样本集中的所述标注样本分别输入原型网络模型、预训练模型和自训练模型,对应得到第一输出值、第二输出值和第三输出值,并将所述第一输出值、所述第二输出值和所述第三输出值输入所述相关性编码模型得到预测输出值;
55、基于所述实体标签计算分类损失值和所述预测输出值对应的预测损失值,所述分类损失值由所述第一输出值对应的第一损失值、所述第二输出值对应的第二损失值和所述第三输出值对应的第三损失值计算得到,以及根据所述分类损失值和所述预测损失值得到总损失值,并根据所述总损失值对所述原型网络模型、所述预训练模型、所述自训练模型和所述相关性编码模型的模型权重进行权重调整;
56、将所述第二实体样本集中的所述未标注样本输入所述命名实体识别网络得到未标注预测结果,所述未标注预测结果包括:所述原型网络模型的原型未标注预测结果、所述预训练模型的预训练未标注预测结果以及所述自训练模型的自训练未标注预测结果;若所述未标注预测结果有至少两项相同,则将相同的所述未标注预测结果作为所述未标注样本的样本标签,使得所述未标注样本变为标注样本,以更新所述第一实体样本集;
57、利用更新的所述第一实体样本集,重复执行所述训练步骤训练所述命名实体识别网络,得到训练后的所述命名实体识别网络。
58、为实现上述目的,本技术实施例的第三方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的方法。
59、为实现上述目的,本技术实施例的第四方面提出了一种存储介质,所述存储介质为计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的方法。
60、本技术实施例提出的网络安全命名实体识别方法、装置、设备和存储介质,网络安全命名实体识别方法利用标注样本同时输入原型网络模型、预训练模型和自训练模型,得到三个输出值输入相关性编码模型得到预测输出值,再根据预测输出值对命名实体识别网络进行训练,然后利用半监督的方式结合命名实体识别网络对未标注样本进行标注,更新标注样本集合后继续训练命名实体识别网络,直至训练完成,利用训练后的命名实体识别网络进行命名实体识别。本实施例通过半监督的学习方式对未标注样本进行标注,扩充样本集合,提高命名实体识别网络的训练精度,从而提升命名实体识别网络的识别准确率,能够更好地适应网络安全中小样本的命名实体识别场景。