Malayalam Script LGR rules for public review

The Malayalam and Tamil Root Zone Label Generation Rules for International Domain names have been released for public comments. See the announcement from ICANN. This was drafted by the Neo-Brahmi Script Generation Panel (NBGP), in which I am also a member.

Your comments on the proposal for the Malayalam Script Label Generation Rules for the Root Zone (LGR [XML, 18 KB] and supporting documentation [PDF, 998 KB]) can be submitted at the feedback form till Nov 7 2018.

My earlier blog post on Internationalized Top Level Domain Names in Indian Languages has some detailed information about this.

Malayalam morphology analyser – status update

For the last several months, I am actively working on the Malayalam morphology analyser project. In case you are not familiar with the project, my introduction blog post is a good start. I was always skeptical about the approach and the whole project as such looked very ambitious. But, now  I am almost confident that the approach is viable. I am making good progress in the project, so this is some updates on that.

Analyser coverage statistics

Recently I added a large corpora to frequently monitor the percentage of words the analyser can parse.  The corpora was selected from two large chapters of ഐതിഹ്യമാല, some news reports, an art related essay, my own technical blog posts to have some diversity in the vocabulary.

Total words
15808
Analysed words10532
Coverage66.62%
Time taken
0.443 seconds

This is a very encouraging. Achieving a 66% for such a morphologically rich language Malayalam is no small task. From my reading, Turkish and Finnish, languages with same complexity of morphology achieved about 90% coverage. It may be more difficult to increase the coverage for me compared to achieving this much so far. So I am planning some frequency analysis on words that are not parsed by analyser, and find some patterns to improve.

The performance aspect is also notable. Once the automata is loaded to memory, the analysis or generation is super fast. You can see that ~16000 words were analyzed under half of a second.

Tests

From the very beginning the project was test driven. I now has 740 test cases for various word forms

The transducer

The compiled transducer now is 6.2 MB.  The transducer is written in SFST-PL and compile using SFST. It used to be compiled using hfst, but hfst is now severely broken for SFST-PL compilation, so I switched to SFST. But the compiled transducer is read using hfst python binding.

Fst type
SFST
arc typeSFST
Number of states
200562
Number or arcs
732268
Number of final states
130

The Lexicon

The POS tagged lexicon I prepared is from various sources like wiktionary, wikipedia(based on categories), CLDR. While developing I had to improve the lexicon several times since none of the above sources are accurate. The wiktionary also introduced a large amount of archaic or sanskrit terms to the lexicon. As of today, following table illustrates the lexicon status

Nouns
64763
Person names
505
Place names
2031
Postpositions
85
Pronouns
33
Quantifiers
57
Abbreviations
27
Adjectives
18
Adverbs
14
Affirmatives
6
Conjunctions
75
Demonstratives
9
English borrowed nouns
657
Interjections
36
Language names(nouns)
639
Affirmations and negations
8
Verbs
3844

As you can see, the lexicon is not that big. Especially it is very limited for proper nouns like names, places. I think the verb lexicon is much better. I need to find a way to expand this further.

POS Tagging

There is no agreement or standard on the POS tagging schema to be used for Malayalam. But I refused to set this is as a blocker for the project. I defined my own POS tagging schema and worked on the analyser. The general disagreement is about naming, which is very trivial to fix using a tag name mapper. The other issue is classification of features, which I found that there no elaborate schema that can cover Malayalam.

I started referring http://universaldependencies.org/ and provided links to the pages in it from the web interface.  But UD is also missing several tags that Malayalam require. So far I have defined 85 tags

Challenges

The main challenge I am facing is not technical, it is linguistic. I am often challenged by my limited understanding of Malayalam grammar. Especially about the grammatical classifications, I find it very difficult to come up with an agreement after reading several grammar books. These books were written in a span of 100 years and I miss a common thread in the approach for Malayalam grammar analysis. Sometimes a logical classification is not the purpose of the author too. Thankfully, I am getting some help from Malayalam professors whenever I am stuck.

The other challenge is I hardly got any contributor to the project except some bug reporting. There is a big entry barrier to this kind of projects. The SFST-PL is not something everybody familiar with. I need to write some simple examples for others to practice and join.

I found that some practical applications on top of the morphology analyser is attracting more people. For example, the number spellout application I wrote caught the attention of many people. I am excited to present the upcoming spellchecker that I was working recently. I will write about the theory of that soon.

The many forms of ചിരി ☺️

This is an attempt to list down all forms of Malayalam word ചിരി(meaning: ☺️, smile, laugh). For those who are unfamiliar with Malayalam, the language is a highly inflectional Dravidian language. I am actively working on a morphology analyser(mlmorph) for the language as outlined in one of my previous blogpost.

I prepared this list as a test case for mlmorph project to evaluate the grammar rule coverage. So I thought of listing it here as well with brief comments.
1. ചിരി
ചിരി is a noun. So it can have all nominal inflections.

2. ചിരിയുടെ
3. ചിരിക്ക്
4. ചിരിയ്ക്ക്
5. ചിരിയെ
6. ചിരിയിലേയ്ക്ക്
7. ചിരികൊണ്ട്
8. ചിരിയെക്കൊണ്ട്
9. ചിരിയിൽ
10. ചിരിയോട്
11. ചിരിയേ

There is a plural form
12. ചിരികൾ

A number of agglutinations can happen at the end of the word using Affirmatives, negations, interrogatives etc. For example, ചിരിയുണ്ട്, ചിരിയില്ല, ചിരിയോ. But now I am ignoring all agglutinations and listing only the inflections.

ചിരിക്കുക is the verb form of ചിരി.
13.  ചിരിക്കുക

It can have the following tense forms
14. ചിരിച്ചു
15. ചിരിക്കുക
16. ചിരിക്കും

A concessive form for the word
17. ചിരിച്ചാലും

This verb has the following aspects
18. ചിരിക്കാറ്
19. ചിരിച്ചിരുന്നു
20. ചിരിച്ചിരിയ്ക്കുന്നു
21. ചിരിച്ചിരിക്കുന്നു
22. ചിരിച്ചിരിക്കും
23. ചിരിച്ചിട്ട്
24. ചിരിച്ചുകൊണ്ടിരുന്നു
25. ചിരിച്ചുകൊണ്ടേയിയിരുന്നു
26. ചിരിച്ചുകൊണ്ടേയിരിക്കുന്നു
27. ചിരിച്ചുകൊണ്ടിരിക്കുന്നു
28. ചിരിച്ചുകൊണ്ടിരിക്കും
29. ചിരിച്ചുകൊണ്ടേയിരിക്കും

There are number of mood forms for the verb ചിരിക്കുക
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. ചിരിച്ചുവല്ലോ

There are a few inflections with adverbial participles
58. ചിരിക്കാൻ
59. ചിരിച്ച്
60. ചിരിക്ക
61. ചിരിക്കിൽ
62. ചിരിക്കുകിൽ
63. ചിരിക്കയാൽ
64. ചിരിക്കുകയാൽ

The verb can act as an adverb clause. Examples
65. ചിരിച്ച
66. ചിരിക്കുന്ന
67. ചിരിച്ചത്
68. ചിരിച്ചതു്
69. ചിരിക്കുന്നത്

