【文献翻译】Network Security Entity Recognition Methods Based on the Deep Neural Network

基于深度神经网络的网络安全实体识别方法

摘要

基于安全知识图谱的网络安全威胁情报分析可以对多源威胁情报数据进行细粒度分析,受到广泛关注。传统的命名实体识别方法在网络安全领域难以识别新的或中英文混合的安全实体,提取的特征不足,难以准确识别网络安全实体。在深度神经网络模型的基础上,提出了一种基于CNN-BiLSTM-CRF结合特征模板的网络安全实体识别方法。人工特征模板用于提取局部上下文特征,然后使用神经网络模型自动提取字符特征和文本全局特征。实验结果表明,在大规模网络安全数据集上,提出的网络安全实体识别方法是有效的。相关评价指标优于其他算法,F值高达86%。

关键词 深度神经网络 · 网络安全 · 实体识别 · 方法探索

实体识别是实现文本理解的关键技术之一。它在信息抽取、问答系统、机器翻译等许多应用中发挥着极其重要的作用。目前,实体识别研究主要集中在命名实体上,包括生物命名实体识别、产品命名实体识别、常规命名实体识别等[1]。显然,对于一个高效且健壮的信息提取系统来说,仅识别文本中的命名实体而不考虑它们的嵌套结构是不够的。

1 深度神经网络的内涵与应用

深度神经网络(DNN)是深度学习的基础。要了解 DNN,我们首先需要了解 DNN 模型。接下来,我们将对DNN模型和前向传播算法做一个总结。 DNN是指深度神经网络算法,是近年来工业界和学术界机器学习领域的一个新热门话题。 [2] 该算法成功地将之前的识别率提高了一个显着水平。

近年来,深度神经网络算法已成为工业界和学术界机器学习领域的热门话题。 DNN 算法成功地显着提高了识别率。人工神经网络起源于 1940 年代。第一个神经元模型是由 McCulloch 和 Petts 在 1943 年提出的。它被称为阈值逻辑。它可以实现一些逻辑运算的功能。此后,神经网络的研究分为两个方向,一个侧重于生物信息处理过程,称为生物神经网络,另一个侧重于工程应用,称为人工神经网络[3] .

2006年,深度网络和深度学习的概念被提出,神经网络开始焕发出新一轮的生命。从字面上看,深层网络是深层神经网络。过去不使用术语“多层神经网络”。为了与之前的神经网络区分开来,它是一个新概念。该术语是2006年多伦多大学Geoff Hinton研究组提出的。实际上Hinton研究组提出的深度网络在结构上与传统的多层感知器没有区别,在做监督学习[4]。唯一的区别是网络应该在进行监督学习之前进行无监督学习,然后将无监督学习的权重作为监督学习的初始值进行训练[5]。这种变化对应于一个合理的假设。我们用P(x)来表示通过无监督学习对网络进行预训练得到的数据,然后用有监督学习来训练网络(比如BP算法),得到P(Y|X) ,其中 Y 是输出(例如类别标签)。该假设认为 P(X) 学习有助于 P(Y|X) 学习。与监督学习相比,这种学习方法有助于降低过拟合的风险,因为它不仅学习了条件概率分布 P(Y|X),还学习了 X 和 Y 的联合概率分布。关于预训练有助于深度学习的原因的其他解释。最直接的解释是,预训练将网络参数训练成一组合适的初始值,从中成本函数达到一个较低的值。

2 基于深度神经网络的网络安全实体识别过程及研究现状

2.1 实体识别过程

实体识别包括六个阶段:预处理阶段、特征向量选择、比较函数选择、搜索空间优化、决策模型选择和结果评估。预处理阶段是实体识别过程的关键阶段。这一阶段的数据标准化包括空间处理、字符大小写转换、复杂数据结构分析和格式转换、上下文异质性消除。隐马尔可夫模型(HMM)是该过程中对数据进行标准化的常用方法。特征向量是一组可以识别实体的属性。特征向量的选择方法包括领域专家的人工指定和机器学习方法。决策模型是在搜索空间的特征向量比较中选择决策模型来判断实体是否匹配。一种是概率模型,如 Fellegi 和 Sunter 模型,另一种是基于经验的模型,根据领域专家的经验设定阈值。评估结果是匹配的、不匹配的和可能匹配的。不确定匹配结果需要人工评估,评估过程中发现的问题需要调整或改进决策模型,以获得更准确的实体识别效果。

2.2 实体识别研究

早期的实体识别算法主要是利用记录间的相似性进行比较,利用规则法和阈值来判断两条记录是否为同一实体。在机器学习方法中,动态生成相似度函数得到分类器,有效地结合了多个属性的相似度,准确判断每对记录是否可以匹配到同一个实体。基于规则的方法是根据规则判断不同的记录是否描述了同一个实体。有学者提出了一种基于 Map-Reduce 框架的大数据实体识别算法。该算法首先通过属性值计算记录之间的相似度,然后实现基于图聚类的实体识别。

