异常日志的分析方法、装置及电子设备与流程

    专利查询2022-08-17  117



    1.本发明涉及人工智能领域,具体而言,涉及一种异常日志的分析方法、装置及电子设备。


    背景技术:

    2.系统在运行时往往产生大量日志。在如今多样复杂的企业级web服务和大数据服务支持背景下,不仅集成了各种服务框架,记录日志的方式也多种多样。日志主要包含系统运行的逻辑描述和系统运行时的状态描述两大内容。系统运行的逻辑描述表现为以人类能理解的自然语言,当系统出现错误时,它描述了系统无法继续执行下去的事件,如调用某个模块时发生何种错误、访问某个外部接口时发生何种错误、系统资源耗尽等描述。系统运行时的状态描述表现为一组结构化的数据,如系统运行时各作业提交的时间戳、资源使用率、数据吞吐量,作业执行时间等。这一系列参数定量地描述了系统运行到某个具体阶段时的状态。
    3.在现有技术中,当系统发生异常之后,负责系统运维的员工通常手动地提取出系统日志,并对系统发生错误时的逻辑描述和状态描述进行人工分析以找到系统异常的原因,从而造成分析效率差的问题。
    4.针对上述的问题,目前尚未提出有效的解决方案。


    技术实现要素:

    5.本发明实施例提供了一种异常日志的分析方法、装置及电子设备,以至少解决现有技术中由于依赖人工方式分析日志文件造成的分析效率差的技术问题。
    6.根据本发明实施例的一个方面,提供了一种异常日志的分析方法,包括:获取系统发生异常时所产生的待处理异常日志;将待处理异常日志输入至预先训练得到的目标语言模型中,得到多个第一维向量,其中,每个第一维向量表征待处理异常日志与待处理异常日志所对应的每个句子对的相似概率,每个句子对由待处理异常日志与一个标签解释文本组合生成,标签解释文本至少包括预设异常类型标签的异常详情信息和/或异常解决方案;从多个第一维向量中确定相似概率最大的目标第一维向量,并从目标第一维向量对应的句子对中提取目标标签解释文本;将目标标签解释文本作为待处理异常日志的分析结果。
    7.进一步地,多个第一维向量中的每个第一维向量分别对应一个第二维向量,其中,第二维向量表征待处理异常日志与待处理异常日志所对应的每个句子对的不相似概率。
    8.进一步地,异常日志的分析方法还包括:在将待处理异常日志输入至预先训练得到的目标语言模型中之前,获取多个历史异常日志,其中,每个历史异常日志中至少包含系统逻辑的描述文本,其中,系统逻辑的描述文本至少包括导致系统发生异常的事件的描述信息;根据系统逻辑的描述文本对每个历史异常日志进行向量化处理,得到每个历史异常日志对应的语义向量。
    9.进一步地,异常日志的分析方法还包括:统计系统逻辑的描述文本中每个单词在
    每个历史异常日志中出现的第一频率以及每个单词在所有历史异常日志中出现的第二频率;根据第一频率以及第二频率计算得到每个单词在每个历史异常日志中的权重值;在每个历史异常日志中,对每个单词的权重值与每个单词的单词语义向量进行加权求和,得到每个历史异常日志所对应的语义向量。
    10.进一步地,异常日志的分析方法还包括:在根据系统逻辑的描述文本对每个历史异常日志进行向量化处理,得到每个历史异常日志对应的语义向量之后,对多个历史异常日志对应的语义向量进行聚类处理,得到每个历史异常日志对应的异常类型,其中,每种异常类型对应至少一个历史异常日志;获取每种异常类型对应的预设异常类型标签,并将预设异常类型标签标注在对应的历史异常日志上,得到标注后的历史异常日志,其中,一种异常类型与一个预设异常类型标签相对应;根据标注后的历史异常日志训练得到目标语言模型。
    11.进一步地,异常日志的分析方法还包括:对标注后的历史异常日志进行文本扩充,得到扩充后的历史异常日志,其中,扩充后的历史异常日志至少包括:系统逻辑的描述文本、系统状态的描述文本以及预设异常类型标签的标签解释文本;基于扩充后的历史异常日志对初始语言模型进行训练,得到目标语言模型。
    12.进一步地,异常日志的分析方法还包括:获取预设异常类型标签的标签解释文本,其中,每一种预设异常类型标签对应至少一个标签解释文本;在一种预设异常类型标签与多个标签解释文本相对应的情况下,将每个标签解释文本分别加入至对应预设异常类型标签所对应的每个标注后的历史异常日志中,得到多个扩充后的历史异常日志。
    13.进一步地,待处理异常日志至少包括系统逻辑的描述文本以及系统状态的描述文本,异常日志的分析方法还包括:控制目标语言模型在每种预设异常类型标签对应的至少一个标签解释文本中获取一个待组合的标签解释文本,并在系统逻辑的描述文本、系统状态的描述文本以及待组合的标签解释文本之间插入预设分隔符,得到目标文本,在目标文本的句首位置插入预设句首标签,得到每种预设异常类型标签所对应的句子对,基于每种预设异常类型标签所对应的句子对,生成多个第一维向量。
    14.根据本发明实施例的另一方面,还提供了一种异常日志的分析装置,包括:获取模块,用于获取系统发生异常时所产生的待处理异常日志;输入模块,用于将待处理异常日志输入至预先训练得到的目标语言模型中,得到多个第一维向量,其中,每个第一维向量表征待处理异常日志与待处理异常日志所对应的每个句子对的相似概率,每个句子对由待处理异常日志与一个标签解释文本组合生成,标签解释文本至少包括预设异常类型标签的异常详情信息和/或异常解决方案;第一确定模块,用于从多个第一维向量中确定相似概率最大的目标第一维向量,并从目标第一维向量对应的句子对中提取目标标签解释文本;第二确定模块,用于将目标标签解释文本作为待处理异常日志的分析结果。
    15.根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行上述的异常日志的分析方法。
    16.根据本发明实施例的另一方面,还提供了一种电子设备,包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述的异常日志的分析方法。
    17.在本发明实施例中,采用基于目标语言模型定位待处理异常日志的异常问题的方式,通过获取系统发生异常时所产生的待处理异常日志,然后将待处理异常日志输入至预先训练得到的目标语言模型中,得到多个第一维向量,接着从多个第一维向量中确定相似概率最大的目标第一维向量,并从目标第一维向量对应的句子对中提取目标标签解释文本,从而将目标标签解释文本作为待处理异常日志的分析结果。其中,每个第一维向量表征待处理异常日志与待处理异常日志所对应的每个句子对的相似概率,每个句子对由待处理异常日志与一个标签解释文本组合生成,标签解释文本至少包括预设异常类型标签的异常详情信息和/或异常解决方案。
    18.在上述过程中,由于每个句子对中的标签解释文本对应于不同的预设异常类型标签,每个预设异常类型标签又分别对应于一种异常类型,因此,基于目标语言模型得到待处理异常日志与待处理异常日志所对应的每个句子对的相似概率,实现了对待处理异常日志所对应的异常类型与每个句子对所对应的异常类型的相似度判断。进一步地,从多个句子对中相似概率最大的句子对中提取目标标签解释文本,并将其作为待处理异常日志的分析结果,实现了对该待处理异常日志的异常问题定位,避免了基于人工方式对异常日志进行分析,从而使得操作人员可以快速获取到异常日志的发生原因,进而快速解决异常问题,提高了对异常日志的分析效率和问题解决效率。
    19.由此可见,本技术所提供的方案达到了基于目标语言模型定位待处理异常日志的异常问题的目的,从而实现了提高对异常日志的分析效率的技术效果,进而解决了现有技术中由于依赖人工方式分析日志文件造成的分析效率差的技术问题。
    附图说明
    20.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
    21.图1是根据本发明实施例的一种可选的异常日志的分析方法的示意图;
    22.图2是根据本发明实施例的一种可选的训练目标语言模型的示意图;
    23.图3是根据本发明实施例的一种可选的对标注后的历史异常日志进行文本扩充的示意图;
    24.图4是根据本发明实施例的一种可选的异常日志的分析装置的示意图;
    25.图5是根据本发明实施例的一种可选的电子设备的示意图。
    具体实施方式
    26.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
    27.需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或
    描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
    28.需要说明的是,本公开所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于展示的数据、分析的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
    29.实施例1
    30.根据本发明实施例,提供了一种异常日志的分析方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
    31.图1是根据本发明实施例的一种可选的异常日志的分析方法的示意图,如图1所示,该方法包括如下步骤:
    32.步骤s101,获取系统发生异常时所产生的待处理异常日志。
    33.在步骤s101中,可以通过应用系统、处理器、电子设备等装置获取系统发生异常时所产生的待处理异常日志,在本实施例中,通过数据分析系统获取前述的待处理异常日志。可选的,可以由数据分析系统直接从发生异常的系统中读取新生成的异常日志,也可以由相关操作人员,或发生异常的系统,或其它系统将待处理异常日志输入至数据分析系统中,以供数据分析系统获取。
    34.其中,待处理异常日志至少包括系统逻辑的描述文本以及系统状态的描述文本。系统逻辑的描述文本表现为以人类能理解的自然语言,当系统出现错误时,其描述了系统无法继续执行下去的事件,如调用某个模块时发生何种错误、访问某个外部接口时发生何种错误、系统资源耗尽等描述;系统状态的描述文本表现为一组结构化的数据,如,系统运行时各作业提交的时间戳、资源使用率、数据吞吐量,作业执行时间等,这一系列参数定量地描述了系统运行到某个具体阶段时的状态。
    35.需要说明的是,通过获取系统发生异常时所产生的待处理异常日志,以便于实现后续对待处理异常日志的分析。
    36.步骤s102,将待处理异常日志输入至预先训练得到的目标语言模型中,得到多个第一维向量,其中,每个第一维向量表征待处理异常日志与待处理异常日志所对应的每个句子对的相似概率,每个句子对由待处理异常日志与一个标签解释文本组合生成,标签解释文本至少包括预设异常类型标签的异常详情信息和/或异常解决方案。
    37.在步骤s102中,数据分析系统可以将前述的待处理异常日志输入至预先训练得到的目标语言模型中,在本实施例中,预先训练得到的目标语言模型可以是bert(bidirectional encoder representations from transformers)模型,这种模型是一种经典的大规模预训练语言模型,其旨在通过联合调节模型中所有层种的上下文,来预先训练文本的深度双向表示。
    38.可选的,数据分析系统可以控制目标语言模型将待处理异常日志与多个标签解释文本进行组合,以生成由待处理异常日志与一个标签解释文本组合的句子对,并对句子对
    中待处理异常日志与标签解释文本的相似概率进行计算,从而输出每个句子对所对应的第一维向量,即待处理异常日志与标签解释文本的相似概率。其中,每个标签解释文本为自然语言形式,其对应于一个预设异常类型标签,每个预设异常类型标签对应于一种异常类型。每个标签文本可以是对预设异常类型标签所对应的异常类型的详情描述,也可以是对预设异常类型标签所对应的异常类型的解释(即解决方案),还可以是将对预设异常类型标签所对应的异常类型的详情描述以及解释相结合。
    39.需要说明的是,由于每个句子对中的标签解释文本对应于不同的预设异常类型标签,每个预设异常类型标签又分别对应于一种异常类型,因此,基于目标语言模型得到待处理异常日志与待处理异常日志所对应的每个句子对的相似概率,实现了对待处理异常日志所对应的异常类型与每个句子对所对应的异常类型的相似度判断,从而便于后续定位异常日志的问题。
    40.步骤s103,从多个第一维向量中确定相似概率最大的目标第一维向量,并从目标第一维向量对应的句子对中提取目标标签解释文本。
    41.在步骤s103中,当待处理异常日志与句子对的相似概率越高时,待处理异常日志的异常类型与该句子对所对应的异常类型越相似,第一维向量越大或越趋近于某个值。因此,数据分析系统可以基于第一维向量的值从多个第一维向量中确定相似概率最大的目标第一维向量,并从目标第一维向量对应的句子对中提取出目标标签解释文本,该目标标签解释文本即为对该待处理异常日志所对应的异常原因的相对最优解释。
    42.需要说明的是,通过确定相似概率最大的目标第一维向量,并提取出目标第一维向量所对应的目标标签解释文本,实现了对待处理异常日志所对应的异常原因的相对最优解释的确定,即实现了对待处理异常日志的异常问题定位。
    43.步骤s104,将目标标签解释文本作为待处理异常日志的分析结果。
    44.在步骤s104中,数据分析系统可以将前述确定的目标标签解释文本作为待处理异常日志的分析结果,并通过人机交互界面将该分析结果显示给操作人员,以供操作人员获知分析结果并基于该分析结果对产生待处理异常日志的系统进行维护。
    45.需要说明的是,通过将目标标签解释文本作为待处理异常日志的分析结果,避免了基于人工方式对异常日志进行分析,使得操作人员可以快速获取到异常日志的发生原因,并可基于目标标签解释文本中的异常解决方案快速解决异常问题,提高了异常分析效率和问题解决效率。
    46.基于上述步骤s101至步骤s104所限定的方案,可以获知,在本发明实施例中,采用基于目标语言模型定位待处理异常日志的异常问题的方式,通过获取系统发生异常时所产生的待处理异常日志,然后将待处理异常日志输入至预先训练得到的目标语言模型中,得到多个第一维向量,接着从多个第一维向量中确定相似概率最大的目标第一维向量,并从目标第一维向量对应的句子对中提取目标标签解释文本,从而将目标标签解释文本作为待处理异常日志的分析结果。其中,每个第一维向量表征待处理异常日志与待处理异常日志所对应的每个句子对的相似概率,每个句子对由待处理异常日志与一个标签解释文本组合生成,标签解释文本至少包括预设异常类型标签的异常详情信息和/或异常解决方案。
    47.容易注意到的是,在上述过程中,由于每个句子对中的标签解释文本对应于不同的预设异常类型标签,每个预设异常类型标签又分别对应于一种异常类型,因此,基于目标
    语言模型得到待处理异常日志与待处理异常日志所对应的每个句子对的相似概率,实现了对待处理异常日志所对应的异常类型与每个句子对所对应的异常类型的相似度判断。进一步地,从多个句子对中相似概率最大的句子对中提取目标标签解释文本,并将其作为待处理异常日志的分析结果,实现了对该待处理异常日志的异常问题定位,避免了基于人工方式对异常日志进行分析,从而使得操作人员可以快速获取到异常日志的发生原因,进而快速解决异常问题,提高了对异常日志的分析效率和问题解决效率。
    48.由此可见,本技术所提供的方案达到了基于目标语言模型定位待处理异常日志的异常问题的目的,从而实现了提高对异常日志的分析效率的技术效果,进而解决了现有技术中由于依赖人工方式分析日志文件造成的分析效率差的技术问题。
    49.在一种可选的实施例中,在将待处理异常日志输入至预先训练得到的目标语言模型中,得到多个第一维向量的过程中,数据分析模块可以控制目标语言模型在每种预设异常类型标签对应的至少一个标签解释文本中获取一个待组合的标签解释文本,并在系统逻辑的描述文本、系统状态的描述文本以及待组合的标签解释文本之间插入预设分隔符,得到目标文本,在目标文本的句首位置插入预设句首标签,得到每种预设异常类型标签所对应的句子对,基于每种预设异常类型标签所对应的句子对,生成多个第一维向量。
    50.可选的,各预设异常类型标签及其所对应的至少一个标签解释文本可以存储在预设存储区域内,具体可以是数据库、云服务器等存储区域。当数据分析模块将待处理日志输入到预先训练得到的目标语言模型中后,数据分析模块可以控制目标语言模型从预设存储区域内获取每种预设异常类型标签所分别对应的一个标签解释文本,并作为待组合的标签解释文本,其中,目标语言模型为bert模型。例如,当预设存储区域内有十种预设异常类型标签时,数据分析模块控制目标语言模型获取每一种预设异常类型标签所对应的多个标签解释文本中的一个标签解释文本,从而得到十个待组合的标签解释文本,且每个待组合的标签解释文本分别对应于一种预设异常类型标签。
    51.进一步地,数据分析模块可以控制目标语言模型对待处理异常日志进行文本处理。在文本处理过程中,目标语言模型可以将输入文本的字符序列《w1,...,wi,...wn》转换成《cls,w1,...,wi,...wn,sep》,其中,“cls”为规定的序列起始符,也即预设句首标签,无其他语言含义,“sep”为规定的序列终止符或分隔符,也即预设分隔符,当输入文本的字符序列中包含多个句子时,可以使用对应数目的“sep”。
    52.具体地,在本实施例中,目标语言模型可以提取出待处理异常日志的系统逻辑的描述文本以及系统状态的描述文本,并将系统逻辑的描述文本、系统状态的描述文本以及前述的每个待组合的标签解释文本转换为《cls,系统逻辑的描述文本,sep,系统状态的描述文本,sep,标签解释文本,sep》或《cls,系统逻辑的描述文本,sep,系统状态的描述文本,sep,预设异常类型标签/标签解释文本,sep》,从而得到每种预设异常类型标签所对应的句子对。其中,在bert模型中,通常使用“cls”对应的向量,表达整个输入文本的字符序列的向量。
    53.更进一步地,在得到每种预设异常类型标签所对应的句子对,数据分析系统可以控制目标语言模型对各句子对进行文本表示处理,以生成多个第一维向量。具体地,在bert模型中,构建有多头自注意力机制模块。每一个多头自注意力机制模块的基本计算公式如下:
    [0054][0055]
    其中,softmax()表示归一化处理函数,qr、kr、vr表示句子对对应的向量矩阵被分为的三个部分,分别表示不同的权重矩阵。具体地,在单个抽头r中,句子对对应的向量矩阵会被分成qr、kr、vr三个部分,之后qr、kr、vr三个矩阵经过不同的权重矩阵分别做线性映射并计算相似度,再基于相似度确定权重值,将v矩阵中的各个向量做相应的加权求和,从而得到hr,即单个抽头r所输出的结果。
    [0056]
    之后,对于所有的不同抽头r,将其拼接再进行原向量尺度的线性转换后,与原始输入相加,得到与输入文本对应的文本表示,公式如下:
    [0057]
    x

    =hwh x=[h1,...,hr,...,hr]wh x
    [0058]
    其中,x

    表示与输入文本对应的文本表示,该文本表示兼顾并构建了系统逻辑的描述文本、系统状态的描述文本、对待组合的标签解释文本三者之间的关系,[h1,...,hr,...,hr]表示各个抽头,x表示输入文本,即句子对,wh表示对[h1,...,hr,...,hr]进行原向量尺度的线性转换。
    [0059]
    更进一步地,将生成的文本表示向量经过全连接层mlp(),以抽取并压缩高维向量中不同维度之间的关系,将向量维度降低以适应整体分类任务。由于对待处理异常日志进行文本处理后,任务转变成模型判断该文本对是否相似的二分类问题,因此最终全连接层mlp的输出为二维向量,以表征待处理异常日志与待处理异常日志所对应的每个句子对的相似概率。最后,为了更加直观的表示概率,数据分析系统可以控制目标语言模型使用softmax函数将二维向量归一化,将其中所有变量转化为[0,1]范围内的小数。公式如下所示:
    [0060]
    p=softmax(mlp(x

    cls
    ))
    [0061]
    其中,softmax()表示归一化处理函数,mlp(x

    cls
    )表示全连接层mlp()的输出,p表示输入的句子对所对应的待处理异常日志被分为该句子对中标签解释文本所对应的异常类型的概率向量,p向量为二维向量,且至少包括第一维向量,由此实现了对第一维向量的获取。
    [0062]
    需要说明的是,通过控制目标语言模型生成句子对,并基于句子对生成多个第一维向量,实现了对待处理异常日志与各异常类型的相似度的准确确定。
    [0063]
    在一种可选的实施例中,多个第一维向量中的每个第一维向量分别对应一个第二维向量,其中,第二维向量表征待处理异常日志与待处理异常日志所对应的每个句子对的不相似概率。
    [0064]
    可选的,前述的p向量还包括第二维向量,数据分析系统可以结合第一维向量的值与第二维向量的值从多个第一维向量中确定相似概率最大的目标第一维向量。从而提高对目标第一维向量更准确的判断,进而提高分析准确率。
    [0065]
    在一种可选的实施例中,在将待处理异常日志输入至预先训练得到的目标语言模型中之前,数据分析系统可以获取多个历史异常日志,然后根据系统逻辑的描述文本对每个历史异常日志进行向量化处理,得到每个历史异常日志对应的语义向量。其中,每个历史异常日志中至少包含系统逻辑的描述文本,其中,系统逻辑的描述文本至少包括导致系统
    发生异常的事件的描述信息。
    [0066]
    可选的,如图2所示,数据分析系统可以基于人工输入的数据获取多个历史异常日志,也可以直接从相关系统或存储器等存储装置中进行读取。在获取了多个历史异常数据后,数据分析系统可以提取出每个历史异常数据中的系统逻辑的描述文本,并对每个历史异常数据中的系统逻辑的描述文本进行向量化处理,以得到与该历史异常日志对应的语义向量。
    [0067]
    需要说明的是,通过获取每个历史异常日志对应的语义向量,以便于后续基于各历史异常日志对初始语言模型进行训练得到目标语言模型。
    [0068]
    在一种可选的实施例中,在根据系统逻辑的描述文本对每个历史异常日志进行向量化处理的过程中,数据分析系统可以统计系统逻辑的描述文本中每个单词在每个历史异常日志中出现的第一频率以及每个单词在所有历史异常日志中出现的第二频率,然后根据第一频率以及第二频率计算得到每个单词在每个历史异常日志中的权重值,从而每个历史异常日志中,对每个单词的权重值与每个单词的单词语义向量进行加权求和,得到每个历史异常日志所对应的语义向量。
    [0069]
    可选的,数据分析系统可以基于词频-逆文本频率指数(tf-idf,term frequency-inverse document frequency)对系统逻辑的描述文本进行向量化处理。其中,tf-idf为提取自然语言段落中的关键词技术,某段落中的词汇出现频率乘以该词在整体自然语言语料中出现的逆文档频率,即为tf-idf分数。tf-idf分数越高,则对应的单词在其所在段落中的权重越高,代表着这个词对于整个段落的语义有着更高的贡献。
    [0070]
    具体地,以多个历史异常日志中的任意一个历史异常日志为例,数据分析系统可以获取系统逻辑的描述文本中每个单词在该异常日志中出现的频率,即第一频率,并获取系统逻辑的描述文本中每个单词在所有历史日常日志中出现的概率,即第二频率。从而采用tf-idf方法,基于第一频率与第二频率计算出每个单词对该历史异常日志的tf-idf权重。进一步地,基于前述的每个单词的tf-idf权重对该历史异常日志中的所有单词的单词语义向量进行加权求和,从而可以得到该历史异常日志所对应的语义向量。
    [0071]
    需要说明的是,通过计算每个历史异常日志所对应的系统逻辑的描述文本中每个单词的第一频率和第二频率,并基于第一频率和第二评率对每个历史异常日志所对应的语义向量进行计算,实现了对每个历史异常日志所对应的语义向量的准确确定,进而实现了对历史异常日志中蕴含的自然语言语义的准确提取。
    [0072]
    在一种可选的实施例中,在根据系统逻辑的描述文本对每个历史异常日志进行向量化处理,得到每个历史异常日志对应的语义向量之后,数据分析系统可以对多个历史异常日志对应的语义向量进行聚类处理,得到每个历史异常日志对应的异常类型,然后获取每种异常类型对应的预设异常类型标签,并将预设异常类型标签标注在对应的历史异常日志上,得到标注后的历史异常日志,接着根据标注后的历史异常日志训练得到目标语言模型。其中,每种异常类型对应至少一个历史异常日志,种异常类型与一个预设异常类型标签相对应。
    [0073]
    可选的,如图2所示,可以由操作人员借助系统在开发阶段编写的开发手册以及系统在运营阶段的问题汇总和相关经验,确定系统异常日志的初始聚类簇数,也可以由数据分析系统基于预设数值确定系统异常日志的初始聚类簇数,还可以由数据分析系统基于相
    关算法计算出系统异常日志的初始聚类簇数。在确定了初始聚类簇数后,数据分析系统可以利用k均值聚类算法(k-means clustering algorithm),基于初始聚类簇数对多个历史异常日志对应的语义向量进行多次聚类计算,以得到多个历史异常日志对应的语义向量的聚类结果,从而基于聚类结果确定每个历史异常日志对应的异常类型。
    [0074]
    进一步地,在确定了每个历史异常日志对应的异常类型后,如图2所示,数据分析系统可以获取每种异常类型对应的预设异常类型标签,并将预设异常类型标签标注在对应的历史异常日志上,以得到标注后的历史异常日志,其中,标注后的历史异常文件至少包括预设异常类型标签、系统逻辑的描述文本以及系统状态的描述文本,预设异常类型标签可以是数字、字母或其它标识,也可以直接取为异常类型的名称。
    [0075]
    更进一步地,在得到了标注后的历史异常日志后,数据分析系统将标注后的历史异常日志作为训练样本,以对待训练的语言模型进行训练,得到目标语言模型。
    [0076]
    需要说明的是,通过确定各历史异常日志对应的异常类型,并基于异常类型对各历史异常日志进行标注,实现了对训练样本的获取,从而可以实现对初始语言模型进行有效训练,进而得到能够准确判断的目标语言模型。
    [0077]
    在一种可选的实施例中,在根据标注后的历史异常日志训练得到目标语言模型的过程中,数据分析系统可以对标注后的历史异常日志进行文本扩充,得到扩充后的历史异常日志,从而基于扩充后的历史异常日志对初始语言模型进行训练,得到目标语言模型。其中,扩充后的历史异常日志至少包括:系统逻辑的描述文本、系统状态的描述文本以及预设异常类型标签的标签解释文本。
    [0078]
    可选的,如图2所示,为了应对系统异常类型之间的不平衡分布的状况,在本技术中,可以对前述的训练样本(也即标注后的历史异常日志)进行文本扩充,以丰富训练样本,使得各个系统异常类型之间的分布更加均匀。在文本扩充的过程中,如图3所示,数据分析系统可以从标注后的历史异常日志中提取出系统逻辑的描述文本,并基于人工筛选提取出有效的系统状态的描述文本,同时创建标签解释文本或从预设存储区域中获取标签解释文本。进而可以基于历史异常日志、异常类型以及标签解释文本的关系,将多分类任务转换为句子对任务,即基于历史异常日志、异常类型以及标签解释文本生成与各历史异常文件对应的句子对,然后对句子对进行改造,以实现文本扩充。
    [0079]
    进一步地,在对历史异常日志进行文本扩充后,数据分析系统可以基于扩充后的历史异常日志对初始语言模型进行训练,以得到目标语言模型。其中,在本实施例中,本技术所提供的方法可以采用python语言实现,版本为python 3.7,并可使用pytorch框架作为深度学习模型的支持库,使用开源的huggingface作为基于pytorch的bert预训练模型(即初始语言模型)训练框架,bert预训练模型可以采用google发布的bert-base版本,共包含110m参数。
    [0080]
    需要说明的是,一般而言,异常日志的种类分布并不均衡。一方面,不平衡的数据集会让语言模型在预测时倾向于数据分布占优势的类别,导致模型在一些较严重却分布不占优势的异常类别的预测上倾向于失败。另一方面,异常日志的数据量有可能无法满足训练出一个可用且有效的模型,因此,通过对标注后的历史异常日志进行文本扩充,可以有效扩充训练数据,提升对异常日志进行问题定位的鲁棒性。
    [0081]
    在一种可选的实施例中,在对标注后的历史异常日志进行文本扩充,得到扩充后
    的历史异常日志的过程中,数据分析系统可以获取预设异常类型标签的标签解释文本,并在一种预设异常类型标签与多个标签解释文本相对应的情况下,将每个标签解释文本分别加入至对应预设异常类型标签所对应的每个标注后的历史异常日志中,从而得到多个扩充后的历史异常日志。其中,每一种预设异常类型标签对应至少一个标签解释文本。
    [0082]
    具体地,在常规应用中,一个典型的多分类任务(文本分类)的数据集格式为:《句子,标签》,并基于此格式的数据集直接的多分类去预测,由于相关系统或模型设法直接从输入的文本去映射标签,因此并没有使用额外的信息。而在本技术中,由于每个异常类型均有一套异常解决机制,因此,可以将前述典型的多分类任务的数据集格式转变为《历史异常日志的系统逻辑的描述文本和系统状态的描述文本,句子_2,标签(0,1)》,其中,句子_2的内容即为标签解释文本,标签(0,1)表示各句子_2中的标签解释文本所对应的预设异常类型标签。
    [0083]
    进一步地,在获取到每个历史异常日志所对应的句子对后,如图3所示,数据分析系统可以获取每个预设异常类型标签对应的至少一个标签解释文本,并生成解释字典。解释字典中每一对词条格式如下:
    [0084]
    {
    [0085]“标签”:[解释1,
    ···
    ,解释n],
    [0086]“标签应对”:[应对1,
    ···
    ,应对m]
    [0087]
    }
    [0088]
    其中,[解释1,
    ···
    ,解释n]表示标签解释文本中对应的预设异常类型标签的异常详情信息,[应对1,
    ···
    ,应对m]表示标签解释文本中对应的预设异常类型标签的异常解决方案,当标签解释文本中只存在解释或只存在标签时,由此可以产生m n条标签解释文本,当标签解释文本中只存在解释和标签时,由此可以产生m*n条标签解释文本,当标签解释文本既可以只存在解释或只存在标签,也可以只存在解释和标签时,由此可以产生m*n m n条标签解释文本
    [0089]
    之后,基于解释字典,对前述的句子对中的句子_2所对应的内容进行扩充。即对于任意历史异常日志,如果其对应的句子对中的异常类型对应有多种前述的标签解释文本,则可以基于每一条标签解释文本均生成一条与该历史异常日志对应的句子对,从而使得一个历史异常日志具有与其对应的多条属于同一异常类型的句子对,从而实现文本扩充。需要说明的是,在前述文本扩充的过程中,数据分析系统可以基于实际情况,根据各异常类型的数据量,拉平不平衡的数据分布,即使得在最终得到的多个扩充后的历史异常日志(即句子对)中,各异常类型的数据量为均匀分布。
    [0090]
    需要说明的是,通过基于每一种预设异常类型标签对应的至少一个标签解释文本对历史异常日志进行扩充,实现了对历史异常日志的有效扩充,避免了训练数据中数据分布不平衡,从而提高目标语言模型的鲁棒性。
    [0091]
    需要说明的是,在本技术中,一方面,基于异常日志中的系统逻辑的描述文本,采用tf-idf算法进行文本向量化表征,并利用k-means聚类算法,实现了大规模快速的异常和错误自动归纳,另一方面。基于bert模型,融合异常日志中的系统逻辑的描述文本与系统状态的描述文本进行建模,能全面的将异常日志中的状态和逻辑隐患关系暴露出来,自动化的进行问题定位,再一方面,将多分类任务转换为句子对相似性判断任务,扩充数据,可以
    有效提升异常日志问题定位方法的鲁棒性。
    [0092]
    由此可见,本技术所提供的方案达到了基于目标语言模型定位待处理异常日志的异常问题的目的,从而实现了提高对异常日志的分析效率的技术效果,进而解决了现有技术中由于依赖人工方式分析日志文件造成的分析效率差的技术问题。
    [0093]
    实施例2
    [0094]
    根据本发明实施例,提供了一种异常日志的分析装置的实施例,其中,图4是根据本发明实施例的一种可选的异常日志的分析装置的示意图,如图4所示,该装置包括:
    [0095]
    获取模块401,用于获取系统发生异常时所产生的待处理异常日志;
    [0096]
    输入模块402,用于将待处理异常日志输入至预先训练得到的目标语言模型中,得到多个第一维向量,其中,每个第一维向量表征待处理异常日志与待处理异常日志所对应的每个句子对的相似概率,每个句子对由待处理异常日志与一个标签解释文本组合生成,标签解释文本至少包括预设异常类型标签的异常详情信息和/或异常解决方案;
    [0097]
    第一确定模块403,用于从多个第一维向量中确定相似概率最大的目标第一维向量,并从目标第一维向量对应的句子对中提取目标标签解释文本;
    [0098]
    第二确定模块404,用于将目标标签解释文本作为待处理异常日志的分析结果。
    [0099]
    需要说明的是,上述获取模块401、输入模块402、第一确定模块403以及第二确定模块404对应于上述实施例中的步骤s101至步骤s104,四个模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例1所公开的内容。
    [0100]
    可选的,多个第一维向量中的每个第一维向量分别对应一个第二维向量,其中,第二维向量表征待处理异常日志与待处理异常日志所对应的每个句子对的不相似概率。
    [0101]
    可选的,异常日志的分析装置还包括:第一子获取模块,用于获取多个历史异常日志,其中,每个历史异常日志中至少包含系统逻辑的描述文本,其中,系统逻辑的描述文本至少包括导致系统发生异常的事件的描述信息;第一处理模块,用于根据系统逻辑的描述文本对每个历史异常日志进行向量化处理,得到每个历史异常日志对应的语义向量。
    [0102]
    可选的,第一处理模块还包括:统计模块,用于统计系统逻辑的描述文本中每个单词在每个历史异常日志中出现的第一频率以及每个单词在所有历史异常日志中出现的第二频率;第一计算模块,用于根据第一频率以及第二频率计算得到每个单词在每个历史异常日志中的权重值;第二计算模块,用于在每个历史异常日志中,对每个单词的权重值与每个单词的单词语义向量进行加权求和,得到每个历史异常日志所对应的语义向量。
    [0103]
    可选的,异常日志的分析装置还包括:第二处理模块,用于对多个历史异常日志对应的语义向量进行聚类处理,得到每个历史异常日志对应的异常类型,其中,每种异常类型对应至少一个历史异常日志;第二子获取模块,用于获取每种异常类型对应的预设异常类型标签,并将预设异常类型标签标注在对应的历史异常日志上,得到标注后的历史异常日志,其中,一种异常类型与一个预设异常类型标签相对应;第三处理模块,用于根据标注后的历史异常日志训练得到目标语言模型。
    [0104]
    可选的,第三处理模块还包括:文本扩充模块,用于对标注后的历史异常日志进行文本扩充,得到扩充后的历史异常日志,其中,扩充后的历史异常日志至少包括:系统逻辑的描述文本、系统状态的描述文本以及预设异常类型标签的标签解释文本;第四处理模块,用于基于扩充后的历史异常日志对初始语言模型进行训练,得到目标语言模型。
    [0105]
    可选的,文本扩充模块还包括:第三子获取模块,用于获取预设异常类型标签的标签解释文本,其中,每一种预设异常类型标签对应至少一个标签解释文本;第五处理模块,用于在一种预设异常类型标签与多个标签解释文本相对应的情况下,将每个标签解释文本分别加入至对应预设异常类型标签所对应的每个标注后的历史异常日志中,得到多个扩充后的历史异常日志。
    [0106]
    可选的,待处理异常日志至少包括系统逻辑的描述文本以及系统状态的描述文本,输入模块还包括:第六处理模块,用于控制目标语言模型在每种预设异常类型标签对应的至少一个标签解释文本中获取一个待组合的标签解释文本,并在系统逻辑的描述文本、系统状态的描述文本以及待组合的标签解释文本之间插入预设分隔符,得到目标文本,在目标文本的句首位置插入预设句首标签,得到每种预设异常类型标签所对应的句子对,基于每种预设异常类型标签所对应的句子对,生成多个第一维向量。
    [0107]
    实施例3
    [0108]
    根据本发明实施例的另一方面,还提供了一种计算机可读存储介质,计算机可读存储介质包括存储的程序,其中,在程序运行时控制计算机可读存储介质所在设备执行上述的异常日志的分析方法。
    [0109]
    实施例4
    [0110]
    根据本发明实施例的另一方面,还提供了一种电子设备,其中,图5是根据本发明实施例的一种可选的电子设备的示意图,如图5所示,电子设备包括存储器和处理器,存储器中存储有计算机程序,处理器被设置为运行计算机程序以执行上述的异常日志的分析方法。
    [0111]
    上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
    [0112]
    在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
    [0113]
    在本技术所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
    [0114]
    作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
    [0115]
    另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
    [0116]
    集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备
    (可为个人计算机、服务器或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
    [0117]
    以上仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

    技术特征:
    1.一种异常日志的分析方法,其特征在于,包括:获取系统发生异常时所产生的待处理异常日志;将所述待处理异常日志输入至预先训练得到的目标语言模型中,得到多个第一维向量,其中,每个第一维向量表征所述待处理异常日志与所述待处理异常日志所对应的每个句子对的相似概率,所述每个句子对由所述待处理异常日志与一个标签解释文本组合生成,所述标签解释文本至少包括预设异常类型标签的异常详情信息和/或异常解决方案;从所述多个第一维向量中确定所述相似概率最大的目标第一维向量,并从所述目标第一维向量对应的句子对中提取目标标签解释文本;将所述目标标签解释文本作为所述待处理异常日志的分析结果。2.根据权利要求1所述的方法,其特征在于,所述多个第一维向量中的每个第一维向量分别对应一个第二维向量,其中,所述第二维向量表征所述待处理异常日志与所述待处理异常日志所对应的每个句子对的不相似概率。3.根据权利要求1所述的方法,其特征在于,在将所述待处理异常日志输入至预先训练得到的目标语言模型中之前,所述方法还包括:获取多个历史异常日志,其中,每个历史异常日志中至少包含系统逻辑的描述文本,其中,所述系统逻辑的描述文本至少包括导致所述系统发生异常的事件的描述信息;根据所述系统逻辑的描述文本对所述每个历史异常日志进行向量化处理,得到所述每个历史异常日志对应的语义向量。4.根据权利要求3所述的方法,其特征在于,根据所述系统逻辑的描述文本对所述每个历史异常日志进行向量化处理,得到所述每个历史异常日志对应的语义向量,包括:统计所述系统逻辑的描述文本中每个单词在所述每个历史异常日志中出现的第一频率以及所述每个单词在所有历史异常日志中出现的第二频率;根据所述第一频率以及所述第二频率计算得到所述每个单词在所述每个历史异常日志中的权重值;在所述每个历史异常日志中,对所述每个单词的权重值与所述每个单词的单词语义向量进行加权求和,得到所述每个历史异常日志所对应的语义向量。5.根据权利要求3所述的方法,其特征在于,在根据所述系统逻辑的描述文本对所述每个历史异常日志进行向量化处理,得到所述每个历史异常日志对应的语义向量之后,所述方法还包括:对所述多个历史异常日志对应的语义向量进行聚类处理,得到所述每个历史异常日志对应的异常类型,其中,每种异常类型对应至少一个历史异常日志;获取所述每种异常类型对应的预设异常类型标签,并将所述预设异常类型标签标注在对应的历史异常日志上,得到标注后的历史异常日志,其中,一种异常类型与一个预设异常类型标签相对应;根据所述标注后的历史异常日志训练得到所述目标语言模型。6.根据权利要求5所述的方法,其特征在于,根据所述标注后的历史异常日志训练得到所述目标语言模型,包括:对所述标注后的历史异常日志进行文本扩充,得到扩充后的历史异常日志,其中,所述扩充后的历史异常日志至少包括:所述系统逻辑的描述文本、系统状态的描述文本以及所
    述预设异常类型标签的标签解释文本;基于所述扩充后的历史异常日志对初始语言模型进行训练,得到所述目标语言模型。7.根据权利要求6所述的方法,其特征在于,对所述标注后的历史异常日志进行文本扩充,得到扩充后的历史异常日志,包括:获取所述预设异常类型标签的标签解释文本,其中,每一种预设异常类型标签对应至少一个标签解释文本;在一种预设异常类型标签与多个标签解释文本相对应的情况下,将每个标签解释文本分别加入至对应预设异常类型标签所对应的每个标注后的历史异常日志中,得到多个扩充后的历史异常日志。8.根据权利要求1所述的方法,其特征在于,所述待处理异常日志至少包括系统逻辑的描述文本以及系统状态的描述文本,其中,将所述待处理异常日志输入至预先训练得到的目标语言模型中,得到多个第一维向量,包括:控制所述目标语言模型在每种预设异常类型标签对应的至少一个标签解释文本中获取一个待组合的标签解释文本,并在所述系统逻辑的描述文本、所述系统状态的描述文本以及所述待组合的标签解释文本之间插入预设分隔符,得到目标文本,在目标文本的句首位置插入预设句首标签,得到所述每种预设异常类型标签所对应的句子对,基于所述每种预设异常类型标签所对应的句子对,生成所述多个第一维向量。9.一种异常日志的分析装置,其特征在于,所述装置包括:获取模块,用于获取系统发生异常时所产生的待处理异常日志;输入模块,用于将所述待处理异常日志输入至预先训练得到的目标语言模型中,得到多个第一维向量,其中,每个第一维向量表征所述待处理异常日志与所述待处理异常日志所对应的每个句子对的相似概率,所述每个句子对由所述待处理异常日志与一个标签解释文本组合生成,所述标签解释文本至少包括预设异常类型标签的异常详情信息和/或异常解决方案;第一确定模块,用于从所述多个第一维向量中确定所述相似概率最大的目标第一维向量,并从所述目标第一维向量对应的句子对中提取目标标签解释文本;第二确定模块,用于将所述目标标签解释文本作为所述待处理异常日志的分析结果。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行权利要求1至8中任意一项所述的异常日志的分析方法。11.一种电子设备,包括存储器和处理器,其特征在于,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行权利要求1至8中任意一项所述的异常日志的分析方法。

    技术总结
    本发明公开了一种异常日志的分析方法、装置及电子设备。涉及人工智能领域,该方法包括:获取系统发生异常时所产生的待处理异常日志;将待处理异常日志输入至预先训练得到的目标语言模型中,得到多个第一维向量;从多个第一维向量中确定相似概率最大的目标第一维向量,并从目标第一维向量对应的句子对中提取目标标签解释文本;将目标标签解释文本作为待处理异常日志的分析结果。本发明解决了现有技术中由于依赖人工方式分析日志文件造成的分析效率差的技术问题。率差的技术问题。率差的技术问题。


    技术研发人员:杨济银
    受保护的技术使用者:中国工商银行股份有限公司
    技术研发日:2022.02.14
    技术公布日:2022/5/25
    转载请注明原文地址:https://tc.8miu.com/read-8808.html

    最新回复(0)