The above two forms act as nominal forms. Hence they have all nominal inflections too
70. ചിരിച്ചതിൽ
71. ചിരിക്കുന്നതിൽ
72. ചിരിക്കുന്നതിന്
73. ചിരിച്ചതിന്
74. ചിരിച്ചതിന്റെ
75. ചിരിക്കുന്നതിന്റെ
76. ചിരിച്ചതുകൊണ്ട്
77. ചിരിക്കുന്നതുകൊണ്ട്
78. ചിരിച്ചതിനോട്
79. ചിരിക്കുന്നതിനോട്
80. ചിരിക്കുന്നതിലേയ്ക്ക്

Now, a few voice forms for the verb ചിരിക്കുക
81. ചിരിക്കപ്പെടുക
82. ചിരിപ്പിക്കുക

These voice forms are again just verbs. So it can go through all the above inflections the verb ചിരിക്കുക has. Not writing it here, since it mostly a repeat of what is listed here. ചിരിക്കപ്പെടുക has all inflections of the verb പെടുക. You can see them listed in my test case file though

A noun can be derived from the verb ചിരിക്കുക too. That is
83. ചിരിക്കൽ

Since it is a noun, all nominal inflections apply.
84. ചിരിക്കലേ
85. ചിരിക്കലിനോട്
86. ചിരിക്കലിൽ
87. ചിരിക്കലിന്റെ
88. ചിരിക്കലിനെക്കൊണ്ട്
89. ചിരിക്കലിലേയ്ക്ക്
90. ചിരിക്കലിന്

My test file has 164 entries including the ones I skipped here. As per today, the morphology analyser can parse 74% of the items. You can check the test results here: https://paste.kde.org/pn5z0oh7g

A native Malayalam speaker may point out that the variation fo this word ചിരിയ്ക്കുക -with യ് before ക്കുക. My intention is to support that variation as well. Obviously that word also will have the above listed inflected forms.

Now that I wrote this list here, I think having a rough English translation of each items would be cool, but it is too tedious to me.

How to type Malayalam using Keyman 10 and Mozhi

This is a quick tutorial on installing Mozhi input method in Windows 10.

Mozhi is a transliteration based keyboard  for Malayalam. You can type malayaalam to get മലയാളം for example. We will use Keyman tool as the input tool. Keyman input tool is an opensource input mechanism now developed by SIL. It supports lot of languages and Mozhi malayalam is one of that.

Step 1: Download Keyman desktop with Mozhi Malayalam keyboard

Go to https://keyman.com/keyboards/mozhi_malayalam. There you will see the following options to download. Select the first one as shown below. Download the installer to your computer. It is a file about 20MB.

Keyman 10 Desktop download page.

Step 2: Installation

Double click the downloaded file to start installation. The installer will be like this:

Keyman 10 Desktop installer

Click on the Install Keyman Desktop button. You will see the below screen.

Keyman 10 Desktop welcome page.

 

Press the “Start keyman” button. The installation will start and keyboard will start.

Step 3: Choose Mozhi input method

You will see a small icon at the bottom of your screen, near time is displayed.

Click on that to choose Mozhi.

Keyboard selection

Once you chose Mozhi, you can type in Manglish anywhere and you will see malayalam. To learn typing click on the “Keyboard Usage” as shown above.

Step 4: Start typing in Malayalam

You can directly type Malayalam in any application without copy paste. Just like English, start typing. Make sure to use a good Malayalam font. You can get them from https://smc.org.in/fonts/

Using Mozhi in LibreOffice. Notice the font used is Manjari.What I typed is “ippOL enikk malayaalam ezhuthaanaRiyaam”

 

Kindle supports custom fonts

I am pleasantly surprised to see that Amazon Kindle now supports installing custom fonts. A big step towards supporting non-latin content in their devices. I can now read Malayalam ebooks in my kindle with my favorite fonts.

Content rendered in Manjari font. Note that I installed Bold, Regular, Thin variants so that Kindle can pick up the right one

This feature is introduced in Kindle 5.9.6.1 version released in June 2018. Once updated to that version, all you need is to connect the device using the USB cable to your computer. Copy your fonts to the fonts folder there. Remove the usb cable. You will see the fonts listed in font selector.

Kindle had added Malayalam rendering support back in 2016, but the default font provided was one of the worst Malayalam fonts. It had wrong glyphs for certain conjuncts and font had minimal glyphs.

I tried some of the SMC Malayalam fonts in the new version of Kindle. Screenshots given below

Custom fonts selection screen. These fonts were copied to the device
Select a font other than the default one
Content in Rachana.
Make sure to check the version. 5.9.6.1 is the latest version and it supports custom fonts

Talk on ‘Malayalam orthographic reforms’ at Grafematik 2018

Santhosh and I presented a paper on ‘Malayalam orthographic reforms: impact on language and popular culture’ at Graphematik conference held at IMT Atlantique, Brest, France. Our session was chaired by Dr. Christa Dürscheid.

The paper we presented is available here. The video of our presentation is available in youtube.

Grafematik is a conference, first of its kind, bringing together disciplines concerned with writing systems and their representation in written communication. There were lot of interesting talks on various scripts around the world, their digital representation, role of Unicode, typeface design and so on. All the talk videos are available in the conference website.

u and uː vowel signs of Malayalam

The reformed or simplified orthographic script style of Malayalam was introduced in 1971 by this government order. This is what is taught in schools. The text book content is also in reformed style. The prevailing academic situation does not facilitate the students to learn the exhaustive and rich orthographic set of Malayalam script. At the same time  they observe a lot of wall writings, graffiti, bill-boards and handwriting sticking to the exhaustive orthographic set.

The sign marks for the vowels ഉ and ഊ (u and ) have many diverse forms in the exhaustive orthographic set when joined with different consonants. But in the reformed style they are always detached from the base consonant with a unique form as ു and ൂ respectively for the vowel sounds u and . Everyone learns to read both of these orthographic variants either from the school or from everyday observations. But while writing the styles, they often gets mixed up as seen below.

u sign forms on wall writings
The green mark indicates the usage of reformed orthography to write പു (pu), blue indicates the usage of exhaustive set orthography to write ക്കു (kku). But the one in red is an unusual usage of exhaustive orthography to write ത്തു (ththu). Such usages are commonplace now, mainly due to the lack of academic training as I see it.

 

Redundant usage of vowel sign of u is indicated in circle

In this blog post I  try to consolidate the vowel signs of u and  referring to early script learning resources for Malayalam.

Vowel signs in Malayalam

There are 37 consonants and 15 vowels in Malayalam (additionally there are less popular consonant vowels like ൠ, ഌ and ൡ). Vowels have independent existence only at word beginnings. Otherwise they appear as consonant sound modifiers, in form of vowel signs. These signs often modify the glyph shape of consonants and this is a reason for the complex nature of Malayalam script. These marks can get distributed over the left and right of the base consonant. See the table below:

As seen in the table, the signs ു, ൂ, ൃ ([u] ,[uː], [rɨ] ) changes the shape of the base consonant grapheme. It was not until the 1971 orthographic reformation these signs got detached from the base grapheme. You can see the detached form as well in the rows 5,6 and 7 of the above table.

