From 07846a83f98061750d7eb5175397b78336fc500c Mon Sep 17 00:00:00 2001 From: home Date: Sat, 27 Nov 2021 10:50:03 +0530 Subject: [PATCH 1/4] adding hook for number spell out --- python/mlmorph/number.py | 53 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 python/mlmorph/number.py diff --git a/python/mlmorph/number.py b/python/mlmorph/number.py new file mode 100644 index 0000000..d0d0536 --- /dev/null +++ b/python/mlmorph/number.py @@ -0,0 +1,53 @@ +onesStr = [ + "പൂജ്യം", + "ഒന്ന്", + "രണ്ട്", + "മൂന്ന്", + "നാല്", + "അഞ്ച്", + "ആറ്", + "ഏഴ്", + "എട്ട്", + "ഒമ്പത്" +] + +def clean(result) : + result = result.replace("", "") + result = result.replace("", "") + result = result.replace("ഒന്ന്", "") + result = result.replace("ഒന്ന്", "") + return result + + +def positionValues(value) : + result = "" + crores = int(value / 10000000) if (value >= 10000000) else 0 + lakhs = int((value % 10000000) / 100000) + thousands = int((value % 100000) / 1000) + hundreds = int((value % 1000) / 100) + tens = int((value % 100) / 10) + ones = int((value % 10) / 1) + result = (positionValues(crores) + "" if (crores > 0) else "" + + (positionValues(lakhs) + "" if (lakhs > 0) else "") + + (positionValues(thousands) + "" if (thousands > 0) else "") + + (positionValues(hundreds) + "" if (hundreds > 0) else "") + + (positionValues(tens) + "" if (tens > 0) else "") + + (onesStr[ones] + "" if (ones > 0) else "") + + (onesStr[ones] + "" if (value == 0) else "")) + return clean(result) + +def spellOut(value) : + return positionValues(value) + "" + + + + +if __name__ == '__main__' : + from mlmorph import Generator + generator = Generator() + num = spellOut(100) + print(generator.generate(num)) + + + + From 70630a54e1ed8083c5e9400d362fa8456dc9d9dd Mon Sep 17 00:00:00 2001 From: home Date: Wed, 1 Dec 2021 05:43:43 +0530 Subject: [PATCH 2/4] fixing brackets --- python/mlmorph/number.py | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/python/mlmorph/number.py b/python/mlmorph/number.py index d0d0536..8036dbf 100644 --- a/python/mlmorph/number.py +++ b/python/mlmorph/number.py @@ -11,15 +11,15 @@ "ഒമ്പത്" ] + def clean(result) : result = result.replace("", "") result = result.replace("", "") - result = result.replace("ഒന്ന്", "") + result = result.replace("ഒന്ന്", "") result = result.replace("ഒന്ന്", "") return result - -def positionValues(value) : +def positionValues(value) : result = "" crores = int(value / 10000000) if (value >= 10000000) else 0 lakhs = int((value % 10000000) / 100000) @@ -27,13 +27,13 @@ def positionValues(value) : hundreds = int((value % 1000) / 100) tens = int((value % 100) / 10) ones = int((value % 10) / 1) - result = (positionValues(crores) + "" if (crores > 0) else "" + - (positionValues(lakhs) + "" if (lakhs > 0) else "") + - (positionValues(thousands) + "" if (thousands > 0) else "") + - (positionValues(hundreds) + "" if (hundreds > 0) else "") + - (positionValues(tens) + "" if (tens > 0) else "") + - (onesStr[ones] + "" if (ones > 0) else "") + - (onesStr[ones] + "" if (value == 0) else "")) + result = ((positionValues(crores) + "") if (crores > 0) else "") + \ + ((positionValues(lakhs) + "") if (lakhs > 0) else "") + \ + ((positionValues(thousands) + "") if (thousands > 0) else "") + \ + ((positionValues(hundreds) + "") if (hundreds > 0) else "") + \ + ((positionValues(tens) + "") if (tens > 0) else "") + \ + ((onesStr[ones] + "") if (ones > 0) else "") + \ + ((onesStr[ones] + "") if (value == 0) else "") return clean(result) def spellOut(value) : From 54fb95ee3b3419865abcaeb0d5f5bf53ea026b64 Mon Sep 17 00:00:00 2001 From: home Date: Thu, 2 Dec 2021 04:11:26 +0530 Subject: [PATCH 3/4] condition handling of 11000 vs 1000 --- python/mlmorph/number.py | 27 ++++++++++++++++++++++----- 1 file changed, 22 insertions(+), 5 deletions(-) diff --git a/python/mlmorph/number.py b/python/mlmorph/number.py index 8036dbf..0c6f36e 100644 --- a/python/mlmorph/number.py +++ b/python/mlmorph/number.py @@ -1,3 +1,5 @@ +from mlmorph import Generator + onesStr = [ "പൂജ്യം", "ഒന്ന്", @@ -15,8 +17,8 @@ def clean(result) : result = result.replace("", "") result = result.replace("", "") - result = result.replace("ഒന്ന്", "") - result = result.replace("ഒന്ന്", "") + #result = result.replace("ഒന്ന്", "") # is it needed? + result = result.replace("ഒന്ന്", "") if result.startswith("ഒന്ന്") else result #to handle 11000 return result def positionValues(value) : @@ -39,14 +41,29 @@ def positionValues(value) : def spellOut(value) : return positionValues(value) + "" +def expand_numbers(value) : + numtext = spellOut(value) + generator = Generator() + out = generator.generate(numtext) + return out[-1][0] + + + + + + + + + if __name__ == '__main__' : - from mlmorph import Generator + value = 110 + out = spellOut(value) generator = Generator() - num = spellOut(100) - print(generator.generate(num)) + text = generator.generate(out) + #out = expand_numbers_ml(value) From ab367669f2883e1928d987d85887b10e22b35f2b Mon Sep 17 00:00:00 2001 From: home Date: Fri, 3 Dec 2021 06:01:06 +0530 Subject: [PATCH 4/4] returning all --- python/mlmorph/number.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/python/mlmorph/number.py b/python/mlmorph/number.py index 0c6f36e..a66d63e 100644 --- a/python/mlmorph/number.py +++ b/python/mlmorph/number.py @@ -41,11 +41,11 @@ def positionValues(value) : def spellOut(value) : return positionValues(value) + "" -def expand_numbers(value) : +def expand_numbers(value,weight=False) : numtext = spellOut(value) generator = Generator() - out = generator.generate(numtext) - return out[-1][0] + out = generator.generate(numtext,weighted=weight) + return out