Targets molecular biology entities: proteins, DNA/RNA, cell lines, and cell types in biomedical research content.Great for pathway curation, molecular interaction mining, and omics-aware information extraction.
OpenMed ZeroShot NER is an advanced, domain-adapted Named Entity Recognition (NER) model designed specifically for medical, biomedical, and clinical text mining. Leveraging state-of-the-art zero-shot learning, this model empowers researchers, clinicians, and data scientists to extract expert-level biomedical entities—such as diseases, chemicals, genes, species, and clinical findings—directly from unstructured text, without the need for task-specific retraining.
Built on the robust GLiNER architecture and fine-tuned on curated biomedical corpora, OpenMed ZeroShot NER delivers high-precision entity recognition for critical healthcare and life sciences applications. Its zero-shot capability means you can flexibly define and extract any entity type relevant to your workflow, from standard biomedical categories to custom clinical concepts, supporting rapid adaptation to new research domains and regulatory requirements.
Whether you are working on clinical NLP, biomedical research, electronic health record (EHR) de-identification, or large-scale literature mining, OpenMed ZeroShot NER provides a production-ready, open-source solution that combines expert-level accuracy with unmatched flexibility. Join the OpenMed community to accelerate your medical text analytics with cutting-edge, zero-shot NER technology.
🎯 Key Features
Zero-Shot Capability: Can recognize any entity type without specific training
High Precision: Optimized for biomedical entity recognition
Domain-Specific: Fine-tuned on curated JNLPBA dataset
Production-Ready: Validated on clinical benchmarks
Easy Integration: Compatible with Hugging Face Transformers ecosystem
Flexible Entity Recognition: Add custom entity types without retraining
🏷️ Supported Entity Types
This zero-shot model can identify and classify biomedical entities, including but not limited to these entity types. You can also add custom entity types without retraining the model:
DNA
RNA
cell_line
cell_tyle
protein
💡 Zero-Shot Flexibility: As a GliNER-based model, you can specify any entity types you want to detect, even if they weren't part of the original training. Simply provide the entity labels when using the model, and it will adapt to recognize them.
📊 Dataset
JNLPBA corpus focuses on biomedical named entity recognition for protein, DNA, RNA, cell line, and cell type entities.
The JNLPBA (Joint Workshop on Natural Language Processing in Biomedicine and its Applications) corpus is a widely-used biomedical NER dataset derived from the GENIA corpus for the 2004 bio-entity recognition task. It contains annotations for five entity types: protein, DNA, RNA, cell line, and cell type, making it essential for molecular biology and genomics research applications. The corpus consists of MEDLINE abstracts annotated with biomedical entities relevant to gene and protein recognition tasks. It has been extensively used as a benchmark for evaluating biomedical NER systems and continues to be a standard evaluation dataset for developing machine learning models in computational biology and bioinformatics.
📊 Performance Metrics
Current Model Performance
Finetuned F1 vs. Base Model (on test dataset excluded from training): 0.78
Rankings are sorted by finetuned F1 and show ΔF1% over base model. Test dataset is excluded from training.
OpenMed ZeroShot Clinical & Biomedical NER vs. Original GLiNER models
Figure: OpenMed ZeroShot Clinical & Biomedical NER vs. Original GLiNER models.
🚀 Quick Start
Installation
pip install -q "gliner[tokenizers]"
Usage
python
1from transformers import pipeline
23# Load the model and tokenizer4# Model: https://huggingface.co/OpenMed/OpenMed-ZeroShot-NER-DNA-Multi-209M5model_name ="OpenMed/OpenMed-ZeroShot-NER-DNA-Multi-209M"67from gliner import GLiNER
8model = GLiNER.from_pretrained(model_name)910# Example usage with default entity types11text ="The p53 protein plays a crucial role in tumor suppression."1213labels =['DNA','RNA','cell_line','cell_tyle','protein']14entities = model.predict_entities(text, labels, flat_ner=True, threshold=0.5)15for entity in entities:16print(entity)
Zero-Shot Usage with Custom Entity Types
💡 Tip: If you want to extract entities that are not present in the original training set (i.e., use custom or rare entity types), you may get better results by lowering the threshold parameter in model.predict_entities. For example, try threshold=0.3 or even lower, depending on your use case:
python
1# You can specify custom entity types for zero-shot recognition - for instance:2custom_entities =["MISC","DNA","PERSON","LOCATION","MEDICATION","PROCEDURE"]34entities = model.predict_entities(text, custom_entities, flat_ner=True, threshold=0.1)5for entity in entities:6print(entity)
Lowering the threshold makes the model more permissive and can help it recognize new or less common entity types, but may also increase false positives. Adjust as needed for your application.
Licensed under the Apache License 2.0. See LICENSE for details.
🤝 Contributing
I welcome contributions of all kinds! Whether you have ideas, feature requests, or want to join my mission to advance open-source Healthcare AI, I'd love to hear from you.
Follow OpenMed Org on Hugging Face 🤗 and click "Watch" to stay updated on my latest releases and developments.
Citation
If you use this model in your research or applications, please cite the following paper:
latex
1@misc{panahi2025openmedneropensourcedomainadapted,
2 title={OpenMed NER: Open-Source, Domain-Adapted State-of-the-Art Transformers for Biomedical NER Across 12 Public Datasets},
3 author={Maziyar Panahi},
4 year={2025},
5 eprint={2508.01630},
6 archivePrefix={arXiv},
7 primaryClass={cs.CL},
8 url={https://arxiv.org/abs/2508.01630},
9}
Proper citation helps support and acknowledge my work. Thank you!