Token Classification
Transformers
Safetensors
Ancient Greek (to 1453)
char_bert_joint
ancient-greek
classical-philology
character-level
masked-diffusion
dependency-parsing
pos-tagging
lemmatization
custom_code
Instructions to use Ericu950/Stoicheia-tagger-parser with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Ericu950/Stoicheia-tagger-parser with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("token-classification", model="Ericu950/Stoicheia-tagger-parser", trust_remote_code=True)# Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("Ericu950/Stoicheia-tagger-parser", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
| license: apache-2.0 | |
| language: | |
| - grc | |
| library_name: transformers | |
| tags: | |
| - ancient-greek | |
| - classical-philology | |
| - character-level | |
| - masked-diffusion | |
| - dependency-parsing | |
| - pos-tagging | |
| - lemmatization | |
| pipeline_tag: token-classification | |
| # Stoicheia -- joint tagger and dependency parser | |
| **Stoicheia** is a 405M-parameter character-level masked-diffusion encoder for Ancient Greek | |
| (`d_model` 1024, depth 32, banded attention: three of every four blocks attend within a | |
| 256-character window, the fourth globally). Its input is factored into five aligned planes -- | |
| letters, word/sentence boundaries, diacritics, capitalization, punctuation -- each of which can | |
| be masked independently to an explicit *unknown* state at inference. That is what lets one model | |
| read an edited text, *scriptio continua*, and a lacuna of unknown length without changing | |
| anything but its input. | |
| Anonymous release accompanying a paper under review. | |
| `Stoicheia-doc_clean` with four heads on one shared backbone through an ELMo-style scalar mix: | |
| factored XPOS, an edit-script lemmatizer, a UPOS auxiliary, and a biaffine dependency parser. | |
| Everything below comes from a single forward pass -- there is no pipeline of separate models. | |
| ## Usage | |
| ```python | |
| import sys, torch | |
| from transformers import AutoModel | |
| from huggingface_hub import snapshot_download | |
| REPO = "Ericu950/Stoicheia-tagger-parser" | |
| # this model's processor needs the label vocabularies beside it, so take the whole snapshot | |
| local = snapshot_download(REPO, allow_patterns=["*.json", "*.txt", "*.py", "*.model"]) | |
| sys.path.insert(0, local) | |
| from processing_char_bert_joint import CharBertJointProcessor | |
| model = AutoModel.from_pretrained(REPO, trust_remote_code=True).eval() | |
| proc = CharBertJointProcessor.from_pretrained(local) | |
| batch = proc(["μῆνιν ἄειδε θεὰ Πηληϊάδεω Ἀχιλῆος".split()]) | |
| with torch.no_grad(): | |
| out = model(**batch) | |
| for i, w in enumerate(proc.decode(out, batch, ud=True)[0], 1): | |
| print(i, w["form"], w["lemma"], w["upos"], w["xpos"], w["head"], w["deprel"]) | |
| # 1 μῆνιν μῆνις NOUN ... 2 obj | |
| # 2 ἄειδε ἀείδω VERB ... 0 root | |
| # 3 θεὰ θεά NOUN ... 2 orphan | |
| # 4 Πηληϊάδεω Πηληιάδης NOUN ... 5 appos | |
| # 5 Ἀχιλῆος Ἀχιλλεύς NOUN ... 1 nmod | |
| ``` | |