Kkonjeong's picture
Update README.md
fa03d1a verified
|
raw
history blame
5.36 kB
---
library_name: transformers
datasets:
- kresnik/zeroth_korean
language:
- ko
metrics:
- cer
---
# Model Card for wav2vec2-base-korean
## Model Details
### Model Description
This model is a fine-tuned version of Facebook's wav2vec2-base model, adapted for Korean language recognition using the Zeroth-Korean dataset. The model has been trained to transcribe Korean speech into text, specifically utilizing the unique jamo characters of the Korean language.
- **Developed by:** [jeonghyeon Park, Jaeyoung Kim]
- **Model type:** Speech-to-Text
- **Language(s) (NLP):** Korean
- **License:** Apache 2.0
- **Finetuned from model [optional]:** facebook/wav2vec2-base
### Model Sources
- **Repository:** [github.com/KkonJJ/wav2vec2-base-korean]
## Uses
### Direct Use
The model can be directly used for transcribing Korean speech to text without additional fine-tuning. It is particularly useful for applications requiring accurate Korean language recognition such as voice assistants, transcription services, and language learning tools.
### Downstream Use [optional]
This model can be integrated into larger systems that require speech recognition capabilities, such as automated customer service, voice-controlled applications, and more.
### Out-of-Scope Use
This model is not suitable for recognizing languages other than Korean or for tasks that require understanding context beyond the transcription of spoken Korean.
## Bias, Risks, and Limitations
### Recommendations
Users should be aware of the limitations of the model, including potential biases in the training data which may affect the accuracy for certain dialects or speakers. It is recommended to evaluate the model's performance on a representative sample of the intended application domain.
## How to Get Started with the Model
To get started with the model, use the code below:
```python
!pip install transformers[torch] accelerate -U
!pip install datasets torchaudio -U
!pip install jiwer jamo
!pip install tensorboard
import torch
from transformers import Wav2Vec2ForCTC, Wav2Vec2Processor
import torchaudio
from jamo import h2j, j2hcj
model_name = "Kkonjeong/wav2vec2-base-korean"
model = Wav2Vec2ForCTC.from_pretrained(model_name)
processor = Wav2Vec2Processor.from_pretrained(model_name)
model.to("cuda")
model.eval()
def load_and_preprocess_audio(file_path):
speech_array, sampling_rate = torchaudio.load(file_path)
if sampling_rate != 16000:
resampler = torchaudio.transforms.Resample(sampling_rate, 16000)
speech_array = resampler(speech_array)
input_values = processor(speech_array.squeeze().numpy(), sampling_rate=16000).input_values[0]
return input_values
def predict(file_path):
input_values = load_and_preprocess_audio(file_path)
input_values = torch.tensor(input_values).unsqueeze(0).to("cuda")
with torch.no_grad():
logits = model(input_values).logits
predicted_ids = torch.argmax(logits, dim=-1)
transcription = processor.batch_decode(predicted_ids)[0]
return transcription
audio_file_path = "your_audio_file.wav"
transcription = predict(audio_file_path)
print("Transcription:", transcription)
```
## Training Details
### Training Data
The model was trained using the Zeroth-Korean dataset, a collection of Korean speech data. This dataset includes audio recordings and their corresponding transcriptions.
### Training Procedure
#### Preprocessing
Special characters were removed from the transcriptions, and the text was converted to jamo characters to better align with the Korean language's phonetic structure.
#### Training Hyperparameters
- **Training regime:** Mixed precision (fp16)
- **Batch size:** 32
- **Learning rate:** 1e-4
- **Number of epochs:** 10
## Evaluation
### Testing Data, Factors & Metrics
#### Testing Data
The model was evaluated using the test split of the Zeroth-Korean dataset.
#### Metrics
The primary evaluation metric used was the Character Error Rate (CER), which measures the percentage of characters that are incorrect in the transcription compared to the reference text.
### Results
- **Final CER:** 0.073
#### Summary
The model achieved a CER of 7.3%, indicating good performance on the Zeroth-Korean dataset.
## Environmental Impact
Carbon emissions can be estimated using the [Machine Learning Impact calculator](https://mlco2.github.io/impact#compute).
- **Hardware Type:** NVIDIA A100
- **Hours used:** Approximately 8hours
## Technical Specifications
### Model Architecture and Objective
The model architecture is based on wav2vec2.0, designed to convert audio input into text output by modeling the phonetic structure of speech.
### Compute Infrastructure
#### Hardware
- **GPUs:** NVIDIA A100
#### Software
- **Framework:** PyTorch
- **Libraries:** Transformers, Datasets, Torchaudio, Jiwer, Jamo
**BibTeX:**
```bibtex
@misc{your_bibtex_key,
author = {Your Name},
title = {wav2vec2-base-korean},
year = {2024},
publisher = {Hugging Face},
note = {https://huggingface.co/Kkonjeong/wav2vec2-base-korean}
}
```
**APA:**
Your Name. (2024). wav2vec2-base-korean. Hugging Face. https://huggingface.co/Kkonjeong/wav2vec2-base-korean
## Model Card Authors [optional]
[jeonghyeon Park, Jaeyoung Kim]
## Model Card Contact
For more information, contact [shshjhjh4455@gmail.com, kbs00717@gmail.com].