Improving Information Extraction with Learned Queries

Department of Computer Science, Dartmouth College

Abstract

When information extraction fails, a natural instinct is to improve the model doing it: for example, by scaling it up or refining its reasoning. In this paper, we show that another part of the pipeline matters at least as much: the queries used to elicit this information. Across four clinical benchmarks and five LLMs, improving the question design alone raises performance by ≈18.6 F1-score points, i.e. more than using larger extraction models. To make such question design learnable, we introduce List of Questions (LoQ), which generates document-specific question sets, and FeedQ, a feedback-driven optimization method that iteratively refines questions against extraction outcomes. The resulting optimized questions can be used to train lightweight generators: with fine-tuning, 4B-parameter models match or outperform expert-derived baselines and substantially exceed the performance of much larger untuned models. We release a dataset of 12,820 optimized questions to support a broader shift in information extraction research toward treating question design as a first-class problem.

Question design is the bottleneck

Information extraction is usually recast as question answering: ask a model a question whose answer is the argument you want. In practice those questions are written once from annotation guidelines and reused across every document — easy to apply, but indifferent to how the evidence is actually expressed. To measure what that costs, we hold the prediction model fixed and vary only how the questions are formed.

+18.6
F1 over the strongest human-written baseline, averaged over 4 datasets × 5 models
+13.2
F1 from a single zero-shot FeedQ pass, before any refinement
12,820
optimized (document, role, question-set) triples released

Mean F1 by questioning strategy

ApproachCaseReportBenchPHEEDiscourseEEMACCROBATMean
No-Question63.369.347.437.954.5
Human-written knowledge questions
Knowledge-Q69.777.456.143.561.7
CoT-Q67.976.357.243.061.1
Dynamic questions generated with GPT-OSS-120B
Contextual-Q54.656.041.732.046.1
Zs-FeedQ84.585.264.465.674.9
Opt-FeedQ87.288.469.376.280.3

Dev-set F1, averaged across five prediction models. Only the questions change between rows. Zs-FeedQ questions come from one zero-shot pass; Opt-FeedQ questions are iteratively refined with FeedQ. Both see ground-truth arguments during question generation, establishing an upper bound on what well-targeted questions can achieve.

Full per-model breakdown (Table 1)
Approach CaseReportBench PHEE
Qw3-4BQw3-8BOSS-120BGPT-5-miniGemini-3.1Mean Qw3-4BQw3-8BOSS-120BGPT-5-miniGemini-3.1Mean
No-Question55.654.970.165.270.663.362.867.866.266.483.369.3
Knowledge-Q62.461.675.371.078.369.776.579.575.771.883.477.4
CoT-Q62.857.573.967.977.267.969.273.576.278.684.276.3
Contextual-Q54.350.657.952.557.754.649.347.551.052.979.556.0
Zs-FeedQ76.972.192.788.791.984.582.583.586.384.489.485.2
Opt-FeedQ79.273.496.992.494.087.282.384.894.389.890.688.4
Approach DiscourseEE MACCROBAT
Qw3-4BQw3-8BOSS-120BGPT-5-miniGemini-3.1Mean Qw3-4BQw3-8BOSS-120BGPT-5-miniGemini-3.1Mean
No-Question46.646.147.244.952.247.430.333.237.137.152.037.9
Knowledge-Q53.053.860.555.657.856.136.638.342.142.558.143.5
CoT-Q54.755.761.953.660.157.236.938.642.540.057.143.0
Contextual-Q42.241.343.541.040.341.730.531.330.529.338.332.0
Zs-FeedQ60.061.272.261.267.364.449.456.374.964.183.665.6
Opt-FeedQ65.564.882.564.669.069.357.366.591.174.691.376.2

Choosing the question generator

Running FeedQ means picking a generator, which is a quality/cost trade-off. Across five zero-shot generators, the large models beat the Qwen3 baselines by a wide margin (≈72–76 vs. ≈54 F1). GPT-5.2 is best overall at 76.1, but GPT-OSS-120B is within 1.2 F1 while being over 40× cheaper per token at the time of writing — and its open weights allow local deployment on private data. We therefore use GPT-OSS-120B as the question generator, and for scalability also as the prediction and refinement model.

