Systematic multi-task evaluation of contextual language encoders for Kabyle (Taqbaylit, kab) across 100,609 annotated instances in 6 core tasks and 3 diagnostic probes under Track A: Frozen Scale-Normalized Probe.
| Rank ↕ | Model ↕ | Params ↕ | Bradley–Terry Elo (95% CI) ↕ | Tier ↕ | Mean Probe ↕ | Syntax (UPOS) | Morph (Aspect) | NER (F1) | Sentiment | Topic (SIB) | Punctuation |
|---|
| Task | Model A | Model B | Delta (A - B) | Advantage |
|---|
| Rank | Model | Params | Syntax (UPOS) | Aspect (Morph) | NER (Micro-F1) | Sentiment (3-Way) | Topic (SIB-200) | Punctuation (F1) | TaPaCo (Para) | Spelling (Diagnostics) |
|---|
To establish a fair, reproducible, and leakage-free evaluation of contextual encoders across diverse architectures, parameter sizes, and depths, KabEncBench enforces strict evaluation invariants:
Rankings are determined by simulating a paired head-to-head tournament on all 100,609 item-level predictions across all 9 benchmark tasks. An item where Model A produces the correct classification while Model B errs constitutes a win for Model A. Pairwise Elo ratings are calculated via logistic Bradley–Terry maximum likelihood estimation anchored at FacebookAI/xlm-roberta-base = 1,000.0. 95% confidence intervals are computed using 2,000 paired cluster-bootstraps.
from datasets import load_dataset
# Load syntax (UPOS) task
syntax = load_dataset("agbalu/KabEncBench", "syntax")
# Load morphology aspect classification
morph = load_dataset("agbalu/KabEncBench", "morph")
# Load spelling minimal pairs diagnostic
spell = load_dataset("agbalu/KabEncBench", "diag_spell")