How does the vowel sign for ‘ു’ [u] and ‘ൂ’ [uː] affect the base consonant?

In the exhaustive script set of Malayalam there are in fact 8 ways in which ‘ു’ [u] and ‘ൂ’ [uː] sign marks change the shape of base consonant grapheme. These 8 forms (u- 4 forms and uː – 4 forms) are consolidated below.

‘ു’ [u] sign induces 4 types of shape variations to base consonant.

  • ക(ka) , ര(ra) gets modified by a shape we hereby call as hook. The same shape change applies to all conjuncts that ends with ക as in ങ്ക(n̄ka), ക്ക(kka), സ്ക(ska) and സ്ക്ക(skka). As the conjuncts that ends with ര(ra) assumes a special shape the hook shaped sign does not apply to them.
  • ഗ(ga), ഛ(ʧʰa), ജ(ʤa), ത(t̪a), ഭ(bʱa), ശ(ʃa), ഹ(ɦa) gets modified by a shape that resembles a tail that comes back to right after moving left. Those conjuncts which end with these consonants also assume the same tail shape when when ‘ു’ [u] vowel sign appear after them.
  • ണ(ɳa) and ന(na/n̪a) changes their shape with an inward closed loop. Those conjuncts which end with these consonants also assume the same loop shape when when ‘ു’ [u] vowel sign appear after them. For example ണ്ണ(ɳɳa), ന്ന(nna), ക്ന(kna) etc.
  • All other 24 consonants use the drop shape. As it is the most popular among all [u] signs, it is often mistakenly used instead of the other signs mentioned above. This case is indicated in the red circle in figure captioned u sign forms on wall writings.

‘ൂ’ [uː] sign induces 4 types of shape variations to base consonants.

  • ക(ka) , ര(ra), ഗ(ga), ഛ(ʧʰa), ജ(ʤa), ത(t̪a), ഭ(bʱa), ശ(ʃa), ഹ(ɦa) can have two alternate uː sign forms. First shape is hook and tail shape while the second one is hook and rounded tail.
    • Hook and rounded tail is more popular with the consonants ക(ka) , ര(ra) and ഭ(bʱa)
    • Hook and tail is more popular with the consonants ഗ(ga), ഛ(ʧʰa), ജ(ʤa), ത(t̪a), ശ(ʃa) and ഹ(ɦa)
  • The outward open loop shape is assumed by the ‘ൂ’ [uː] sign mark when associated with the consonants ണ(ɳa) and ന(na/n̪a)
  • All other 24 consonants use the double-drop shape. As it is the most popular among all [u] signs, it is often mistakenly used instead of the other signs mentioned above

Note: The sign shape names drop, double-drop, hook, hook and tail, hook and rounded tail, tail, closed loop and open loop are author’s own choice. Hence there is no citations to literature.

Early texts on Malayalam script and orthography

Modern textbooks do not detail the ‘ു’ [u] and ‘ൂ’ [uː] vowel sign forms. The earliest available reference to the script of Malayalam and its usage is the book from 1772, Alphabetum grandonico-malabaricum sive samscrudonicum.It was a text book meant to be used by western missionaries to Kerala to learn the Malayalam script and its language of description is Latin. Alphabetum describes various vowel sign forms but it does not give any indication on the hook and tail form. ക(ka) , ര(ra), ഗ(ga), ഛ(ʧʰa), ജ(ʤa), ത(t̪a), ഭ(bʱa), ശ(ʃa), ഹ(ɦa) etc. uses the hook and rounded tail form only. This being the first ever compilation of Malayalam script usage, that too by a non-native linguist, there are chances for unintended omissions about which I am not sure of.

The metal types used in this book were movable, and were the first of its kind to be used to print a Malayalam book. The same types were used to print the first ever complete book in Malayalam script Samkshepavedartham.

Excerpt from Alphabetum grandonico-malabaricum sive samscrudonicum describing the usage of ‘ു’ [u] and ‘ൂ’ [uː] signs
A still later work in this regard was done by Rev. George Mathan, almost a century later to Alphabetum. He introduces drop/double drop for ‘ു’ [u]/ ‘ൂ’ [uː] as the common sign form and all others shapes are indicated as exceptions. He clearly mentions about the two alternate forms of hook and tail as well as hook and rounded tail in his book on the Grammar of Malayalam.Grammar of Malayalam- George Mathan

Grammar of Malayalam- George Mathan

Contemporary usage of orthographic styles

The early attempts to describe the script of Malayalam with all its complexity is seen in these books in the initial days of printing era. Much later, in 1971 reformed script orthography was introduced to the language and culture aiming at overcoming the technological limitation of Malayalam typewriters. But the language users never abandoned the then existing style variants. Now we see around us a mix of all these styles.

Note: This is a translation of an earlier blog post written in Malayalam

Typoday 2018

Santhosh and I jointly presented a paper at Typoday 2018. The paper was titled ‘Spiral splines in typeface design: A case study of Manjari Malayalam typeface’. The full paper is available here. The presentation is available here.

Typoday is the annual conference where typographers and graphic designers from academia and industry come up with their ideas and showcase their work. Typoday 2018 was held at Convocation Hall, University of Mumbai.

 

മലയാളത്തിലെ ‘ഉ’കാര ചിഹ്നങ്ങൾ

പരിഷ്കരിച്ച മലയാള ലിപിയാണല്ലോ ഇന്നു പാഠപുസ്തകത്തിലുള്ളതും വിദ്യാലയങ്ങളിൽ പഠിപ്പിക്കുന്നതും. അതുകൊണ്ടു തന്നെ ഔപചാരിക വിദ്യാഭ്യാസത്തിൽ മലയാളത്തിന്റെ തനതുലിപിയുടെ ശൈലീഭേദങ്ങൾ പരിചയിക്കുവനുള്ള അവസരം നമുക്കു കിട്ടാറില്ല. പക്ഷേ ചുമരെഴുത്തുകളിലും, ബസ്സിലെ ബോർഡുകളിലും, തനതുമലയാളം എഴുതിശീലിച്ച മുതിർന്നവരുടെ കയ്യെഴുത്തിലുമൊക്കെയായി ഈ ലിപിരൂപങ്ങൾ നമ്മുടെ മുന്നിലുണ്ടു താനും. ലിപിപരിഷ്കരണത്തിന്റെ ഭാഗമായി വേർപെട്ട കൂട്ടക്ഷരങ്ങൾ മിക്കതും തെറ്റുകളൊന്നുമില്ലാതെ നമ്മുടെ കയ്യെഴുത്തുകളിൽ അറിഞ്ഞോ അറിയാതെയോ കൂടിച്ചേരാറുണ്ട്. പക്ഷേ വേർപെട്ട ചിഹ്നങ്ങൾ, പ്രത്യേകിച്ച് ു, ൂ ചിഹ്നങ്ങൾ വ്യഞ്ജനത്തോടു ചേർത്തെഴുതുമ്പോൾ ശൈലികൾ  കൂടിക്കുഴഞ്ഞ് പോവുകയും ചെയ്യുന്നു. ചുവടെയുള്ള ചിത്രം നോക്കുക.

