GitXplorerGitXplorer
b

bert-phi-annotator

public
1 stars
0 forks
0 issues

Commits

List of commits on branch main.
Verified
ebaf0771f1057ea5c907b4ee222d92b24cce5fe2

Merge pull request #4 from cascadianblue/bump-1.0.1

bboyleconnor committed 3 years ago
Verified
708e923a0ec7fc78afe4893699f97c50772a8b2f

Bump Version in docker-compose.yml

bboyleconnor committed 3 years ago
Verified
b4154a04caef0d26fbb3015d944bc8811d161eda

Bump Version in Tool Controller

bboyleconnor committed 3 years ago
Verified
4eb634daed1ffffb668c952257854e745567e396

Bump Version to 1.0.1 in README

bboyleconnor committed 3 years ago
Verified
560729cbf32a32fce159a72e34eb501ac01036e2

Merge pull request #3 from cascadianblue/allow-blank-notes

bboyleconnor committed 3 years ago
Unverified
ef7067cb32959836d33fc800d6821ed7097fce2b

Return Empty List on Blank Notes

bboyleconnor committed 3 years ago

README

The README file for this repository.

nlpsandbox.io

Hugging Face-based NLP Sandbox PHI Annotators

GitHub Release GitHub CI GitHub License Docker Leaderboard Discord

Introduction

NLPSandbox.io is an open platform for benchmarking modular natural language processing (NLP) tools on both public and private datasets. Academics, students, and industry professionals are invited to browse the available tasks and participate by developing and submitting an NLP Sandbox tool.

This repository packages BERT fine-tuned on I2B2 as an NLP Sandbox PHI annotator. The performance of this tool can be viewed and compared to the performance of other PHI annotators on NLPSandbox.io.

Annotation types supported by this annotator:

Annotation Schema Supported
Contact TextContactAnnotation Yes
Date TextDateAnnotation Yes
ID TextIdAnnotation Yes
Location TextLocationAnnotation Yes
Person Name TextPersonNameAnnotation Yes

Contents

Specification

Requirements

Usage

Running with Docker

The command below starts this NLP Sandbox PHI annotator locally.

docker compose up --build

You can stop the container run with Ctrl+C, followed by docker compose down.

Running with Python

Create a Conda environment:

conda create --name phi-annotator python=3.9 -y
conda activate phi-annotator

Install dependencies and download an NER model from HuggingFace (default: David S. Lim's fine-tuned BERT model):

Install and start this NLP Sandbox tool.

cd server && pip install -r requirements.txt
python save_bert.py
python -m openapi_server

Accessing this NLP Sandbox tool User Interface

This NLP Sandbox tool provides a web interface that you can use to annotate clinical notes. This web client has been automatically generated by openapi-generator. To access the UI, open a new tab in your browser and navigate to one of the following address depending on whether you are running the tool using Docker (production) or Python (development).

Versioning

GitHub release tags

This repository uses semantic versioning to track the releases of this tool. This repository uses "non-moving" GitHub tags, that is, a tag will always point to the same git commit once it has been created.

Docker image tags

The artifact published by the CI/CD workflow of this GitHub repository is a Docker image pushed to the Synapse Docker Registry. This table lists the image tags pushed to the registry.

Tag name Moving Description
latest Yes Latest stable release.
edge Yes Latest commit made to the default branch.
edge-<sha> No Same as above with the reference to the git commit.
<major>.<minor>.<patch> No Stable release.

You should avoid using a moving tag like latest when deploying containers in production, because this makes it hard to track which version of the image is running and hard to roll back.

Benchmarking on NLPSandbox.io

Visit nlpsandbox.io for instructions on how to submit your NLP Sandbox tool and evaluate its performance.

Citation

  • If you use this NLP Sandbox tool or resources from NLPSandbox.io, please follow these [citation guidelines].

Contributing

Thinking about contributing to this project? Get started by reading our contribution guide.

License

Apache License 2.0