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.0
or if you want to use the trainable components (using pytorch)
pip install "edsnlp[ml]==0.11.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.11.0-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c660d7ea5f1b1a18f2f475b980886e31db683d3cd5311033b2fa11c670903f5d |
|
MD5 | 7116fd4d7ef6300843c6fb3bdcd9d192 |
|
BLAKE2b-256 | cdb96b0429b5cc617605d4e7ab57e3991bb9e8b24211968d4e4d36580471caa9 |
Hashes for edsnlp-0.11.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bce957b3a1acaa9c8ec8f8abec866d4a048dc695119ec98e11dd964585c61aef |
|
MD5 | 017991253174a40fbe9291a4cec3043a |
|
BLAKE2b-256 | 2cd064a6ca93e7569c8bbab8ed41b1fa7d0fa69c3892aa4c977ac3168f044c24 |
Hashes for edsnlp-0.11.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d33a640d2e98b7578600be3aede59074b94621b0310ce3b37133b44f718b8af3 |
|
MD5 | 1f085758ae539c4179dce0856246f5ba |
|
BLAKE2b-256 | ae2fd9308746bcfccdf299b18459c022abfb6b3384fdefe2e16fdd087e7f64c9 |
Hashes for edsnlp-0.11.0-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7887275979992a14d0c4b5c250f2fe76de62ff41c0acaa59871a5c391cbf9bd |
|
MD5 | e069023054cc7ef6a3efc6f8cbeea36f |
|
BLAKE2b-256 | 11f6a8d7d0d05faa52b71a11f265b6b20f6eb0d39243197cf14a106e7b89e203 |
Hashes for edsnlp-0.11.0-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3f7453dd421738bbcd1ee1e1c412a30f34e942f6b55052b107439527f289a75c |
|
MD5 | 9394a4789a036492b4d1ce43e8ec0602 |
|
BLAKE2b-256 | 3d024255b03f7930e53a960883bda68649fa043912c8302b09db10196363c280 |
Hashes for edsnlp-0.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fed96ae1146d45dc6cfb4ec7d7162b7f32f447c39e5ab5f5aa845c08de74822d |
|
MD5 | 176a596a5e015d415215d39bacddbdeb |
|
BLAKE2b-256 | fc8ed42fd4b251b49acf52a8f87caecc406558987fe198e8aff6d8ae47d474c9 |
Hashes for edsnlp-0.11.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c7eaa1ad301be999d0ae6a0fcd5a125d21b7757f5e0df88202669c3731f60d8 |
|
MD5 | 765f9c4717ca67ebd68cdba31af968ed |
|
BLAKE2b-256 | cd6528470895b9385702d76e975b1b5bf093c53495197a6d784c92a7bee12935 |
Hashes for edsnlp-0.11.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 02214819734a6fe3bf037a51d25d481f0a97be6cd30c313c5c018503a86cf33b |
|
MD5 | a707488357a50f4ec0c81c6b9c9a3df5 |
|
BLAKE2b-256 | da3da7f41cb1e642e5cfb5a2c97dee498f4eb4538d5f0fb6aa6fc16357b44990 |
Hashes for edsnlp-0.11.0-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b15d54b5ff82fb265f44d5f53a77241962426356d66aed8dbfd034e910206e7 |
|
MD5 | 06b6352ae1c58ebb9f6daa9aacae3653 |
|
BLAKE2b-256 | d47abd48e0380e38cbe431a68887a1114dfb253f167edf25c90a623eb7c1adf7 |
Hashes for edsnlp-0.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f06fad1f15d58132dc1eca2762cc27df896728545ee759de8938b892b1b7e9f6 |
|
MD5 | 042ba759efadbc15002112d584149e74 |
|
BLAKE2b-256 | ee2907a5d4a5a11c0b0ade83db73a671502c6f8348c0deb450b0fb849516cb53 |
Hashes for edsnlp-0.11.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | acba02c9c5f5fe5623cd1ae9c119bc1493eeff0f913f832377e56499ae3304af |
|
MD5 | cc0addff93d8e4064c24e4529a1220fe |
|
BLAKE2b-256 | 3e685c0bdff715029cff26a6e46c3a8d634828d1f852562e087029de1abe1012 |
Hashes for edsnlp-0.11.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a635d61ab3acefbecc65fd73ee5d607ef285e7d1ff4f42e36cf36e0b0108f51a |
|
MD5 | a633cf458b9f0a1714d5055d6d11111d |
|
BLAKE2b-256 | d817fd3c96b529afa2cc986b3909aece26bff6fab63287d998318ea8e4d7da09 |
Hashes for edsnlp-0.11.0-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 959c623e359614c5d236c7aa54ac0c97c1d3840f40fe51d333bfef556444a760 |
|
MD5 | 5c9a6dfeca1bd79bb8528cd15958ab74 |
|
BLAKE2b-256 | 8e5e6b9122fd0608cb6229ec9ecdf06d865038e3886a1af87e5321f0a2f09605 |
Hashes for edsnlp-0.11.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ec8bc48536e34f9ee211ca77363fc358a842f02bdbd52caa0c4d356c29826c6a |
|
MD5 | 206d35400073172be7761b97e23e35c3 |
|
BLAKE2b-256 | 9131c62fd6efcf4fa8c06ea48b2d8d228de9a8cddcc0b7c9ac8eddb03b86db88 |
Hashes for edsnlp-0.11.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 071854e37274a4ce41ad1c474ca11b999cd947667ef8d3f1ebf321e1ee554e63 |
|
MD5 | 2bf7684b70ea5dcb24a1e271ff84724b |
|
BLAKE2b-256 | 83cfd1cb823e000f4e14601a85addfd0a7b50c0203b1d1ccb74e831bccc86cce |
Hashes for edsnlp-0.11.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef13b6ba28158da9f511e0318528d65ead27954b2a2e3db3f8932abb568933a7 |
|
MD5 | b8e1734a3bdae71459a5b417ee15c3d6 |
|
BLAKE2b-256 | c8336c90695508406f4b8ad95418cb1095d961bf22db9b321c0885b2fb66cdf5 |
Hashes for edsnlp-0.11.0-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3b0e0627b2728999a98cd9b6693b37e75b5f52631d47deea76817d054ce8d087 |
|
MD5 | fc9659a6aa8fe1d77ae3cb1896070bdc |
|
BLAKE2b-256 | 3b4593da2887eaaab7ef0b5a390315c7c415ed3a4609dda7289f0a8fdf411f53 |
Hashes for edsnlp-0.11.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6dc6b5bcaacb3d0b28247554b6aa1e6d6fca6c2e556157c940733bfab76e7e9f |
|
MD5 | 5016a1734c1ccd6114781a6724c07c12 |
|
BLAKE2b-256 | 11fa565142ead426cdd073ee5e69d935c815636fbde2eebf972e4fbcedf63e73 |
Hashes for edsnlp-0.11.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d0de6e2761a1ed8a0f943be921f9ee041c1dd8f64f71e136f00730554515735 |
|
MD5 | 0a8cef0f255e1f2a95b11e34e04992fd |
|
BLAKE2b-256 | 607705590080423a38b354a277408e8e26975214f7f0cca15371e3aff4edcd1e |
Hashes for edsnlp-0.11.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | acd341fd244d0d7a41c2b5e83fd5d06eb80d4d3cda1c939be8d56ba6c936f4e8 |
|
MD5 | 7b4d414987951416358b1b533b0fc9e6 |
|
BLAKE2b-256 | 785de8cefb1111168d964f1f77ad80619718c551117fe292a15ffb3f2facad23 |
Hashes for edsnlp-0.11.0-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21879a38c60e23cc70010cda74b5fa7b800d6d366523e393c41e395758cc93c6 |
|
MD5 | 1864f2312e3e77066d419964cd305924 |
|
BLAKE2b-256 | 5653a63cd3ee69c370d50131ba5c553ffbc784bdb388c953aa7cb2db228ea821 |
Hashes for edsnlp-0.11.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a630bd6d355198226376bfe10ff5e9b6aad900fffd5081b3bd09bca1c00b91b6 |
|
MD5 | 2937719859071b89b4b4f62c8f338b8e |
|
BLAKE2b-256 | ca4cd600625090a0880ea20e3b198e6b57642a3ae12ed06e0ca7af6127358e38 |
Hashes for edsnlp-0.11.0-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f535463d3e61cdb7a41f38fa336c23c191dab6f2e361b60b5aecedba70160f13 |
|
MD5 | a5b0d7bf7aa3a34739e2d5066769df54 |
|
BLAKE2b-256 | 9c4e57c7540e3340fd1509fed7ed31bd6b40c9ef24aa98903736684e9192ee36 |