Inferensys

Prompt

Research Paper Fact-Interpretation Split Prompt

A practical prompt playbook for using the Research Paper Fact-Interpretation Split Prompt in production scientific claim verification workflows.
Developer reviewing semantic search engine results on laptop, relevance scores visible, technical search demo.
PROMPT PLAYBOOK

When to Use This Prompt

Understand the ideal job-to-be-done, required context, and critical boundaries for the Research Paper Fact-Interpretation Split Prompt before integrating it into a verification pipeline.

This prompt is designed for scientific claim verification pipelines that must extract checkable assertions from academic papers. It separates verifiable factual statements from author interpretation, methodological choices, speculative discussion, and rhetorical framing. Use it when downstream fact-checking accuracy depends on clean claim boundaries and when mixing results with discussion-section language would cause over-confident verification outputs. This prompt belongs in the pre-processing stage of a verification workflow, before evidence matching or claim scoring. It assumes the input is a full paper section or abstract, not a single sentence.

The ideal user is a verification pipeline engineer or an AI builder constructing a system that ingests scientific literature and produces structured, evidence-backed claim records. The required context includes the full text of the target section, a defined output schema for fact and interpretation objects, and a clear taxonomy of what constitutes a verifiable fact in the target domain (e.g., measured values, reported sample sizes, statistical results). The prompt is most effective when paired with a downstream evidence-matching step that can independently query databases or knowledge bases against the extracted fact statements. Do not use this prompt for news articles, legal briefs, or financial reports; those domains require different classification taxonomies and boundary rules.

Before deploying this prompt, validate its performance against a golden dataset of annotated papers where fact-interpretation boundaries are known. Common failure modes include misclassifying methodological choices as facts, treating speculative hedging as interpretation when a factual core exists, and splitting multi-clause sentences in ways that lose context. Always route low-confidence outputs to human review, especially when the separation confidence score falls below a defined threshold. The next step after extraction should be to pass the fact statements to an evidence-matching prompt, while interpretation passages can be routed to a separate synthesis or summarization workflow.

PRACTICAL GUARDRAILS

Use Case Fit

Where the Research Paper Fact-Interpretation Split Prompt works, where it fails, and what you must provide before running it in a verification pipeline.

01

Good Fit: Structured Academic Prose

Use when: The input is a complete research paper with clear IMRaD structure (Introduction, Methods, Results, Discussion). The prompt reliably separates measured results from author interpretation because section headers provide strong boundary signals. Guardrail: Validate that the paper contains explicit Results and Discussion sections before routing; preprints and position papers often merge these sections and will degrade separation quality.

02

Bad Fit: Narrative Reviews and Meta-Commentary

Avoid when: The input is a literature review, editorial, perspective piece, or news summary about research. These formats embed facts from cited work inside the author's interpretive framing without clear structural boundaries. Guardrail: Route narrative formats to the Mixed-Content Decomposition Prompt instead; this prompt assumes primary research structure and will misclassify embedded citations as author claims.

03

Required Input: Full Text with Section Labels

What to watch: Running this prompt on abstracts alone, extracted snippets, or OCR'd text without section markers produces unreliable splits. The model needs structural context to distinguish results from interpretation. Guardrail: Pre-process inputs to confirm presence of section headers; if missing, use a document structure recovery step before fact-interpretation splitting. Reject inputs under 500 words.

04

Operational Risk: Overclaimed Findings

What to watch: Authors frequently state interpretations in the Results section using causal language ('X causes Y') when only correlation was measured. The prompt may classify these as factual claims because they appear in the Results section. Guardrail: Add a post-processing check that flags any claim using causal verbs (causes, leads to, prevents, drives) and cross-references it against the Methods section to confirm whether the study design supports causal inference.

05

Operational Risk: Statistical Framing as Fact

What to watch: P-values, confidence intervals, and effect sizes are often reported as objective facts but represent methodological choices (significance thresholds, model specifications). The prompt may treat statistical outputs as uninterpreted facts. Guardrail: Route all numerically-expressed claims through the Numerical and Statistical Claim Verification prompt with explicit tolerance windows and a check for whether the reported statistic matches the pre-registered analysis plan when available.

06

Pipeline Integration: Downstream Evidence Matching

