CN113761193A - 日志分类方法、装置、计算机设备和存储介质 - Google Patents
日志分类方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN113761193A CN113761193A CN202110550834.XA CN202110550834A CN113761193A CN 113761193 A CN113761193 A CN 113761193A CN 202110550834 A CN202110550834 A CN 202110550834A CN 113761193 A CN113761193 A CN 113761193A
- Authority
- CN
- China
- Prior art keywords
- topic
- target
- word
- log
- probability
- 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
Images
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
-
- 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/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3346—Query execution using probabilistic model
-
- 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/29—Graphical models, e.g. Bayesian networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Software Systems (AREA)
- Probability & Statistics with Applications (AREA)
- Computational Linguistics (AREA)
- Medical Informatics (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及人工智能中的自然语言处理和机器学习领域,尤其涉及一种日志分类方法、装置、计算机设备和存储介质。所述方法包括:获取待分类日志,确定构成待分类日志的目标词语以及各目标词语的词频;根据通过非监督学习方式得到的主题模型所确定的主题‑词语概率分布,获得各目标词语在各目标主题中的概率,主题‑词语概率分布中包括各目标主题下的词语概率分布;根据各目标词语在各目标主题中的概率、以及各目标词语的词频,获得待分类日志对应各目标主题的概率;根据待分类日志对应各目标主题的概率选取相应的目标主题,确定为待分类日志的所属类别。采用本方法能够对上报日志进行自动分类以便快速找到问题来源。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种日志分类方法、装置、计算机设备和存储介质。
背景技术
随着互联网的发展,人们对各种线上软件产品(例如社交类软件、购物类软件等)的使用越来越频繁,软件在使用过程中若出现问题会上报相关的日志,由软件开发人员或运维人员根据上报的日志找到对应的问题来源并解决。
然而,随着软件产品功能的增加,上报的日志数量级不断扩张,线上问题的来源众多,导致开发人员或运维人员难以快速找到问题来源,影响问题解决效率。
发明内容
基于此,有必要针对上述技术问题,提供一种能够对上报日志进行自动分类以便快速找到问题来源的日志分类方法、装置、计算机设备和存储介质。
一种日志分类方法,所述方法包括:
获取待分类日志,确定构成所述待分类日志的目标词语以及各所述目标词语在所述待分类日志中的词频;
根据主题模型所确定的主题-词语概率分布,获得各所述目标词语在各目标主题中的概率,所述主题-词语概率分布中包括各所述目标主题下的词语概率分布;
根据各所述目标词语在各所述目标主题中的概率、以及各所述目标词语在所述待分类日志中的词频,获得所述待分类日志对应各所述目标主题的概率;
根据所述待分类日志对应各所述目标主题的概率选取相应的目标主题,确定为所述待分类日志的所属类别。
一种日志分类装置,所述装置包括:
获取模块,用于获取待分类日志,确定构成所述待分类日志的目标词语以及各所述目标词语在所述待分类日志中的词频;
第一概率确定模块,用于根据主题模型所确定的主题-词语概率分布,获得各所述目标词语在各目标主题中的概率,所述主题-词语概率分布中包括各所述目标主题下的词语概率分布;
第二概率确定模块,用于根据各所述目标词语在各所述目标主题中的概率、以及各所述目标词语在所述待分类日志中的词频,获得所述待分类日志对应各所述目标主题的概率;
分类模块,用于根据所述待分类日志对应各所述目标主题的概率选取相应的目标主题,确定为所述待分类日志的所属类别。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
获取待分类日志,确定构成所述待分类日志的目标词语以及各所述目标词语在所述待分类日志中的词频;
根据主题模型所确定的主题-词语概率分布,获得各所述目标词语在各目标主题中的概率,所述主题-词语概率分布中包括各所述目标主题下的词语概率分布;
根据各所述目标词语在各所述目标主题中的概率、以及各所述目标词语在所述待分类日志中的词频,获得所述待分类日志对应各所述目标主题的概率;
根据所述待分类日志对应各所述目标主题的概率选取相应的目标主题,确定为所述待分类日志的所属类别。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取待分类日志,确定构成所述待分类日志的目标词语以及各所述目标词语在所述待分类日志中的词频;
根据主题模型所确定的主题-词语概率分布,获得各所述目标词语在各目标主题中的概率,所述主题-词语概率分布中包括各所述目标主题下的词语概率分布;
根据各所述目标词语在各所述目标主题中的概率、以及各所述目标词语在所述待分类日志中的词频,获得所述待分类日志对应各所述目标主题的概率;
根据所述待分类日志对应各所述目标主题的概率选取相应的目标主题,确定为所述待分类日志的所属类别。
上述日志分类方法、装置、计算机设备和存储介质,获取待分类日志,确定构成待分类日志的目标词语以及各目标词语在待分类日志中的词频;根据主题模型所确定的主题-词语概率分布,获得各目标词语在各目标主题中的概率,主题-词语概率分布中包括各目标主题下的词语概率分布;根据各目标词语在各目标主题中的概率、以及各目标词语在待分类日志中的词频,获得待分类日志对应各目标主题的概率;根据待分类日志对应各目标主题的概率选取相应的目标主题,确定为待分类日志的所属类别。据此,可实现对上报日志的自动分类,以便根据日志的所属类别快速找到日志所反映的问题来源,提高解决问题的效率。其中,主题-词语概率分布通过非监督学习方式得到的主题模型所确定,非监督学习方式无需进行大量的数据标注,从而大大减小训练成本,且可避免标注数据不准确对模型结果产生的影响,此外主题模型关注的是日志、主题和词语之间的概率分布,按照主题对日志进行分类,通用性好,可适用于各种不同业务应用场景下的日志分类。
附图说明
图1为一个实施例中日志分类方法的应用环境图;
图2为一个实施例中日志分类方法的流程示意图;
图3为一个实施例中主题-词语概率分布的确定方法的流程示意图;
图4为一个实施例中利用样本日志对主题模型进行训练,获得主题模型的模型结果步骤的流程示意图;
图5为一个实施例中日志分类方法的整体框架图;
图6为一个实施例中获得各个系统下的日志的分类归属的示意图;
图7为一个实施例中对分类后日志进行规整的示意图;
图8为一个实施例中日志分类装置的结构框图;
图9为一个实施例中计算机设备的内部结构图;
图10为一个实施例中计算机设备的内部结构图。
具体实施方式
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
自然语言处理(Nature Language processing,NLP)是计算机科学领域与人工智能领域中的一个重要方向。它研究能实现人与计算机之间用自然语言进行有效通信的各种理论和方法。自然语言处理是一门融语言学、计算机科学、数学于一体的科学。因此,这一领域的研究将涉及自然语言,即人们日常使用的语言,所以它与语言学的研究有着密切的联系。自然语言处理技术通常包括文本处理、语义理解、机器翻译、机器人问答、知识图谱等技术。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。
本申请涉及人工智能中的自然语言处理和机器学习,具体涉及主题模型,将主题模型应用于日志分类技术领域,用以快速定位软件系统上报的日志所反映的问题来源。
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请提供的日志分类方法,可以应用于如图1所示的应用环境中。其中,终端102通过网络与服务器104进行通信。用户可以通过终端102访问软件应用程序,服务器104可以是该软件应用程序所对应的服务器。服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN、以及大数据和人工智能平台等基础云计算服务的云服务器。服务器104还可以是区块链中的节点,本申请中的日志数据都可以存储在区块链上。终端102可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端102以及服务器104可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。
在实际生产环境中,软件系统受到的影响来自方方面面,如外部的网络环境、使用配置、用户标准以及上下游供应商,内部的产品设计、运营规划、机制安排以及软件测试等,线上问题的来源众多,想要排查和定位通常需要开发者或运维人员较大的人力投入。基于此,可以开通用户反馈渠道,让用户选择问题的类别,并将用户反馈的信息及用户出现问题的时间前后的日志一齐上报到用户选择的问题的专业对接人员,减轻排查和定位的成本。
但随着软件系统逐步变大,一方面用户反馈的信息质量逐渐下降,用户有时选择的问题类别并不准确或过于宽泛,另一方面日志数量级则不断扩张,后台系统开发及维护人员越来越难以通过自我查询的方式,在大量前端、中端、后端、用户、业务、系统日志中找寻到有质量的信息,追溯问题并解决。为了辅助系统开发及运维人员尽快找到问题来源并加紧解决,对上报日志进行自动分类十分必要,用以快速的从大量日志中找到有价值的信息,将其归类到具体的可解释可追溯可解决的粒度单元中去。
可以基于有监督学习的模型对日志进行自动分类,有监督的学习训练需要大量的准确的标记数据,然而准确的标记数据通常难以获取到,模型的效果及检验也难以高效的进行,导致有监督学习的模型的可利用性低。此外由于日志分析的场景化比较深,不同的系统有几乎完全不同的日志结构、文本和分类结果,每一个系统单独进行数据标记和文本向量的训练需要非常高的成本,所以一般不具有实践性,只能在部分特别的场景中使用。
在一个实施例中,如图2所示,提供了一种日志分类方法,以该方法应用于图1中的服务器为例进行说明,包括以下步骤S202至步骤S208。
S202,获取待分类日志,确定构成待分类日志的目标词语以及各目标词语在待分类日志中的词频。
待分类日志是指软件上报的日志,一个软件工程通常包括多个系统,如逻辑系统、实体系统等,每个系统均可上报日志。对每一条上报的日志进行归类,可将原来数以亿计的上报日志包归类到仅有个位数或几十个的分类类别中,以便根据分类类别找到对应的负责人员处理日志中反映的问题。
对于每一条待分类日志,构成待分类日志的目标词语是指该待分类日志中包含的词语,目标词语在该待分类日志中的词频是指该目标词语在该待分类日志中出现的次数。举例来说,假设待分类日志为“支付遇到问题,支付失败”,则构成待分类日志中的目标词语包括“支付”、“遇到”、“问题”和“失败”,其中,“支付”的词频为2,“遇到”、“问题”和“失败”的词频均为1。
S204,根据主题模型所确定的主题-词语概率分布,获得各目标词语在各目标主题中的概率,主题-词语概率分布中包括各目标主题下的词语概率分布。
主题-词语概率分布通过训练后的主题模型预先确定,主题模型是以非监督学习方式对文集的隐含语义结构进行聚类的统计模型,可用于自然语言处理中的语义分析和文本挖掘。
在一个实施例中,主题模型可以采用隐含狄利克雷分布(Latent DirichletAllocation,LDA)模型,训练阶段通过吉布斯采样(Gibbs Sampling)进行参数估计,可以获得主题-词语概率分布和文档-主题概率分布,其中,主题-词语概率分布包括每个目标主题下每个词语的概率,用于表征每个主题的词语构成,文档-主题概率分布包括训练集中每篇文档(即样本日志)下每个目标主题的概率,用于表征每个样本日志的主题构成。
具体而言,主题-词语概率分布可以用一个主题-词语共现频率矩阵表示,该矩阵的行表示目标主题,即待分类的类别,该矩阵的列表示词语,包括训练集中所有文档的所有词语。该矩阵中的每一行数据表示该行对应的目标主题下的词语概率分布。该矩阵中的每一个值可以理解为该值所在列对应的词语在该值所在行对应的目标主题下的概率,该概率表示该词语在该目标主题中出现的频繁程度,该概率越大,可认为该词语与该目标主题的关联性越高。
S206,根据各目标词语在各目标主题中的概率、以及各目标词语在待分类日志中的词频,获得待分类日志对应各目标主题的概率。
构成待分类日志的目标词语可能出现在多个目标主题中,通过分析待分类日志中的目标词语,判断待分类日志可能包含多个目标主题,对于任一目标主题,待分类日志对应该目标主题的概率,可以理解为待分类日志包含该目标主题的概率,该概率越大,可认为待分类日志越有可能属于该目标主题。
在一个实施例中,根据各目标词语在各目标主题中的概率、以及各目标词语在待分类日志中的词频,获得待分类日志对应各目标主题的概率的步骤,具体可以包括:对于主题-词语概率分布中每一目标主题,将各目标词语在该目标主题中的概率与在所述待分类日志中的词频的乘积之和,作为待分类日志对应该目标主题的概率。
举例来说,待分类日志为“支付遇到问题,支付失败”,其中,“支付”的词频为2,“遇到”、“问题”和“失败”的词频均为1,假设目标主题1下的词语概率分布为:“支付”概率0.5,“失败”概率0.3,“页面”概率0.2,其它词语的概率均为0,目标主题2下的词语概率分布为:“评论”概率0.6,“失败”概率0.3,“问题”概率0.1,其它词语的概率均为0,则待分类日志对应目标主题1的概率P1=0.5*2+0.3*1=1.3,待分类日志对应目标主题2的概率P2=0.3*1+0.1*1=0.4。
S208,根据待分类日志对应各目标主题的概率选取相应的目标主题,确定为待分类日志的所属类别。
在一个实施例中,将待分类日志对应各目标主题的概率中最大概率对应的目标主题,确定为待分类日志的所属类别。
获得待分类日志对应各目标主题的概率后,可以根据概率大小进行排序,选取最大概率对应的目标主题作为待分类日志的所属类别,从而获得待分类日志最终的分类归属。
上述日志分类方法中,获取待分类日志,确定构成待分类日志的目标词语以及各目标词语在待分类日志中的词频;根据主题模型所确定的主题-词语概率分布,获得各目标词语在各目标主题中的概率,主题-词语概率分布中包括各目标主题下的词语概率分布;根据各目标词语在各目标主题中的概率、以及各目标词语在待分类日志中的词频,获得待分类日志对应各目标主题的概率;根据待分类日志对应各目标主题的概率选取相应的目标主题,确定为待分类日志的所属类别。据此,可实现对上报日志的自动分类,以便根据日志的所属类别快速找到日志所反映的问题来源,提高解决问题的效率。其中,主题-词语概率分布通过非监督学习方式得到的主题模型所确定,非监督学习方式无需进行大量的数据标注,从而大大减小训练成本,且可避免标注数据不准确对模型结果产生的影响,此外主题模型关注的是日志、主题和词语之间的概率分布,按照主题对日志进行分类,通用性好,可适用于各种不同业务应用场景下的日志分类。
在一个实施例中,如图3所示,主题-词语概率分布的确定方法包括以下步骤S302至步骤S308。
S302,基于不同的预设主题数量,构建各预设主题数量对应的主题模型。
预设主题数量即预设分类数量,主题数量对模型效果会产生一定的影响,基于此,构建多个不同预设主题数量对应的主题模型,根据模型结果选择合适的主题数量。在一个实施例中,可以构建100个主题模型,对应的预设主题数量分别为1~100,主题模型具体可以采用LDA模型。
S304,利用多个样本日志对各主题模型进行训练,获得各主题模型的模型结果,模型结果包括第一概率分布和第二概率分布,第一概率分布包括各样本日志下的主题概率分布,第二概率分布包括各主题下的词语概率分布。
样本日志可以是软件上报的历史日志,采用LDA模型对所有样本日志进行处理,通过吉布斯采样对LDA模型进行训练、利用两个狄利克雷-多项式分布(Dirichlet-Multinomial)共轭结构获得Dirichlet后验分布在贝叶斯框架下的参数估计,最终获得第一概率分布和第二概率分布。
第一概率分布可以用一个文档-主题矩阵表示,文档-主题矩阵的行表示训练集中的所有文档(即样本日志),文档-主题矩阵的列表示主题,文档-主题矩阵的每一行数据表示该行对应的样本日志下的主题概率分布。第二概率分布可以用主题-词语矩阵表示,主题-词语矩阵的行表示主题,主题-词语矩阵的列表示训练集中所有文档的所有词语,主题-词语矩阵的每一行数据表示该行对应的主题下的词语概率分布。
在一个实施例中,对于任一预设主题数量对应的主题模型,利用多个样本日志对主题模型进行训练,获得主题模型的模型结果的步骤,具体可以包括以下步骤S402至步骤S406。
S402,为多个样本日志中的每个词语随机分配一个主题,遍历多个样本日志的所有词语,获得主题模型的各参数的初始值,参数包括每个样本日志中每个主题出现的次数、每个样本日志中主题总数、每个主题中每个词语出现的次数、以及每个主题中词语总数。
每个样本日志中包括多个词语,每个词语可能对应不同的主题,在一个实施例中,可以通过多项式分布为每个词语随机分配一个主题,以保证每个词语在每个主题中都有可能发生,避免局部最优。需要说明的是,除了多项式分布以外,还可以采用复合泊松分布、超几何分布等其它分布为每个词语随机分配一个主题,同样能够实现保证每个词语在每个主题中都有可能发生,避免局部最优的效果。
以多项式分布为每个词语随机分配一个主题,表示如下:
Zd,w=t~Multi(1,T)
其中,Z表示主题,d表示第d篇文档,w表示第w个词语,t表示第t个主题,T表示主题总数,Multi表示多项式分布。此时,文档d中的词语w被分配给主题t。对所有文档中的所有词语遍历一遍,则:
文档d中主题t出现的次数加一,表示如下:
文档d中主题数量总数加一,表示如下:
Nd→Nd+1
主题t中词语w出现的次数加一,表示如下:
主题t中词语总数加一,表示如下:
Nt→Nt+1
S404,基于主题模型的各参数的初始值,对主题模型进行当前轮次的迭代训练,获得当前轮次中各参数的更新值;其中,在每个轮次的迭代训练中,执行如下操作:将当前轮次中各参数的初始值均减一,获得当前轮次中各参数的中间值,根据当前轮次中各参数的中间值以及狄利克雷分布参数,计算每个词语在每个主题中的概率,根据每个词语在每个主题中的概率,重新为每个词语分配主题,遍历多个样本日志的所有词语,获得当前轮次中各参数的更新值。
对所有文档中的所有词语遍历一遍,将各参数的初始值均减一,获得各参数的中间值,用于后续处理。
文档d中主题t出现的次数减一,表示如下:
文档d中主题数量总数减一,表示如下:
Nd→Nd-1
主题t中词语w出现的次数减一,表示如下:
主题t中词语总数减一,表示如下:
Nt→Nt-1
可以通过以下公式计算每个词语在每个主题中的概率:
其中,k表示主题名字,-i表示除去主题i的其它主题,W表示训练集中的词语总数,βw和αt为狄利克雷分布参数,βw表示词语w在狄利克雷分布中的得分,αt表示主题t在狄利克雷分布中的得分,βw和αt均为固定常数。
根据计算出来的概率分布,重新为每个词语分配主题,例如对于词语w,计算出T个概率,每个概率对应一个主题,将T个概率中的最大概率对应的主题,确定为重新为词语w分配的主题。对所有文档中的所有词语遍历一遍,则:
文档d中主题t出现的次数加一,表示如下:
文档d中主题数量总数加一,表示如下:
Nd→Nd+1
主题t中词语w出现的次数加一,表示如下:
主题t中词语总数加一,表示如下:
Nt→Nt+1
S406,当迭代训练的迭代次数不满足迭代结束条件时,将当前轮次中各参数的更新值作为下一轮次中各参数的初始值,返回执行基于主题模型的各参数的初始值,对主题模型进行当前轮次的迭代训练,获得当前轮次中各参数的更新值的步骤,直至迭代训练的迭代次数满足迭代结束条件,根据最终获得的各参数的更新值确定主题模型的模型结果。
迭代结束条件可以包括预设迭代次数,当迭代次数达到预设迭代次数时,判定满足迭代结束条件。其中,预设迭代次数可以结合实际需求进行设置,此处不做限制。当不满足迭代结束条件时,将各参数的更新值作为新的初始值,重复步骤S404,直至满足迭代结束条件。
在一个实施例中,根据最终获得的各参数的更新值确定主题模型的模型结果的步骤,具体可以包括:对于预设主题中每一主题,根据该主题中词语总数、该主题中每个词语出现的次数、以及狄利克雷分布参数,获得该主题下的词语概率分布;对于多个样日志中每一样本日志,根据该样本日志中主题总数、该样本日志中每个主题出现的次数、以及狄利克雷分布参数,获得该样本日志下的主题概率分布。
其中,βt表示主题t中各词语在狄利克雷分布中的得分与其相应权重的乘积之和,为固定常数。主题-词语矩阵θ的每一行数据表示该行对应的主题下的词语概率分布,文档-主题矩阵的每一行数据表示该行对应的样本日志下的主题概率分布。
S306,对各主题模型对应的模型结果进行验证,获得各主题模型的困惑度。
困惑度用于评估模型效果,困惑度可以理解为对于一篇文档,所训练出来的模型对该文档属于哪个主题有多不确定,这个不确定程度即为困惑度,可以理解,困惑度越低,说明聚类效果越好,即模型效果越好。
具体而言,可以通过以下公式计算困惑度(用Perplexity表示):
其中,D表示验证集,Nd表示文档d中的词语总数,wd表示文档d中的词语,p(wd)表示文档d中wd出现的概率。
S308,根据各主题模型的困惑度,从预设主题数量中确定最终主题数量,根据最终主题数量对应的主题模型的模型结果,确定主题-词语概率分布。
在一个实施例中,根据各主题模型的困惑度,从预设主题数量中确定最终主题数量的步骤,具体可以包括:根据各主题模型的困惑度和对应的预设主题数量,建立困惑度随预设主题数量变化的曲线;将曲线中斜率变化最大的预设主题数量,确定为最终主题数量。
获得各主题模型的困惑度之后,由于各主题模型对应不同的预设主题数量(即分类数量),随着分类数量的增加,困惑度会不断下降,通过肘点法选定分类数量。具体而言,根据各主题模型的困惑度和对应的预设主题数量,建立困惑度随预设主题数量变化的曲线,可以理解,该曲线为下降曲线,选取该下降曲线中的肘点,即斜率变化最大的点所对应的预设主题数量,作为最终主题数量。据此选定的最终主题数量对应的主题模型,具有良好的聚类效果。
将最终主题数量对应的主题模型作为最终应用于实际日志分类的主题模型,根据该主题模型的模型结果,确定主题-词语概率分布,用于对软件新上报的日志进行分类,分类结果准确性高。
在一个实施例中,如图5所示,提供了一种日志分类方法的整体框架图。该方法包括模型训练阶段和模型应用阶段。在模型训练阶段,构建多个不同预设主题数量对应的主题模型,图中的柱状图表示预设主题数量的分布,对每个主题模型的模型结果进行困惑度计算,根据肘点法选定最终主题数量,即柱状图中框出的预设主题数量,将最终主题数量对应的主题模型作为最终应用于日志分类任务的分类模型。在模型应用阶段,获取软件系统上报的日志,可以按照时间先后划分分类任务,例如以天为单位,将每天上报的日志作为一次分类任务,图中分类任务1和分类任务2中的日志可以表示不同天的日志,以分类任务为单位运行分类模型,获得各分类任务中日志的所属类别,图中分类11、分类12、分类13表示不同的类别。
在一个实施例中,如图6所示,获取软件各个系统上报的日志,图中系统1、系统2、系统N表示不同的系统,对所有系统的日志统一进行分类,获得各个系统下的日志的所属类别。分类1、分类2、分类3和分类4表示不同的类别,不同系统上报的日志可能属于同一类别,便于集中处理日志所反映的问题。
在一个实施例中,获得上报日志的分类类别之后,对分类后日志进行规整,可以根据每个分类中的日志数量或错误级别进行排期,例如,对于日志数量多或错误级别高的分类,优先对该分类下的日志所反映的问题进行处理,从而高效地将问题逐个击破。如图7所示,分类1、分类2、分类3中的日志数量依次减少,从而优先对分类1下的日志所反映的问题进行处理,同时分配相对较多的人力,其次对分类2下的日志所反映的问题进行处理,同时分配相对较少的人力,分类3下的日志所反映的问题暂未开始处理,可以等到排在前面的问题解决之后再进行处理,据此可以高效地将问题逐个击破。
通过上述实施例,可以对软件系统上报的日志进行自动分类,使得庞大的软件系统产生的繁杂冗余的日志可以被轻松整理归类并定位问题,减少在整理归类上耗费的人力成本和时间成本,帮助提高软件系统优化和迭代的效率。
应该理解的是,虽然上述实施例涉及的各流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述实施例涉及的各流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图8所示,提供了一种日志分类装置800,包括:获取模块810、第一概率确定模块820、第二概率确定模块830和分类模块840,其中:
获取模块810,用于获取待分类日志,确定构成待分类日志的目标词语以及各目标词语在待分类日志中的词频。
第一概率确定模块820,用于根据主题模型所确定的主题-词语概率分布,获得各目标词语在各目标主题中的概率,主题-词语概率分布中包括各目标主题下的词语概率分布。
第二概率确定模块830,用于根据各目标词语在各目标主题中的概率、以及各目标词语在待分类日志中的词频,获得待分类日志对应各目标主题的概率。
分类模块840,用于根据待分类日志对应各目标主题的概率选取相应的目标主题,确定为待分类日志的所属类别。
在一个实施例中,该装置还包括概率分布确定模块,用于确定主题-词语概率分布。概率分布确定模块包括:
构建单元,用于基于不同的预设主题数量,构建各预设主题数量对应的主题模型。
训练单元,用于利用多个样本日志对各主题模型进行训练,获得各主题模型的模型结果,模型结果包括第一概率分布和第二概率分布,第一概率分布包括各样本日志下的主题概率分布,第二概率分布包括各主题下的词语概率分布。
验证单元,用于对各主题模型对应的模型结果进行验证,获得各主题模型的困惑度。
确定单元,用于根据各主题模型的困惑度,从预设主题数量中确定最终主题数量,根据最终主题数量对应的主题模型的模型结果,确定主题-词语概率分布。
在一个实施例中,对于任一预设主题数量对应的主题模型,训练单元在利用多个样本日志对主题模型进行训练,获得主题模型的模型结果时,具体用于:为多个样本日志中的每个词语随机分配一个主题,遍历多个样本日志的所有词语,获得主题模型的各参数的初始值,参数包括每个样本日志中每个主题出现的次数、每个样本日志中主题总数、每个主题中每个词语出现的次数、以及每个主题中词语总数;基于主题模型的各参数的初始值,对主题模型进行当前轮次的迭代训练,获得当前轮次中各参数的更新值;当迭代训练的迭代次数不满足迭代结束条件时,将当前轮次中各参数的更新值作为下一轮次中各参数的初始值,返回执行基于主题模型的各参数的初始值,对主题模型进行当前轮次的迭代训练,获得当前轮次中各参数的更新值的步骤,直至迭代训练的迭代次数满足迭代结束条件,根据最终获得的各参数的更新值确定主题模型的模型结果;其中,在每个轮次的迭代训练中,执行如下操作:将各参数的初始值均减一,获得各参数的中间值,根据各参数的中间值以及狄利克雷分布参数,计算每个词语在每个主题中的概率,根据每个词语在每个主题中的概率,重新为每个词语分配主题,遍历多个样本日志的所有词语,获得各参数的更新值。
在一个实施例中,训练单元在根据最终获得的各参数的更新值确定主题模型的模型结果时,具体用于:对于预设主题中每一主题,根据该主题中词语总数、该主题中每个词语出现的次数、以及狄利克雷分布参数,获得该主题下的词语概率分布;对于多个样日志中每一样本日志,根据该样本日志中主题总数、该样本日志中每个主题出现的次数、以及狄利克雷分布参数,获得该样本日志下的主题概率分布。
在一个实施例中,确定单元在根据各主题模型的困惑度,从预设主题数量中确定最终主题数量时,具体用于:根据各主题模型的困惑度和对应的预设主题数量,建立困惑度随预设主题数量变化的曲线;将曲线中斜率变化最大的预设主题数量,确定为最终主题数量。
在一个实施例中,第二概率确定模块在根据各目标词语在各目标主题中的概率、以及各目标词语的词频,获得待分类日志对应各目标主题的概率时,具体用于:对于主题-词语概率分布中每一目标主题,将各目标词语在该目标主题中的概率与在主题-词语概率分布中的词频的乘积之和,作为待分类日志对应该目标主题的概率。
在一个实施例中,分类模块840在根据待分类日志对应各目标主题的概率选取相应的目标主题,确定为待分类日志的所属类别时,具体用于:将待分类日志对应各目标主题的概率中最大概率对应的目标主题,确定为待分类日志的所属类别。
关于日志分类装置的具体限定可以参见上文中对于日志分类方法的限定,在此不再赘述。上述日志分类装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图9所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种日志分类方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图10所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、运营商网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种日志分类方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图9或图10中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方法实施例中的步骤。
需要理解的是,上述实施例中的术语“第一”、“第二”等仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。针对数值范围的描述,术语“多个”理解为等于或大于两个。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种日志分类方法,其特征在于,所述方法包括:
获取待分类日志,确定构成所述待分类日志的目标词语以及各所述目标词语在所述待分类日志中的词频;
根据主题模型所确定的主题-词语概率分布,获得各所述目标词语在各目标主题中的概率,所述主题-词语概率分布中包括各所述目标主题下的词语概率分布;
根据各所述目标词语在各所述目标主题中的概率、以及各所述目标词语在所述待分类日志中的词频,获得所述待分类日志对应各所述目标主题的概率;
根据所述待分类日志对应各所述目标主题的概率选取相应的目标主题,确定为所述待分类日志的所属类别。
2.根据权利要求1所述的方法,其特征在于,所述主题-词语概率分布的确定方法包括:
基于不同的预设主题数量,构建各所述预设主题数量对应的主题模型;
利用多个样本日志对各所述主题模型进行训练,获得各所述主题模型的模型结果,所述模型结果包括第一概率分布和第二概率分布,所述第一概率分布包括各样本日志下的主题概率分布,所述第二概率分布包括各主题下的词语概率分布;
对各所述主题模型对应的模型结果进行验证,获得各所述主题模型的困惑度;
根据各所述主题模型的困惑度,从所述预设主题数量中确定最终主题数量,根据所述最终主题数量对应的主题模型的模型结果,确定所述主题-词语概率分布。
3.根据权利要求2所述的方法,其特征在于,对于任一所述预设主题数量对应的主题模型,所述利用多个样本日志对所述主题模型进行训练,获得所述主题模型的模型结果,包括:
为所述多个样本日志中的每个词语随机分配一个主题,遍历所述多个样本日志的所有词语,获得所述主题模型的各参数的初始值,所述参数包括每个样本日志中每个主题出现的次数、每个样本日志中主题总数、每个主题中每个词语出现的次数、以及每个主题中词语总数;基于所述主题模型的各参数的初始值,对所述主题模型进行当前轮次的迭代训练,获得当前轮次中各参数的更新值;
当迭代训练的迭代次数不满足迭代结束条件时,将当前轮次中各参数的更新值作为下一轮次中各参数的初始值,返回执行所述基于所述主题模型的各参数的初始值,对所述主题模型进行当前轮次的迭代训练,获得当前轮次中各参数的更新值的步骤,直至迭代训练的迭代次数满足迭代结束条件,根据最终获得的各参数的更新值确定所述主题模型的模型结果;
其中,在每个轮次的迭代训练中,执行如下操作:将当前轮次中各参数的初始值均减一,获得当前轮次中各参数的中间值,根据当前轮次中各参数的中间值以及狄利克雷分布参数,计算每个词语在每个主题中的概率,根据每个词语在每个主题中的概率,重新为每个词语分配主题,遍历所述多个样本日志的所有词语,获得当前轮次中各参数的更新值。
4.根据权利要求3所述的方法,其特征在于,所述根据最终获得的各参数的更新值确定所述主题模型的模型结果,包括:
对于所述预设主题中每一主题,根据所述主题中词语总数、所述主题中每个词语出现的次数、以及狄利克雷分布参数,获得所述主题下的词语概率分布;
对于所述多个样日志中每一样本日志,根据所述样本日志中主题总数、所述样本日志中每个主题出现的次数、以及狄利克雷分布参数,获得所述样本日志下的主题概率分布。
5.根据权利要求2所述的方法,其特征在于,所述根据各所述主题模型的困惑度,从所述预设主题数量中确定最终主题数量,包括:
根据各所述主题模型的困惑度和对应的预设主题数量,建立困惑度随预设主题数量变化的曲线;
将所述曲线中斜率变化最大的预设主题数量,确定为最终主题数量。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述根据各所述目标词语在各所述目标主题中的概率、以及各所述目标词语在所述待分类日志中的词频,获得所述待分类日志对应各所述目标主题的概率,包括:
对于所述主题-词语概率分布中每一目标主题,将各目标词语在所述目标主题中的概率与在所述待分类日志中的词频的乘积之和,作为所述待分类日志对应所述目标主题的概率。
7.根据权利要求1至5中任一项所述的方法,其特征在于,所述根据所述待分类日志对应各所述目标主题的概率选取相应的目标主题,确定为所述待分类日志的所属类别,包括:
将所述待分类日志对应各所述目标主题的概率中最大概率对应的目标主题,确定为所述待分类日志的所属类别。
8.一种日志分类装置,其特征在于,所述装置包括:
获取模块,用于获取待分类日志,确定构成所述待分类日志的目标词语以及各所述目标词语在所述待分类日志中的词频;
第一概率确定模块,用于根据主题模型所确定的主题-词语概率分布,获得各所述目标词语在各目标主题中的概率,所述主题-词语概率分布中包括各所述目标主题下的词语概率分布;
第二概率确定模块,用于根据各所述目标词语在各所述目标主题中的概率、以及各所述目标词语在所述待分类日志中的词频,获得所述待分类日志对应各所述目标主题的概率;
分类模块,用于根据所述待分类日志对应各所述目标主题的概率选取相应的目标主题,确定所述待分类日志的所属类别。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110550834.XA CN113761193A (zh) | 2021-05-18 | 2021-05-18 | 日志分类方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110550834.XA CN113761193A (zh) | 2021-05-18 | 2021-05-18 | 日志分类方法、装置、计算机设备和存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113761193A true CN113761193A (zh) | 2021-12-07 |
Family
ID=78787142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110550834.XA Pending CN113761193A (zh) | 2021-05-18 | 2021-05-18 | 日志分类方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113761193A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114428836A (zh) * | 2021-12-30 | 2022-05-03 | 沈阳东软智能医疗科技研究院有限公司 | 信息处理方法、装置、可读存储介质及电子设备 |
CN114461735A (zh) * | 2022-04-13 | 2022-05-10 | 天津中新智冠信息技术有限公司 | 工矿数据分级分类方法、装置和计算机设备 |
-
2021
- 2021-05-18 CN CN202110550834.XA patent/CN113761193A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114428836A (zh) * | 2021-12-30 | 2022-05-03 | 沈阳东软智能医疗科技研究院有限公司 | 信息处理方法、装置、可读存储介质及电子设备 |
CN114461735A (zh) * | 2022-04-13 | 2022-05-10 | 天津中新智冠信息技术有限公司 | 工矿数据分级分类方法、装置和计算机设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9268766B2 (en) | Phrase-based data classification system | |
US8498950B2 (en) | System for training classifiers in multiple categories through active learning | |
CN112632385A (zh) | 课程推荐方法、装置、计算机设备及介质 | |
CN112395500A (zh) | 内容数据推荐方法、装置、计算机设备及存储介质 | |
Prabowo et al. | Aggregating time series and tabular data in deep learning model for university students’ gpa prediction | |
CN113761193A (zh) | 日志分类方法、装置、计算机设备和存储介质 | |
CN112836750A (zh) | 一种系统资源分配方法、装置及设备 | |
Kim et al. | Bug severity prediction algorithm using topic-based feature selection and CNN-LSTM algorithm | |
US20190164083A1 (en) | Categorical Data Transformation and Clustering for Machine Learning using Natural Language Processing | |
CN114781532A (zh) | 机器学习模型的评估方法、装置、计算机设备及介质 | |
Ilkhani et al. | Extraction test cases by using data mining; reducing the cost of testing | |
US20200173889A1 (en) | Component testing plan considering distinguishable and undistinguishable components | |
US11580307B2 (en) | Word attribution prediction from subject data | |
CN113515625A (zh) | 测试结果分类模型训练方法、分类方法及装置 | |
Smetanin et al. | Misclassification bias in computational social science: a simulation approach for assessing the impact of classification errors on social indicators research | |
US20230140702A1 (en) | Search-query suggestions using reinforcement learning | |
Rezaeenour et al. | Developing a new hybrid intelligent approach for prediction online news popularity | |
Huang et al. | Bug report priority prediction using developer-oriented socio-technical features | |
CN113835739A (zh) | 一种软件缺陷修复时间的智能化预测方法 | |
Hauser et al. | An improved assessing requirements quality with ML methods | |
Shou et al. | Difficulty‐Based Knowledge Point Clustering Algorithm Using Students’ Multi‐Interactive Behaviors in Online Learning | |
Sharma et al. | Weighted Ensemble LSTM Model with Word Embedding Attention for E-Commerce Product Recommendation | |
CN114048392B (zh) | 多媒体资源推送方法、装置、电子设备及存储介质 | |
Zhao et al. | Test case classification via few-shot learning | |
US20240028935A1 (en) | Context-aware prediction and recommendation |
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 |