首页> 中国专利> 一种基于缺陷报告摘要中词性信息的严重程度预测方法

一种基于缺陷报告摘要中词性信息的严重程度预测方法

摘要

本发明提供了一种基于缺陷报告摘要中词性信息的严重程度预测方法,通过使用较少数据量实现相近或更优的预测性能,并进一步地利用软件缺陷报告跟踪系统平台上存放的大型项目所含缺陷报告,进行快速且高准确性的软件缺陷报告严重程度的预测。本发明的有益效果为:本发明预测方法首先对缺陷报告中的摘要属性进行文本预处理,得到词根形式的分词;基于大规模文本语料库使用卷积神经网络模型训练,获得包含所属各分词词性和单词间相似度邻接矩阵的Spacy模型,进一步对分词进行筛选,随机抽取并生成相似数据扩充数据集,最终实现对缺陷报告严重程度的预测,相比于其他预测方法使用较少数据实现了更优性能。

著录项

  • 公开/公告号CN113011179A

    专利类型发明专利

  • 公开/公告日2021-06-22

    原文格式PDF

  • 申请/专利权人 南通大学;

    申请/专利号CN202110341218.3

  • 申请日2021-03-30

  • 分类号G06F40/284(20200101);G06F40/237(20200101);G06N3/04(20060101);

  • 代理机构32200 南京经纬专利商标代理有限公司;

  • 代理人朱小兵

  • 地址 226019 江苏省南通市崇川区啬园路9号

  • 入库时间 2023-06-19 11:32:36

说明书

技术领域

本发明涉及软件质量保障技术领域,尤其涉及一种基于缺陷报告摘要中词性信息的严重程度预测方法。

背景技术

开发者不可能开发出完全没有缺陷的项目,正如开发者不可能在发现一个缺陷以前意识到它的存在。正因如此,要充分保证项目的代码质量和用户体验,开发者就必须投入足够多的人力物力以确保每一个影响到代码质量或用户体验的缺陷都能够得到及时修复。为了更高效地跟踪和修复项目缺陷,目前行业内的通行做法是建立一个缺陷报告跟踪系统。用户将所认为的缺陷写成报告提交给缺陷报告跟踪系统,并按项目要求标注缺陷所对应的严重程度以便开发人员确定该缺陷修复的优先级,开发人员根据用户所提供的运行环境、复现步骤等信息确定是否存在缺陷并根据优先级进行修复作业。然而,在实际操作过程中,由于用户的经验、能力参差不齐,观察和考虑问题的角度不胜枚举,尽管有一些或约定俗成,或明文规定的提交规范,用户所提交的缺陷报告严重程度未必符合开发人员的标准,进而造成了缺陷修复的延误与人力物力的浪费。因此,借助机器学习等方法实现自动化的缺陷报告严重程度标注,便成了上佳之选。

软件缺陷报告的严重性主要包括Blocker、Critical、Major、Normal、Minor、Trivial和Enhancement七个级别,其中Normal级别由于是默认归类缺陷标签,在研究过程中往往会被归类为不可信缺陷,Blocker、Critical和Major级别的缺陷归类为严重缺陷,而其他级别的缺陷归类为非严重缺陷。

近年来在软件缺陷报告严重程度预测领域,大多数研究工作者在大规模或超大规模数据集的基础上,采用分类或回归的方法,通过使用缺陷报告的某些内容训练模型来实现对软件缺陷报告严重程度的预测。但在实际应用场景中,数据集质量参差不齐、数据集的规模难以保证等问题影响了预测模型性能的进一步提升。

发明内容

本发明的目的在于提供一种基于缺陷报告摘要中词性信息的严重程度预测方法,通过使用较少数据量实现相近或更优的预测性能,并进一步地利用软件缺陷报告跟踪系统平台上存放的大型项目所含缺陷报告,进行快速且高准确性的软件缺陷报告严重程度的预测。

本发明是通过如下措施实现的:一种基于缺陷报告摘要中词性信息的严重程度预测方法,包括如下步骤:

