本发明属于网络安全,特别涉及一种基于深度学习的网络威胁情报关系三元组联合提取方法。
背景技术:
1、随着计算机网络的不断扩展,网络攻击也变得越来越复杂。传统的网络安全防御策略存在缺乏主动防御能力、过于依赖已知漏洞库、反应时间长、防御策略缺乏智能化和个性化等不足,导致其很难应对复杂多变的新型网络攻击。然而随着人工智能和大数据技术的爆炸式发展,将专家知识和海量数据相结合的知识图谱技术因其高效搜索能力和强大的推理能力广受追捧,网络安全领域的专家学者们也开始利用知识图谱技术来帮助系统高效的应对复杂多变的网络攻击环境。在这之前需要先构建网络威胁情报知识图谱,其中关系三元组作为知识图谱的基本单元,关系三元组提取技术更是重中之重。
2、网络威胁情报关系三元组提取可分为实体提取和关系提取,其中流水线式的方式就是将两个任务分别独立进行,联合提取的方式就是将这两个任务同时进行。主要任务都是从海量半结构化和非结构化威胁情报数据中抽取预定义的实体和关系类别的实体和关系。目的是对海量多源异构网络威胁情报数据进行细粒度的深度关联分析和挖掘,以提取有用的信息。
3、网络威胁情报关系三元组提取技术相较于通用领域内的关系三元组提取技术,由于关注的实体和关系类别不同,存在以下难点:(a)网络威胁情报实体类型较多且变化频率高;(b)网络威胁情报实体语义相似度高,易混淆;(c)网络威胁情报文本通常单句较长,实体对之间相关性较弱;(d)网络威胁情报中重叠三元组较多,三元组之间的差异性不易识别,需深度挖掘细粒度的特征。
技术实现思路
1、有鉴于现有技术的上述缺陷,本发明的目的在于提供一种基于深度学习的网络威胁情报关系三元组联合提取方法,构建一种基于跨度的多模态信息感知嵌入机制的关系三元组联合提取模型,该模型基于深度神经网络,采用如下技术方案:(a)使用联合提取的方法来同时提取实体和关系,解决了实体和关系提取任务之间交互缺失的问题;(b)使用基于跨度的方法,解决了重叠实体的问题;(c)使用bert大规模预训练模型对文本进行向量表示。由于预训练模型包含了从大规模语料库中学习到的上下文信息,可以极大丰富模型对威胁情报文本的语义表达;(d)融合多种模态信息,如时序、依赖关系、跨度、标签等,增强多模态信息之间的交互。缓解了文本跨度长、实体语义相似度高、实体之间相关性弱的问题。
2、本发明提出一种基于深度学习的网络威胁情报关系三元组联合提取方法,包括以下步骤:
3、步骤s1:将输入文本信息转换为向量表示并获取语义信息:对实体和关系类型词进行编码获取标签词,将网络威胁情报句子序列进行编码得到句子序列s;
4、步骤s2:获取句子表示序列s每个分词在句中的时序信息和长期依赖关系,得到句子表示序列t;
5、步骤s3:获取输入序列t每个分词之间的句法依赖关系及其标签,获取分词的句法依赖信息嵌入句子表示序列t,结合依赖类型注意分数和标准gcn公式计算得到句子表示序列h;
6、步骤s4:提取实体跨度:枚举出所有可能的跨度,将句子表示序列h以跨度为中心分成三部分,并将这三部分分别进行最大池化整合跨度特征,获取跨度时序信息、跨度和实体标签的交互信息,过滤冗余跨度,得到实体跨度集合l;
7、步骤s5:提取关系三元组:根据实体跨度集合l枚举出所有可能的实体对,将句子表示序列l以实体跨度对为中心分成五部分,并将实体跨度对以外的这三部分分别进行最大池化整合跨度特征,获取实体跨度对时序信息、实体跨度对和关系标签的交互信息,将实体跨度对序列输入共预测器得到关系三元组集合ts;
8、步骤s6:将网络威胁情报进行迭代训练得到网络威胁情报关系三元组联合提取模型;
9、步骤s7:将海量网络威胁情报输入网络威胁情报关系三元组联合提取模型得到关系三元组。
10、进一步的,步骤s1中将输入文本信息中每个单词分解成更细颗粒度的分词集输入bert模型中进行编码。
11、进一步的,步骤s1中,利用bert模型对实体和关系类型词进行编码,得到实体和关系类型词嵌入分别为和其中,de为实体类型标签词嵌入维度,z代表实体类型标签词的数量,dr为关系类型标签词嵌入维度,r为关系类型标签词的个数。
12、进一步的,步骤s2中,将编码层输出的句子表示序列s输入bilstm网络进行特征提取,获取每个分词在句中的时序信息和长期依赖关系。
13、进一步的,步骤s3中,首先使用stanford core-nlp工具包,创建的类型邻接矩阵tp(tpi,j)n×n,其中的tpi,j代表ti和tj之间的依赖关系类型,获取输入句子表示序列t中分词之间的句法依赖关系和依赖关系标签,然后将t和tp(tpi,j)n×n输入a-gcn获取分词的句法依赖信息。
14、进一步的,步骤s4中,将三个表示序列连接输入bilstm网络获取跨度时序信息,利用一个多层感知机mlp将跨度尺寸信息融入跨度表示,利用缩放点积注意力机制获取基于实体标签的跨度表示,连接输入实体提取器,过滤冗余跨度,得到符合要求的跨度集合l。
15、进一步的,步骤s5中,五个表示序列连接输入bilstm网络获取实体跨度对时序信息,利用加性注意力机制获取基于关系标签的实体跨度对表示,将强化后的实体跨度对表示序列,输入一个多层感知机mlp1中计算实体对关系分数,将实体解码层输入的原始实体跨度对,使用双仿射预测器计算实体对关系分数,将两次实体对关系分数结合输入共预测层。为了识别重叠关系,共预测层使用sigmoid激活函数来获取关系概率,将关系概率大于等于0.5的关系三元组存储到ts。
16、进一步的,步骤s6中,对dnrti数据集进行关系标注得到re-dnrti数据集,输入至网络威胁情报关系三元组联合提取模型进行50次迭代训练,选取最佳效果时的参数设定,得到最佳网络威胁情报关系三元组联合提取模型。
17、进一步的,步骤s7中,将海量网络威胁情报以句子为单位进行划分,输入网络威胁情报关系三元组联合提取模型以得到关系三元组。
18、进一步的,构建基于深度学习的网络威胁情报关系三元组联合提取模型,包括构建编码层、时序嵌入层、依赖嵌入层、实体解码层、关系解码层,编码层设置有bert模型进行句子编码和标签编码,时序嵌入层设置有bilstm网络融合时序编码,依赖嵌入层设置a-gcn网络将依赖信息嵌入句子表示,实体解码层设置bilstm网络、注意力机制、实体提取器,关系解码层设置有bilstm网络、注意力机制、共预测器;编码层连接时序嵌入层,时序嵌入层连接依赖嵌入层,依赖嵌入层连接实体解码层,实体解码层连接关系解码层,编码层还连接实体解码层和关系解码层。
19、本发明的有益效果:
20、本发明提出一种基于跨度的多模态信息感知嵌入机制的关系三元组联合提取模型,该模型针对网络威胁情报领域关系三元组提取技术现存难点而设计。使用联合提取的方法,让实体提取和关系提取共享参数,解决了流水线式实体和关系提取任务交互缺失的问题。使用基于跨度的方法,解决了重叠实体的问题。使用多模态信息感知嵌入机制,将语义、时序、标签、跨度等多种不同模态的信息嵌入句子表示,增强了各模态信息之间的交互,缓解了文本跨度长、实体语义相似度高、实体之间相关性弱的问题。在网络威胁情报领域,相较于传统基于神经网络的关系三元组提取模型,本发明的识别效果具有显著优越性。