aildan commited on
Commit
a99caf7
·
verified ·
1 Parent(s): 53d4bcb

countrycode-small-v1.2.1

Browse files
Files changed (3) hide show
  1. README.md +57 -29
  2. calibration.json +115 -135
  3. meta.json +10 -9
README.md CHANGED
@@ -7,7 +7,7 @@ tags: [country-codes, iso-3166, entity-normalization, selective-prediction, cali
7
  base_model: jhu-clsp/mmBERT-small
8
  ---
9
 
10
- # CountryCode-Decide (small, v1.2)
11
 
12
  Maps a country or US state written as free text — any language or script, misspellings,
13
  abbreviations, historical names, register junk — to ISO 3166-1 alpha-2 / ISO 3166-2:US codes with
@@ -40,7 +40,7 @@ uvx --from huggingface_hub hf download aildan/country-code-decide-small --exclud
40
  from countrycode.infer.pipeline import CountryCoder
41
 
42
  coder = CountryCoder.load("models/country-code-decide-small")
43
- d = coder.code("Untted Klngdom", field="country", domain="register", alpha=0.02)
44
  d.target, d.candidates, d.abstain # ('GB', ('GB',), False); d.confidence ≈ 0.95
45
  ```
46
 
@@ -48,9 +48,10 @@ Input: `text`, optional `field` (`country`, `jurisdiction`, `nationality`, `unkn
48
  `register_country` (ISO alpha-2 of the register, or `US-XX` for a US state register). Output per
49
  string: `target` (alpha-2, `US-XX`, `NONE` or `None` = abstain), `country`, `us_state`,
50
  `confidence`, `candidates` (codes with calibrated probability ≥ 0.05, at most three), `abstain`,
51
- for an error-rate target `alpha` (certified targets — curated: 5 %; register: 2 %, 5 %; `None` always answers). Pass
52
  `domain="register"` for register and form fields: the certified register calibration applies only
53
- then.
 
54
 
55
  ## Files
56
 
@@ -85,10 +86,11 @@ generated (synthetic)**; no generated string is used for calibration or evaluati
85
  - `junk`, `regjunk` — strings that are not places: placeholders, dates, numbers, generated
86
  company names, legal terms, street lines (→ `NONE`).
87
 
88
- Every release passed five quality gates before training: **G1** label correctness (each string
89
  checked against every name of every code; strings closer to another code are dropped) plus a
90
  human audit of 300 random items per release (every item when a release is smaller) with zero
91
- label errors required; **G2** realism (edit statistics compared with real typos); **G3**
 
92
  usefulness (kept only if it improved held-out real strings; the OCR, LLM-paraphrase and
93
  region generators failed this and are not used); **G4** no overlap with any evaluation string; **G5** reproducibility
94
  (code, config, seed and source item recorded per string).
@@ -115,39 +117,59 @@ generated (synthetic)**; no generated string is used for calibration or evaluati
115
 
116
  Fresh registers never used for training, calibration or model selection (New York, Oregon): every
117
  distinct string of their jurisdiction and country fields, labelled by exact lexicon match or by a
118
- human reviewer, read once after a frozen pre-registration.
 
119
 
120
- | Fresh registers, 361 distinct strings, read once | CountryCode-Decide small v1.2 |
121
  |---|---|
122
  | Accuracy, every string answered | 88.6 % (95 % CI 85.3–91.7) |
123
  | Right country (a US state counts as US) | 91.2 % |
124
- | At the certified 2 % error target | answers 86 % automatically, realised error 1.0 % |
125
- | Best non-LLM baseline (multilingual-e5 nearest name) | 82.5 % |
126
  | Zero-shot LLM (qwen3.5_35b-a3b-q4_K_M) | 85.0 %, ~29× slower (LLM on a GPU, this model on a CPU) |
127
  | Model file · CPU latency | 75 MB (int8 ONNX) · p50 4.1 ms per string |
128
 
 
 
 
 
 
 
 
 
 
 
 
 
 
129
  - Country-level accuracy (right country; a US state counts as US): 0.912 (highest: v1_model 0.921).
130
  - On the 33 strings not in the lexicon (no exact name match) the model's accuracy is 0.212.
131
- - At the certified 2 % error target the model answers 86% of the strings automatically with a realised error of 1.0 %; non-places get a code 0.0 % of the time (n = 4). The 2 % certificate (fixed-sequence test on the register calibration strings) is not contradicted on the fresh registers. The 1 % target could not be certified.
132
  - The zero-shot LLM (qwen3.5_35b-a3b-q4_K_M) is less accurate when every string must be answered (0.850 vs the model's 0.886); its own confidence covers 71% of the strings at 5 % empirical risk, without a certificate. It is ~29× slower (the LLM on a GPU, this model on a CPU).
133
 
 
 
 
 
134
  | predictor | n | acc | acc (freq-weighted) | country acc | coverage @1 % risk | coverage @5 % risk | non-place false accept | ECE | ms / item |
135
  |---|---|---|---|---|---|---|---|---|---|
 
136
  | model | 361 | 0.886 | 1.000 | 0.912 | 0.856 | 0.911 | 0.750 | 0.058 | 4.2 |
137
- | v1_model | 361 | 0.884 | 1.000 | 0.921 | 0.197 | 0.864 | 1.000 | 0.253 | 3.7 |
138
- | model@0.05 | 361 | 0.873 | 1.000 | 0.881 | 0.856 | 0.903 | 0.000 | 0.041 | 4.1 |
139
- | model@0.02 | 361 | 0.856 | 1.000 | 0.864 | 0.856 | 0.856 | 0.000 | 0.032 | 4.1 |
140
- | llm_qwen3.5_35b-a3b-q4_K_M | 361 | 0.850 | 0.997 | 0.858 | 0.000 | 0.709 | 0.000 | 0.108 | 116.9 |
141
  | e5_knn | 361 | 0.825 | 0.995 | 0.847 | 0.091 | 0.825 | 0.750 | 0.108 | 0.6 |
142
- | lexicon_fuzzy | 361 | 0.795 | 0.994 | 0.802 | 0.000 | 0.820 | 0.500 | 0.054 | 0.9 |
143
  | lexicon_exact | 361 | 0.789 | 0.994 | 0.793 | 0.000 | 0.787 | 0.250 | 0.014 | 0.0 |
144
  | ons_style | 361 | 0.787 | 0.994 | 0.793 | 0.000 | 0.792 | 0.500 | 0.044 | 0.3 |
145
- | countrynames | 361 | 0.634 | 0.761 | 0.745 | 0.000 | 0.000 | 0.000 | 0.226 | 2.5 |
146
- | pycountry | 361 | 0.634 | 0.761 | 0.776 | 0.000 | 0.000 | 0.250 | 0.184 | 1.4 |
147
  | coco | 361 | 0.596 | 0.761 | 0.601 | 0.000 | 0.000 | 0.250 | 0.120 | 0.5 |
148
  | model@0.01 | 361 | 0.011 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | – | 4.1 |
 
149
 
150
- Pre-registered hypotheses:
 
151
 
152
  | hypothesis | result | evidence |
153
  |---|---|---|
@@ -157,23 +179,29 @@ Pre-registered hypotheses:
157
  | P4 | met | model_accuracy=0.886, best_non_llm=e5_knn, best_non_llm_accuracy=0.825 |
158
  | A1 | reported (not judged) | certified=False, answered=0.000, risk_answered=nan |
159
 
160
- Gold labels: The register calibration strings were labelled a second time, blind (no proposal and no first label shown): agreement 99.2 % on 592 strings (5 disagreements); one-sided 95 % upper bound on disagreement 1.8 %.
161
 
162
  Latency and size: p50 4.1 ms, p95 5.1 ms per string on CPU (4 threads, ONNX Runtime, tokenisation included); model file 75 MB.
163
 
164
- Browser: onnxruntime-web computes the 8-bit matrix products in fp32 where the CPU server uses int8, so probabilities differ slightly: on 3,570 held-out strings the browser makes the same decision as the server for 99.9 % at the 2 % target (same top code 98.9 %; top probability off by 0.005 on average, at most 0.08). The certificate applies to the server and Python path.
165
-
166
  ## Limitations and risks
167
 
 
 
 
 
 
 
 
 
168
  - One human reviewer labelled the register strings; the calibration strings were labelled twice by
169
- that reviewer, the second time blind (consistency, not inter-annotator agreement).
170
- - Certified error rates hold for the population they were fitted on; recalibrate before relying on
171
- them for a different source. Each target is certified on its own (with probability ≥ 90 % over the
172
- calibration draw); the 2 % and 5 % guarantees are not simultaneous. The curated GBIF domain is much harder than registers for this
173
- model, and there a 35B LLM is more accurate.
174
  - Ambiguous names are returned as candidate lists; downstream systems must not silently pick one.
175
- - Known gaps: Canadian province codes in US jurisdiction fields (`ON`, `BC`) are not recognised;
176
- `Congo` without context is answered as `CG`; strings with no exact lexicon match are much harder.
 
177
  - Not legal advice; keep a person in the loop.
178
 
179
  ## Citation
 
7
  base_model: jhu-clsp/mmBERT-small
8
  ---
9
 
10
+ # CountryCode-Decide (small, v1.2.1)
11
 
12
  Maps a country or US state written as free text — any language or script, misspellings,
13
  abbreviations, historical names, register junk — to ISO 3166-1 alpha-2 / ISO 3166-2:US codes with
 
40
  from countrycode.infer.pipeline import CountryCoder
41
 
42
  coder = CountryCoder.load("models/country-code-decide-small")
43
+ d = coder.code("Untted Klngdom", field="country", domain="register", alpha=0.05)
44
  d.target, d.candidates, d.abstain # ('GB', ('GB',), False); d.confidence ≈ 0.95
45
  ```
46
 
 
48
  `register_country` (ISO alpha-2 of the register, or `US-XX` for a US state register). Output per
49
  string: `target` (alpha-2, `US-XX`, `NONE` or `None` = abstain), `country`, `us_state`,
50
  `confidence`, `candidates` (codes with calibrated probability ≥ 0.05, at most three), `abstain`,
51
+ for an error-rate target `alpha` (certified targets — curated: 5 %; register: 5 %; `None` always answers). Pass
52
  `domain="register"` for register and form fields: the certified register calibration applies only
53
+ then; without a domain the stricter of the two policies applies, which is conservative but not
54
+ itself certified.
55
 
56
  ## Files
57
 
 
86
  - `junk`, `regjunk` — strings that are not places: placeholders, dates, numbers, generated
87
  company names, legal terms, street lines (→ `NONE`).
88
 
89
+ Every release the model uses passed the quality gates before training: **G1** label correctness (each string
90
  checked against every name of every code; strings closer to another code are dropped) plus a
91
  human audit of 300 random items per release (every item when a release is smaller) with zero
92
+ label errors required; **G2** realism (edit statistics compared with real typos — reported, no
93
+ pass/fail threshold); **G3**
94
  usefulness (kept only if it improved held-out real strings; the OCR, LLM-paraphrase and
95
  region generators failed this and are not used); **G4** no overlap with any evaluation string; **G5** reproducibility
96
  (code, config, seed and source item recorded per string).
 
117
 
118
  Fresh registers never used for training, calibration or model selection (New York, Oregon): every
119
  distinct string of their jurisdiction and country fields, labelled by exact lexicon match or by a
120
+ human reviewer, read once after a frozen pre-registration (release 1.2). Release 1.2.1 keeps the
121
+ weights and corrects the certificate after an external review, so its numbers below are post-hoc.
122
 
123
+ | Fresh registers, 361 distinct strings | CountryCode-Decide small v1.2.1 |
124
  |---|---|
125
  | Accuracy, every string answered | 88.6 % (95 % CI 85.3–91.7) |
126
  | Right country (a US state counts as US) | 91.2 % |
127
+ | At the certified 5 % error target | answers 88 % automatically, realised error 2.5 % |
128
+ | Best non-LLM baseline (exact lexicon + context rules) | 89.5 % |
129
  | Zero-shot LLM (qwen3.5_35b-a3b-q4_K_M) | 85.0 %, ~29× slower (LLM on a GPU, this model on a CPU) |
130
  | Model file · CPU latency | 75 MB (int8 ONNX) · p50 4.1 ms per string |
131
 
132
+ | Predictor | automatic labels (exact lexicon match, n = 261) | hand-labelled (n = 100) | hand-labelled answered |
133
+ |---|---|---|---|
134
+ | CountryCode-Decide (always answers) | 99.2 % | 61.0 % | 100 |
135
+ | CountryCode-Decide at the certified 5 % target | 98.1 % | 56.0 % | 61 |
136
+ | Zero-shot LLM (qwen3.5_35b-a3b-q4_K_M) | 94.3 % | 61.0 % | 97 |
137
+ | Lexicon + context rules | 99.6 % | 63.0 % | 62 |
138
+ | multilingual-e5-small nearest name | 100.0 % | 37.0 % | 100 |
139
+ | exact lexicon match | 100.0 % | 24.0 % | 23 |
140
+
141
+ Automatic labels come from an exact lexicon match, so a lexicon is right on them by construction; on
142
+ the hand-labelled strings the model, the LLM and an exact lexicon with the training context rules are
143
+ about level. On held-out strings of the training registers (656 strings, many misspelled or abbreviated; other strings of the same registers were in training) the model is right on 82.6 %, the best other predictor (qwen3.5_35b-a3b-q4_K_M zero-shot) on 73.8 %, the lexicon with context rules on 35.8 %; on the 472 of them with no exact lexicon match 81.1 % against 73.1 %. On GBIF's curated list the LLM is better: 69.6 % against 58.8 %.
144
+
145
  - Country-level accuracy (right country; a US state counts as US): 0.912 (highest: v1_model 0.921).
146
  - On the 33 strings not in the lexicon (no exact name match) the model's accuracy is 0.212.
147
+ - At the certified 5 % error target the model answers 88% of the strings automatically with a realised error of 2.5 %; non-places get a code 0.0 % of the time (n = 4). The 5 % target is certified over 318 register units (one per register and normalised key); 1 % and 2 % are not.
148
  - The zero-shot LLM (qwen3.5_35b-a3b-q4_K_M) is less accurate when every string must be answered (0.850 vs the model's 0.886); its own confidence covers 71% of the strings at 5 % empirical risk, without a certificate. It is ~29× slower (the LLM on a GPU, this model on a CPU).
149
 
150
+ The guarantee is an average over strings like the calibration strings, and the errors concentrate on hard ones: at the 5 % target 13.1 % of the 61 answered hand-labelled strings are wrong, 0.0 % of the 256 answered strings that an exact lexicon match labelled.
151
+
152
+ **The certificate, corrected.** The pre-registered certificate treated the 592 register calibration strings as independent draws and certified 2 % and 5 %. The same string often appears in several fields of a register, so they are not independent: they form 318 register-and-key units. Counted per unit — a correction made after the test read, prompted by an external review — 2 % is not certified, and 5 % is, at λ = 0.762. This release (small-v1.2.1) ships that calibration; the weights are unchanged.
153
+
154
  | predictor | n | acc | acc (freq-weighted) | country acc | coverage @1 % risk | coverage @5 % risk | non-place false accept | ECE | ms / item |
155
  |---|---|---|---|---|---|---|---|---|---|
156
+ | lexicon_context | 361 | 0.895 | 1.000 | 0.901 | 0.000 | 0.895 | 0.250 | 0.015 | 0.0 |
157
  | model | 361 | 0.886 | 1.000 | 0.912 | 0.856 | 0.911 | 0.750 | 0.058 | 4.2 |
158
+ | v1_model | 361 | 0.884 | 1.000 | 0.921 | 0.197 | 0.864 | 1.000 | 0.253 | 3.9 |
159
+ | model@0.05 | 361 | 0.864 | 1.000 | 0.873 | 0.856 | 0.878 | 0.000 | 0.033 | 4.2 |
160
+ | llm_qwen3.5_35b-a3b-q4_K_M | 361 | 0.850 | 0.997 | 0.858 | 0.000 | 0.709 | 0.000 | 0.108 | cached |
 
161
  | e5_knn | 361 | 0.825 | 0.995 | 0.847 | 0.091 | 0.825 | 0.750 | 0.108 | 0.6 |
162
+ | lexicon_fuzzy | 361 | 0.795 | 0.994 | 0.802 | 0.000 | 0.820 | 0.500 | 0.054 | 1.0 |
163
  | lexicon_exact | 361 | 0.789 | 0.994 | 0.793 | 0.000 | 0.787 | 0.250 | 0.014 | 0.0 |
164
  | ons_style | 361 | 0.787 | 0.994 | 0.793 | 0.000 | 0.792 | 0.500 | 0.044 | 0.3 |
165
+ | countrynames | 361 | 0.634 | 0.761 | 0.745 | 0.000 | 0.000 | 0.000 | 0.226 | 2.7 |
166
+ | pycountry | 361 | 0.634 | 0.761 | 0.776 | 0.000 | 0.000 | 0.250 | 0.184 | 1.5 |
167
  | coco | 361 | 0.596 | 0.761 | 0.601 | 0.000 | 0.000 | 0.250 | 0.120 | 0.5 |
168
  | model@0.01 | 361 | 0.011 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | – | 4.1 |
169
+ | model@0.02 | 361 | 0.011 | 0.000 | 0.000 | 0.000 | 0.000 | 0.000 | – | 4.1 |
170
 
171
+ Pre-registered hypotheses of release 1.2, as read (P1 and P2 rest on the item-level certificate
172
+ corrected above):
173
 
174
  | hypothesis | result | evidence |
175
  |---|---|---|
 
179
  | P4 | met | model_accuracy=0.886, best_non_llm=e5_knn, best_non_llm_accuracy=0.825 |
180
  | A1 | reported (not judged) | certified=False, answered=0.000, risk_answered=nan |
181
 
182
+ Gold labels: The register calibration strings were labelled a second time, blind (no proposal and no first label shown): agreement 99.2 % on 592 strings (5 disagreements); one-sided 95 % upper bound on disagreement 1.8 %. On the 218 hand-labelled strings the passes disagree on 5 (2.3 %); the 374 automatic or preset labels agree by construction. Test labels were labelled once.
183
 
184
  Latency and size: p50 4.1 ms, p95 5.1 ms per string on CPU (4 threads, ONNX Runtime, tokenisation included); model file 75 MB.
185
 
 
 
186
  ## Limitations and risks
187
 
188
+ - For clean fields an exact lexicon with context rules is as accurate as this model; use the model
189
+ for what a lexicon cannot read. Its advantage was measured on held-out strings of registers whose
190
+ other strings were in training; on fresh registers, strings with no exact lexicon match are hard.
191
+ - The certificate holds for strings drawn like the calibration strings (register fields), counted
192
+ per register and normalised key, each target on its own (with probability ≥ 90 % over the
193
+ calibration draw); errors concentrate on hard strings. Recalibrate before relying on it for a
194
+ different source. The curated GBIF domain is much harder than registers for this model, and there
195
+ a 35B LLM is more accurate.
196
  - One human reviewer labelled the register strings; the calibration strings were labelled twice by
197
+ that reviewer, the second time blind (consistency, not inter-annotator agreement); test labels
198
+ were labelled once.
199
+ - Of the 4,997 evaluation strings, 5 are not in Latin script, so accuracy on other scripts is not measured.
200
+ - One training seed (13); the usefulness gate compared runs whose spread is about its margin.
 
201
  - Ambiguous names are returned as candidate lists; downstream systems must not silently pick one.
202
+ - Known gaps: bare Canadian province codes in US jurisdiction fields (`ON`, `BC`) are not recognised
203
+ (every real such string is an evaluation string, so the no-overlap gate removed them from the
204
+ generated province variants); `Congo` without context is answered as `CG`.
205
  - Not legal advice; keep a person in the loop.
206
 
207
  ## Citation
calibration.json CHANGED
@@ -3,14 +3,14 @@
3
  "curated": {
4
  "temps": [
5
  2.2867150467655692,
6
- 0.20570054404174923
7
  ],
8
  "thresholds": {
9
  "0.01": null,
10
  "0.02": null,
11
  "0.05": 0.7326620612561575
12
  },
13
- "conformal_q": 0.9881178825692849,
14
  "delta": 0.1,
15
  "n_calib": 2915,
16
  "notes": {
@@ -21,132 +21,134 @@
21
  "orders": {
22
  "0.01": [
23
  0.8546291565996004,
24
- 0.8390992644282689,
25
- 0.815636762285532,
26
- 0.794996899525596,
27
- 0.7748608612350834,
28
  0.7534030835576375,
29
  0.7326620612561575,
30
  0.7033246652891548,
31
  0.6761439611185102,
32
- 0.6475467692562777,
33
- 0.6213245643341573,
34
- 0.5946804043226823,
35
- 0.5653143285582992,
36
- 0.540053686766102,
37
- 0.5066697045408962,
38
- 0.48271092703635426,
39
- 0.45380416543196983,
40
- 0.4246718500834122,
41
- 0.3976970451765659,
42
- 0.37467128570170205,
43
- 0.3506514219211769,
44
- 0.32197280693188274,
45
- 0.2990604112196519,
46
- 0.27503146879371937,
47
- 0.252418403528896,
48
- 0.23091191183238988,
49
- 0.2141808864372958,
50
- 0.19620488113933368,
51
- 0.18272890196951042,
52
- 0.16927406464865355,
53
- 0.15402624306273502,
54
- 0.14341572573042205,
55
- 0.13224606865027388,
56
- 0.12309528268471495,
57
- 0.11278604736699106,
58
- 0.10315858712876423,
59
- 0.0946956273398957,
60
- 0.08657892920282398,
61
- 0.07406414692224761,
62
- 0.05809758489467727
63
  ],
64
  "0.02": [
65
  0.8546291565996004,
66
- 0.8390992644282689,
67
- 0.815636762285532,
68
- 0.794996899525596,
69
- 0.7748608612350834,
70
  0.7534030835576375,
71
  0.7326620612561575,
72
  0.7033246652891548,
73
  0.6761439611185102,
74
- 0.6475467692562777,
75
- 0.6213245643341573,
76
- 0.5946804043226823,
77
- 0.5653143285582992,
78
- 0.540053686766102,
79
- 0.5066697045408962,
80
- 0.48271092703635426,
81
- 0.45380416543196983,
82
- 0.4246718500834122,
83
- 0.3976970451765659,
84
- 0.37467128570170205,
85
- 0.3506514219211769,
86
- 0.32197280693188274,
87
- 0.2990604112196519,
88
- 0.27503146879371937,
89
- 0.252418403528896,
90
- 0.23091191183238988,
91
- 0.2141808864372958,
92
- 0.19620488113933368,
93
- 0.18272890196951042,
94
- 0.16927406464865355,
95
- 0.15402624306273502,
96
- 0.14341572573042205,
97
- 0.13224606865027388,
98
- 0.12309528268471495,
99
- 0.11278604736699106,
100
- 0.10315858712876423,
101
- 0.0946956273398957,
102
- 0.08657892920282398,
103
- 0.07406414692224761,
104
- 0.05809758489467727
105
  ],
106
  "0.05": [
107
  0.8546291565996004,
108
- 0.8390992644282689,
109
- 0.815636762285532,
110
- 0.794996899525596,
111
- 0.7748608612350834,
112
  0.7534030835576375,
113
  0.7326620612561575,
114
  0.7033246652891548,
115
  0.6761439611185102,
116
- 0.6475467692562777,
117
- 0.6213245643341573,
118
- 0.5946804043226823,
119
- 0.5653143285582992,
120
- 0.540053686766102,
121
- 0.5066697045408962,
122
- 0.48271092703635426,
123
- 0.45380416543196983,
124
- 0.4246718500834122,
125
- 0.3976970451765659,
126
- 0.37467128570170205,
127
- 0.3506514219211769,
128
- 0.32197280693188274,
129
- 0.2990604112196519,
130
- 0.27503146879371937,
131
- 0.252418403528896,
132
- 0.23091191183238988,
133
- 0.2141808864372958,
134
- 0.19620488113933368,
135
- 0.18272890196951042,
136
- 0.16927406464865355,
137
- 0.15402624306273502,
138
- 0.14341572573042205,
139
- 0.13224606865027388,
140
- 0.12309528268471495,
141
- 0.11278604736699106,
142
- 0.10315858712876423,
143
- 0.0946956273398957,
144
- 0.08657892920282398,
145
- 0.07406414692224761,
146
- 0.05809758489467727
147
  ]
148
  },
149
- "cert_accuracy_answer_all": 0.5879931389365352
 
 
150
  },
151
  "candidate_rule": "min_p",
152
  "candidate_min_p": 0.05,
@@ -159,8 +161,8 @@
159
  ],
160
  "thresholds": {
161
  "0.01": null,
162
- "0.02": 0.8273787041356887,
163
- "0.05": 0.5755507073107454
164
  },
165
  "conformal_q": 0.9997323706032406,
166
  "delta": 0.1,
@@ -172,22 +174,6 @@
172
  "n_state_temp": 287,
173
  "orders": {
174
  "0.01": [
175
- 0.9925414973102457,
176
- 0.9915781353254195,
177
- 0.9907942719266384,
178
- 0.9894260363762005,
179
- 0.987933664766585,
180
- 0.9869348188789901,
181
- 0.984970552423103,
182
- 0.981732858682758,
183
- 0.9800487587095484,
184
- 0.9776581347170207,
185
- 0.9760000197322725,
186
- 0.9737263416639429,
187
- 0.9686611034920956,
188
- 0.9659087754032977,
189
- 0.9642625980022396,
190
- 0.9582639057490853,
191
  0.9560924898447123,
192
  0.9519729487735396,
193
  0.9433091050310406,
@@ -204,14 +190,6 @@
204
  0.19320342648908526
205
  ],
206
  "0.02": [
207
- 0.9977847208372861,
208
- 0.9973991627848905,
209
- 0.9970712258744602,
210
- 0.9966005819956624,
211
- 0.9959485052934133,
212
- 0.9954949082688425,
213
- 0.9950891637253053,
214
- 0.9946737876579338,
215
  0.9942224845234497,
216
  0.993663439221272,
217
  0.9925414973102457,
@@ -288,7 +266,9 @@
288
  0.19320342648908526
289
  ]
290
  },
291
- "cert_accuracy_answer_all": 0.9222972972972973
 
 
292
  },
293
  "candidate_rule": "min_p",
294
  "candidate_min_p": 0.05,
 
3
  "curated": {
4
  "temps": [
5
  2.2867150467655692,
6
+ 1.0
7
  ],
8
  "thresholds": {
9
  "0.01": null,
10
  "0.02": null,
11
  "0.05": 0.7326620612561575
12
  },
13
+ "conformal_q": 0.9879384474540245,
14
  "delta": 0.1,
15
  "n_calib": 2915,
16
  "notes": {
 
21
  "orders": {
22
  "0.01": [
23
  0.8546291565996004,
24
+ 0.8390176441806108,
25
+ 0.8154103968963973,
26
+ 0.794829109940437,
27
+ 0.7746235878318407,
28
  0.7534030835576375,
29
  0.7326620612561575,
30
  0.7033246652891548,
31
  0.6761439611185102,
32
+ 0.6470571390741137,
33
+ 0.621272642015397,
34
+ 0.5945858554596489,
35
+ 0.5644175562128235,
36
+ 0.5383910801544289,
37
+ 0.5053288200390005,
38
+ 0.4811340553290624,
39
+ 0.452356317766877,
40
+ 0.42197435647087733,
41
+ 0.3958372615386735,
42
+ 0.37271575694400216,
43
+ 0.3454190259897346,
44
+ 0.32019942511666205,
45
+ 0.2978205681901842,
46
+ 0.27252864145905314,
47
+ 0.25023107658087435,
48
+ 0.2280356861181734,
49
+ 0.2107918478555132,
50
+ 0.1922878241655564,
51
+ 0.1805002272443855,
52
+ 0.1657752910487553,
53
+ 0.15325223241615193,
54
+ 0.14276862651155658,
55
+ 0.13142562118108092,
56
+ 0.12133406984392998,
57
+ 0.11152977248316712,
58
+ 0.10209767159471866,
59
+ 0.09431107359946388,
60
+ 0.08508807647979337,
61
+ 0.07348928030213907,
62
+ 0.05685468801548344
63
  ],
64
  "0.02": [
65
  0.8546291565996004,
66
+ 0.8390176441806108,
67
+ 0.8154103968963973,
68
+ 0.794829109940437,
69
+ 0.7746235878318407,
70
  0.7534030835576375,
71
  0.7326620612561575,
72
  0.7033246652891548,
73
  0.6761439611185102,
74
+ 0.6470571390741137,
75
+ 0.621272642015397,
76
+ 0.5945858554596489,
77
+ 0.5644175562128235,
78
+ 0.5383910801544289,
79
+ 0.5053288200390005,
80
+ 0.4811340553290624,
81
+ 0.452356317766877,
82
+ 0.42197435647087733,
83
+ 0.3958372615386735,
84
+ 0.37271575694400216,
85
+ 0.3454190259897346,
86
+ 0.32019942511666205,
87
+ 0.2978205681901842,
88
+ 0.27252864145905314,
89
+ 0.25023107658087435,
90
+ 0.2280356861181734,
91
+ 0.2107918478555132,
92
+ 0.1922878241655564,
93
+ 0.1805002272443855,
94
+ 0.1657752910487553,
95
+ 0.15325223241615193,
96
+ 0.14276862651155658,
97
+ 0.13142562118108092,
98
+ 0.12133406984392998,
99
+ 0.11152977248316712,
100
+ 0.10209767159471866,
101
+ 0.09431107359946388,
102
+ 0.08508807647979337,
103
+ 0.07348928030213907,
104
+ 0.05685468801548344
105
  ],
106
  "0.05": [
107
  0.8546291565996004,
108
+ 0.8390176441806108,
109
+ 0.8154103968963973,
110
+ 0.794829109940437,
111
+ 0.7746235878318407,
112
  0.7534030835576375,
113
  0.7326620612561575,
114
  0.7033246652891548,
115
  0.6761439611185102,
116
+ 0.6470571390741137,
117
+ 0.621272642015397,
118
+ 0.5945858554596489,
119
+ 0.5644175562128235,
120
+ 0.5383910801544289,
121
+ 0.5053288200390005,
122
+ 0.4811340553290624,
123
+ 0.452356317766877,
124
+ 0.42197435647087733,
125
+ 0.3958372615386735,
126
+ 0.37271575694400216,
127
+ 0.3454190259897346,
128
+ 0.32019942511666205,
129
+ 0.2978205681901842,
130
+ 0.27252864145905314,
131
+ 0.25023107658087435,
132
+ 0.2280356861181734,
133
+ 0.2107918478555132,
134
+ 0.1922878241655564,
135
+ 0.1805002272443855,
136
+ 0.1657752910487553,
137
+ 0.15325223241615193,
138
+ 0.14276862651155658,
139
+ 0.13142562118108092,
140
+ 0.12133406984392998,
141
+ 0.11152977248316712,
142
+ 0.10209767159471866,
143
+ 0.09431107359946388,
144
+ 0.08508807647979337,
145
+ 0.07348928030213907,
146
+ 0.05685468801548344
147
  ]
148
  },
149
+ "cert_accuracy_answer_all": 0.5883361921097771,
150
+ "cert_unit": "source+normalised key",
151
+ "n_cert_units": 2796
152
  },
153
  "candidate_rule": "min_p",
154
  "candidate_min_p": 0.05,
 
161
  ],
162
  "thresholds": {
163
  "0.01": null,
164
+ "0.02": null,
165
+ "0.05": 0.7621416162421972
166
  },
167
  "conformal_q": 0.9997323706032406,
168
  "delta": 0.1,
 
174
  "n_state_temp": 287,
175
  "orders": {
176
  "0.01": [
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
177
  0.9560924898447123,
178
  0.9519729487735396,
179
  0.9433091050310406,
 
190
  0.19320342648908526
191
  ],
192
  "0.02": [
 
 
 
 
 
 
 
 
193
  0.9942224845234497,
194
  0.993663439221272,
195
  0.9925414973102457,
 
266
  0.19320342648908526
267
  ]
268
  },
269
+ "cert_accuracy_answer_all": 0.9222972972972973,
270
+ "cert_unit": "source+normalised key",
271
+ "n_cert_units": 318
272
  },
273
  "candidate_rule": "min_p",
274
  "candidate_min_p": 0.05,
meta.json CHANGED
@@ -1,6 +1,6 @@
1
  {
2
  "max_len": 48,
3
- "version": "v1.2",
4
  "run": "runs/r-trim-C",
5
  "base": "jhu-clsp/mmBERT-small",
6
  "pending_g1": false,
@@ -325,7 +325,7 @@
325
  "AT": "Austria",
326
  "AU": "Australia",
327
  "AW": "Aruba",
328
- "AX": "\u00c5land Islands",
329
  "AZ": "Azerbaijan",
330
  "BA": "Bosnia & Herzegovina",
331
  "BB": "Barbados",
@@ -336,7 +336,7 @@
336
  "BH": "Bahrain",
337
  "BI": "Burundi",
338
  "BJ": "Benin",
339
- "BL": "St. Barth\u00e9lemy",
340
  "BM": "Bermuda",
341
  "BN": "Brunei",
342
  "BO": "Bolivia",
@@ -354,7 +354,7 @@
354
  "CF": "Central African Republic",
355
  "CG": "Congo - Brazzaville",
356
  "CH": "Switzerland",
357
- "CI": "C\u00f4te d\u2019Ivoire",
358
  "CK": "Cook Islands",
359
  "CL": "Chile",
360
  "CM": "Cameroon",
@@ -363,7 +363,7 @@
363
  "CR": "Costa Rica",
364
  "CU": "Cuba",
365
  "CV": "Cape Verde",
366
- "CW": "Cura\u00e7ao",
367
  "CX": "Christmas Island",
368
  "CY": "Cyprus",
369
  "CZ": "Czechia",
@@ -498,7 +498,7 @@
498
  "PW": "Palau",
499
  "PY": "Paraguay",
500
  "QA": "Qatar",
501
- "RE": "R\u00e9union",
502
  "RO": "Romania",
503
  "RS": "Serbia",
504
  "RU": "Russia",
@@ -519,7 +519,7 @@
519
  "SO": "Somalia",
520
  "SR": "Suriname",
521
  "SS": "South Sudan",
522
- "ST": "S\u00e3o Tom\u00e9 & Pr\u00edncipe",
523
  "SV": "El Salvador",
524
  "SX": "Sint Maarten",
525
  "SY": "Syria",
@@ -535,7 +535,7 @@
535
  "TM": "Turkmenistan",
536
  "TN": "Tunisia",
537
  "TO": "Tonga",
538
- "TR": "T\u00fcrkiye",
539
  "TT": "Trinidad & Tobago",
540
  "TV": "Tuvalu",
541
  "TW": "Taiwan",
@@ -981,5 +981,6 @@
981
  },
982
  "all_pass": true
983
  },
984
- "train_run": "small-v12f"
 
985
  }
 
1
  {
2
  "max_len": 48,
3
+ "version": "v1.2.1",
4
  "run": "runs/r-trim-C",
5
  "base": "jhu-clsp/mmBERT-small",
6
  "pending_g1": false,
 
325
  "AT": "Austria",
326
  "AU": "Australia",
327
  "AW": "Aruba",
328
+ "AX": "Åland Islands",
329
  "AZ": "Azerbaijan",
330
  "BA": "Bosnia & Herzegovina",
331
  "BB": "Barbados",
 
336
  "BH": "Bahrain",
337
  "BI": "Burundi",
338
  "BJ": "Benin",
339
+ "BL": "St. Barthélemy",
340
  "BM": "Bermuda",
341
  "BN": "Brunei",
342
  "BO": "Bolivia",
 
354
  "CF": "Central African Republic",
355
  "CG": "Congo - Brazzaville",
356
  "CH": "Switzerland",
357
+ "CI": "Côte d’Ivoire",
358
  "CK": "Cook Islands",
359
  "CL": "Chile",
360
  "CM": "Cameroon",
 
363
  "CR": "Costa Rica",
364
  "CU": "Cuba",
365
  "CV": "Cape Verde",
366
+ "CW": "Curaçao",
367
  "CX": "Christmas Island",
368
  "CY": "Cyprus",
369
  "CZ": "Czechia",
 
498
  "PW": "Palau",
499
  "PY": "Paraguay",
500
  "QA": "Qatar",
501
+ "RE": "Réunion",
502
  "RO": "Romania",
503
  "RS": "Serbia",
504
  "RU": "Russia",
 
519
  "SO": "Somalia",
520
  "SR": "Suriname",
521
  "SS": "South Sudan",
522
+ "ST": "São Tomé & Príncipe",
523
  "SV": "El Salvador",
524
  "SX": "Sint Maarten",
525
  "SY": "Syria",
 
535
  "TM": "Turkmenistan",
536
  "TN": "Tunisia",
537
  "TO": "Tonga",
538
+ "TR": "Türkiye",
539
  "TT": "Trinidad & Tobago",
540
  "TV": "Tuvalu",
541
  "TW": "Taiwan",
 
981
  },
982
  "all_pass": true
983
  },
984
+ "train_run": "small-v12f",
985
+ "calibration_note": "v1.2 weights; certificate over (source, normalised key) units"
986
  }