Think Before you Write: QA-Guided Reasoning for Character Descriptions in Books

Argyrios Papoudakis, Mirella Lapata, Frank Keller
4/13/2026
cs.CLcs.AIcs.IR

No confident code implementation found for this paper. 2 possible matches can be shown below.

Abstract

Character description generation is an important capability for narrative-focused applications such as summarization, story analysis, and character-driven simulations. However, generating accurate character descriptions from long-form narratives (e.g., novels) is challenging: models must track evolving attributes (e.g., relationships and events), integrate evidence scattered across the text, and infer implicit details. Despite the success of reasoning-enabled LLMs on many benchmarks, we find that for character description generation their performance improves when built-in reasoning is disabled (i.e., an empty reasoning trace). Motivated by this, we propose a training framework that decouples reasoning from generation. Our approach, which can be applied on top of long-context LLMs or chunk-based methods, consists of a reasoning model that produces a structured QA reasoning trace and a generation model that conditions on this trace to produce the final character description. Experiments on two datasets (BookWorm and CroSS) show that QA-guided reasoning improves faithfulness, informativeness, and grounding over strong long-context baselines.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. 2 weaker matches are hidden by default — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{papoudakis2026think,
  title  = {Think Before you Write: QA-Guided Reasoning for Character Descriptions in Books},
  author = {Argyrios Papoudakis and Mirella Lapata and Frank Keller},
  year   = {2026},
  eprint = {2604.11435},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2604.11435v1}
}

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/2604.11435.svg)](https://codeofpaper.com/paper/2604.11435)

Discussion