npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@mailwoman/neural-weights-en-gb

v8.2.0

Published

Mailwoman neural-classifier weights for locale 'en-gb'. Data-only overlay — shares the base model.onnx + tokenizer.model from @mailwoman/neural-weights-en-us (they are byte-identical); ships only the gb-specific data siblings. Loaded by @mailwoman/neural

Readme


license: agpl-3.0 language:

  • en library_name: onnx pipeline_tag: token-classification tags:
  • token-classification
  • named-entity-recognition
  • address-parsing
  • postal-address
  • geocoding
  • onnx
  • sequence-labeling

mailwoman — neural address-parser weights (en-gb)

The trained-model bundle (@mailwoman/neural-weights-en-gb) for Mailwoman, a postal-address parser. This package is data only — a model-card.json, the GB postcode-anchor binary, the placetype-pair retrieval index, and the shared gazetteer lexicons. It has no JavaScript logic of its own; it is loaded at inference time by @mailwoman/neural.

This locale is served by the shared multi-locale model. The en-gb bundle ships no model.onnx/tokenizer.model of its own — it declares @mailwoman/neural-weights-en-us as its mailwoman.baseWeights and resolves the base package's model + tokenizer at runtime (byte-identical artifact; one encoder serves both locales). What this package ships is the GB-specific soft-feed data: the outward-code postcode-anchor binary (postcode-gb.bin) built from the WOF GB postcode shard, the placetype-pair retrieval index (pair-index-gb.bin, built from the HM Land Registry PPD tuples — see Evaluation below), plus the shared gazetteer/country lexicons.

What this is

Mailwoman is a calibrated, retrieval-augmented sequence labeler over a microlanguage — coupled to a gazetteer that resolves its output to coordinates. This bundle is the GB-facing half of the retrieval side: the en-us encoder's soft anchor + gazetteer channels, fed with UK-specific data so the model never has to memorize GB postcodes or place names — that knowledge arrives at inference as a retrieval, not a weight.

  • Base model: none of its own — see @mailwoman/neural-weights-en-us.
  • Postcode anchor: GB is aggregated to the outward code (SW1A, not the full unit SW1A 1AA) — 2.7M unit postcodes is both too large for the browser budget and finer-grained than an anchor needs. A full unit code that misses the exact lookup falls back to its outward code automatically (see @mailwoman/neural's extractPostcodeAnchors).
  • Placetype-pair index: a retrieval-augmented dependent_locality prior built from real (child, parent) place-name pairs (e.g. "Fishburn" is a real child of "Stockton-on-Tees") — a soft decode-time bias, hard-gated to GB input only, that never fires for any other locale. See Evaluation.

Intended use

Parsing free-text UK postal addresses into structured components (country, region, locality, dependent_locality, postcode, street, house_number, …) for geocoding — resolving a parsed address to coordinates via a gazetteer/resolver. The model is the parsing front-end of that pipeline, not a standalone geocoder.

Ship-config requirement (read before using)

The Mailwoman model expects the soft anchor + gazetteer channels fed at inference. Running it with those channels off is out-of-distribution and silently collapses the admin tags (country/region/locality/postcode) — an anchor-off metric on an anchor-trained model is systematically misleading. Construct the scorer through @mailwoman/neural's createScorer (the canonical ProductionScorer), which reads the bundle's requires/channel contract and fails closed if a declared channel isn't fed. Do not hand-wire the raw ONNX session with the anchor input zero-filled.

Evaluation

First graded GB story, 2026-07-23. Previously this package was packaging scaffolding only — the runtime resolution path was exercised and tested, but no GB-specific numbers existed. That has changed: the base encoder was fine-tuned on a dependent_locality-feed corpus that includes a real GB shard, and this package's own pair-index-gb.bin supplies a calibrated retrieval prior on top. Full-pipeline dependent_locality recall, GB golden board (69 rows carrying the tag), prior ON at the calibrated δ=5.0: 69/69 emission, 67/69 tag-correct (97.1%). The two misses are pre-existing, independently characterized parser-level cases, not prior artifacts. A three-way ablation shows this recall is carried almost entirely by the prior, not the fine-tuned checkpoint's own classifier row — see model-card.json's notes and eval blocks for the full breakdown, including the δ-calibration sweep, the venue-confound false-positive rate (0.738% at δ=5.0), and the comma-stripped-input trade (fully inert by design in the current probe mode).

The base encoder itself is a STAGED candidate, not yet promoted — see @mailwoman/neural-weights-en-us's model-card.json phase field for the open ship blocker (a Gauntlet metamorphic-layer regression, unrelated to GB). Until that resolves, treat the numbers above as graded-but-unshipped: real measurements against the actual candidate artifact, not yet the production default. docs/articles/evals/ carries the full scorecard once promoted.

Calibration

Mailwoman confidences are isotonic-calibrated (PAVA) against held-out data and applied opt-in via @mailwoman/core's createCalibrator; default parse output is byte-stable when calibration is omitted.

Limitations

  • Expects its channels. See Ship-config requirement — anchor-off is OOD.
  • Base encoder not yet promoted — see Evaluation; the numbers here are real but not yet the production default.
  • GB postcode anchor is outward-only — expect district-level (not unit-level) centroid precision from the anchor channel itself; the neural parser + gazetteer resolver still handle full unit-postcode text.
  • Placetype-pair prior is comma-segment-scoped — it matches whole comma-delimited input segments only (the "segment" probe mode, default since d2a1242f), so comma-stripped GB input gets no boost from this channel (fully inert, not degraded — a documented v1 trade, not a bug). It is also hard-gated to GB: it structurally cannot fire on non-GB input.
  • All-caps / shouting input degrades the admin tags (mixed-case training); @mailwoman/neural's normalizeCase opt recovers detected all-caps ASCII.
  • Non-Latin scripts (CJK, Cyrillic) fall through to byte-fallback tokens; quality there is unmeasured.

License & links

  • License: AGPL-3.0-only.
  • Docs & concepts: https://mailwoman.sister.software
  • Loader / scorer API: @mailwoman/neural (createScorer).
  • The functional contract for this bundle is model-card.json (added 2026-07-23, now that a GB-graded checkpoint exists); this README.md is the HuggingFace-facing card.