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.6
or if you want to use the trainable components (using pytorch)
pip install "edsnlp[ml]==0.10.6"
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.6-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 46276ce7cf61be9e10e01ea82d1bef3fb9853da58fbeec3b35f8baa9a2e9223e |
|
MD5 | 944922e5d38d45afededc2e9411d9eec |
|
BLAKE2b-256 | 024b762db6c90b908947c649fa9af914390fa723029926f2a8d6f11f572665c3 |
Hashes for edsnlp-0.10.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cbf5623823324be0a8672e868215b599386736eaf9bc42b8118429951bd82208 |
|
MD5 | 10032c23b80b0e9eac5053adeebb9521 |
|
BLAKE2b-256 | fc80d44ceb437b95b21b3629e27141fb6b10c0c76248cbebd7a191bb06d9e71a |
Hashes for edsnlp-0.10.6-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ceb5884af9077016fee0dc952fcbe910dbcc66beaf1507dee7dad059efdd9a41 |
|
MD5 | 76371aa1c89415252533de141a4249b8 |
|
BLAKE2b-256 | ed73ad655901d144477708497db5c3c0df5597df2d7d195684c2ae9dc9456bf5 |
Hashes for edsnlp-0.10.6-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0330f6d65cb39336ce91307bc1a4d52125398d87f7a8376a95ae1bd0d2761ff3 |
|
MD5 | 0a37418184e6fd37af0c8160c9ce01ed |
|
BLAKE2b-256 | 846b984ff18645159009218622c6a0d958d46c9499bd561651ae93d5cafb97e3 |
Hashes for edsnlp-0.10.6-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b39861d92f39aa4269e4fac1b4d30b69a46296e1d6b1c54d4289774e5eca6366 |
|
MD5 | 8af075dff6315f189a675bb89b5c8ceb |
|
BLAKE2b-256 | 5c331403273385cd58476818ce47b703b8aab47ee6145b2e13d89e3e04fe9ce1 |
Hashes for edsnlp-0.10.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f132a69f4aee07cda87872ade1356eb19840f4ad114ee72aff0bd053f50d51db |
|
MD5 | 2c585d48b404a7e608909d04a2c6c76a |
|
BLAKE2b-256 | 0a7ecea9626eedf4811b7123b7865bb61243b51cb5ae576ed7a6574f0435814e |
Hashes for edsnlp-0.10.6-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 37aa1fc495cdfc424834f2ad1df74f14a3e9e853faae037df5e5f2377e80291e |
|
MD5 | 915b3d72420300a8e7623c63c59f975f |
|
BLAKE2b-256 | 77bc435882b9b9b52cf4196645c423d43259ec833b5ab023a9d533a18a323850 |
Hashes for edsnlp-0.10.6-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4d4ef027126cdc461730f796cc8987e70befcf665eee8b29001c97a0d2489e30 |
|
MD5 | b52d9a522545fd671e393d4d51035f2c |
|
BLAKE2b-256 | efee4e0134cbe20c511e44b58dfcc18abfca2735df895d32b99f4a119baa7fad |
Hashes for edsnlp-0.10.6-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0589b79252bfbfa5479aae4abcafe0641f79fc22597ca1150d6e73e612ddebe |
|
MD5 | 49fdfeb25ee339bdc5cb618cc43d6eec |
|
BLAKE2b-256 | 55df00e9234fd36c78cf509d118f72ba8e0e1112b9d7510d694fc9fd605bd4e5 |
Hashes for edsnlp-0.10.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d89c9b39347530fdf4181a8611c70e421cf72be19b377900b7bb3fed48428572 |
|
MD5 | bd097591af8e318bf6ffb1bbe5288722 |
|
BLAKE2b-256 | 71b34beed8dedc9d6195af8c861e26b06f2173967ab4a1cfa78d98150c1b2b78 |
Hashes for edsnlp-0.10.6-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 22dba1105fc978a0faeb8d6d19cd6b559aabfdd5a6bdba1c97ce44f5bf40f336 |
|
MD5 | 33333eabfc77351e3d22a4d22f71e279 |
|
BLAKE2b-256 | 81a7050444688142f2633f36c7f52f2eecbcfaf0049607982ce5073687b33aa8 |
Hashes for edsnlp-0.10.6-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a08e51f918d29d9c22a0805be50790aba2872ccdf589027587bb213c8745c93b |
|
MD5 | 9701b8d30f696b4366e9e18493c50ac6 |
|
BLAKE2b-256 | ff9196bd66d64f40e2db72b37477edc272739f097df4186e30266daf667a792b |
Hashes for edsnlp-0.10.6-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4768078e2d4ad227d5eb0cf748998410d8d32a726a9cc73b34b60e1b8145ef4e |
|
MD5 | 20475e347b48b079b8cac49871cdbb7a |
|
BLAKE2b-256 | 1ceac3bac5caa25b4fc8714922a1641ebe334603484689f919c11265261c0666 |
Hashes for edsnlp-0.10.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5c50315cc8d47668a5d094ec1b329fface9511d5397872fe11673aa872f63883 |
|
MD5 | 8824f1bcca6ce48e3ff780786465bf36 |
|
BLAKE2b-256 | 0d8ad128512e2186ad2da9cd78c931c64681cb5160161c34e86bb3098b4ceef0 |
Hashes for edsnlp-0.10.6-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 808157ccdf9deba6488468b6f718637f8a35bb9f4c9afd65618816d8df4f0e44 |
|
MD5 | 1adf0bd7378b52a7ab7a7d5862043abe |
|
BLAKE2b-256 | 07496816beaa70f096a76ce21763d2d67b8442d48982135f960adead7cac7427 |
Hashes for edsnlp-0.10.6-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 72769bc950d753afc3f5c779cfc93ab0706ef245d97437bae02fd65c15869cbc |
|
MD5 | 90a7337fa533bb7bfc6a55fe06108ba5 |
|
BLAKE2b-256 | 53901de9c681a03a7d40410acde010ee8c28c1e5b5b760f046c6346dd7adeed6 |
Hashes for edsnlp-0.10.6-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cb53ff0b63b3caf9278ad77c2aa507d640518d59b27e43fe5e372c9a01b8a6c5 |
|
MD5 | 94b8b2463a0431d8fdcd20c3313bb6f3 |
|
BLAKE2b-256 | 5b0d82b42aa4849e0cf7d9844f63184cc7a94e81f11e2e56bbbfe05b154cbc7c |
Hashes for edsnlp-0.10.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d16c06a140c92046c1b043b3fc1c4735c64fbac35d8d6d1d880ef0b2bc70c36 |
|
MD5 | af8262920942189db4db7418f775c9a2 |
|
BLAKE2b-256 | a4122f40c7890bd6a8848c7cd66079f3642f5c9d1b776ef4a96296f4f4037a5c |
Hashes for edsnlp-0.10.6-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a54873239e0c85f2d0c152df4aca03ac534ba09d036729d99a902e26eb14296c |
|
MD5 | c9c77883a6404ae900dea86eb7ec7662 |
|
BLAKE2b-256 | b7c8227a3d350f53a7856b498c78e86ad574af0222f8b7be1aed96ced63dc935 |
Hashes for edsnlp-0.10.6-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef64855e7e74d50f0710bd0f1a1b21b2add98235806a895394607edb382b112e |
|
MD5 | 1ec17844c7a420b065e5e6920440a806 |
|
BLAKE2b-256 | def9f7d2a21bedb85fdcd0e0c0973d62213b4ffb462fdaa297bbb7c9f58236be |
Hashes for edsnlp-0.10.6-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 759290760c44dfb44fb924d14420a5c7035661dd41df0b6937b141b3f39190c3 |
|
MD5 | f62ba20d4a0fc365f9784615f6f6609a |
|
BLAKE2b-256 | 459ab5fa862b855331e1f3b17f86a80d99e686fe39810540f9ac81b14decfbd2 |
Hashes for edsnlp-0.10.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a6ae515c64975f38ccc9f4f38790ae88597b7fa7f7e54734b5548fb84e135554 |
|
MD5 | 81b9e276291c060d770311e440520526 |
|
BLAKE2b-256 | 5af03ecb40bd64c2519a1b113569147cc628d052a1feac6c0a1b2f85e0da7043 |
Hashes for edsnlp-0.10.6-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3ba418b2c05b0a63f6247854fd7d118335772753f9cdf53e397800dc740d79f6 |
|
MD5 | 8ac3d8ab518df7bd2a493b462975f361 |
|
BLAKE2b-256 | cc4a687a0e9cc8f6c66ef1c606aee8eba8453bd6fdb244cb0a84050e13118794 |