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.10.7
or if you want to use the trainable components (using pytorch)
pip install "edsnlp[ml]==0.10.7"
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
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", config=dict(terms=terms))
# Negation detection
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.10.7-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eca17d34137db7387e75977b22b6ddead65d31e7526a8e919482051c8e2cc94c |
|
MD5 | ef8e055330137e8a629eadb184561512 |
|
BLAKE2b-256 | 7a9ae69386f4a75fb82fbaad36cdb3091887d5a24818d970ac582245a152da92 |
Hashes for edsnlp-0.10.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d568281cb74ce6e553293119cd4521e29ebc4ea0578c5f10336d2a4c428aba9 |
|
MD5 | 27258002426a156f1330787ccb1b4367 |
|
BLAKE2b-256 | a25d76db96aa4f8ccbeb7009c32d3a4f9c3f3f1ed2099e3f51764356cf736513 |
Hashes for edsnlp-0.10.7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 923a1f7624193509d1bede53f6347c1c3a799c6262d820db00132a21d294c9a9 |
|
MD5 | 78561cede4e4742a5987dd09b8180834 |
|
BLAKE2b-256 | 6cec86bffa997201edaf3d855f98b6fd65e7a606743fae1936a3c183821b26bf |
Hashes for edsnlp-0.10.7-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0139d7a330cdba04d22b5be72d4e560b37329c11119fb75ac6cda0450296778f |
|
MD5 | 238d8115e107764be41a9e553488cb3f |
|
BLAKE2b-256 | cbc55c86e716913704ed1a80807e215af8a1fc49bdadce34858191cdab492afb |
Hashes for edsnlp-0.10.7-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a283cd0a3b15d3daa8df4235f4c429276224bd3a9ae3496fa25219becb07a9e3 |
|
MD5 | f55c9805b136d1b6bbfb254d2f7c0a34 |
|
BLAKE2b-256 | c890d30292378abcb2c4f16b1a4f6904972430f5fb858d1a38cc976c8569b2bf |
Hashes for edsnlp-0.10.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4c86f1109c12f5a505ee1d18f51942cc4035dadfb7a3ce48390668da503e696e |
|
MD5 | bb518df02af6a5bedfa147e5b2c7ea44 |
|
BLAKE2b-256 | 064d7b6e890265d5f72727ae344ccfd9e72a0a3b95c406f98bc52947980cf29f |
Hashes for edsnlp-0.10.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26f8d67d2cde7ae3bb26bd8f9b157b330c04ce53f75a7fd96d4d2ad3809b1a2d |
|
MD5 | 6e5f34055554b0ee2cb31fd1bd77785a |
|
BLAKE2b-256 | d2e791090cd3e8b7d9c0c827659bc320ca6d2f97f13fdfc9ce551dad491397c7 |
Hashes for edsnlp-0.10.7-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7449fed72222e7b33bc7b2fc88cb1f27adc46e69081288f7e22824048240fb3a |
|
MD5 | 6a23fa73febfa2a66fc7fa87c782450c |
|
BLAKE2b-256 | 9d97bff95ae3c0ac903d4ee3ed0ab3fa9a54d5fccd5a72c209beeb9d60953f50 |
Hashes for edsnlp-0.10.7-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60d3ad927b11aafc23e2e4c12fd49e12e284bccd0bee08849afe85d399e5a901 |
|
MD5 | 60357c3e87f061a0be0a54ea376811f3 |
|
BLAKE2b-256 | ab6b9045a9907155e579a9ec72e72090a67bcd9b30c011764eb93b5e8fbe7f37 |
Hashes for edsnlp-0.10.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 137625f5dcd4b3a7458ee0e5c1907db3a478fa5f3aa15b335fc36a1e5e6d6cd5 |
|
MD5 | 3e13529515d59c1abda85f10da872814 |
|
BLAKE2b-256 | 5032a40118bc199bdde41e8bce5b09898b826e46e62cbdc4f14dd91a9d95d5ed |
Hashes for edsnlp-0.10.7-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb142f0bd7171a084138fa08c6c0f389933d85f3477630e1fad5a6e3a7c01bc9 |
|
MD5 | dcc8af25dcc0b0490052b5c82bda7cbd |
|
BLAKE2b-256 | 2a89b1369bd3c0cbd01b7aaafe7ed2d0e235a2b60902cd97ec937d09ca8597ad |
Hashes for edsnlp-0.10.7-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e006c1c724a2608bc1ac4a70299e91a77337d2ce85792f2645fb27de59faaa66 |
|
MD5 | f81b07f8f7d562afd0dc767036ee3324 |
|
BLAKE2b-256 | 04a2cfdb35ea16b133c384a9029185610d34566b6bab4da04774cc7bbdac415a |
Hashes for edsnlp-0.10.7-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2083f12357b0946dbecc25a95929f940965e6126e31344df1e01203fc6f73bd8 |
|
MD5 | 18ac1715698c230bdd8cd7a31353bf0f |
|
BLAKE2b-256 | ca1afe4e3af95b16a21d2cc5266542c450d6a47610aa6c2cca12d44678afad21 |
Hashes for edsnlp-0.10.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 134cb59fce8072af4452a28363b6a3f6f02944435b825e34b5a01dd79a3e7003 |
|
MD5 | 10036a5a4a0ded7a0b18219e9456fa21 |
|
BLAKE2b-256 | dd5dd24dbd428f6e354e895ef893fa6e78c38354b358bdcadd0a2c4e0a1e7c3a |
Hashes for edsnlp-0.10.7-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 426261a8ae516d9b725107385ac6ff3f54f0aab77648b77b154436bdef928d99 |
|
MD5 | 7f3b0b50593c9a74b63f57c48c087672 |
|
BLAKE2b-256 | 5b8f5249ef53811486ed52fd3a9994a868eccbddd63952f045083e4e18706281 |
Hashes for edsnlp-0.10.7-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 45988f8ae30d0a628961237d64a6d67fc5d77188a2b75ffb76f91fda1c2210e9 |
|
MD5 | fe944a64664cdea1b0d437b52b487c02 |
|
BLAKE2b-256 | 3b9fe201dc4346d40b7a94c9f362fa3c1ea4a94f0327e168b08a2d5c42837cf7 |
Hashes for edsnlp-0.10.7-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 848123ea6846f2d1de69e6a5fb79eaaac6c56f819895a1f9b61526ab65ffe0e9 |
|
MD5 | 596877f9c81628f77c2bb93f2b3f7fe0 |
|
BLAKE2b-256 | be4adc0e0bd8747fbd450a79811dc33c054408a9aae1b572ee7862f7dc7f3e85 |
Hashes for edsnlp-0.10.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b94a58e74600ef00ac88164c49ce323faa353d82ea699ed1e4f0e4cc2d9ea070 |
|
MD5 | e2132598cc25b97f07bc9e78ed3de820 |
|
BLAKE2b-256 | 8324edb5ea7861f0934b7ba8e202b857059654325352447ab82bb91182c9fd37 |
Hashes for edsnlp-0.10.7-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5e7e548d10d60694de6d687302c49e58789119f21e67536ff759d2d76e1e42a5 |
|
MD5 | a0abd27f47d84ab5659245ed60d1fa09 |
|
BLAKE2b-256 | c4775c14590c41fa2071843eb5b15d80dc7b4ea8043ac3ab500220fb98847d73 |
Hashes for edsnlp-0.10.7-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 25900febe0bf0ec03719caa3421a392d68ade39984a45910b0142ca3ede4fe34 |
|
MD5 | 14fd2caf741e4af43dd74334f932e46d |
|
BLAKE2b-256 | 27a41250f85f49da22430d64f78db595d4f427dc3e0a3c703555d4b2b7b5d45f |
Hashes for edsnlp-0.10.7-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 592fc61ac7738ea3dd5e49708f3759bc0c725f36d436905f769e56abe98149b7 |
|
MD5 | 1885ae81e93161b5657a7d9fb743b725 |
|
BLAKE2b-256 | 2d25241b6f535753ecf8bc09266d8e7af28334ffcf7555a246f374c5d811a2d0 |
Hashes for edsnlp-0.10.7-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 221d51c9158e53b657f9801b3ce79d2c050c41969a73a1c2485619e973ee432f |
|
MD5 | 5c1fbd7b4dc8a14bf1a748202b018098 |
|
BLAKE2b-256 | 7062f1063ac1c2ad78ec56780c0c1743bf2ff950c00dd0ee7ff11e97053bc43b |
Hashes for edsnlp-0.10.7-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e71a2bde042bdf46ef7a7c842b2332cb062b6cc318550a3426df767c6f6fa220 |
|
MD5 | fbd6006f88c217bec4d21a9d0812675a |
|
BLAKE2b-256 | 5fbb737cf040986edf48f2e092a9abddf61996ba30014f3e130f1337344eb952 |