(1)从缺陷报告跟踪系统中,搜集已标记严重程度且严重程度为Blocker、Critical、Major、Minor、Trivial和Enhancement的缺陷报告,其中将严重程度为Blocker、Critical、Major的缺陷报告对应严重程度统一设置为“严重”类型,将严重程度为Minor、Trivial、Enhancement的缺陷报告对应严重程度统一设置为“不严重”类型,针对所搜集缺陷报告的摘要进行文本预处理,具体包括:分词、停顿词移除与词形还原,得到词根形式的分词;

(2)基于OntoNotes 5语料库、GloVe Common Crawl语料库和所述分词组成的大规模文本语料库,使用卷积神经网络模型进行训练,训练出Spacy模型;

(3)对各缺陷报告进行筛选提炼,得到初始数据集D

(4)针对所述初始数据集D

(5)基于步骤(2)训练得到的Spacy模型,将训练数据集D

(6)基于所述训练数据集D

(7)针对项目内需要进行严重程度预测的新的缺陷报告,对其摘要进行文本预处理后,仅保留其中词性为动词和名词的分词,然后通过Spacy模型生成其摘要所对应的向量,并累加该缺陷报告摘要所包含的所有分词的对应词向量并求平均,输入步骤(6)所构建的缺陷报告严重程度预测模型M,得到其严重程度。

进一步地,步骤(3)中对各缺陷报告进行筛选提炼,得到初始数据集D

3-1)定义一个空的数据集D

3-2)对取出的缺陷报告,基于步骤(2)训练得到的Spacy模型,分析得到其摘要中所含各分词的词性,并对其摘要进行筛选提炼,即仅保留其中词性为动词和名词的分词。这里仅保留词性为动词和名词的分词,是由于形容词和副词等词性的分词往往对句子起修饰作用,而词性为动词和名词的分词则往往是句子结构的关键组成部分,承担了句意的主要阐述功能,对把握句子的关键语义起到关键作用。因此仅保留词性为动词和名词的分词,有利于过滤数据集中的噪音数据,从而在减少模型训练所需数据量的同时,提高模型性能;

3-3)针对该取出的缺陷报告生成新的实例,该实例包括其在步骤3-2)中所筛选提炼后的摘要和其所对应的严重程度。将该实例加入数据集D

3-4)若步骤3-1)中所述缺陷报告集中还有未经过步骤3-2)、3-3)的缺陷报告,则取出下一份缺陷报告,并重复步骤3-2)、3-3),否则结束循环,并返回数据集D

进一步地,所述步骤(4)中,针对所述数据集D

4-1)生成一个空的训练数据集D

4-2)从数据集D

4-3)根据取出的缺陷报告b,生成虚拟缺陷报告b’。具体来说,b’的初始摘要为空,严重程度与b相同,依次取出b的摘要中所含的所有分词。对每次取出的分词w,从文本语料库中找出与其相似度最高并且词性相同的一个分词w’,如果w与w’间的语义相似度低于操作人员指定的阈值γ,则不添加w’到b’的摘要中,否则添加w’到b’的摘要中,当b的摘要所含所有分词均已取出后,将虚拟缺陷报告b’加入训练数据集;

4-4)从数据集D

与现有技术相比,本发明的有益效果为:

(1)、本发明预测方法首先对缺陷报告中的摘要属性进行文本预处理,得到词根形式的分词;基于大规模文本语料库使用卷积神经网络模型训练,获得包含所属各分词词性和单词间相似度邻接矩阵的Spacy模型,进一步对分词进行筛选,随机抽取并生成相似数据扩充数据集,最终实现对缺陷报告严重程度的预测,相比于其他预测方法使用较少数据实现了更优性能。

(2)、本发明预测方法对缺陷报告中的摘要属性进行文本预处理排除了部分文本噪音,可保证训练数据集质量;基于大规模文本语料库使用卷积神经网络模型训练Spacy模型确保了分词词性判断的准确度和单词间相似度的计算精准度;对分词进行筛选确保了数据集的精简凝练;随机抽取并生成相似数据有效扩大了可靠数据集的规模;通过缺陷报告摘要中词性信息进行数据筛选并生成相似数据,有利于把握摘要文本的主干信息,进而使用较少数据实现了更优的预测性能。

(3)、在Bugzilla、CDT、JDT、Core、Firefox、Platform、Thunderbird等七个业内常用数据集上,本发明的预测方法仅使用常规方法45.01%-50.43%的数据量,即实现了与常规方法同等甚至更优的严重程度预测效果;该预测方法使用方便,原理易于业内人士理解,对数据量需求更小的同时实现了可靠性上的提升。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。