ഉ-ചിഹ്നങ്ങളുടെ ഉപയോഗം ചുമരെഴുത്തിൽ.

പച്ചയടയാളത്തിനുള്ളിൽ പരിഷ്കരിച്ച ലിപി, നീലയിൽ തനതു ലിപി എന്നിവ കാണാം. ചുവന്ന അടയാളമിട്ടു സൂചിപ്പിച്ചിരിക്കുന്നത്  മലയാളത്തിൽ പതിവില്ലാത്ത ശൈലിയാണ്. മലയാളത്തിലെ ഉകാര ചിഹ്നങ്ങൾ തന്നെ എട്ടുവിധമുണ്ട്. ഒട്ടും എഴുത്തുപരിശീലനം ഇല്ലെങ്കിൽ ഇത്തരം പിശകുകൾ കടന്നുകൂടുകതന്നെ ചെയ്യും.

ഈ ചിഹ്നങ്ങളും അവ വ്യഞ്ജനങ്ങളിൽ എങ്ങനെ ചേരുന്നുവെന്നും ചെറുതായി ഈ ലേഖനം പരിചയപ്പെടുത്തുന്നു. ഒപ്പം പഴയകാലങ്ങളിൽ ഇതെങ്ങനെയാണ് പരിചയപ്പെടുത്തിയിരുന്നതു് എന്നതു് ചില പ്രാചീന മലയാള പുസ്തകങ്ങളെ അടിസ്ഥാനമാക്കി വിശദീകരിക്കുന്നു.

തനതുലിപിയിലെ പലശൈലിയിലുള്ള ഉ-ചിഹ്നങ്ങൾ  ആവർത്തിച്ചു ചേർത്തുപയോഗിച്ചിരിക്കുന്നു.

സ്വരചിഹ്നങ്ങൾ മലയാളത്തിൽ

മുപ്പത്തിയേഴ് വ്യഞ്ജനാക്ഷരങ്ങളാണ് മലയാളത്തിനുള്ളത്, പതിനഞ്ചു സ്വരങ്ങളും (അത്ര പ്രചാരത്തിലില്ലാത്ത ൠ, ഌ, ൡ എന്നിവ ചേർത്താൽ 18). സ്വരാക്ഷരങ്ങൾ സ്വതന്ത്രമായി നിൽക്കുന്നത് പൊതുവിൽ വാക്കുകളുടെ തുടക്കത്തിൽ മാത്രമാണ്. അല്ലാത്തപ്പോഴെല്ലാം വ്യഞ്ജനശബ്ദങ്ങളെ പരിഷ്കരിച്ചുകൊണ്ട് അവയോട് ചേർന്നു നിൽക്കും. ഇങ്ങനെ ചേർന്നുനിൽക്കുന്നത് സ്വരാക്ഷരങ്ങളല്ല, മറിച്ച് അവയെക്കുറിക്കുന്ന സ്വരചിഹ്നങ്ങളാണ്. സ്വരചിഹ്നങ്ങൾ വ്യഞ്ജനത്തോടു ചേരുമ്പോഴുണ്ടാകുന്ന ലിപിരൂപങ്ങളുടെ വൈവിദ്ധ്യം മലയാളത്തിന്റെ ഒരു സവിശേഷതയാണ്. സ്വരചിഹ്നങ്ങൾ വ്യഞ്ജനങ്ങളുടെ ഇടതും വലതും ഒക്കെയായി വിന്യസിക്കപ്പെടും. പട്ടിക കാണുക.

മലയാളത്തിലെ സ്വരാക്ഷരങ്ങൾ, സ്വരചിഹ്നങ്ങൾ.

പട്ടികയിൽ കാണുന്നതുപോലെ  ു, ൂ, ൃ ചിഹ്നങ്ങൾ വ്യഞ്ജനത്തോടൊട്ടിനിന്ന് അവയുടെ രൂപത്തെത്തന്നെ മറ്റുന്നു. മലയാളലിപികൾ 1971ൽ പരിഷ്കരിക്കപ്പെട്ടതിനു ശേഷമാണ് വ്യഞ്ജനത്തിന്റെ വലതുഭാഗത്തു വേർപെട്ടുനിൽക്കുന്ന വിധത്തിൽ ഈ ചിഹ്നങ്ങൾ പ്രചാരത്തിലായത്. പരിഷ്കരിച്ച ലിപിയിൽ ഈ ചിഹ്നങ്ങൾക്കു വേറിട്ട വിധത്തിലുള്ള രൂപങ്ങൾ മാത്രമേയുള്ളൂ. 5, 6, 7 വരികളിലായി ഇതും പട്ടികയിൽ കാണാം.

ു, ൂ ചിഹ്നങ്ങൾ എങ്ങനെയൊക്കെ വ്യഞ്ജനത്തോടു ചേരാം?

സ്വരങ്ങളിലെ ചിഹ്നരൂപങ്ങളിൽ ഏറ്റവും വ്യത്യസ്തമായ ശൈലികളിൽ വ്യഞ്ജനത്തോടു ചേരുന്നത് ‘ു’, ‘ൂ’ ചിഹ്നങ്ങളാണ്. ചേരുമ്പോൾ വ്യഞ്ജനത്തിന്റെ രൂപത്തെത്തന്നെ അവ മാറ്റുകയും ചെയ്യും. ഓരോ വ്യഞ്ജനത്തിലും ഈ ചിഹ്നം വരുത്തുന്ന മാറ്റം വ്യത്യസ്തമാണ്. ഒരുപക്ഷേ ലിപി പരിണമിച്ചു വന്നപ്പോൾ  ഉണ്ടായ മാറ്റമാകാം ഇതിനു കാരണം. ഉ, ഊ ചിഹ്നങ്ങൾ വ്യഞ്ജനത്തോടു ചേരുമ്പോഴുള്ള ശൈലീവ്യതിയാനങ്ങൾ തനതുലിപിയിൽ ആകെ എട്ടു വിധത്തിലാകാം.  അവ ക്രോഡീകരിക്കികയാണ് ഇവിടെ.

 

