CN111290953B - 分析测试日志的方法与装置 - Google Patents
分析测试日志的方法与装置 Download PDFInfo
- Publication number
- CN111290953B CN111290953B CN202010074759.XA CN202010074759A CN111290953B CN 111290953 B CN111290953 B CN 111290953B CN 202010074759 A CN202010074759 A CN 202010074759A CN 111290953 B CN111290953 B CN 111290953B
- Authority
- CN
- China
- Prior art keywords
- log
- conclusion
- learning model
- reinforcement learning
- predicted
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 293
- 238000012360 testing method Methods 0.000 title claims abstract description 106
- 230000002787 reinforcement Effects 0.000 claims abstract description 243
- 239000013598 vector Substances 0.000 claims abstract description 243
- 238000012512 characterization method Methods 0.000 claims abstract description 198
- 238000004458 analytical method Methods 0.000 claims description 180
- 238000012549 training Methods 0.000 claims description 108
- 238000012545 processing Methods 0.000 claims description 34
- 230000008859 change Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 104
- 238000010586 diagram Methods 0.000 description 26
- 230000006870 function Effects 0.000 description 26
- 238000004891 communication Methods 0.000 description 25
- 238000004422 calculation algorithm Methods 0.000 description 12
- 238000010801 machine learning Methods 0.000 description 9
- 230000009471 action Effects 0.000 description 7
- 238000013473 artificial intelligence Methods 0.000 description 7
- 230000003247 decreasing effect Effects 0.000 description 7
- 239000000126 substance Substances 0.000 description 7
- 239000003795 chemical substances by application Substances 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 241000282472 Canis lupus familiaris Species 0.000 description 3
- 241000282326 Felis catus Species 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 238000012417 linear regression Methods 0.000 description 3
- 238000012423 maintenance Methods 0.000 description 3
- 238000013507 mapping Methods 0.000 description 3
- 238000012706 support-vector machine Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000037361 pathway Effects 0.000 description 2
- 238000011056 performance test Methods 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 235000015067 sauces Nutrition 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013398 bayesian method Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 238000012880 independent component analysis Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000013441 quality evaluation Methods 0.000 description 1
- 238000000611 regression analysis Methods 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000013112 stability test Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000013589 supplement Substances 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Testing And Monitoring For Control Systems (AREA)
Abstract
本申请提供一种分析测试日志的方法与装置,涉及自动化测试领域。该方法包括:获取第一日志,进而获取第一日志的第一表征向量,根据第一表征向量和第一监督学习模型获得包括多个结论的结论候选集,根据第一强化学习模型和该结论候选集,确定出第一日志的预测结论。在该方法中,先利用监督学习获取多个备选结论,再利用强化学习确定最终的结论,提高了结论的准确性。
Description
技术领域
本申请涉及自动化测试领域,并且更具体地,涉及一种分析测试日志的方法与装置。
背景技术
随着科技的发展,对自动化测试工作的质量与效率等要求越来越高,故针对自动化测试的方法也不断丰富。目前自动化脚本测试已成规模,但是小时级(以小时为单位)的自动化验证能力却受限于天级(以日为单位)的人工分析。因此,由机器等来完成对日志进行分析和确定问题等过程,有着迫切的需求和广泛的应用前景。目前业界的测试分析工具主要有Sauce Labs和Sealights等。其中,Sealights的主要特性点在于代码分析和质量评估方面,分析和确定日志问题关系不大。Sauce Labs则可以通过选用关键指标、进行规则匹配的传统方法来确定日志问题。然而对于基于规则匹配的日志技术方案而言,需要配置规则表以及需要人工维护规则表,而随着日志的数量增大,人工维护的工作会日益繁琐,对于工作效率和准确率都带来了很大的挑战。此外,同一篇日志可能会匹配到数条规则,需要人工确认不同规则的优先级,不利于长期维护。
对此,在现有技术中,出现了利用传统的监督学习的方法,利用监督学习模型的预测采集到的日志的失败原因,但由于日志失败原因众多,导致数据稀疏等问题,使得预测结果的准确性较低。
发明内容
本申请实施例提供一种分析测试日志的方法与装置,能够提高判断日志失败原因时的准确性。
第一方面,提供一种分析测试日志的方法,该方法包括:获取第一日志,以及获取第一日志的第一表征向量,根据第一表征向量和第一监督学习模型获得结论候选集,其中该结论候选集中包括对应于第一日志的多个候选结论,根据第一强化学习模型和结论候选集,确定第一日志的预测结论。
在本申请技术方案中,先利用监督学习确定日志失败的备选原因,也就是备选原因的结论候选集,再利用强化学习对备选原因进行修正,也就是从结论候选集中确定最终的对日志失败原因的预测结论,提高了预测的准确性。在本申请技术方案中,利用监督学习和强化学习相结合的预测方法,一方面利用了监督学习收敛快的优点,另一方面增加了基于强化学习的决策环节,从备选结论中确定出最终的预测结论,而不是只利用监督学习确定出一个结论,能够提高预测的准确性。
此外,跟现有的基于规则匹配的技术方案相比,本申请技术方案不需要人工维护复杂的规则表,也不需要考虑不同规则互相冲突的问题;跟现有的传统监督学习的方法相比,本申请技术方案更能适用于有大量人工标记且采集到的数据存在数据稀疏的情况。
可选地,可以利用执行器等获取装置或获取单元等获取第一日志,还可以利用读取装置等从例如存储装置或存储芯片等中读取第一日志。
可选地,可以获取的是第一日志的原文,或者获取的是第一日志的原文及其上下文。
可选地,可以实时获取第一日志,或者可以从存储的最近某段时间内的存储日志中,读取第一日志。
可选地,可以利用表征学习的方法获取第一日志的第一表征向量。该第一表征向量对应于第一日志的特征。
需要说明的是,监督学习模型(例如第一监督学习模型)可以是利用积极学习方法获得的积极学习模型,也可以是利用消极学习方法获得的消极学习模型(例如带标记的表征向量)。
例如,当监督学习模型是利用消极学习方法获得的消极学习模型时,可以搜索滑动时间窗口内,例如两个月内的已被人工标记的历史日志(也就是已经人工分析过失败原因的日志),比较已被标记的历史日志的特征向量与待预测日志(例如步骤1001所获得的第一日志)的特征向量(例如步骤1002获得的第一表征向量)的差距,从被标记的历史日志中选择差距较小的部分日志所对应的标记作为结论候选集。
可选地,可以采用欧式距离表示已被标记的历史日志的特征向量与待预测的日志的特征向量之间的差距。进而可以输出欧式距离最近的K篇历史日志所对应的标记作为候选集,其中K为大于或等于1的整数,例如可以设置K为20,则候选集中有20个标记以及对应的欧氏距离。
又例如,当监督学习模型是利用积极学习方法获得的积极学习模型时,可以搜索滑动时间窗口内,例如两个月内的已被人工标记的历史日志(也就是已经人工分析过失败原因的日志),将待预测日志(例如步骤1001所获得的第一日志)的特征向量(例如步骤1002获得的第一表征向量)代入到积极学习模型中,从而得到待预测日志所对应的候选结论,利用这些候选结论组成结论候选集。
可选地,在这个例子中,该候选结论可以包括日志失败原因可能的结论以及对应的置信度。进而可以输出置信度最高的M个结论作为候选集,其中M为大于或等于1的整数,例如可以设置M为10,则候选集中有10个结论以及这些结论对应的置信度。
结合第一方面,在第一方面的某些实现方式中,第一监督学习模型包括多个历史日志的第二表征向量以及对应于多个第二表征向量的结论,则在上述根据第一表征向量和第一监督学习模型获得结论候选集的过程中,获得多个第二表征向量中与第一表征向量相同或相似的第三表征向量,将对应于第三表征向量的结论确定为结论候选集。上述实现方式相当于利用了消极学习与强化学习结合的方式分析测试日志,该多个历史日志的第二表征向量以及对应于多个第二表征向量的结论即为带标记的表征向量的一例,其中,对应于多个第二表征向量的结论为标记,也就是说,利用对应于第二表征向量的结论作为标记与第二表征向量一起组成了表征学习模型(消极学习模型的一例)。
在上述利用消极学习的方法中,将历史日志进行相应日志失败原因的标记和将其表征向量进行保存,当出现新日志的时候,可以将新日志的表征向量与这些历史日志的表征向量进行对比,从而确定出与新日志的表征向量相同或相近的一些历史日志的表征向量,以及进而根据这些相同或相近的历史日志的表征向量所对应的日志失败原因确定新日志的日志失败原因,在这个过程中,不会因为历史日志的数量过少导致难以建立有效的模型。
结合第一方面,在第一方面的某些实现方式中,第一监督学习模型是利用历史日志的第二表征向量训练获得的(对应于积极学习模型),则在上述根据第一表征向量和第一监督学习模型获得结论候选集的过程中,将第一表征向量输入到第一监督学习模型,获得对应于第一表征向量的多个候选结论以及多个候选结论的置信度,根据上述多个候选结论以及多个候选结论的置信度,确定结论候选集。上述实现方式相当于利用了积极学习与强化学习结合的方式分析测试日志,在利用积极学习模型获得候选结论的过程中,决策时间远小于在利用消极学习模型获得候选结论的过程。而当对结论候选集执行后续步骤后,也就是说,利用强化学习从结论候选集中确定出第一日志的预测结论,能够对积极学习获得的候选结论进行修正,从而提高预测的准确性。
结合第一方面,在第一方面的某些实现方式中,还可以对强化学习模型进行更新。例如可以根据第一日志的预测结论与第一日志的人工分析结论的一致性,更新第一强化学习模型,其中,第一日志的人工分析结论是由测试人员对第一日志进行分析获得的。
可选地,可以根据人工分析结论与预测结论的语义是否一致,决定是否要更新强化学习模型,以及对强化学习模型的参数进行调整。
结合第一方面,在第一方面的某些实现方式中,在上述根据第一日志的预测结论与第一日志的人工分析结论的一致性,更新第一强化学习模型的过程中,可以结合一致性和性能指标与阈值的关系决定是否要更新强化学习模型,以及如何更新强化学习模型的参数。
可选地,可以采用下面的方法:
情况一、当第一日志的预测结论与第一日志的人工分析结论的语义一致,且第一日志的预测结论的性能指标小于或等于预设阈值时,不改变第一强化学习模型的参数,第一强化学习的参数包括奖励值和惩罚值。
情况二、当第一日志的预测结论与第一日志的人工分析结论的语义一致,且第一日志的预测结论的性能指标大于预设阈值时,增大第一强化学习模型的奖励值,和/或降低第一强化学习模型的惩罚值。
情况三、当第一日志的预测结论与第一日志的人工分析结论的语义不一致,且第一日志的预测结论的性能指标小于或等于预设阈值时,降低第一强化学习模型的奖励值,和/或增大第一强化学习模型的惩罚值。
情况四、当第一日志的预测结论与第一日志的人工分析结论的语义不一致,且第一日志的预测结论的性能指标大于预设阈值时,不改变第一强化学习模型的参数。
需要说明的是,上述四种情况可以考虑其中任意一种或多种情况,也可以考虑全部情况。例如可以只考虑情况二,除此之外不考虑其他几种情况。又例如可以同时考虑情况一和情况二,并执行相应的操作,而不考虑其他情况。又例如可以考虑情况二和情况三等等,在此不再一一列举。
可选地,可以结合人工分析结论与预测结论的一致性,以及预测结论的性能指标与阈值的关系,实现对强化学习模型的更新。假设该性能指标为欧氏距离,当欧氏距离越小认为越准确。则可以采用下面的操作。
当人工分析结论与预测结论的语义一致的时候,进一步结合预测结论所对应的待预测日志的综合距离与所设定的阈值的关系情况,决定是否更新强化学习模型,以及如何对强化学习中模型的参数进行调整。
在人工分析结论与预测结论的语义一致的情况下,可以在当预测结论的综合距离小于或等于阈值的时候,不需要更新强化学习模型;和/或在当预测结论的综合距离大于阈值的时候,增加强化学模型中人工标记描述的奖励值和/或降低强化学习模型中人工标记描述的惩罚值,例如可以将奖励值加1,和/或将惩罚值减1。
当人工分析结论与预测结论的语义不一致的时候,同样可以进一步结合预测结论所对应的待预测日志的性能指标与所设定的阈值的关系情况,决定是否更新强化学习模型,以及如何对强化学习中模型的参数进行调整。
在人工标记描述与预测结论描述的语义不一致的情况下,可以在当预测结论的综合距离小于或等于阈值的时候,降低强化学模型中人工标记描述的奖励值和/或增加强化学习模型中人工标记描述的惩罚值,例如可以将奖励值减1,和/或将惩罚值加1;和/或可以在当性能指标大于阈值的时候,不更新强化学习模型。
还应理解,在同时考虑上述所有情况,执行相应过程时,相当于,当欧氏距离小于或等于阈值的时候认为预测结论是相对准确的,当欧氏距离大于阈值的时候认为预测结论是相对不准确的,当利用一个相对准确的结论判断正确的时候,不改变强化学习模型的参数;当利用一个相对准确的值判断错误的时候,减小强化学习模型的奖励值;当利用一个相对不准确的结论判断正确的时候,增大强化学习模型的奖励值;当利用一个相对不准确的结论判断错误的时候,不改变强化学习模型的奖励值。
进一步的举例说明,首先,假设认为人工分析结论是正确的结论。
情况一、当人工分析结论和预测结论语义一致,且预测结论的欧氏距离小于或等于阈值的时候,相当于利用一个相对准确的结论得到了一个正确的结果,所以不奖励也不惩罚,也就是说,不改变强化学习模型的奖励值和惩罚值。
情况二、当人工分析结论和预测结论语义一致,且预测结论的欧氏距离大于阈值的时候,相当于利用一个相对不准确的结论得到了一个正确的结果,所以对其进行奖励,也就是说,增大强化学习模型的奖励值。
情况三、当人工分析结论和预测结论语义不一致,且预测结论的欧氏距离小于或等于阈值的时候,相当于利用一个相对准确的结论得到了一个不正确的结果,所以对其进行惩罚,此处采用减小强化学习模型的奖励值的方式。
情况四、当人工分析结论和预测结论语义不一致,且预测结论的欧氏距离大于阈值的时候,相当于利用一个相对不准确的结论得到了一个不正确的结果,所以不奖励也不惩罚,也就是说,不改变强化学习模型的奖励值和惩罚值。
需要说明的是,上述四种情况同样可以只考虑其中一种,也可以同时考虑其中多种或全部,在此不再赘述。
假设该性能指标为置信度,当置信度越大认为越准确。则可以采用下面的操作。
当人工分析结论与预测结论的语义一致的时候,可以进一步结合预测结论所对应的置信度与所设定的置信度的阈值的关系情况,决定是否更新强化学习模型,以及如何对强化学习中模型的参数进行调整。
可选地,在人工分析结论与预测结论的语义一致的情况下,当预测结论的置信度大于阈值的时候,不需要更新强化学习模型;当预测结论的置信度小于或等于阈值的时候,增加强化学模型中人工标记描述的奖励值和/或降低强化学习模型中人工标记描述的惩罚值,例如可以将奖励值加1,和/或将惩罚值减1。
当人工分析结论与预测结论的语义不一致的时候,同样可以进一步结合预测结论的置信度与所设定的阈值的关系情况,决定是否更新强化学习模型,以及如何对强化学习中模型的参数进行调整。
可选地,在人工标记描述与预测结论描述的语义不一致的情况下,当预测结论的置信度大于阈值的时候,降低强化学模型中人工标记描述的奖励值和/或增加强化学习模型中人工标记描述的惩罚值,例如可以将奖励值减1,和/或将惩罚值加1;当置信度小于或等于阈值的时候,不需要更新强化学习模型。
需要说明的是,上述几种情况同样可以只考虑其中一种,也可以同时考虑其中多种或全部,在此不再赘述。
还应理解,在上述过程中,相当于,当置信度大于或等于阈值的时候认为预测结论是相对准确的,当置信度小于阈值的时候认为预测结论是相对不准确的,当利用一个相对准确的结论判断正确的时候,不改变强化学习模型的参数;当利用一个相对准确的值判断错误的时候,减小强化学习模型的奖励值;当利用一个相对不准确的结论判断正确的时候,增大强化学习模型的奖励值;当利用一个相对不准确的结论判断错误的时候,不改变强化学习模型的奖励值。
进一步的举例说明,首先,假设认为人工分析结论是正确的结论。
情况一、当人工分析结论和预测结论语义一致,且预测结论的置信度大于或等于阈值的时候,相当于利用一个相对准确的结论得到了一个正确的结果,所以不奖励也不惩罚,也就是说,不改变强化学习模型的奖励值和惩罚值。
情况二、当人工分析结论和预测结论语义一致,且预测结论的置信度小于阈值的时候,相当于利用一个相对不准确的结论得到了一个正确的结果,所以对其进行奖励,也就是说,增大强化学习模型的奖励值。
情况三、当人工分析结论和预测结论语义不一致,且预测结论的置信度大于或等于阈值的时候,相当于利用一个相对准确的结论得到了一个不正确的结果,所以对其进行惩罚,此处采用减小强化学习模型的奖励值的方式。
情况四、当人工分析结论和预测结论语义不一致,且预测结论的置信度小于阈值的时候,相当于利用一个相对不准确的结论得到了一个不正确的结果,所以不奖励也不惩罚,也就是说,不改变强化学习模型的奖励值和惩罚值。
需要说明的是,上述四种情况同样可以只考虑其中一种,也可以同时考虑其中多种或全部,在此不再赘述。
应理解,由于对于当性能指标不同时,对于预测结论是否准确的判断结果是不同的。例如当性能指标为欧式距离的时候,欧氏距离越小越准确,而当性能指标为置信度的时候,置信度越高认为越准确,为了使表达不产生混乱,将所有性能指标均认为性能指标越小越准确。因此当性能指标为置信度的时候,可以设定性能指标为置信度的负相关值,置信度越高的时候,负相关值就越小,也就是性能指标越小。
被更新的强化学习模型可以继续用于预测流程,以获得更为准确的预测结论。例如,可以搜索更新时间窗口内,例如最近七天内的尚未被人工标记的历史日志(也就是尚未进行人工分析的日志),使用当前的强化学习模型重新预测这些历史日志,返回新的预测结论。
在更新过程中,通过对强化学习模型的实时更新,解决了由于问题闭环导致的模型经验失效的问题,使得模型能够一直适应随着时间推移所处的新环境。此外,使得当分析测试日志的失败原因的时候,能救减少或避免将失败原因确定为已闭环的原因。
第二方面提供一种训练模型的方法,该方法包括:获取历史日志的表征向量,根据历史日志的表征向量,获得第一监督学习模型,根据历史日志的预测结论和历史日志的人工分析结论对强化学习模型进行训练,获得第一强化学习模型,其中,历史日志的预测结论是利用第一监督学习模型获得的对应于历史日志的表征向量的日志失败原因的结论,历史日志的人工分析结论是由测试人员通过人工分析获得的对应于历史日志的表征向量的日志失败原因的结论。
在本申请技术方案中,利用监督学习和强化学习相结合的模型训练方法,所获得的训练模型在应用于分析测试日志的失败原因的时候,能够提高预测的准确性。
可选地,可以根据历史日志的原文及其上下文获得对应的表征向量,在本申请实施例中,根据历史日志获得的表征向量或者根据历史日志及其上下文获得的表征向量均称之为历史日志的表征向量。此外,在本申请实施例中,第二表征向量同样是对历史日志进行表征学习获得的表征向量。
可选地,可以利用读取装置等从例如存储装置或存储芯片等中提取历史日志或者历史日志原文及其上下文。需要说明的是,所谓“历史”可以包括一个或多个历史时刻,也就是已经采集过日志的时刻可以有很多。
可选地,可以采用消极学习与强化学习相结合的方法,训练强化学习模型。首先按时间顺序仿真推送历史日志,也就是说,根据历史日志的时间顺序,模拟执行预测和/或更新流程,推送历史日志。对推送的历史日志进行表征学习,获得历史日志的表征向量,再根据消极学习模型和表征向量预测所推送的历史日志对应的结论,生成结论候选集。之后,利用结论候选集和人工分析结论对强化学习模型进行训练,获得训练后的强化学习模型。
可选地,结论候选集可以包括标记和对应的欧氏距离。假设推送T1时刻的历史日志的时候,消极学习模型中包括100组带标记的表征向量,其中,标记是指这100组表征向量所对应的人工分析结论,这100组表征向量是推送T1时刻的历史日志之前获得的,并假设采用欧式距离作为性能指标。当推送T1时刻的历史日志或表征向量后,获得20组与T1时刻的表征向量最接近(欧氏距离最小)的带标记的表征向量,则这20组表征向量所对应的标记和所对应的欧氏距离即可以作为结论候选集。
需要说明的是,消极学习模型可以是利用基于消极学习的训练方法获得的表征学习模型。还应理解,由于在获得表征学习模型的过程中也会对历史日志进行过表征学习等操作,所以,当推送的是已经进行过表征学习的历史日志的时候,可以不执行该步骤,而是推送表征向量,也或者可以执行按时间推送的步骤,但不进行表征学习,而是改为获取历史日志对应的表征向量;当推送的是没有进行过表征学习的历史日志的时候,则需要对这些历史日志进行表征学习获得其表征向量。
还应理解,结论候选集可以是K篇历史日志对应的带标记的表征向量(即表征学习模型);也可以是这K篇历史日志对应的标记以及标记对应的性能指标,也就是说,当利用人工分析结论进行标记的时候,此处所述标记为历史日志对应的人工分析结论。
可选地,还可以采用积极学习与强化学习相结合的方法,训练强化学习模型。首先按时间顺序仿真推送历史日志,也就是说,根据历史日志的时间顺序,模拟预测和/或更新流程,推送历史日志。对推送的历史日志进行表征学习,获得历史日志的表征向量,再根据积极学习模型和表征向量预测所推送的历史日志对应的结论,生成结论候选集。之后,利用结论候选集和人工分析结论对强化学习模型进行训练,获得训练后的强化学习模型。
可选地,结论候选集可以包括备选结论和置信度。假设推送T1时刻的历史日志的时候,积极学习模型用A表示,并假设采用置信度作为性能指标。当推送T1时刻的历史日志或表征向量后,获得预设数量的备选结论(例如可以预设备选结论的数量为5)以及备选结论的置信度,则这些备选结论和备选结论的置信度即可以作为结论候选集。
需要说明的是,积极学习模型可以是利用基于积极学习的训练方法获得的积极学习模型。还应理解,由于在获得积极学习模型的过程中也会对历史日志进行过表征学习等操作,所以,当推送的是已经进行过表征学习的历史日志的时候,可以不执行该步骤,而是推送表征向量,也或者可以执行按时间推送的步骤,但不进行表征学习,而是改为获取历史日志对应的表征向量;当推送的是没有进行过表征学习的历史日志的时候,则需要对这些历史日志进行表征学习获得其表征向量。
还应理解,结论候选集可以是K篇历史日志对应的结论和结论的性能指标,例如可以是结论和结论的置信度。
在上述两种实现方式中,利用了监督学习(包括上述积极学习和消极学习)与强化学习相结合的方法,对强化学习模型进行训练。在训练过程中,按时间顺序模拟真实的预测过程,推送历史日志,再利用已经获得的监督学习模型对历史日志的失败原因进行分析,以及根据强化学习方法,利用预测结论和人工分析结论对强化学习模型进行训练,提高了模型的准确性,当将训练好的模型应用于实际预测过程时,能够获得更为准确的预测结果。
结合第二方面,在第二方面的某些实现方式中,在上述根据历史日志的表征向量,获得第一监督学习模型的过程中,可以利用历史日志的人工分析结论对历史日志的表征向量进行标记,获得带标记的表征向量,第一监督学习模型包括带标记的表征向量。在这种实现方式中,第一监督学习模型为基于消极学习获得的消极学习模型,此处为利用表征学习获得的表征学习模型,该表征学习模型中包括历史日志的表征向量和标记,其中,标记采用了人工分析结论,也就是说,利用人工分析结论对表征向量进行了标记。
结合第二方面,在第二方面的某些实现方式中,在上述根据历史日志的表征向量,获得第一监督学习模型的过程中,可以利用历史日志的表征向量和历史日志的人工分析结论对监督学习模型进行积极学习训练,获得第一监督学习模型。在这种实现方式中,第一监督学习模型为基于积极学习获得的积极学习模型,利用该积极学习模型能够获得待预测日志的备选结论和这些备选结论所对应的置信度。
结合第二方面,在第二方面的某些实现方式中,还可以根据第一日志的预测结论与第一日志的人工分析结论的一致性,更新第一强化学习模型,其中,第一日志的预测结论是利用第一监督学习模型和第一强化学习模型获得的对应于第一日志的日志失败原因的结论,第一日志的人工分析结论是测试人员通过分析获得的对应于第一日志的日志失败原因的结论。该更新第一强化学习模型的过程例如可以采用第一方面所提供的相关更新方法实现。
可选地,该第一日志可以是采用第一方面所述的方法获得。
结合第二方面,在第二方面的某些实现方式中,在上述根据第一日志的预测结论与第一日志的人工分析结论的一致性,更新第一强化学习模型的过程中,可以采用第一方面所提供的相关方法实现。例如,可以进行如下操作。
情况一、当第一日志的预测结论与第一日志的人工分析结论的语义一致,且第一日志的预测结论的性能指标小于或等于预设阈值时,不改变第一强化学习模型的参数,第一强化学习模型的参数包括奖励值和惩罚值。
情况二、当第一日志的预测结论与第一日志的人工分析结论的语义一致,且第一日志的预测结论的性能指标大于预设阈值时,增大第一强化学习模型的奖励值,和/或降低第一强化学习模型的惩罚值。
情况三、当第一日志的预测结论与第一日志的人工分析结论的语义不一致,且第一日志的预测结论的性能指标小于或等于预设阈值时,降低第一强化学习模型的奖励值,和/或增大第一强化学习模型的惩罚值。
情况四、当第一日志的预测结论与日志的第一人工分析结论的语义不一致,且第一日志的预测结论的性能指标大于预设阈值时,不改变第一强化学习模型的参数。
需要说明的是,上述四种情况可以考虑其中任意一种或多种情况,也可以考虑全部情况。例如可以只考虑情况二,除此之外不考虑其他几种情况。又例如可以同时考虑情况一和情况二,并执行相应的操作,而不考虑其他情况。又例如可以考虑情况二和情况三等等,在此不再一一列举。
第三方面,提供了一种分析测试日志的装置,该装置包括用于执行上述第一方面的任意一种实现方式的方法的单元。该装置包括获取单元和处理单元。
第四方面,提供了一种训练模型的装置,该装置包括用于执行上述第二方面的任意一种实现方式的方法的单元。该装置包括获取单元和处理单元。
第五方面,提供了一种分析测试日志的装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第一方面中的任意一种实现方式中的方法。
第六方面,提供了一种训练模型的装置,该装置包括:存储器,用于存储程序;处理器,用于执行所述存储器存储的程序,当所述存储器存储的程序被执行时,所述处理器用于执行第二方面中的任意一种实现方式中的方法。
第七方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第一方面中的任意一种实现方式中的方法。
第八方面,提供一种计算机可读介质,该计算机可读介质存储用于设备执行的程序代码,该程序代码包括用于执行第二方面中的任意一种实现方式中的方法。
第九方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行上述第一方面中的任意一种实现方式中的方法。
第十方面,提供一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,使得计算机执行第二方面中的任意一种实现方式中的方法。
第十一方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第一方面中的任意一种实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第一方面中的任意一种实现方式中的方法。
第十二方面,提供一种芯片,所述芯片包括处理器与数据接口,所述处理器通过所述数据接口读取存储器上存储的指令,执行上述第二方面中的任意一种实现方式中的方法。
可选地,作为一种实现方式,所述芯片还可以包括存储器,所述存储器中存储有指令,所述处理器用于执行所述存储器上存储的指令,当所述指令被执行时,所述处理器用于执行第二方面中的任意一种实现方式中的方法。
附图说明
图1是基于规则匹配的分析测试日志的方法的示意性流程图。
图2是基于监督学习分析测试日志的方法的示意性流程图。
图3是本申请实施例提供的分析测试日志的方法的示意性流程图。
图4是本申请实施例提供的监督学习模型的训练流程示意图。
图5是本申请实施例提供的消极学习与强化学习相结合的强化学习模型的训练流程示意图。
图6是本申请实施例提供的消极学习与强化学习相结合的强化学习模型的训练流程示意图。
图7是本申请实施例提供的积极学习与强化学习相结合的强化学习模型的训练流程示意图。
图8是本申请实施例提供的积极学习与强化学习相结合的强化学习模型的训练流程示意图。
图9是本申请实施例提供的分析测试日志的方法的预测流程和更新流程的示意图。
图10是本申请实施例提供的分析测试日志的方法的示意性流程图。
图11是本申请实施例提供的分析测试日志的方法的更新流程示意图。
图12是本申请实施例提供的分析测试日志的装置的示意性框图。
图13是本申请实施例的一种分析测试日志的装置的硬件结构示意图。
图14是本申请实施例的一种训练模型的装置的示意性框图。
图15是本申请实施例的一种分析测试日志的装置的硬件结构示意图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
为了便于理解,首先对本申请涉及的技术术语进行介绍。
(1)人工智能
人工智能(artificial intelligence,AI)是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能领域的研究包括机器人、语言识别、图像识别、自然语言处理、决策与推理、人机交互、推荐与搜索等。
(2)机器学习
机器学习是人工智能的核心。业界有关人士将机器学习定义为:为了实现任务T,通过训练过程E,逐步提高模型表现P的一个过程。举个例子,让一个模型认识一张图片是猫还是狗(任务T)。为了提高模型的准确度(模型表现P),不断给模型提供图片让其学习猫与狗的区别(训练过程E)。通过这个学习过程,所得到的最终模型就是机器学习的产物,理想情况下,该最终模型具备识别图片中的猫与狗的功能。该训练过程就是机器学习的学习过程。
机器学习的方法包括监督学习和强化学习。
(3)监督学习
监督学习(supervised learning)的目标是给定一个训练数据集,学习训练数据集中输入和输出的映射关系,同时,希望其映射关系还能应用于训练数据集之外的数据,即当新的数据到来时,可以根据该映射关系预测结果。其中,训练数据集为正确的输入输出对的集合。通常,训练数据集中正确的输入输出对是由人标注的。换句话说,可以将监督学习视为,为学习算法提供一个数据集,这个数据集由“正确答案”组成。
可知,监督学习需要获取带标注的训练数据集(即由“正确答案”组成的数据集)。但是有些任务,较难获取带标记的训练数据集,例如,对于决策问题,较难获得带标记的训练数据。
常见的监督学习算法有回归分析和统计分类,典型的算法例如支持向量机(support vector machine,SVM)算法和K最近邻(K-nearest neighbor,KNN)算法。
(4)强化学习
强化学习(reinforcement learning),又称再励学习、评价学习或增强学习,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。
强化学习是智能体(agent)以“试错”的方式进行学习,通过动作(action)与环境进行交互获得的奖赏(reward)指导行为,目标是使智能体获得最大的奖赏。强化学习不同于监督学习,主要表现在无需训练数据集。强化学习中由环境提供的强化信号(即奖赏)对产生动作的好坏作一种评价,而不是告诉强化学习系统如何去产生正确的动作。由于外部环境提供的信息很少,智能体必须靠自身的经历进行学习。通过这种方式,智能体在行动-评价(即奖赏)的环境中获得知识,改进行动方案以适应环境。常见的强化学习算法有Q-learning,policy gradient,actor-critic等。
在强化学习过程中,智能体感知环境中的状态信息,搜索策略(哪种策略可以产生最有效的学习)选择最优的动作,从而引起状态的改变并得到一个延迟回报值,更新评估函数,完成一次学习过程后,进入下一轮的学习训练,重复循环迭代,直到满足整个学习的条件,终止学习。
(5)积极学习
积极学习(eager learning)的学习方式是指在进行某种判断(例如,确定一个点的分类或者回归中确定某个点对应的函数值)之前,先利用训练数据进行训练得到一个目标函数,待需要时就只利用训练好的函数进行决策。例如,SVM就属于一种积极学习的方法,又例如Find-S算法、候选消除算法、决策树、人工神经网络、贝叶斯方法等。
举例说明,先训练得到一个目标函数,例如利用最小二乘算法获得一个线性回归方程,当接收到输入数据后,根据目标函数确定输出数据,例如将输入数据代入到获得的线性回归方程中,得到对应输出数据。
(6)消极学习
消极学习(lazy learning)的学习方式是指不根据样本建立一般化的目标函数并确定其参数,而是简单地把训练样本存储起来,直到需要分类新的实例时才分析其与所存储样例的关系,据此确定新实例的目标函数值。也就是说这种学习方式只有到了需要决策时才会利用已有数据进行决策,而在这之前不会经历积极学习所需要的训练过程。例如,KNN就属于一种消极学习的方法,又例如局部加权回归方法、基于案例的推理方法等。
举例说明,KNN算法的核心思想是如果一个样本在特征空间中的k个最相邻的样本中的大多数属于某一个类别,则该样本也属于这个类别,并具有这个类别上样本的特性。该方法在确定分类决策上只依据最邻近的一个或者几个样本的类别来决定待分样本所属的类别。KNN方法在类别决策时,只与极少量的相邻样本有关。由于KNN方法主要靠周围有限的邻近的样本,而不是靠判别类域的方法来确定所属类别的,因此对于类域的交叉或重叠较多的待分样本集来说,KNN方法较其他方法更为适合。KNN算法的主要应用领域是对未知事物的识别,即判断未知事物属于哪一类,判断思想是,基于欧几里得定理,判断未知事物的特征和哪一类已知事物的特征最接近。
(7)自动化测试
自动化测试一般是指软件测试的自动化,软件测试就是在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。而随着人工智能的普及,人们期望改变自动化测试的过程中还需大量投入人力的情况,使得自动化测试能够尽可能脱离人工,实现真正意义上的自动化。因此出现了利用云计算以及各类人工智能算法的自动化测试方法。
(8)表征学习
在机器学习中,特征学习或表征学习(representation learning)是学习数据的特征的技术的集合,也就是说,将原始数据转换成为能够被机器学习来有效开发的一种形式。它避免了手动提取特征的麻烦,允许计算机学习使用特征的同时,也学习如何提取特征(相当于学习如何学习)。
机器学习任务,例如分类问题,通常都要求输入在数学上或者在计算上都非常便于处理,在这样的前提下,特征学习就应运而生了。然而,在我们现实世界中的数据例如图片,视频,以及传感器的测量值都非常的复杂,冗余并且多变。那么,如何有效的提取出特征并且将其表达出来就显得非常重要。传统的手动提取特征需要大量的人力并且依赖于非常专业的知识。同时,还不便于推广。这就要求特征学习技术的整体设计非常有效,自动化,并且易于推广。
特征学习可以被分为两类:监督的和无监督的,类似于机器学习。在监督特征学习中,被标记过的数据被当作特征用来学习。例如神经网络,多层感知器,(监督)字典学习。在无监督特征学习中,未被标记过的数据被当作特征用来学习。例如(无监督)字典学习,独立成分分析,自动编码,矩阵分解,各种聚类分析及其变形。
本申请实施例所述自动化测试可以包括各类自动化测试的应用场景,例如,可以包括单元测试、性能测试、接口测试、协议测试、功能测试、兼容性测试、线上监控测试等等。其中,上述各类测试又可以进行细分,例如单元测试又可以包括针对各功能模块的函数调用进行测试,也就是函数级别的测试,也可以包括代码覆盖测试等;性能测试又可以包括压力测试、稳定性测试、吞吐量测试等,功能测试又可以包括业务需求测试、回归测试等。此外,上述各细分的测试类别又可以继续细分,在此不再赘述。所有测试过程都可能产生测试失败的可能,在测试失败时,往往需要对当时的测试时间、测试脚本、测试情况、测试的中间结果和最终报错结果等等进行记录,即形成了测试日志,因此,本申请实施例所述日志可以是任意测试场景中生成的。在获得测试日志后,往往还需要对出现的问题进行分析,找出测试失败也就是本申请实施例所述日志失败的根本原因,从而帮助研发人员能够找到和解决问题。
为了便于理解本申请实施例,下面结合图1和图2介绍两种现有的分析测试日志的方法。
图1是基于规则匹配的分析测试日志的方法的示意性流程图。如图1所示,决策装置在获得日志后,根据日志原文,从规则库中的规则中确定匹配的规则,从而使得测试人员能够得到对应于该匹配的规则的日志错误类型和/或日志失败的根本原因。在这个方案中,需要配置规则表,且对于规则表的准确性要求较高,而且对于一篇新日志,可能规则库中找不到能够匹配的规则,也可能同一篇日志会匹配到数条规则,以及对于规则库需要花费非常大的人力物力去维护和补充,这些都使得图1所示方法在实际使用过程中,效果很差。
图2是基于监督学习分析测试日志的方法的示意性流程图。如图2所示,该方法包括训练过程和预测过程,上面部分为训练过程,下面部分为预测过程。
在训练过程中,利用训练数据和监督学习的方法进行模型训练,获得监督学习模型。其中,训练数据包括历史日志、历史日志上下文、历史日志人工分析结论,即相当于历史日志和历史日志上下文为输入数据,历史日志人工分析结论为真实的输出数据,通过不断修正监督学习模型的参数,使得根据监督学习模型得到的输入数据对应的输出数据尽可能接近真实的输出数据。
在预测过程中,获取新日志,将新日志根据监督学习模型确定的输出数据作为预测依据,从而得到预测结论。
在实际测试过程中,日志中发现的问题会得到解决,并且已经解决的问题一般不会再出现在新日志中,而如果采用图2所示方法,会导致新日志还是会被预测为已经解决的问题。也就是说,日志中出现的问题会快速闭环,而已经闭环的问题再出现的概率很小,闭环是指从测试开始到发现问题、解决问题这整个过程结束。
此外,在实际测试过程中,日志失败的原因非常之多,例如可能是程序错误、数据错误、环境错误等,而在例如程序错误中又可以细分为各种各样类型的子程序错误,而每个子程序错误还可以再进行细分等等。而在测试阶段,出现日志失败的次数其实相对较少,这导致了数据稀疏的问题。也就是说,有的失败原因可能只出现极少的次数,而有的失败原因可能经常出现,这使得很容易把日志失败原因归结为经常出现的原因,而忽略了极少出现的失败原因,导致出现判断错误。本申请实施例提供一种分析测试日志的方法,先利用监督学习确定日志失败的原因,也就是预测结果,再利用强化学习对预测结果进行修正,也就是从预测结果中确定最终的对日志失败原因的预测结论,提高了预测的准确性。此外,在消极学习的方法中,将历史日志进行相应日志失败原因的标记和将其表征向量进行保存,当出现新日志的时候,可以将新日志的表征向量与这些历史日志的表征向量进行对比,从而确定出与新日志的表征向量相同或相近的一些历史日志的表征向量,以及进而根据这些相同或相近的历史日志的表征向量所对应的日志失败原因确定新日志的日志失败原因,在这个过程中,不会因为历史日志的数量过少导致难以建立有效的模型。在本申请实施例中,还通过强化学习模型的实时更新,解决了由于问题闭环导致的模型经验失效的问题。
下面结合附图对本申请实施例提供的分析测试日志的方法进行介绍。首先结合图3对本申请实施例提供的分析测试日志的方法的主要步骤进行介绍。
图3是本申请实施例提供的分析测试日志的方法的示意性流程图。如图3所示,当测试过程中遇到问题,例如测试脚本失败,可以通过执行器等获取日志,获取的日志可以自动触发预测流程的执行,并得到相应的预测结论,该预测结论即对日志失败原因的预测。对于获取的日志,测试人员可以通过人工分析,确认日志失败的原因,也就是说得到人工分析结论。之后,判断通过预测流程得到的预测结论是否与人工分析结论一致,当一致时,执行更新流程,该更新流程是指对预测流程中使用的模型进行更新;当不一致时,可以重新输入结论(例如人工确认结论),之后执行更新流程。
需要说明的是,在实际过程中,可以在日志的分析前台上展示日志文件和预测流程给出的结论及对应的置信度和分析依据,从而由测试人员根据置信度判断是否需要进行人工分析确认。对于人工确认的日志分析结论,本申请实施例将反馈给训练数据集合(也就是训练流程所需要的训练数据的集合),作为新的训练样本。此外,无论测试人员认可或是不认可预测结论,都可以实时更新模型。当测试人员认可预测结论时,将相应数据反馈给训练数据集合,从而通过执行更新流程,对模型进行训练和更新。当测试人员不认可预测结论的时候,可以重新输入人工分析得到的结论,也可以读取前面根据获取的日志确定的人工确认结论,从而将相应数据反馈给训练数据集合,进而通过执行更新流程,使得模型得到更新。认可与否对于更新流程的区别在于反馈的结论不同。除此之外,还可以刷新指定时间窗口内置信度相对较低的日志分析结论。
还需说明,上文所述置信度也称为可靠度,或置信水平、置信系数,即在抽样对总体参数作出估计时,由于样本的随机性,其结论总是不确定的。因此,采用一种概率的陈述方法,也就是数理统计中的区间估计法,即估计值与总体参数在一定允许的误差范围以内,其相应的概率有多大,这个相应的概率称作置信度。也就是说,上述将预测流程给出的结论的置信度以及分析依据进行展示,使得测试人员能够根据预测结论中各个结论的置信度,判断是否需要进行人工分析确认,例如当给出的预测结论中每个结论的置信度都很低的时候,就可以通过人工分析重新确定结论。
图4是本申请实施例提供的监督学习模型的训练流程示意图。其中,图4中的(a)对应于基于消极学习的监督学习模型的训练过程,图4中的(b)对应于基于积极学习的监督学习模型的训练过程,下面分别进行介绍。
如图4中的(a)所示,在利用消极学习实现本申请实施例的方法时,需要对训练数据进行表征学习,从而获得训练数据对应的表征向量。其中,训练数据包括历史数据,例如可以是历史日志原文以及历史日志上下文。
当获得表征向量后,可以结合历史日志的人工分析结论对这些表征向量进行标记,从而获得表征学习模型,该表征学习模型包括带标记的表征向量,也就是说,该表征学习模型包括利用人工分析结论进行标记后的表征向量及其标记。
需要说明的是,训练数据对应的表征向量表示利用表征学习方法对训练数据进行处理获得的特征向量。这些表征向量后续可以用于预测过程,在预测过程中作为参照,因此从某种程度上说,这些标记过的表征向量及其标记发挥了与模型相似的作用,因此也可以将这些带标记的表征向量称之为表征学习模型,或者当利用消极学习方法时,称之为消极学习模型,属于本申请实施例所述监督学习模型中的一种类型。举例说明,假设利用训练数据获得了5组带标记的表征向量,当采集到新日志后,将新日志的表征向量与这5组带标记的表征向量进行比较,找出与新日志的表征向量相同或相近的某一组或多组向量。其中,上面所说的标记可以利用历史日志的人工分析结论确定,也就是说把历史人工分析结论作为带标记的表征向量的标记。
进一步举例说明,假设在训练过程(训练阶段)获得一组对应于日志失败原因为“执行环境参数设置错误”的表征向量A,此时,日志失败原因“执行环境参数设置错”可以是人工分析获得的,可以作为对于表征向量A的标记。在预测过程(预测阶段)采集到新日志,对新日志进行表征学习后获得新日志的表征向量B,则将表征向量B与表征向量A进行比较,当二者相同或相似时,根据表征向量A的标记,确定新日志对应的失败原因也是“执行环境参数设置错误”。表征向量A的数量可以有多个或多组。
还应理解,在训练过程中,通过对历史日志进行表征学习,获得其表征向量,并将这些表征向量连通它们对应的标记(即日志失败原因的结论)储存起来,当获取新日志所对应的表征向量后,就可以将新日志的表征向量与这些储存起来的表征向量进行比较,整个过程不需要对这些表征向量进行训练。
图4中的(b)所示,在利用积极学习实现本申请实施例的方法时,需要对训练数据进行训练,从而获得对应的监督学习模型。其中,训练数据可以包括历史日志原文、历史日志上下文以及历史日志的人工分析结论。
首先对训练数据中的历史日志原文、历史日志上下文进行表征学习获得其对应的表征向量,再利用积极学习的相应训练方法对这些表征向量进行训练,获得对应目标函数及其参数,从而获得积极学习模型,积极学习模型同样属于本申请实施例所述监督学习模型中的一种类型。
应理解,在本申请实施例中,监督学习包括积极学习和消极学习,监督学习模型包括利用积极学习方法获得的积极学习模型,也包括利用消极学习的方法获得的消极学习模型。
比较图4中的(a)和(b)所示的两种方法可以看出,在消极学习中利用人工分析结论对表征向量进行标记获得了表征学习模型,不需要进行训练,而在消极学习中需要利用人工分析结论和表征向量,进行基于积极学习方法的训练,从而获得积极学习模型。
下面结合图5至图8,对本申请实施例提供的基于监督学习的强化学习模型的训练流程进行介绍。
在本申请实施例中,涉及以下参数:滑动时间窗口大小、更新时间窗口大小、候选集大小K、阈值。其中,滑动时间窗口大小决定了在预测流程中的历史日志的候选范围。每条日志都会有一个时间戳,来记录日志生成的时间(或时刻)。只有当历史日志已被标记,且历史日志的时间戳与待预测日志的时间戳的距离小于滑动时间窗口大小时,历史日志才会被考虑加入到候选集中。更新时间窗口大小决定了在更新流程中待更新日志的范围。只有当历史日志未被标记,且历史日志的时间戳与被标记日志的时间戳的距离小于更新时间窗口大小时,历史日志才会被更新。候选集大小K的含义是候选集里会包含K篇历史日志所对应的结论,其中K为正整数。阈值决定了强化学习模型的更新。预测结论的性能指标会与阈值比较,并根据其结果来决定是否更新强化学习模型。
图5是本申请实施例提供的消极学习与强化学习相结合的强化学习模型的训练流程示意图。如图5所示,首先按时间顺序仿真推送历史日志,也就是说,根据历史日志的时间顺序,模拟执行预测和/或更新流程,推送历史日志。对推送的历史日志进行表征学习,获得历史日志的表征向量,再根据消极学习模型和表征向量预测所推送的历史日志对应的结论,生成结论候选集。之后,利用结论候选集和人工分析结论对强化学习模型进行训练,获得训练后的强化学习模型。
可选地,结论候选集可以包括标记和对应的欧氏距离。假设推送T1时刻的历史日志的时候,消极学习模型中包括100组带标记的表征向量,其中,标记是指这100组表征向量所对应的人工分析结论,这100组表征向量是推送T1时刻的历史日志之前获得的,并假设采用欧式距离作为性能指标。当推送T1时刻的历史日志或表征向量后,获得20组与T1时刻的表征向量最接近(欧氏距离最小)的带标记的表征向量,则这20组表征向量所对应的标记和所对应的欧氏距离即可以作为结论候选集。
需要说明的是,消极学习模型可以是利用例如图4中的(a)所示的方法获得的表征学习模型。还应理解,由于在获得表征学习模型的过程中也会对历史日志进行过表征学习等操作,所以,当推送的是已经进行过表征学习的历史日志的时候,可以不执行该步骤,而是推送表征向量,也或者可以执行按时间推送的步骤,但不进行表征学习,而是改为获取历史日志对应的表征向量;当推送的是没有进行过表征学习的历史日志的时候,则需要对这些历史日志进行表征学习获得其表征向量。
还应理解,结论候选集可以是K篇历史日志对应的带标记的表征向量(即表征学习模型);也可以是这K篇历史日志对应的标记以及标记对应的性能指标,也就是说,当利用人工分析结论进行标记的时候,此处所述标记为历史日志对应的人工分析结论。
下面结合图6对图5所示方法的执行步骤和相应的方法进行介绍。图6是本申请实施例提供的消极学习与强化学习相结合的强化学习模型的训练流程示意图。
601、获取历史日志的表征向量。
可选地,可以根据历史日志的原文及其上下文获得对应的表征向量,在本申请实施例中,根据历史日志获得的表征向量或者根据历史日志及其上下文获得的表征向量均称之为历史日志的表征向量。此外,在本申请实施例中,第二表征向量同样是对历史日志进行表征学习获得的表征向量。
可选地,可以利用读取装置等从例如存储装置或存储芯片等中提取历史日志或者历史日志原文及其上下文。需要说明的是,所谓“历史”可以包括一个或多个历史时刻,也就是已经采集过日志的时刻可以有很多。
可选地,可以利用图4的(a)中所示的相关方法获得历史日志的表征向量。
602、根据所述历史日志的表征向量和历史日志的人工分析结论,获得表征学习模型。
可选地,利用历史日志的人工分析结论对历史日志的表征向量进行标记,获得带标记的表征向量,这些带标记的表征向量即可以称之为表征学习模型。在本申请实施例中,人工分析结论是指测试人员通过人工分析获得的对应于日志的失败原因的结论。历史日志的人工分析结论则是指由测试人员通过人工分析获得的对应于所述历史日志的表征向量的日志失败原因的结论。
需要说明的是,在图6所示方法中,采用的是基于消极学习的监督学习方法,因此,获得的监督学习模型是表征学习模型,也可以称之为消极学习模型。
可选地,可以利用图4的(a)中所示的相关方法获得表征学习模型。
603、根据历史日志的表征向量和表征学习模型获得历史日志的预测结论。
可选地,可以按时间仿真推送历史日志,得到历史日志的预测结论,其中历史日志的预测结论是利用表征学习模型获得的对应于历史日志的表征向量的日志失败原因的结论。
举例说明,假设历史日志中包括对应于历史时刻T1和历史时刻T2的日志,其中T2晚于T1,在推送了T1时刻的历史日志后,获得了T1时刻的表征学习模型(例如对应于带标记的第二表征向量),当推送T2时刻的历史日志时,先获取T2时刻的历史日志的表征向量,再将T2时刻的历史日志的表征向量与T1时刻的表征学习模型中的所有带标记的表征向量(例如称之为第二表征向量)进行比较,从中确定出与T2时刻的历史日志的表征向量相同或相近的表征向量(例如称之为第三表征向量),再将这些相同或相近的表征向量所对应的标记确定为T2时刻的历史日志的预测结论,这些预测结论的集合可以称之为结论候选集。
604、根据历史日志的预测结论和历史日志的人工分析结论对强化学习模型进行训练,获得第一强化学习模型。
可选地,可以在当历史日志的预测结论和人工分析结论一致时,利用二者之一作为正确结论训练强化学习模型;还可以在当历史日志的预测结论和人工分析结论不一致时,将人工分析结论作为正确的结论,利用该第一人工分析结论训练强化学习模型;还可以在当历史日志的预测结论和第一人工分析结论不一致时,重新确定结论,利用该重新确定的结论训练强化学习模型。
可选地,还可以通过判断人工分析结论与预测结论是否一致,根据人工分析结论与预测结论的一致性训练强化学习模型。需要说明的是,在步骤604中,人工分析结论是指历史日志的人工分析结论(例如T2时刻的人工分析结论),预测结论是指历史日志的预测结论(例如T2时刻的预测结论),为了描述简介,在下面的表述中省略了“历史日志的”这一定语。
可选地,可以根据人工分析结论与预测结论的语义是否一致,决定是否要更新强化学习模型,以及对强化学习中模型的参数进行调整。例如,可以利用人工分析结论中的人工标记描述与预测结论中的预测结论描述判断人工分析结论与预测结论的语义是否一致。
可选地,在本申请实施例中,人工分析结论可以包括人工标记的类别和描述,其中类别是日志失败根本原因的类别,描述是日志失败对应于根本原因的具体描述。如表1所示,在本申请实施例中,强化学习模型赋予每个人工标记描述一个惩罚值和一个奖励值。初始惩罚值与奖励值都设为零。
表1
当人工分析结论与预测结论的语义一致的时候,可以进一步结合预测结论所对应的待预测日志的综合距离与所设定的阈值的关系情况,决定是否更新强化学习模型,以及如何对强化学习中模型的参数进行调整。
在人工分析结论与预测结论的语义一致的情况下,当预测结论的性能指标小于或等于阈值的时候,不需要更新强化学习模型;当预测结论的综合距离大于阈值的时候,增加强化学模型中人工标记描述的奖励值和/或降低强化学习模型中人工标记描述的惩罚值,例如可以将奖励值加1,和/或将惩罚值减1。
当人工分析结论与预测结论的语义不一致的时候,同样可以进一步结合预测结论所对应的待预测日志的性能指标与所设定的阈值的关系情况,决定是否更新强化学习模型,以及如何对强化学习中模型的参数进行调整。
在人工标记描述与预测结论描述的语义不一致的情况下,当预测结论的性能指标小于或等于阈值的时候,降低强化学模型中人工标记描述的奖励值和/或增加强化学习模型中人工标记描述的惩罚值,例如可以将奖励值减1,和/或将惩罚值加1;当性能指标大于阈值的时候,不需要更新强化学习模型。
应理解,上述几种情况可以考虑其中任意一种或多种情况,也可以考虑全部情况。例如可以只考虑人工分析与预测结论一致的时候,执行相应操作,除此之外不考虑其他几种情况。又例如可以只考虑性能指标大于阈值的时候,执行相应操作,而不考虑其他情况。又例如可以考虑所有情况等等,在此不再一一列举。
需要说明的是,上述预测结论的性能指标是指评价预测结论的评价指标,例如可以采用欧式距离进行评价,例如将预测结论所对应的表征向量与待处理日志的表征向量之间的欧氏距离的大小作为评价指标,当而这距离较大的时候认为预测结论相对不是很准确,当距离较小的时候认为预测结论相对准确。
还应理解,在同时考虑上述所有情况,执行相应过程时,相当于,当性能指标小于或等于阈值的时候认为预测结论是相对准确的,当性能指标大于阈值的时候认为预测结论是相对不准确的,当利用一个相对准确的结论判断正确的时候,不改变强化学习模型的参数;当利用一个相对准确的值判断错误的时候,减小强化学习模型的奖励值;当利用一个相对不准确的结论判断正确的时候,增大强化学习模型的奖励值;当利用一个相对不准确的结论判断错误的时候,不改变强化学习模型的奖励值。
以欧氏距离为例,对上述根据一致性训练强化学习模型的过程进行进一步的举例说明。首先,假设认为人工分析结论是正确的结论。
情况一、当人工分析结论和预测结论语义一致,且预测结论的欧氏距离小于或等于阈值的时候,相当于利用一个相对准确的结论得到了一个正确的结果,所以不奖励也不惩罚,也就是说,不改变强化学习模型的奖励值和惩罚值。
情况二、当人工分析结论和预测结论语义一致,且预测结论的欧氏距离大于阈值的时候,相当于利用一个相对不准确的结论得到了一个正确的结果,所以对其进行奖励,也就是说,增大强化学习模型的奖励值。
情况三、当人工分析结论和预测结论语义不一致,且预测结论的欧氏距离小于或等于阈值的时候,相当于利用一个相对准确的结论得到了一个不正确的结果,所以对其进行惩罚,此处采用减小强化学习模型的奖励值的方式。
情况四、当人工分析结论和预测结论语义不一致,且预测结论的欧氏距离大于阈值的时候,相当于利用一个相对不准确的结论得到了一个不正确的结果,所以不奖励也不惩罚,也就是说,不改变强化学习模型的奖励值和惩罚值。
需要说明的是,上述四种情况可以考虑其中任意一种或多种情况,也可以考虑全部情况。例如可以只考虑情况二,除此之外不考虑其他几种情况。又例如可以同时考虑情况一和情况二,并执行相应的操作,而不考虑其他情况。又例如可以考虑情况二和情况三等等,在此不再一一列举。
可选地,可以在所有训练数据都执行过上述过程之后,输出强化学习模型,也就是说,当所有历史日志原文及其上下文都得到利用之后,输出当时时刻的强化学习模型。
图7是本申请实施例提供的积极学习与强化学习相结合的强化学习模型的训练流程示意图。如图7所示,首先按时间顺序仿真推送历史日志,也就是说,根据历史日志的时间顺序,模拟预测和/或更新流程,推送历史日志。对推送的历史日志进行表征学习,获得历史日志的表征向量,再根据积极学习模型和表征向量预测所推送的历史日志对应的结论,生成结论候选集。之后,利用结论候选集和人工分析结论对强化学习模型进行训练,获得训练后的强化学习模型。
可选地,结论候选集可以包括备选结论和置信度。假设推送T1时刻的历史日志的时候,积极学习模型用A表示,并假设采用置信度作为性能指标。当推送T1时刻的历史日志或表征向量后,获得预设数量的备选结论(例如可以预设备选结论的数量为5)以及备选结论的置信度,则这些备选结论和备选结论的置信度即可以作为结论候选集。
需要说明的是,积极学习模型可以是利用例如图4中的(b)所示的方法获得的积极学习模型。还应理解,由于在获得积极学习模型的过程中也会对历史日志进行过表征学习等操作,所以,当推送的是已经进行过表征学习的历史日志的时候,可以不执行该步骤,而是推送表征向量,也或者可以执行按时间推送的步骤,但不进行表征学习,而是改为获取历史日志对应的表征向量;当推送的是没有进行过表征学习的历史日志的时候,则需要对这些历史日志进行表征学习获得其表征向量。
还应理解,结论候选集可以是K篇历史日志对应的结论和结论的性能指标,例如可以是结论和结论的置信度。
在图7所示的训练方法中,按时间顺序模拟真实的预测过程,推送历史日志,再利用已经获得的监督学习模型对历史日志的失败原因进行分析,以及根据强化学习方法,利用预测结论和人工分析结论对强化学习模型进行训练,提高了模型的准确性,当将训练好的模型应用于实际预测过程时,能够获得更为准确的预测结果。
下面结合图8对图7所示方法的执行步骤进行介绍。图8是本申请实施例提供的积极学习与强化学习相结合的强化学习模型的训练流程示意图。
801、获取历史日志的表征向量。
可选地,可以采用步骤601相同的方法执行步骤801。
可选地,可以根据历史日志的原文及其上下文获得对应的表征向量,在本申请实施例中,根据历史日志获得的表征向量或者根据历史日志及其上下文获得的表征向量均称之为历史日志的表征向量。此外,在本申请实施例中,第二表征向量同样是对历史日志进行表征学习获得的表征向量。
可选地,可以利用读取装置等从例如存储装置或存储芯片等中提取历史日志或者历史日志原文及其上下文。需要说明的是,所谓“历史”可以包括一个或多个历史时刻,也就是已经采集过日志的时刻可以有很多。
可选地,可以利用图4的(a)中所示的相关方法获得历史日志的表征向量。
802、利用历史日志的表征向量和历史日志的人工分析结论,利用积极学习的方法进行训练,获得积极学习模型。
其中,在本申请实施例中,人工分析结论是指测试人员通过人工分析获得的对应于日志的失败原因的结论。历史日志的人工分析结论则是指由测试人员通过人工分析获得的对应于所述历史日志的表征向量的日志失败原因的结论。
可选地,可以将历史日志的表征向量作为目标函数的输入量,历史日志的人工分析结论作为目标函数的输出量,利用例如线性回归方法、支持向量机的方法等各类积极学习方法,训练获得该目标函数。该目标函数即可看作是积极学习模型。
可选地,可以采用图4中(b)所示的方法执行步骤802。
803、根据历史日志的表征向量和积极学习模型获得历史日志的预测结论,该历史日志的预测结论对应于该历史日志的失败原因。
可选地,可以按时间仿真推送历史日志,得到历史日志的预测结论,其中历史日志的预测结论是利用积极学习模型获得的对应于历史日志的表征向量的日志失败原因的结论。
举例说明,假设历史日志中包括对应于历史时刻T1和历史时刻T2的日志,其中T2晚于T1。在推送了T1时刻的历史日志后,利用积极学习方法获得了T1时刻的积极学习模型(例如利用T1时刻的历史日志更新了积极学习模型的目标函数的参数),当推送T2时刻的历史日志时,先获取T2时刻的历史日志的表征向量,再将T2时刻的历史日志的表征向量代入到积极学习模型的目标函数中,得到对应的历史日志的预测结论,这些预测结论的集合可以称之为结论候选集。
也就是说,在利用积极学习模型确定预测日志的时候,不需要执行例如步骤603中比较表征向量、确定对应标记等操作。
804、根据历史日志的预测结论和历史日志的人工分析结论对强化学习模型进行训练,获得第一强化学习模型。
可选地,可以采用例如步骤604所述的方法执行步骤804,在此不再赘述。
可选地,可以在所有训练数据都执行过上述过程之后,输出强化学习模型,也就是说,当所有历史日志原文及其上下文都得到利用之后,输出当时时刻的强化学习模型。
下面结合图9至图11,对本申请实施例提供的分析测试日志的方法的预测流程和更新流程进行介绍。图9是本申请实施例提供的分析测试日志的方法的预测流程和更新流程的示意图。
如图9所示,首先获取第一日志,再对第一日志进行表征学习获得第一日志的表征向量。之后利用监督学习模型和第一日志的表征向量预测生成结论候选集。接下来,利用结论候选集和强化学习模型确定出第一日志对应的预测结论。以上为预测过程的流程。
需要说明的是,监督学习模型例如可以是消极学习模型,又例如可以是积极学习模型,在此不做限定。当采用不同的积极学习模型时,对应的结论候选集中包括的元素不同。还应理解,在利用强化学习模型和结论候选集确定预测结论的时候,可以利用强化学习模型对结论候选集中的结论进行调整,再根据调整之后的参数选择或确定最终的预测结论。
如图9所示,可以根据预测结论和人工分析结论对强化学习模型进行更新。这个过程可以实时进行,也就是说,每次执行过预测结论之后都执行;也可以间隔执行,也就是说,在执行预测过程后,间隔执行更新流程,例如执行第一次预测流程后不执行更新流程,执行第二次预测流程后执行更新流程。还可以以其他的规则执行该更新流程,在此不再赘述。
可选地,可以根据预测结论和人工分析结论的一致性,对强化学习模型进行更新。
下面结合图10和图11对图9所示的预测流程和更新流程的执行步骤进行介绍。图10是本申请实施例提供的分析测试日志的方法的示意性流程图。
1001、获取第一日志。
可选地,可以利用执行器等获取装置或获取单元等获取第一日志,还可以利用读取装置等从例如存储装置或存储芯片等中读取第一日志。
可选地,可以获取的是第一日志的原文,或者获取的是第一日志的原文及其上下文。
可选地,可以实时获取第一日志,或者可以从存储的最近某段时间内的存储日志中,读取第一日志。
1002、获取第一日志的第一表征向量。
可选地,可以采用上文所述任意一种通过表征学习方法获取日志的表征向量的方法获得第一表征向量。该第一表征向量对应于第一日志的特征。
1003、根据第一表征向量和监督学习模型获得结论候选集,该结论候选集包括对应于第一日志的多个候选结论。
需要说明的是,该监督学习模型可以是上文所述利用积极学习方法获得的积极学习模型,也可以是上文所述利用消极学习方法获得的消极学习模型(例如带标记的表征向量)。
例如,当监督学习模型是利用消极学习方法获得的消极学习模型时,可以搜索滑动时间窗口内,例如两个月内的已被人工标记的历史日志(也就是已经人工分析过失败原因的日志),比较已被标记的历史日志的特征向量与待预测日志(例如步骤1001所获得的第一日志)的特征向量(例如步骤1002获得的第一表征向量)的差距,从被标记的历史日志中选择差距较小的部分日志所对应的标记作为结论候选集。
可选地,可以采用欧式距离表示已被标记的历史日志的特征向量与待预测的日志的特征向量之间的差距。进而可以输出欧式距离最近的K篇历史日志所对应的标记作为候选集,其中K为大于或等于1的整数,例如可以设置K为20,则候选集中有20个标记以及对应的欧氏距离。
又例如,当监督学习模型是利用积极学习方法获得的积极学习模型时,可以搜索滑动时间窗口内,例如两个月内的已被人工标记的历史日志(也就是已经人工分析过失败原因的日志),将待预测日志(例如步骤1001所获得的第一日志)的特征向量(例如步骤1002获得的第一表征向量)代入到积极学习模型中,从而得到待预测日志所对应的候选结论,利用这些候选结论组成结论候选集。
可选地,在这个例子中,该候选结论可以包括日志失败原因可能的结论以及对应的置信度。进而可以输出置信度最高的M个结论作为候选集,其中M为大于或等于1的整数,例如可以设置M为10,则候选集中有10个结论以及这些结论对应的置信度。
1004、根据强化学习模型和结论候选集,确定第一日志的预测结论。
举例说明,假设在步骤1003时利用基于消极学习获得的消极学习模型确定的候选集,可以对候选集中的每个标记对应的欧氏距离,参考强化学习模型中其人工标记描述的惩罚值与奖励值,结合每个标记的欧式距离,计算得出每个标记的综合距离。
可选地,可以将候选集中综合距离最小的标记,作为最终的预测结论。
可选地,还可以将上述候选集中的最小综合距离保存下来,以用于后续更新流程。还可以将第一日志的预测结论发送给更新流程或者保存下来,以使得执行更新流程时可以读取。
又例如,假设在步骤1003时利用基于积极学习获得的积极学习模型确定的候选集,可以对候选集中的每个结论的置信度,参考强化学习模型中其人工标记描述的惩罚值与奖励值,结合每个结论的置信度,计算得出综合置信度。
可选地,可以将候选集中置信度最高的结论,作为最终的预测结论。
可选地,还可以将上述候选集中的最高置信度保存下来,以用于后续更新流程。还可以将第一日志的预测结论发送给更新流程或者保存下来,以使得执行更新流程时可以读取。
在图10所示方法中,先利用监督学习确定日志失败的备选原因,也就是备选原因的结论候选集,再利用强化学习对备选原因进行修正,也就是从结论候选集中确定最终的对日志失败原因的预测结论,提高了预测的准确性。此外,在消极学习的方法中,将历史日志进行相应日志失败原因的标记和将其表征向量进行保存,当出现新日志的时候,可以将新日志的表征向量与这些历史日志的表征向量进行对比,从而确定出与新日志的表征向量相同或相近的一些历史日志的表征向量,以及进而根据这些相同或相近的历史日志的表征向量所对应的日志失败原因确定新日志的日志失败原因,在这个过程中,不会因为历史日志的数量过少导致难以建立有效的模型。
此外,图10所示方法跟现有的基于规则匹配的技术方案相比,不需要人工维护复杂的规则表,也不需要考虑不同规则互相冲突的问题;跟现有的传统监督学习的方法相比,更能适用于有大量人工标记且采集到的数据存在数据稀疏的情况。此外,利用强化学习方法对监督学习获得的结论进行修正,提高了方法的准确性。
图11是本申请实施例提供的分析测试日志的方法的更新流程示意图。
1101、确定人工分析结论与预测结论的一致性。
也就是说,判断人工分析结论与预测结论是否一致。
其中,人工分析结论是测试人员对日志进行分析获得的结论,预测结论是利用监督学习模型和强化学习模型对上述日志进行分析获得的结论。
1102、根据人工分析结论与预测结论的一致性更新强化学习模型。
可选地,可以根据人工分析结论与预测结论的语义是否一致,决定是否要更新强化学习模型,以及对强化学习模型的参数进行调整。
可选地,可以结合人工分析结论与预测结论的一致性,以及预测结论的性能指标与阈值的关系,实现对强化学习模型的更新。假设该性能指标为欧氏距离,当欧氏距离越小认为越准确。则可以采用下面的操作。
当人工分析结论与预测结论的语义一致的时候,进一步结合预测结论所对应的待预测日志的综合距离与所设定的阈值的关系情况,决定是否更新强化学习模型,以及如何对强化学习中模型的参数进行调整。
在人工分析结论与预测结论的语义一致的情况下,当预测结论的综合距离小于或等于阈值的时候,不需要更新强化学习模型;当预测结论的综合距离大于阈值的时候,增加强化学模型中人工标记描述的奖励值和/或降低强化学习模型中人工标记描述的惩罚值,例如可以将奖励值加1,和/或将惩罚值减1。
当人工分析结论与预测结论的语义不一致的时候,同样可以进一步结合预测结论所对应的待预测日志的性能指标与所设定的阈值的关系情况,决定是否更新强化学习模型,以及如何对强化学习中模型的参数进行调整。
在人工标记描述与预测结论描述的语义不一致的情况下,当预测结论的综合距离小于或等于阈值的时候,降低强化学模型中人工标记描述的奖励值和/或增加强化学习模型中人工标记描述的惩罚值,例如可以将奖励值减1,和/或将惩罚值加1;当性能指标大于阈值的时候,不需要更新强化学习模型。
需要说明的是,上述几种情况同样可以只考虑其中一种,也可以同时考虑其中多种或全部,在此不再赘述。
还应理解,在上述过程中,相当于,当欧氏距离小于或等于阈值的时候认为预测结论是相对准确的,当欧氏距离大于阈值的时候认为预测结论是相对不准确的,当利用一个相对准确的结论判断正确的时候,不改变强化学习模型的参数;当利用一个相对准确的值判断错误的时候,减小强化学习模型的奖励值;当利用一个相对不准确的结论判断正确的时候,增大强化学习模型的奖励值;当利用一个相对不准确的结论判断错误的时候,不改变强化学习模型的奖励值。
进一步的举例说明,首先,假设认为人工分析结论是正确的结论。
情况一、当人工分析结论和预测结论语义一致,且预测结论的欧氏距离小于或等于阈值的时候,相当于利用一个相对准确的结论得到了一个正确的结果,所以不奖励也不惩罚,也就是说,不改变强化学习模型的奖励值和惩罚值。
情况二、当人工分析结论和预测结论语义一致,且预测结论的欧氏距离大于阈值的时候,相当于利用一个相对不准确的结论得到了一个正确的结果,所以对其进行奖励,也就是说,增大强化学习模型的奖励值。
情况三、当人工分析结论和预测结论语义不一致,且预测结论的欧氏距离小于或等于阈值的时候,相当于利用一个相对准确的结论得到了一个不正确的结果,所以对其进行惩罚,此处采用减小强化学习模型的奖励值的方式。
情况四、当人工分析结论和预测结论语义不一致,且预测结论的欧氏距离大于阈值的时候,相当于利用一个相对不准确的结论得到了一个不正确的结果,所以不奖励也不惩罚,也就是说,不改变强化学习模型的奖励值和惩罚值。
需要说明的是,上述四种情况同样可以只考虑其中一种,也可以同时考虑其中多种或全部,在此不再赘述。
假设该性能指标为置信度,当置信度越大认为越准确。则可以采用下面的操作。
当人工分析结论与预测结论的语义一致的时候,进一步结合预测结论所对应的置信度与所设定的置信度的阈值的关系情况,决定是否更新强化学习模型,以及如何对强化学习中模型的参数进行调整。
在人工分析结论与预测结论的语义一致的情况下,当预测结论的置信度大于阈值的时候,不需要更新强化学习模型;当预测结论的置信度小于或等于阈值的时候,增加强化学模型中人工标记描述的奖励值和/或降低强化学习模型中人工标记描述的惩罚值,例如可以将奖励值加1,和/或将惩罚值减1。
当人工分析结论与预测结论的语义不一致的时候,同样可以进一步结合预测结论的置信度与所设定的阈值的关系情况,决定是否更新强化学习模型,以及如何对强化学习中模型的参数进行调整。
在人工标记描述与预测结论描述的语义不一致的情况下,当预测结论的置信度大于阈值的时候,降低强化学模型中人工标记描述的奖励值和/或增加强化学习模型中人工标记描述的惩罚值,例如可以将奖励值减1,和/或将惩罚值加1;当置信度小于或等于阈值的时候,不需要更新强化学习模型。
还应理解,在上述过程中,相当于,当置信度大于或等于阈值的时候认为预测结论是相对准确的,当置信度小于阈值的时候认为预测结论是相对不准确的,当利用一个相对准确的结论判断正确的时候,不改变强化学习模型的参数;当利用一个相对准确的值判断错误的时候,减小强化学习模型的奖励值;当利用一个相对不准确的结论判断正确的时候,增大强化学习模型的奖励值;当利用一个相对不准确的结论判断错误的时候,不改变强化学习模型的奖励值。
进一步的举例说明,首先,假设认为人工分析结论是正确的结论。
情况一、当人工分析结论和预测结论语义一致,且预测结论的置信度大于或等于阈值的时候,相当于利用一个相对准确的结论得到了一个正确的结果,所以不奖励也不惩罚,也就是说,不改变强化学习模型的奖励值和惩罚值。
情况二、当人工分析结论和预测结论语义一致,且预测结论的置信度小于阈值的时候,相当于利用一个相对不准确的结论得到了一个正确的结果,所以对其进行奖励,也就是说,增大强化学习模型的奖励值。
情况三、当人工分析结论和预测结论语义不一致,且预测结论的置信度大于或等于阈值的时候,相当于利用一个相对准确的结论得到了一个不正确的结果,所以对其进行惩罚,此处采用减小强化学习模型的奖励值的方式。
情况四、当人工分析结论和预测结论语义不一致,且预测结论的置信度小于阈值的时候,相当于利用一个相对不准确的结论得到了一个不正确的结果,所以不奖励也不惩罚,也就是说,不改变强化学习模型的奖励值和惩罚值。
需要说明的是,上述四种情况同样可以只考虑其中一种,也可以同时考虑其中多种或全部,在此不再赘述。
需要说明的是,由于对于当性能指标不同时,对于预测结论是否准确的判断结果是不同的。例如当性能指标为欧式距离的时候,欧氏距离越小越准确,而当性能指标为置信度的时候,置信度越高认为越准确,为了使表达不产生混乱,将所有性能指标均认为性能指标越小越准确。因此当性能指标为置信度的时候,可以设定性能指标为置信度的负相关值,置信度越高的时候,负相关值就越小,也就是性能指标越小。还应理解,本领域技术人员可以不经过创造性劳动就可以想到采用其他的对于性能指标与预设阈值的关系的划分方式。例如,可以划分成性能指标大于或等于阈值、性能指标小于阈值两种情况,设置执行相应操作。又例如,可以设置性能指标大于、等于、小于阈值三种情况的划分方式,设置执行相应的操作,但都可以实现上述根据性能指标与预设阈值的关系进行更新的相同或相似的功能,在此不再赘述。
被更新的强化学习模型可以继续用于预测流程,以获得更为准确的预测结论。例如,可以搜索更新时间窗口内,例如最近七天内的尚未被人工标记的历史日志(也就是尚未进行人工分析的日志),使用当前的强化学习模型重新预测这些历史日志,返回新的预测结论。
在图11所示方法中,通过对强化学习模型的实时更新,解决了由于问题闭环导致的模型经验失效的问题,且使得强化学习模型更加准确,当将其用于后续预测流程时,能够进一步提高预测的准确性。
利用本申请实施例所提供的方法进行测试日志的分析,以确定日志失败的根本原因,跟现有的基于规则匹配的技术方案相比,不需要人工维护复杂的规则表,也不需要考虑不同规则互相冲突的问题。与现有的传统的监督学习的方法相比,更能适用于有大量人工标记且采集到的数据存在数据稀疏的情况。此外,利用强化学习方法对监督学习获得的结论进行修正,提高了方法的准确性。在本申请实施例中还引入了实时更新机制,利用更新流程能够对强化学习模型进行实时更新,从而使得对于结论的修正依据不断得到更新,解决了由于问题闭环导致的模型经验失效的问题。
上文结合附图对本申请实施例的分析测试日志的方法,以及训练模型的方法进行了介绍,下面结合附图对本申请实施例的分析测试日志的装置,以及训练模型的装置进行介绍。应理解,下文中介绍的分析测试日志的装置能够执行本申请实施例的分析测试日志的方法的各个过程,下文中介绍的训练模型的装置能够执行本申请实施例的训练模型的方法的各个过程,下面在介绍分析测试日志的装置和训练模型的装置时适当省略重复的描述。
图12是本申请实施例提供的分析测试日志的装置的示意性框图。图12所示的装置2000包括获取单元2001和处理单元2002。
装置2000可以用于执行本申请实施例的分析测试日志的方法的各步骤。例如,获取单元2001可以用于执行图10所示方法中的步骤1001,处理单元2002可以用于执行图10所示方法中的步骤1002、1003和1004。又例如,处理单元2002还可以用于执行图11所示方法中的各步骤。
可选地,获取单元2001可以用于获取第一日志,例如可以获取第一日志的原文,或者获取第一日志的原文及其上下文。该第一日志为待处理的日志或者称之为待预测的日志。
可选地,可以是利用获取单元2001实时获取第一日志,也可以是利用获取单元从存储单元中读取第一日志,该存储单元可以设置在装置2000中,例如可以与处理单元2002集成在一起,又例如可以为装置2000中的独立模块;还可以设置在装置2000之外。
也就是说,图12所示的装置2000中的获取单元2001可以是实时获取待预测日志(例如第一日志)的单元,例如可以通过获取单元2001实时获取待预测的日志。此外,获取单元2001还可以相当于图13所示的装置3000中的通信接口3003,通过该通信接口3003可以获得待预测日志(例如第一日志),或者,获取单元2001也可以相当于图13所示的装置3000中的处理器3002,此时可以通过处理器3002从存储器3001中获取待预测日志(例如第一日志),或者通过通信接口3003从外部获取待预测日志(例如第一日志)。
可选地,处理单元2002可以用于对第一日志执行表征学习、预测等过程,以获得第一日志的预测结论,该预测结论对应于第一日志的日志失败原因。
此外,上述图12所示的装置2000中的处理单元2002可以相当于图13所示的装置3000中处理器3002。
图13是本申请实施例的一种分析测试日志的装置的硬件结构示意图。图13所示的装置3000包括存储器3001、处理器3002、通信接口3003以及总线3004。其中,存储器3001、处理器3002、通信接口3003通过总线3004实现彼此之间的通信连接。
存储器3001可以是只读存储器(read only memory,ROM),静态存储设备,动态存储设备或者随机存取存储器(random access memory,RAM)。存储器3001可以存储程序,当存储器3001中存储的程序被处理器3002执行时,处理器3002和通信接口3003用于执行本申请实施例的分析测试日志的方法的各个步骤,例如用于执行本申请实施例的分析测试日志的预测流程和/或更新流程的各个步骤。
处理器3002可以采用通用的中央处理器(central processing unit,CPU),微处理器,应用专用集成电路(application specific integrated circuit,ASIC),图形处理器(graphic processing unit,GPU)或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的分析测试日志的装置中的单元所需执行的功能,或者执行本申请实施例的分析测试日志的方法的各个步骤。
处理器3002还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请实施例的分析测试日志的方法的各个步骤可以通过处理器3002中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器3002还可以是通用处理器、数字信号处理器(digital signalprocessing,DSP)、专用集成电路(ASIC)、现成可编程门阵列(field programmable gatearray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器3001,处理器3002读取存储器3001中的信息,结合其硬件完成本申请实施例的分析测试日志的装置中包括的单元所需执行的功能,或者执行本申请实施例的分析测试日志的方法的各个步骤。
通信接口3003使用例如但不限于收发器一类的收发装置,来实现装置3000与其他设备或通信网络之间的通信。例如,可以通过通信接口3003获取测试日志(例如第一日志)。
总线3004可包括在装置3000各个部件(例如,存储器3001、处理器3002、通信接口3003)之间传送信息的通路。
图14是本申请实施例的一种训练模型的装置的示意性框图。图14所示的装置4000包括获取单元4001和处理单元4002。
获取单元4001和处理单元4002可以用于执行本申请实施例的训练模型的方法例如可以用于执行图4中的(a)所示的方法,又例如可以用于执行图4中的(b)所示的方法,又例如可以用于执行图5至图8中所示的方法。
可选地,获取单元4001可以用于获取历史日志,例如可以采用读取的方式获取历史日志。
可选地,获取单元4001所获取的还可以是历史日志的表征向量,在这种情况下不需要再执行获取历史日志和对历史日志进行表征学习的操作。
可选地,处理单元4002可以用于对历史日志进行表征学习、预测、训练强化学习模型等操作。但应理解,也可以利用获取单元4001获取历史日志的表征向量,在这种情况下处理单元4002不需要执行对历史日志进行表征学习的操作。
上述图14所示的装置4000中的获取单元4001可以相当于图15所示的装置5000中的通信接口5003,通过该通信接口5003可以获得相应的训练数据,或者,上述获取单元4001也可以提相当于处理器5002,此时可以通过处理器5002从存储器5001中获取训练数据,或者通过通信接口5003从外部获取训练数据。另外,装置4000中的处理单元4002可以相当于装置5000中的处理器5002。应理解,上述训练数据可以是历史日志(例如历史日志的原文或者历史日志的原文及其上下文),或者该训练数据可以是历史日志的表征向量。
此外,上述图14所示的装置4000中的处理单元4002可以相当于图15所示的装置5000中处理器5002。
图15是本申请实施例的一种分析测试日志的装置的硬件结构示意图。图15所示的装置5000包括存储器5001、处理器5002、通信接口5003以及总线5004。其中,存储器5001、处理器5002、通信接口5003通过总线5004实现彼此之间的通信连接。
存储器5001可以是ROM,静态存储设备,动态存储设备或者RAM。存储器5001可以存储程序,当存储器5001中存储的程序被处理器5002执行时,处理器5002和通信接口5003用于执行本申请实施例的分析测试日志的方法的各个步骤,例如用于执行本申请实施例的训练模型的方法的各个步骤。
处理器5002可以采用通用的CPU,微处理器,ASIC,GPU或者一个或多个集成电路,用于执行相关程序,以实现本申请实施例的训练模型的装置中的单元所需执行的功能,或者执行本申请实施例的训练模型的方法的各个步骤。
处理器5002还可以是一种集成电路芯片,具有信号的处理能力。在实现过程中,本申请实施例的训练模型的方法的各个步骤可以通过处理器5002中的硬件的集成逻辑电路或者软件形式的指令完成。
上述处理器5002还可以是通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器5001,处理器5002读取存储器5001中的信息,结合其硬件完成本申请实施例的训练模型的装置中包括的单元所需执行的功能,或者执行本申请实施例的训练模型的方法的各个步骤。
通信接口5003使用例如但不限于收发器一类的收发装置,来实现装置5000与其他设备或通信网络之间的通信。例如,可以通过通信接口5003获取历史日志。
总线5004可包括在装置5000各个部件(例如,存储器5001、处理器5002、通信接口5003)之间传送信息的通路。
本申请实施例还提供一种计算机可读存储介质,其上存储有用于实现上述方法实施例中的方法的计算机指令。
例如,该计算机程序被计算机执行时,使得该计算机可以实现上述方法实施例中的方法。
本申请实施例还提供一种包含指令的计算机程序产品,该指令被计算机执行时使得该计算机实现上述方法实施例中的方法。
上述提供的任一种通信装置中相关内容的解释及有益效果均可参考上文提供的对应的方法实施例,此处不再赘述。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。
可选地,本申请实施例中涉及的网络设备包括硬件层、运行在硬件层之上的操作系统层,以及运行在操作系统层上的应用层。其中,硬件层可以包括中央处理器(centralprocessing unit,CPU)、内存管理单元(memory management unit,MMU)和内存(也称为主存)等硬件。操作系统层的操作系统可以是任意一种或多种通过进程(process)实现业务处理的计算机操作系统,例如,Linux操作系统、Unix操作系统、Android操作系统、iOS操作系统或windows操作系统等。应用层可以包含浏览器、通讯录、文字处理软件、即时通信软件等应用。
本申请实施例并未对本申请实施例提供的方法的执行主体的具体结构进行特别限定,只要能够通过运行记录有本申请实施例提供的方法的代码的程序,以根据本申请实施例提供的方法进行通信即可。例如,本申请实施例提供的方法的执行主体可以是终端设备或网络设备,或者,是终端设备或网络设备中能够调用程序并执行程序的功能模块。
本申请的各个方面或特征可以实现成方法、装置或使用标准编程和/或工程技术的制品。本文中使用的术语“制品”可以涵盖可从任何计算机可读器件、载体或介质访问的计算机程序。例如,计算机可读介质可以包括但不限于:磁存储器件(例如,硬盘、软盘或磁带等),光盘(例如,压缩盘(compact disc,CD)、数字通用盘(digital versatile disc,DVD)等),智能卡和闪存器件(例如,可擦写可编程只读存储器(erasable programmableread-only memory,EPROM)、卡、棒或钥匙驱动器等)。
本文描述的各种存储介质可代表用于存储信息的一个或多个设备和/或其它机器可读介质。术语“机器可读介质”可以包括但不限于:无线信道和能够存储、包含和/或承载指令和/或数据的各种其它介质。
需要说明的是,当处理器为通用处理器、DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件时,存储器(存储模块)可以集成在处理器中。
还需要说明的是,本文描述的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的保护范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。此外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上,或者说对现有技术做出贡献的部分,或者该技术方案的部分,可以以计算机软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,该计算机软件产品包括若干指令,该指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。前述的存储介质可以包括但不限于:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。
Claims (21)
1.一种分析测试日志的方法,其特征在于,包括:
获取第一日志;
获取所述第一日志的第一表征向量;
根据所述第一表征向量和第一监督学习模型获得结论候选集,所述结论候选集包括对应于所述第一日志的多个候选结论;
根据第一强化学习模型和所述结论候选集,确定所述第一日志的预测结论。
2.如权利要求1所述的方法,其特征在于,所述第一监督学习模型包括多个历史日志的第二表征向量以及对应于所述多个第二表征向量的结论;
其中,所述根据所述第一表征向量和第一监督学习模型获得结论候选集,包括:
获得所述多个第二表征向量中与所述第一表征向量相同或相似的第三表征向量;
将对应于所述第三表征向量的结论确定为所述结论候选集。
3.如权利要求1所述的方法,其特征在于,所述第一监督学习模型是利用历史日志的第二表征向量训练获得的;
其中,所述根据所述第一表征向量和第一监督学习模型获得结论候选集,包括:
将所述第一表征向量输入到所述第一监督学习模型,获得对应于所述第一表征向量的多个候选结论以及所述多个候选结论的置信度;
根据所述多个候选结论以及所述多个候选结论的置信度,确定所述结论候选集。
4.如权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
根据所述第一日志的预测结论与所述第一日志的人工分析结论的一致性,更新所述第一强化学习模型,所述第一日志的人工分析结论是由测试人员对所述第一日志进行分析获得的。
5.如权利要求4所述的方法,其特征在于,所述根据所述第一日志的预测结论与所述第一日志的人工分析结论的一致性,更新所述第一强化学习模型,包括:
当所述第一日志的预测结论与所述第一日志的人工分析结论的语义一致,且所述第一日志的预测结论的性能指标小于或等于预设阈值时,不改变所述第一强化学习模型的参数,所述第一强化学习模型的参数包括奖励值和惩罚值;和/或
当所述第一日志的预测结论与所述第一日志的人工分析结论的语义一致,且所述第一日志的预测结论的性能指标大于所述预设阈值时,增大所述第一强化学习模型的奖励值,和/或降低所述第一强化学习模型的惩罚值;和/或
当所述第一日志的预测结论与所述第一日志的人工分析结论的语义不一致,且所述第一日志的预测结论的性能指标小于或等于所述预设阈值时,降低所述第一强化学习模型的奖励值,和/或增大所述第一强化学习模型的惩罚值;和/或
当所述第一日志的预测结论与所述第一日志的人工分析结论的语义不一致,且所述第一日志的预测结论的性能指标大于所述预设阈值时,不改变所述第一强化学习模型的参数。
6.一种训练模型的方法,其特征在于,包括:
获取历史日志的表征向量;
根据所述历史日志的表征向量,获得第一监督学习模型;
根据所述历史日志的预测结论和所述历史日志的人工分析结论对强化学习模型进行训练,获得第一强化学习模型,其中,所述历史日志的预测结论是利用所述第一监督学习模型获得的对应于所述历史日志的表征向量的日志失败原因的结论,所述历史日志的人工分析结论是由测试人员通过人工分析获得的对应于所述历史日志的表征向量的日志失败原因的结论。
7.如权利要求6所述的方法,其特征在于,所述根据所述历史日志的表征向量,获得第一监督学习模型,包括:
利用所述历史日志的人工分析结论对所述历史日志的表征向量进行标记,获得带标记的表征向量,所述第一监督学习模型包括所述带标记的表征向量。
8.如权利要求6所述的方法,其特征在于,所述根据所述历史日志的表征向量,获得第一监督学习模型,包括:
利用所述历史日志的表征向量和所述历史日志的人工分析结论对监督学习模型进行积极学习训练,获得所述第一监督学习模型。
9.如权利要求6至8中任一项所述的方法,其特征在于,所述方法还包括:
根据第一日志的预测结论与所述第一日志的人工分析结论的一致性,更新所述第一强化学习模型,其中,所述第一日志的预测结论是利用所述第一监督学习模型和所述第一强化学习模型获得的对应于所述第一日志的日志失败原因的结论,所述第一日志的人工分析结论是测试人员通过分析获得的对应于所述第一日志的日志失败原因的结论。
10.如权利要求9所述的方法,其特征在于,所述根据第一日志的预测结论与所述第一日志的人工分析结论的一致性,更新所述第一强化学习模型,包括:
当所述第一日志的预测结论与所述第一日志的人工分析结论的语义一致,且所述第一日志的预测结论的性能指标小于或等于预设阈值时,不改变所述第一强化学习模型的参数,所述第一强化学习模型的参数包括奖励值和惩罚值;和/或
当所述第一日志的预测结论与所述第一日志的人工分析结论的语义一致,且所述第一日志的预测结论的性能指标大于所述预设阈值时,增大所述第一强化学习模型的奖励值,和/或降低所述第一强化学习模型的惩罚值;和/或
当所述第一日志的预测结论与所述第一日志的人工分析结论的语义不一致,且所述第一日志的预测结论的性能指标小于或等于所述预设阈值时,降低所述第一强化学习模型的奖励值,和/或增大所述第一强化学习模型的惩罚值;和/或
当所述第一日志的预测结论与所述日志的第一人工分析结论的语义不一致,且所述第一日志的预测结论的性能指标大于所述预设阈值时,不改变所述第一强化学习模型的参数。
11.一种分析测试日志的装置,其特征在于,包括:
获取单元,用于获取第一日志;
处理单元,用于获取所述第一日志的第一表征向量;
所述处理单元,还用于根据所述第一表征向量和第一监督学习模型获得结论候选集,所述结论候选集包括对应于所述第一日志的多个候选结论;
所述处理单元,还用于根据第一强化学习模型和所述结论候选集,确定所述第一日志的预测结论。
12.如权利要求11所述的装置,其特征在于,所述第一监督学习模型包括多个历史日志的第二表征向量以及对应于所述多个第二表征向量的结论;
所述处理单元,具体用于获得所述多个第二表征向量中与所述第一表征向量相同或相似的第三表征向量,将对应于所述第三表征向量的结论确定为所述结论候选集。
13.如权利要求11所述的装置,其特征在于,所述第一监督学习模型是利用历史日志的第二表征向量训练获得的,所述处理单元,具体用于将所述第一表征向量输入到所述第一监督学习模型,获得对应于所述第一表征向量的多个候选结论以及所述多个候选结论的置信度;
根据所述多个候选结论以及所述多个候选结论的置信度,确定所述结论候选集。
14.如权利要求11至13中任一项所述的装置,其特征在于,所述处理单元,还用于根据所述第一日志的预测结论与所述第一日志的人工分析结论的一致性,更新所述第一强化学习模型,所述第一日志的人工分析结论是由测试人员对所述第一日志进行分析获得的。
15.如权利要求14所述的装置,其特征在于,所述处理单元,具体用于当所述第一日志的预测结论与所述第一日志的人工分析结论的语义一致,且所述第一日志的预测结论的性能指标小于或等于预设阈值时,不改变所述第一强化学习模型的参数,所述第一强化学习模型的参数包括奖励值和惩罚值;和/或
当所述第一日志的预测结论与所述第一日志的人工分析结论的语义一致,且所述第一日志的预测结论的性能指标大于所述预设阈值时,增大所述第一强化学习模型的奖励值,和/或降低所述第一强化学习模型的惩罚值;和/或
当所述第一日志的预测结论与所述第一日志的人工分析结论的语义不一致,且所述第一日志的预测结论的性能指标小于或等于所述预设阈值时,降低所述第一强化学习模型的奖励值,和/或增大所述第一强化学习模型的惩罚值;和/或
当所述第一日志的预测结论与所述第一日志的人工分析结论的语义不一致,且所述第一日志的预测结论的性能指标大于所述预设阈值时,不改变所述第一强化学习模型的参数。
16.一种训练模型的装置,其特征在于,包括:
获取单元,用于获取历史日志的表征向量;
处理单元,用于根据所述历史日志的表征向量,获得第一监督学习模型;
所述处理单元,还用于根据所述历史日志的预测结论和所述历史日志的人工分析结论对强化学习模型进行训练,获得第一强化学习模型,其中,所述历史日志的预测结论是利用所述第一监督学习模型获得的对应于所述历史日志的表征向量的日志失败原因的结论,所述历史日志的人工分析结论是由测试人员通过人工分析获得的对应于所述历史日志的表征向量的日志失败原因的结论。
17.如权利要求16所述的装置,其特征在于,所述处理单元,具体用于利用所述历史日志的人工分析结论对所述历史日志的表征向量进行标记,获得带标记的表征向量,所述第一监督学习模型包括所述带标记的表征向量。
18.如权利要求16所述的装置,其特征在于,所述处理单元,具体用于利用所述历史日志的表征向量和所述历史日志的人工分析结论对监督学习模型进行积极学习训练,获得所述第一监督学习模型。
19.如权利要求16至18中任一项所述的装置,其特征在于,所述处理单元,还用于根据第一日志的预测结论与所述第一日志的人工分析结论的一致性,更新所述第一强化学习模型,其中,所述第一日志的预测结论是利用所述第一监督学习模型和所述第一强化学习模型获得的对应于所述第一日志的日志失败原因的结论,所述第一日志的人工分析结论是测试人员通过分析获得的对应于所述第一日志的日志失败原因的结论;
所述获取单元,还用于获取所述第一日志。
20.如权利要求19所述的装置,其特征在于,所述处理单元,具体用于当所述第一日志的预测结论与所述第一日志的人工分析结论的语义一致,且所述第一日志的预测结论的性能指标小于或等于预设阈值时,不改变所述第一强化学习模型的参数,所述第一强化学习模型的参数包括奖励值和惩罚值;和/或
当所述第一日志的预测结论与所述第一日志的人工分析结论的语义一致,且所述第一日志的预测结论的性能指标大于所述预设阈值时,增大所述第一强化学习模型的奖励值,和/或降低所述第一强化学习模型的惩罚值;和/或
当所述第一日志的预测结论与所述第一日志的人工分析结论的语义不一致,且所述第一日志的预测结论的性能指标小于或等于所述预设阈值时,降低所述第一强化学习模型的奖励值,和/或增大所述第一强化学习模型的惩罚值;和/或
当所述第一日志的预测结论与所述日志的第一人工分析结论的语义不一致,且所述第一日志的预测结论的性能指标大于所述预设阈值时,不改变所述第一强化学习模型的参数。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序指令,当所述程序指令由处理器运行时,实现权利要求1至5中任一项所述的方法,或者实现权利要求6至10中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010074759.XA CN111290953B (zh) | 2020-01-22 | 2020-01-22 | 分析测试日志的方法与装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010074759.XA CN111290953B (zh) | 2020-01-22 | 2020-01-22 | 分析测试日志的方法与装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111290953A CN111290953A (zh) | 2020-06-16 |
CN111290953B true CN111290953B (zh) | 2021-09-14 |
Family
ID=71026714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010074759.XA Active CN111290953B (zh) | 2020-01-22 | 2020-01-22 | 分析测试日志的方法与装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111290953B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2022269562A1 (en) * | 2021-06-25 | 2022-12-29 | L&T Technology Services Limited | Method and system for training a model to detect errors in a log file |
CN115528750B (zh) * | 2022-11-03 | 2023-04-07 | 南方电网数字电网研究院有限公司 | 一种面向电网安全稳定的数据模型混合驱动机组组合方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105653444A (zh) * | 2015-12-23 | 2016-06-08 | 北京大学 | 基于互联网日志数据的软件缺陷故障识别方法和系统 |
US20160357890A1 (en) * | 2015-06-04 | 2016-12-08 | Vtool Ltd. | Verification Log Analysis |
CN107644641A (zh) * | 2017-07-28 | 2018-01-30 | 深圳前海微众银行股份有限公司 | 对话场景识别方法、终端以及计算机可读存储介质 |
CN108288094A (zh) * | 2018-01-31 | 2018-07-17 | 清华大学 | 基于环境状态预测的深度强化学习方法及装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109840157A (zh) * | 2017-11-28 | 2019-06-04 | 中国移动通信集团浙江有限公司 | 故障诊断的方法、装置、电子设备和存储介质 |
CN110069401B (zh) * | 2019-03-18 | 2023-09-12 | 平安科技(深圳)有限公司 | 基于数据建模的系统测试异常定位方法及系统 |
CN110210512B (zh) * | 2019-04-19 | 2024-03-26 | 北京亿阳信通科技有限公司 | 一种自动化日志异常检测方法及系统 |
-
2020
- 2020-01-22 CN CN202010074759.XA patent/CN111290953B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160357890A1 (en) * | 2015-06-04 | 2016-12-08 | Vtool Ltd. | Verification Log Analysis |
CN105653444A (zh) * | 2015-12-23 | 2016-06-08 | 北京大学 | 基于互联网日志数据的软件缺陷故障识别方法和系统 |
CN107644641A (zh) * | 2017-07-28 | 2018-01-30 | 深圳前海微众银行股份有限公司 | 对话场景识别方法、终端以及计算机可读存储介质 |
CN108288094A (zh) * | 2018-01-31 | 2018-07-17 | 清华大学 | 基于环境状态预测的深度强化学习方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111290953A (zh) | 2020-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111210024B (zh) | 模型训练方法、装置、计算机设备和存储介质 | |
CN111290953B (zh) | 分析测试日志的方法与装置 | |
CN116663568B (zh) | 基于优先级的关键任务识别系统及其方法 | |
CN116719520B (zh) | 代码生成方法及装置 | |
CN110825827A (zh) | 一种实体关系识别模型训练、实体关系识别方法及装置 | |
CN113988044B (zh) | 错题原因类别的判定方法 | |
CN116955604A (zh) | 一种日志检测模型的训练方法、检测方法、装置 | |
CN117093477A (zh) | 一种软件质量评估方法、装置、计算机设备及存储介质 | |
CN116361147A (zh) | 测试用例根因定位方法及其装置、设备、介质、产品 | |
CN110232130B (zh) | 元数据管理谱系生成方法、装置、计算机设备和存储介质 | |
CN114969334A (zh) | 异常日志检测方法、装置、电子设备及可读存储介质 | |
CN117421226A (zh) | 一种基于生成式大语言模型的缺陷报告重构的方法及系统 | |
CN111754352A (zh) | 一种观点语句正确性的判断方法、装置、设备和存储介质 | |
CN116720079A (zh) | 基于多特征融合的风力发电机故障模式识别方法及系统 | |
CN109977400B (zh) | 一种校验处理的方法、装置、计算机存储介质及终端 | |
CN116521871A (zh) | 文件的检测方法、装置、处理器以及电子设备 | |
CN116910526A (zh) | 模型训练方法、装置、通信设备及可读存储介质 | |
CN112505337B (zh) | 一种辅助分析样品的数据处理方法 | |
US20220164659A1 (en) | Deep Learning Error Minimizing System for Real-Time Generation of Big Data Analysis Models for Mobile App Users and Controlling Method for the Same | |
CN117521673B (zh) | 一种具备分析训练性能的自然语言处理系统 | |
CN117574981B (zh) | 一种信息分析模型的训练方法及信息分析方法 | |
CN118132738B (zh) | 针对桥梁检评文本的抽取式问答方法 | |
US20230368571A1 (en) | Training Method of Facial Expression Embedding Model, Facial Expression Embedding Method and Facial Expression Embedding Device | |
CN118394635A (zh) | 一种数据库功能测试系统及方法 | |
CN115510984A (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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220216 Address after: 550025 Huawei cloud data center, jiaoxinggong Road, Qianzhong Avenue, Gui'an New District, Guiyang City, Guizhou Province Patentee after: Huawei Cloud Computing Technologies Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
TR01 | Transfer of patent right |