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.13.1
or if you want to use the trainable components (using pytorch)
pip install "edsnlp[ml]==0.13.1"
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.13.1-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fb6eb6932df2670bbc981e7a215f7061f1bc1f9743701a47a5c4d58a1aea0292 |
|
MD5 | 724a8032bd3935eef53629048853e246 |
|
BLAKE2b-256 | 6a70cb72eedd0167a3c8389e1e367415208e1100c213f377e1e43f73a56f1a1e |
Hashes for edsnlp-0.13.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a6ad163ad1dc5554affc1d24d37562c9cd887ef54a9e99beb767310b4a290fc |
|
MD5 | b4c543a2bb5e2698614c39590733837d |
|
BLAKE2b-256 | 518fdaf50998ca2d223ecdbaa3c05c3718eda420df02a463e113dff71e789349 |
Hashes for edsnlp-0.13.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6922f801e921edacb5be50e7272e065519ae2876942243f475676e0fdf0d940b |
|
MD5 | 86a860a29ac7ced95a5c7e3669bc6383 |
|
BLAKE2b-256 | 6b1ac7b759b897e5ff6580d01dae01584762773318c38d8852bd392f8f9d05e1 |
Hashes for edsnlp-0.13.1-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3df7e22c5bb396e25dace3d7532272b3df9504cc07afc34500c68694aee1ad66 |
|
MD5 | e6c48538b2b2c76fe21a5c6679220444 |
|
BLAKE2b-256 | f3746ac774ebfffb17ca4cb9c1cbd7cd3eceae40a1b29aeea7b45aa0aac3bba8 |
Hashes for edsnlp-0.13.1-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97d04b56fb3df402aaf53cff8fa3446f8f9d5ee8deb4ed85798a43da4f2724c0 |
|
MD5 | 846490276bb08e6ed1688fc7f5c69ab5 |
|
BLAKE2b-256 | 03c5bac71688f7174ab908696761ea215f2b5c6a00431611519ce35a6a31218b |
Hashes for edsnlp-0.13.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3da1f7e8e2a031e092e6b8cf11ce61dc1ba4b01cd41c407897c4c43270d6c2cd |
|
MD5 | 2d2e6501f3b65c73273d14d2cc1347ed |
|
BLAKE2b-256 | a27e71d44cae9bc329f26339c0d3f8a5cf1752cbf660ad4c1a28656e99d0c552 |
Hashes for edsnlp-0.13.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21dc5dc543b1a644d4d1a019d0bd25ff45d7e6b2b73db10228ec5cfab4e03cc5 |
|
MD5 | fd8d45079270073813e6148546ca4e26 |
|
BLAKE2b-256 | 4c827879a38a62e923a4b02a4407c6854fc186ce2bb459d5791feb0b983d307b |
Hashes for edsnlp-0.13.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d074a03bc70c5bbca5670fabe6c5f8242b9632606da9fec4870c996d18992e8 |
|
MD5 | 8f8493feefb79198796af671c0924a15 |
|
BLAKE2b-256 | a971ceac58a580e9f39d8d423208ecdcb6bfdcf88bbb3405460d584eef967193 |
Hashes for edsnlp-0.13.1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 544f836563c20bcb3cab30824572a353a96d0f7d4ba869f71555a693bb8a48aa |
|
MD5 | 038c2b7f3f55df015351d65ab54b2ee4 |
|
BLAKE2b-256 | 62707b59d3eae3cfbe1a7f2236c5017f5cad1c144808718f4e70fec07754d137 |
Hashes for edsnlp-0.13.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8feba78f82072e8e59642e624ed15ea5b5eebb7a56f6c00d64513e911fdf1150 |
|
MD5 | 557c271656c03f53a6f742fc4e4206b2 |
|
BLAKE2b-256 | 0e801078d59f5671641fc0a0f33fb46500189e50d0c7f8d69d86d64734bf2866 |
Hashes for edsnlp-0.13.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02fff601c146683740eed023ecce7e45f0e19bbd6e0c2e5f0b115ec1b36bb16c |
|
MD5 | fc1ac534a5c36a05eca4e6f9ea2eb203 |
|
BLAKE2b-256 | 700f7116a05a3e209fe5852d0e093b683d1315b207045afc5c030e3865f1a609 |
Hashes for edsnlp-0.13.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 56de1c6c5cd3fecaa3cc2dd1f7d673a339a8b9a8ad0ce17838992f7751a1b7dc |
|
MD5 | f33d0bf3c21db992ad978e8b603c1358 |
|
BLAKE2b-256 | e38943a802b6df8a44523e1a28b8950995d9d17bcc408c8ac5f0076ecb5f999e |
Hashes for edsnlp-0.13.1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d7da439398fcfd64044fb9f6eda82469a91d07e4462b3d7866ec12c3fa2cc04 |
|
MD5 | 44ce0f67670c2b0f792c163cf7a2637b |
|
BLAKE2b-256 | 881b43604bee96b46ad956c764bf0d374eb3d9fac36085b2fafc65e828bcd8fb |
Hashes for edsnlp-0.13.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 237c2179db0548c04d0fe96344e7c9938401cbadc02ee6950aae6818c8ee4add |
|
MD5 | 7a166409bad79149d1852c77431e9566 |
|
BLAKE2b-256 | cf2fc2cf0769282aa32115c500a272e1c3ddaf153c6219fefe1ad5720131ce45 |
Hashes for edsnlp-0.13.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a45aae9d68b5ddc2c4fe93664ac8f295364683da0549899a94ef55834f197cd5 |
|
MD5 | 1219fa6cd7532f71605025da4f07998c |
|
BLAKE2b-256 | 3ddeface3b71198fa56a2a894afbb6e15355c740e3a1becfa9f72a953347319e |
Hashes for edsnlp-0.13.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1093a4d5051dbcb86f314563181be4d09bca977da12e27fc17d9122e35c3a215 |
|
MD5 | f3a09792e72904f6e6f0c8d864c65eaf |
|
BLAKE2b-256 | 7ca43ea00c6fa8789cacfa1cb45d13ef1f7fec19545f0f5526daac9e2449edfa |
Hashes for edsnlp-0.13.1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71bede9cad25ff3b2c4fb126e91bf337345bb6a1cd09640e0f66e45cc348850f |
|
MD5 | 39f7927acb94562420a99c7199d21060 |
|
BLAKE2b-256 | b86f96027a68f266e317f1e4536aad86f26cc3d6c9b70cc3b45bf7775ab12511 |
Hashes for edsnlp-0.13.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07558c9b87880a572e8170ad4559aabb716c3bf8910c0bc2b59383ca1a6277e0 |
|
MD5 | 154969ed5443e79269e61d39f84afbb3 |
|
BLAKE2b-256 | 28073b9a5fe46bab88966cef3e3cc5a0ffe68a34e968d57edf849bbf177e4ce3 |
Hashes for edsnlp-0.13.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3d85f18f3d464ce2fb3ba9e5f388c29022d480088b75f7db3bf0522922e80f68 |
|
MD5 | 1acfd9733f9e848e8728d1069338e397 |
|
BLAKE2b-256 | b97027adc87a7d9407a9f3e257a01a03549fd2f20eedeeed33010f508015cd5d |
Hashes for edsnlp-0.13.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 74daa4bd437ff22c04cade41743236e21275eb1275e2e0ed63b277fd60b3632f |
|
MD5 | a39bdfe967b88ef1cd911c2270fccdf2 |
|
BLAKE2b-256 | 78d74f2abb1f795932cb842100b4cf3f16a9db6edd74b5b815d3576ca3df3b39 |
Hashes for edsnlp-0.13.1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7df5d75a1670a5a9da05a1a64b2a018e035bb66a048d1da23ae6a4ed6fabae0b |
|
MD5 | 2f6e7c04cd7ebcf3646967ff3d245728 |
|
BLAKE2b-256 | 9605d65b5d8abef8b527355955a34fe15080f5fd1acdc19a726e97e6682f3ae6 |
Hashes for edsnlp-0.13.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d34e442b00d82588fb2396f9460bb36090347b381ad80ad5c5af8c33d6b5a82 |
|
MD5 | faf7d8b092adb9215bdbfc5e1e35154a |
|
BLAKE2b-256 | d53b4f4823e365efc6979c877e8c96ebe2cc0c3199ddd6403f06039d1bfb7270 |
Hashes for edsnlp-0.13.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b20ed08d5a4d79cc3641e8de30788c520e3154ac1c640fbbda18c71fc0ef491b |
|
MD5 | 59efae750540edf190444dda1f122ffb |
|
BLAKE2b-256 | 7c006cfaa8ff55ffac098b5697e01c72197e1bf537e56c1eda2aa49f5a386a56 |