മലയാളത്തിലെ ഉ-ചിഹ്നങ്ങൾ
  • ഉകാരം വ്യഞ്ജനത്തോടു ചേരുമ്പോൾ നാലുവിധത്തിലുള്ള മാറ്റങ്ങൾ വ്യഞ്ജനാക്ഷരങ്ങൾക്കു വന്നുചേരുന്നു.
  • ക, ര ഇവയോടു ഉകാരം ചേരുമ്പോഴുള്ള രൂപവ്യതിയാനം കുനിപ്പ് എന്ന പേരിൽ ചിത്രത്തിൽ സൂചിപ്പിച്ചിരിക്കുന്നു. ഈ രണ്ട് അക്ഷരങ്ങൾക്കും പിന്നെ കാരത്തിലവസാനിക്കുന്ന  എല്ലാ കൂട്ടക്ഷരങ്ങൾക്കും ഇതു ബാധകമാണ്. ങ്ക, ക്ക, സ്ക, സ്ക്ക ഇവയെല്ലാം അതിൽപ്പെടുന്നു. കാരത്തിൽ അവസാനിക്കുന്ന കൂട്ടക്ഷരങ്ങൾക്കായി പ്രത്യേകചിഹ്നമുള്ളതുകൊണ്ട് അവിടെ ഒരിക്കലും കുനിപ്പുപയോഗിക്കേണ്ടി വരികയില്ല.
  • ഗ, ഛ, ജ, ത, ഭ, ശ, ഹ -ഇവയോട് ഉകാരം ചേരുമ്പോഴുള്ള  ശൈലി  ഇടത്തേയ്ക്കുനീണ്ടു വലത്തോട്ടു തിരിച്ചുവരുന്ന ഒരു വാല് രൂപമാണ്. ഈ അക്ഷരങ്ങളിലവസാനിക്കുന്ന കൂട്ടക്ഷരങ്ങൾക്കും ഈ രീതി തന്നെയാണ് പിന്തുടരുക.
  • ണ, ന എന്നിവയോട് ഉകാരം ചേരുമ്പോൾ ഉണ്ടാകുന്ന രൂപവ്യതിയാനം ഉള്ളിലേയ്ക്കുള്ള ഒരു ചുരുട്ടാണ്. ഈ അക്ഷരങ്ങളിലവസാനിക്കുന്ന കൂട്ടക്ഷരങ്ങൾക്കും ഇതു ബാധകമാണ്. ഉദാഹരണത്തിന് ണ്ണ, ന്ന, ക്ന ഇവയൊക്കെ.
  • മറ്റു് 24 വ്യഞ്ജനാക്ഷരങ്ങളും ഉപയോഗിക്കുന്നത് ചുഴിപ്പ്/കുണുക്ക് എന്ന രൂപമാണ് . ഏറ്റവും കൂടുതൽ ഉപയോഗിക്കുന്ന ശൈലി ഇതായതു കൊണ്ടു തന്നെ എല്ലാവ്യഞ്ജനങ്ങൾക്കും ഈ ശൈലി പകർത്തിയുപയോഗിക്കുക എന്ന പിഴവ് വളരെ വ്യാപകമായി കാണാറുണ്ട്. ഇതുതന്നെയാണ് ആദ്യത്തെ ചുമരെഴുത്തിൽ ചുവന്ന അടയാളത്തിൽ കാണിച്ചിരിക്കുന്നതും.
മലയാളത്തിലെ ഊ-ചിഹ്നങ്ങൾ

ഊകാരം വ്യഞ്ജനത്തോടു ചേരുമ്പോളും നാലുവിധത്തിലുള്ള മാറ്റങ്ങൾ വ്യഞ്ജനാക്ഷരങ്ങൾക്കു വന്നുചേരുന്നു.

  • ക, ഭ, ര, ഗ, ഛ, ജ, ത, ഭ, ശ, ഹ  ഇവയുടെ ഊകാര ചിഹ്നങ്ങൾ രണ്ടുവിധത്തിൽ ഉണ്ടാകാം: കുനിപ്പിട്ട വളപ്പുരൂപവും കുനിപ്പിട്ട വാലുരൂപവും.
    • കുനിപ്പിനുശേഷം അക്ഷരത്തെച്ചുറ്റി ഇടത്തേയ്ക്ക് വളഞ്ഞുപോകുന്നതാണ് കുനിപ്പിട്ടവളപ്പ്. കുനിപ്പിനു ശേഷം ഇടത്തേയ്ക്കുപോയി വലത്തേയ്ക്കു തിരിച്ചുവരുന്നതാണ് കുനിപ്പിട്ടവാല്.
    • ക, ര, ഭ എന്നിവയ്ക്ക് കുനിപ്പിട്ടവളപ്പാണ് ഇന്നുകൂടുതൽ പ്രചാരത്തിലുള്ളത്
    • ഗ, ഛ, ജ, ത, ഭ, ശ, ഹ ഈ അക്ഷരങ്ങൾക്ക് കുനിപ്പിട്ട വാല് രൂപവും. ചിത്രത്തിൽ ആദ്യം സൂചിപ്പിച്ചിരിക്കുന്നത് ഇതാണ്.
  • ചുരുട്ട് പുറത്തേയ്ക്ക് നീട്ടുന്ന ചുരുട്ടുവാല് എന്നു പേരിടാവുന്ന രൂപമാണ് ന, ണ എന്നീ അക്ഷരങ്ങളുടെ ഊകാരരൂപങ്ങൾ.
  • മറ്റു വ്യഞ്ജനങ്ങൾ 24 എണ്ണവും ഇരട്ടച്ചുഴിപ്പായി വ്യഞ്ജനങ്ങളോട് ചേരുന്നു. ഇതും എല്ലാ വ്യഞ്ജനത്തിനുമുള്ള പൊതുരൂപമായിക്കരുതി പിഴവുവരുത്തുന്നതും സാധാരണമാണ്.

കുറിപ്പ്: ചിഹ്നത്തിന്റെ രൂപങ്ങൾക്ക് പൊതുവായ പേരുകൾ കണ്ടെത്താൻ സാധിക്കാത്തതിനാൽ ലേഖിക തന്നെ ഇട്ട പേരുകളാണ്   കുനിപ്പ്, ചുഴിപ്പ്, ചുരുട്ട്, വാല് എന്നിവ. പകരം വേറെ പേരുകളുണ്ടാവാം.

‘ഉ’കാരചിഹ്നങ്ങൾ പ്രാചീനലിപിപാഠങ്ങളിൽ

ആധുനിക പാഠപുസ്തകങ്ങളിൽ നിന്ന് ഈ ലിപിരൂപങ്ങൾ പരിചയപ്പെടുവാൻ സാധിക്കില്ല. പക്ഷേ പ്രാചീന ലിപിപാഠപുസ്തകങ്ങൾ പലതിലും വളരെ വിശദമായി ഇവയെ വിവരിക്കുന്നുണ്ടു താനും. കയ്യെഴുത്തുപ്രതികളിൽ നോക്കിയാലാണ് ലിപിശൈലികളുടെ യഥാർത്ഥ ചിത്രം വ്യക്തമാകൂ. അച്ചടി പലതിനേയും മാനകീകരിക്കുമ്പോൾ വൈവിധ്യം നഷ്ടമായിട്ടുമുണ്ടാകും.

മലയാളലിപികൾ ആണിയച്ചുകളായി(movable types, ജംഗമാച്ചുകൾ) ആദ്യം അച്ചടിക്കപ്പെടുന്നത് റോമിൽ 1772 ലാണ്. ഫാദർ ക്ലെമന്റ് പിയാനിസ് തയ്യാറാക്കിയ ‘ആൽഫബെത്തും ഗ്രന്ഥോനിക്കോ മലബാറിക്കും‘ എന്ന ഈ ലത്തീൻ പുസ്തകം പാശ്ചാത്യമിഷനറിമാർക്ക് മലയാളലിപികൾ പഠിക്കാനുതകുന്ന വിധത്തിൽ തയ്യാറാക്കിയതായിരുന്നു. ഇതേ അച്ചുകളുപയോഗിച്ചാണ് ആദ്യ സമ്പൂർണ്ണമലയാളപുസ്തകമായ സംക്ഷേപവേദാർത്ഥം പിന്നീട് അച്ചടിക്കുന്നത്.

