掌桥专利:专业的专利平台
掌桥专利
首页

一种基于句嵌入以及Transformer-XL的日志异常检测方法

文献发布时间:2023-06-19 18:46:07


一种基于句嵌入以及Transformer-XL的日志异常检测方法

技术领域

本发明属于日志异常检测技术领域,具体涉及一种基于句嵌入以及Transformer-XL的日志异常检测方法。

背景技术

异常检测旨在及时发现异常系统行为,在大规模系统的事件管理中发挥着重要作用,及时的异常检测允许系统开发人员(或操作员)及时发现问题并立即解决,从而减少系统停机时间。日志数据是程序开发人员为辅助调试在程序中嵌入的打印输出代码所产生的文本数据,用以记录程序运行时的变量信息、程序执行状态等。监控数据关注系统状态和粗粒度的应用状态,如进程状态、服务状态等;且日志数据关注细粒度的应用状态和跨组件的程序执行逻辑,能够定位到特定的日志及事件信息,同时能够定位异常请求实例即分布式跨组件的日志输出序列可以在一定程度上反映该请求的执行轨迹,因此日志数据更加适用于异常检测以及后续的故障诊断任务。

对于传统的独立系统,开发人员根据他们的领域知识手动检查系统日志或编写规则来检测异常额外使用关键字搜索或正则表达式匹配。然而,这种严重依赖人工检查日志的异常检测对于大规模系统来说已经变得不充分,基于以下几点:1)现代系统的大规模和并行性使得系统行为过于复杂,每个开发人员通常只负责系统的子组件,开发人员可能对整个系统行为只有不完全的了解,因此从大量日志中识别问题是一项巨大的挑战。2)现代系统正在以每小时约50GB的速度生成大量日志,日志的庞大数量使得从噪声数据中手动识别关键信息以进行异常检测变得非常困难。3)大规模系统通常采用不同的容错机制来构建。系统有时会以冗余方式运行相同的任务,甚至主动终止推测任务以提高性能。在这种情况下,使用关键字搜索的传统方法对于提取这些系统中的可疑日志消息变得无效,这可能导致许多误报,使得人工检查的工作量大大增加。

目前,提出了许多传统的机器学习模型来从日志消息中识别异常事件,这些方法从日志消息中提取有用的特征,并采用机器学习算法来分析日志数据,然而,传统的机器学习模型,很难捕捉离散日志消息的时间信息。近年来,深度学习模型中的循环神经网络(RNN)被广泛用于日志异常检测,因为它能够对序列数据进行建模,但使用RNN对日志数据进行建模仍然存在一些限制,如不能使序列中的每个日志都编码来自左右上下文的上下文信息,如RNN主要侧重于捕获正常序列中日志消息之间的相关性。当日志序列中的这种相关性被破坏时,RNN模型无法根据之前的日志消息正确预测下一条日志消息。针对RNN模型中不能编码日志语义信息和日志上下文信息的缺点,不少研究工作对日志语句进行了词嵌入得到语义向量,但是词嵌入所提取到的有意义的语义信息还是有限。

随着Transformer-XL模型和句嵌入技术的提出,有效改进了RNN和词嵌入技术的不足之处,故本发明利用这两个技术对日志的异常检测方法做出了改进,有效提高了异常检测的准确率。

与现有技术相比,本发明利用了句嵌入技术,将整个日志语句机器语义信息表示为向量,有效防止了日志消息中有价值信息的丢失,还利用了Transformer-XL模型,克服了基于RNN的模型的局限性,使其异常检测准确率得以提升。

发明内容

针对于上述现有技术的不足,本发明的目的在于提供一种基于句嵌入以及Transformer-XL的日志异常检测方法,以解决现有技术中RNN模型不足之处以及词嵌入的有限语义信息。

为达到上述目的,本发明采用的技术方案如下:

本发明的一种基于句嵌入以及Transformer-XL的日志异常检测方法,包括步骤如下:

(1)将非结构化的原始日志数据,通过日志解析器Drain从日志语句中提取日志事件,得到不含可变日志参数的结构化日志数据;

(2)预处理结构化日志数据,;

(3)根据预训练的GloVe词向量以及InferSent句嵌入模型,对结构化的日志语句进行语义向量化的表示;

(4)利用正弦位置编码矩阵生成日志事件的相对位置编码;

(5)将日志语句的语义向量和相对位置编码作为Transformer-XL分类模型的输入,得到日志异常检测的结果。

优选地,所述步骤(I)通过日志解析器Drain将非结构化日志数据转换为结构化的日志数据具体包括:当新的原始日志数据到达时,Drain根据领域知识通过简单的正则表达式对其进行预处理,并按照树内部节点中编码的特殊设计规则搜索日志组,若找到合适的日志组,则日志数据将与存储在该日志组中的日志事件相匹配,否则将根据日志数据创建新的日志组。

优选地,所述步骤(2)中预处理结构化日志数据具体包括:移除结构化日志数据中的非字符标记(分隔符,运算符等)、停用词,并根据Camel Case将复合单词拆分为单个单词。

优选地,所述步骤(3)中根据预训练的GloVe词向量以及InferSent句嵌入模型,对结构化的日志语句进行语义向量化的表示具体包括:加载预训练的GloVe词向量和InferSent句嵌入模型,设置InferSent句嵌入模型的相关参数,根据已有的结构化日志语句来构建词汇表,使用InferSent句嵌入模型对结构化日志语句进行编码并生成固定维度为300的句子嵌入,即语义向量。

优选地,所述步骤(4)中利用正弦位置编码矩阵生成日志事件的相对位置编码具体包括:正弦位置编码计算公式如下:

PE

PE

其中PE

优选地,所述步骤(5)中的Transformer-XL分类模型具体包括:日志语句的语义向量和相对位置编码作为模型的输入,模型中编码器部分包括多头注意力层和位置前馈层,多头注意力层为每个具有不同注意力模式的日志语句计算注意力权重,其计算公式如下:

考虑到句嵌入和相对位置编码,Q

其中E

模型的输出被送到池化层,dropout层和一个全连接层,最后通过softmax分类器来计算日志序列的正常或异常概率,从而识别出异常日志。

本发明具有以下有益效果:

本发明利用了句嵌入技术,将整个日志语句机器语义信息表示为向量,有效防止了日志消息中有价值信息的丢失,还利用了Transformer-XL模型,克服了基于RNN的模型的局限性,使其异常检测准确率得以提升。

附图说明

图1为本发明的原理框架示意图。

具体实施方式

为了便于本领域技术人员的理解,下面结合实例与附图对本发明作进一步的说明,实施方式提及的内容并非对本发明的限定。

参照图1所示,本发明的一种基于句嵌入以及Transformer-XL的日志异常检测方法,包括步骤如下:

(1)将非结构化的原始日志数据,通过日志解析器Drain从日志语句中提取日志事件,得到不含可变日志参数的结构化日志数据;

(2)预处理结构化日志数据,;

(3)根据预训练的GloVe词向量以及InferSent句嵌入模型,对结构化的日志语句进行语义向量化的表示;

(4)利用正弦位置编码矩阵生成日志事件的相对位置编码;

(5)将日志语句的语义向量和相对位置编码作为Transformer-XL分类模型的输入,得到日志异常检测的结果。

所述步骤(1)具体包括:通过日志解析器Drain将非结构化日志数据转换为结构化的日志数据具体包括:当新的原始日志数据到达时,Drain根据领域知识通过简单的正则表达式对其进行预处理,并按照树内部节点中编码的特殊设计规则搜索日志组,若找到合适的日志组,则日志数据将与存储在该日志组中的日志事件相匹配,否则将根据日志数据创建新的日志组。

所述步骤(2)中,预处理结构化日志数据具体包括:移除结构化日志数据中的非字符标记(分隔符,运算符等)、停用词,并根据Camel Case将复合单词拆分为单个单词。

所述步骤(3)中,根据预训练的GloVe词向量以及InferSent句嵌入模型,对结构化的日志语句进行语义向量化的表示具体包括:加载预训练的GloVe词向量和InferSent句嵌入模型,设置InferSent句嵌入模型的相关参数,根据已有的结构化日志语句来构建词汇表,使用InferSent句嵌入模型对结构化日志语句进行编码并生成固定维度为300的句子嵌入,即语义向量。

所述步骤(4)具体包括:利用正弦位置编码矩阵生成日志事件的相对位置编码,正弦位置编码计算公式如下:

PE

PE

其中PE

所述步骤(5)中的Transformer-XL分类模型具体包括:日志语句的语义向量和相对位置编码作为模型的输入,模型中编码器部分包括多头注意力层和位置前馈层,多头注意力层为每个具有不同注意力模式的日志语句计算注意力权重,其计算公式如下:

考虑到句嵌入和相对位置编码,Q

其中E

模型的输出被送到池化层,dropout层和一个全连接层,最后通过softmax分类器来计算日志序列的正常或异常概率,从而识别出异常日志。

综上所述,本发明(1)将非结构化的原始日志数据,通过日志解析器Drain从日志语句中提取日志事件,得到不含可变日志参数的结构化日志数据;(2)预处理结构化日志数据,;(3)根据预训练的GloVe词向量以及InferSent句嵌入模型,对结构化的日志语句进行语义向量化的表示;(4)利用正弦位置编码矩阵生成日志事件的相对位置编码;(5)将日志语句的语义向量和相对位置编码作为Transformer-XL分类模型的输入,得到日志异常检测的结果。本发明利用了句嵌入技术,将整个日志语句机器语义信息表示为向量,有效防止了日志消息中有价值信息的丢失,还利用了Transformer-XL模型,克服了基于RNN的模型的局限性,使其异常检测准确率得以提升。

以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。

技术分类

06120115686472