🏥 Medical Natural Language Processing with spaCy 🏥
MedaCy is a text processing and learning framework built over spaCy to support the lightning fast prototyping, training, and application of highly predictive medical NLP models. It is designed to streamline researcher workflow by providing utilities for model training, prediction and organization while insuring the replicability of systems.
- Highly predictive, shared-task dominating out-of-the-box trained models for medical named entity recognition.
- Customizable pipelines with detailed development instructions and documentation.
- Allows the designing of replicable NLP systems for reproducing results and encouraging the distribution of models whilst still allowing for privacy.
- Active community development spearheaded and maintained by NLP@VCU.
- Detailed API
MedaCy is actively maintained by @AndriyMulyar and @CoreySutphin. The best way to receive immediate responses to any questions is to raise an issue. Make sure to first consult the API. See how to formulate a good issue or feature request in the Contribution Guide.
Medacy can be installed for general use or for pipeline development / research purposes.
Application | Run |
---|---|
Prediction and Model Training (stable) | pip install git+https://github.com/NanoNLP/medaCy.git --process-dependency-links |
Prediction and Model Training (latest) | pip install git+https://github.com/NanoNLP/medaCy.git@development --process-dependency-links |
Pipeline Development and Contribution | See Contribution Instructions |
After installing medaCy and medaCy's clinical model, simply run:
from medacy.model import Model
model = Model.load_external('medacy_model_clinical_notes')
annotation = model.predict("The patient was prescribed 1 capsule of Advil for 5 days.")
print(annotation)
and receive instant predictions:
{'entities': {'T3': ('Drug', 40, 45, 'Advil'), 'T1': ('Dosage', 27, 28, '1'), 'T2': ('Form', 29, 36, 'capsule'), 'T4': ('Duration', 46, 56, 'for 5 days')}, 'relations': []}
To explore medaCy's other models or train your own, visit the examples section.
@ARTICLE {
author = "Andriy Mulyar, Natassja Lewinski and Bridget McInnes",
title = "TAC SRIE 2018: Extracting Systematic Review Information with MedaCy",
journal = "National Institute of Standards and Technology (NIST) 2018 Systematic Review Information Extraction (SRIE) > Text Analysis Conference",
year = "2018",
month = "nov"
}
This package is licensed under the GNU General Public License
Andriy Mulyar, Corey Sutphin, Bobby Best, Steele Farnsworth, and Bridget T McInnes