Omarrran's picture
Add Transformers-compatible ks_byte_lm SpaceByte release
45121cf verified
Raw
History Blame Contribute Delete
7.27 kB
from typing import Dict, List, FrozenSet
KASHMIRI_CHARACTER_MAPPING: Dict[str, List[str]] = {'آ': ['ﺁ', 'ﺂ'],
'أ': ['ﺃ'],
'ا': ['ﺍ', 'ﺎ'],
'ب': ['ﺏ', 'ﺐ', 'ﺑ', 'ﺒ'],
'پ': ['ﭖ', 'ﭘ', 'ﭙ', ],
'ت': ['ﺕ', 'ﺖ', 'ﺗ', 'ﺘ'],
'ٹ': ['ﭦ', 'ﭧ', 'ﭨ', 'ﭩ'],
'ث': ['ﺛ', 'ﺜ', 'ﺚ'],
'ج': ['ﺝ', 'ﺞ', 'ﺟ', 'ﺠ'],
'ح': ['ﺡ', 'ﺣ', 'ﺤ', 'ﺢ'],
'خ': ['ﺧ', 'ﺨ', 'ﺦ'],
'د': ['ﺩ', 'ﺪ'],
'ذ': ['ﺬ', 'ﺫ'],
'ر': ['ﺭ', 'ﺮ'],
'ز': ['ﺯ', 'ﺰ', ],
'س': ['ﺱ', 'ﺲ', 'ﺳ', 'ﺴ', ],
'ش': ['ﺵ', 'ﺶ', 'ﺷ', 'ﺸ'],
'ص': ['ﺹ', 'ﺺ', 'ﺻ', 'ﺼ', ],
'ض': ['ﺽ', 'ﺾ', 'ﺿ', 'ﻀ'],
'ط': ['ﻃ', 'ﻄ'],
'ظ': ['ﻅ', 'ﻇ', 'ﻈ'],
'ع': ['ﻉ', 'ﻊ', 'ﻋ', 'ﻌ', ],
'غ': ['ﻍ', 'ﻏ', 'ﻐ', ],
'ف': ['ﻑ', 'ﻒ', 'ﻓ', 'ﻔ', ],
'ق': ['ﻕ', 'ﻖ', 'ﻗ', 'ﻘ', ],
'ل': ['ﻝ', 'ﻞ', 'ﻟ', 'ﻠ', ],
'م': ['ﻡ', 'ﻢ', 'ﻣ', 'ﻤ', ],
'ن': ['ﻥ', 'ﻦ', 'ﻧ', 'ﻨ', ],
'چ': ['ﭺ', 'ﭻ', 'ﭼ', 'ﭽ'],
'ڈ': ['ﮈ', 'ﮉ'],
'ڑ': ['ﮍ', 'ﮌ'],
'ژ': ['ﮋ', ],
'ک': ['ﮎ', 'ﮏ', 'ﮐ', 'ﮑ', 'ﻛ', 'ك'],
'گ': ['ﮒ', 'ﮓ', 'ﮔ', 'ﮕ'],
'ں': ['ﮞ', 'ﮟ'],
'و': ['ﻮ', 'ﻭ', 'ﻮ', ],
'ؤ': ['ﺅ'],
'ھ': ['ﮪ', 'ﮬ', 'ﮭ', 'ﻬ', 'ﻫ', 'ﮫ'],
'ہ': ['ﻩ', 'ﮦ', 'ﻪ', 'ﮧ', 'ﮩ', 'ﮨ', 'ه', ],
'ۂ': [],
'ۃ': ['ة'],
'ء': ['ﺀ'],
'ی': ['ﯼ', 'ى', 'ﯽ', 'ﻰ', 'ﻱ', 'ﻲ', 'ﯾ', 'ﯿ', 'ي'],
'ئ': ['ﺋ', 'ﺌ', ],
'ے': ['ﮮ', 'ﮯ', 'ﻳ', 'ﻴ', ],
'ۓ': [],
'۰': ['٠'],
'۱': ['١'],
'۲': ['٢'],
'۳': ['٣'],
'۴': ['٤'],
'۵': ['٥'],
'۶': ['٦'],
'۷': ['٧'],
'۸': ['٨'],
'۹': ['٩'],
'۔': [],
'؟': [],
'٫': [],
'،': [],
'لا': ['ﻻ', 'ﻼ'],
'': ['ـ'],
'ژ':['ـژ', 'ـژ'],
'ؠ':['ـؠ','\u06ea', '\u066e\u06ea', 'ؠـ', 'ـؠـ', ],
'ۄ':['\u06c5'],
' ' : ['\u200C'], # NOT A CHARACTER, HANDLING ZWNJ by Replacing with space
'ۍ' : []
}
PUNCTUATION_MAP: Dict[str, List[str]] = {
'"': ['„', '“', '”', "''", '´´'],
'-': ['–'],
' - ': ['—'],
"'": ['´', '‘', '‚', '’'],
'...': ['…'],
}
ENG_KASHMIRI_DIGITS_MAP: Dict = {
'0': ['۰'],
'1': ['۱'],
'2': ['۲'],
'3': ['۳'],
'4': ['۴'],
'5': ['۵'],
'6': ['۶'],
'7': ['۷'],
'8': ['۸'],
'9': ['۹']
}
KASHMIRI_ENG_DIGITS_MAP: Dict = {
'۰': ['0'],
'۱': ['1'],
'۲': ['2'],
'۳': ['3'],
'۴': ['4'],
'۵': ['5'],
'۶': ['6'],
'۷': ['7'],
'۸': ['8'],
'۹': ['9']
}
KASHMIRI_DIACRITICS: FrozenSet[str] = frozenset("\u064e \u0670 \u0654 \u0650 \u0656 \u0655 \u065f \u064f \u0657 \u065A \u065b".split())
KASHMIRI_PUNCTUATIONS: FrozenSet[str] = frozenset("؛ ، ٫ ؟ ۔ ٪".split())
# Characters, Diacritics, Digits (Both sets), and Punctuations suitable for TTS vocabulary
ALL_CHARACTERS: FrozenSet[str] = frozenset(
list(KASHMIRI_CHARACTER_MAPPING.keys()) +
list(KASHMIRI_DIACRITICS) +
list(KASHMIRI_PUNCTUATIONS) +
list(ENG_KASHMIRI_DIGITS_MAP.keys()) +
list(PUNCTUATION_MAP.keys())
)
WORD_TO_DIGIT_MAP: Dict[str, List[str]] = {
'صفرٕ': ['0'],
'اکھ': ['1'],
'زٕ': ['2'],
'ترٛےٚ': ['3'],
'ژور': ['4'],
'پانژھ': ['5'],
'شیٚیہ': ['6'],
'ستھ': ['7'],
'ٲٹھ': ['8'],
'نو': ['9']
}