一种面向开源安全情报的文本聚类方法转让专利

申请号 : CN202211712713.1

文献号 : CN115687960B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 汪文晓黄河廖建华蒋铭胡敏谷广宇李彦琛苏怀方张永星刘婷周佳王天宇毛建辉范梦鸽刘明星

申请人 : 中国人民解放军61660部队

摘要 :

本公开属于安全情报领域,具体而言涉及一种面向开源安全情报的文本聚类方法,包括:S1经多源获取情报文本,建立开源安全情报文本集,开源安全情报文本集包括文本来源已有的格式化数据;S2基于开源安全情报文本集中的特殊信息字段,得到安全情报领域词库;S3根据安全情报领域词库对开源安全情报文本集中文档进行分词,并得到非停用词;S4计算非停用词在各个文档中的TF‑IDF值,根据TF‑IDF值形成文档特征词汇集,文档特征词汇集由TF‑IDF值所对应的非停用词形成;S5获取文档特征词汇集中词汇的特征表示向量;S6通过聚类算法得到经由特征表示向量表示的文档相似度,得到聚类结果。通过上述设置以提升安全情报文本的聚类准确率。

权利要求 :

1.一种面向开源安全情报的文本聚类方法,其特征在于,包括:S1经多源获取情报文本,建立开源安全情报文本集,所述开源安全情报文本集包括文本来源已有的格式化数据;

S2基于开源安全情报文本集中的特殊信息字段,得到安全情报领域词库,包括:获取多源情报文本中的特殊信息字段,形成安全情报领域词库的基础集;

组合拼接所述基础集中长度小于第一长度的词汇,形成临时扩展集;

通过所述临时扩展集中的词汇和开源安全情报文本集之间的匹配,得到词汇的命中得分,并根据命中得分得到安全情报领域词库;

所述命中得分与开源安全情报文本集中的标题内容和正文内容相关联,所述命中得分表示为:;

其中,S为命中得分,N表示开源安全情报文本集中的文本数量,α和β分别为标题命中权重和正文命中权重,ti和ci分别为在第i篇文本标题中和正文中的命中次数;

S3根据安全情报领域词库对开源安全情报文本集中文档进行分词,并得到非停用词,包括:基于安全情报领域词库加入通用文本词库,通过词典匹配和隐马尔可夫模型进行分词;

S4计算所述非停用词在各个文档中的TF‑IDF值,根据所述TF‑IDF值形成文档特征词汇集,所述文档特征词汇集由所述TF‑IDF值所对应的非停用词形成;

S5获取文档特征词汇集中词汇的特征表示向量,包括:所述文档的标题使用维度为W的向量T表示,所述向量T的第i维取值为文档特征词汇集的第i个词汇在所述标题中的词频;

所述文档的文本使用维度为W的向量C表示,所述向量C的第i维取值为文档特征词汇集的第i个词汇在所述文本中的词频;

所述特征表示向量为所述向量T和所述向量C的加权和,其中W为所述文档特征词汇集的词汇量;

S6通过聚类算法得到经由所述特征表示向量表示的文档相似度,得到聚类结果。

2.根据权利要求1所述的一种面向开源安全情报的文本聚类方法,其特征在于,所述方法还包括评估所述聚类结果的准确率。

3.根据权利要求1所述的一种面向开源安全情报的文本聚类方法,其特征在于,计算所述非停用词在各个文档中的TF‑IDF值表示为:;

其中,i为非停用词编号,j为文档编号,nij为词汇i在文档j中出现的次数,wj为文档j的词量,N为开源安全情报文本集中的文档总数,di为开源安全情报文本集中所包含非停用词编号i所对应词汇的文档个数。

4.根据权利要求2所述的一种面向开源安全情报的文本聚类方法,其特征在于,所述评估所述聚类结果的准确率表示为:;

其中,N为开源安全情报文本集中的文档总数,Ck为聚类结果中的第k类,Rm为真实分类中的第m类。