ആൽഫബെത്തും ഗ്രന്ഥാണിക്കോ മലബാറിക്കം ഉ-ചിഹ്നങ്ങളെപ്പറ്റി പ്രതിപാദിക്കുന്ന ഭാഗം

‘മലയാളത്തിലെ ‘ഉ’, ‘ഊ’ ചിഹ്നങ്ങളുടെ വൈവിധ്യത്തെക്കുറിച്ച് ‘ആൽഫബെത്തും ഗ്രന്ഥോനിക്കോ മലബാറിക്കും’ വിശദമായി പ്രതിപാദിക്കുന്നുണ്ട്. ഈ പുസ്തകത്തിന്റെ മലയാളപരിഭാഷ, വിശദീകരണങ്ങളോടു കൂടി ഫാദർ ഇമ്മനുവേൽ ആട്ടേൽ രചിച്ചത് നമുക്കിന്ന് ലഭ്യമാണ്. മേൽപ്പറഞ്ഞ രൂപങ്ങളിൽ പലതും അതിൽ നമുക്കു കാണാം. അദ്ദേഹത്തിന്റെ വിശദീകരണത്തിൽ മലയാളത്തിലെ ഊകാരങ്ങൾക്ക്  നാമിന്നു മനസ്സിലാക്കുന്ന കുനിപ്പിട്ടവാല് എന്ന രൂപമില്ല. ക, ഗ, ഛ, ജ, ത, ശ, ഹ, ര, ഭ ഇവയെല്ലാം കുനിപ്പിട്ട വളപ്പ് രൂപത്തിലാണ്. രകാരത്തിനു മേൽ ‘ൂ’ ചിഹ്നം ചേരുമ്പോൾ വാലുരൂപത്തിലാണെങ്കിൽ കുറച്ചുകൂടി വ്യക്തത വന്നേനെ എന്നൊരു അഭിപ്രായവും അദ്ദേഹം പ്രകടിപ്പിക്കുന്നുണ്ട്. ചുരുട്ടുവാല്, ചുഴിപ്പ് രൂപങ്ങളെല്ലാം അതേപോലെ തന്നെ അന്നും ഉപയോഗിച്ചിരുന്നു. ആ പുസ്തകത്തിലെ ര,ത ഇവയുടെ രൂപങ്ങൾ ഇന്നത്തേതിൽ നിന്നും നല്ല വ്യത്യാസമുണ്ടായിരുന്നെന്നു കൂടി ശ്രദ്ധിക്കണം. അതുകൊണ്ടുതന്നെ രൂ, തൂ ഇവ രണ്ടും വളപ്പിട്ടെഴുതിയാലും തമ്മിൽ മാറിപ്പോകുകയില്ല.

ആൽഫബെത്തും ഗ്രന്ഥാണിക്കോ മലബാറിക്കം എന്ന ലത്തീൻ പുസ്തകത്തിന്റെ മലയാളപരിഭാഷയിൽ നിന്നും
ആൽഫബെത്തും ഗ്രന്ഥാണിക്കോ മലബാറിക്കം എന്ന ലത്തീൻ പുസ്തകത്തിന്റെ മലയാളപരിഭാഷയിൽ നിന്നും

1800കൾക്കും മുമ്പ് മലയാളം പഠിച്ച് ഒരു വിദേശിയെഴുതിയ പാഠപുസ്തകത്തിലെ വിശദീകരണമാണിത്, അച്ചടിക്കപ്പെട്ട ആദ്യ മലയാള അക്ഷരമാലാപാഠപുസ്തകത്തിലേതും.

പിന്നീട് മലയാളലിപി പാഠപുസ്തകത്തിനു സമാനമായി അവതരിപ്പിക്കുന്നത് 1863ൽ റെവ. ജോർജ്ജ് മാത്തനാണ്. ചുഴിപ്പു ചേർന്ന ‘ഉ’കാരചിഹ്നങ്ങൾ പൊതുരൂപമായും മറ്റുള്ളവയെ ഒരു അപവാദം എന്ന നിലയിലുമാണ് അദ്ദേഹം അവതരിപ്പിക്കുന്നത്(ചിത്രം കാണുക). ഊ ചിഹ്നത്തിന്, ക, ഗ, ഛ, ജ, ത, ശ, ഹ, ര, ഭ  ഇവയോടൊപ്പം  കുനിപ്പിട്ട വാല്, കുനിപ്പിട്ട വളപ്പ് എന്നീ രൂപങ്ങളിൽ ഏതുമാകാം എന്നാണ് മാത്തന്റെ “മലയാഴ്മയുടെ വ്യാകരണം” എന്ന പുസ്തകം പറയുന്നത്.

റവറന്റ് ജോർജ്ജ് മാത്തന്റെ മലയാള വ്യാകരണ പുസ്തകത്തിൽ നിന്ന്

 

 

റവറന്റ് ജോർജ്ജ് മാത്തന്റെ മലയാള വ്യാകരണപുസ്തകത്തിൽ നിന്നും

രണ്ടു നൂറ്റാണ്ടുകൾക്കുമുമ്പ്, അച്ചടി സാങ്കേതികവിദ്യയിലൂടെ ഭാഷയുടെ ആദ്യകാല വളർച്ചയ്ക്കു വഴിതുറന്നവർ മലയാളത്തിന്റെ  ലിപിരൂപങ്ങളെക്കുറിച്ചു വിവരിച്ചതാണ് നമ്മൾ കണ്ടത്. എഴുത്തുരൂപത്തിലെ വൈവിദ്ധ്യത്തെ മുഴുവനും അച്ചുകളിലേയ്ക്ക് അവർ കൊണ്ടുവരാൻ ശ്രമിയ്കുകയും ചെയ്തു.

1971ലെ ലിപിപരിഷ്കരണത്തിന്റെ ലക്ഷ്യം സാങ്കേതികപരിമിതികളെ അതിജീവിയ്ക്കുവാനായി ലിപിയുടെ ലളിതവൽക്കരണമായിരുന്നു. പക്ഷേ അതിന്റെ ഫലമായി നിലനിൽക്കുന്ന രൂപങ്ങളെക്കൂടാതെ വേർപെട്ടുനിൽക്കുന്ന ഒരു പുതിയ ശൈലികൂടി കടന്നുവരികയാണുണ്ടായത്. അതുവരെ നിലനിന്ന രൂപങ്ങളെ പൊടുന്നനെ ഇല്ലതാക്കാൻ ആവില്ലല്ലോ. പരിചയക്കുറവും പരിശീലനക്കുറവും കൊണ്ട് ഏത്ചിഹ്നരൂപം ഏത് വ്യഞ്ജനത്തിനൊപ്പം ചേരുമെന്ന ആശയക്കുഴപ്പം ഭാഷ ഉപയോഗിക്കുന്നവരിൽ വ്യാപകമാവുകയും ചെയ്തു.

Number spellout and generation in Malayalam using Morphology analyser

Writing a number 6493 as six thousand four hundred and ninety three is known as spellout of that number. The most familiar example of this is in cheques. Text to speech systems also need to convert numbers to words.

Source: https://commons.wikimedia.org/wiki/File:Sample_cheque.jpeg by User:Tshrinivasan

