一种基于Bert_RNN实现系统日志自动化分类的方法与流程

未命名 07-22 阅读:114 评论:0

一种基于bert_rnn实现系统日志自动化分类的方法
技术领域
1.本发明公开一种方法,涉及日志检索技术领域,具体地说是一种基于bert_rnn实现系统日志自动化分类的方法。


背景技术:

2.系统日志泛指运行于计算机上的软件系统所产生的相关记录信息,通常以文本文件的形式存在。系统日志包含了大量的关于系统运行、操作使用等相关情况的原始记录,如何更好的分析挖掘海量系统日志中包含的信息十分有意义,但海量日志分析是一个系统性的工程,包含了从原始数据采集到终端可视化的展示交互等一系列的环节。然而这些分类工作通常是需要工程师或用户来事先设置指定,但在实际应用中经常会出现日志类型指定错误或不知道所属类型的情况,导致需要对日志进行重新采集,或分析挖掘达不到预期的效果等问题。


技术实现要素:

3.本发明针对现有技术的问题,提供一种基于bert_rnn实现系统日志自动化分类的方法,对系统日志进行自动化分类,提高日志分类效率及分类准确性,便于系统分析挖掘日志内容。
4.本发明提出的具体方案是:
5.本发明提供一种基于bert_rnn实现系统日志自动化分类的方法,获取已分类的日志文件信息,利用所述日志文件信息训练bert日志分类模型,通过bert日志分类模型将所述日志文件信息中文本语句进行特征转换,获得特征向量,
6.将特征向量作为embeddings输入双向rnn循环神经网络,优化bert日志分类模型,其中通过双向rnn循环神经网络经过前向传递层和后向传递层分别获取输入序列每一个点的上文信息和下文信息,合并上文信息和下文信息的隐藏层状态作为输出,
7.验证并测试优化后bert日志分类模型,
8.利用bert日志分类模型进行系统日志自动化分类。
9.进一步,所述的一种基于bert_rnn实现系统日志自动化分类的方法中所述获取已分类的日志文件信息,利用所述日志文件信息训练bert日志分类模型,包括:
10.将已分类的日志文件信息在句首均添加所属类别,存于一个文档中,并按照8:1:1的比例将所有的日志文件信息分成训练集、测试集和验证集,并分别建立训练集、测试集和验证集的数据集迭代器。
11.进一步,所述的一种基于bert_rnn实现系统日志自动化分类的方法中所述通过bert日志分类模型将所述日志文件信息中文本语句进行特征转换,获得特征向量,包括:利用字向量、段向量和位置向量的总和表示特征向量。
12.进一步,所述的一种基于bert_rnn实现系统日志自动化分类的方法中所述优化bert日志分类模型,包括:利用bertadam算法优化bert日志分类模型,将训练分为多个
epoch,每个epoch中按总的batch大小分为若干轮,在每轮训练的同时,使用验证集对bert日志分类模型进行验证,使用函数functional.cross_entropy()和函数metrics.accuracy_score()计算损失值和准确率。
13.进一步,所述的一种基于bert_rnn实现系统日志自动化分类的方法中所述使用验证集对bert日志分类模型进行验证,包括:每轮训练结束,输出损失值和准确率;
14.验证损失值、验证准确率及时间,其中按照验证时的损失值进行比较,如果大于当前最好损失值则保存当前损失值,并且保存相应bert日志分类模型;若小于当前最好损失值,则继续训练并验证;
15.如果在1000次batch内bert日志分类模型性能未提升,则终止训练,保存本次训练性能最优的bert日志分类模型,若达到预设最大epoch值,则将最后一次性能提升的bert日志分类模型为最优模型。
16.进一步,所述的一种基于bert_rnn实现系统日志自动化分类的方法中所述测试优化后bert日志分类模型,包括:使用精确率p、召回率r和f1值(f1-score)作为评测指标测试bert日志分类模型,其中精确率p:真正例占预测情况为正的样本的比例,计算公式为
17.召回率r:真正例占所有真实情况为正的样本的比例,计算公式为
[0018][0019]
f1值:评判准确率和召回率的综合指标,计算公式为
[0020]
本发明还提供一种基于bert_rnn实现系统日志自动化分类的装置,包括训练模块、优化模块、验证模块、测试模块和分类模块,
[0021]
训练模块获取已分类的日志文件信息,利用所述日志文件信息训练bert日志分类模型,通过bert日志分类模型将所述日志文件信息中文本语句进行特征转换,获得特征向量,
[0022]
优化模块将特征向量作为embeddings输入双向rnn循环神经网络,优化bert日志分类模型,其中通过双向rnn循环神经网络经过前向传递层和后向传递层分别获取输入序列每一个点的上文信息和下文信息,合并上文信息和下文信息的隐藏层状态作为输出,
[0023]
验证模块验证优化后bert日志分类模型,测试模块测试优化后bert日志分类模型,
[0024]
分类模块利用bert日志分类模型进行系统日志自动化分类。
[0025]
本发明还提供一种基于bert_rnn实现系统日志自动化分类的设备,包括:至少一个存储器和至少一个处理器;
[0026]
所述至少一个存储器,用于存储机器可读程序;
[0027]
所述至少一个处理器,用于调用所述机器可读程序,执行所述的一种基于bert_rnn实现系统日志自动化分类的方法。
[0028]
本发明的有益之处是:
[0029]
本发明提供一种基于bert_rnn实现系统日志自动化分类的方法,通过深度学习语言模型对日志自动化分类,bert模型强大的预测能力可以有效提升分类准确性,利用循环
神经网络可以优化模型上下文理解及对长文本处理的优点可以对bert分类模型进行优化,进一步提升准确性。
附图说明
[0030]
图1是本发明日志分类框架示意图。
[0031]
图2是循环神经网络结构示意图。
[0032]
图3是bert对单句分类的微调结构示意图。
[0033]
图4是本发明中bert_rnn结构示意图。
具体实施方式
[0034]
注意力机制(attention mechanism)是深度学习中的重要组成部分,它是受到人脑注意力机制的启发。在人类的感知过程中,一般可以瞬间注意到最相关的部分,并将注意力集中于此。自注意力机制(self-attention)有一样的来源,在自然语言处理中,它的来源是文本信息,自注意力机制对文本本身计算来捕获文本的语义信息以及单词之间的依存关系。
[0035]
bert(bidirectional encoder representation from transformers),即双向transformer编码器,bert自提出后,在多项自然语言处理任务都表现出色,对于文本分类也有一定提升。bert预训练模型使其便于使用。读取句子进行mask模型训练,提取特征,对于日志分类任务也只需要对其进行微调,添加类别标签即可。
[0036]
循环神经网络(recurrent neural network,rnn)是一种递归的神经网络,可以有效地以序列数据为输入,并对每个节点(循环单元)进行递归。一个简单的rnn由三部分组成:输入层、隐藏层和输出层。每个隐藏层单元的输入都由前一个隐藏层的输出值和该隐藏层的输入值决定。双向循环神经网络(bidirectional rnn,bi-rnn)bi-rnn。bi-rnn由两个方向相反的循环神经网络组成,一个对训练序列进行前向传递,另一个对训练序列进行后向传递,同时它们连接着一个输出层,经过前向传递层和后向传递层分别获取输入序列每一个点的上文信息、下文信息,二者的隐藏层状态合并后作为输出层的输入。利用循环神经网络对上下文的处理能力,可以对bert模型进行优化,对一些参数进行微调,优化训练速度及准确性。
[0037]
下面结合附图和具体实施例对本发明作进一步说明,以使本领域的技术人员可以更好地理解本发明并能予以实施,但所举实施例不作为对本发明的限定。
[0038]
本发明提供一种基于bert_rnn实现系统日志自动化分类的方法,获取已分类的日志文件信息,利用所述日志文件信息训练bert日志分类模型,通过bert日志分类模型将所述日志文件信息中文本语句进行特征转换,获得特征向量,
[0039]
将特征向量作为embeddings输入双向rnn循环神经网络,优化bert日志分类模型,其中通过双向rnn循环神经网络经过前向传递层和后向传递层分别获取输入序列每一个点的上文信息和下文信息,合并上文信息和下文信息的隐藏层状态作为输出,
[0040]
验证并测试优化后bert日志分类模型,
[0041]
利用bert日志分类模型进行系统日志自动化分类。
[0042]
本发明方法基于bert模型,通过使用bert模型配合循环神经网络得到日志分类模
型从而实现系统日志分类自动化,大大提高准确率。并且极大地简化了研究人员在自然语言处理任务中对特定任务的设置,只需要在预训练模型后接入自己想要处理的任务结构即可。
[0043]
具体应用中,基于本发明方法的技术方案,在本发明方法的一些实施例中,为了让bert日志分类模型可以自动学习到上下文语义,引入大规模的数据进行训练,使用预训练模型,读取数据后进行特征转换,将特征向量输入至循环神经网络进一步进行特征提取,利用验证集调整参数不断重复这一过程,得到训练好的模型,从中挑选出最优的模型。具体过程可参考如下:
[0044]
(1)获取已分类的日志文件信息,利用所述日志文件信息训练bert日志分类模型,包括:
[0045]
将已分类的日志文件信息在句首均添加所属类别,存于一个文档中,并按照8:1:1的比例将所有的日志文件信息分成训练集、测试集和验证集,并分别建立训练集、测试集和验证集的数据集迭代器。
[0046]
(2)通过bert日志分类模型将所述日志文件信息中文本语句进行特征转换,获得特征向量,包括:
[0047]
为了减少内存消耗,可以利用数据集迭代器。在读取数据集的数据后,bert日志分类模型对文本语句进行特征转换,将特征转换后特征作为分类模型的输入向量,其中bert日志分类模型的输入可以用一个标记序列明确的表示单个文本句子和成对的文本句子,所以输入嵌入可以用字向量、段向量和位置向量的总和来表示特征向量。
[0048]
(3)对数据完成特征转换之后,将特征向量作为embeddings输入循环神经网络,送入模型中开始训练,使用bertadam算法进行优化,包括:将训练分为多个epoch,每个epoch中按总的batch大小分为若干轮,在每轮训练的同时,使用验证集对bert日志分类模型进行验证,使用函数functional.cross_entropy()和函数metrics.accuracy_score()计算损失值和准确率。
[0049]
进一步,使用验证集对bert日志分类模型进行验证,包括:每轮训练结束,输出损失值和准确率;
[0050]
验证损失值、验证准确率及时间,其中按照验证时的损失值进行比较,如果大于当前最好损失值则保存当前损失值,并且保存相应bert日志分类模型;若小于当前最好损失值,则继续训练并验证;
[0051]
如果在1000次batch内bert日志分类模型性能未提升,则终止训练,保存本次训练性能最优的bert日志分类模型,若达到预设最大epoch值,则将最后一次性能提升的bert日志分类模型为最优模型。
[0052]
(4)测试优化后bert日志分类模型,包括:使用精确率p、召回率r和f1值(f1-score)作为评测指标测试bert日志分类模型,其中精确率p:真正例占预测情况为正的样本的比例,计算公式为
[0053]
召回率r:真正例占所有真实情况为正的样本的比例,计算公式为
[0054]
[0055]
f1值:评判准确率和召回率的综合指标,计算公式为
[0056]
测试时,与训练、验证的过程类似,读取数据后对其进行特征转换,使用函数来调用训练过程中保存的最优模型,对输入的特征转换后的向量进行计算,在测试结束后输出相应的结果报告。
[0057]
(5)利用bert日志分类模型进行系统日志自动化分类。本发明方法进行有效日志分类,能够解决实际应用中经常出现日志类型指定错误或不知道所属类型的情况时,导致需要对日志进行重新采集,或分析挖掘达不到预期效果等问题。
[0058]
本发明还提供一种基于bert_rnn实现系统日志自动化分类的装置,包括训练模块、优化模块、验证模块、测试模块和分类模块,
[0059]
训练模块获取已分类的日志文件信息,利用所述日志文件信息训练bert日志分类模型,通过bert日志分类模型将所述日志文件信息中文本语句进行特征转换,获得特征向量,
[0060]
优化模块将特征向量作为embeddings输入双向rnn循环神经网络,优化bert日志分类模型,其中通过双向rnn循环神经网络经过前向传递层和后向传递层分别获取输入序列每一个点的上文信息和下文信息,合并上文信息和下文信息的隐藏层状态作为输出,
[0061]
验证模块验证优化后bert日志分类模型,测试模块测试优化后bert日志分类模型,
[0062]
分类模块利用bert日志分类模型进行系统日志自动化分类。
[0063]
上述装置内的各模块之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
[0064]
同样地,本发明装置通过深度学习语言模型对日志自动化分类,bert模型强大的预测能力可以有效提升分类准确性,利用循环神经网络可以优化模型上下文理解及对长文本处理的优点可以对bert分类模型进行优化,进一步提升准确性。
[0065]
需要说明的是,上述各流程和各装置中不是所有的步骤和模块都是必须的,可以根据实际的需要忽略某些步骤或模块。各步骤的执行顺序不是固定的,可以根据需要进行调整。上述各实施例中描述的系统结构可以是物理结构,也可以是逻辑结构,即,有些模块可能由同一物理实体实现,或者,有些模块可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
[0066]
本发明还提供一种基于bert_rnn实现系统日志自动化分类的设备,包括:至少一个存储器和至少一个处理器;
[0067]
所述至少一个存储器,用于存储机器可读程序;
[0068]
所述至少一个处理器,用于调用所述机器可读程序,执行所述的一种基于bert_rnn实现系统日志自动化分类的方法。
[0069]
上述设备内的处理器的信息交互、执行可读程序过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
[0070]
同样地,本发明设备通过深度学习语言模型对日志自动化分类,bert模型强大的预测能力可以有效提升分类准确性,利用循环神经网络可以优化模型上下文理解及对长文本处理的优点可以对bert分类模型进行优化,进一步提升准确性。
[0071]
以上所述实施例仅是为充分说明本发明而所举的较佳的实施例,本发明的保护范围不限于此。本技术领域的技术人员在本发明基础上所作的等同替代或变换,均在本发明的保护范围之内。本发明的保护范围以权利要求书为准。

