|
Download README.md from failed09/bashkir-roberta-ner: direct link, hf CLI and curl.
- Browser
- Download file 7.63 kB
-
https://huggingface.co/failed09/bashkir-roberta-ner/resolve/main/README.md
- Command line
-
hf download hf://failed09/bashkir-roberta-ner/README.md
-
curl -L -o README.md https://huggingface.co/failed09/bashkir-roberta-ner/resolve/main/README.md
7.63 kB
| language: | |
| - ba | |
| license: apache-2.0 | |
| pretty_name: BashkirRoBERTa NER | |
| library_name: onnxruntime | |
| pipeline_tag: token-classification | |
| tags: | |
| - bashkir | |
| - named-entity-recognition | |
| - person | |
| - onnx | |
| - onnxruntime | |
| - low-resource | |
| # BashkirRoBERTa NER | |
| > ONNX models for finding person names in Bashkir text, with a compact CPU default. | |
| ## Overview | |
| BashkirRoBERTa NER is a person-name tagger fine-tuned from the BashkirRoBERTa | |
| masked-language encoder. It recognizes people (`PER`) and returns spans in the | |
| original text. The release includes FP32 and dynamically quantized INT8 ONNX | |
| graphs, the original SentencePiece tokenizer, and a small standalone runtime. | |
| The INT8 model is the default for CPU use. | |
| | At a glance | | | |
| | --- | --- | | |
| | Task | Bashkir person named entity recognition (`PER`) | | |
| | Default artifact | `onnx/model_int8.onnx` | | |
| | Source | A Bashkir-language encoder and person-entity training annotations | | |
| | Version / license | v1 / Apache-2.0 | | |
| ## Contents | |
| ### Files and Configurations | |
| | File | Purpose | Size | | |
| | --- | --- | ---: | | |
| | **`onnx/model_int8.onnx`** | CPU default, dynamic INT8 | 82.4 MB | | |
| | `onnx/model_fp32.onnx` | FP32 reference with PyTorch tag parity | 200.3 MB | | |
| | `spm_bashkir_bert_16k.model` | SentencePiece tokenizer | 0.59 MB | | |
| | `runtime.py` | Word alignment, BIO spans, character offsets | — | | |
| | `config.json` | Architecture, label order, runtime contract | — | | |
| | `benchmark_summary.json` | Aggregate evaluation without source text | — | | |
| | `example.py` | Download and run the default model | — | | |
| | `META.json` | Release passport and artifact hashes | — | | |
| | `LICENSE` | Full license text | — | | |
| | `SHA256SUMS` | Checksums of the public files | — | | |
| ### Model Architecture | |
| | Property | Value | | |
| | --- | --- | | |
| | Encoder | BashkirRoBERTa, eight Pre-LayerNorm Transformer blocks | | |
| | Head | Linear word-level classifier | | |
| | Labels | `O`, `B-PER`, `I-PER` | | |
| | Tokenization | SentencePiece, first piece of each original word is labeled | | |
| | Input | `input_ids`, int64, dynamic batch and sequence dimensions | | |
| | Output | `logits`, float, `[batch, sequence, 3]` | | |
| | Maximum context | 256 SentencePiece tokens, including boundary tokens | | |
| ### Examples | |
| Outputs below were produced by the included INT8 runtime: | |
| | Input | Found people | | |
| | --- | --- | | |
| | `Рәми Ғарипов һәм Мостай Кәрим тураһында һөйләштек.` | `Рәми Ғарипов`; `Мостай Кәрим` | | |
| | `Мәрйәм менән Илнур мәктәпкә китте.` | `Мәрйәм`; `Илнур` | | |
| | `Өфө ҡалаһында яңы мәктәп асылды.` | None | | |
| ## Method | |
| ```text | |
| BashkirRoBERTa base encoder | |
| ├── 1. tokenization with first-subword alignment mapping | |
| ├── 2. fine-tune token classification head on Bashkir person-entity corpus | |
| ├── 3. export FP32 ONNX inference graph | |
| └── 4. dynamic INT8 quantization & word-level BIO decoding | |
| ``` | |
| The encoder was fine-tuned with Bashkir person-entity annotations; its encoder | |
| layers and classification head changed. The original masked-language ONNX graph | |
| cannot be combined with this head to reproduce the release. Training data and | |
| evaluation text are not included. The tokenizer and first-subword alignment are | |
| provided so ONNX scores can be mapped back to complete words. | |
| ### Benchmark | |
| On a held-out, human-verified person-entity set, exact person-span micro F1 is | |
| **0.8594** for FP32 and **0.8589** for INT8 when run one sentence at a time | |
| through the included adapter. FP32 makes no word-tag changes relative to the | |
| PyTorch checkpoint. The separately authored 100-sentence stress suite gives span F1 | |
| **0.9294** (FP32) and **0.9231** (INT8), with 92 sentences entirely correct in | |
| each format. The stress suite is a targeted diagnostic, not an estimate of | |
| population accuracy. Dynamic INT8 outputs can vary slightly with batch | |
| composition; the figures above use the public single-sentence runtime. Counts | |
| and the BIO scoring convention are in | |
| [`benchmark_summary.json`](benchmark_summary.json). | |
| ## Quality and Use | |
| Use this model to find mentions of people in Bashkir text, including inflected | |
| names and multiword names. The `runtime.py` adapter returns each span with | |
| character offsets. `predict_tokens` also accepts pre-tokenized words for | |
| evaluation workflows. The default INT8 graph is smaller while preserving nearly | |
| all of the observed gold-set score; FP32 is available when exact checkpoint | |
| parity matters. | |
| ### Limitations | |
| - Only person entities are labeled. Places and organizations have no output class. | |
| - Rare names can be missed. Long names and adjacent people can be split or merged. | |
| - Names inside institution names can be mistaken for person mentions. | |
| - Inputs beyond the context limit are truncated; the runtime reports `truncated: true`. | |
| - Word boundaries from noisy OCR, unusual punctuation, and mixed writing systems | |
| can differ from the training tokenization. | |
| - The authored stress suite is too small and structured to replace the held-out | |
| human-verified benchmark. | |
| ## Related Resources | |
| - [BashkirRoBERTa](https://huggingface.co/failed09/bashkir-roberta) is the | |
| underlying masked-language model; use it for fill-mask work and new fine-tuning | |
| tasks rather than person-name extraction. | |
| ## Usage | |
| ```bash | |
| pip install onnxruntime sentencepiece numpy huggingface_hub | |
| ``` | |
| ```python | |
| import sys | |
| from huggingface_hub import snapshot_download | |
| model_dir = snapshot_download( | |
| "failed09/bashkir-roberta-ner", | |
| allow_patterns=["onnx/model_int8.onnx", "spm_bashkir_bert_16k.model", | |
| "config.json", "runtime.py"], | |
| ) | |
| sys.path.insert(0, model_dir) | |
| from runtime import BashkirPersonNER | |
| ner = BashkirPersonNER(model_dir) | |
| print(ner.predict("Рәми Ғарипов һәм Мостай Кәрим тураһында һөйләштек.")) | |
| ``` | |
| For the FP32 graph, download `onnx/model_fp32.onnx` as well and construct | |
| `BashkirPersonNER(model_dir, precision="fp32")`. The included `example.py` | |
| runs the default configuration. | |
| ## License | |
| The model weights, tokenizer and runtime are distributed under the | |
| [Apache-2.0 license](https://huggingface.co/failed09/bashkir-roberta-ner/blob/main/LICENSE). The model is fine-tuned from | |
| [BashkirRoBERTa](https://huggingface.co/failed09/bashkir-roberta), which is also | |
| released under Apache-2.0. Training texts and benchmark sentences are not | |
| included; rights in the original texts remain with their respective owners. | |
| Contact the maintainer through the Hub for provenance or removal requests. | |
| ## Citation | |
| ```bibtex | |
| @software{failed09_bashkir_roberta_ner_2026, | |
| title = {BashkirRoBERTa NER}, | |
| author = {failed09}, | |
| year = {2026}, | |
| publisher = {Hugging Face}, | |
| url = {https://huggingface.co/failed09/bashkir-roberta-ner}, | |
| note = {ONNX person named entity recognition for Bashkir} | |
| } | |
| ``` | |
| ## Open Bashkir Data and Sources 🐝 | |
| This release is part of an open-source effort to support the development, | |
| preservation and practical use of the Bashkir language. Other related models, | |
| datasets and tools are available on the author's Hugging Face profile. | |
| The author does not claim ownership or authorship of the source texts or other | |
| materials used to derive this release; rights and licensing remain with the | |
| original authors, publishers and dataset providers. Source texts are not | |
| redistributed in this repository, so users should follow the licenses and | |
| attribution requirements of the relevant upstream resources. | |