A Deep Learning Model for Estimating Story Points 阅读笔记

A Deep Learning Model for Estimating Story Points 阅读笔记

背景与动机

工作量估算是软件项目管理的重要组成部分,特别是对于计划和监视软件项目。 成本和进度超支一直是软件项目中的常见风险。 麦肯锡大学和牛津大学对5400个大型IT项目进行了研究,发现大型软件项目平均超出预算66%,加班33%。 对1,471个软件项目的另一项研究[2]显示了相似的发现:六个软件项目中有一个预算超支了200%,进度超支了近70%。 涉及工作量估算的活动是规划和管理软件项目的关键部分,以确保其在预算范围内及时完成。 不同的涉众可以将工作量估算用作制定项目计划,安排迭代或发布计划,预算和成本计算的输入。 因此,不正确的估计可能会对项目成果产生不利影响

软件工作量估算的研究可以追溯到几十年前,通常可以分为

  • 基于模型的方法
  • 基于专家的方法
  • 结合了基于模型的方法和基于专家的方法的混合方法

基于模型的方法利用来自旧项目的数据来对新项目进行预测。 基于专家的方法依赖于人类的专业知识来做出判断。

因为现有方法的种种不足, 作者提出一个基于故事点的方法, 其中story点的值代表着完成此用户故事需要的相对努力例如分配给两个故事点的用户故事应比分配给一个故事点的用户故事花费两倍的精力,基于LSTM和RHN来建立一个端到端的模型, 能够进行故事点评估

模型结构

其本质就是一个长文本回归问题

模型主要包括4个部分

词嵌入

这里的词嵌入和传统的NLP问题不同, 它的词向量是自己训练的, 是用Issue Report(也就是出现问题的代码issue)为预料进行预训练, 得到词向量库, 然后对每个词进行嵌入。

LSTM表示文档

使用LSTM 对所有单词, 把所有单词的词嵌入 输入到LSTM 中, 然后得到每个单词的输出表示, 然后进行池化,得到文档的最终表示

RHN进行深度提取

我们在通过LSTM之后吗得到每个文档的特征向量,当然我们可以直接进行回归, 但是作者认为这项提取的特征还不够深, 于是使用RHN 来对文档特征进行更加深入的提取, 之所以使用RHN, 其主要原因是:

  • 解决参数的数量随层的数量而增长,导致过度拟合;
  • 堆叠许多非线性函数使信息和梯度难以通过 , 模型难以训练

而RHN 正好可以解决这些问题

回归

在神经网络最后加一个线性层 进行分类, 没有采用传统的回归方法

模型评估

这是数据集的各项数据

在这里插入图片描述

这是最终的实验结果

在这里插入图片描述

可以看出Deep-SE 的要优于之前的模型

个人评价理解

这篇实证论文非常有意义,我比较有感悟的点为:

  • 其研究方向非常有趣, 是结合着软件工程的敏捷开发来的, 用于去对软件各个故事点进行精力评估
  • 创建一个近现代数据集, 该数据集来自16个大型多样的软件项目
  • 提出了一种基于深度学习的,完全端到端的预测系统,用于估计故事点。相较于传统方法,此方法能够使用深度学习方法,可以得到更多的拓展
  • 模型将 LSTM 和RHN 结合起来, 其中RHN 也是一个我之前了解不深的网络,

因为其实这篇文章也类似于一个NLP方向的任务, 也就是给一个文档,然后预测其分数,我之前有做过一些文档的分类任务,可以给出一些可能的改进方向

  • Attention 现在也是用的比较多的机制了, 可以用于与处理这一些数据
  • Transformer 这样用于处理序列的结构似乎也可以用到
  • 传统的回归方法可以使用一下,效果不一定比 神经网络的MLP回归效果差

但总之这篇论文还是给我们一些启示和感悟,关于实证类论文我们也需要多多了解。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值