掌桥专利:专业的专利平台
掌桥专利
首页

一种暗网威胁信息命名实体识别方法及系统

文献发布时间:2023-06-19 19:30:30


一种暗网威胁信息命名实体识别方法及系统

技术领域

本发明涉及网络安全技术领域,特别是涉及一种暗网威胁信息命名实体识别方法及系统。

背景技术

本部分的陈述仅仅是提到了与本发明相关的背景技术,并不必然构成现有技术。

暗网因其匿名性和数据内容的高价值受到了越来越多的关注,不法分子会利用暗网进行各类违法活动,因此使用一定的方法及时监控暗网威胁信息有利于进行追踪溯源。

发明人发现,现有技术中存在如下技术问题需要解决:

第一,暗网威胁信息中包含着市场交易信息、漏洞、软件,暗网领域数据集属于专业领域,暗网威胁信息命名实体识别的训练样本缺乏大规模的标记数据,如果采用人工标注,浪费时间,而且工作效率不高;

第二,暗网威胁信息命名实体识别的训练样本缺乏大规模的标记数据,导致所训练模型的暗网威胁信息命名实体识别的精准度不高,进而无法有效地从暗网中发现未知的网络威胁。

发明内容

为了解决现有技术的不足,本发明提供了一种暗网威胁信息命名实体识别方法及系统;针对当前暗网的数据标注都为人工标注,为减少人工标注,利用主动学习的半监督策略,通过未标记的样本,筛选出现多的样本进行标注,通过利用少量标注得到较好效果的标注序列,降低人工成本。

第一方面,本发明提供了一种暗网威胁信息命名实体识别方法;

一种暗网威胁信息命名实体识别方法,包括:

S101:获取暗网威胁信息,对暗网威胁信息进行预处理,得到无标签数据集;将无标签数据集采用主动式半监督学习算法进行标注,根据词汇在无标签数据集中出现的频率,将无标签数据集划分为第一数据集和第二数据集;对无标签数据集中的第一数据集进行标注,得到有标签数据集;

S102:首次执行时,采用有标签数据集,对命名实体识别模型进行训练,得到初步训练后的命名实体识别模型,进入S103;

非首次执行时,利用更新后的有标签数据集,对初步训练后的命名实体识别模型进行再次训练,得到最终训练后的命名实体识别模型,进入S104;

S103:将第二数据集,输入到初步训练后的命名实体识别模型中,输出第二数据集中每个词汇的标签,计算第二数据集中每个词汇的标签的置信度,筛选出置信度高于设定阈值的词汇及标签,将筛选出来的词汇和标签合并到有标签数据集中,得到更新后的有标签数据集;返回上一步S102;

S104:采用最终训练后的命名实体识别模型,对第二数据集的词汇进行命名实体识别,得到识别后的标签。

第二方面,本发明提供了一种暗网威胁信息命名实体识别系统;

一种暗网威胁信息命名实体识别系统,包括:

预处理模块,其被配置为:获取暗网威胁信息,对暗网威胁信息进行预处理,得到无标签数据集;将无标签数据集采用主动式半监督学习算法进行标注,根据词汇在无标签数据集中出现的频率,将无标签数据集划分为第一数据集和第二数据集;对无标签数据集中的第一数据集进行标注,得到有标签数据集;

训练模块,其被配置为:首次执行时,采用有标签数据集,对命名实体识别模型进行训练,得到初步训练后的命名实体识别模型,进入筛选模块;

非首次执行时,利用更新后的有标签数据集,对初步训练后的命名实体识别模型进行再次训练,得到最终训练后的命名实体识别模型,进入识别模块;

筛选模块,其被配置为:将第二数据集,输入到初步训练后的命名实体识别模型中,输出第二数据集中每个词汇的标签,计算第二数据集中每个词汇的标签的置信度,筛选出置信度高于设定阈值的词汇及标签,将筛选出来的词汇和标签合并到有标签数据集中,得到更新后的有标签数据集;返回训练模块;

识别模块,其被配置为:采用最终训练后的命名实体识别模型,对第二数据集的词汇进行命名实体识别,得到识别后的标签。

