I'm trying to process language corpus written in Greek and like to split words to syllables. I wonder if there is a programmatical way to do that with a strict set of rules, that can be followed to split words to syllables. I'm applying this to ancient greek, koine texts, if that affects to anything...


I did try hyphenator.js library few days ago, with poor results, but it turned out, that maxwordlength peroperty should be changed to minimum. After that it worked out much better. Discussed on forum: https://stackoverflow.com/questions/39115034/greek-syllabification-library-for-javascript

  • 1
    How important is it that your parse be actually correct? The problem is that there are competing empirical claims about syllabification, e.g. whether pn and bn syllabify the same way. – user6726 Aug 24 '16 at 20:28
  • I could add exceptions and special cases to the parser. 100% correct is not my consern at this point. If statictically it is near to perfect, it is enought. – MarkokraM Aug 25 '16 at 4:02

I'm afraid that, likewise for any language, rule-based syllabification would give no more than 95% accuracy; see Marchand et al., „Evaluating Automatic Syllabification Algorithms for English“. To make it more accurate, one would need some sort of dictionary corpus.

This article lists some pretty simple and straightforward syllabification algorithm, not much different to English: basically, there are six major steps:

  • Compound words → split;
  • Diphthong VV → merge;
  • Consonant cluster CC → merge;
  • Double consonant CC → split;
  • One vowel per syllable;
  • In ambiguous case e.g. ?VCV?, where the rules above do not apply, split at ?V|CV?

This question at StackOverflow mentions Hyphenator.js. It claims support a large set of languages, including "Greek, monoton, polyton and ancient"

Also, it mentions another project, Hypher, which has a similar feature set.

  • I added hyphenator trial to my question. Hypher was harder to install for browser / client only. But based on your rules it should be rather easy to implement parser by own. – MarkokraM Aug 25 '16 at 5:50

Syllable is defined typically by its head or apex (i.e. usually some vowel) and for languages with permissive phonotactics (like most Indo-European languages), you will find it easy to count the syllables but quite difficult to find their exact boundaries.

E.g. Czech word "sestra" (sister) can be syllabified as "se-stra", "ses-tra" "sest-ra". The middle option seems most natural to me but the other two do not form any forbidden consonant clusters either. All in all, it is a matter of potentiality and if you do a research among the speakers, their leaning will be probably something like 15/50/35 (i.e. with some more or less clear majority, but nothing like 3/90/7, which would be just deviations).

Another difficulty is posed by strong morphological boundaries (e.g. prefixes) that can be perceived even by otherwise language unconscious speakers and shift their perception of syllable even further.

Personally, I would not trust poetry in the least as the rules postulated by the poets are likely to be based on their arbitrary notions of esthetics or reasons.

  • So there would be general consensus about the count of syllables in grc text coming from trivial rules: first count diphthongs, then count remaining vowels? – MarkokraM Aug 28 '16 at 19:08

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.