PaperScope is a multi-modal, multi-document benchmark designed for evaluating agentic deep research capabilities across massive scientific papers. Built upon a knowledge graph of over 2,000 AI papers from top-tier venues (NeurIPS, ICLR, ICML, etc.), this dataset enables comprehensive evaluation of multi-modal large language models (MLLMs) on tasks requiring reasoning, retrieval, summarization, and problem-solving across multiple scientific documents.
| Split | Status | Description |
|---|---|---|
| corpus2 | πWithheld | Withheld to prevent data contamination and ensure fair evaluation |
| corpus1 | β Available | Development and validation purposes |
| Test | π Withheld | Withheld to prevent data contamination and ensure fair evaluation |
β οΈ Important Notice: The test set is intentionally NOT publicly released to prevent data leakage and maintain the integrity of benchmark evaluations. Researchers who wish to evaluate on the test set should contact the authors for blind evaluation.
π¦ Due to the large size of the full document corpus, we only release paper identifiers (OpenReview Paper IDs or paper titles) in the public version. The referenced papers can be accessed through:
- OpenReview:
https://openreview.net/pdf?id={paper_id}- Paper titles can be used to search on OpenReview, arXiv, or Semantic Scholar
data/
βββ camera_data/ # Processed evaluation data
β βββ corpus_1.jsonl # Paper identifiers (500 papers, title + OpenReview ID)
β βββ corpus_2.jsonl # Paper identifiers (2000 papers, title + OpenReview ID)
β βββ induction_corpus_1.jsonl # Paper retrieval/induction tasks
β βββ reasoning_corpus_1.jsonl # Multi-hop reasoning tasks
β βββ solution_corpus_1.jsonl # Problem-solving tasks
β βββ summary_corpus_1.jsonl # Summarization tasks
βββ README.md # This file
The paper corpus files contain paper identifiers that can be used to access the original papers from OpenReview.
corpus_1.jsonl (500 papers)| Field | Type | Description |
|---|---|---|
title | string | Paper title |
id | string | OpenReview paper ID |
Example:
{"title": "Sheared LLaMA: Accelerating Language Model Pre-training via Structured Pruning", "id": "09iOdaeOzp"}
corpus_2.jsonl (2000 papers)Same structure as corpus_1.jsonl, containing a larger set of 2000 papers from the knowledge graph.
Accessing Papers:
# Access paper PDF via OpenReview
paper_id = "09iOdaeOzp"
pdf_url = f"https://openreview.net/pdf?id={paper_id}"
induction_corpus_1.jsonl)Paper retrieval tasks where models must identify relevant papers given a complex, multi-faceted research query.
| Field | Type | Description |
|---|---|---|
question | string | Research query describing desired papers |
answer | list[dict] | List of relevant papers with metadata |
type | string | Query type: explicit or implicit |
common_entities | list[string] | Shared entities across answer papers |
Example:
{
"question": "Help me find papers that collectively address training efficiency...",
"answer": [
{"title": "Memory Efficient Optimizers with 4-bit States", "total_entities": 4892, ...},
{"title": "DoReMi: Optimizing Data Mixtures Speeds Up Language Model Pretraining", ...}
],
"type": "explicit",
"common_entities": ["SGD", "fine-tuning", "Transformers", ...]
}
reasoning_corpus_1.jsonl)Multi-hop reasoning tasks requiring evidence integration from multiple papers.
| Field | Type | Description |
|---|---|---|
id | int | Unique identifier |
subtask | string | Reasoning subtask type |
question | string | Reasoning question |
answer | string | Ground truth answer |
rationale | string | Step-by-step reasoning explanation |
answer_docs_links | list[string] | OpenReview PDF links (shuffled) |
source_paper_obj | dict | Source paper metadata with shuffled articles |
Subtask Types:
Figure-table-chart comparison - Compare visual elements across papersAlgorithm reasoning - Analyze algorithmic proceduresFormula reasoning - Mathematical formula analysisFigure-table-chart reasoning - Interpret figures/tablesPaper analysis - Comprehensive paper comparisonsolution_corpus_1.jsonl)Problem-solving tasks requiring synthesis of methods from multiple papers.
| Field | Type | Description |
|---|---|---|
question | string | Problem statement |
answer | string | Comprehensive solution |
original_question | string | Original query (if applicable) |
session | string | Session type |
num_papers | int | Number of source papers |
common_entities | list[string] | Shared entities |
extracted_solutions | list | Extracted solution components (shuffled) |
summary_corpus_1.jsonl)Summarization tasks for multi-paper synthesis.
| Field | Type | Description |
|---|---|---|
question | string | Summarization query with prompt type |
answer | string | Generated summary |
original_question | string | Base research query |
prompt_type | string | Summary type |
session | string | Query session type (explicit/implicit) |
num_papers | int | Number of papers to summarize |
common_entities | list[string] | Shared entities across papers |
pdf_links | list[string] | OpenReview PDF links (shuffled) |
Prompt Types:
trend - Development trend analysisgap - Research gap/limitation analysisresults_comparison - Experimental results comparison| Corpus | Samples | Avg. Papers/Sample | Task Focus |
|---|---|---|---|
| Induction | 200 | 5 | Paper Retrieval |
| Reasoning | 496 | 5 | Multi-hop Reasoning |
| Solution | 64 | 5 | Problem Solving |
| Summary | 600 | 5 | Multi-doc Summarization |
Total Samples: 1,360
Papers are processed to extract:
Questions are generated through:
import json
def load_jsonl(filepath):
data = []
with open(filepath, 'r', encoding='utf-8') as f:
for line in f:
data.append(json.loads(line.strip()))
return data
# Load different corpora
induction_data = load_jsonl('data/camera_data/induction_corpus_1.jsonl')
reasoning_data = load_jsonl('data/camera_data/reasoning_corpus_1.jsonl')
solution_data = load_jsonl('data/camera_data/solution_corpus_1.jsonl')
summary_data = load_jsonl('data/camera_data/summary_corpus_1.jsonl')
# From reasoning corpus
sample = reasoning_data[0]
paper_links = sample['answer_docs_links']
# Access papers via OpenReview
for link in paper_links:
paper_id = link.split('id=')[1]
print(f"Paper ID: {paper_id}")
print(f"PDF URL: https://openreview.net/pdf?id={paper_id}")
| Task | Primary Metrics |
|---|---|
| Induction | Recall@K, Precision@K, F1 |
| Reasoning | Exact Match, Token-F1 |
| Solution | ROUGE-L, BERTScore |
| Summary | ROUGE-L, Factual Consistency |
If you use this dataset, please cite:
@article{paperscope2025,
title={PaperScope: A Multi-Modal Multi-Document Benchmark for Agentic Deep Research Across Massive Scientific Papers},
author={Lei Xiong, Huaying Yuan, Zheng Liu, Zhicheng Dou, Zhao Cao},
year={2026}
}
This dataset is released under CC BY-NC 4.0.
For questions, test set evaluation requests, or issues:
Last Updated: January 2026
PaperScope is a multi-modal, multi-document benchmark designed for evaluating agentic deep research capabilities across massive scientific papers. Built upon a knowledge graph of over 2,000 AI papers from top-tier venues (NeurIPS, ICLR, ICML, etc.), this dataset enables comprehensive evaluation of multi-modal large language models (MLLMs) on tasks requiring reasoning, retrieval, summarization, and problem-solving across multiple scientific documents.
| Split | Status | Description |
|---|---|---|
| corpus2 | πWithheld | Withheld to prevent data contamination and ensure fair evaluation |
| corpus1 | β Available | Development and validation purposes |
| Test | π Withheld | Withheld to prevent data contamination and ensure fair evaluation |
β οΈ Important Notice: The test set is intentionally NOT publicly released to prevent data leakage and maintain the integrity of benchmark evaluations. Researchers who wish to evaluate on the test set should contact the authors for blind evaluation.
π¦ Due to the large size of the full document corpus, we only release paper identifiers (OpenReview Paper IDs or paper titles) in the public version. The referenced papers can be accessed through:
- OpenReview:
https://openreview.net/pdf?id={paper_id}- Paper titles can be used to search on OpenReview, arXiv, or Semantic Scholar
data/
βββ camera_data/ # Processed evaluation data
β βββ corpus_1.jsonl # Paper identifiers (500 papers, title + OpenReview ID)
β βββ corpus_2.jsonl # Paper identifiers (2000 papers, title + OpenReview ID)
β βββ induction_corpus_1.jsonl # Paper retrieval/induction tasks
β βββ reasoning_corpus_1.jsonl # Multi-hop reasoning tasks
β βββ solution_corpus_1.jsonl # Problem-solving tasks
β βββ summary_corpus_1.jsonl # Summarization tasks
βββ README.md # This file
The paper corpus files contain paper identifiers that can be used to access the original papers from OpenReview.
corpus_1.jsonl (500 papers)| Field | Type | Description |
|---|---|---|
title | string | Paper title |
id | string | OpenReview paper ID |
Example:
{"title": "Sheared LLaMA: Accelerating Language Model Pre-training via Structured Pruning", "id": "09iOdaeOzp"}
corpus_2.jsonl (2000 papers)Same structure as corpus_1.jsonl, containing a larger set of 2000 papers from the knowledge graph.
Accessing Papers:
# Access paper PDF via OpenReview
paper_id = "09iOdaeOzp"
pdf_url = f"https://openreview.net/pdf?id={paper_id}"
induction_corpus_1.jsonl)Paper retrieval tasks where models must identify relevant papers given a complex, multi-faceted research query.
| Field | Type | Description |
|---|---|---|
question | string | Research query describing desired papers |
answer | list[dict] | List of relevant papers with metadata |
type | string | Query type: explicit or implicit |
common_entities | list[string] | Shared entities across answer papers |
Example:
{
"question": "Help me find papers that collectively address training efficiency...",
"answer": [
{"title": "Memory Efficient Optimizers with 4-bit States", "total_entities": 4892, ...},
{"title": "DoReMi: Optimizing Data Mixtures Speeds Up Language Model Pretraining", ...}
],
"type": "explicit",
"common_entities": ["SGD", "fine-tuning", "Transformers", ...]
}
reasoning_corpus_1.jsonl)Multi-hop reasoning tasks requiring evidence integration from multiple papers.
| Field | Type | Description |
|---|---|---|
id | int | Unique identifier |
subtask | string | Reasoning subtask type |
question | string | Reasoning question |
answer | string | Ground truth answer |
rationale | string | Step-by-step reasoning explanation |
answer_docs_links | list[string] | OpenReview PDF links (shuffled) |
source_paper_obj | dict | Source paper metadata with shuffled articles |
Subtask Types:
Figure-table-chart comparison - Compare visual elements across papersAlgorithm reasoning - Analyze algorithmic proceduresFormula reasoning - Mathematical formula analysisFigure-table-chart reasoning - Interpret figures/tablesPaper analysis - Comprehensive paper comparisonsolution_corpus_1.jsonl)Problem-solving tasks requiring synthesis of methods from multiple papers.
| Field | Type | Description |
|---|---|---|
question | string | Problem statement |
answer | string | Comprehensive solution |
original_question | string | Original query (if applicable) |
session | string | Session type |
num_papers | int | Number of source papers |
common_entities | list[string] | Shared entities |
extracted_solutions | list | Extracted solution components (shuffled) |
summary_corpus_1.jsonl)Summarization tasks for multi-paper synthesis.
| Field | Type | Description |
|---|---|---|
question | string | Summarization query with prompt type |
answer | string | Generated summary |
original_question | string | Base research query |
prompt_type | string | Summary type |
session | string | Query session type (explicit/implicit) |
num_papers | int | Number of papers to summarize |
common_entities | list[string] | Shared entities across papers |
pdf_links | list[string] | OpenReview PDF links (shuffled) |
Prompt Types:
trend - Development trend analysisgap - Research gap/limitation analysisresults_comparison - Experimental results comparison| Corpus | Samples | Avg. Papers/Sample | Task Focus |
|---|---|---|---|
| Induction | 200 | 5 | Paper Retrieval |
| Reasoning | 496 | 5 | Multi-hop Reasoning |
| Solution | 64 | 5 | Problem Solving |
| Summary | 600 | 5 | Multi-doc Summarization |
Total Samples: 1,360
Papers are processed to extract:
Questions are generated through:
import json
def load_jsonl(filepath):
data = []
with open(filepath, 'r', encoding='utf-8') as f:
for line in f:
data.append(json.loads(line.strip()))
return data
# Load different corpora
induction_data = load_jsonl('data/camera_data/induction_corpus_1.jsonl')
reasoning_data = load_jsonl('data/camera_data/reasoning_corpus_1.jsonl')
solution_data = load_jsonl('data/camera_data/solution_corpus_1.jsonl')
summary_data = load_jsonl('data/camera_data/summary_corpus_1.jsonl')
# From reasoning corpus
sample = reasoning_data[0]
paper_links = sample['answer_docs_links']
# Access papers via OpenReview
for link in paper_links:
paper_id = link.split('id=')[1]
print(f"Paper ID: {paper_id}")
print(f"PDF URL: https://openreview.net/pdf?id={paper_id}")
| Task | Primary Metrics |
|---|---|
| Induction | Recall@K, Precision@K, F1 |
| Reasoning | Exact Match, Token-F1 |
| Solution | ROUGE-L, BERTScore |
| Summary | ROUGE-L, Factual Consistency |
If you use this dataset, please cite:
@article{paperscope2025,
title={PaperScope: A Multi-Modal Multi-Document Benchmark for Agentic Deep Research Across Massive Scientific Papers},
author={Lei Xiong, Huaying Yuan, Zheng Liu, Zhicheng Dou, Zhao Cao},
year={2026}
}
This dataset is released under CC BY-NC 4.0.
For questions, test set evaluation requests, or issues:
Last Updated: January 2026