AI & ML interests
None defined yet.
Recent Activity
ALMAZ NLP
Speech and language technology for Azerbaijani and the Turkic family.
Azerbaijani has around 30 million speakers and sits, in most machine learning pipelines, in the shadow of Turkish. Multilingual models that list Azerbaijani often produce Turkish; models that do not list it produce Turkish too, only more confidently. We build and measure systems that treat it as its own language.
What is here
🔬 lsgr — Language-Specific Grapheme Recall
A training-free diagnostic for one specific failure: a model writing the wrong language's orthography.
When a target language shares a script with a better-resourced neighbour, a multilingual recogniser will often transcribe the target as the neighbour. The output is fluent, confident, and reads as a working transcript to anyone who does not speak the language. Word error rate punishes it without saying why; character error rate actively hides it, because the phonemes are approximately right.
In our evaluation a commercial system scored 91.4 % WER against 59.2 % CER on Azerbaijani telephone speech — a gap that reads as "difficult audio" rather than "wrong language". LSGR scored it 0.000.
The index is a set difference between two alphabets and needs no training data:
from lsgr import pooled
from grapheme_sets import g_set
G = g_set("az", "tr") # -> {'É™', 'q', 'x'}, derived, not curated
pooled(zip(references, hypotheses), G)
Includes derived grapheme sets for eleven language pairs across the Turkic family — Azerbaijani, Kazakh, Kyrgyz, Tatar, Bashkir, Turkmen, Uzbek, Gagauz and Tajik — with containment analysis and measured signal density per pair.
It also documents where the method fails: a Catalan/Spanish control reaches only 18 % utterance coverage, so four in five sentences cannot be scored at all. Knowing the boundary of a metric matters as much as knowing its value.
Research
Cross-Lingual Transfer and Parameter-Efficient Adaptation in the Turkic Language Family: A Theoretical Framework for Low-Resource Language Models arXiv:2604.06202
Introduces the Turkic Transfer Coefficient, combining morphological similarity, lexical overlap, syntactic structure and script compatibility.
A companion paper on grapheme-level evaluation is in submission. The two are deliberately complementary: one measures transfer potential, the other transfer failure. Script compatibility turns out to be double-edged — shared orthography raises transfer potential and simultaneously lowers the detectability of transfer failure.
Speech recognition
We maintain a family of Azerbaijani ASR models named Chinar, after the plane
tree. They are named by the audio bandwidth each was trained on — siblings,
not versions. Sending wideband audio to an 8 model is a downgrade, and the
ordering reverses on microphone speech.
| architecture | domain | |
|---|---|---|
| Chinar-L8 / L16 | encoder–decoder | punctuated, readable transcripts |
| Chinar-F8 / F16 | neural transducer, ~50× smaller | high-volume, low-latency |
Trained on roughly 790 hours of Azerbaijani: deduplicated public corpora, long-form interview audio, and real call-centre recordings.
Model weights are private. The evaluation methodology is not — that is what
lsgr is for.
What we have learned that might save you time
Check which caption track you are using. On YouTube, a track labelled az
is frequently a machine translation of another language's ASR output, not a
transcript of the audio. Only az-orig is native. On one channel we surveyed,
76 % of captioned videos fell into the first category.
Deduplicate before you count. Merging seven public Azerbaijani corpora gave 536 hours by their own descriptions and 430 hours of unique audio. One dataset advertising 106 hours contributed 12; the rest was already present in another.
str.lower() is wrong for Azerbaijani. İ lowercases to i and I
lowercases to ı. Both directions matter, and getting it wrong quietly corrupts
every comparison downstream.
Numbers need canonicalising before scoring, in one direction only. Corpora
disagree about digits versus words — ours writes digits on 14 % of lines and
number words on 16 %. Expand digits to words on both sides; never the reverse,
because bir is also the indefinite article and bir az means "a little", not
"1 az".
Baku, Azerbaijan · publications on arXiv