CN114969334B - 异常日志检测方法、装置、电子设备及可读存储介质 - Google Patents

异常日志检测方法、装置、电子设备及可读存储介质 Download PDF

Info

Publication number
CN114969334B
CN114969334B CN202210553614.7A CN202210553614A CN114969334B CN 114969334 B CN114969334 B CN 114969334B CN 202210553614 A CN202210553614 A CN 202210553614A CN 114969334 B CN114969334 B CN 114969334B
Authority
CN
China
Prior art keywords
log
logs
speech
template
row
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.)
Active
Application number
CN202210553614.7A
Other languages
English (en)
Other versions
CN114969334A (zh
Inventor
吕博晨
刘兆涵
杨健
方磊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Zetyun Tech Co ltd
Original Assignee
Beijing Zetyun Tech Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Zetyun Tech Co ltd filed Critical Beijing Zetyun Tech Co ltd
Priority to CN202210553614.7A priority Critical patent/CN114969334B/zh
Publication of CN114969334A publication Critical patent/CN114969334A/zh
Application granted granted Critical
Publication of CN114969334B publication Critical patent/CN114969334B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/36Creation of semantic tools, e.g. ontology or thesauri
    • G06F16/374Thesaurus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/217Validation; Performance evaluation; Active pattern learning techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/268Morphological analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Databases & Information Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供一种异常日志检测方法、装置、电子设备及可读存储介质,该异常日志检测方法包括:获取待检测的日志文件,日志文件包括多行日志;对日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式;根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量;将日志对应的特征向量输入至特征模型中,得到处理后的特征向量;对处理后的特征向量进行分析,定位出第一异常日志;对日志文件进行情感分析,得到日志文件中的每一行日志的情感信息;根据情感信息,确定日志文件中的第二异常日志;获取第一异常日志和第二异常日志的交集,作为最终的异常日志。本发明可以准确定位异常日志。

Description

异常日志检测方法、装置、电子设备及可读存储介质
技术领域
本发明属于人工智能技术领域,具体涉及一种用于异常日志检测的异常日志检测方法、装置、电子设备及可读存储介质。
背景技术
日志一般指的是计算机系统、设备、软件等在某种情况下记录的信息,而从运维人员所维护对象的所有信息来看,日志则是一个非常重要的组成部分。它可以记录下系统产生的所有行为,并依照某种范式表达出来。运维人员可以使用日志所记录的信息为系统进行排错,实时洞察系统的变化,或者根据这些信息调整系统的行为等。
但是随着软件系统的发展,面对繁多,复杂,非结构化的日志,如何从大量的日志中准确定位出异常日志,是亟待解决的问题。
发明内容
本发明实施例的目的是提供一种异常日志检测方法、装置、电子设备及可读存储介质,能够解决目前异常日志难以准确定位的问题。
第一方面,本发明实施例提供了一种异常日志检测方法,包括:
获取待检测的日志文件,所述日志文件包括多行日志;
对所述日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式;
根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量;
将所述日志对应的特征向量输入至特征模型中,得到处理后的特征向量;
对所述处理后的特征向量进行分析,定位出第一异常日志;
对所述日志文件进行情感分析,得到所述日志文件中的每一行日志的情感信息;根据所述情感信息,确定所述日志文件中的第二异常日志;
根据所述第一异常日志和第二异常日志,确定最终的异常日志。
可选的,所述对所述日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式包括:
对所述日志文件中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签;
将每一行日志的所有词性标签拼接,得到每一行日志对应的日志词性表达式。
可选的,所述根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量,包括:
将所述日志文件分割成多个子日志文件,每一个所述子日志文件包括多行日志;
根据每一行日志对应的日志词性表达式和日志词性模板语料库,获取每一个所述子日志文件的特征向量。
可选的,所述根据每一行日志对应的日志词性表达式和日志词性模板语料库,获取每一个所述子日志文件的特征向量包括:
根据所述日志词性模板语料库,获取每一个所述子日志文件对应的模板序列向量和模板频率统计向量,所述模板序列向量表示所述子日志文件中每一行日志对应的日志词性模板,所述模板频率统计向量表示每一个日志词性模板在所述子日志文件对应的模板序列向量中出现的次数;
将每一个所述子日志文件对应的模板序列向量和模板频率统计向量合并,得到每一个所述子日志文件的特征向量。
可选的,所述对所述处理后的特征向量进行分析,定位出第一异常日志,包括:
对所述处理后的特征向量进行聚类分析,定位出第一异常日志。
可选的,所述特征模型采用如下方式训练得到:
获取日志训练集,所述日志训练集包括多行日志;
对所述日志训练集中的每一行日志的词语进行词性处理,得到每一行日志对应的第一日志词性表达式;
根据每一行日志对应的第一日志词性表达式以及预先建立的词性日志模板语料库,获取日志对应的特征向量;
采用所述日志训练集中的标记为正常的日志的特征向量进行特征模型训练,得到训练后的特征模型。
可选的,所述对所述日志训练集中的每一行日志的词语进行词性处理,得到每一行日志对应的第一日志词性表达式包括:
对所述日志训练集中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签;
将每一行日志的所有词性标签拼接,得到每一行日志对应的第一日志词性表达式。
可选的,所述方法还包括:
对所述日志训练集中的所有日志对应的第一日志词性表达式进行处理,得到日志词性模板语料库。
可选的,所述对所述日志训练集中的所有日志对应的第一日志词性表达式进行处理包括:
去除所有所述第一日志词性表达式中重复的第一日志词性表达式,剩余的第一日志词性表达式作为日志词性模板形成所述日志词性模板语料库。
可选的,所述根据每一行日志对应的第一日志词性表达式以及预先建立的词性日志模板语料库,获取日志对应的特征向量,包括:
将所述日志训练集分割成多个第一子日志文件,每一个所述第一子日志文件包括多行日志;
根据每一行日志对应的第一日志词性表达式和所述日志词性模板语料库,获取每一个所述第一子日志文件的特征向量。
可选的,所述根据每一行日志对应的第一日志词性表达式和所述日志词性模板语料库,获取每一个所述第一子日志文件的特征向量包括:
根据所述日志词性模板语料库,获取每一个所述第一子日志文件对应的模板序列向量和模板频率统计向量,所述模板序列向量表示所述第一子日志文件中每一行日志对应的所述日志词性模板,所述模板频率统计向量表示每一个所述日志词性模板在所述第一子日志文件对应的模板序列向量中出现的次数;
将每一个所述第一子日志文件对应的模板序列向量和模板频率统计向量合并,得到每一个所述第一子日志文件的特征向量。
可选的,所述采用所述日志训练集中的标记为正常的日志的特征向量进行特征模型训练,得到训练后的特征模型包括:
将所述日志训练集中的标记为正常的日志的特征向量依次输入至自编码器,得到重建后的第一特征向量;
将每一个所述第一特征向量分别与降维函数运算得到第二特征向量,并判断所有所述第二特征向量是否满足收敛条件;
若满足所述收敛条件,得到训练后的降维函数;若不满足所述收敛条件,对所述降维函数中的系数进行调整,直至满足所述收敛条件,得到训练后的降维函数;
确定训练后的特征模型,所述训练后的特征模型包括所述自编码器和所述训练后的降维函数。
可选的,所述得到训练后的特征模型之后还包括:
将所述日志训练集中的标记为异常的日志的特征向量输入至自编码器,输出重建后的第三特征向量;
将每一个所述第三特征向量分别与所述训练后的降维函数运算,得到第四特征向量;
根据所有所述第四特征向量的分布,验证所述训练后的特征模型是否有效。
可选的,所述根据所有所述第四特征向量的分布,验证所述训练后的特征模型是否有效,包括:
计算所述第四特征向量间的距离;
若距离均值小于第一预设阈值,且异常的日志对应的特征映射向量和正常的日志对应的特征映射向量之间的距离大于第二预设阈值,确定所述训练后的特征模型有效。
可选的,所述得到训练后的特征模型之后还包括:
获取日志测试集,所述日志测试集包括多行正常日志和多行异常日志;
对所述日志测试集中的每一行日志的词语进行词性处理,得到每一行日志对应的第二日志词性表达式;
根据每一行日志对应的第二日志词性表达式和所述日志词性模板语料库,确定日志对应的特征向量;
将所述日志对应的特征向量输入至所述训练后的特征模型中,得到处理后的特征向量;
对所述处理后的特征向量进行分析,定位出异常日志;
根据定位结果,验证所述训练后的特征模型是否有效。
可选的,所述根据每一行日志对应的第二日志词性表达式和所述日志词性模板语料库,确定日志对应的特征向量,包括:
将所述日志测试集分割成多个第二子日志文件,每一个所述第二子日志文件包括多行日志;
根据所述每一行日志对应的第二日志词性表达式和所述日志词性模板语料库,获取每一个所述第二子日志文件的特征向量。
可选的,对所述处理后的特征向量进行分析,定位出异常日志,包括:
对每一个第二子日志文件的处理后的特征向量进行聚类分析,得到聚类分析结果;
所述根据定位结果,验证所述训练后的特征模型是否有效包括:
根据聚类分析结果,验证所述训练后的特征模型是否有效。
可选的,所述对所述日志文件进行情感分析,得到所述日志文件中的每一行日志的情感信息包括:
基于情感词典的方法对所述日志文件进行情感分析,得到所述日志文件中的每一行日志的情感信息;
或者
基于情感分析模型对所述日志文件进行情感分析,得到所述日志文件中的每一行日志的情感信息。
可选的,所述对所述日志文件进行情感分析,得到所述日志文件中的每一行日志的情感信息包括:
对所述日志文件中的每一行日志进行情感分析,得到所述日志文件中的每一行日志的情感信息;
或者,
对所述日志文件中的日志进行聚类分析,得到多个日志组;
对属于同一日志组的日志提取出一个日志模板;
对每个所述日志模板进行情感分析,得到每个所述日志模板的情感信息,其中,所述日志模板的情感信息为所述日志模板对应的日志组内的日志的情感信息。
可选的,所述对所述日志文件中的日志进行聚类分析,得到多个日志组还包括:
通过正则表达式对所述日志文件进行处理,得到结构化的日志;
获取长度相同的所述结构化的日志;
从长度相同的所述结构化的日志中,获取令牌类型相同的日志,并划分到同一个日志组中。
可选的,所述对每个所述日志模板进行情感分析,得到每个所述日志模板的情感信息包括:
将所述日志模板输入到情感分析模型中,得到所述情感分析模型输出的所述日志模板的情感信息,其中,所述情感分析模型采用自注意力机制对所述日志模板中的每一个词语进行处理,得到所述日志模板中的每个词语的特征,并分析所述日志模板中的词语之间的上下文交互信息,得到每个词语的特征权重,根据所述日志模板的每个词语的特征和所述每个词语的特征权重,得到所述日志模板的情感信息并输出。
可选的,所述情感分析模型采用如下方式训练得到:
获取日志训练集,所述日志训练集包括多行训练日志;
将所述训练日志输入到待训练的情感分析模型中,得到所述待训练的情感分析模型输出的所述训练日志的预测情感信息,其中,所述待训练的情感分析模型采用自注意力机制对所述训练日志中的每一个词语进行处理,得到所述训练日志中的每个词语的特征,并分析所述训练日志中的词语之间的上下文交互信息,得到每个词语的特征权重,根据所述训练日志的每个词语的特征和所述每个词语的特征权重,得到所述训练日志的预测情感信息并输出;
根据所述训练日志的预测情感信息、所述训练日志的真实情感信息以及预设的目标函数,判断所述目标函数是否满足收敛条件,若所述目标函数不满足收敛条件,对待训练的情感分析模型的参数进行调整,直至所述目标函数满足所述收敛条件,得到训练后的所述情感分析模型。
可选的,所述根据所述情感信息,确定所述日志文件中的第二异常日志包括:
根据所述情感信息的得分或类型,确定所述日志文件中的第二异常日志。
可选的,所述根据所述情感信息的得分或类型,确定所述日志文件中的第二异常日志,包括:
将所述情感信息的得分为负数的日志标记为第二异常日志;
或者
将所述情感信息的类型为消极类型的日志标记为第二异常日志。
可选的,所述对所述日志文件进行情感分析,得到情感信息之前还包括:
对所述日志文件进行预处理,所述预处理包括以下至少一项:非法符号去除、大小写转化和无效例删除。
可选的,根据所述第一异常日志和第二异常日志,确定最终的异常日志包括:
获取所述第一异常日志和第二异常日志的交集,作为最终的异常日志。
第二方面,本发明实施例提供了一种异常日志检测装置,包括:
第一获取模块,用于获取待检测的日志文件,所述日志文件包括多行日志;
第一定位模块,用于对所述日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式;根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量;将所述日志对应的特征向量输入至特征模型中,得到处理后的特征向量;对所述处理后的特征向量进行分析,定位出第一异常日志;
第二定位模块,用于对所述日志文件进行情感分析,得到所述日志文件中的每一行日志的情感信息;根据所述情感信息,确定所述日志文件中的第二异常日志;
第三定位模块,用于根据所述第一异常日志和第二异常日志,确定最终的异常日志。可选的,所述第一定位模块,用于对所述日志文件中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签;将每一行日志的所有词性标签拼接,得到每一行日志对应的日志词性表达式。
可选的,所述第一定位模块,用于将所述日志文件分割成多个子日志文件,每一个所述子日志文件包括多行日志;根据每一行日志对应的日志词性表达式和日志词性模板语料库,获取每一个所述子日志文件的特征向量。
可选的,所述第一定位模块,用于根据所述日志词性模板语料库,获取每一个所述子日志文件对应的模板序列向量和模板频率统计向量,所述模板序列向量表示所述子日志文件中每一行日志对应的日志词性模板,所述模板频率统计向量表示每一个日志词性模板在所述子日志文件对应的模板序列向量中出现的次数;将每一个所述子日志文件对应的模板序列向量和模板频率统计向量合并,得到每一个所述子日志文件的特征向量。
可选的,所述第一定位模块,用于对所述处理后的特征向量进行聚类分析,定位出第一异常日志。
可选的,所述异常日志检测装置还包括:
第二获取模块,用于获取日志训练集,所述日志训练集包括多行日志;
第二词性处理模块,用于对所述日志训练集中的每一行日志的词语进行词性处理,得到每一行日志对应的第一日志词性表达式;
第二特征向量确定模块,用于根据每一行日志对应的第一日志词性表达式以及预先建立的词性日志模板语料库,获取日志对应的特征向量;
第一训练模块,用于采用所述日志训练集中的标记为正常的日志的特征向量进行特征模型训练,得到训练后的特征模型。
可选的,所述第二词性处理模块,用于对所述日志训练集中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签;
将每一行日志的所有词性标签拼接,得到每一行日志对应的第一日志词性表达式。
可选的,所述异常日志检测装置还包括:
语料库确定模块,用于对所述日志训练集中的所有日志对应的第一日志词性表达式进行处理,得到日志词性模板语料库。
可选的,所述语料库确定模块,用于去除所有所述第一日志词性表达式中重复的第一日志词性表达式,剩余的第一日志词性表达式作为日志词性模板形成所述日志词性模板语料库。
可选的,所述第二特征向量确定模块,用于将所述日志训练集分割成多个第一子日志文件,每一个所述第一子日志文件包括多行日志;根据每一行日志对应的第一日志词性表达式和所述日志词性模板语料库,获取每一个所述第一子日志文件的特征向量。
可选的,所述第二特征向量确定模块,用于根据所述日志词性模板语料库,获取每一个所述第一子日志文件对应的模板序列向量和模板频率统计向量,所述模板序列向量表示所述第一子日志文件中每一行日志对应的所述日志词性模板,所述模板频率统计向量表示每一个所述日志词性模板在所述第一子日志文件对应的模板序列向量中出现的次数;将每一个所述第一子日志文件对应的模板序列向量和模板频率统计向量合并,得到每一个所述第一子日志文件的特征向量。
可选的,所述第一训练模块,用于将所述日志训练集中的标记为正常的日志的特征向量依次输入至自编码器,得到重建后的第一特征向量;将每一个所述第一特征向量分别与降维函数运算得到第二特征向量,并判断所有所述第二特征向量是否满足收敛条件;若满足所述收敛条件,得到训练后的降维函数;若不满足所述收敛条件,对所述降维函数中的系数进行调整,直至满足所述收敛条件,得到训练后的降维函数;确定训练后的特征模型,所述训练后的特征模型包括所述自编码器和所述训练后的降维函数。
可选的,所述异常日志检测装置还包括:
第一验证模块,用于将所述日志训练集中的标记为异常的日志的特征向量输入至自编码器,输出重建后的第三特征向量;将每一个所述第三特征向量分别与所述训练后的降维函数运算,得到第四特征向量;根据所有所述第四特征向量的分布,验证所述训练后的特征模型是否有效。
可选的,所述第一验证模块,用于计算所述第四特征向量间的距离;若距离均值小于第一预设阈值,且异常的日志对应的特征映射向量和正常的日志对应的特征映射向量之间的距离大于第二预设阈值,确定所述训练后的特征模型有效。
可选的,所述异常日志检测装置还包括:
第三获取模块,用于获取日志测试集,所述日志测试集包括多行正常日志和多行异常日志;
第三词性处理模块,用于对所述日志测试集中的每一行日志的词语进行词性处理,得到每一行日志对应的第二日志词性表达式;
第三特征向量确定模块,用于根据每一行日志对应的第二日志词性表达式和所述日志词性模板语料库,确定日志对应的特征向量;
第二特征处理模块,用于将所述日志对应的特征向量输入至所述训练后的特征模型中,得到处理后的特征向量;
分析模块,用于对所述处理后的特征向量进行分析,定位出异常日志;
第二验证模块,用于根据定位结果,验证所述训练后的特征模型是否有效。
可选的,所述第三特征向量确定模块,用于将所述日志测试集分割成多个第二子日志文件,每一个所述第二子日志文件包括多行日志;根据所述每一行日志对应的第二日志词性表达式和所述日志词性模板语料库,获取每一个所述第二子日志文件的特征向量。
可选的,所述分析模块,用于对每一个第二子日志文件的处理后的特征向量进行聚类分析,得到聚类分析结果;
所述第二验证模块,用于根据聚类分析结果,验证所述训练后的特征模型是否有效。
可选的,所述第二定位模块,用于基于情感词典的方法对所述日志文件进行情感分析,得到所述日志文件中的每一行日志的情感信息;或者,基于情感分析模型对所述日志文件进行情感分析,得到所述日志文件中的每一行日志的情感信息。
可选的,所述第二定位模块,用于对所述日志文件中的每一行日志进行情感分析,得到所述日志文件中的每一行日志的情感信息;
或者
所述第二定位模块,用于对所述日志文件中的日志进行聚类分析,得到多个日志组;对属于同一日志组的日志提取出一个日志模板;对每个所述日志模板进行情感分析,得到每个所述日志模板的情感信息,其中,所述日志模板的情感信息为所述日志模板对应的日志组内的日志的情感信息。
可选的,所述第二定位模块,用于通过正则表达式对所述日志文件进行处理,得到结构化的日志;获取长度相同的所述结构化的日志;从长度相同的所述结构化的日志中,获取令牌类型相同的日志,并划分到同一个日志组中。
可选的,所述第二定位模块,用于将所述日志模板输入到情感分析模型中,得到所述情感分析模型输出的所述日志模板的情感信息,其中,所述情感分析模型采用自注意力机制对所述日志模板中的每一个词语进行处理,得到所述日志模板中的每个词语的特征,并分析所述日志模板中的词语之间的上下文交互信息,得到每个词语的特征权重,根据所述日志模板的每个词语的特征和所述每个词语的特征权重,得到所述日志模板的情感信息并输出。
可选的,所述装置还包括:
第三获取模块,用于获取日志训练集,所述日志训练集包括多行训练日志;
第二训练模块,用于将所述训练日志输入到待训练的情感分析模型中,得到所述待训练的情感分析模型输出的所述训练日志的预测情感信息,其中,所述待训练的情感分析模型采用自注意力机制对所述训练日志中的每一个词语进行处理,得到所述训练日志中的每个词语的特征,并分析所述训练日志中的词语之间的上下文交互信息,得到每个词语的特征权重,根据所述训练日志的每个词语的特征和所述每个词语的特征权重,得到所述训练日志的预测情感信息并输出;
第三训练模块,用于根据所述训练日志的预测情感信息、所述训练日志的真实情感信息以及预设的目标函数,判断所述目标函数是否满足收敛条件,若所述目标函数不满足收敛条件,对待训练的情感分析模型的参数进行调整,直至所述目标函数满足所述收敛条件,得到训练后的所述情感分析模型。
可选的,所述第二定位模块,用于根据所述情感信息的得分或类型,确定所述日志文件中的每一行日志是否为异常日志。
可选的,所述第二定位模块,用于将所述情感信息的得分为负数的日志标记为异常日志;
或者
所述第二定位模块,用于将所述情感信息的类型为消极类型的日志标记为异常日志。
可选的,所述装置还包括:
预处理模块,用于对所述日志文件进行预处理,所述预处理包括以下至少一项:非法符号去除、大小写转化和无效例删除。
可选的,所述第三定位模块,用于获取所述第一异常日志和第二异常日志的交集,作为最终的异常日志。
第三方面,本发明实施例提供了一种异常日志检测方法,包括:
获取待检测的日志文件,所述日志文件包括多行日志;
对所述日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式;根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量;将所述日志对应的特征向量输入至特征模型中,得到处理后的特征向量;对所述处理后的特征向量进行分析,得到第一日志;
对所述第一日志进行情感分析,得到所述第一日志的情感信息;
根据所述情感信息,确定所述第一日志中的异常日志。
可选的,所述根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量,包括:
将所述日志文件分割成多个子日志文件,每一个所述子日志文件包括多行日志;根据每一行日志对应的日志词性表达式和日志词性模板语料库,获取每一个所述子日志文件的特征向量;
其中,所述将所述日志对应的特征向量输入至特征模型中,得到处理后的特征向量包括:将所述子日志文件对应的特征向量输入至特征模型中,得到处理后的特征向量;
所述对所述处理后的特征向量进行分析,得到第一日志包括:对所述处理后的特征向量进行分析,定位出异常的子日志文件;
所述对所述第一日志进行情感分析,得到所述第一日志的情感信息包括:对所述异常的子日志文件进行情感分析,得到所述异常的子日志文件中的每一行日志的情感信息。
第四方面,本发明实施例提供了一种异常日志检测装置,包括:
第一获取模块,用于获取待检测的日志文件,所述日志文件包括多行日志;
第一定位模块,用于对所述日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式;根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量;将所述日志对应的特征向量输入至特征模型中,得到处理后的特征向量;对所述处理后的特征向量进行分析,得到第一日志;
第二定位模块,用于对所述第一日志进行情感分析,得到所述第一日志的情感信息;根据所述情感信息,确定所述第一日志中的异常日志。
可选的,所述第一定位模块,用于将所述日志文件分割成多个子日志文件,每一个所述子日志文件包括多行日志;根据每一行日志对应的日志词性表达式和日志词性模板语料库,获取每一个所述子日志文件的特征向量;
其中,所述第一定位模块,还用于将所述子日志文件对应的特征向量输入至特征模型中,得到处理后的特征向量;对所述处理后的特征向量进行分析,定位出异常的子日志文件;
所述第二定位模块,用于对所述异常的子日志文件进行情感分析,得到所述异常的子日志文件中的每一行日志的情感信息。
第五方面,本发明实施例提供了一种电子设备,该电子设备包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如第一方面或第三方面或第四方面所述的方法的步骤。
第六方面,本发明实施例提供了一种可读存储介质,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如第一方面或第三方面或第四方面所述的方法的步骤。
第七方面,本发明实施例提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现如第一方面或第三方面或第四方面所述的方法。
第八方面,本发明实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如第一方面或第三方面或第四方面所述的方法。
本发明实施例具有以下有益效果:
利用日志词性表达式代替日志语句本身进行异常日志定位,该种定位方法对日志语句中的简写、省略、拼写错误等问题,均有很高的容错性,有利于提高异常日志检测的准确性,再者,日志文件通常数量级较大,采用日志词性表达式代替日志语句本身进行定位,也会极大的减少运算量。
采用情感分析方法对日志进行情感分析,获取日志中的情感信息,根据日志的情感信息确定日志是否为异常日志;
结合上述两种定位结果,得到最终的定位结果,从而使得定位结果更加准确。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1为本发明实施例的异常日志检测方法的流程示意图之一;
图2为本发明实施例的用于异常日志检测的特征模型的训练方法的流程示意图之一;
图3为本发明实施例的用于异常日志检测的特征模型的训练方法的流程示意图之二;
图4为本发明实施例的异常日志检测装置的结构示意图之一;
图5为本发明实施例的异常日志检测装置的结构示意图之二;
图6为本发明实施例的异常日志检测方法的流程示意图之二;
图7为本发明实施例的异常日志检测装置的结构示意图之三;
图8为本发明实施例的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员获取的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施,且“第一”、“第二”等所区分的对象通常为一类,并不限定对象的个数,例如第一对象可以是一个,也可以是多个。此外,说明书以及权利要求中“和/或”表示所连接对象的至少其中之一,字符“/”,一般表示前后关联对象是一种“或”的关系。
下面结合附图,通过具体的实施例及其应用场景对本发明实施例提供的异常日志检测方法、装置、电子设备及可读存储介质进行详细地说明。
请参考图1,本发明实施例还提供一种异常日志检测方法,包括:
步骤11:获取待检测的日志文件,所述日志文件包括多行日志;
本发明实施例中,可选的,所述日志文件中每一行日志为一条完整的日志,当然,在本发明的其他一些实施例中,也不限于此,一条完整的日志也可以位于相邻的不同行,或者,同一行包括多条日志。
本发明实施例中的日志,可以是多种类型的日志,例如计算机系统、设备或软件的日志,所述设备可以是网络云化设备等多种类型的设备,本发明并不对日志的类型进行限定。
步骤12:对所述日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式;
本发明实施例可选的是,对每一行日志的词语进行词性处理包括:对每一行日志进行分词处理,得到多个词语;获取分词处理后的各个词语对应的词性标签,根据每一行日志对应的各词语的词性标签以及各词语在该行日志位置信息,得到每一行日志对应的日志词性表达。
本发明实施例中,日志由英文书写,因而,上述词语可以是单词。
举例来说,一条日志为“Cleaning up deleted instances_run_pending_deletes/usr/lib/python2.7/site-packages/nova/compute/manager.py:6748”。其中,单词[Cleaning]是一个现在分词,对应的词性标签为[VBG];单词[up]是一个虚词,对应的词性标签为[RP];以此类推,将日志中的每一个单词都转换为对应的词性标签。另外,此日志的最后一部分[/usr/lib/python2.7/site-packages/nova/compute/manager.py:6748]代表一个路径,可以用词性标签[path]来替换。最终得到的转化结果为“[VBG][RP][JJ][NNS][VBZ][path]”。
经过词性处理,日志语句并抽象成了一个日志词性表达式,这种方法对日志语句中的简写、省略、拼写错误等问题,均有很高的容错性,有利于提高异常日志检测的准确性。
步骤13:根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量;
步骤14:将所述日志对应的特征向量输入至特征模型中,得到处理后的特征向量。
其中,该特征模型为预先训练好的用于异常检测的特征模型,该特征模型将待检测日志文件中日志相似类型特征向量的在空间域中进行聚集处理。也即,将所述日志对应的特征向量输入至特征模型中进行处理,得到处理后的特征向量,其中,处理后的特征向量在空间域具有一定的聚集分发特征,相似类似日志对应的处理后特征向量聚集在指定范围内;不同类型日志对应的处理后特征向量之间距离在指定阈值之外。
步骤15:对所述处理后的特征向量进行分析,定位出第一异常日志。
步骤16:对所述日志文件进行情感分析,得到所述日志文件中的每一行日志的情感信息;
所谓情感分析,是利用算法来分析挖掘日志文件对应的情感倾向。例如分析一行日志表达的好、中、坏等判断。情感分析的方法主要分为两大类:基于情感词典的方法和基于情感分析模型的方法。
本发明实施例可选的是,基于情感词典的方法中,情感词典是进行情感倾向分析的基础,具体的,对每一行日志进行分词处理,利用日志情感词典对分词处理得到的日志词语进行分析,得到各个日志词语对应的情感分值,然后对各个日志词语对应的情感分值进行统筹分析,得到每一行日志的情感倾向。例如,首先,对日志文件进行分句、分词;然后,将分词好的日志词语与日志情感词典进行逐个匹配,得到对应的情感词分值;最后,统计计算每行日志对应的分值总和,如果分值大于0,表示该行日志情感倾向为积极的;如果小于0,则表示该行日志情感倾向为消极的。
本发明实施例可选的是,基于情感分析模型的方法中,也可以称为基于算法模型的方法,该方法需要先将日志文件进行特征处理,然后采用得到的特征对情感分析模型进行训练,训练好的情感分析模型用于预测新的文本信息的情感,其中,上述情感分析模型可以是机器学习模型,也可以是深度学习模型。
即,本发明实施例中,可选的,基于情感词典的方法对所述日志文件进行情感分析,得到所述日志文件中的每一行日志的情感信息;或者,基于情感分析模型对所述日志文件进行情感分析,得到所述日志文件中的每一行日志的情感信息。本发明实施例中,可以采用上述任一情感分析方法,并不进行限定。
步骤17:根据所述情感信息,确定所述日志文件中的第二异常日志。
本发明实施例中,可选的,所述情感信息包括情感得分或情感类型,根据所述情感信息的得分或类型,确定所述日志文件中的每一行日志是否为第二异常日志。举例来说,采用日志情感词典匹配出日志中包含消极类型的关键词,则确定日志的情感信息为消极类型,从而确定日志为第二异常日志,若匹配出日志中包含积极类型的关键词,则确定日志的情感信息为积极类型,从而确定日志为正常日志。或者,根据情感分析模型分析出日志的情感得分是负分,确定日志为地热异常日志,根据情感分析模型分析出日志的情感得分是正分,确定日志为正常日志。
步骤18:根据所述第一异常日志和第二异常日志,确定最终的异常日志。
可选的,可以获取所述第一异常日志和第二异常日志的交集,作为最终的异常日志。在本发明实施例中,首先,将日志中的词语进行词性处理,得到日志的日志词性表达式,利用日志词性表达式代替日志语句本身进行异常日志定位,使得对日志语句中的简写、省略、拼写错误等问题,均有很高的容错性,有利于提高异常日志检测的准确性,再者,日志文件通常数量级较大,采用日志词性表达式代替日志语句本身进行定位,也会极大的减少运算量。本发明实施例中的特性模型能够将待检测日志文件中日志相似类型特征向量的在空间域中进行聚集处理,通过将日志文件对应的特征向量输入到该特征模型进行处理,得到处理后的特征向量,其中相似类型的日志对应的处理后的特征向量聚集在指定范围内;不同类型日志对应的处理后特征向量之间距离在指定阈值之外,系统基于该特征模型可以使得将正常日志对应的特征向量和异常日志对应的特性向量在空间上进行有效区分,进而使得系统快速准确地定位出异常日志的位置。
再者,采用情感分析方法对日志进行情感分析,获取日志中的情感信息,根据日志的情感信息确定日志是否为异常日志,可以准确地检测出异常日志。
最后,结合上述两种定位结果,得到最终的定位结果,从而使得定位结果更加准确。
本发明实施例中,可选的,获取所述待检测的日志文件包括:对所述日志文件进行预处理,所述预处理包括以下至少一项:非法符号去除、大小写转化、无效例删除,从而可以使得日志文件中的日志更符合规范。
下面对基于日志词性表达式和特征模型定位异常日志的方法进行详细描述。
本发明实施例中,可选的,所述对所述日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式包括:
步骤121:对所述日志文件中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签;
本发明实施例中,可以根据自然语言工具包(NLTK)和预设的特有词性标签库,对所述日志训练集中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签,所述自然语言工具包中包括多个词语以及每一个词语对应的词性标签,所述特有词性标签库包括多个专用于日志的词语和/或词语组合以及每一个词语和/或词语组合对应的词性标签。
所谓专用于日志的特有词性标签,例如上述例子中的[/usr/lib/python2.7/site-packages/nova/compute/manager.py:6748]代表一个路径,用词性标签[path]来替换,该[path]就是专用于日志的特有词性标签。专用于日志的特有词性标签可以根据需要设置,并添加到特有词性标签库中,特有词性标签例如还可以包括[num],表示日志中的数字。
步骤322:将每一行日志的所有词性标签拼接,得到每一行日志对应的日志词性表达式。
所述拼接是按照每一行日志中所有词语的顺序,对对应的词性标签进行拼接。
本发明实施例中,可选的,所述根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量,包括:
步骤131:将所述日志文件分割成多个子日志文件,每一个所述子日志文件包括多行日志;
步骤132:根据每一行日志对应的日志词性表达式和日志词性模板语料库,获取每一个所述子日志文件的特征向量;
举例来说,日志文件有20000行日志,可以将日志文件分割成100个子日志文件,每一个子日志文件包括200行日志,且每一个子日志文件中的日志为相邻的200行日志。
日志文件通常数量级较大,将日志文件分割成多个子日志文件,以子日志文件为单位提取特征向量,即有助于提高处理效率,同时由于将子日志文件中的多行日志同时处理,提取出的特征向量会包含更多的信息。具体来说,以子日志文件为单位提取特征向量,提取的特征向量包含该子日志文件中每行日志的特征,同时还包含该子日志文件中多行日志之间的相关信息。
本发明实施例中,可选的,所述日志词性模板语料库可以采用如下步骤得到:
对日志训练集中的每一行日志的词语进行词性处理,得到每一行日志对应的第一日志词性表达式,并对所述日志训练集中的所有日志对应的第一日志词性表达式进行处理,得到日志词性模板语料库。
可选的,所述对所述日志训练集中的所有日志对应的第一日志词性表达式进行处理包括:去除所有所述第一日志词性表达式中重复的第一日志词性表达式,剩余的第一日志词性表达式作为日志词性模板形成所述日志词性模板语料库。
本发明实施例中,假设日志词性模板语料库中包括N个第一日志词性表达式,可以对该N个第一日志词性表达式进行编码,例如,从1到N的编号,以进行区分。
本发明实施例中,可选的,上述步骤15中对所述处理后的特征向量进行分析,定位出第一异常日志可以包括:
步骤151:采用聚类分析算法对所述每一个子日志文件的处理后的特征向量进行聚类分析,使得所述日志文件的所有子日志文件划分为第一类子日志文件和第二类子日志文件,其中,第一类子日志文件为正常子日志文件,第二类子日志文件为异常子日志文件,即第一异常日志。
本发明实施例中,可以采用DBSCAN密度聚类算法对每一个子日志文件的处理后的特征向量进行聚类分析,当然,也不排除采用其他聚类算法。
在本发明实施例中,首先,将日志中的词语进行词性处理,得到日志的日志词性表达式,利用日志词性表达式代替日志语句本身进行异常日志的检测,该种方法对日志语句中的简写、省略、拼写错误等问题,均有很高的容错性,有利于提高异常日志检测的准确性,再者,日志文件通常数量级较大,将日志文件分割成多个子日志文件,以子日志文件为单位提取特征向量,即有助于提高处理效率,同时由于将子日志文件中的多行日志同时处理,提取出的特征向量会包含更多的信息,进一步提高了异常日志检测的准确性。
本发明实施例中,可选的,所述根据每一行日志对应的第一日志词性表达式和所述日志词性模板语料库,获取每一个所述第一子日志文件的特征向量包括:
步骤1321:根据所述日志词性模板语料库,获取每一个所述子日志文件对应的模板序列向量和模板频率统计向量,所述模板序列向量表示所述子日志文件中每一行日志对应的日志词性模板,所述模板频率统计向量表示每一个所述日志词性模板在所述子日志文件对应的模板序列向量中出现的次数,;
步骤1332:将每一个所述子日志文件对应的模板序列向量和模板频率统计向量合并,得到每一个所述子日志文件的特征向量。可选的,所述模板序列向量的维度为1×M,M为每一个所述子日志文件中的日志的行数;本发明实施例中,可选的,可以将待检测的日志文件中的日志分割成M个等行的子日志文件。
所述模板频率统计向量的维度为1×N,N为所述日志词性模板语料库中的日志词性模板的个数;
所述特征向量的维度为1×(M+N);
其中,M和N为正整数。
举例来说,日志文件有20000行日志,可以按照日志的时间先后顺序将日志文件分割成100个子日志文件,每一个子日志文件包括200行日志,即M等于200。
本发明实施例中,每一个子日志文件中包括M行日志,将子日志文件中的M行日志对应的日志词性表达式分别与日志词性模板语料库中的日志词性模板进行比对,得到每一行日志在日志词性模板语料库对应的日志词性模板(例如可以用日志词性模板的编码或者基于编码得到的其他计算量表示),M行日志对应的日志词性模板组成该子日志文件对应的模板序列向量,该模板序列向量的维度为1×M,即,即每一个子日志文件中的一行日志对应模板序列向量中的一列。
本发明实施例中,得到每一个子日志文件对应的模板序列向量的同时,还需要得到每一个子日志文件对应的模板频率统计向量,该模板频率统计向量表示日志词性模板语料库中的每一个日志词性模板在所述子日志文件对应的模板序列向量中出现的次数,举例来说,子日志文件1的模板序列向量为1×M,日志词性模板1在子日志文件1的模板序列向量中出现2次,日志词性模板2在子日志文件1的模板序列向量中出现0次,日志词性模板3在子日志文件1的模板序列向量中出现1次,……日志词性模板N在子日志文件1的模板序列向量中出现0次,则将上述各次数组成一个1×N的序列,即子日志文件1对应的模板频率统计向量。
本发明实施例中,对于M值的选择,若数值太大,则不利于准确地定位。若M值太小,则单个特征向量信息少,计算效率差。M值的选择与N值有相关关系,例如,M值与N值可以按照预设比例取值,以确保两者值相差在一定范围内。
请参考图2,图2为本发明实施例的用于异常日志检测的特征模型的训练方法的流程示意图,该方法包括:
步骤21:获取日志训练集,所述日志训练集包括多行日志;
本发明实施例中,日志训练集中至少包括正常日志,即标记为正常的日志,当然,根据需要也可以包括少量的异常日志,即标记为异常的日志。
本发明实施例中,可选的,所述日志训练集中每一行日志为一条完整的日志,当然,在本发明的其他一些实施例中,也不限于此,一条完整的日志也可以位于相邻的不同行,或者,同一行包括多条日志。
本发明实施例中的日志,可以是多种类型的日志,例如计算机系统、设备或软件的日志,所述设备可以是网络云化设备等多种类型的设备,本发明并不对日志的类型进行限定。
步骤22:对所述日志训练集中的每一行日志的词语进行词性处理,得到每一行日志对应的第一日志词性表达式;
对所述日志训练集中的每一行日志的词语进行词性处理,得到每一行日志对应的第一日志词性表达式的具体实现过程,与同上述步骤12实现过程相似,具体可参考上述步骤12,本发明在此不在赘述。
本发明实施例中,日志由英文书写,因而,上述词语可以单词。
举例来说,一条日志为“Cleaning up deleted instances_run_pending_deletes/usr/lib/python2.7/site-packages/nova/compute/manager.py:6748”。其中,单词[Cleaning]是一个现在分词,对应的词性标签为[VBG];单词[up]是一个虚词,对应的词性标签为[RP];以此类推,将日志中的每一个单词都转换为对应的词性标签。另外,此日志的最后一部分[/usr/lib/python2.7/site-packages/nova/compute/manager.py:6748]代表一个路径,可以用词性标签[path]来替换。最终得到的转化结果为“[VBG][RP][JJ][NNS][VBZ][path]”。
经过词性处理,日志语句被抽象成了一个日志词性表达式,利用日志词性表达式代替日志语句本身进行特征模型的训练,使得训练出的模型对日志语句中的简写、省略、拼写错误等问题,均有很高的容错性,有利于提高异常日志检测的准确性。再者,日志文件通常数量级较大,采用日志词性表达式代替日志语句本身进行特征模型的训练,也会极大的减少运算量,提高模型训练的时效。
步骤23:根据每一行日志对应的第一日志词性表达式以及预先建立的词性日志模板语料库,获取日志对应的特征向量;
步骤24:采用所述日志训练集中的标记为正常的日志的特征向量进行特征模型训练,得到训练后的特征模型。在本发明实施例中,首先,将日志中的词语进行词性处理,得到日志的日志词性表达式,利用日志词性表达式代替日志语句本身进行特征模型的训练,使得训练出的模型对日志语句中的简写、省略、拼写错误等问题,均有很高的容错性,有利于提高异常日志检测的准确性,再者,日志文件通常数量级较大,采用日志词性表达式代替日志语句本身进行特征模型的训练,也会极大的减少运算量,提高模型训练的时效。进一步来说,本发明实施例使用标记为正常的日志的特征向量为训练样本,对特征模型进行训练,使得训练出来的特征模型能够准确地识别出正常日志对应的特征向量,将正常日志对应的特征向量聚集在一定的向量空间范围内,从而在应用该训练完成的特征模型对日志文件进行处理过程中,能够将正常日志对应的特征向量和异常日志对应的特性向量在空间上进行有效区分,进而使得系统快速准确地定位出异常日志的位置。
本发明实施例中,可选的,所述获取日志训练集包括:对所述日志训练集进行预处理,所述预处理包括以下至少一项:非法符号去除、大小写转化和无效例删除,从而可以使得日志训练集中的日志更符合规范,有利于后续的特征模型训练过程。
本发明实施例中,可选的,所述对所述日志训练集中的每一行日志的词语进行词性处理,得到每一行日志对应的第一日志词性表达式包括:
步骤221:对所述日志训练集中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签;
本发明实施例中,可以根据自然语言工具包(NLTK)和预设的特有词性标签库,对所述日志训练集中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签,所述自然语言工具包中包括多个词语以及每一个词语对应的词性标签,所述特有词性标签库包括多个专用于日志的词语和/或词语组合以及每一个词语和/或词语组合对应的词性标签。
所谓专用于日志的特有词性标签,例如上述例子中的[/usr/lib/python2.7/site-packages/nova/compute/manager.py:6748]代表一个路径,用词性标签[path]来替换,该[path]就是专用于日志的特有词性标签。专用于日志的特有词性标签可以根据需要设置,并添加到特有词性标签库中,特有词性标签例如还可以包括[num],表示日志中的数字。
步骤222:将每一行日志的所有词性标签拼接,得到每一行日志对应的第一日志词性表达式。
所述拼接是按照每一行日志中所有词语的顺序,对对应的词性标签进行拼接。
本发明实施例中,可选的,所述对所述日志训练集中的所有日志对应的第一日志词性表达式进行处理包括:去除所有所述第一日志词性表达式中重复的第一日志词性表达式,剩余的第一日志词性表达式作为日志词性模板形成所述日志词性模板语料库。当然,也不排除还包括对第一日志词性表达式的其他处理方式,例如排序等。本发明实施例中,假设最终处理得到的日志词性模板语料库中包括N个日志词性模板,可以对该N个日志词性模板进行编码,例如,从1到N的编号,以进行区分。
本发明实施例中,可选的,所述根据每一行日志对应的第一日志词性表达式以及预先建立的词性日志模板语料库,获取日志对应的特征向量,包括:
步骤231:将所述日志训练集分割成多个第一子日志文件,每一个所述第一子日志文件包括多行日志;
步骤232:根据每一行日志对应的第一日志词性表达式和所述日志词性模板语料库,获取每一个所述第一子日志文件的特征向量。
举例来说,日志训练集有20000行日志,可以将日志训练集分割成100个第一子日志文件,每一个第一子日志文件包括200行日志,且每一个第一子日志文件中的日志为相邻的200行日志。
日志训练集通常数量级较大,将日志训练集分割成多个第一子日志文件,以子日志文件为单位提取特征向量,即有助于提高处理效率,同时由于将子日志文件中的多行日志同时处理,提取出的特征向量会包含更多的信息。具体来说,以子日志文件为单位提取特征向量,提取的特征向量包含该子日志文件中每行日志的特征,同时还包含该子日志文件中多行日志之间的相关信息。
本发明实施例中,将日志训练集划分为多个第一子日志文件之后,还需要对多个第一子日志文件进行标记,即标记为正常的第一子日志文件,或者,标记为异常的第一子日志文件,标记为正常的第一子日志文件是指该第一子日志文件中的日志均为正常的日志,标记为异常的第一子日志文件是指该第一子日志文件中包括至少一条异常的日志。
可选的,上述步骤24中采用所述日志训练集中的标记为正常的日志的特征向量进行特征模型训练,得到训练后的特征模型包括:
步骤241:采用所述日志训练集中的标记为正常的第一子日志文件的特征向量进行特征模型训练,得到训练后的特征模型。
在本发明实施例中,首先,将日志中的词语进行词性处理,得到日志的日志词性表达式,利用日志词性表达式代替日志语句本身进行特征模型的训练,使得训练出的模型对日志语句中的简写、省略、拼写错误等问题,均有很高的容错性,有利于提高异常日志检测的准确性,再者,日志文件通常数量级较大,采用日志词性表达式代替日志语句本身进行特征模型的训练,也会极大的减少运算量,提高模型训练的时效,同时,将日志文件分割成多个子日志文件,以子日志文件为单位提取特征向量,即有助于提高处理效率,同时由于将子日志文件中的多行日志同时处理,提取出的特征向量会包含更多的信息,进一步提高了异常日志检测的准确性。
本发明实施例中,可选的,所述根据每一行日志对应的第一日志词性表达式和所述日志词性模板语料库,获取每一个所述第一子日志文件的特征向量包括:
步骤2321:根据所述日志词性模板语料库,获取每一个所述第一子日志文件对应的模板序列向量和模板频率统计向量,所述模板序列向量表示所述第一子日志文件中每一行日志对应的日志词性模板,所述模板频率统计向量表示每一个所述日志词性模板在所述第一子日志文件对应的模板序列向量中出现的次数;
步骤2322:将每一个所述第一子日志文件对应的模板序列向量和模板频率统计向量合并,得到每一个所述第一子日志文件的特征向量。
可选的,所述模板序列向量的维度为1×M,M为每一个所述第一子日志文件中的日志的行数;本发明实施例中,可选的,可以将日志训练集中的日志分割成M个等行的第一子日志文件。
所述模板频率统计向量的维度为1×N,N为所述日志词性模板语料库中的日志词性模板的个数;
所述特征向量的维度为1×(M+N);
其中,M和N为正整数。
举例来说,日志训练集有20000行日志,可以按照日志的时间先后顺序将日志训练集分割成100个第一子日志文件,每一个第一子日志文件包括200行日志,即M等于200。
本发明实施例中,每一个第一子日志文件中包括M行日志,将第一子日志文件中的M行日志对应的第一日志词性表达式分别与日志词性模板语料库中的日志词性模板进行比对,得到每一行日志在日志词性模板语料库中对应的日志词性模板(例如可以用日志词性模板语料库中的日志词性模板的编码或者基于编码得到的其他计算量等表示),M行日志在日志词性模板语料库中对应的日志词性模板组成第一子日志文件对应的模板序列向量,该模板序列向量的维度为1×M,即,即每一个第一子日志文件中的一行日志对应模板序列向量中的一列。
本发明实施例中,得到每一个第一子日志文件对应的模板序列向量的同时,还需要得到每一个第一子日志文件对应的模板频率统计向量,该模板频率统计向量表示日志词性模板语料库中的每一个日志词性模板在所述第一子日志文件对应的模板序列向量中出现的次数,举例来说,第一子日志文件1的模板序列向量为1×M,日志词性模板1在第一子日志文件1的模板序列向量中出现2次,日志词性模板2在第一子日志文件1的模板序列向量中出现0次,日志词性模板3在第一子日志文件1的模板序列向量中出现1次,……日志词性模板N在第一子日志文件1的模板序列向量中出现0次,则将上述各次数组成一个1×N的序列,即第一子日志文件1对应的模板频率统计向量。
本发明实施例中,对于M值的选择,若数值太大,则不利于准确地定位。若M值太小,则单个特征向量信息少,计算效率差。M值的选择与N值有相关关系,例如两者不能相差太大。
本发明实施例中,可选的,所述采用所述日志训练集中的标记为正常的第一子日志文件的特征向量进行特征模型训练,得到训练后的特征模型包括:
步骤2411:高维特征向量获取步骤:将所述日志训练集中的标记为正常的第一子日志文件的特征向量依次输入至自编码器(AutoEncoder),输出重建后的第一特征向量,即每一个标记为正常的第一子日志文件对应的第一特征向量,所述自编码器包括多个编码层,所述第一特征向量为所述自编码器对所有编码层输出的特征向量进行拼接得到;
本发明实施例中,所述第一特征向量为一个具有丰富信息量的高维特征向量。
步骤2412:训练步骤:将每一个所述第一特征向量分别与降维函数运算得到第二特征向量,判断所有所述第二特征向量是否满足收敛条件;
由于所述第一特征向量为一个具有丰富信息量的高维特征向量,为了减小运算负担,本发明实施例中,需要对第一特征向量进行降维处理,本发明实施例中,通过将所述第一特征向量与降维函数运算,对高维特征向量进行降维处理。可选的,所述降维函数可以为多种形式,例如为一函数矩阵。可选的,所述函数矩阵可以是线性函数矩阵,即对高维特征向量进行线性变换。例如,参数矩阵为一个一维向量,可对高维特征向量进行线性映射。举例来说,第一(高维)特征向量10×400,参数矩阵400×1,得到第二(映射)特征向量10×1。
步骤2413:调整步骤:若满足所述收敛条件,得到训练后的降维函数;若不满足所述收敛条件,对所述降维函数中的系数进行调整,并返回所述训练步骤,直至满足所述收敛条件,得到训练后的降维函数。
步骤2414:确定步骤:确定训练后的特征模型,所述训练后的特征模型包括所述自编码器和所述训练后的参数矩阵。
本发明实施例中,对降维函数中的系数进行训练,训练的目的是减少正常的子日志文件的特征向量经过特征模型处理后得到的特征映射向量(第二特征向量)在映射空间内的距离,使正常的子日志文件的特征映射向量相互聚集。
本发明实施例中,所述收敛条件例如可以是计算所有正常的第一子日志文件对应的特征映射向量间的距离,若均值小于一定的阈值,则满足收敛条件。距离可以是欧式距离,也可以为其他距离。
本发明实施例中,训练出上述特征模型之后,还可以采用异常的第一子日志文件对训练出的模型进行验证。
本发明实施例中,可选的,所述得到训练后的特征模型之后还包括:
步骤2415:将所述日志训练集中的标记为异常的第一子日志文件的特征向量分别输入至自编码器,输出重建后的第三特征向量,即输出每一个标记为异常的第一子日志文件对应的第三特征向量;所述标记为异常的第一子日志文件中包括至少一行异常的日志;
步骤2416:将每一个所述第三特征向量分别与所述训练后的降维函数运算,得到第四特征向量;
步骤2417:根据所有所述第四特征向量的分布,验证所述训练后的特征模型是否有效。
可选的,所述根据所有所述第四特征向量的分布,验证所述训练后的特征模型是否有效,包括:
计算所述第四特征向量间的距离;
若距离均值小于第一预设阈值,且异常的日志对应的特征映射向量和正常的日志对应的特征映射向量之间的距离大于第二预设阈值,确定所述训练后的特征模型有效。
本发明实施例中,还可以用日志测试集,测试上述特征模型的准确性。
请参考图3,本发明实施例中,可选的,所述得到训练后的特征模型之后还包括:
步骤25:获取日志测试集,所述日志测试集包括多行正常日志和多行异常日志;
本发明实施例中,可选的,所述获取日志测试集包括:对所述日志测试集进行预处理,所述预处理包括以下至少一项:非法符号去除、大小写转化、无效例删除,从而可以使得日志测试集中的日志更符合规范。
步骤26:对所述日志测试集中的每一行日志的词语进行词性处理,得到每一行日志对应的第二日志词性表达式;
具体的词性处理方法和日志词性表达式处理方法可以参见上述实施例中对日志训练集的处理,不再重复描述。
步骤27:根据每一行日志对应的第二日志词性表达式和所述日志词性模板语料库,确定日志对应的特征向量;
步骤28:将所述日志对应的特征向量输入至所述训练后的特征模型中,得到处理后的特征向量;
步骤29:对所述处理后的特征向量进行分析,定位出异常日志;
步骤210:根据定位结果,验证所述训练后的特征模型是否有效。
本申请实施例中,可选的,所述根据每一行日志对应的第二日志词性表达式和所述日志词性模板语料库,确定日志对应的特征向量,包括:
步骤271:将所述日志测试集分割成多个第二子日志文件,每一个所述第二子日志文件包括多行日志;
步骤272:根据所述日志词性模板语料库和所述第二日志词性表达式,获取每一个所述第二子日志文件的特征向量;
具体的分割方法和特征向量获取方法可以参见上述实施例中对日志训练集的处理,不再重复描述。
可选的,上述步骤28中将所述日志对应的特征向量输入至所述训练后的特征模型中,得到处理后的特征向量包括:将所述日志测试集中的所有第二子日志文件的特征向量,输入至所述训练后的特征模型中,得到每一个第二子日志文件的处理后的特征向量。
可选的,上述步骤29中对所述处理后的特征向量进行分析,定位出异常日志包括:对每一个第二子日志文件的处理后的特征向量进行聚类分析,得到聚类分析结果;
步骤210中所述根据定位结果,验证所述训练后的特征模型是否有效包括:根据聚类分析结果,验证所述训练后的特征模型是否有效。
可选的,可以采用聚类分析算法对每一个第二子日志文件的处理后的特征向量进行聚类分析,使得所述日志测试集中的所有第二子日志文件划分为第一类子日志文件和第二类子日志文件,其中,第一类子日志文件为正常子日志文件,第二类子日志文件为异常子日志文件;
本发明实施例中,可以采用DBSCAN密度聚类算法对每一个第二子日志文件的处理后的特征向量进行聚类分析,当然,也不排除采用其他聚类算法。
本发明实施例中,如果根据聚类分析结果判断出训练后的特征模型无效,则可以返回上述实施例中的特征模型的训练过程,重新对特征模型进行训练。
下面对采用情感分析定位异常日志的方法进行详细描述。
本发明的一些实施中,可以直接对所述日志文件中的每一行日志进行情感分析,得到所述日志文件中的每一行日志的情感信息,或者,其他一些实施例中,也可以对日志文件进行其他处理,再进行情感分析。
在本发明的一些实施例中,可选的,所述对所述日志文件进行情感分析,得到所述日志文件中的每一行日志的情感信息包括:
对所述日志文件中的日志进行聚类分析,得到多个日志组;
对属于同一日志组的日志提取出一个日志模板;
对每个所述日志模板进行情感分析,得到每个所述日志模板的情感信息,其中,所述日志模板的情感信息为所述日志模板对应的日志组内的日志的情感信息。
下面举例进行说明。
请参考图4,本发明实施例提供一种异常日志检测方法,包括:
步骤41:获取待检测的日志文件,所述日志文件中包括多行日志;
步骤42:对所述日志文件中的日志进行聚类分析,得到多个日志组;
举例来说,比如,日志1为“检测与设备(192.168.10.250)连接失败”,日志2为“检测与设备(192.168.1.22)连接失败”,则可以认为日志1和日志2属于同一类型的日志,可以位于一个日志组。再比如,日志3为“检测到设备(192.168.10.250)存在安全漏洞”,日志4为“检测到设备(192.168.1.22)存在安全漏洞”,则可以认为日志3和日志4属于同一类型的日志,可以位于一个日志组。再比如,日志为5为“检测到用户1登录成功”,日志6为“检测到用户2登录成功”,则可以认为日志5和日志6属于同一类型的日志,可以位于一个日志组。
步骤43:对属于同一日志组的日志提取出一个日志模板,可选的,所述日志模板包括所述同一日志组中的日志共有的常量信息;
举例来说,比如,日志1为“检测与设备A连接失败”,日志2为“检测与设备B连接失败”,则可以提取出日志1和日志2所属的日志组对应的日志模板,该日志模板可以是“检测与设备X连接失败”,“检测与设备X连接失败”是日志1和日志2共有的常量信息。再比如,日志3为“检测到设备(192.168.10.250)存在安全漏洞”,日志4为“检测到设备(192.168.1.22)存在安全漏洞”,则可以提取出日志3和日志4所属的日志组对应的日志模板,该日志模板可以是“检测到设备X存在安全漏洞”,“检测到设备X存在安全漏洞”是日志3和日志4共有的常量信息。再比如,日志为5为“检测到用户1登录成功”,日志6为“检测到用户2登录成功”,则可以提取出日志5和日志6所属的日志组对应的日志模板,该日志模板可以是“检测到用户X登录成功”,“检测到用户X登录成功”是日志5和日志6共有的常量信息。
步骤44:对每个所述日志模板进行情感分析,得到每个所述日志模板的情感信息;
步骤45:根据所述情感信息,确定所述日志模板对应的日志是否为第二异常日志。其中,所述日志模板的情感信息为所述日志模板对应的日志组内的日志的情感信息。
在本发明实施例中,采用情感分析方法对日志进行情感分析,获取日志中的情感信息,根据日志的情感信息确定日志是否为异常日志,可以准确地检测出异常日志。此外,对大量的日志进行了分类,得到少量的日志模板,对少量的日志模板进行情感分析,可以极大的减少运算量,提高了异常日志检测的速度。再者,根据日志模板的情感信息,可以判断该日志模板对应的日志是否为异常日志,可以精确定位到每一行日志,定位准确。
本发明实施例中,可选的,所述对所述日志文件中的日志进行聚类分析,得到多个日志组还包括:
通过正则表达式对所述日志文件进行处理,得到结构化的日志;
获取长度相同的所述结构化的日志;
从长度相同的所述结构化的日志中,获取令牌类型相同的日志,并划分到同一个日志组中。
本发明实施例中,可选的,可以采用Drain算法对所述日志文件中的日志进行聚类分析。
Drain算法是一种基于固定深度树的在线日志解析方法,日志解析的目标是将原始日志信息转换为结构化的日志消息。当原始日志消息到达时,Drain算法将根据领域知识通过正则表达式对其进行预处理。然后,按照树内部节点中编码的设计规则搜索日志组(即树的叶子节点)。如果找到合适的日志组,则日志消息将与存储在该日志组中的日志事件相匹配。否则,将根据日志信息创建新的日志组。Drain就是将不同类型的日志区分开来,进行一个聚类。Drain算法具有较好的准确性、运行速度和鲁棒性。
当然,本发明的其他一些实施例中,也不排除采用其他算法对日志进行聚类分析。
本发明实施例中,可选的,所述对每个所述日志模板进行情感分析,得到每个所述日志模板的情感信息包括:
将所述日志模板输入到情感分析模型中,得到所述情感分析模型输出的所述日志模板的情感信息,其中,所述情感分析模型采用自注意力机制对所述日志模板中的每一个词语进行处理,得到所述日志模板中的每个词语的特征,并分析所述日志模板中的词语之间的上下文交互信息,得到每个词语的特征权重,根据所述日志模板的每个词语的特征和所述每个词语的特征权重,得到所述日志模板的情感信息并输出。
采用情感分析模型对日志进行情感分析,分析结果准确,从而有利于异常日志的准确定位。
本发明实施例中,可选的,所述情感分析模型采用如下方式训练得到:
获取日志训练集,所述日志训练集包括多行训练日志;
将所述训练日志输入到待训练的情感分析模型中,得到所述待训练的情感分析模型输出的所述训练日志的预测情感信息,其中,所述待训练的情感分析模型采用自注意力机制对所述训练日志中的每一个词语进行处理,得到所述训练日志中的每个词语的特征,并分析所述训练日志中的词语之间的上下文交互信息,得到每个词语的特征权重,根据所述训练日志的每个词语的特征和所述每个词语的特征权重,得到所述训练日志的预测情感信息并输出;
根据所述训练日志的预测情感信息、所述训练日志的真实情感信息以及预设的目标函数,判断所述目标函数是否满足收敛条件,若所述目标函数不满足收敛条件,对待训练的情感分析模型的参数进行调整,直至所述目标函数满足所述收敛条件,得到训练后的所述情感分析模型。
由于情感分析模型采用多行日志训练得到,从而准确性较佳。
本发明实施例中,可选的,所述情感分析模型可以是基于BERT(BidirectionalEncoder Representation from Transformers,基于转换器的双向编码表征)算法模型。
BERT算法模型可以理解为一个通用的自然语言理解(Natural LanguageUnderstanding,NLU)模型,它可以灵活应用于各种不同的自然语言处理任务中。BERT算法模型的双向Transformers特性使得输入序列中的每一个单词经过自注意力机制处理后,能够得到输入序列中所有单词表征的特征,并且还能够学习到包含更多上下文交互信息的表征。因此,在这种基于双向Transformers构建的BERT算法模型上进行迁移学习,能够学习到高质量的包含情感信息的嵌入表达。
上述实施例中,可选的,所述根据所述情感信息,确定所述日志文件中的第二异常日志包括:
根据所述情感信息的得分或类型,确定所述日志文件中的第二异常日志。
进一步的,所述根据所述情感信息的得分或类型,确定所述日志文件中的第二异常日志,包括:
将所述情感信息的得分为负数的日志标记为第二异常日志;
或者
将所述情感信息的类型为消极类型的日志标记为第二异常日志。
以情感信息的类型或分数判断异常日志,实现简单。
请参考图5,本发明实施例还提供一种异常日志检测装置50,包括:
第一获取模块51,用于获取待检测的日志文件,所述日志文件包括多行日志;
第一定位模块52,用于对所述日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式;根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量;将所述日志对应的特征向量输入至特征模型中,得到处理后的特征向量;处理后的特征向量进行分析,定位出第一异常日志;
第二定位模块53,用于对所述日志文件进行情感分析,得到所述日志文件中的每一行日志的情感信息;根据所述情感信息,确定所述日志文件中的第二异常日志;
第三定位模块54,用于根据所述第一异常日志和第二异常日志,确定最终的异常日志。
其中,该特征模型为预先训练好的用于异常检测的特征模型,该特征模型将待检测日志文件中日志相似类型特征向量的在空间域中进行聚集处理。也即,将所述日志对应的特征向量输入至特征模型中进行处理,得到处理后的特征向量,其中,处理后的特征向量在空间域具有一定的聚集分发特征,相似类似日志对应的处理后特征向量聚集在指定范围内;不同类型日志对应的处理后特征向量之间距离在指定阈值之外。
在本发明实施例中,首先,将日志中的词语进行词性处理,得到日志的日志词性表达式,利用日志词性表达式代替日志语句本身进行异常日志定位,使得对日志语句中的简写、省略、拼写错误等问题,均有很高的容错性,有利于提高异常日志检测的准确性,再者,日志文件通常数量级较大,采用日志词性表达式代替日志语句本身进行定位,也会极大的减少运算量。本发明实施例中的特性模型能够将待检测日志文件中日志相似类型特征向量的在空间域中进行聚集处理,通过将日志文件对应的特征向量输入到该特征模型进行处理,得到处理后的特征向量,其中相似类型的日志对应的处理后的特征向量聚集在指定范围内;不同类型日志对应的处理后特征向量之间距离在指定阈值之外,系统基于该特征模型可以使得将正常日志对应的特征向量和异常日志对应的特性向量在空间上进行有效区分,进而使得系统快速准确地定位出异常日志的位置。
再者,采用情感分析方法对日志进行情感分析,获取日志中的情感信息,根据日志的情感信息确定日志是否为异常日志,可以准确地检测出异常日志。
最后,结合上述两种定位结果,得到最终的定位结果,从而使得定位结果更加准确。
可选的,所述第一定位模块52,用于对所述日志文件中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签;将每一行日志的所有词性标签拼接,得到每一行日志对应的日志词性表达式。
可选的,所述第一定位模块52,用于将所述日志文件分割成多个子日志文件,每一个所述子日志文件包括多行日志;根据每一行日志对应的日志词性表达式和日志词性模板语料库,获取每一个所述子日志文件的特征向量。
可选的,所述第一定位模块52,用于根据所述日志词性模板语料库,获取每一个所述子日志文件对应的模板序列向量和模板频率统计向量,所述模板序列向量表示所述子日志文件中每一行日志对应的日志词性模板,所述模板频率统计向量表示每一个日志词性模板在所述子日志文件对应的模板序列向量中出现的次数;将每一个所述子日志文件对应的模板序列向量和模板频率统计向量合并,得到每一个所述子日志文件的特征向量。
可选的,所述第一定位模块52,用于对所述处理后的特征向量进行聚类分析,定位出第一异常日志。
可选的,所述异常日志检测装置50还包括:
第二获取模块,用于获取日志训练集,所述日志训练集包括多行日志;
第二词性处理模块,用于对所述日志训练集中的每一行日志的词语进行词性处理,得到每一行日志对应的第一日志词性表达式;
第二特征向量确定模块,用于根据每一行日志对应的第一日志词性表达式以及预先建立的词性日志模板语料库,获取日志对应的特征向量;
第一训练模块,用于采用所述日志训练集中的标记为正常的日志的特征向量进行特征模型训练,得到训练后的特征模型。
可选的,所述第二词性处理模块,用于对所述日志训练集中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签;
将每一行日志的所有词性标签拼接,得到每一行日志对应的第一日志词性表达式。
可选的,所述异常日志检测装置50还包括:
语料库确定模块,用于对所述日志训练集中的所有日志对应的第一日志词性表达式进行处理,得到日志词性模板语料库。
可选的,所述语料库确定模块,用于去除所有所述第一日志词性表达式中重复的第一日志词性表达式,剩余的第一日志词性表达式作为日志词性模板形成所述日志词性模板语料库。
可选的,所述第二特征向量确定模块,用于将所述日志训练集分割成多个第一子日志文件,每一个所述第一子日志文件包括多行日志;根据每一行日志对应的第一日志词性表达式和所述日志词性模板语料库,获取每一个所述第一子日志文件的特征向量。
可选的,所述第二特征向量确定模块,用于根据所述日志词性模板语料库,获取每一个所述第一子日志文件对应的模板序列向量和模板频率统计向量,所述模板序列向量表示所述第一子日志文件中每一行日志对应的所述日志词性模板,所述模板频率统计向量表示每一个所述日志词性模板在所述第一子日志文件对应的模板序列向量中出现的次数;将每一个所述第一子日志文件对应的模板序列向量和模板频率统计向量合并,得到每一个所述第一子日志文件的特征向量。
可选的,所述第一训练模块,用于将所述日志训练集中的标记为正常的日志的特征向量依次输入至自编码器,得到重建后的第一特征向量;将每一个所述第一特征向量分别与降维函数运算得到第二特征向量,并判断所有所述第二特征向量是否满足收敛条件;若满足所述收敛条件,得到训练后的降维函数;若不满足所述收敛条件,对所述降维函数中的系数进行调整,直至满足所述收敛条件,得到训练后的降维函数;确定训练后的特征模型,所述训练后的特征模型包括所述自编码器和所述训练后的降维函数。
可选的,所述异常日志检测装置50还包括:
第一验证模块,用于将所述日志训练集中的标记为异常的日志的特征向量输入至自编码器,输出重建后的第三特征向量;将每一个所述第三特征向量分别与所述训练后的降维函数运算,得到第四特征向量;根据所有所述第四特征向量的分布,验证所述训练后的特征模型是否有效。
可选的,所述第一验证模块,用于计算所述第四特征向量间的距离;若距离均值小于第一预设阈值,且异常的日志对应的特征映射向量和正常的日志对应的特征映射向量之间的距离大于第二预设阈值,确定所述训练后的特征模型有效。
可选的,所述异常日志检测装置50还包括:
第三获取模块,用于获取日志测试集,所述日志测试集包括多行正常日志和多行异常日志;
第三词性处理模块,用于对所述日志测试集中的每一行日志的词语进行词性处理,得到每一行日志对应的第二日志词性表达式;
第三特征向量确定模块,用于根据每一行日志对应的第二日志词性表达式和所述日志词性模板语料库,确定日志对应的特征向量;
第二特征处理模块,用于将所述日志对应的特征向量输入至所述训练后的特征模型中,得到处理后的特征向量;
分析模块,用于对所述处理后的特征向量进行分析,定位出异常日志;
第二验证模块,用于根据定位结果,验证所述训练后的特征模型是否有效。
可选的,所述第三特征向量确定模块,用于将所述日志测试集分割成多个第二子日志文件,每一个所述第二子日志文件包括多行日志;根据所述每一行日志对应的第二日志词性表达式和所述日志词性模板语料库,获取每一个所述第二子日志文件的特征向量。
可选的,所述分析模块,用于对每一个第二子日志文件的处理后的特征向量进行聚类分析,得到聚类分析结果;
所述第二验证模块,用于根据聚类分析结果,验证所述训练后的特征模型是否有效。
可选的,所述第二定位模块,用于基于情感词典的方法对所述日志文件进行情感分析,得到所述日志文件中的每一行日志的情感信息;或者,基于情感分析模型对所述日志文件进行情感分析,得到所述日志文件中的每一行日志的情感信息。
可选的,所述第二定位模块,用于对所述日志文件中的每一行日志进行情感分析,得到所述日志文件中的每一行日志的情感信息;
或者
所述第二定位模块,用于对所述日志文件中的日志进行聚类分析,得到多个日志组;对属于同一日志组的日志提取出一个日志模板;对每个所述日志模板进行情感分析,得到每个所述日志模板的情感信息,其中,所述日志模板的情感信息为所述日志模板对应的日志组内的日志的情感信息。
可选的,所述第二定位模块,用于通过正则表达式对所述日志文件进行处理,得到结构化的日志;获取长度相同的所述结构化的日志;从长度相同的所述结构化的日志中,获取令牌类型相同的日志,并划分到同一个日志组中。
可选的,所述第二定位模块,用于将所述日志模板输入到情感分析模型中,得到所述情感分析模型输出的所述日志模板的情感信息,其中,所述情感分析模型采用自注意力机制对所述日志模板中的每一个词语进行处理,得到所述日志模板中的每个词语的特征,并分析所述日志模板中的词语之间的上下文交互信息,得到每个词语的特征权重,根据所述日志模板的每个词语的特征和所述每个词语的特征权重,得到所述日志模板的情感信息并输出。
可选的,所述异常日志检测装置50还包括:
第三获取模块,用于获取日志训练集,所述日志训练集包括多行训练日志;
第二训练模块,用于将所述训练日志输入到待训练的情感分析模型中,得到所述待训练的情感分析模型输出的所述训练日志的预测情感信息,其中,所述待训练的情感分析模型采用自注意力机制对所述训练日志中的每一个词语进行处理,得到所述训练日志中的每个词语的特征,并分析所述训练日志中的词语之间的上下文交互信息,得到每个词语的特征权重,根据所述训练日志的每个词语的特征和所述每个词语的特征权重,得到所述训练日志的预测情感信息并输出;
第三训练模块,用于根据所述训练日志的预测情感信息、所述训练日志的真实情感信息以及预设的目标函数,判断所述目标函数是否满足收敛条件,若所述目标函数不满足收敛条件,对待训练的情感分析模型的参数进行调整,直至所述目标函数满足所述收敛条件,得到训练后的所述情感分析模型。
可选的,所述第二定位模块,用于根据所述情感信息的得分或类型,确定所述日志文件中的每一行日志是否为异常日志。
可选的,所述第二定位模块,用于将所述情感信息的得分为负数的日志标记为异常日志;
或者
所述第二定位模块,用于将所述情感信息的类型为消极类型的日志标记为异常日志。
可选的,所述异常日志检测装置50还包括:
预处理模块,用于对所述日志文件进行预处理,所述预处理包括以下至少一项:非法符号去除、大小写转化和无效例删除。
可选的,所述第三定位模块,用于获取所述第一异常日志和第二异常日志的交集,作为最终的异常日志。本发明实施例中的异常日志检测装置可以是电子设备,也可以是电子设备中的部件,例如集成电路或芯片。该电子设备可以是终端,也可以为除终端之外的其他设备。示例性的,电子设备可以为手机、平板电脑、笔记本电脑、掌上电脑、超级移动个人计算机(ultra-mobile personal computer,UMPC)、上网本或者个人数字助理(personaldigital assistant,PDA)等,还可以为服务器、网络附属存储器(Network AttachedStorage,NAS)、个人计算机(personal computer,PC)等,本发明实施例不作具体限定。
本发明实施例中的异常日志检测装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本发明实施例不作具体限定。
本发明实施例提供的异常日志检测装置能够实现图1的方法实施例实现的各个过程,为避免重复,这里不再赘述。
请参考图6,本发明实施例还提供一种异常日志检测方法,包括:
步骤61:获取待检测的日志文件,所述日志文件包括多行日志;
本发明实施例中,可选的,所述日志文件中每一行日志为一条完整的日志,当然,在本发明的其他一些实施例中,也不限于此,一条完整的日志也可以位于相邻的不同行,或者,同一行包括多条日志。
本发明实施例中的日志,可以是多种类型的日志,例如计算机系统、设备或软件的日志,所述设备可以是网络云化设备等多种类型的设备,本发明并不对日志的类型进行限定。
步骤62:对所述日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式;根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量;将所述日志对应的特征向量输入至特征模型中,得到处理后的特征向量;对所述处理后的特征向量进行分析,得到第一日志;
该步骤的具体执行过程可以参见图1所示的实施例中的步骤12-步骤15的具体执行过程,不再重复描述。
本发明实施例中,所述第一日志为通过步骤62定位出的异常日志。
步骤63:对所述第一日志进行情感分析,得到所述第一日志的情感信息;
步骤64:根据所述情感信息,确定所述第一日志中的异常日志。
步骤63和步骤64的具体执行过程可以参见图1所示的实施例中的步骤16-步骤17的具体执行过程,不再重复描述。
本发明实施例中,首先,利用日志词性表达式代替日志语句本身进行异常日志定位,该种定位方法对日志语句中的简写、省略、拼写错误等问题,均有很高的容错性,有利于提高异常日志检测的准确性,再者,日志文件通常数量级较大,采用日志词性表达式代替日志语句本身进行定位,也会极大的减少运算量。然后,采用情感分析方法对利用日志词性表达式代替日志语句本身定位出的异常日志进行情感分析,获取日志中的情感信息,根据日志的情感信息再次确定日志是否为异常日志,到最终的定位结果,从而使得定位结果更加准确。
本发明实施例中,可选的,所述根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量,包括:
将所述日志文件分割成多个子日志文件,每一个所述子日志文件包括多行日志;根据每一行日志对应的日志词性表达式和日志词性模板语料库,获取每一个所述子日志文件的特征向量;
其中,所述将所述日志对应的特征向量输入至特征模型中,得到处理后的特征向量包括:将所述子日志文件对应的特征向量输入至特征模型中,得到处理后的特征向量;
所述对所述处理后的特征向量进行分析,得到第一日志包括:对所述处理后的特征向量进行分析,定位出异常的子日志文件;
所述对所述第一日志进行情感分析,得到所述第一日志的情感信息包括:对所述异常的子日志文件进行情感分析,得到所述异常的子日志文件中的每一行日志的情感信息。
对子日志文件的相关处理可以参考上述实施例中的处理过程,不再重复描述。
即,本发明实施例中,将日志文件分割成多个子日志文件,以子日志文件为单位提取特征向量,定位出异常的子日志文件,即首先对异常日志进行粗定位,有助于提高处理效率,同时由于将子日志文件中的多行日志同时处理,提取出的特征向量会包含更多的信息,进一步提高了异常日志检测的准确性,然后,在采用情感分析方法对定位出的异常子日志文件进行情感分析,细化定位出异常子日志文件中的异常日志,作为最终的异常日志,提高了异常日志检测的准确性。本实施例将日志文件分割成多个子日志文件,以子日志文件为单位提取特征向量,定位出异常的子日志文件,然后在采用情感分析方法对异常的子日志文件进行分析,能进一步降低进行情感分析的日志数量,在提升异常检测精度的同时也提升检测效率。需要说明的是,本实施例中,与上述图1所示的实施例不同之处仅在于,上述图1所示的实施例,对日志文件采用第一种方法(日志词性表达式代替日志语句本身)进行异常日志定位,并行的,对日志文件采用第二种方法(情感分析方法)进行异常日志定位,两种定位方法没有先后执行顺序的要求,并求两种方法获得的异常日志的交集,得到最终的异常日志,而,本发明实施例中,先采用第一种方法对日志文件进行异常日志定位,然后,对采用第一种方法获得的异常日志,再采用第二种方法进行异常日志定位,得到最终的异常日志,是一种串行的方式。
请参考图7,本发明实施例还提供一种异常日志检测装置70,包括:
第一获取模块71,用于获取待检测的日志文件,所述日志文件包括多行日志;
第一定位模块72,用于对所述日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式;根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量;将所述日志对应的特征向量输入至特征模型中,得到处理后的特征向量;对所述处理后的特征向量进行分析,得到第一日志;
第二定位模块73,用于对所述第一日志进行情感分析,得到所述第一日志的情感信息;根据所述情感信息,确定所述第一日志中的异常日志。
可选额,所述第一定位模块72,用于将所述日志文件分割成多个子日志文件,每一个所述子日志文件包括多行日志;根据每一行日志对应的日志词性表达式和日志词性模板语料库,获取每一个所述子日志文件的特征向量;
其中,所述第一定位模块72,还用于将所述子日志文件对应的特征向量输入至特征模型中,得到处理后的特征向量;对所述处理后的特征向量进行分析,定位出异常的子日志文件;
所述第二定位模块73,用于对所述异常的子日志文件进行情感分析,得到所述异常的子日志文件中的每一行日志的情感信息。
本发明实施例中的异常日志检测装置可以为具有操作系统的装置。该操作系统可以为安卓(Android)操作系统,可以为ios操作系统,还可以为其他可能的操作系统,本发明实施例不作具体限定。
本发明实施例提供的异常日志检测装置能够实现图6的方法实施例实现的各个过程,为避免重复,这里不再赘述。
如图8所示,本发明实施例还提供一种电子设备80,包括处理器81和存储器82,存储器82上存储有可在所述处理器81上运行的程序或指令,该程序或指令被处理器81执行时实现上述用于异常日志检测的特征模型的训练方法或异常日志检测方法实施例的各个步骤,且能达到相同的技术效果,为避免重复,这里不再赘述。
本发明实施例还提供一种可读存储介质,所述可读存储介质上存储有程序或指令,该程序或指令被处理器执行时实现上述用于异常日志检测的特征模型的训练方法或异常日志检测方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
其中,所述处理器为上述实施例中所述的电子设备中的处理器。所述可读存储介质,包括计算机可读存储介质,如计算机只读存储器ROM、随机存取存储器RAM、磁碟或者光盘等。
本发明实施例另提供了一种芯片,所述芯片包括处理器和通信接口,所述通信接口和所述处理器耦合,所述处理器用于运行程序或指令,实现上述用于异常日志检测的特征模型的训练方法或异常日志检测方法方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
应理解,本发明实施例提到的芯片还可以称为系统级芯片、系统芯片、芯片系统或片上系统芯片等。
本发明实施例提供一种计算机程序产品,该程序产品被存储在存储介质中,该程序产品被至少一个处理器执行以实现如上述用于异常日志检测的特征模型的训练方法或异常日志检测方法实施例的各个过程,且能达到相同的技术效果,为避免重复,这里不再赘述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。此外,需要指出的是,本发明实施方式中的方法和装置的范围不限按示出或讨论的顺序来执行功能,还可包括根据所涉及的功能按基本同时的方式或按相反的顺序来执行功能,例如,可以按不同于所描述的次序来执行所描述的方法,并且还可以添加、省去、或组合各种步骤。另外,参照某些示例所描述的特征可在其他示例中被组合。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。

Claims (58)

1.一种异常日志检测方法,其特征在于,包括:
获取待检测的日志文件,所述日志文件包括多行日志;
对所述日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式;根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量;将所述日志对应的特征向量输入至特征模型中,得到处理后的特征向量;对所述处理后的特征向量进行分析,定位出第一异常日志;
对所述日志文件进行情感分析,得到所述日志文件中的每一行日志的情感信息;根据所述情感信息,确定所述日志文件中的第二异常日志;
根据所述第一异常日志和第二异常日志,确定最终的异常日志。
2.根据权利要求1所述的方法,其特征在于,所述对所述日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式包括:
对所述日志文件中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签;
将每一行日志的所有词性标签拼接,得到每一行日志对应的日志词性表达式。
3.根据权利要求1所述的方法,其特征在于,所述根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量,包括:
将所述日志文件分割成多个子日志文件,每一个所述子日志文件包括多行日志;
根据每一行日志对应的日志词性表达式和日志词性模板语料库,获取每一个所述子日志文件的特征向量。
4.根据权利要求3所述的方法,其特征在于,所述根据每一行日志对应的日志词性表达式和日志词性模板语料库,获取每一个所述子日志文件的特征向量包括:
根据所述日志词性模板语料库,获取每一个所述子日志文件对应的模板序列向量和模板频率统计向量,所述模板序列向量表示所述子日志文件中每一行日志对应的日志词性模板,所述模板频率统计向量表示每一个日志词性模板在所述子日志文件对应的模板序列向量中出现的次数;
将每一个所述子日志文件对应的模板序列向量和模板频率统计向量合并,得到每一个所述子日志文件的特征向量。
5.根据权利要求1所述的方法,其特征在于,所述对所述处理后的特征向量进行分析,定位出第一异常日志,包括:
对所述处理后的特征向量进行聚类分析,定位出第一异常日志。
6.根据权利要求1所述的方法,其特征在于,所述特征模型采用如下方式训练得到:
获取日志训练集,所述日志训练集包括多行日志;
对所述日志训练集中的每一行日志的词语进行词性处理,得到每一行日志对应的第一日志词性表达式;
根据每一行日志对应的第一日志词性表达式以及预先建立的词性日志模板语料库,获取日志对应的特征向量;
采用所述日志训练集中的标记为正常的日志的特征向量进行特征模型训练,得到训练后的特征模型。
7.根据权利要求6所述的方法,其特征在于,所述对所述日志训练集中的每一行日志的词语进行词性处理,得到每一行日志对应的第一日志词性表达式包括:
对所述日志训练集中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签;
将每一行日志的所有词性标签拼接,得到每一行日志对应的第一日志词性表达式。
8.根据权利要求6所述的方法,其特征在于,还包括:
对所述日志训练集中的所有日志对应的第一日志词性表达式进行处理,得到日志词性模板语料库。
9.根据权利要求8所述的方法,其特征在于,所述对所述日志训练集中的所有日志对应的第一日志词性表达式进行处理包括:
去除所有所述第一日志词性表达式中重复的第一日志词性表达式,剩余的第一日志词性表达式作为日志词性模板形成所述日志词性模板语料库。
10.根据权利要求6所述的方法,其特征在于,所述根据每一行日志对应的第一日志词性表达式以及预先建立的词性日志模板语料库,获取日志对应的特征向量,包括:
将所述日志训练集分割成多个第一子日志文件,每一个所述第一子日志文件包括多行日志;
根据每一行日志对应的第一日志词性表达式和所述日志词性模板语料库,获取每一个所述第一子日志文件的特征向量。
11.根据权利要求10所述的方法,其特征在于,所述根据每一行日志对应的第一日志词性表达式和所述日志词性模板语料库,获取每一个所述第一子日志文件的特征向量包括:
根据所述日志词性模板语料库,获取每一个所述第一子日志文件对应的模板序列向量和模板频率统计向量,所述模板序列向量表示所述第一子日志文件中每一行日志对应的所述日志词性模板,所述模板频率统计向量表示每一个所述日志词性模板在所述第一子日志文件对应的模板序列向量中出现的次数;
将每一个所述第一子日志文件对应的模板序列向量和模板频率统计向量合并,得到每一个所述第一子日志文件的特征向量。
12.根据权利要求6所述的方法,其特征在于,所述采用所述日志训练集中的标记为正常的日志的特征向量进行特征模型训练,得到训练后的特征模型包括:
将所述日志训练集中的标记为正常的日志的特征向量依次输入至自编码器,得到重建后的第一特征向量;
将每一个所述第一特征向量分别与降维函数运算得到第二特征向量,并判断所有所述第二特征向量是否满足收敛条件;
若满足所述收敛条件,得到训练后的降维函数;若不满足所述收敛条件,对所述降维函数中的系数进行调整,直至满足所述收敛条件,得到训练后的降维函数;
确定训练后的特征模型,所述训练后的特征模型包括所述自编码器和所述训练后的降维函数。
13.根据权利要求12所述的方法,其特征在于,所述得到训练后的特征模型之后还包括:
将所述日志训练集中的标记为异常的日志的特征向量输入至自编码器,输出重建后的第三特征向量;
将每一个所述第三特征向量分别与所述训练后的降维函数运算,得到第四特征向量;
根据所有所述第四特征向量的分布,验证所述训练后的特征模型是否有效。
14.根据权利要求13所述的方法,其特征在于,所述根据所有所述第四特征向量的分布,验证所述训练后的特征模型是否有效,包括:
计算所述第四特征向量间的距离;
若距离均值小于第一预设阈值,且异常的日志对应的特征映射向量和正常的日志对应的特征映射向量之间的距离大于第二预设阈值,确定所述训练后的特征模型有效。
15.根据权利要求6所述的方法,其特征在于,所述得到训练后的特征模型之后还包括:
获取日志测试集,所述日志测试集包括多行正常日志和多行异常日志;
对所述日志测试集中的每一行日志的词语进行词性处理,得到每一行日志对应的第二日志词性表达式;
根据每一行日志对应的第二日志词性表达式和所述日志词性模板语料库,确定日志对应的特征向量;
将所述日志对应的特征向量输入至所述训练后的特征模型中,得到处理后的特征向量;
对所述处理后的特征向量进行分析,定位出异常日志;
根据定位结果,验证所述训练后的特征模型是否有效。
16.根据权利要求15所述的方法,其特征在于,所述根据每一行日志对应的第二日志词性表达式和所述日志词性模板语料库,确定日志对应的特征向量,包括:
将所述日志测试集分割成多个第二子日志文件,每一个所述第二子日志文件包括多行日志;
根据所述每一行日志对应的第二日志词性表达式和所述日志词性模板语料库,获取每一个所述第二子日志文件的特征向量。
17.根据权利要求16所述的方法,其特征在于,
对所述处理后的特征向量进行分析,定位出异常日志,包括:
对每一个第二子日志文件的处理后的特征向量进行聚类分析,得到聚类分析结果;
所述根据定位结果,验证所述训练后的特征模型是否有效包括:
根据聚类分析结果,验证所述训练后的特征模型是否有效。
18.根据权利要求1所述的方法,其特征在于,所述对所述日志文件进行情感分析,得到所述日志文件中的每一行日志的情感信息包括:
基于情感词典的方法对所述日志文件进行情感分析,得到所述日志文件中的每一行日志的情感信息;
或者
基于情感分析模型对所述日志文件进行情感分析,得到所述日志文件中的每一行日志的情感信息。
19.根据权利要求1或18所述的方法,其特征在于,所述对所述日志文件进行情感分析,得到所述日志文件中的每一行日志的情感信息包括:
对所述日志文件中的每一行日志进行情感分析,得到所述日志文件中的每一行日志的情感信息;
或者,
对所述日志文件中的日志进行聚类分析,得到多个日志组;
对属于同一日志组的日志提取出一个日志模板;
对每个所述日志模板进行情感分析,得到每个所述日志模板的情感信息,其中,所述日志模板的情感信息为所述日志模板对应的日志组内的日志的情感信息。
20.根据权利要求19所述的方法,其特征在于,所述对所述日志文件中的日志进行聚类分析,得到多个日志组还包括:
通过正则表达式对所述日志文件进行处理,得到结构化的日志;
获取长度相同的所述结构化的日志;
从长度相同的所述结构化的日志中,获取令牌类型相同的日志,并划分到同一个日志组中。
21.根据权利要求19所述的方法,其特征在于,所述对每个所述日志模板进行情感分析,得到每个所述日志模板的情感信息包括:
将所述日志模板输入到情感分析模型中,得到所述情感分析模型输出的所述日志模板的情感信息,其中,所述情感分析模型采用自注意力机制对所述日志模板中的每一个词语进行处理,得到所述日志模板中的每个词语的特征,并分析所述日志模板中的词语之间的上下文交互信息,得到每个词语的特征权重,根据所述日志模板的每个词语的特征和所述每个词语的特征权重,得到所述日志模板的情感信息并输出。
22.根据权利要求21所述的方法,其特征在于,所述情感分析模型采用如下方式训练得到:
获取日志训练集,所述日志训练集包括多行训练日志;
将所述训练日志输入到待训练的情感分析模型中,得到所述待训练的情感分析模型输出的所述训练日志的预测情感信息,其中,所述待训练的情感分析模型采用自注意力机制对所述训练日志中的每一个词语进行处理,得到所述训练日志中的每个词语的特征,并分析所述训练日志中的词语之间的上下文交互信息,得到每个词语的特征权重,根据所述训练日志的每个词语的特征和所述每个词语的特征权重,得到所述训练日志的预测情感信息并输出;
根据所述训练日志的预测情感信息、所述训练日志的真实情感信息以及预设的目标函数,判断所述目标函数是否满足收敛条件,若所述目标函数不满足收敛条件,对待训练的情感分析模型的参数进行调整,直至所述目标函数满足所述收敛条件,得到训练后的所述情感分析模型。
23.根据权利要求1所述的方法,其特征在于,所述根据所述情感信息,确定所述日志文件中的第二异常日志包括:
根据所述情感信息的得分或类型,确定所述日志文件中的第二异常日志。
24.根据权利要求23所述的方法,其特征在于,所述根据所述情感信息的得分或类型,确定所述日志文件中的第二异常日志,包括:
将所述情感信息的得分为负数的日志标记为第二异常日志;
或者
将所述情感信息的类型为消极类型的日志标记为第二异常日志。
25.根据权利要求1所述的方法,其特征在于,所述对所述日志文件进行情感分析,得到情感信息之前还包括:
对所述日志文件进行预处理,所述预处理包括以下至少一项:非法符号去除、大小写转化和无效例删除。
26.根据权利要求1所述的方法,其特征在于,根据所述第一异常日志和第二异常日志,确定最终的异常日志包括:
获取所述第一异常日志和第二异常日志的交集,作为最终的异常日志。
27.一种异常日志检测装置,其特征在于,包括:
第一获取模块,用于获取待检测的日志文件,所述日志文件包括多行日志;
第一定位模块,用于对所述日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式;根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量;将所述日志对应的特征向量输入至特征模型中,得到处理后的特征向量;用于对所述处理后的特征向量进行分析,定位出第一异常日志;
第二定位模块,用于对所述日志文件进行情感分析,得到所述日志文件中的每一行日志的情感信息;根据所述情感信息,确定所述日志文件中的第二异常日志;
第三定位模块,用于根据所述第一异常日志和第二异常日志,确定最终的异常日志。
28.根据权利要求27所述的装置,其特征在于,
所述第一定位模块,用于对所述日志文件中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签;将每一行日志的所有词性标签拼接,得到每一行日志对应的日志词性表达式。
29.根据权利要求27所述的装置,其特征在于,
所述第一定位模块,用于将所述日志文件分割成多个子日志文件,每一个所述子日志文件包括多行日志;根据每一行日志对应的日志词性表达式和日志词性模板语料库,获取每一个所述子日志文件的特征向量。
30.根据权利要求29所述的装置,其特征在于,
所述第一定位模块,用于根据所述日志词性模板语料库,获取每一个所述子日志文件对应的模板序列向量和模板频率统计向量,所述模板序列向量表示所述子日志文件中每一行日志对应的日志词性模板,所述模板频率统计向量表示每一个日志词性模板在所述子日志文件对应的模板序列向量中出现的次数;将每一个所述子日志文件对应的模板序列向量和模板频率统计向量合并,得到每一个所述子日志文件的特征向量。
31.根据权利要求27所述的装置,其特征在于,
所述第一定位模块,用于对所述处理后的特征向量进行聚类分析,定位出第一异常日志。
32.根据权利要求27所述的装置,其特征在于,还包括:
第二获取模块,用于获取日志训练集,所述日志训练集包括多行日志;
第二词性处理模块,用于对所述日志训练集中的每一行日志的词语进行词性处理,得到每一行日志对应的第一日志词性表达式;
第二特征向量确定模块,用于根据每一行日志对应的第一日志词性表达式以及预先建立的词性日志模板语料库,获取日志对应的特征向量;
第一训练模块,用于采用所述日志训练集中的标记为正常的日志的特征向量进行特征模型训练,得到训练后的特征模型。
33.根据权利要求32所述的装置,其特征在于,
所述第二词性处理模块,用于对所述日志训练集中的每一行日志的每一个词语和/或词语组合进行词性处理,得到每一行日志的每一个词语和/或词语组合的词性标签;将每一行日志的所有词性标签拼接,得到每一行日志对应的第一日志词性表达式。
34.根据权利要求32所述的装置,其特征在于,还包括:
语料库确定模块,用于对所述日志训练集中的所有日志对应的第一日志词性表达式进行处理,得到日志词性模板语料库。
35.根据权利要求34所述的装置,其特征在于,
所述语料库确定模块,用于去除所有所述第一日志词性表达式中重复的第一日志词性表达式,剩余的第一日志词性表达式作为日志词性模板形成所述日志词性模板语料库。
36.根据权利要求32所述的装置,其特征在于,
所述第二特征向量确定模块,用于将所述日志训练集分割成多个第一子日志文件,每一个所述第一子日志文件包括多行日志;根据每一行日志对应的第一日志词性表达式和所述日志词性模板语料库,获取每一个所述第一子日志文件的特征向量。
37.根据权利要求36所述的装置,其特征在于,
所述第二特征向量确定模块,用于根据所述日志词性模板语料库,获取每一个所述第一子日志文件对应的模板序列向量和模板频率统计向量,所述模板序列向量表示所述第一子日志文件中每一行日志对应的所述日志词性模板,所述模板频率统计向量表示每一个所述日志词性模板在所述第一子日志文件对应的模板序列向量中出现的次数;将每一个所述第一子日志文件对应的模板序列向量和模板频率统计向量合并,得到每一个所述第一子日志文件的特征向量。
38.根据权利要求32所述的装置,其特征在于,
所述第一训练模块,用于将所述日志训练集中的标记为正常的日志的特征向量依次输入至自编码器,得到重建后的第一特征向量;将每一个所述第一特征向量分别与降维函数运算得到第二特征向量,并判断所有所述第二特征向量是否满足收敛条件;若满足所述收敛条件,得到训练后的降维函数;若不满足所述收敛条件,对所述降维函数中的系数进行调整,直至满足所述收敛条件,得到训练后的降维函数;确定训练后的特征模型,所述训练后的特征模型包括所述自编码器和所述训练后的降维函数。
39.根据权利要求32所述的装置,其特征在于,还包括:
第一验证模块,用于将所述日志训练集中的标记为异常的日志的特征向量输入至自编码器,输出重建后的第三特征向量;将每一个所述第三特征向量分别与所述训练后的降维函数运算,得到第四特征向量;根据所有所述第四特征向量的分布,验证所述训练后的特征模型是否有效。
40.根据权利要求39所述的装置,其特征在于,
所述第一验证模块,用于计算所述第四特征向量间的距离;若距离均值小于第一预设阈值,且异常的日志对应的特征映射向量和正常的日志对应的特征映射向量之间的距离大于第二预设阈值,确定所述训练后的特征模型有效。
41.根据权利要求32所述的装置,其特征在于,还包括:
第三获取模块,用于获取日志测试集,所述日志测试集包括多行正常日志和多行异常日志;
第三词性处理模块,用于对所述日志测试集中的每一行日志的词语进行词性处理,得到每一行日志对应的第二日志词性表达式;
第三特征向量确定模块,用于根据每一行日志对应的第二日志词性表达式和所述日志词性模板语料库,确定日志对应的特征向量;
第二特征处理模块,用于将所述日志对应的特征向量输入至所述训练后的特征模型中,得到处理后的特征向量;
分析模块,用于对所述处理后的特征向量进行分析,定位出异常日志;
第二验证模块,用于根据定位结果,验证所述训练后的特征模型是否有效。
42.根据权利要求41所述的装置,其特征在于,
所述第三特征向量确定模块,用于将所述日志测试集分割成多个第二子日志文件,每一个所述第二子日志文件包括多行日志;根据所述每一行日志对应的第二日志词性表达式和所述日志词性模板语料库,获取每一个所述第二子日志文件的特征向量。
43.根据权利要求42所述的装置,其特征在于,
所述分析模块,用于对每一个第二子日志文件的处理后的特征向量进行聚类分析,得到聚类分析结果;
所述第二验证模块,用于根据聚类分析结果,验证所述训练后的特征模型是否有效。
44.根据权利要求27所述的装置,其特征在于,
所述第二定位模块,用于基于情感词典的方法对所述日志文件进行情感分析,得到所述日志文件中的每一行日志的情感信息;或者,基于情感分析模型对所述日志文件进行情感分析,得到所述日志文件中的每一行日志的情感信息。
45.根据权利要求27所述的装置,其特征在于,
所述第二定位模块,用于对所述日志文件中的每一行日志进行情感分析,得到所述日志文件中的每一行日志的情感信息;
或者
所述第二定位模块,用于对所述日志文件中的日志进行聚类分析,得到多个日志组;对属于同一日志组的日志提取出一个日志模板;对每个所述日志模板进行情感分析,得到每个所述日志模板的情感信息,其中,所述日志模板的情感信息为所述日志模板对应的日志组内的日志的情感信息。
46.根据权利要求44所述的装置,其特征在于,
所述第二定位模块,用于通过正则表达式对所述日志文件进行处理,得到结构化的日志;获取长度相同的所述结构化的日志;从长度相同的所述结构化的日志中,获取令牌类型相同的日志,并划分到同一个日志组中。
47.根据权利要求45所述的装置,其特征在于,
所述第二定位模块,用于将所述日志模板输入到情感分析模型中,得到所述情感分析模型输出的所述日志模板的情感信息,其中,所述情感分析模型采用自注意力机制对所述日志模板中的每一个词语进行处理,得到所述日志模板中的每个词语的特征,并分析所述日志模板中的词语之间的上下文交互信息,得到每个词语的特征权重,根据所述日志模板的每个词语的特征和所述每个词语的特征权重,得到所述日志模板的情感信息并输出。
48.根据权利要求27所述的装置,其特征在于,还包括:
第三获取模块,用于获取日志训练集,所述日志训练集包括多行训练日志;
第二训练模块,用于将所述训练日志输入到待训练的情感分析模型中,得到所述待训练的情感分析模型输出的所述训练日志的预测情感信息,其中,所述待训练的情感分析模型采用自注意力机制对所述训练日志中的每一个词语进行处理,得到所述训练日志中的每个词语的特征,并分析所述训练日志中的词语之间的上下文交互信息,得到每个词语的特征权重,根据所述训练日志的每个词语的特征和所述每个词语的特征权重,得到所述训练日志的预测情感信息并输出;
第三训练模块,用于根据所述训练日志的预测情感信息、所述训练日志的真实情感信息以及预设的目标函数,判断所述目标函数是否满足收敛条件,若所述目标函数不满足收敛条件,对待训练的情感分析模型的参数进行调整,直至所述目标函数满足所述收敛条件,得到训练后的所述情感分析模型。
49.根据权利要求27所述的装置,其特征在于,
所述第二定位模块,用于根据所述情感信息的得分或类型,确定所述日志文件中的每一行日志是否为异常日志。
50.根据权利要求49所述的装置,其特征在于,
所述第二定位模块,用于将所述情感信息的得分为负数的日志标记为异常日志;
或者
所述第二定位模块,用于将所述情感信息的类型为消极类型的日志标记为异常日志。
51.根据权利要求27所述的装置,其特征在于,还包括:
预处理模块,用于对所述日志文件进行预处理,所述预处理包括以下至少一项:非法符号去除、大小写转化和无效例删除。
52.根据权利要求27所述的装置,其特征在于,所述第三定位模块,用于获取所述第一异常日志和第二异常日志的交集,作为最终的异常日志。
53.一种异常日志检测方法,其特征在于,包括:
获取待检测的日志文件,所述日志文件包括多行日志;
对所述日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式;根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量;将所述日志对应的特征向量输入至特征模型中,得到处理后的特征向量;对所述处理后的特征向量进行分析,得到第一日志;
对所述第一日志进行情感分析,得到所述第一日志的情感信息;
根据所述情感信息,确定所述第一日志中的异常日志。
54.根据权利要求53所述的方法,其特征在于,所述根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量,包括:
将所述日志文件分割成多个子日志文件,每一个所述子日志文件包括多行日志;根据每一行日志对应的日志词性表达式和日志词性模板语料库,获取每一个所述子日志文件的特征向量;
其中,所述将所述日志对应的特征向量输入至特征模型中,得到处理后的特征向量包括:将所述子日志文件对应的特征向量输入至特征模型中,得到处理后的特征向量;
所述对所述处理后的特征向量进行分析,得到第一日志包括:对所述处理后的特征向量进行分析,定位出异常的子日志文件;
所述对所述第一日志进行情感分析,得到所述第一日志的情感信息包括:对所述异常的子日志文件进行情感分析,得到所述异常的子日志文件中的每一行日志的情感信息。
55.一种异常日志检测装置,其特征在于,包括:
第一获取模块,用于获取待检测的日志文件,所述日志文件包括多行日志;
第一定位模块,用于对所述日志文件的每一行日志的词语进行词性处理,得到每一行日志对应的日志词性表达式;根据每一行日志对应的日志词性表达式和预先建立的日志词性模板语料库,确定日志对应的特征向量;将所述日志对应的特征向量输入至特征模型中,得到处理后的特征向量;对所述处理后的特征向量进行分析,得到第一日志;
第二定位模块,用于对所述第一日志进行情感分析,得到所述第一日志的情感信息;根据所述情感信息,确定所述第一日志中的异常日志。
56.根据权利要求55所述的装置,其特征在于,
所述第一定位模块,用于将所述日志文件分割成多个子日志文件,每一个所述子日志文件包括多行日志;根据每一行日志对应的日志词性表达式和日志词性模板语料库,获取每一个所述子日志文件的特征向量;
其中,所述第一定位模块,还用于将所述子日志文件对应的特征向量输入至特征模型中,得到处理后的特征向量;对所述处理后的特征向量进行分析,定位出异常的子日志文件;
所述第二定位模块,用于对所述异常的子日志文件进行情感分析,得到所述异常的子日志文件中的每一行日志的情感信息。
57.一种电子设备,其特征在于,包括处理器和存储器,所述存储器存储可在所述处理器上运行的程序或指令,所述程序或指令被所述处理器执行时实现如权利要求1-26任一项所述的异常日志检测方法的步骤,或者,所述程序或指令被所述处理器执行时实现如权利要求53或54所述的异常日志检测方法的步骤。
58.一种计算机可读存储介质,其特征在于,所述可读存储介质上存储程序或指令,所述程序或指令被处理器执行时实现如权利要求1-26任一项所述的异常日志检测方法的步骤,或者,所述程序或指令被所述处理器执行时实现如权利要求53或54所述的异常日志检测方法的步骤。
CN202210553614.7A 2022-05-20 2022-05-20 异常日志检测方法、装置、电子设备及可读存储介质 Active CN114969334B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210553614.7A CN114969334B (zh) 2022-05-20 2022-05-20 异常日志检测方法、装置、电子设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210553614.7A CN114969334B (zh) 2022-05-20 2022-05-20 异常日志检测方法、装置、电子设备及可读存储介质

Publications (2)

Publication Number Publication Date
CN114969334A CN114969334A (zh) 2022-08-30
CN114969334B true CN114969334B (zh) 2023-04-07

Family

ID=82984796

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210553614.7A Active CN114969334B (zh) 2022-05-20 2022-05-20 异常日志检测方法、装置、电子设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN114969334B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114238018B (zh) * 2021-12-17 2023-03-24 天翼爱音乐文化科技有限公司 日志采集文件完整性检测方法、系统、装置及存储介质
CN118199972B (zh) * 2024-03-19 2024-08-30 金祺创(北京)技术有限公司 一种基于网络巡查的资产违规外联检测方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113032226A (zh) * 2021-05-28 2021-06-25 北京宝兰德软件股份有限公司 异常日志的检测方法、装置、电子设备及存储介质
CN114064575A (zh) * 2021-11-15 2022-02-18 用友网络科技股份有限公司 日志异常检测方法及装置、电子设备、可读存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11210158B2 (en) * 2017-11-29 2021-12-28 Riverbed Technology, Inc. Automated problem diagnosis on logs using anomalous telemetry analysis
CN108959383A (zh) * 2018-05-31 2018-12-07 平安科技(深圳)有限公司 网络舆情的分析方法、装置及计算机可读存储介质
CN112637108B (zh) * 2019-09-24 2022-11-22 中国科学院国家空间科学中心 一种基于异常检测和情感分析的内部威胁分析方法及系统
CN111881291A (zh) * 2020-06-19 2020-11-03 山东师范大学 一种文本情感分类方法及系统
CN112015862B (zh) * 2020-08-24 2023-02-03 重庆邮电大学 基于层级多通道注意力的用户异常评论检测方法及系统
CN113869040A (zh) * 2021-06-22 2021-12-31 国网甘肃省电力公司天水供电公司 一种电网调度的语音识别方法
CN113407721A (zh) * 2021-06-29 2021-09-17 哈尔滨工业大学(深圳) 检测日志序列异常的方法、装置及计算机存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113032226A (zh) * 2021-05-28 2021-06-25 北京宝兰德软件股份有限公司 异常日志的检测方法、装置、电子设备及存储介质
CN114064575A (zh) * 2021-11-15 2022-02-18 用友网络科技股份有限公司 日志异常检测方法及装置、电子设备、可读存储介质

Also Published As

Publication number Publication date
CN114969334A (zh) 2022-08-30

Similar Documents

Publication Publication Date Title
US20220405592A1 (en) Multi-feature log anomaly detection method and system based on log full semantics
CN113434357B (zh) 基于序列预测的日志异常检测方法及装置
CN111881983B (zh) 基于分类模型的数据处理方法、装置、电子设备及介质
CN114969334B (zh) 异常日志检测方法、装置、电子设备及可读存储介质
CN113094200A (zh) 一种应用程序的故障预测方法和装置
CN106778878B (zh) 一种人物关系分类方法及装置
CN112685324B (zh) 一种生成测试方案的方法及系统
CN111091004B (zh) 一种语句实体标注模型的训练方法、训练装置及电子设备
CN114528845A (zh) 异常日志的分析方法、装置及电子设备
CN116402630B (zh) 一种基于表征学习的财务风险预测方法及系统
CN113407721A (zh) 检测日志序列异常的方法、装置及计算机存储介质
CN116955604A (zh) 一种日志检测模型的训练方法、检测方法、装置
CN115617614A (zh) 基于时间间隔感知自注意力机制的日志序列异常检测方法
CN112882899B (zh) 一种日志异常检测方法及装置
CN117688488A (zh) 一种基于语义向量化表示的日志异常检测方法
CN116932753A (zh) 日志分类方法、装置、计算机设备、存储介质和程序产品
CN117009516A (zh) 换流站故障策略模型训练方法、推送方法及装置
CN116795978A (zh) 一种投诉信息处理方法、装置、电子设备及介质
CN114969335B (zh) 异常日志检测方法、装置、电子设备及可读存储介质
CN113988085A (zh) 文本语义相似度匹配方法、装置、电子设备及存储介质
CN114239555A (zh) 一种关键词提取模型的训练方法及相关装置
JP2021099805A (ja) デジタルデータを処理する装置及び方法
CN114969336A (zh) 异常日志检测方法、装置、电子设备及可读存储介质
CN116910175B (zh) 自动化移动设备故障层级树构建方法、装置及储存介质
CN115794465B (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
GR01 Patent grant
GR01 Patent grant