初始化项目,由ModelHub XC社区提供模型

Model: m3hrdadfi/wav2vec2-large-xlsr-persian-v3
Source: Original Platform
This commit is contained in:
ModelHub XC
2026-05-28 10:22:22 +08:00
commit e6d9d3b71e
16 changed files with 9769 additions and 0 deletions

17
.gitattributes vendored Normal file
View File

@@ -0,0 +1,17 @@
*.bin.* filter=lfs diff=lfs merge=lfs -text
*.lfs.* filter=lfs diff=lfs merge=lfs -text
*.bin filter=lfs diff=lfs merge=lfs -text
*.h5 filter=lfs diff=lfs merge=lfs -text
*.tflite filter=lfs diff=lfs merge=lfs -text
*.tar.gz filter=lfs diff=lfs merge=lfs -text
*.ot filter=lfs diff=lfs merge=lfs -text
*.onnx filter=lfs diff=lfs merge=lfs -text
*.arrow filter=lfs diff=lfs merge=lfs -text
*.ftz filter=lfs diff=lfs merge=lfs -text
*.joblib filter=lfs diff=lfs merge=lfs -text
*.model filter=lfs diff=lfs merge=lfs -text
*.msgpack filter=lfs diff=lfs merge=lfs -text
*.pb filter=lfs diff=lfs merge=lfs -text
*.pt filter=lfs diff=lfs merge=lfs -text
*.pth filter=lfs diff=lfs merge=lfs -text
*tfevents* filter=lfs diff=lfs merge=lfs -text

236
README.md Normal file
View File

