一种基于开源软件供应链的软件安全舆情事件抽取方法与装置制造方法及图纸

技术编号:36529156 阅读:16 留言:0更新日期:2023-02-01 16:10
本发明专利技术涉及一种基于开源软件供应链的软件安全舆情事件抽取方法与装置。该方法包括:1)利用网络爬虫大规模获取新闻/资讯文本。2)构建TextCNN+动态多池化文本分类模型,用于快速过滤掉其他领域的非目标数据。3)利用LDA模型对领域内数据进行主题聚类,并在此基础上构建事件schema。4)对LDA模型的聚类结果数据进行少量人工修正,以此训练BERT

【技术实现步骤摘要】
一种基于开源软件供应链的软件安全舆情事件抽取方法与装置


[0001]本专利技术属于计算机
,涉及一种基于开源软件供应链的软件安全舆情事件抽取方法与装置。

技术介绍

[0002]提升信息安全态势感知、检测预警能力及应急响应能力,既是构建国家信息安全屏障的重要问题,也是保护个人隐私数据的必要因素。开源软件供应链是指开源软件在开发和运行过程中,涉及到的所有开源软件的上游社区、源码包、二进制包、第三方组件分发市场、应用软件分发市场,以及开发者和维护者、社区、基金会等,按照依赖、组合等形成的供应关系网络。其中,通过社交媒体、新闻媒体、资讯网站快速识别、收集信息安全领域发生的各类安全事件,能够帮助信息安全相关从业者快速了解全球范围内正在发生的恶意软件入侵、信息泄露、漏洞披露等事件信息,从而积极制定预防及应对策略,做到快速感知、及时响应。因此,面向信息安全领域,通过机器对社交媒体、新闻资讯文本进行舆情事件抽取是一个很有意义的任务。
[0003]目前,事件抽取的方法通常基于深度学习技术,通过从自然语言文本中抽取指定类型的事件以及相关的实体信息,形成结构化数据并输出文本。一般来说,事件抽取可以分解为两个子任务。首先是事件检测,通常包含检测触发词,对触发词/事件类型进行识别,每种事件类型对应唯一的事件表示框架;其次是元素识别,即检测事件论元角色,对事件论元值进行识别。其中元素识别依赖于事件检测输出对应的事件表示框架。
[0004]信息安全领域专业性高,领域数据相对稀缺,同时数据标注门槛高,训练数据相对较少。同时通过对相关语料的观察,其事件论元往往分散在多个句子中,且存在论元实体嵌套以及同一论元角色存在多个论元值的复杂情况。在此条件下,本专利技术综合运用多种抽取策略,针对领域数据进行优化,保证舆情事件信息抽取准确率,以提高相关从业者浏览、筛选、分析领域信息的工作效率。

技术实现思路

[0005]本专利技术的目的在于提供一种基于开源软件供应链的软件安全舆情事件抽取方法与装置,通过构建深度学习模型,大范围获取可能相关的语料并通过加入动态多池化的TextCNN变体算法快速过滤掉非目标文本,利用LDA主题模型充分获取事件类别,帮助建立事件schema,将事件类型识别转化为文本分类任务,使用BERT

DGCNN模型求解,然后采用span+NegativeSampling的序列标注模型进行事件论元抽取,有效解决了领域数据较少及数据复杂导致的抽取准确率无法保证的问题。
[0006]为实现上述目的,本专利技术采用如下技术方案:
[0007]一种基于开源软件供应链的软件安全舆情事件抽取方法,包括以下步骤:
[0008]1)构建基于TextCNN和动态多池化的文本分类模型,利用该文本分类模型从大量
互联网网页文本中识别属于网络信息安全领域的目标文本;
[0009]2)利用LDA模型对目标文本进行主题聚类,并在聚类基础上构建事件schema;
[0010]3)对LDA模型的聚类结果数据进行人工修正,作为事件分类训练数据,利用事件分类训练数据训练BERT

DGCNN事件分类模型;
[0011]4)根据BERT

DGCNN事件分类模型获得的事件分类结果,使用采用span标注策略和负采样策略的深度学习模型对事件论元值进行识别。
[0012]进一步地,步骤1)半自动地构建文本分类训练语料,并搭建文本分类模型用于从大量互联网网页文本中识别属于网络信息安全领域的目标文本。其中文本分类训练语料初始来源分为信息安全领域的专业网站、包含科技/IT资讯的相关网站、随机选取的其他新闻网站。TextCNN将卷积神经网络CNN应用到文本分类任务,利用多个不同size的kernel来提取句子的关键信息,从而能够更好地捕捉局部相关性。实践中TextCNN在常规语料上往往能取得和基于BERT的大型深度网络相近的精度,但具有模型小、速度快的优势。本专利技术在其基础上增加了动态多池化策略,使模型能够学习到不同方面的信息。
[0013]进一步地,步骤2)利用LDA模型对获取的目标文本进行软聚类,并通过人机协作的方式确定抽取目标事件的schema(schema是指模式,用于定义事件体的数据格式,在异构系统中实现可靠的数据交换)。LDA是用于分析文本信息的经典主题模型,它能够识别语料库中潜藏的主题信息,本专利技术从同一主题的文本中总结出它们属于的事件及其schema。利用LDA模型辅助构建事件schema,有效降低人工标注量。
[0014]进一步地,步骤3)基于BERT

