RECOR-Benchmark/RECOR

Dataset

RECOR: Reasoning-focused Multi-turn Conversational Retrieval Benchmark

0

13 commits

2 linked in READMEs

updated Jan 13, 2026

See the code

README

RECOR: Reasoning-focused Multi-turn Conversational Retrieval Benchmark

A benchmark for evaluating reasoning-intensive conversational information retrieval systems.

Statistics

MetricValue
Total Conversations707
Total Turns2,971
Domains11
Avg. Turns per Conversation4.2

Domains

SourceDomains
BRIGHTbiology, earth_science, economics, psychology, robotics, sustainable_living
StackExchangeDrones, hardware, law, medicalsciences, politics

Per-Domain Statistics

DomainConversationsTurns
biology85362
earth_science98454
economics74288
psychology84333
robotics68259
sustainable_living78319
Drones37142
hardware46188
law50230
medicalsciences44183
politics43213

Dataset Structure

Subsets and Splits

SubsetDescription
benchmark707 multi-turn conversations
corpusDocument corpus (positive + negative)

Each subset has 11 domain splits:

SourceSplits
BRIGHTbiology, earth_science, economics, psychology, robotics, sustainable_living
StackExchangeDrones, hardware, law, medicalsciences, politics

Data Fields

Benchmark (conversations):

FieldDescription
idUnique conversation identifier
taskDomain name
original_queryInitial user question
original_answerAnswer to the initial question
turnsList of conversation turns
metadataConversation metadata (see below)

Metadata fields:

FieldDescription
num_turnsNumber of conversation turns
gold_doc_countTotal number of relevant documents
versionDataset version
created_atTimestamp of creation
sourceData source (bright or annotated_data)
methodGeneration method

Each turn contains:

FieldDescription
turn_idTurn number (1-indexed)
queryUser question for this turn
answerGold answer
gold_doc_idsList of relevant document IDs
conversation_historyPrevious turns context
subquestion_reasoningReasoning for the follow-up question
subquestion_reasoning_metadataStructured reasoning metadata (see below)

subquestion_reasoning_metadata:

FieldDescription
target_informationWhat information the query seeks
relevance_signalsKeywords/concepts indicating relevance
irrelevance_signalsKeywords/concepts indicating irrelevance

Corpus (documents):

FieldDescription
doc_idUnique document identifier
contentDocument text

Usage

from datasets import load_dataset

# Load a specific domain
biology_benchmark = load_dataset("RECOR-Benchmark/RECOR", "benchmark", split="biology")
biology_corpus = load_dataset("RECOR-Benchmark/RECOR", "corpus", split="biology")

# Load all domains for a subset
all_benchmarks = load_dataset("RECOR-Benchmark/RECOR", "benchmark")  # Returns all splits
all_corpus = load_dataset("RECOR-Benchmark/RECOR", "corpus")  # Returns all splits
# Access specific domain: all_benchmarks["biology"], all_corpus["economics"], etc.

# Get relevant documents for a conversation turn
conv = biology_benchmark[0]
turn = conv["turns"][0]
gold_ids = turn["gold_doc_ids"]
relevant_docs = [doc for doc in biology_corpus if doc["doc_id"] in gold_ids]

# Available splits (domains):
# biology, earth_science, economics, psychology, robotics, sustainable_living
# Drones, hardware, law, medicalsciences, politics

Iterate Through Conversations

for conv in biology_benchmark:
    print(f"ID: {conv['id']}")
    for turn in conv["turns"]:
        print(f"  Turn {turn['turn_id']}: {turn['query']}")

File Structure

data/
β”œβ”€β”€ benchmark/           # Conversations (11 files)
β”‚   └── {domain}_benchmark.jsonl
└── corpus/              # Documents (11 files)
    └── {domain}_documents.jsonl

Evaluation

For evaluation code and metrics, see the GitHub Repository.

License

MIT License

benchmark
conversational-ir
information-retrieval
multi-turn
reasoning