@@ -0,0 +1,236 @@
---
language: fa
datasets:
- common_voice
tags:
- audio
- automatic-speech-recognition
- speech
- xlsr-fine-tuning-week
widget:
- example_title: Common Voice sample 1
src: https://huggingface.co/m3hrdadfi/wav2vec2-large-xlsr-persian-v3/resolve/main/sample1.flac
- example_title: Common Voice sample 2978
src: https://huggingface.co/m3hrdadfi/wav2vec2-large-xlsr-persian-v3/resolve/main/sample2978.flac
- example_title: Common Voice sample 5168
src: https://huggingface.co/m3hrdadfi/wav2vec2-large-xlsr-persian-v3/resolve/main/sample5168.flac
model-index:
- name: XLSR Wav2Vec2 Persian (Farsi) V3 by Mehrdad Farahani
results:
- task:
name: Speech Recognition
type: automatic-speech-recognition
dataset:
name: Common Voice fa
type: common_voice
args: fa
metrics:
- name: Test WER
type: wer
value: 10.36
---
# Wav2Vec2-Large-XLSR-53-Persian V3
## Usage
Fine-tuned [facebook/wav2vec2-large-xlsr-53](https://huggingface.co/facebook/wav2vec2-large-xlsr-53) in Persian (Farsi) using [Common Voice](https://huggingface.co/datasets/common_voice). When using this model, make sure that your speech input is sampled at 16kHz.
**Requirements**
```bash
# requirement packages
!pip install git+https://github.com/huggingface/datasets.git
!pip install git+https://github.com/huggingface/transformers.git
!pip install torchaudio
!pip install librosa
!pip install jiwer
!pip install parsivar
!pip install num2fawords
```
**Normalizer**
```bash
# Normalizer
!wget -O normalizer.py https://huggingface.co/m3hrdadfi/"wav2vec2-large-xlsr-persian-v3/raw/main/dictionary.py
!wget -O normalizer.py https://huggingface.co/m3hrdadfi/"wav2vec2-large-xlsr-persian-v3/raw/main/normalizer.py
```
**Downloading data**
```bash
wget https://voice-prod-bundler-ee1969a6ce8178826482b88e843c335139bd3fb4.s3.amazonaws.com/cv-corpus-6.1-2020-12-11/fa.tar.gz
tar -xzf fa.tar.gz
rm -rf fa.tar.gz
```
**Cleaning**
```python
from normalizer import normalizer
def cleaning(text):
if not isinstance(text, str):
return None
return normalizer({"sentence": text}, return_dict=False)
data_dir = "/content/cv-corpus-6.1-2020-12-11/fa"
test = pd.read_csv(f"{data_dir}/test.tsv", sep=" ")
test["path"] = data_dir + "/clips/" + test["path"]
print(f"Step 0: {len(test)}")
test["status"] = test["path"].apply(lambda path: True if os.path.exists(path) else None)
test = test.dropna(subset=["path"])
test = test.drop("status", 1)
print(f"Step 1: {len(test)}")
test["sentence"] = test["sentence"].apply(lambda t: cleaning(t))
test = test.dropna(subset=["sentence"])
print(f"Step 2: {len(test)}")
test = test.reset_index(drop=True)
print(test.head())
test = test[["path", "sentence"]]
test.to_csv("/content/test.csv", sep=" ", encoding="utf-8", index=False)
```
**Prediction**
```python
import numpy as np
import pandas as pd
import librosa
import torch
import torchaudio
from transformers import Wav2Vec2ForCTC, Wav2Vec2Processor
from datasets import load_dataset, load_metric
import IPython.display as ipd
model_name_or_path = "m3hrdadfi/wav2vec2-large-xlsr-persian-v3"
device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
print(model_name_or_path, device)
processor = Wav2Vec2Processor.from_pretrained(model_name_or_path)
model = Wav2Vec2ForCTC.from_pretrained(model_name_or_path).to(device)
def speech_file_to_array_fn(batch):
speech_array, sampling_rate = torchaudio.load(batch["path"])
speech_array = speech_array.squeeze().numpy()
speech_array = librosa.resample(np.asarray(speech_array), sampling_rate, processor.feature_extractor.sampling_rate)
batch["speech"] = speech_array
return batch
def predict(batch):
features = processor(
batch["speech"],
sampling_rate=processor.feature_extractor.sampling_rate,
return_tensors="pt",
padding=True
)
input_values = features.input_values.to(device)
attention_mask = features.attention_mask.to(device)
with torch.no_grad():
logits = model(input_values, attention_mask=attention_mask).logits
pred_ids = torch.argmax(logits, dim=-1)
batch["predicted"] = processor.batch_decode(pred_ids)
return batch
dataset = load_dataset("csv", data_files={"test": "/content/test.csv"}, delimiter=" ")["test"]
dataset = dataset.map(speech_file_to_array_fn)
result = dataset.map(predict, batched=True, batch_size=4)
```
**WER Score**
```python
wer = load_metric("wer")
print("WER: {:.2f}".format(100 * wer.compute(predictions=result["predicted"], references=result["sentence"])))
```
**Output**
```python
max_items = np.random.randint(0, len(result), 20).tolist()
for i in max_items:
reference, predicted = result["sentence"][i], result["predicted"][i]
print("reference:", reference)
print("predicted:", predicted)
print('---')
```
```text
reference: ماجرا رو براش تعریف کردم اون گفت مریم اگه میدونی پسر خوبیه خب چه اشکالی داره با‌هاش بیش‌تر اشنا بشو
predicted: ماجرا رو براش تعریف کردم اون گفت مریم اگه میدونی پسر خوبیه خب چه اشکالی داره با‌هاش بیش‌تر اشنا بشو
---
reference: بیا پایین تو اجازه نداری بری اون بالا
predicted: بیا پایین تو اجازه نداری بری اون بالا
---
reference: هر روز یک دو مداد کش می رفتتم تااین که تا پایان ترم از تمامی دوستانم مداد برداشته بودم
predicted: هر روز یک دو مداد کش می رفتم تااین که تا پایین ترم از تمامی دوستان و مداد برداشته بودم
---
reference: فکر میکنی آروم میشینه
predicted: فکر میکنی آروم میشینه
---
reference: هرکسی با گوشی هوشمند خود میتواند با کایلا متصل گردد در یک محدوده مکانی
predicted: هرکسی با گوشی هوشمند خود میتواند با کایلا متصل گردد در یک محدوده مکانی
---
reference: برو از مهرداد بپرس
predicted: برو از مهرداد بپرس
---
reference: می خواهم شما را با این قدم‌ها آشنا کنم
predicted: می خواهم شما را با این قدم‌ها آشنا کنم
---
reference: میدونم یه روز دوباره می تونم تو رو ببینم
predicted: میدونم یه روز دوباره می تونم تو رو ببینم
---
reference: بسیار خوب خواهد بود دعوت او را بپذیری
predicted: بسیار خوب خواهد بود دعوت او را بپذیری
---
reference: بهت بگن آشغالی خوبه
predicted: بهت بگن آشغالی خوبه
---
reference: چرا معاشرت با هم ایمانان ما را محفوظ نگه میدارد
predicted: چرا معاشرت با هم ایمانان آ را م حفوظ نگه میدارد
---
reference: بولیوی پس از گویان فقیر‌ترین کشور آمریکای جنوبی است
predicted: بولیوی پس از گویان فقیر‌ترین کشور آمریکای جنوبی است
---
reference: بعد از مدتی اینکار برایم عادی شد
predicted: بعد از مدتی اینکار برایم عادو شد
---
reference: به نظر اون هم همینطوره
predicted: به نظر اون هم همینطوره
---
reference: هیچ مایونز ی دارید
predicted: هیچ مایونز ی دارید
---
reference: هیچ یک از انان کاری به سنگ نداشتند
predicted: هیچ شک از انان کاری به سنگ نداشتند
---
reference: می خواهم کمی کتاب شعر ببینم
predicted: می خواهم کتاب شعر ببینم
---
reference: همین شوهر فهیمه مگه نمی گفتی فرمانده بوده کو
predicted: همین شوهر فهیمه بینامی گفتی فهمانده بود کو
---
reference: اون جا‌ها کسی رو نمیبینی که تو دستش کتاب نباشه
predicted: اون جا‌ها کسی رو نمیبینی که تو دستش کتاب نباشه
---
reference: زندان رفتن من در این سال‌های اخیر برام شانس بزرگی بود که معما و مشکل چندین سال‌هام را حل کرد
predicted: زندان رفتن من در این سال‌ها اخی براب شانس بزرگی بود که معما و مشکل چندین سال‌هام را حل کرد
---
```
## Evaluation
**Test Result:**
- WER: 10.36%

76
config.json Normal file
View File

@@ -0,0 +1,76 @@
{
"_name_or_path": "facebook/wav2vec2-large-xlsr-53",
"activation_dropout": 0.09216,
"apply_spec_augment": true,
"architectures": [
"Wav2Vec2ForCTC"
],
"attention_dropout": 0.05316,
"bos_token_id": 1,
"conv_bias": true,
"conv_dim": [
512,
512,
512,
512,
512,
512,
512
],
"conv_kernel": [
10,
3,
3,
3,
3,
2,
2
],
"conv_stride": [
5,
2,
2,
2,
2,
2,
2
],
"ctc_loss_reduction": "mean",
"ctc_zero_infinity": true,
"do_stable_layer_norm": true,
"eos_token_id": 2,
"feat_extract_activation": "gelu",
"feat_extract_dropout": 0.0,
"feat_extract_norm": "layer",
"feat_proj_dropout": 0.01249,
"final_dropout": 0.0,
"gradient_checkpointing": true,
"hidden_act": "gelu",
"hidden_dropout": 0.01941,
"hidden_size": 1024,
"initializer_range": 0.02,
"intermediate_size": 4096,
"layer_norm_eps": 1e-05,
"layerdrop": 0.01377,
"mask_channel_length": 10,
"mask_channel_min_space": 1,
"mask_channel_other": 0.0,
"mask_channel_prob": 0.0,
"mask_channel_selection": "static",
"mask_feature_length": 10,
"mask_feature_prob": 0.0,
"mask_time_length": 10,
"mask_time_min_space": 1,
"mask_time_other": 0.0,
"mask_time_prob": 0.04529,
"mask_time_selection": "static",
"model_type": "wav2vec2",
"num_attention_heads": 16,
"num_conv_pos_embedding_groups": 16,
"num_conv_pos_embeddings": 128,
"num_feat_extract_layers": 7,
"num_hidden_layers": 24,
"pad_token_id": 0,
"transformers_version": "4.6.0.dev0",
"vocab_size": 40
}

664
dictionary.py Normal file
View File

@@ -0,0 +1,664 @@
dictionary_mapping = {
'ك': 'ک', 'دِ': 'د', 'بِ': 'ب', 'زِ': 'ز', 'ذِ': 'ذ', 'شِ': 'ش', 'سِ': 'س', 'ى': 'ی',
'ي': 'ی', 'أ': 'ا', 'ؤ': 'و', "ے": "ی", "ۀ": "ه", "": "پ", "": "ک", "": "ی",
"": "ا", "": "ب", "": "ت", "": "خ", "": "د", "": "س", "": "ض", "": "ع",
"": "ل", "": "م", "": "م", "": "ه", "": "و", '': "ا", 'ة': "ه",
'': "ی", 'ﯿ': "ی", '': "ب", '': "ت", '': "د", '': "ر", '': "س", '': "ش",
'': "ش", '': "ع", '': "م", '': "ن", '': "ن", '': "و", '': "ر", "": "گ",
"a": "‌ای‌", "b": "‌بی‌", "c": "‌سی‌", "d": "‌دی‌", "e": "‌ایی‌", "f": "‌اف‌",
"g": "‌جی‌", "h": "‌اچ‌", "i": "‌آی‌", "j": "‌جی‌", "k": "‌کی‌", "l": "‌ال‌",
"m": "‌ام‌", "n": "‌ان‌", "o": "‌او‌", "p": "‌پی‌", "q": "‌کیو‌", "r": "‌آر‌",
"s": "‌اس‌", "t": "‌تی‌", "u": "‌یو‌", "v": "‌وی‌", "w": "‌دبلیو‌", "x": "‌اکس‌",
"y": "‌وای‌", "z": "‌زد ",
"\u200c": " ", "\u200d": " ", "\u200e": " ", "\u200f": " ", "\ufeff": " ",
"نو آوری‌مان": "نو‌آوری‌مان",
"نو آوری مان": "نو‌آوری‌مان",
"نو آوریمان": "نو‌آوری‌مان",
" ا م ": "‌ام ",
" م ": "‌ام ",
"کنندهای": "کننده‌ای",
"ارائهای": "ارائه‌ای",
"ایدهای": "ایده‌ای",
"ماسهای": "ماسه‌ای",
"خامنهای": "خامنه‌ای",
"قلهای": "قله‌ای",
"سیارهای": "سیاره‌ای",
"کیسهای": "کیسه‌ای",
"شانهای": "شانه‌ای",
"غریبهای": "غریبه‌ای",
"برنامهای": "برنامه‌ای",
"سختگیرانهای": "سختگیرانه‌ای",
"بهانهای": "بهانه‌ای",
"زیرروالهای": "زیر روالهای",
"درهای": "دره‌ای",
"آمادهای": "آماده‌ای",
"سادهای": "ساده‌ای",
"سرمایهگذارهای": "سرمایه گذارهای",
"فوقالعادهای": "فوق‌العاده‌ای",
"حادثهای": "حادثه‌ای",
"نویسندههای": "نویسنده‌های",
"علاقهای": "علاقه‌ای",
"برجستهای": "برجسته‌ای",
"جلگهای": "جلگه‌ای",
"زندهای": "زنده‌ای",
"فنآوریهای": "فناوری‌های",
"سایهروشنهای": "سایه روشن‌های",
"بیسابقهای": "بی سابقه‌ای",
"فرضیهای": "فرضیه‌ای",
"راهاندازهای": "راه اندازهای",
"بیشهای": "بیشه‌ای",
"مقالهای": "مقاله‌ای",
"دیگهای": "دیگه‌ای",
"ماههاست": "ماه هاست",
"نرمافزارهای": "نرم‌افزارهای",
"کتابسوزانهای": "کتاب سوزان‌های",
"سیستمعاملهای": "سیستم عامل‌های",
"اسلحهای": "اسلحه‌ای",
"وقفهای": "وقفه‌ای",
"زمینهای": "زمینه‌ای",
"حرامزادههای": "حرامزاده‌های",
"هزینهای": "هزینه‌ای",
"انداختهای": "انداخته‌ای",
"جسورانهای": "جسورانه‌ای",
"فاجعهای": "فاجعه‌ای",
"جامعهای": "جامعه‌ای",
"پدیدهای": "پدیده‌ای",
"اغواگرانهای": "اغواگرانه‌ای",
"تکانهای": "تکانه‌ای",
"لولهای": "لوله‌ای",
"نشانهای": "نشانه‌ای",
"وسیلهای": "وسیله‌ای",
"آیندهای": "آینده‌ای",
"بردهای": "برده‌ای",
"سابقهای": "سابقه‌ای",
"ناحیهای": "ناحیه‌ای",
"تکاندهندهای": "تکان دهنده‌ای",
"بودجهای": "بودجه‌ای",
"روزانهای": "روزانه‌ای",
"چارهای": "چاره‌ای",
"انگیزهای": "انگیزه‌ای",
"دادهای": "داده‌ای",
"عدهای": "عده‌ای",
"هفتهای": "هفته‌ای",
"منطقهای": "منطقه‌ای",
"استارتآپهای": "استارتاپ‌های",
"سازهای": "سازه‌ای",
"مجموعهای": "مجموعه‌ای",
"فلسفهای": "فلسفه‌ای",
"تذکردهندهای": "تذکر دهنده‌ای",
"مصاحبهای": "مصابحه‌ای",
"نمونهای": "نمونه‌ای",
"قلمموهای": "قلم مو‌های",
"شبزندهداری": "شب زنده‌داری",
"خوردهباشد": "خورده باشد",
"داشتهباشید": "داشته باشید",
"فزایندهای": "فزاینده‌ای",
"عمدهای": "عمده‌ای",
"بدیهایی": "بدی‌های",
"نوشت‌هایم": "نوشته‌ایم",
"بنتالهدی": "بنت الهدی",
"نوشتهام": "نوشته‌ام",
"سرمایهگذاران": "سرمایه گذاران",
"خانهی": "خانه‌ی",
"گستاخانهی": "گستاخانه‌ی",
"گرفتهباشیم": "گرفته باشیم",
"خونهی": "خونه‌ی",
"داشتهام": "داشته‌ام",
"رشتهام": "رشته‌ام",
"سرمایهگذارانشان": "سرمایه گذارانشان",
"ریشهکنی": "ریشه‌کنی",
"مودبانهتری": "مودبانه‌تری",
"برگردانشدهاند": "برگردان شده‌اند",
"قرمهسبزی": "قرمه‌سبزی",
"راهجویی": "راه جویی",
"اماهیچوقت": "اما هیچوقت",
"آبوهوای": "آب و هوای",
"بقیهاش": "بقیه‌اش",
"طبقهبندی": "طبقه‌بندی",
"مردههان": "مرده هان",
"آمادهاند": "آماده‌اند",
"نشدهاید": "نشده‌اید",
"آگاهیرسانی": "آگاهی رسانی",
"نداشتهاند": "نداشته‌اند",
"شکنانهترین": "شکنانه‌ترین",
"اقدامهایی": "اقدام‌هایی",
"راهآهن": "راه آهن",
"شدهاند": "شده‌اند",
"تازهترین": "تازه‌ترین",
"روبهروی": "رو به روی",
"منحصربهفرد": "منحصر به فرد",
"سیزدهبدر": "سیزده بدر",
"برندهی": "برنده‌ی",
"خانهاشتراکی": "خانه اشتراکی",
"دادههایی": "داده‌هایی",
"استفادهتر": "استفاده‌تر",
"گذرنامهتان": "گذرنامه‌تان",
"کهنترین": "کهنه‌ترین",
"فرهنگسرا": "فرهنگ‌سرا",
"آمادهاید": "آماده‌اید",
"ویژهی": "ویژه‌ی",
"غریزهات": "غریزه‌ات",
"مادرشوهری": "مادر شوهری",
"نبودهام": "نبوده‌ام",
"بودهاند": "بوده‌اند",
"وتنها": "و تنها",
"بداههکاری": "بداهه‌کاری",
"سرمایهگذار": "سرمایه گذار",
"برنامهنویس": "برنامه نویس",
"مهنازخانم": "مهناز خانم",
"مواجهاند": "مواجه‌اند",
"توسعهاش": "توسعه‌اش",
"سینهام": "سینه‌ام",
"سین‌هام": "سینه‌ام",
"نمیخواهند": "نمیخواهند",
"فنآوری‌ها": "فناوری‌ها",
"دنبالهرو": "دنباله‌رو",
"لبهی": "لبه‌ی",
"اللهیار": "الله یار",
"ارزندهتر": "ارزنده‌تر",
"برههای": "بره‌ای",
"پیادهسازی": "پیاده‌سازی",
"دهسالگی": "ده سالگی",
"رسانهای": "رسانه‌ای",
"ریشسفیدها": "ریش سفید‌ها",
"چهجوری": "چه جوری",
"ویژگیهایی": "ویژگی‌هایی",
"می‌فهمی‌م": "میفهمیم",
"وبهم": "و بهم",
"قطرهای": "قطره‌ای",
"ازتنهایی": "از تنهایی",
"لطیفهای": "لطیفه‌ای",
"باشهاومدم": "باشه اومدم",
"منحصربهفردترین": "منحصر به فرد‌ترین",
"کردهاند": "کرده‌اند",
"اندازهای": "اندازه‌ای",
"بهرهبرداری": "بهره برداری",
"اماشوهرجان": "اما شوهر جان",
"خانوادهاش": "خانواده‌اش",
"نشدهاند": "نشده‌اند",
"نکردهایم": "نکرده‌ایم",
"تخممرغ‌هایش": "تخم مرغ‌هایش",
"وظیفهش": "وظیفه‌اش",
"مشگینشهر": "مشگی شهر",
"توسعهدهندگانش": "توسعه دهندگانش",
"امینابراهیم": "امین ابراهیم",
"دربارهاش": "درباره‌اش",
"میانافزارها": "میان‌افزارها",
"دیدهاند": "دیده‌اند",
"خانوادهام": "خانواده‌ام",
"مایهی": "مایه‌ی",
"نوشتهشدن": "نوشته شدن",
"راهحل‌هایشان": "راه حل‌هایشان",
"میهماننواز": "میهمان نواز",
"زیبندهی": "زیرنده‌ی",
"راههایی": "راه‌هایی",
"جربزهی": "جربزه‌ی",
"بهجا": " به جا",
"بطورهمزمان": "به طور همزمان",
"فهمیدهبود": "فهمیده بود",
"دوربرگردان‌ها": "دور برگردان‌ها",
"شالودهی": "شالوده‌ی",
"راهکاریی": "راه‌کاری",
"مخالفتهایی": "مخالفت‌هایی",
"چیزهاازشون": "چیزها ازشون",
"سکونتگاه‌های": "سکونت گاه‌های",
"سالهابود": "سال‌ها بود",
"نمونهی": "نمونه‌ی",
"سرمایهگذاری": "سرمایه گذاری",
"شبکهای": "شبکه‌ای",
"خواهرشوهر": "خواهر شوهر",
"سرگیجهآور": "سرگیجه آور",
"آستانهی": "آستانه‌ی",
"دادهاست": "داده است",
"مجسمهسازی": "مجسمه سازی",
"ماهرانهترین": "ماهرانه‌ترین",
"پنجشنبههایی": "پنجشنبه شب‌هایی",
"نرفنهام": "نرفته‌ام",
"قورمهسبزی": "قورمه سبزی",
"گذارهای": "گذاره‌ای",
"بندهخدا": "بنده خدا",
"روزنامهنگاران": "روزنامه نگاران",
"نقشهی": "نقشه‌ی",
"حملهی": "حمله‌ی",
"تکنیکهاست": "تکنیک هاست",
"نرمافزارهایمان": "نرم‌افرارهایمان",
"مادرشوهرم": "مادر شوهرم",
"ماهگیمون": "ماه گیمون",
"مادرشوهرمحترم": "مادر شوهر محترم",
"شوهرداری": "شوهر داری",
"سرمایهگذارها": "سرمایه گذارها",
"بهرهمند": "بهره‌مند",
"درمانهایی": "درمان‌هایی",
"عامدانهتر": "عامدانه‌تر",
"تازهوارد": "تازه وارد",
"مونتهویدئو": "مونته ویدئو",
"ذائق‌هاش": "ذائقه‌اش",
"گوشهگیرتر": "گوشه‌گیرتر",
"دنبالهدار": "دنباله‌دار",
"بیخانمان‌ها": "بی‌خانمان‌ها",
"سرمایهدارها": "سرمایه‌دارها",
"مادرشوهریم": "مادر شوهریم",
"صبحان‌هاش": "صبحانه‌اش",
"جنازهست": "جنازه است",
"شمارهات": "شماره‌ای",
"بهقدری": "به قدری",
"کیسهی": "کیسه‌ی",
"کوششهایی": "کوشش‌هایی",
"مادرشوهر": "مادر شوهر",
"رابطهی": "رابطه‌ی",
"نوشتهاند": "نوشته‌اند",
"کنجکاوانهی": "کنجکاوانه‌ی",
"غیرمتعهد": "غیر متعهد",
"کردهای": "کرده‌ای",
"وهمکارانم": "و همکارانم",
"گردهمآیی": "گردهمایی",
"اللهوردی": "الله وردی",
"صرفهجویی": "صرفه جویی",
"ماندهاند": "مانده‌اند",
"برنامهنویسی": "برنامه‌نویسی",
"امینمهدی": "امین مهدی",
"سهامدارنی": "سهام دارانی",
"مسابقهی": "مسابقه‌ی",
"ستارهشناسم": "ستار شناسم",
"گرفتهاند": "گرفته‌اند",
"جامعهشان": "جامعه‌شان",
"بچهی": "بچه‌ی",
"شیوهی": "شیوه‌ی",
"بهکار": "به کار",
"بهتراست": "بهتر است",
"سروکلهشون": "سر و کلهشون",
"رسیدهمسرش": "رسید همسرش",
"پسراهل": "پسر اهل",
"پروژههای": "پروژه‌های",
"عاقلان‌هام": "عاقلانه‌ام",
"گذاشتهاند": "گذاشته‌اند",
"کردهام": "کرده‌ام",
"اندازهگیری": "اندازه گیری",
"یاوهگویی": "یاوه گویی",
"سازمانهایی": "سازمان‌هایی",
"نمودهاند": "نموده‌اند",
"تنهاییآور": "تنهایی آور",
"قراردهیم": "قرار دهیم",
"ازشوهرجان": "از شوهر جان",
"کرهجنوبی": "کره جنوبی",
"توهینآمیز": "توهین آمیز",
"فنآوریهایی": "فناوری‌هایی",
"داشتهاید": "داشته‌اید",
"شدهایم": "شده‌ایم",
"نمیفهمم": "نمیفهمم",
"مثالهایی": "مثال‌هایی",
"رییسجمهور": "رییس جمهور",
"مجموعهی": "مجموعه‌ی",
"درندهاند": "درنده‌اند",
"امابهش": "اما بهش",
"بازخواهند": "باز خواهند",
"برنامههایی": "برنامه‌هایی",
"یهجا": "یه جا",
"زگیلهایی": "زگیل‌هایی",
"وسیلهی": "وسیله‌ی",
"بهمنیار": "بهمن یار",
"دادهام": "داده‌ام",
"بههنگام": "به هنگام",
"بهدروغ": "به دروغ",
"دورافتادهترین": "دور افتاده‌ترین",
"نامهایی": "نامه‌ایی",
"سهقسمتی": "سه قسمتی",
"توجهازچیدن": "توجه از چیدن",
"پیامرسان‌ها": "پیام رسان‌ها",
"بهمنزاد": "بهمن زاد",
"نشانههایی": "نشانه‌هایی",
"راهحل‌های": "راه حل‌های",
"راهحلهایی": "راه حل‌هایی",
"راهحلهای": "راه حل‌های",
"نظرخواهی‌ها": "نظر خواهی‌ها",
"نظرخواهیها": "نظر خواهی‌ها",
"کندهی": "کنده‌ی",
"حرامزاده‌های": "حرام زاده‌های",
"شبیهسازیهایی": "شبیه سازی‌هایی",
"مهارتهایی": "مهارت‌هایی",
"روبهرویشان": "رو به رویشان",
"برجستهترین": "برجسته‌ترین",
"نمیفهمیدم": "نمیفهمیدم",
"دستگاههایی": "دستگاه‌هایی",
"برادرشوهر": "برادر شوهر",
"گرسن‌هام": "گرسته‌ام",
"گرسنههام": "گرسته‌ام",
"قهوهخوری": "قهوه خوری",
"دادهاید": "داده‌اید",
"بهآرامی": "به آرمانی",
"دانستنیهاست": "دانستنی‌هاست",
"بهراحتی": "به راحتی",
"ایدهپردازی": "ایده‌پردازی",
"ریشسفیدهای": "ریش سفید‌های",
"خفهمون": "خفه مون",
"بهجای": "به جای",
"ریزخشونت‌ها": "ریز خشونت‌ها",
"ریزخشونتها": "ریز خشونت‌ها",
"حساسیتهایی": "حساسیت‌هایی",
"پشتصحنهی": "پشت صحنه‌ی",
"کلهی": "کله‌ی",
"تاشوهرم": "تا شوهرم",
"آیندهاش": "آینده‌اش",
"پروانههایی": "پروانه‌هایی",
"خوبیهایی": "خوبی‌هایی",
"نرمافزارها": "نرم‌افزارها",
"رساندهاند": "رسانده‌اند",
"سرمایهگذارنی": "سرمایه گذارانی",
"تکهچسبانی": "تکه چسبانی",
"بیتوجهی": "بی توجهی",
"جاهطلبی": "جاه طلبی",
"پرغلغلهتان": "پر غلغله‌تان",
"خمینیشهر": "خمینی شهر",
"رشتهتوییت": "رشته توییت",
"موهبتهایی": "موهبت‌هایی",
"برنامهی": "برنامه‌ی",
"مادرشوهردارم": "مادر شوهر داردم",
"سیاهپوستان": "سیاه پوستان",
"شرکتهایی": "شرکت‌هایی",
"نیاوردهاند": "نیاورده‌اند",
"آنهم": "آن هم",
"شوهرداریم": "شوهر داریم",
"یکچهارم": "یک چهارم",
"پروندههاست": "پرونده هاست",
"برنامهت": "برنامه‌ات",
"چروکیدهمان": "چروکیده‌مان",
"زمینهسازی": "زمینه سازی",
"زدهاند": "زده‌اند",
"اظهارنظرپرداختن": "اظهار نظر پرداختن",
"صلحطلبانهترین": "صلح طلبانه‌ترین",
"بهغلط": "به غلط",
"ایدهآلم": "ایده آلم",
"سیاهکاران": "سیاه کاران",
"امیرابراهیم": "امیر ابراهیم",
"توسعهدهندگان": "توسعه دهندگان",
"لحظهی": "لحظه‌ی",
"امینطاها": "امین طاها",
"بینالنهرین": "بین النهرین",
"نیمهوقت": "نیمه وقت",
"پیادهروی": "پیاده روی",
"آلودهاند": "آلوده‌اند",
"گریهکرد": "گره کرد",
"نعمتهایی": "نعمت‌هایی",
"مادرشوهرشماهم": "مادر شوهر شما هم",
"آشپزخونهاس": "آشپزخونه‌اس",
"مسابقهها": "مسابقه‌ها",
"مسابقهای": "مسابقه‌های",
"برنامهریزی": "برنامه‌ریزی",
"بازخواهید": "باز خواهید",
"جوییما": "جویی ما",
"آماده ایم": "آماده‌ایم",
"مدلسازی": "مدل‌سازی",
"درصورتیکه": "در صورتیکه",
"آمریکاییات": "آمریکایی‌ات",
"مادریاش": "مادری‌اش",
"غافلگیرکننده": "غافلگیر کننده",
"پیکرتراشی": "پیکر تراشی",
"اذیتوآزار": "اذیت و آزار",
"امتیازاورترین": "امتیاز آور",
"جیکجیک": "جیک جیک",
"تاشب": "تا شب",
"کپیرایت": "کپی رایت",
"آنتیبادی": "آنتی بادی",
"عجیبتر": "عجیب‌تر",
"استانداردسازی": "استاندارد سازی",
"هشتادوهشت": "هشتاد و هشت",
"متنوعتر": "متنوع‌تر",
"منظورانجام": "منظور انجام",
"نگرانکننده‌ترین": "نگران کننده‌ترین",
"شگفتانگیز": "شگفت انگیز",
"رنگینپوست": "رنگین پوست",
"فارغ التحصیلان": "فارغ‌التحصیلان",
"ترسناکتر": "ترسناک‌تر",
"لا رامبلا": "لارامبلا",
"پرجمعیتترین": "پرجمعیت‌ترین",
"درمیآیند": "درمی‌آیند",
"باشمالکی": "باشم الکی",
"وسیعتر": "وسیع‌تر",
"فاحشهخانه": "فاحشه خانه",
"بااحتیاط": "با احتیاط",
"قانعکننده": "قانع‌کننده",
"انعطافپذیری": "انعطاف‌پذیری",
"بیتالمقدس": "بیت‌المقدس",
"اوپناستریتمپ": "اوپن استریت مپ",
"روزابارونی": "روزا بارونی",
"محافظهکارانه": "محافظه کارانه",
"فوتبالدستی": "فوتبال دستی",
"توسعهدهنده": "توسعه دهنده",
"قانونگزاران": "قانون گزاران",
"العسریسرا": "العسر یسرا",
"خارقالعاده": "خارق‌العاده",
"بیماریمزمن": "بیماری مزمن",
"بادوستانتان": "با دوستانتان",
"برابربیشتر": "برابر بیشتر",
"ارائهدهنده": "ارائه دهنده",
"طوفانزدگان": "طوفان زندگان",
"امینمحمد": "امین محمد",
"محیطزیست": "محیط زیست",
"شقیترینشان": "شقی‌ترینشان",
"بودواقعا": "بود واقعا",
"نیویورکتایمز": "نیویورک تایمز",
"ریودوژانیرو": "ریو دو ژانیرو",
"مشترکالمنافع": "مشترک‌المنافع",
"اسلایدسازم": "اسلاید سازم",
"نمیآوریدش": "نمی‌آوریدش",
"بینالملل": "بین‌الملل",
"مصرفکنندگان": "مصرف کنندگان",
"امینالدین": "امین الدین",
"امریکااینقدر": "امریکا اینقدر",
"بعضیاوقات": "بعضی اوقات",
"خاطربچه": "خاطر بچه",
"ایناکیلویی": "اینا کیلویی",
"ویکیپدیا": "ویکی‌پدیا",
"مافکرمیکنیم": "ما فکر میکنیم",
"انگلیسیزبان": "انگلیسی زبان",
"کلهشون": "کله‌شون",
"آدمبزرگی": "آرم بزرگی",
"مر آت مر آه": "مر‌آت مر‌آت",
"آسیبزد": "آسیب زد",
"آیآرسی": "آی آرسی",
"آسیااقیانوسیه": "آسیا اقیانوسیه",
"آیای": "آیا",
"میانجنسی": "میان جنسی",
"میاننسلی": "میان نسلی",
"میان‌افزار‌ها": "میان افزارها",
"آییننامه": "آیین‌نامه",
"ارائهشده": "ارائه‌شده",
"اشپزخونه": "آشپزخونه",
"اماعلتشونمیپرسه": "اما علتشو نمیپرسه",
"امیدوارکننده": "امیدوار کننده",
"ایالاتمتحده": "ایالات متحده",
"بااینکه": "با اینکه",
"بلندپروازانه": "بلند پروازانه",
"بهترازاینه": "بهتر از اینه",
"بهدست‌آمده": "به دست‌آمده",
"بهوسیله": "به وسیله",
"بیادبانه": "بی ادبانه",
"بیاندازه": "بی اندازه",
"بیصبرانه": "بی صبرانه",
"بیفایده": "بی فایده",
"بیمهره": "بی مهره",
"بینظیره": "بی نظیره",
"تاریخزده": "تاریخ زده",
"تهرانزده": "تهران زده",
"تولیدشده": "تولید شده",
"تولیدکننده": "تولید کننده",
"تکمیلشده": "تکمیل شده",
"جاافتاده": "جا افتاده",
"جمع‌آوریکننده": "جمع‌ آوری کننده",
"جورآدمیه": "جور آدمیه",
"حقالزحمه": "حق الزحمه",
"دخترونهتره": "دخترونه تره",
"دوپنجره": "دو پنجره",
"ذاتالریه": "ذات‌الریه",
"راسالخیمه": "راس‌الخیمه",
"رنگماده": "رنگ ماده",
"سوئاستفاده": "سو استفاده",
"سواستفاده": "سو استفاده",
"شبهجزیره": "شبه جزیره",
"صادرکننده": "صادر کننده",
"ضررداره": "ضرر داره",
"عابرپیاده": "عابر پیاده",
"فوقالعاده": "فوق‌العاده",
"قابلتوجه": "قابل توجه",
"قانع‌کننده": "قانع‌ کننده",
"مادربیچاره": "مادر بیچاره",
"مشخصشده": "مشخص شده",
"مصرفکننده": "مصرف کننده",
"مصیبتزده": "مصیب تزده",
"ناامیدکننده": "ناامید کننده",
"نیمفاصله": "نیم‌فاصله",
"هماهنگکننده": "هماهنگ کننده",
"همهجانبه": "همه جانبه",
"واردکننده": "وارد کننده",
"وخوابگاه": "و خوابگاه",
"ودستگاه": "و دستگاه",
"وزردچوبه": "و زردچوبه",
"وپروانه": "و پروانه",
"پدرخوانده": "پدر خوانده",
"چاپشده": "چاپ شده",
"کردته": "کرد ته",
"کردندکه": "کردند که",
"یکطرفه": "یک طرفه",
"پایینتره": "پایین‌تره",
"اشتراکگذاری": "اشتراک گذاری",
"انحصارگراناند": "انحصار گران‌اند",
"خوشحالییییی": "خوشحالی",
"همتیمی‌هایشان": "هم تیمی‌هایشان",
"پایدار‌ام‌باید": "پایدار‌ام ‌باید",
"پرجنبوجوش‌تر": "پر جنب و جوش‌تر",
"آبمروارید": "آب مروارید",
"آتشسوزی": "آتش سوزی",
"آتشنشانی": "آتش‌نشانی",
"آتشنشان": "آتش‌نشان",
"آرامشبخش": "آرامش بخش",
"آشناداشتن": "آشنا داشتن",
"آقاچیزی": "آقا چیزی",
"آموخت‌هام": "آموخته‌ام",
"آموزششان": "آموزش‌شان",
"ازآنجا": "از آنجا",
"ازالان": "از الان",
"ازاینجا": "از اینجا",
"ازجیبش": "از جیبش",
"ازدستش": "از دستش",
"ازدیوار": "از دیوار",
"ازشغلشون": "از شغلشون",
"ازوقتی": "از وقتی",
"ازکسانی": "از کسانی",
"اسباببازی": "اسباب بازی",
"اسبسوار": "اسب سوار",
"اصیلزاده": "اصیل زاده",
"افتادهاید": "افتاده‌اید",
"ال‌هام": "الهام",
"امااصلا": "اما اصلا",
"امااصلابه": "اما اصلا به",
"امااین": "اما این",
"امابعد": "اما بعد",
"امابعدیکی": "اما بعد یکی",
"اماجاذبه": "اما جاذبه",
"امرارمعاش": "امرار معاش",
"امکانپذیر": "امکان پذیر",
"انت‌های": "انتهای",
"انت‌هایی": "انتهایی",
"ایزدبانوی": "ایزد بانوی",
"بااینحال": "با اینحال",
"باحتمال": "به احتمال",
"باحجاب": "با حجاب",
"باخنده": "با خنده",
"بادوستاش": "با دوستاش",
"بارمان": "بار مان",
"باز‌تر": "باز ‌تر",
"باطعنه": "با طعنه",
"بافریاد": "با فریاد",
"بارگزاری": "بارگذاری",
"بالامنم": "بالا منم",
"بگیرمامان": "بگیر مامان",
"بیاحترامی": "بی احترامی",
"بیادبی": "بی ادبی",
"بیاعتنا": "بی اعتنا",
"بیدارباش": "بیدار باش",
"بیشازحد": "بیش از حد",
"بیمسئولیت": "بی مسئولیت",
"تاسفبار": "تاسف بار",
"تامشکلمون": "تا مشکلمون",
"تانقشه": "تا نقشه",
"تصمیمگیری": "تصمیم گیری",
"تقسیمبندی": "تقسیم بندی",
"تقصیرارو": "تقصیرا رو",
"جدیدابرای": "جدیدا برای",
"جعبهابزار": "جعبه ابزار",
"جلوتونو": "جلو تو نو",
"حاضردر": "حاضر در",
"حاضرنیست": "حاضر نیست",
"دستنخورده": "دست نخورده",
"دوامتیاز": "دو امتیاز",
"دوروزتمام": "دو روز تمام",
"شخصیسازی": "شخصی‌سازی",
"شدواجناس": "شد و اجناس",
"شوهردارم": "شوهر دارم",
"شوهرشماهم": "شوهر شما هم",
"شوهرمحترم": "شوهر محترم",
"شکلگیری": "شکل گیری",
"صخرهنوردی": "صخره‌نوردی",
"صدوبیست": "صد و بیست",
"عقبنشینی": "عقب نشینی",
"عکسالعمل": "عکس‌العمل",
"غرغرمیکنم": "غرغر میکنم",
"هزاربار": "هزار بار",
"هزارتومان": "هزار تومان",
"هزارجور": "هزار جور",
"هزاروسیصد": "هزار و سیصد",
"هممیهنان": "هم میهنان",
"هممیهنانش": "هم میهنانش",
"همنسلانش": "هم نسلانش",
"همهگیری": "همه گیری",
"هییییچ": "هیچ",
"وقتاخیلی": "وقتا خیلی",
"وقتابه": "وقتا به",
"وقتگذرانی": "وقت گذرانی",
"ومحکوم": "و محکوم",
"ومحیط‌ها": "و محیط‌ها",
"وکشورتان": "و کشورتان",
"ویکیمدیا": "ویکی‌مدیا",
"یهوگفت": "یهو گفت",
"اینجااز": "اینجا از",
}
fixator_dictionary = {
"ب‌های": "بهای",
"به‌ترین": "بهترین",
"آس‌تر": "‌آستر",
"ارکس‌تر": "ارکستر",
"ان‌تر": "انتر",
"بس‌تر": "بستر",
"به‌تر": "بهتر",
"به‌ترتر": "بهترتر",
"توئی‌تر": "تویتتر",
"تویی‌تر": "توییتر",
"تی‌تر": "تیتر",
"دخ‌تر": "دختر",
"دف‌تر": "دفتر",
"دلس‌تر": "دلستر",
"دک‌تر": "دکتر",
"ش‌تر": "شتر",
"لی‌تر": "لیتر",
"م‌تر": "متر",
"هیپس‌تر": "هیپستر",
"پی‌تر": "پیتر",
"چ‌تر": "چتر",
"کم‌تر": "کمتر",
"گنگس‌تر": "گنگستر",
"انگش‌تر": "انگشتر",
"سن‌تر": "سنتر",
"تویت‌تر": "توییتر",
"مادهش‌تر": "ماده شتر",
"وی‌ترین": "ویترین",
"کرونوم‌تر": "کرنومتر",
"که‌تر": "کهتر",
"فیل‌تر": "فیلتر",
"ال‌هام": "الهام",
"آل‌مان": "آلمان",
"انت‌های": "انتهای",
"انت‌هایی": "انتهایی",
"آموخت‌هام": "آموخته‌ام",
}

203
normalizer.py Normal file
View File

@@ -0,0 +1,203 @@
from parsivar import Normalizer
import num2fawords
import re
import string
_normalizer = Normalizer(half_space_char="\u200c", statistical_space_correction=True)
chars_to_ignore = [
",", "?", ".", "!", "-", ";", ":", '""', "%", "'", '"', "<EFBFBD>",
"#", "!", "؟", "?", "«", "»", "،", "(", ")", "؛", "'ٔ", "٬", 'ٔ', ",", "?",
".", "!", "-", ";", ":", '"', "", "%", "", "", "<EFBFBD>", "", "", "_", "", '', '',
'ā', 'š', 'ّ', 'ْ',
]
chars_to_ignore = chars_to_ignore + list(string.ascii_lowercase + string.digits)
chars_to_ignore = f"""[{"".join(chars_to_ignore)}]"""
zwnj = "\u200c"
silent_chars = ["ا", "د", "ذ", "ر", "ز", "و", "آ"] + [zwnj] + [" "]
def multiple_replace(text, chars_to_mapping):
pattern = "|".join(map(re.escape, chars_to_mapping.keys()))
return re.sub(pattern, lambda m: chars_to_mapping[m.group()], str(text))
def remove_special_characters(text, chars_to_ignore_regex):
text = re.sub(chars_to_ignore_regex, '', text).lower() + " "
return text
def convert_word_nums_to_text(word):
try:
word = int(word)
word = num2fawords.words(word)
except:
word = word
return word
def normalizer_at_word_level(text):
words = text.split()
_text = []
for word in words:
word = convert_word_nums_to_text(word)
word = fixator_dictionary.get(word, word)
_text.append(word)
return " ".join(_text) + " "
def finder(ss, s, starter=False):
found = []
for m in re.finditer(ss, s):
if starter:
found.append(m.start())
else:
found.append((m.start(), m.end()))
return found
def substring_replace(ss, s, start, end, stripped=True):
s_start = s[:start]
s_end = s[end:]
counter = 0
if stripped:
counter = 1 if s_start.endswith(" ") else counter
s_start = s_start.rstrip()
return s_start + ss + s_end, counter
def normalizer(
batch,
is_normalize=True,
return_dict=True,
filter_trivials=False,
remove_extra_space=False
):
text = batch["sentence"].lower().strip()
# Parsivar normalizer
if is_normalize:
text = _normalizer.normalize(text)
# Dictionary mapping
text = multiple_replace(text, dictionary_mapping)
text = re.sub(" +", " ", text)
# Remove specials
text = remove_special_characters(text, chars_to_ignore)
text = re.sub(" +", " ", text)
# Replace connected آ
special, pointer = "آ", int("0")
for f in sorted(finder(special, text, True)):
index = f + pointer - 1
if len(text) >= index:
if text[index] not in silent_chars:
new_text, extra_pointer = substring_replace(
f"{text[index]}{zwnj}", text, index, index + 1, stripped=True)
text = new_text
pointer += 1 + 1 - 1 - extra_pointer
# Replace connected ها
pointer = int("0")
special_list = [
# "ام", "ای", "است", "ایم", "اید", "اند",
"هایمان", "هایم", "هایت", "هایش",
"هایتان", "هایشان", "هام", "هات",
"هاتان", "هامون", "هامان", "هاش",
"هاتون", "هاشان", "هاشون",
"هایی", "های", "هاس", "ها"
]
for special in special_list:
pointer = 0
text = text
for f in sorted(finder(special, text, False)):
start, end = f[0] + pointer - 1, f[1] + pointer - 1
if len(text) >= (end + 1):
if len(text) == (end + 1):
new_text, extra_pointer = substring_replace(
f"{zwnj}{special}",
text,
start + 1,
end + 1,
stripped=True)
text = new_text
pointer += 1 + 1 - 1 - extra_pointer
else:
if text[end + 1] == " ":
new_text, extra_pointer = substring_replace(
f"{zwnj}{special}",
text,
start + 1,
end + 1,
stripped=True)
text = new_text
pointer += 1 + 1 - 1 - extra_pointer
special, pointer = "افزار", int("0")
for f in sorted(finder(special, text, False)):
start, end = f[0] + pointer - 1, f[1] + pointer - 1
if len(text) >= (end + 1):
new_text, extra_pointer = substring_replace(f"{zwnj}{special}", text, start + 1, end + 1, stripped=True)
text = new_text
pointer += 1 + 1 - 1 - extra_pointer
# Replace connected ها
pointer = int("0")
special_list = [
"ترین", "تر"
]
for special in special_list:
pointer = 0
text = text
for f in sorted(finder(special, text, False)):
start, end = f[0] + pointer - 1, f[1] + pointer - 1
if len(text) >= (end + 1):
if len(text) == (end + 1):
new_text, extra_pointer = substring_replace(
f"{zwnj}{special}",
text,
start + 1,
end + 1,
stripped=True)
text = new_text
pointer += 1 + 1 - 1 - extra_pointer
else:
if text[end + 1] == " ":
new_text, extra_pointer = substring_replace(
f"{zwnj}{special}",
text,
start + 1,
end + 1,
stripped=True)
text = new_text
pointer += 1 + 1 - 1 - extra_pointer
# Normalizer at word level
text = normalizer_at_word_level(text)
text = re.sub(" +", " ", text)
if remove_extra_space:
text = text.strip()
else:
text = text.strip() + " "
if filter_trivials:
if not len(text) > 2:
text = None
if not return_dict:
return text
batch["sentence"] = text
return batch

5214
predictions.csv Normal file

File diff suppressed because it is too large Load Diff

9
preprocessor_config.json Normal file
View File

@@ -0,0 +1,9 @@
{
"do_normalize": true,
"feature_extractor_type": "Wav2Vec2FeatureExtractor",
"feature_size": 1,
"padding_side": "right",
"padding_value": 0.0,
"return_attention_mask": true,
"sampling_rate": 16000
}

3
pytorch_model.bin Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d6d33fc8e01332e2e4cf0230c159f63d02620a0528c19c69c3ce7d58777223e2
size 1262097815

BIN
sample1.flac Normal file

Binary file not shown.

BIN
sample2978.flac Normal file

Binary file not shown.

BIN
sample5168.flac Normal file

Binary file not shown.

1
special_tokens_map.json Normal file
View File

@@ -0,0 +1 @@
{"bos_token": "<s>", "eos_token": "</s>", "unk_token": "<unk>", "pad_token": "<pad>"}

3
tf_model.h5 Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3eb1167b6d301f201da515819ef0bfb697821a4db0e6d5b6dcb1ea2baa3f0aa6
size 1262429728

1
tokenizer_config.json Normal file
View File

@@ -0,0 +1 @@
{"unk_token": "<unk>", "bos_token": "<s>", "eos_token": "</s>", "pad_token": "<pad>", "do_lower_case": false, "word_delimiter_token": "|", "special_tokens_map_file": "/workspace/output_models/fa/xlsr-fa/special_tokens_map.json", "tokenizer_file": null, "name_or_path": "/workspace/output_models/fa/xlsr-fa"}

3341
trainer_state.json Normal file

File diff suppressed because it is too large Load Diff

1
vocab.json Normal file
View File

@@ -0,0 +1 @@
{"<pad>": 0, "<s>": 1, "</s>": 2, "<unk>": 3, "|": 4, "آ": 5, "ئ": 6, "ا": 7, "ب": 8, "ت": 9, "ث": 10, "ج": 11, "ح": 12, "خ": 13, "د": 14, "ذ": 15, "ر": 16, "ز": 17, "س": 18, "ش": 19, "ص": 20, "ض": 21, "ط": 22, "ظ": 23, "ع": 24, "غ": 25, "ف": 26, "ق": 27, "ل": 28, "م": 29, "ن": 30, "ه": 31, "و": 32, "پ": 33, "چ": 34, "ژ": 35, "ک": 36, "گ": 37, "ی": 38, "": 39}