Page 226 - 《软件学报》2026年第5期
P. 226

张添翼 等: LLM-Extractor: 基于大语言模型的软件配置间约束提取方法                                       2105


                 文本信息中提取软件配置约束           [25–28] . 由于文本信息的结构化程度较差, 处理难度高, 相关研究工作较少, 且依赖人
                 工进一步介入. 同时软件配置文档等文本中包含了大量配置相关的描述, 且文本分析方法在不同软件之间的适配
                 能力强, 因此通过文本分析提取配置约束是当前软件约束提取任务的重要技术路线.
                    已有的基于文本分析的配置约束提取方法都依赖预定义的约束模板, 只能提取特定几种模式的配置约束. 但
                 是由于不同软件配置文档的用词、语法等写作方式差异很大, 已有方法的可移植性较差, 依赖预定义模板的准确
                 性和全面性. 通过阅读配置文档我们发现, 配置项与软件功能实体、配置项与配置项之间存在复杂的关联关系, 这
                 些关联关系中隐含着配置间约束关系. 已有文本分析方法受限于逻辑分析能力和上下文分析长度, 无法获取这些
                 隐含的配置约束关系. 如果能够构建软件配置和软件功能实体的关联图, 辅以逻辑推断等手段, 我们就能依据更准
                 确的上下文信息提取这些隐含的配置约束关系.
                    最近两年, 基于大语言模型         (large language model, LLM) 的方法在文本理解  [29] 、代码理解  [30] 等任务上取得了
                 良好的效果. 借助思维链       (chain-of-thought, CoT)、场景学习  (in-context learning, ICL) 等方法, 研究人员可以借助
                 LLM  从非结构化的文本信息中提取出结构化的关键信息, 实现特定领域问题的信息获取和逻辑推断. 因此借助大
                 语言模型的能力, 我们能够在文本中完成实体抽取、关系抽取、事件抽取、共指消解等重要任务, 自动化地构建
                 软件配置-功能关联图.
                    因此, 为了解决已有基于文本分析的配置约束提取方法存在的问题, 本文提出了一种基于                            LLM  的配置约束提
                 取方法   LLM-Extractor. LLM-Extractor 首先对海量的软件配置文档进行预处理, 随后根据每个配置的描述信息初
                 始化软件配置-功能关联图, 生成配置节点和功能实体节点, 并在图中添加配置属性和功能实体状态等信息; 接着
                 通过分析软件配置文档中存在的逻辑关系, 进一步补全关联图中的配置-功能关联关系. 完成关联图的构建后, 本
                 文以配置条件节点为基点, 使用图搜索算法搜索可能存在的多配置关联子图, 并把关联子图作为提示词的上下文,
                 引导  LLM  推断配置间约束关系. 通过配置-功能关联图构建和配置间约束推断, LLM-Extractor 能够提取配置文档
                 中隐含的配置间约束关系, 并增强显式配置约束关系的提取效果, 同时减少对于领域专家知识的需求.
                    为了评估    LLM-Extractor 的效果, 我们人工分析了     3 个广泛使用的开源软件系统附带的配置文档, 分析了                1 400
                 多个配置项, 构建了配置间约束数据集, 其中包含了               306  条配置间约束关系. 基于该数据集, 本文设置了对比实验
                 和消融实验, 实验结果证明了         LLM-Extractor 在配置间约束提取问题上的有效性.
                    综上所述, 本文的主要贡献如下.
                    ● 提出一种基于大语言模型的软件配置-功能关联图构建方法, 可以获取并存储软件配置与功能的复杂关联关系.
                    ● 提出并实现了一种基于大语言模型和多配置关联子图搜索的配置间约束推断方法, 该方法可以高效提取软
                 件文本中存在的配置间约束, 并弥补了已有方法无法提取功能状态传递式配置间约束的缺陷.
                    ● 设计了一系列实验验证了方法的有效性.
                    本文第   1  节介绍软件配置约束提取、LLM          提示工程、文本关系抽取的相关工作. 第             2  节介绍本文研究背景
                 和研究动机, 并通过配置文档经验研究, 对研究动机做进一步阐述, 总结已有方法存在的问题并提出改进思路. 第
                 3  节介绍  LLM-Extractor 的方法实现细节. 第  4  节描述数据预处理和实验设计及实施的细节, 通过多角度的多组实
                 验验证了方法的有效性. 第        5  节对本文做出总结, 并展望未来研究方向.
                  1   相关工作

                    本节首先介绍已有的软件配置约束提取方法, 包括了基于静态程序分析的配置约束提取方法、基于配置文件样
                 本学习的配置约束提取方法和基于自然语言文本分析的配置约束提取方法, 然后探讨已有方法的缺陷. 接着, 介绍大
                 语言模型提示工程相关的研究工作, 阐述大语言模型提示工程在文本理解和逻辑推理等方面的应用潜力. 最后介绍
                 将大语言模型应用于文本关系抽取的相关工作, 展示大语言模型在实体识别、关系抽取等知识抽取任务上的能力.
                  1.1   软件配置约束提取方法
                    软件配置约束提取是软件配置研究领域的重要问题, 有大量研究工作基于不同数据源、应用多种方法提取软
   221   222   223   224   225   226   227   228   229   230   231