CN113111908A - 一种基于模板序列或词序列的bert异常检测方法及设备 - Google Patents
一种基于模板序列或词序列的bert异常检测方法及设备 Download PDFInfo
- Publication number
- CN113111908A CN113111908A CN202110232515.4A CN202110232515A CN113111908A CN 113111908 A CN113111908 A CN 113111908A CN 202110232515 A CN202110232515 A CN 202110232515A CN 113111908 A CN113111908 A CN 113111908A
- Authority
- CN
- China
- Prior art keywords
- log
- bert
- model
- training
- sequence
- 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 78
- 238000013518 transcription Methods 0.000 title description 2
- 230000035897 transcription Effects 0.000 title description 2
- 238000012549 training Methods 0.000 claims abstract description 71
- 238000000034 method Methods 0.000 claims description 46
- 230000015654 memory Effects 0.000 claims description 17
- 230000005856 abnormality Effects 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 6
- 230000000694 effects Effects 0.000 description 12
- 238000013145 classification model Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 11
- 230000002457 bidirectional effect Effects 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 4
- 230000002159 abnormal effect Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000002474 experimental method Methods 0.000 description 3
- 101150065184 sym-2 gene Proteins 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 239000004020 conductor Substances 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 2
- 239000010931 gold Substances 0.000 description 2
- 229910052737 gold Inorganic materials 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000009966 trimming Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/186—Templates
-
- 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/284—Lexical analysis, e.g. tokenisation or collocates
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于模板序列或词序列的BERT异常检测方法及设备,本发明首先将原始日志消息转换为模板序列或词序列,通过模板序列或词序列作为BERT模型的输入,实现BERT模型的训练,最后利用训练完成后的BERT模型实现对待检测模板序列或词序列的异常检测,只需要较少的训练标签就能实现好的异常检测效果,相较于现有技术,极大的缩短了训练成本,提高了异常检测效果。
Description
技术领域
本发明涉及日志检测技术领域,特别涉及一种基于模板序列或词序列的BERT异常检测方法及设备。
背景技术
以往有监督方法需要大量的标签数据去对模型进行训练,因此为了得到一个好的分类模型,标签数据的数量就显得尤为重要。在一定范围内,标签数据的数量越多,训练出来的分类模型就越好。因此,理想的有监督分类模型必须由大量的标签数据训练得到。
无监督的分类模型与有监督的分类模型在模型训练时,都需要大量的训练数据去进行训练。当训练数据较少时,训练得到的分类模型效果也是不理想的。所以,无监督分类模型的效果也是由训练数据的数量决定的。
如果当训练数据较少时,分类模型采用这些数据进行训练后,可以明显知道该模型在分类时取得的效果是不理想的。只有当训练数据足够,模型才能从这些数据中充分学习到这些数据的特征并进行分类,此时,分类模型的效果才能达到理想状态。不管是采用无监督的方法还是有监督的方法进行分类时都需要通过对大量的数据进行训练才能得到较好的分类模型。目前,训练一个好的模型,都是需要大量训练数据的支撑。因此,在训练模型时,成本高,且花费的时间多。如果只需要少量的训练数据就能训练出好的模型,那将明显减少了成本损耗。
综上所述,申请人发现在日志异常检测领域中,日志异常检测都需要大量的数据集去训练异常检测模型,当训练数据标签较少的时候,通过训练得到的异常检测模型往往不能达到较好的检测效果。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种基于模板序列或词序列的BERT异常检测方法及设备,能够极大缩短训练成本,提高异常检测效果。
本发明的第一方面,提供了一种基于模板序列的BERT异常检测方法,包括以下步骤:
获取多条原始日志消息;
对获取的每条所述原始日志消息进行日志解析,以得到解析后的每条所述原始日志消息对应的日志事件;
通过窗口划分方法将所有所述日志事件划分为对应数量的模板序列;
将划分后的所有所述模板序列输入至预设的BERT模型进行训练;
通过训练完成后的所述BERT模型对待检测对象进行日志异常检测。
根据本发明的实施例,至少具有如下技术效果:
首先将原始日志消息转换为模板序列,通过模板序列作为BERT模型的输入,实现BERT模型的训练,最后利用训练完成后的BERT模型实现对待检测模板序列的异常检测,本方法结合模板序列和BERT模型,只需要较少的训练标签就能实现好的异常检测效果,相较于现有技术,极大的缩短了训练成本,提高了异常检测效果。
本发明的第二方面,提供了一种基于词序列的BERT异常检测方法,包括以下步骤:
获取多条原始日志消息;
对获取的每条所述原始日志消息进行日志解析,以得到解析后的每条所述原始日志消息对应的日志事件;
通过窗口划分方法将所有所述日志事件划分为对应数量的词序列;
将划分后的所有所述词序列输入至预设的BERT模型进行训练;
通过训练完成后的所述BERT模型对待检测对象进行日志异常检测。
根据本发明的实施例,至少具有如下技术效果:
首先将原始日志消息转换为词序列,通过词序列作为BERT模型的输入,实现BERT模型的训练,最后利用训练完成后的BERT模型实现对待检测词序列的异常检测,本方法结合词序列和BERT模型,只需要较少的训练标签就能实现好的异常检测效果,相较于现有技术,极大的缩短了训练成本,提高了异常检测效果。
本发明的第三方面,提供了一种BERT异常检测设备,包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行如本发明第一方面所述的一种基于模板序列的BERT异常检测方法和/或本发明第二方面所述的一种基于词序列的BERT异常检测方法。
本发明的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如本发明第一方面所述的一种基于模板序列的BERT异常检测方法和/或本发明第二方面所述的一种基于词序列的BERT异常检测方法。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1为本发明实施例提供的一种基于词序列的BERT异常检测方法的流程示意图;
图2为本发明实施例提供的BERT异常检测框架示意图;
图3为本发明实施例提供的BERT模型的结构示意图;
图4为本发明实施例提供的BERT微调模型的结构示意图;
图5为本发明实施例提供的一种基于模板序列的BERT异常检测方法的流程示意图;
图6为本发明实施例实验结果提供的准确率的性能示意图;
图7为本发明实施例实验结果提供的召回率的性能示意图;
图8为本发明实施例实验结果提供的F1-分数的性能示意图;
图9为本发明实施例提供的BERT异常检测设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
申请人发现,发现在日志异常检测领域中,日志异常检测都需要大量的数据集去训练异常检测模型,当训练数据标签较少的时候,通过训练得到的异常检测模型往往不能达到较好的检测效果。
为了解决上述技术问题,本发明提供以下实施例:
第一实施例;
参照图1至图4,本发明的一个实施例,提供了一种基于词序列的BERT异常检测方法,包括以下步骤:
步骤S101、获取多条原始日志消息;
日志消息通过插件收集,如.net平台的log4net,java平台主流的log4j、slf4j。如图2所示,图2中的左起第一块框图中示出了9个原始日志消息,例如:第三条日志消息是“-1117848119 2005.06.03R16-M1-N2-C:J17-U012005-06-03-18.21.59.871925R16-M1-N2-C:J17-U01 RAS KERNEL INFO CE SYM2,AT 0X0B85EEE0,MASK0X05”。
步骤S102、对每条原始日志消息进行日志解析,以得到解析后的每条原始日志消息对应的日志事件;
在本实施例中,使用的是Drain日志解析工具进行对获取的全部原始日志消息进行日志解析,获取每条原始日志消息对应的日志事件,Drain以流方式实时解析日志,不仅如此,Drain还使用了固定深度的解析树,能加快解析过程。每条原始日志消息都被映射到对应的日志事件中,这里还可以使用其余日志解析方法替换Drain日志解析工具,例如基于聚类的方法和基于启发式的方法。需要说明的是,在本领域中,日志事件的概念为:反应系统进行了什么操作的消息,也可以称为日志模板。
例如图2中第三条日志消息是“-1117848119 2005.06.03R16-M1-N2-C:J17-U012005-06-03-18.21.59.871925R16-M1-N2-C:J17-U01 RAS KERNEL INFO CE SYM 2,AT0X0B85EEE0,MASK0X05”。其中时间戳是1117848119,日期为2005.06.03,节点为R16-M1-N2-C:J17-U01,具体时间为2005-06-03-18.21.59.871925,重复节点为R16-M1-N2-C:J17-U01,该条日志消息的类型为RAS,消息生成的位置为KERNEL,该条日志消息对应的等级是INFO,该条日志消息的内容为CE SYM 2,AT 0X0B85EEE0,MASK 0X05。
经过Drain日志解析后,日志模板显示在下表1(以第三条日志消息为例)中的最后一行。如表1,半结构化的原始日志消息被转换为结构化日志事件。日志消息中的变量部分由通配符来进行替换,而日志消息中的常量部分则保持不变。每个日志消息都有一个唯一对应的日志事件或者日志模板。第三条原始日志消息的日志模板(也称日志事件)是“CESYM<*>,AT<*>,MASK<*>”,其日志模板序号为E3,如图2的第二个框图内容所示。类似地,在图2中,从9条原始日志消息中,可以得到对应的五个日志模板序号分别为E1、E2、E3、E4、E5。每条原始日志消息都被映射到对应的日志模板中。例如,第一条原始日志消息映射到日志模板E1中,第二条原始日志消息映射到日志模板E2中。
表1
步骤S103、通过窗口划分方法将所有日志事件划分为对应数量的词序列;
需要说明的是,在本领域中,日志序列的概念为:表示同一窗口内的日志消息。本实施例使用由词组成的日志序列形式,即词序列,词序列是指将窗口内所有日志模板的内容由词进行拼接形成的序列形式。原始的半结构日志消息转换为结构化的日志事件后,步骤S103采用固定窗口技术将日志切分为词序列的形式,具体为:
如图2左起的第三个框图内容所示,将固定窗口大小W设置为3,则9条原始日志消息被划分为3条词序列。例如:第一条词序列LSE1的形式可以表示为:LSE1=[INSTRUCTIONCACHE PARITY ERROR CORRECTED,<*>DOUBLE-HUMMER ALIGNMENT EXCEPTIONS,CE SYM<*>,AT<*>,MASK<*>]。
步骤S104、将划分后的所有词序列输入至预设的BERT模型进行训练;
BERT(Bidirectional Encoder Representations from Transformers)是一种双向的语言模型,BERT模型采用了双向TRANSFORMER进行编码,这种编码方式在构建模型时采用的是注意力机制,预测词的时候采用双向的方式考虑上下文特征。因此能够更加准确得到词之间的关系。需要说明的是,步骤S104中包括BERT模型的训练过程和测试过程,本实施例仅描述训练过程。
如图3,BERT模型的框架分为:预训练模型和微调模型。在预训练数据期间,通过不同的预训练任务对未标记的数据执行模型训练。因为BERT模型采用双向的TRANSFORMER架构进行编码,所以每个单词权值都会给传输给上下文的单词,其单词与上下文的单词都存在一定的关联性。经过预训练模型后,BERT模型会输出所输入句子的向量。为了执行下一步的微调操作,需要使用预训练的参数来初始化BERT微调模型,然后再使用来自下游任务的标记数据对所有参数进行微调。即输入一个句子到BERT模型中,BERT模型会吐出句子的向量,然后在根据训练的线性分类器进行分类。其微调模型如图4所示,其中CLS表示该特征可以作为分类模型,TOK代表不同TOKEN的情况,TOKEN可以理解为词或者字。例如对于给定的一句话“我今天去上学”,采用词为作为TOKEN的方法得到的结果就是“我”、“今”、“天”、“去”、“上”、“学”,而采用字作为TOKEN的方法得到的结果是“我”,“今天”、“去”、“上学”。两者最后得到的结果是不一样的。E代表嵌入的向量,TI代表第I个TOKEN在经过BERT的处理过程之后得到的特征向量。C则是一个线性分类器,输出分类结果。由于日志序列的形式不同,因此有两种形式用于表示日志序列:词序列和模板序列,其中模板序列将于第二实施例中进行介绍。
BERT模型最直接的方式是采用词序列作为输入方式来训练异常检测模型,但是系统日志的规模庞大,一条日志由多个词构成。用词序列表示时,其序列长度会发生膨胀,词序列长度是日志序列长度的几倍甚至几十倍,而且长度不一致。例如,BGL数据集的每一条日志消息的内容长度大约为3到95。那么,长度为3的日志序列所对应的词序列长度可能会达到9到285。如图2中第三块框图所示,LSE1的词序列长度是16,LSE2的词序列长度是13,LSE3的词序列长度是16,可以看出三条日志序列的词序列长度不一致。
为了使输入序列长度一致,BERT模型采用MAXLEN参数保证每一条输入数据的长度一致。当输入数据的长度大于MAXLEN时会发生截断,即将超出MAXLEN的部分移除。而当输入数据的长度小于MAXLEN时会对输入数据进行补齐。当超过MAXLEN或小于MAXLEN时均会对数据进行处理,这样将会增加计算复杂度以及时间上的损耗。MAXLEN越长,模型需要的算力、内存越大,而且训练时间越长。因此,作为一种可选的实施方式,MAXLEN参数的最大长度设置不超过512,用于减少计算复杂度以及时间上的损耗。
基于上述实施例,为了选择合适的MAXLEN,本实施例通过日志加权单词长度来估计词序列的长度。对每一条日志消息进行统计,即获取每条日志消息中单词的个数,以及日志消息出现的次数。假设日志消息中单词的个数为x,而总的日志消息数量为N,出现单词个数为x的日志消息数量为B。则最终所取日志加权单词长度len计算公式如下式(1)所示:
取加权单词长度作为每一条日志消息的长度。因此词序列的MAXLEN等于日志加权单词长度与日志序列长度的积。日志序列的长度取决于固定窗口大小W,所以词序列MAXLEN的取值,可以根据下式(2)计算:
步骤S105、通过训练完成后的BERT模型对待检测对象进行日志异常检测。
通过训练完成后的BERT模型对待检测的词序列进行日志异常检测。
本发明实施例的有益效果:
以往的日志异常检测都需要大量的数据集去训练异常检测模型,当训练数据标签较少的时候,通过训练得到的异常检测模型往往不能达到较好的检测效果。而BERT模型的预训练模型与下游任务是紧密结合的,其次BERT模型将大量语料库用于语言模型的预训练,所以使用少量带标签的语料进行微调就能实现文本的分类。因此本实施例首先将原始日志消息转换为词序列,通过词序列作为BERT模型的输入,实现BERT模型的训练,最后利用训练完成后的BERT模型实现对待检测词序列的异常检测,本方法结合词序列和BERT模型,只需要较少的训练标签就能实现好的异常检测效果,相较于现有技术,极大的缩短了训练成本,提高了异常检测效果。
第二实施例;
参照图2至图5,本发明的一个实施例,提供了一种基于模板序列的BERT异常检测方法,包括以下步骤:
步骤S201、获取多条原始日志消息;
步骤S202、对每条原始日志消息进行日志解析,以得到解析后的每条原始日志消息对应的日志事件;
步骤S201与步骤S202的详细介绍可参照第一实施例,此处不再赘述。
步骤S203、通过窗口划分方法将所有日志事件划分为对应数量的模板序列;
原始的半结构日志消息转换为结构化的日志事件后,步骤S203采用固定窗口技术将日志切分为日志序列的形式。需要说明的是,在本领域中,日志序列的概念为:表示同一窗口内的日志消息。本实施例使用由模板组成的日志序列形式,将模板序列作为BERT模型中预训练模型的输入数据。
如图2左起的第三个框图内容所示,将固定窗口大小W设置为3,则9条原始日志消息被划分为3条日志序列。例如:第一条模板序列表示为LSE1=[E1,E2,E3]。
步骤S204、将划分后的所有模板序列输入至预设的BERT模型进行训练;
这里不再对BERT模型进行介绍,可参见第一实施例。
相较于第一实施例的内容,将词序列输入至BERT模板中,其序列长度会发生膨胀,词序列长度是日志序列长度的几倍甚至几十倍,而且长度不一致。本实施例提出采用模板序列作为BERT模型的输入,模板序列与日志序列长度相等,所有模板序列具有一致的序列长度。在相同日志序列长度下,模板序列长度比词序列长度短。在BERT模型相同处理长度下,模板序列可表示的日志内容远大于词序列。例如,模板序列的LSE1,LSE2,LSE3长度均为3,词序列的LSE1,LSE2,LSE3的长度分别为16,13,16。模板序列的长度远小于词序列的长度。假设固定窗口W设置为9,BERT模型中参数MAXLEN设置为9时,图2中日志序列LSE的模板序列表示形式为[E1,E2,E3,E3,E4,E4,E5,E3,E1],其长度为9。此时词序列表示形式为[INSTRUCTION CACHE PARITY ERROR CORRECTED,<*>DOUBLE-HUMMER ALIGNMENTEXCEPTIONS,CE SYM<*>,AT<*>,MASK<*>,CE SYM<*>,AT<*>,MASK<*>,GENERATING CORE.<*>,GENERATING CORE.<*>,DATA TLB ERROR INTERRUPT,CE SYM<*>,AT<*>,MASK<*>,INSTRUCTION CACHE PARITY ERRORCORRECTED],其长度为45。BERT模型的MAXLEN小于词序列的长度时会发生截断,因此只能读取前9个单词,实际读取的词序列只有[INSTRUCTIONCACHE PARITY ERROR CORRECTED,<*>DOUBLE-HUMMER ALIGNMENT EXCEPTIONS]。这样不仅未完全捕获词序列的所有日志信息,也会对训练模型造成一定的影响。
由上述分析可知,相比于词序列,模板序列的长度取决于固定窗口大小W,因此作为一种可选的实施方式,模板序列的MAXLEN设置为固定窗口大小,即MAXLEN=W。此时,模型能够完全捕获模板序列中所有日志信息。这样模型将不需要对日志序列进行额外的处理,例如,截断或补齐。因此从输入形式来看,模板序列比词序列要好,不仅体现在MAXLEN的取值方便,还体现在其训练时间等方面。
步骤S205、通过训练完成后的BERT模型对待检测对象进行日志异常检测。
通过训练完成后的BERT模型对待检测的模板序列进行日志异常检测。
本发明实施例的有益效果:
以往的日志异常检测都需要大量的数据集去训练异常检测模型,当训练数据标签较少的时候,通过训练得到的异常检测模型往往不能达到较好的检测效果。而BERT模型的预训练模型与下游任务是紧密结合的,其次BERT模型将大量语料库用于语言模型的预训练,所以使用少量带标签的语料进行微调就能实现文本的分类。因此本实施例首先将原始日志消息转换为模板序列,通过模板序列作为BERT模型的输入,实现BERT模型的训练,最后利用训练完成后的BERT模型实现对待检测模板序列的异常检测,只需要较少的训练标签就能实现好的异常检测效果,相较于现有技术,极大的缩短了训练成本,提高了异常检测效果。
而且相较于第一实施例提供的基于词序列的BERT异常检测方法,本实施例方法采用模板序列作为处理对象,由于模板序列长度等于日志序列长度。不会出现长度不一致以及膨胀的问题,其次,模板序列的输入规模明显少于词序列,因此在训练异常检测模型时所需要的训练成本明显少于词序列。
第三实施例;
参照图6至图8,本实施例采用了在LAWRENCE LIVERMORE NATIONAL LABS(LLNL)的BLUEGENE/L超级计算机系统中产生的BGL数据集。下表2显示了BGL数据集的一些基本信息。BGL数据集中包含有4,747,963条原始日志消息,其中异常日志消息的数量为348,460条。因此正常日志消息的数量为4399503。所有实验均在GOOGLE COLAB云平台(HTTPS://COLAB.RESEARCH.GOOGLE.COM)上运行,该平台提供了8核GOLD 6148CPU,TESLAK80 GPU和25.51GB RAM的在线深度学习服务器。并采用机器学习中常用的三种性能评价指标来评价模型的好坏,即准确率、召回率、F1-分数。
系统 | 时间跨度 | 数据大小 | 日志消息数量 | 异常消息数据 |
BGL | 7months | 708M | 4747963 | 348460 |
表2
为了验证本发明的合理性以及先进性,将该异常检测方法分别与DEEPLOG、LOGANOMALY进行比较。DEEPLOG是一种无监督的日志异常检测方法,其采用日志模板作为输入并搭配LSTM模型构建而成。通过结合三种异常检测来综合判断整个系统异常,一是执行路径异常检测;二是参数和性能异常检测;三是工作流异常检测。而LOGANOMALY是另一种无监督的系统日志异常检测方法,也是采用日志模板作为输入并搭配LSTM模型构建的,并通过滑动窗口来提取其原始日志序列的特征以及窗口的计数特征送入LSMT网络中输出下一个窗口中模板的概率分布。其日志模板的构建考虑了正反义词之间的关系,类似于打开此文件就必定对应有关闭此文件。以上这两种模型的参数均设置为实现其最优效果的参数。
将BGL数据集按1:9、2:8、3:7、4:6、5:5、6:4、7:3、8:2、9:1比例划分,通过划分的数据集分别进行构建模型比较其性能。
通过以上实验结果,可以看出基于模板序列的BERT异常检测方法只需要训练较少的数据集就能获得理想的异常检测模型,明显减少了模型的训练成本。
为了证实合理性,将词序列与模板序列分别作为BERT模型的输入进行实验,判断不同输入对BERT模型在异常检测中的影响。
如图2所示,在第三块框图的内容中。分别将词序列和模板序列作为BERT模型的输入。为了验证本发明的合理性,下表3为词序列和模板序列作为BERT模型的输入的实验结果比较。所有实验均在GOOGLE COLAB云平台上运行,该平台提供了8核GOLD6148CPU,TESLAK80 GPU和25.51GB RAM的在线深度学习服务器。数据集的比例为8:2,即训练集与测试集为8:2。评价指标为F1分数、模型训练时间、发布预测时间。
表3
综上实验结果,基于模板序列的BERT异常检测方法,以及基于词序列的BERT异常检测方法都具备合理性;通过结果比较发现,模板序列作为输入的形式要明显优于词序列的形式。
第四实施例;
参照图9,本发明的一个实施例,提供了一种BERT异常检测设备,该BERT异常检测设备可以是任意类型的智能终端,例如手机、平板电脑、个人计算机等。
具体地,该BERT异常检测设备包括:一个或多个控制处理器和存储器。控制处理器和存储器可以通过总线或者其他方式连接。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序、非暂态性计算机可执行程序以及模块,如本发明实施例中的BERT异常检测设备对应的程序指令/模块。控制处理器通过运行存储在存储器中的非暂态软件程序、指令以及模块,从而执行电缆接头的导体温度计算系统的各种功能应用以及数据处理,即实现上述方法实施例的一种基于模板序列的BERT异常检测方法和/或一种基于词序列的BERT异常检测方法。
存储器可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电缆接头的导体温度计算系统的使用所创建的数据等。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于控制处理器远程设置的存储器,这些远程存储器可以通过网络连接至该BERT异常检测设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述一个或者多个模块存储在所述存储器中,当被所述一个或者多个控制处理器执行时,执行上述方法实施例中的一种基于模板序列的BERT异常检测方法和/或一种基于词序列的BERT异常检测方法。
本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个控制处理器执行,可使得上述一个或多个控制处理器执行上述方法实施例中的一种基于模板序列的BERT异常检测方法和/或一种基于词序列的BERT异常检测方法。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现。本领域技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,本领域的普通技术人员可以理解:在不脱离本发明的原理和宗旨的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由权利要求及其等同物限定。
Claims (10)
1.一种基于模板序列的BERT异常检测方法,其特征在于,包括以下步骤:
获取多条原始日志消息;
对获取的每条所述原始日志消息进行日志解析,以得到解析后的每条所述原始日志消息对应的日志事件;
通过窗口划分方法将所有所述日志事件划分为对应数量的模板序列;
将划分后的所有所述模板序列输入至预设的BERT模型进行训练;
通过训练完成后的所述BERT模型对待检测对象进行日志异常检测。
2.根据权利要求1所述的基于模板序列的BERT异常检测方法,其特征在于,所述BERT模型包括预训练模型和微调模型,所述将划分后的所有所述模板序列输入至预设的BERT模型进行训练,包括步骤:
设置所述预训练模型的MAXLEN参数值,将未标记的所述模板序列输入至所述预训练模型中;
通过所述预训练模型的输出结果对所述微调模型进行初始化,并通过有标记的所述模板序列对所述微调模型的参数进行微调。
3.根据权利要求2所述的基于模板序列的BERT异常检测方法,其特征在于,所述MAXLEN参数值等于所述窗口划分方法中的窗口容量大小。
4.根据权利要求1所述的基于模板序列的BERT异常检测方法,其特征在于,所述对获取的每条所述原始日志消息进行日志解析,包括:
通过Drain日志解析方法对获取的每条所述原始日志消息进行日志解析。
5.一种基于词序列的BERT异常检测方法,其特征在于,包括以下步骤:
获取多条原始日志消息;
对获取的每条所述原始日志消息进行日志解析,以得到解析后的每条所述原始日志消息对应的日志事件;
通过窗口划分方法将所有所述日志事件划分为对应数量的词序列;
将划分后的所有所述词序列输入至预设的BERT模型进行训练;
通过训练完成后的所述BERT模型对待检测对象进行日志异常检测。
6.根据权利要求5所述的基于词序列的BERT异常检测方法,其特征在于,所述BERT模型包括预训练模型和微调模型,所述将划分后的所有所述词序列输入至预设的BERT模型进行训练,包括步骤:
设置所述预训练模型的MAXLEN参数值,将划分后的所有所述词序列输入至所述预训练模型中;
通过所述预训练模型的预训练参数对所述微调模型进行初始化,并将所述预训练模型的输出结果输入至所述微调模型,用以进行参数的微调。
7.根据权利要求6所述的基于词序列的BERT异常检测方法,其特征在于,所述MAXLEN参数值不超过512。
9.一种BERT异常检测设备,其特征在于:包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行如权利要求1至4中任一项所述的一种基于模板序列的BERT异常检测方法和/或如权利要求5至8中任一项所述的一种基于词序列的BERT异常检测方法。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至4中任一项所述的一种基于模板序列的BERT异常检测方法和/或如权利要求5至8中任一项所述的一种基于词序列的BERT异常检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110232515.4A CN113111908A (zh) | 2021-03-03 | 2021-03-03 | 一种基于模板序列或词序列的bert异常检测方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110232515.4A CN113111908A (zh) | 2021-03-03 | 2021-03-03 | 一种基于模板序列或词序列的bert异常检测方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113111908A true CN113111908A (zh) | 2021-07-13 |
Family
ID=76709795
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110232515.4A Pending CN113111908A (zh) | 2021-03-03 | 2021-03-03 | 一种基于模板序列或词序列的bert异常检测方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113111908A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114095241A (zh) * | 2021-11-18 | 2022-02-25 | 中国电信股份有限公司 | 检测方法、装置及计算机可读存储介质 |
CN114785606A (zh) * | 2022-04-27 | 2022-07-22 | 哈尔滨工业大学 | 一种基于预训练LogXLNet模型的日志异常检测方法、电子设备及存储介质 |
CN114969336A (zh) * | 2022-05-20 | 2022-08-30 | 北京九章云极科技有限公司 | 异常日志检测方法、装置、电子设备及可读存储介质 |
CN114969335A (zh) * | 2022-05-20 | 2022-08-30 | 北京九章云极科技有限公司 | 异常日志检测方法、装置、电子设备及可读存储介质 |
CN115794465A (zh) * | 2022-11-10 | 2023-03-14 | 上海鼎茂信息技术有限公司 | 一种日志异常检测方法及系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111209168A (zh) * | 2020-01-14 | 2020-05-29 | 中国人民解放军陆军炮兵防空兵学院郑州校区 | 一种基于nLSTM-self attention的日志序列异常检测框架 |
CN111459964A (zh) * | 2020-03-24 | 2020-07-28 | 长沙理工大学 | 一种面向模板基于Word2vec的日志异常检测方法及装置 |
CN112069787A (zh) * | 2020-08-27 | 2020-12-11 | 西安交通大学 | 一种基于词嵌入的日志参数异常检测方法 |
CN112182219A (zh) * | 2020-10-09 | 2021-01-05 | 杭州电子科技大学 | 一种基于日志语义分析的在线服务异常检测方法 |
CN112235327A (zh) * | 2020-12-16 | 2021-01-15 | 中移(苏州)软件技术有限公司 | 异常日志检测方法、装置、设备和计算机可读存储介质 |
US20210021621A1 (en) * | 2019-07-16 | 2021-01-21 | Hewlett Packard Enterprise Development Lp | Methods and systems for using embedding from natural language processing (nlp) for enhanced network analytics |
-
2021
- 2021-03-03 CN CN202110232515.4A patent/CN113111908A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20210021621A1 (en) * | 2019-07-16 | 2021-01-21 | Hewlett Packard Enterprise Development Lp | Methods and systems for using embedding from natural language processing (nlp) for enhanced network analytics |
CN111209168A (zh) * | 2020-01-14 | 2020-05-29 | 中国人民解放军陆军炮兵防空兵学院郑州校区 | 一种基于nLSTM-self attention的日志序列异常检测框架 |
CN111459964A (zh) * | 2020-03-24 | 2020-07-28 | 长沙理工大学 | 一种面向模板基于Word2vec的日志异常检测方法及装置 |
CN112069787A (zh) * | 2020-08-27 | 2020-12-11 | 西安交通大学 | 一种基于词嵌入的日志参数异常检测方法 |
CN112182219A (zh) * | 2020-10-09 | 2021-01-05 | 杭州电子科技大学 | 一种基于日志语义分析的在线服务异常检测方法 |
CN112235327A (zh) * | 2020-12-16 | 2021-01-15 | 中移(苏州)软件技术有限公司 | 异常日志检测方法、装置、设备和计算机可读存储介质 |
Non-Patent Citations (3)
Title |
---|
JIN WANG等: "LogEvent2vec: LogEvent-to-Vector Based Anomaly", 《SENSORS》 * |
XIAOYUN LI: "SwissLog:Robust and Unified Deep Learning", 《2020 IEEE 31ST INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING (ISSRE)》 * |
佚名: "图解BERT模型:从零开始构建BERT", 《HTTPS://CLOUD.TENCENT.COM/DEVELOPER/ARTICLE/1389555》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114095241A (zh) * | 2021-11-18 | 2022-02-25 | 中国电信股份有限公司 | 检测方法、装置及计算机可读存储介质 |
CN114785606A (zh) * | 2022-04-27 | 2022-07-22 | 哈尔滨工业大学 | 一种基于预训练LogXLNet模型的日志异常检测方法、电子设备及存储介质 |
CN114785606B (zh) * | 2022-04-27 | 2024-02-02 | 哈尔滨工业大学 | 一种基于预训练LogXLNet模型的日志异常检测方法、电子设备及存储介质 |
CN114969336A (zh) * | 2022-05-20 | 2022-08-30 | 北京九章云极科技有限公司 | 异常日志检测方法、装置、电子设备及可读存储介质 |
CN114969335A (zh) * | 2022-05-20 | 2022-08-30 | 北京九章云极科技有限公司 | 异常日志检测方法、装置、电子设备及可读存储介质 |
CN114969335B (zh) * | 2022-05-20 | 2024-02-20 | 北京九章云极科技有限公司 | 异常日志检测方法、装置、电子设备及可读存储介质 |
CN115794465A (zh) * | 2022-11-10 | 2023-03-14 | 上海鼎茂信息技术有限公司 | 一种日志异常检测方法及系统 |
CN115794465B (zh) * | 2022-11-10 | 2023-12-19 | 上海鼎茂信息技术有限公司 | 一种日志异常检测方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230100376A1 (en) | Text sentence processing method and apparatus, computer device, and storage medium | |
CN113111908A (zh) | 一种基于模板序列或词序列的bert异常检测方法及设备 | |
Dam et al. | A deep language model for software code | |
US11144831B2 (en) | Regularized neural network architecture search | |
US11544474B2 (en) | Generation of text from structured data | |
CN109840287A (zh) | 一种基于神经网络的跨模态信息检索方法和装置 | |
CN111316296B (zh) | 学习层级提取模型的结构 | |
US11537950B2 (en) | Utilizing a joint-learning self-distillation framework for improving text sequential labeling machine-learning models | |
CN110334186B (zh) | 数据查询方法、装置、计算机设备及计算机可读存储介质 | |
CN114387567B (zh) | 一种视频数据的处理方法、装置、电子设备及存储介质 | |
WO2023137911A1 (zh) | 基于小样本语料的意图分类方法、装置及计算机设备 | |
CN113434683B (zh) | 文本分类方法、装置、介质及电子设备 | |
CN110968725B (zh) | 图像内容描述信息生成方法、电子设备及存储介质 | |
CN112287672A (zh) | 文本意图识别方法及装置、电子设备、存储介质 | |
WO2022257454A1 (zh) | 一种合成语音的方法、装置、终端及存储介质 | |
CN116450813B (zh) | 文本关键信息提取方法、装置、设备以及计算机存储介质 | |
CN116795977A (zh) | 数据处理方法、装置、设备和计算机可读存储介质 | |
CN114881169A (zh) | 使用随机特征损坏的自监督对比学习 | |
CN113742482B (zh) | 基于多重词特征融合的情感分类方法、介质 | |
Zhang et al. | A textcnn based approach for multi-label text classification of power fault data | |
CN117033961A (zh) | 一种上下文语境感知的多模态图文分类方法 | |
US20230139642A1 (en) | Method and apparatus for extracting skill label | |
CN112698977A (zh) | 服务器故障定位方法方法、装置、设备及介质 | |
CN110569331A (zh) | 一种基于上下文的关联性预测方法、装置及存储设备 | |
CN115879446B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20210713 |
|
RJ01 | Rejection of invention patent application after publication |