@mailwoman/neural-weights-fr-fr 9.2.0 → 9.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/model-card.json +4 -4
- package/package.json +18 -4
package/README.md
CHANGED
|
@@ -80,7 +80,7 @@ metric on an anchor-trained model is systematically misleading. Construct the
|
|
|
80
80
|
scorer through `@mailwoman/neural`'s `createScorer` (the canonical
|
|
81
81
|
`ProductionScorer`), which reads the bundle's `requires`/channel contract and
|
|
82
82
|
**fails closed** if a declared channel isn't fed. Do not hand-wire the raw ONNX
|
|
83
|
-
session with the anchor input zero-filled. Every
|
|
83
|
+
session with the anchor input zero-filled. Every eval here is
|
|
84
84
|
**anchor-on**.
|
|
85
85
|
|
|
86
86
|
## Evaluation
|
|
@@ -92,7 +92,7 @@ neural front-end out-parses the rules baseline it replaces on locality-match.
|
|
|
92
92
|
|
|
93
93
|
The two `model-index` entries above (postcode ≈ 0.99 F1, house_number ≈ 0.946 F1)
|
|
94
94
|
are the multi-locale model's strong FR tags, **anchor-on, canonical order**. Two
|
|
95
|
-
|
|
95
|
+
known gaps on the FR numbers:
|
|
96
96
|
|
|
97
97
|
- **FR `region` is a known open gap** — F1 is low and tracked as an outstanding
|
|
98
98
|
issue; do not expect region-level accuracy on FR comparable to en-us.
|
|
@@ -100,8 +100,8 @@ honest caveats on the FR numbers:
|
|
|
100
100
|
diversified golden that mixes both orders, house_number drops well below the
|
|
101
101
|
canonical-order figure — the published frontier for reordered house numbers is
|
|
102
102
|
~90–91% (neural parsers collapse much further on reorder). The en-us release's
|
|
103
|
-
later checkpoint adds a reversed-order
|
|
104
|
-
bundle predates that
|
|
103
|
+
later checkpoint adds a reversed-order training subset that recovers this; this fr-fr
|
|
104
|
+
bundle predates that change.
|
|
105
105
|
|
|
106
106
|
Because the older anchor-off / pre-diversified-golden figures in this bundle's
|
|
107
107
|
`model-card.json` `eval` block were measured before the anchor-on grading
|
package/model-card.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "neural-weights-fr-fr",
|
|
3
3
|
"version": "6.5.0",
|
|
4
|
-
"model_lineage": "Ships the en-us v310 (v3.1.0-fr-fragment, #1143 T2) model — init_from v264 plus the synth-fr-fragment BAN
|
|
4
|
+
"model_lineage": "Ships the en-us v310 (v3.1.0-fr-fragment, #1143 T2) model — init_from v264 plus the synth-fr-fragment BAN extract @ 12.0; tokenizer v0.9.0-multisplice (73,143) UNCHANGED. One model serves both locales; see the en-us card for the full lineage + grade. NOTE for this locale specifically: the extract is BAN-derived (Base Adresse Nationale, Licence Ouverte 2.0) and the gains are measured on French — bare-street 0.215→0.715, street-particle 0.273→0.855, admin-street-homonym 0.087→0.517, with the bare-locality counter-guard holding exactly. This is the largest FR-facing model change since 5.9.0.",
|
|
5
5
|
"phase": "Stage 3 — multi-locale (FR served by the shared en-us v310 model, shipped as 6.4.0)",
|
|
6
6
|
"license": "AGPL-3.0-only OR LicenseRef-Commercial",
|
|
7
7
|
"locale": "fr-fr",
|
|
8
8
|
"training": {
|
|
9
|
-
"corpus_version": "v257 fragment-campaign corpus (
|
|
9
|
+
"corpus_version": "v257 fragment-campaign corpus (extract-v5) re-tokenized through v0.9.0-multisplice; span-boundary aux head from BIO labels.",
|
|
10
10
|
"tokenizer_version": "0.9.0-multisplice",
|
|
11
11
|
"steps": 8000,
|
|
12
12
|
"hardware": "NVIDIA A100-SXM4-40GB (Modal cloud)",
|
|
@@ -266,7 +266,7 @@
|
|
|
266
266
|
"tokenizer": "tokenizer.model",
|
|
267
267
|
"model_card": "model-card.json",
|
|
268
268
|
"pair_index": "pair-index-fr.bin",
|
|
269
|
-
"$comment_postcode_anchor": "Added 2026-08-06 (#1516), same reason as the en-us card: the overlay has always shipped this binary (release.config.json softFeed.postcodeDBByCountry.fr, built from the WOF intl postcode
|
|
269
|
+
"$comment_postcode_anchor": "Added 2026-08-06 (#1516), same reason as the en-us card: the overlay has always shipped this binary (release.config.json softFeed.postcodeDBByCountry.fr, built from the WOF intl postcode extract) and never declared it. `readDeclaredArtifactFile` reads this key to tell a broken package (declared, missing) from a package that deliberately ships none.",
|
|
270
270
|
"postcode_anchor": "postcode-fr.bin"
|
|
271
271
|
},
|
|
272
272
|
"base_relpath": "/data/models/checkpoints/v0_4_0-stableLR-source-only/step-002200",
|
|
@@ -280,7 +280,7 @@
|
|
|
280
280
|
"md5": "(staged at release time — see $comment_md5)",
|
|
281
281
|
"$comment_pix2": "PIX2 (schema 3, 2026-08-04): every record now carries the PARENT's ComponentTag alongside the child's — +1 byte per pair, pair COUNT unchanged. For FR the recorded parent tag is always `locality`: BAN's parent surface is `nom_commune`, the commune, which is the French postal locality line. Schema 1 and 2 binaries are refused; the artifact must be rebuilt.",
|
|
282
282
|
"delta_calibration": "δ=10, transitionBeta=5, parentDelta=5 (whole-edge parent bias, #46 — the record's own parentTag gets +5 over the parent window). FR is the leg that CAUGHT that mechanism's one real defect: biasing the parent's whole comma segment put the postcode inside `locality` and took fr-lieudit-golden.jsonl from 96.3% to 0.0% at δ≥6, invisible at δ=4. Fixed by scoping the parent write to the probe key's pieces; FR then held 77/80 at every δ through 20. See docs/records/evals/2026-08-04-pix1-whole-edge-verdict.md. The δ/β pair is inherited from the GB calibration, per R5's finding that the classifier's dependent_locality deficit is uniform across locales rather than GB-specific. The R6 bars were measured at exactly that pair.",
|
|
283
|
-
"
|
|
283
|
+
"country_check": "hard-blocked on the header's country (fr).",
|
|
284
284
|
"not_committed": "derived artifact, .gitignore'd — rebuilt via `mailwoman gazetteer pair-index --out neural-weights-fr-fr --country fr --delta 10 --transition-beta 5 --ban-dir <corpus/sources/ban>`",
|
|
285
285
|
"required_decode_fixes": "This artifact is INERT without two locale-general probe-chain fixes that shipped alongside it: a LEADING postcode strip on parent-candidate keys (France writes '12210 Montpeyroux'; the probe previously stripped only trailing postcodes, the Anglo/NZ convention) and NEWLINE as a segment boundary (computeGroupSegments scanned for commas only, so multi-line addresses collapsed to one segment and the segment path went structurally inert). With the artifact but without them the golden board stayed at 0/80.",
|
|
286
286
|
"$comment_md5": "REPRODUCIBILITY: a PIX1 header embeds `buildDate`, so a rebuild from identical sources produces different bytes and a different md5. This md5 therefore identifies the artifact STAGED TO HUGGING FACE for this release — it is a provenance record of the shipped bytes, NOT a check a local rebuild can reproduce. A mismatch after rebuilding is expected and is not corruption; verify pair COUNT and header delta/beta instead.",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mailwoman/neural-weights-fr-fr",
|
|
3
|
-
"version": "9.
|
|
3
|
+
"version": "9.4.0",
|
|
4
4
|
"description": "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 at runtime.",
|
|
5
5
|
"license": "AGPL-3.0-only OR LicenseRef-Commercial",
|
|
6
6
|
"repository": {
|
|
@@ -30,6 +30,13 @@
|
|
|
30
30
|
"!scripts/**",
|
|
31
31
|
"!test/**"
|
|
32
32
|
],
|
|
33
|
+
"imports": {
|
|
34
|
+
"#*": {
|
|
35
|
+
"types": "./out/*.d.ts",
|
|
36
|
+
"node": "./out/*.js",
|
|
37
|
+
"default": "./out/*.js"
|
|
38
|
+
}
|
|
39
|
+
},
|
|
33
40
|
"exports": {
|
|
34
41
|
"./*": "./*"
|
|
35
42
|
},
|
|
@@ -37,14 +44,21 @@
|
|
|
37
44
|
"access": "public",
|
|
38
45
|
"exports": {
|
|
39
46
|
"./*": "./*"
|
|
47
|
+
},
|
|
48
|
+
"imports": {
|
|
49
|
+
"#*": {
|
|
50
|
+
"types": "./out/*.d.ts",
|
|
51
|
+
"node": "./out/*.js",
|
|
52
|
+
"default": "./out/*.js"
|
|
53
|
+
}
|
|
40
54
|
}
|
|
41
55
|
},
|
|
42
56
|
"dependencies": {
|
|
43
|
-
"@mailwoman/neural-weights-en-us": "9.
|
|
57
|
+
"@mailwoman/neural-weights-en-us": "9.4.0"
|
|
44
58
|
},
|
|
45
59
|
"devDependencies": {
|
|
46
|
-
"@mailwoman/core": "9.
|
|
47
|
-
"@mailwoman/resolver-wof-sqlite": "9.
|
|
60
|
+
"@mailwoman/core": "9.4.0",
|
|
61
|
+
"@mailwoman/resolver-wof-sqlite": "9.4.0"
|
|
48
62
|
},
|
|
49
63
|
"mailwoman": {
|
|
50
64
|
"baseWeights": "@mailwoman/neural-weights-en-us"
|