CoolFace
Modelpublic

DT4H/CardioBERTa.cs_GP_enriched

sourceHugging Faceupdated 1mo agoView on Hugging Face
0likes11downloads
Model Card

DT4HCardioBERTagrandparentscsenriched

DT4H_CardioBERTa_grandparents_cs_enriched is a Czech biomedical terminology encoder for clinical concept normalization and entity linking. It is initialized from [DT4H/CardioBERTa.cs] and specialized using CUI-supervised terminology pairs and metric learning.

Backbone

The backbone belongs to the CardioBERTa family from CardioLM - a multilingual suite of small language models for the cardiology domain. CardioBERTa comprises language-specific encoder models adapted to cardiology through continued pretraining on monolingual biomedical and cardiology-related corpora using Masked Language Modeling (MLM). The family covers Czech, Dutch, English, Italian, Romanian, Spanish and Swedish.

Training

LanguageCzech (cs)
Triplet collectionenriched
Strategygrandparents
ObjectiveMulti-Similarity Loss
MiningAll triplets, margin 0.2
PoolingCLS
Epochs1
Batch size256
Learning rate2e-5
Max. length25

CUI-supervised terminology pairs enriched with grandparent-level ontology relations.

Terminology statistics

StrategyTripletsCUIsUnique termsUnique positivesTerms/CUIΔ terms
synonyms68,97368,973135,14868,2142.000
parents1,592,861476,184526,263394,8843.92+391,115
grandparents4,689,093476,969526,548446,7609.78+391,400

This model uses 4,689,093 triplets, covering 476,969 CUIs and 526,548 unique normalized terms.

The training terminology is not distributed with this repository because it contains resources subject to UMLS licensing conditions. Only aggregate statistics are released.

Intended use

The model is intended for terminology embedding, biomedical candidate retrieval, concept normalization and entity linking, particularly in cardiology and clinical NLP pipelines. It is not intended for direct clinical decision-making.

Usage

python
import torch
import torch.nn.functional as F
from transformers import AutoModel, AutoTokenizer

model_id = "DT4H/DT4H_CardioBERTa_grandparents_cs_enriched"

tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModel.from_pretrained(model_id)

inputs = tokenizer(
    "clinical concept",
    return_tensors="pt",
    truncation=True,
    max_length=25,
)

with torch.no_grad():
    output = model(**inputs)

embedding = F.normalize(
    output.last_hidden_state[:, 0, :],
    p=2,
    dim=1,
)

Reference

Danu et al. CardioLM - a multilingual suite of small language models for the cardiology domain.

Developed within the DataTools4Heart (DT4H) project, Grant Agreement 101057849.