DGCNN对事件类型进行抽取。BERT基于双向transformer,创新地引入了MASK语言模型与Next Sentence Prediction机制,其效果得到了学术及工业界的一致认可。DGCNN指膨胀门卷积神经网络,其相对于普通CNN提升了感受野,能够捕获更远位置的特征。同时,使用此类文本分类方法进行事件类型抽取避免了对触发词标注的依赖。
[0015]进一步地,步骤4)采用基于Span+NegativeSampling(负采样)的事件角色抽取模型。信息安全领域高质量标注数据获取困难,同时存在大量嵌套实体的复杂情况。因此使用Span+NegativeSampling的策略,有效处理嵌套实体同时降低漏标注数据对抽取效果的负面影响。
[0016]进一步地,在步骤1)中,包括以下步骤:
[0017]a)使用预先训练的词嵌入模型构建输入特征向量,n为一个句子中的token数(token是指句子切分后得到的子字符串序列),k是每个token对应的词向量的维度,则TextCNN模型的输入层为一个n
×
k维的矩阵,使用表示句子中第i个token的k维嵌入。
[0018]b)利用卷积层对TextCNN的输入层的特征进行提取,每个卷积核kernel与一个窗口的词向量进行卷积操作,产生一个特征c
i

[0019]c
i
=f(w
·
x
i:i+h
‑1+b)
[0020]其中,x
i:i+h
‑1表示输入矩阵从第i行到第i+h

1行所组成的一个大小为h
×
k的窗口,f表示非线性函数,w表示h
×
k维的权重矩阵,b表示偏置参数。kernel的宽度与词向量大小k相同;使用多个size(大小)的不同kernel获取纵向的差异信息,相当于使用了n

gram;
每个size又有多个卷积核用于学习到多个不同的信息。
[0021]c)使用TextCNN的池化层将每个滑动窗口产生的特征向量中选出代表特征,并将这些特征拼接起来构成向量表示;获取向量表示后接入一个全连接层,并使用softmax激活函数输出每个类别(目标文本与非目标文本两类)的概率。
[0022]进一步地,在步骤2)中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于开源软件供应链的软件安全舆情事件抽取方法,其步骤包括:构建基于TextCNN和动态多池化的文本分类模型,利用该文本分类模型从大量互联网网页文本中识别属于网络信息安全领域的目标文本;利用LDA模型对目标文本进行主题聚类,并在聚类基础上构建事件schema;对LDA模型的聚类结果数据进行人工修正,作为事件分类训练数据,利用事件分类训练数据训练BERT

DGCNN事件分类模型;根据BERT

DGCNN事件分类模型获得的事件分类结果,使用采用span标注策略和负采样策略的深度学习模型对事件论元值进行识别。2.如权利要求1所述的方法,其特征在于,所述大量互联网网页文本,是从信息安全领域相关的资讯网站、IT领域资讯网站、以及其他新闻/资讯网站,利用网络爬虫大规模获取的新闻/资讯文本。3.如权利要求1所述的方法,其特征在于,所述基于TextCNN和动态多池化的文本分类模型,是在TextCNN模型中增加动态多池化策略。4.如权利要求1所述的方法,其特征在于,所述构建基于TextCNN和动态多池化的文本分类模型,利用该文本分类模型从大量互联网网页文本中识别属于网络信息安全领域的目标文本,包括:a)使用预先训练的词嵌入模型构建输入特征向量,n为一个句子中的token数,k是每个token对应的词向量的维度,则TextCNN模型的输入层为一个n
×
k维的矩阵,使用x
i
表示句子中第i个token的k维嵌入;b)利用卷积层对TextCNN的输入层的特征进行提取,每个卷积核kernel与一个窗口的词向量进行卷积操作,产生一个特征c
i
:c
i
=f(w
·
x
i:i+h
‑1+b)其中,x
i:i+h
‑1表示输入矩阵从第i行到第i+h

1行所组成的一个大小为h
×
k的窗口,f表示非线性函数,w表示h
×
k维的权重矩阵,b表示偏置参数;c)使用TextCNN的池化层将每个滑动窗口产生的特征向量中选出代表特征,并将这些特征拼接起来构成向量表示;获取向量表示后接入一个全连接层,并使用softmax激活函数输出目标文本与非目标文本两个类别的概率。5.如权利要求1所述的方法,其特征在于,所述利用LDA模型对目标文本进行主题聚类,包括:a)假设文档主题的先验分布是Dirichlet分布,假设主题中词的先验分布是Dirichlet分布,使用Gibbs采样算法对LDA进行求解,得到每个词对应主题的Gibbs采样公式;b)训练时,指定主题数K,指定Dirichlet分布的超参数向量对应语料库中每一篇文档的每一个词,随机的赋予一个主题编号z;重新扫描语料库,对于每一个词,利用Gibbs采样公式更新它的主题编号,并更新语料中该词的编号;重复Gibbs采样直至收敛;统计语料库中的各个文档各个词的主题,得到文档主题分布θ
d
,统计语料库中各个主题词的分布,得到LDA的主题与词的分布β
k
;c)在预测时,对应当前文档的每一个词,随机赋予一个主题编号z;然后重新扫描当前文档,对于每一个词,利用Gibbs采样公式更新它的主题编号;重复Gibbs采样直至采样收敛;统计文档中各个词的主题,得到该文档主题分布。
6.如权利要求1所述的方法,其特征在于,所述利用事件分类训练数据训练BERT

DGCNN事件分类模型,包括:a)BERT

DGCNN...

【专利技术属性】
技术研发人员:吴敬征武延军崔星罗天悦
申请(专利权)人:中国科学院软件研究所
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1