SOTA Uzbek STT v1 β€” Low Volume & Multilingual Fine-tuned

Ishlab chiqaruvchi: SOTALimi

Model haqida

Base model umumiy holatlarda yaxshi ishlaydi, lekin past ovozda (shivirlashga yaqin, xonadan uzoqdan yozilgan) nutqni tanishda xatoliklar ko'proq edi. Shu muammoni hal qilish uchun model qo'shimcha ma'lumot bilan qayta o'qitildi.

Whisper me'morchiligining tabiiy ko'p tillilik xususiyati tufayli, model faqat o'zbekcha emas β€” o'zbek, ingliz va rus tillarida, hattoki bir gap ichida tillar aralashib kelganda ham (code-switching, masalan "keyin meeting'da discuss qilamiz", "hisobotni project bo'yicha tayyorladim") nutqni ishonchli tarzda matnga aylantira oladi.

  • Ishlab chiqaruvchi: SOTALimi
  • Tillar: O'zbek (uz), Ingliz (en), Rus (ru) β€” shu jumladan tillar aralash holatda
  • Vazifa: Automatic Speech Recognition (ASR) / Speech-to-Text (STT)
  • Litsenziya: MIT

O'qitish ma'lumotlari (Training Data)

  • Manba dataset: Beehzod/uzbek_speech_data (407 ta original audio-matn juftligi, MIT litsenziya)
  • Augmentatsiya: har bir audio 6 xil ovoz balandligi darajasida (+10dB, +6dB, 0dB, -6dB, -10dB, -15dB) ko'paytirilgan, jami ~2440 ta audio-matn juftligi
  • Domen: qonunchilik / rasmiy hujjatlar, fuqarolar murojaatlari bilan bog'liq nutq

O'qitish sozlamalari (Training Hyperparameters)

Parametr Qiymat
Learning rate 1e-5
Epochs 5 (early stopping bilan 4-epochda to'xtatildi)
Batch size 2 (gradient accumulation 8, effektiv batch 16)
Optimal checkpoint Epoch 2
Mixed precision fp16

Natijalar (Evaluation Results)

Epoch Training Loss Validation Loss WER
1 0.1927 0.1058 11.18%
2 (tanlangan) 0.0465 0.1121 8.82%
3 0.0287 0.1185 10.39%
4 0.0178 0.1185 9.97%

Eng yaxshi natija (WER 8.82%) 2-epochda qo'lga kiritildi va overfitting boshlanishidan oldin shu checkpoint yakuniy model sifatida tanlandi.

Qanday foydalanish mumkin

from transformers import WhisperProcessor, WhisperForConditionalGeneration
import librosa

processor = WhisperProcessor.from_pretrained("BaseLayer/sota_uzbek_stt_lowvolume")
model = WhisperForConditionalGeneration.from_pretrained("BaseLayer/sota_uzbek_stt_lowvolume")

audio, sr = librosa.load("audio.wav", sr=16000)
input_features = processor(audio, sampling_rate=16000, return_tensors="pt").input_features

predicted_ids = model.generate(input_features, language="uz", task="transcribe")
transcription = processor.batch_decode(predicted_ids, skip_special_tokens=True)[0]
print(transcription)

Yoki pipeline orqali:

from transformers import pipeline

pipe = pipeline(
    "automatic-speech-recognition",
    model="BaseLayer/sota_uzbek_stt_lowvolume",
    chunk_length_s=30,
    device="cuda"
)

result = pipe("audio.wav", generate_kwargs={"language": "uz", "task": "transcribe"})
print(result["text"])

Cheklovlar (Limitations)

  • Model asosan qonunchilik va rasmiy hujjat uslubidagi nutqda o'qitilgan, boshqa domenlarda (masalan kundalik suhbat, texnik matn) natija farq qilishi mumkin.
  • O'qitish datasi nisbatan kichik (407 original namuna) va faqat o'zbek tilida, shuning uchun juda kam uchraydigan so'zlar yoki dialektlarda xatolik ehtimoli yuqoriroq bo'lishi mumkin.
  • Ingliz va rus tillarini tushunish qobiliyati asosiy Whisper me'morchiligidan meros bo'lib qolgan (fine-tuning maxsus ingliz/rus datasi bilan o'tkazilmagan) β€” shuning uchun bu tillardagi aniqlik sof o'zbekchaga qaraganda pastroq bo'lishi mumkin, ayniqsa murakkab yoki uzun ingliz/rus jumlalarida.
  • Ovoz balandligi augmentatsiyasi sun'iy ravishda yaratilgan (dB o'zgarishi orqali), haqiqiy shovqinli muhitdagi past ovozdan farq qilishi mumkin.

Litsenziya

MIT β€” bemalol foydalanish, o'zgartirish va tijoriy maqsadlarda qo'llash mumkin. Manba dataset (Beehzod/uzbek_speech_data) ham MIT litsenziyali.

Downloads last month
38
Safetensors
Model size
0.8B params
Tensor type
F32
Β·
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support