galsenai/WaxalNLP
Google WaxalNLP Wolof Re-alignment Google introduced WAXAL, a new open dataset for 21 African languages, to tackle data scarcity and build inclusive speech technology. However, the Wolof language has experienced alignment issues between the audio files and their transcriptions, making the dataset unusable. We therefore propose to correct this using a simple and effective approach: For each audio clip, we generated a transcription using Google Gemini ASR. For each generated… See the full description on the dataset page: https://huggingface.co/datasets/galsenai/WaxalNLP.
Google WaxalNLP Wolof Re-alignment
Google introduced `WAXAL`, a new open dataset for 21 African languages, to tackle data scarcity and build inclusive speech technology. However, the Wolof language has experienced alignment issues between the audio files and their transcriptions, making the dataset unusable.
We therefore propose to correct this using a simple and effective approach:
- For each audio clip, we generated a transcription using Google Gemini ASR.
- For each generated transcription, we calculated the Levenshtein distance with all the initial transcriptions.
- The lowest distance obtained indicates the most similar initial transcription to the one generated by the ASR.
- The index corresponding to this initial transcription is the correct index that will be used to correct the misalignment.
We also identified a couple of corrupted files during the process that could not be read. As part of this filtering process:
171samples were removed from thetrainsplit20samples were removed from thetestsplit22samples were removed from thevalidationsplit
Leaving the final dataset with the following stats:
DatasetDict({
train: Dataset({
features: ['id', 'speaker_id', 'locale', 'gender', 'audio', 'text'],
num_rows: 834
})
test: Dataset({
features: ['id', 'speaker_id', 'locale', 'gender', 'audio', 'text'],
num_rows: 111
})
validation: Dataset({
features: ['id', 'speaker_id', 'locale', 'gender', 'audio', 'text'],
num_rows: 97
})
})NOTE: Some audio files show a duration of 00:00/00:00 in the HuggingFace player but play properly once loaded into your script.Dataset duration
Grouping by split:
Grouping by speaker id:
The speakers' genders were missing from the initial dataset and were marked asunknown. To correct this, we started by grouping the audio files byspeaker_id, then listened to samples from each speaker to manually determine their gender. We ended up identifying06genders:02males and04females.
Load the dataset
You can download the dataset with the following script:
from huggingface_hub import snapshot_download
snapshot_download(
repo_id = "galsenai/WaxalNLP",
repo_type = "dataset",
allow_patterns = "data/*.parquet",
local_dir = "./waxal_wol"
)And then load the dataset with the following:
from datasets import load_dataset
dataset = load_dataset("parquet", data_files={
"train": "waxal_wol/data/train-*.parquet",
"test": "waxal_wol/data/test-*.parquet",
"validation": "waxal_wol/data/validation-*.parquet",
})
print(dataset)The notebook used to make these corrections is available on Google Colab to help you fix similar issues in your language, pending the upcoming fixes planned by the Waxal project team.
This work has been carried out by Derguene, with Abdou Aziz who helped to identify the misalignment issue.
