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.12.2
or if you want to use the trainable components (using pytorch)
pip install "edsnlp[ml]==0.12.2"
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.12.2-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cde074b2f12b8b9ac4915c591ef56eb750903a0dba289320adeef202096b0c88 |
|
MD5 | b62edf072d2d79c4a2bb7f4826153324 |
|
BLAKE2b-256 | 25ce9815a815c7ba28a733085a50f3b8b379deac4e44b64b87422cf4b158d985 |
Hashes for edsnlp-0.12.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f16952a9a693c779f550d36a151663ed9aec6cd45293cea341a2171e9a342df |
|
MD5 | 918d4ae2d64730eae359edae24608c74 |
|
BLAKE2b-256 | 84e3ce191770544730d8fd6062793c7748d20e38a1362289779be9ede384e9d5 |
Hashes for edsnlp-0.12.2-cp312-cp312-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8cff4ae8d6e3c53acb72e9c19f230bec797fda0843a1c32bb3c703db5db2f21 |
|
MD5 | fb10a1fcf753084f956b55b62fdf8e02 |
|
BLAKE2b-256 | 7f3def319b724503b5d9f7a8d1d86a49b4f59fbcf9712356f50230d5d3bed02b |
Hashes for edsnlp-0.12.2-cp312-cp312-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8e45e1f80d1549ffdb6dbaae8f0cbb268367c85620eb3ecaf036ab3ef438c61b |
|
MD5 | 462fcaa3a53466d39e316bbe485a16ff |
|
BLAKE2b-256 | ece8e1eddd49fa4ddbed0ee9fad62cb0fe0c502a793f8976026af720e58d748b |
Hashes for edsnlp-0.12.2-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 910a90f72f70211c21d6ee35623e328fc243ecf4bb0f3b3ad72d202400791d33 |
|
MD5 | 673bf42e8cd9f1bef7e24cc268f1995f |
|
BLAKE2b-256 | 4d1d4001b510ceff76c7a8b8bf525e28c1e9a212eff822368f4fe85ca5446f6e |
Hashes for edsnlp-0.12.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e4fe3babd4f2fb45e0f9ffb4eba33f6b8c5b8095a85983f0d4d3d73bb8c38304 |
|
MD5 | 70eda714c84b960311b5cbeeddfaaf0c |
|
BLAKE2b-256 | 27075adc323070100319509829a61755ad4389e7daa8aaff12ea02ae82a94077 |
Hashes for edsnlp-0.12.2-cp311-cp311-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6432608d87382ec15fb79304f88bd11e1b64ec5cc7704b1b1f013a27e01a1976 |
|
MD5 | b2ae8153e455b652feb5d9e455677fa4 |
|
BLAKE2b-256 | e8af4520944d6af50bef78c8b83a6d994a7d2ba33d69412d497a111810565ba5 |
Hashes for edsnlp-0.12.2-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | be43dd2f8dc0b817a7a58070c05aeafdf734c9b9ede47fee00c6546ee338babf |
|
MD5 | 7d78c712d45b33f7caa150a6ed3da24b |
|
BLAKE2b-256 | 4384e4e4bdca7586620284b14ec671527ff07827af3d348e8d1617765e5ed82b |
Hashes for edsnlp-0.12.2-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b481dbc24640afd31befda589ebe1725758ddf2988ef20de67c007e0d9b76743 |
|
MD5 | d2bfbaec3a25566cad7252f3f404b4ea |
|
BLAKE2b-256 | 505d611b7019fc8bfc4f6012b75246a5783fdfb2dd90b152db48c4c6ad24600e |
Hashes for edsnlp-0.12.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58700e5d55ad00095262f948e9161ea353d07f6c71546bce8919a51f73766d7a |
|
MD5 | d297527b585a98dc2ba2581f4892ec2f |
|
BLAKE2b-256 | 4d545d9a28c71892cb13d8960d619ab9d69f0f39cfa542e184b7a3392b12960e |
Hashes for edsnlp-0.12.2-cp310-cp310-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee4b071bb197836f5d4965c7b2ef1688047a40eb8132dbc2db905ab4bcbd4613 |
|
MD5 | 4614d4428c2fbad7bd34c588e1dfcf41 |
|
BLAKE2b-256 | ac95d390d644e54d487b81cdaac1ff86efdab1bb57d7ebe6d2cfffb61c7671c5 |
Hashes for edsnlp-0.12.2-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 60bb6e93d20f46dfbf831dfc4ff5ea2168b8cd01f66b8be43ed0a4a1c53bf371 |
|
MD5 | f38a19c08b64af8366f2554d07625295 |
|
BLAKE2b-256 | 9e19a1a9acf3805735dcec916eb67c8b6fce917d67a50d30857968f3378d19ef |
Hashes for edsnlp-0.12.2-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3cd490aa4690602408eac9a02184d6e5c8f18975834b27bd40d387c8a82b6255 |
|
MD5 | 112d50dd6cfd18f664810d90f88913c1 |
|
BLAKE2b-256 | a16c913a4685bf98132f9522c8dbc034b7c6a05ae1560f15d8d66940cf4f39e9 |
Hashes for edsnlp-0.12.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0f7098405cfb1b32c8e1b1cbcae6491c3813ac5dc93632b541164bd3a9031439 |
|
MD5 | d02501a003bde9d9fbf037aed8aead7e |
|
BLAKE2b-256 | 6aaabe384d0fef00138d34b3b43b5ddad64bc7c1d06232d0fb7ae148f4ddc778 |
Hashes for edsnlp-0.12.2-cp39-cp39-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66debdcecdbc4b196bbbf41384107e5cc9bbe86a2daef813956e773d49ae5c15 |
|
MD5 | c44b1af65816df3fd28c835bc6b34dc4 |
|
BLAKE2b-256 | e3805caab79aece066d3364224cdf55b48424530758ddd775b613f6c11a1a2f4 |
Hashes for edsnlp-0.12.2-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ca40d830d64a3ba2fe4697990e8a2142889f990d545296c4d5b874ea4605d61c |
|
MD5 | e73939abd577f93a271dbceda06e3212 |
|
BLAKE2b-256 | 6186328245f37e4606574d27023d23e8f05b6924980e3e0febf3e3491dfc98a2 |
Hashes for edsnlp-0.12.2-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2030e7d0e63f035d211982e6d1d9f07b7ad02d131c0ec9e73d12937cefb96752 |
|
MD5 | 4a5e3cef34938537304fc83ee8bf3ba2 |
|
BLAKE2b-256 | dfd2307763d67929888cafd867f922a5621080aadc974dd63ee3e320d8fcf45d |
Hashes for edsnlp-0.12.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 785151d09d50432a26850c07bb118e5adf594b6be758c89a78d6983c57debaad |
|
MD5 | e9a0a20a8b009fbdba1167954970a80e |
|
BLAKE2b-256 | 0fd45f5e276500290d1a48a7853005d42e48f93234ed3f3e5dc5aea890817dfe |
Hashes for edsnlp-0.12.2-cp38-cp38-macosx_11_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a839e22bc1f3b0f104048cc40ae83627e15dd4e570a8576f309f0cdbc3544ba |
|
MD5 | 9a71f352cb768acde69738f59d7372a9 |
|
BLAKE2b-256 | 51009a6b37c1579a482ceac55da4812bec11f5053c2e61a644734c84b9f1d056 |
Hashes for edsnlp-0.12.2-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2d48d5fd242a9f0c6f9f6ea26f6cd22a5ad862302fc95716e503b6de1df64c19 |
|
MD5 | 373ca7a0672f69bb41f41f075be67a4d |
|
BLAKE2b-256 | 6a402e83af1ff7b7e5eb79d936c48a4d8e19b1d457fec5fa3f7cd1591a40a75a |
Hashes for edsnlp-0.12.2-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 799f5d139f057a8f6322b04f3fdfca05dfedd345b7e2d125be291c0753fb6023 |
|
MD5 | ea820158c76291bd59850f7ce4bc8a4e |
|
BLAKE2b-256 | 1212d6da647fd11446d1d2d9089dea1e84520a5231b5980c0da1b5e0882d6352 |
Hashes for edsnlp-0.12.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d5bfdb4f638cfe8adea169c83d66c494f1939ad8ad62278aa2b5e7133ff3afd6 |
|
MD5 | 68aaef6ac50127f6bce694c7e27b3486 |
|
BLAKE2b-256 | ae68b5e58df9f551420f755df5a1026d1e4adc8b96e7040f56c9363ca4cb38cd |
Hashes for edsnlp-0.12.2-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bcd19645979493b8d0dd7e4f7d104598968a585bee6e777096fb84c7e915e3e2 |
|
MD5 | d80f8a0f00ec908ec1b91760906ead7a |
|
BLAKE2b-256 | 8faccf418e4ba99e6ff5477b256869931a8a3acde428ccb7845de91da87801ae |