与现有技术相比,本发明的有益效果是:

(1)本发明将无标签数据集采用主动式半监督学习算法进行标注,通过未标记的样本,筛选出现多的样本进行标注,通过利用少量标注得到较好效果的标注序列,降低人工成本;

(2)本发明将筛选出来的词汇和标签合并到有标签数据集中,得到更新后的有标签数据集,利用更新后的有标签数据集,对初步训练后的命名实体识别模型进行再次训练,得到最终训练后的命名实体识别模型,经过多轮迭代训练,保证标签的准确性,提升模型训练的准确度,进而有效地从暗网中发现未知的网络威胁。

附图说明

构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。

图1为本发明的命名实体模型的网络结构图。

具体实施方式

应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。

需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。

本实施例所有数据的获取都在符合法律法规和用户同意的基础上,对数据的合法应用。

实施例一

本实施例提供了一种暗网威胁信息命名实体识别方法;

一种暗网威胁信息命名实体识别方法,包括:

S101:获取暗网威胁信息,对暗网威胁信息进行预处理,得到无标签数据集;将无标签数据集采用主动式半监督学习算法进行标注,根据词汇在无标签数据集中出现的频率,将无标签数据集划分为第一数据集和第二数据集;对无标签数据集中的第一数据集进行标注,得到有标签数据集;

S102:首次执行时,采用有标签数据集,对命名实体识别模型进行训练,得到初步训练后的命名实体识别模型,进入S103;

非首次执行时,利用更新后的有标签数据集,对初步训练后的命名实体识别模型进行再次训练,得到最终训练后的命名实体识别模型,进入S104;

S103:将第二数据集,输入到初步训练后的命名实体识别模型中,输出第二数据集中每个词汇的标签,计算第二数据集中每个词汇的标签的置信度,筛选出置信度高于设定阈值的词汇及标签,将筛选出来的词汇和标签合并到有标签数据集中,得到更新后的有标签数据集;返回上一步S102;

S104:采用最终训练后的命名实体识别模型,对第二数据集的词汇进行命名实体识别,得到识别后的标签。

本发明通过构建命名实体识别模型,引入结合注意力机制的膨胀卷积网络来得到更多的信息进行暗网威胁信息实体识别,针对专业领域的语料标注引入了主动式半监督学习算法。

由于传统的word2vec词嵌入模型中词和向量是一对一的关系,无法解决多义词问题,本发明引入BERT模型利用单词的上下文信息来做特征提取可以解决一词多义的问题;

在实体识别方面,由于CNN模型只关注一个特征得到部分信息,本发明采用IDCNN模型,IDCNN模型通过增大视野范围可以得到更多的信息;

本发明构建条件随机场模型进行标签预测,但是暗网领域的数据属于专业领域,缺乏大规模的标记数据,大多数需要人工标注,费时且效率不高,本发明通过引入主动学习标注更少的样本量达到降低人工标注的成本。

进一步地,所述S101:获取暗网信息需要建立在Scrapy框架之上暗网爬虫,Scrapy是适用于Python的一个快速、高层次的屏幕抓取和web抓取框架,用于抓取web站点并从页面中提取结构化的数据。首先确定爬取目标,编写items.py文件。Items是由Scrapy提供给用户的类,进行页面内容爬取并将结果存入Item中;制定爬虫,Spider模块是框架中解析网页的部分,利用Spider模块提供的parse()函数对下载的数据进行解析。

进一步地,所述S101:暗网,是指:暗网市场与暗网论坛上涉及非法活动的相关网页。

进一步地,所述S101:对暗网威胁信息进行预处理,得到无标签数据集,其中预处理过程包括:

去除数据中没有意义的语气词、对数据进行纠错处理、对词干进行提取处理、对词型进行还原处理、进行字母的大小写转换处理和去除停用词处理。

进一步地,所述S101:将无标签数据集采用主动式半监督学习算法进行标注,根据词汇在无标签数据集中出现的频率,将无标签数据集划分为第一数据集和第二数据集,其中无标签数据集划分是根据词汇出现的频率进行划分,当词汇在无标签数据集中出现的频率高于设定阈值时,将当前词汇划分到第一数据集;否则,将当前词汇划分到第二数据集,所述设定阈值为60%、70%或80%。

