原文链接:https://www.sciencedirect.com/science/article/pii/S0950705122012102?via%3Dihub
Knowledge-Based Systems 2023
网络安全领域的威胁情报数据大多是非结构化的多源异构文本,难以在短时间内理解。利用知识图谱(KG)能够自动实时的对情报进行分析,其中NER能够识别与网络攻击相关的实体,是KG的关键技术之一。
作者认为虽然依存树能够捕获远距离的结构化信息来丰富语义表征,但目前对于这种结构化特征的利用大多都是进行线性堆叠,没有在不同网络之间进行交互;另外,现有的模型对网络安全中复杂实体的边界不敏感。
作者提出了FIEBD模型(feature integration and entity boundary detection model),使用PERT来获取文本的嵌入,提出了一种新的神经元GARU用于融合GNN和RNN中提取的不同类型特征;另外,使用实体边界检测模块对实体头尾进行预测作为增强任务。
模型的整体结构如下图所示,首先获得word的embedding,使用多个GAT模块充分的在word之间进行交互;然后使用作者提出的GARU得到每个word的隐含特征,使用多头自注意力进行交互,最后结合边界信息送入到CRF中进行实体识别。
本文中word embedding是由word-level embedding(来自在cybersecurity-related语料库进行预训练的Word2Vec的word embedding,和PERT的word embedding)、character-level embedding(通过一个CNN得到)、dependency relation embedding和part-of-speech tag embedding(两者都来自stanfor nlp工具)concat而来。
Graph attention network layer
给定一个句子的表征 e = [e1,e2,......,en],将每个单词的表征ei都作为图中的节点,即 ,在中执行自注意计算节点k的特征对节点i的重要性:
然后对不同的k使用softmax和LeakyReLU进行归一化计算,便于比较不同节点的系数:
最后,有k个独立注意力机制进行转换(说实话,没看懂这些公式?):
GARU layer
作者认为之前的模型将GNN提取的结构信息,送入到RNN中来获得表征存在两个问题:1)图编码的表征质量是不确定的;2)GNN和RNN之间交互的隐藏特征具有隐秘性和不可控性。因此作者提出一种图递归神经元GARU。
该神经元的结构和计算方式如下所示,每个实践部,同时输入word 表征和图编码的表征,在该单元独立决定使用和传递哪些上下文和图表征。
在作者提出的模型中,基于Bi-RNN提出了Bi-GARU来从不同方向获得表征:
使用多头注意力来获取不同表征空间的多维特征,即单词之间的内在关系。给定隐藏表征H=[h1,h2,......,hn],按以下公式计算:
该模块作者使用两个Bi-LSTM 层来分别检测实体的start和end:
该模块的输出用于两个地方:1)与注意力层的输出相结合,以丰富上下文表征,其计算公式如下:
2)放入头部实体预测器和尾部实体预测器中,得到预测的实体边界概率(这一块用于模型的的边界损失,以此来训练Bi-LSTM的效果):
给定entity boundary detection layer中的隐藏状态H,使用CRF层进行实体标签预测:
模型使用边界回归的交叉熵损失Lb和实体分类损失Le进行训练:
作者分别使用Word2Vec和PERT这两个模型的word embedding,结果如下所示:
对主要模块进行了实验,结果如下所示:
可以看出-pos模块对模型的影响还挺大的(但是该论文也没有代码!晦气!下次一定要先看开源没有!)
感觉本文的主要创新点就在于,提出了GARU来融合图提取出的结构信息和RNN的序列信息,但是消融实验的结果看出这一块并没有很大的影响;另外,作者还提出了边界检测模块,用Bi-LSTM来分别检测头和尾的信息,并和GARU输出的信息进行融合,用于最后的CRF,消融实验中这一部分的影响还挺大的,但是没有代码!