异常检测模型的训练方法及相关设备与流程

未命名 08-02 阅读:102 评论:0


1.本公开涉及计算机技术领域,具体而言,涉及一种异常检测模型的训练方法、异常检测模型的训练装置、电子设备及存储介质。


背景技术:

2.为了对计算机系统进行维护及监测,通常会通过日志来记录系统的运行状态,运维人员通过对日志进行分析来发现系统的运维状况,进而做相应的处理;然而,运维日志量级非常大,每分钟甚至每秒钟都会产生大量的运维日志。
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.图6是本公开另一示例性实施例中的异常检测模型的训练方法的流程图。
27.图7是本公开再一示例性实施例中的异常检测模型的训练方法的流程图。
28.图8是本公开再一示例性实施例中的异常检测模型的训练方法的流程图。
29.图9是本公开一示例性实施例中的异常检测模型的训练过程和应用过程的示意图。
30.图10是本公开一示例性实施例中的异常检测模型的训练装置的框图。
31.图11是根据一示例性实施方式示出的一种电子设备的结构示意图。
具体实施方式
32.现在将参考附图更全面地描述示例实施例。然而,示例实施例能够以多种形式实施,且不应被理解为限于在此阐述的实施例;相反,提供这些实施例使得本公开将全面和完整,并将示例实施例的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示
相同或类似的部分,因而将省略对它们的重复描述。
33.本公开所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。
34.附图仅为本公开的示意性图解,图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在至少一个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
35.附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和步骤,也不是必须按所描述的顺序执行。例如,有的步骤还可以分解,而有的步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。
36.此外,在本公开的描述中,用语“一个”、“一”、“该”、“所述”和“至少一个”用以表示存在至少一个要素或组成部分;用语“包含”、“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素或组成部分之外还可存在另外的要素或组成部分;用语“第一”、“第二”和“第三”等仅作为标记使用,不是对其对象的数量限制。
37.图1示出了可以应用本公开实施例的异常检测模型的训练方法的示例性系统架构的示意图。
38.如图1所示,该系统架构可以包括服务器101、网络102、终端设备103、终端设备104和终端设备105。网络102用以在终端设备103、终端设备104或终端设备105和服务器101之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
39.服务器101可以是提供各种服务的服务器,例如对用户利用终端设备103、终端设备104或终端设备105所进行操作的装置提供支持的后台管理服务器。后台管理服务器可以对接收到的请求等数据进行分析等处理,并将处理结果反馈给终端设备103、终端设备104或终端设备105。
40.终端设备103、终端设备104和终端设备105可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、可穿戴智能设备、虚拟现实设备、增强现实设备等,但并不局限于此。
41.本公开实施例中,服务器101可以:获取历史日志序列及其日志类别标签;对历史日志序列进行提取,获得日志模板序列,其中日志模板序列中包括多个目标词;针对每个目标词进行随机初始化,生成每个目标词的词嵌入向量;针对每个目标词的词性随机生成初始词性权重,并根据每个目标词的词性及其初始词性权重生成词性权重向量;根据每个目标词的词嵌入向量和词性权重向量,生成日志模板序列的日志模板特征向量;通过异常检测模型对日志模板特征向量进行处理,获得日志预测类别;根据日志类别标签和日志预测类别调整每个目标词的初始词性权重和异常检测模型的模型参数,获得每个目标词的目标词性权重和训练完成的异常检测模型。
42.应该理解,图1中的终端设备103、终端设备104、终端设备105、网络102和服务器101的数目仅仅是示意性的,服务器101可以是一个实体的服务器,还可以为多个服务器组成的服务器集群,还可以是云端服务器,根据实际需要,可以具有任意数目的终端设备、网络和服务器。
43.下面,将结合附图及实施例对本公开示例实施例中的异常检测模型的训练方法的各个步骤进行更详细的说明。
44.图2是本公开一示例性实施例中的异常检测模型的训练方法的流程图。本公开实施例提供的方法可以由任意具备计算处理能力的电子设备执行,例如由图1所示服务器或终端设备执行,但本公开并不限定于此。
45.如图2所示,本公开实施例提供的异常检测模型的训练方法可以包括以下步骤。
46.在步骤s202中,获取历史日志序列及其日志类别标签。
47.本公开实施例中,可以获取特定领域的历史日志序列及历史日志序列的日志类别标签,特定领域例如可以是运维领域,但本公开并不限定于此。
48.本公开实施例中,历史日志序列可以是系统运行时产生的日志记录,一般量级很大;原始的历史日志序列的格式例如可以如图3(a)所示,其包括具有通用性形式信息(如“error”、“rpcexception”等)以及特异性信息(如“com.jd.jsf.gd.error”)等。
49.本公开实施例中,历史日志序列的日志类别标签可以表示历史日志序列属于正常类别还是异常类别,还可以表示历史日志序列的异常原因;例如日志类别标签可以包括正常和异常;日志类别标签还可以包括0、1、2、3,其中0、1、2、3分别表示4种导致异常的原因。
50.在步骤s204中,对历史日志序列进行提取,获得日志模板序列,其中日志模板序列中包括多个目标词。
51.本公开实施例中,可以对历史日志序列进行模板提取,得到历史日志序列对应的日志模板序列;可以将日志模板序列中包括的词称为目标词,每个日志模板序列中可以包括多个目标词。
52.在示例性实施例中,对历史日志序列进行提取,获得日志模板序列,包括:使用预设符号替换历史日志序列中包括的特异性信息,得到日志模板序列。
53.例如,对原始日志序列进行模板提取,将其中的特异性信息用符号*代替,以得到抽象的日志模板。
54.本公开实施例中,可以使用drain(日志解析算法)模型或者基于频繁项的ft-tree提取日志模板,得到日志模板序列;日志模板序列的样例如图3(b)所示,从中可以看到,特异性信息(如ip地址)经过模板提取后已被删去。
55.在步骤s206中,针对每个目标词进行随机初始化,生成每个目标词的词嵌入向量;针对每个目标词的词性随机生成初始词性权重,并根据每个目标词的词性及其初始词性权重生成词性权重向量。
56.本公开实施例中,为了对日志模板序列数字化(也可以称为特征化),可以先对日志模板序列中的每个目标词进行词嵌入,得到词嵌入向量;本公开实施例采用随机初始化以生成词嵌入向量的方式,而不是采用预训练好的参数,可以更好地适应文本含义较为独特的特定领域(例如运维领域)。
57.本公开实施例中,为了更好地对文本进行理解,对不同词性的词语应给予不同的
关注度;针对日志模板序列中的每个目标词,可以先确定其词性;针对每个词性随机生成初始词性权重,然后根据每个目标词的词性及其初始词性权重生成词性权重向量。
58.其中,词性可以包括但不限于nnp(合成名词短语)、v(动词,包含原形、分词等各形式)、nn(名词,包含复数等形式)、in(介词)、rb(副词)、jj(形容词)等。
59.词语的词性是非常重要的信息,在进行文本阅读的时候,词语的词性不同,在阅读时对其重视程度也大不相同,例如动词可能是在一句话中非常重要的词性,而冠词的重要性相对较低。
60.本公开实施例中,针对不同的词性随机生成初始词性权重,在后续模型训练时调整每个词性的初始词性权重,使得训练获得的每个词性的目标词性权重可以表征每个词性的重要程度。
61.在示例性实施例中,针对每个目标词的词性随机生成初始词性权重,并根据每个目标词的词性及其初始词性权重生成词性权重向量,包括:将日志模板序列输入至词性识别模型,获得日志模板序列中每个目标词的词性,并根据每个目标词的词性生成词性向量;针对每个词性,随机生成每个词性的初始词性权重;根据词性向量和每个词性的初始词性权重生成词性权重向量。
62.其中,词性识别模型例如可以是stanford-core-nlp(stanford-core-natural language processing,自然语言处理工具)模型。
63.具体地,参考图4,可以将日志模板序列的文本信息“error*rpcexception failed after*times”输入至词性识别模型,得到词性分析结果,该词性分析结果包括每个目标词的词性:“error”的词性为nn,“rpcexception”的词性为nnp,“failed”的词性为v,“after”的词性为in,“times”的词性为nn;根据每个目标词的词性生成词性向量:[nn nnp v in nn]。
[0064]
具体地,可以预先设置权重区间,从权重区间中为每个词性随机选取权重作为其初始权重,每个词性的权重(也可称为权重系数)如表1所示;在后续模型训练的过程中,可以对每个词性的权重进行调整。
[0065]
表1部分词性及对应的自动学习权重系数表
[0066]
词性(pos)权重系数(w
x
)nnp(合成名词短语)w1v(动词,包含原形、分词等各形式)w2nn(名词,包含复数等形式)w3in(介词)w4rb(副词)w5jj(形容词)w6…………
[0067]
在步骤s208中,根据每个目标词的词嵌入向量和词性权重向量,生成日志模板序列的日志模板特征向量。
[0068]
本公开实施例中,在得到每个目标词的词嵌入向量和每个目标词的词性权重向量之后,可以将日志模板序列由文本状态转化为数字状态。
[0069]
在示例性实施例中,根据每个目标词的词嵌入向量和词性权重向量,生成日志模
板序列的日志模板特征向量,包括:将每个目标词的词嵌入向量和每个目标词的词性权重向量进行融合处理,获得每个目标词的词特征向量;根据每个目标词的词特征向量,将日志模板序列特征化,生成日志模板特征向量。
[0070]
例如,对于每个日志模板序列,对于其中的每一个单词,将其词嵌入向量与词性权重向量相加得到该词的词特征向量,然后按照词的顺序排列对应的词特征向量形成矩阵,得到数字化的日志模板(即日志模板特征向量),作为之后异常检测模型的输入。
[0071]
在步骤s210中,通过异常检测模型对日志模板特征向量进行处理,获得日志预测类别;根据日志类别标签和日志预测类别调整每个目标词的初始词性权重和异常检测模型的模型参数,获得每个目标词的目标词性权重和训练完成的异常检测模型。
[0072]
本公开实施例中,异常检测模型可以是由text-cnn(文本分类模型)和lstm(long short-term memory,长短期记忆网络)组成的网络框架。
[0073]
具体地,参考图5,异常检测模型的训练窗口的宽度为h,可以将日志模板特征向量中的h个词特征向量分别输入至text-cnn和lstm中进行处理,将lstm的输出结果合并(merge)后输入至softmax(归一化)层,输出日志预测类别的softmax概率;根据日志类别标签和日志预测类别的softmax概率通过交叉熵损失函数计算损失值,根据损失值调整每个目标词的初始词性权重和训练异常检测模型,使得损失值最小化,获得每个目标词的目标词性权重和训练完成的异常检测模型。
[0074]
具体地,参考图5,在训练异常检测模型时,可以通过pbt(population based training,超参数自动调优方法)来调整每个目标词的初始词性权重、text-cnn中的参数以及lstm中的参数。
[0075]
在示例性实施例中,根据日志类别标签和日志预测类别调整每个目标词的初始词性权重和异常检测模型的模型参数,获得每个目标词的目标词性权重和训练完成的异常检测模型,包括:在日志类别标签和日志预测类别之间的损失值大于预设损失值的情况下,调整每个目标词的初始词性权重和异常检测模型的模型参数;根据每个目标词的词性及其调整后的初始词性权重生成调整后的词性权重向量;并根据每个目标词的词嵌入向量和调整后的词性权重向量,生成调整后的日志模板特征向量;通过调整后的异常检测模型对调整后的日志模板特征向量进行处理,获得调整后的日志预测类别;在日志类别标签和调整后的日志预测类别之间的损失值小于或等于预设损失值的情况下,将调整后的初始词性权重确定为目标词性权重,将调整后的异常检测模型确定为训练完成的异常检测模型。
[0076]
具体地,在根据日志类别标签和日志预测类别计算损失值之后,将损失值和预设损失值进行比较,其中预设损失值可以根据实际情况设置;若损失值大于预设损失值,直至根据日志类别标签和调整后的日志预测类别计算得到的损失值小于或等于预设损失值,模型训练完成,此时将调整后的初始词性权重确定为目标词性权重,将调整后的异常检测模型确定为训练完成的异常检测模型。
[0077]
本公开实施例提供的异常检测模型的训练方法,一方面,针对日志模板序列中的每个目标词进行随机初始化,生成每个目标词的词嵌入向量,未采用预训练好的词嵌入向量作为模型的初始化向量,可以使得训练获得的异常检测模型针对特定领域的适应性更好;另一方面,针对每个目标词的词性随机生成初始词性权重,在模型训练过程中根据日志类别标签和日志预测类别调整初始词性权重,即在模型训练过程中考虑了词性信息,由此
训练获得的每个词性的目标词性权重可以表征每个词性的重要程度,同时训练获得的异常检测模型在预测日志序列的类别时更加准确。
[0078]
此外,本公开实施例中的日志类别标签可以表示日志序列属于正常类别还是异常类别,还可以表示日志序列的异常原因,由此可以解决日志检测中的多分类问题,训练获得的异常检测模型可以得到日志异常的原因,从而在应用于运维领域时提高运维效率,使运维更加智能。
[0079]
图6是本公开另一示例性实施例中的异常检测模型的训练方法的流程图。图6示出了在根据上述实施例得到每个目标词的目标词性权重和训练完成的异常检测模型之后,该异常检测模型的应用过程。
[0080]
本公开实施例中,在图2所示的异常检测模型的训练方法的步骤s210之后,图6所示的异常检测模型的训练方法还可以包括以下步骤。
[0081]
在步骤s602中,获取待检测日志序列。
[0082]
本公开实施例中,待检测日志序列指的是在实际应用中需要进行类别判断的日志序列。
[0083]
在步骤s604中,对待检测日志序列进行提取,获得待检测模板序列,其中待检测模板序列中包括多个待检测词。
[0084]
本公开实施例中,可以对待检测日志序列进行模板提取,将待检测日志序列中的特异性信息使用预设符号替换,得到待检测模板序列;可以将待检测模板序列中包括的词称为待检测词,每个待检测模板序列中可以包括多个待检测词。
[0085]
在步骤s606中,根据每个目标词的词嵌入向量和每个目标词的目标词性权重,确定每个待检测词的词嵌入向量和目标词性权重。
[0086]
本公开实施例中,可以使用上述步骤s206中针对每个目标词进行随机初始化生成的词嵌入向量确定每个待检测词的词嵌入向量;使用上述步骤s210中得到的每个目标词的目标词性权重确定每个待检测词的目标词性权重。
[0087]
具体地,针对其中一个待检测词,从多个目标词中确定与该待检测词相同的目标词,将该目标词对应的词嵌入向量作为该待检测词的词嵌入向量,将该目标词的目标词性权重作为该待检测词的目标词性权重。
[0088]
在步骤s608中,根据每个待检测词的词嵌入向量和目标词性权重向量,生成待检测模板序列的待检测特征向量。
[0089]
本公开实施例中,对于每个待检测词,将其词嵌入向量与目标词性权重向量相加得到该待检测词的词特征向量,然后按照词的顺序排列对应的词特征向量形成矩阵,得到数字化的待检测模板序列(即待检测特征向量),作为之后异常检测模型的输入。
[0090]
在步骤s610中,通过训练完成的异常检测模型对待检测特征向量进行处理,获得待检测日志序列的日志预测类别。
[0091]
本公开实施例中,将待检测特征向量输入至训练完成的异常检测模型,即可获得该待检测日志序列属于各个类别的softmax概率,将概率最大的类别作为该待检测日志序列的日志预测类别。
[0092]
图7是本公开另一示例性实施例中的异常检测模型的训练方法的流程图。图7示出了在根据上述实施例得到每个目标词的目标词性权重和训练完成的异常检测模型之后,获
得每个目标词的目标词特征向量的具体过程。
[0093]
本公开实施例中,在图2所示的异常检测模型的训练方法的步骤s210之后,图7所示的异常检测模型的训练方法还可以包括以下步骤。
[0094]
在步骤s702中,根据每个目标词的词性及其目标词性权重生成目标词性权重向量。
[0095]
本公开实施例中,可以根据每个目标词的词性生成词性向量;在得到每个目标词的目标词性权重(可以称为优化后的词性权重)后,根据每个目标词的词性向量及每个目标词的目标词性权重生成目标词性权重向量。
[0096]
在步骤s704中,将每个目标词的词嵌入向量和每个目标词的目标词性权重向量进行融合处理,获得每个目标词的目标词特征向量。
[0097]
本公开实施例中,可以将每个目标词的词嵌入向量和目标词性权重向量相加,得到每个目标词的目标词特征向量(可以称为优化后的词向量);在实际应用中,可以将与待检测词相同的目标词的目标词特征向量作为待检测词的目标词特征向量。
[0098]
图8是本公开再一示例性实施例中的异常检测模型的训练方法的流程图。图8示出了在根据上述实施例得到每个目标词的目标词特征向量之后异常检测模型的应用过程。
[0099]
本公开实施例中,在图7所示的异常检测模型的训练方法的步骤s704之后,图8所示的异常检测模型的训练方法还可以包括以下步骤。
[0100]
在步骤s802中,获取待检测日志序列。
[0101]
本公开实施例中,待检测日志序列指的是在实际应用中需要进行类别判断的日志序列。
[0102]
在步骤s804中,对待检测日志序列进行提取,获得待检测模板序列,其中待检测模板序列中包括多个待检测词。
[0103]
本公开实施例中,可以对待检测日志序列进行模板提取,将待检测日志序列中的特异性信息使用预设符号替换,得到待检测模板序列;可以将待检测模板序列中包括的词称为待检测词,每个待检测模板序列中可以包括多个待检测词。
[0104]
在步骤s806中,根据每个目标词的目标词特征向量,确定每个待检测词的目标词特征向量。
[0105]
具体地,针对其中一个待检测词,从多个目标词中确定与该待检测词相同的目标词,将该目标词对应的目标词特征向量作为该待检测词的目标词特征向量。
[0106]
在步骤s808中,根据每个待检测词的目标词特征向量,生成待检测模板序列的待检测特征向量。
[0107]
本公开实施例中,可以按照词的顺序排列对应的目标词特征向量以形成矩阵,得到待检测模板序列的待检测特征向量,作为之后异常检测模型的输入。
[0108]
在步骤s810中,通过训练完成的异常检测模型对待检测特征向量进行处理,获得待检测日志序列的日志预测类别。
[0109]
本公开实施例中,将待检测特征向量输入至训练完成的异常检测模型,即可获得该待检测日志序列属于各个类别的softmax概率,将概率最大的类别作为该待检测日志序列的日志预测类别。
[0110]
图9是本公开一示例性实施例中的异常检测模型的训练过程和应用过程的示意
图。
[0111]
如图9所示,在异常检测模型的训练过程中,训练数据包括历史日志序列及其日志类别标签;可以先对日志序列进行解析,获得日志模板序列,该日志模板序列中包括日志模板1、
……
日志模板i-1、日志模板i、日志模板i+1
……
;日志模板中包括多个词(vocabulary),每个词具有对应的词性(pos);然后随机初始化词嵌入向量与词性权重向量,用初始化的词嵌入向量与词权重向量对日志模板进行向量化,使用未经过训练的word2vector将每个单词文本嵌入到向量空间中得到词嵌入向量a,使用pos2vector将每个词性嵌入到向量空间中得到词性权重向量v
ldw
,将词嵌入向量和词性权重向量相加得到日志模板特征向量v;将日志模板特征向量中的h个词特征向量输入至异常检测模型中的text-cnn和lstm中进行处理,将lstm的输出结果合并(merge)后输入至softmax(归一化)层,输出日志预测类别的softmax概率;根据日志类别标签和日志预测类别的softmax概率计算损失值,通过pbt调整每个目标词的初始词性权重和异常检测模型的模型参数,使得损失值最小化,获得每个目标词的目标词性权重和训练完成的异常检测模型。
[0112]
如图9所示,在异常检测模型的应用过程(即线上检测过程)中,输入数据包括实时日志序列(也可称为待检测日志序列),对实时日志序列进行解析得到日志模板序列,通过上述方法得到实时日志序列的日志模板特征向量,将其输入至训练完成的异常检测模型中,即可得到该实时日志序列的预测类别。
[0113]
还应理解,上述只是为了帮助本领域技术人员更好地理解本公开实施例,而非要限制本公开实施例的范围。本领域技术人员根据所给出的上述示例,显然可以进行各种等价的修改或变化,例如,上述方法中某些步骤可以是不必须的,或者可以新加入某些步骤等。或者上述任意两种或者任意多种实施例的组合。这样的修改、变化或者组合后的方案也落入本公开实施例的范围内。
[0114]
还应理解,上文对本公开实施例的描述着重于强调各个实施例之间的不同之处,未提到的相同或相似之处可以互相参考,为了简洁,这里不再赘述。
[0115]
还应理解,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本公开实施例的实施过程构成任何限定。
[0116]
还应理解,在本公开的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。
[0117]
上文详细介绍了本公开提供的异常检测模型的训练方法示例。可以理解的是,计算机设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本公开能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本公开的范围。
[0118]
下述为本公开装置实施例,可以用于执行本公开方法实施例。对于本公开装置实施例中未披露的细节,请参照本公开方法实施例。
[0119]
图10是本公开一示例性实施例中的异常检测模型的训练装置的框图。
[0120]
如图10所示,异常检测模型的训练装置1000可以包括:获取模块1002、提取模块1004、生成模块1006和获得模块1008。
[0121]
其中,获取模块1002用于获取历史日志序列及其日志类别标签;提取模块1004用于对所述历史日志序列进行提取,获得日志模板序列,其中所述日志模板序列中包括多个目标词;生成模块1006用于针对每个目标词进行随机初始化,生成每个目标词的词嵌入向量;针对每个目标词的词性随机生成初始词性权重,并根据每个目标词的词性及其初始词性权重生成词性权重向量;所述生成模块1006还用于根据每个目标词的词嵌入向量和词性权重向量,生成所述日志模板序列的日志模板特征向量;获得模块1008用于通过异常检测模型对所述日志模板特征向量进行处理,获得日志预测类别;根据所述日志类别标签和所述日志预测类别调整每个目标词的初始词性权重和所述异常检测模型的模型参数,获得每个目标词的目标词性权重和训练完成的异常检测模型。
[0122]
在本公开一些示例性实施例中,生成模块1006用于:将所述日志模板序列输入至词性识别模型,获得所述日志模板序列中每个目标词的词性,并根据每个目标词的词性生成词性向量;针对每个词性,随机生成每个词性的初始词性权重;根据所述词性向量和每个词性的初始词性权重生成所述词性权重向量。
[0123]
在本公开一些示例性实施例中,获得模块1008用于:在所述日志类别标签和所述日志预测类别之间的损失值大于预设损失值的情况下,调整每个目标词的初始词性权重和所述异常检测模型的模型参数;根据每个目标词的词性及其调整后的初始词性权重生成调整后的词性权重向量;并根据每个目标词的词嵌入向量和所述调整后的词性权重向量,生成调整后的日志模板特征向量;通过调整后的异常检测模型对所述调整后的日志模板特征向量进行处理,获得调整后的日志预测类别;在所述日志类别标签和所述调整后的日志预测类别之间的损失值小于或等于所述预设损失值的情况下,将所述调整后的初始词性权重确定为所述目标词性权重,将所述调整后的异常检测模型确定为所述训练完成的异常检测模型。
[0124]
在本公开一些示例性实施例中,获取模块1002还用于获取待检测日志序列;提取模块1004还用于对所述待检测日志序列进行提取,获得待检测模板序列,其中所述待检测模板序列中包括多个待检测词;确定模块用于根据所述每个目标词的词嵌入向量和所述每个目标词的目标词性权重,确定每个待检测词的词嵌入向量和目标词性权重;生成模块1006还用于根据每个待检测词的词嵌入向量和目标词性权重向量,生成所述待检测模板序列的待检测特征向量;获得模块1008还用于通过所述训练完成的异常检测模型对所述待检测特征向量进行处理,获得所述待检测日志序列的日志预测类别。
[0125]
在本公开一些示例性实施例中,生成模块1006用于:将每个目标词的词嵌入向量和每个目标词的词性权重向量进行融合处理,获得每个目标词的词特征向量;根据每个目标词的词特征向量,将所述日志模板序列特征化,生成所述日志模板特征向量。
[0126]
在本公开一些示例性实施例中,生成模块1006还用于:根据每个目标词的词性及其目标词性权重生成目标词性权重向量;将每个目标词的词嵌入向量和每个目标词的目标词性权重向量进行融合处理,获得每个目标词的目标词特征向量。
[0127]
在本公开一些示例性实施例中,获取模块1002还用于获取待检测日志序列;提取模块1004还用于对所述待检测日志序列进行提取,获得待检测模板序列,其中所述待检测
模板序列中包括多个待检测词;确定模块用于根据所述每个目标词的目标词特征向量,确定每个待检测词的目标词特征向量;生成模块1006还用于根据每个待检测词的目标词特征向量,生成所述待检测模板序列的待检测特征向量;获得模块1008还用于通过所述训练完成的异常检测模型对所述待检测特征向量进行处理,获得所述待检测日志序列的日志预测类别。
[0128]
在本公开一些示例性实施例中,提取模块1004用于:使用预设符号替换所述历史日志序列中包括的特异性信息,得到所述日志模板序列。
[0129]
需要注意的是,上述附图中所示的框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器终端设备和/或微控制器终端设备中实现这些功能实体。
[0130]
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0131]
图11是根据一示例性实施例示出了适于用来实现本公开示例性实施例的电子设备的结构示意图。需要说明的是,图11示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
[0132]
如图11所示,电子设备1100包括中央处理单元(cpu)1101,其可以根据存储在只读存储器(rom)1102中的程序或者从存储部分1108加载到随机访问存储器(ram)1103中的程序而执行各种适当的动作和处理。在ram 1103中,还存储有系统1100操作所需的各种程序和数据。cpu 1101、rom 1102以及ram 1103通过总线1104彼此相连。输入/输出(i/o)接口1105也连接至总线1104。
[0133]
以下部件连接至i/o接口1105:包括键盘、鼠标等的输入部分1106;包括诸如阴极射线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分1107;包括硬盘等的存储部分1108;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分1109。通信部分1109经由诸如因特网的网络执行通信处理。驱动器1110也根据需要连接至i/o接口1105。可拆卸介质1111,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1110上,以便于从其上读出的计算机程序根据需要被安装入存储部分1108。
[0134]
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1109从网络上被下载和安装,和/或从可拆卸介质1111被安装。在该计算机程序被中央处理单元(cpu)1101执行时,执行本公开的系统中限定的上述功能。
[0135]
需要说明的是,本公开所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、
或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0136]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0137]
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括发送单元、获取单元、确定单元和第一处理单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,发送单元还可以被描述为“向所连接的服务端发送图片获取请求的单元”。
[0138]
作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现如上述实施例中所述的方法。例如,所述的电子设备可以实现如图2所示的各个步骤。
[0139]
根据本公开的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述实施例的各种可选实现方式中提供的方法。
[0140]
需要理解的是,在本公开附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
[0141]
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
[0142]
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