复杂数据是指在实际应用中产生的数据,如XML数据、图形数据、网络数据等。同一个实体有不同的复杂数据描述方法。为了有效地对这些数据进行质量管理,需要快速有效地识别出复杂的数据实体。对复杂数据的实体识别可分为对识别和组识别。根据识别对象的不同,复杂数据的实体识别可分为XML数据实体识别、图结构数据实体识别和复杂网络中的节点实体识别。

3 基于深度神经网络的网络安全实体识别方法

3.1 Attention-Based

基于RNN-CRF模型结构,本文Attentioning to Characters in Neural Sequence Labeling Models重点改进词向量和字符向量的马赛克。使用注意机制,将原始字符向量和词向量拼接在一起以求和权重。传统神经网络的两个隐藏层用于学习注意力的权重,使模型能够动态地利用词向量和字符向量信息。实验结果表明,该方法优于原始拼接方法。

3.2 少量标注数据

对于深度学习方法,一般需要大量标注数据,但在某些领域并没有大量标注数据。因此,如何在神经网络结构方法中使用少量的标注数据也是近期研究的重点。其中包括 Transfer Learning for
Sequence Tagging with HierAR Chical Recurrent Networks和半监督学习。这里我提一下最近 ACL2017 刚录用的一篇论文。在这篇使用双向语言模型的半监督序列标注中,使用海量的无叶 g 标注语料库训练双向神经网络语言模型,然后使用训练好的语言模型获得标注词的当前 LM 嵌入。然后将向量作为特征添加到原始的双向 RNN-CRF 模型中。实验结果表明,将这种语言模型向量加入到少量的标注数据中,可以大大提高NER效果。即使在大量带标签的训练数据上,加入这个语言模型向量仍然可以提供原始 RNN-CRF 模型的效果

3.3 基于深度神经网络的一种方法

人们很早就开始研究基于神经网络的模型,但是当网络层数较深时,很容易过拟合。谷歌2015年最新模型在ImageNet中的识别率甚至高于人工标注。在自然语言处理中,深度学习已应用于词的分布、词义消歧、句子语义计算、重复检测和情感分类。对于NER问题,最好的模型是Collobert在2011年提出的基于Windows的深度神经网络模型,其效果和性能均优于传统算法。接下来,我们将介绍模型的理论以及我们如何实现模型的细节和技术。模型自动从输入句子中学习一系列抽象特征,并通过反向传播算法训练模型参数。第一层提取每个词的特征,第二层从词窗口中提取特征,并将其视为一系列局部和全局结构,从而区分词模型的传统袋子。后一层与经典神经网络相同。

如果把样本的分布看成多项式分布,很容易写出样本联合概率的解析表达式,然后用最大似然估计求解。目标函数如下式所示。 N是样本大小,h是隐藏层节点数,c是窗口大小,d是词向量的维度。本文按照目标函数的常用处理方法,将最大似然转换为最小负对数似然。对数的目的是为了简化下面的导数公式,通过负号将极大问题转化为标准极小问题。除了最小化负对数似然,W 和 V 的 L2 正则项被添加到损失函数中。原因是softmax函数的参数是多余的。也就是说,最小值不是唯一的。为了唯一解决问题,添加了正则项。另一方面,L2正则化可以增加参数的高斯先验,控制参数的方差,惩罚过多的参数,有助于提高模型的泛化能力。因子 λ 调整正则项的权重。值越大,大参数的惩罚越大。然后我们简单地将λ作为c。

随机梯度下降法的重要参数之一是学习率。学习率太高,模型会很快收敛,但是准确率不高。相反,如何学习率太小,准确率高,但收敛速度慢。这个参数需要通过搜索来确定。第一层词向量的初始化对最终的分类效果影响很大,所以需要大量的未标注数据训练。网络层数对超过四层后的结果影响不大。 NER 是序列注释的一个特例。对于一般问题,例如 POS 和 Chunking,可以使用基于窗口的方法。但这对于 SRL 来说还不够。它需要卷积方法,本质上是几种基于窗口的方法的叠加,所以卷积可以看作是一种广义的窗口方法。基于窗口方法,模型不知道一个句子,一次只看到窗口中的信息,假设标签只依赖于本地单词。如果某些特殊的 NER 不能满足这个假设,则需要考虑基于卷积的方法。

4 结束语

随着大数据时代的到来,如何从异构数据中准确识别网络安全实体是构建网络安全知识图谱的基本问题。因此,针对与网络安全相关的文本数据,本文研究支持海量网络数据的安全实体识别算法,为构建网络安全知识图谱奠定基础。针对从海量文本网络数据中高效准确提取安全实体的问题,对数据集进行有效切分,实现安全实体的高效准确识别。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值