| --- |
| license: mit |
| language: |
| - uz |
| - en |
| - ru |
| tags: |
| - automatic-speech-recognition |
| - whisper |
| - uzbek |
| - russian |
| - english |
| - code-switching |
| - multilingual |
| - speech-to-text |
| - stt |
| - asr |
| - low-volume-speech |
| metrics: |
| - wer |
| pipeline_tag: automatic-speech-recognition |
| --- |
| |
| # UZBEK STT V1 β Low Volume & Multilingual Fine-tuned |
|
|
| **Ishlab chiqaruvchi:** BaseLayer |
| ## 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:** BaseLayer |
| - **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](https://huggingface.co/datasets/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 |
|
|
| ```python |
| from transformers import WhisperProcessor, WhisperForConditionalGeneration |
| import librosa |
| |
| processor = WhisperProcessor.from_pretrained("BaseLayer/uzbek_stt_model") |
| model = WhisperForConditionalGeneration.from_pretrained("BaseLayer/uzbek_stt_model") |
| |
| 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: |
|
|
| ```python |
| 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](https://huggingface.co/datasets/Beehzod/uzbek_speech_data)) ham MIT litsenziyali. |