基于大语言模型的需求依赖检测新方法:LEREDD 的高精度与鲁棒性
引言
在软件工程中,需求之间的依赖关系是变更影响分析、一致性检查和项目规划的关键基础。然而,随着系统规模扩大,自然语言需求的模糊性和数量激增使得人工检测变得低效且易错。现有的检测方法往往受限于领域上下文缺失或数据标注成本高昂。
针对这一痛点,一项最新研究提出了 LEREDD(LLM-Enabled REquirement Dependency Detection)方法。它利用大语言模型结合检索增强生成(RAG)和上下文学习(ICL),实现了高精度的需求依赖自动检测。本文将深入解析该方法的核心设计、实验验证及实际价值。
核心方法:LEREDD 架构
LEREDD 并非简单的调用 API,而是一套融合了领域知识与任务示例的流水线架构。其核心在于解决零样本大模型在细粒度依赖检测上的不足。
1. 双重检索策略
为了让模型'懂行',LEREDD 设计了两个并行的检索阶段:
- 上下文检索(RAG):从软件需求规格(SRS)文档中提取语义最相似的文本块(如系统组件定义、架构关系)。这为模型提供了必要的领域背景,解决了术语歧义问题。
- 动态示例检索(ICL):针对每一类依赖(包括无依赖),通过 SBERT 嵌入计算相似度,动态检索 4 个最相关的标注示例。这相当于给模型展示了'标准答案'的变体,帮助其理解细粒度的判断标准。
2. 推理与输出
选用 GPT-4.1 作为推理核心,提示词经过结构化设计,包含角色定义、需求对、7 类依赖定义、检索到的上下文及示例。模型需进行自反思以减少幻觉,最终输出依赖类型预测、置信度(0-5 分)及推理理由。支持的 7 类依赖包括 Requires、Implements、Conflicts 等,其中 Implements 是针对工业场景特别定制的。
实验设计与数据集
为了验证性能,研究团队构建了包含 813 个标注需求对的汽车领域数据集,涵盖自适应远光灯、交通拥堵辅助和自动泊车辅助三个系统。由两名资深需求工程师独立标注,Cohen's kappa 系数为 0.43,分歧经共识解决。
对比基线选择了两类主流方法:基于检索的 TF-IDF&LSA 和基于机器学习的微调 BERT。同时测试了包括 GPT-4.1、Llama 3.1 在内的多款开源与闭源模型。
关键结果与分析
实验结果表明,LEREDD 在多个维度上显著优于现有基线:
- 整体性能:平均准确率达 92.66%,F1 分数为 0.8433。特别是无依赖类(占比超 79%)的 F1 分数高达 0.96,这意味着它能有效过滤掉绝大多数无效需求对,大幅降低人工审核成本。
- 细粒度识别:对于最难检测的 Requires 依赖,LEREDD 相比传统基线平均提升了约 95%-105% 的 F1 分数。
- 鲁棒性:在跨数据集实验中,LEREDD 的性能下降微乎其微(准确率仅降 1.61%),而微调 BERT 则出现大幅衰退。这证明了 LLM 结合 RAG+ICL 的策略比纯监督学习更适合处理分布外数据。
值得注意的是,零样本 LLM 虽然能较好识别无依赖类,但在细粒度依赖上表现乏力。引入 RAG 和 ICL 后,Requires 类的 F1 从接近 0 提升至 0.70,充分说明了领域上下文和任务示例的重要性。
局限与展望
尽管效果显著,LEREDD 目前仍主要覆盖直接依赖检测,尚未涉及间接或隐式依赖。此外,数据集仅来自汽车领域,未来需在金融、医疗等其他行业验证泛化能力。不过,其开源的数据集和方法论已为后续研究提供了宝贵的基准。
参考资料
- 论文标题:Automating the Detection of Requirement Dependencies Using Large Language Models
- 作者:Ikram Darif, Feifei Niu, Manel Abdellatif, et al.
- 机构:加拿大渥太华大学、通用汽车公司等
- 来源:arXiv:2602.22456v1 [cs.SE], 2026
本文旨在分享技术前沿,不涉及任何商业推广。


