|
Download README.md from scienceverse/bibr-statement-tagger-v1: direct link, hf CLI and curl.
- Browser
- Download file 7.08 kB
-
https://huggingface.co/scienceverse/bibr-statement-tagger-v1/resolve/main/README.md
- Command line
-
hf download hf://scienceverse/bibr-statement-tagger-v1/README.md
-
curl -L -o README.md https://huggingface.co/scienceverse/bibr-statement-tagger-v1/resolve/main/README.md
7.08 kB
metadata
license: apache-2.0
library_name: onnx
tags:
- bibr
- statement-block-classifier
statement-tagger
statement-tagger is a model for the bibr stage post_parse/integrity statements (proposed). Input: tokenizer pair (previous block's first 200 characters, block text), max 192 tokens; a block is a layout region on pages 1-2 or a text-layer line group elsewhere (as bibr extracts them).
Files
| File | Bytes | sha256 (first 16) |
|---|---|---|
| bibr_model.json | 4,442 | 191a8babda3e3026 |
| onnx/bibr_onnx.json | 2,550 | 37eb7225f10156c4 |
| onnx/model.onnx | 90,411,056 | 24e0fdb7b0841701 |
| onnx/tokenizer.json | 527,292 | 325e6539e0908116 |
The full checksums are in checksums.json.
Architecture
- encoder: sentence-transformers/all-MiniLM-L6-v2
- head: masked mean pool + linear, 7 sigmoid outputs (coi, funding, ethics, data_availability, author_contributions, acknowledgment, supplementary); per-type thresholds fit on PDF-view dev
- input: tokenizer pair (previous block's first 200 characters, block text), max 192 tokens; a block is a layout region on pages 1-2 or a text-layer line group elsewhere (as bibr extracts them)
- output: adjacent blocks of a type are joined into one statement (statements/join.py)
- format: ONNX fp32 opset 17 (90 MB), parity with torch 6e-8
Training data
- rows: 922468 train rows (400000 JATS-view sample + 174156 PDF-view rows x3)
- jats view: 44869 PMC papers (train 39580, dev 2154, test 2244, test_journal 891), 1.71M block rows; positives from JATS statement markup (sec-type, fn-type, ack, funding-statement, headings in 5 languages), sampled and hard negatives, ambiguous blocks never trained; at most 300 train / 25 eval papers per journal
- pdf view: 5165 papers extracted by bibr (train 4518, dev 243, test 256, test_journal 148); JATS statements projected onto PDF blocks by word 3-gram containment (recovery 94-98 percent per type, supplementary 46 percent)
- languages: English plus 448 non-English train papers (de, fr, zh, pt, es, ru, ko, pl)
- licences: CC BY, CC BY-SA, CC0 only, per row; registry check 0 of 44870 built papers excluded
Every evaluation set in the exclusion registry was kept out of training. Registry: exclusions, build manifest sha256 d8d427de3ea7b954. Split: corpus-split-v1, sha256 c6fc246571f435d7.
Evaluation
| Set | Metric | Value | Shipped | Difference | Interval | Notes |
|---|---|---|---|---|---|---|
| silver paired PDF view (398) | text_f1_macro | 0.908 | vs: JATS-trained arm 0.835, rules 0.741 | |||
| silver paired JATS view (398) | text_f1_macro | 0.953 | ||||
| silver PDF test (256) | block_f1_macro | 0.861 | ||||
| silver PDF test_journal (148) | block_f1_macro | 0.825 | ||||
| statements gold (97 papers, 262 direct statements) | found_pooled | 0.908 | 95% [0.868, 0.943] | spurious statements not judged (no text layer); vs_bibr_0.8.0_full: 0.744; vs_rules: 0.844 | ||
| Metacheck psychsci COI (247) | found | 0.984 | 95% [0.968, 0.996] | vs_rtransparent: 0.729; vs_bibr_full_12.2: 0.891 | ||
| Metacheck psychsci funding (247, 192 with funding) | found | 0.833 | 95% [0.781, 0.883] | vs_rtransparent: 0.542; vs_bibr_full_12.2: 0.677 | ||
| Metacheck MDPI COI (249, GROBID-view rows) | found | 0.855 | 95% [0.807, 0.9] | vs_rtransparent: 0.876 | ||
| Metacheck economics COI (249, 68 with COI, GROBID-view rows) | found | 0.75 | 95% [0.643, 0.842] | worse than the rules here; vs_rtransparent: 0.853 | ||
| gate192, whole pipeline (65 papers with acknowledgment gold) | sec.type:acknowledgment:presence | 0.857 | 0.696 | +0.161 | difference 95% [0.071, 0.259] | 9 papers better, none worse |
| gate192, whole pipeline (54 papers with author-contribution gold) | sec.type:author_contributions:presence | 0.9 | 0.7 | +0.2 | difference 95% [0.098, 0.314] | 10 papers better, none worse |
| gate192, whole pipeline (99 papers with discussion gold) | sec.type:discussion:unigram_precision | 0.747 | 0.737 | +0.010 | difference 95% [0.003, 0.019] | 17 papers better, none worse |
| gate192, whole pipeline (60 papers with heading gold) | header.detect | 0.851 | 0.856 | -0.005 | difference 95% [-0.008, -0.003] | 12 papers one false heading worse, none better: the synthetic headings of new statement sections |
| gate192 and audience_eval200, whole pipeline (190 and 198 papers) | core fields (title, authors, abstract, doi, abstained) | identical | identical | no front-matter field differs on any paper |
Known weaknesses
- the validation scorer judges no spurious statement without a text layer, so the gold numbers are recall-like; precision comes from the silver sets and the Metacheck cohorts only
- silver labels are JATS markup; ethics paragraphs inside methods and untagged statements are ambiguous and left out of training and of precision
- supplementary material statements are rarely printed as such (projection recovery 46 percent); weakest type
- running heads and repeated footers make up 9-13 percent of PDF blocks; JATS-only training typed some as acknowledgment
- CPU cost 2.9-3.6 ms per block at batch 1 and 4.1-4.3 ms at batch 32 on 4 pinned threads (512 PDF test blocks, tokenisation included; host load 9-11, so not an idle machine); about 300 blocks per paper, about 1 s per paper; 7-17 ms per block under heavier shared load
- the non-English test slice is small (31 paired papers)
- on Metacheck's economics COI cohort the rtransparent rules find more statements (0.853 vs 0.750); the cohort is GROBID text, a view the tagger never trained on
- psychsci and the statements gold may have been seen while bibr's own rules were developed; the export heading filter was fixed after a first look at the gold results
- in the pipeline a statement with no heading of its own gets a new section with a heading bibr supplies ("Author contributions", "Acknowledgments"). Since export schema 12.4 the export marks such a heading (extraction.diagnostics.section_classification[].header_supplied), but it does not carry the printed run-in label instead (most such papers print one, e.g. "Author Contributions:"). Heading detection reads 0.5 points lower on gate192 for this reason (12 of 60 papers, one heading each), measured with a scorer that does not yet leave the marked headings out
How it was made
- trainer script: scripts/train_statement_classifier.py
- data builder: scripts/build_statements_dataset.py (jats, pdf, manifest, ids)
- export script: scripts/export_statement_classifier_onnx.py
- recipe: lr 5e-5 encoder / 1e-3 head, batch 64, bf16, BCE, 2 epochs (best = epoch 1 by PDF-view dev macro block F1), length-grouped batches; PDF-view rows repeated 3x
- commit: 8521e69f6bb540e13e87fa27f785fa518477ed2e
- seed: 13
- run record sha256: 8befc900d89ce0d2db94675e16815847ba008f8985c3217c5349e13e45646f50
Licence and attribution
- model licence: apache-2.0
- training data licences: CC BY, CC BY-SA, CC0 only, per row; registry check 0 of 44870 built papers excluded
- starts from: sentence-transformers/all-MiniLM-L6-v2; that model's own licence and card apply