进一步地,所述第一数据集,是指在无标签数据集中词汇出现频率超过设定阈值的词汇;所述第二数据集,是指在无标签数据集中词汇出现频率低于设定阈值的词汇;第一数据集的词汇量小于第二数据集的词汇量。

进一步地,所述对无标签数据集中的第一数据集进行标注,得到有标签数据集,具体采用三元标注方式,其中B表示首个单词,I表示中间单词,O表示不是实体的单词。

进一步地,所述S102的命名实体识别模型、初步训练后的命名实体识别模型、最终训练后的命名实体识别模型、所述S103的初步训练后的命名实体识别模型以及所述S104的最终训练后的命名实体识别模型,其网络结构是一样的。

进一步地,如图1所示,所述S102:命名实体识别模型,其网络结构包括:

依次连接的深度双向预训练语言模型BERT、基于残差结构的膨胀卷积神经网络、自注意力机制层Attention和条件随机场模型;其中,基于残差结构的膨胀卷积神经网络,包括:依次连接的残差网络Resnet和膨胀卷积网络(Iterated Dilated CNN,IDCNN)。

进一步地,所述深度双向预训练语言模型BERT,用于将输入文本中的每个字转换为一维向量。

语言模型预训练,采用双层双向Transformer 模型,通过两种策略来完成,即遮掩语言模型和下一句预测,分别用作获取词级别的表示和获取句级别的表示,并将两种表示结合作为结果;

对下游任务的处理,采用Fine-Tuning微调的策略来完成。其中,掩码语言模型(MLM)是为了训练深度双向表征,随机盖住输入的部分字,让编码器预测被盖住的原始字。下一句预测(NSP)是通过预训练一个二值化的模型,用来学习句子之间的关系。即通过替换一些句子,利用上一个句子进行被替换的句子是不是下一个句子的预测。

BERT的输入组成部分是字向量、文本向量和位置向量的加和,对发送到嵌入层的数据进行预处理将三个部分相加得到输入,在第一个句子的开头添加[CLS]标记,在两个句子之间和最后一个句子的结尾添加[SEP]标记;句子在结尾处用[PAD]填充,直到达到最大序列长度;通过查询单词向量表,将句子中的每个单词转换为一维向量。

进一步地,所述基于残差结构的膨胀卷积神经网络,通过共享参数防止过拟合,用于计算出每个词汇特征被分类的概率。

进一步地,所述自注意力机制层Attention,用于计算每个单词与所有其他单词之间的关联,与当前单词相关性高的单词具有高的注意得分,用于考虑上下文信息。

进一步地,所述条件随机场模型,用于对标签信息进行排序。

应理解地,本发明之所以采用深度双向预训练语言模型BERT,而不采用传统的词嵌入模型word2vec,是因为传统的词嵌入模型word2vec只有一个词向量被称为静态词向量,一词多义的情况不能被很好的解决,BERT模型相比word2vec模型具有更好并行性,可以更好的描述字符、词和句子的关系特征。

应理解地,BERT模型在预训练阶段使用双向语言模型进行训练,同时使用Transformer进行预训练以生成深层的双向语言表征,能够有效的捕获上下文信息,一个编码器负责接收文本作为输入,一个解码器负责预测任务的结果;BERT模型在预训练后,只需要添加一个额外的输出层进行微调,就可以在各种各样的下游任务中取得优秀的表现。

使用BERT模型在预训练阶段使用双向语言模型进行训练,同时使用Transformer作为特征抽取器,用来解决Word2vec只有一个词向量不能表示一词多义的情况,提供更好并行性。

应理解地,本发明之所以采用基于残差结构的膨胀卷积神经网络,而不采用CNN模型,是因为CNN模型经过卷积之后为了获取更多上下文信息,需要更多的卷积层,导致参数过多和模型过大,利用IDCNN(膨胀卷积网络)可以增加模型看到的信息范围。

针对CNN模型经过卷积之后造成参数越来越多模型过大出现过拟合问题,利用IDCNN模型共享参数的特性减少参数过多,增加模型看到的信息范围防止过拟合问题。

