CN116932753A - 日志分类方法、装置、计算机设备、存储介质和程序产品 - Google Patents
日志分类方法、装置、计算机设备、存储介质和程序产品 Download PDFInfo
- Publication number
- CN116932753A CN116932753A CN202310854488.3A CN202310854488A CN116932753A CN 116932753 A CN116932753 A CN 116932753A CN 202310854488 A CN202310854488 A CN 202310854488A CN 116932753 A CN116932753 A CN 116932753A
- Authority
- CN
- China
- Prior art keywords
- log
- word
- target
- template
- 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
- 238000000034 method Methods 0.000 title claims abstract description 68
- 239000013598 vector Substances 0.000 claims abstract description 237
- 238000004422 calculation algorithm Methods 0.000 claims description 29
- 230000006870 function Effects 0.000 claims description 22
- 238000004590 computer program Methods 0.000 claims description 21
- 238000006243 chemical reaction Methods 0.000 claims description 19
- 238000012545 processing Methods 0.000 claims description 17
- 238000007781 pre-processing Methods 0.000 claims description 10
- 230000011218 segmentation Effects 0.000 claims description 8
- 238000000605 extraction Methods 0.000 claims description 4
- 238000012423 maintenance Methods 0.000 description 9
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 6
- 238000004458 analytical method Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 5
- 238000013519 translation Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 238000003058 natural language processing Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 206010000117 Abnormal behaviour Diseases 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 238000002372 labelling 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
- 238000000926 separation method Methods 0.000 description 1
- 238000013526 transfer learning Methods 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/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
- G06F16/353—Clustering; Classification into predefined classes
-
- 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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- 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/205—Parsing
- G06F40/216—Parsing using statistical methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/268—Morphological analysis
-
- 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
- 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
-
- 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)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Probability & Statistics with Applications (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及一种日志分类方法、装置、计算机设备、存储介质和程序产品。所述方法包括:获取待分类的目标日志,并从所述目标日志中提取日志词语,将提取到的日志词语填充至预设的初始日志模板中,得到目标日志模板;根据所述目标日志模板中各日志词语的词向量,得到所述目标日志模板的第一文本向量;根据所述第一文本向量从多个第二文本向量中确定相似度满足预设条件的目标文本向量,其中,所述多个第二文本向量与不同的日志类型相对应;根据所述目标文本向量对应的日志类型确定所述目标日志的日志类型。采用本方法能够提高日志分类的可靠性。
Description
技术领域
本申请涉及大数据技术领域,特别是涉及一种日志分类方法、装置、计算机设备、存储介质和程序产品。
背景技术
错误日志是软件系统用来记录运行时出错信息的文本文件,实时对错误日志进行分类,能够向运维人员提供更明确的故障特征,可以帮助管理者和运维人员调试软件系统故障和异常分析。
传统技术中,通过正则匹配实现对错误日志的分类,但是,正则匹配无法发现未知类型的错误日志,从而导致无法实现对这类错误日志的分类,进而传统技术的日志分类方法存在不可靠的问题。
发明内容
本申请实施例提供一种日志分类方法、装置、计算机设备、存储介质和程序产品,可以提高日志分类的可靠性。
第一方面,本申请提供了一种日志分类方法,所述方法包括:获取待分类的目标日志,并从目标日志中提取日志词语,将提取到的日志词语填充至预设的初始日志模板中,得到目标日志模板;根据目标日志模板中各日志词语的词向量,得到目标日志模板的第一文本向量;根据第一文本向量从多个第二文本向量中确定相似度满足预设条件的目标文本向量,其中,多个第二文本向量与不同的日志类型相对应;根据目标文本向量对应的日志类型确定目标日志的日志类型。
在其中一个实施例中,根据目标日志模板中各日志词语的词向量,得到目标日志模板的第一文本向量,包括:根据目标日志模板中各日志词语的词性以及词频确定各日志词语的权重;根据目标日志模板中各日志词语的权重和词向量进行加权求和运算,得到第一文本向量。
在其中一个实施例中,根据目标日志模板中各日志词语的词性以及词频确定各日志词语的权重,包括:对于目标日志模板中各日志词语,确定日志词语在目标类型的日志模板中出现的第一词频,并确定日志词语在目标日志模板中出现的第二词频;对于目标日志模板中各日志词语,根据日志词语的词性确定词性权重;根据目标日志模板中各日志词语对应的第一词频、第二词频以及词性权重,确定目标日志模板中各日志词语的权重。
在其中一个实施例中,根据目标日志模板中各日志词语的词向量,得到目标日志模板的第一文本向量之前,方法还包括:获取目标日志模板中各日志词语的同义词和反义词;根据目标日志模板中各日志词语的同义词和反义词,确定目标日志模板中各日志词语的词向量。
在其中一个实施例中,根据目标日志模板中各日志词语的同义词和反义词,确定目标日志模板中各日志词语的词向量,包括:将目标日志模板中的日志词语划分为第一日志词语和第二日志词语,第一日志词语为在历史日志词语数据库中存在的词语,第二日志词语为在历史日志词语数据库中不存在的词语;基于第一日志词语对应的向量算法以及第一日志词语的同义词和反义词,进行向量转换处理,得到第一日志词语的词向量;基于第二日志词语对应的向量算法以及第二日志词语的同义词和反义词,进行向量转换处理,得到第二日志词语的词向量。
在其中一个实施例中,该方法还包括:将第一文本向量和第二文本向量作为余弦相似度函数的变量,以通过余弦相似度函数得到余弦相似度;将第一文本向量和第二文本向量作为文本相似度函数的变量,以通过文本相似度函数得到文本相似度;根据余弦相似度和文本相似度得到相似度。
在其中一个实施例中,该方法还包括:对目标日志进行预处理,预处理包括去除时间戳、连词分离、分词、命令实体识别和大小写转化中的至少一种。
第二方面,本申请提供了一种日志分类装置,所述装置包括:提取模块,用于获取待分类的目标日志,并从目标日志中提取日志词语,将提取到的日志词语填充至预设的初始日志模板中,得到目标日志模板;第一确定模块,用于根据目标日志模板中各日志词语的词向量,得到目标日志模板的第一文本向量;第二确定模块,用于根据第一文本向量从多个第二文本向量中确定相似度满足预设条件的目标文本向量,其中,多个第二文本向量与不同的日志类型相对应;第三确定模块,用于根据目标文本向量对应的日志类型确定目标日志的日志类型。
在其中一个实施例中,第一确定模块,具体用于根据目标日志模板中各日志词语的词性以及词频确定各日志词语的权重;根据目标日志模板中各日志词语的权重和词向量进行加权求和运算,得到第一文本向量。
在其中一个实施例中,第一确定模块,具体用于对于目标日志模板中各日志词语,确定日志词语在目标类型的日志模板中出现的第一词频,并确定日志词语在目标日志模板中出现的第二词频;对于目标日志模板中各日志词语,根据日志词语的词性确定词性权重;根据目标日志模板中各日志词语对应的第一词频、第二词频以及词性权重,确定目标日志模板中各日志词语的权重。
在其中一个实施例中,第一确定模块,还用于获取目标日志模板中各日志词语的同义词和反义词;根据目标日志模板中各日志词语的同义词和反义词,确定目标日志模板中各日志词语的词向量。
在其中一个实施例中,第一确定模块,具体用于将目标日志模板中的日志词语划分为第一日志词语和第二日志词语,第一日志词语为在历史日志词语数据库中存在的词语,第二日志词语为在历史日志词语数据库中不存在的词语;基于第一日志词语对应的向量算法以及第一日志词语的同义词和反义词,进行向量转换处理,得到第一日志词语的词向量;基于第二日志词语对应的向量算法以及第二日志词语的同义词和反义词,进行向量转换处理,得到第二日志词语的词向量。
在其中一个实施例中,第二确定模块,还用于将第一文本向量和第二文本向量作为余弦相似度函数的变量,以通过余弦相似度函数得到余弦相似度;将第一文本向量和第二文本向量作为文本相似度函数的变量,以通过文本相似度函数得到文本相似度;根据余弦相似度和文本相似度得到相似度。
在其中一个实施例中,该装置还包括预处理模块,用于对目标日志进行预处理,预处理包括去除时间戳、连词分离、分词、命令实体识别和大小写转化中的至少一种。
第三方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面任一项所述的方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面任一项所述的方法的步骤。
第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现上述第一方面任一项所述的方法的步骤。
上述日志分类方法、装置、计算机设备、存储介质和程序产品,通过获取待分类的目标日志,并从目标日志中提取日志词语,将提取到的日志词语填充至预设的初始日志模板中,得到目标日志模板,然后根据目标日志模板中各日志词语的词向量,得到目标日志模板的第一文本向量;再根据第一文本向量从多个第二文本向量中确定相似度满足预设条件的目标文本向量,其中,多个第二文本向量与不同的日志类型相对应,而后根据目标文本向量对应的日志类型确定目标日志的日志类型,这样,通过目标日志对应的第一文本向量与第二文本向量的相似度来确定目标日志的日志类型,相比于传统技术可以提高日志分类的可靠性。
附图说明
图1为一个实施例中一种日志分类方法的流程示意图;
图2为一个实施例中一种确定目标日志模板中各日志词语的词向量方法的流程示意图;
图3为一个实施例中一种确定各日志词语的权重方法的流程示意图;
图4为一个实施例中另一种日志分类方法的流程示意图;
图5为一个实施例中又一种日志分类方法的流程示意图;
图6为一个实施例中一种日志分类装置的结构框图;
图7为一个实施例中一种计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
日志在IT(Information Technology,信息技术)运维中扮演着重要角色。日志记录了软件系统运行时的详细信息,蕴含着丰富的系统信息。软件系统开发人员与运维人员可以根据日志监控软件系统剖析软件系统的异常行为与错误。实时对错误日志进行分类,能够向运维人员提供更明确的故障特征,可以帮助管理者和运维人员调试软件系统故障和异常分析。
目前的错误日志分类算法存在以下问题:1、对于日志变量的发现,多使用正则匹配,而正则匹配需要预先知道错误日志类型,定义严格的正则。2、当故障发生时,错误日志呈现爆发时增长,这就要求日志系统需对日志进行分类,而且可以发现未知错误,但正则匹配无法发现未知类型的错误日志,从而导致无法实现对这类错误日志的分类,进而传统技术的日志分类方法存在不可靠的问题。
基于上述传统技术,本申请实施例提供日志分类方法,通过获取待分类的目标日志,并从目标日志中提取日志词语,将提取到的日志词语填充至预设的初始日志模板中,得到目标日志模板,然后根据目标日志模板中各日志词语的词向量,得到目标日志模板的第一文本向量;再根据第一文本向量从多个第二文本向量中确定相似度满足预设条件的目标文本向量,其中,多个第二文本向量与不同的日志类型相对应,而后根据目标文本向量对应的日志类型确定目标日志的日志类型的方式,来提高日志分类的可靠性。
需要说明的是,本申请实施例所带来的有益效果或者所解决的技术问题并不限定于这一个,还可以是其它隐含或者关联的问题,具体可以参见下述实施例的描述。
下面以具体地实施例对本申请的技术方案以及本申请的技术方案如何解决上述技术问题进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。
在一个实施例中,如图1所示,提供了一种日志分类方法,以该方法应用于服务器为例进行说明,包括以下步骤:
步骤101,获取待分类的目标日志,并从目标日志中提取日志词语,将提取到的日志词语填充至预设的初始日志模板中,得到目标日志模板。
其中,目标日志包括错误日志。预设的初始日志模板的选取方法包括:识别目标日志的记录模式,根据该记录模式从多个初始日志模板中选取预设的初始日志模板。
可选的,基于日志模板提取方法智能识别目标日志,以从目标日志中提取日志词语,用提取到的日志词语替换预设的初始日志模板中的日志变量,以实现将提取到的日志词语填充至预设的初始日志模板中,从而得到目标日志模板。
本步骤中,并从目标日志中提取日志词语,将提取到的日志词语填充至预设的初始日志模板中,避免了正则表达式识别不全以及不够准确的问题。另外,使用目标日志模板而不是目标日志进行后续处理,避免了大量重复日志词语造成词频异常统计问题。
步骤102,根据目标日志模板中各日志词语的词向量,得到目标日志模板的第一文本向量。
其中,日志词语的词向量指的是日志词语的语义化向量。
可选的,基于向量算法对日志词语进行向量转换处理,得到日志词语的词向量,其中,向量算法可以是BERT(Bidirectional Encoder Representation fromTransformers,)类算法、GPT(Generative Pretrained Transformer)类算法、Log2Vec、doc2vec等中的一种。各日志词语的词向量构成目标日志模板的第一文本向量。
在另一个可选的实施例中,将日志词语划分为第一日志词语和第二日志词语,基于第一日志词语对应的向量算法进行向量转换处理,得到第一日志词语的词向量;基于所述第二日志词语对应的向量算法进行向量转换处理,得到第二日志词语的词向量,其中第一日志词语为历史日志词语数据库中存在的词语,第二日志词语为在所述历史日志词语数据库中不存在的词语。各第一日志词语的词向量和各第二日志词语的词向量构成目标日志模板的第一文本向量。
步骤103,根据第一文本向量从多个第二文本向量中确定相似度满足预设条件的目标文本向量,其中,多个第二文本向量与不同的日志类型相对应。
步骤104,根据目标文本向量对应的日志类型确定目标日志的日志类型。
其中,第二文本向量是标注日志模板的文本向量,标注日志模板的日志类型是预先标注好的,从而第二文本向量对应有日志类型。预设条件有多种,可以根据需要进行设定,在此不做限定,下面举例三种可选的方式。
可选的,将与第一文本向量的相似度最大的第二文本向量作为目标文本向量。
在另一个可选的实施例中,将所有第二文本向量与第一文本向量的相似度进行排名,并将排名靠前预设名次的第二文本向量对应的标注日志模板进行输出,以供运维人员进行选择,将运维人员选择的标注日志模板对应的第二文本向量作为目标文本向量。
本实施例中,将排名靠前预设名次的第二文本向量对应的标注日志模板进行输出,并将运维人员选择的标注日志模板对应的第二文本向量作为目标文本向量,可以实现在多个相似度差距较小时,更准确的确定目标文本向量,从而更准确的确定目标日志的日志类型。
在又一个可选的实施例中,将与第一文本向量的相似度大于预设阈值的第二文本向量作为目标文本向量。
综上所述,通过获取待分类的目标日志,并从目标日志中提取日志词语,将提取到的日志词语填充至预设的初始日志模板中,得到目标日志模板,然后根据目标日志模板中各日志词语的词向量,得到目标日志模板的第一文本向量;再根据第一文本向量从多个第二文本向量中确定相似度满足预设条件的目标文本向量,其中,多个第二文本向量与不同的日志类型相对应,而后根据目标文本向量对应的日志类型确定目标日志的日志类型,这样,通过目标日志对应的第一文本向量与第二文本向量的相似度来确定目标日志的日志类型,相比于传统技术可以提高日志分类的可靠性。
在其中一个实施例中,根据目标日志模板中各日志词语的词向量,得到目标日志模板的第一文本向量之前,方法还包括:获取目标日志模板中各日志词语的同义词和反义词;根据目标日志模板中各日志词语的同义词和反义词,确定目标日志模板中各日志词语的词向量。
其中,日志词语的同义词和反义词可以是从历史日志词语数据库中获取,其中历史日志词语数据库中包括多个日志词语与多个同义词的多组对应关系,还包括多个日志词语与多个反义词的多组对应关系。另外,日志词语的反义词还可以是直接删除特定单词来实现,例如,对于日志词语“not found”,其反义词可直接删除“not”,得到其反义词为“found”。
可选的,如图2所示,提供了一种确定目标日志模板中各日志词语的词向量方法,根据目标日志模板中各日志词语的同义词和反义词,确定目标日志模板中各日志词语的词向量,包括:
步骤201,将目标日志模板中的日志词语划分为第一日志词语和第二日志词语,第一日志词语为在历史日志词语数据库中存在的词语,第二日志词语为在历史日志词语数据库中不存在的词语。
其中,历史日志词语数据库中包括多个词语。
可选的,针对目标日志模板中的一个日志词语,若该日志词语在历史日志词语数据库中能够查询到,则该日志词语被划分为第一日志词语,即该日志词语为已有词汇;若该日志词语在历史日志词语数据库中未能查询到,则该日志词语被划分为第二日志词语,即该日志词语为新词汇。
步骤202,基于第一日志词语对应的向量算法以及第一日志词语的同义词和反义词,进行向量转换处理,得到第一日志词语的词向量。
其中,第一日志词语对应的向量算法包括BERT类算法、GPT类算法等中的一种。其中,BERT类算法,也即是BERT类模型,其利用MLM进行预训练并且采用深层的双向Transformer组件,来构建整个模型,因此最终生成能融合左右上下文信息的深层双向语言表征,从而利用BERT类算法得到的第一日志词语的词向量更加准确;GPT类算法,也即GPT类模型,其的预训练和微调的两阶段过程已被证明在实现各种自然语言处理任务的最先进结果方面是非常有效的,通过迁移学习的能力,GPT类模型可以适应各种任务,并且只需要相对较少的额外训练数据,从而适用于对第一日志词语进行向量转化的GPT算法容易获取,进而降低了实现本方法的难度。
可选的,将第一日志词语、第一日志词语的同义词和反义词作为第一日志词语对应的向量算法的输入,从而可以得到第一日志词语的词向量。
步骤203,基于第二日志词语对应的向量算法以及第二日志词语的同义词和反义词,进行向量转换处理,得到第二日志词语的词向量。
其中,第二日志词语对应的向量算法包括Log2Vec、doc2vec等中的一种。其中,Log2Vec是一种基于异构图嵌入的网络空间威胁检测的模块化方法,其能够采用启发式的方法将日志记录之间的多种关系表示为异质图,且能够采用一种改进的图嵌入将异质图中的日志记录表示为低维向量,从而利用Log2Vec可以得到第二日志词语的词向量;doc2vec是一种非监督式算法,可以获得句子、段落、文本的向量,从而利用doc2vec可以得到第二日志词语的词向量。
可选的,将第二日志词语、第二日志词语的同义词和反义词作为第二日志词语对应的向量算法的输入,从而可以得到第二日志词语的词向量。
本实施例中,基于同义词和反义词来得到日志词语的词向量,可以扩大第一文本向量的信息量,从而使得在根据第一文本向量从多个第二文本向量中确定相似度满足预设条件的目标文本向量的过程中,能够准确的确定出与第一文本向量相似的第二文本向量,增加日志分类的鲁棒性。
在其中一个实施例中,根据目标日志模板中各日志词语的词向量,得到目标日志模板的第一文本向量,包括:根据目标日志模板中各日志词语的词性以及词频确定各日志词语的权重;根据目标日志模板中各日志词语的权重和词向量进行加权求和运算,得到第一文本向量。
其中,词性指的是名词、动词、形容词等;日志词语的词频指的是该日志词语出现的频率。
可选的,如图3所示,提供了一种确定各日志词语的权重方法,根据目标日志模板中各日志词语的词性以及词频确定各日志词语的权重,包括:
步骤301,对于目标日志模板中各日志词语,确定日志词语在目标类型的日志模板中出现的第一词频,并确定日志词语在目标日志模板中出现的第二词频。
其中,目标类型可以是选择进行预设,也可以是选择进行随机选取,若目标类型是预设的,则将预设的初始日志模板作为目标类型的日志模板;若目标类型是随机选取的,由于历史日志词语数据库中还存储有多个类型的日志模板,因此,在历史日志词语数据库中随机选取一个类型的日志模板作为目标类型的日志模板。
可选的,第一词频的计算方法包括:统计日志词语在目标类型的日志模板中出现的次数,得到第一出现次数;统计目标类型的日志模板中所有词语出现的次数之和,得到第一出现次数之和;将第一出现次数与第一出现次数之和的比值作为第一词频。
第一词频利用数学公式表达如下:
其中,ni,j表示日志词语i在目标类型j的日志模板中出现的次数,nk,j表示目标类型j的日志模板中词语k出现的次数,N表示目标类型j的日志模板中词语的数量。
可选的,第二词频的计算方法包括:统计日志词语在目标日志模板中出现的次数,得到第二出现次数;统计目标日志模板中所有日志词语出现的次数之和,得到第二出现次数之和;将第二出现次数与第二出现次数之和的比值作为第一词频。
第二词频利用数学公式表达如下:
其中,ni表示日志词语i在目标日志模板中出现的次数,nz表示目标日志模板中日志词语z出现的次数,M表示目标日志模板中日志词语的数量。
步骤302,对于目标日志模板中各日志词语,根据日志词语的词性确定词性权重。
可选的,可以根据日志词语的词性以及预设的初始词性权重确定日志词语的词性权重。例如,名词的初始词性权重为0.6,动词的初始词性权重为0.3,形容词的初始词性权重为0.1,即名词>动词>形容词,因此,若日志词语的词性为名词,则日志词语的词性权重为0.6。
在另一个可选的实施例中,区分目标日志模板中各日志词语的词性,统计各词性的数量,则针对各词性,将词性的数量与所有词性的数量之和的比值作为词性的权重,从而可以得到各词性的权重,进而可以根据日志词语的词性确定日志词语的词性权重,即若日志词语为名词,则日志词语的词性权重为名词的权重。
例如,名词的权重利用数学公式表达如下:
其中,m名词、m动词、m形容词分别表示目标日志模板中名词的数量、动词的数量、形容词的数量。
步骤303,根据目标日志模板中各日志词语对应的第一词频、第二词频以及词性权重,确定目标日志模板中各日志词语的权重。
可选的,针对各日志词语,将日志词语的第二词频的倒数作为log函数的变量,以通过log函数得到日志词语的对数差值,并将日志词语的第一词频与日志词语的对数差值以及日志词语的词性权重的乘积作为该日志词语的权重。
日志词语的权重利用数学公式表达如下:
其中,wi,词性表示日志词语i的词性权重。
根据上述步骤301-步骤303,可以得到目标日志模板中各日志词语的权重,根据上述步骤201-步骤203.可以得到目标日志模板中各日志词语的词向量,然后将目标日志模板中各日志词语的权重和词向量进行相乘,即进行加权求和运算,得到第一文本向量。
本实施例中,使用日志词语的权重处理目标日志模板,兼顾词性、词频信息,十分有效地反映日志词语的重要程度和特征词的分布情况,更贴合日志场景。
在其中一个实施例中,该方法还包括:将第一文本向量和第二文本向量作为余弦相似度函数的变量,以通过余弦相似度函数得到余弦相似度;将第一文本向量和第二文本向量作为文本相似度函数的变量,以通过文本相似度函数得到文本相似度;根据余弦相似度和文本相似度得到相似度。
可选的,用A表示第一文本向量,用B表示第二文本向量,则余弦相似度cosθ的计算公式如下:
文本相似度J(A,B)使用Jaccard相似系数计算公式来计算,计算公式如下:
根据余弦相似度和文本相似度得到相似度,包括:
相似度X的计算公式如下:
X=0.618×cosθ+(1-0.618)×J(A,B)
其中,0.618是黄金分割值,其可以根据需要进行设定,在此不做限定。
本实施例中,相比于仅利用余弦相似度或文本相似度得到相似度,利用余弦相似度和文本相似度得到相似度,可以提高相似度计算的准确定性。
在其中一个实施例中,该方法还包括:对目标日志进行预处理,预处理包括去除时间戳、连词分离、分词、命令实体识别和大小写转化中的至少一种。
其中,去除时间戳指的是去除目标日志中属于时间的变量。
连词分离指的是对词与词之间没有空格标点等符号的词进行分离,如mysqlconnector。
分词指的是通过空格标点等符号对目标日志进行分词,如用NLP(NaturalLanguage Processing,自然语言处理)技术对目标日志进行分词。
命令实体识别指的是将网址、地址、参数等转化为实体名称。
大小写转化指的是将目标日志中的字母统一转化为大写或小写。
在另一个可选的实施例中,如图4所示,提供了另一种日志分类方法:
步骤401,实时获取待分类的目标日志。
步骤402,对目标日志进行预处理。
步骤403,从预处理后的目标日志中提取日志词语,将提取到的日志词语填充至预设的初始日志模板中,得到目标日志模板。
步骤404,计算目标日志模板中各日志词语的权重,包括确定日志词语在目标类型的日志模板中出现的第一词频,其中,日志模板是预先标注有日志类型的标注日志模板。
步骤405,日志模板向量化,也即是计算目标日志模板中各日志词语的词向量,并根据目标日志模板中各日志词语的权重和词向量进行加权求和运算,得到第一文本向量。
步骤406,计算第一文本向量和各第二文本向量的相似度,包括计算余弦相似度和文本相似度,其中,第二文本向量是标注日志模板的文本向量,标注日志模板的日志类型是预先标注好的。
步骤407,将与第一文本向量相似度最大的第二文本向量的日志类型确定为目标日志的日志类型。
在另一个可选的实施例中,如图5所示,提供了又一种日志分类方法,日志分类方法包括两大部分,一部分是计算目标日志模板中各日志词语的权重,另一部分是计算目标日志模板的第一文本向量。
对于计算目标日志模板中各日志词语的权重包括:
针对各日志词语,计算日志词语的词性权重;根据日志词语的词性权重计算日志词语的权重;
并针对各日志词语,获取日志词语的同义词和反义词。
对于计算目标日志模板的第一文本向量包括:
将目标日志模板中的日志词语划分为第一日志词语和第二日志词语;
针对各第一日志词语,基于第一日志词语对应的向量算法以及第一日志词语的同义词和反义词,进行向量转换处理,得到第一日志词语的词向量;
针对各第二日志词语,基于第二日志词语对应的向量算法以及第二日志词语的同义词和反义词,进行向量转换处理,得到第二日志词语的词向量;
日志模板向量化,也即是根据目标日志模板中各日志词语的权重和词向量进行加权求和运算,得到第一文本向量。
此外,本申请在对日志分类的过程中,实现了对日志进行自动化分析,提前发现软件系统运行过程中潜在的错误,并提前对软件系统的不当行为进行处理。而且,本申请还可以实现日志根因分析,帮助管理者和运维人员调试系统故障和异常分析,保证软件系统安全性。
应该理解的是,虽然图1-5的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图6所示,提供了一种日志分类装置,日志分类装置600包括:提取模块601、第一确定模块602、第二确定模块603和第三确定模块604,其中:
提取模块601,用于获取待分类的目标日志,并从目标日志中提取日志词语,将提取到的日志词语填充至预设的初始日志模板中,得到目标日志模板。
第一确定模块602,用于根据目标日志模板中各日志词语的词向量,得到目标日志模板的第一文本向量。
第二确定模块603,用于根据第一文本向量从多个第二文本向量中确定相似度满足预设条件的目标文本向量,其中,多个第二文本向量与不同的日志类型相对应。
第三确定模块604,用于根据目标文本向量对应的日志类型确定目标日志的日志类型。
在其中一个实施例中,第一确定模块602,具体用于根据目标日志模板中各日志词语的词性以及词频确定各日志词语的权重;根据目标日志模板中各日志词语的权重和词向量进行加权求和运算,得到第一文本向量。
在其中一个实施例中,第一确定模块602,具体用于对于目标日志模板中各日志词语,确定日志词语在目标类型的日志模板中出现的第一词频,并确定日志词语在目标日志模板中出现的第二词频;对于目标日志模板中各日志词语,根据日志词语的词性确定词性权重;根据目标日志模板中各日志词语对应的第一词频、第二词频以及词性权重,确定目标日志模板中各日志词语的权重。
在其中一个实施例中,第一确定模块602,还用于获取目标日志模板中各日志词语的同义词和反义词;根据目标日志模板中各日志词语的同义词和反义词,确定目标日志模板中各日志词语的词向量。
在其中一个实施例中,第一确定模块602,具体用于将目标日志模板中的日志词语划分为第一日志词语和第二日志词语,第一日志词语为在历史日志词语数据库中存在的词语,第二日志词语为在历史日志词语数据库中不存在的词语;基于第一日志词语对应的向量算法以及第一日志词语的同义词和反义词,进行向量转换处理,得到第一日志词语的词向量;基于第二日志词语对应的向量算法以及第二日志词语的同义词和反义词,进行向量转换处理,得到第二日志词语的词向量。
在其中一个实施例中,第二确定模块603,还用于将第一文本向量和第二文本向量作为余弦相似度函数的变量,以通过余弦相似度函数得到余弦相似度;将第一文本向量和第二文本向量作为文本相似度函数的变量,以通过文本相似度函数得到文本相似度;根据余弦相似度和文本相似度得到相似度。
在其中一个实施例中,该装置还包括预处理模块,用于对目标日志进行预处理,预处理包括去除时间戳、连词分离、分词、命令实体识别和大小写转化中的至少一种。
关于日志分类装置的具体限定可以参见上文中对于日志分类方法的限定,在此不再赘述。上述日志分类装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图7所示。该计算机设备包括处理器、存储器、输入/输出接口(Input/Output,简称I/O)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储多个第二文本向量、多个第二文本向量对应的不同日志类型。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种编译方法。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备。计算机设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述任一方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述任一方法实施例中的步骤。
本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (11)
1.一种日志分类方法,其特征在于,所述方法包括:
获取待分类的目标日志,并从所述目标日志中提取日志词语,将提取到的日志词语填充至预设的初始日志模板中,得到目标日志模板;
根据所述目标日志模板中各日志词语的词向量,得到所述目标日志模板的第一文本向量;
根据所述第一文本向量从多个第二文本向量中确定相似度满足预设条件的目标文本向量,其中,所述多个第二文本向量与不同的日志类型相对应;
根据所述目标文本向量对应的日志类型确定所述目标日志的日志类型。
2.根据权利要求1所述的方法,其特征在于,所述根据所述目标日志模板中各日志词语的词向量,得到所述目标日志模板的第一文本向量,包括:
根据所述目标日志模板中各日志词语的词性以及词频确定各日志词语的权重;
根据所述目标日志模板中各日志词语的权重和词向量进行加权求和运算,得到所述第一文本向量。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标日志模板中各日志词语的词性以及词频确定各日志词语的权重,包括:
对于所述目标日志模板中各日志词语,确定所述日志词语在目标类型的日志模板中出现的第一词频,并确定所述日志词语在所述目标日志模板中出现的第二词频;
对于所述目标日志模板中各日志词语,根据所述日志词语的词性确定词性权重;
根据所述目标日志模板中各日志词语对应的所述第一词频、所述第二词频以及所述词性权重,确定所述目标日志模板中各日志词语的权重。
4.根据权利要求1至3任一所述的方法,其特征在于,所述根据所述目标日志模板中各日志词语的词向量,得到所述目标日志模板的第一文本向量之前,所述方法还包括:
获取所述目标日志模板中各日志词语的同义词和反义词;
根据所述目标日志模板中各日志词语的同义词和反义词,确定所述目标日志模板中各日志词语的词向量。
5.根据权利要求4所述的方法,其特征在于,所述根据所述目标日志模板中各日志词语的同义词和反义词,确定所述目标日志模板中各日志词语的词向量,包括:
将所述目标日志模板中的日志词语划分为第一日志词语和第二日志词语,所述第一日志词语为在历史日志词语数据库中存在的词语,所述第二日志词语为在所述历史日志词语数据库中不存在的词语;
基于所述第一日志词语对应的向量算法以及所述第一日志词语的同义词和反义词,进行向量转换处理,得到所述第一日志词语的词向量;
基于所述第二日志词语对应的向量算法以及所述第二日志词语的同义词和反义词,进行向量转换处理,得到所述第二日志词语的词向量。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述第一文本向量和所述第二文本向量作为余弦相似度函数的变量,以通过所述余弦相似度函数得到余弦相似度;
将所述第一文本向量和所述第二文本向量作为文本相似度函数的变量,以通过所述文本相似度函数得到文本相似度;
根据所述余弦相似度和所述文本相似度得到所述相似度。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述目标日志进行预处理,所述预处理包括去除时间戳、连词分离、分词、命令实体识别和大小写转化中的至少一种。
8.一种日志分类装置,其特征在于,所述装置包括:
提取模块,用于获取待分类的目标日志,并从所述目标日志中提取日志词语,将提取到的日志词语填充至预设的初始日志模板中,得到目标日志模板;
第一确定模块,用于根据所述目标日志模板中各日志词语的词向量,得到所述目标日志模板的第一文本向量;
第二确定模块,用于根据所述第一文本向量从多个第二文本向量中确定相似度满足预设条件的目标文本向量,其中,所述多个第二文本向量与不同的日志类型相对应;
第三确定模块,用于根据所述目标文本向量对应的日志类型确定所述目标日志的日志类型。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
11.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310854488.3A CN116932753A (zh) | 2023-07-12 | 2023-07-12 | 日志分类方法、装置、计算机设备、存储介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310854488.3A CN116932753A (zh) | 2023-07-12 | 2023-07-12 | 日志分类方法、装置、计算机设备、存储介质和程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116932753A true CN116932753A (zh) | 2023-10-24 |
Family
ID=88375005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310854488.3A Pending CN116932753A (zh) | 2023-07-12 | 2023-07-12 | 日志分类方法、装置、计算机设备、存储介质和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116932753A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118069850A (zh) * | 2024-04-18 | 2024-05-24 | 温州市工业与信息技术发展有限公司 | 一种用于文本分类模型的数据智能分类方法 |
-
2023
- 2023-07-12 CN CN202310854488.3A patent/CN116932753A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN118069850A (zh) * | 2024-04-18 | 2024-05-24 | 温州市工业与信息技术发展有限公司 | 一种用于文本分类模型的数据智能分类方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7295965B2 (en) | Method and apparatus for determining a measure of similarity between natural language sentences | |
CN112069298A (zh) | 基于语义网和意图识别的人机交互方法、设备及介质 | |
Vivaldi et al. | Improving term extraction by system combination using boosting | |
CN110717021B (zh) | 人工智能面试中获取输入文本和相关装置 | |
CN112329460A (zh) | 文本的主题聚类方法、装置、设备及存储介质 | |
CN114036955B (zh) | 中心词跨句事件论元检测方法 | |
CN112818110B (zh) | 文本过滤方法、设备及计算机存储介质 | |
CN112000802A (zh) | 基于相似度集成的软件缺陷定位方法 | |
CN114528845A (zh) | 异常日志的分析方法、装置及电子设备 | |
CN114936276A (zh) | 答案生成方法、装置、电子设备及存储介质 | |
CN113407721A (zh) | 检测日志序列异常的方法、装置及计算机存储介质 | |
CN116932753A (zh) | 日志分类方法、装置、计算机设备、存储介质和程序产品 | |
CN110704638A (zh) | 一种基于聚类算法的电力文本词典构造方法 | |
CN114491034A (zh) | 一种文本分类方法及智能设备 | |
CN117931929A (zh) | 图表生成方法、装置、设备及存储介质 | |
CN114969334B (zh) | 异常日志检测方法、装置、电子设备及可读存储介质 | |
CN112579781A (zh) | 文本归类方法、装置、电子设备及介质 | |
CN110377753B (zh) | 基于关系触发词与gru模型的关系抽取方法及装置 | |
US7343280B2 (en) | Processing noisy data and determining word similarity | |
WO2023000725A1 (zh) | 电力计量的命名实体识别方法、装置和计算机设备 | |
CN116578700A (zh) | 日志分类方法、日志分类装置、设备及介质 | |
CN115828888A (zh) | 一种针对多种网络日志进行语义解析及结构化的方法 | |
CN114757205A (zh) | 文本评价方法、装置、设备及存储介质 | |
Anand et al. | Antecedent selection for sluicing: Structure and content | |
Gu et al. | Segment-based hidden Markov models for information extraction |
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 |