CN109255029A - 一种采用加权优化训练集增强自动Bug报告分配的方法 - Google Patents
一种采用加权优化训练集增强自动Bug报告分配的方法 Download PDFInfo
- Publication number
- CN109255029A CN109255029A CN201811033587.0A CN201811033587A CN109255029A CN 109255029 A CN109255029 A CN 109255029A CN 201811033587 A CN201811033587 A CN 201811033587A CN 109255029 A CN109255029 A CN 109255029A
- Authority
- CN
- China
- Prior art keywords
- training set
- bug report
- bug
- algorithm
- text
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明公开了一种采用加权优化训练集增强自动Bug报告分配的方法,该方法通过对bug报告数据集进行加权处理,提高短描述中的信息频度,并结合特征选择算法与实例选择算法,同时减少噪音单词和冗余实例,得到规模更小且质量更高的训练集,提高了bug分类的准确率,节省了bug分配所需的时间成本和人力成本,提升了工作效率。
Description
技术领域
本发明涉及数据处理分类技术领域,尤其涉及一种采用加权优化训练集增强自动Bug报告分配的方法。
背景技术
目前,一些研究者试图解决bug报告分类问题。G.C.Murphy等在文件[1]首先提出将bug指派问题转成文本分类问题来解决,即将文本分类技术应用到bug仓库中。Anvik在文件[2]等人将bug分配问题半自动化,先利用文本分类技术训练预测出多个开发者,然后将这些开发者当作候选供专家来选择。Jeong等人在文件[3]提出了tossing图的概念,通过对分类结果进行tossing图过滤来提高分类准确率。Xuan等人在文件[4]使用半监督分类方法,用一部分已有标签的bug实例来帮助标记标签未知的实例,随后将所有的实例用来训练预测。Zou等人在文件[5]首先将数据约简技术应用到分类的训练集中。上述基于bug分配的研究与改进大都忽略了数据集本身的问题。现有工作主要集中在对bug报告的原始数据和文本进行分析方面,而文本的自然语言中包含的噪声信息在很大程度上被忽略了。如果bug报告的自然语言描述中含有很多噪音,则无论对分类算法如何进行优化,分类效果也不会特别好。
发明内容
根据现有技术存在的问题,本发明公开了一种采用加权优化训练集增强自动Bug报告分配的方法,具体采用如下步骤:
S1:从Bug仓库中获取原始训练集数据,对原始训练集进行预处理:从原始训练集中过滤掉低效开发者处理的bug报告,对筛选出的数据集中的bug报告分别提取短描述及第一个长描述作为该bug报告的描述信息,对每个bug报告的描述信息进行分词去停用词处理,再将bug报告的短描述和长描述分别处理成文本矩阵SBR和文本矩阵LBR;
S2:对预处理后的Bug报告进行加权处理:即对短描述生成的文本矩阵SBR乘以一个权重值η再与长描述生成的文本矩阵LBR相加,将加权处理后的文本矩阵作为训练集文本矩阵WBR;
S3:对训练集文本矩阵WBR进行约简处理:首先用4种特征选择算法和4种实例选择算法分别对训练集文本矩阵WBR进行维度和行数的约简,从特征选择和实例选择算法中分别挑选最佳约简算法,将两个最佳约简算法进行组合对训练集文本矩阵WBR进行约简获得最终训练集文本;
S4:对最终训练集文本采用朴素贝叶斯算法进行学习训练获得分类模型;
S5:将新bug报告输入分类模型内进行分类处理输出该bug报告的指派开发者。
进一步的,所述S2中对预处理后的Bug报告进行加权处理采用如下算法:
上式中η表示对短描述生成的文本矩阵的权重值,m表示训练集中的bug报告数目,n表示训练集中不同单词的数目。
由于采用了上述技术方案,本发明提供的一种采用加权优化训练集增强自动Bug报告分配的方法,通过对bug报告数据集进行加权处理,提高短描述中的信息频度,并结合特征选择算法与实例选择算法,同时减少噪音单词和冗余实例,得到规模更小且质量更高的训练集,提高了bug分类的准确率,节省了bug分配所需的时间成本和人力成本,提升了工作效率。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明方法的流程图
具体实施方式
为使本发明的技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述:
如图1所示的一种采用加权优化训练集增强自动Bug报告分配的方法,具体采用如下步骤:
S1:从Bug仓库中获取原始训练集数据,对原始训练集进行预处理:首先从原始训练集中过滤掉低效开发者处理的bug报告,即低效开发者为处理bug数目少的开发者,如果训练集中属于某一类别的训练实例过少,分类器则学习不到该类别的特点。对筛选出的数据集中的每个bug报告分别提取短描述及第一个长描述作为该bug的描述信息,对每个bug报告的描述信息分词去停用词处理,再将bug报告的短描述和长描述分别处理成文本矩阵SBR和文本矩阵LBR其中分词为:即将描述信息处理成一个个的单词;停用词:即to、in、on等对分类无用的连接词介词等。最后数据集中bug报告的短描述和长描述分别处理成文本矩阵,由于矩阵中每行表示为一个bug报告,每列代表一个单词。如果某行的bug报告中有某列对应的单词,则矩阵中对应行列的值为该词在该bug中出现的频度;如果某行的bug报告中不存在某列对应的单词,则矩阵中对应行列的值为0。
S2:对预处理后的Bug报告进行加权处理:即对短描述生成的文本矩阵SBR乘以一个权重值η再与长描述生成的文本矩阵LBR相加,将加权处理后的文本矩阵作为训练集文本矩阵WBR。
S3:对训练集文本矩阵WBR进行约简处理:首先分别用4种特征选择和4种实例选择算法分别对训练集文本矩阵WBR进行维度和行数的约简,从特征选择和实例选择算法中分别挑选最佳约简算法,将两个最佳约简算法进行组合对训练集文本矩阵WBR进行约简获得最终训练集文本。为了验证不同的组合方式对约简效果是否有影响,分别验证两种组合方式,先对训练集特征约简再实例约简,先对训练集实例约简再特征约简)并从中选择一个约简效果好的作为最终的约简方案。
S4:对最终训练集文本采用朴素贝叶斯算法进行学习训练获得分类模型;
S5:当测试人员提交一个新的bug报告时,用训练好的分类模型对该bug报告给出一个大小为K(取10)的开发者推荐列表,最终由bug分配人员根据经验将该bug报告指派给推荐列表中最适合解决它的开发人员。
进一步的,所述S2中对预处理后的Bug报告进行加权处理采用如下算法:
上式中η表示对短描述生成的文本矩阵的权重值,m表示训练集中的bug报告数目,n表示训练集中不同单词的数目。
进一步的,在数据约简的过程中,我们采用特征选择和实例选择结合的方式来对数据集进行约简,以获得数据规模更小且质量更高的bug报告集合,提高bug报告分类的准确率。为了避免单个约简算法可能会产生偏差和偶然性,我们使用了四种常用的特征选择算法:OneR,IG,CHI和RF;以及四种实例选择算法:CNN,MCS,ENN和ICF。具体方法如下:
(一)特征选择算法:
OneR算法从给定的样本集中推断出一条输出规则,该规则基于一个属性,该属性在预测给定类别时最准确。它首先从某一个属性开始,对于该属性的每个值,找出该值对应的所有样本集,统计样本集中不同类别的个数,选择分类结果最多的那个类别作为该特征值的划分结果。每一个特征值都会针对划分结果产生一个错误率。所有特征值产生的错误率之和为该特征的总错误率。对所有特征的错误率进行排序,错误率越小,该特征对分类贡献越大。具体算法流程如下表:
IG中,重要性的衡量标准是某个特征能够为分类***带来多少信息,带来的信息越多,该特征越重要。其评估方法以熵为理论基础。熵是随机变量不确定性的度量,不确定性的特点可以通过概率分布得出。对于一个分类问题,输出分布的不确定性可以用它的熵来衡量。假设Y为所有输出类别的集合,y为集合中的某个元素(类别),Pr(y)为类别为y的样本数与总样本数的比值。则熵的定义如下:
负号确保了信息一定是正数或者是零。当知道一个确定的输入变量X后,输出的不确定性会下降。知道第i个输入特征(Xi=xi)后Y的熵是:
变量Y的条件熵是H(Y|Xi)的期望值:
当知道一个确定的输入变量X后,输出的不确定性会下降。输出不确定的减少量就是该特征的互信息,亦即IG。Xi和Y之间的互信息I(Xi;Y)为:
I(Xi;Y)=I(Yi;X)=H(Y)-H(Y|Xi)
CHI是几种常见的假设检验中的一种,它否定了统计的独立性。卡方检验的基本的思想是通过观察实际值与理论值的偏差来确定理论的正确与否。卡方值越大说明与原假设偏差越大,即特征越重要。在文本分类的特征选择阶段,一般使用“词t与类别c不相关”来做原假设。单词t与类别c的卡方值如下式所示:
Relief是一种特征权重算法,它根据各个特征和类别的相关性赋予各个特征不同的权重,权重小于某个阈值的特征将被移除。Relief基于K_nearest neighbors算法对分类问题的各个特征进行排名,为了评价各个特征,对于每一个样本,要找到它同类中的K个最近邻与不同类中的K个最近邻。依据:如果一个特征对分类比较重要,那么这个特征在同类别之间会有相似的值,在不同类别之间该值的差距应该较大。第j个特征的Relief值Rel(j)定义为所有样本与他们不同类别之间K个近邻的距离和与所有样本与他们同类别之间K个近邻的距离和的比值。具体如下式所示:
上式中m为样本实例总数,xi,j为第i个样本的第j个特征值。为与第i个样本同类的第k个最近邻在第j列的距离。为与第i个样本不同类的第k个最近邻在第j列的距离。
(二)实例选择算法
CNN基于最近邻分类算法,它是第一个实例选择算法。该算法由以下几步构成:首先从训练集的每一个类中随机取一个实例得到新的数据集。随后用这个数据集去对剩余实例进行分类,只要是误分类的实例就将其加入到这个数据集中。如此操作得到最终的选择出来的实例数据集。算法流程为:
MCS是由Dasarathy于1994年提出的典型的挑选一致集的算法。算法以最近异类子集(NUNS,Nearest Uulike Neighbor Set)和最近异类实例(NUN,Nearest UulikeNeighbor)为基础距离,采用投票机制,每个实例都向自己最近异类距离内的实例投票,得票数多的实例具有较强的划分周围实例的能力。算法依次选择得票数多的实例加入MCS,然后重新投票,直到MCS中的实例不再减少为止。算法在挑选实例的同时还保持了MCS集合的一致性。算法流程为:
ENN算法是一种噪音过滤方法,通过对噪音过滤从而达到实例选择的目的。ENN算法的主要思想是移除那些与它周遭大部分实例类别都不一样的实例。它是从原始数据集开始的,预先给定最近邻实例的个数K,随后对每一个实例依据最近邻算法得到它的K个最近邻,将该实例类别与这K个最近邻的类别做比较,如果与大多数近邻的类别不同,就删除该实例。算法流程为:
ICF算法是由Brighton H等人[22]提出来的算法,它包括两步:第一步为噪音过滤过程,即对数据集中的每个实例计算它的K个近邻,如果某个实例被它的K个近邻错误分类则将其删除;第二步为实例压缩过程,对所有的实例使用Localset计算其可达性(Reachability)和覆盖性(Coverage)。Reachability和Coverage的计算会用到Localset(Localset定义如下:对一个实例,按照相似度度量标准计算出它的所有紧邻,从最近的实例开始排序计数,直到碰到一个跟它标签不同的实例为止,数到的那些相同的实例就是该实例的Localset)。其中Coverage定义如下:如果一个实例在N个实例的Localset中,则这个实例的Coverage的值为N。如果一个实例的Localset中实例的个数为M,则该实例的Reachability为M。随后比较这两者之间的值,如果一个实例的Reachability值大于Coverage值,则说明该实例冗余,就删除这个实例。算法流程为:
对训练集分别用Information Gain(IG)、Chi-square(CHI)、One Rule(OneR)、Relevant Features(Relief)等四种特征选择算法对训练集进行维度的约简,减少训练集中的噪音单词。约简时分别取不同的规模。
对训练集分别用Condensed Nearest Neighbor(CNN)、Edited Nearest Neighbor(ENN)、Minimal Consistent Set(MCS)、Iterative Case Filter(ICF)等四种实例选择算法对训练集进行行数的约简,减少训练集中的冗余实例。约简时分别取不同的规模。
根据前两步的简约处理的结果,从中挑选出约简效果最好的特征选择算法和实例选择算法及其对应的约简规模并进行组合。为了验证不同的组合顺序对训练集的约简效果是否有影响,实验验证了两种不同组合顺序的实验结果。并用约简效果好的组合顺序对训练集进行维度行数的约简。
进一步的,朴素贝叶斯算法选择的过程中,分别用Naive Bayes、RandomTree、ComplementNaiveBaye、J48等四种分类算法对训练集进行建模,并最终挑选实验效果最好的Naive Bayes作为最终的分类算法对训练集进行建模。
本发明公开的一种采用加权优化训练集增强自动Bug报告分配的方法,该方法可以应用到文本分类、文本去噪、降维、bug仓库中开发者推荐等领域,处理数据集规模大质量低的问题。对得到好的分类模型、减小训练数据所用的时间和降低计算机内存开销以及提高文本分类的正确率方面有显著效果。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
引用文件:
[1]Cubranic D,Murphy G C.Automatic bug triage using textcategorization[J].2004:92-97
[2]Anvik J,Hiew L and Murphy G C,Who should fix this Bug?[C].Proc,28th Intl.Conf,Software Engineering,2006,361-370.
[3]Jeong G,Kim S,Zimmermann T.Improving bug triage with bug tossinggraphs[C].The,Joint Meeting of the European Software Engineering Conferenceand the ACM Sigsoft Symposium on the Foundations of Software Engineering.ACM,2009:111-120.
[4]Xuan J,Jiang H,Ren Z,et al.Automatic Bug Triage using Semi-Supervised Text Classification[J].2010:209-214.
[5]Zou W,Hu Y,Xuan J,et al.Towards Training Set Reduction for BugTriage[C].Computer Software and Applications Conference.IEEE,2011:576-581.
Claims (2)
1.一种采用加权优化训练集增强自动Bug报告分配的方法,其特征在于:包括以下步骤:
S1:从Bug仓库中获取原始训练集数据,对原始训练集进行预处理:从原始训练集中过滤掉低效开发者处理的bug报告,对筛选出的数据集中的bug报告分别提取短描述及第一个长描述作为该bug报告的描述信息,对每个bug报告的描述信息进行分词去停用词处理,再将bug报告的短描述和长描述分别处理成文本矩阵SBR和文本矩阵LBR;
S2:对预处理后的Bug报告进行加权处理:即对短描述生成的文本矩阵SBR乘以一个权重值η再与长描述生成的文本矩阵LBR相加,将加权处理后的文本矩阵作为训练集文本矩阵WBR;
S3:对训练集文本矩阵WBR进行约简处理:首先用4种特征选择算法和4种实例选择算法分别对训练集文本矩阵WBR进行维度和行数的约简,从特征选择和实例选择算法中分别挑选最佳约简算法,将两个最佳约简算法进行组合对训练集文本矩阵WBR进行约简获得最终训练集文本;
S4:对最终训练集文本采用朴素贝叶斯算法进行学习训练获得分类模型;
S5:将新bug报告输入分类模型内进行分类处理输出该bug报告的指派开发者。
2.根据权利要求1所述的一种采用加权优化训练集增强自动Bug报告分配的方法,其特征还在于:所述S2中对预处理后的Bug报告进行加权处理采用如下算法:
上式中η表示对短描述生成的文本矩阵的权重值,m表示训练集中的bug报告数目,n表示训练集中不同单词的数目。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811033587.0A CN109255029A (zh) | 2018-09-05 | 2018-09-05 | 一种采用加权优化训练集增强自动Bug报告分配的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811033587.0A CN109255029A (zh) | 2018-09-05 | 2018-09-05 | 一种采用加权优化训练集增强自动Bug报告分配的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109255029A true CN109255029A (zh) | 2019-01-22 |
Family
ID=65047294
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811033587.0A Pending CN109255029A (zh) | 2018-09-05 | 2018-09-05 | 一种采用加权优化训练集增强自动Bug报告分配的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109255029A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109801176A (zh) * | 2019-02-22 | 2019-05-24 | 中科软科技股份有限公司 | 识别保险欺诈的方法、***、电子设备及存储介质 |
CN109934286A (zh) * | 2019-03-12 | 2019-06-25 | 大连海事大学 | 基于文本特征提取和不平衡处理策略的Bug报告严重程度识别方法 |
CN110716512A (zh) * | 2019-09-02 | 2020-01-21 | 华电电力科学研究院有限公司 | 一种基于燃煤电站运行数据的环保装备性能预测方法 |
CN111723010A (zh) * | 2020-06-12 | 2020-09-29 | 大连海事大学 | 一种基于稀疏代价矩阵的软件bug分类方法 |
CN111797774A (zh) * | 2020-07-07 | 2020-10-20 | 金陵科技学院 | 基于雷达图像和相似度权重的路面目标识别方法 |
CN113254329A (zh) * | 2021-04-30 | 2021-08-13 | 展讯通信(天津)有限公司 | 基于机器学习的Bug处理方法、***、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107608732A (zh) * | 2017-09-13 | 2018-01-19 | 扬州大学 | 一种基于bug知识图谱的bug搜索定位方法 |
CN108197295A (zh) * | 2018-01-22 | 2018-06-22 | 重庆邮电大学 | 基于多粒度属性树的属性约简在文本分类中的应用方法 |
-
2018
- 2018-09-05 CN CN201811033587.0A patent/CN109255029A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107608732A (zh) * | 2017-09-13 | 2018-01-19 | 扬州大学 | 一种基于bug知识图谱的bug搜索定位方法 |
CN108197295A (zh) * | 2018-01-22 | 2018-06-22 | 重庆邮电大学 | 基于多粒度属性树的属性约简在文本分类中的应用方法 |
Non-Patent Citations (1)
Title |
---|
MIAOMIAO WEI 等: "Enhancing Bug Report Assignment with an Optimized Reduction of Training Set", 《SPRINGER》 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109801176A (zh) * | 2019-02-22 | 2019-05-24 | 中科软科技股份有限公司 | 识别保险欺诈的方法、***、电子设备及存储介质 |
CN109801176B (zh) * | 2019-02-22 | 2021-04-06 | 中科软科技股份有限公司 | 识别保险欺诈的方法、***、电子设备及存储介质 |
CN109934286A (zh) * | 2019-03-12 | 2019-06-25 | 大连海事大学 | 基于文本特征提取和不平衡处理策略的Bug报告严重程度识别方法 |
CN109934286B (zh) * | 2019-03-12 | 2022-11-11 | 大连海事大学 | 基于文本特征提取和不平衡处理策略的Bug报告严重程度识别方法 |
CN110716512A (zh) * | 2019-09-02 | 2020-01-21 | 华电电力科学研究院有限公司 | 一种基于燃煤电站运行数据的环保装备性能预测方法 |
CN111723010A (zh) * | 2020-06-12 | 2020-09-29 | 大连海事大学 | 一种基于稀疏代价矩阵的软件bug分类方法 |
CN111723010B (zh) * | 2020-06-12 | 2024-02-23 | 大连海事大学 | 一种基于稀疏代价矩阵的软件bug分类方法 |
CN111797774A (zh) * | 2020-07-07 | 2020-10-20 | 金陵科技学院 | 基于雷达图像和相似度权重的路面目标识别方法 |
CN111797774B (zh) * | 2020-07-07 | 2023-09-22 | 金陵科技学院 | 基于雷达图像和相似度权重的路面目标识别方法 |
CN113254329A (zh) * | 2021-04-30 | 2021-08-13 | 展讯通信(天津)有限公司 | 基于机器学习的Bug处理方法、***、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109255029A (zh) | 一种采用加权优化训练集增强自动Bug报告分配的方法 | |
CN109492026B (zh) | 一种基于改进的主动学习技术的电信欺诈分类检测方法 | |
Kim et al. | Ordinal classification of imbalanced data with application in emergency and disaster information services | |
CN109783879B (zh) | 一种雷达辐射源信号识别效能评估方法及*** | |
CN103020643A (zh) | 基于提取核特征早期预测多变量时间序列类别的分类方法 | |
CN107273387A (zh) | 面向高维和不平衡数据分类的集成 | |
CN110210625A (zh) | 基于迁移学习的建模方法、装置、计算机设备和存储介质 | |
CN114612251A (zh) | 风险评估方法、装置、设备及存储介质 | |
CN113674862A (zh) | 一种基于机器学习的急性肾功能损伤发病预测方法 | |
CN115358481A (zh) | 一种企业外迁预警识别的方法、***及装置 | |
CN114881343A (zh) | 基于特征选择的电力***短期负荷预测方法及装置 | |
Tiruneh et al. | Feature selection for construction organizational competencies impacting performance | |
CN112052990A (zh) | 一种基于CNN-BiLSTM混合模型的多角度业务流程下一活动预测方法 | |
CN116719714A (zh) | 一种测试用例的筛选模型的训练方法及相应的装置 | |
Hu | Overdue invoice forecasting and data mining | |
Shubho et al. | Performance analysis of NB Tree, REP tree and random tree classifiers for credit card fraud data | |
CN112131106B (zh) | 基于小概率数据的测试数据构造方法及装置 | |
Kwok et al. | Dataset Difficulty and the Role of Inductive Bias | |
Fedyk | News-driven trading: who reads the news and when | |
CN109614489A (zh) | 一种基于迁移学习和特征提取的Bug报告严重程度识别方法 | |
CN108805156A (zh) | 一种改进的选择性朴素贝叶斯方法 | |
Albanese | Deep Anomaly Detection: an experimental comparison of deep learning algorithms for anomaly detection in time series data | |
Salman et al. | A Prediction Approach for Small Healthcare Dataset | |
Tama et al. | Leveraging an Advanced Heterogeneous Ensemble Learning for Outcome-Based Predictive Monitoring Using Business Process Event Logs | |
CN116881738B (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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190122 |
|
RJ01 | Rejection of invention patent application after publication |