File size: 12,395 Bytes
20ccde2
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
#!/usr/bin/env python
# coding: utf-8

# In[9]:


import re
malayalam_numbers = {
    '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)


# In[ ]: