Punjabi_ASR_Demo / replaceWords.py
cdactvm's picture
Update replaceWords.py
c5bf7fc verified
import re
def replace_words(sentence):
replacement_map = {
'one': ['ਵਨ', 'ਇੱਕ'],
'two': ['ਟੂ', 'ਦੋ'],
'three': ['ਥ੍ਰੀ', 'ਤਿੰਨ'],
'four': ['ਫੋਰ', 'ਚਾਰ'],
'five': ['ਫਾਈਵ', 'ਪੰਜ'],
'six': ['ਸਿਕਸ', 'ਛੇ',],
'seven': ['ਸੇਵਨ', 'ਸੱਤ'],
'eight': ['ਏਟ', 'ਅੱਠ'],
'nine': ['ਨਾਈਨ', 'ਨੌ'],
'ten': ['ਟੈਨ', 'ਦਸ', ],
'eleven': ['ਇਲੇਵਨ', 'ਗਿਆਰਹ'],
'twelve': ['ਟਵੈਲਵ', 'ਬਾਰਾਂ','ਬਾਰ੍ਹਾਂ'],
'thirteen': ['ਥਰਟੀਨ', 'ਤੇਹਰਾਂ'],
'fourteen': ['ਫੋਰਟੀਨ', 'ਚੌਦਾਂਹ'],
'fifteen': ['ਫਿਫਟੀਨ', 'ਪੰਦਰਾਂ'],
'sixteen': ['ਸਿਕਸਟਿਨ', 'ਸੋਲਾਹ'],
'seventeen': ['ਸੈਵਨਟੀਨ', 'ਸਤਾਰਾਂ'],
'eighteen': ['ਏਟੀਨ', 'ਅਠਾਰਾਂ'],
'nineteen': ['ਨਾਈਨਟੀਨ', 'ਉੱਨ੍ਹੀ'],
'twenty': ['ਟਵੈਂਟੀ', 'ਵੀਹ'],
'twenty one': ['ਟਵੈਂਟੀ ਵਨ', 'ਇੱਕੀ'],
'twenty two': ['ਟਵੈਂਟੀ ਟੂ', 'ਬਾਈ'],
'twenty three': ['ਟਵੈਂਟੀ ਥ੍ਰੀ', 'ਤੇਈ'],
'twenty four': ['ਟਵੈਂਟੀ ਫੋਰ', 'ਚੋਵੀ'],
'twenty five': ['ਟਵੈਂਟੀ ਫਾਈਵ', 'ਪੱਚੀ'],
'twenty six': ['ਟਵੈਂਟੀ ਸਿਕਸ', 'ਛੱਬੀ'],
'twenty seven': ['ਟਵੈਂਟੀ ਸੇਵਨ', 'ਸਤਾਈ'],
'twenty eight': ['ਟਵੈਂਟੀ ਏਟ', 'ਅਠਾਈ'],
'twenty nine': ['ਟਵੈਂਟੀ ਨਾਈਨ', 'ਉਂਣਤੀ'],
'thirty': ['ਥਰਟੀ', 'ਤੀਹ'],
'thirty one': ['ਥਰਟੀ ਵਨ', 'ਇਕੱਤੀ'],
'thirty two': ['ਥਰਟੀ ਟੂ', 'ਬੱਤੀ'],
'thirty three': ['ਥਰਟੀ ਥ੍ਰੀ', 'ਤੇਤੀ'],
'thirty four': ['ਥਰਟੀ ਫੋਰ', 'ਚੋਨਤੀ'],
'thirty five': ['ਥਰਟੀ ਫਾਈਵ', 'ਪੈਂਤੀ'],
'thirty six': ['ਥਰਟੀ ਸਿਕਸ', 'ਛੱਤੀ'],
'thirty seven': ['ਥਰਟੀ ਸੇਵਨ', 'ਸੈਂਤੀ'],
'thirty eight': ['ਥਰਟੀ ਏਟ', 'ਅਠੱਤੀ'],
'thirty nine': ['ਥਰਟੀ ਨਾਈਨ', 'ਉਨਤਾਲੀ'],
'forty': ['ਫੋਰਟੀ', 'ਚਾਲੀ','ਫੋਟੀ'],
'forty one': ['ਫੋਰਟੀ ਵਨ', 'ਇਕਤਾਲੀ'],
'forty two': ['ਫੋਰਟੀ ਟੂ', 'ਬਿਆਲੀ'],
'forty three': ['ਫੋਰਟੀ ਥ੍ਰੀ', 'ਤਰਤਾਲੀ'],
'forty four': ['ਫੋਰਟੀ ਫੋਰ', 'ਚੋਤਾਲੀ'],
'forty five': ['ਫੋਰਟੀ ਫਾਈਵ', 'ਪੰਤਾਲੀ'],
'forty six': ['ਫੋਰਟੀ ਸਿਕਸ', 'ਛਿਆਲੀ'],
'forty seven': ['ਫੋਰਟੀ ਸੇਵਨ', 'ਸੈਂਤਾਲੀ'],
'forty eight': ['ਫੋਰਟੀ ਏਟ', 'ਅੜਤਾਲੀ'],
'forty nine': ['ਫੋਰਟੀ ਨਾਈਨ', 'ਉਣੰਜਾ'],
'fifty': ['ਫਿਫਟੀ', 'ਪੰਜਾਹ'],
'fifty one': ['ਫਿਫਟੀ ਵਨ', 'ਅਕਵੰਜਾ'],
'fifty two': ['ਫਿਫਟੀ ਟੂ', 'ਬਵੰਜਾ'],
'fifty three': ['ਫਿਫਟੀ ਥ੍ਰੀ', 'ਤਰਵੰਜਾ'],
'fifty four': ['ਫਿਫਟੀ ਫੋਰ', 'ਚੁਰੰਜਾ'],
'fifty five': ['ਫਿਫਟੀ ਫਾਈਵ', 'ਪਚਵੰਜਾ'],
'fifty six': ['ਫਿਫਟੀ ਸਿਕਸ', 'ਛਪੰਜਾ'],
'fifty seven': ['ਫਿਫਟੀ ਸੇਵਨ', 'ਸਤਵੰਜਾ'],
'fifty eight': ['ਫਿਫਟੀ ਏਟ', 'ਅਠਵੰਜਾ'],
'fifty nine': ['ਫਿਫਟੀ ਨਾਈਨ', 'ਉਣਹਾਟ'],
'sixty': ['ਸਿਕਸਟੀ', 'ਸੱਠ'],
'sixty one': ['ਸਿਕਸਟੀ ਵਨ', 'ਇਕਹਾਟ'],
'sixty two': ['ਸਿਕਸਟੀ ਟੂ', 'ਬਾਹਟ'],
'sixty three': ['ਸਿਕਸਟੀ ਥ੍ਰੀ', 'ਤ੍ਰੇਹਟ'],
'sixty four': ['ਸਿਕਸਟੀ ਫੋਰ', 'ਚੋਹਟ'],
'sixty five': ['ਸਿਕਸਟੀ ਫਾਈਵ', 'ਪਹਿਨਟ'],
'sixty six': ['ਸਿਕਸਟੀ ਸਿਕਸ', 'ਛੇਹਾਟ'],
'sixty seven': ['ਸਿਕਸਟੀ ਸੇਵਨ', 'ਸਤਾਹਟ'],
'sixty eight': ['ਸਿਕਸਟੀ ਏਟ', 'ਅਠਾਹਠ'],
'sixty nine': ['ਸਿਕਸਟੀ ਨਾਈਨ', 'ਉਂਣਹਤਰ'],
'seventy': ['ਸੇਵੰਟੀ', 'ਸੱਤਰ'],
'seventy one': ['ਸੇਵੰਟੀ ਵਨ', 'ਇਕਹੱਤਰ'],
'seventy two': ['ਸੇਵੰਟੀ ਟੂ', 'ਬਹੱਤਰ'],
'seventy three': ['ਸੇਵੰਟੀ ਥ੍ਰੀ', 'ਤਿਹੱਤਰ'],
'seventy four': ['ਸੇਵੰਟੀ ਫੋਰ', 'ਚੌਹੱਤਰ'],
'seventy five': ['ਸੇਵੰਟੀ ਫਾਈਵ', 'ਪਚਹੱਤਰ'],
'seventy six': ['ਸੇਵੰਟੀ ਸਿਕਸ', 'ਛਿਹੱਤਰ'],
'seventy seven': ['ਸੇਵੰਟੀ ਸੇਵਨ', 'ਸਤਹੱਤਰ'],
'seventy eight': ['ਸੇਵੰਟੀ ਏਟ', 'ਅਠਹੱਤਰ'],
'seventy nine': ['ਸੇਵੰਟੀ ਨਾਈਨ', 'ਉਣਾਸੀ'],
'eighty': ['ਏਟੀ', 'ਅਸੀ','ਅੱਸੀ'],
'eighty one': ['ਏਟੀ ਵਨ', 'ਇੱਕਿਆਸੀ'],
'eighty two': ['ਏਟੀ ਟੂ', 'ਬਿਆਸੀ'],
'eighty three': ['ਏਟੀ ਥ੍ਰੀ', 'ਤਿਰਾਸੀ'],
'eighty four': ['ਏਟੀ ਫੋਰ', 'ਚੌਰਾਸੀ'],
'eighty five': ['ਏਟੀ ਫਾਈਵ', 'ਪਚਾਸੀ'],
'eighty six': ['ਏਟੀ ਸਿਕਸ', 'ਛਿਆਸੀ'],
'eighty seven': ['ਏਟੀ ਸੇਵਨ', 'ਸਤਾਸੀ'],
'eighty eight': ['ਏਟੀ ਏਟ', 'ਅਠਾਸੀ'],
'eighty nine': ['ਏਟੀ ਨਾਈਨ', 'ਨਵਾਸੀ'],
'ninety': ['ਨਾਇੰਟੀ', 'ਨੱਬੇ'],
'ninety one': ['ਨਾਇੰਟੀ ਵਨ', 'ਇੱਕਿਆਨਵੇ'],
'ninety two': ['ਨਾਇੰਟੀ ਟੂ', 'ਬਨਵੇਂ'],
'ninety three': ['ਨਾਇੰਟੀ ਥ੍ਰੀ', 'ਤੇਰਾਨਵੇਂ'],
'ninety four': ['ਨਾਇੰਟੀ ਫੋਰ', 'ਚੌਰਾਨਵੇ'],
'ninety five': ['ਨਾਇੰਟੀ ਫਾਈਵ', 'ਪਚੰਨਵੇਂ'],
'ninety six': ['ਨਾਇੰਟੀ ਸਿਕਸ', 'ਛਿਆਨਵੇ'],
'ninety seven': ['ਨਾਇੰਟੀ ਸੇਵਨ', 'ਸਤੰਨਵੇ'],
'ninety eight': ['ਨਾਇੰਟੀ ਏਟ', 'ਅਠੰਨਵੇ'],
'ninety nine': ['ਨਾਇੰਟੀ ਨਾਈਨ', 'ਨੜ੍ਹੀਨਵੇਂ'],
'hundred': ['ਹੰਡਰਡ', 'ਸੌ'],
'point' :['ਪੁਆੰਟ']
}
words = sentence.split() # Split the sentence by spaces
# Replace words using the mapping
for i, word in enumerate(words):
for replacement, patterns in replacement_map.items():
if word in patterns:
words[i] = replacement # Replace the word if it's fully matched
# Join the processed words back into a sentence
return ' '.join(words)