Skip to main content

Modular, fast NLP framework, compatible with Pytorch and spaCy, offering tailored support for French clinical notes.

Project description

Tests Documentation PyPI Demo Codecov DOI

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

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.2

or if you want to use the trainable components (using pytorch)

pip install "edsnlp[ml]==0.11.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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

edsnlp-0.11.2.tar.gz (1.6 MB view hashes)

Uploaded Source

Built Distributions

edsnlp-0.11.2-cp312-cp312-win_amd64.whl (1.9 MB view hashes)

Uploaded CPython 3.12 Windows x86-64

edsnlp-0.11.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.9 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

edsnlp-0.11.2-cp312-cp312-macosx_11_0_arm64.whl (1.9 MB view hashes)

Uploaded CPython 3.12 macOS 11.0+ ARM64

edsnlp-0.11.2-cp312-cp312-macosx_10_9_x86_64.whl (2.0 MB view hashes)

Uploaded CPython 3.12 macOS 10.9+ x86-64

edsnlp-0.11.2-cp311-cp311-win_amd64.whl (1.9 MB view hashes)

Uploaded CPython 3.11 Windows x86-64

edsnlp-0.11.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.9 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

edsnlp-0.11.2-cp311-cp311-macosx_11_0_arm64.whl (1.9 MB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

edsnlp-0.11.2-cp311-cp311-macosx_10_9_x86_64.whl (2.0 MB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

edsnlp-0.11.2-cp310-cp310-win_amd64.whl (1.9 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

edsnlp-0.11.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.9 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

edsnlp-0.11.2-cp310-cp310-macosx_11_0_arm64.whl (1.9 MB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

edsnlp-0.11.2-cp310-cp310-macosx_10_9_x86_64.whl (2.0 MB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

edsnlp-0.11.2-cp39-cp39-win_amd64.whl (1.9 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

edsnlp-0.11.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.9 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

edsnlp-0.11.2-cp39-cp39-macosx_11_0_arm64.whl (1.9 MB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

edsnlp-0.11.2-cp39-cp39-macosx_10_9_x86_64.whl (2.0 MB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

edsnlp-0.11.2-cp38-cp38-win_amd64.whl (1.9 MB view hashes)

Uploaded CPython 3.8 Windows x86-64

edsnlp-0.11.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.9 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

edsnlp-0.11.2-cp38-cp38-macosx_11_0_arm64.whl (1.9 MB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

edsnlp-0.11.2-cp38-cp38-macosx_10_9_x86_64.whl (2.0 MB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

edsnlp-0.11.2-cp37-cp37m-win_amd64.whl (1.9 MB view hashes)

Uploaded CPython 3.7m Windows x86-64

edsnlp-0.11.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.8 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

edsnlp-0.11.2-cp37-cp37m-macosx_10_9_x86_64.whl (2.0 MB view hashes)

Uploaded CPython 3.7m macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page