FsPONER: Few-shot Prompt Optimization for Named Entity Recognition in Domain-specific Scenarios

Yongjian Tang, Rakebul Hasan, Thomas Runkler
7/10/2024
cs.CLcs.IR

No official code found. Best implementation: markustyj/FsPONER_ECAI-2024 (2 stars, last commit 2025-11-25).

Abstract

Large Language Models (LLMs) have provided a new pathway for Named Entity Recognition (NER) tasks. Compared with fine-tuning, LLM-powered prompting methods avoid the need for training, conserve substantial computational resources, and rely on minimal annotated data. Previous studies have achieved comparable performance to fully supervised BERT-based fine-tuning approaches on general NER benchmarks. However, none of the previous approaches has investigated the efficiency of LLM-based few-shot learning in domain-specific scenarios. To address this gap, we introduce FsPONER, a novel approach for optimizing few-shot prompts, and evaluate its performance on domain-specific NER datasets, with a focus on industrial manufacturing and maintenance, while using multiple LLMs -- GPT-4-32K, GPT-3.5-Turbo, LLaMA 2-chat, and Vicuna. FsPONER consists of three few-shot selection methods based on random sampling, TF-IDF vectors, and a combination of both. We compare these methods with a general-purpose GPT-NER method as the number of few-shot examples increases and evaluate their optimal NER performance against fine-tuned BERT and LLaMA 2-chat. In the considered real-world scenarios with data scarcity, FsPONER with TF-IDF surpasses fine-tuned models by approximately 10% in F1 score.

View on arXivView PDF

Code Implementations(1)

FsPONER: Few-shot Prompt Optimization for Named Entity Recognition in Domain-specific Scenarios

20Python, Jupyter NotebookJul 10, 202410 months ago

Similar Papers

Cite this paper

@article{tang2024fsponer,
  title  = {FsPONER: Few-shot Prompt Optimization for Named Entity Recognition in Domain-specific Scenarios},
  author = {Yongjian Tang and Rakebul Hasan and Thomas Runkler},
  year   = {2024},
  eprint = {2407.08035},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2407.08035v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2407.08035.svg)](https://codeofpaper.com/paper/2407.08035)

Discussion