Anchor → resolver score-delta harness — openaddresses-de-sample.jsonl
Offline early-signal for the DEFERRED postcodepostcodeThe country-specific postal code (US ZIP, French code postal, etc.). Mailwoman handles postcode parsing entirely by rule classifier — a regex problem, not an ML one.-anchor resolverresolverThe component that converts parsed address components (locality, region, postcode) into coordinates by looking them up in the gazetteer. The resolver ranks candidates by name match, population, and proximity, and returns the best-matching place with its centroid or polygon. re-ranker (task #59, #240). For each row we query the localitylocalityThe city / town / settlement component of an address: a populated place sitting between region and neighbourhood in the hierarchy. lookup with no countrycountryThe top-level address component (an ISO country). Closed-vocabulary, so it is best handled by a deterministic matcher feeding a proposal rather than a retrained model head. (the honest multi-localelocaleThe combination of language and country an address comes from. en-US and fr-FR are the locales Mailwoman ships weights for. baseline), then soft re-rank the candidates by the postcode anchoranchor inferenceA technique where structured knowledge (postcode locations, gazetteer place names) is injected into the model as soft input features — not as deterministic overrides. The model still decides the final labels, but the anchor signal biases it toward correct admin tags.'s country posteriorcountry posteriorA country → probability map (derived from postcodes or the coarse-placer) that re-ranks resolver candidates as a soft prior, never a hard filter., and log what changes. The shipped resolverresolverThe component that converts parsed address components (locality, region, postcode) into coordinates by looking them up in the gazetteer. The resolver ranks candidates by name match, population, and proximity, and returns the best-matching place with its centroid or polygon. is untouched.
- anchor 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.: 2 · candidates/query: 10 · rows: 3000
- eligible (localitylocalityThe city / town / settlement component of an address: a populated place sitting between region and neighbourhood in the hierarchy. + candidates + anchor): 1197 (skipped: 941 no-localitylocalityThe city / town / settlement component of an address: a populated place sitting between region and neighbourhood in the hierarchy., 862 no-candidate, 0 no-anchor)
| metric | value |
|---|---|
| anchor changed the top-1 pick | 3.3% (40/1197) |
| of those, wrong-countrycountryThe top-level address component (an ISO country). Closed-vocabulary, so it is best handled by a deterministic matcher feeding a proposal rather than a retrained model head. → anchor-countrycountryThe top-level address component (an ISO country). Closed-vocabulary, so it is best handled by a deterministic matcher feeding a proposal rather than a retrained model head. corrected | 33 |
| gold localitylocalityThe city / town / settlement component of an address: a populated place sitting between region and neighbourhood in the hierarchy. match — anchor-OFF | 82.5% (988/1197) |
| gold localitylocalityThe city / town / settlement component of an address: a populated place sitting between region and neighbourhood in the hierarchy. match — anchor-ON | 82.5% (988/1197) |
| netneural networkA model made of layers of simple numeric units whose connection strengths (weights) are learned from data. The transformer encoder at Mailwoman's core is a neural network. gold-match delta (name) | +0.0% (0 improved, 0 regressed) |
| mean score margin the new winner overcame | 4.493 |
| median coord error — anchor-OFF | 10.3 km |
| median coord error — anchor-ON | 10.3 km |
| coord error improved >100 km / worsened >100 km | 33 / 7 (of 1197 placed) |
Read
The name-surface gold-match metric is blind to countrycountryThe top-level address component (an ISO country). Closed-vocabulary, so it is best handled by a deterministic matcher feeding a proposal rather than a retrained model head. confusion — a US "Berlin" name-matches the German gold "Berlin" while sitting an ocean away. Coordinate error to the OA gold point is the non-gameable signal, so weigh the coord deltas over the name deltas here.
Feeding the anchor's country posteriorcountry posteriorA country → probability map (derived from postcodes or the coarse-placer) that re-ranks resolver candidates as a soft prior, never a hard filter. corrects 33 wrong-countrycountryThe top-level address component (an ISO country). Closed-vocabulary, so it is best handled by a deterministic matcher feeding a proposal rather than a retrained model head. picks and pulls 33 rows >100 km closer to the gold point (median 10.3 km → 10.3 km, 117492 km saved total). That value is invisible to name-match (+0.0%) — exactly the artifact the coordinate-first resolverresolverThe component that converts parsed address components (locality, region, postcode) into coordinates by looking them up in the gazetteer. The resolver ranks candidates by name match, population, and proximity, and returns the best-matching place with its centroid or polygon. direction flagged. The re-ranker is worth prototyping; the mean margin (4.493) is the score gap a soft boost must clear.