RECOR-Benchmark/RECOR

Dataset

RECOR: Reasoning-focused Multi-turn Conversational Retrieval Benchmark

0

13 commits

2 linked in READMEs

updated Jan 13, 2026

See the code

README

RECOR: Reasoning-focused Multi-turn Conversational Retrieval Benchmark

A benchmark for evaluating reasoning-intensive conversational information retrieval systems.

Statistics

MetricValue
Total Conversations707
Total Turns2,971
Domains11
Avg. Turns per Conversation4.2

Domains

SourceDomains
BRIGHTbiology, earth_science, economics, psychology, robotics, sustainable_living
StackExchangeDrones, hardware, law, medicalsciences, politics

Per-Domain Statistics

DomainConversationsTurns
biology85362
earth_science98454
economics74288
psychology84333
robotics68259
sustainable_living78319
Drones37142
hardware46188
law50230
medicalsciences44183
politics43213

Dataset Structure

Subsets and Splits

SubsetDescription
benchmark707 multi-turn conversations
corpusDocument corpus (positive + negative)

Each subset has 11 domain splits:

SourceSplits
BRIGHTbiology, earth_science, economics, psychology, robotics, sustainable_living
StackExchangeDrones, hardware, law, medicalsciences, politics

Data Fields

Benchmark (conversations):

FieldDescription
idUnique conversation identifier
taskDomain name
original_queryInitial user question
original_answerAnswer to the initial question
turnsList of conversation turns
metadataConversation metadata (see below)

Metadata fields:

FieldDescription
num_turnsNumber of conversation turns
gold_doc_countTotal number of relevant documents
versionDataset version
created_atTimestamp of creation
sourceData source (bright or annotated_data)
methodGeneration method

Each turn contains:

FieldDescription
turn_idTurn number (1-indexed)
queryUser question for this turn
answerGold answer
gold_doc_idsList of relevant document IDs
conversation_historyPrevious turns context
subquestion_reasoningReasoning for the follow-up question
subquestion_reasoning_metadataStructured reasoning metadata (see below)

subquestion_reasoning_metadata:

FieldDescription
target_informationWhat information the query seeks
relevance_signalsKeywords/concepts indicating relevance
irrelevance_signalsKeywords/concepts indicating irrelevance

Corpus (documents):

FieldDescription
doc_idUnique document identifier
contentDocument text

Usage

from datasets import load_dataset

# Load a specific domain
biology_benchmark = load_dataset("RECOR-Benchmark/RECOR", "benchmark", split="biology")
biology_corpus = load_dataset("RECOR-Benchmark/RECOR", "corpus", split="biology")

# Load all domains for a subset
all_benchmarks = load_dataset("RECOR-Benchmark/RECOR", "benchmark")  # Returns all splits
all_corpus = load_dataset("RECOR-Benchmark/RECOR", "corpus")  # Returns all splits
# Access specific domain: all_benchmarks["biology"], all_corpus["economics"], etc.

# Get relevant documents for a conversation turn
conv = biology_benchmark[0]
turn = conv["turns"][0]
gold_ids = turn["gold_doc_ids"]
relevant_docs = [doc for doc in biology_corpus if doc["doc_id"] in gold_ids]

# Available splits (domains):
# biology, earth_science, economics, psychology, robotics, sustainable_living
# Drones, hardware, law, medicalsciences, politics

Iterate Through Conversations

for conv in biology_benchmark:
    print(f"ID: {conv['id']}")
    for turn in conv["turns"]:
        print(f"  Turn {turn['turn_id']}: {turn['query']}")

File Structure

data/
β”œβ”€β”€ benchmark/           # Conversations (11 files)
β”‚   └── {domain}_benchmark.jsonl
└── corpus/              # Documents (11 files)
    └── {domain}_documents.jsonl

Evaluation

For evaluation code and metrics, see the GitHub Repository.

License

MIT License

benchmark
conversational-ir
information-retrieval
multi-turn
reasoning