- 简介本文提出了KnowCoder,一种使用代码生成进行通用信息提取(UIE)的大型语言模型(LLM)。KnowCoder旨在开发一种统一的模式表示方法,使LLMs可以轻松理解,并提供一种有效的学习框架,鼓励LLMs遵循模式并准确提取结构化知识。为了实现这些目标,KnowCoder引入了一种代码风格的模式表示方法,将不同的模式统一转换为Python类,从而可以以LLM友好的方式捕获复杂的模式信息,例如UIE中任务之间的约束关系。我们进一步构建了一个代码风格的模式库,涵盖了超过30,000种类型的知识,据我们所知是UIE领域中最大的。为了简化LLMs的学习过程,KnowCoder包含一个两阶段的学习框架,通过代码预训练增强其模式理解能力,通过指令调整增强其模式遵循能力。在约15亿个自动构建的数据上进行代码预训练后,KnowCoder已经获得了显着的泛化能力,在少样本情况下,相对于LLaMA2,取得了49.8%的F1值提高。经过指令调整后,KnowCoder在未见过的模式上展现出强大的泛化能力,在零样本情况下和低资源情况下,相对于sota基线,分别取得了12.5%和21.9%的提高。此外,基于我们的统一模式表示,各种人工注释的数据集可以同时用于改进KnowCoder,在监督学习情况下,取得了显著的7.5%提高。
-
- 图表
- 解决问题本文旨在提出一种基于代码生成的大型语言模型(LLM)KnowCoder,以进行通用信息提取(UIE)。论文试图解决如何使LLMs能够轻松理解统一的模式表示,并通过有效的学习框架鼓励LLMs遵循模式并准确提取结构化知识的问题。
- 关键思路KnowCoder引入了一种代码风格的模式表示方法,将不同的模式统一转换为Python类,从而能够以LLM友好的方式捕捉复杂的模式信息。通过代码预训练和指令调整的两阶段学习框架,提高了LLMs的模式理解能力和遵循模式的能力。同时,构建了一个包含超过30,000种知识类型的代码式模式库,这是UIE领域最大的模式库之一。
- 其它亮点论文设计了实验来验证KnowCoder的性能,使用了自动构建数据和各种人工标注数据集。实验结果表明,相对于当前最先进的模型,KnowCoder在零样本和低资源设置下分别实现了12.5%和21.9%的性能提升。此外,本文提出的统一模式表示方法可以用于多种人工标注数据集的优化,可以实现显著的性能提升。论文还提供了开源代码。
- 最近在这个领域中,还有一些相关研究,如:《Neural Information Extraction: Multi-Task Learning Approaches》、《Span-based Joint Entity and Relation Extraction with Transformer Pre-training》、《Improving Distantly-supervised Relation Extraction with Joint Label Embedding and Co-Attention》等。


提问交流