What to watch: Fact statements extracted by this prompt are intended as input to evidence matching and verification steps. If the split is wrong, downstream verification will validate interpretations as though they were facts, producing misleading confidence scores. Guardrail: Run the Fact-Interpretation Separation Eval Rubric Prompt on a sample of outputs before connecting this prompt to an evidence matching pipeline. Require human spot-check approval on the first 50 papers processed.

PROMPT PLAYBOOK

Copy-Ready Prompt Template

A copy-ready prompt that separates verifiable facts from author interpretation in academic papers, ready for adaptation into your verification pipeline.

This prompt template is designed to be pasted directly into your application's model call. It instructs the model to decompose a research paper excerpt into two distinct lists: verifiable factual claims and author interpretation. The prompt uses a strict JSON output schema so you can parse the results programmatically, route facts to an evidence-matching engine, and flag interpretations for human review or downstream analysis. Replace every square-bracket placeholder with actual values before sending the request.

text
You are an expert scientific claim auditor. Your task is to read a research paper excerpt and separate verifiable factual statements from author interpretation, methodological choices, speculative discussion, and rhetorical framing.

## INPUT
[RESEARCH_PAPER_EXCERPT]

## OUTPUT SCHEMA
Return a single JSON object with exactly two keys: "verifiable_facts" and "interpretation".

- "verifiable_facts": An array of objects, each with:
  - "claim_id": A unique string identifier (e.g., "F1", "F2").
  - "statement": The atomic, self-contained factual claim as a single sentence.
  - "source_span": The verbatim text from the input that supports this claim.
  - "checkable_by": One of ["external_reference", "reproducible_experiment", "internal_data", "logical_proof"].
  - "section_origin": The paper section where this claim appears (e.g., "Results", "Methods").
- "interpretation": An array of objects, each with:
  - "passage_id": A unique string identifier (e.g., "I1", "I2").
  - "statement": The interpretive, analytical, or speculative passage.
  - "source_span": The verbatim text from the input.
  - "type": One of ["author_interpretation", "methodological_choice", "speculation", "rhetorical_framing", "opinion"].
  - "section_origin": The paper section where this passage appears.

## CONSTRAINTS
1. Do not omit any factual claim or interpretive passage present in the input.
2. If a sentence contains both a fact and an interpretation, extract the fact into "verifiable_facts" and the interpretation into "interpretation" using overlapping source spans if necessary.
3. A "verifiable_fact" must be a statement whose truth can be checked independently of the authors' opinion. Reported measurements, statistical results, and described observations are facts. Statements about what those results "suggest," "imply," or "demonstrate" are interpretation.
4. Distinguish "Results" section content (facts) from "Discussion" section content (interpretation) when section origin is clear.
5. Flag overclaimed findings: if an interpretation passage asserts a causal relationship or generalizes beyond the study's design, set "type" to "speculation" and note the overclaim in the statement.
6. If the input contains no verifiable facts, return an empty array for "verifiable_facts". If it contains no interpretation, return an empty array for "interpretation".

## EXAMPLES
Input: "The mean response time was 245ms (SD=15ms). This suggests the new interface is faster than the baseline."
Output:
{
  "verifiable_facts": [
    {
      "claim_id": "F1",
      "statement": "The mean response time was 245ms with a standard deviation of 15ms.",
      "source_span": "The mean response time was 245ms (SD=15ms).",
      "checkable_by": "reproducible_experiment",
      "section_origin": "Results"
    }
  ],
  "interpretation": [
    {
      "passage_id": "I1",
      "statement": "The authors interpret the 245ms response time as evidence that the new interface is faster than the baseline.",
      "source_span": "This suggests the new interface is faster than the baseline.",
      "type": "author_interpretation",
      "section_origin": "Discussion"
    }
  ]
}

## RISK LEVEL
[RISK_LEVEL]

If RISK_LEVEL is "high", you must also include a "confidence" field (0.0 to 1.0) for every fact and interpretation, and flag any claim where confidence is below 0.7 for human review.

After pasting this template, replace [RESEARCH_PAPER_EXCERPT] with the text you want to analyze. Set [RISK_LEVEL] to "high" when the output feeds into a compliance, clinical, or publication-critical workflow—this activates the confidence scoring and human-review flags. For lower-stakes batch processing, set it to "standard" to reduce token usage. The output JSON can be validated against the schema before ingestion; reject any response where claim_id values are not unique or where source_span text does not appear verbatim in the input. For production pipelines, combine this prompt with a retry-and-repair harness that detects missing keys or malformed JSON and re-prompts the model with the error message.

