📖 BERT Long Document Classification 📖
an easy-to-use interface to fully trained BERT based models for multi-class and multi-label long document classification.
pre-trained models are currently available for two clinical note (EHR) phenotyping tasks: smoker identification and obesity detection.
To sustain future development and improvements, we interface pytorch-transformers for all language model components of our architectures. Additionally, their is a blog post describing the architecture.
| Model | Dataset | # Labels | Evaluation F1 |
|---|---|---|---|
| n2c2_2006_smoker_lstm | I2B2 2006: Smoker Identification | 4 | 0.981 |
| n2c2_2008_obesity_lstm | I2B2 2008: Obesity and Co-morbidities Identification | 15 | 0.997 |
Installation
Install with pip:
pip install bert_document_classification
or directly:
pip install git+https://github.com/AndriyMulyar/bert_document_classification
Use
Maps text documents of arbitrary length to binary vectors indicating labels.
from bert_document_classification.models import SmokerPhenotypingBert
from bert_document_classification.models import ObesityPhenotypingBert
smoking_classifier = SmokerPhenotypingBert(device='cuda', batch_size=10) #defaults to GPU prediction
obesity_classifier = ObesityPhenotypingBert(device='cpu', batch_size=10) #or CPU if you would like.
smoking_classifier.predict(["I'm a document! Make me long and the model can still perform well!"])
More examples.
Notes
- For training you will need a GPU.
- For bulk inference where speed is not of concern lots of available memory and CPU cores will likely work.
- Model downloads are cached in
~/.cache/torch/bert_document_classification/. Try clearing this folder if you have issues.
Acknowledgement
If you found this project useful, consider citing our extended abstract accepted at NeurIPS 2019 ML4Health .
Format bibtex citation
Implementation, development and training in this project were supported by funding from the Mark Dredze Lab at Johns Hopkins University.
Metadata
Release files for bert-document-classification 1.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| bert_document_classification-1.0.0.tar.gz | 16.3 kB | Without provenance | Details for bert_document_classification-1.0.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| bert_document_classification-1.0.0-py3-none-any.whl | Python 3 | none | any | Details for bert_document_classification-1.0.0-py3-none-any.whl |
Total release size: 35.0 kB
Release files / bert_document_classification-1.0.0.tar.gz
| Download URL | bert_document_classification-1.0.0.tar.gz |
|---|---|
| Size | 16.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
74e91b3932fa34cb9008170d57c219e65a0178b800ea6928f601c6153f193450
|
|
BLAKE2b-256 checksum How to use checksums |
04cf7d774c7b9eef0f0f8299ca0a3942133c1460d9a6262e6eb0ccb07f90419d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.8
|
Release files / bert_document_classification-1.0.0-py3-none-any.whl
| Download URL | bert_document_classification-1.0.0-py3-none-any.whl |
|---|---|
| Size | 18.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
4d4559fa8e15d2fb800cedfdc79c14266d7b325c31ed084564ddec3707217480
|
|
BLAKE2b-256 checksum How to use checksums |
f9e0bfce41dcb17179d538c46093e04a8925b63c913dae9a269aca51b0e2d701
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.8
|
Security for bert-document-classification 1.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.