Instructions to use d3let3/hilabs-termmap with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use d3let3/hilabs-termmap with Transformers:
# pip install -U transformers accelerate # Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("d3let3/hilabs-termmap", device_map="auto") - Notebooks
- Google Colab
- Kaggle
hilabs-termmap models
Trained models for hilabs-termmap, a context-aware clinical term mapping engine: given a pre-extracted clinical term (plus optional chart context), predict one ICD-10-CM code and one SNOMED CT concept.
All models are initialized from
cambridgeltl/SapBERT-from-PubMedBERT-fulltext
and fine-tuned on the hackathon training split (9,646 rows; per-system).
Contents
| subfolder | task | pooling |
|---|---|---|
biencoder_ICD10CM |
ICD-10-CM dense retrieval (bi-encoder) | mean |
biencoder_SNOMEDCT_US |
SNOMED CT dense retrieval (bi-encoder) | mean |
reranker_ICD10CM |
ICD-10-CM cross-encoder reranker (1 logit) | CLS |
reranker_SNOMEDCT_US |
SNOMED CT cross-encoder reranker (1 logit) | CLS |
The engine also uses a frozen second dense source,
FremyCompany/BioLORD-2023
(for recall only), and TF-IDF/char/fuzzy indexes built from the dictionaries.
Usage
from transformers import AutoModel, AutoTokenizer, AutoModelForSequenceClassification
# bi-encoder (mean pooling over tokens)
model = AutoModel.from_pretrained("d3let3/hilabs-termmap", subfolder="biencoder_ICD10CM")
tok = AutoTokenizer.from_pretrained("d3let3/hilabs-termmap", subfolder="biencoder_ICD10CM")
# cross-encoder reranker: (term + chart context, candidate description) -> relevance logit
rer = AutoModelForSequenceClassification.from_pretrained(
"d3let3/hilabs-termmap", subfolder="reranker_ICD10CM"
)
tok = AutoTokenizer.from_pretrained(
"d3let3/hilabs-termmap", subfolder="reranker_ICD10CM"
)
Full engine, indexes and reproduction instructions:
see the project repository (hilabs-termmap).
Results (held-out dev, entity-level 85/15 split)
| system | exact match |
|---|---|
| ICD-10-CM | 67.9% |
| SNOMED CT | 51.6% |
Headline (lower of the two): 51.6%. Long-tail (gold code unseen in training): 36.8% / 40.6%.
Notes
- These weights are research artifacts from a one-day hackathon; they are not a medical device and must not be used for clinical decisions.
- No patient data is contained in the weights; training used a public hackathon dataset of clinical terms.
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support