Malayalam_ASR_Demo / replaceWords.py
cdactvm's picture
Update replaceWords.py
ea3f683 verified
import re
def replace_words(sentence):
replacement_map = {
'one': ['ഒന്ന്', 'ഒന്നു', 'വൺ'],
'two': ['രണ്ട്', 'രണ്ടും', 'ടൂ'],
'three': ['മൂന്ന്', 'മുന്ന്', 'ത്രീ'],
'four': ['നാല്', 'നാലു', 'ഫോർ'],
'five': ['അഞ്ച്', 'അഞ്ചു', 'ഫൈവ്'],
'six': ['ആറ്', 'ആறு', 'സിക്സ്'],
'seven': ['ഏഴ്', 'എഴു', 'സെവൻ'],
'eight': ['എട്ട്', 'എട്ട്', 'എയ്‌റ്റ്'],
'nine': ['ഒമ്പത്', 'ഒമ്പതു', 'നൈൻ'],
'ten': ['പത്ത്', 'പത്തുപാട്', 'ടെൻ'],
'eleven': ['പതിനൊന്ന്', 'പതിനൊന്നും', 'എലവൻ'],
'twelve': ['പന്നിരണ്ട്', 'പന്നിരണ്ടും', 'ട്വെൽവ്'],
'thirteen': ['പതിന്മൂന്ന്', 'പതിന്മുന്ന്', 'തർതീൻ'],
'fourteen': ['പതിനാല്', 'പതിനാലു', 'ഫോർടheen'],
'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': ['തൊണ്ണൂറി five', 'തൊണ്ണൂറി', 'നൈന്റ്റി 5'],
'hundred': ['നൂറ്', 'നൂറ്', 'ഹണ്ട്രഡ്'],
}
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)