ThamizhiMorph
The morphological analyser everything here stands on. Published research, Apache-2.0, pinned by commit. We wrap it, and building a second one would have been a worse use of the same years.
Authors
K. Sarveswaran, Gihan Dias, Miriam Butt
Published
Machine Translation 35:37–70 (2021), Springer
DOI
10.1007/s10590-021-09261-5
Code
github.com/sarves/thamizhi-morph
What it is
A finite-state transducer for Tamil morphology: give it a word and it returns the analysis, give it a lemma and a set of features and it returns the word. It is built on வாய்பாடு-style paradigms rather than on statistics, which is why its answers can be checked against a grammar rather than only against a test set.
Its own measured results, from the paper, on a 612-word textbook corpus:
The residual errors are mostly words the lexicon has never seen. Those route into our enrichment loop rather than into a guess.
How we use it, and how we do not
It is the primary morphology anchor in the engine, pinned by commit so an upstream change cannot silently alter an answer we have already published.
We keep the guesser transducers switched off. They will produce an analysis for a word the lexicon has never seen, and on கொடு that means returning the lemma கொடுத். A confident wrong answer is the one failure mode this project exists to remove, so we would rather return a gap. That is a compliment to the tool's design, which makes the guessers a separate opt-in rather than a default.
And there is an ordering rule that matters more than any of this: where the analyser and a நூற்பா disagree, the நூற்பா governs. The FST is graded B rather than A for exactly that reason. It is a computational model of the grammar, not the grammar.
One direction of the transducer is unused. It can build words as well as take them apart, and that unused direction is the whole of our long-term track: a system that knows what to say could hand over a lemma and a feature bundle and receive correct Tamil, rather than spelling out an inflected form it has only seen in fragments.
The wider Thamizhi suite
ThamizhiMorph is one piece of a larger body of Tamil NLP work from the same group. Several of the others are already named in our design as prerequisites for things we have not built. This is what we would reach for and when.
| Project | What it does | Where it lands for us | Licence |
|---|---|---|---|
| ThamizhiMorphsarves/thamizhi-morph | Morphological analyser and generator. The FST we wrap. | In use since day one. The analysis direction only. | Apache-2.0 |
| Thamizhi Validatorsarves/thamizhi-preprocessor | Checks whether a string is a well-formed Tamil word. | Named in our design as the native-versus-borrowed signal, still unwired. It is our top open code item. | no stated licence |
| ThamizhiPOStsarves/thamizhi-pos | Neural part-of-speech tagger for Tamil. | Needed for sentence support, where context decides which reading of a word is right. | Apache-2.0 |
| ThamizhiLIPsarves/thamizhilip | Linguistic processing pipeline. | Same track as the tagger. | Apache-2.0 |
| ThamizhiUDpsarves/thamizhi-udp | Universal Dependencies parser for Tamil. | The stage after sentence segmentation, where we would ask what grammatical slot comes next. | no stated licence |
Four of the things this project stands on trace to one researcher. The analyser we run, the treebank we want, the benchmark we would be judged by, and the tokenizer argument we make. We noticed while checking a citation, and it is worth saying plainly: the reason Tamil is computable at all today is a small number of people doing unglamorous work for years.
Repository names and stated licences read from github.com/sarves on 2026-08-19. Two of them carry no licence file, which is a question rather than a complaint: we would need to ask before depending on either.
The reach goes further than the code. Sarveswaran is also a co-author of Aalamaram, the Tamil treebank we have adopted and not yet obtained, and the senior author of ILAKKANAM, the benchmark by which we would judge whether this project works at all. And of this, which is the argument our own why page makes from the other end:
Egalitarian Language Representation in Language Models: It All Begins with Tokenizers
Menan Velayuthan, Kengatharaiyer Sarveswaran
Proceedings of the 31st International Conference on Computational Linguistics (COLING 2025), pp. 5987–5996, Abu Dhabi, UAE, 2025. Code: vmenan/tokenizers-coling2025.
We show what English-trained tokenizers do to Tamil words. This paper shows that the damage starts before the algorithm runs, in how a character is decided, and proposes a tokenizer that keeps Tamil graphemes whole.
What we would ask
Nothing about licensing. Apache-2.0 is clear and we are inside it. Three questions, if the authors ever have the time:
- Where is the Aalamaram data distributed, and under what terms? We could not find it from here.
- Is our reading right that ThamizhiPOSt and ThamizhiLIP are the correct route to word-in-context disambiguation, rather than something newer?
- Would a corrected list of the analyser's misses, gathered from real use and hand-checked, be useful upstream? We accumulate them anyway.
Question 3 is the one we care about. This project produces verified data as a by-product, and the work it is built on should get first refusal on any of it. thamizh@ief-global.org
What the registry records
This is copied from the server's own source registry rather than restated, so it cannot be softer here than it is in the code.
- Licence
- Apache-2.0
- What we may do with it
- Ship the data as a version-locked artifact in the public repo.
- Evidential grade
- Scholarly or institutional publication — peer-reviewed, or published by a government body; named editors, stable citation, versioned release. Confidence is capped at 0.85.
- Pin
- github.com/sarves/thamizhi-morph @ adbacceda5e8aa902e4b6ed58a3edf5f78cd46fb; retrieved 2026-07-02
- Maintenance
- upstream stable; pinned by commit
- Attribution
- Sarveswaran, K., Dias, G., Butt, M. — 'ThamizhiMorph: A morphological parser for the Tamil language', Machine Translation (Springer) 2021. DOI 10.1007/s10590-021-09261-5.
Peer-reviewed and Apache-2.0 — B rather than A because it is a computational model of the grammar, not the grammar. Where the FST and a நூற்பா disagree, the நூற்பா governs.