ATLANTIS at S em E val-2025 Task 3 : Detecting Hallucinated Text Spans in Question Answering (2025)

Abstract: This paper presents the contributions of the ATLANTIS team to SemEval-2025 Task 3, focusing on detecting hallucinated text spans in question answering systems. Large Language Models (LLMs) have significantly advanced Natural Language Generation (NLG) but remain susceptible to hallucinations, generating incorrect or misleading content. To address this, we explored methods both with and without external context, utilizing few-shot prompting with a LLM, token-level classification or LLM fine-tuned on synthetic data. Notably, our approaches achieved top rankings in Spanish and competitive placements in English and German. This work highlights the importance of integrating relevant context to mitigate hallucinations and demonstrate the potential of fine-tuned models and prompt engineering.

## introduction llms have achieved remarkable proficiency in nlg, enabling significant improvements across various applications, including translation @xcite , classification @xcite , synthetic data generation @xcite , retrieval-augmented generation (rag) systems @xcite . while they have addressed numerous challenges in these domains, they remain prone to hallucination-generating incorrect or misleading content. this issue can undermine system reliability and negatively affect real-world performance, limiting their practical deployment in critical applications. to tackle this challenge, the semeval mu-shroom task focuses on detecting hallucinated spans in generated text, a crucial step toward enhancing the trustworthiness of nlg systems. this multilingual task covers 14 languages and requires identifying specific portions of text where hallucinations occur. the task overview paper @xcite provides a comprehensive analysis of the methodologies and findings, offering valuable insights into hallucination detection in nlg systems. the dataset, the evaluation metrics, and models used in the task are also extensively discussed there. in this paper, we present a set of approaches for the challenge, which fall into two main categories: methods without external context that solely rely on the question and answer as input. we experimented 1) few-shot prompting using llm and 2) fine-tuning a token-level classifier on our generated synthetic data using mkqa dataset @xcite . methods with external context from wikipedia, retrieved using our rag system. this context is then added into our models in three ways: 1) few-shot prompting with llm, 2) fine-tuning a token-level classifier, and 3) fine-tuning a llm for hallucinated span detection. our models delivered impressive results in several languages. in particular, we ranked first in spanish, third in english, and fifth in german using few-shot prompting with gemini pro, enhanced by contextual information. for french, we achieved the eleventh place with a fine-tuned token classifier model with context. ## systems overview in this section, we outline our different approaches. we begin by introducing the retrieval component of our rag system. next, we describe our methods based on few-shot prompting with and without retrieval. finally, we present the approaches that we fine-tuned for the task using synthetic data. ## conclusion different approaches were presented with and without retrieval for the hallucinated span detection task. overall, the task remains difficult and the performance of the same strategy varies widely depending on the language. this work underlines the importance of adding a relevant context to detect hallucinated spans in the answer. in general, llm prompting leads to better results and is easily adaptable on other languages but the smaller fine-tuned models show promising results and could thus be preferred, subject to further tuning. lastly, these approaches would need to be validated on a balanced dataset, containing also a significant part of non-hallucinated answers. you are an expert evaluator for language models, tasked with identifying hallucinations or errors in their responses. a hallucination is defined as: -incorrect factual information: content in the model's response that is unrelated, irrelevant, or factually incorrect with respect to the documents, based on the question. your task is to analyze the ** model output text ** written in {language} and classify hallucinations or errors into two categories: 1. ** factual inaccuracies ** 2. ** misspellings ** ensure the output is in json format, following this structure: ''' { "model_input": "<insert question @xmath0, "model_output_text": "<insert model's response @xmath1, "hallucinations": { "factual_inaccuracies": [ "<@xmath2, "<@xmath3, ... ], "misspellings": [ "<@xmath4, "<@xmath5, ... ] } } ''' ### example 1: ** model input ** : "quelle est la capitale de la france ?" ** model output text ** : "la capitale de la grance est berlin." ** expected json output ** : ''' { "model_input": "quelle est la capitale de la france ?", "model_output_text": "la capitale de la grance est berlin.", "hallucinations": { "factual_inaccuracies": [ "berlin" ], "misspellings": [ "grance" ] } } ### example 2: ... ### task: now, evaluate the ** model output text ** . identify hallucinations or errors, and classify them as either factual inaccuracies or misspellings. the ** relevant documents ** is a list that can contain different documents in english, all independant. if one doesn't seem relevant, don't take it into account to identify hallucinations. ** model input ** : {question} ** model output text ** : {model_output} ### remember instruction: you must select only the relevant subparts of the answer (where the error occurs). you must split them into the minimal possible parts. you must exclude stop words. listing 1: prompt for generic llm & multilingual 1105 you are an expert evaluator for language models, tasked with identifying hallucinations or errors in their responses. a hallucination is defined as: -incorrect factual information: content in the model's response that is unrelated, irrelevant, or factually incorrect with respect to the documents, based on the question. your task is to analyze the ** model output text ** written in {language} and classify hallucinations or errors into two categories: 1. ** factual inaccuracies ** 2. ** misspellings ** ensure the output is in json format, following this structure: ''' { "model_input": "<insert question @xmath6, "model_output_text": "<insert model's response @xmath7, "hallucinations": { "factual_inaccuracies": [ "<@xmath8, "<@xmath9, ... ], "misspellings": [ "<@xmath10, "<@xmath11, ... ] } } ''' ### example 1: ** model input ** : "quelle est la capitale de la france ?" ** model output text ** : "la capitale de la grance est berlin." ** relevant documents ** : ["the following outline is provided as an overview of and topical guide to paris: paris capital and most populous city of france, with an area of and an official estimated population of 2,140,526 residents as of 1 january 2019. since the 17th century, paris has been one of europe's major centres of finance, commerce, fashion, science, and the arts...."] ** expected json output ** : ''' { "model_input": "quelle est la capitale de la france ?", "model_output_text": "la capitale de la grance est berlin.", "hallucinations": { "factual_inaccuracies": [ "berlin" ], "misspellings": [ "grance" ] } } ### example 2: ... ### task: now, evaluate the ** model output text ** . identify hallucinations or errors, and classify them as either factual inaccuracies or misspellings. the ** relevant documents ** is a list that can contain different documents in english, all independant. if one doesn't seem relevant, don't take it into account to identify hallucinations. ** model input ** : {question} ** model output text ** : {model_output} ** relevant documents ** : {context} ### remember instruction: you must select only the relevant subparts of the answer (where the error occurs). you must split them into the minimal possible parts. you must exclude stop words.