CN115292167A - 生命周期预测模型构建方法、装置、设备及可读存储介质 - Google Patents

生命周期预测模型构建方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN115292167A
CN115292167A CN202210885262.5A CN202210885262A CN115292167A CN 115292167 A CN115292167 A CN 115292167A CN 202210885262 A CN202210885262 A CN 202210885262A CN 115292167 A CN115292167 A CN 115292167A
Authority
CN
China
Prior art keywords
issue
life cycle
project
information
developer
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
Application number
CN202210885262.5A
Other languages
English (en)
Inventor
李兵
陆香飞
乔雨
唐苇
王健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University WHU
Original Assignee
Wuhan University WHU
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU filed Critical Wuhan University WHU
Priority to CN202210885262.5A priority Critical patent/CN115292167A/zh
Publication of CN115292167A publication Critical patent/CN115292167A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • G06F11/3608Software analysis for verifying properties of programs using formal methods, e.g. model checking, abstract interpretation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本申请涉及一种生命周期预测模型构建方法、装置、设备及可读存储介质,基于箱线图和累积分布图分析法对Issue数据、项目数据进行Issue生命周期分布规律分析得到多个Issue生命周期分类点;基于Issue数据、项目数据和多个Issue生命周期分类点对分类模型进行训练得到生命周期预测模型;分类模型中的特征挖掘模块根据项目数据、Issue数据确定出项目特征、Issue特征和开发者特征,预测模块根据上述特征从多个Issue生命周期分类点中筛选出每个Issue对应的Issue生命周期分类点,将Issue生命周期分类点对应的生命周期时长作为预测结果,可有效提高Issue生命周期预测结果的准确性。

Description

