@mailwoman/neural-weights-en-us 3.0.0 → 4.1.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 CHANGED
@@ -4,26 +4,26 @@ Stage 2 (coarse + venue/street/house_number) Mailwoman neural-classifier weights
4
4
 
5
5
  - locale: **en-us**
6
6
  - corpus: **0.3.0**
7
- - training steps: **1800**
7
+ - training steps: **2200**
8
8
  - hardware: **AMD Radeon 780M (gfx1103) bf16 ~14.6 GiB GTT**
9
9
 
10
10
  ## Per-component F1 targets
11
11
 
12
12
  **⚠ Below per-component F1 targets:**
13
13
 
14
- - `country` F1 = **0.2796** (target ≥0.95)
15
- - `region` F1 = **0.1759** (target ≥0.95)
16
- - `locality` F1 = **0.2657** (target ≥0.95)
17
- - `postcode` F1 = **0.7554** (target ≥0.95)
18
- - `venue` F1 = **0.3941** (target ≥0.60)
19
- - `street` F1 = **0.2660** (target ≥0.70)
20
- - `house_number` F1 = **0.7835** (target ≥0.80)
14
+ - `country` F1 = **0.2112** (target ≥0.95)
15
+ - `region` F1 = **0.1883** (target ≥0.95)
16
+ - `locality` F1 = **0.2736** (target ≥0.95)
17
+ - `postcode` F1 = **0.6916** (target ≥0.95)
18
+ - `venue` F1 = **0.3886** (target ≥0.60)
19
+ - `street` F1 = **0.3016** (target ≥0.70)
20
+ - `house_number` F1 = **0.7866** (target ≥0.80)
21
21
 
22
22
  ## Eval (golden set)
23
23
 
24
24
  - entries: **4535**
25
- - full-parse exact match: **0.1074**
26
- - mean token confidence: **0.8566**
25
+ - full-parse exact match: **0.0818**
26
+ - mean token confidence: **0.8063**
27
27
 
28
28
  ## Components supported
29
29
 
