> OCR-MetaReasoning is a controlled benchmark for testing whether multimodal large language models (MLLMs) can organize OCR-grounded visual evidence according to the required reasoning direction, rather than merely copy text from an image.
1
15 commits
2 linked in READMEs
updated Sep 1, 2026
Overview Β· Task Β· Dataset Β· Evaluation Β· Citation
OCR-MetaReasoning is a controlled benchmark for testing whether multimodal large language models (MLLMs) can organize OCR-grounded visual evidence according to the required reasoning direction, rather than merely copy text from an image.
| 1,500 verified samples | 3 reasoning subsets | 3 x 5 balanced taxonomy | 15 taxonomy cells | 2 evaluation views |
Text-rich images encode meaning through words, tables, charts, fields, layout, constraints, legends, and cross-region correspondences. OCR-MetaReasoning evaluates the ability to use these signals in the reasoning direction required by a question.
Each item contains one text-rich image, one question, a canonical answer, an answer format and scoring rule, and a reference reasoning path. The release is balanced across three meta-reasoning types and five OCR-object categories, enabling controlled analysis of both answer correctness and visible reasoning-process compliance.
Benchmark construction pipeline. See the paper for the full protocol.
| Property | Description |
|---|---|
| Primary target | OCR-grounded meta-reasoning in text-rich image understanding |
| Input | One image and one question |
| Release size | 1,500 samples, 500 per subset |
| Taxonomy | 3 reasoning types x 5 OCR-object categories; 100 samples per cell |
| Answer formats | String, integer, floating-point, and JSON |
| Reference path | 2-8 numbered reasoning steps; 4.22 steps on average |
| Image setting | Single image per sample |
| Language | English |
The label is assigned according to the dominant bottleneck needed to recover the target variable. A sample may still contain local arithmetic, lookup, comparison, or OCR operations.
| Subset | Formal view | Required behavior |
|---|---|---|
meta_deductive | H + R -> O | Extract a visible rule, clause, threshold, formula, legend, or field dependency; verify a candidate against it; derive the supported conclusion. |
meta_inductive | H + O -> R | Align multiple visible examples; infer a stable but unstated pattern; test it and generalize it to a target. |
meta_abductive | O + R -> H | Start from an observed result, anomaly, or goal; reason backward through constraints; recover the unique or minimal hidden premise. |
| Category | Typical evidence | Samples |
|---|---|---|
transaction_analysis_reasoning | Receipts and invoices: quantities, prices, totals, discounts, taxes, and units. | 300 |
data_interpretation_reasoning | Tables and charts: trends, comparisons, derived values, and visual encodings. | 300 |
field_dependency_reasoning | Forms and certificates: relations among labels, values, and cross-field constraints. | 300 |
document_logic_reasoning | Notices and policy-like documents: clauses, eligibility, exceptions, and conditions. | 300 |
layout_semantics_reasoning | Posters, webpages, and infographics: grouping, alignment, legends, and non-adjacent evidence. | 300 |
Every combination of one reasoning type and one OCR-object category contains 100 samples.
The dataset provides three independent Hugging Face configs. Each config exposes a train split with 500 annotated samples. The split name reflects the released file structure; it is the complete annotated benchmark subset, not a predefined train/test partition.
The extracted project layout is:
dataset/
βββ meta_deductive/
β βββ benchmark_meta_deductive.jsonl
β βββ images/
βββ meta_inductive/
β βββ benchmark_meta_inductive.jsonl
β βββ images/
βββ meta_abductive/
βββ benchmark_meta_abductive.jsonl
βββ images/
The three subset directories are independent. Image paths in each JSONL file are relative to that subset, and the downloaded/extracted layout mirrors the repository dataset/ directory.
pip install -U datasets
from datasets import load_dataset
repo_id = "GengxuLi123/OCR-MetaReasoning"
configs = ["meta_deductive", "meta_inductive", "meta_abductive"]
subsets = {
config: load_dataset(repo_id, config, split="train")
for config in configs
}
sample = subsets["meta_deductive"][0]
print(sample["question"])
print(sample["answer_type"], sample["metric"])
sample["image"].save("example.png")
For benchmark evaluation, use only image and question as model inputs. Keep answer and reasoning_steps hidden from the model.
from datasets import load_dataset
local_files = {
"meta_deductive": "dataset/meta_deductive/benchmark_meta_deductive.jsonl",
"meta_inductive": "dataset/meta_inductive/benchmark_meta_inductive.jsonl",
"meta_abductive": "dataset/meta_abductive/benchmark_meta_abductive.jsonl",
}
local_subsets = {
config: load_dataset("json", data_files={"train": path}, split="train")
for config, path in local_files.items()
}
| Field | Type | Description |
|---|---|---|
sample_id | string | Unique identifier within its subset. |
image | image | Relative image path in the source JSONL; decoded as an image feature by datasets. |
question | string | Question about the text-rich image. |
meta_reasoning_type | string | One of the three subset names. |
reasoning_taxonomy | string | One of the five OCR-object category names. |
answer_type | string | string, integer, float, or json. |
answer | string | Canonical answer used for scoring; structured answers are serialized as JSON. |
reasoning_steps | sequence of strings | Reference reasoning path, with numbered steps beginning at Step1. |
metric | string | Released values are exact_match, numeric, or json_f1. |
| Answer type | Samples | Scoring |
|---|---|---|
| String | 513 | Normalized exact match |
| Integer | 561 | Normalized numeric match |
| Float | 146 | Normalized numeric match |
| JSON | 280 | JSON micro-F1 over flattened key-value items |
| Total | 1,500 |
Models are prompted to return numbered reasoning steps followed by a standalone final-answer line:
Step 1: ...
Step 2: ...
...
Final Answer: ...
The released evaluator extracts only the final-answer line for answer scoring and retains the preceding visible process for RPCS evaluation.
The primary metric is the Meta-Reasoning Macro Score (MRMS):
MRMS = (Acc_deductive + Acc_inductive + Acc_abductive) / 3
Each Acc is the mean per-sample score for one reasoning subset. The macro average prevents performance on one reasoning direction from hiding weakness in another. MRMS is normalized to [0, 1]; paper tables report percentage points.
The Reasoning Process Compliance Score (RPCS) is a separate diagnostic over the visible reasoning process:
RPCS = (capability_match + groundedness + step_completeness + non_hallucination) / 4
| Criterion | Meaning |
|---|---|
capability_match | The dominant process follows the target deduction, induction, or abduction direction. |
groundedness | Key claims are tied to image evidence or question constraints. |
step_completeness | Necessary intermediate reasoning nodes are covered. |
non_hallucination | The process avoids unsupported rules, entities, fields, and values. |
RPCS evaluates visible rationales and should not be interpreted as a direct measurement of hidden internal reasoning. The paper's judge protocol removes the standalone final-answer line and withholds the gold answer, predicted answer, and MRMS score.
The following results are reported in the paper. Scores are percentage points; MRMS is deterministic answer scoring and RPCS is the judge-based process diagnostic.
| Model | MRMS | RPCS |
|---|---|---|
| Gemini-3.1-Pro-Preview | 89.3 | 96.2 |
| GPT-5.4-Medium | 87.7 | 95.2 |
| Doubao-Seed-2.0-Pro | 86.4 | 93.0 |
| Qwen3-VL-235B-A22B-Thinking | 81.5 | 89.6 |
The benchmark was constructed from public OCR-oriented seeds covering receipts, charts, forms, policy-like documents, posters, webpages, and infographics. Source collections include CORD, WildReceipt, ChartQA, ChartXiv, FUNSD, DocVQA, InfoVQA, and TextVQA. MLLMs assisted with sample synthesis and controlled image edits; human verification determined whether a candidate was retained.
Three PhD students with MLLM research experience checked each retained item against five requirements: image-grounded primary evidence, at least two required evidence points, a unique or uniquely minimal answer, a label matching the dominant reasoning bottleneck, and a compatible automatic scorer.
| Quality check | Result |
|---|---|
| Complete annotations | 1,500 / 1,500 |
| Image-question correspondence | 1,500 / 1,500 |
| Valid answer format and scoring rule | 1,500 / 1,500 |
| Multi-step reference reasoning | 1,500 / 1,500 |
| Blinded agreement: reasoning type | 96.0% |
| Blinded agreement: OCR-object category | 92.7% |
The final release contains 1,299 unmodified images and 201 edited/reconstructed images. All edited/reconstructed images are in the meta_abductive subset.
@misc{li2026ocrmetareasoningbenchmarkevaluatingmetareasoning,
title = {OCR-MetaReasoning Benchmark: Evaluating the Meta-Reasoning Ability of MLLMs in Text-Rich Image Understanding},
author = {Gengxu Li and Yuan Wu and Yi Chang},
year = {2026},
eprint = {2608.30678},
archivePrefix = {arXiv},
primaryClass = {cs.CL},
url = {https://arxiv.org/abs/2608.30678}
}
This work is supported by the National Key Research and Development Program of China (No. 2023YFF0905400), the National Natural Science Foundation of China (No. U2341229), and the Reform Commission Foundation of Jilin Province (No. 2024C003).
15 commits
> OCR-MetaReasoning is a controlled benchmark for testing whether multimodal large language models (MLLMs) can organize OCR-grounded visual evidence according to the required reasoning direction, rather than merely copy text from an image.
1
15 commits
2 linked in READMEs
updated Sep 1, 2026
Overview Β· Task Β· Dataset Β· Evaluation Β· Citation
OCR-MetaReasoning is a controlled benchmark for testing whether multimodal large language models (MLLMs) can organize OCR-grounded visual evidence according to the required reasoning direction, rather than merely copy text from an image.
| 1,500 verified samples | 3 reasoning subsets | 3 x 5 balanced taxonomy | 15 taxonomy cells | 2 evaluation views |
Text-rich images encode meaning through words, tables, charts, fields, layout, constraints, legends, and cross-region correspondences. OCR-MetaReasoning evaluates the ability to use these signals in the reasoning direction required by a question.
Each item contains one text-rich image, one question, a canonical answer, an answer format and scoring rule, and a reference reasoning path. The release is balanced across three meta-reasoning types and five OCR-object categories, enabling controlled analysis of both answer correctness and visible reasoning-process compliance.
Benchmark construction pipeline. See the paper for the full protocol.
| Property | Description |
|---|---|
| Primary target | OCR-grounded meta-reasoning in text-rich image understanding |
| Input | One image and one question |
| Release size | 1,500 samples, 500 per subset |
| Taxonomy | 3 reasoning types x 5 OCR-object categories; 100 samples per cell |
| Answer formats | String, integer, floating-point, and JSON |
| Reference path | 2-8 numbered reasoning steps; 4.22 steps on average |
| Image setting | Single image per sample |
| Language | English |
The label is assigned according to the dominant bottleneck needed to recover the target variable. A sample may still contain local arithmetic, lookup, comparison, or OCR operations.
| Subset | Formal view | Required behavior |
|---|---|---|
meta_deductive | H + R -> O | Extract a visible rule, clause, threshold, formula, legend, or field dependency; verify a candidate against it; derive the supported conclusion. |
meta_inductive | H + O -> R | Align multiple visible examples; infer a stable but unstated pattern; test it and generalize it to a target. |
meta_abductive | O + R -> H | Start from an observed result, anomaly, or goal; reason backward through constraints; recover the unique or minimal hidden premise. |
| Category | Typical evidence | Samples |
|---|---|---|
transaction_analysis_reasoning | Receipts and invoices: quantities, prices, totals, discounts, taxes, and units. | 300 |
data_interpretation_reasoning | Tables and charts: trends, comparisons, derived values, and visual encodings. | 300 |
field_dependency_reasoning | Forms and certificates: relations among labels, values, and cross-field constraints. | 300 |
document_logic_reasoning | Notices and policy-like documents: clauses, eligibility, exceptions, and conditions. | 300 |
layout_semantics_reasoning | Posters, webpages, and infographics: grouping, alignment, legends, and non-adjacent evidence. | 300 |
Every combination of one reasoning type and one OCR-object category contains 100 samples.
The dataset provides three independent Hugging Face configs. Each config exposes a train split with 500 annotated samples. The split name reflects the released file structure; it is the complete annotated benchmark subset, not a predefined train/test partition.
The extracted project layout is:
dataset/
βββ meta_deductive/
β βββ benchmark_meta_deductive.jsonl
β βββ images/
βββ meta_inductive/
β βββ benchmark_meta_inductive.jsonl
β βββ images/
βββ meta_abductive/
βββ benchmark_meta_abductive.jsonl
βββ images/
The three subset directories are independent. Image paths in each JSONL file are relative to that subset, and the downloaded/extracted layout mirrors the repository dataset/ directory.
pip install -U datasets
from datasets import load_dataset
repo_id = "GengxuLi123/OCR-MetaReasoning"
configs = ["meta_deductive", "meta_inductive", "meta_abductive"]
subsets = {
config: load_dataset(repo_id, config, split="train")
for config in configs
}
sample = subsets["meta_deductive"][0]
print(sample["question"])
print(sample["answer_type"], sample["metric"])
sample["image"].save("example.png")
For benchmark evaluation, use only image and question as model inputs. Keep answer and reasoning_steps hidden from the model.
from datasets import load_dataset
local_files = {
"meta_deductive": "dataset/meta_deductive/benchmark_meta_deductive.jsonl",
"meta_inductive": "dataset/meta_inductive/benchmark_meta_inductive.jsonl",
"meta_abductive": "dataset/meta_abductive/benchmark_meta_abductive.jsonl",
}
local_subsets = {
config: load_dataset("json", data_files={"train": path}, split="train")
for config, path in local_files.items()
}
| Field | Type | Description |
|---|---|---|
sample_id | string | Unique identifier within its subset. |
image | image | Relative image path in the source JSONL; decoded as an image feature by datasets. |
question | string | Question about the text-rich image. |
meta_reasoning_type | string | One of the three subset names. |
reasoning_taxonomy | string | One of the five OCR-object category names. |
answer_type | string | string, integer, float, or json. |
answer | string | Canonical answer used for scoring; structured answers are serialized as JSON. |
reasoning_steps | sequence of strings | Reference reasoning path, with numbered steps beginning at Step1. |
metric | string | Released values are exact_match, numeric, or json_f1. |
| Answer type | Samples | Scoring |
|---|---|---|
| String | 513 | Normalized exact match |
| Integer | 561 | Normalized numeric match |
| Float | 146 | Normalized numeric match |
| JSON | 280 | JSON micro-F1 over flattened key-value items |
| Total | 1,500 |
Models are prompted to return numbered reasoning steps followed by a standalone final-answer line:
Step 1: ...
Step 2: ...
...
Final Answer: ...
The released evaluator extracts only the final-answer line for answer scoring and retains the preceding visible process for RPCS evaluation.
The primary metric is the Meta-Reasoning Macro Score (MRMS):
MRMS = (Acc_deductive + Acc_inductive + Acc_abductive) / 3
Each Acc is the mean per-sample score for one reasoning subset. The macro average prevents performance on one reasoning direction from hiding weakness in another. MRMS is normalized to [0, 1]; paper tables report percentage points.
The Reasoning Process Compliance Score (RPCS) is a separate diagnostic over the visible reasoning process:
RPCS = (capability_match + groundedness + step_completeness + non_hallucination) / 4
| Criterion | Meaning |
|---|---|
capability_match | The dominant process follows the target deduction, induction, or abduction direction. |
groundedness | Key claims are tied to image evidence or question constraints. |
step_completeness | Necessary intermediate reasoning nodes are covered. |
non_hallucination | The process avoids unsupported rules, entities, fields, and values. |
RPCS evaluates visible rationales and should not be interpreted as a direct measurement of hidden internal reasoning. The paper's judge protocol removes the standalone final-answer line and withholds the gold answer, predicted answer, and MRMS score.
The following results are reported in the paper. Scores are percentage points; MRMS is deterministic answer scoring and RPCS is the judge-based process diagnostic.
| Model | MRMS | RPCS |
|---|---|---|
| Gemini-3.1-Pro-Preview | 89.3 | 96.2 |
| GPT-5.4-Medium | 87.7 | 95.2 |
| Doubao-Seed-2.0-Pro | 86.4 | 93.0 |
| Qwen3-VL-235B-A22B-Thinking | 81.5 | 89.6 |
The benchmark was constructed from public OCR-oriented seeds covering receipts, charts, forms, policy-like documents, posters, webpages, and infographics. Source collections include CORD, WildReceipt, ChartQA, ChartXiv, FUNSD, DocVQA, InfoVQA, and TextVQA. MLLMs assisted with sample synthesis and controlled image edits; human verification determined whether a candidate was retained.
Three PhD students with MLLM research experience checked each retained item against five requirements: image-grounded primary evidence, at least two required evidence points, a unique or uniquely minimal answer, a label matching the dominant reasoning bottleneck, and a compatible automatic scorer.
| Quality check | Result |
|---|---|
| Complete annotations | 1,500 / 1,500 |
| Image-question correspondence | 1,500 / 1,500 |
| Valid answer format and scoring rule | 1,500 / 1,500 |
| Multi-step reference reasoning | 1,500 / 1,500 |
| Blinded agreement: reasoning type | 96.0% |
| Blinded agreement: OCR-object category | 92.7% |
The final release contains 1,299 unmodified images and 201 edited/reconstructed images. All edited/reconstructed images are in the meta_abductive subset.
@misc{li2026ocrmetareasoningbenchmarkevaluatingmetareasoning,
title = {OCR-MetaReasoning Benchmark: Evaluating the Meta-Reasoning Ability of MLLMs in Text-Rich Image Understanding},
author = {Gengxu Li and Yuan Wu and Yi Chang},
year = {2026},
eprint = {2608.30678},
archivePrefix = {arXiv},
primaryClass = {cs.CL},
url = {https://arxiv.org/abs/2608.30678}
}
This work is supported by the National Key Research and Development Program of China (No. 2023YFF0905400), the National Natural Science Foundation of China (No. U2341229), and the Reform Commission Foundation of Jilin Province (No. 2024C003).
15 commits