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.0
or if you want to use the trainable components (using pytorch)
pip install "edsnlp[ml]==0.13.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.
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.0-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f645d40f4782f71bcb96b2b38648874adcd7ff171fa0ec05911bcf9aef45ac48 |
|
MD5 | 362c909dedbcc263465a0e4a1db3cab1 |
|
BLAKE2b-256 | b4737ba68cf45422c4e14ebed1aacaaa294a1a52f9bb220d9fd3a9fa6b7f5878 |
Hashes for edsnlp-0.13.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8df43a586093377093975e720c41983e0e7bd1f2a4f681d451cd9eff81533604 |
|
MD5 | a6ad0a5398299473b5efa6adb1f3d24a |
|
BLAKE2b-256 | 63165c24cb0f1d1fefaf1eb3137f19ca69a356021834fe7a7652055a12ac1550 |
Hashes for edsnlp-0.13.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 17b3a77bc3d13a4c73958b9d706c216d48bf3834e8cc65869675af06774c3bb2 |
|
MD5 | ec21ada24e380c695ab4c1e368a59a3a |
|
BLAKE2b-256 | 8b0e49dcb1679bfb659342eaf5bab0d4d92876e68c477587ba44a6774efcc565 |
Hashes for edsnlp-0.13.0-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32ff22317d87f1703f6ded3a7e3440cf78a229554d5674ccd13cbdf893ba77f4 |
|
MD5 | 8ecf30d33a369fec35ae35c61f599c29 |
|
BLAKE2b-256 | afefb7028d752db83dcd13926b25ff277a6d1aea3ccfe381992118c2ea22e56d |
Hashes for edsnlp-0.13.0-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bf14efd0b193c2715578391cda39b9bb5eca4ddd556ead20bdb0c3353ca4caae |
|
MD5 | c4d92288940948aae79f5c1ebc9f4cf5 |
|
BLAKE2b-256 | 54485560337d70ef33beafc22dfbafbd435f5fe87f513b617fb8f55605c7e006 |
Hashes for edsnlp-0.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 93179073d8ccbc3c31647789b35418f048a7f46a2aa6d921576c3b22687341d7 |
|
MD5 | 52dc182941d8fc933a708d7d76413076 |
|
BLAKE2b-256 | 2e6efb83b89702aeb8b007d913982f0e23d46abf2ab1e2776c64acc53968ae53 |
Hashes for edsnlp-0.13.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 974efff286850254e9382ccba831368253c5fed8db7058ccfe5ae2da71f1bbd3 |
|
MD5 | cb3369daf91bc5ed818f91c72f902497 |
|
BLAKE2b-256 | 6369e421a1e4702d916576438853fd02f5c9e811fc69124bc98beecc0697ed31 |
Hashes for edsnlp-0.13.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e8ceab406e5d202081d1a3b1cd024494fb17999998bd1ecb70a3a2f73efe17ed |
|
MD5 | 0f618188e30ad6f42bb58c2ff2e91851 |
|
BLAKE2b-256 | 08fa72564e33732a3bdbf2a9693b82bd4abe6d90fae7da9979665df67815afcc |
Hashes for edsnlp-0.13.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 48f1e2dce9cf96d4d7268cb4a123efff64fd369e913cbed6ddd134c7fba7b54c |
|
MD5 | 188f440134dda82770d8a0ca5fa5095c |
|
BLAKE2b-256 | 6ce934cf1d6df117e6b83e4f16a18c0309306c109226d1965ea7a45efd0e093f |
Hashes for edsnlp-0.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad18d36c05c52c2374451c2d2ba26186b8f3bace253bab45a4353434641f0aee |
|
MD5 | fb5ce994a89237ae5d6ff64cff45501c |
|
BLAKE2b-256 | 5b99c2b821780fb777d4f11e940b9fd5243e8b400b5dd3866fb153474065dd76 |
Hashes for edsnlp-0.13.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41d9b0b908dc2908b13a954e9cb2a6b68716ab8940bdc6bc73e749dbdf565511 |
|
MD5 | dc4963c1f28a6f4bedd64e3ae6b53706 |
|
BLAKE2b-256 | 68e579ddbf9faacb4b568a5ba76954a8ef2c6d8c9c532a339b98c869550652e7 |
Hashes for edsnlp-0.13.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0821d7db0f68763a9508101cb6361afb4ae3abcf5bf6927a61099e94c71c2c0 |
|
MD5 | d239d2cc17bce106107ed9d6d433e5e3 |
|
BLAKE2b-256 | 497a005142b3515b7556bd9adb10fd78337c3ac59575ce3c79371d070ff000cb |
Hashes for edsnlp-0.13.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f37d939fd583a1386cba71dd42da483df24c1f3f7d351b22c5e816d3ab67858d |
|
MD5 | eaa0fac4eefc01ef2cba133cdf5dfbb5 |
|
BLAKE2b-256 | a75ab104c764461d6036fc4a2e603ff0ecede5e73eff6eab5c58f87ce697e5a1 |
Hashes for edsnlp-0.13.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d45a41ac1c57d9ef44571191e77918c97daac374995d330440a94cd7497afa8c |
|
MD5 | 6015aa73997adea8377b6336a4522d8f |
|
BLAKE2b-256 | 95917ff70325d8ffa031bae7cf516ea8e051ce034e1de8eb0b8b33308780ef84 |
Hashes for edsnlp-0.13.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4efe91602cdc3504abd7a8cebbfdcf1016bb96b99d153eb363a427c7f66c0da5 |
|
MD5 | 0f2b643e3fb6e91632c6c2634e56865d |
|
BLAKE2b-256 | 82ef48a72308c445adca93d8706f2ac00c834dabcdf478dcadf90a8ea6c0d56a |
Hashes for edsnlp-0.13.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | abb8c4eda5f3d82584b9a8d41cb533c48ebbfa3273ad57bc34bef5834202adb3 |
|
MD5 | d80fcfbff1fc9c333be56489184e0925 |
|
BLAKE2b-256 | 63eb248f1f4386a468329dca4475e90eef53287ab54a2de127d0ccdee681c2eb |
Hashes for edsnlp-0.13.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a53bb9ebea9d026ffbe28fe09925beba910acabf7623360f6f72f65f28f09b97 |
|
MD5 | 5122188339978242202a30eee5a65098 |
|
BLAKE2b-256 | 6c80a59d95f273e0515672902c61fc64438e78c643e592017807666dff833473 |
Hashes for edsnlp-0.13.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c60bed840247bb8f69039d26504b4e062fb798ee1118fadf3ad8f3c28459921 |
|
MD5 | db78fffd1362a219d71fecedac8a32f4 |
|
BLAKE2b-256 | d44ba686376364e310dd763e6741a9c765c17b81709720a41f230255a58e9417 |
Hashes for edsnlp-0.13.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e5044ceb7574fe75578a5dffee6a592dbddaaaad012c36915b22bf0efc16cb4 |
|
MD5 | 4177a93cab94fcb9ddb6d29b39bfe776 |
|
BLAKE2b-256 | 139563bad6c554e53a64ef65f0d54450b1094cb082c3a552f2bcf5fedd8420dc |
Hashes for edsnlp-0.13.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a9503051f04254f2e275c1b52936ac623fb2b56232315ad7120443ffb1589d8 |
|
MD5 | 1833915b36744ae7131ebe99ce813ed8 |
|
BLAKE2b-256 | 2cb53555545b152b151ca9441c7cabb165cb34444040fd0ec5d8184f820c96ee |
Hashes for edsnlp-0.13.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eb45825c78cd929a6f0035f6acfa5956b345989067fd22b3d7d13c20c6d743c3 |
|
MD5 | 3be8b2feabea3b712a5ec20b2d28b52d |
|
BLAKE2b-256 | 8339db045e937a167d43584f7e6061824be425ad4ad8789e08fa62af978c9371 |
Hashes for edsnlp-0.13.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b88d4fa943215e886c73b6404c84bfb3d4c2d180cd9b694844ed89ec450e698f |
|
MD5 | 455bde63544aaf001d34bf1dc996b2b4 |
|
BLAKE2b-256 | 9128e50593c126c6d8c82442aee02b5a22ab8e5892a46db2b688448675a51c93 |
Hashes for edsnlp-0.13.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1662cb8bb943c745ffbcfcf3b85080481c2e9aeb055707b7f197e0e8bd70b271 |
|
MD5 | 8e8b1177270d8e94eec7b93f329e9431 |
|
BLAKE2b-256 | 4f276a10a45cf535f3599e209a9a66601231aaac691b97061b9926f5941115e5 |