File size: 2,231 Bytes
9dd654e
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
---
language:
- en
- multilingual
license: apache-2.0
tags:
- sentence-transformers
- embedding
- ror
- affiliation-matching
- contrastive-learning
base_model: Snowflake/snowflake-arctic-embed-l-v2.0
datasets:
- SIRIS-Lab/affilgood-contrastive-dataset
pipeline_tag: sentence-similarity
---

# Snowflake Arctic Embeddings for ROR Affiliation Matching

A sentence embedding model fine-tuned for Research Organization Registry (ROR) affiliation matching.

## Model Description

This model is fine-tuned from `Snowflake/snowflake-arctic-embed-l-v2.0` using contrastive learning
on the AffilGood contrastive dataset. It produces embeddings optimized for matching affiliation
strings to ROR organization records.

## Training

- **Base model**: Snowflake/snowflake-arctic-embed-l-v2.0
- **Training dataset**: SIRIS-Lab/affilgood-contrastive-dataset
- **Training examples**: 50,255
- **Validation examples**: 2,645
- **Loss**: MultipleNegativesRankingLoss (with hard negatives)
- **Epochs**: 3
- **Batch size**: 32
- **Learning rate**: 2e-05
- **Max sequence length**: 256

## Usage

```python
from sentence_transformers import SentenceTransformer

model = SentenceTransformer("cometadata/snowflake-arctic-ror-affiliations")

# Encode affiliations
affiliations = [
    "Department of Physics, MIT, Cambridge, MA",
    "Harvard Medical School, Boston",
]
embeddings = model.encode(affiliations, normalize_embeddings=True)

# Encode ROR organization names for matching
organizations = [
    "Massachusetts Institute of Technology",
    "Harvard University",
]
org_embeddings = model.encode(organizations, normalize_embeddings=True)

# Compute similarity
import numpy as np
similarities = np.dot(embeddings, org_embeddings.T)
```

## Intended Use

This model is designed for dense retrieval in affiliation matching pipelines.
It should be used as the first-stage retriever to find candidate ROR organizations
for a given affiliation string.

## Training Data

Fine-tuned on [SIRIS-Lab/affilgood-contrastive-dataset](https://huggingface.co/datasets/SIRIS-Lab/affilgood-contrastive-dataset),
which contains 52,900 affiliation-organization pairs with curated hard negatives across 105 languages.

## Timestamp

2026-01-07T08:08:33.561241+00:00