初始化项目,由ModelHub XC社区提供模型
Model: dysata/Wav2Vec2-Ru-Child Source: Original Platform
This commit is contained in:
130
README.md
Normal file
130
README.md
Normal file
@@ -0,0 +1,130 @@
|
||||
---
|
||||
language:
|
||||
- ru
|
||||
license: mit
|
||||
library_name: transformers
|
||||
pipeline_tag: automatic-speech-recognition
|
||||
tags:
|
||||
- wav2vec2
|
||||
- speech
|
||||
- russian
|
||||
- children
|
||||
- ctc
|
||||
- forced-alignment
|
||||
- pronunciation
|
||||
- phonetics
|
||||
datasets:
|
||||
- dysata/rwords
|
||||
model-index:
|
||||
- name: Wav2Vec2-Ru-Child
|
||||
results: []
|
||||
---
|
||||
|
||||
# Wav2Vec2-Ru-Child
|
||||
|
||||
Модель автоматического распознавания речи (ASR) для русского языка, дообученная на записях детского чтения.
|
||||
|
||||
## Model Details
|
||||
|
||||
### Architecture
|
||||
|
||||
- **Base model:** wav2vec2-large
|
||||
- **Architecture:** `Wav2Vec2ForCTC`
|
||||
- **Hidden size:** 1024
|
||||
- **Layers:** 24 transformer layers
|
||||
- **Attention heads:** 16
|
||||
- **Parameters:** ~317M
|
||||
- **Vocabulary:** 37 токенов (33 буквы русского алфавита + 4 служебных)
|
||||
- **CTC loss:** mean reduction
|
||||
|
||||
### Intended Use
|
||||
|
||||
Модель предназначена для:
|
||||
- Распознавания русской детской речи
|
||||
- Forced alignment (выравнивание текста по аудио на уровне букв)
|
||||
- Анализа произношения — выявление ошибок в детском чтении
|
||||
- Классификации качества произношения отдельных звуков (например, звука "Р")
|
||||
|
||||
## How to Use
|
||||
|
||||
### Speech Recognition
|
||||
|
||||
```python
|
||||
import torch
|
||||
import librosa
|
||||
from transformers import Wav2Vec2Processor, Wav2Vec2ForCTC
|
||||
|
||||
processor = Wav2Vec2Processor.from_pretrained("dysata/Wav2Vec2-Ru-Child")
|
||||
model = Wav2Vec2ForCTC.from_pretrained("dysata/Wav2Vec2-Ru-Child")
|
||||
|
||||
audio, sr = librosa.load("audio.wav", sr=16000)
|
||||
|
||||
processed = processor([audio], sampling_rate=16000,
|
||||
return_tensors="pt", padding="longest")
|
||||
|
||||
with torch.no_grad():
|
||||
logits = model(processed.input_values,
|
||||
attention_mask=processed.attention_mask).logits
|
||||
|
||||
predicted_ids = torch.argmax(logits, dim=-1)
|
||||
transcription = processor.decode(predicted_ids[0])
|
||||
print(transcription)
|
||||
```
|
||||
|
||||
### Forced Alignment
|
||||
|
||||
Модель может использоваться для побуквенного выравнивания эталонного текста по аудио через CTC forced alignment (trellis + backtrack + merge_repeats). Это позволяет определить временные границы каждой буквы в записи.
|
||||
|
||||
### Hidden States для классификации
|
||||
|
||||
```python
|
||||
with torch.no_grad():
|
||||
outputs = model(processed.input_values,
|
||||
attention_mask=processed.attention_mask,
|
||||
output_hidden_states=True, return_dict=True)
|
||||
last_hidden_state = outputs.hidden_states[-1] # [batch, frames, 1024]
|
||||
```
|
||||
|
||||
Вектора последнего скрытого слоя (1024-мерные) могут быть использованы как признаки для классификации качества произношения отдельных звуков.
|
||||
|
||||
## Training
|
||||
|
||||
Модель дообучена на записях детского чтения на русском языке. Аудиозаписи преобразованы в формат WAV 16 кГц и вручную оттранскрибированы.
|
||||
|
||||
## Technical Specifications
|
||||
|
||||
| Parameter | Value |
|
||||
|---|---|
|
||||
| Sample rate | 16 kHz |
|
||||
| Feature extractor | 7-layer CNN |
|
||||
| Transformer layers | 24 |
|
||||
| Hidden size | 1024 |
|
||||
| Vocab size | 37 |
|
||||
| Precision | float32 |
|
||||
| Format | Safetensors |
|
||||
|
||||
## Vocabulary
|
||||
|
||||
Алфавит модели: `<pad>`, `<s>`, `</s>`, `<unk>`, `|` (разделитель слов), а-я (33 буквы русского алфавита).
|
||||
|
||||
## Limitations
|
||||
|
||||
- Модель обучена на детской речи и может показывать худшие результаты на взрослой речи
|
||||
- Только русский язык
|
||||
- Оптимальное качество на записях в формате WAV 16 кГц
|
||||
|
||||
## Citation
|
||||
|
||||
```bibtex
|
||||
@misc{wav2vec2-ru-child,
|
||||
author = {Павел Рудич},
|
||||
title = {Wav2Vec2-Ru-Child: Russian Children's Speech Recognition Model},
|
||||
year = {2025},
|
||||
publisher = {Hugging Face},
|
||||
url = {https://huggingface.co/dysata/Wav2Vec2-Ru-Child}
|
||||
}
|
||||
```
|
||||
|
||||
## Funding
|
||||
|
||||
Фонд содействия инновациям (fasie).
|
||||
Reference in New Issue
Block a user