1. 河南大学 河南省智能网络理论与关键技术国际联合实验室, 河南 开封 475001;
2. 河南大学 河南省高等学校 学科创新引智基地-河南大学软件工程智能信息处理创新引智基地, 河南 开封 475001;
3. 河南大学 智能网络系统研究所, 河南 开封 475001;
4. 中国科学院 信息工程研究所, 北京 100049
收稿日期:2021-10-09
基金项目:河南省自然科学基金资助项目(182300410164);河南大学研究生教育创新与质量提升计划项目——英才计划(No.SYL19060120);国家自然科学基金青年基金资助项目(61702503, 61802016);国家自然科学基金重点资助项目(Y810021104)。
作者简介:王瀛(1976-),男,天津人,河南大学副教授。
摘要:为了从来源不同的威胁情报中提取关键信息,方便政府监管部门开展安全风险评估,针对威胁情报文本中英文混杂严重以及专业词汇生僻导致识别困难的问题,在BiGRU-CRF模型基础上,提出了一种融合边界特征以及迭代膨胀卷积神经网络(IDCNN)的威胁情报命名实体识别方法.该方法根据人工构造的规则词典将边界清晰的实体例如英文单词进行转化以减少模型在处理较长文本时容易造成的信息损失,通过IDCNN和双向门控循环单元(BiGRU)进一步提取了文本的局部和全局特征.通过在威胁情报语料库上进行实验,结果表明所提的方法模型在相关评价指标上均优于其他模型,F值达到87.4%.
关键词:威胁情报膨胀卷积命名实体识别信息抽取深度学习
Named Entity Recognition in Threat Intelligence Domain Based on Deep Learning
WANG Ying1,2, WANG Ze-hao3, LI Hong4, HUANG Wen-jun4
1. Henan International Joint Laboratory of Theories and Key Technologies on Intelligence Networks, Henan University, Kaifeng 475001, China;
2. Subject Innovation and Intelligence Introduction Base of Henan Higher Educational Institution -Intelligent Information Processing Innovation and Intelligence Introduction Base of Henan University Software Engineering, Henan University, Kaifeng 475001, China;
3. Institute of Intelligence Networks System, Henan University, Kaifeng 475001, China;
4. Institute of Information Engineering, Chinese Academy of Sciences, Beijing 100049, China
Corresponding author: HUANG Wen-jun, E-mail: huangwenjun@iie.an.cn.
Abstract: In order to extract key information of threat intelligence from different sources and facilitate the government regulatory authorities to carry out security risk assessment, to reduce the difficulty identification caused by the serious mixing of Chinese and English threat intelligence texts and the lack of professional vocabulary, based on BiGRU-CRF model, a threat intelligence named entity recognition(NER)method integrating boundary features and iterated dilated convolution neural network (IDCNN) is proposed. Firstly, entities with clear boundaries, such as English words, are transformed according to the artificially constructed rule dictionary to reduce the loss of information easily caused by the model when processing long texts. The local feature information and the context global feature information are obtained through IDCNN and bidirectional gated recurrent unit (BiGRU), respectively. The results of experiments on threat intelligence corpus show that the proposed model is better than other models in relevant evaluation indexes, and the F-score reaches 87.4%.
Key words: threat intelligencedilated convolutionnamed entity recognition (NER)information extractiondeep learning
各种信息类设备、网络及其相关应用在给生活带来便利的同时,也时刻面临着网络安全漏洞的威胁.2015年,Talk Talk遭受了攻击,黑客通过网络漏洞轻松地在云端获取百万未加密的客户信息, 给用户造成巨大损失.2019年,德克萨斯州一座城市遭遇勒索病毒攻击,整个市政府IT系统被迫关闭.信息设备脆弱性的危害不仅局限于个人,还可能威胁到国家安全.
当威胁情报被发布时,通过自动化的方式快速准确地从中提取到关键的信息,对于构建威胁情报知识图谱,方便国家监管部门对被漏洞影响的设备、企业进行监管和防范,具有重大的意义.众多的威胁情报,由于信息的来源不同,漏洞信息的描述也不尽相同,面对大量结构化及非结构化的信息,通过人工进行信息提取显然无法满足日益增长的威胁情报信息提取需求.因此,本文对命名实体识别技术进行了相关研究.
近些年来,由于深度学习可以自动对文本特征进行自学习来获取文本特征,同时又不需要很强的语言学知识以及大量人工特征,这在一定程度上超越了以往的命名实体识别方法,因此在自然语言处理领域应用越来越广泛,在实体识别上也取得了显著的成绩.Collobert等[1]使用卷积神经网络结合条件随机场对命名实体进行识别;之后石春丹等[2]使用循环神经网络作为文本建模工具,将双向门循环单元结合条件随机场用于中文命名实体识别.2018年,Devlin等[3]提出了BERT(bidirectional encoder representation from transformers)预训练模型,该模型通过双向Transformer获得了表征能力更强的预训练字向量,因此在实体识别上获得了更好的识别效果.在垂直专业领域中,高强等[4]基于层叠模型对国防军事领域进行命名实体识别研究;秦娅等[5]根据网络安全实体构造原子特征,提出了结合特征模板的命名实体识别方法,进一步将命名实体识别应用拓展到其他专业领域.
相比于通用实体,专业领域命名规则更加复杂,识别难度也就更大,特别是威胁情报领域.首先,威胁情报的实体的命名具有很强的专业性且缺乏规范统一的标准;其次,由于信息科技的不断发展,威胁情报实体规模呈爆炸式增长,现有的词库通常不包含这些实体;最后,该领域实体之间中英文参杂、相互嵌套的情况十分普遍,组成更为复杂,给实体的识别带来了更大的挑战.
图 1为一条威胁情报描述示例,其中夹杂很多英文单词,同时包含很多的新的专业词汇,如何通过自动化的方式从这段漏洞描述信息中提取到威胁情报相关实体,包括设备、组件、厂商、类型,是目前需要解决的问题.对于漏洞类型实体,由于该类实体数目较少,构造简单的词典就可以对其进行识别,而对于设备、组件和厂商实体,由于规模较大且无明显特征,本文采用规则特征与深度学习模型相结合的方法,首先对输入文本中根据人工构造规则词典进行转换,使用BERT进行向量初始化之后融入迭代膨胀卷积神经网络(iterated dilated convolution neural network, IDCNN)进行卷积操作,然后输入BiGRU-CRF深度学习模型来对其进行训练,最后通过词典规则进行矫正.相比其他方法模型,该模型框架在减少信息损失的同时,对文本特征进行更加全面的提取,因此取得更好的识别效果.
图 1(Fig. 1)
图 1 威胁情报示例Fig.1 Example of threat intelligence |
1 方法模型将模型进行抽象化解释,即给定威胁情报文本标识符集合s=(w1, w2, …, wn), 经过模型输出一个三元组 < ls, le, t>的实体列表,其中ls为起始索引,le为结束索引,t表示实体类型.如图 2所示,本文提出的模型融合了规则词典、BERT预训练模型、IDCNN、双向GRU网络层以及条件随机场,是一种混合的方法.对于输入的语句,首先通过规则词典对其进行转化,之后送入预训练模型层将每个字符映射为向量表示,然后进行膨胀卷积操作,经由BiGRU网络层将字向量进行编码之后利用CRF(conditional random field)推理层得到可能性最大的标签序列,最后使用规则词典作最后的还原矫正.
图 2(Fig. 2)
图 2 模型框架图Fig.2 Diagram of the model frame |
1.1 规则词典对于威胁情报中一些命名特征较明显的实体,如漏洞编号、时间日期等, 可以通过基于规则的方法如正则表达式对其进行识别.针对实体个数较少的实体,可以通过人工构造相应词典进行匹配.将经过规则和词典识别的实体并入词典,一方面可以作为外部知识库的扩充,另一方面也可以对模型输出结果进行更进一步的矫正.
中文威胁情报中通常会参杂大量英文专有名词,这些单词一方面容易造成语义的混淆,另一方面在训练过程中过长的英文单词也很容易造成上下文信息的损失.为此,在将文本输入模型之前首先对其利用人工构造的规则进行转换,例如单词“Android”,经过规则转换为“A7d”, 其中“A”和“d”分别代表单词的首字母和尾字母,“7”代表单词的长度.很多设备又通常以“系统”“软件”“组件”结尾,通过这些词典可以对经过深度学习模型输出后的标签作进一步的边界限定,进而提高识别的准确率.
1.2 向量初始量将文本信息映射到低维的向量空间是自然语言处理的第一步.传统的字向量生成方法如Word2vec, Glove等通常无法充分地提取到文本的上下文信息.BERT是Google提出预训练模型,它通过无监督的方式从大规模无标签语料中学习各种语言学特征,充分考虑了字符、句子和文本间的特征,增强字向量的语义表示.为了使模型更好地挖掘威胁情报文本的特征信息,本文通过迁移学习的方法将BERT模型学习到的语义知识应用到威胁情报领域.
Transformer编码单元是BERT模型网络架构的核心,其结构如图 3所示.其中,输入文本的向量矩阵由字符表征、句子表征和位置表征构成.Self-Attention又是Transformer最重要的机制, 在计算过程中先将字特征向量Q与上下文特征向量K进行相似性计算,计算结果为注意力权重,为了区分上下文对于目标实体的重要程度,最后通过注意力权重向量重构原始向量V来增强对语义的表达,dk是输入向量的维度.计算公式如下:
(1) |
(2) |
图 3 Transformer结构图Fig.3 Diagram of the Transformer structure |
此外,Transformer采用多头注意力机制,以增大注意力单元的“表示空间能力”,赋予了注意力多种子表达方式,扩大了注意力机制在各个位置的表达能力.
1.3 膨胀卷积神经网络和普通文本不同,威胁情报文本在描述漏洞信息的时候,经常会将某个威胁情报实体单独列出来或是列入表格,很容易造成语义的混乱,这时就需要更多的局部特征信息,为此,本文在模型中融入膨胀卷积神经网络.如图 4所示,和传统卷积神经网络相比,IDCNN不用通过池化就获得较大的视野,在一定程度上避免了通过卷积操作造成的内部数据丢失的问题.膨胀卷积在经典的卷积上增加了一个膨胀宽度d,因而不像传统的CNN那样在连续的区域上滑动,因而可以在卷积核大小不变的情况下增大感受野.
图 4(Fig. 4)
图 4 CNN和IDCNN卷积过程Fig.4 Convolution process of CNN and IDCNN (a)一CNN;(b)一IDCNN. |
1.4 BiGRU网络层BiGRU[6]网络层的目的是对经过膨胀卷积操作的文本向量进行进一步的特征提取, 它通过在LSTM(long-short term memory)[7]基础上合并细胞状态和隐藏层状态,将遗忘门和输出门结合为更新门.通过门结构保留重要特征,在克服循环神经网络中的梯度问题的同时,解决文本间的依赖问题,使得信息得以长距离传送. BiGRU模型是由前向GRU和反向GRU两部分组成.
如图 5所示,更新门zt和重置门rt用来控制神经单元信息的读写.更新门表示前一时刻的状态对当前状态的影响,重置门表示前一时刻状态信息被写入当前候选集
(3) |
(4) |
(5) |
(6) |
(7) |
图 5 GRU单元结构Fig.5 Unit structure of GRU |
其中: ht用来表示当前GRU单元的激活值; yt为t时刻的输出; σ和tanh代表激活函数; WZ, Wr, WO分别表示更新门、重置门、隐藏层输出结果时的权值参数,随着模型的迭代不断更新;
1.5 CRF推理层由于威胁情报实体标签之间并不是相互独立的,具有依赖关系,比如B-DE的后面不可能是I-MD,为了解决标签之间的冲突问题,在BiGRU层后面接入CRF[8]推理层可以获得最优的标签序列.
对于输入的字序列x=(x1, x2, …, xn), xn表示第n个字的输入向量,y=(y1, y2, …, yn)为x的标签序列,每个字对应的标签都有相应的分数,分数越大,对应的标签可能性越大.同时从整体来看,前后标签之间可能还会存在转移,将标签分数和转移分数相加即可得到综合的结果,计算方法如下:
(8) |
(9) |
2 实验与分析2.1 数据获取本文针对cnnvd, cnvd, 绿盟公共平台分别爬取5 411,3 126,2 637条总共11 174条威胁情报信息.对于结构化信息及半结构化信息,首先通过构建规则和字典进行命名实体识别,对于非结构化信息,先进行数据清洗,去除不需要的网页元素信息,之后对清洗后的数据根据规则模板进行转化,最后采用BIO(begin inner other)[9]方式标注生成威胁情报语料库.
标注实体类别包含了漏洞涉及的设备、厂商、组件等信息,表 1是对要识别的三类实体的描述及示例.
表 1(Table 1)
表 1 实体类别与示例Table 1 Entity categories and examples
| 表 1 实体类别与示例 Table 1 Entity categories and examples |
2.2 数据分布威胁情报数据集共包含11 174条威胁情报描述信息,其中训练集8 936条,测试集2 238条,训练集和测试集比例约为4∶1,实体类别分布如表 2所示.对于本文定义的威胁情报领域中的三种实体,其标注方式为:实体首个字符标注为“B-实体类别”,后续字符标记为“I-实体类别”.例如针对设备实体“南昊网上阅卷系统”,其标注结果为“B-DE,I-DE,I-DE,I-DE,I-DE,I-DE,I-DE,I-DE ”,其他非实体字符统一标注为“O”.将得到的数据集输入模型进行训练,流程图如图 6所示,实验步骤参考文献[10].
表 2(Table 2)
表 2 数据集及标签分布Table 2 Data set and label distribution
| 表 2 数据集及标签分布 Table 2 Data set and label distribution |
图 6(Fig. 6)
图 6 实验流程图Fig.6 Experimental flow chart |
2.3 评价指标实验中采用常用的准确率P(precision)、召回率R(recall)以及F(F-score)值作为评价指标对工控物联网领域的实体识别结果进行评估,具体方法如下:
(10) |
(11) |
(12) |
2.4 实验设置本文实验是基于Win10系统Tensorflow1.14.0实现的威胁情报命名实体识别模型,主要参数设置如表 3所示.实验硬件环境如下:处理器为Intel(R)Core(TM)i7-4790CPU@ 3.60 GHz, 20.0 GB机带RAM, 64位操作系统.考虑到实验硬件设备,其中语句输入的最大长度设置为128,Batch的大小设置为64.经实验验证,当IDCNN的膨胀宽度设置为1,1,2时,模型取得最好识别效果,在训练过程中为了减轻过拟合的问题,实验中加入dropout方法,dropout参数值取0.5,初始学习率设置为1e-5,dropout和初始学习率参考了文献[5],采用relu作为激活函数,总共训练40轮.
表 3(Table 3)
表 3 参数设置Table 3 Parameter setting
| 表 3 参数设置 Table 3 Parameter setting |
Google针对BERT的预训练发布了多种BERT版本模型,本文使用的是BERT-Base-Chinese.
2.5 参数影响本节实验主要验证Dilation_rate对IDCNN-CRF模型效果的影响.经过实验验证,结果如图 7所示,当Dilation_rate的值取2时,实验效果最好.实验中还加入2个普通的二位卷积,这是为了不丢失短距离的特征信息.
图 7(Fig. 7)
图 7 Dilation_rate对F的影响Fig.7 Effect of Dilation_rate value on F |
为了验证加入规则词典对整体实验效果的影响,分别对原始标注数据和经过转化后的数据在BERT-IDCNN-BiGRU-CRF模型上进行实验,结果如图 8所示.
图 8(Fig. 8)
图 8 规则转换前后F的变化Fig.8 Change of F before and after rule conversion |
由图 8可知,经过规则处理后,识别效果有了大幅度提升,几种实体识别的F的平均值有约3%的提升.虽然规则转换主要针对英文,但中文实体识别效果也有了明显的提升,这主要是因为较长的单词在训练过程中容易导致信息的缺失,转化之后这种问题得到了缓解,所以不管中文还是英文,效果都会有所提升.由图 9可知,当Epoch达到40左右时,识别效果逐渐趋于平缓,模型对威胁情报实体的识别效果最好,F的宏平均值达到87%左右.
图 9(Fig. 9)
图 9 F随Epoch的变化Fig.9 Variation of F with Epoch |
2.6 模型对比分析为验证本文提出的模型的效果,通过在不同的模型上对三类实体进行识别得到了如表 4所示的实验结果.BiLSTM-CRF模型和BiGRU-CRF模型的F分别达到了83.7%,84.0%,结果相差了0.3个百分点,但相比BiLSTM-CRF模型,BiGRU-CRF一个Epoch节省10 s左右,这是因为BiGRU-CRF结构更加简单,训练时间更短,在使用BERT预训练模型之后,虽然训练所需要的时间大幅度增加,但F的提升也很明显;同时,在BERT-BiGRU-CRF模型中融入IDCNN之后,弥补了BiGRU模型在提取文本特征过程中容易忽略局部特征的缺陷,虽然准确率没有取得最优,但召回率却提高2.4个百分点,其综合评价指标F值又提高了0.5个百分点.
表 4(Table 4)
表 4 各个模型实验结果对比Table 4 Comparison of experimental results of different models ?
| 表 4 各个模型实验结果对比 Table 4 Comparison of experimental results of different models ? |
3 结语本文针对威胁情报领域提出了基于BiGRU-CRF模型,融入IDCNN提取局部特征的同时结合上下文信息,使用BERT对输入文本进行初始化,同时结合威胁情报领域实体规则特征对实体边界进行限制的威胁情报识别模型.通过在威胁情报数据集上进行实验,结果表明,相比其他模型取得了更高的准确率.在对特征提取过程中,相比单纯使用BiGRU-CRF模型,IDCNN的加入,使模型提取了更多BiGRU提取不到的局部上下文信息,而这些局部特征,对于识别威胁情报实体来说十分重要;使用BERT预训练模型进行向量初始化,虽然增加了很多时间消耗,但却减少了模型对专业数据集的依赖,使模型的识别效果得到了显著提升.通过实验,在加入规则词典前后,模型的识别准确率提高了近3%,因此对于边界特征明显的实体例如英文实体,提前根据规则进行转化,可以在一定程度上减少模型在获取较长文本上下文信息时的损失,同时CRF输出最终结果之后,人工构造的规则词典也可以对输出的标签作进一步矫正,进而提升了识别效果.
参考文献
[1] | Collobert R, Weston J, Bottou L, et al. Natural language processing (almost) from scratch[J]. Journal of Machine Learning Research, 2011, 12(1): 2493-2537. |
[2] | 石春丹, 秦岭. 基于BGRU-CRF的中文命名实体识别方法[J]. 计算机科学, 2019, 46(9): 244-249. (Shi Chun-dan, Qin Ling. Chinese named entity recognition method based on BGRU-CRF[J]. Computer Science, 2019, 46(9): 244-249.) |
[3] | Devlin J, Chang M W, Lee K, et al. BERT: pre-training of deep bidirectional transformers for language understanding[C]//Proceedings of the 2019 Conference of the Association for Computational Linguistics. Stroudsburg, 2019: 4171-4186. |
[4] | 高强, 游宏梁. 基于层叠模型的国防领域命名实体识别研究[J]. 数据分析与知识发现, 2012(11): 47-52. (Gao Qiang, You Hong-liang. Research on named entity recognition in national defense field based on cascade model[J]. Data Analysis and Knowledge Discovery, 2012(11): 47-52.) |
[5] | 秦娅, 申国伟, 赵文波, 等. 基于深度神经网络的网络安全实体识别方法[J]. 南京大学学报(自然科学), 2019, 55(1): 29-40. (Qin Ya, Shen Guo-wei, Zhao Wen-bo, et al. Network security entity recognition method based on deep neural network[J]. Journal of Nanjing University (Natural Science), 2019, 55(1): 29-40.) |
[6] | 冀相冰, 朱艳辉, 詹飞, 等. 基于门控多层次注意机制的事件主体抽取[J]. 计算机应用与软件, 2021, 38: 173-179, 187. (Ji Xiang-bing, Zhu Yan-hui, Zhan Fei, et al. Event subject extraction based on gated multi-level attention mechanism[J]. Computer Applications and Software, 2021, 38: 173-179, 187.) |
[7] | Wei H, Gao M, Zhou A, et al. Named entity recognition from biomedical texts using a fusion attention-based BiLSTM-CRF[J]. IEEE Access, 2019(99): 11-17. |
[8] | Yang Y S, Zhang M S, Chen W L. Adversarial learning for Chinese NER from crowd annotations[C]//Proceedings of the 32th AAAI Conference on Artificial Intelligence. New Orleans, 2018: 3216-3222. |
[9] | Tian Y, Zhang J B. Employment discrimination analysis of library and information science based on entity recognition[J]. The Journal of Academic Librarianship, 2021, 47(2): 102325. |
[10] | Mengxing R, Lei M, Ye T, et al. Research on methods for complex Chinese entity recognition[J]. Journal of Physics Conference Series, 2020, 1576: 012008. |