文本向量化,由于CNN模型也经常被用于文本,缺点是经过卷积之后为了获取更多上下文信息,需要加入更多的卷积层,造成参数越来越多,导致模型过大,出现过拟合问题;

为了解决过拟合问题,用IDCNN(膨胀卷积网络)增加模型看到的信息范围防止过拟合问题,其思想是在卷积核filter上增加一个膨胀宽度dilation width,作用在输入矩阵的时候,会skip所有膨胀宽度dilation width中间的输入数据;而卷积核filter本身的大小保持不变,这样卷积核filter获取到了更广阔的输入矩阵上的数据;

将BERT 模型的输出进行编码,构建为一个特征矩阵传入模型中;

将BERT模型输出的词向量传递给结合残差结构的IDCNN模型,提取文本特征;

应理解地,本发明采用自注意力机制层Attention,引入注意力机制可以并行化计算,且膨胀卷积网络参数更少,用来提取对句子含义重要的字。针对暗网文本语言容易出现理解偏差的情况引入注意力机制全局捕捉联系,用来提取暗网信息含义重要的字。

应理解地,所述将无标签数据集采用主动式半监督学习算法进行标注,是因为现有技术中由于暗网文本缺少专用数据集,收集来的数据都为人工标注,造成工作效率较低。本发明通过利用主动学习结合半监督学习的算法,通过未标记的样本,筛选出有价值的样本进行标注降低人工成本,利用少量标注得到较好效果的标注序列;

应理解地,所述将无标签数据集采用主动式半监督学习算法进行标注,是先从一个大的未标记数据中提取样本,得到少量标注信息作为初始数据,然后送入命名实体识别模型,通过利用主动学习结合半监督学习的算法策略,把标注的少部分信息再次送入命名实体识别模型,从而达到降低人工标注的效果。

应理解地,所述自注意力机制层Attention,可以理解更关键的信息,能够挖掘更多的细节;注意力机制在文本中的应用,主要是通过计算单词间的互相影响,来解决长距离依赖问题,注意力机制的运算需要三部分,query-要查询的序列、key-计算注意力分布、value-生成选择的信息,注意力机制的公式及计算过程如下:

其中,Q,K,V 分别是query,key,value 的矩阵;

(1)先用query 和所有的key 值相乘,每个key得到一个值;

(2)得到的值看做是每个key的权重,为了使得权重加起来等于1,用softmax得到注意力评分;

(3)用评分和相对应的value 值相乘,再相加,得到想要的注意力向量。

应理解地,本发明通过引入主动学习,目的是使用尽可能少的样本标注使模型达到较好的效率,经常被应用在标注代价高的任务;主动学习通过“选择策略”主动从未标注的样本集中挑选部分(1个或N个)样本让相关领域的专家进行标注;使用主动学习结合半监督的算法,在未标注数据的集合选择当前要标注的数据;然后将标注过的样本增加到训练数据集,对命名实体识别模型进行训练;当命名实体识别模型满足终止条件时即可结束程序,否则不断重复上述步骤获得更多的标注样本进行训练。

应理解地,本发明引入CRF(条件随机场)用于标注;引入条件随机场(CRF)用于预测相邻标签;条件随机场是一种判别式模型,是基于概率无向图的时序标注算法,判别式模型是对P(X|Y)的建模,即根据输入X直接给出Y出现的概率,只要确认一个划分边界,即可进行分类,优点是对数据量要求没生成式的严格,速度也会快,准确率高。根据相邻数据的标签信息对标签重新排序,CRF 层通过提取到的特征信息输出字的命名实体标签分类结果。

当前暗网的数据标注都为人工标注,标注代价较大。通过利用主动学习的策略,通过未标记的样本,筛选出现多的样本进行标注,通过利用少量标注得到较好效果的标注序列;采用BIO标注方式,确定实体类别,其中B代表单词开始,I代表中间单词,O代表不是实体单词;引入主动学习,目的是使用尽可能少的样本标注使模型达到尽可能好的性能,最大化模型性能,提高效率,经常被应用在标注成本高、标注难度大的任务;主动学习通过“选择策略”主动从未标注的样本集中挑选部分(1个或N个)样本让相关领域的专家进行标注;将标注过的样本增加到训练数据集进行训练;当满足终止条件时即可结束程序,否则不断重复上述步骤获得更多的标注样本进行训练。