IMPLEMENTATION TABLE

Prompt Variables

Inputs the prompt needs to work reliably. Validate these before sending to the model.

PlaceholderPurposeExampleValidation Notes

[RESEARCH_PAPER_TEXT]

The full text of the research paper to be processed, including abstract, methods, results, and discussion sections.

We conducted a randomized controlled trial with 1,200 participants. The treatment group showed a 15% reduction in symptoms (p<0.01). These findings suggest the intervention is highly effective for clinical practice.

Must be non-empty string. Check for minimum length of 100 characters to avoid trivial inputs. Verify that section boundaries are present or marked with standard headers.

[PAPER_SECTION]

The specific section of the paper being processed, used to adjust classification sensitivity for results vs. discussion content.

Results

Must match one of: Abstract, Introduction, Methods, Results, Discussion, Conclusion, Supplementary. Use exact section name from paper. Null allowed if processing full paper at once.

[CLASSIFICATION_TAXONOMY]

The set of labels used to classify each statement, defining the boundary between fact and interpretation.

Fact, Interpretation, Opinion, Prediction, Methodological Choice, Rhetorical Framing

Must be a valid JSON array of strings. Each label must be defined in the prompt instructions. Minimum 2 labels required. Check for duplicate or overlapping label definitions.

[OUTPUT_SCHEMA]

The expected JSON structure for each classified statement, including fields for text, label, confidence, and evidence basis.

{"statement": "...", "label": "Fact", "confidence": 0.92, "span_start": 1450, "span_end": 1523, "evidence_basis": "Reported statistical result with p-value"}

Must be valid JSON Schema or example object. Required fields: statement, label, confidence. Optional fields: span_start, span_end, evidence_basis, rationale. Validate that schema is parseable before prompt assembly.

[DOMAIN_CONTEXT]

Optional domain-specific terminology and evidence standards that adjust classification sensitivity for specialized fields.

Clinical trial reporting standards: p-values, confidence intervals, effect sizes are factual when reported as computed values. Clinical significance claims are interpretation.

Null allowed. If provided, must be string under 500 tokens. Check for contradictory guidance that could confuse classification boundaries.

[CONFIDENCE_THRESHOLD]

The minimum confidence score required for automatic classification. Statements below this threshold are flagged for human review.

0.75

Must be float between 0.0 and 1.0. Default 0.7 if not specified. Validate that threshold is appropriate for domain risk tolerance. Lower thresholds increase false positives on interpretation-as-fact.

[HUMAN_REVIEW_FLAG]

Boolean indicating whether ambiguous cases should be routed to human review or returned with low-confidence labels.

Must be true or false. When true, output must include review_queue field with specific questions for human reviewers. When false, system must log low-confidence classifications for audit.

[MAX_STATEMENT_LENGTH]

Maximum character length for a single extracted statement before splitting into smaller units.

500

Must be positive integer. Default 300 if not specified. Validate that value does not exceed model context window constraints. Excessively long statements degrade classification accuracy.

PROMPT PLAYBOOK

Implementation Harness Notes

How to wire the Research Paper Fact-Interpretation Split Prompt into a production verification pipeline with validation, retries, and human review routing.

This prompt is designed as a pre-processing step in a scientific claim verification pipeline. It should be called before evidence retrieval and matching, because downstream accuracy depends on cleanly separating checkable factual assertions from author interpretation, methodological commentary, and speculative discussion. The typical integration point is immediately after paper ingestion and text extraction, producing structured output that feeds into a claim extraction and decomposition stage. Do not use this prompt as a standalone fact-checker—it classifies and separates, but does not verify claims against external sources.

Wire the prompt into an application by constructing a request that includes the full paper text as [PAPER_TEXT], an optional [DOMAIN] field to bias classification toward domain-specific terminology (e.g., 'biomedical', 'materials science', 'computational linguistics'), and a strict [OUTPUT_SCHEMA] defining the expected JSON structure with fields for section_id, passage_text, classification (one of fact, interpretation, methodology, speculation, rhetorical_framing), confidence (0.0–1.0), and rationale. Validate the output against this schema immediately. If the model returns malformed JSON, use a repair prompt with the original output and schema definition before retrying. For high-stakes verification workflows, route any passage classified with confidence below 0.7 to a human review queue with the original text, model classification, and rationale attached. Log every classification decision with a trace ID linking paper, section, passage, and model version for auditability.

