Skip to content
beginnertext

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
Submit

Configuration Fileconfig.yaml

This Potato config reproduces the annotation task. Save it as config.yaml and run potato start config.yaml to try it.

yaml
# 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

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 items

Get This Design

View on GitHub

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)

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

selectradio

Domain

NLPInformation Retrieval

Use Cases

Passage RankingSearch RelevanceQuestion Answering

Tags

msmarcopassage-rankingrelevancesearchinformation-retrievalneurips2016

Found an issue or want to improve this design?

Open an Issue