cdactvm commited on
Commit
8bfc475
·
verified ·
1 Parent(s): 45f9ca7

Update replaceWords.py

Browse files
Files changed (1) hide show
  1. replaceWords.py +159 -159
replaceWords.py CHANGED
@@ -1,159 +1,159 @@
1
- #!/usr/bin/env python
2
- # coding: utf-8
3
-
4
- # In[7]:
5
-
6
-
7
- import re
8
-
9
- def replace_words(sentence):
10
- # Define a dictionary mapping a single word to a list of words or phrases
11
- replacement_map = {
12
- # Multiples of ten
13
- 'twenty': ['ट्वेंटी', 'बीस'],
14
- 'thirty': ['थर्टी', 'तीस'],
15
- 'forty': ['फोर्टी', 'चालीस'],
16
- 'fifty': ['फिफ्टी', 'पचास'],
17
- 'sixty': ['सिक्स्टी', 'साठ'],
18
- 'seventy': ['सेवंटी', 'सत्तर','सेवनटी','सेवेनटी','सेवांटी'],
19
- 'eighty': ['एटी', 'अस्सी'],
20
- 'ninety': ['नाइंटी', 'नब्बे'],
21
-
22
- # Numbers from 11 to 19
23
- 'eleven': ['इलेवन', 'ग्यारह','इगारा'],
24
- 'twelve': ['ट्वेल्व', 'बारह'],
25
- 'thirteen': ['थर्टीन', 'तेरह','तेरा'],
26
- 'fourteen': ['फोर्टीन', 'चौदह'],
27
- 'fifteen': ['फिफ्टीन', 'पंद्रह','पंद्रा'],
28
- 'sixteen': ['सिक्स्टीन', 'सोलह','सोल्ला'],
29
- 'seventeen': ['सेवंटीन', 'सत्रह''सतरा'],
30
- 'eighteen': ['एटीन', 'अठारह''अठारा'],
31
- 'nineteen': ['नाइनटीन', 'उन्नीस','उन्नईस','उनाइस'],
32
-
33
- # Numbers from 21 to 29
34
- 'twenty one': ['ट्वेंटी वन', 'इक्कीस'],
35
- 'twenty two': ['ट्वेंटी टू', 'बाईस'],
36
- 'twenty three': ['ट्वेंटी थ्री', 'तेईस'],
37
- 'twenty four': ['ट्वेंटी फोर', 'चौबीस'],
38
- 'twenty five': ['ट्वेंटी फाइव', 'पच्चीस'],
39
- 'twenty six': ['ट्वेंटी सिक्स', 'छब्बीस'],
40
- 'twenty seven': ['ट्वेंटी सेवन', 'सत्ताईस','सताईस'],
41
- 'twenty eight': ['ट्वेंटी एट', 'अट्ठाईस','अठ्ठाइस','अठ्ठाईस'],
42
- 'twenty nine': ['ट्वेंटी नाइन', 'उनतीस'],
43
-
44
- # Numbers from 31 to 39
45
- 'thirty one': ['थर्टी वन', 'इकतीस'],
46
- 'thirty two': ['थर्टी टू', 'बत्तीस'],
47
- 'thirty three': ['थर्टी थ्री', 'तेतीस'],
48
- 'thirty four': ['थर्टी फोर', 'चौंतीस'],
49
- 'thirty five': ['थर्टी फाइव', 'पैंतीस'],
50
- 'thirty six': ['थर्टी सिक्स', 'छत्तीस'],
51
- 'thirty seven': ['थर्टी सेवन', 'सैंतीस'],
52
- 'thirty eight': ['थर्टी एट', 'अड़तीस'],
53
- 'thirty nine': ['थर्टी नाइन', 'उनतालीस'],
54
-
55
- # Numbers from 41 to 49
56
- 'forty one': ['फोर्टी वन', 'इकतालीस'],
57
- 'forty two': ['फोर्टी टू', 'बयालीस'],
58
- 'forty three': ['फोर्टी थ्री', 'तैंतालीस'],
59
- 'forty four': ['फोर्टी फोर', 'चौंतालीस'],
60
- 'forty five': ['फोर्टी फाइव', 'पैंतालीस'],
61
- 'forty six': ['फोर्टी सिक्स', 'छयालिस'],
62
- 'forty seven': ['फोर्टी सेवन', 'सैंतालीस'],
63
- 'forty eight': ['फोर्टी एट', 'अड़तालीस'],
64
- 'forty nine': ['फोर्टी नाइन', 'उनचास'],
65
-
66
- # Numbers from 51 to 59
67
- 'fifty one': ['फिफ्टी वन', 'इक्यावन'],
68
- 'fifty two': ['फिफ्टी टू', 'बावन'],
69
- 'fifty three': ['फिफ्टी थ्री', 'तिरेपन','तिरपन','तीरपन'],
70
- 'fifty four': ['फिफ्टी फोर', 'चौवन'],
71
- 'fifty five': ['फिफ्टी फाइव', 'पचपन'],
72
- 'fifty six': ['फिफ्टी सिक्स', 'छप्पन','छपपन'],
73
- 'fifty seven': ['फिफ्टी सेवन', 'सत्तावन','संताबन','संतावन'],
74
- 'fifty eight': ['फिफ्टी एट', 'अट्ठावन','अंठावन'],
75
- 'fifty nine': ['फिफ्टी नाइन', 'उनसठ','उंसट','उंसठ'],
76
-
77
- # Numbers from 61 to 69
78
- 'sixty one': ['सिक्स्टी वन', 'इकसठ'],
79
- 'sixty two': ['सिक्स्टी टू', 'बासठ'],
80
- 'sixty three': ['सिक्स्टी थ्री', 'तिरसठ'],
81
- 'sixty four': ['सिक्स्टी फोर', 'चौंसठ'],
82
- 'sixty five': ['सिक्स्टी फाइव', 'पैंसठ'],
83
- 'sixty six': ['सिक्स्टी सिक्���', 'छियासठ'],
84
- 'sixty seven': ['सिक्स्टी सेवन', 'सड़सठ'],
85
- 'sixty eight': ['सिक्स्टी एट', 'अड़सठ'],
86
- 'sixty nine': ['सिक्स्टी नाइन', 'उनहत्तर'],
87
-
88
- # Numbers from 71 to 79
89
- 'seventy one': ['सेवंटी वन', 'इकहत्तर','इखत्तर','इकत्तर'],
90
- 'seventy two': ['सेवंटी टू', 'बहत्तर'],
91
- 'seventy three': ['सेवंटी थ्री', 'तिहत्तर','तियत्र','तियत्तर','तीहत्तर','तिहत्थर'],
92
- 'seventy four': ['सेवंटी फोर', 'चौहत्तर',],
93
- 'seventy five': ['सेवंटी फाइव', 'पचहत्तर','पछत्तर','पिछत्तर','पचहत्तर','पचत्तर'],
94
- 'seventy six': ['सेवंटी सिक्स', 'छिहत्तर','छीहत्तर'],
95
- 'seventy seven': ['सेवंटी सेवन', 'सतहत्तर','सतात्तर','सतत्तर','सतहत्थर'],
96
- 'seventy eight': ['सेवंटी एट', 'अठहत्तर','अठत्तर'],
97
- 'seventy nine': ['सेवंटी नाइन', 'उन्यासी','उनासी'],
98
-
99
- # Numbers from 81 to 89
100
- 'eighty one': ['एटी वन', 'इक्यासी'],
101
- 'eighty two': ['एटी टू', 'बयासी'],
102
- 'eighty three': ['एटी थ्री', 'तिरासी'],
103
- 'eighty four': ['एटी फोर', 'चौरासी'],
104
- 'eighty five': ['एटी फाइव', 'पचासी','पिचासी'],
105
- 'eighty six': ['एटी सिक्स', 'छियासी'],
106
- 'eighty seven': ['एटी सेवन', 'सतासी'],
107
- 'eighty eight': ['एटी एट', 'अठासी'],
108
- 'eighty nine': ['एटी नाइन', 'नवासी'],
109
-
110
- # Numbers from 91 to 99
111
- 'ninety one': ['नाइंटी वन', 'इक्यानवे'],
112
- 'ninety two': ['नाइंटी टू', 'बानवे','बानबे'],
113
- 'ninety three': ['नाइंटी थ्री', 'तिरानवे'],
114
- 'ninety four': ['नाइंटी फोर', 'चौरानवे'],
115
- 'ninety five': ['नाइंटी फाइव', 'पचानवे'],
116
- 'ninety six': ['नाइंटी सिक्स', 'छियानवे'],
117
- 'ninety seven': ['नाइंटी सेवन', 'सतानवे'],
118
- 'ninety eight': ['नाइंटी एट', 'अठानवे'],
119
- 'ninety nine': ['नाइंटी नाइन', 'निन्यानवे'],
120
- # Numbers from one to ten
121
- 'seven': ['सेवन', 'सात'],
122
- 'zero': ['शून्य', 'जेरो', 'शुन्ना', 'जीरो'],
123
- 'one': ['वन', 'एंक', 'इक', 'एक'],
124
- 'two': ['टू', 'दो'],
125
- 'three': ['थ्री', 'तीना', 'तीन', 'त्री'],
126
- 'four': ['फोर','फ़ोर', 'फॉर', 'च्यार', 'चार'],
127
- 'five': ['फाइव', 'पाँच', 'पांच'],
128
- 'six': ['सिक्स', 'चह', 'छौ', 'छै', 'छह', 'छे'],
129
- 'eight': ['एट', 'अट', 'आठ'],
130
- 'nine': ['नाइन', 'नौ'],
131
- 'ten': ['टेन', 'दस'],
132
- # Hundred
133
- 'hundred': ['हंड्रेड', 'सौ','सो','साव'],
134
- # Thousand
135
- 'thousand' : ['हजार','थौजनड','थाउजंड','हज़ार'],
136
- # Lakhs
137
- 'lac' : ['लाख'],
138
-
139
- # Special for double digits
140
- 'डबल': ['दबल', 'डबल', 'दुबाल'],
141
- }
142
-
143
- words = sentence.split() # Split the sentence by spaces
144
-
145
- # Replace words using the mapping
146
- for i, word in enumerate(words):
147
- for replacement, patterns in replacement_map.items():
148
- if word in patterns:
149
- words[i] = replacement # Replace the word if it's fully matched
150
-
151
- # Join the processed words back into a sentence
152
- return ' '.join(words)
153
-
154
-
155
- # In[ ]:
156
-
157
-
158
-
159
-
 