Choose a model with strong instruction-following and structured output capabilities. GPT-4o, Claude 3.5 Sonnet, and Gemini 1.5 Pro all perform well on this classification task, but test across your target domain's paper types before committing. If processing long papers, chunk by section rather than by arbitrary token windows—section boundaries are natural fact-interpretation boundaries, and splitting mid-section degrades classification quality. Implement a retry strategy with exponential backoff for transient API failures, but cap retries at three attempts. If the model consistently produces low-confidence classifications across multiple sections, escalate to a human reviewer rather than looping indefinitely. For batch processing, queue papers through a state machine that tracks extraction → classification → validation → routing, with dead-letter queues for unprocessable documents. Avoid wiring this prompt directly into a synchronous user-facing flow; the classification step should be asynchronous to accommodate validation, repair, and human review without blocking the user.

IMPLEMENTATION TABLE

Expected Output Contract

Validation rules for the structured JSON output produced by the Research Paper Fact-Interpretation Split Prompt. Use this contract to build a post-processing validator that rejects malformed or incomplete responses before they enter a verification pipeline.

Field or ElementType or FormatRequiredValidation Rule

paper_id

string

Non-empty string matching the [PAPER_ID] input exactly. Fail if missing or mismatched.

sections

array of objects

Array length must be >= 1. Fail if empty or not an array. Each element must conform to the section object schema below.

sections[].section_label

string

Must match one of the standard IMRaD labels: Abstract, Introduction, Methods, Results, Discussion, Conclusion, or a custom label provided in [SECTION_LABELS]. Fail on unrecognized labels unless [ALLOW_CUSTOM_LABELS] is true.

sections[].statements

array of objects

Array length must be >= 1. Fail if a section contains zero statements. Each element must conform to the statement object schema below.

sections[].statements[].statement_id

string

Unique within the entire response. Format: [PAPER_ID]-[SECTION_INDEX]-[STATEMENT_INDEX]. Fail on duplicates or malformed IDs.

sections[].statements[].original_text

string

Verbatim quote from the source paper. Fail if empty. Warn if length exceeds [MAX_QUOTE_LENGTH] characters.

sections[].statements[].classification

string

Must be exactly one of: fact, interpretation, methodological_choice, prediction, limitation, or rhetorical_framing. Fail on any other value.

sections[].statements[].verifiable

boolean

Must be true if classification is fact, false otherwise. Fail on inconsistency between classification and verifiable flag.

sections[].statements[].evidence_basis

string or null

If classification is fact, must be a non-null string describing the evidence type (e.g., reported_data, citation, equation, figure). If classification is not fact, must be null. Fail on mismatch.

sections[].statements[].confidence

number

Float between 0.0 and 1.0 inclusive. Fail if outside range. Warn if confidence < [MIN_CONFIDENCE_THRESHOLD] and classification is fact.

sections[].statements[].overclaimed_flag

boolean

Must be true if the statement appears in Results or Abstract but the evidence basis suggests it belongs in Discussion. Fail if missing. Human review required if true.

sections[].statements[].needs_human_review

boolean

Must be true if confidence < [HUMAN_REVIEW_THRESHOLD] or overclaimed_flag is true. Fail if missing. Route to review queue if true.

PRACTICAL GUARDRAILS

Common Failure Modes

What breaks first when separating facts from interpretation in research papers, and how to guard against it.

01

Results vs. Discussion Boundary Collapse

What to watch: The model treats author interpretations in the Discussion section as factual findings, especially when authors use confident language like 'demonstrates' or 'proves.' Guardrail: Explicitly instruct the model to treat the Results section as the primary source of factual claims and flag any statement from the Discussion or Conclusion that lacks a direct pointer to a reported measurement or statistical test in Results.

02

Overclaimed Findings from Hedged Language

What to watch: Authors use hedging ('suggests,' 'may indicate,' 'is consistent with') but the model strips the uncertainty and outputs a definitive factual claim. Guardrail: Require the model to preserve the original epistemic strength in the extracted fact statement. Add a validation step that checks if the output claim is stronger than the source sentence and flags it for human review.

03

Methodological Choices Presented as Facts

What to watch: The model extracts statements like 'the sample size was adequate' as a fact when it is a methodological judgment by the authors. Guardrail: Add a classification rule that any statement about study design quality, sample sufficiency, or method appropriateness is an interpretation, not a verifiable fact, unless it references an external standard or citation.

04

Statistical Significance Misinterpretation