具体样本标注步骤如下:先对数据集中的一部分送入命名实体识别模型;通过利用主动学习的半监督策略,从一个大的未标记数据中提取样本;先标注少量信息,把标注的少部分信息再次送入命名实体识别模型,从而达到降低人工标注的效果。

使用主动学习结合半监督的自训练算法(Self-training)作为半监督学习的一种基础方法,自训练算法在训练过程中会根据模型的预测信息,挑选合适的样本及其对应的预测标签加入训练集,而且初始化少量的标注样本能够保证模型的初始性能。

自训练算法,步骤如下:

输入:初始模型BERT-IDCNNN-CRF,未标注样本池U,阈值threshold;

输出:最终模型G及其性能;

(1)、初始化:标注少量的训练样本L;

(2)、repeat:

(3)、使用标注数据集L训练命名实体识别模型;

(4)、使用命名实体识别模型对未标注样本池U中的每个样本进行预测,并记录对应的预测值;

(5)、根据样本的预测值计算对应的置信度confidence;

(6)、挑选满足阈值的样本及其对应的预测标签构成集合X;

(7)、更新相关的数据集:

(8)、直到满足预先设定的结束条件。

进一步地,所述S103:将第二数据集,输入到初步训练后的命名实体识别模型中,输出第二数据集中每个词汇的标签,计算第二数据集中每个词汇的标签的置信度,筛选出置信度高于设定阈值的词汇及标签,将筛选出来的词汇和标签合并到有标签数据集中,得到更新后的有标签数据集;所述设定阈值为0.8或0.9;

其中,置信度的计算公式如下:

其中,

其中,

引入自注意力机制可以全局捕捉联系,自注意力机制可以计算每两个单词之间的关系,并根据这个关系来理解单词在上下文中的意思;

自注意力机制是注意力机制的变体,其减少了对外部信息的依赖,更擅长捕捉数据或特征的内部相关性,也是transformer中的重要组成部分;

自注意力机制的计算过程如下:

(1)将输入单词转化成嵌入向量;

(2)根据嵌入向量利用矩阵乘法得到q、k、v三个向量;

(3)为每一个向量计算一个相关性score:

(4)为了梯度的稳定,Transformer使用了score归一化;

(5)对score施以softmax激活函数;

(6)softmax点乘Value值v,得到加权的每个输入向量的评分v;

(7)将加权值相加之后得到最终的输出结果;

基于残差结构的IDCNN模型,结合注意力机制提取关键信息;

将提取的关键信息送入CRF中,预测标签之间的约束。

实施例二

本实施例提供了一种暗网威胁信息命名实体识别系统;

一种暗网威胁信息命名实体识别系统,包括:

预处理模块,其被配置为:获取暗网威胁信息,对暗网威胁信息进行预处理,得到无标签数据集;将无标签数据集采用主动式半监督学习算法进行标注,根据词汇在无标签数据集中出现的频率,将无标签数据集划分为第一数据集和第二数据集;对无标签数据集中的第一数据集进行标注,得到有标签数据集;

训练模块,其被配置为:首次执行时,采用有标签数据集,对命名实体识别模型进行训练,得到初步训练后的命名实体识别模型,进入筛选模块;

非首次执行时,利用更新后的有标签数据集,对初步训练后的命名实体识别模型进行再次训练,得到最终训练后的命名实体识别模型,进入识别模块;

筛选模块,其被配置为:将第二数据集,输入到初步训练后的命名实体识别模型中,输出第二数据集中每个词汇的标签,计算第二数据集中每个词汇的标签的置信度,筛选出置信度高于设定阈值的词汇及标签,将筛选出来的词汇和标签合并到有标签数据集中,得到更新后的有标签数据集;返回训练模块;

识别模块,其被配置为:采用最终训练后的命名实体识别模型,对第二数据集的词汇进行命名实体识别,得到识别后的标签。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

技术分类

06120115931299