RequiBERT:用于软件需求分类的迁移学习方法

《Expert Systems with Applications》:RequiBERT: Transfer Learning for Software Requirements Classifications

【字体: 大 中 小 】 时间:2026年05月04日 来源:Expert Systems with Applications 7.5

编辑推荐:

  Kiramat Rahman|Anwar Ghani|Arif Ur Rahman|Sanjay Misra|Do Hyeun Kim巴基斯坦K.P.K地区Charbagh的Swat大学计算机与软件技术系摘要本研究介绍了一个名为RequiBERT的预训练模型,该模型代表“来自Tr

  
Kiramat Rahman|Anwar Ghani|Arif Ur Rahman|Sanjay Misra|Do Hyeun Kim
巴基斯坦K.P.K地区Charbagh的Swat大学计算机与软件技术系

摘要

本研究介绍了一个名为RequiBERT的预训练模型,该模型代表“来自Transformer的需求双向编码表示”。该模型使用掩码语言模型在无监督的软件需求规范文档上进行训练。模型包含12个隐藏层、12个注意力层、768的隐藏大小、300的嵌入维度和32,000的词汇量。通过使用小型监督数据集可以对模型进行微调,以对软件需求进行分类。RequiBERT在功能需求和非功能需求分类方面的F1分数分别达到了98%和99%。最常见的五个类别的平均F1分数为95%,而原始PROMISE数据集中的所有非功能需求(NFR)子类别的F1分数均为85%。与其他模型相比,RequiBERT体积较小,但在软件需求分类方面表现优异。

引言

