面向非结构化数据的威胁情报实体关系抽取方法

未命名 07-23 阅读:135 评论:0


1.本发明涉及威胁情报命名实体识别领域,具体涉及一种面向非结构化数据的威胁情报实体关系抽取方法。


背景技术:

2.近年来,随着计算机网络与通信技术的快速发展,互联网与人类日常生活的联系愈发密切。互联网持续助力我国中小企业数字化转型,推动数字经济发展,促使数字红利普惠大众。互联网在智能制造、智慧交通和电子政务等领域得到广泛应用,对各行各业的影响力都在逐年增大。
3.与此同时,互联网网络安全面临着更为严峻的考验。根据国家互联网应急中心cncert发布的《2020年我国互联网网络安全态势综述》,2020年全年捕获的恶意程序样本数量超过4200万个,日均传播次数超过482万次。按照攻击目标ip地址统计,我国境内受恶意程序攻击的ip地址约5541万个,占我国ip地址总数的14.2%。同年,国家信息安全漏洞共享平台(cnvd)所收录的安全漏洞在数量上达到历史新高:20704个,同比增长27.9%。其中,“零日”漏洞数量为8902个,占比43.0%,同比增长56.0%。以上数据证明我国网络安全形势不容乐观。
4.此外,分布式拒绝服务(ddos)攻击作为一种难以防范的常见攻击手段,近年来发生频率有明显上升趋势。2020年,我国境内遭受大流量分布式拒绝服务攻击10.4万余次,日均发生量高达285起,同比增加29.5%。随着工业物联网技术的发展,越来越多的工业设备接入互联网,2020年共发现涉及重点行业(电力,石油天然气,轨道交通)联网监控管理系统的高危漏洞142个,其影响不可忽视。
5.在当前网络环境下,尽管防火墙、杀毒软件、入侵检测系统等传统安全技术已被广泛应用并取得了一定的效果,但在面对“零日”漏洞攻击和高级持续威胁(apt)攻击时也表现出一些不足。人们开始把目光投向威胁情报以寻求解决网络安全问题的新思路。威胁情报是一种基于证据的知识,包括上下文、机制、标示、含义和能够执行的建议,这些知识与资产所面临已有的或酝酿中的威胁或危害相关,可用于资产相关主体对威胁或危害的响应或处理决策提供信息支持。
6.近年来,威胁情报驱动的网络安全主动防御模式作为新的发展方向备受学术界和产业界关注,不少安全组织、安全厂商开始研究和应用威胁情报并据此提供相关服务。通过主动对数据进行采集,提炼与分析,威胁情报可以整合已经发生或正在发生的网络安全事件信息,做到提早发现网络威胁,进而采取措施以达到事先预防或减少损失和危害的作用。
7.然而,威胁情报的发展仍然面临诸多挑战。荷兰政府高级网络威胁情报分析师kris ossthoek在《国际情报与反情报杂志》上撰文指出威胁情报的开发利用具有如下难点:首先,威胁情报缺乏方法论。大多数威胁情报分析都是由警报和日志数据而不是预先确定的方法或假设进行输入驱动的。缺乏方法论使得企业难以分析每天产生的大量失陷指标(indicators of compromise,ioc)与特定威胁环境的相关性。其次,威胁情报的共享只是
action、url、domain、ip;威胁情报实体间关系共有7种,分别是使用、攻击、源于、相似、相同、拥有、应对。
22.进一步地,上述步骤s2中的原始数据集源自非结构化的apt报告,对apt报告文本进行人工标注得到原始标注数据集;原始标注数据集经由模板句子填充算法进行数据增强后得到增强数据集。
23.进一步地,上述步骤s4的模板句子填充算法具体包括以下步骤:
24.s4.1将训练集中的句子转化为bio标注模式;
25.s4.2将模板句子的bio标注结果和威胁情报领域词汇知识库作为输入,对于模板句子bio标注结果中的每一行,分别获取它的单词和标签;
26.s4.3如果标签是o,则将单词和标签拼接后存入列表;如果标签不是o,从知识库中获取一个领域词汇,判断一下领域词汇由几个单词组成;
27.s4.4如果领域词汇由一个单词组成,则将领域词汇与相应标签拼接后存入列表,如果领域词汇由多个单词组成,则将领域词汇的第一个单词与b-标签拼接后存入列表,将领域词汇第二个及以后的单词与i-标签拼接后存入列表;最后返回一个由填充模板生成的句子组成的句子列表并输出该列表。
28.进一步地,上述步骤s5具体包括以下内容:
29.s5.1将s4生成的句子输入bert,由bert根据每个输入单词的上下文动态地为其生成词向量,所述词向量用来表示单词的语义信息;
30.s5.2将s5.1生成的词向量输入双向lstm编码器,lstm编码器从两个方向(前向和后向)对输入序列的时序关系进行编码并输出隐状态序列;
31.s5.3使用crf条件随机场对s5.2输出的隐状态序列进行解码并输出句子对应的标签序列,对于输出序列r={r1,r2,

,rn}的上下文编码模块,给定输入和输出的匹配得分计算方法表示为:
[0032][0033]
其中p表示bilstm层的特征矩阵,a表示crf层的状态转移得分矩阵,表示从yi标签到y
i+1
标签的转换分数;
[0034]
s5.4对输入序列r的所有可能标签序列进行softmax得到预测标签y,得到的预测标签即为对应的实体类型,其定义表示为:
[0035][0036]
s5.5在模型训练中,使用最大对数似然估计来获得损失函数,具体过程表示为:
[0037][0038]
最终将s5.4得到的预测标签映射到实体类型并输出。
[0039]
进一步地,上述lstm编码器的计算单元三种门结构:输入门、遗忘门和输出门;
[0040]
具体计算过程如下:
[0041]ft
=σ(wf*[c
t-1
,h
t-1
,x
t
]+bf)
[0042]it
=σ(wi*[c
t-1
,h
t-1
,x
t
]+bi)
[0043]ot
=σ(wo*[c
t-1
,h
t-1
,x
t
]+bo)
[0044][0045][0046]
其中(f
t
,i
t
,o
t
,c
t
)分别表示遗忘门,输入门,输出门和单元状态,(wf,wi,wo,wc)和(bf,bi,bo,bc)分别表示遗忘门,输入门,输出门和记忆单元的权重矩阵和偏置向量;x
t
和h
t
表示t时刻的输入向量和隐藏层向量;σ和tanh是激活函数。
[0047]
进一步地,上述步骤p1包括以下具体内容:
[0048]
p1.1输入全文文本字符串、实体列表和关系列表;
[0049]
p1.2对于关系列表中的每一条记录,从实体列表中获取该关系涉及的两个实体;
[0050]
p1.3将左指针设为两个实体中靠前实体的开始索引,右指针设为两个实体中靠后实体的结束索引;
[0051]
p1.4进入循环直到使用关键字break跳出,如果左指针大于零且左指针指向英文句号,判断左指针到字符串末尾是否包含英文句子结尾特征,如果包含则左指针索引为目标句子的起始索引;同理可获得目标句子的结束索引;
[0052]
p1.5返回并输出目标句子的起始索引、结束索引,头实体信息和尾实体信息。
[0053]
进一步地,上述步骤p2包括以下具体内容:
[0054]
p2.1将p1.5输出的实体语义信息和实体边界信息进行融合,使实体的边界信息和类型信息体现在实体两侧的标签中;
[0055]
p2.2给定包含实体e1和e2的句子s,输入bert,输出向量h;
[0056]
p2.3对组成实体的每个单词的词向量求平均得到该实体的表征向量,将两个实体的表征向量送入tanh激活函数和一个全连接层,输出分别记为h
′1和h
′2,计算过程表示为:
[0057][0058][0059]
其中,向量hi到hj表示实体e1的词向量,向量h
x
到hy表示实体e2的词向量,w1=w2∈r
d*d
,b1=b2为偏差向量,d是bert隐状态向量大小;
[0060]
p2.4将cls生成的句向量送入tanh激活函数和一个全连接层,表示为:
[0061]h′0=w0[tanh(h0)]+b0[0062]
其中,w0∈r
d*d
,b0为偏差向量,d是bert隐状态向量大小;
[0063]
所述cls表示classification,是bert模型用于文本分类任务的标记;其通过自注意力机制来获取句子级别的信息表示,它对应的向量为包含句子语义信息的句向量;
[0064]
p2.5将h
′0,h
′1和h
′2拼接后送入一个全连接层和一个softmax层,得到输出向量p,该过程表示为:
[0065]h″
=w3[concat(h
′0,h
′1,h
′2)]+3[0066]
p=softmax(h

)
[0067]
其中,l是关系类别数量,b3是偏差向量,输出向量p∈r
l
;r
l
为关系集合;
[0068]
p2.6取p中值最大的项所对应的关系即是输出的关系。
[0069]
本发明的有益效果:
[0070]
1.与现有数据增强方法相比,本方法通过增加漏洞、域名、ip这3类实体的实体数量,增加攻击组织和恶意软件这两类实体的样本多样性,寻找包含待增强类型实体的句子作为模板句子,将知识库中同类型实体填入模板句子生成新的包含特定类型实体的句子,将新生成的句子加入训练集以实现数据增强从而提升语义准确性。
[0071]
2.本方法在威胁情报实体关系抽取任务中在将实体语义信息和实体边界信息进行融合的基础上将实体类型信息添加到bert句向量中以帮助模型更好地进行关系分类。
附图说明
[0072]
图1为本发明威胁情报实体关系抽取全流程图;
[0073]
图2为本发明威胁情报命名实体识别流程图;
[0074]
图3为本发明威胁情报命名实体识别模型图;
[0075]
图4为本发明威胁情报本体图;
[0076]
图5为本发明威胁情报关系抽取流程图;
[0077]
图6为本发明威胁情报关系抽取模型图。
具体实施方式
[0078]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。
[0079]
如图1所示,本发明为面向非结构化数据的威胁情报实体关系抽取方法,包括三个部分:
[0080]
1)威胁情报实体识别,整体威胁情报实体识别流程如图2所示,威胁情报识别模型如图3所示,包括如下步骤:
[0081]
s1:基于stix威胁情报标准定义威胁实体类型和威胁情报实体间关系,所定义的实体与关系如图4所示;
[0082]
s2:构建ner原始标注数据集、威胁情报领域词汇知识库;
[0083]
s3:在原始标注数据集中寻找包含待增强类型实体的句子作为模板句子,将威胁情报领域词汇知识库中的同类型实体填入模板句子生成新的包含特定类型实体的句子,将新生成的句子加入ner原始标注数据集中;
[0084]
作为本发明的优选实施例,上述模板句子虽然可以重复使用,但仍需控制每个模板句子在增强数据中出现的次数以防止过拟合。每个模板句子在增强数据中出现的次数n
表示为:
[0085][0086]
s4:填充模板句子:将模板句子转化为bio标注模式,并将标注结果与威胁情报领域词汇知识库作为输入,经由模板句子填充算法生成并输出模板填充后的句子,输出的句子构成增强数据集;
[0087]
s5:利用bert-bilstm-crf模型对步骤s4输出的增强数据集中的句子进行实体抽取,其中bert层负责根据每个输入单词的上下文动态地为其生成词向量,生成的词向量序列将作为bilstm层的输入;bilstm层负责对输入序列的时间关系进行编码,并输出隐藏状态序列;crf层对隐状态序列进行解码得到句子对应的标签序列,所得到的标签序列即为实体类型;
[0088]
2)实体识别完成后进行威胁情报关系抽取,整体威胁情报关系抽取流程如图5所示,威胁情报抽取模型如图6所示,包括如下步骤:
[0089]
p1:从原始威胁情报文本中提取包含实体关系的句子;
[0090]
p2:抽取威胁情报实体关系:将原始标注数据集中的威胁情报文本字符串、实体抽取步骤获得的实体列表与s1定义的关系列表作为输入进行句子提取,而后输出每个句子的起始索引、结束索引,头实体信息和尾实体信息,再利用输出的信息进行威胁情报实体关系抽取;
[0091]
3)在实体抽取和关系抽取全部完成后,将抽取完成的实体与关系信息输入图数据库以构建威胁情报知识图谱,所述图数据库使用neo4j数据库。
[0092]
应用于知识图谱领域的威胁情报本体时,部分stix2.1中的威胁实体可能并不适用。对于stix2.1中的18类威胁实体是否适用于本发明提出的威胁情报本体,需要进行取舍。
[0093]
对于indicator、infrastructure和observeddata。indicator表示攻击过程中的失陷指标(ioc);observeddata表示攻击过程中可以观察到的数据,在apt报告中以失陷指标为主;infrastructure指攻击活动中涉及的物理或虚拟资源,在apt报告中通常使用ip或域名来描述apt组织所使用的资源,如c2服务器。三者存在语义上的重叠,都包含失陷指标相关内容,因此将三者细化为url、域名和ip,并归入infrastructure类别。其次是threat actor、campaign和intrusion set。campaign是intrusion set的一部分,apt报告通常描述某个campaign或某个campaign的部分阶段,因此将两者合并为campaign。threat actor作为campaign的主角,与campaign存在参与关系,因此予以保留。
[0094]
进一步,考虑attack pattern、malware、malware analysis和tool。对于malware和malware analysis,威胁情报领域有专门的恶意软件分析报告,但apt报告通常只包含恶意软件名称和功能等基本描述,不包括对该恶意软件的分析,因此将malware和malware analysis合并为malware。而attack pattern、malware和tool三者属于ttp的范畴,在apt报告中attack pattern会被细化为apt组织所使用的技术和相应攻击流程的描述,因此使用technique代替attack pattern,并保留malware和tool。
[0095]
进一步,考虑course of action、vulnerability、identity和location。courseofaction描述了应对ttp和某些安全漏洞的方法和措施;location是apt报告中的常
见信息,也是构成威胁情报知识图谱的重要信息,包括apt组织、恶意软件等实体的来源地点和被攻击的地点;identity能够以不同身份出现在apt报告中,如apt组织、被攻击的机构等。因此,对上述4类威胁实体予以保留。此外,行业(industry)作为被apt组织攻击的目标,常与地点一起出现,因而将industry添加为威胁实体。
[0096]
进一步,考虑grouping、report、note和opinion。stix2.1中没有明确定义grouping、note和opinion与其他stix对象之间的关系,且三者更适用于威胁情报交换或协同威胁分析等场景。对于构建威胁情报知识图谱,这三类威胁实体并不是必须的。report在本发明中以apt报告实例的形式作为数据源,因而不单独将其列为一类威胁实体。因此,以上4类威胁实体不予以保留。
[0097]
作为本发明的优选实施例,步骤s1中的实体类型包含13类,分别是threat actor、campaign、malware、technique、tool、identity、location、industry、vulnerability、course of action、url、domain、ip;威胁情报实体间关系共有7种,分别是使用、攻击、源于、相似、相同、拥有、应对。
[0098]
作为本发明的优选实施例,步骤s2中的原始数据集源自非结构化的apt报告,对apt报告文本进行人工标注得到原始标注数据集;原始标注数据集经由模板句子填充算法进行数据增强后得到增强数据集。
[0099]
作为本发明的优选实施例,威胁情报领域词汇知识库由威胁情报实体词汇组成,共构建5个知识库,涵盖了待增强的实体类型,即攻击组织、恶意软件、漏洞、域名和ip。
[0100]
作为本发明的优选实施例,步骤s4的模板句子填充算法具体包括以下步骤:
[0101]
s4.1将训练集中的句子转化为bio标注模式;
[0102]
s4.2将模板句子的bio标注结果和威胁情报领域词汇知识库作为输入,对于模板句子bio标注结果中的每一行,分别获取它的单词和标签;
[0103]
s4.3如果标签是o,则将单词和标签拼接后存入列表;如果标签不是o,从知识库中获取一个领域词汇,判断一下领域词汇由几个单词组成;
[0104]
s4.4如果领域词汇由一个单词组成,则将领域词汇与相应标签拼接后存入列表,如果领域词汇由多个单词组成,则将领域词汇的第一个单词与b-标签拼接后存入列表,将领域词汇第二个及以后的单词与i-标签拼接后存入列表;最后返回一个由填充模板生成的句子组成的句子列表并输出该列表。
[0105]
作为本发明的优选实施例,步骤s5具体包括以下内容:
[0106]
s5.1将s4生成的句子输入bert,由bert根据每个输入单词的上下文动态地为其生成词向量,所述词向量用来表示单词的语义信息;
[0107]
图3与图6中的[cls]表示classification,是bert模型用于文本分类任务的标记。[cls]通过自注意力机制来获取句子级别的信息表示,它对应的向量为包含句子语义信息的句向量。本发明中加入[cls]是bert输入格式需要,与命名实体识别任务无关。
[0108]
s5.2将s5.1生成的词向量输入双向lstm编码器,lstm编码器从两个方向(前向和后向)对输入序列的时序关系进行编码并输出隐状态序列;
[0109]
s5.3使用crf条件随机场对s5.2输出的隐状态序列进行解码并输出句子对应的标签序列,对于输出序列r={r1,r2,

,rn}的上下文编码模块,给定输入和输出的匹配得分计算方法表示为:
[0110][0111]
其中p表示bilstm层的特征矩阵,a表示crf层的状态转移得分矩阵,表示从yi标签到y
i+1
标签的转换分数;
[0112]
s5.4对输入序列r的所有可能标签序列进行softmax得到预测标签y,得到的预测标签即为对应的实体类型,其定义表示为:
[0113][0114]
s5.5在模型训练中,使用最大对数似然估计来获得损失函数,具体过程表示为:
[0115][0116]
最终将s5.4得到的预测标签映射到实体类型并输出。
[0117]
作为本发明的优选实施例,上述lstm编码器的计算单元三种门结构:输入门、遗忘门和输出门;
[0118]
具体计算过程如下:
[0119]ft
=σ(wf*[c
t-1
,h
t-1
,x
t
]+bf)
[0120]it
=σ(wi*[c
t-1
,h
t-1
,x
t
]+bi)
[0121]ot
=σ(wo*[c
t-1
,h
t-1
,x
t
]+bo)
[0122][0123][0124]
其中(f
t
,i
t
,o
t
,c
t
)分别表示遗忘门,输入门,输出门和单元状态,(wf,wi,wo,wc)和(bf,bi,bo,bc)分别表示遗忘门,输入门,输出门和记忆单元的权重矩阵和偏置向量;x
t
和h
t
表示t时刻的输入向量和隐藏层向量;σ和tanh是激活函数。
[0125]
作为本发明的优选实施例,步骤p1包括以下具体内容:
[0126]
p1.1输入全文文本字符串、实体列表和关系列表;
[0127]
p1.2对于关系列表中的每一条记录,从实体列表中获取该关系涉及的两个实体;
[0128]
p1.3将左指针设为两个实体中靠前实体的开始索引,右指针设为两个实体中靠后实体的结束索引;
[0129]
p1.4进入循环直到使用关键字break跳出,如果左指针大于零且左指针指向英文句号,判断左指针到字符串末尾是否包含英文句子结尾特征,如果包含则左指针索引为目标句子的起始索引;同理可获得目标句子的结束索引;
[0130]
p1.5返回并输出目标句子的起始索引、结束索引,头实体信息和尾实体信息。
[0131]
作为本发明的优选实施例,步骤p2包括以下具体内容:
[0132]
p2.1将p1.5输出的实体语义信息和实体边界信息进行融合,使实体的边界信息和类型信息体现在实体两侧的标签中;
[0133]
所述标签示例如下:如[e11:att]表示实体1的左侧边界,且该实体属于attacker类型;[e12:att]表示实体1的右侧边界,且该实体属于attacker类型;
[0134]
p2.2给定包含实体e1和e2的句子s,输入bert,输出向量h;
[0135]
p2.3对组成实体的每个单词的词向量求平均得到该实体的表征向量,将两个实体的表征向量送入tanh激活函数和一个全连接层,输出分别记为h
′1和h
′2,计算过程表示为:
[0136][0137][0138]
其中,向量hi到hj表示实体e1的词向量,向量h
x
到hy表示实体e2的词向量,w1=w2∈r
d*d
,b1=b2为偏差向量,d是bert隐状态向量大小;
[0139]
p2.4将cls生成的句向量送入tanh激活函数和一个全连接层,表示为:
[0140]h′0=w0[tanh(h0)]+b0[0141]
其中,w0∈r
d*d
,b0为偏差向量,d是bert隐状态向量大小;
[0142]
所述cls表示classification,是bert模型用于文本分类任务的标记;其通过自注意力机制来获取句子级别的信息表示,它对应的向量为包含句子语义信息的句向量;
[0143]
p2.5将h
′0,h
′1和h
′2拼接后送入一个全连接层和一个softmax层,得到输出向量p,该过程表示为:
[0144]h″
=w3[concat(h
′0,h
′1,h
′2)]+3[0145]
p=softmax(h

)
[0146]
其中,l是关系类别数量,b3是偏差向量,输出向量p∈r
l
;r
l
为关系集合;
[0147]
p2.6取p中值最大的项所对应的关系即是输出的关系。
[0148]
以上实施例仅用于说明本发明的设计思想和特点,其目的在于使本领域内的技术人员能够了解本发明的内容并据以实施,本发明的保护范围不限于上述实施例。所以,凡依据本发明所揭示的原理、设计思路所作的等同变化或修饰,均在本发明的保护范围之内。

