一句话:结合NLP与机器学习从文本需求自动抽取并分类事务功能,辅助功能点分析中的软件规模估算。
在软件开发早期,基于需求估算待建系统规模十分重要,功能点分析(FPA)是最常用的方法,但它依赖人工判断,结果带有主观性且耗费人力与成本。本文提出一种新方法,利用一组自然语言处理技术与机器学习模型,从文本需求中自动识别事务功能(transaction function)。作者在一家银行业36个金融项目的1,864条需求与104,691个事务功能上评估该方法:所推荐事务功能的内容质量较高,平均困惑度为8.5,BLEU分数平均为34;事务功能的类型也能被准确分类,平均总体准确率为0.99。结果表明,该方法可为工业实践者提供合理建议,帮助其更快、更容易地识别事务功能。
In practice, it is very important to determine the size of a proposed software system yet to be built based on its requirements, i.e., early in the development life cycle. The most widely used approach for size estimation is Function Point Analysis (FPA). However, since FPA involves human judgment, the estimation results are some degree of subjective, and the process is labor and cost intensive. In this paper, we propose a novel approach to identify transaction functions from textual requirements automatically by leveraging a set of natural language processing techniques and machine learning models. We evaluate our approach on 1,864 requirements and 104,691 transaction functions taken from 36 financial projects from one banking industry. The results show that the contents of the suggested transaction functions by our approach are high in quality, with low perplexity value of 8.5 and high BLEU score of 34 on average. The types of suggested transaction functions can also be accurately classified, with overall accuracy of 0.99 on average. Our approach can provide reasonable suggestions that assist industrial practitioners to identify transaction functions faster and easier.
DOI 原文 ·
@inproceedings{paperbot5730,
title = {Learning to extract transaction function from requirements: an industrial case on financial software},
author = {Lin Shi and Mingyang Li and Mingzhe Xing and Yawen Wang and Qing Wang and Xinhua Peng and Weimin Liao and Guizhen Pi and Haiqing Wang},
booktitle = {FSE},
year = {2020},
doi = {10.1145/3368089.3417053}
}