Dostonbek Abdurakhmonov
PORTFOLIO / 202640.7°N / 72.3°E

NLP / Machine Learning Engineer · Andijan, Uzbekistan

DOSTONBEKABDURAKHMONOV

I build language systems end to end — the data, the model, and the product around them — for low-resource Uzbek and safety-sensitive domains.

Resume / PDF

Selected work / 01—04

Four systems, built end to end.

01LOW-RESOURCE NLP

UZ-ByT5

Explainable Uzbek morpheme analyzer

A byte-level ByT5 fine-tune that splits Uzbek words into four grammatical morpheme classes and restores the dictionary form of altered stems — a reconstruction task subword tokenizers cannot perform.

  • 98.9%exact match
  • 99.4%morpheme F1
  • 246Ktraining examples
  • Generated the corpus instead of scraping it: Uzbek morphophonological rules applied forward over a 93K-root lexicon and a 354-affix taxonomy, producing 246K examples with guaranteed-correct labels.
  • Diagnosed an fp16 divergence specific to the T5 family — training collapsed to 0% accuracy — and resolved it in fp32.
  • Shipped with a deterministic rule-based fallback, a human-correction layer, Uzbek TTS, 31 unit tests in CI and a portable Windows build.

PyTorch · ByT5 · Transformers · Streamlit

02RETRIEVAL & GENERATION

Operator Chatbot

Hybrid RAG + multilingual NER, built from scratch

A telecom operator assistant with no LangChain and no LlamaIndex in the stack: a transformer encoder pretrained from scratch, a hand-written hybrid retriever, and a confidence gate in front of the generator.

  • 42Mparams from scratch
  • 0.985MRR@5 / 1,015 queries
  • 0.786F1 on CoNLL-2003
  • Pretrained a 42M-parameter BERT-style encoder — 8 layers, 512 hidden, 16K BPE vocabulary — with masked language modelling, then fine-tuned it with SimCSE contrastive learning over 12 hours on a single Kaggle T4.
  • Fused TF-IDF sparse search with FAISS dense search behind a confidence threshold that returns an explicit “not found” rather than letting the 8-bit Qwen2.5-7B generator hallucinate.
  • Wrote the entity-extraction half as a BiLSTM-CRF in pure PyTorch, including the CRF forward algorithm and Viterbi decoder.

PyTorch · Transformers · FAISS · Qwen2.5-7B · Gradio

03CLINICAL ML

TriageGeist

Calibrated emergency triage with uncertainty bounds

A four-model ensemble predicting Emergency Severity Index from vitals and free-text nurse notes — designed around clinical safety rather than leaderboard rank.

  • 80,000patients evaluated
  • 0.00009macro-ECE calibration
  • 4model ensemble
  • Stacked LightGBM, XGBoost, CatBoost and a PyTorch MLP over Bio_ClinicalBERT embeddings and ~150 engineered clinical features — shock index, qSOFA, SIRS counts, ESI threshold flags, per-site normalization.
  • Added split conformal prediction for calibrated prediction sets, an asymmetric cost matrix penalising under-triage, SHAP explanations and a fairness audit across sex, language, age and site.
  • The dataset yields near-ceiling scores, which is a property of the data rather than the model — so the work is judged on calibration, conformal coverage and subgroup gaps instead.

Bio_ClinicalBERT · LightGBM · XGBoost · CatBoost · Conformal prediction

04MEDICAL IMAGING

Stenoz

Coronary stenosis detection in X-ray angiography

A two-stage detector on the ARCADE dataset: a U-Net trained on lesion masks, paired with a geometric layer that produces an auditable diameter chart for every detection.

  • 95.7%lesion sensitivity
  • 0.702vessel Dice
  • 1,500annotated angiograms
  • Reframed the task after finding the dataset had effectively no negative class at image level, which leaves a binary classifier nothing to learn from — localization with an interpretable explanation became the objective.
  • Vessel segmentation feeds a centerline skeleton and a diameter profile, so a cardiologist can see why the model flagged a narrowing rather than trusting a score.
  • Both networks trained from scratch on a single T4, with CI and a Streamlit interface.

PyTorch · U-Net · scikit-image · Streamlit

Research / open source

Published, not just pushed.

PREPRINT

Abdurakhmonov, D. (2026)

From Scratch: Multilingual BiLSTM-CRF NER and Hybrid RAG Systems for an Intelligent Uzbek Telecom Operator Chatbot — Foundations for Reinforcement Learning Agents

Preprint · Zenodo · DOI 10.5281/zenodo.19451409

Zenodo

Capabilities

What I actually reach for.

Grouped by what I use daily versus what I have used enough to be useful with. No badge collection.

LANGUAGES
PythonSQLBash
ML / DL
PyTorchTransformersscikit-learnpandasNumPyTensorFlowU-Net
NLP
ByT5 / seq2seqBERT pretrainingMLM + SimCSEBiLSTM-CRFBPE tokenizersTF-IDFFAISSRAGNER8-bit LLM inference
TOOLING
Hugging Face HubStreamlitGradioFastAPIGitGitHub ActionsLinux
FAMILIAR
DockerLangChainLlamaIndexTelegram Bot APINext.js

Background

How I got here.

TEACHING

NLP & Data Science TutorIndependent, online · 2025 – Present

Python, data science and NLP with 6–7 students, 10–12 hours a week — practical model training and evaluation, not theory alone.

Teaching Practice, AI & Data ScienceMaqsad IT Center, Qo‘rg‘ontepa · 2025 (1 month)

Assisted the lead instructor with lessons and assignments for an introductory group.

COMPETITIONS

  • 73rdInternational Olympiad in Informatics (IOI)nationally, Uzbekistan
  • 13thInternational Olympiad in Artificial Intelligence (IOAI)nationally, Uzbekistan
  • 1stSharda University International Olympiadfull four-year scholarship
  • Top 22%Kaggle AIMO-3749 / 3,451 teams

EDUCATION

Kurgantepa Specialized SchoolHigh School Diploma · Andijan · 2024 – 2026

GPA 5.0 / 5.0 · Student of the Year, 2024–2025

FOUNDATIONS

Self-directed study behind the work above.

  • Stanford CS224NNatural Language Processing with Deep Learning
  • Jurafsky & MartinSpeech and Language Processing
  • MohirDevData Science and NLP tracks

LANGUAGES

  • UzbekNative
  • EnglishProfessional · IELTS 6.5
  • RussianIntermediate
  • ArabicBeginner
Designed and built in Andijan · 2026Top