生命周期预测模型构建方法、装置、设备及可读存储介质
技术领域
本申请涉及软件工程开源软件生态系统技术领域,特别涉及一种生命周期预测模型构建方法、装置、设备及可读存储介质。
背景技术
开源软件(OSS)是一种公开源代码的软件,可以由用户读取与修改源代码,并鼓励用户报告和修复软件漏洞,为自由开发者提供可复用的代码组件,在显著降低了软件开发风险的同时,提升了软件程序的质量。开源软件以其协作开发的模式在当今发挥着越来越重要的作用,已经被各种软件产品普遍采用和集成,逐渐成为了软件开发过程中不可或缺的一部分。
GitHub作为全球最大的开源软件社区和协作开发平台,为全球开发者持续提供开放的协同开发入口和项目托管服务。GitHub为开发者提供ITS(Issue Tracker System,问题跟踪系统)功能模块,支持开发者以提交Issue(问题)的形式记录与跟踪软件漏洞、项目改进需求或其他开发任务等,已成为用户与开源项目开发者沟通反馈的主要途径之一。随着开源项目的不断发展,用户数量和Issue数量也保持着高速增长,不过由于项目的管理人员和时间有限,且多数Issue没有指派特定的修复者,使得Issue大多靠开发者主动的选择性参与,导致项目中往往存在处于未解决的开放状态的Issue。而Issue关闭时间(即Issue的生命周期)的不确定性将不利于项目的管理与迭代开发,因此对处于开放状态的Issue进行生命周期预测,将能极大提高项目管理人员对Issue解决程度的进度把控,有助于项目的迭代演化。
近年来,研究人员针对Issue生命周期问题开展了许多相关研究。但是,现有技术中的生命周期预测模型构建方法往往仅关注于Issue的文本内容和事件特征,以致预测特征的丰富性受到限制,进而导致预测的结果准确性较差。
发明内容
本申请提供一种生命周期预测模型构建方法、装置、设备及可读存储介质,以解决相关技术中存在的Issue生命周期预测结果准确性差的问题。
第一方面,提供了一种生命周期预测模型构建方法,包括以下步骤:
获取原始数据集,所述原始数据集包括Issue数据和项目数据,所述Issue数据包括Issue基本信息、Issue开发者信息和Issue事件信息,所述项目数据包括项目基本信息、项目开发者信息和项目事件信息;
基于箱线图分析法和累积分布图分析法对原始数据集进行Issue生命周期分布规律分析,得到多个Issue生命周期分类点,每个Issue生命周期分类点包括与其对应的生命周期时长;
基于所述Issue数据、所述项目数据和所述多个Issue生命周期分类点对分类模型进行训练,得到生命周期预测模型;
其中,分类模型包括特征挖掘模块和预测模块,所述特征挖掘模块用于根据项目基本信息、项目开发者信息和项目事件信息确定出项目特征,根据Issue基本信息、Issue开发者信息和Issue事件信息确定出Issue特征,根据Issue数据和项目数据确定出开发者特征,所述预测模块用于根据项目特征、Issue特征和开发者特征从多个Issue生命周期分类点中筛选出每个Issue对应的第一Issue生命周期分类点,并将第一Issue生命周期分类点对应的生命周期时长作为预测结果。
一些实施例中,所述Issue特征包括易读性指数,所述根据Issue基本信息、Issue开发者信息和Issue事件信息确定出Issue特征,包括:
对所述Issue基本信息、Issue开发者信息和Issue事件信息中的非文本内容进行过滤,得到每个Issue的文本信息,所述文本信息包括Issue标题信息、Issue描述信息和Issue标签信息;
根据Issue的文本信息计算出每个Issue的单词总数量、语句总数量和音节总数量;
将单词总数量、语句总数量和音节总数量代入第一计算公式,得到每个Issue的易读性指数,第一计算公式为:
Figure BDA0003765477000000031
式中,Flesch_srore表示易读性指数,Nwords表示单词总数量,Nsentences表示语句总数量,Nsyllables表示音节总数量。
一些实施例中,所述Issue特征包括复合相似度,在所述对所述Issue基本信息、Issue开发者信息和Issue事件信息中的非文本内容进行过滤,得到每个Issue的文本信息的步骤之后,还包括:
根据Issue的文本信息计算出每个Issue和属于同一项目的其他Issue之间的余弦相似度;
将余弦相似度代入到第二计算公式,得到每个Issue的复合相似度,第二计算公式为:
Composer_similarity(i,j)=αCosin_s(ititle,jtitle)+βCosin_s(ibody,jbody)
+γCosin_s(itopic,jtopic)+δCosin_s(ilabel,jlabel)
其中,Composer_similarity表示复合相似度,i表示某一项目内第i个Issue,j表示某一项目内第j个Issue,Cosin_s(ititle,jtitle)表示第i个Issue和第j个Issue的标题余弦相似度,Cosin_s(ibody,jbody)表示第i个Issue和第j个Issue的描述余弦相似度,Cosin_s(itopic,jtopic)表示第i个Issue和第j个Issue的主题余弦相似度,Cosin_s(ilabel,jlabel)表示第i个Issue和第j个Issue的标签余弦相似度,α、β、γ和δ分别表示标题余弦相似度、描述余弦相似度、主题余弦相似度和标签余弦相似度的权重系数。
一些实施例中,所述开发者特征包括项目协作关联度,所述项目协作关联度的计算公式为:
Figure BDA0003765477000000041
式中,Nown表示某一Issue的所有参与者中属于项目拥有者的数量,Ncol表示某一Issue的所有参与者中属于项目协作者的数量,Nmem表示某一Issue的所有参与者中属于项目成员的数量,Ncon表示某一Issue的所有参与者中属于项目贡献者的数量,Nass表示某一Issue的所有参与者中属于项目指派者的数量,Nall表示某一Issue的所有参与者的数量,w1、w2、w3、w4和w5分别表示项目拥有者、项目协作者、项目成员、项目贡献者和项目指派者的权重系数。
第二方面,提供了一种生命周期预测模型构建装置,包括:
获取单元,其用于获取原始数据集,所述原始数据集包括Issue数据和项目数据,所述Issue数据包括Issue基本信息、Issue开发者信息和Issue事件信息,所述项目数据包括项目基本信息、项目开发者信息和项目事件信息;
分析单元,其用于基于箱线图分析法和累积分布图分析法对原始数据集进行Issue生命周期分布规律分析,得到多个Issue生命周期分类点,每个Issue生命周期分类点包括与其对应的生命周期时长;
构建单元,其用于基于所述Issue数据、所述项目数据和所述多个Issue生命周期分类点对分类模型进行训练,得到生命周期预测模型;
其中,分类模型包括特征挖掘模块和预测模块,所述特征挖掘模块用于根据项目基本信息、项目开发者信息和项目事件信息确定出项目特征,根据Issue基本信息、Issue开发者信息和Issue事件信息确定出Issue特征,根据Issue数据和项目数据确定出开发者特征,所述预测模块用于根据项目特征、Issue特征和开发者特征从多个Issue生命周期分类点中筛选出每个Issue对应的第一Issue生命周期分类点,并将第一Issue生命周期分类点对应的生命周期时长作为预测结果。
一些实施例中,所述Issue特征包括易读性指数,所述特征挖掘模块具体用于:
对所述Issue基本信息、Issue开发者信息和Issue事件信息中的非文本内容进行过滤,得到每个Issue的文本信息,所述文本信息包括Issue标题信息、Issue描述信息和Issue标签信息;
根据Issue的文本信息计算出每个Issue的单词总数量、语句总数量和音节总数量;
将单词总数量、语句总数量和音节总数量代入第一计算公式,得到每个Issue的易读性指数,第一计算公式为:
Figure BDA0003765477000000051
式中,Flesch_srore表示易读性指数,Nwords表示单词总数量,Nsentences表示语句总数量,Nsyllables表示音节总数量。
一些实施例中,所述Issue特征包括复合相似度,所述特征挖掘模块具体还用于:
根据Issue的文本信息计算出每个Issue和属于同一项目的其他Issue之间的余弦相似度;
将余弦相似度代入到第二计算公式,得到每个Issue的复合相似度,第二计算公式为:
Composer_similarity(i,j)=αCosin_s(ititle,jtitle)+βCosin_s(ibody,jbody)
+γCosin_s(itopic,jtopic)+δCosin_s(ilabel,jlabel)
其中,Composer_similarity表示复合相似度,i表示某一项目内第i个Issue,j表示某一项目内第j个Issue,Cosin_s(ititle,jtitle)表示第i个Issue和第j个Issue的标题余弦相似度,Cosin_s(ibody,jbody)表示第i个Issue和第j个Issue的描述余弦相似度,Cosin_s(itopic,jtopic)表示第i个Issue和第j个Issue的主题余弦相似度,Cosin_s(ilabel,jlabel)表示第i个Issue和第j个Issue的标签余弦相似度,α、β、γ和δ分别表示标题余弦相似度、描述余弦相似度、主题余弦相似度和标签余弦相似度的权重系数。
一些实施例中,所述开发者特征包括项目协作关联度,所述项目协作关联度的计算公式为:
Figure BDA0003765477000000061
式中,Nown表示某一Issue的所有参与者中属于项目拥有者的数量,Ncol表示某一Issue的所有参与者中属于项目协作者的数量,Nmem表示某一Issue的所有参与者中属于项目成员的数量,Ncon表示某一Issue的所有参与者中属于项目贡献者的数量,Nass表示某一Issue的所有参与者中属于项目指派者的数量,Nall表示某一Issue的所有参与者的数量,w1、w2、w3、w4和w5分别表示项目拥有者、项目协作者、项目成员、项目贡献者和项目指派者的权重系数。
第三方面,提供了一种生命周期预测模型构建设备,包括:存储器和处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现前述的生命周期预测模型构建方法。
第四方面,提供了一种计算机可读存储介质,所述计算机存储介质存储有计算机程序,当所述计算机程序被处理器执行时,以实现前述的生命周期预测模型构建方法。
本申请提供了一种生命周期预测模型构建方法、装置、设备及可读存储介质,包括:获取原始数据集,原始数据集包括Issue数据和项目数据,Issue数据包括Issue基本信息、Issue开发者信息和Issue事件信息,项目数据包括项目基本信息、项目开发者信息和项目事件信息;基于箱线图分析法和累积分布图分析法对原始数据集进行Issue生命周期分布规律分析,得到多个Issue生命周期分类点,每个Issue生命周期分类点包括与其对应的生命周期时长;基于Issue数据、项目数据和多个Issue生命周期分类点对分类模型进行训练,得到生命周期预测模型;其中,分类模型包括特征挖掘模块和预测模块,特征挖掘模块用于根据项目基本信息、项目开发者信息和项目事件信息确定出项目特征,根据Issue基本信息、Issue开发者信息和Issue事件信息确定出Issue特征,根据Issue数据和项目数据确定出开发者特征,预测模块用于根据项目特征、Issue特征和开发者特征从多个Issue生命周期分类点中筛选出每个Issue对应的第一Issue生命周期分类点,并将第一Issue生命周期分类点对应的生命周期时长作为预测结果。通过本申请,对Issue生命周期分布规律进行分析,便于发现不同项目的Issue的生命周期分布规律,建立预测时间点的分类间隔,并对项目特征、Issue特征和开发者特征进行多特征挖掘,以构建基于Issue生命周期分布规律和多特征融合的Issue生命周期预测模型,进而将生命周期预测问题转化为分类问题,从而有效提高Issue生命周期预测结果的准确性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种生命周期预测模型构建方法的流程示意图;
图2为本申请实施例提供的所有项目的Issue生命周期数据分布图;
图3为本申请实施例提供的单个项目的Issue生命周期数据分布图;
图4为本申请实施例提供的生命周期预测模型构建方法的具体流程示意图;
图5为本申请实施例提供的一种生命周期预测模型构建设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请实施例提供了一种生命周期预测模型构建方法、装置、设备及可读存储介质,其能解决相关技术中存在的Issue生命周期预测结果准确性差的问题。
图1是本申请实施例提供的一种生命周期预测模型构建方法,包括以下步骤:
步骤S10:获取原始数据集,所述原始数据集包括Issue数据和项目数据,所述Issue数据包括Issue基本信息、Issue开发者信息和Issue事件信息,所述项目数据包括项目基本信息、项目开发者信息和项目事件信息;
示范性的,现有技术中的Issue生命周期预测方法主要关注Issue的文本内容和事件特征,忽视了Issue的发起者和参与者的相关特征,以及缺乏对Issue所在项目的背景特征的深入挖掘,特征的丰富性受到限制;并且当前的Issue生命周期预测方法大多缺乏与真实项目Issue生命周期分布规律的结合,预测时间被固定观测点相分割,不能给予开发者适应性的选择范围,以致预测的结果准确性有待进一步提升。而在本实施例中,则对原始数据进行清洗,筛选开源软件数据集中Issue数据相关联的信息:筛选数据集中有效的Issue数据,保留所有已关闭的拥有和Issue相关联的开发者数据和项目数据,并过滤掉关联信息不完整的Issue;对于每一条Issue数据,保留Issue的基本信息(比如Issue名称、任务类型、描述的主题等)、包括创建者信息和参与者信息在内的开发者信息和事件信息(比如Issue的开始时间、关闭时间、评论数等),对于涉及的每个项目,则保留项目的基本信息(比如参见表1所示中的项目名称、贡献者数量、Issue数量、已关闭的Issue的占比和平均生命周期等)、包括创建者信息和参与者信息在内的开发者信息和事件信息(比如提交代码等)。
表1开源项目的基本信息
Figure BDA0003765477000000091
步骤S20:基于箱线图分析法和累积分布图分析法对原始数据集进行Issue生命周期分布规律分析,得到多个Issue生命周期分类点,每个Issue生命周期分类点包括与其对应的生命周期时长;
示范性的,在本实施例中,基于步骤S10中的Issue数据和项目数据统计Issue生命周期分布规律,确定Issue生命周期预测时间点:使用箱线图和累积分布图分析项目集整体的Issue的生命周期分布规律,并且用箱线图单独分析生命周期分布规律与每个项目的适配性,以确定Issue生命周期预测时间点。
具体的,使用箱线图和累积分布图表示原始数据集中所有项目的Issue的生命周期数据,获取所有Issue生命周期的数据分布,比如参见图2所示,所有Issue生命周期的数据分布包括所有项目的Issue的生命周期的累积频率、四分位点、最大值和最小值等的分布信息;然后,参见图3所示,使用箱线图分别表示每个项目(比如项目一至项目十二)的所有Issue的生命周期数据,获取四分位点、最大值和最小值的分布信息;最后,根据单个项目和所有项目的Issue生命周期数据的四分位点、最大值和最小值分布规律,确定符合项目集的多个Issue生命周期分类点,每个Issue生命周期分类点包括与其对应的生命周期时长。
步骤S30:基于所述Issue数据、所述项目数据和所述多个Issue生命周期分类点对分类模型进行训练,得到生命周期预测模型;
其中,分类模型包括特征挖掘模块和预测模块,所述特征挖掘模块用于根据项目基本信息、项目开发者信息和项目事件信息确定出项目特征,根据Issue基本信息、Issue开发者信息和Issue事件信息确定出Issue特征,根据Issue数据和项目数据确定出开发者特征,所述预测模块用于根据项目特征、Issue特征和开发者特征从多个Issue生命周期分类点中筛选出每个Issue对应的第一Issue生命周期分类点,并将第一Issue生命周期分类点对应的生命周期时长作为预测结果。
示范性的,在本实施例中,基于Issue数据和项目数据,挖掘出与Issue生命周期相关的多层次特征:基于主题模型构建Issue类型自动化分类器(即分类模型),结合余弦相似度和比例系数生成复合相似度,并从项目数据、Issue数据中挖掘Issue生命周期相关的多层次特征;基于多层次特征构建Issue生命周期预测模型:对多层次特征中的标签特征进行One-hot编码,对数值特征进行标准化,构成特征向量集合,基于特征向量集合对分类模型进行训练,得到Issue生命周期预测模型。
具体的,所述Issue特征包括易读性指数,所述根据Issue基本信息、Issue开发者信息和Issue事件信息确定出Issue特征,包括:
对所述Issue基本信息、Issue开发者信息和Issue事件信息中的非文本内容进行过滤,得到每个Issue的文本信息,所述文本信息包括Issue标题信息、Issue描述信息和Issue标签信息;
根据Issue的文本信息计算出每个Issue的单词总数量、语句总数量和音节总数量;
将单词总数量、语句总数量和音节总数量代入第一计算公式,得到每个Issue的易读性指数,第一计算公式为:
Figure BDA0003765477000000111
式中,Flesch_srore表示易读性指数,Nwords表示单词总数量,Nsentences表示语句总数量,Nsyllables表示音节总数量。
所述Issue特征包括复合相似度,在所述对所述Issue基本信息、Issue开发者信息和Issue事件信息中的非文本内容进行过滤,得到每个Issue的文本信息的步骤之后,还包括:
根据Issue的文本信息计算出每个Issue和属于同一项目的其他Issue之间的余弦相似度;
将余弦相似度代入到第二计算公式,得到每个Issue的复合相似度,第二计算公式为:
Composer_similarity(i,j)=αCosin_s(ititle,jtitle)+βCosin_s(ibody,jbody)+γCosin_s(itopic,jtopic)+δCosin_s(ilabel,jlabel)
其中,Composer_similarity表示复合相似度,i表示某一项目内第i个Issue,j表示某一项目内第j个Issue,Cosin_s(ititle,jtitle)表示第i个Issue和第j个Issue的标题余弦相似度,Cosin_s(ibody,jbody)表示第i个Issue和第j个Issue的描述余弦相似度,Cosin_s(itopic,jtopic)表示第i个Issue和第j个Issue的主题余弦相似度,Cosin_s(ilabel,jlabel)表示第i个Issue和第j个Issue的标签余弦相似度,α、β、γ和δ分别表示标题余弦相似度、描述余弦相似度、主题余弦相似度和标签余弦相似度的权重系数。
所述开发者特征包括项目协作关联度,所述项目协作关联度的计算公式为:
Figure BDA0003765477000000121
式中,Nown表示某一Issue的所有参与者中属于项目拥有者的数量,Ncol表示某一Issue的所有参与者中属于项目协作者的数量,Nmem表示某一Issue的所有参与者中属于项目成员的数量,Ncon表示某一Issue的所有参与者中属于项目贡献者的数量,Nass表示某一Issue的所有参与者中属于项目指派者的数量,Nall表示某一Issue的所有参与者的数量,w1、w2、w3、w4和w5分别表示项目拥有者、项目协作者、项目成员、项目贡献者和项目指派者的权重系数。
示范性的,在本实施例中,首先分类模型中的特征挖掘模块根据项目基本信息、项目开发者信息和项目事件信息进行项目特征的挖掘。
其次,特征挖掘模块再根据Issue基本信息、Issue开发者信息和Issue事件信息进行Issue特征的挖掘:
先提取每个Issue的文本信息,包括Issue的标题、描述和标签信息,并过滤掉URL、代码、图片、表情等非文本内容,进而构成一条Issue纯文本数据,所有Issue纯文本数据集合构成Issue纯文本数据集;
再计算每个Issue的纯文本数据的长度,并计算每条Issue文本的情感系数和易读性指数;其中,对于情感系数,使用SentiStrong工具和TextBlob工具来评估文本叙述的主观性和两极化(乐观、悲观)的情绪得分;而对于易读性指数,可使用Textstat工具提供的易读性指数(Flesch Reading Ease)度量文本的可读性,其计算方法如下:根据Issue的文本信息计算出每个Issue的单词总数量、语句总数量和音节总数量;将单词总数量、语句总数量和音节总数量代入第一计算公式,得到每个Issue的易读性指数,第一计算公式为:
Figure BDA0003765477000000122
式中,Flesch_srore表示易读性指数,Nwords表示单词总数量,Nsentences表示语句总数量,Nsyllables表示音节总数量;
接着,基于Issue的纯文本数据,使用具有先验知识的CorEX主题模型,挖掘出每个Issue的任务类型,使用LDA主题模型,挖掘每个Issue的主题分布;
最后,计算每个Issue与同所在项目之间的所有已关闭的Issue的复合相似度,复合相似度代表该Issue讨论的内容在项目问题区已关闭的重复度,即根据Issue的文本信息计算出每个Issue和属于同一项目的其他Issue之间的余弦相似度;将余弦相似度代入到第二计算公式,得到每个Issue的复合相似度,第二计算公式为:
Composer_similarity(i,j)=αCosin_s(ititle,jtitle)+βCosin_s(ibody,jbody)+γCosin_s(itopic,jtopic)+δCosin_s(ilabel,jlabel)
式中,Composer_similarity表示复合相似度,i表示某一项目内第i个Issue,j表示某一项目内第j个Issue,Cosin_s(ititle,jtitle)表示第i个Issue和第j个Issue的标题余弦相似度,Cosin_s(ibody,jbody)表示第i个Issue和第j个Issue的描述余弦相似度,Cosin_s(itopic,jtopic)表示第i个Issue和第j个Issue的主题余弦相似度,Cosin_s(ilabel,jlabel)表示第i个Issue和第j个Issue的标签余弦相似度,α、β、γ和δ分别表示标题余弦相似度、描述余弦相似度、主题余弦相似度和标签余弦相似度的权重系数,其中,α、β、γ和δ可分别设置为0.8、0.51、0.01和0.37,需要说明的是,也可以根据实际需求进行权重系数具体值的设置,在此不做限定。
特征挖掘模块根据Issue数据和项目数据确定出开发者特征:计算每个Issue的参与者与项目中其他开发者的项目协作关联度,项目协作关联度代表该Issue的参与者在项目中与其他开发者的关联性综合得分,其计算公式为:
Figure BDA0003765477000000131
式中,Nown表示某一Issue的所有参与者中属于项目拥有者的数量,Ncol表示某一Issue的所有参与者中属于项目协作者的数量,Nmem表示某一Issue的所有参与者中属于项目成员的数量,Ncon表示某一Issue的所有参与者中属于项目贡献者的数量,Nass表示某一Issue的所有参与者中属于项目指派者的数量,Nall表示某一Issue的所有参与者的数量,w1、w2、w3、w4和w5分别表示项目拥有者、项目协作者、项目成员、项目贡献者和项目指派者的权重系数,w1、w2、w3、w4和w5可分别设置为2.5、2、2、1.5和3,需要说明的是,也可以根据实际需求进行权重系数具体值的设置,在此不做限定。
由此可见,本实施例从处理爬取到的原始项目信息、Issue信息和开发者信息可组成包含项目特征、Issue特征、开发者特征在内的Issue特征集。
对Issue特征集中的每个Issue的全部特征进行处理:对其中标签型进行One-hot编码,对数值类特征进行标准化处理,并将所有特征拼接成特征向量,以构成特征向量集合;分类模型中的预测模块根据特征向量集合中的项目特征、Issue特征和开发者特征从多个Issue生命周期分类点中筛选出每个Issue对应的第一Issue生命周期分类点,并将第一Issue生命周期分类点对应的生命周期时长作为预测结果。
其中,为了提高预测的准确度,本实施例还可以应用不同的机器学习方法训练不同的分类模型,并采用滑动验证方法进行参数调优,比如应用微平均F1-score、宏平均准确率、宏平均回归率、宏平均F1-score和Kappa系数对不同的分类器性能进行评估和比较,筛选出性能最优的分类器;应用多元逻辑回归方法进行假设检验,验证特征向量集合的有效性,根据回归系数得到各个特征的重要性。
以下基于开源软件平台-Github上所搜集的Java语言开发的项目数据集为例,并结合图4详细描述本实施例的实施过程。
清洗原始数据集:从Github上爬取Java语言所编写的开源项目,对所查询到的项目进行筛选,去除其中创建时间不在2016-10-01到2019-10-01之间的项目以及最近一次push时间在2021-10-01之前的项目,保留其中的star(即关注)大于10000以及forks(即收藏)大于2000的项目,构成原始数据集。对原始数据集中每一个项目,使用GithubAPI爬取所有Issue信息,获取项目基本信息,遍历项目中每一个已处于关闭状态的Issue,保留Issue的基本信息、包括发起者、参与者等在内的开发者信息、事件信息和项目状态信息,过滤其中的无用信息。
统计Issue生命周期分布规律,确定Issue生命周期预测时间点:统计所有项目的全部Issue的从创建到关闭经历的时间,绘制所有Issue的生命周期累积频率分布和四分位点分布信息,如图2所示;统计每一个项目的所有Issue的从创建到关闭经历的时间,绘制每个Issue生命周期的四分位点、最大值和最小值的分布信息,如图3所示;根据Issue的生命周期分布规律,将生命周期时长大致均匀划分为6段,为C1~C6,确定Issue生命周期分类点(比如C1<小于3小时,3小时≤C2<24小时,24小时≤C3<7天,7天≤C4<30天,30天≤C5<120天,C6≥120天)。
挖掘Issue生命周期相关的多层次特征:将每个Issue的标题、描述和标签信息连接起来,过滤掉URL、代码、图片等非文本内容,组合成一条文本数据,构成Issue纯文本数据集;计算每个Issue的文本数据的长度,使用SentiStrong工具和TextBlob工具来评估文本叙述的主观性和两极化的情绪得分;使用Textstat工具提供的易读性指数(FleschReading Ease)度量文本的可读性;使用先验知识的CorEX主题模型,挖掘Issue纯文本数据集中每个Issue的任务类型;使用LDA主题模型,挖掘每个Issue的主题;依据Issue的主题、标签、标题和描述的余弦相似度,计算每个Issue与同项目之前已关闭的Issue的复合相似度;其中,参见表2所示,对于原始项目信息,提取项目粉丝量、贡献者数量、项目年限、项目近期的commit量等信息;对Issue信息,提取评论量、热度、引用事件量、提及事件量等信息;对于发起者信息,提取开发者开发年龄(加入Github的年数)、追随者量、与近期的评论量、近期的commit量等信息;对于参与者信息,提取项目的关系、近期的commit量等信息,上述这些信息组成包含项目特征、Issue特征、开发者特征(即参与者特征和发起者特征)在内的3类特征,构成Issue特征集。
表2 Issue特征集示例
Figure BDA0003765477000000161
Figure BDA0003765477000000171
构建Issue生命周期预测模型:对Issue特征集中标签类型的特征进行One-hot编码,对数值类型的特征进行标准化,连接成特征向量,构成特征向量数据集,并根据特征向量数据集对分类模型进行训练,得到生命周期预测模型。
其中,本实施例将数据集以9:1的比例,划分为训练集和测试集,在训练集上分别应用KNN、SVM、RF、GBDT和XGBoost机器学习方法训练分类模型,并采用滑动验证方法进行参数调优;在测试集上应用训练好的各种模型进行测试,使用Micro-F1、Macro-Precision、Macro-Recall、Macro-F1和Kappa系数对不同的分类器性能进行评估和比较:
具体的,对于分类模型,TP真阳性表示预测为正,实际为正的样本数量;FP假阳性表示预测为正,实际为负的样本数量;TN真阴性表示预测为负,实际为负的样本数量;FN假阳性表示预测为负,实际为正的样本数量。
Micro-F1:对多分类结果综合的度量,是用于权衡多个类别的精确率和召回率的调和平均数,适用于数据分布不平衡的情况,衡量实际类别和模型生成的分类结果之间的接近程度,Micro-F1越大,代表分类结果的综合精度越好,其与TP、FP和FN有关。
Macro-Precision:对多分类结果查准性的度量,是用于平衡多个类别的精确率的平均数,适用于数据分布平衡的情况,衡量模型正确预测的类型和模型预测的类型结果之间的接近程度,Macro-Precision越大,代表分类结果的精确率越好,其与TP和FP有关。
Macro-Recall:对多分类结果查全性的度量,是用于平衡多个类别的召回率平均数,适用于数据分布平衡的情况,衡量模型正确预测的类型和实际的类型结果之间的接近程度,Macro-Recall越大,代表分类结果的召回率越好,其与TP和FN有关。
Macro-F1:对多分类结果综合的度量,是用于权衡精确率和召回率的调和平均数,适用于数据分布平衡的情况,衡量实际类别和模型生成的分类结果之间的接近程度,Macro-F1越大,代表分类结果的综合精度越好,其与TP、FP和FN有关。
Kappa系数:对多分类结果一致性的度量,评估多分类模型平衡性的指标,衡量预测结果和实际分类结果是否一致,Kappa系数越大,代表分类结果的准确度越好。
对机器学习方法的预测性能进行对比,不同的模型对特征的学习能力存在差异,其中,KNN、SVM、RF、GBDT和XGBoost机器学习方法可用于多分类问题,如表3所示,XGBoost方法在各项性能均优于其他方法,因此本实施例将模型选择为XGBoost,使得模型在保持高查准性、高查全性的同时,能够具有足够的一致性。
表3各个分类模型的性能对比表
Figure BDA0003765477000000191
本实施例还对XGBoost模型的参数max_depth(比如6、8、10、12、14、16、18)进行对比,参数max_depth决定了决策树的最大深度,树的深度越大,模型的可解释性越差。如表4所示,模型的可解释性会随着参数max_depth的提升而提升,在达到最高点之后会随着参数的提升而下降后下降。因此,模型的参数需要保持一个准确性和可解释性的平衡点,本实施例将模型的参数max_depth选择为8,以使得模型在保持准确性的同时,能够具有足够的可解释性。
表4参数max_depth对比表
Figure BDA0003765477000000192
Figure BDA0003765477000000201
此外,还对XGBoost模型的参数learning_rate(比如0.01、0.015、0.025、0.05、0.1、0.2、1.0)进行对比,参数learning_rate决定了控制每次迭代更新权重时的步长,步长越小,训练越慢。如表5所示,模型的准确性会随着参数learning_rate的提升而提升,在达到最高点之后会随着参数的提升而下降后下降。因此,模型的参数需要保持一个准确性和学习速率的平衡点,本实施例则将模型的参数learning_rate选择为0.1,以使得模型在保持准确性的同时,能够较快学习数据特征。
表5参数learning_rate对比表
Micro-F1 Macro-Precision Macro-Recall Macro-F1 Kappa系数
0.01 0.7631 0.6712 0.6867 0.6694 0.6959
0.015 0.7857 0.7422 0.7403 0.7369 0.7249
0.025 0.7960 0.7239 0.7505 0.7275 0.7382
0.05 0.8073 0.7403 0.7600 0.7422 0.7527
0.1 0.8116 0.7417 0.7639 0.7456 0.7582
0.2 0.8064 0.7482 0.7591 0.7475 0.7514
1.0 0.7998 0.7071 0.7515 0.7112 0.7432
本实施例还使用SPSS工具进行特征之间的多重共线性检验,所有特征的方差膨胀系数均小于10,说明特征之间没有多重共线性问题,特征向量数据集构建良好。
同时,本实施例采用全部的特征(即Issue特征、项目特征、开发者特征)作为自变量,Issue生命周期(C1-C6)为因变量,用SPSS软件建立多元Logistic回归模型对本实施例中的生命周期预测模型进行假设检验;经假设检验后,发现本实施例中的显著性水平p<0.001,说明本实施例构建的生命周期预测模型通过检验,具有统计意义;且本实施例的伪R方值均偏低,最高0.929,说明Issue特征集中的特征对Issue生命周期解释程度较好,模型拟合程度比较优秀。此外,以关闭时间大于120天的C6类别为参照,以关闭时间大于30天且小于120天的C5类别为例,参见表6所示,可根据优势比Exp(B)确定每个特征对Issue生命周期的影响程度大小。
表6参数估算值
Figure BDA0003765477000000211
Figure BDA0003765477000000221
由此可见,本实施例提供了一种Issue生命周期分布规律的统计分析方法,便于发现不同项目的Issue的生命周期分布规律,将生命周期预测问题转化为分类问题,即预测Issue是否会在Issue创建后的某个时间间隔内关闭:使用爬取的真实项目集的Issue生命周期分布规律建立预测时间点的分类间隔;提出了面向Issue生命周期预测的多层次特征挖掘方法,有助于研究Issue的生命周期演化规律;并基于Issue特征、项目特征以及开发者特征的特征集合,构建基于多特征融合的Issue生命周期预测模型,生成预测结果;并通过性能评估和多元逻辑回归方法检验了模型的有效性和特征重要性。因此本实施例能够基于开源项目提供的信息预测符合要求的Issue生命周期,并且在预测结果保持有效性的前提下,能够具有很好的准确性,有助于推进开源项目的问题管理、进度规划和版本迭代。
本申请实施例还提供了一种生命周期预测模型构建装置,其特征在于,包括:
获取单元,其用于获取原始数据集,所述原始数据集包括Issue数据和项目数据,所述Issue数据包括Issue基本信息、Issue开发者信息和Issue事件信息,所述项目数据包括项目基本信息、项目开发者信息和项目事件信息;
分析单元,其用于基于箱线图分析法和累积分布图分析法对原始数据集进行Issue生命周期分布规律分析,得到多个Issue生命周期分类点,每个Issue生命周期分类点包括与其对应的生命周期时长;
构建单元,其用于基于所述Issue数据、所述项目数据和所述多个Issue生命周期分类点对分类模型进行训练,得到生命周期预测模型;
其中,分类模型包括特征挖掘模块和预测模块,所述特征挖掘模块用于根据项目基本信息、项目开发者信息和项目事件信息确定出项目特征,根据Issue基本信息、Issue开发者信息和Issue事件信息确定出Issue特征,根据Issue数据和项目数据确定出开发者特征,所述预测模块用于根据项目特征、Issue特征和开发者特征从多个Issue生命周期分类点中筛选出每个Issue对应的第一Issue生命周期分类点,并将第一Issue生命周期分类点对应的生命周期时长作为预测结果。
进一步的,所述Issue特征包括易读性指数,所述特征挖掘模块具体用于:
对所述Issue基本信息、Issue开发者信息和Issue事件信息中的非文本内容进行过滤,得到每个Issue的文本信息,所述文本信息包括Issue标题信息、Issue描述信息和Issue标签信息;
根据Issue的文本信息计算出每个Issue的单词总数量、语句总数量和音节总数量;
将单词总数量、语句总数量和音节总数量代入第一计算公式,得到每个Issue的易读性指数,第一计算公式为:
Figure BDA0003765477000000231
式中,Flesch_srore表示易读性指数,Nwords表示单词总数量,Nsentences表示语句总数量,Nsyllables表示音节总数量。
进一步的,所述Issue特征包括复合相似度,所述特征挖掘模块具体还用于:
根据Issue的文本信息计算出每个Issue和属于同一项目的其他Issue之间的余弦相似度;
将余弦相似度代入到第二计算公式,得到每个Issue的复合相似度,第二计算公式为:
Composer_similarity(i,j)=αCosin_s(ititle,jtitle)+βCosin_s(ibody,jbody)+γCosin_s(itopic,jtopic)+δCosin_s(ilabel,jlabel)
其中,Composer_similarity表示复合相似度,i表示某一项目内第i个Issue,j表示某一项目内第j个Issue,Cosin_s(ititle,jtitle)表示第i个Issue和第j个Issue的标题余弦相似度,Cosin_s(ibody,jbody)表示第i个Issue和第j个Issue的描述余弦相似度,Cosin_s(itopic,jtopic)表示第i个Issue和第j个Issue的主题余弦相似度,Cosin_s(ilabel,jlabel)表示第i个Issue和第j个Issue的标签余弦相似度,α、β、γ和δ分别表示标题余弦相似度、描述余弦相似度、主题余弦相似度和标签余弦相似度的权重系数。
进一步的,所述开发者特征包括项目协作关联度,所述项目协作关联度的计算公式为:
Figure BDA0003765477000000241
式中,Nown表示某一Issue的所有参与者中属于项目拥有者的数量,Ncol表示某一Issue的所有参与者中属于项目协作者的数量,Nmem表示某一Issue的所有参与者中属于项目成员的数量,Ncon表示某一Issue的所有参与者中属于项目贡献者的数量,Nass表示某一Issue的所有参与者中属于项目指派者的数量,Nall表示某一Issue的所有参与者的数量,w1、w2、w3、w4和w5分别表示项目拥有者、项目协作者、项目成员、项目贡献者和项目指派者的权重系数。
需要说明的是,所属本领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的装置和各单元的具体工作过程,可以参考前述生命周期预测模型构建方法实施例中的对应过程,在此不再赘述。
上述实施例提供的装置可以实现为一种计算机程序的形式,该计算机程序可以在如图5所示的生命周期预测模型构建设备上运行。
本申请实施例还提供了一种生命周期预测模型构建设备,包括:通过系统总线连接的存储器、处理器和网络接口,存储器中存储有至少一条指令,至少一条指令由处理器加载并执行,以实现前述的生命周期预测模型构建方法的全部步骤或部分步骤。
其中,网络接口用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图5中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
处理器可以是CPU,还可以是其他通用处理器、数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程逻辑门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件分立硬件组件等。通用处理器可以是微处理器,或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
存储器可用于存储计算机程序和/或模块,处理器通过运行或执行存储在存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如视频播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如视频数据、图像数据等)等。此外,存储器可以包括高速随存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘、智能存储卡(SmartMedia Card,SMC)、安全数字(Secure digital,SD)卡、闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件或其他易失性固态存储器件。
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时,实现前述的生命周期预测模型构建方法的全部步骤或部分步骤。
本申请实施例实现前述的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(Read-Only memory,ROM)、随机存取存储器(Random Accessmemory,RAM)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、服务器或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种生命周期预测模型构建方法,其特征在于,包括以下步骤:
获取原始数据集,所述原始数据集包括Issue数据和项目数据,所述Issue数据包括Issue基本信息、Issue开发者信息和Issue事件信息,所述项目数据包括项目基本信息、项目开发者信息和项目事件信息;
基于箱线图分析法和累积分布图分析法对原始数据集进行Issue生命周期分布规律分析,得到多个Issue生命周期分类点,每个Issue生命周期分类点包括与其对应的生命周期时长;
基于所述Issue数据、所述项目数据和所述多个Issue生命周期分类点对分类模型进行训练,得到生命周期预测模型;
其中,分类模型包括特征挖掘模块和预测模块,所述特征挖掘模块用于根据项目基本信息、项目开发者信息和项目事件信息确定出项目特征,根据Issue基本信息、Issue开发者信息和Issue事件信息确定出Issue特征,根据Issue数据和项目数据确定出开发者特征,所述预测模块用于根据项目特征、Issue特征和开发者特征从多个Issue生命周期分类点中筛选出每个Issue对应的第一Issue生命周期分类点,并将第一Issue生命周期分类点对应的生命周期时长作为预测结果。
2.如权利要求1所述的生命周期预测模型构建方法,其特征在于,所述Issue特征包括易读性指数,所述根据Issue基本信息、Issue开发者信息和Issue事件信息确定出Issue特征,包括:
对所述Issue基本信息、Issue开发者信息和Issue事件信息中的非文本内容进行过滤,得到每个Issue的文本信息,所述文本信息包括Issue标题信息、Issue描述信息和Issue标签信息;
根据Issue的文本信息计算出每个Issue的单词总数量、语句总数量和音节总数量;
将单词总数量、语句总数量和音节总数量代入第一计算公式,得到每个Issue的易读性指数,第一计算公式为:
Figure FDA0003765476990000021
式中,Flesch_srore表示易读性指数,Nwords表示单词总数量,Nsentences表示语句总数量,Nsyllables表示音节总数量。
3.如权利要求2所述的生命周期预测模型构建方法,其特征在于,所述Issue特征包括复合相似度,在所述对所述Issue基本信息、Issue开发者信息和Issue事件信息中的非文本内容进行过滤,得到每个Issue的文本信息的步骤之后,还包括:
根据Issue的文本信息计算出每个Issue和属于同一项目的其他Issue之间的余弦相似度;
将余弦相似度代入到第二计算公式,得到每个Issue的复合相似度,第二计算公式为:
Composer_similarity(i,j)=αCosin_s(ititle,jtitle)+βCosin_s(ibody,jbody)+γCosin_s(itopic,jtopic)+δCosin_s(ilabel,jlabel)
其中,Composer_similarity表示复合相似度,i表示某一项目内第i个Issue,j表示某一项目内第j个Issue,Cosin_s(ititle,jtitle)表示第i个Issue和第j个Issue的标题余弦相似度,Cosin_s(ibody,jbody)表示第i个Issue和第j个Issue的描述余弦相似度,Cosin_s(itopic,jtopic)表示第i个Issue和第j个Issue的主题余弦相似度,Cosin_s(ilabel,jlabel)表示第i个Issue和第j个Issue的标签余弦相似度,α、β、γ和δ分别表示标题余弦相似度、描述余弦相似度、主题余弦相似度和标签余弦相似度的权重系数。
4.如权利要求1所述的生命周期预测模型构建方法,其特征在于,所述开发者特征包括项目协作关联度,所述项目协作关联度的计算公式为:
Figure FDA0003765476990000022
式中,Nown表示某一Issue的所有参与者中属于项目拥有者的数量,Ncol表示某一Issue的所有参与者中属于项目协作者的数量,Nmem表示某一Issue的所有参与者中属于项目成员的数量,Ncon表示某一Issue的所有参与者中属于项目贡献者的数量,Nass表示某一Issue的所有参与者中属于项目指派者的数量,Nall表示某一Issue的所有参与者的数量,w1、w2、w3、w4和w5分别表示项目拥有者、项目协作者、项目成员、项目贡献者和项目指派者的权重系数。
5.一种生命周期预测模型构建装置,其特征在于,包括:
获取单元,其用于获取原始数据集,所述原始数据集包括Issue数据和项目数据,所述Issue数据包括Issue基本信息、Issue开发者信息和Issue事件信息,所述项目数据包括项目基本信息、项目开发者信息和项目事件信息;
分析单元,其用于基于箱线图分析法和累积分布图分析法对原始数据集进行Issue生命周期分布规律分析,得到多个Issue生命周期分类点,每个Issue生命周期分类点包括与其对应的生命周期时长;
构建单元,其用于基于所述Issue数据、所述项目数据和所述多个Issue生命周期分类点对分类模型进行训练,得到生命周期预测模型;
其中,分类模型包括特征挖掘模块和预测模块,所述特征挖掘模块用于根据项目基本信息、项目开发者信息和项目事件信息确定出项目特征,根据Issue基本信息、Issue开发者信息和Issue事件信息确定出Issue特征,根据Issue数据和项目数据确定出开发者特征,所述预测模块用于根据项目特征、Issue特征和开发者特征从多个Issue生命周期分类点中筛选出每个Issue对应的第一Issue生命周期分类点,并将第一Issue生命周期分类点对应的生命周期时长作为预测结果。
6.如权利要求5所述的生命周期预测模型构建装置,其特征在于,所述Issue特征包括易读性指数,所述特征挖掘模块具体用于:
对所述Issue基本信息、Issue开发者信息和Issue事件信息中的非文本内容进行过滤,得到每个Issue的文本信息,所述文本信息包括Issue标题信息、Issue描述信息和Issue标签信息;
根据Issue的文本信息计算出每个Issue的单词总数量、语句总数量和音节总数量;
将单词总数量、语句总数量和音节总数量代入第一计算公式,得到每个Issue的易读性指数,第一计算公式为:
Figure FDA0003765476990000041
式中,Flesch_srore表示易读性指数,Nwords表示单词总数量,Nsentences表示语句总数量,Nsyllables表示音节总数量。
7.如权利要求6所述的生命周期预测模型构建装置,其特征在于,所述Issue特征包括复合相似度,所述特征挖掘模块具体还用于:
根据Issue的文本信息计算出每个Issue和属于同一项目的其他Issue之间的余弦相似度;
将余弦相似度代入到第二计算公式,得到每个Issue的复合相似度,第二计算公式为:
Composer_similarity(i,j)=αCosin_s(ititle,jtitle)+βCosin_s(ibody,jbody)+γCosin_s(itopic,jtopic)+δCosin_s(ilabel,jlabel)
其中,Composer_similarity表示复合相似度,i表示某一项目内第i个Issue,j表示某一项目内第j个Issue,Cosin_s(ititle,jtitle)表示第i个Issue和第j个Issue的标题余弦相似度,Cosin_s(ibody,jbody)表示第i个Issue和第j个Issue的描述余弦相似度,Cosin_s(itopic,jtopic)表示第i个Issue和第j个Issue的主题余弦相似度,Cosin_s(ilabel,jlabel)表示第i个Issue和第j个Issue的标签余弦相似度,α、β、γ和δ分别表示标题余弦相似度、描述余弦相似度、主题余弦相似度和标签余弦相似度的权重系数。
8.如权利要求5所述的生命周期预测模型构建装置,其特征在于,所述开发者特征包括项目协作关联度,所述项目协作关联度的计算公式为:
Figure FDA0003765476990000051
式中,Nown表示某一Issue的所有参与者中属于项目拥有者的数量,Ncol表示某一Issue的所有参与者中属于项目协作者的数量,Nmem表示某一Issue的所有参与者中属于项目成员的数量,Ncon表示某一Issue的所有参与者中属于项目贡献者的数量,Nass表示某一Issue的所有参与者中属于项目指派者的数量,Nall表示某一Issue的所有参与者的数量,w1、w2、w3、w4和w5分别表示项目拥有者、项目协作者、项目成员、项目贡献者和项目指派者的权重系数。
9.一种生命周期预测模型构建设备,其特征在于,包括:存储器和处理器,所述存储器中存储有至少一条指令,所述至少一条指令由所述处理器加载并执行,以实现权利要求1至4中任一项所述的生命周期预测模型构建方法。
10.一种计算机可读存储介质,其特征在于:所述计算机存储介质存储有计算机程序,当所述计算机程序被处理器执行时,以实现权利要求1至4中任一项所述的生命周期预测模型构建方法。
CN202210885262.5A 2022-07-26 2022-07-26 生命周期预测模型构建方法、装置、设备及可读存储介质 Pending CN115292167A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210885262.5A CN115292167A (zh) 2022-07-26 2022-07-26 生命周期预测模型构建方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210885262.5A CN115292167A (zh) 2022-07-26 2022-07-26 生命周期预测模型构建方法、装置、设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN115292167A true CN115292167A (zh) 2022-11-04

