Skip to content

Commit cef0215

Browse files
committed
Add a common mistake usecase
ബീജിംഗ് -> ബീജങ്ങ്
1 parent d7c558b commit cef0215

2 files changed

Lines changed: 11 additions & 8 deletions

File tree

libindic/normalizer/rules/normalizer.ml.yaml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ common_mistakes: # Regex patterns for common mistakes in Malayalam raw corpus, A
4747
'റ്(?![\s{PUNCTUATION}\u200c]|യ|വ|ല|ര|റ|$)': '' # Replace റ് with ർ when not at word end, string end and not followed by റ, ര, വ, ല, യ
4848
'ള്(?![\s{PUNCTUATION}]|ള|$)': '' # Replace ള് with ൾ when not at word end, string end and not followed by ള
4949
'ദു:ഖ': 'ദുഃഖ' # Common Mistake
50-
'നമ:': 'നമഃ' # Remove all ZWJ characters
50+
'നമ:': 'നമഃ' # Common Mistake
5151
'ററ': 'റ്റ' # To correct പൂമ്പാററ. Fails for കണ്ടംപററി
5252
'(^|\s)ാ': '\1ആ' # Map vowel sign "ാ" to "ആ" at the beginning of a word
5353
'(^|\s)ി': '\1ഇ' # Map vowel sign "ി" to "ഇ" at the beginning of a word
@@ -67,5 +67,4 @@ common_mistakes: # Regex patterns for common mistakes in Malayalam raw corpus, A
6767
'ൻറും' : 'ന്റും'
6868
'ൻറ്': 'ന്റ്'
6969
'ുൻപോൾ' : 'ുമ്പോൾ'
70-
71-
70+
'ംഗ്([{PUNCTUATION}\s]|$)': 'ങ്ങ്\1' # ബീഗിംഗ് -> ബീജിങ്ങ്; കമ്പ്യൂട്ടിംഗ് -> കമ്പ്യൂട്ടിങ്ങ്. Work only if it is at string end or followed by space

libindic/normalizer/tests/test_normalizer.py

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -46,6 +46,7 @@ def test_normalize(self):
4646
self.assertEqual(normalize('കൺ‌മണി'), 'കൺമണി')
4747
self.assertEqual(normalize('ഹാർഡ്‌വെയർ‌'), 'ഹാർഡ്‌വെയർ')
4848
self.assertEqual(normalize('സോഫ്റ്റ്‍വെയർ'), 'സോഫ്റ്റ്വെയർ') #soft_ware written with an zwj, before ‌_ware gets removed.
49+
self.assertEqual(normalize('ആല‌-', remove_punctuations=False), 'ആല-') #ZWNJ, if followed by punctuation is removed
4950
self.assertEqual(normalize('ആറ്റ്‌ലി'), 'ആറ്റ്‌ലി')
5051
self.assertEqual(normalize('ഇൻസ്റ്റിറ്റ്യൂട്ട്'), 'ഇൻസ്റ്റിറ്റ്യൂട്ട്')
5152
self.assertEqual(normalize('കാല്‍‍പനികം'), 'കാൽപനികം')
@@ -56,13 +57,13 @@ def test_normalize(self):
5657
self.assertEqual(normalize('നമ്പറുള്പ്പെടെ'), 'നമ്പറുൾപ്പെടെ')
5758
self.assertEqual(normalize('വള്ളിച്ചെടി'), 'വള്ളിച്ചെടി')
5859
self.assertEqual(normalize('കാറ്ഡ്'), 'കാർഡ്')
59-
self.assertEqual(normalize('കാറ്'), 'കാറ്')
60+
self.assertEqual(normalize('കാറ്-'), 'കാറ്')
6061
self.assertEqual(normalize('കാറ് '), 'കാറ് ')
6162
self.assertEqual(normalize('പൂമ്പാററ'), 'പൂമ്പാറ്റ')
6263
self.assertEqual(normalize('കാറ്റ്'), 'കാറ്റ്')
6364
self.assertEqual(normalize('ദു:ഖത്തിന്റെ–'), 'ദുഃഖത്തിന്റെ')
64-
self.assertEqual(normalize('ദു:ഖത്തിന്റെ', remove_punctuations=False),
65-
'ദുഃഖത്തിന്റെ')
65+
self.assertEqual(normalize('ദു:ഖത്തിന്റെ-', remove_punctuations=False),
66+
'ദുഃഖത്തിന്റെ-')
6667
self.assertEqual(normalize(' ൊന്നിലോ'), ' ഒന്നിലോ')
6768
self.assertEqual(normalize('ൌന്നത്യം'), 'ഔന്നത്യം')
6869
self.assertEqual(normalize('പാൻറ്'), 'പാന്റ്')
@@ -71,8 +72,11 @@ def test_normalize(self):
7172
self.assertEqual(normalize('അമ്മ’'), 'അമ്മ')
7273
self.assertEqual(normalize('അമ്മ’', remove_punctuations=False), "അമ്മ'")
7374
self.assertEqual(normalize('ഇ–മെയിൽ', remove_punctuations=False), "ഇ-മെയിൽ")
74-
75-
75+
self.assertEqual(normalize('ഇ–മെയിൽ'), "ഇമെയിൽ")
76+
self.assertEqual(normalize('ബീജിംഗ്'), "ബീജിങ്ങ്")
77+
self.assertEqual(normalize('പിംഗ് '), "പിങ്ങ് ")
78+
self.assertEqual(normalize('ദി കിംഗ്.', remove_punctuations=False), "ദി കിങ്ങ്.")
79+
self.assertEqual(normalize('ദി കിംഗ്!', remove_punctuations=True), "ദി കിങ്ങ്")
7680

7781
def test_multiline_string(self):
7882
expected = """കുഞ്ചൻ നമ്പ്യാർ

0 commit comments

Comments
 (0)