@@ -0,0 +1,495 @@
1
+ {
2
+ "model": "neural-weights-en-us",
3
+ "model_version": "4.0.0",
4
+ "method": "per-locale isotonic (PAVA)",
5
+ "tables": {
6
+ "DE": [
7
+ {
8
+ "lo": 0.0,
9
+ "hi": 0.05,
10
+ "center": 0.025,
11
+ "calibrated": 0.8333333333333334
12
+ },
13
+ {
14
+ "lo": 0.05,
15
+ "hi": 0.1,
16
+ "center": 0.07500000000000001,
17
+ "calibrated": 0.8333333333333334
18
+ },
19
+ {
20
+ "lo": 0.1,
21
+ "hi": 0.15000000000000002,
22
+ "center": 0.125,
23
+ "calibrated": 0.8333333333333334
24
+ },
25
+ {
26
+ "lo": 0.15000000000000002,
27
+ "hi": 0.2,
28
+ "center": 0.17500000000000002,
29
+ "calibrated": 0.8333333333333334
30
+ },
31
+ {
32
+ "lo": 0.2,
33
+ "hi": 0.25,
34
+ "center": 0.225,
35
+ "calibrated": 0.8333333333333334
36
+ },
37
+ {
38
+ "lo": 0.25,
39
+ "hi": 0.30000000000000004,
40
+ "center": 0.275,
41
+ "calibrated": 0.8333333333333334
42
+ },
43
+ {
44
+ "lo": 0.30000000000000004,
45
+ "hi": 0.35000000000000003,
46
+ "center": 0.32500000000000007,
47
+ "calibrated": 0.8333333333333334
48
+ },
49
+ {
50
+ "lo": 0.35000000000000003,
51
+ "hi": 0.4,
52
+ "center": 0.375,
53
+ "calibrated": 0.8333333333333334
54
+ },
55
+ {
56
+ "lo": 0.4,
57
+ "hi": 0.45,
58
+ "center": 0.42500000000000004,
59
+ "calibrated": 0.8333333333333334
60
+ },
61
+ {
62
+ "lo": 0.45,
63
+ "hi": 0.5,
64
+ "center": 0.475,
65
+ "calibrated": 0.8333333333333334
66
+ },
67
+ {
68
+ "lo": 0.5,
69
+ "hi": 0.55,
70
+ "center": 0.525,
71
+ "calibrated": 0.8333333333333334
72
+ },
73
+ {
74
+ "lo": 0.55,
75
+ "hi": 0.6000000000000001,
76
+ "center": 0.5750000000000001,
77
+ "calibrated": 0.8333333333333334
78
+ },
79
+ {
80
+ "lo": 0.6000000000000001,
81
+ "hi": 0.65,
82
+ "center": 0.625,
83
+ "calibrated": 0.8333333333333334
84
+ },
85
+ {
86
+ "lo": 0.65,
87
+ "hi": 0.7000000000000001,
88
+ "center": 0.675,
89
+ "calibrated": 0.8333333333333334
90
+ },
91
+ {
92
+ "lo": 0.7000000000000001,
93
+ "hi": 0.75,
94
+ "center": 0.7250000000000001,
95
+ "calibrated": 0.8524173027989822
96
+ },
97
+ {
98
+ "lo": 0.75,
99
+ "hi": 0.8,
100
+ "center": 0.775,
101
+ "calibrated": 0.8524173027989822
102
+ },
103
+ {
104
+ "lo": 0.8,
105
+ "hi": 0.8500000000000001,
106
+ "center": 0.8250000000000001,
107
+ "calibrated": 0.8524173027989822
108
+ },
109
+ {
110
+ "lo": 0.8500000000000001,
111
+ "hi": 0.9,
112
+ "center": 0.875,
113
+ "calibrated": 0.8524173027989822
114
+ },
115
+ {
116
+ "lo": 0.9,
117
+ "hi": 0.9500000000000001,
118
+ "center": 0.925,
119
+ "calibrated": 0.8524173027989822
120
+ },
121
+ {
122
+ "lo": 0.9500000000000001,
123
+ "hi": 1.0,
124
+ "center": 0.9750000000000001,
125
+ "calibrated": 0.8524173027989822
126
+ }
127
+ ],
128
+ "FR": [
129
+ {
130
+ "lo": 0.0,
131
+ "hi": 0.05,
132
+ "center": 0.025,
133
+ "calibrated": 0.7916666666666666
134
+ },
135
+ {
136
+ "lo": 0.05,
137
+ "hi": 0.1,
138
+ "center": 0.07500000000000001,
139
+ "calibrated": 0.7916666666666666
140
+ },
141
+ {
142
+ "lo": 0.1,
143
+ "hi": 0.15000000000000002,
144
+ "center": 0.125,
145
+ "calibrated": 0.7916666666666666
146
+ },
147
+ {
148
+ "lo": 0.15000000000000002,
149
+ "hi": 0.2,
150
+ "center": 0.17500000000000002,
151
+ "calibrated": 0.7916666666666666
152
+ },
153
+ {
154
+ "lo": 0.2,
155
+ "hi": 0.25,
156
+ "center": 0.225,
157
+ "calibrated": 0.7916666666666666
158
+ },
159
+ {
160
+ "lo": 0.25,
161
+ "hi": 0.30000000000000004,
162
+ "center": 0.275,
163
+ "calibrated": 0.7916666666666666
164
+ },
165
+ {
166
+ "lo": 0.30000000000000004,
167
+ "hi": 0.35000000000000003,
168
+ "center": 0.32500000000000007,
169
+ "calibrated": 0.7916666666666666
170
+ },
171
+ {
172
+ "lo": 0.35000000000000003,
173
+ "hi": 0.4,
174
+ "center": 0.375,
175
+ "calibrated": 0.7916666666666666
176
+ },
177
+ {
178
+ "lo": 0.4,
179
+ "hi": 0.45,
180
+ "center": 0.42500000000000004,
181
+ "calibrated": 0.7916666666666666
182
+ },
183
+ {
184
+ "lo": 0.45,
185
+ "hi": 0.5,
186
+ "center": 0.475,
187
+ "calibrated": 0.7916666666666666
188
+ },
189
+ {
190
+ "lo": 0.5,
191
+ "hi": 0.55,
192
+ "center": 0.525,
193
+ "calibrated": 0.9
194
+ },
195
+ {
196
+ "lo": 0.55,
197
+ "hi": 0.6000000000000001,
198
+ "center": 0.5750000000000001,
199
+ "calibrated": 0.9508196721311475
200
+ },
201
+ {
202
+ "lo": 0.6000000000000001,
203
+ "hi": 0.65,
204
+ "center": 0.625,
205
+ "calibrated": 0.9508196721311475
206
+ },
207
+ {
208
+ "lo": 0.65,
209
+ "hi": 0.7000000000000001,
210
+ "center": 0.675,
211
+ "calibrated": 0.9508196721311475
212
+ },
213
+ {
214
+ "lo": 0.7000000000000001,
215
+ "hi": 0.75,
216
+ "center": 0.7250000000000001,
217
+ "calibrated": 0.9523809523809523
218
+ },
219
+ {
220
+ "lo": 0.75,
221
+ "hi": 0.8,
222
+ "center": 0.775,
223
+ "calibrated": 0.9523809523809523
224
+ },
225
+ {
226
+ "lo": 0.8,
227
+ "hi": 0.8500000000000001,
228
+ "center": 0.8250000000000001,
229
+ "calibrated": 0.9523809523809523
230
+ },
231
+ {
232
+ "lo": 0.8500000000000001,
233
+ "hi": 0.9,
234
+ "center": 0.875,
235
+ "calibrated": 0.9523809523809523
236
+ },
237
+ {
238
+ "lo": 0.9,
239
+ "hi": 0.9500000000000001,
240
+ "center": 0.925,
241
+ "calibrated": 0.9843614248479583
242
+ },
243
+ {
244
+ "lo": 0.9500000000000001,
245
+ "hi": 1.0,
246
+ "center": 0.9750000000000001,
247
+ "calibrated": 0.9916666666666667
248
+ }
249
+ ],
250
+ "NL": [
251
+ {
252
+ "lo": 0.0,
253
+ "hi": 0.05,
254
+ "center": 0.025,
255
+ "calibrated": 0.2
256
+ },
257
+ {
258
+ "lo": 0.05,
259
+ "hi": 0.1,
260
+ "center": 0.07500000000000001,
261
+ "calibrated": 0.2
262
+ },
263
+ {
264
+ "lo": 0.1,
265
+ "hi": 0.15000000000000002,
266
+ "center": 0.125,
267
+ "calibrated": 0.2
268
+ },
269
+ {
270
+ "lo": 0.15000000000000002,
271
+ "hi": 0.2,
272
+ "center": 0.17500000000000002,
273
+ "calibrated": 0.2
274
+ },
275
+ {
276
+ "lo": 0.2,
277
+ "hi": 0.25,
278
+ "center": 0.225,
279
+ "calibrated": 0.2
280
+ },
281
+ {
282
+ "lo": 0.25,
283
+ "hi": 0.30000000000000004,
284
+ "center": 0.275,
285
+ "calibrated": 0.2
286
+ },
287
+ {
288
+ "lo": 0.30000000000000004,
289
+ "hi": 0.35000000000000003,
290
+ "center": 0.32500000000000007,
291
+ "calibrated": 0.2
292
+ },
293
+ {
294
+ "lo": 0.35000000000000003,
295
+ "hi": 0.4,
296
+ "center": 0.375,
297
+ "calibrated": 0.8947368421052632
298
+ },
299
+ {
300
+ "lo": 0.4,
301
+ "hi": 0.45,
302
+ "center": 0.42500000000000004,
303
+ "calibrated": 0.8947368421052632
304
+ },
305
+ {
306
+ "lo": 0.45,
307
+ "hi": 0.5,
308
+ "center": 0.475,
309
+ "calibrated": 0.8947368421052632
310
+ },
311
+ {
312
+ "lo": 0.5,
313
+ "hi": 0.55,
314
+ "center": 0.525,
315
+ "calibrated": 0.8947368421052632
316
+ },
317
+ {
318
+ "lo": 0.55,
319
+ "hi": 0.6000000000000001,
320
+ "center": 0.5750000000000001,
321
+ "calibrated": 0.9985590778097982
322
+ },
323
+ {
324
+ "lo": 0.6000000000000001,
325
+ "hi": 0.65,
326
+ "center": 0.625,
327
+ "calibrated": 0.9985590778097982
328
+ },
329
+ {
330
+ "lo": 0.65,
331
+ "hi": 0.7000000000000001,
332
+ "center": 0.675,
333
+ "calibrated": 0.9985590778097982
334
+ },
335
+ {
336
+ "lo": 0.7000000000000001,
337
+ "hi": 0.75,
338
+ "center": 0.7250000000000001,
339
+ "calibrated": 0.9985590778097982
340
+ },
341
+ {
342
+ "lo": 0.75,
343
+ "hi": 0.8,
344
+ "center": 0.775,
345
+ "calibrated": 0.9985590778097982
346
+ },
347
+ {
348
+ "lo": 0.8,
349
+ "hi": 0.8500000000000001,
350
+ "center": 0.8250000000000001,
351
+ "calibrated": 0.9985590778097982
352
+ },
353
+ {
354
+ "lo": 0.8500000000000001,
355
+ "hi": 0.9,
356
+ "center": 0.875,
357
+ "calibrated": 0.9985590778097982
358
+ },
359
+ {
360
+ "lo": 0.9,
361
+ "hi": 0.9500000000000001,
362
+ "center": 0.925,
363
+ "calibrated": 0.9985590778097982
364
+ },
365
+ {
366
+ "lo": 0.9500000000000001,
367
+ "hi": 1.0,
368
+ "center": 0.9750000000000001,
369
+ "calibrated": 1.0
370
+ }
371
+ ],
372
+ "US": [
373
+ {
374
+ "lo": 0.0,
375
+ "hi": 0.05,
376
+ "center": 0.025,
377
+ "calibrated": 0.0
378
+ },
379
+ {
380
+ "lo": 0.05,
381
+ "hi": 0.1,
382
+ "center": 0.07500000000000001,
383
+ "calibrated": 0.0
384
+ },
385
+ {
386
+ "lo": 0.1,
387
+ "hi": 0.15000000000000002,
388
+ "center": 0.125,
389
+ "calibrated": 0.0
390
+ },
391
+ {
392
+ "lo": 0.15000000000000002,
393
+ "hi": 0.2,
394
+ "center": 0.17500000000000002,
395
+ "calibrated": 0.3333333333333333
396
+ },
397
+ {
398
+ "lo": 0.2,
399
+ "hi": 0.25,
400
+ "center": 0.225,
401
+ "calibrated": 0.3333333333333333
402
+ },
403
+ {
404
+ "lo": 0.25,
405
+ "hi": 0.30000000000000004,
406
+ "center": 0.275,
407
+ "calibrated": 0.3333333333333333
408
+ },
409
+ {
410
+ "lo": 0.30000000000000004,
411
+ "hi": 0.35000000000000003,
412
+ "center": 0.32500000000000007,
413
+ "calibrated": 0.417910447761194
414
+ },
415
+ {
416
+ "lo": 0.35000000000000003,
417
+ "hi": 0.4,
418
+ "center": 0.375,
419
+ "calibrated": 0.417910447761194
420
+ },
421
+ {
422
+ "lo": 0.4,
423
+ "hi": 0.45,
424
+ "center": 0.42500000000000004,
425
+ "calibrated": 0.48717948717948717
426
+ },
427
+ {
428
+ "lo": 0.45,
429
+ "hi": 0.5,
430
+ "center": 0.475,
431
+ "calibrated": 0.6785714285714286
432
+ },
433
+ {
434
+ "lo": 0.5,
435
+ "hi": 0.55,
436
+ "center": 0.525,
437
+ "calibrated": 0.75
438
+ },
439
+ {
440
+ "lo": 0.55,
441
+ "hi": 0.6000000000000001,
442
+ "center": 0.5750000000000001,
443
+ "calibrated": 0.7755102040816326
444
+ },
445
+ {
446
+ "lo": 0.6000000000000001,
447
+ "hi": 0.65,
448
+ "center": 0.625,
449
+ "calibrated": 0.8554913294797688
450
+ },
451
+ {
452
+ "lo": 0.65,
453
+ "hi": 0.7000000000000001,
454
+ "center": 0.675,
455
+ "calibrated": 0.8984547461368654
456
+ },
457
+ {
458
+ "lo": 0.7000000000000001,
459
+ "hi": 0.75,
460
+ "center": 0.7250000000000001,
461
+ "calibrated": 0.8984547461368654
462
+ },
463
+ {
464
+ "lo": 0.75,
465
+ "hi": 0.8,
466
+ "center": 0.775,
467
+ "calibrated": 0.9469026548672567
468
+ },
469
+ {
470
+ "lo": 0.8,
471
+ "hi": 0.8500000000000001,
472
+ "center": 0.8250000000000001,
473
+ "calibrated": 0.9577092511013215
474
+ },
475
+ {
476
+ "lo": 0.8500000000000001,
477
+ "hi": 0.9,
478
+ "center": 0.875,
479
+ "calibrated": 0.9694719471947195
480
+ },
481
+ {
482
+ "lo": 0.9,
483
+ "hi": 0.9500000000000001,
484
+ "center": 0.925,
485
+ "calibrated": 0.9838576158940397
486
+ },
487
+ {
488
+ "lo": 0.9500000000000001,
489
+ "hi": 1.0,
490
+ "center": 0.9750000000000001,
491
+ "calibrated": 1.0
492
+ }
493
+ ]
494
+ }
495
+ }
@@ -0,0 +1,243 @@
1
+ {
2
+ "model": "neural-weights-en-us",
3
+ "model_version": "4.0.0",
4
+ "method": "isotonic-regression (PAVA) over per-span softmax confidence",
5
+ "created_from": "data/eval/calibration/confidences.jsonl",
6
+ "n_total": 32553,
7
+ "n_fit": 26043,
8
+ "n_eval": 6510,
9
+ "bins": 20,
10
+ "ece_bins": 15,
11
+ "metrics": {
12
+ "ece_raw_eval": 0.06733768396482998,
13
+ "ece_cal_eval": 0.003516504997239885,
14
+ "mce_raw_eval": 0.289115488729766,
15
+ "mce_cal_eval": 0.18286826492482933,
16
+ "mce_raw_eval_allbins": 0.8454483055409481,
17
+ "mce_cal_eval_allbins": 0.953985808965804,
18
+ "brier_raw_eval": 0.033950582453368766,
19
+ "brier_cal_eval": 0.027009249299634375,
20
+ "ece_raw_oa_eval": 0.07058600158908206,
21
+ "ece_cal_oa_eval": 0.006727186537647182,
22
+ "ece_raw_corpus_eval": 0.06592097892553006,
23
+ "ece_cal_corpus_eval": 0.006108435118670848
24
+ },
25
+ "per_tag_ece": {
26
+ "house_number": {
27
+ "n": 783,
28
+ "acc": 0.8876117496807152,
29
+ "ece_raw": 0.032203530366151964,
30
+ "ece_cal": 0.08212837028751453
31
+ },
32
+ "locality": {
33
+ "n": 1668,
34
+ "acc": 0.9724220623501199,
35
+ "ece_raw": 0.07590628618691278,
36
+ "ece_cal": 0.008323214057649167
37
+ },
38
+ "postcode": {
39
+ "n": 1547,
40
+ "acc": 0.9993535875888817,
41
+ "ece_raw": 0.08926967886821484,
42
+ "ece_cal": 0.022650235312503323
43
+ },
44
+ "region": {
45
+ "n": 1219,
46
+ "acc": 0.9975389663658737,
47
+ "ece_raw": 0.06392376399526842,
48
+ "ece_cal": 0.018509232370423873
49
+ },
50
+ "street": {
51
+ "n": 817,
52
+ "acc": 0.9645042839657283,
53
+ "ece_raw": 0.06236517084448636,
54
+ "ece_cal": 0.017999489099532674
55
+ },
56
+ "venue": {
57
+ "n": 434,
58
+ "acc": 0.9308755760368663,
59
+ "ece_raw": 0.11384168006361704,
60
+ "ece_cal": 0.0429750111796866
61
+ }
62
+ },
63
+ "per_locale_ece": {
64
+ "DE": {
65
+ "n": 195,
66
+ "acc": 0.8871794871794871,
67
+ "ece_raw": 0.11113936337159339,
68
+ "ece_cal": 0.09729335740608726
69
+ },
70
+ "FR": {
71
+ "n": 803,
72
+ "acc": 0.9663760896637609,
73
+ "ece_raw": 0.05943714249530754,
74
+ "ece_cal": 0.016894667938069707
75
+ },
76
+ "NL": {
77
+ "n": 192,
78
+ "acc": 0.9947916666666666,
79
+ "ece_raw": 0.17864070987172176,
80
+ "ece_cal": 0.046454384545716376
81
+ },
82
+ "US": {
83
+ "n": 5320,
84
+ "acc": 0.9719924812030075,
85
+ "ece_raw": 0.06844507512699036,
86
+ "ece_cal": 0.006977205495182824
87
+ }
88
+ },
89
+ "abstention_curve": [
90
+ {
91
+ "threshold": 0.5,
92
+ "coverage": 0.9940092165898617,
93
+ "precision": 0.9720290526966465,
94
+ "reviewed": 0.005990783410138256
95
+ },
96
+ {
97
+ "threshold": 0.8,
98
+ "coverage": 0.9824884792626728,
99
+ "precision": 0.9763914946841776,
100
+ "reviewed": 0.017511520737327202
101
+ },
102
+ {
103
+ "threshold": 0.9,
104
+ "coverage": 0.9646697388632872,
105
+ "precision": 0.9781847133757962,
106
+ "reviewed": 0.03533026113671278
107
+ },
108
+ {
109
+ "threshold": 0.95,
110
+ "coverage": 0.9419354838709677,
111
+ "precision": 0.9796151337247228,
112
+ "reviewed": 0.058064516129032295
113
+ },
114
+ {
115
+ "threshold": 0.97,
116
+ "coverage": 0.7308755760368664,
117
+ "precision": 0.9844472467423288,
118
+ "reviewed": 0.26912442396313363
119
+ }
120
+ ],
121
+ "table": [
122
+ {
123
+ "lo": 0.0,
124
+ "hi": 0.05,
125
+ "center": 0.025,
126
+ "calibrated": 0.0
127
+ },
128
+ {
129
+ "lo": 0.05,
130
+ "hi": 0.1,
131
+ "center": 0.07500000000000001,
132
+ "calibrated": 0.0
133
+ },
134
+ {
135
+ "lo": 0.1,
136
+ "hi": 0.15000000000000002,
137
+ "center": 0.125,
138
+ "calibrated": 0.0
139
+ },
140
+ {
141
+ "lo": 0.15000000000000002,
142
+ "hi": 0.2,
143
+ "center": 0.17500000000000002,
144
+ "calibrated": 0.21099134690621654
145
+ },
146
+ {
147
+ "lo": 0.2,
148
+ "hi": 0.25,
149
+ "center": 0.225,
150
+ "calibrated": 0.34782608695652173
151
+ },
152
+ {
153
+ "lo": 0.25,
154
+ "hi": 0.30000000000000004,
155
+ "center": 0.275,
156
+ "calibrated": 0.34782608695652173
157
+ },
158
+ {
159
+ "lo": 0.30000000000000004,
160
+ "hi": 0.35000000000000003,
161
+ "center": 0.32500000000000007,
162
+ "calibrated": 0.425
163
+ },
164
+ {
165
+ "lo": 0.35000000000000003,
166
+ "hi": 0.4,
167
+ "center": 0.375,
168
+ "calibrated": 0.425531914893617
169
+ },
170
+ {
171
+ "lo": 0.4,
172
+ "hi": 0.45,
173
+ "center": 0.42500000000000004,
174
+ "calibrated": 0.5208333333333334
175
+ },
176
+ {
177
+ "lo": 0.45,
178
+ "hi": 0.5,
179
+ "center": 0.475,
180
+ "calibrated": 0.7380952380952381
181
+ },
182
+ {
183
+ "lo": 0.5,
184
+ "hi": 0.55,
185
+ "center": 0.525,
186
+ "calibrated": 0.7761194029850746
187
+ },
188
+ {
189
+ "lo": 0.55,
190
+ "hi": 0.6000000000000001,
191
+ "center": 0.5750000000000001,
192
+ "calibrated": 0.84
193
+ },
194
+ {
195
+ "lo": 0.6000000000000001,
196
+ "hi": 0.65,
197
+ "center": 0.625,
198
+ "calibrated": 0.8511627906976744
199
+ },
200
+ {
201
+ "lo": 0.65,
202
+ "hi": 0.7000000000000001,
203
+ "center": 0.675,
204
+ "calibrated": 0.9238095238095239
205
+ },
206
+ {
207
+ "lo": 0.7000000000000001,
208
+ "hi": 0.75,
209
+ "center": 0.7250000000000001,
210
+ "calibrated": 0.9246323529411765
211
+ },
212
+ {
213
+ "lo": 0.75,
214
+ "hi": 0.8,
215
+ "center": 0.775,
216
+ "calibrated": 0.9568
217
+ },
218
+ {
219
+ "lo": 0.8,
220
+ "hi": 0.8500000000000001,
221
+ "center": 0.8250000000000001,
222
+ "calibrated": 0.9625668449197861
223
+ },
224
+ {
225
+ "lo": 0.8500000000000001,
226
+ "hi": 0.9,
227
+ "center": 0.875,
228
+ "calibrated": 0.9693251533742331
229
+ },
230
+ {
231
+ "lo": 0.9,
232
+ "hi": 0.9500000000000001,
233
+ "center": 0.925,
234
+ "calibrated": 0.9826212889210717
235
+ },
236
+ {
237
+ "lo": 0.9500000000000001,
238
+ "hi": 1.0,
239
+ "center": 0.9750000000000001,
240
+ "calibrated": 0.9856649395509499
241
+ }
242
+ ]
243
+ }
package/model-card.json CHANGED
@@ -1,18 +1,66 @@
1
1
  {
2
2
  "name": "neural-weights-en-us",
3
- "version": "3.0.0",
4
- "phase": "Stage 2 (coarse + venue/street/house_number)",
3
+ "version": "4.1.0",
4
+ "model_lineage": "v0.9.7-unit-v3 / step 20000 (unit-coverage retrain off v0.9.3-de-regiontail, itself off v0.7.2) \u2014 shipped as the unified 4.1.0 release version; tokenizer 0.6.0-a0",
5
+ "phase": "Stage 3 \u2014 street decomposition + PO box + intersection + secondary-unit coverage",
5
6
  "license": "AGPL-3.0-only",
6
7
  "locale": "en-us",
7
8
  "training": {
8
- "corpus_version": "0.3.0",
9
- "tokenizer_version": "0.1.0",
10
- "steps": 1800,
11
- "hardware": "AMD Radeon 780M (gfx1103) bf16 ~14.6 GiB GTT",
12
- "duration_seconds": 1067.0,
13
- "started_at": null,
14
- "completed_at": "2026-05-22T10:22:18.727364Z"
9
+ "corpus_version": "0.4.5-unit-v2",
10
+ "tokenizer_version": "0.6.0-a0",
11
+ "steps": 20000,
12
+ "best_step": 20000,
13
+ "hardware": "NVIDIA A100-SXM4-40GB (Modal cloud)",
14
+ "recipe": "v0.9.3-de-regiontail base (anchor ON, self-cond ON, region-tail German, both-order synth) + a 50K format-diverse secondary-unit shard (USPS Pub-28 C2 designators across positions) @ synth-unit 1.5x. CE-only (crf_loss_weight=0.0). lr=1.5e-4 constant, warmup=1000, 20000 steps, seed 42. The synth-unit dose was tuned 2.5→1.5 (v3) after the 2.5 run (v2) showed no fp32 regression but a cleaner low-dose profile was preferred."
15
15
  },
16
+ "architecture": {
17
+ "hidden_size": 384,
18
+ "num_hidden_layers": 6,
19
+ "num_attention_heads": 6,
20
+ "intermediate_size": 1536,
21
+ "max_position_embeddings": 128,
22
+ "vocab_size": 48000,
23
+ "num_labels": 33,
24
+ "params": "29.3M (29M encoder + 9M embedding from 48K vocab)",
25
+ "crf_at_training": false,
26
+ "crf_at_inference": true,
27
+ "phrase_priors": true
28
+ },
29
+ "labels": [
30
+ "O",
31
+ "B-country",
32
+ "I-country",
33
+ "B-region",
34
+ "I-region",
35
+ "B-locality",
36
+ "I-locality",
37
+ "B-dependent_locality",
38
+ "I-dependent_locality",
39
+ "B-postcode",
40
+ "I-postcode",
41
+ "B-subregion",
42
+ "I-subregion",
43
+ "B-cedex",
44
+ "I-cedex",
45
+ "B-venue",
46
+ "I-venue",
47
+ "B-street",
48
+ "I-street",
49
+ "B-house_number",
50
+ "I-house_number",
51
+ "B-street_prefix",
52
+ "I-street_prefix",
53
+ "B-street_suffix",
54
+ "I-street_suffix",
55
+ "B-unit",
56
+ "I-unit",
57
+ "B-po_box",
58
+ "I-po_box",
59
+ "B-intersection_a",
60
+ "I-intersection_a",
61
+ "B-intersection_b",
62
+ "I-intersection_b"
63
+ ],
16
64
  "components_supported": [
17
65
  "country",
18
66
  "region",
@@ -23,153 +71,35 @@
23
71
  "cedex",
24
72
  "venue",
25
73
  "street",
26
- "house_number"
74
+ "house_number",
75
+ "street_prefix",
76
+ "street_suffix",
77
+ "unit",
78
+ "po_box",
79
+ "intersection_a",
80
+ "intersection_b"
27
81
  ],
28
- "eval": {
29
- "n_entries": 4535,
30
- "full_parse_exact_match": 0.1073869900771775,
31
- "mean_token_confidence": 0.856554333787935,
32
- "per_component": {
33
- "country": {
34
- "precision": 0.2954545454532025,
35
- "recall": 0.2653061224478967,
36
- "f1": 0.2795698919733611,
37
- "support": 245
38
- },
39
- "region": {
40
- "precision": 0.4411027568916778,
41
- "recall": 0.10982839313569116,
42
- "f1": 0.17586809860649805,
43
- "support": 3205
44
- },
45
- "locality": {
46
- "precision": 0.23303370786511615,
47
- "recall": 0.3089067619897799,
48
- "f1": 0.26565902346259507,
49
- "support": 3357
50
- },
51
- "dependent_locality": {
52
- "precision": 0.0,
53
- "recall": 0.0,
54
- "f1": 0.0,
55
- "support": 40
56
- },
57
- "postcode": {
58
- "precision": 0.8426270136303831,
59
- "recall": 0.684563758389032,
60
- "f1": 0.7554156632710455,
61
- "support": 2980
62
- },
63
- "subregion": {
64
- "precision": 0.0,
65
- "recall": 0.0,
66
- "f1": 0.0,
67
- "support": 0
68
- },
69
- "cedex": {
70
- "precision": 0.0,
71
- "recall": 0.0,
72
- "f1": 0.0,
73
- "support": 1
74
- },
75
- "venue": {
76
- "precision": 0.38622493461169466,
77
- "recall": 0.4023614895545846,
78
- "f1": 0.39412811337886233,
79
- "support": 1101
80
- },
81
- "street": {
82
- "precision": 0.3326499231161801,
83
- "recall": 0.22165300546440517,
84
- "f1": 0.2660381220860398,
85
- "support": 2928
86
- },
87
- "house_number": {
88
- "precision": 0.7315737051789185,
89
- "recall": 0.8432835820890682,
90
- "f1": 0.7834666661687646,
91
- "support": 1742
92
- }
93
- },
94
- "calibration": [
95
- {
96
- "low": 0.0,
97
- "high": 0.1,
98
- "n": 0,
99
- "acc": 0.0
100
- },
101
- {
102
- "low": 0.1,
103
- "high": 0.2,
104
- "n": 19,
105
- "acc": 0.5789473684210527
106
- },
107
- {
108
- "low": 0.2,
109
- "high": 0.3,
110
- "n": 316,
111
- "acc": 0.3322784810126582
112
- },
113
- {
114
- "low": 0.3,
115
- "high": 0.4,
116
- "n": 1213,
117
- "acc": 0.37757625721352017
118
- },
119
- {
120
- "low": 0.4,
121
- "high": 0.5,
122
- "n": 2754,
123
- "acc": 0.34132171387073346
124
- },
125
- {
126
- "low": 0.5,
127
- "high": 0.6,
128
- "n": 3647,
129
- "acc": 0.35481217438990953
130
- },
131
- {
132
- "low": 0.6,
133
- "high": 0.7,
134
- "n": 3659,
135
- "acc": 0.3883574747198688
136
- },
137
- {
138
- "low": 0.7,
139
- "high": 0.8,
140
- "n": 4610,
141
- "acc": 0.40629067245119305
142
- },
143
- {
144
- "low": 0.8,
145
- "high": 0.9,
146
- "n": 7716,
147
- "acc": 0.43960601347848627
148
- },
149
- {
150
- "low": 0.9,
151
- "high": 1.0,
152
- "n": 37314,
153
- "acc": 0.5987564989012167
154
- }
155
- ]
156
- },
157
- "known_failure_modes": [
158
- "underperforms on Hawaiian addresses (sparse in training corpus)",
159
- "particle-honorific kryptonite (e.g. FR 'Saint-Just-Saint-Rambert') if not in synth set",
160
- "non-Latin scripts (CJK, Cyrillic) fall through to byte-fallback tokens; F1 unknown"
161
- ],
162
- "notes": "Stage 2 v3.0.0 \u2014 same encoder geometry as v2.0.x (8.87M params, 6L/256H/4-heads) plus a linear-chain CRF decoder (+~500 params with a frozen BIO transition mask), label smoothing on the per-token CE leg (disabled in the shipped hparams after iteration; see ship notes), and a 21-label classifier head (was 15) that adds venue / street / house_number BIO classes. Trained on corpus-v0.3.0 which adds the US DOT NAD source (~97M structured 911-grade address points). The CRF transition mask makes orphan-I sequences (e.g. \"Saint Petersburg \u2192 Petersburg\" clipping visible on the v0.2.0 demo) structurally impossible. See evals/scores-by-version.json for the v2.0.x \u2192 v3.0.0 deltas + the per-component F1 on the new fine labels.",
82
+ "notes": "v4.1.0 \u2014 secondary-unit coverage. Same Stage-3 33-BIO-label schema as 4.0.0 (no schema change). Adds a format-diverse synth-unit shard (USPS Pub-28 C2 designators: APT/STE/FL/\u2026 across unit-after, unit-first, bare, and venue-prefixed layouts) on top of the v0.9.3 multi-locale base. `unit` recognition 0%\u219292.3% on a held-out real-designator eval; by 'negative space' it also raised US `street` +3.3pp and lifted `country` (US +6pp, FR +15pp) \u2014 covering the missing tag sharpened its neighbors. No regression vs 4.0.0 on any US/FR golden tag; DE native-order locality held (90.6%).",
163
83
  "format": {
164
- "model": "ONNX int8 dynamic",
165
- "tokenizer": "SentencePiece unigram, byte_fallback=true, vocab_size=16000",
84
+ "model": "ONNX int8 dynamic (quantized from fp32)",
85
+ "tokenizer": "SentencePiece unigram, byte_fallback=true, vocab_size=48000",
166
86
  "max_sequence_length": 128,
167
- "opset": 17
87
+ "opset": 17,
88
+ "fp32_size_mb": 112.9,
89
+ "int8_size_mb": 28.4
168
90
  },
169
91
  "files": {
170
92
  "model": "model.onnx",
171
93
  "tokenizer": "tokenizer.model",
172
- "model_card": "model-card.json"
94
+ "model_card": "model-card.json",
95
+ "calibration": "calibration.json",
96
+ "calibration_per_locale": "calibration-per-locale.json"
97
+ },
98
+ "calibration": {
99
+ "method": "isotonic-regression (PAVA) over per-span softmax confidence; OPT-IN via core/decoder createCalibrator",
100
+ "held_out_ece_raw": 0.0673,
101
+ "held_out_ece_calibrated": 0.0035,
102
+ "note": "calibration.json is the global table; calibration-per-locale.json carries per-locale tables (the global table under-serves DE/NL). Apply via @mailwoman/core/decoder's createCalibrator; default parse output is byte-stable when omitted."
173
103
  },
174
- "base_relpath": "/data/models/checkpoints/stage2/step-001800"
104
+ "base_relpath": "/data/output-v097-unit-v3-s42/checkpoints/step-020000"
175
105
  }