Family

ID=83823492

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210885262.5A Pending CN115292167A (zh) 2022-07-26 2022-07-26 生命周期预测模型构建方法、装置、设备及可读存储介质

Country Status (1)

Country Link
CN (1) CN115292167A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117493619A (zh) * 2023-12-29 2024-02-02 安徽思高智能科技有限公司 一种基于事件图的议题关闭时间预测方法及系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117493619A (zh) * 2023-12-29 2024-02-02 安徽思高智能科技有限公司 一种基于事件图的议题关闭时间预测方法及系统
CN117493619B (zh) * 2023-12-29 2024-03-26 安徽思高智能科技有限公司 一种基于事件图的议题关闭时间预测方法及系统

Similar Documents

Publication Publication Date Title
Ahasanuzzaman et al. Mining duplicate questions in stack overflow
US9268766B2 (en) Phrase-based data classification system
EP3186754B1 (en) Customizable machine learning models
US8605996B2 (en) Sentiment classification using out of domain data
CN107040397B (zh) 一种业务参数获取方法及装置
CN110968695A (zh) 基于弱监督技术主动学习的智能标注方法、装置及平台
US11551151B2 (en) Automatically generating a pipeline of a new machine learning project from pipelines of existing machine learning projects stored in a corpus
CN112307336B (zh) 热点资讯挖掘与预览方法、装置、计算机设备及存储介质
US11403304B2 (en) Automatically curating existing machine learning projects into a corpus adaptable for use in new machine learning projects
Xu et al. A GitHub-based data collection method for software defect prediction
CN113590945B (zh) 一种基于用户借阅行为-兴趣预测的图书推荐方法和装置
CN115292167A (zh) 生命周期预测模型构建方法、装置、设备及可读存储介质
CN113761193A (zh) 日志分类方法、装置、计算机设备和存储介质
CN117743848A (zh) 一种用户画像生成方法、装置、电子设备及存储介质
Jiang et al. How developers modify pull requests in code review
CN114693011A (zh) 一种政策匹配方法、装置、设备和介质
Zhao et al. State and tendency: an empirical study of deep learning question&answer topics on Stack Overflow
EP3965024A1 (en) Automatically labeling functional blocks in pipelines of existing machine learning projects in a corpus adaptable for use in new machine learning projects
CN115564534A (zh) 文案处理方法、装置、电子设备、存储介质及程序产品
CN113220565B (zh) 一种众包测试报告的处理方法及装置
CN109299381B (zh) 一种基于语义概念的软件缺陷检索和分析系统及方法
Righi et al. Integration of survey data and big data for finite population inference in official statistics: statistical challenges and practical applications
Kangwanwisit et al. A component recommendation model for issues in software projects
CN115827989B (zh) 大数据环境下网络舆情人工智能预警系统及方法
Rotaru et al. Test case prioritization based on neural network classification with artifacts traceability

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