| license: apache-2.0 | |
| language: | |
| - ml | |
| tags: | |
| - transliteration | |
| - malayalam | |
| - manglish | |
| - input-method | |
| - ime | |
| library_name: pytorch | |
| pipeline_tag: translation | |
| datasets: | |
| - ai4bharat/Aksharantar | |
| # Aksharakuppy — Manglish → Malayalam Transliteration IME | |
| A character-level Transformer + frequency-dictionary hybrid that converts | |
| romanized Malayalam (Manglish) into Malayalam script, with Google-IME-style | |
| word suggestions. | |
| ## Model | |
| - 4-layer encoder-decoder Transformer, ~16.6M params, character-level tokenization | |
| - Hybrid: ~677k-word frequency lexicon (trie prefix lookup) + neural fallback for out-of-vocabulary words | |
| - Trained from scratch on a custom corpus + AI4Bharat Aksharantar (Malayalam) + Google Input Tools corrections | |
| ## Usage | |
| ```python | |
| from ime import IME | |
| ime = IME("checkpoints_ime") | |
| print(ime.suggest("dhoni")) # ['ധോണി', ...] | |
| print(ime.suggest("keralam")) # ['കേരളം', ...] | |
| ``` | |
| ## Web demo | |
| ```bash | |
| pip install torch fastapi uvicorn | |
| uvicorn server:app --host 0.0.0.0 --port 8000 | |
| ``` | |
| ## Limitations | |
| - Ambiguous romanizations may return multiple valid words; the intended word is usually in the top 5. | |
| - Coverage reflects the training lexicon; rare or new words use the neural fallback. | |
| ## License | |
| Apache-2.0. Training data includes AI4Bharat Aksharantar (manually collected: CC-BY; mined: CC0). |