bibr-ref-line-tagger-v1 / bibr_model.json
thesanogoeffect's picture
Add the reference line tagger
b0effed verified
Raw History Blame Contribute Delete
6.12 kB
{
"manifest_version": 1,
"role": "reference_line_tagger",
"name": "reference-segmenter-geometry-tagger",
"version": "sha256-fa3a2d07b46b",
"task": "line_tagging",
"runtime": {
"engine": "onnxruntime",
"requires": [
"onnxruntime",
"tokenizers",
"numpy"
],
"opset": 17,
"executes_code_on_load": false
},
"files": [
{
"path": "gate.json",
"bytes": 6963,
"sha256": "3902d750ec2d8bb0dbd29e8079660f8411ff527b4a7d2d1e7bd7afb8a490acc6",
"kind": "legacy_manifest"
},
{
"path": "onnx/tagger.json",
"bytes": 2290,
"sha256": "3f3822418f7a6afd44bd86d280910deca288bfeaad06b3b7c21a65a8e9677167",
"kind": "legacy_manifest"
},
{
"path": "onnx/tagger.onnx",
"bytes": 2410636,
"sha256": "fa3a2d07b46bd9133fd7026ad09e502720a65413d5cdc1a736e9a9957526462b",
"kind": "model"
}
],
"encoder": null,
"labels": {
"classes": [
"continuation",
"start"
]
},
"input": {
"layout": "line_features",
"tokenizer_file": null,
"max_length": null,
"features": [
"caps_ratio",
"contains_year",
"dfont",
"dx_prev",
"dy_from_prev",
"dy_gap",
"dy_to_next",
"early_year_paren",
"font_size",
"indent_delta_next",
"indent_delta_prev",
"is_first",
"len_chars",
"looks_author_year_start",
"looks_doi_continuation",
"looks_numbered_start",
"next_len_chars",
"next_looks_reference_header",
"prev_ends_doi",
"prev_ends_period",
"prev_ends_year",
"prev_len_chars",
"prev_looks_reference_header",
"same_page_next",
"same_page_prev",
"starts_author_date",
"starts_numbered",
"starts_year",
"x0_rel_page"
],
"window": null,
"stride": null,
"add_special_tokens": null,
"truncation": null,
"template": null,
"normalization": null,
"pair": null,
"special_tokens": {},
"model_inputs": [
{
"name": "features",
"dtype": "float32",
"shape": [
"lines",
29
]
}
],
"model_outputs": [
{
"name": "start_prob",
"dtype": "float32",
"shape": [
"lines"
]
},
{
"name": "logits",
"dtype": "float32",
"shape": [
"lines",
2
]
}
]
},
"decode": {
"method": "gated_line_starts",
"crf": null,
"calibration": {
"file": "gate.json",
"temperature": 1.5511548209195987
},
"when_nothing_found": "first_unit_forced",
"thresholds": {
"gate_confidence": 0.9666666666666667
}
},
"quantization": {
"weights": "fp32",
"note": null
},
"provenance": {
"ledger_key": "reference-segmenter-geometry-tagger",
"run_record_sha256": "f0bcd8750673c7b64782b492e2bd8a26d10d4edac4d0312cecc9236ad370c03a",
"platform_commit": "8c975b95c1a136957df82a5f72300ab11d1f29b1",
"registry_build": "2026-11-10T21:38:59Z#d8d427de3ea7",
"split_id": "corpus-split-v1@c6fc246571f4"
},
"licence": "mit",
"compat": {
"bibr_min_version": null,
"export_schema": null
},
"self_test": {
"tolerance": {
"probability_abs": 0.01,
"logit_abs": 0.05,
"reason": "onnxruntime builds, CPUs and BLAS kernels give slightly different float results; the largest difference measured between onnxruntime 1.27.0 and 1.31.0 on the eight bundles normalised so far was 8e-05 (stored values are rounded to 5 places), so these limits are about two orders of magnitude looser than the drift seen, and far tighter than any change of a decision; tags and label lists are compared exactly"
},
"cases": [
{
"name": "six lines",
"input": {
"features": [
[
0.0,
0.3,
0.6,
0.9,
0.1,
0.4,
0.7,
1.0,
0.2,
0.5,
0.8,
0.0,
0.3,
0.6,
0.9,
0.1,
0.4,
0.7,
1.0,
0.2,
0.5,
0.8,
0.0,
0.3,
0.6,
0.9,
0.1,
0.4,
0.7
],
[
0.7,
1.0,
0.2,
0.5,
0.8,
0.0,
0.3,
0.6,
0.9,
0.1,
0.4,
0.7,
1.0,
0.2,
0.5,
0.8,
0.0,
0.3,
0.6,
0.9,
0.1,
0.4,
0.7,
1.0,
0.2,
0.5,
0.8,
0.0,
0.3
],
[
0.3,
0.6,
0.9,
0.1,
0.4,
0.7,
1.0,
0.2,
0.5,
0.8,
0.0,
0.3,
0.6,
0.9,
0.1,
0.4,
0.7,
1.0,
0.2,
0.5,
0.8,
0.0,
0.3,
0.6,
0.9,
0.1,
0.4,
0.7,
1.0
],
[
1.0,
0.2,
0.5,
0.8,
0.0,
0.3,
0.6,
0.9,
0.1,
0.4,
0.7,
1.0,
0.2,
0.5,
0.8,
0.0,
0.3,
0.6,
0.9,
0.1,
0.4,
0.7,
1.0,
0.2,
0.5,
0.8,
0.0,
0.3,
0.6
],
[
0.6,
0.9,
0.1,
0.4,
0.7,
1.0,
0.2,
0.5,
0.8,
0.0,
0.3,
0.6,
0.9,
0.1,
0.4,
0.7,
1.0,
0.2,
0.5,
0.8,
0.0,
0.3,
0.6,
0.9,
0.1,
0.4,
0.7,
1.0,
0.2
],
[
0.2,
0.5,
0.8,
0.0,
0.3,
0.6,
0.9,
0.1,
0.4,
0.7,
1.0,
0.2,
0.5,
0.8,
0.0,
0.3,
0.6,
0.9,
0.1,
0.4,
0.7,
1.0,
0.2,
0.5,
0.8,
0.0,
0.3,
0.6,
0.9
]
]
},
"expect": {
"probs": [
0.0044,
0.10484,
0.0029,
0.06487,
0.1367,
0.00573
],
"logits": [
[
4.14361,
-4.26754
],
[
1.64345,
-1.68308
]
]
}
}
]
},
"spec": {
"gate_score": "expected_entry_precision",
"layout": "lines first, no batch axis: one paper per call, features [lines, n] float32 in feature order"
}
}