|
Tamil Keypad Design
and Text Messaging Engine
A.C. Senthil Muthu Kumar & S. Sindhuja,
Wipro Technologies Ltd
Abstract
This project aims at developing a newer, efficient Tamil
keypad, for mobile phones than the keypad designs available
in the market. The keypad design is to bring in only the "Vowels"
and "Consonants" thus avoiding the mapping of "Vowel
Modifiers" to the keys. New Tamil characters formed out
of combining Consonants and Vowel modifiers are obtained by
combining Consonants and Vowels. This will reduce the number
of characters mapped to a key in the keypad.
A messaging engine is built to make the typing fast and efficient.
Just like T9 being implemented for Tamil by Tegic Communications,
we try to implement a predictive text input algorithm called
iTap, a proprietary algorithm of Motorola which betters than
T9. One of the main differences between iTap and T9 is that
iTap is able to complete words, phrases or even full sentences.
T9 is unable to guess a word until the user has typed out
a number of letters equal to the full word length. iTap will
guess the best match based upon a built in dictionary, including
words sharing the typed prefix. This dictionary also contains
phrases and commonly used sentences. This way the predictive
guesses iTap offers are enhanced based upon context of the
word that is being typed. So for the user to type tamil messages
fast and to get more efficiency than T9, an iTap engine can
be built under the messaging application. The keys codes are
sent to this engine and the engine reads the words from the
database. The engine has a limited database that can store
upto some threshold limit. The engine pops up the user with
a list of matching words that can fit into the "CONTEXT".
Keypad Design
The Keys are mapped to characters considering the frequency
of usage of characters by any user. The characters are classified
into
1. Strong characters
2. Weak characters
Strong characters are got in the 1st key press. Whereas weak
characters are obtained in 2nd or 3rd key press.
To bring Vowels that are formed out of combination of characters,
we press shift.
For Eg.To write 'nedil uyir ezhuthu' press shift.
For uyir mei ezhuthu press the consonant and corresponding
vowel.
Ka+A=kA
ka+i=ki
ka+I=KI
ka+.=ik
(dot is pressed using # key)
Usage of Shift Key
Engine Design
The engine has to be built with the following functionalities
1. Creation of new Deterministic Finite Automata(DFA) for
a string that the user types.
2. Creation of new Non Deterministic automata(NFA) from the
existing DFAs.
Eg. AMMA is a DFA. APPA is a DFA. Both these strings must
be stored in Database. A new NFA has to get created if the
user types A. Next character might be either A|P.
3. Creation of newer NFAs over the older NFA.(Integrating
new string DFA with matching NFA)
Eg. Consider DFAs exist for Amma and Appa. And corresponding
NFA exist. If the user types America, a new DFA gets created
for this string and this is integrated with the existing NFA.
ie.
A->M|P->if(M)->M|E->if(E)->RICA
if(P)->PA
if(M)->MA
4. Similarly deletion/rebuild of NFAs has to take place if
the word/DFA gets deleted from the database as the database
can hold only limited number of words.
Architecture
The Messaging application gets launched initializing the
keypad with default keys. The keypad is independent of the
iTap Engine. So the Messaging Application will only interact
with the iTap Engine for the construction of Finite Automata
and string storage in the phone database.
Abstract Architecture
Conclusion
This implementation will stimulate the growth of Tamil Messaging
among local people. The intention of choosing a different
keypad design is to bring in easiness in typing for the users.
As iTap is considered to be better than T9, this must be a
good effort to bring that algorithm in Tamil also.
|