QG modelCRBPHEEDEEMBATMean
Qwen3-4B60.866.848.343.354.8
Qwen3-8B60.864.147.840.753.4
GPT-OSS-120B (used)84.585.264.465.674.9
GPT-5.285.185.965.867.876.1
Gemini-3.1-Pro79.885.163.559.872.1

Zero-shot question generation quality, F1 averaged over the five prediction models.

Per-prediction-model breakdown (Figure 5) Grouped bar charts showing F1 for each question generator evaluated with all five prediction models, on each of the four datasets.

Why naive document-conditioning backfires

Contextual-Q conditions on the document but has no signal about whether its questions worked — and it lands below the no-question baseline. The reason is visible in the precision/recall split: it generates 5.27 questions per document–role pair on average, which lifts recall on every dataset but collapses precision by inflating false positives. Document conditioning without grounding produces vague queries, and reasoning depth (CoT-Q) does not compensate for a poorly targeted question.

DatasetApproachPRF1
CaseReportBenchNo-Question54.577.563.3
Contextual-Q40.285.854.6
PHEENo-Question63.676.969.4
Contextual-Q44.678.656.0
DiscourseEENo-Question37.465.747.4
Contextual-Q28.876.341.7
MACCROBATNo-Question29.154.838.0
Contextual-Q22.157.932.0

Overall precision, recall, and F1 for No-Question and Contextual-Q.

The LoQ framework

Three-phase overview of LoQ: question optimization with FeedQ, supervised fine-tuning of a question generator, and prediction on unseen documents.

LoQ automates the full argument-extraction cycle in three phases:

  1. Question optimization. Given a document, a role, and its ground-truth arguments, FeedQ runs an iterative loop that derives the questions which best extract those arguments, producing gold question sets.
  2. Question generation. Those gold questions supervise the fine-tuning of a small question generator, teaching it to produce effective questions from a document and role alone — no ground truth required.
  3. Prediction. At test time the fine-tuned generator writes questions for unseen documents, and an off-the-shelf LM answers them to extract arguments.

Separating question generation from prediction lets each component specialize.

FeedQ: feedback-driven question optimization

FeedQ alternates generate → predict → evaluate → refine. At each iteration a leakage check rewrites any question that embeds a ground-truth answer, the prediction model answers the surviving questions, and the result is scored against the gold arguments with a hierarchical matcher.

The structured feedback signal — matched, missed, and over-generated arguments plus the scores — goes to a refiner LM, which adds questions targeting what was missed, tightens or drops questions causing over-generation, and preserves the ones that worked. The loop stops on a target F1, on patience, or at the iteration cap, and always returns the best question set seen, since F1 is not monotonic across iterations.

We run FeedQ for up to 5 iterations, patience 3, target score 1.0. The leakage checker's manually audited false-negative rate is 0.83% (5/600 inspected question sets).

Algorithm 1: pseudocode for FeedQ, the feedback-driven question optimization loop.

Learning to ask, without the answers

FeedQ needs ground truth. The deployable question is whether a model can learn the behaviour and generate good questions for unseen documents. We fine-tune Qwen3-4B and Qwen3-8B with LoRA on the 12,820 FeedQ triples and compare against human-written questions, the same models without fine-tuning, and three much larger untuned generators.

Both fine-tuned models reach 62.7 mean F1, up from ≈53 untuned — and they beat every non-fine-tuned baseline, including GPT-5.2 and Gemini-3.1-Pro, as well as the human-written Knowledge-Q questions on average. A 4B generator outperforms generators orders of magnitude larger, which suggests effective question generation is largely a matter of implementing the right questioning behaviour rather than raw scale.

Test-set F1, averaged across five prediction models

QG approachCRBPHEEDEEMBATMean
Human-written knowledge questions
Knowledge-Q68.277.355.644.161.3
CoT-Q66.675.255.844.660.5
Fine-tuned and non fine-tuned QG models
Qwen3-4B57.365.847.741.553.1
Qwen3-8B59.563.746.141.152.6
Qwen3-4Bft-a67.580.751.949.062.3
Qwen3-4Bft*67.581.851.949.762.7
Qwen3-8Bft-a64.781.651.547.261.3
Qwen3-8Bft*67.782.052.548.462.7
Strong QG baselines (non fine-tuned)
GPT-OSS-120B53.354.041.434.145.7
GPT-5.263.569.546.240.454.9
Gemini-3.1-Pro66.080.650.942.960.1