图1为本发明基于缺陷报告摘要中词性信息的严重程度预测方法的流程图。

图2为本发明基于缺陷报告摘要中词性信息的严重程度预测方法中训练生成阶段的流程子图。

图3为本发明基于缺陷报告摘要中词性信息的严重程度预测方法中统一设置阶段的流程子图。

图4为本发明基于缺陷报告摘要中词性信息的严重程度预测方法中筛选提炼阶段的流程子图。

图5为本发明基于缺陷报告摘要中词性信息的严重程度预测方法中数据集扩充阶段的流程子图。

图6为本发明基于缺陷报告摘要中词性信息的严重程度预测方法中词向量生成阶段的流程子图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。当然,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。

实施例1

参见图1至图6,本发明提供其技术方案为,一种基于缺陷报告摘要中词性信息的严重程度预测方法:

步骤(1)从缺陷报告跟踪系统中,搜集已标记严重程度且严重程度为Blocker、Critical、Major、Minor、Trivial和Enhancement的缺陷报告,其中将严重程度为Blocker、Critical、Major的缺陷报告对应严重程度统一设置为“严重”类型,将严重程度为Minor、Trivial、Enhancement的缺陷报告对应严重程度统一设置为“不严重”类型,针对所搜集缺陷报告的摘要进行文本预处理,具体包括:分词、停顿词移除与词形还原,得到词根形式的分词;因总数据量较大,选择前5条展示,如表1所示:

表1部分分词词根(前5条)

步骤(2)基于OntoNotes 5语料库、GloVe Common Crawl语料库和所述分词组成的大规模文本语料库,使用卷积神经网络模型进行训练,训练出Spacy模型;

步骤(3)对各缺陷报告进行筛选提炼,得到初始数据集D

3.1、定义一个空的数据集D

3.2、对取出的缺陷报告,基于步骤(2)训练得到的Spacy模型,分析得到其摘要中所含各分词的词性,并对其摘要进行筛选提炼,即仅保留其中词性为动词和名词的分词。这里仅保留词性为动词和名词的分词,是由于形容词和副词等词性的分词往往对句子起修饰作用,而词性为动词和名词的分词则往往是句子结构的关键组成部分,承担了句意的主要阐述功能,对把握句子的关键语义起到关键作用。因此仅保留词性为动词和名词的分词,有利于过滤数据集中的噪音数据,从而在减少模型训练所需数据量的同时,提高模型性能。

3.3、针对该取出的缺陷报告生成新的实例,该实例包括其在步骤3.2中所筛选提炼后的摘要和其所对应的严重程度。将该实例加入数据集D

3.4、若步骤3.1中所述缺陷报告集中还有未经过步骤3.2、3.3的缺陷报告,则取出下一份缺陷报告,并重复步骤3.2、3.3,否则结束循环,并返回数据集D

因总数据量较大,选择前5条展示,数据集D

表2数据集D

(4)针对所述初始数据集D

4.1、生成一个空的训练数据集D

4.2、从数据集D

4.3、根据取出的缺陷报告b,生成虚拟缺陷报告b’。具体来说,b’的初始摘要为空,严重程度与b相同。依次取出b的摘要中所含的所有分词。对每次取出的分词w,从文本语料库中找出与其相似度最高并且词性相同的一个分词w’,如果w与w’间的语义相似度低于操作人员指定的阈值γ,则不添加w’到b’的摘要中,否则添加w’到b’的摘要中。当b的摘要所含所有分词均已取出后,将虚拟缺陷报告b’加入训练数据集D

4.4、从数据集D

对数据集D

表3训练数据集D

(5)基于步骤(2)训练得到的Spacy模型,将训练数据集D

表4处理后的训练数据集D

(6)基于所述训练数据集D

(7)针对项目内需要进行严重程度预测的新的缺陷报告,对其摘要进行文本预处理后,仅保留其中词性为动词和名词的分词,然后通过Spacy模型生成其摘要所对应的向量,并累加该缺陷报告摘要所包含的所有分词的对应词向量并求平均,输入步骤(6)所构建的缺陷报告严重程度预测模型M,得到其严重程度。

以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号