CN116910013A - 基于语义流图挖掘的系统日志异常检测方法 - Google Patents
基于语义流图挖掘的系统日志异常检测方法 Download PDFInfo
- Publication number
- CN116910013A CN116910013A CN202310873970.1A CN202310873970A CN116910013A CN 116910013 A CN116910013 A CN 116910013A CN 202310873970 A CN202310873970 A CN 202310873970A CN 116910013 A CN116910013 A CN 116910013A
- Authority
- CN
- China
- Prior art keywords
- log
- graph
- representing
- node
- vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 36
- 238000005065 mining Methods 0.000 title claims abstract description 4
- 239000013598 vector Substances 0.000 claims abstract description 73
- 238000000034 method Methods 0.000 claims abstract description 28
- 230000007246 mechanism Effects 0.000 claims abstract description 16
- 238000013528 artificial neural network Methods 0.000 claims abstract description 11
- 238000000605 extraction Methods 0.000 claims abstract description 8
- 238000012549 training Methods 0.000 claims abstract description 6
- 239000011159 matrix material Substances 0.000 claims description 18
- 230000005856 abnormality Effects 0.000 claims description 16
- 230000006870 function Effects 0.000 claims description 13
- 230000002457 bidirectional effect Effects 0.000 claims description 12
- 238000003064 k means clustering Methods 0.000 claims description 7
- 241000288105 Grus Species 0.000 claims description 5
- 230000002159 abnormal effect Effects 0.000 claims description 5
- 238000003062 neural network model Methods 0.000 claims description 5
- 230000002776 aggregation Effects 0.000 claims description 4
- 238000004220 aggregation Methods 0.000 claims description 4
- 238000011176 pooling Methods 0.000 claims description 4
- 125000002015 acyclic group Chemical group 0.000 claims description 3
- 238000010586 diagram Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 230000004913 activation Effects 0.000 claims description 2
- 230000004931 aggregating effect Effects 0.000 claims description 2
- 238000005096 rolling process Methods 0.000 claims 1
- 230000008859 change Effects 0.000 abstract description 4
- 230000011218 segmentation Effects 0.000 abstract description 4
- 238000007781 pre-processing Methods 0.000 abstract description 2
- 230000000694 effects Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 10
- 238000004458 analytical method Methods 0.000 description 5
- 239000000284 extract Substances 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 239000013604 expression vector Substances 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000739 chaotic effect Effects 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/1805—Append-only file systems, e.g. using logs or journals to store data
- G06F16/1815—Journaling file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/30—Semantic analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Databases & Information Systems (AREA)
- Machine Translation (AREA)
Abstract
本发明公开一种基于语义流图挖掘的系统日志异常检测方法,主要解决了现有技术针对海量非结构化日志在异常检测任务中日志噪声去除难、系统变更导致检测效果不佳的问题。包括:1)对日志原始语句进行预处理,去除无意义符号并进行分词;2)利用Word2Vec结合日志语句中单词的重要度计算日志语句的词向量;3)利用基于注意力机制的双GRU网络,得到日志语句的句向量表示;4)对日志句向量进行聚类,将相似度高的日志语句划分为一类,构造语义流图;5)通过图卷积神经网络对语义流图进行特征提取和训练,实现异常检测。本方法能够有效解决日志噪声对异常检测的影响,并利用日志语句之间的空间结构信息提高异常检测的准确性。
Description
技术领域
本发明属于信息安全技术领域,进一步涉及异常检测方法,具体为一种基于日志语义信息提取的系统异常检测方法,可用于主流计算机系统的异常检测和识别。
背景技术
系统日志记录了系统的状态信息和运行情况,包含系统的异常信息,通常由静态文本和变量组成,是了解系统状态的宝贵资源,通过分析系统日志包含的信息,能够分析系统的异常、定位系统故障点,进而提高系统的安全性和可靠性。日志文件与自然语言编写的文档并不相同,一是日志中相似的消息不断重复,这是由于程序通常以循环的方式执行,导致事件重复发生,并且大多数日志都由一组数量有限的日志打印语句生成,即代码中预定义的函数将格式化字符串写入输出并生成日志消息;二是日志中的一些消息具有高度的相关性,这是因为系统程序的执行遵循某些控制流,生成日志的组件之间彼此链接。目前绝大多数系统产生的日志都是半结构化或者非结构化的,不同系统之间的日志格式和类型都有所不同,因此,即使日志包含了系统重要事件的信息,要想对日志进行高效解析,提取日志中的事件信息进行异常检测也成为了一个难点。除了半结构化日志格式复杂难以解析和提取有效信息外,针对系统日志进行异常检测还面临着日志数据量庞大,日志中的垃圾数据和噪声的影响。
目前主流的针对系统日志进行异常检测方法主要包括以下步骤:1)对系统日志进行解析,提取日志中的模板;2)将日志模板构建为日志序列,提取日志模板序列中的特征向量;3)利用机器学习或深度学习的方法进行异常检测。但是面对海量非结构化和半结构化的系统日志,进行日志解析提取日志模板对日志解析器提出了挑战,此外,日志解析在异常检测系统中具有较大的时空消耗,导致异常检测任务效率低下。更重要的是,存在于系统日志中的噪声数据难以进行去除,这将直接影响异常检测的准确率。因此针对系统日志进行异常检测时如何克服日志解析带来的效率低下以及日志噪声对异常检测准确率的影响成为了亟待解决的难题。
发明内容
本发明目的在于针对上述现有技术的不足,提出一种基于语义流图的系统日志异常检测方法,解决现有技术针对海量非结构化日志在异常检测任务中日志噪声去除难、系统变更导致日志语句变更等问题。在进行基于日志的异常检测任务过程中,日志噪声的产生主要有以下几个原因:1)在收集和传输日志的过程中,由于传输延迟或数据丢失导致的日志数据混乱缺失;2)系统或应用程序重复记录事件信息;3)日志解析过程中,由于解析器的不稳定性导致日志模板的错误识别。此外,计算机系统在交付过程中的升级导致代码中的日志打印语句随之改变,由此产生的日志模板更新也会导致异常检测的误报率提高。本发明能够通过提取日志语句的语义向量将其作为语义流图的节点特征,通过图卷积神经网络模型对语义流图进行训练,能有效解决日志噪声对异常检测的影响并进一步利用日志语句之间的空间结构信息提高异常检测的准确性。
实现本发明方案的思路是:首先对日志原始语句进行简单的预处理,去除无意义符号和进行分词;其次利用Word2Vec结合日志语句中单词的重要度进行计算,得到日志语句的词向量,再利用基于注意力机制的双向门控循环单元(gated recurrent unit,GRU)网络进行计算得到日志语句的句向量表示;然后采用K-means聚类的方法对日志句向量进行聚类,相似度较高的日志语句划分为同一类,将其视为语义流图的同一节点,将日志序列转换为非去重的节点序列之后,将节点按照序列顺序构造出有向无环图,本发明称为语义流图。最后通过图卷积神经网络对语义流图进行特征提取和训练,实现基于语义流图的系统异常检测。
本发明实现上述目的的具体步骤如下:
(1)将对原始系统日志进行日志语句分割,去除无意义的符号,保留具有特殊含义的组合单词,得到初始预处理后的系统日志;
(2)将初始预处理后的系统日志按照会话或窗口机制划分日志序列,利用Word2Vec模型将该日志序列中的单词或词组转换为词向量,令第m条日志的第n个单词的词向量为vn m;
(3)计算日志语句中单词的词频-逆文档频率TF-IDF,其中,第m条日志的第n个单词的TF-IDF表示为Tmn;
(4)将与Tmn相结合,根据下式得到最终日志语句单词的向量表示Wmn:
其中,α表示权重因子;
(5)将Wmn作为基于注意力机制的双向GRU模型的输入,得到包含L条日志序列的句向量集合S={s1,s2,...,sm,...,sL},其中,sm表示第m条日志语句向量;
(6)采用K-means聚类方法对集合S中的日志语句向量进行聚类,将日志序列按照聚类结果进行匹配得到节点序列,按照该节点序列顺序构造出节点的有向无环图,最终得到日志序列的语义流图G=(V,E),其中,V表示节点集合,E表示边的集合;
(7)使用图卷积神经网络对语义流图G进行特征提取和训练,通过对语义流图中节点特征进行传播和聚合,将其映射到分类标签,得到系统日志异常检测结果。
本发明与现有技术相比具有以下优点:
第一、由于本发明通过提取日志原始语句的语义,并将其转化为语义流图的形式进行异常检测,故只需要对原始日志进行简单的预处理,无需对原始日志语句进行难度较大且效率低下的日志解析工作,从而极大地提高了异常检测的效率。
第二、本发明采用K-means聚类的方法对日志语句向量进行聚类分析,极大地降低了日志噪声对异常检测的影响,同时也解决了在系统交付过程中,由于系统不断更新迭代所带来的日志语句不稳定性的问题。
第三、本发明采用语义流图的形式来进行异常检测,图结构能够包含序列所没有的空间结构信息,因此,利用图卷积神经网络模型能够提取语义流图中的节点和边特征以及空间信息特征,对于隐含在空间结构信息中的异常也能进行检测。
附图说明
图1为本发明的实现流程图;
图2为本发明中语义流图构造过程示意图;
图3为本发明构造的语义流图简化例图;
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面结合具体实施例对本发明做进一步清楚、完整的描述。
实施例一:参照图1,本发明提出的一种基于日志语义流图的系统异常检测方法,具体包括以下步骤:
步骤1.将对原始系统日志进行日志语句分割,去除无意义的符号,例如分号、逗号等标点符号以及#、@、*等特殊符号;然后对日志原始语句进行分词,对于一些特定的组合单词,如PacketResponder,本发明将这些具有特定含义的组合单词进行保留不进行分词,得到初始预处理后的系统日志。
步骤2.将初始预处理后的系统日志按照会话或窗口机制划分日志序列,得到规模为N的日志序列L,利用Word2Vec模型将该日志序列中的单词或词组转换为词向量,令第m条日志的第n个单词的词向量为。本实施例中利用Word2Vec模型的skip-gram变体对输入的日志序列进行语义向量提取,日志序列L中的第i条日志的语义向量为/>其中,/>表示该条日志中第j个单词的语义向量。
步骤3.计算日志语句中单词的词频-逆文档频率TF-IDF,其中,第m条日志的第n个单词的TF-IDF表示为Tmn。由于本发明只对原始日志进行了简单的预处理,并没有进行日志解析,保留了绝大部分单词,因此,为了考虑日志语句中不同单词的重要程度,本发明对日志语句中的单词计算TF-IDF。
计算日志语句中单词的词频-逆文档频率TF-IDF,实现步骤如下:
(3.1)将经过预处理的日志语句组成一个文档集合D,针对该集合中每一个日志语句和其中给定的单词,计算单词w在日志语句d中的词频TF(w,d);
(3.2)计算单词w的逆文档频率IDF(w,D):
其中,|D|表示文档集合D中的文档总数,|{d∈D:w∈d}|表示包含单词w的文档数;
(3.3)计算单词w在日志语句中的TF-IDF值Tmn:
Tmn=TF-IDF(w,d,D)=TF(w,d)×IDF(w,D)。
步骤4.将与Tmn相结合,根据下式得到最终日志语句单词的向量表示Wmn:
其中,α表示权重因子;
步骤5.将Wmn作为基于注意力机制的双向GRU模型的输入,得到包含L条日志序列的句向量集合S={s1,s2,...,sm,...,sL},其中,sm表示第m条日志语句向量。所述双向GRU模型由前向方向和后向方向的GRU组成,其中前向方向的GRU从前向后处理序列,后向方向的GRU从后向前处理序列.
步骤6.在得到日志序列的语句向量表示后,为了构造语义流图,需要对日志语句与语义流图节点相匹配,因此,采用K-means聚类方法对集合S中的日志语句向量进行聚类,将日志序列按照聚类结果进行匹配得到节点序列,按照该节点序列顺序构造出节点的有向无环图,最终得到日志序列的语义流图G=(V,E),其中,V表示节点集合,E表示边的集合。
所述采用K-means聚类方法对集合S中的日志语句向量进行聚类,实现如下:
(6.1)初始化聚类中心点,令Sa和Sb表示两个不同日志语句的句向量,分别记为第一向量和第二向量,根据下式计算Sa和Sb之间的欧几里得距离Distance(Sa,Sb):
其中,n是向量维度,Sz a、Sz b分别表示第一向量Sa和第二向量Sb在第z个维度上的元素值;
(6.2)迭代更新聚类中心,在每次的迭代中,将每个向量分配给距离最近的聚类中心所属的簇,然后,更新每个簇的聚类中心为该簇中所有向量的均值向量;假设Ck表示第k个簇,Nk表示第k个簇的向量数量,uk表示第k个簇的聚类中心,则第k个簇的聚类中心更新公式表示如下:
其中,xe表示第e个向量,将其作为样本点,当聚类中心不再变化或者达到最大的迭代次数时,认为算法收敛,得到最终的聚类结果。
这一步中得到日志序列的语义流图G=(V,E),具体是将聚类簇中具有相同日志模板的日志语句认为语义流图中的同一节点,并将节点类型与原始日志序列中的日志条目进行匹配,按照日志序列的结构将不同的节点进行连接,构造出有向无环的语义流图,并将日志语句的句向量作为节点特征嵌入语义流图中;其中,表示G的节点集合,表示G中第p个节点vp指向第q个vq的有向边的集合;/>为正整数。
通过计算距离和更新聚类中心,K-means算法可以迭代优化聚类结果,当聚类中心不再变化或者达到最大的迭代次数时,认为算法收敛,得到最终的聚类结果,每个日志语句向量将属于一个聚类簇。每一个聚类簇中的日志语句具有相同的日志模板,我们将这些聚类簇中具有相同日志模板的日志语句认为语义流图中的同一节点,并将节点类型与原始日志序列中的日志条目进行匹配,按照日志序列的结构将不同的节点进行连接,构造出有向无环的语义流图,其中步骤5得到的日志语句的句向量作为节点特征嵌入语义流图中。
步骤7.在得到语义流图后,本发明采用图卷积神经网络模型对语义流图进行特征提取和聚合,结合图的结构和节点的特征学习图中节点的高级表示向量或整个图的表示向量,实现对语义流图的分类,即预测图的标签。
使用图卷积神经网络对语义流图G进行特征提取和训练,通过对语义流图中节点特征进行传播和聚合,将其映射到分类标签,得到系统日志异常检测结果。实现如下:
(7.1)将语义流图表示为节点和边的集合,对于图G,其中包含kn个节点和ke条边,使用邻接矩阵A表示图的连接关系,其中,A是一个大小为kn×kn的矩阵,A[p][q]表示节点p和节点q之间存在边;使用特征矩阵X表示每个节点的特征,其中X是一个大小为kn×kf的矩阵,X[p]表示节点p的特征向量,kf表示每个节点的特征维度;
(7.2)图卷积神经网络是一种用于图数据的深度学习模型,图卷积神经网络的特点是通过迭代聚合节点的邻居信息来学习节点的表示。图卷积神经网络通过以下公式来聚合邻居节点的特征来得到节点的特征表示:
其中,H(l)表示第l层的节点特征矩阵,是归一化的邻接矩阵,其中/>I是单位矩阵,/>是/>的对角线度矩阵,σ是激活函数,W(l)是第l层的权重矩阵;
(7.3)我们将异常检测任务视为图分类任务,将语义流图划分为正常图与异常图两种类别,为了实现图分类任务,即得到图标签的预测值,本发明在图卷积神经网络的最后一层添加一个全局池化层,将节点级的表示聚合为图级别的表示,具体池化操作的公式如下:
其中,H(L)表示最后一层的节点特征表示矩阵,hG是图G的最终表示向量。在得到图G的表示向量后,将其作为图分类任务的输入,通过一个全连接层进行映射,使用softmax函数计算给定日志序列的正常和异常概率,公式如下:
其中,表示概率向量,W表示全连接层的权重矩阵,b表示偏置向量;
(7.4)使用交叉熵损失函数对图卷积神经网络模型输出结果与真实标签之间的差异,使用反向传播算法和梯度下降算法实现损失函数Loss最小化,更新网络参数;损失函数公式如下:
其中,yG表示图G的真实标签,表示模型预测图G的标签。
实施例二:本实施例的整体实现步骤同实施例一,现对基于注意力机制的双向GRU模型生成日志语句向量的过程,做进一步描述:
GRU模型是循环神经网络(RNN)的变体,可以对序列进行建模,具有门控机制来控制信息的流动。GRU内部包含两种结构,即重置门和更新门,其中重置门决定了前一时刻隐藏状态对当前时刻的影响程度,可用于减少上一单元中被认为非相关的信息,更新们决定了当前时刻的新信息在当前隐藏状态中的更新程度,可用来决定上一单元有多少信息需要传递给下一单元。
双向GRU模型由两个方向的GRU组成,一个从前向后处理序列,另一个从后向前处理序列,在前向方向上,GRU的更新公式如下:
zt=σ(Wz·[ht-1,xt])
rt=σ(Wr·[ht-1,xt])
其中,ht表示第t时间步的隐藏状态,t的取值范围为1到T,T表示输入序列的长度;zt和rt分别表示更新门和重置门,表示临时的隐藏状态,Wz、Wr和Wh分别表示第一、第二和第三可学习参数,σ是sigmoid函数,表示逐元素相乘;
在后向方向上,公式和前向相同,后向GRU从序列的尾部开始处理序列,即从xT到x1。
本发明对双向GRU模型加入注意力机制,使模型关注输入序列的重要部分,在双向GRU模型中,使用注意力机制结合前向方向和后向方向的隐藏状态,得到第t时间步的注意力权重系数αt:
其中,Wα表示可学习的注意力权重,hcontext表示用于计算注意力权重的上下文向量;根据下式得到基于注意力机制的双向GRU模型的输出contextt:
本发明未详细说明部分属于本领域技术人员公知常识。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。
Claims (6)
1.一种基于语义流图挖掘的系统日志异常检测方法,其特征在于,包括如下步骤:
(1)将对原始系统日志进行日志语句分割,去除无意义的符号,保留具有特殊含义的组合单词,得到初始预处理后的系统日志;
(2)将初始预处理后的系统日志按照会话或窗口机制划分日志序列,利用Word2Vec模型将该日志序列中的单词或词组转换为词向量,令第m条日志的第n个单词的词向量为
(3)计算日志语句中单词的词频-逆文档频率TF-IDF,其中,第m条日志的第n个单词的TF-IDF表示为Tmn;
(4)将与Tmn相结合,根据下式得到最终日志语句单词的向量表示Wmn:
其中,α表示权重因子;
(5)将Wmn作为基于注意力机制的双向GRU模型的输入,得到包含L条日志序列的句向量集合S={s1,s2,...,sm,...,sL},其中,sm表示第m条日志语句向量;
(6)采用K-means聚类方法对集合S中的日志语句向量进行聚类,将日志序列按照聚类结果进行匹配得到节点序列,按照该节点序列顺序构造出节点的有向无环图,最终得到日志序列的语义流图G=(V,E),其中,V表示节点集合,E表示边的集合;
(7)使用图卷积神经网络对语义流图G进行特征提取和训练,通过对语义流图中节点特征进行传播和聚合,将其映射到分类标签,得到系统日志异常检测结果。
2.根据权利要求1所述方法,其特征在于:步骤(3)中计算日志语句中单词的词频-逆文档频率TF-IDF,实现步骤如下:
(3.1)将经过预处理的日志语句组成一个文档集合D,针对该集合中每一个日志语句和其中给定的单词,计算单词w在日志语句d中的词频TF(w,d);
(3.2)计算单词w的逆文档频率IDF(w,D):
其中,|D|表示文档集合D中的文档总数,|{d∈D:w∈d}|表示包含单词w的文档数;
(3.3)计算单词w在日志语句中的TF-IDF值Tmn:
Tmn=TF-IDF(w,d,D)=TF(w,d)×IDF(w,D)。
3.根据权利要求1所述方法,其特征在于:步骤(5)中基于注意力机制的双向GRU模型,所述双向GRU模型由前向方向和后向方向的GRU组成,其中前向方向的GRU从前向后处理序列,后向方向的GRU从后向前处理序列;
在两个方向上,GRU的更新公式如下:
zt=σ(Wz·[ht-1,xt])
rt=σ(Wr·[ht-1,xt])
其中,ht表示第t时间步的隐藏状态,t的取值范围为1到T,T表示输入序列的长度;zt和rt分别表示更新门和重置门,表示临时的隐藏状态,Wz、Wr和Wh分别表示第一、第二和第三可学习参数,σ是sigmoid函数,⊙表示逐元素相乘;
在双向GRU模型中,使用注意力机制结合前向方向和后向方向的隐藏状态,得到第t时间步的注意力权重系数αt:
其中,Wα表示可学习的注意力权重,hcontext表示用于计算注意力权重的上下文向量;根据下式得到基于注意力机制的双向GRU模型的输出contextt:
4.根据权利要求1所述方法,其特征在于:步骤(6)所述采用K-means聚类方法对集合S中的日志语句向量进行聚类,实现如下:
(6.1)初始化聚类中心点,令Sa和Sb表示两个不同日志语句的句向量,分别记为第一向量和第二向量,根据下式计算Sa和Sb之间的欧几里得距离Distance(Sa,Sb):
其中,n是向量维度,Sz a、Sz b分别表示第一向量Sa和第二向量Sb在第z个维度上的元素值;
(6.2)迭代更新聚类中心,在每次的迭代中,将每个向量分配给距离最近的聚类中心所属的簇,然后,更新每个簇的聚类中心为该簇中所有向量的均值向量;假设Ck表示第k个簇,Nk表示第k个簇的向量数量,uk表示第k个簇的聚类中心,则第k个簇的聚类中心更新公式表示如下:
其中,xe表示第e个向量,将其作为样本点,当聚类中心不再变化或者达到最大的迭代次数时,认为算法收敛,得到最终的聚类结果。
5.根据权利要求1所述方法,其特征在于:步骤(6)得到日志序列的语义流图G=(V,E),具体是将聚类簇中具有相同日志模板的日志语句认为语义流图中的同一节点,并将节点类型与原始日志序列中的日志条目进行匹配,按照日志序列的结构将不同的节点进行连接,构造出有向无环的语义流图,并将日志语句的句向量作为节点特征嵌入语义流图中;其中,表示G的节点集合,/>表示G中第p个节点vp指向第q个vq的有向边的集合;/>为正整数。
6.根据权利要求1所述方法,其特征在于:步骤(7)中使用图卷积神经网络对语义流图G进行特征提取和训练,通过对语义流图中节点特征进行传播和聚合,将其映射到分类标签,得到系统日志异常检测结果,实现如下:
(7.1)将语义流图表示为节点和边的集合,对于图G,其中包含kn个节点和ke条边,使用邻接矩阵A表示图的连接关系,其中,A是一个大小为kn×kn的矩阵,A[p][q]表示节点p和节点q之间存在边;使用特征矩阵X表示每个节点的特征,其中X是一个大小为kn×kf的矩阵,X[p]表示节点p的特征向量,kf表示每个节点的特征维度;
(7.2)图卷积神经网络通过以下公式来聚合邻居节点的特征来得到节点的特征表示:
其中,H(l)表示第l层的节点特征矩阵,是归一化的邻接矩阵,其中/>I是单位矩阵,/>是/>的对角线度矩阵,σ是激活函数,W(l)是第l层的权重矩阵;
(7.3)将语义流图划分为正常图与异常图两种类别,获取图标签的预测值,在图卷积神经网络的最后一层添加一个全局池化层,将节点级的表示聚合为图级别的表示,具体池化操作的公式如下:
其中,H(L)表示最后一层的节点特征表示矩阵,hG是图G的最终表示向量。在得到图G的表示向量后,将其作为图分类任务的输入,通过一个全连接层进行映射,使用softmax函数计算给定日志序列的正常和异常概率,公式如下:
其中,表示概率向量,W表示全连接层的权重矩阵,b表示偏置向量;
(7.4)使用交叉熵损失函数对图卷积神经网络模型输出结果与真实标签之间的差异,使用反向传播算法和梯度下降算法实现损失函数Loss最小化,更新网络参数;损失函数公式如下:
其中,yG表示图G的真实标签,表示模型预测图G的标签。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310873970.1A CN116910013A (zh) | 2023-07-17 | 2023-07-17 | 基于语义流图挖掘的系统日志异常检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310873970.1A CN116910013A (zh) | 2023-07-17 | 2023-07-17 | 基于语义流图挖掘的系统日志异常检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116910013A true CN116910013A (zh) | 2023-10-20 |
Family
ID=88350549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310873970.1A Pending CN116910013A (zh) | 2023-07-17 | 2023-07-17 | 基于语义流图挖掘的系统日志异常检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116910013A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117240700A (zh) * | 2023-11-10 | 2023-12-15 | 浙江九州未来信息科技有限公司 | 一种基于贝叶斯分类器的网络故障诊断方法及装置 |
CN117349186A (zh) * | 2023-12-04 | 2024-01-05 | 山东大学 | 一种基于语义流图的程序语言缺陷定位方法、系统及介质 |
CN118069471A (zh) * | 2024-04-18 | 2024-05-24 | 安徽思高智能科技有限公司 | 一种rpa工作流的日志采样方法、存储介质、设备 |
-
2023
- 2023-07-17 CN CN202310873970.1A patent/CN116910013A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117240700A (zh) * | 2023-11-10 | 2023-12-15 | 浙江九州未来信息科技有限公司 | 一种基于贝叶斯分类器的网络故障诊断方法及装置 |
CN117240700B (zh) * | 2023-11-10 | 2024-02-06 | 浙江九州未来信息科技有限公司 | 一种基于贝叶斯分类器的网络故障诊断方法及装置 |
CN117349186A (zh) * | 2023-12-04 | 2024-01-05 | 山东大学 | 一种基于语义流图的程序语言缺陷定位方法、系统及介质 |
CN117349186B (zh) * | 2023-12-04 | 2024-03-05 | 山东大学 | 一种基于语义流图的程序语言缺陷定位方法、系统及介质 |
CN118069471A (zh) * | 2024-04-18 | 2024-05-24 | 安徽思高智能科技有限公司 | 一种rpa工作流的日志采样方法、存储介质、设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110134786B (zh) | 一种基于主题词向量与卷积神经网络的短文本分类方法 | |
CN110134757B (zh) | 一种基于多头注意力机制的事件论元角色抽取方法 | |
US20220405592A1 (en) | Multi-feature log anomaly detection method and system based on log full semantics | |
CN114169330B (zh) | 融合时序卷积与Transformer编码器的中文命名实体识别方法 | |
CN113434357B (zh) | 基于序列预测的日志异常检测方法及装置 | |
CN116910013A (zh) | 基于语义流图挖掘的系统日志异常检测方法 | |
CN112989841B (zh) | 一种用于突发事件新闻识别与分类的半监督学习方法 | |
CN110232395B (zh) | 一种基于故障中文文本的电力系统故障诊断方法 | |
CN111984791B (zh) | 一种基于注意力机制的长文分类方法 | |
CN112215013B (zh) | 一种基于深度学习的克隆代码语义检测方法 | |
CN111861756B (zh) | 一种基于金融交易网络的团伙检测方法及其实现装置 | |
Zhang et al. | Log sequence anomaly detection based on local information extraction and globally sparse transformer model | |
CN112836509B (zh) | 一种专家系统知识库构建方法及系统 | |
CN110851176B (zh) | 一种自动构造并利用伪克隆语料的克隆代码检测方法 | |
CN112836051B (zh) | 一种在线自学习的法院电子卷宗文本分类方法 | |
CN114756687A (zh) | 基于自学习实体关系联合抽取的钢铁产线设备诊断方法 | |
CN113806547B (zh) | 一种基于图模型的深度学习多标签文本分类方法 | |
CN114239574A (zh) | 一种基于实体和关系联合学习的矿工违规行为知识抽取方法 | |
CN115269860A (zh) | 一种飞机维修领域的知识图谱构建方法 | |
CN117688944B (zh) | 基于多粒度卷积特征融合的中文情感分析方法及系统 | |
CN115062727A (zh) | 一种基于多阶超图卷积网络的图节点分类方法及系统 | |
CN114881172A (zh) | 一种基于加权词向量和神经网络的软件漏洞自动分类方法 | |
CN114048314A (zh) | 一种自然语言隐写分析方法 | |
CN117271701A (zh) | 一种基于tggat和cnn的系统运行异常事件关系抽取方法及系统 | |
CN115577111A (zh) | 基于自注意力机制的文本分类方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |