CodeNER: Code Prompting for Named Entity Recognition

📄 arXiv: 2507.20423v3 📥 PDF

作者: Sungwoo Han, Jingun Kwon, Hidetaka Kamigaito, Manabu Okumura

分类: cs.CL, cs.AI

发布日期: 2025-07-27 (更新: 2025-12-20)

备注: 18 pages, 6 figures


💡 一句话要点

CodeNER:利用代码提示提升大型语言模型在命名实体识别中的性能

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 命名实体识别 大型语言模型 代码提示 BIO模式 思维链提示

📋 核心要点

  1. 现有NER方法在使用大型语言模型时,过度依赖输入上下文,忽略了NER对详细标注要求的依赖。
  2. CodeNER通过在提示中嵌入代码,显式地提供BIO模式指令,利用LLM理解长范围代码上下文的能力。
  3. 实验结果表明,CodeNER在多种语言的NER基准测试中优于传统文本提示,且与思维链提示结合效果更佳。

📝 摘要(中文)

本文提出了一种新颖的方法,利用基于代码的提示来提升大型语言模型(LLMs)在理解和执行命名实体识别(NER)方面的能力。现有方法在利用LLMs(特别是ChatGPT)时,仅依赖于输入上下文信息。然而,NER本质上需要捕获带有输入上下文信息的详细标注要求。通过在提示中嵌入代码,我们为标注提供了详细的BIO模式指令,从而利用LLMs理解编程语言中长范围上下文的能力。实验结果表明,在英语、阿拉伯语、芬兰语、丹麦语和德语数据集的十个基准测试中,所提出的基于代码的提示方法优于传统的基于文本的提示,表明了显式结构化NER指令的有效性。我们还验证了将所提出的基于代码的提示方法与思维链提示相结合可以进一步提高性能。

🔬 方法详解

问题定义:命名实体识别(NER)任务旨在识别文本中的命名实体并将其分类到预定义的类别中。现有方法,特别是基于大型语言模型(LLMs)的方法,在处理NER任务时,往往依赖于文本上下文信息,而忽略了NER任务本身对详细标注规则的依赖。这导致LLMs难以准确理解和执行NER任务,尤其是在处理复杂或歧义的实体时。

核心思路:CodeNER的核心思路是利用代码提示来显式地向LLMs传递NER任务的标注规则。通过将BIO模式等标注信息嵌入到代码中,CodeNER能够更清晰地表达NER任务的要求,从而提高LLMs的理解和执行能力。这种方法借鉴了编程语言中长范围上下文的特性,使得LLMs能够更好地理解NER任务的整体结构和细节。

技术框架:CodeNER的技术框架主要包括以下几个步骤:1) 构建包含代码的提示,其中代码部分明确定义了NER任务的标注规则(例如,BIO模式)。2) 将构建好的提示输入到大型语言模型(例如,ChatGPT)。3) LLM根据提示生成NER结果。4) 对生成的NER结果进行后处理,例如,纠正格式错误或处理不一致的标注。

关键创新:CodeNER的关键创新在于将代码提示引入到NER任务中。与传统的文本提示相比,代码提示能够更清晰、更精确地表达NER任务的标注规则,从而提高LLMs的理解和执行能力。此外,CodeNER还探索了将代码提示与思维链提示相结合的方法,进一步提高了NER性能。

关键设计:CodeNER的关键设计包括:1) 代码提示的结构:代码提示需要包含明确的BIO模式定义,以及示例输入和输出。2) 代码提示的长度:代码提示的长度需要适中,既要包含足够的信息,又要避免过长导致LLM难以处理。3) 与思维链提示的结合:CodeNER探索了将代码提示与思维链提示相结合的方法,通过引导LLM逐步推理,进一步提高NER性能。具体实现细节(如损失函数、网络结构等)未在论文摘要中提及,属于未知信息。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,CodeNER在十个基准测试中优于传统的基于文本的提示方法。具体而言,CodeNER在英语、阿拉伯语、芬兰语、丹麦语和德语数据集上均取得了显著的性能提升。此外,将CodeNER与思维链提示相结合可以进一步提高性能,表明了该方法的有效性和通用性。具体的性能提升幅度未在摘要中给出,属于未知信息。

🎯 应用场景

CodeNER具有广泛的应用前景,可用于信息抽取、知识图谱构建、问答系统等领域。该方法能够提高机器对文本的理解能力,从而提升相关应用的性能。未来,CodeNER可以应用于更多复杂的NER场景,例如,处理嵌套实体、不连续实体等。

📄 摘要(原文)

Recent studies have explored various approaches for treating candidate named entity spans as both source and target sequences in named entity recognition (NER) by leveraging large language models (LLMs). Although previous approaches have successfully generated candidate named entity spans with suitable labels, they rely solely on input context information when using LLMs, particularly, ChatGPT. However, NER inherently requires capturing detailed labeling requirements with input context information. To address this issue, we propose a novel method that leverages code-based prompting to improve the capabilities of LLMs in understanding and performing NER. By embedding code within prompts, we provide detailed BIO schema instructions for labeling, thereby exploiting the ability of LLMs to comprehend long-range scopes in programming languages. Experimental results demonstrate that the proposed code-based prompting method outperforms conventional text-based prompting on ten benchmarks across English, Arabic, Finnish, Danish, and German datasets, indicating the effectiveness of explicitly structuring NER instructions. We also verify that combining the proposed code-based prompting method with the chain-of-thought prompting further improves performance.