EDS-NLP
EDS-NLP is a collaborative NLP framework that aims primarily at extracting information from French clinical notes. At its core, it is a collection of components or pipes, either rule-based functions or deep learning modules. These components are organized into a novel efficient and modular pipeline system, built for hybrid and multitask models. We use spaCy to represent documents and their annotations, and Pytorch as a deep-learning backend for trainable components.
EDS-NLP is versatile and can be used on any textual document. The rule-based components are fully compatible with spaCy's components, and vice versa. This library is a product of collaborative effort, and we encourage further contributions to enhance its capabilities.
Check out our interactive demo !
Features
- Rule-based components for French clinical notes
- Trainable components: NER, Span classification
- LLM-based components
- Support for multitask deep-learning models with weights sharing
- Fast inference, with multi-GPU support out of the box
- Easy to use, with a spaCy-like API
- Compatible with rule-based spaCy components
- Support for various io formats like BRAT, JSON, Parquet, Pandas or Spark
Quick start
Installation
You can install EDS-NLP via pip. We recommend pinning the library version in your projects, or use a strict package manager like Poetry.
pip install edsnlp==0.23.0
or if you want to use the trainable components (using pytorch)
pip install "edsnlp[ml]==0.23.0"
A first pipeline
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 edsnlp, edsnlp.pipes as eds
nlp = edsnlp.blank("eds")
terms = dict(
covid=["covid", "coronavirus"],
)
# Split the documents into sentences, this isneeded for negation detection
nlp.add_pipe(eds.sentences())
# Matcher component
nlp.add_pipe(eds.matcher(terms=terms))
# Negation detection (we also support spacy-like API !)
nlp.add_pipe("eds.negation")
# Process your text in one call !
doc = nlp("Le patient n'est pas atteint de covid")
doc.ents
# Out: (covid,)
doc.ents[0]._.negation
# Out: True
Documentation & Tutorials
Go to the documentation for more information.
Disclaimer
The performances of an extraction pipeline may depend on the population and documents that are considered.
Contributing to EDS-NLP
We welcome contributions ! Fork the project and propose a pull request. Take a look at the dedicated page for detail.
Citation
If you use EDS-NLP, please cite us as below.
@misc{edsnlp,
author = {Wajsburt, Perceval and Petit-Jean, Thomas and Dura, Basile 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 = {https://aphp.github.io/edsnlp}
}
Acknowledgement
We would like to thank Assistance Publique – Hôpitaux de Paris, AP-HP Foundation and Inria for funding this project.
Metadata
Release files for edsnlp 0.23.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| edsnlp-0.23.0.tar.gz | 1.7 MB | Details |
Built distributions (wheels)
Total release size: 48.1 MB
Release files / edsnlp-0.23.0.tar.gz
| Download URL | edsnlp-0.23.0.tar.gz |
|---|---|
| Size | 1.7 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5773adaf921103b3ad34bd38ae23d2eae41fbde7f6bac49f584a20f75ab81628
|
|
BLAKE2b-256 checksum How to use checksums |
b2d0d12550fa65d5af70aeb3ab3bf36a6b269088268d2a23e62900ba22ffef2a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / edsnlp-0.23.0-cp314-cp314-win_amd64.whl
| Download URL | edsnlp-0.23.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b2a0c492daf32f901630364931e380bd775267226c5f4fb09d2691d723c1bf13
|
|
BLAKE2b-256 checksum How to use checksums |
881e67283161e839353ddb943457dfc6069d1ddc7fd775dfc3029f05fe555bab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / edsnlp-0.23.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | edsnlp-0.23.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.1 MB |
| Tags | CPython 3.14 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
9a5550070dee79d4c32db0aff0a768f49a5c2da29eaf62e497c6430062e59033
|
|
BLAKE2b-256 checksum How to use checksums |
c82bca50847af463d1f7401855a45f55a0512028eee69c94e494e14c54ed5dd3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / edsnlp-0.23.0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | edsnlp-0.23.0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
726b33f0c235e961b2e3cb70b283cfa458d4cac6a2a9b336662160edc87d51c7
|
|
BLAKE2b-256 checksum How to use checksums |
66db39681313eb9934b64e7a4f0fe657ed8bdaa71e19e3efb60890610a03a441
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / edsnlp-0.23.0-cp314-cp314-macosx_10_15_x86_64.whl
| Download URL | edsnlp-0.23.0-cp314-cp314-macosx_10_15_x86_64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.14 macOS 10.15+ x86-64 |
|
SHA-256 checksum How to use checksums |
c87b5f66b327a8c2d4c694430cc01048e819870b165705ce1d08cfd4dd16281e
|
|
BLAKE2b-256 checksum How to use checksums |
5ab1d8ed43cd7828d7cfbd210010cdd53abcc448a22bda0ce7500f64a6f84044
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / edsnlp-0.23.0-cp313-cp313-win_amd64.whl
| Download URL | edsnlp-0.23.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
693ba7481a49ba9723e5767b8f47c15aee4efe4e131d393139846e1e27a65d80
|
|
BLAKE2b-256 checksum How to use checksums |
855c01d73c724f0694435ffdbe086fbcf1bf7f7b3f578a5377b246a1cf8a895d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / edsnlp-0.23.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | edsnlp-0.23.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.1 MB |
| Tags | CPython 3.13 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
c946b257601ffa22d600138500f1d4a513367924b44e1a727a37c4d526069449
|
|
BLAKE2b-256 checksum How to use checksums |
82b2499340fa1057557e226ec11412bf9a9a452a4c2d3f068cfc2b32a9ffbc1d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / edsnlp-0.23.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | edsnlp-0.23.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
3d617c7c8f116518aba35014a3cc329154da4fbad5369b9a071607d254910abb
|
|
BLAKE2b-256 checksum How to use checksums |
7cc50bc183292cba89a93545f7d58070834ce13752d22f4919ba9fa388d7de49
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / edsnlp-0.23.0-cp313-cp313-macosx_10_13_x86_64.whl
| Download URL | edsnlp-0.23.0-cp313-cp313-macosx_10_13_x86_64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.13 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
7e846647d075194b5f18a9f44d9cfbc70c96d858eb3d8d8c10aa8b1d036580d0
|
|
BLAKE2b-256 checksum How to use checksums |
151c7d01e7abe3e78d5cf57313ac10c4a5147ec466e279f03915ee12feca4a9b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / edsnlp-0.23.0-cp312-cp312-win_amd64.whl
| Download URL | edsnlp-0.23.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
aafe5a08bf1e6ae5112c6f8c213c3344ea9d66953ffc6c38071b4af9f723c087
|
|
BLAKE2b-256 checksum How to use checksums |
0c786eac766d78d106a07d81cda3f8aff180c13fd1088af36223f29ea231e574
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / edsnlp-0.23.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | edsnlp-0.23.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.12 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
dc6916adc06b52ce506bf5afdfec3ce283e0337a33b2a8c997df637c6793dbfd
|
|
BLAKE2b-256 checksum How to use checksums |
453f678e31bd520be8e03a06c46d47906ec7ee4bc36f16fbf00b8f15db45b204
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / edsnlp-0.23.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | edsnlp-0.23.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
c322e8a9326b6e6b7410d1acecb6f60a7437cce39e705f390fc62fdeaa23c1b7
|
|
BLAKE2b-256 checksum How to use checksums |
145ad62fac25e183a6fe007fdf7fbb9c2535fbf2366e19cbaa27462f7147d166
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / edsnlp-0.23.0-cp312-cp312-macosx_10_13_x86_64.whl
| Download URL | edsnlp-0.23.0-cp312-cp312-macosx_10_13_x86_64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.12 macOS 10.13+ x86-64 |
|
SHA-256 checksum How to use checksums |
6bc475cf43a865f394350bf418469ced51f98b466a0f516e7982d0d012bbbfff
|
|
BLAKE2b-256 checksum How to use checksums |
5ab0ca646c42325f02767e4ad401e9b051c5890424442a13253b5deeaa029428
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / edsnlp-0.23.0-cp311-cp311-win_amd64.whl
| Download URL | edsnlp-0.23.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
dde84c9e9dc6a99aed838b1177df45594d09f77fc388e8e7f23fdbe343851350
|
|
BLAKE2b-256 checksum How to use checksums |
b6ee9ed8eb25cb412a41973567fdda41e4ef4963b0b29964280821238822efb7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / edsnlp-0.23.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | edsnlp-0.23.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.2 MB |
| Tags | CPython 3.11 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
f4cd512825957967eaf0a42129312c318b05a3f7e989cb518efb55bd6df3d1f5
|
|
BLAKE2b-256 checksum How to use checksums |
845acb6e270d7217db8e997414f4d83c003cdefe80e9264414daa0055ee9b7e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / edsnlp-0.23.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | edsnlp-0.23.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
7c95dc9220cfc8ff7e47b7d97d3a79001096642d01afa2779bcd3779eac2395e
|
|
BLAKE2b-256 checksum How to use checksums |
ff9f1655092a6b58548456ba0e5553343b3ae5a9333d12bf9444eb8465a7b97d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / edsnlp-0.23.0-cp311-cp311-macosx_10_9_x86_64.whl
| Download URL | edsnlp-0.23.0-cp311-cp311-macosx_10_9_x86_64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.11 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
0c5b84914348d213a52259027c39d634391ce31484489798db75495314dfdc39
|
|
BLAKE2b-256 checksum How to use checksums |
48388eb55fbd359c858fb1734daa81d08e8d5cbd04a8a8deb0748a445c780aee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / edsnlp-0.23.0-cp310-cp310-win_amd64.whl
| Download URL | edsnlp-0.23.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 2.0 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
e97b812e52120ffff582e081fe76bdb5248db394b39a546ef29e35b2664a700e
|
|
BLAKE2b-256 checksum How to use checksums |
91a8713d3df81dd4960e02972ebe76c424869fa67592c65c77f0b7771902434b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / edsnlp-0.23.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
| Download URL | edsnlp-0.23.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 3.1 MB |
| Tags | CPython 3.10 Linux glibc 2.24+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
6a9698df733109969f4a364df25ef8ae9d5e2278123508a379ebb144dbbaf3a6
|
|
BLAKE2b-256 checksum How to use checksums |
f1298cb82ffc83e1dc235c1c8d6255a275a0c2af30691c38fd70b65130f77494
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / edsnlp-0.23.0-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | edsnlp-0.23.0-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8dfe0ef48c81b1d304d6d733de8bf5b7ed0fb53ce41eb4edd12b779d069ccd2c
|
|
BLAKE2b-256 checksum How to use checksums |
ea7b714748827131393525d5a58199a858f0031b6cb35dd43ec60158a8c7069e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / edsnlp-0.23.0-cp310-cp310-macosx_10_9_x86_64.whl
| Download URL | edsnlp-0.23.0-cp310-cp310-macosx_10_9_x86_64.whl |
|---|---|
| Size | 2.1 MB |
| Tags | CPython 3.10 macOS 10.9+ x86-64 |
|
SHA-256 checksum How to use checksums |
938d8c3fb76e4147d2745418204b2bd8226bb30c1d61464b9e23bf167d6832d0
|
|
BLAKE2b-256 checksum How to use checksums |
a7c3ca4575ed8aad3727e4d6fb009ad1b14994abbb4ebef193f360c82a403269
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|