软件需求对后续开发阶段至关重要,因为所有其他阶段都依赖于它们。将软件需求分为功能需求和非功能需求是一种成熟的实践。已经提出了多种机器学习算法、技术和策略来对软件需求进行分类。相比之下,非功能需求的分类受到的关注较少。非功能需求的分类取决于上下文,需要领域知识和专业知识,这可能导致在开发过程中后期才发现非功能需求。然而,早期识别非功能需求有助于定义系统的质量属性,将其纳入早期架构设计中可以带来高质量的产品和客户满意度。
本研究重点利用迁移学习改进非功能需求的识别和分类。先前的研究已经表明,与基于非迁移学习的方法相比,使用预训练模型(如BERT和XLNet)对非功能需求进行分类取得了有希望的结果(Khan, Khan, Ahmad, & Huda, 2023)。然而,缺乏针对非功能需求的特定领域模型仍然是一个挑战。
迁移学习涉及将预训练模型应用于新的、未见过的问题(Ferrari, Dell’Orletta, Esuli, Gervasi, & Gnesi, 2017),这在需求工程中特别有用,因为通常无法获得用于训练的监督数据集。正如Zhao等人(2021)的报告所述,预训练模型在多种需求工程相关任务中非常有效。在需求工程领域缺乏预训练模型。BERT是一种通用语言模型,它在大量的Wikipedia和书籍语料库上进行训练(Devlin, Chang, Lee, & Toutanova, 2019),并已被用于多项软件需求分类研究。Hey等人(Hey, Keim, Koziolek, & Tichy, 2020)对BERT模型进行了微调以进行软件需求分类,取得了有希望的结果。Li等人(Li, Shi, Yang, & Wang, 2020)对BERT基础模型进行了微调以进行需求识别和注释,达到了91%的精确度和83%的召回率。Wang等人(Wang, Shi, Li, Wang, & Yang, 2020)对BERT基础模型进行了微调以预测软件需求,达到了96%的召回率。Araujo和Marcacini(2021)提出的RE-BERT专注于通过微调BERT基础模型从应用评论中提取软件需求,取得了62%的F1分数。实证结果表明,这些方法始终优于传统的非迁移学习方法。
然而,目前大多数需求工程研究都集中在对BERT模型进行微调上。由于数据领域分布的差异,直接对原始BERT模型进行微调以进行软件需求分类的效果较差。因此,需要在一个基于软件需求规范文档的模型上进行训练。软件需求文档包含许多主要由需求工程社区理解的领域特定术语。本研究提出了RequiBERT模型,这是一个基于软件需求规范文档的领域特定预训练模型。RequiBERT模型在3000万个功能和非功能需求样本上进行了训练,专门用于支持软件需求的分类。RequiBERT采用了掩码语言模型技术进行训练。实现RequiBERT分词器的算法是字节对编码(BPE)。通过在一个标记数据集上对模型进行微调,一项实验研究评估了RequiBERT的有效性和可迁移性。RequiBERT在软件需求分类任务中优于基于迁移学习和非迁移学习的方法。
本文的总体贡献如下:
  • •
    提出RequiBERT是一个用于分类软件需求的领域特定预训练模型。
  • •
    解决需求工程中监督数据集有限的挑战。
  • •
    展示RequiBERT使用小型监督数据集的微调能力,以创建一个先进的、稳健的软件需求分类模型。
  • •
    分析RequiBERT在不同分类任务上的稳健性,包括二分类、减少的非功能需求集以及原始PROMISE存储库中的所有非功能需求集。
  • 本文的其余部分组织如下:第2节介绍相关工作,第3节演示所提出的RequiBERT模型,包括该模型在非功能需求分类任务中的应用,第4节对RequiBERT模型与最先进方法进行比较分析。最后,第5节总结本研究。

    章节摘录

    相关工作

    近年来,将机器学习算法应用于非功能需求(NFR)分类受到了广泛关注,因为它们具有有希望的结果和从数据中学习的能力。然而,要高效地学习潜在模式需要大量数据,而这在需求工程中是缺乏的。当前的研究使用有限的PROMISE存储库数据集来分类NFR,这是不切实际的。表1总结了这些方法。

    提出的方法

    图1展示了所提出方法的一般流程。首先,收集的软件需求规范文档包括功能需求和非功能需求的样本。在预训练阶段,使用特定于领域的软件需求语料库训练了一个新的分词器,并将其转换为与RequiBERT模型兼容的格式。使用了字节对编码(BPE)算法来训练分词器。

    比较分析

    所提出的方法使用常见的性能指标(包括精确度(P)、召回率(R)和F1分数)与最先进的研究进行了比较。表8展示了不同研究的结果。加粗的值表示相对较高的精确度、召回率和F1分数。RequiBERT模型的表现优于这些研究,达到了0.97的精确度、0.94的召回率和0.95的F1分数。实验结果表明RequiBERT优于其他方法。

    结论

    本文提出了RequiBERT,这是一个用于分类软件需求的预训练模型,它解决了需求工程中监督数据集有限的挑战。RequiBERT在未标记的软件需求语料库上进行了训练,并且可以通过小型监督数据集进行微调,以创建一个先进的、稳健的软件需求分类模型。使用不同的分类任务进行了实证评估,以展示模型的性能。

    ORCID信息

    Kiramat Rahman先生的ORCID:0000-0001-6017-6647 Anwar Ghani博士的ORCID:0000-0001-7474-0405 Arif Ur Rahman博士的ORCID:0000-0001-8239-2033 Sanjay Misra教授的ORCID:0000-0002-3556-9331 Do Hyeun Kim教授的ORCID:0000-0002-3457-2301

    CRediT作者贡献声明

    Kiramat Rahman:概念化、数据整理、调查、方法论、软件实现、可视化、撰写——原始草稿。Anwar Ghani:概念化、验证、可视化、监督、项目管理、方法论、撰写——原始草稿。Arif Ur Rahman:资源获取、调查、验证、可视化、撰写——审阅与编辑、方法论。Sanjay Misra:验证、可视化、撰写——审阅与编辑。Do Hyeun Kim:资源获取、方法论、撰写——审阅与

    利益冲突声明

    作者声明他们没有利益冲突。
    相关新闻
    生物通微信公众号
    微信
    新浪微博
    • 搜索
    • 国际
    • 国内
    • 人物
    • 产业
    • 热点
    • 科普

    热点排行

      今日动态 | 人才市场 | 新技术专栏 | 中国科学人 | 云展台 | BioHot | 云讲堂直播 | 会展中心 | 特价专栏 | 技术快讯 | 免费试用

      版权所有 生物通

      Copyright© eBiotrade.com, All Rights Reserved

      联系信箱:

      粤ICP备09063491号