The reverse process of this, to convert a phrase like six thousand four hundred and ninety three to number 6493 – the number generation, is also common. In software, it is often required in Speech recognition and in general any kind of semantic analysis of text.

Numbers and its conversion to English words is not really a complex problem to solve with a computer. But how about other languages? In this article, I am discussing the nature of these words in Malayalam and an approach to parse the number and numbers written in words.

Malayalam number spellout

In Malayalam, the spellout of numbers forms a single word. For example, a number 108 is നൂറ്റെട്ട് – a single word. This word is formed by adjective form of നൂറ്(100) and എട്ട്(8). While these two words are glued, Malayalam phonological rules are also applied, resulting this single word നൂറ്റെട്ട്. This word formation characteristics are present for almost all possible numbers you can imagine. Parsing the number നൂറ്റെട്ട് and interpreting it as 108 or converting 108 to നൂറ്റെട്ട് is an interesting problem in Malayalam computing.

I came across this problem while I was trying to develop a dictionary based spellchecker years back. Such a dictionary should have all these single words for all possible numbers, right? Then how big it will be? Later when I was researching on Malayalam morphology analyser, I again encountered this problem. You cannot have all these words in lexicon as entries – it is not practical. At the same time, you should be able to parse these words and and also generate with correct morpho-phonological rules of Malayalam.

Like I mentioned in my introduction article of my Malayalam morphological analyser,  project, Malayalam is a heavily agglutinative language. While I was learning the Finite transducer technology, Malayalam number words were one of the obvious candidates to try out. These numbers perfectly model Malayalam word formations. They get agglutinated and inflected, during which morpho-phonological rules get applied. നൂറ്റെട്ടിലായിരുന്നു, നൂറ്റെട്ടിനെ, നൂറ്റെട്ടോ? നൂറ്റെട്ടാം, നൂറ്റെട്ടാമത്തെ, നൂറ്റെട്ടര  – All are examples of words you get on top number word നൂറ്റെട്ട്. Also, it is not two word agglutination, പതിനാറായിരത്തൊരുനൂറ്റെട്ട് – 16108 is an example where പതിനാറ്(16), ആയിരം(1000), നൂറ്(100), എട്ട്(8) – all joined to form a single word. In fact this is a common word you often see in literature because of this myth about Lord Krishna. The current year, 2017 is often written as രണ്ടായിരത്തിപ്പതിനേഴ്.

Let us examine a nature of these word formation.

Ones

Numbers between 0 and 9 has words as പൂജ്യം, ഒന്ന്, രണ്ട്, മൂന്ന്, നാല്, അഞ്ച്, ആറ്, ഏഴ്, എട്ട്, ഒമ്പത് respectively. The word ഒമ്പത് is sometimes written as ഒൻപത് too, which is phonetically similar to ഒമ്പത്. Each of these words ending with Virama(്) is sometimes written with Samvruthokaram too. ഒന്ന് – ഒന്നു്, രണ്ടു്, മൂന്നു്, നാലു് etc.

Tens

Number 10 is പത്ത്. Multiples of tens till 80 follows the rough pattern:

Adjective form of [രണ്ട്|മൂന്ന്|നാല്|അഞ്ച്|ആറ്|ഏഴ്|എട്ട്] + പത്.

So, they are ഇരുപത്(20), മുപ്പത്(30), നാല്പത്(40), അമ്പത്(50), അറുപത്(6), എഴുപത്(70), എൺപത്/എമ്പത്(80). But at 90, a new form emerges – തൊണ്ണൂറ് – Which has no root on ഒമ്പത് (9). Instead it is more like something before നൂറ്(100).

The numbers 11-19 are unique words. പതിനൊന്ന്, പന്ത്രണ്ട്, പതിമൂന്ന്, പതിനാല്, പതിനഞ്ച്, പതിനാറ്, പതിനേഴ്, പതിനെട്ട്, പത്തൊമ്പത് respectively.

All other two digit numbers between the multiples of tens follow the following pattern

[Word for 10x] + [Word for Ones]

So, 21 is ഇരുപത്(20)+ ഒന്ന്(1). But to form a single word, An adjective form is used, which is similar to female gender inflection of Malayalam nouns- ഇരുപത്തി + ഒന്ന് . Phonological rules should be applied to combine these two words. The vowel sign ി(i) at the end of ഇരുപത്തി  will introduce a new consonant യ(ya). Also the first letter of ഒന്ന് – the vowel ഒ will change to its vowel sign form ൊ. So we get ഇരുപത്തി + യ + ൊന്ന്. It results ഇരുപത്തിയൊന്ന്. This phonological rule is actually Agama Sandhi / ആഗമ സന്ധി as per Malayalam grammer rules. But, ഇരുപത്തിയൊന്ന് has a more propular form, ഇരുപത്തൊന്ന് which is generated by dropping ി + യ from the generation process.

The words for 20s can be generated similarly. ഇരുപത്തിരണ്ട്(22), ഇരുപത്തിമൂന്ന്(23), ഇരുപത്തിനാല്(24),  ഇരുപത്തിയഞ്ച്/ഇരുപത്തഞ്ച്(25), ഇരുപത്തിയാറ്/ഇരുപത്താറ്(26), ഇരുപത്തിയേഴ്/ഇരുപത്തേഴ്(27), ഇരുപത്തിയെട്ട്/ഇരുപത്തെട്ട്(28), ഇരുപത്തിയൊമ്പത്/ഇരുപത്തൊമ്പത്(29). For all other two digit numbers the pattern is same. Note that തൊണ്ണൂറ് (90) has the prefix form തൊണ്ണൂറ്റി. So 98 is തൊണ്ണൂറ്റിയെട്ട്/തൊണ്ണൂറ്റെട്ട്.

Hundreds

100 is നൂറ്. Its prefix form is നൂറ്റി. Multiples of 100s is somewhat similar to multiples of 10s we saw above. They are ഇരുന്നൂറ്(200), മുന്നൂറ്(300), നാനൂറ്(400), അഞ്ഞൂറ്(500), ആറുനൂറ്(600), എഴുന്നൂറ്(700), എണ്ണൂറ്(800), തൊള്ളായിരം(900). Here also the 900 deviates from others. The word is related to 1000(ആയിരം) than 100 – Just like the case of 90-തൊണ്ണൂറ് we discussed above.

Forming 3 digits numbers is, in general the prefix of multiple of hundred followed by Tens we explained above. So 623 is അറുനൂറ് + ഇരുപത്തിമൂന്ന്  = അറുനൂറ്റിയിരുപത്തിമൂന്ന് or the more popular and short form അറുനൂറ്റിരുപത്തിമൂന്ന്. 817 is എണ്ണൂറ്റി+ പതിനേഴ് = എണ്ണൂറ്റിപ്പതിനേഴ് with gemination of consonant പ as per phonological rule. 999 is തൊള്ളായിരത്തിത്തൊണ്ണൂറ്റിയൊമ്പത് or തൊള്ളായിരത്തിത്തൊണ്ണൂറ്റൊമ്പത്  or തൊള്ളായിരത്തിത്തൊണ്ണൂറ്റിയൊൻപത്.

