DT4H_CardioBERTa_parents_nl_translations_only

DT4H_CardioBERTa_parents_nl_translations_only is a Dutch biomedical terminology encoder for clinical concept normalization and entity linking. It is initialized from [UMCU/CardioBERTa.nl] 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

Language Dutch (nl)
Triplet collection translations_only
Strategy parents
Objective Multi-Similarity Loss
Mining All triplets, margin 0.2
Pooling CLS
Epochs 1
Batch size 256
Learning rate 2e-5
Max. length 25

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

Terminology statistics

Strategy Triplets CUIs Unique terms Unique positives Terms/CUI Δ terms
synonyms 73,383 73,383 144,382 72,882 2.00 0
parents 1,619,124 476,352 534,325 416,533 3.95 +389,943
grandparents 4,753,324 476,971 534,613 471,453 9.84 +390,231

This model uses 1,619,124 triplets, covering 476,352 CUIs and 534,325 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

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

model_id = "DT4H/DT4H_CardioBERTa_parents_nl_translations_only"

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.

Downloads last month
9
Safetensors
Model size
0.1B params
Tensor type
F32
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Collection including DT4H/CardioBERTa.nl_P_translations_only