EDS-NLP provides a set of spaCy components that are used to extract information from clinical notes written in French.
Check out the interactive demo!
If it's your first time with spaCy, we recommend you familiarise yourself with some of their key concepts by looking at the "spaCy 101" page in the documentation.
You can install EDS-NLP via pip
:
pip install edsnlp
We recommend pinning the library version in your projects, or use a strict package manager like Poetry.
pip install edsnlp==0.7.2
Once you've installed the library, let's begin with a very simple example that extracts mentions of COVID19 in a text, and detects whether they are negated.
import spacy
nlp = spacy.blank("fr")
terms = dict(
covid=["covid", "coronavirus"],
)
# Sentencizer component, needed for negation detection
nlp.add_pipe("eds.sentences")
# Matcher component
nlp.add_pipe("eds.matcher", config=dict(terms=terms))
# Negation detection
nlp.add_pipe("eds.negation")
# Process your text in one call !
doc = nlp("Le patient est atteint de covid")
doc.ents
# Out: (covid,)
doc.ents[0]._.negation
# Out: False
Go to the documentation for more information.
The performances of an extraction pipeline may depend on the population and documents that are considered.
We welcome contributions ! Fork the project and propose a pull request. Take a look at the dedicated page for detail.
If you use EDS-NLP, please cite us as below.
@misc{edsnlp,
author = {Dura, Basile and Wajsburt, Perceval and Petit-Jean, Thomas and Cohen, Ariel and Jean, Charline and Bey, Romain},
doi = {10.5281/zenodo.6424993},
title = {EDS-NLP: efficient information extraction from French clinical notes},
url = {http://aphp.github.io/edsnlp}
}
We would like to thank Assistance Publique – Hôpitaux de Paris and AP-HP Foundation for funding this project.