package/model.onnx CHANGED
Binary file
package/package.json CHANGED
@@ -1,20 +1,21 @@
1
1
  {
2
- "name": "@mailwoman/neural-weights-en-us",
3
- "version": "3.0.0",
4
- "description": "Mailwoman neural-classifier weights for locale 'en-us'. Data-only package — loaded by @mailwoman/neural at runtime.",
5
- "license": "AGPL-3.0-only",
6
- "private": false,
7
- "repository": {
8
- "type": "git",
9
- "url": "https://github.com/sister-software/mailwoman"
10
- },
11
- "files": [
12
- "model.onnx",
13
- "tokenizer.model",
14
- "model-card.json",
15
- "README.md"
16
- ],
17
- "publishConfig": {
18
- "access": "public"
19
- }
20
- }
2
+ "name": "@mailwoman/neural-weights-en-us",
3
+ "version": "4.1.0",
4
+ "description": "Mailwoman neural-classifier weights for locale 'en-us'. Data-only package — loaded by @mailwoman/neural at runtime.",
5
+ "license": "AGPL-3.0-only",
6
+ "repository": {
7
+ "type": "git",
8
+ "url": "https://github.com/sister-software/mailwoman"
9
+ },
10
+ "files": [
11
+ "model.onnx",
12
+ "tokenizer.model",
13
+ "model-card.json",
14
+ "calibration.json",
15
+ "calibration-per-locale.json",
16
+ "README.md"
17
+ ],
18
+ "publishConfig": {
19
+ "access": "public"
20
+ }
21
+ }
package/tokenizer.model CHANGED
Binary file