#655 — can a re-thresholded dedup GBT beat the FS baseline on cross-source linking?
Measurement for #655. The default-on GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline. (#603) is pinned off for cross-dataset flows
(cross-dataset-correlation, coveragecoverageThe fraction of a population or region for which a data source has real, non-placeholder entries — e.g. 47% rooftop coverage on Texas addresses. Distinct from accuracy on the rows that are present.-reconciliation, registry --sources) because it suppresses the
"same facility, different operational name across sources" links those flows exist to find. The open
question: is that a threshold artifact (option 1 — keep the GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline., recalibrate a lower link
threshold for the cross-source objective) or structural (the GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline. can't do this job, so a
cross-objective retrain (option 2) is the only lever)? This settles it with a sweep.
Method
scripts/record-matcher/cross-source-threshold-sweep.ts. TX-scoped, ≤2000 rows/source (NPPES org
NPIs + TX HHSC nursing facilities + FCC-RHC filings), geocoded once, then resolved repeatedly:
the FS baseline (the recallrecallOf the spans whose gold label is a given tag, the fraction the model found. High recall means few misses. Paired with precision to compute F1.-correct baseline the flows currently pin) and the bundled dedup GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline. swept
across link thresholds from −8 up through its dedup threshold (2.71). The GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline. logitlogitA raw, unnormalized per-label score the model outputs before softmax. Priors and biases are added in logit space, then softmax turns logits into probabilities. replaces the
FS weightparameterA single learned number inside a model — one weight or bias. Mailwoman's encoder has roughly 30 million of them; training is the search for good values., so lowering the threshold is the only knob.
PrecisionprecisionOf the spans the model labeled as a given tag, the fraction it got right. High precision means few false positives. Paired with recall to compute F1. proxy (labelcomponent tagOne of the 33 labels in Mailwoman's address schema — street, locality, region, postcode, house_number, unit, po_box, country, venue, intersection, and others. Each parsed span carries exactly one component tag.-free): there is no cross-source ground truthground truthThe correct answer for an example, used as the standard a prediction is graded against. Mailwoman's ground truth is the hand-labeled golden set; its quality caps achievable accuracy. — no shared key across the three datasets is the whole premise. So we use phone corroboration: of the cross-source entities whose records carry a phone in ≥2 different sources, the fraction whose phones match. Phone is not the join key, so a match is independent evidence of same-facility. (Small-N + noisy — see caveats.)
Result (cap 2000, TX)
| arm | threshold | total entities | cross-source links | triple | phone-corrob (of checkable) |
|---|---|---|---|---|---|
| FS baseline | 0 | 3343 | 27 | 0 | 10/27 (37%) |
| GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline. @ −8 | −8 | 115 | 52 | 3 | 17/52 (33%) |
| GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline. @ −6 | −6 | 115 | 52 | 3 | 17/52 (33%) |
| GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline. @ −5 | −5 | 115 | 52 | 3 | 17/52 (33%) |
| GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline. @ −4 | −4 | 115 | 52 | 3 | 17/52 (33%) |
| GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline. @ −3 | −3 | 115 | 52 | 3 | 17/52 (33%) |
| GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline. @ −2 | −2 | 2382 | 153 | 24 | 29/151 (19%) |
| GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline. @ −1 | −1 | 2382 | 153 | 24 | 29/151 (19%) |
| GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline. @ 0 | 0 | 2869 | 56 | 2 | 15/55 (27%) |
| GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline. @ 1 | 1 | 3041 | 47 | 2 | 10/46 (22%) |
| GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline. @ 2 | 2 | 3543 | 16 | 0 | 3/15 (20%) |
| GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline. @ 2.71 | 2.7143 | 3605 | 11 | 0 | 3/10 (30%) |
Verdict — threshold alone (option 1) is INSUFFICIENT
The decisive, config-independent signal is the total-entity column:
- At its dedup threshold (2.71), the GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline. finds fewer cross-source links than FS (11 vs 27) — it suppresses exactly the links the cross-source flows want, confirming the #603 follow-up's premise.
- To make the GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline. admit more cross-source links, you must lower the threshold until the whole clusteringclusteringThe final stage of entity resolution: resolve non-transitive pairwise match decisions (A↔B, B↔C, but not A↔C) into canonical entities via union-find with path compression. Each cluster of records becomes one resolved entity. collapses. As the threshold drops, total entities fall 3343 → 2869 → 2382 → 115. The "52 links / 33%" plateau at threshold ≤ −3 is an artifact of ~6000 records collapsing into 115 giant blobs — those blobs trivially spanspanA contiguous range of characters or tokens in the input string, tagged with an address component type (street, locality, postcode, etc.). Parsed addresses are represented as collections of spans, possibly nested in a tree. sources; they are not facility matches.
- No threshold reproduces FS's precisionprecisionOf the spans the model labeled as a given tag, the fraction it got right. High precision means few false positives. Paired with recall to compute F1.. FS sits at 37% phone-corroboration; every GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline. arm is below it, and the arms that gain links (thr ≤ 0) do so at 19–27% — lower precisionprecisionOf the spans the model labeled as a given tag, the fraction it got right. High precision means few false positives. Paired with recall to compute F1. and more over-merging.
There is no GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline. link threshold that matches FS's cross-source links at ≥ FS precisionprecisionOf the spans the model labeled as a given tag, the fraction it got right. High precision means few false positives. Paired with recall to compute F1. without
over-merging. This is structural, not a tuning miss: the GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline.'s strongest featuresfeatureAn input signal a model conditions on. Beyond the raw tokens, Mailwoman feeds soft features — gazetteer-membership channels and the postcode anchor — that inform predictions without overriding them.
(spatial-exact × name/org-disagree) replace the FS weightparameterA single learned number inside a model — one weight or bias. Mailwoman's encoder has roughly 30 million of them; training is the search for good values., so a true cross-source pair (same
place, names differ across sources) lands in the same logitlogitA raw, unnormalized per-label score the model outputs before softmax. Priors and biases are added in logit space, then softmax turns logits into probabilities. band as a genuine dedup over-merge (same
place, different co-located provider). One threshold cannot separate the two when the objectives are
opposite — which is the definition of needing a different modelneural classifierThe machine learning model at the core of Mailwoman's parser — a transformer encoder (~30M parameters) trained from scratch to do BIO token classification over addresses. It learns the 'grammar' of address formats; the gazetteer supplies the 'atlas.', not a different cutoff.
FS stays pinned for the cross-source flows — it is the recallrecallOf the spans whose gold label is a given tag, the fraction the model found. High recall means few misses. Paired with precision to compute F1.-correct and best-precisionprecisionOf the spans the model labeled as a given tag, the fraction it got right. High precision means few false positives. Paired with recall to compute F1. tool
here, by design. The only way to "do better than FS" (#655) is a cross-objective retrain
(option 2): a GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline. trained on the cross-source objective, where spatial-exact × name-disagree carries
the opposite sign. That is gated on cross-source labelscomponent tagOne of the 33 labels in Mailwoman's address schema — street, locality, region, postcode, house_number, unit, po_box, country, venue, intersection, and others. Each parsed span carries exactly one component tag., which don't exist (no shared key) — it
needs a weak-labelcomponent tagOne of the 33 labels in Mailwoman's address schema — street, locality, region, postcode, house_number, unit, po_box, country, venue, intersection, and others. Each parsed span carries exactly one component tag. pipelinestaged pipelineMailwoman's runtime architecture: a sequence of pure-function stages (normalize → query-shape → locale-gate → kind-classifier → phrase-grouper → classifier → decoder) connected by typed handoffs. Each stage is published as its own npm package. (e.g. phone/NPI-corroborated FS-high-confidence links as positive seeds,
non-co-located pairs as negatives). That is a project, not a tweak; it is not started here.
Caveats
- Small cross-source N. This strict config (
collapseSpatial+ the production address-frequency basis the GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline. was trained on) yields only 27 FS cross-source entities at cap 2000 — far fewer than the 219 an earlier, looser cross-dataset-correlation FS run reported. The absolute counts are config-dependent and not comparable across configs. What's valid here is the relative FS-vs-GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline. comparison (same config, same data, same run) and the entity-collapse pattern — both robust regardless of absolute scale. - The phone proxy is noisy at N=27 (only 10–29 checkable per arm). It corroborates the conclusion but isn't decisive; the entity-collapse evidence (point 2) is.
- A higher-cap run would tighten the precisionprecisionOf the spans the model labeled as a given tag, the fraction it got right. High precision means few false positives. Paired with recall to compute F1. proxy but cannot change the structural finding: the GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline. only yields more cross-source links by over-merging.
Bottom line
Option 1 (re-threshold the dedup GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline.) does not work — measured, not assumed. Keep FS pinned for cross-source discovery. #655's remaining content is option 2 (a weak-labelcomponent tagOne of the 33 labels in Mailwoman's address schema — street, locality, region, postcode, house_number, unit, po_box, country, venue, intersection, and others. Each parsed span carries exactly one component tag. cross-objective retrain), which is a scoped project gated on building cross-source weak labelscomponent tagOne of the 33 labels in Mailwoman's address schema — street, locality, region, postcode, house_number, unit, po_box, country, venue, intersection, and others. Each parsed span carries exactly one component tag. — or, equally defensible, close #655 as "the GBTGBT (Gradient Boosted Trees). A non-linear machine learning model that combines many weak decision trees into a strong predictor. Mailwoman uses a GBT as an optional learned scorer for single-dataset dedup, improving F1 by 5–7 percentage points over the Fellegi-Sunter baseline. is dedup-only by design; FS is the correct cross-source tool."