Over the last few years, I’ve worked on a number of iterations of code that can generate Ancient Greek verb forms. I’ve now broken out the Greek-specific pieces and released a generic library called inflexion.

There’s nothing particularly innovative about the approach from a computational morphology point of view: it just uses a stem database combined with a list of endings including sandhi rules. I talked a bit about the endings / sandhi rules in my SBL talk last year.

It takes a very practical approach, though, and, with a suitable stem database, ending / sandhi rules and accentuation code (all of which I’m releasing separately shortly) it can currently generate every single verb form in Louise Pratt’s intermediate grammar, on Helma Dik’s Greek verb handouts and in Andrew Keller & Stephanie Russell’s beginner-intermediate text book.

There’s some support for parsing forms if the stem is known and I’ll soon be working on support for when the necessary stem is not yet in the database. There’s not yet any notion of stems being related and that will be a big part of future work which might be more interesting from a computational morphology point of view.

In a way, the real power (or “knowledge”) is in the pieces not included in this library itself but I wanted to break out the generic code partly in case other people wanted to use it for other inflected languages but mostly just to keep my own code more modular.

The GitHub repo is https://github.com/jtauber/inflexion and example-based documentation is available.

Stay tuned for new releases of the inflexion library but also the stem database, ending / sandhi rules and accentuation code that are specific to Greek.