Page 289 - 《软件学报》2025年第10期
P. 289

4686                                                      软件学报  2025  年第  36  卷第  10  期


                 大语言模型, LLSec 生成的规约均展现了更高的识别率, 特别是在数据集                    5  上, 比  GLM-4  高出  53  个百分点. 这表
                 明我们的方法能够有效理解自然语言描述的业务规则, 并生成高质量的需求规约.
                    此外, 我们还观察到, 随着数据集         1–5  的功能点和依赖关系的增加, 领域专家和非专家在这些数据集上的功能
                 点识别率整体呈现出下降趋势. 当数据集中的功能点和依赖关系较少时, 人类参与者能够较好地生成规约, 但在功
                 能点和依赖关系较多的情况下, 他们容易忽略某些约束和依赖关系. 相比之下, 机器不受这些人类固有限制的影
                 响. 例如, 在数据集    5  上, LLSec 和  GPT-4  均表现良好, 功能点识别率高于较为简单的数据集            4. 然而, 从表  4  中可
                 以看出, 在各个数据集上, LLSec 生成的需求规约在功能点识别率方面与领域专家相媲美, 且优于非专家、GPT-4
                 和  GLM-4. 在数据集  2–5  中, LLSec 生成的规约的功能点识别率达到甚至超过了领域专家的水平, 尤其是在数据
                 集  5  上, 识别率达到了  94.20%, 高出领域专家    10  个百分点. 在所有数据集中, 相较于非专家和两个大型语言模型,
                 LLSec 生成的规约均展现了更高的识别率, 特别是在数据集                2  上, 比  GLM-4  高出  51  个百分点. 这表明我们的方法
                 能够有效理解自然语言描述的业务规则, 并生成高质量的需求规约.
                    从表  4  中我们发现一个反例: 从特征上看, 数据集           1  最为简单, 拥有最少的功能点, 然而人类参与者和我们的
                 方法在这个数据集上的功能点识别率都低于更复杂的数据集                     2. 通过分析发现, 数据集      1  虽然功能点较少, 但它的
                 表达难以理解, 含有较多抽象的语句和不常见的表达. 因此, 无论是人类参与者还是我们的方法, 都难以全面识别
                 其中的功能点, 这说明除了复杂度外, 表述的清晰度也是影响规约生成质量的重要因素.
                    在效率上, LLSec 优于人类参与者和大语言模型. 对人类参与者而言, 非专家需要比领域专家更长的时间. 尽
                 管大型语言模型在处理速度上胜过人类参与者, 但                LLSec 的表现更为出色, 其在单个数据集上的处理时间不超过
                 6 min, 相较于领域专家的效率提升了大约           10  倍. 我们的需求信息抽取步骤虽然同样需要与大型语言模型进行交
                 互, 但所采用的需求信息抽取模型能够直接投入使用而无需进行少样本学习, 这大大减少了交互所需的时间. 此
                 外, 我们的方法在需求可操作化和关系识别步骤不依赖于大语言模型, 因而执行速度较快, 在每个数据集上的平均
                 运行时间不超过      10 s.
                    在功能点的数目上, LLSec 生成规约包含的功能点的数目远远高于其他对比对象. 经过对生成规约的分析, 我
                 们发现这是因为我们的方法在需求可操作化步骤会依据领域知识补全规则. 由于领域知识库不仅包含当前数据
                 集, 还有来自同文档其他规则甚至其他文档的知识, 这些知识也会被补充到规则中. 我们的方法生成的规约包含更
                 加完整、更加丰富的功能点, 而这能够帮助需求工程师、开发工程师等使用者更好地理解业务与需求.
                    ● RQ1 结论: LLSec 在生成需求规约方面表现出色, 在功能点识别率上与领域专家相媲美甚至优于专家, 并明
                 显超过非专家和其他大语言模型, 且在效率上优于人类参与者和大语言模型.
                  4.2.2    RQ2: 上下文学习和微调策略的比较
                    ● 数据集和对比对象. 通常, 将大语言模型应用于具体的下游任务有两种方法: (1) 使用提示词和示例进行上
                 下文学习; (2) 使用数据集进行微调训练. 本实验的目的是将这两种方法在业务规则过滤和需求信息抽取两个任务
                 上的效果进行比较. 在规则过滤任务中, 我们将构建的语料库按照                    9:1  分为训练集和验证集, 使用训练集进行模型
                 微调或上下文学习, 使用验证集评估模型的结果. 在需求信息抽取任务中, 由于规则往往嵌入在特定的上下文之
                 中, 而不同的上下文会对规则的抽取结果产生影响, 我们从构建的语料库中随机选择一篇文档作为验证集, 剩余的
                 数据作为训练集. 在本实验中, 我们选择的对比对象包括预训练分类模型                       Mengzi (Mengzi-BERT-base-fin) [18] 、预
                 训练生成式模型      Llama 2 [27] 以及  GPT-4  和  GLM-4  两个对话模型, 详细的版本说明如表   3  所示.
                    ● 实验步骤和结果. 对于规则过滤任务, 我们使用训练集的全部数据对                     Mengzi 和  Llama 2  分别进行全参数微
                 调  (full fine-tuning) 和低秩适配  (LoRA) [28] , 并使用验证集对模型的结果进行评估. 全参数微调对预训练模型的全
                 部参数进行训练调整, 而低秩适配则固定预训练模型的参数, 仅在每一层引入少量的新参数以进行训练优化. 对
                 于  GPT-4  和  GLM-4, 我们按照第  2.1  节所述的分类标注准则指导模型执行规则过滤任务, 使用图                4  设计的提示词
                 指导模型执行需求信息抽取任务. 我们从训练集中随机选择了                     5  条、10  条和  1  篇文档  (366  条) 数据作为学习示
                 例进行上下文学习, 然后使用相同的验证集进行评估. 受限于模型的上下文长度, 学习示例数不能无限增多. 在学
   284   285   286   287   288   289   290   291   292   293   294