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-fr-fr

v9.0.0

Published

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

Downloads

5,103

Readme


license: agpl-3.0 language:

  • fr library_name: onnx pipeline_tag: token-classification tags:
  • token-classification
  • named-entity-recognition
  • address-parsing
  • postal-address
  • geocoding
  • onnx
  • sequence-labeling metrics:
  • f1 model-index:
  • name: mailwoman-neural-weights-fr-fr results:
    • task: type: token-classification name: Address parsing (per-component F1) dataset: type: openaddresses name: Mailwoman FR golden set metrics:
      • type: f1 value: 0.99 name: postcode F1 (anchor-on)
      • type: f1 value: 0.946 name: house_number F1 (anchor-on, canonical order)

mailwoman — neural address-parser weights (fr-fr)

The trained-model bundle (@mailwoman/neural-weights-fr-fr) for Mailwoman, a postal-address parser. This package is data onlymodel.onnx, tokenizer.model, and metadata. It has no JavaScript; it is loaded at inference time by @mailwoman/neural.

This locale is served by the shared multi-locale model. The fr-fr bundle ships the same encoder as the en-us release at an earlier checkpoint (multi-locale, step 20000) — one model serves both locales. For the latest training provenance and recipe see the en-us card.

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 sequence-labeler half: a small transformer encoder doing BIO token classification over the address schema. It is not an LLM and nothing about it is generative; for a closed label set over short strings, boring NER is a feature.

The design splits the problem in two: the model learns the grammar, the gazetteer knows the atlas. The model never memorizes place names — postcode and gazetteer knowledge arrive at inference as soft input features (anchors) retrieved from provenance-tracked databases that grow without retraining. Knowledge informs; it never overrides.

  • Base model: none. Trained from scratch (no pretrained checkpoint).
  • Tokenizer: SentencePiece unigram, byte_fallback=true.
  • Format: ONNX int8 dynamic, opset 17, max sequence length 128.

Intended use

Parsing free-text French postal addresses into structured components (country, region, locality, dependent_locality, postcode, subregion, cedex, venue, 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. Every honest eval here is anchor-on.

Evaluation

We grade the assembled coordinate (the resolved place), not raw label-F1 in isolation. For FR, the model resolves addresses well when given the correct default country (the gazetteer holds ~114k FR places); on a real FR sample the neural front-end out-parses the rules baseline it replaces on locality-match.

The two model-index entries above (postcode ≈ 0.99 F1, house_number ≈ 0.946 F1) are the multi-locale model's strong FR tags, anchor-on, canonical order. Two honest caveats on the FR numbers:

  • FR region is a known open gap — F1 is low and tracked as an outstanding issue; do not expect region-level accuracy on FR comparable to en-us.
  • Reversed-order (postcode-first) FR house numbers are harder. On a diversified golden that mixes both orders, house_number drops well below the canonical-order figure — the published frontier for reordered house numbers is ~90–91% (neural parsers collapse much further on reorder). The en-us release's later checkpoint adds a reversed-order shard that recovers this; this fr-fr bundle predates that lever.

Because the older anchor-off / pre-diversified-golden figures in this bundle's model-card.json eval block were measured before the anchor-on grading discipline, treat them as historical; the per-tag parity tables under docs/articles/evals/ carry the config-stated numbers.

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.

Training

From-scratch (no pretrained base) on an NVIDIA A100 (Modal cloud), CE loss only (the dual CRF loss diverged and was retired; CRF is inference-only Viterbi). The gazetteer anchor channel is fed during training, which is why it is required at inference. This bundle is the shared multi-locale model (step 20000); the en-us card carries the full corpus + recipe provenance.

Limitations

  • Expects its channels. See Ship-config requirement — anchor-off is OOD.
  • FR region is an open gap (low F1, tracked).
  • Reversed-order FR house numbers are harder than canonical order (see Evaluation).
  • 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; this README.md is the HuggingFace-facing card.