5.根据权利要求1所述的一种面向开源安全情报的文本聚类方法,其特征在于,当所述命中得分大于第一预设阈值时,将其所对应的词汇纳入至安全情报领域词库中。

6.根据权利要求1所述的一种面向开源安全情报的文本聚类方法,其特征在于,当所述TF‑IDF值大于第二预设阈值时,其所对应的词汇与安全情报领域词库组合形成文档特征词汇集。

说明书 :

一种面向开源安全情报的文本聚类方法

技术领域

[0001] 本公开属于安全情报领域,具体而言涉及一种面向开源安全情报的文本聚类方法。

背景技术

[0002] 随着通信数字化网络化的发展,分析人员面临的情报素材数量呈爆炸式增长。面临海量素材,难以单纯再依靠人力对其进行逐份分析和审阅,必须借助计算机和智能算法,对原始素材预先进行相关性分析,完成主题聚类,然后按需求和方向进行综合分析。
[0003] 现有的文本聚类技术或是面向互联网的通用信息素材,或是面向金融、医疗、法律、电商等民用领域,无法应对安全情报聚类的特殊场景,对专有词汇的分词效果欠佳、识别和抽取精度不高,文本相似度算法与领域贴合不紧密,导致最终聚类效果不理想。

发明内容

[0004] 本公开正是基于现有技术的上述需求而提出的,本公开要解决的技术问题是提供一种面向开源安全情报的文本聚类方法以提升安全情报文本的聚类准确率。
[0005] 为了解决上述问题,本公开提供的技术方案包括:
[0006] 提供了一种面向开源安全情报的文本聚类方法,包括:S1经多源获取情报文本,建立开源安全情报文本集,所述开源安全情报文本集包括文本来源已有的格式化数据;S2基于开源安全情报文本集中的特殊信息字段,得到安全情报领域词库;S3根据安全情报领域词库对开源安全情报文本集中文档进行分词,并得到非停用词;S4计算所述非停用词在各个文档中的TF‑IDF值,根据所述TF‑IDF值形成文档特征词汇集,所述文档特征词汇集由所述TF‑IDF值所对应的非停用词形成;S5获取文档特征词汇集中词汇的特征表示向量;S6通过聚类算法得到经由所述特征表示向量表示的文档相似度,得到聚类结果。
[0007] 优选的,所述方法还包括评估所述聚类结果的准确率。
[0008] 优选的,所述S2包括:获取多源情报文本中的特殊信息字段,形成安全情报领域词库的基础集;组合拼接所述基础集中长度小于第一长度的词汇,形成临时扩展集;通过所述临时扩展集中的词汇和开源安全情报文本集之间的匹配,得到词汇的命中得分,并根据命中得分得到安全情报领域词库。
[0009] 优选的,所述命中得分与开源安全情报文本集中的标题内容和正文内容相关联,所述命中得分表示为: 其中,S为命中得分,N表示开源安全情报文本集中的文本数量,α和β分别为标题命中权重和正文命中权重,ti和ci分别为在第i篇文本标题中和正文中的命中次数。
[0010] 优选的,所述根据安全情报领域词库对开源安全情报文本集中文档进行分词包括:基于安全情报领域词库加入通用文本词库,通过词典匹配和隐马尔可夫模型进行分词。
[0011] 优选的,计算所述非停用词在各个文档中的TF‑IDF值表示为:
[0012] 其中,i为非停用词编号,j为文档编号,nij为词汇i在文档j中出现的次数,wj为文档j的词量,N为开源安全情报文本集中的文档总数,di为开源安全情报文本集中所包含非停用词编号i所对应词汇的文档个数。
[0013] 优选的,所述评估所述聚类结果的准确率表示为: 其中,N为开源安全情报文本集中的文档总数,Ck为聚类结果中的第k类,Rm为真实分类中的第m类。
[0014] 优选的,当所述命中得分大于第一预设阈值时,将其所对应的词汇纳入至安全情报领域词库中。
[0015] 优选的,当所述TF‑IDF值大于第二预设阈值时,其所对应的词汇与安全情报领域词库组合形成文档特征词汇集。
[0016] 与现有技术相比,本公开结合领域内专业知识,针对素材的特点设计积累了相应的专业词典,创建了面向领域的特殊分词规则和文本表示方法,能够有效改进专有词汇的识别和抽取精度,提高文本相似性计算的领域贴合度,提升聚类准确度。

