三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

LLM-based Zero-shot Triple Extraction for Automated Ontology Generation from Software Engineering St

LLM-based Zero-shot Triple Extraction for Automated Ontology Generation from Software Engineering St

1.研究问题与目标

  • 问题:软件工程标准(SES)文本冗长、非结构化、含领域术语和高噪声,难以自动构建本体(Ontology),而传统方法依赖人工或简单提示工程,存在可重复性差、难以扩展、缺乏成熟工程流程等问题。

  • 目标:提出一个完全自动化、基于开源LLM的AOG工作流程,以SES为对象,优先进行关系三元组提取(RTE),作为构建本体骨架的第一步,并确保输出忠实于原文、具有可用性和最大覆盖率。

2.方法论创新

  • 策略转向:不同于主流“TBox优先”(先定义类和分类体系)的方法,该研究采用“ABox(实例断言)驱动、ABox与TBox协同提取”的策略,先提取实体-关系三元组,后续再从中推导概念层次。

  • 工作流程设计

    • 文档分割候选术语挖掘(用spaCy提取名词短语和动词)→LLM关系推理(通过受约束的提示,让Mistral-7B生成JSON格式三元组)→术语归一化(词形还原)→跨章节对齐

    • 引入动态令牌预算JSON解析重试机制低温度采样以保证输出格式稳定。

  • 开源优先:全程使用Mistral-7B(7B参数)和BERT等开源模型,避免成本与隐私问题。

3.实验设计与评估

  • 数据选择:采用《软件工程道德规范和职业实践》(SECEPP)的短版本(278词)完整版本(2653词),短版本用于概念验证和基准构建。

  • 参考集构建:由领域专家手工构建三种粒度的黄金标准参考集

    • Ref-Short(细粒度,高召回率压力)

    • Ref-Medium(中等粒度,平衡)

    • Ref-Long(粗粒度,高精确率导向)

  • 对比基线:与斯坦福OpenIE(传统开放信息抽取系统)进行对比。

  • 评估指标:采用嵌入相似度阈值扫描(τ从0.1到0.9),在节点级别三元组级别计算精确率、召回率和F1值。

4.主要实验结果

  • Pred-LLM(本方法)表现

    • 精确率普遍高于OpenIE,尤其在节点和三元组层面。

    • 召回率在Ref-Long上最高(因边少易匹配),在Ref-Short上最低(验证了召回率压力假设)。

    • 当τ > 0.5时,召回率与OpenIE差距缩小;当τ ≈ 0.6时,三元组结果趋于稳定可靠。

  • 结论:一个7B的开源LLM已能在零样本设置下与OpenIE竞争,尤其在精确率上占优,证明该方法的可行性与潜力。

5.当前局限与未来工作

  • 局限

    • 仅使用单个LLM(Mistral-7B),缺乏跨模型、跨规模的比较。

    • 参考集由单一位标注者构建,未报告标注者间一致性(IAA)。

    • 尚未处理跨句子共指、长文档扩展和完整本体转换。

  • 未来计划

    • 引入多位标注者,构建公开基准并报告IAA。

    • 扩展到完整版SECEPP及其他SES文档。

    • 改进跨句子关系抽取,进行小规模微调。

    • 完成后续本体转换阶段,输出正式的OWL 2本体。


6.总体贡献

  • 提出了首个面向SES的、完全基于开源LLM的零样本RTE自动化工作流程

  • 设计了稳定的提示约束与解析机制,有效应对LLM输出不稳定的问题。

  • 构建了三种粒度的专家标注参考集,为该领域提供了可复用的评估资源。

  • 通过系统实验证明了轻量级开源LLM在本体生成任务中的竞争力和实用性,为后续AOG研究提供了新思路和工程参考。

论文设计了一套利用开源7B LLM自动从软件工程标准文本中提取实体-关系三元组的工程化流程,在零样本设置下取得了优于或可比传统OpenIE系统的效果,并为后续全自动本体生成奠定了坚实基础。这里是自己的论文阅读记录,感兴趣的话可以参考一下,如果需要阅读原文的话可以看这里,如下所示:

摘要——数十年来,本体论一直支持知识表示和白盒推理;因此,自动本体生成(AOG)在扩展其应用方面发挥着关键作用。软件工程标准(SES)由冗长、非结构化的文本(包含大量噪声)和包含领域特定术语的段落组成。在此背景下,关系三元组提取(RTE)与术语提取一起,构成了实现AOG的第一阶段。本工作提出了一种基于开源大型语言模型(LLM)辅助的SES关系三元组提取方法。本研究不单纯依赖基于提示工程的方法,而是提倡使用LLM作为构建本体的辅助工具,并探索了一种有效的AOG工作流程,该流程包括文档分割、候选术语挖掘、基于LLM的关系推理、术语归一化和跨章节对齐。我们构建了三个粒度级别的专家标注参考集,并用于评估本研究生成的本体。结果表明,该方法在三元组提取方面与OpenIE方法相比具有可比性,甚至可能更优。

索引词——大型语言模型,本体论,自动生成,三元组提取,软件工程标准。

I. 引言

自2007年以来,自动本体学习就一直被讨论[1],但直到最近几年,关于自动本体生成(AOG)的研究才出现[2]-[5]。传统上,本体是手动创建的[6],或半自动地从文本[7]或从结构化/表格数据(如关系数据库)中创建[8]。自动本体生成的最新进展利用了深度学习方法[2],[3]。大型语言模型(LLM)最初是自然语言处理(NLP)中以文本为中心的工具,现在已发展为处理多模态输入的通用模型[9],[10],因此被选为本AOG研究的主要辅助工具。

显而易见,LLM已能够帮助从文本生成本体[11]-[13]。当向LLM提供一段文本时,可以指示其以指定的模式(例如,JSON或OWL/Turtle格式的三元组)输出本体工件。然而,用于AOG的简单提示方法面临三个挑战:1)可重复性和提示敏感性:有时,当提示发生变化或没有标准提示格式时,生成的内容可能会有所不同。即使使用相同的提示,生成的结果(例如,术语和关系)也会变化。2)扩展到长文本或多模态源:处理大型文本语料库或多模态信息(如文本和图像)的生成需要跨章节的术语整合。大型文本语料库将包含许多章节和段落;因此,需要考虑本体对齐,以便术语能够与另一章节中的术语匹配。3)工程工作流程:当问题规模庞大且需要持续维护和发展时,需要一个成熟的工作流程来完成复杂的AOG任务。

软件工程标准(SES)可能已在预训练期间以模型参数的形式隐式编码在LLM中;然而,据我们所知,尚未有深入研究以显式方式表示和提取该知识为结构化形式(例如支持知识推理[14],[15]和以人为中心/人在回路的的知识表示[16],[17]的本体)的工作。由于SES的AOG任务所涉及的复杂性,本研究的问题被刻意限定在以下范围:1)使用单一SES及其官方短版本,以保持文本聚焦并易于构建评估基准。2)专注于关系三元组提取(RTE),将其作为基于LLM的全自动本体生成流程的第一阶段,该流程的目标是可用性、对源文本的忠实度和最大覆盖率。3)由于成本控制和在使用此类方法时潜在的隐私问题[18],采用开源LLM(例如,Mistral-7B)和仅编码器模型(例如,BERT)。

与流行的、优先构建TBox(先识别类型和分类体系)的本体创建方法[11]-[13]相比,本研究提出了一种面向断言的、ABox(实例级断言)-TBox协同提取的AOG方法来处理文本SES,设计了一个利用开源LLM的工程工作流程和最佳实践,并探索了针对带有噪声和开放关系的文章数据集的评估指标。后续章节组织如下:第二节回顾相关工作。第三节详述方法论。第四节介绍实验和初步结果。第五节讨论局限性和未来工作并总结。

II. 相关工作

Giglou等人[11]提出了LLMs4OL,这是一个概念性框架,涵盖了使用LLM进行本体学习的TBox和ABox任务。在他们的实验重点——以及Lo等人[19]的工作中——方法是TBox优先,从类型识别和主要局限于"is-a"层次结构的分类体系归纳开始。相比之下,本研究侧重于从SES文本中提取实体-关系断言(三元组),未来的工作将专注于从这些断言中推导概念及其层次结构。先前的评估已在通用领域资源(如WordNet)、地理资源(如GeoNames)和生物医学资源(如NCI)上进行,并评估了商业和开源LLM的组合。我们的工作目标是SES——一种具有更高噪声和稀缺黄金本体的开放关系环境——并构建了一个完全使用开源LLM的工程工作流程。Lippolis等人[20]的相关工作侧重于提示工程(PE),提出了两种改进的提示技术用于本体生成。

Kommineni等人的工作[12]致力于一个半自动的知识图谱构建工作流程,并辅以LLM(如ChatGPT 3.5)。人在回路参与其LLM支持流程的不同阶段。他们的方法依赖于收集能力问题来创建本体并填充本体中的数据。他们将其方法论应用于创建关于深度学习(DL)方法论的本体和知识图谱,这些方法论是从生物多样性领域的学术出版物中提取的。

Gong等人[21]提出了ZS-SKA,一种基于提示的零样本RTE方法,并应用语义知识增强来识别未见关系。他们的数据增强是通过使用类比将句子从原始所见关系翻译成新的未见关系来实现的。在词汇层面,他们使用前10个相似词作为新词的候选。与我们的工作类似,他们的工作也是在零样本设置下进行;然而,他们用于评估的数据集(例如FewRel)是句子级别的,具有预定义的关系集[22]。相比之下,我们的研究针对的是具有开放集关系的SES,文章级别包含多个段落且噪声更高,并专注于提取实体-关系三元组。

III. 方法论

A. 工作流程概述

与优先构建TBox(首先识别类型和分类体系)的方法相比,本研究提出了一种面向断言的、ABox-TBox协同提取流程:从SES文本中,关系三元组提取(RTE)产生实例级断言和模式级候选(例如,类、is-a关系、定义域/值域),这些可以在后续被验证并整合到OWL本体中。图1所示的工作流程包含两个主要阶段,上半部分的组件侧重于使用LLM进行本体生成的子任务。下半部分的组件用于后处理,包括结果合并和各种检查,这计划在下一步进行。

绿色矩形中所示的子任务并行执行,允许某些流程同时运行。这些生成可以是三元组或关系,甚至可以根据内容检查结果修复质量问题。

B. 本研究的标准选择

在众多可用的软件工程标准中,选择"软件工程道德规范和职业实践"(SECEPP)进行初步探索。选择该文档的主要原因包括:1)它是一个公开可用的软件工程标准,并且"旨在成为一份有用的规范,一份能够指导实践和教育的文档"[23]。2)它简洁且不过长,但足够用于启动研究。3)它有一个短版本(278词)和一个完整版本(2653词),其中短版本可用于概念验证,完整版本适用于测试和进一步研究。章节和列表的组织引入了SES处理的常见噪声和挑战,这有助于将该方法迁移到处理其他类型的文档。4)对于自动化软件工程和演化,确保这些智能体遵守本文提供的伦理规范至关重要。因此,将其以本体形式/结构化形式呈现具有重要意义。

C. 构建本体骨架

为开源LLM进行提示工程的一个挑战是生成稳定的输出格式。对于不同的所需输出格式(例如,简单数组或JSON三元组格式),LLM的性能可能完全不同。它甚至可能决定整个路线是否成功。因此,本研究不依赖LLM生成所有内容,而是主要依赖LLM寻找节点(术语)关系的能力。结果,从代码文本中自动提取出一个概念-关系图(三元组)。该图作为后续丰富化的本体骨架。

算法1的伪代码描述了从SECEPP构建本体骨架 G=(V,E) 的过程,通过逐句处理文本。对于每个句子 S,spaCy [24] 提取名词短语和动词,形成候选实体 P 和关系词汇 Vb​;两者都经过清洗和去重。如果没有动词候选,则该句子被保存为孤立句 O。使用 (S,P,Vb) 组合成一个受约束的提示;一个低温LLM在动态令牌预算下(根据句子的术语数量计算)返回JSON三元组 T。该方法严格解析JSON(最多重试 k=3 次),归一化每个术语(例如,engineers 归一化为 engineer,running 归一化为 run),将节点添加到 V,将边添加到 E。轻量级术语归一化通过spaCy词形还原实现(例如,engineers → engineer),同时保留缩略语/专有名词,并使用相似度阈值拒绝过于激进的更改。处理完所有句子后,剩余的孤立句被插入到 V 中。结果是一个低噪声的骨架,可供后续的类型化/合并使用。图2面板(d)是本研究的自动化工作流程生成的一个示例性骨架。

D. 数据和专家标注参考集

为SECEPP的短版本手工构建了三个专家标注参考集——Ref-Long、Ref-Medium和Ref-Short。它们使我们能够评估该方法在不同术语粒度和严格程度下的稳健性,其可视化对应图2面板(a)、(b)和(c)。Ref-Short保留了细粒度子句(密度更高,面向召回率,因为召回率更难实现,因此需要更彻底地测试),Ref-Medium合并了Ref-Short的次要边,Ref-Long保留了较长的子句和核心关系(面向精确率)。

表I:预测系统输出与专家标注参考集(短/中/长)的计数。

表I包含了三个参考集的节点、三元组和孤立子图的数量。正如预期,Ref-Short拥有最大的图(68个节点/83个三元组),孤立子图较少。Ref-Medium由于剪枝了连接而更加碎片化(26个孤立子图),提供了一个平衡的中间地带。Ref-Long最为紧凑(32个节点/25个三元组)。

IV. 实验与初步结果

A. 比较的系统

Pred-LLM是本研究的成果——图2面板(d)是五次运行中的一次代表性输出,其平均性能报告在图3中。在本研究的开放关系生成中,使用了开源的7B LLM(Mistral-7B-Instruct-v0.1 [25])。代码和数据可在 GitHub - songhui01/aog-ses · GitHub 获取。

Pred-openIE是一个句子级的OpenIE基线——图2面板(e)展示了一个示例。使用了斯坦福CoreNLP [27]中实现的斯坦福OpenIE [26]。

B. 评估协议

完全自动化的输出(无后期编辑)针对SECEPP短版本的三个参考标准集进行评估:Ref-Short、Ref-Medium、Ref-Long(图2;统计信息见表I)。

通过嵌入相似度阈值扫描 τ∈{0.10,0.15,…,0.90} 在节点和三元组层面评估质量。精确率、召回率和F1值以曲线形式报告(图3,顶部:节点;底部:三元组;列:短/中/长)。匹配要求主语、关系和宾语的拼接(使用单个空格分隔)的相似度超过 τ(贪婪一对一对齐)。

C. 主要发现

(1) 召回率在Ref-Long上最高,在Ref-Short上最低,证实了密集参考集的召回率压力假设。Ref-Long是一个紧凑的骨架,便于提高召回率(边更少),但任何不在骨架中的额外预测边都会被计为假阳性,从而降低精确率。

(2) Pred-LLM通常比OpenIE产生更高的精确率,并且只有在 τ>0.5 时召回率差距才会缩小,这很合理,因为Pred-LLM的结果数量远少于Pred-openIE的结果(在Ref-Short下为42对74),并且OpenIE产生的虚假/重复三元组被过滤掉了。

(3) 实验检查中的另一个观察结果是,当 τ 达到大约0.6时,三元组通常会稳定下来并变得可靠。由于篇幅限制,本篇短文未能包含支持证据,但这一初步发现促使我们进一步研究最优 τ 值作为此类研究的关键指标。

(4) 一个7B的开源LLM已经可以与OpenIE竞争——在节点和三元组上都具有更高的精确率,并且在更严格的参考集上(当 τ>0.5 时)具有可比的召回率——而在Ref-Short上的召回率仍然是需要改进的主要空间。

(5) 三元组匹配严格难于节点匹配:头部/关系/尾部中任何一个的错误都会导致失配,因此通常在节点层面上精确率和召回率都会下降。

D. 讨论

结果表明,一个7B的开源LLM在节点和三元组提取的精确率方面已经可以与OpenIE竞争。这表明更强的LLM——无论是具有更大参数规模还是在领域特定数据上进行微调——都可能进一步提高提取质量。

然而,这项初步研究有几个局限性。首先,它仅使用单个LLM评估了工作流程,因此缺乏跨LLM家族和规模以及跨主干变体(如稠密vs.MoE)的比较实验。其次,参考数据集由单一位标注者(领域专家)以三种不同粒度手工构建,以支持在缺乏该领域/任务现有黄金标准的情况下进行系统性评估;因此,未报告标注者间一致性(IAA)。这些标签旨在用于形成性评估,而非作为社区基准。在未来的工作中,我们将包含多位标注者并报告IAA,以提高标签可靠性并支持公共基准数据集的构建。

V. 结论/未来工作

本工作启动了针对软件工程标准的LLM辅助本体生成研究,提出了一个全自动的工作流程,为短版本构建了三个专家标注参考集(本初步研究中为单一位标注者),并在节点和三元组层面使用阈值扫描指标进行了评估。初步结果显示,一个7B的开源LLM与斯坦福OpenIE基线相比具有竞争力(通常精确率更高,在更严格的参考集上召回率相当)。

接下来,我们将致力于改进结果,从短版本扩展到完整(长)版本以及其他SES文档;通过跨句子(共指)处理和小范围微调来提高召回率;并执行后续的本体转换阶段,以生成并发布一个正式的OWL 2本体和公共基准。

← 返回列表