I want to experiment with innovative ways of presenting a written text on a printed page to help a non-native speaker to read it. The example I have in mind is the Iliad for people whose native language is English. For this purpose, it would help if I had a way of automatically generating semi-reliable glosses. These might have to be human-corrected, but it would be really nice to have a relatively low error rate on the software-generated glosses.

As an example, the verb ἐρύω has meanings (1) to drag, and (2) to protect or guard. Both of these meanings occur in Homer. There is open-source software called CLTK that can in most cases accurately look at an inflected Greek word and detect the lexical form. So let's say that I write a script that can take a line of Homer and automatically detect that a certain word is a form of ἐρύω. Then let's say I have a digitized dictionary that contains the relevant information, that

ἐρύω => ["drag","protect","guard"].

Project Gutenberg has about a half-dozen English translations of Homer, so a pretty simple algorithm would be just to figure out which one-sentence snippets in the English translations correspond to this fragment of Homer, and look for words like "drag," "drags," "protecting," "guarded," etc. If the software finds that several of the translations include the string "guarded," then we offer this as a gloss.

Is this a problem that has been previously tackled? Am I reinventing the wheel? Is this a bad idea and doomed to failure?

  • Here's something like what you want to make: Qur'an with each verse in Arabic (on the right) translated to English (on the left), it shows the translation of each Arabic word when hovering the cursor over the word and pronounces the Arabic word when you click the word: quran.com/1 – Yellow Sky Apr 7 at 20:48
  • @YellowSky: That's pretty nice. My idea was for a format to be used on a literal printed page, but anyway that's not what my SE question is directly about. – Ben Crowell Apr 7 at 22:33
  • 1
    I think this is a lot of the intended purpose that SIL's Fieldworks was designed for. – curiousdannii Apr 8 at 2:35
  • Interesting question and project. +1 for the last paragraph. – jlawler Apr 9 at 15:04

So it looks like you are looking for a word-by-word approach to the text. This is often done in corpus linguistics when you build a new corpus: Start with word forms, add lemma and part of speech and morphological analysis.

The critical task comes now, it is called word sense disambiguation and disentangles the different potential meanings of one word. There are automated tools in computational linguistics for this task, but I don't know whether there is something ready to handle Ancient Greek.


In machine translation, the task you're describing is known as word alignment.

(In the days of statistical machine translation, it was inherent to the task. Now, with machine translation, the main use is for preserving XML tags.)

The rules-based dictionary-based approach you describe is not used and is out of fashion. It may well be a good fit for your domain and application.

The common statistical or neural approaches neither require nor provide explicit information about the part of speech or surface form. There are two possible approaches, depending on the scenario:

  • learn and generate alignments along with machine translation, given only the source sentence
  • generate alignments, given the source sentence and the translation

For options, see https://stackoverflow.com/questions/66905945/find-phrase-word-equivalent-in-translated-sentence/66908397#66908397

The Microsoft Translator API does not support Ancient Greek.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.