技术特征:
1.一种异常检测模型的训练方法,其特征在于,包括:获取历史日志序列及其日志类别标签;对所述历史日志序列进行提取,获得日志模板序列,其中所述日志模板序列中包括多个目标词;针对每个目标词进行随机初始化,生成每个目标词的词嵌入向量;针对每个目标词的词性随机生成初始词性权重,并根据每个目标词的词性及其初始词性权重生成词性权重向量;根据每个目标词的词嵌入向量和词性权重向量,生成所述日志模板序列的日志模板特征向量;通过异常检测模型对所述日志模板特征向量进行处理,获得日志预测类别;根据所述日志类别标签和所述日志预测类别调整每个目标词的初始词性权重和所述异常检测模型的模型参数,获得每个目标词的目标词性权重和训练完成的异常检测模型。2.根据权利要求1所述的方法,其特征在于,针对每个目标词的词性随机生成初始词性权重,并根据每个目标词的词性及其初始词性权重生成词性权重向量,包括:将所述日志模板序列输入至词性识别模型,获得所述日志模板序列中每个目标词的词性,并根据每个目标词的词性生成词性向量;针对每个词性,随机生成每个词性的初始词性权重;根据所述词性向量和每个词性的初始词性权重生成所述词性权重向量。3.根据权利要求1所述的方法,其特征在于,根据所述日志类别标签和所述日志预测类别调整每个目标词的初始词性权重和所述异常检测模型的模型参数,获得每个目标词的目标词性权重和训练完成的异常检测模型,包括:在所述日志类别标签和所述日志预测类别之间的损失值大于预设损失值的情况下,调整每个目标词的初始词性权重和所述异常检测模型的模型参数;根据每个目标词的词性及其调整后的初始词性权重生成调整后的词性权重向量;并根据每个目标词的词嵌入向量和所述调整后的词性权重向量,生成调整后的日志模板特征向量;通过调整后的异常检测模型对所述调整后的日志模板特征向量进行处理,获得调整后的日志预测类别;在所述日志类别标签和所述调整后的日志预测类别之间的损失值小于或等于所述预设损失值的情况下,将所述调整后的初始词性权重确定为所述目标词性权重,将所述调整后的异常检测模型确定为所述训练完成的异常检测模型。4.根据权利要求1-3任一项所述的方法,其特征在于,还包括:获取待检测日志序列;对所述待检测日志序列进行提取,获得待检测模板序列,其中所述待检测模板序列中包括多个待检测词;根据所述每个目标词的词嵌入向量和所述每个目标词的目标词性权重,确定每个待检测词的词嵌入向量和目标词性权重;根据每个待检测词的词嵌入向量和目标词性权重向量,生成所述待检测模板序列的待检测特征向量;
通过所述训练完成的异常检测模型对所述待检测特征向量进行处理,获得所述待检测日志序列的日志预测类别。5.根据权利要求1-3任一项所述的方法,其特征在于,根据每个目标词的词嵌入向量和词性权重向量,生成所述日志模板序列的日志模板特征向量,包括:将每个目标词的词嵌入向量和每个目标词的词性权重向量进行融合处理,获得每个目标词的词特征向量;根据每个目标词的词特征向量,将所述日志模板序列特征化,生成所述日志模板特征向量。6.根据权利要求5所述的方法,其特征在于,在获得每个目标词的目标词性权重和训练完成的异常检测模型之后,所述方法还包括:根据每个目标词的词性及其目标词性权重生成目标词性权重向量;将每个目标词的词嵌入向量和每个目标词的目标词性权重向量进行融合处理,获得每个目标词的目标词特征向量。7.根据权利要求6所述的方法,其特征在于,还包括:获取待检测日志序列;对所述待检测日志序列进行提取,获得待检测模板序列,其中所述待检测模板序列中包括多个待检测词;根据所述每个目标词的目标词特征向量,确定每个待检测词的目标词特征向量;根据每个待检测词的目标词特征向量,生成所述待检测模板序列的待检测特征向量;通过所述训练完成的异常检测模型对所述待检测特征向量进行处理,获得所述待检测日志序列的日志预测类别。8.根据权利要求1所述的方法,其特征在于,对所述历史日志序列进行提取,获得日志模板序列,包括:使用预设符号替换所述历史日志序列中包括的特异性信息,得到所述日志模板序列。9.一种异常检测模型的训练装置,其特征在于,包括:获取模块,用于获取历史日志序列及其日志类别标签;提取模块,用于对所述历史日志序列进行提取,获得日志模板序列,其中所述日志模板序列中包括多个目标词;生成模块,用于针对每个目标词进行随机初始化,生成每个目标词的词嵌入向量;针对每个目标词的词性随机生成初始词性权重,并根据每个目标词的词性及其初始词性权重生成词性权重向量;所述生成模块还用于根据每个目标词的词嵌入向量和词性权重向量,生成所述日志模板序列的日志模板特征向量;获得模块,用于通过异常检测模型对所述日志模板特征向量进行处理,获得日志预测类别;根据所述日志类别标签和所述日志预测类别调整每个目标词的初始词性权重和所述异常检测模型的模型参数,获得每个目标词的目标词性权重和训练完成的异常检测模型。10.一种电子设备,其特征在于,包括:至少一个处理器;存储装置,用于存储至少一个程序,当所述至少一个程序被所述至少一个处理器执行
时,使得所述至少一个处理器实现如权利要求1至8中任一项所述的方法。11.一种计算机可读存储介质,其上存储有计算机可执行指令,其特征在于,所述可执行指令被处理器执行时实现如权利要求1至8中任一项所述的方法。

技术总结
本公开提供了一种异常检测模型的训练方法及相关设备。该方法包括:获取历史日志序列及其日志类别标签;对历史日志序列进行提取获得日志模板序列,日志模板序列中包括多个目标词;针对每个目标词进行随机初始化,生成每个目标词的词嵌入向量;针对每个目标词的词性随机生成初始词性权重,根据每个目标词的词性及其初始词性权重生成词性权重向量;根据每个目标词的词嵌入向量和词性权重向量,生成日志模板序列的日志模板特征向量;通过异常检测模型对日志模板特征向量进行处理,获得日志预测类别;根据日志类别标签和日志预测类别调整每个目标词的初始词性权重和异常检测模型的模型参数,获得每个目标词的目标词性权重和训练完成的异常检测模型。成的异常检测模型。成的异常检测模型。


技术研发人员:张静 张宪波
受保护的技术使用者:京东科技信息技术有限公司
技术研发日:2023.04.23
技术公布日:2023/8/1
版权声明

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

航空之家 https://www.aerohome.com.cn/

飞机超市 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

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

相关推荐