1
+ #!/usr/bin/env python
2
+ # coding: utf-8
3
+
4
+ # In[7]:
5
+
6
+
7
+ import re
8
+
9
+ def replace_words(sentence):
10
+ # Define a dictionary mapping a single word to a list of words or phrases
11
+ replacement_map = {
12
+ # Multiples of ten
13
+ 'twenty': ['ट्वेंटी', 'बीस'],
14
+ 'thirty': ['थर्टी', 'तीस'],
15
+ 'forty': ['फोर्टी', 'चालीस'],
16
+ 'fifty': ['फिफ्टी', 'पचास'],
17
+ 'sixty': ['सिक्स्टी', 'साठ'],
18
+ 'seventy': ['सेवंटी', 'सत्तर','सेवनटी','सेवेनटी','सेवांटी'],
19
+ 'eighty': ['एटी', 'अस्सी'],
20
+ 'ninety': ['नाइंटी', 'नब्बे'],
21
+
22
+ # Numbers from 11 to 19
23
+ 'eleven': ['इलेवन', 'ग्यारह','इगारा'],
24
+ 'twelve': ['ट्वेल्व', 'बारह'],
25
+ 'thirteen': ['थर्टीन', 'तेरह','तेरा'],
26
+ 'fourteen': ['फोर्टीन', 'चौदह'],
27
+ 'fifteen': ['फिफ्टीन', 'पंद्रह','पंद्रा'],
28
+ 'sixteen': ['सिक्स्टीन', 'सोलह','सोल्ला'],
29
+ 'seventeen': ['सेवंटीन', 'सत्रह''सतरा'],
30
+ 'eighteen': ['एटीन', 'अठारह''अठारा'],
31
+ 'nineteen': ['नाइनटीन', 'उन्नीस','उन्नईस','उनाइस'],
32
+
33
+ # Numbers from 21 to 29
34
+ 'twenty one': ['ट्वेंटी वन', 'इक्कीस'],
35
+ 'twenty two': ['ट्वेंटी टू', 'बाईस'],
36
+ 'twenty three': ['ट्वेंटी थ्री', 'तेईस'],
37
+ 'twenty four': ['ट्वेंटी फोर', 'चौबीस'],
38
+ 'twenty five': ['ट्वेंटी फाइव', 'पच्चीस'],
39
+ 'twenty six': ['ट्वेंटी सिक्स', 'छब्बीस'],
40
+ 'twenty seven': ['ट्वेंटी सेवन', 'सत्ताईस','सताईस'],
41
+ 'twenty eight': ['ट्वेंटी एट', 'अट्ठाईस','अठ्ठाइस','अठ्ठाईस'],
42
+ 'twenty nine': ['ट्वेंटी नाइन', 'उनतीस'],
43
+
44
+ # Numbers from 31 to 39
45
+ 'thirty one': ['थर्टी वन', 'इकतीस'],
46
+ 'thirty two': ['थर्टी टू', 'बत्तीस'],
47
+ 'thirty three': ['थर्टी थ्री', 'तेतीस'],
48
+ 'thirty four': ['थर्टी फोर', 'चौंतीस'],
49
+ 'thirty five': ['थर्टी फाइव', 'पैंतीस','पैतीस'],
50
+ 'thirty six': ['थर्टी सिक्स', 'छत्तीस'],
51
+ 'thirty seven': ['थर्टी सेवन', 'सैंतीस'],
52
+ 'thirty eight': ['थर्टी एट', 'अड़तीस'],
53
+ 'thirty nine': ['थर्टी नाइन', 'उनतालीस'],
54
+
55
+ # Numbers from 41 to 49
56
+ 'forty one': ['फोर्टी वन', 'इकतालीस'],
57
+ 'forty two': ['फोर्टी टू', 'बयालीस'],
58
+ 'forty three': ['फोर्टी थ्री', 'तैंतालीस'],
59
+ 'forty four': ['फोर्टी फोर', 'चौंतालीस'],
60
+ 'forty five': ['फोर्टी फाइव', 'पैंतालीस'],
61
+ 'forty six': ['फोर्टी सिक्स', 'छयालिस'],
62
+ 'forty seven': ['फोर्टी सेवन', 'सैंतालीस'],
63
+ 'forty eight': ['फोर्टी एट', 'अड़तालीस'],
64
+ 'forty nine': ['फोर्टी नाइन', 'उनचास'],
65
+
66
+ # Numbers from 51 to 59
67
+ 'fifty one': ['फिफ्टी वन', 'इक्यावन'],
68
+ 'fifty two': ['फिफ्टी टू', 'बावन'],
69
+ 'fifty three': ['फिफ्टी थ्री', 'तिरेपन','तिरपन','तीरपन'],
70
+ 'fifty four': ['फिफ्टी फोर', 'चौवन'],
71
+ 'fifty five': ['फिफ्टी फाइव', 'पचपन'],
72
+ 'fifty six': ['फिफ्टी सिक्स', 'छप्पन','छपपन'],
73
+ 'fifty seven': ['फिफ्टी सेवन', 'सत्तावन','संताबन','संतावन'],
74
+ 'fifty eight': ['फिफ्टी एट', 'अट्ठावन','अंठावन'],
75
+ 'fifty nine': ['फिफ्टी नाइन', 'उनसठ','उंसट','उंसठ'],
76
+
77
+ # Numbers from 61 to 69
78
+ 'sixty one': ['सिक्स्टी वन', 'इकसठ'],
79
+ 'sixty two': ['सिक्स्टी टू', 'बासठ'],
80
+ 'sixty three': ['सिक्स्टी थ्री', 'तिरसठ'],
81
+ 'sixty four': ['सिक्स्टी फोर', 'चौंसठ'],
82
+ 'sixty five': ['सिक्स्टी फाइव', 'पैंसठ'],
83
+ 'sixty six': ['सिक्स्टी सिक्स', 'छियासठ'],
84
+ 'sixty seven': ['सिक्स्टी सेवन', 'सड़सठ'],
85
+ 'sixty eight': ['सिक्स्टी एट', 'अड़सठ'],
86
+ 'sixty nine': ['सिक्स्टी नाइन', 'उनहत्तर'],
87
+
88
+ # Numbers from 71 to 79
89
+ 'seventy one': ['सेवंटी वन', 'इकहत्तर','इखत्तर','इकत्तर'],
90
+ 'seventy two': ['सेवंटी टू', 'बहत्तर'],
91
+ 'seventy three': ['सेवंटी थ्री', 'तिहत्तर','तियत्र','तियत्तर','तीहत्तर','तिहत्थर'],
92
+ 'seventy four': ['सेवंटी फोर', 'चौहत्तर',],
93
+ 'seventy five': ['सेवंटी फाइव', 'पचहत्तर','पछत्तर','प��छत्तर','पचहत्तर','पचत्तर'],
94
+ 'seventy six': ['सेवंटी सिक्स', 'छिहत्तर','छीहत्तर'],
95
+ 'seventy seven': ['सेवंटी सेवन', 'सतहत्तर','सतात्तर','सतत्तर','सतहत्थर'],
96
+ 'seventy eight': ['सेवंटी एट', 'अठहत्तर','अठत्तर'],
97
+ 'seventy nine': ['सेवंटी नाइन', 'उन्यासी','उनासी'],
98
+
99
+ # Numbers from 81 to 89
100
+ 'eighty one': ['एटी वन', 'इक्यासी'],
101
+ 'eighty two': ['एटी टू', 'बयासी'],
102
+ 'eighty three': ['एटी थ्री', 'तिरासी'],
103
+ 'eighty four': ['एटी फोर', 'चौरासी'],
104
+ 'eighty five': ['एटी फाइव', 'पचासी','पिचासी'],
105
+ 'eighty six': ['एटी सिक्स', 'छियासी'],
106
+ 'eighty seven': ['एटी सेवन', 'सतासी'],
107
+ 'eighty eight': ['एटी एट', 'अठासी'],
108
+ 'eighty nine': ['एटी नाइन', 'नवासी'],
109
+
110
+ # Numbers from 91 to 99
111
+ 'ninety one': ['नाइंटी वन', 'इक्यानवे'],
112
+ 'ninety two': ['नाइंटी टू', 'बानवे','बानबे'],
113
+ 'ninety three': ['नाइंटी थ्री', 'तिरानवे'],
114
+ 'ninety four': ['नाइंटी फोर', 'चौरानवे'],
115
+ 'ninety five': ['नाइंटी फाइव', 'पचानवे'],
116
+ 'ninety six': ['नाइंटी सिक्स', 'छियानवे'],
117
+ 'ninety seven': ['नाइंटी सेवन', 'सतानवे'],
118
+ 'ninety eight': ['नाइंटी एट', 'अठानवे'],
119
+ 'ninety nine': ['नाइंटी नाइन', 'निन्यानवे'],
120
+ # Numbers from one to ten
121
+ 'seven': ['सेवन', 'सात'],
122
+ 'zero': ['शून्य', 'जेरो', 'शुन्ना', 'जीरो'],
123
+ 'one': ['वन', 'एंक', 'इक', 'एक'],
124
+ 'two': ['टू', 'दो'],
125
+ 'three': ['थ्री', 'तीना', 'तीन', 'त्री'],
126
+ 'four': ['फोर','फ़ोर', 'फॉर', 'च्यार', 'चार'],
127
+ 'five': ['फाइव', 'पाँच', 'पांच'],
128
+ 'six': ['सिक्स', 'चह', 'छौ', 'छै', 'छह', 'छे'],
129
+ 'eight': ['एट', 'अट', 'आठ'],
130
+ 'nine': ['नाइन', 'नौ'],
131
+ 'ten': ['टेन', 'दस'],
132
+ # Hundred
133
+ 'hundred': ['हंड्रेड', 'सौ','सो','साव'],
134
+ # Thousand
135
+ 'thousand' : ['हजार','थौजनड','थाउजंड','हज़ार'],
136
+ # Lakhs
137
+ 'lac' : ['लाख'],
138
+
139
+ # Special for double digits
140
+ 'डबल': ['दबल', 'डबल', 'दुबाल'],
141
+ }
142
+
143
+ words = sentence.split() # Split the sentence by spaces
144
+
145
+ # Replace words using the mapping
146
+ for i, word in enumerate(words):
147
+ for replacement, patterns in replacement_map.items():
148
+ if word in patterns:
149
+ words[i] = replacement # Replace the word if it's fully matched
150
+
151
+ # Join the processed words back into a sentence
152
+ return ' '.join(words)
153
+
154
+
155
+ # In[ ]:
156
+
157
+
158
+
159
+