中文

KnowCoder:将结构化知识编码进大语言模型以实现通用信息抽取

机器学习 2024-03-15 v2 人工智能

摘要

在本文中,我们提出了 KnowCoder,一种通过代码生成进行通用信息抽取(UIE)的大语言模型(LLM)。KnowCoder 旨在开发一种 LLM 易于理解的统一模式表示方法,以及一种有效的学习框架,以鼓励 LLM 遵循模式并准确抽取结构化知识。为实现这些目标,KnowCoder 引入了一种代码风格的模式表示方法,将不同的模式统一转换为 Python 类,从而能够以对 LLM 友好的方式捕获复杂的模式信息,例如 UIE 中任务间的约束。我们进一步构建了一个代码风格的模式库,涵盖超过 30,000 种知识类型,据我们所知,这是 UIE 领域最大的模式库。为了简化 LLM 的学习过程,KnowCoder 包含一个两阶段学习框架,通过代码预训练增强其模式理解能力,并通过指令微调增强其模式遵循能力。在约 15 亿条自动构建的数据上进行代码预训练后,KnowCoder 已经获得了显著的泛化能力,在少样本设置下,与 LLaMA2 相比,F1 值相对提升了 49.8%。经过指令微调后,KnowCoder 在未见过的模式上进一步展现出强大的泛化能力,在零样本设置和低资源设置下,与最先进的基线相比,分别实现了高达 12.5% 和 21.9% 的提升。此外,基于我们统一的模式表示,可以同时利用各种人工标注的数据集来优化 KnowCoder,在监督设置下实现了高达 7.5% 的显著提升。

关键词

引用

@article{arxiv.2403.07969,
  title  = {KnowCoder: Coding Structured Knowledge into LLMs for Universal Information Extraction},
  author = {Zixuan Li and Yutao Zeng and Yuxin Zuo and Weicheng Ren and Wenxuan Liu and Miao Su and Yucan Guo and Yantao Liu and Xiang Li and Zhilei Hu and Long Bai and Wei Li and Yidan Liu and Pan Yang and Xiaolong Jin and Jiafeng Guo and Xueqi Cheng},
  journal= {arXiv preprint arXiv:2403.07969},
  year   = {2024}
}