Record linkage, the process of matching records that refer to the same entity across datasets, is essential to empirical social science but remains methodologically underdeveloped. Researchers treat it as a preprocessing step, applying ad hoc rules without quantifying the uncertainty that linkage errors introduce into downstream analyses. Existing methods either achieve low accuracy or require substantial labeled training data. I present EnsembleLink, a method that achieves high accuracy without any training labels. EnsembleLink leverages pre-trained language models that have learned semantic relationships (e.g., that "South Ozone Park" is a neighborhood in "New York City" or that "Lutte ouvriere" refers to the Trotskyist "Workers' Struggle" party) from large text corpora. On benchmarks spanning city names, person names, organizations, multilingual political parties, and bibliographic records, EnsembleLink matches or exceeds methods requiring extensive labeling. The method runs locally on open-source models, requiring no external API calls, and completes typical linkage tasks in minutes.
Figures & tables
Task
Method
Blocking
Accuracy
City Matching
Exact match
—
0.000
fastLink
—
0.713
fuzzylink
—
0.717
EnsembleLink
None
0.901
EnsembleLink
State (Fuzzy)
0.900
Candidate-Voter
Exact match
—
0.000
Table 1: Accuracy across benchmark tasks (40% test split, top-1 matching). Exact match, fastLink, and EnsembleLink require no labels; fuzzylink uses LLM-assisted active learning. Blocking column indicates whether hierarchical blocking was applied (with blocking variable in parentheses).
Task
Query
Matched Reference
City
South Ozone Park, NY
Queens, NY
East Elmhurst, NY
Queens, NY
OKC, OK
Oklahoma City, OK
Newbury Park, CA
Thousand Oaks, CA
Candidate-Voter
Tim Flynn
Timothy Bryant Flynn
Tony Daysog
Anthony Honda Daysog
Table 2: Example matched pairs from each task, drawn from correct predictions. Examples are chosen to maximize string distance between query and reference, demonstrating the method’s ability to handle semantic similarity beyond lexical overlap.
Table 4: Fine-tuning experiments: F1 scores at different label counts, evaluated on held-out pair samples. Fine-tuning provides no consistent improvement over the zero-shot baseline.
Corpus
Embed
Index
Retrieve
Rerank
Total
Acc
5,000
22.0s
2.0s
49.8s
52.3s
132.8s
0.984
10,000
35.5s
3.2s
111.5s
65.2s
221.8s
0.989
20,000
71.2s
7.5s
227.8s
59.2s
372.4s
0.985
40,000
142.7s
13.3s
437.6s
57.9s
658.5s
0.982
64,263
216.8s
19.4s
413.1s
35.3s
729.5s
0.979
Table 5: Scalability on DBLP-Scholar (963 test queries, 40% split)
Method
Training Data
F1
Accuracy
Supervised (thousands of labels)
Ditto ( Li et al., 2020 )
Full training set
94.3
DeepMatcher ( Mudgal et al., 2018 )
Full training set
94.7
RoBERTa fine-tuned
Full training set
93.9
Zero-shot LLMs
GPT-4 ( Peeters et al., 2024 )
None
89.8
Table 6: Comparison with published results on DBLP-Scholar. Published methods use pair-level F1 on candidate pairs. For EnsembleLink, I report both top-1 accuracy and pair-level F1 at three score thresholds τ .
Model
Device
Pairs/sec
ms/pair
Speedup
Jina Reranker v2 Multi (278M)
GPU
748
1.3
30 ×
Jina Reranker v2 Multi (278M)
CPU
25
40
1 ×
MiniLM-L-6 (22M)
GPU
581
1.7
1.2 ×
MiniLM-L-6 (22M)
CPU
478
2.1
1 ×
Table 7: Inference speed comparison: GPU (NVIDIA RTX 4090) vs CPU
Entity resolution links records that refer to the same real-world entity across datasets despite differences in names, attributes, formats, and languages.