What to watch: The model treats p-values and confidence intervals as binary truth markers, extracting 'X causes Y' from a statistically significant correlation without capturing the inferential leap. Guardrail: Require extracted facts to include the exact statistical measure, value, and test name. Flag any claim that converts a statistical association into a causal statement for separate causal-evidence review.

05

Citation Context Stripping

What to watch: The model extracts a claim that an author attributes to a cited source as if it were the current paper's own finding, losing the attribution chain. Guardrail: Require the output schema to include a claim_origin field with values this_study, cited_source, or author_synthesis. When cited_source, preserve the in-text citation marker and flag for cross-reference verification.

06

Figure and Table Inference Without Visual Grounding

What to watch: The model extracts claims from figure captions or table titles without access to the visual data, potentially misrepresenting what the chart actually shows. Guardrail: Restrict fact extraction from figures and tables to only the explicit numerical values stated in the caption or table body. Flag any claim that requires interpreting a trend line, chart shape, or image for human review with the original figure attached.

IMPLEMENTATION TABLE

Evaluation Rubric

Score each dimension on a sample of at least 50 paper sections with expert human annotations. Use this rubric to gate prompt changes before shipping.

CriterionPass StandardFailure SignalTest Method

Fact Boundary Precision

≥90% of extracted fact spans match human-annotated fact boundaries exactly

Facts include adjacent interpretive clauses; facts truncated mid-assertion

Span-level IOU against human annotations on 50+ paper sections

Interpretation False Positive Rate

≤5% of extracted facts are actually interpretation, opinion, or speculation

Discussion-section language classified as fact; hedged claims extracted without hedging

Expert review of 100 randomly sampled extracted facts for type correctness

Fact Recall

≥95% of human-annotated verifiable facts appear in the extracted fact set

Results-section data points missing from output; numerical findings omitted

Recall calculation against human-annotated ground truth fact inventory

Discussion vs Results Separation

≥90% of statements from Discussion sections classified as interpretation

Results restated in Discussion extracted as separate facts; author speculation labeled as fact

Section-origin tracking on 50 papers with explicit Discussion and Results sections

Overclaimed Finding Detection

≥85% of overclaimed findings flagged with rationale

Author claims causation from correlational results extracted as plain fact without caveat

Targeted test set of 20 papers with known overclaiming patterns verified by domain experts

Methodological Choice Classification

≥90% of methodological statements correctly classified as interpretation or design choice

Arbitrary parameter choices extracted as verifiable facts; protocol steps labeled as opinion

Methods-section annotation comparison on 30 papers with varied methodology complexity

Confidence Score Calibration

Mean confidence score for correct classifications ≥0.85; for incorrect ≤0.60

High confidence on boundary-blurred passages; low confidence on clear factual statements

Brier score and ECE calculation across 200 classified statements with human confidence labels

Cross-Section Consistency

Same statement appearing in abstract, results, and discussion receives consistent classification

Abstract summary classified differently from identical results-section statement

Duplicate-statement tracking across sections in 20 papers with repeated claims

ADAPTATION OPTIONS

Adapt This Prompt

How to adapt

Use the base prompt with a lightweight JSON schema. Focus on getting the fact/interp split directionally correct before adding strict validation. Run a small set of 10-20 paper paragraphs and manually review the output.

code
You are analyzing a research paper excerpt. For each sentence, classify it as:
- "fact": a verifiable, checkable assertion (methods, results, citations)
- "interpretation": author analysis, speculation, discussion, or framing

Return JSON:
{"statements": [{"text": "...", "classification": "fact|interpretation", "span": [start_char, end_char]}]}

Paper excerpt: [PAPER_TEXT]

Watch for

  • Missing schema checks leading to malformed JSON
  • Overly broad instructions causing everything to be classified as interpretation
  • Sentences containing both fact and interpretation being forced into one label
Prasad Kumkar

About the author

Prasad Kumkar

CEO & MD, Inference Systems

Prasad Kumkar is the CEO & MD of Inference Systems and writes about AI systems architecture, LLM infrastructure, model serving, evaluation, and production deployment. Over 5+ years, he has worked across computer vision models, L5 autonomous vehicle systems, and LLM research, with a focus on taking complex AI ideas into real-world engineering systems.

His work and writing cover AI systems, large language models, AI agents, multimodal systems, autonomous systems, inference optimization, RAG, evaluation, and production AI engineering.