Biomedical Named Entity Recognition (JNLPBA)
Named entity recognition for biomedical text based on the JNLPBA shared task. Annotate the five GENIA bio-entity classes (protein, DNA, RNA, cell line, cell type) in molecular-biology MEDLINE abstracts, following BioNLP community standards.
Configuration Fileconfig.yaml
This Potato config reproduces the annotation task. Save it as config.yaml and run potato start config.yaml to try it.
# Biomedical Named Entity Recognition (JNLPBA)
# Based on the JNLPBA 2004 Bio-Entity Recognition shared task
# (Collier et al., JNLPBA/BioNLP 2004), which annotates the GENIA
# corpus of molecular-biology MEDLINE abstracts.
#
# Entity Types (the five JNLPBA / GENIA bio-entity classes):
# - Protein: proteins, protein families/complexes/subunits, receptors
# (e.g., "NF-kappa B", "IL-2", "STAT1", "TNF-alpha")
# - DNA: genes, gene families, DNA regions, promoters, binding sites
# (e.g., "IL-2 gene", "kappa B site", "IL-2 promoter")
# - RNA: RNA and mRNA (e.g., "IL-6 mRNA", "CD23 mRNA")
# - Cell_line: established cell lines (e.g., "Jurkat cells", "HeLa cells",
# "HL-60 cells", "U937 cell line")
# - Cell_type: cell types (e.g., "T cells", "monocytes",
# "peripheral blood lymphocytes", "B cells")
#
# Annotation Guidelines:
# 1. Annotate the full entity phrase, including modifiers
# - "peripheral blood lymphocytes" not just "lymphocytes"
# 2. Include stand-alone abbreviations and symbols
# - "IL-2", "NF-kappa B", "TNF-alpha"
# 3. Do NOT include articles (a, the) in the span
# 4. For nested entities, annotate the outermost (longest) mention
# 5. Annotate each mention, even if repeated
# 6. When the class is ambiguous, use surrounding context to decide
# (e.g., "IL-2" as the protein vs. "IL-2 gene" as DNA)
#
# Difficult Cases:
# - "IL-2 gene" → DNA (whole phrase); "IL-2" alone → Protein
# - "IL-2 mRNA" → RNA (whole phrase)
# - "Jurkat cells" → Cell_line; "T cells" → Cell_type
# - "kappa B site" / "IL-2 promoter" → DNA (regulatory DNA regions)
annotation_task_name: "Biomedical Named Entity Recognition"
task_dir: "."
data_files:
- sample-data.json
item_properties:
id_key: "id"
text_key: "text"
output_annotation_dir: "annotation_output/"
output_annotation_format: "json"
annotation_schemes:
- annotation_type: span
name: entities
description: "Highlight all bio-entities in the text using the five JNLPBA classes"
labels:
- "Protein"
- "DNA"
- "RNA"
- "Cell_line"
- "Cell_type"
label_colors:
"Protein": "#0891b2"
"DNA": "#3b82f6"
"RNA": "#8b5cf6"
"Cell_line": "#ef4444"
"Cell_type": "#22c55e"
tooltips:
"Protein": "Proteins, protein families/complexes/subunits, receptors, transcription factors (e.g., 'NF-kappa B', 'IL-2', 'STAT1', 'TNF-alpha')"
"DNA": "Genes, gene families, DNA regions, promoters and binding sites (e.g., 'IL-2 gene', 'kappa B site', 'IL-2 promoter')"
"RNA": "RNA and mRNA (e.g., 'IL-6 mRNA', 'CD23 mRNA')"
"Cell_line": "Established cell lines (e.g., 'Jurkat cells', 'HeLa cells', 'HL-60 cells', 'U937 cell line')"
"Cell_type": "Cell types (e.g., 'T cells', 'monocytes', 'peripheral blood lymphocytes', 'B cells')"
allow_overlapping: false
allow_all_users: true
instances_per_annotator: 50
annotation_per_instance: 2
allow_skip: true
skip_reason_required: false
Sample Datasample-data.json
[
{
"id": "bio_001",
"text": "Activation of the IL-2 gene in Jurkat T cells requires binding of NF-kappa B to the kappa B enhancer element."
},
{
"id": "bio_002",
"text": "Glucocorticoids repress transcription of the interleukin-2 gene by interfering with AP-1 and NF-AT in peripheral blood lymphocytes."
}
]
// ... and 8 more itemsTry it live — no install
Boot the real Potato server in your browser (WebAssembly) and annotate with this exact config. Nothing leaves your machine.
▶ Run live in your browserGet 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/biomedical-ner potato start config.yaml
Dataset & paper
Collier et al., JNLPBA/BioNLP 2004
Citation (BibTeX)
@inproceedings{collier-kim-2004-introduction,
title = "Introduction to the Bio-entity Recognition Task at {JNLPBA}",
author = "Collier, Nigel and Ohta, Tomoko and Tsuruoka, Yoshimasa and Tateisi, Yuka and Kim, Jin-Dong",
editor = "Collier, Nigel and Ruch, Patrick and Nazarenko, Adeline",
booktitle = "Proceedings of the International Joint Workshop on Natural Language Processing in Biomedicine and its Applications ({NLPBA}/{B}io{NLP})",
month = aug,
year = "2004",
address = "Geneva, Switzerland",
publisher = "COLING",
url = "https://aclanthology.org/W04-1213/",
pages = "73--78"
}Details
Annotation Types
Domain
Use Cases
Tags
Found an issue or want to improve this design?
Open an IssueRelated Designs
Analysis of Clinical Text: Disorder Identification and Normalization
Identify disorder mentions and their attributes in clinical discharge summaries, based on SemEval-2015 Task 14 (Elhadad et al.). Annotators mark disorder spans, body locations, severity indicators, and classify the assertion status of each disorder.
Chemical-Disease Relation Extraction (BC5CDR)
Extract chemical-disease relations from biomedical literature. Based on BioCreative V CDR task. Identify chemical and disease entities, then annotate causal relationships between them (chemical induces disease).
Social Determinants of Health (SDOH) Extraction
Event-based extraction of social determinants of health from clinical notes based on the n2c2 2022 Track 2 shared task and SHAC corpus. Annotates substance use (alcohol, drug, tobacco), employment, and living status with temporal and status attributes.