All generators here are conditioned only on the document and role — no ground-truth access. ft* is the best of three training mixes per model; ft-a is the all-available mixture. CRB / DEE / MBAT are CaseReportBench / DiscourseEE / MACCROBAT.

The remaining gaps track training data, not method: PHEE and MACCROBAT contribute 5,000 triples each and see the largest gains, while CaseReportBench (620 triples) and DiscourseEE (2,215) are where Knowledge-Q still holds a small edge.

How performance scales with training data (Figure 6) Line chart of F1 versus in-domain training fraction for a Qwen3-8B question generator fine-tuned on 10, 20, 30, and 100 percent of each dataset's triples.

A separate Qwen3-8B generator fine-tuned on 10/20/30/100% of each dataset's triples, evaluated with GPT-OSS-120B. On the large datasets (PHEE, MACCROBAT) even 10% beats the base model and performance rises monotonically. On the small ones (CaseReportBench, DiscourseEE) 10% drops below base — consistent with catastrophic forgetting — then recovers and overtakes it by 100%.

Out-of-domain generalization

Fine-tuning on clinical questions transfers to non-clinical documents. On DocEE — long, argument-dense news documents — the base model sprays 30 loosely relevant questions while the fine-tuned model asks 4 targeted ones, trading recall for a large precision gain. MUC4 shows the same pattern. GENEVA is the exception: it annotates multiple coreferent arguments per role in a single sentence, so the base model's broader question sets happen to provide coverage that focused questions give up.

DatasetQwen3-4BQwen3-8B
PRF1PRF1
Base
DocEE33.3582.8846.5335.5883.8249.20
GENEVA48.3377.5159.1347.3877.6658.30
MUC445.9880.2057.4547.2180.1458.56
Fine-tuned (ft*)
DocEE49.1863.6355.2848.3868.6556.65
GENEVA49.7356.4352.8249.6656.6552.88
MUC453.8261.8657.3054.3467.2459.90

Zero-shot out-of-domain results on 500-sample subsets, averaged across all evaluator models.

What the optimized questions look like

Bar chart of the FeedQ iteration at which the best-scoring question set is found, per dataset.

Iterative refinement is not redundant. One pass suffices for most roles in PHEE (87%) and MACCROBAT (75%), but 47% of DiscourseEE roles and a quarter of CaseReportBench roles need two or more iterations to reach their best question set.

Bar chart of the number of optimized questions generated per role, per dataset.

One question per role is often not enough. CaseReportBench gives only 41% of roles a single question; 59% get two or more and 27% need four or more. Roles in structurally rich schemas have to be decomposed.

Vanilla question vs. List of Questions

Bold text in each excerpt marks the distinct arguments the optimized questions target. Simple multi-argument roles get two targeted questions; complex roles get a set.

Dataset: 12,820 optimized questions

We release every (document, role, optimized question-set) triple produced by FeedQ, so that question design can be studied — and improved on — as a component in its own right. Each record has the document text, the target role, the optimized question set, and the ground-truth arguments used during optimization.

DatasetTrainDevTestRolesAvg. doc lenDomain
CaseReportBench62035035018581.7Clinical case reports
PHEE5,0005005001419.7Pharmacovigilance texts
DiscourseEE2,20050050034120.8Online health forums
MACCROBAT5,0005005002224.2PubMed case reports

Optimized triples per dataset: 620 / 5,000 / 2,200 / 5,000 — 12,820 in total.

Source benchmarks: CaseReportBench · PHEE · DiscourseEE · MACCROBAT (via DICE).

BibTeX

@inproceedings{sharif2026loq,
  title     = {Improving Information Extraction with Learned Queries},
  author    = {Sharif, Omar and Vosoughi, Soroush and Singh, Nikhil},
  booktitle = {Findings of the Association for Computational Linguistics: EMNLP 2026},
  year      = {2026},
  url       = {https://omar-sharif.github.io/LoQ}
}