CN115129896A - 基于对比学习的网络安全应急响应知识图谱关系提取方法 - Google Patents

基于对比学习的网络安全应急响应知识图谱关系提取方法 Download PDF

Info

Publication number
CN115129896A
CN115129896A CN202211009713.5A CN202211009713A CN115129896A CN 115129896 A CN115129896 A CN 115129896A CN 202211009713 A CN202211009713 A CN 202211009713A CN 115129896 A CN115129896 A CN 115129896A
Authority
CN
China
Prior art keywords
relation
vector
network security
negative
sentence
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202211009713.5A
Other languages
English (en)
Other versions
CN115129896B (zh
Inventor
车洵
孙捷
胡牧
梁小川
刘志顺
金奎�
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Big data Security Technology Co.,Ltd.
Original Assignee
Nanjing Zhongzhiwei Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nanjing Zhongzhiwei Information Technology Co ltd filed Critical Nanjing Zhongzhiwei Information Technology Co ltd
Priority to CN202211009713.5A priority Critical patent/CN115129896B/zh
Publication of CN115129896A publication Critical patent/CN115129896A/zh
Application granted granted Critical
Publication of CN115129896B publication Critical patent/CN115129896B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/367Ontology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/205Parsing
    • G06F40/211Syntactic parsing, e.g. based on context-free grammar [CFG] or unification grammars
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Biophysics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Animal Behavior & Ethology (AREA)
  • Databases & Information Systems (AREA)
  • Machine Translation (AREA)

Abstract

本发明公开了基于对比学习的网络安全应急响应知识图谱关系提取方法,包括以下步骤:准备一个网络安全应急响应文本集合,其中包含若干个网络安全应急响应句子,每个句子分别包含两个实体和一个实体关系;对每个网络安全应急响应句子进行标记处理,然后将其输入连接编码器和解码器中,得到一个初步的预测关系向量;通过生成若干个负样本,生成对应的负样本关系向量;通过生成一个正样本,生成该正样本关系向量;在训练的过程中不断优化初步的预测关系向量,让其和负样本关系向量之间的距离变远,让其和正样本关系向量之间的距离变近,得到准确的预测关系向量,然后再将预测关系向量输入预训练好的关系分类器中得到所预测的关系。

Description

基于对比学习的网络安全应急响应知识图谱关系提取方法
技术领域
本发明涉及网络安全领域,特别涉及基于对比学习的网络安全应急响应知识图谱关系提取方法。
背景技术
网络安全应急响应指的是人们为了应对各种网络上意外事件的发生所做的准备以及在网络事件发生后所采取的措施。在网络安全等级保护里应急响应是网络安全工作中最不可或缺的环节之一,它可以针对网络安全事件进行应急处理,保证相关业务的连续性、可用性,从而降低攻击所带来的破坏程度。现如今随着计算机技术的不断发展,网络上的网络安全威胁也变得日益复杂,传统的网络安全被动防御方法难以快速地应对日益复杂的威胁。知识图谱是一种强大的工具,在最近几年中,知识图谱被广泛应用在各个领域。为了应对日益复杂的网络安全威胁,人们提出了使用知识图谱来处理网络安全问题,网络安全应急响应知识图谱就此诞生。网络安全应急响应知识图谱是一种数据驱动的、线性的、计算能力非常强大的工具。网络安全应急响应知识图谱可以直观地反应网络安全实体和实体之间的关系,例如恶意软件和漏洞之间的利用关系,攻击者与组织之间的从属关系,以及软件与漏洞之间的关系,从事网络安全工作的人员可以通过网络安全应急响应知识图谱来更好地处理网络安全问题。在构建网络安全应急响应知识图谱的过程中,从网络安全应急响应文本库中提取实体之后,得到的是一些很分散的实体,还需要获得各个实体之间的关系。关系提取是网络安全应急响应知识图谱中的一项非常重要的任务。
关系提取RE是自然语言处理NLP中很重要的一部分。现如今已经有许多关系提取方法,例如自举、无监督关系分类和监督分类。大多数现有的关系提取方法都需要大量标记的特定于关系的训练数据,这非常耗时且费力。在网络安全应急响应知识图谱建立过程中的关系抽取模块中,缺乏用于训练的标记数据是构造网络安全应急响应知识图谱时面临的一个挑战。应对这一困难的一个常用技术是自然语言处理中的远程监督。远程监督策略是一种自动标记训练数据的有效方法。远程监督多用于提取精细特征,如句法结构等,但是这种方法存在以下问题:(1)远程监督中的假设太强,会导致标签错误问题;(2)这种方法需要大量的人工标注的网络安全应急响应知识文本,但是在网络安全邻域内的知识文本数量并不是很多,人工标注的知识文本成本太高;(3)这种方法的泛化性太弱,这种方法得到的模型往往是比较“脆弱”的,不能有很好的泛化性,不能区分一些比较相似的关系,或者是一个关系对应不同的实体的情况。因此,急需提供一种网络安全应急响应知识图谱的关系提取方法以解决上述问题。
发明内容
为实现上述目的,发明人提供了一种基于对比学习的网络安全应急响应知识图谱关系提取方法,包括以下步骤:
S1:准备一个网络安全应急响应文本集合,其中包含若干个网络安全应急响应句子,每个句子分别包含两个实体和一个实体关系;
S2:对每个网络安全应急响应句子进行标记处理,然后将其输入连接编码器和解码器中,得到一个初步的预测关系向量;
S3:通过生成若干个负样本,然后将负样本输入连接编码器和解码器中,生成对应的负样本关系向量;
S4:通过生成一个正样本,然后将该正样本输入连接编码器和解码器中,生成该正样本关系向量;
S5:在训练的过程中不断优化初步的预测关系向量,让其和负样本关系向量之间的距离变远,让其和正样本关系向量之间的距离变近,得到准确的预测关系向量,然后再将预测关系向量输入预训练好的关系分类器中得到所预测的关系。
作为本发明的一种优选方式,所述S1还包括以下步骤:准备一个网络安全应急响 应文本集合W,其中包括若干个网络安全应急响应句子,每个句子分别包含两个实体
Figure DEST_PATH_IMAGE002
Figure DEST_PATH_IMAGE004
,对于句子
Figure 345075DEST_PATH_IMAGE005
,先对该句子
Figure DEST_PATH_IMAGE006
进行标记,得到该句子的表示
Figure 674687DEST_PATH_IMAGE007
,n表示标记的总数,其中[CLS]表 示开始标志,其包含了整个句子的信息,[SPE]表示结束的标志,e和f表示
Figure 626463DEST_PATH_IMAGE002
开始和结束 标志的位置,u和m表示
Figure 505557DEST_PATH_IMAGE004
开始和结束标志的位置。
作为本发明的一种优选方式,所述S2包括以下步骤:将标记后的句子发送到连接 编码器中,获取该句子的实体表示,连接编码器输出的向量为
Figure DEST_PATH_IMAGE008
, 其中
Figure 540378DEST_PATH_IMAGE009
为[CLS]的输出,
Figure DEST_PATH_IMAGE010
为[SPE]的输出,并用下面两个公式表示获得两个实体的向 量:
Figure DEST_PATH_IMAGE011
Figure DEST_PATH_IMAGE012
其中 c 是一个超参数,
Figure DEST_PATH_IMAGE013
表示平均池化操作,
Figure DEST_PATH_IMAGE014
表示一个全连接操 作,
Figure 294970DEST_PATH_IMAGE015
表示一个正则化函数;
然后将
Figure DEST_PATH_IMAGE016
Figure DEST_PATH_IMAGE017
Figure DEST_PATH_IMAGE018
Figure DEST_PATH_IMAGE020
输入到解码器中得到初步的网络安全应急响应 关系向量
Figure DEST_PATH_IMAGE021
,表达式为:
Figure DEST_PATH_IMAGE022
其中
Figure DEST_PATH_IMAGE023
Figure DEST_PATH_IMAGE024
Figure DEST_PATH_IMAGE025
为可学习的参数,
Figure DEST_PATH_IMAGE026
代表矢量串联。
作为本发明的一种优选方式,所述S3中的负样本包括:随机负样本、关系实例负样本和遮蔽负样本。
作为本发明的一种优选方式,所述S3还包括以下步骤:对于句子
Figure DEST_PATH_IMAGE027
,挑选若干个 和句子
Figure 722540DEST_PATH_IMAGE027
均不相关的句子作为随机负样本
Figure DEST_PATH_IMAGE028
,即随机选出三个和网络安全不相关的数 据库,然后从每个数据库中随机选出一个句子,三个数据库选出三个句子组成随机负样本
Figure 987299DEST_PATH_IMAGE028
,再对这三个句子进行标记,标记后输入到连接编码器和解码器中,生成相应的随机负 样本向量,表示为:
Figure DEST_PATH_IMAGE029
Figure DEST_PATH_IMAGE030
Figure DEST_PATH_IMAGE031
然后取生成的这三个向量的平均值作为对比学习中随机负样本向量
Figure DEST_PATH_IMAGE032
,表达式 为:
Figure 836698DEST_PATH_IMAGE033
Figure DEST_PATH_IMAGE034
Figure 186908DEST_PATH_IMAGE035
之间的距离为
Figure DEST_PATH_IMAGE036
,表达式为:
Figure 637743DEST_PATH_IMAGE037
Figure 350484DEST_PATH_IMAGE034
Figure DEST_PATH_IMAGE038
之间的距离
Figure 743420DEST_PATH_IMAGE036
进行最大化。
作为本发明的一种优选方式,所述S3还包括以下步骤:随机的掩盖住句子
Figure 377663DEST_PATH_IMAGE027
中的 几个标记,即随机将若干个标记变为0,以生成遮蔽负样本
Figure 396304DEST_PATH_IMAGE039
,对遮蔽负样本
Figure 166814DEST_PATH_IMAGE039
进行标记, 标记后将其输入到连接编码器和解码器中,生成相应的遮蔽负样本向量
Figure DEST_PATH_IMAGE040
Figure 730650DEST_PATH_IMAGE040
Figure 275026DEST_PATH_IMAGE041
之间的距离为
Figure DEST_PATH_IMAGE042
,表达式为:
Figure 582511DEST_PATH_IMAGE043
Figure 269844DEST_PATH_IMAGE040
Figure 722691DEST_PATH_IMAGE041
之间的距离
Figure 862685DEST_PATH_IMAGE042
进行最大化。
作为本发明的一种优选方式,所述S3还包括以下步骤:将句子中的代表实例的标 记和代表关系的标记随机的用其他标记代替,以生成关系实例负样本
Figure DEST_PATH_IMAGE044
,对关系实例负样 本
Figure 973861DEST_PATH_IMAGE044
进行标记,标记后输入到连接编码器和解码器中,生成相应的关系实例负样本向量
Figure 718963DEST_PATH_IMAGE045
,当若干个句子不包含直接指示关系词的标记时,使用随机替换句子中的一定百分比的 标记作为替代方法,
Figure 844176DEST_PATH_IMAGE045
Figure DEST_PATH_IMAGE046
之间的距离
Figure 877991DEST_PATH_IMAGE047
,表达式为:
Figure DEST_PATH_IMAGE048
Figure 776546DEST_PATH_IMAGE045
Figure 438471DEST_PATH_IMAGE046
之间的距离
Figure 983853DEST_PATH_IMAGE047
进行最大化。
作为本发明的一种优选方式,所述S4还包括以下步骤:从训练的数据库中用一个 和句子
Figure 98440DEST_PATH_IMAGE049
拥有相同关系,但两个句子的实体不相同的正样本
Figure DEST_PATH_IMAGE050
,对
Figure 30712DEST_PATH_IMAGE050
进行标记,标记后将 其输入到连接编码器和解码器中,得到一个正样本向量
Figure 422510DEST_PATH_IMAGE051
Figure DEST_PATH_IMAGE052
Figure 919219DEST_PATH_IMAGE046
之间的距离为
Figure 521102DEST_PATH_IMAGE053
,表达式为:
Figure DEST_PATH_IMAGE054
Figure 512192DEST_PATH_IMAGE052
Figure 86392DEST_PATH_IMAGE046
之间的距离
Figure 521047DEST_PATH_IMAGE053
进行最小化。
作为本发明的一种优选方式,所述S5还包括步骤:将正样本的距离与三个负样本的距离作为一对计算进行比较,表达式为:
Figure 547909DEST_PATH_IMAGE055
其中i=1,2,3,
Figure DEST_PATH_IMAGE056
是一个超参数,其用于让正样本和负样本之间的距离差有缓冲 的空间,此时将第一个任务的目标表示为:
Figure 342690DEST_PATH_IMAGE057
在训练中,利用参数学习使
Figure DEST_PATH_IMAGE058
获得较小的数值,同时保证
Figure 223927DEST_PATH_IMAGE059
较大,此时正样本之间的距离较小,负样本之间的距离较大;
将第二个任务的目标表示为:
Figure DEST_PATH_IMAGE060
其中,
Figure 813171DEST_PATH_IMAGE061
代表真实的关系向量,
Figure DEST_PATH_IMAGE062
是一个超参数,用于保证训练数据的充分使用,
Figure 812482DEST_PATH_IMAGE063
表示
Figure DEST_PATH_IMAGE064
的长度;
结合第一个任务和第二个任务,将最终的目标函数表示为:
Figure 145375DEST_PATH_IMAGE065
其中
Figure DEST_PATH_IMAGE066
是第一个任务的目标,
Figure 881118DEST_PATH_IMAGE067
是第二个任务的目标,a和b是超参数;
在训练的过程中不断优化目标函数,使得预测关系向量
Figure 375685DEST_PATH_IMAGE046
逐渐接近真实的关系 向量,然后再将得到的预测关系向量
Figure 173876DEST_PATH_IMAGE046
输入预训练好的关系分类器中得到所预测的关系 R,表达式为:
Figure DEST_PATH_IMAGE068
其中CLS包含了一个全连接层、1x1的卷积层、一个激活层、一个softmax层。
作为本发明的一种优选方式,还包括测试步骤:所述测试步骤是将测试的句子进行标记处理后输入连接编码器中,再将其输入实体对合并模块,得到关系向量,然后再将得到的关系向量输入预训练好的关系分类器中,得到测试句子中的关系。
区别于现有技术,上述技术方案所达到的有益效果有:
本方法使用对比学习构建了一种关系提取的对比训练方法,用于网络安全应急响应知识图谱关系提取,不仅具有自然语言的可解释性和简单性,而且因为在训练中添加了正样本训练方法,所以对于相同实体关系对应不同实体的网络安全应急响应知识图谱关系的关系提取任务具有显着优势。
在方法上,考虑到模型的泛化能力,本方法构建了对比学习实例的生成方法用于关系提取,以及生成了一些负样本和正样本用于对抗训练,从而使得模型准确率、召回率、精准率和召回率的调和平均数值有了显着的提高。
附图说明
图1为具体实施方式所述方法流程图。
图2为具体实施方式中对比学习模块的流程图。
具体实施方式
为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。
知识图谱是网络安全应急响应中分析和处理数据的新思路,为了更好地将网络安全应急响应数据关联起来构造知识图谱,本发明提出了一种基于对比学习的网络安全应急响应知识图谱关系提取方法。该模型可以精确快速地提取网络安全应急响应文本中的实体和实体之间的关系,能够更快速地帮助建立网络安全应急响应知识图谱,该模型可以用于各个网络公司建立自己的网络安全应急响应知识图库。
如图1所示,图1为该方法的整体处理流程,主要包括如下处理过程:
S1:准备一个网络安全应急响应文本集合,其中包含若干个网络安全应急响应句子,每个句子分别包含两个实体和一个实体关系;
S2:对每个网络安全应急响应句子进行标记处理,然后将其输入连接编码器和解码器中,得到一个初步的预测关系向量;
S3:通过生成若干个负样本,然后将负样本输入连接编码器和解码器中,生成对应的负样本关系向量;
S4:通过生成一个正样本,然后将该正样本输入连接编码器和解码器中,生成该正样本关系向量;
S5:在训练的过程中不断优化初步的预测关系向量,让其和负样本关系向量之间的距离变远,让其和正样本关系向量之间的距离变近,得到准确的预测关系向量,然后再将预测关系向量输入预训练好的关系分类器中得到所预测的关系。
具体的,S1包括以下步骤:准备一个网络安全应急响应文本集合W,其中包括若干 个网络安全应急响应句子,每个句子分别包含两个实体
Figure 795613DEST_PATH_IMAGE069
Figure DEST_PATH_IMAGE070
,对于句子
Figure 402175DEST_PATH_IMAGE005
,先对该句子
Figure 395538DEST_PATH_IMAGE006
进行标记,得到该句子的表示
Figure DEST_PATH_IMAGE071
,n表示标记的总数,其中[CLS]表示开始标志,其包含了整个句子的信息,[SPE]表示结束的 标志,e和f表示
Figure 71239DEST_PATH_IMAGE069
开始和结束标志的位置,u和m表示
Figure 480355DEST_PATH_IMAGE070
开始和结束标志的位置。
如图1所示,S2包括以下步骤:将标记后的句子发送到连接编码器linkbert中,获 取该句子的实体表示,连接编码器输出的向量为
Figure DEST_PATH_IMAGE072
, 其中
Figure 951876DEST_PATH_IMAGE009
为[CLS]的输出,
Figure DEST_PATH_IMAGE073
为[SPE]的输出,并用下面两个公式表示获得两个实体的 向量:
Figure DEST_PATH_IMAGE074
Figure 584982DEST_PATH_IMAGE075
其中e和f表示
Figure 482400DEST_PATH_IMAGE069
开始和结束标志的位置,u和m表示
Figure 757524DEST_PATH_IMAGE070
开始和结束标志的位置 c 是一个超参数,
Figure DEST_PATH_IMAGE076
表示平均池化操作,
Figure DEST_PATH_IMAGE077
表示一个全连接操作,
Figure DEST_PATH_IMAGE078
表示一个正 则化函数;
为了捕捉实体中的进一步信息,我们将
Figure 761514DEST_PATH_IMAGE079
向量和
Figure DEST_PATH_IMAGE080
也考虑了进来,然后将
Figure 565522DEST_PATH_IMAGE081
Figure DEST_PATH_IMAGE082
Figure 950236DEST_PATH_IMAGE079
Figure 825788DEST_PATH_IMAGE080
输入到解码器中得到初步的网络安全应急响应关系向量
Figure DEST_PATH_IMAGE083
,表达 式为:
Figure DEST_PATH_IMAGE084
其中
Figure 684285DEST_PATH_IMAGE085
Figure DEST_PATH_IMAGE086
Figure 128035DEST_PATH_IMAGE087
为可学习的参数,
Figure DEST_PATH_IMAGE088
代表矢量串联。
很明显,实体是关系提取中最重要的一环,但实施例中不希望过于关注它而削弱 输入句子中的其他重要信息。因此,实施例中使用网络结构串联
Figure 531204DEST_PATH_IMAGE081
Figure 148130DEST_PATH_IMAGE082
Figure 31772DEST_PATH_IMAGE079
Figure 115266DEST_PATH_IMAGE080
来构建
Figure 84359DEST_PATH_IMAGE083
,它代表了我们这个模型的输入句子中包含的关系向量的粗略表示。
为了充分挖掘输入句子中包含的潜在牵连关系的信息,我们生成了一些负样本和一个正样本,用于在网络的训练过程中提高网络的性能。
负样本的选择对对比学习的效果有相当大的影响。负样本一般由一个批次中的其他样本产生。虽然这种方法简单方便,但显然有一定的缺陷。从经验的角度看,这种方式选取的负样本具有很强的随机性,可能会造成模型训练的波动,而这些选取的负样本是否真的能被视为模型的负样本用来训练还不确定。而且这种选取的负样本在可解释性方面也很难成立,可能会产生一些错误的负样本,并且其他样本可能与正样本有类似的关系描述,这将大大干扰模型的训练。
因此,在本实施例中,设计了三种不同的负样本生成的方式,它可以从正样本中生 成三种不同类型的负样本,分别为随机负样本、关系实例负样本和遮蔽负样本。因为关系实 例负样本,遮蔽负样本和的
Figure 193392DEST_PATH_IMAGE089
区别不是很大,所以这两个负样本也被称为弱负样本。
在本实施例中,S3还包括以下步骤:对于句子
Figure 931540DEST_PATH_IMAGE089
,挑选若干个和句子
Figure 451515DEST_PATH_IMAGE089
完全不相 关的句子作为随机负样本
Figure DEST_PATH_IMAGE090
,同时为了保证本模型的泛化性和负样本的可靠性,即随机选 出三个和网络安全不相关的数据库,然后从每个数据库中随机选出一个句子,三个数据库 总共选出三个句子,再对这三个句子进行标记,标记后输入到S2和S3中提到的连接编码器 和解码器中,生成相应的随机负样本向量,表示为:
Figure 563696DEST_PATH_IMAGE029
Figure 319162DEST_PATH_IMAGE030
Figure 380659DEST_PATH_IMAGE091
然后取生成的这三个向量的平均值作为对比学习中随机负样本向量
Figure 71535DEST_PATH_IMAGE032
,表达式 为:
Figure DEST_PATH_IMAGE092
Figure 901038DEST_PATH_IMAGE034
Figure DEST_PATH_IMAGE093
之间的距离为
Figure DEST_PATH_IMAGE094
,表达式为:
Figure 397879DEST_PATH_IMAGE095
距离越远,模型获得的
Figure DEST_PATH_IMAGE096
的准确度就越高,因此,在本实施例中,对
Figure 31991DEST_PATH_IMAGE032
Figure 893768DEST_PATH_IMAGE096
之间的距离
Figure 324750DEST_PATH_IMAGE094
进行最大化。
对于关系提取任务,过拟合是最严重的问题之一,这是一个主要问题,限制了模型 的泛化性,使网络模型过多关注实体信息。因此,在本实施例中,所述S3还包括以下步骤:随 机的掩盖住句子
Figure 48117DEST_PATH_IMAGE089
中的几个标记,即随机将若干个标记变为0,以生成遮蔽负样本
Figure 615365DEST_PATH_IMAGE097
,对 遮蔽负样本
Figure 975939DEST_PATH_IMAGE097
进行标记,标记后将其输入到S2和S3中提到的连接编码器和解码器中,生成 相应的遮蔽负样本向量
Figure DEST_PATH_IMAGE098
Figure 35162DEST_PATH_IMAGE098
Figure 60755DEST_PATH_IMAGE099
之间的距离为
Figure DEST_PATH_IMAGE100
,表达式为:
Figure 154613DEST_PATH_IMAGE101
距离越远,模型获得的
Figure 482827DEST_PATH_IMAGE099
的准确度就越高,因此,在本实施例中,对
Figure 248920DEST_PATH_IMAGE098
Figure 953570DEST_PATH_IMAGE099
之间的距离
Figure 370776DEST_PATH_IMAGE100
进行最大化。
为了更深入地捕捉句子中包含的关系信息,让模型能够处理更复杂的情况,在本 实施例中,生成了关系实例负样本
Figure DEST_PATH_IMAGE102
。即S3还包括以下步骤:将句子中的代表实例的标 记和代表关系的标记随机的用其他标记代替,以生成关系实例负样本
Figure 525683DEST_PATH_IMAGE102
,对关系实例负 样本
Figure 152973DEST_PATH_IMAGE102
进行标记,标记后输入到S2和S3中提到的连接编码器和解码器中,生成相应的关 系实例负样本向量
Figure 271102DEST_PATH_IMAGE103
;然后许多句子可能不包含可以直接指示关系词的标记,发生这种 情况时,我们使用随机替换句子中的一定百分比的标记作为替代方法,其中不包括实体对 标记的替换,
Figure DEST_PATH_IMAGE104
Figure 90285DEST_PATH_IMAGE046
之间的距离为
Figure 760301DEST_PATH_IMAGE105
,表达式为:
Figure DEST_PATH_IMAGE106
距离越远,模型获得的
Figure 15832DEST_PATH_IMAGE099
的准确度就越高,因此,在本实施例中,对
Figure 265548DEST_PATH_IMAGE103
Figure 703352DEST_PATH_IMAGE046
之 间的距离
Figure 419635DEST_PATH_IMAGE105
进行最大化。
同时为了该模型具有更好的泛化能力,能够处理网络安全应急响应中更复杂的情 况,比如两个句子的关系相同,但是关系对应的两个实体不同的情况,本实施例生成了一个 正样本用于模型的训练。即S4还包括以下步骤:从训练的数据库中用一个和句子
Figure 959201DEST_PATH_IMAGE006
拥有相 同关系,但两个句子的实体不相同的正样本
Figure 543766DEST_PATH_IMAGE050
,对
Figure 558381DEST_PATH_IMAGE050
进行标记,标记后将其输入到S4中的 连接编码器和解码器中,得到一个正样本向量
Figure 570199DEST_PATH_IMAGE107
Figure 534744DEST_PATH_IMAGE052
Figure 657421DEST_PATH_IMAGE046
之间的距离为D(
Figure 273079DEST_PATH_IMAGE051
Figure 721378DEST_PATH_IMAGE038
), 表达式为:
Figure DEST_PATH_IMAGE108
距离越近,模型获得的
Figure 438798DEST_PATH_IMAGE038
的准确度就越高,因此,在本实施例中,对
Figure 991265DEST_PATH_IMAGE052
Figure 336795DEST_PATH_IMAGE046
之 间的距离D(
Figure 893679DEST_PATH_IMAGE107
Figure 363974DEST_PATH_IMAGE038
)进行最小化。
本实施例的训练包括两个任务,首先,通过产生合理的正负样本,并尽可能地增加正负样本之间的跨度,以获得更普遍的模型效果。因此,S5还包括步骤:将正样本的距离与三个负样本的距离作为一对计算进行比较,表达式为:
Figure 218667DEST_PATH_IMAGE109
其中i=1,2,3,
Figure DEST_PATH_IMAGE110
是一个超参数,其目的是为了让正样本和负样本之间的距离差有 缓冲的空间,此时模型的第一个任务的目标表示为:
Figure 153125DEST_PATH_IMAGE111
在训练中,利用参数学习使
Figure 553013DEST_PATH_IMAGE058
获得较小的数值,同时保证
Figure 838501DEST_PATH_IMAGE059
较 大,此时正样本之间的距离较小,负样本之间的距离较大;
第二个任务是使用交叉熵损失来最大化基于可见关系的关系标签分类的准确性,将第二个任务的目标表示为:
Figure DEST_PATH_IMAGE112
其中,
Figure 529507DEST_PATH_IMAGE061
代表真实的关系向量,
Figure 459417DEST_PATH_IMAGE062
是一个超参数,用于保证训练数据的充分使用,
Figure 154841DEST_PATH_IMAGE113
表示
Figure DEST_PATH_IMAGE114
的长度;本实施例除了使用了正样本的预测来得到交叉熵损失,还利用了两 个弱负样本来帮助生成交叉熵损失,这样可以保证生成的负面样本在第一任务中使用时能 够被充分的利用。因为输入的两个负样本的语法结构与正样本非常相似,通过这种方式来 保证差异。关系预测的差距越大,生成的负面样本就越有代表性,越有助于归纳能力的提 升,一般来说,
Figure 848996DEST_PATH_IMAGE115
越大,预测正确的概率则越高。
结合第一个任务和第二个任务,将最终的目标函数表示为:
Figure DEST_PATH_IMAGE116
其中
Figure 327382DEST_PATH_IMAGE066
是第一个任务的目标,
Figure 862531DEST_PATH_IMAGE067
是第二个任务的目标,a和b是超参数;
如图2所示,通过在训练的过程中不断优化目标函数,使得预测关系向量
Figure 994435DEST_PATH_IMAGE046
逐渐 接近真实的关系向量,然后再将得到的预测关系向量
Figure 192198DEST_PATH_IMAGE046
输入预训练好的关系分类器中得 到所预测的关系R,表达式为:
Figure 943116DEST_PATH_IMAGE117
其中CLS包含了一个全连接层、1x1的卷积层、一个激活层、一个softmax层。
在本实施例中,图1所示的整个流程框架需要预先进行训练,训练阶段的具体内容包括:
在模型的训练过程中我们使用采用adamW(亚当优化器)优化器,默认设置动量
Figure DEST_PATH_IMAGE118
Figure 362465DEST_PATH_IMAGE119
。为了防止过拟合,本实施例采用了dropout(随机丢弃算法)方 法,其中dropout率为0.5。隐藏层大小为 768,训练的batch设为16,学习率设
Figure DEST_PATH_IMAGE120
本模型的测试阶段只需要将测试的句子进行标记处理然后输入连接编码器(linkBERT)中,然后再将其输入实体对合并模块,得到关系向量,然后再将得到的关系向量输入预训练好的关系分类器中得到测试句子中的关系即可,无需再进行负样本和正样本生成阶段。
基于本实施例上述方案,使用开源数据集CMCSE(全面的多源网络安全活动数据集)、Malware Training Sets(恶意软件训练集)结合已有溯源经验固化在程序中进行测试,实验证明了对比学习方法在网络安全应急响应知识图谱关系提取中的有效性以及负样本生成方法在对比学习中的有效性。
为了使实验易于比较,使用了三个指标来与传统的方法对比:精准率,召回率和精准率和召回率的调和平均数,实验数据如下表所示。
Figure 71795DEST_PATH_IMAGE121
从表中可以看出,首先,可以看到本实施例中的模型效果明显优于其他模型,尤其是当 a=b=5 时。本模型的精准率和召回率的调和平均数优于第二个模型约 7.7%。对于 a=b=15,本模型最多也可以实现大约3%的精准率和召回率的调和平均数值的增加,这反映了本模型在预测更多未见关系的泛化能力方面的优势。对于a=b=10,本模型在CMCSE中落后ZS-BERT模型约 3.4% 时,认为可能是由于数据不足导致负样本和正样本没有合理划分,这是可以预见的。对比R-BERT和ESIM模型,可以看出本模型的结果有实质性的提升,这些实验结果体现了本模型整体流程设置的有效性和优越性。
需要说明的是,尽管在本文中已经对上述各实施例进行了描述,但并非因此限制本发明的专利保护范围。因此,基于本发明的创新理念,对本文所述实施例进行的变更和修改,或利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接地将以上技术方案运用在其他相关的技术领域,均包括在本发明的专利保护范围之内。

Claims (10)

1.一种基于对比学习的网络安全应急响应知识图谱关系提取方法,其特征在于,包括以下步骤:
S1:准备一个网络安全应急响应文本集合,其中包含若干个网络安全应急响应句子,每个句子分别包含两个实体和一个实体关系;
S2:对每个网络安全应急响应句子进行标记处理,然后将其输入连接编码器和解码器中,得到一个初步的预测关系向量;
S3:通过生成若干个负样本,然后将负样本输入连接编码器和解码器中,生成对应的负样本关系向量;
S4:通过生成一个正样本,然后将该正样本输入连接编码器和解码器中,生成该正样本关系向量;
S5:在训练的过程中不断优化初步的预测关系向量,让其和负样本关系向量之间的距离变远,让其和正样本关系向量之间的距离变近,得到准确的预测关系向量,然后再将预测关系向量输入预训练好的关系分类器中得到所预测的关系。
2.根据权利要求1所述的方法,其特征在于,所述S1还包括以下步骤:
准备一个网络安全应急响应文本集合W,其中包括若干个网络安全应急响应句子,每个 句子分别包含两个实体
Figure 59277DEST_PATH_IMAGE002
Figure 179680DEST_PATH_IMAGE004
,对于句子
Figure 615209DEST_PATH_IMAGE005
,先对该句子
Figure 744839DEST_PATH_IMAGE005
进行标记,得到该句子的表 示
Figure 90370DEST_PATH_IMAGE006
,n表示标记的总数,其中[CLS] 表示开始标志,其包含了整个句子的信息,[SPE]表示结束的标志,e和f表示
Figure 319357DEST_PATH_IMAGE002
开始和结束 标志的位置,u和m表示
Figure 117549DEST_PATH_IMAGE004
开始和结束标志的位置。
3.根据权利要求2所述的方法,其特征在于,所述S2包括以下步骤:
将标记后的句子发送到连接编码器中,获取该句子的实体表示,连接编码器输出的向 量为
Figure 473706DEST_PATH_IMAGE007
,其中
Figure 673743DEST_PATH_IMAGE009
为[CLS]的输出,
Figure 73631DEST_PATH_IMAGE010
为[SPE]的输 出,并用下面两个公式表示获得两个实体的向量:
Figure 359119DEST_PATH_IMAGE011
Figure 751923DEST_PATH_IMAGE012
其中 c 是一个超参数,
Figure 806467DEST_PATH_IMAGE013
表示平均池化操作,
Figure 642836DEST_PATH_IMAGE014
表示一个全连接操作,
Figure 681199DEST_PATH_IMAGE015
表示一个正则化函数;
然后将
Figure 113580DEST_PATH_IMAGE017
Figure 288209DEST_PATH_IMAGE019
Figure 29900DEST_PATH_IMAGE021
Figure 289980DEST_PATH_IMAGE023
输入到解码器中得到初步的网络安全应急响应关系向量
Figure 24587DEST_PATH_IMAGE024
,表达式为:
Figure 53723DEST_PATH_IMAGE025
其中
Figure 559790DEST_PATH_IMAGE026
Figure 916954DEST_PATH_IMAGE027
Figure 330617DEST_PATH_IMAGE028
为可学习的参数,
Figure 834499DEST_PATH_IMAGE029
代表矢量串联。
4.根据权利要求3所述的方法,其特征在于,所述S3中的负样本包括:随机负样本、关系实例负样本和遮蔽负样本。
5.根据权利要求3所述的方法,其特征在于,所述S3还包括以下步骤:对于句子
Figure 308206DEST_PATH_IMAGE030
,挑 选若干个和句子
Figure 152665DEST_PATH_IMAGE030
均不相关的句子作为随机负样本
Figure 104440DEST_PATH_IMAGE031
,即随机选出三个和网络安全不 相关的数据库,然后从每个数据库中随机选出一个句子,三个数据库选出三个句子组成随 机负样本
Figure 232802DEST_PATH_IMAGE031
,再对这三个句子进行标记,标记后输入到连接编码器和解码器中,生成相应 的随机负样本向量,表示为:
Figure 142990DEST_PATH_IMAGE033
Figure 209166DEST_PATH_IMAGE034
Figure 964632DEST_PATH_IMAGE035
然后取生成的这三个向量的平均值作为对比学习中随机负样本向量
Figure 183386DEST_PATH_IMAGE037
,表达式为:
Figure 998895DEST_PATH_IMAGE038
Figure 817947DEST_PATH_IMAGE037
Figure 377104DEST_PATH_IMAGE040
之间的距离为
Figure 214479DEST_PATH_IMAGE042
,表达式为:
Figure 200889DEST_PATH_IMAGE043
Figure 507237DEST_PATH_IMAGE037
Figure 604506DEST_PATH_IMAGE040
之间的距离
Figure 797852DEST_PATH_IMAGE042
进行最大化。
6.根据权利要求5所述的方法,其特征在于,所述S3还包括以下步骤:随机的掩盖住句 子
Figure 955164DEST_PATH_IMAGE005
中的几个标记,即随机将若干个标记变为0,以生成遮蔽负样本
Figure 748808DEST_PATH_IMAGE044
,对遮蔽负样本
Figure 649768DEST_PATH_IMAGE044
进行标记,标记后将其输入到连接编码器和解码器中,生成相应的遮蔽负样本向量
Figure 196155DEST_PATH_IMAGE046
Figure 727631DEST_PATH_IMAGE046
Figure 539729DEST_PATH_IMAGE040
之间的距离为D(
Figure 447642DEST_PATH_IMAGE046
Figure 989482DEST_PATH_IMAGE040
),表达式为:
Figure 114695DEST_PATH_IMAGE047
Figure 741986DEST_PATH_IMAGE046
Figure 860114DEST_PATH_IMAGE040
之间的距离D(
Figure 256461DEST_PATH_IMAGE046
Figure 51110DEST_PATH_IMAGE040
)进行最大化。
7.根据权利要求6所述的方法,其特征在于,所述S3还包括以下步骤:将句子中的代表 实例的标记和代表关系的标记随机的用其他标记代替,以生成关系实例负样本
Figure 431276DEST_PATH_IMAGE048
,对关系 实例负样本
Figure 87516DEST_PATH_IMAGE048
进行标记,标记后输入到连接编码器和解码器中,生成相应的关系实例负样 本向量
Figure 603948DEST_PATH_IMAGE049
,当若干个句子不包含直接指示关系词的标记时,使用随机替换句子中的一定百 分比的标记作为替代方法,
Figure 65105DEST_PATH_IMAGE049
Figure 666987DEST_PATH_IMAGE024
之间的距离D(
Figure 126919DEST_PATH_IMAGE049
,
Figure 497857DEST_PATH_IMAGE024
),表达式为:
Figure 634309DEST_PATH_IMAGE050
Figure 457909DEST_PATH_IMAGE049
Figure 721531DEST_PATH_IMAGE024
之间的距离D(
Figure 946976DEST_PATH_IMAGE049
Figure 755794DEST_PATH_IMAGE024
)进行最大化。
8.根据权利要求7所述的方法,其特征在于,所述S4还包括以下步骤:
从训练的数据库中用一个和句子
Figure 332269DEST_PATH_IMAGE005
拥有相同关系,但两个句子的实体不相同的正样本
Figure 134003DEST_PATH_IMAGE051
,对
Figure 213954DEST_PATH_IMAGE051
进行标记,标记后将其输入到连接编码器和解码器中,得到一个正样本向量
Figure 957788DEST_PATH_IMAGE053
Figure 959242DEST_PATH_IMAGE053
Figure 361405DEST_PATH_IMAGE024
之间的距离为D(
Figure 499125DEST_PATH_IMAGE053
,
Figure 712063DEST_PATH_IMAGE024
),表达式为:
Figure 997551DEST_PATH_IMAGE054
Figure 141087DEST_PATH_IMAGE053
Figure 195631DEST_PATH_IMAGE024
之间的距离D(
Figure 281268DEST_PATH_IMAGE053
Figure 788472DEST_PATH_IMAGE024
)进行最小化。
9.根据权利要求8所述的方法,其特征在于,所述S5还包括步骤:
将正样本的距离与三个负样本的距离作为一对计算进行比较,表达式为:
Figure 735700DEST_PATH_IMAGE055
其中i=1,2,3,
Figure 910329DEST_PATH_IMAGE056
是一个超参数,其用于让正样本和负样本之间的距离差有缓冲的空间, 此时将第一个任务的目标表示为:
Figure 402753DEST_PATH_IMAGE057
在训练中,利用参数学习使
Figure 662833DEST_PATH_IMAGE058
获得较小的数值,同时保证
Figure DEST_PATH_IMAGE059
较 大,此时正样本之间的距离较小,负样本之间的距离较大;
将第二个任务的目标表示为:
Figure 679330DEST_PATH_IMAGE060
其中,
Figure DEST_PATH_IMAGE061
代表真实的关系向量,
Figure DEST_PATH_IMAGE063
是一个超参数,用于保证训练数据的充分使用,
Figure 770783DEST_PATH_IMAGE064
表示
Figure 808009DEST_PATH_IMAGE061
的长度;
结合第一个任务和第二个任务,将最终的目标函数表示为:
Figure DEST_PATH_IMAGE065
其中
Figure DEST_PATH_IMAGE067
是第一个任务的目标,
Figure 113308DEST_PATH_IMAGE068
是第二个任务的目标,a和b是超参数;
在训练的过程中不断优化目标函数,使得预测关系向量
Figure 526971DEST_PATH_IMAGE024
逐渐接近真实的关系向量, 然后再将得到的预测关系向量
Figure 613876DEST_PATH_IMAGE024
输入预训练好的关系分类器中得到所预测的关系R,表达 式为:
Figure DEST_PATH_IMAGE069
其中CLS包含了一个全连接层、1x1的卷积层、一个激活层、一个softmax层。
10.根据权利要求1所述的方法,其特征在于,还包括测试步骤:
所述测试步骤是将测试的句子进行标记处理后输入连接编码器中,再将其输入实体对合并模块,得到关系向量,然后再将得到的关系向量输入预训练好的关系分类器中,得到测试句子中的关系。
CN202211009713.5A 2022-08-23 2022-08-23 基于对比学习的网络安全应急响应知识图谱关系提取方法 Active CN115129896B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211009713.5A CN115129896B (zh) 2022-08-23 2022-08-23 基于对比学习的网络安全应急响应知识图谱关系提取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211009713.5A CN115129896B (zh) 2022-08-23 2022-08-23 基于对比学习的网络安全应急响应知识图谱关系提取方法

Publications (2)

Publication Number Publication Date
CN115129896A true CN115129896A (zh) 2022-09-30
CN115129896B CN115129896B (zh) 2022-12-13

Family

ID=83387573

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211009713.5A Active CN115129896B (zh) 2022-08-23 2022-08-23 基于对比学习的网络安全应急响应知识图谱关系提取方法

Country Status (1)

Country Link
CN (1) CN115129896B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117610002A (zh) * 2024-01-22 2024-02-27 南京众智维信息科技有限公司 基于多模态特征对齐的轻量化恶意软件威胁检测方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112084790A (zh) * 2020-09-24 2020-12-15 中国民航大学 一种基于预训练卷积神经网络的关系抽取方法及系统
CN112632996A (zh) * 2020-12-08 2021-04-09 浙江大学 一种基于对比学习的实体关系三元组抽取方法
CN114254102A (zh) * 2022-02-28 2022-03-29 南京众智维信息科技有限公司 一种基于自然语言的协同应急响应soar剧本推荐方法
WO2022135121A1 (zh) * 2020-12-25 2022-06-30 浙江大学 一种基于对比学习的分子图表示学习方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112084790A (zh) * 2020-09-24 2020-12-15 中国民航大学 一种基于预训练卷积神经网络的关系抽取方法及系统
CN112632996A (zh) * 2020-12-08 2021-04-09 浙江大学 一种基于对比学习的实体关系三元组抽取方法
WO2022135121A1 (zh) * 2020-12-25 2022-06-30 浙江大学 一种基于对比学习的分子图表示学习方法
CN114254102A (zh) * 2022-02-28 2022-03-29 南京众智维信息科技有限公司 一种基于自然语言的协同应急响应soar剧本推荐方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
BELIZ GUNEL等: "SUPERVISED CONTRASTIVE LEARNING FOR PRE-TRAINED LANGUAGE MODEL FINE-TUNING", 《ARXIV:2011.01403V3》 *
NINGYU ZHANG等: "Contrastive Information Extraction With Generative Transformer", 《IEEE/ACM TRANSACTIONS ON AUDIO, SPEECH, AND LANGUAGE PROCESSING》 *
RAIA HADSELL等: "Dimensionality Reduction by Learning an Invariant Mapping", 《2006 IEEE COMPUTER SOCIETY CONFERENCE ON COMPUTER VISION AND PATTERN RECOGNITION》 *
陈云鹏: "基于深度学习的关系抽取研究", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117610002A (zh) * 2024-01-22 2024-02-27 南京众智维信息科技有限公司 基于多模态特征对齐的轻量化恶意软件威胁检测方法
CN117610002B (zh) * 2024-01-22 2024-04-30 南京众智维信息科技有限公司 基于多模态特征对齐的轻量化恶意软件威胁检测方法

Also Published As

Publication number Publication date
CN115129896B (zh) 2022-12-13

Similar Documents

Publication Publication Date Title
CA3021168C (en) Anticipatory cyber defense
Wang et al. Heterogeneous network representation learning approach for ethereum identity identification
CN107315956B (zh) 一种用于快速准确检测零日恶意软件的图论方法
CN109918505B (zh) 一种基于文本处理的网络安全事件可视化方法
CN107066262A (zh) 源代码文件克隆邻接表合并检测方法
CN113360580A (zh) 基于知识图谱的异常事件检测方法、装置、设备及介质
CN112333195A (zh) 基于多源日志关联分析的apt攻击场景还原检测方法及系统
Gai et al. Blockchain large language models
CN115129896B (zh) 基于对比学习的网络安全应急响应知识图谱关系提取方法
CN113297580A (zh) 基于代码语义分析的电力信息系统安全防护方法及装置
Ferrag et al. Securefalcon: The next cyber reasoning system for cyber security
Tian et al. Enhancing vulnerability detection via AST decomposition and neural sub-tree encoding
US20160004976A1 (en) System and methods for abductive learning of quantized stochastic processes
CN116232708A (zh) 一种基于文本型威胁情报的攻击链构建与攻击溯源方法和系统
US20230075290A1 (en) Method for linking a cve with at least one synthetic cpe
Xu et al. W2V-SA: A Deep Neural Network-based Approach to Smart Contract Vulnerability Detection.
Boxin Research on Dynamic Detection of Vulnerabilities in Smart Contracts Based on Machine Learning
CN117574391B (zh) 一种基于三地址码和神经网络的代码漏洞检测方法和系统
Xu et al. Software Vulnerabilities Detection Based on a Pre-trained Language Model
Sarbakysh et al. A1BERT: A Language-Agnostic Graph Neural Network Model for Vulnerability Detection
Song et al. HGIVul: Detecting inter-procedural vulnerabilities based on hypergraph convolution
US11695788B1 (en) Filtering strategies for subgraph matching on noisy multiplex networks
CN117435246B (zh) 一种基于马尔可夫链模型的代码克隆检测方法
CN115208684B (zh) 一种基于超图关联的apt攻击线索拓展方法和装置
US20240086311A1 (en) Sentiment analysis using magnitude of entities

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20230810

Address after: Room 3-3, No.1 Guanghua East Street, Qinhuai District, Nanjing City, Jiangsu Province, 210000

Patentee after: Big data Security Technology Co.,Ltd.

Address before: 211300 No. 3, Longjing Road, Gaochun District, Nanjing, Jiangsu

Patentee before: NANJING ZHONGZHIWEI INFORMATION TECHNOLOGY Co.,Ltd.