/CheXpert_labeler

Primary LanguagePythonMIT LicenseMIT

Notice:

The original repo need install negbio package, and due to some dependent packages is out of time, some bugs happens. This repo have fix the issue.

  • Requirements:

See requirements.txt

  • Install GENIA+PubMed
>>> from bllipparser import RerankingParser
>>> RerankingParser.fetch_and_load('GENIA+PubMed')
  • Run th code:
python label.py --reports_path reports_path

chexpert-labeler

CheXpert NLP tool to extract observations from radiology reports.

Read more about our project here and our AAAI 2019 paper here.

Prerequisites

Please install following dependencies or use the Dockerized labeler (see below).

  1. Clone the NegBio repository:
git clone https://github.com/ncbi-nlp/NegBio.git
  1. Add the NegBio directory to your PYTHONPATH:
export PYTHONPATH={path to negbio directory}:$PYTHONPATH
  1. Make the virtual environment:
conda env create -f environment.yml
  1. Activate the virtual environment:
conda activate chexpert-label
  1. Install NLTK data:
python -m nltk.downloader universal_tagset punkt wordnet
  1. Download the GENIA+PubMed parsing model:
>>> from bllipparser import RerankingParser
>>> RerankingParser.fetch_and_load('GENIA+PubMed')

Usage

Place reports in a headerless, single column csv {reports_path}. Each report must be contained in quotes if (1) it contains a comma or (2) it spans multiple lines. See sample_reports.csv (with output labeled_reports.csv)for an example.

python label.py --reports_path {reports_path}

Run python label.py --help for descriptions of all of the command-line arguments.

Dockerized Labeler

docker build -t chexpert-labeler:latest .
docker run -v $(pwd):/data chexpert-labeler:latest \
  python label.py --reports_path /data/sample_reports.csv --output_path /data/labeled_reports.csv --verbose

Contributions

This repository builds upon the work of NegBio.

This tool was developed by Jeremy Irvin, Pranav Rajpurkar, Michael Ko, Yifan Yu, and Silviana Ciurea-Ilcus.

Citing

If you're using the CheXpert labeling tool, please cite this paper:

@inproceedings{irvin2019chexpert,
  title={CheXpert: A large chest radiograph dataset with uncertainty labels and expert comparison},
  author={Irvin, Jeremy and Rajpurkar, Pranav and Ko, Michael and Yu, Yifan and Ciurea-Ilcus, Silviana and Chute, Chris and Marklund, Henrik and Haghgoo, Behzad and Ball, Robyn and Shpanskaya, Katie and others},
  booktitle={Thirty-Third AAAI Conference on Artificial Intelligence},
  year={2019}
}