笔记整理:杜超超,天津大学硕士,研究方向为自然语言处理、大语言模型
论文链接:https://aclanthology.org/2024.acl-long.238/
发表会议:ACL 2024
1. 动机
知识图谱(KG)在各个专业领域的知识密集型任务中都发挥着关键作用,因此,获取准确、可靠的高质量知识就尤为重要。但是现在构建知识图谱的方法严重依赖于人工干预才能获取合格的KG,这不利于KG在现实场景中的应用。因此,我们提出了一个通用的构建KG的框架,SAC-KG:利用大语言模型作为领域知识图谱熟练的自动化生成器,该框架能够有效利用LLM作为领域专家来生成专业且准取的多层级KG。
SAC-KG由三部分组成,生成器、验证器和修剪器,给定一个实体,生成器从原始语料库中生成关系和尾部,从而构建一个单层的KG。然后,验证器和修剪器协同工作,通过纠正生成错误并确定新生成的尾部是否需要对下一层级KG进行迭代来保证准确性。在实验中,SAC-KG能够构建百万节点以上规模的领域KG,与现有的构建KG的方法相比,准确率提升20%以上。
2. 贡献
本文的主要贡献有:
(1)提出了一个专业化、自动化、能够生成高质量KG的通用框架;
(2)生成器消除了在构建KG过程中,上下文噪声对LLM的影响;
(3)验证器和修改器消除了LLM的幻觉现象;
3. 方法
总体框架如图1所示,SAC-KG由生成器、验证器和修剪器组成,并将这三部分融合到一个统一的框架中,以此自动化构建领域KG。给定一个实体,SAC-KG不断地生成一个单层级实体诱导的KG。在每一次迭代中,被指定为"增长"的实体集(修剪器中的绿色节点)构成了生成器下一级生成过程的输入。
图1 总体框架图
3 .1 生成器
生成器使用域语料检索器从原始语料库中检索最相关的上下文,并使用开放知识检索器从开源百科全书中检索最相关的三元组。生成器采用上下文学习,是一个无参数、无监督、全自动的学习器。
为了克服LLM的幻觉现象,我们提出了一个领域语料库检索器。该检索器首先将领域语料库分割成句子,然后根据实体的实现频率对相关句子进行排序,最后按照与给定实体的相关性对它们进行降序排序,并将它们连接成一个固定长度的文本作为LLM的输入。
当输入仅包含领域特定语料时,LLM的输出可能难以控制,甚至三元组的格式会错误。为了克服这个问题,我们提出了一个开放知识图谱检索器,它采用上下文学习并从DBpedia中检索与实体最相关的三元组作为示例。这些示例会刺激模型输出正确的内容格式。表1是领域KG在同一领域语料库上的准确率、召回率、领域特异性指标的评估。
表1:领域KG的评估
3 .2 验证器
为了进一步提升KG的质量,我们引入了验证器,它负责识别和过滤LLM生成的错误的三元组。验证器是基于规则且无参数的,执行效率高。
验证器由两个步骤组成,错误检测和错误纠正。对于错误检测,我们使用RuleHub中的开放KG挖掘出的现有标准来识别并输出错误类型。流程包括数量检查、格式检查以及冲突检查。数量检查是指三元组数量小于阈值2,则被归类于数量不足;格式检查是包括1)头实体与预定义实体不匹配2)头实体与尾实体相同;冲突检查是指事实冲突,例如一个人的年龄不能是负数。
对于错误纠正,首先使用错误检测步骤确定错误类型并提供相应的提示,然后重新提示LLM重新生成灰姑娘纠正后的输出。
3 .3 修剪器
经过验证器后,可以得到所有正确的三元组,然后继续生成下一层级三元组。但是,并非所有三元组都需要这样的迭代生成,例如,三元组(大米,最佳生长温度,20~25摄氏度)是一个正确的三元组,而它的尾实体不需要生成为下一层级三元组的头实体。
为了增强这种可控性,我们提出了修剪器,这是一个经过调优的二分类模型,它的输入是每个正三元组的尾实体,输出为"growing"或"pruned",表示是继续生成还是停止生成。表2是在第一个三层构造的 KG 中对SAC-KG进行剪枝研究,每次迭代都意味着生成KG的附加层,符号"-"表示在第 1 次迭代中,之前没有应用过剪枝器。
表2 剪枝研究
为了训练修剪器,我们从DBpedia收集训练数据,并选择头部实体的子集来代表"增长"类别。我们还收集了尾部实体的等效子集,排除与头实体列表重叠的实体,以构成"修剪"类别。然后,我们在微调期间使用这些实体文本作为输入,并将相应的标签"增长"或"修剪"作为输出目标。
最后,利用领域语料库,我们可以为输入实体生成单级KG,随后将其合并到生成的KG的新级别中,因此,SAC-KG会使用实体生成多个三元组并继续迭代,创建一个以生成的三元组的头实体为根的KG子树。此过程类似于树一层一层的增量增长,类似于从浅到深检索和访问领域知识。此外,SAC-KG是一种无监督方法,可以应用于任何具有大量非结构化文本语料库的领域,而无需标记数据。SAC-KG的工作流示例如图2。
图2 SAC-KG工作流示例
4. 实验
实验包括五部分:(i)为了评估SAC-KG的有效性,我们将SAC-KG与现有的领域KG构建任务的最新方法进行比较。(ii)为了对构建的KG进行更全面的评估,我们对GPT4与人类进行了一致性评估。(iii)为了对SAC-KG提供更多的见解,我们对每个组件进行了消融研究。(iv)为了分析构建的KG,我们对构建的领域KG进行了案例研究。(v)为了进一步证明SAC-KG的有效性,我们在现有的开源 OlE 基准上评估了SAC-KG。
4.1 准确率
为了评估准确率,我们通过手动和自动两种方式进行评估,后者在本质上更具可扩展性。我们使用GPT-4作为自动判断。具体来说,我们将提取的三元组及其对应的文本作为GPT-4的输入,以评估每个三元组的正确性。
4 .2 召回率
由于无法访问每个领域文本的基本事实三元组,因此无法估计召回率。因此,我们报告每个领域文本的已验证三元组的平均数量。也就是说,我们报告召回率而不提供分母。我们用召回次数来指代这个指标。
4 .3 参数设置
对于生成器的参数设置,我们将LLM的温度值设置为0.1,最大序列长度为2000个标记。对于修剪器,我们使用有效地微调T5模型。我们用2个时期训练模型并使用64的批处理大小。我们将学习率设置为0.001。
4 .4 实验结果
图3展示了 0lE6、PIVE、SAC-KG水稻专家案例可视化结果。绿色标记的实体表示正确的三元组,黄色标记的实体表示错误的三元组。表3是GPT 4评估和人类评估的统计指标。表4是OlE2016、WEB、NYT 和 PENN 数据集上的F1分数和AUC结果。
图3水稻领域示例
表3 GPT-4和人工评估结果
表4 F1和AUC得分
5. 总结
本文提出了一种新型的自动领域知识图谱构建框架SAC-KG,该框架可直接从领域语料库中高效地构建知识图谱。SAC-KG将LLM用作领域专家,并迭代地采用实体诱导树搜索算法来构建多层级知识图谱。具体而言,我们提出了生成器、验证器和修改器,以形成具有自动化、精确性和可控性的通用知识图谱构建框架。SAC-KG以89.32%的精度构建了超过一百万个节点的领域知识图谱,实现了超过 20% 的精度指标提升。
OpenKG
OpenKG(中文开放知识图谱)旨在推动以中文为核心的知识图谱数据的开放、互联及众包,并促进知识图谱算法、工具及平台的开源开放。
点击阅读原文 ,进入 OpenKG 网站。