技术特征:
1.一种面向非结构化数据的威胁情报实体关系抽取方法,其特征在于,包括以下三个部分:1)威胁情报实体抽取,包括如下步骤:s1:基于stix威胁情报标准定义威胁实体类型和威胁情报实体间关系;s2:构建ner原始标注数据集、威胁情报领域词汇知识库;s3:在原始标注数据集中寻找包含待增强类型实体的句子作为模板句子,将威胁情报领域词汇知识库中的同类型实体填入模板句子生成新的包含特定类型实体的句子,将新生成的句子加入ner原始标注数据集中;s4:填充模板句子:将模板句子转化为bio标注模式,并将标注结果与威胁情报领域词汇知识库作为输入,经由模板句子填充算法生成并输出模板填充后的句子,输出的句子构成增强数据集;s5:利用bert+bilstm+crf模型对步骤s4输出的增强数据集中的句子进行实体抽取,其中bert层负责根据每个输入单词的上下文动态地为其生成词向量,生成的词向量序列将作为bilstm层的输入;bilstm层负责对输入序列的时间关系进行编码,并输出隐藏状态序列;crf层对隐状态序列进行解码得到句子对应的标签序列,所得到的标签序列即为实体类型;2)实体抽取完成后进行威胁情报关系抽取,包括如下步骤:p1:从原始标注数据集中提取包含实体关系的句子;p2:抽取威胁情报实体关系:将原始标注数据集中的威胁情报文本字符串、实体抽取步骤获得的实体列表与s1定义的关系列表作为输入进行句子提取,而后输出每个句子的起始索引、结束索引,头实体信息和尾实体信息,再利用输出的信息进行威胁情报实体关系抽取;3)在实体抽取和关系抽取全部完成后,将抽取完成的实体与关系信息输入图数据库以构建威胁情报知识图谱,所述图数据库使用neo4j数据库。2.如权利要求1所述的面向非结构化数据的威胁情报实体关系抽取方法,其特征在于,所述步骤s1中的实体类型包含13类,分别是threat actor、campaign、malware、technique、tool、identity、location、industry、vulnerability、course of action、url、domain、ip;威胁情报实体间关系共有7种,分别是使用、攻击、源于、相似、相同、拥有、应对。3.如权利要求1所述的面向非结构化数据的威胁情报实体关系抽取方法,其特征在于,所述步骤s2中的原始数据集源自非结构化的apt报告,对apt报告文本进行人工标注得到原始标注数据集;原始标注数据集经由模板句子填充算法进行数据增强后得到增强数据集。4.如权利要求1所述的面向非结构化数据的威胁情报实体关系抽取方法,其特征在于,所述步骤s4的模板句子填充算法具体包括以下步骤:s4.1将训练集中的句子转化为bio标注模式;s4.2将模板句子的bio标注结果和威胁情报领域词汇知识库作为输入,对于模板句子bio标注结果中的每一行,分别获取它的单词和标签;s4.3如果标签是o,则将单词和标签拼接后存入列表;如果标签不是o,从知识库中获取一个领域词汇,判断一下领域词汇由几个单词组成;s4.4如果领域词汇由一个单词组成,则将领域词汇与相应标签拼接后存入列表,如果
领域词汇由多个单词组成,则将领域词汇的第一个单词与b-标签拼接后存入列表,将领域词汇第二个及以后的单词与i-标签拼接后存入列表;最后返回一个由填充模板生成的句子组成的句子列表并输出该列表。5.如权利要求1所述的面向非结构化数据的威胁情报实体关系抽取方法,其特征在于,所述步骤s5具体包括以下内容:s5.1将s4生成的句子输入bert,由bert根据每个输入单词的上下文动态地为其生成词向量,所述词向量用来表示单词的语义信息;s5.2将s5.1生成的词向量输入双向lstm编码器,lstm编码器从两个方向(前向和后向)对输入序列的时序关系进行编码并输出隐状态序列;s5.3使用crf条件随机场对s5.2输出的隐状态序列进行解码并输出句子对应的标签序列,对于输出序列r={r1,r2,...,rn}的上下文编码模块,给定输入和输出的匹配得分计算方法表示为:其中p表示bilstm层的特征矩阵,a表示crf层的状态转移得分矩阵,表示从y
i
标签到y
i+1
标签的转换分数;s5.4对输入序列r的所有可能标签序列进行softmax得到预测标签y,得到的预测标签即为对应的实体类型,其定义表示为:s5.5在模型训练中,使用最大对数似然估计来获得损失函数,具体过程表示为:最终将s5.4得到的预测标签映射到实体类型并输出。6.如权利要求5所述的面向非结构化数据的威胁情报实体关系抽取方法,其特征在于,所述lstm编码器的计算单元三种门结构:输入门、遗忘门和输出门;具体计算过程如下:f
t
=σ(w
f
*[c
t-1
,h
t-1
,x
t
]+b
f
)i
t
=σ(w
i
*[c
t-1
,h
t-1
,x
t
]+b
i
)o
t
=σ(w
o
*[c
t-1
,h
t-1
,x
t
]+b
o
))其中(f
t
,i
t
,o
t
,c
t
)分别表示遗忘门,输入门,输出门和单元状态,(w
f
,w
i
,w
o
,w
c
)和(b
f
,b
i
,b
o
,b
c
)分别表示遗忘门,输入门,输出门和记忆单元的权重矩阵和偏置向量;x
t
和h
t
表示t时刻的输入向量和隐藏层向量;σ和tanh是激活函数。7.如权利要求1所述的面向非结构化数据的威胁情报实体关系抽取方法,其特征在于,
所述步骤p1包括以下具体内容:p1.1输入全文文本字符串、实体列表和关系列表;p1.2对于关系列表中的每一条记录,从实体列表中获取该关系涉及的两个实体;p1.3将左指针设为两个实体中靠前实体的开始索引,右指针设为两个实体中靠后实体的结束索引;p1.4进入循环直到使用关键字break跳出,如果左指针大于零且左指针指向英文句号,判断左指针到字符串末尾是否包含英文句子结尾特征,如果包含则左指针索引为目标句子的起始索引;同理可获得目标句子的结束索引;p1.5返回并输出目标句子的起始索引、结束索引,头实体信息和尾实体信息。8.如权利要求1所述的面向非结构化数据的威胁情报实体关系抽取方法,其特征在于,所述步骤p2包括以下具体内容:p2.1将p1.5输出的实体语义信息和实体边界信息进行融合,使实体的边界信息和类型信息体现在实体两侧的标签中;p2.2给定包含实体e1和e2的句子s,输入bert,输出向量h;p2.3对组成实体的每个单词的词向量求平均得到该实体的表征向量,将两个实体的表征向量送入tanh激活函数和一个全连接层,输出分别记为h
′1和h
′2,计算过程表示为:,计算过程表示为:其中,向量h
i
到h
j
表示实体e1的词向量,向量h
x
到h
y
表示实体e2的词向量,w1=w2∈r
d*d
,b1=b2为偏差向量,d是bert隐状态向量大小;p2.4将cls生成的句向量送入tanh激活函数和一个全连接层,表示为:h
′0=w0[tanh(h0)]+b0其中,w0∈r
d*d
,b0为偏差向量,d是bert隐状态向量大小;所述cls表示classification,是bert模型用于文本分类任务的标记;其通过自注意力机制来获取句子级别的信息表示,它对应的向量为包含句子语义信息的句向量;p2.5将h
′0,h
′1和h
′2拼接后送入一个全连接层和一个softmax层,得到输出向量p,该过程表示为:h

=w3[concat(h
′0,h
′1,h
′2)]+b3p=softmax(h

)其中,w3∈r
l*3d
,l是关系类别数量,b3是偏差向量,输出向量p∈r
l
;r
l
为关系集合;p2.6取p中值最大的项所对应的关系即是输出的关系。

技术总结
本发明涉及威胁情报命名实体识别领域,具体涉及一种面向非结构化数据的威胁情报实体关系抽取方法,基于数据增强和BERT的威胁情报命名实体识别方法和融合多元实体信息的威胁情报实体关系抽取方法来对非结构化文本中的网络威胁情报实体关系进行准确抽取。本发明通过增加漏洞、域名、IP的实体数量,增加攻击组织和恶意软件实体的样本多样性,寻找包含待增强类型实体的句子作为模板句子,将知识库中同类型实体填入模板句子生成新的包含特定类型实体的句子,将新生成的句子加入训练集以实现数据增强从而提升语义准确性。本发明将实体语义信息和实体边界信息进行融合,将实体类型信息添加到BERT句向量中以帮助模型更好地进行关系分类。系分类。系分类。


技术研发人员:袁陈翔 朱小龙
受保护的技术使用者:江苏大学
技术研发日:2023.03.29
技术公布日:2023/7/22
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