附图说明

[0017] 为了更清楚地说明本说明书实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本说明书实施例中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
[0018] 图1为本公开提供的一种面向开源安全情报的文本聚类方法的步骤流程图;
[0019] 图2为本公开实施例中S2的步骤流程图。

具体实施方式

[0020] 为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0021] 在本公开实施例的描述中,需要说明的是,除非另有明确的规定和限定,术语“相连”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接可以是机械连接,也可以是电连接可以是直接相连,也可以通过中间媒介间接相连。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本公开中的具体含义。
[0022] 全文中描述使用的术语“顶部”、“底部”、“在……上方”、“下”和“在……上”是相对于装置的部件的相对位置,例如装置内部的顶部和底部衬底的相对位置。可以理解的是装置是多功能的,与它们在空间中的方位无关。
[0023] 为便于对本申请实施例的理解,下面将结合附图以具体实施例做进一步的解释说明,实施例并不构成对本申请实施例的限定。
[0024] 本实施例提供了一种面向开源安全情报的文本聚类方法,如图1和图2所示。
[0025] 所述面向开源安全情报的文本聚类方法包括:
[0026] S1经多源获取情报文本,建立开源安全情报文本集,所述开源安全情报文本集包括文本来源已有的格式化数据。
[0027] 具体而言,以CNNVD(国家信息安全漏洞库)、安全博客、技术论坛、安全企业专题报告和安全智库研究报告等与安全情报相关的网站或信息作为来源获取安全情报文本,并对安全情报文本进行搜集和汇总,从而建立开源安全情报文本集。在搜集和汇总的过程中,保留文本来源已有的一些格式化数据,进而使得建立起的安全情报文本包含有标题、作者、发布机构、关键字、正文等的相关内容。
[0028] S2基于开源安全情报文本集中的特殊信息字段,得到安全情报领域词库。
[0029] 如图2所示,所述安全情报领域词库的建立过程包括:
[0030] S21获取多源情报文本中的特殊信息字段,形成安全情报领域词库的基础集。
[0031] 所述特殊信息字段基于安全人员的专业知识进行选择,具体而言,上述多个来源中对于安全情报领域较为权威的网站或文件均经过专业机构中专业人员的核对和校准,从而保障了文本素材的准确性和可信度。由此选取权威网站和文件中的特殊信息字段作为参考,例如选取CNNVD、企业专题报告和智库研究报告等中的关键字、发布机构和漏洞详情中的危害等级等,将获取到的特殊信息字段作为安全情报领域词库的基础集。
[0032] S22组合拼接所述基础集中长度小于第一长度的词汇,形成临时扩展集。
[0033] 将安全情报领域词库的基础集中的词汇进行长度小于3的组合拼接后,形成临时扩展集。
[0034] 由于经多源获取的情报文本中的关键字、漏洞号、发布机构以及危害等级等经常以并列拼接的形式出现,拼接之后的词汇命中能够有效提高匹配的语义准确度。示例性的,“cryptolocker”、“勒索病毒”、“攻击”都是领域基础集中的词汇,而“crytolocker勒索病毒攻击”经常会合并出现,将“cryptolocker”、“勒索病毒”、“攻击”合并加入扩展集后,既能扩大命中范围,其命中本身也会包含更精确的语义匹配。
[0035] S23通过所述临时扩展集中的词汇和开源安全情报文本集之间的匹配,得到词汇的命中得分,并根据命中得分得到安全情报领域词库。
[0036] 具体而言,所述开源安全情报文本中包括多个文档,将临时扩展集中的各个词汇与开源安全情报文本集中的各个文档的标题全文和正文全文分别进行匹配,根据匹配情况得到所匹配的词汇的命中得分。
[0037] 基于上述描述,可知所述命中得分与开源安全情报文本集中的文档的标题内容和正文内容相关联,具体的,所述命中得分可以表示为:
[0038]
[0039] 其中,S为命中得分,N表示开源安全情报文本集中的文本数量,α和β分别为标题命中权重和正文命中权重,ti和ci分别为在第i篇文本标题中和正文中的命中次数,所述命中次数为对应词汇的出现次数。
[0040] 得到所述命中得分后,对比所述命中得分与第一预设阈值,当所述命中得分大于所述第一预设阈值时,所述命中得分所对应的词汇将加入到安全情报领域词库中。
[0041] S3根据安全情报领域词库对开源安全情报文本集中文档进行分词,并得到非停用词。
[0042] 将S2中生成的安全情报领域词库加入通用文本词库,利用词典匹配和隐马尔可夫模型进行分词。
[0043] 将领域词库并入通用词库后,相当于扩充了整体文本语料的内容丰度和领域相关性,在后续匹配与分类时即可使模型能力扩展,从而具备对安全情报领域文本进行聚类的内容基础。
[0044] 所述停用词是指在信息检索中,为节省存储空间和提高搜索效率,在处理自然语言数据(或文本)之前或之后会自动过滤掉某些字或词,这些字或词即被称为Stop Words(停用词)。
[0045] S4计算所述非停用词在各个文档中的TF‑IDF值,根据所述TF‑IDF值形成文档特征词汇集,所述文档特征词汇集由所述TF‑IDF值所对应的非停用词形成。
[0046] 计算S3步骤中经分词后得到的所有的非停用词在各个文档中的TF‑IDF值,并且对不属于安全情报领域词库的词汇按照TF‑IDF值的大小进行排序。计算非停用词在各文档中的TF‑IDF值的过程如下:
[0047]
[0048] 其中,i为非停用词编号,j为文档编号,nij为词汇i在文档j中出现的次数,wj为文档j的词量,N为开源安全情报文本集中的文档总数,di为开源安全情报文本集中所包含非停用词编号i所对应词汇的文档个数。
[0049] 得到TF‑IDF值后,对比所述TF‑IDF值与第二预设阈值,当所述TF‑IDF值大于所述第二预设阈值时,该TF‑IDF值所对应的词汇与安全情报领域词库合并构成文档特征词汇集,并记所述文档特征词汇集中的词汇量为W。
[0050] S5获取文档特征词汇集中词汇的特征表示向量。
[0051] 对于每一个文档,文档的标题和文本分别使用维度为W的向量T和C表示,T和C的第i维取值为文档特征词汇集的第i个词汇在该文档中的词频,文档的词汇特征表示向量F为T和C的加权和。
[0052] S6通过聚类算法得到经由所述特征表示向量表示的文档相似度,得到聚类结果。
[0053] 在本实施例的具体实施方式中,聚类采用二分k均值算法,具体过程为:
[0054] 挑选一个簇进行划分(初始时所有文档共同为一个簇)。所述簇挑选的条件是对其二分能够最大程度提升聚类效果。聚类效果用误差平方和(SSE)评估,SSE越小,聚类效果越好。任意簇i的SSE的计算方式如下:
[0055]
[0056] 其中Fqj为簇q中第j个文档的词汇特征表示向量,Fqc为簇q的质心向量。
[0057] 基于k均值算法将所选簇进行二分。
[0058] 重复执行以上步骤,直到产生满足聚合条件的簇,具体为分类数量不再有明显上升或者分类效果不再有明显提升。
[0059] S7评估所述聚类结果的准确率。
[0060] 具体而言,对于聚类结果的评估通过以下表达式实现:
[0061]
[0062] 其中,N为开源安全情报文本集中的文档总数,Ck为聚类结果中的第k类,Rm为真实分类中的第m类。
[0063] 以上所述的具体实施方式,对本申请的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本申请的具体实施方式而已,并不用于限定本申请的保护范围,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。