Modular, fast NLP framework, compatible with Pytorch and spaCy, offering tailored support for French clinical notes.
Project description
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
- 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.11.2
or if you want to use the trainable components (using pytorch)
pip install "edsnlp[ml]==0.11.2"
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.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for edsnlp-0.11.2-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | de0659b597934c94475b7c1507dc01b91d0aa68caf3b98eab80b7ca341d13c4a |
|
MD5 | 8f41474230e98b6b4f1cd7ef1b4c3d7e |
|
BLAKE2b-256 | eed930082f764f29501ec137567269f8df45e46a00f345e507e54605904f6001 |
Hashes for edsnlp-0.11.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5fb190c46e3945845e23ff8b68c8a11f0b60a63f2fbbc95bfa2b3ffedd819d34 |
|
MD5 | e472e0070ab0d90e69f46cf9aea0e4cf |
|
BLAKE2b-256 | 8cf58554ebf7cd7c0e1aef610539999e7480f3fa1f1c0763a37640e3912672f4 |
Hashes for edsnlp-0.11.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 042441169b7af677b95d77a098edfaaf34e0e0cba2ebf9cc15f7a961206d1c45 |
|
MD5 | b6da77abd8e65176dc4f13d842b4a914 |
|
BLAKE2b-256 | 5078d3cb15b58dad544f2e852907ba3452908fbebe399eba0dc796728221fc4b |
Hashes for edsnlp-0.11.2-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a994e74c54c899faa17c708dfc882c461fcffbeb4691e9a9c0802ca008525481 |
|
MD5 | 7078f1c955385d5315723c96b3d86dec |
|
BLAKE2b-256 | 30dc2a98815124c9031cdda212644bd6a394e5ee1434c0c306fdc06ba2b22468 |
Hashes for edsnlp-0.11.2-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74c02afb54b46e9fa59e8423763a0ea5936a3885b8caa957e64be288fa1fc7b7 |
|
MD5 | 333ddbb5059f3c5055006e2a04f946e2 |
|
BLAKE2b-256 | 0fa9ecb3217504490cb3ec8d6436f9eaefdf34f883a15f588784e75aebeb5c7a |
Hashes for edsnlp-0.11.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7cdcb0b8a52f18cda05365d9295a982d061f275894cdf508869573f8ad426a8 |
|
MD5 | 8a2c00aafaecd0313fcd88b366978b2f |
|
BLAKE2b-256 | 9f2a4166e95e70d18b5f48fd705dc5fdb0b0d2df2920019b91b963346897f5a2 |
Hashes for edsnlp-0.11.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 65ad41d51383a2c631767042a9001b9ea4285acc6c449fd2e8793adb2cf34805 |
|
MD5 | 4e1a4134bf1a02916194e01883c9e479 |
|
BLAKE2b-256 | a624c689e7ee8573e2cdd1dfa7c08a6cb60c2cd881af1f14347dad3a5a6d797b |
Hashes for edsnlp-0.11.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f1fc610ffd6739a63ac1e89f5e347c1eb7b3123b4a1de23f1f82f7d7e889d665 |
|
MD5 | 2dad66417c1220d25d5a7b5693167bd3 |
|
BLAKE2b-256 | 5ede6b5c823c6c0abcfe0a8867f187f222ed5442b569d09b7c297eed2d85d170 |
Hashes for edsnlp-0.11.2-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 694e2b53417e8804ca940756e16fc888d33cdd939eda466978525de01d256922 |
|
MD5 | 34f7a32773f02fc632d50833efba3057 |
|
BLAKE2b-256 | 42a06850cd3de7b50dbd5deecaf52d3308dc3b7aa1226c25c15de9a81e66533f |
Hashes for edsnlp-0.11.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa5d1221a5fc042a23a8f94f89d44468a008b442d1b5be2c0b667be692380e84 |
|
MD5 | d6325ebe29ff8d89681dedbc8c561039 |
|
BLAKE2b-256 | 64524e4a2f827768ee75191a54797c2a48c5a958ab9db57f63e9234fe5365b3e |
Hashes for edsnlp-0.11.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29d95dba7962d8431e6fbe9e303c5f1ae2b86e661460c85ff6f7ac2b1e6e969d |
|
MD5 | 8ca354e66908feb9a2af8cbd10ba0614 |
|
BLAKE2b-256 | a10375f6594720be891615ad2d7b812922656eda6c2e0ae442547b059a3ac062 |
Hashes for edsnlp-0.11.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eccda945e0281a96b8edbcd5cb708c1cca7df4b1f58e9e8d435ffa988390914d |
|
MD5 | 596cc09d16058cb22afdfeb921386f65 |
|
BLAKE2b-256 | cf30e85a6399e5048d1b0cc4113106372d961d36876e1d904c5157db06250286 |
Hashes for edsnlp-0.11.2-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0fd0fa116b02fac1ec3cacd82f4a06f72939a89894be4e22c0e251474f2eab36 |
|
MD5 | 9862cae9a860bb235959e76f37995d65 |
|
BLAKE2b-256 | 2c0856f5bb5f46acc6b3a816b0e51a609422aac4c096014b53c3aad1292521bf |
Hashes for edsnlp-0.11.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 19dfb832ea47a692a6c6722c51cc4486fd491330d523332a1dd2d40d6fbafdb6 |
|
MD5 | a52a32f883ea348e8a8c58726571c5c6 |
|
BLAKE2b-256 | f785f3e73b454d4c9a43b6cb7003804e7d2100978641ba37927dc685dd7ebac6 |
Hashes for edsnlp-0.11.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3966b9e2629397cb17e5877fedbc062ee56169c45b610d1b38fc1898a1cdbc68 |
|
MD5 | 76fb172b7461dd2333538c80f1de6393 |
|
BLAKE2b-256 | e304e590f142fe0f175f063373e4617b8a03de10b0909b55d6faaf760ee1311c |
Hashes for edsnlp-0.11.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 84ead3263f9bfb70f5584738d6c28ea6e7a4a76ac244dc43bd397b08fe118d8b |
|
MD5 | c1d04620d740c2032e39ddde1bd4fc49 |
|
BLAKE2b-256 | 129d2bf0eb890df6642745979f65888543a43da58d9f0308288af0b4b028bdb8 |
Hashes for edsnlp-0.11.2-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e9a0f8352c13fa564e7b8f68f8d3bd54a0628b3523c867849664a9995396ec4 |
|
MD5 | d4aab684201efa7fedf3805498a06cd3 |
|
BLAKE2b-256 | 268c0aaeee66d565f5125d94488b7f19596c77f157c38c15fcb1572973b2a8f5 |
Hashes for edsnlp-0.11.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d97b736e7e88327dec1ef5769af3d9418ae3b1e1a89efd4f2b4ef6e431d61a0 |
|
MD5 | f3cb65ef0c9340647619240518873079 |
|
BLAKE2b-256 | 30651ae940434b8f96f2a868f75a8ce7a262e06f206053af977d548c44568373 |
Hashes for edsnlp-0.11.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ebd754814b5d1823c509c8f9e3fcefbc8364bcfd829df568cdca26a4c8280d4d |
|
MD5 | 9b00321cb498b03aa7c1c500f2c5db8d |
|
BLAKE2b-256 | af8be988774ec678bf78507be8054319aa3f0e0aae900b1b3f76f39a2de3da58 |
Hashes for edsnlp-0.11.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f09cc41f3e7611b29a5b86ca7a84e60a7d70c803bb45582f69abbc5a54bd591c |
|
MD5 | c7a613865563b2ba9b06583d6828ac20 |
|
BLAKE2b-256 | 8581ec8a04ceb5f04f55d93d78624a4c744a5128a469e072a5016b2050c4721a |
Hashes for edsnlp-0.11.2-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d489dba2f32419bf33a9472a80116828965377f9eaf970bc491eec1412e7fa43 |
|
MD5 | 2017d24466e8057c39fd5f1a839bd28f |
|
BLAKE2b-256 | b7f17c4c73671c58be275e25a99c3b716830399b57a999be528ade2c6c92b612 |
Hashes for edsnlp-0.11.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1cc7b9cfe5c07702ecd4cb6a80569921f6a7cda855b5a628e4f73a4efa98405f |
|
MD5 | f2e968a954b3d58e81c39b1053c4441f |
|
BLAKE2b-256 | e3ad7b0e4b9e57518b53117683689480540b30db4ef5ffb0ea0424dea34fef4f |
Hashes for edsnlp-0.11.2-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a609a53f04faedb16193b632eae6207ababb18c407a08f91a72dd927cbaa53c7 |
|
MD5 | b1cb0250aecb0596de99634121bca39b |
|
BLAKE2b-256 | ef58dbdcc5e943157d7b1ea037082bf4fd72538ece59bf31817a478f6a4b259e |