基于大语言模型的需求依赖检测新方法 LEREDD
在软件工程中,需求之间的依赖关系直接影响开发决策、变更影响分析和一致性检查。然而,随着系统规模扩大,需求数量庞大且描述模糊,人工检测不仅效率低下,还容易出错。现有的检索类、知识类和机器学习方法也各有局限:要么无法融入领域上下文,要么构建成本过高,要么难以处理类别不平衡问题。
针对这些痛点,研究人员提出了一种名为 LEREDD 的新方法。它基于大语言模型(LLM),融合了检索增强生成(RAG)和上下文学习(ICL),旨在自动化识别自然语言需求间的依赖关系。该方法不仅能输出预测结果,还能提供推理理由和置信度,显著提升了检测的准确性和可解释性。
核心设计思路
LEREDD 的核心在于解决零样本 LLM 在细粒度依赖检测上的不足。它通过两阶段流水线架构来实现:
1. 知识检索阶段
为了让模型理解特定领域的语境,LEREDD 设计了双重检索策略:
- 上下文检索(RAG):从软件需求规格(SRS)文档中提取语义最相似的文本块(如系统组件定义、架构关系),为检测提供领域背景支撑。
- 动态示例检索(ICL):利用 SBERT 模型计算嵌入相似度,为每类依赖或无依赖动态检索 4 个最相似的历史标注示例。这相当于给模型提供了'少样本'指导,帮助其快速适应任务标准。
2. 依赖推理阶段
选用 GPT-4.1 作为核心推理模型,提示词经过结构化设计,包含专家角色定义、需求对、7 类依赖的正式定义、检索到的上下文及示例。模型被要求执行自反思以减少幻觉,最终输出依赖类型、推理理由以及 0-5 分的置信度。
支持的 7 类依赖包括 Requires、Implements、Conflicts、Contradicts、Details、Is similar 和 Is a variant,其中 Implements 是专门为工业场景定制的类型。
实验验证与结果
为了验证性能,研究团队构建了包含 813 个标注需求对的汽车领域数据集(涉及自适应远光灯、交通拥堵辅助、自动泊车辅助三个系统),并对比了多款 LLM 及传统基线方法(TF-IDF&LSA、微调 BERT)。
关键发现
- 精度突破:LEREDD 取得了 0.93 的准确率和 0.84 的 F1 分数。特别是在最难处理的 Requires 依赖上,相比传统基线平均提升超过 94%。
- 无依赖过滤:对于占比最高的无依赖类,LEREDD 的 F1 高达 0.96。这意味着它能有效过滤掉约 79% 的无效需求对,大幅降低人工审核成本。
- 强鲁棒性:在跨数据集实验中,LEREDD 的性能下降微乎其微(准确率仅降 1.61%),而微调 BERT 等模型则出现大幅衰退。这证明了其在缺乏目标系统标注数据的工业场景中更具实用价值。
- 最优策略:实验确定了最佳配置为 SBERT 嵌入 + 欧氏距离 + 每类 4 个示例 + 10 个 RAG 分块。少样本中单个高相关示例优于多个弱相关示例,RAG 检索精度优于数量。
局限与展望
尽管效果显著,LEREDD 目前仍存在一些局限。例如,数据集主要覆盖汽车领域,泛化性有待在其他行业验证;目前仅检测直接依赖,尚未涵盖间接或隐式依赖。
未来工作将致力于扩展至间接依赖检测,并探索该方法在需求演化变更影响分析中的应用。此外,研究团队已开源了标注数据集,为后续研究提供了宝贵的基准资源。
总的来说,LEREDD 展示了 LLM 在需求工程领域的巨大潜力。通过 RAG 和 ICL 的双重增强,它不仅解决了技术难题,还为工业级需求自动化分析提供了一条可行的路径。


