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.1
or if you want to use the trainable components (using pytorch)
pip install "edsnlp[ml]==0.11.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.11.1-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c138758ca5c71ca3e77e8a9584c1ec50d08d392bf183489ea84358e084769267 |
|
MD5 | c9c6c0c015ddfaeb583f38342769c473 |
|
BLAKE2b-256 | 072e4507298e5122703d23587f1df383b0c78bbb5fd1659a6b1841b14d787c09 |
Hashes for edsnlp-0.11.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8f8c4d6f1d06e65fdfa33e90128bc85e2523159215ec6b783b24c2d5693ffc2c |
|
MD5 | 76796b22ac81b5524c2f02a9d3c12bfd |
|
BLAKE2b-256 | f18210db798ecba06a5c7e36fcd3b5dc32fe841fa13ad4ba8ada30070df8d0ef |
Hashes for edsnlp-0.11.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60880eaba2d131e0a93b6941e3dd918b452f0e13ebdc41cd10522984ac8ef94a |
|
MD5 | 41285621b074dc7a7ca0a2cf1f39fe28 |
|
BLAKE2b-256 | bc73935c9fcd09de1fa93c1ade51235015e31849a35e750321af149ea11f6c77 |
Hashes for edsnlp-0.11.1-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 81d1bc4320589148005189014dbe9da752bbb0a7c2866a6ee8acfd9accc61dff |
|
MD5 | 2e51c6bbafd4b4344b7d34c6897646d8 |
|
BLAKE2b-256 | 40e7ec6866b49668c6f3156bf3d597fb5fcbc7f6d9a84de79e7bc24983cdc832 |
Hashes for edsnlp-0.11.1-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f9138e31ad3afeb1c2df0e8a42a7a1f96dbf1e47a824632a6e9f0c487e812ae |
|
MD5 | e8fd4f508e48d60b024a44f8eae99123 |
|
BLAKE2b-256 | eea9da090ee7891adfb9817320711395d3f6a7e1d4e9892ff306c7edef0fee34 |
Hashes for edsnlp-0.11.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9591787bfd1a492e8f6b53fac389ba59c7e3827ca52d87c6d9603e4850a2f7d9 |
|
MD5 | 975fa977d7c36e4e45d26a8f8c219787 |
|
BLAKE2b-256 | 1800776348f4e1c7c24b717334d99a8d510dbe8edfe445306bad87a8b2cff4a9 |
Hashes for edsnlp-0.11.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 12ec54042c7a0164311ce90e68520c389680151f66020819516025265a5879e4 |
|
MD5 | 93435b26c65aa1b64e40db04b08b3706 |
|
BLAKE2b-256 | 7c518fa4c71a39b83921acd13392cfd73ded1af6c5201590d4135752d7a2edfc |
Hashes for edsnlp-0.11.1-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 384ff471ff3eb2044e2dc4e866e104aefa7aaecf9b59fbe94b1de243c3a3e7f1 |
|
MD5 | e4f80b69d359cef84e2b81be761400ec |
|
BLAKE2b-256 | f1237a55a28816bd37a503a5f8ab627c4a75dc0ceb82e319b48fb43297c0db87 |
Hashes for edsnlp-0.11.1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2206a04da846fa105f3e39af6ae646122c3679b10ac412406040277dec0e167e |
|
MD5 | dbc726160c7c0940635cf1d7709e1fde |
|
BLAKE2b-256 | 364aca4dfbdbeba76a8b9c627c13e7d3d8aaa2046461dad7d1b21965d0048170 |
Hashes for edsnlp-0.11.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5bf7bc01e270635bf0423c8a84e40fba7ea52a8c419bb3d5abe4e25f3f984e62 |
|
MD5 | 58d85e2f0fc9caaa7c6b111e21231cdf |
|
BLAKE2b-256 | 4c737fa9aea97a2dda07a118ea17f01a694ad6d33e14ff12fc648fabbad18de9 |
Hashes for edsnlp-0.11.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6f611f525a512d962bc64030e8c28c6b4234e680928cd2b6ddfa7674b992ed69 |
|
MD5 | 8ccf6094b9d447d8cb6a6ddd7aaae2a7 |
|
BLAKE2b-256 | e63adb5d51dbbd4fd7b44f5d170a45bccf226c0b7808db25c02a46cd33ca3cd0 |
Hashes for edsnlp-0.11.1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4fdd768347ff64d1c7674998c82cd59bc1689d5532fec2632c3ec1e5d814c329 |
|
MD5 | 21b581f9ffb399689b33f86c7866d4db |
|
BLAKE2b-256 | 1407633603fc9d815efb3301f52ac872f0709fa6b0326544d29260b863d37e99 |
Hashes for edsnlp-0.11.1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ea926eab617ed6d37485ff0f4b835e98f5128bd3a23159d0b4069d5c47054be3 |
|
MD5 | 2fbf09e8561be4715697a64dd9d5d2ba |
|
BLAKE2b-256 | 89b4062f89a18a0016f8a04c836f8e0b54d095c3bc04b09b36f6abdc238f1abc |
Hashes for edsnlp-0.11.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9206864d9c562d84ac1fd4851db7391ac7a4ac45b8af230348def9a6f0b22ac5 |
|
MD5 | b5f60cba98e39759165d9867cb7ac4ee |
|
BLAKE2b-256 | 3f9dd8d606dbab3fe71a901b7395fd4fd978d53b114c52c37fea52142257eb2f |
Hashes for edsnlp-0.11.1-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7583c8cfd2339931ce9b4e73be1b25badc0bdc1774a88283ebe615ceb59c5bbc |
|
MD5 | 41ba1e0bfd3acca388cc4ac195efeb53 |
|
BLAKE2b-256 | 3848353c99976a83bdc44958b7132437c26c969b8b94193d9994d53b1be0b019 |
Hashes for edsnlp-0.11.1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 970968190fcab25ea63d050703b883309bd97c798355a811f4021f075e6c09d0 |
|
MD5 | 2846cf0c93ce09f8fa5bb4250a735901 |
|
BLAKE2b-256 | 87a3b996f0cf3aba2bc4457769c434487657dccf5c8b4b4345e06fa0f8c2cad8 |
Hashes for edsnlp-0.11.1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e741240cb28673f4576532e8b86d944f1c6b794ca452f4cf6566ac10362601d6 |
|
MD5 | fd1b30fba69d1e828f8ffd06060343e3 |
|
BLAKE2b-256 | a6ce1b2705980a30144dd31de454f91bb441e1e02aec1d9d366cefd11a52566d |
Hashes for edsnlp-0.11.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8012b5c559c4c206c862e0874cd0ce60b7531d1cfa35ff6b04c162c91af00de9 |
|
MD5 | f2700ef4efe1199f45560331b9810fae |
|
BLAKE2b-256 | 131b4ae68c25ab372b59c154c60eb1a409389588201199d664d3238ec22c97b8 |
Hashes for edsnlp-0.11.1-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb4eefbad7e637f9660256c658c2c4944b346956381ff59a78591862df21fece |
|
MD5 | e347c3c1179c98da39b39160c9a0b57e |
|
BLAKE2b-256 | 4417d09cf5f9c56a74d6861058c3a9ce94a026f69e7a54ef5ef40b448a357e05 |
Hashes for edsnlp-0.11.1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c32cae147f88e2b7022a64fe7b506a07b6f741ec86da60a55a5eb6ce3d05963e |
|
MD5 | 248ce21ecdec9ae838bd8a8ae6dea42f |
|
BLAKE2b-256 | c53ebfbd9661c5fe7655194462d28da65fc347afb4a05f8d78abc9d5445557d9 |
Hashes for edsnlp-0.11.1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 007b6af14887984d62df7f18b1e8114b5019b3cc9c414f29089ecba1a85de39e |
|
MD5 | e9de62877e4581a32329298d3ab4b2d6 |
|
BLAKE2b-256 | 4ab18cde70a9ae820eb301d051fd70397184b044d7c1c666caaf46100c747e3f |
Hashes for edsnlp-0.11.1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 047c202e155049c6bdfe0bdbb91e34784d645bd214fa455a2b74e11ddee73115 |
|
MD5 | 7ce4ab050689348d7f642fb0ca131419 |
|
BLAKE2b-256 | 46d03d8d5ea20403d6739ad618a0dfa14c9019af743c098c9ddb7462c612f70d |
Hashes for edsnlp-0.11.1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e773a751fe008136c416b13f8055e3c5bddd53da11a33c4721ccdc2cbc1dbb9e |
|
MD5 | 1c9815fdcd1ab4574a082c04dfad72f2 |
|
BLAKE2b-256 | 86ea28b19f5fd589a3f8cef180f349dfca848181a3d4e2fe3bbcd81d648483b2 |