Numbers between 100-199 may optionally prefixed by ഒരു – Adjective form of ഒന്ന്(1).  101 – ഒരുന്നൂറ്റിയൊന്ന് 122-ഒരുന്നൂറ്റിയിരുപത്തിരണ്ട് etc. നൂറ്(100) can be also ഒരുന്നൂറ്

Thousands

1000 is ആയിരം. ആയിരത്തി is prefix for all other 4 digit numbers till 1 lakh(ലക്ഷം 100000). Multiples of 1000 can be generated by suffixing ആയിരം. For example, 4000  is നാല് + ആയിരം = നാലായിരം. 6000 – ആറായിരം. But 5000 is അയ്യായിരം, and അഞ്ചായിരം is less popular version. 8000 is എട്ട് + ആയിരം = എട്ടായിരം, but എണ്ണായിരം is popular form.  10000 is പത്ത് + ആയിരം = പത്തായിരം. But പതിനായിരം is the more familiar version. പതിനായിരം is the suffix for multiples of 10K. They are ഇരുപതിനായിരം, മുപ്പതിനായിരം, നാല്പതിനായിരം, അമ്പതിനായിരം, അറുപതിനായിരം, എഴുപതിനായിരം, എൺപതിനായിരം, തൊണ്ണൂറായിരം. 3000 is മുവ്വായിരം than മൂന്നായിരം. So 73000 is എഴുപത്തിമുവ്വായിരം or എഴുപത്തിമൂന്നായിരം.

Numbers between 1000-1999 may optionally prefixed by ഒരു – Adjective form of ഒന്ന്(1).  1008 – ഒരായിരത്തിയെട്ട് 1122-ഒരായിരത്തിയൊരുന്നൂറ്റിയിരുപത്തിരണ്ട് etc. ആയിരം(1000) can be also ഒരായിരം.

Lakhs & Crores

100, 000 is ലക്ഷം. ലക്ഷത്തി is prefix. 1,00, 00, 000 is കോടി. കോടി itself is prefix. 12,00,90 is  പന്ത്രണ്ടുലക്ഷത്തിത്തൊണ്ണൂറ്. 99,00,00,00,00,00,00 is തൊണ്ണൂറ്റൊമ്പതുലക്ഷംകോടി.

Why morphology analyser?

From the above explanation of word formation for numbers in Malayalam, one can see that there are patterns and there are lot of exceptions. But still, isn’t it possible to write a generator using just a rule based program in a programming language. I  would agree. Yes, it is possible. But other than mapping these numbers to word forms, handling exceptional rules, there are a few other things also we saw. When words are agglutinated, there are phonological rules in action. Also, I said that these words can be inflected again. We also want the bidirectional conversion – not just word generation, but converting those words back into a number. All these will make such a program so complicated and it has to duplicate so many things from morphology analyser. That is why I used morphology analyser here.

What are the morphemes in a string like ആയിരത്തിത്തൊള്ളായിരത്തിത്തൊണ്ണൂറ്റിയാറ്? ആയിരം, തൊള്ളായിരം, തൊണ്ണൂറ്, ആറ്? Sounds good, but we see that  തൊള്ളായിരം is ഒമ്പത്, നൂറ്. and തൊണ്ണൂറ് is ഒമ്പത്, പത്ത്. So expanding it, we get ആയിരം, ഒമ്പത്, നൂറു, ഒമ്പത്, പത്ത്, ആറ്. But this sequence does not make any sense of the single word it created. What is missing? Can we consider തൊള്ളായിരം, തൊണ്ണൂറ് as single morphemes? We can, but…

  • If  തൊള്ളായിരം is a morpheme, it means, it is in a lexicon. That makes all other 3 digit number also eligible to be listed as items in lexicon. So ultimately, we go back to the large lexicon/dictionary issue I mentioned in the beginning of the article.
  • Semantically, any number spellout is originated from Ones and their place value. So തൊണ്ണൂറ് is 9<tens>.

I have not seen any morphology analyser dealing with number spellout. It seems Malayalam numbers are so unique in this aspect. I read a few academic papers on dealing with this complexity using Rule based approaches(See References) and an automata like paradigm language(Richard Gillam – A Rule-Based Approach to Number Spellout).

The approach I derived after trying out some choices is as follows:

  • Introduce morphology tags for positional values. This is similar to POS tags, but here we apply for number spellouts. <ones>, <tens>, <hundreds>, <thousands>, <lakhs>, <crores> are those tags.
  • Parse a spellout to reach the atomic morphemes in a number spellout – they are ഒന്ന്, രണ്ട്, മൂന്ന്, നാല്, അഞ്ച്, ആറ്, ഏഴ്,എട്ട്, ഒമ്പത്, പൂജ്യം.
  • These morphemes will have the tags mentioned above.

To illustrate this, let use use some examples,

As you can observe, only the atomic numbers are used as morphemes and place values are indicated using tags. You can also see that the analysis is easy to interpret for a program to generate the number.

For example, if the analysis is രണ്ട്<ones><thousands> ഒന്ന്<tens> ഏഴ്<ones>,  replace the words with its numbers, tags by position value. You get

2*1*1000 + 1*10 + 7*1  =  2000+10+7 = 2017

I said that, the advantage of morphology analyser is you can generate the word from analysis strings. The bidirectional property. This means, if you have a number, you can generate the spellout. For that we first need to some maths on the number. For example, for same number 2017, we can divide incrementally by lakhs, thousands, hundreds, tens and arrive at the following formation

2017 = 2*1000 + 0*100 + 1*10+ 7*1

Which can be converted to:

രണ്ട്<thousands>ഒന്ന്<tens>ഏഴ്<ones>

The morphology analyser can easily generate the word രണ്ടായിരത്തിപ്പതിനേഴ് by applying all grammatical rules.

 

If you are eager to try out this conversion, I wrote a quick javascript based number to word convertor using the APIs of morphology analyser.

See the Pen Malayalam number parser by Santhosh Thottingal (@santhoshtr) on CodePen.

I did not write a convertor from the spelled out word to number. You are free to write one. The web interface of mlmorph is available for trying out some analysis too – https://morph.smc.org.in/

Inflections

Some illustrations on inflected spellout analysis

Ordinals

Ordinal form of numbers are used to show position. Examples are first, third etc. In Malayalam examples are ഒന്നാം, പതിനെട്ടാം ഏഴാമത്, ഒമ്പതാമത്തെ etc.  Supporting those forms is just like inflections. See the below screenshot

Technical details

Known issues

  • Some commonly used forms like മുപ്പത്തിമുക്കോടി is not supported yet.There are also variations like മുവ്വായിരം, മൂവായിരം.
  • If there are are multiple ways to generate a number word, the system generates all such forms. But some of these forms may be very obscure and not used at all.
  • There is a practice to insert space after some prefixes like ആയിരത്തി, ലക്ഷത്തി, കോടി. In the model I assumed the words are generated as single word.

Summary

We analysed the word formation for the spellout of the numbers in Malayalam. Usage of morphology analyser for analysis and generation of these word forms are introduced. A demo program that converts numbers to its word forms considering all morphophonological rules are presented. Algorithm for spelled out word to number conversion is given with example. Programmable API and Web API is given for the system.

References