MS MARCO: Passage Ranking Benchmark
MS MARCO is a large-scale information retrieval benchmark of 8.8M passages and real Bing queries with relevance judgments. This Potato task reproduces graded passage-relevance annotation.
About this dataset
MS MARCO (Microsoft Machine Reading Comprehension) was released by Nguyen et al. at Microsoft and presented at the NeurIPS 2016 workshop on cognitive computation. The passage ranking benchmark was built on top of it, sampling questions from anonymized real Bing search logs.
The passage collection holds about 8.8 million passages. The training set covers roughly 808K queries with 532,761 relevance judgments (qrels), and the small development set used for the public leaderboard has 6,980 queries.
The benchmark defines two tasks: passage re-ranking (re-order a BM25-retrieved top-1000 list per query) and full ranking (retrieve and rank from the full 8.8M collection). Systems are scored with MRR@10, the official metric for the development set.
The Potato config below reproduces the relevance-judgment step: an annotator reads a query and a candidate passage, then assigns a graded relevance label on a radio scale, the human signal that produces the qrels behind ranking evaluation.
- Passage collection
- ~8.8M passages
- Training queries
- ~808K
- Training qrels
- 532,761
- Dev queries (leaderboard)
- 6,980
- Official metric
- MRR@10
- Query source
- Real Bing search logs
Configuration Fileconfig.yaml
This Potato config reproduces the annotation task. Save it as config.yaml and run potato start config.yaml to try it.
# MS MARCO - Passage Relevance Ranking
# Based on Nguyen et al., NeurIPS 2016 Workshop
# Paper: https://arxiv.org/abs/1611.09268
# Dataset: https://microsoft.github.io/msmarco/
#
# Assess the relevance of a candidate passage to a given search query.
# Use the graded relevance scale to indicate how well the passage
# answers the query, from perfectly relevant to completely off-topic.
annotation_task_name: "MS MARCO: Passage Relevance Ranking"
task_dir: "."
data_files:
- sample-data.json
item_properties:
id_key: "id"
text_key: "text"
output_annotation_dir: "annotation_output/"
output_annotation_format: "json"
port: 8000
server_name: localhost
annotation_schemes:
- annotation_type: select
name: relevance_grade
description: "How relevant is this passage to the query?"
labels:
- "Perfectly Relevant"
- "Partially Relevant"
- "Not Relevant"
- "Off-Topic"
tooltips:
"Perfectly Relevant": "The passage directly and completely answers the query"
"Partially Relevant": "The passage contains some relevant information but does not fully answer the query"
"Not Relevant": "The passage is on a related topic but does not answer the query"
"Off-Topic": "The passage has no relation to the query whatsoever"
- annotation_type: radio
name: passage_quality
description: "Is the passage well-written and informative?"
labels:
- "High Quality"
- "Acceptable"
- "Low Quality"
keyboard_shortcuts:
"High Quality": "1"
"Acceptable": "2"
"Low Quality": "3"
annotation_instructions: |
You will be shown a search query and a candidate passage. Your task is to:
1. Read the query carefully to understand the user's information need.
2. Read the passage and assess how well it answers the query.
3. Select the appropriate relevance grade from the dropdown.
4. Rate the overall quality of the passage.
html_layout: |
<div style="padding: 15px; max-width: 800px; margin: auto;">
<div style="background: #fefce8; border: 1px solid #fde68a; border-radius: 8px; padding: 16px; margin-bottom: 16px;">
<strong style="color: #a16207;">Query:</strong>
<p style="font-size: 18px; font-weight: 600; line-height: 1.6; margin: 8px 0 0 0;">{{query}}</p>
</div>
<div style="background: #f0f9ff; border: 1px solid #bae6fd; border-radius: 8px; padding: 16px; margin-bottom: 16px;">
<strong style="color: #0369a1;">Passage:</strong>
<p style="font-size: 16px; line-height: 1.7; margin: 8px 0 0 0;">{{text}}</p>
</div>
</div>
allow_all_users: true
instances_per_annotator: 100
annotation_per_instance: 3
allow_skip: true
skip_reason_required: false
Sample Datasample-data.json
[
{
"id": "msmarco_001",
"text": "The Great Wall of China is approximately 13,171 miles (21,196 kilometers) long, according to a comprehensive archaeological survey completed in 2012 by China's State Administration of Cultural Heritage. This measurement includes all sections built over various dynasties, not just the well-known Ming Dynasty portions.",
"query": "how long is the great wall of china"
},
{
"id": "msmarco_002",
"text": "Photosynthesis is the process by which green plants and certain other organisms transform light energy into chemical energy. During photosynthesis, plants capture light energy from the sun and use it to convert water and carbon dioxide into oxygen and glucose. The overall equation is: 6CO2 + 6H2O + light energy -> C6H12O6 + 6O2.",
"query": "what is the process of photosynthesis"
}
]
// ... and 8 more itemsGet This Design
Clone or download from the repository
Quick start:
git clone https://github.com/davidjurgens/potato-showcase.git cd potato-showcase/text/information-retrieval/msmarco-passage-ranking potato start config.yaml
Dataset & paper
Nguyen et al., NIPS 2016 Workshop (CoCo@NIPS)
Citation (BibTeX)
@inproceedings{nguyen2016msmarco,
title = "{MS MARCO}: A Human Generated {MA}chine Reading {CO}mprehension Dataset",
author = "Nguyen, Tri and Rosenberg, Mir and Song, Xia and Gao, Jianfeng and Tiwary, Saurabh and Majumder, Rangan and Deng, Li",
booktitle = "Proceedings of the Workshop on Cognitive Computation: Integrating Neural and Symbolic Approaches (CoCo@NIPS 2016)",
year = "2016",
url = "https://arxiv.org/abs/1611.09268"
}Details
Annotation Types
Domain
Use Cases
Tags
Found an issue or want to improve this design?
Open an IssueRelated Designs
Financial PhraseBank: Financial News Sentiment Dataset
Financial PhraseBank labels English financial news sentences as positive, negative, or neutral by their likely effect on the company's stock price. This Potato config reproduces the annotation task.
KG-BERT Knowledge Graph Triple Validation
Validate knowledge graph triples for correctness and annotate relation types based on the KG-BERT framework. Annotators assess whether entity-relation-entity triples are valid, classify the relation type, and provide entity descriptions.
SemEval-2007 - Word Sense Disambiguation
Word sense disambiguation task based on the SemEval-2007 English lexical sample (Pradhan et al.). Annotators identify the correct sense of a target word in context from a provided list of sense definitions.