CoolFace
Datasetpublic

NorskHelsenett/eti-embedding-training-data-2048-triplets

ETI Embedding Training Data — Triplets with Hard Negatives This dataset contains 330,120 (anchor, positive, negative) triplets for training and fine-tuning Norwegian-language embedding models, particularly for health-related retrieval and RAG applications. How this dataset was created Source data The triplets were mined from the source dataset NorskHelsenett/eti-embedding-training-data-2048, which contains 78,888 anchor-positive pairs of Norwegian… See the full description on the dataset page: https://huggingface.co/datasets/NorskHelsenett/eti-embedding-training-data-2048-triplets.

sourceHugging Facecc-by-4.0updated 5mo agoView on Hugging Face
0likes60downloads
Dataset Card

ETI Embedding Training Data — Triplets with Hard Negatives

This dataset contains 330,120 (anchor, positive, negative) triplets for training and fine-tuning Norwegian-language embedding models, particularly for health-related retrieval and RAG applications.

How this dataset was created

Source data

The triplets were mined from the source dataset [NorskHelsenett/eti-embedding-training-data-2048](https://huggingface.co/datasets/NorskHelsenett/eti-embedding-training-data-2048), which contains 78,888 anchor-positive pairs of Norwegian health content. That dataset was generated using an LLM (Claude) to create questions (anchors) for passages (positives) from Norwegian public health sources (helsenorge.no, NAV, Statped, etc.).

Hard negatives mining

Hard negatives were mined using Sentence Transformers' `mine_hard_negatives()` with FAISS-based approximate nearest neighbor search. The process:

  1. 1.All anchors and positives from the source dataset were embedded
  2. 2.For each anchor-positive pair, FAISS was used to find semantically similar but incorrect passages
  3. 3.Filtering was applied to ensure negatives are "hard" (close but not too close to the anchor)
  4. 4.Each input pair produced multiple triplets with different hard negatives

Parameters used

ParameterValueDescription
embedding_modelNorskHelsenett/eti-embeddinggemma-v1Domain-specific Norwegian health embedding model used for similarity search
num_negatives5Target number of hard negatives per anchor-positive pair
range_min5Skip the 5 most similar candidates (too easy/near-duplicates)
range_max200Consider top 200 most similar candidates
max_score0.9Reject candidates with similarity > 0.9 to anchor
absolute_margin0.1Negative must be ≥ 0.1 less similar than positive
relative_margin0.1Negative similarity ≤ 0.9× positive similarity
sampling_strategytopSelect the hardest negatives from the valid range
output_formattripletOne (anchor, positive, negative) row per negative
use_faissTrueFAISS for memory-efficient approximate nearest neighbor

Statistics

MetricValue
Source pairs78,888
Output triplets330,120
Avg triplets per anchor~4.2
Dataset size~503 MB

Dataset format

Each row contains three text fields:

ColumnDescriptionExample
anchorA question in Norwegian"Hva er noen tips for å gjøre leken mer lystbetont for barnet mitt?"
positiveThe correct/relevant passageA passage about supporting language learning through play
negativeA hard negative — related but incorrect passageA passage about a different but topically similar health subject

Intended use

This dataset is designed for:

  • —Fine-tuning embedding models using triplet loss or similar contrastive objectives
  • —Training cross-encoders for re-ranking in Norwegian health RAG systems
  • —Improving retrieval quality by teaching models to distinguish between similar-but-different health topics

Training with Sentence Transformers

python
from sentence_transformers import SentenceTransformer, losses
from datasets import load_dataset

dataset = load_dataset("NorskHelsenett/eti-embedding-training-data-2048-triplets", split="train")

model = SentenceTransformer("your-base-model")
train_loss = losses.TripletLoss(model=model)

# See SBERT docs for full training setup:
# https://sbert.net/docs/training/overview.html

Source dataset

[NorskHelsenett/eti-embedding-training-data-2048](https://huggingface.co/datasets/NorskHelsenett/eti-embedding-training-data-2048) — 78,888 anchor-positive pairs generated from Norwegian health content using Claude for question generation and semantic chunking with a 2048-token limit.

Related models

  • —[NorskHelsenett/eti-embeddinggemma-v1](https://huggingface.co/NorskHelsenett/eti-embeddinggemma-v1) — An embedding model fine-tuned on the source anchor-positive pairs

Pipeline

This dataset was created using the HN-ETI-AI-EMBEDDING-DATA pipeline's --hard-negatives-only mode:

bash
uv run main.py \
  --hard-negatives-only NorskHelsenett/eti-embedding-training-data-2048 \
  --mine-hard-negatives \
  --hard-negatives-model NorskHelsenett/eti-embeddinggemma-v1 \
  --num-hard-negatives 5 \
  --hard-negatives-range-min 5 \
  --hard-negatives-range-max 200 \
  --hard-negatives-max-score 0.9 \
  --push-name NorskHelsenett/eti-embedding-training-data-2048-triplets

License

CC-BY-4.0 — Created by Norsk Helsenett SF. Source content is from Norwegian public sector websites.