WikiANN (PAN-X): Multilingual Named Entity Recognition
WikiANN / PAN-X is the multilingual NER dataset covering 282 languages, generated automatically from Wikipedia links and knowledge-base types. This page explains how it was built (silver-standard, not hand-annotated) and gives a runnable Potato config to produce gold PER/ORG/LOC labels or correct the silver ones.
About this dataset
WikiANN, also called PAN-X, is a multilingual named entity recognition dataset introduced by Pan and colleagues at ACL 2017. Its scale is the draw: name tagging and linking across 282 languages, far beyond what hand annotation could cover.
That scale is possible because WikiANN is silver-standard, not hand-annotated. The authors extracted entity mentions from Wikipedia anchor-link markup, assigned types using knowledge bases (DBpedia, YAGO, Freebase), and propagated those types across languages through Wikipedia's redirect and cross-lingual links. There were no annotators and no annotation guideline, so the labels carry known noise. The version most people load today is Rahimi, Li, and Cohn's (2019) balanced re-split of 176 languages, which uses three tags — PER, ORG, LOC — in IOB2 format.
Because it is automatic, WikiANN is a natural fit for a human-in-the-loop annotation task rather than a re-run of an original protocol. The Potato config below asks an annotator to mark PER/ORG/LOC spans in a Wikipedia sentence in any language and, when silver labels are present, to record whether they were correct or needed fixing.
Use it to build gold evaluation data for a language WikiANN only covers with silver labels, to clean noisy spans before training, or as a template for cross-lingual NER in the PER/ORG/LOC scheme. For a fully human-annotated, guideline-based NER dataset, see the related MasakhaNER 2.0 design.
- Released
- ACL 2017 (Pan et al.)
- Languages
- 282 original / 176 in the standard balanced splits
- Source
- Wikipedia (anchor links + DBpedia/YAGO/Freebase types)
- Label quality
- Silver / automatic — no human guideline
- Tag set
- PER, ORG, LOC (IOB2)
- Standard splits
- Rahimi et al., ACL 2019
Configuration Fileconfig.yaml
This Potato config reproduces the annotation task. Save it as config.yaml and run potato start config.yaml to try it.
# WikiANN / PAN-X - Multilingual Named Entity Recognition
# Based on Pan et al., ACL 2017 (original) and Rahimi et al., ACL 2019 (balanced splits)
# Papers: https://aclanthology.org/P17-1178/ | https://aclanthology.org/P19-1015/
# Dataset: https://huggingface.co/datasets/unimelb-nlp/wikiann
#
# IMPORTANT — how WikiANN was made: WikiANN (a.k.a. PAN-X) is a SILVER-standard,
# automatically generated resource. Pan et al. (2017) projected entity labels
# from Wikipedia anchor-link markup and knowledge-base types (DBpedia, YAGO,
# Freebase) across 282 languages. There were no human annotators and no
# annotation guideline — so the labels carry known noise. The widely used
# distribution is Rahimi et al.'s (2019) balanced re-split of 176 languages,
# which uses three tags — PER, ORG, LOC — in IOB2 format.
#
# This Potato config lets you produce GOLD labels in the same PER/ORG/LOC scheme
# — either annotating fresh Wikipedia sentences in any language, or correcting
# silver WikiANN labels. It is not a reconstruction of an original human protocol
# (there wasn't one); it is the human-in-the-loop task WikiANN's noise motivates.
#
# Tag set (Rahimi et al. 2019 balanced splits):
# - PER (Person): names of people
# - ORG (Organization): companies, institutions, agencies, teams
# - LOC (Location): countries, cities, regions, and other place names
# (the original paper's GPE type is folded into LOC in the standard splits)
annotation_task_name: "WikiANN - Multilingual NER"
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:
# Highlight entity spans and label each with its type
- annotation_type: span
name: entity_spans
description: "Highlight every named entity and label it PER, ORG, or LOC"
labels:
- "PER (Person)"
- "ORG (Organization)"
- "LOC (Location)"
label_colors:
"PER (Person)": "#3b82f6"
"ORG (Organization)": "#22c55e"
"LOC (Location)": "#ef4444"
keyboard_shortcuts:
"PER (Person)": "1"
"ORG (Organization)": "2"
"LOC (Location)": "3"
# Whether the auto-projected silver labels (if any) were correct
- annotation_type: radio
name: silver_label_check
description: "If this sentence came with silver WikiANN labels, were they correct?"
labels:
- "Correct"
- "Needs fixing"
- "No silver labels"
keyboard_shortcuts:
"Correct": "4"
"Needs fixing": "5"
"No silver labels": "6"
tooltips:
"Correct": "The pre-existing WikiANN labels matched your annotation"
"Needs fixing": "The pre-existing WikiANN labels were wrong or incomplete"
"No silver labels": "This sentence was annotated from scratch"
annotation_instructions: |
You will see a short sentence, typically from Wikipedia, in one of many
languages. Using the WikiANN / PAN-X tag set (PER, ORG, LOC):
1. Highlight every named-entity mention and label it with the correct type.
Select the full span (e.g. "United Nations", not just "United").
2. A place name inside an organization name is part of the ORG span (e.g. in
"University of Nairobi", the whole phrase is ORG).
3. If the sentence arrived with silver WikiANN labels, record whether those
labels were correct or needed fixing.
Note: WikiANN labels are generated automatically from Wikipedia links, so they
are noisy. Your job is to produce clean, gold-standard PER/ORG/LOC labels.
html_layout: |
<div style="padding: 15px; max-width: 800px; margin: auto;">
<div style="background: #eef2ff; border: 1px solid #c7d2fe; border-radius: 8px; padding: 8px 12px; margin-bottom: 12px; font-size: 13px; color: #4338ca;">
Language: {{lang}}
</div>
<div style="background: #f0f9ff; border: 1px solid #bae6fd; border-radius: 8px; padding: 16px;">
<p style="font-size: 18px; line-height: 1.8; margin: 0;">{{text}}</p>
</div>
</div>
allow_all_users: true
instances_per_annotator: 50
annotation_per_instance: 2
allow_skip: true
skip_reason_required: false
Sample Datasample-data.json
[
{
"id": "wikiann_en_001",
"lang": "English (en)",
"text": "Barack Obama served as the president of the United States and was born in Honolulu."
},
{
"id": "wikiann_fr_001",
"lang": "French (fr)",
"text": "Le siège de l'Organisation des Nations unies se trouve à New York."
}
]
// ... and 2 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/named-entity-recognition/wikiann-multilingual-ner potato start config.yaml
Dataset & paper
Pan et al., ACL 2017; Rahimi et al., ACL 2019
Citation (BibTeX)
@inproceedings{pan-etal-2017-cross,
title = "Cross-lingual Name Tagging and Linking for 282 Languages",
author = "Pan, Xiaoman and Zhang, Boliang and May, Jonathan and Nothman, Joel and Knight, Kevin and Ji, Heng",
booktitle = "Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers)",
month = jul,
year = "2017",
address = "Vancouver, Canada",
publisher = "Association for Computational Linguistics",
pages = "1946--1958",
url = "https://aclanthology.org/P17-1178/"
}
@inproceedings{rahimi-etal-2019-massively,
title = "Massively Multilingual Transfer for {NER}",
author = "Rahimi, Afshin and Li, Yuan and Cohn, Trevor",
booktitle = "Proceedings of the 57th Annual Meeting of the Association for Computational Linguistics",
month = jul,
year = "2019",
address = "Florence, Italy",
publisher = "Association for Computational Linguistics",
pages = "151--164",
url = "https://aclanthology.org/P19-1015/"
}Details
Annotation Types
Domain
Use Cases
Tags
Found an issue or want to improve this design?
Open an IssueRelated Designs
MultiTACRED Multilingual Relation Extraction Dataset
MultiTACRED machine-translates the TACRED relation extraction dataset into 12 languages, keeping 41 TAC relation types plus no_relation. This Potato config reproduces the entity-pair relation task.
SecureNLP - Malware and Security Entity Recognition
Named entity recognition in cybersecurity text, identifying malware, attack patterns, indicators, tools, vulnerabilities, and organizations, with document-level classification. Based on SemEval-2018 Task 8.
FQuAD: French Question Answering Dataset
FQuAD is the French extractive QA dataset from Illuin Technology, built on the SQuAD 1.1 protocol. University students read a French Wikipedia paragraph, write a question, and select the smallest answer span. Over 60,000 answerable QA pairs, with a runnable Potato config to reproduce or extend it.