技术特征:
1.一种基于bert_rnn实现系统日志自动化分类的方法,其特征是获取已分类的日志文件信息,利用所述日志文件信息训练bert日志分类模型,通过bert日志分类模型将所述日志文件信息中文本语句进行特征转换,获得特征向量,将特征向量作为embeddings输入双向rnn循环神经网络,优化bert日志分类模型,其中通过双向rnn循环神经网络经过前向传递层和后向传递层分别获取输入序列每一个点的上文信息和下文信息,合并上文信息和下文信息的隐藏层状态作为输出,验证并测试优化后bert日志分类模型,利用bert日志分类模型进行系统日志自动化分类。2.根据权利要求1所述的一种基于bert_rnn实现系统日志自动化分类的方法,其特征是所述获取已分类的日志文件信息,利用所述日志文件信息训练bert日志分类模型,包括:将已分类的日志文件信息在句首均添加所属类别,存于一个文档中,并按照8:1:1的比例将所有的日志文件信息分成训练集、测试集和验证集,并分别建立训练集、测试集和验证集的数据集迭代器。3.根据权利要求1所述的一种基于bert_rnn实现系统日志自动化分类的方法,其特征是所述通过bert日志分类模型将所述日志文件信息中文本语句进行特征转换,获得特征向量,包括:利用字向量、段向量和位置向量的总和表示特征向量。4.根据权利要求1所述的一种基于bert_rnn实现系统日志自动化分类的方法,其特征是所述优化bert日志分类模型,包括:利用bertadam算法优化bert日志分类模型,将训练分为多个epoch,每个epoch中按总的batch大小分为若干轮,在每轮训练的同时,使用验证集对bert日志分类模型进行验证,使用函数functional.cross_entropy()和函数metrics.accuracy_score()计算损失值和准确率。5.根据权利要求4所述的一种基于bert_rnn实现系统日志自动化分类的方法,其特征是所述使用验证集对bert日志分类模型进行验证,包括:每轮训练结束,输出损失值和准确率;验证损失值、验证准确率及时间,其中按照验证时的损失值进行比较,如果大于当前最好损失值则保存当前损失值,并且保存相应bert日志分类模型;若小于当前最好损失值,则继续训练并验证;如果在1000次batch内bert日志分类模型性能未提升,则终止训练,保存本次训练性能最优的bert日志分类模型,若达到预设最大epoch值,则将最后一次性能提升的bert日志分类模型为最优模型。6.根据权利要求1所述的一种基于bert_rnn实现系统日志自动化分类的方法,其特征是所述测试优化后bert日志分类模型,包括:使用精确率p、召回率r和f1值(f1-score)作为评测指标测试bert日志分类模型,其中精确率p:真正例占预测情况为正的样本的比例,计算公式为召回率r:真正例占所有真实情况为正的样本的比例,计算公式为f1值:评判准确率和召回率的综合指标,计算公式为
7.一种基于bert_rnn实现系统日志自动化分类的装置,其特征是包括训练模块、优化模块、验证模块、测试模块和分类模块,训练模块获取已分类的日志文件信息,利用所述日志文件信息训练bert日志分类模型,通过bert日志分类模型将所述日志文件信息中文本语句进行特征转换,获得特征向量,优化模块将特征向量作为embeddings输入双向rnn循环神经网络,优化bert日志分类模型,其中通过双向rnn循环神经网络经过前向传递层和后向传递层分别获取输入序列每一个点的上文信息和下文信息,合并上文信息和下文信息的隐藏层状态作为输出,验证模块验证优化后bert日志分类模型,测试模块测试优化后bert日志分类模型,分类模块利用bert日志分类模型进行系统日志自动化分类。8.一种基于bert_rnn实现系统日志自动化分类的设备,其特征是包括:至少一个存储器和至少一个处理器;所述至少一个存储器,用于存储机器可读程序;所述至少一个处理器,用于调用所述机器可读程序,执行权利要求1至6中任一项所述的一种基于bert_rnn实现系统日志自动化分类的方法。

技术总结
本发明公开一种基于Bert_RNN实现系统日志自动化分类的方法,涉及日志检索技术领域;获取已分类的日志文件信息,利用所述日志文件信息训练Bert日志分类模型,通过Bert日志分类模型将所述日志文件信息中文本语句进行特征转换,获得特征向量,将特征向量作为Embeddings输入双向RNN循环神经网络,优化Bert日志分类模型,其中通过双向RNN循环神经网络经过前向传递层和后向传递层分别获取输入序列每一个点的上文信息和下文信息,合并上文信息和下文信息的隐藏层状态作为输出,验证并测试优化后Bert日志分类模型,利用Bert日志分类模型进行系统日志自动化分类。分类模型进行系统日志自动化分类。分类模型进行系统日志自动化分类。


技术研发人员:高嘉翾
受保护的技术使用者:上海沄熹科技有限公司
技术研发日:2023.04.10
技术公布日:2023/7/20
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