Gods and Snakes Part 1
NLP on ancient languages
This post is part of a series on my process and progress working on a capstone project for General Assembly’s Data Science Immersive course.
Since this is the first post, let me tell a little bit of my own background and how it played a role in my capstone.
I’ve always loved languages, and I’ve had the great fortune to have spent much of my life immersed in one language or another. In my short 33 on Earth I’ve studied Latin in High School, Mandarin and Hausa for the U.S. Navy and NSA, and lastly, ancient Greek and French in College. Ancient Greek has by far been the language I most enjoyed, but recently a new contender has appeared in my first programming language.
On April 20th, I began the Data Science Immersive program offered by General Assembly and quickly fell in love with Python. It was exactly like learning another language, full of interesting syntax and cool idioms — I can’t get enough of list comprehensions — and my “speaking” this language gave me power to change the world around me.

Apollo killing Python
I cannot help but see destiny in the meeting of these two worlds of mine: the human language ancient Greek and the machine language Python. The word Python comes to us from the ancient Greek word Πύθων, a serpent which dwelled in the center of Earth. I know, what are the odds right? Well if that bit of trivia doesn’t convince you, perhaps this will: I’m writing this post on the same MacBook I use to code, which years ago I named Apollo, the very god who slew Python.
It’s a lot to live up to, but my trusty laptop and I are giving it a go.
BTW: I tried for the entire pregnancy to get my wife to agree to naming one of our twins Apollo. Have I mentioned how much I like ancient Greek?
All joking aside, I’m very fortunate to have a big hobby and a career change meet up in such a way. So when it came time to decide on a capstone project to pour all of my newly learned skills into, it was an easy choice. Well sorta. I know that I want to do Natural Language Processing (NLP) on something related to ancient Greek. I also felt the need for it to be useful, not in a for-profit kind of way, but at least something that someone else with the ancient Greek bug might find cool and use.
This didn’t exactly narrow the actual topic down much. So I reached out to my old Professor and — at least in my mind — mentor Dr. Patterson. If anyone other than Hermes himself can be said to have sparked my interest in ancient Greek, it’s he. He explained to me that there isn’t much tech/data/tools out there to support ancient Greek instruction, Latin having gotten most of the attention in that arena.
After a bit of back and forth, the following list of ideas emerged:
- A tool/script/webapp etc. to automatically segment ancient Greek text according to the — big word incoming — morphophonemic method.
- A tool/script/webapp etc. to scan prosody and output the metrical units etc.
- Make an attempt at predicting authorship of texts based on…well that’s the data science part I guess.
If you’re like me, then at least the first two seem more like a software engineering goal than something an aspiring Data Scientist works on. This weighed heavily on my mind until I spoke with my instructors and they reminded me of all the modeling and training/testing/validation would be involved in accomplishing any of these items. So phew I guess.
In the next post I go further into each option, the research I did on how to tackle them, and which one I decided on. Let me know what projects you would find interesting, and drop me your most interesting piece of ancient Greek trivia or maybe your favorite Greek god/goddess!
διπλοῦν ὁρῶσιν οἱ μαθόντες γράμματα
“Those who know the letters see double [twice as much as those who don’t].”
— Pythagoras