I am a literacy researcher looking to create an add on package in R that offers quantitative methods for discourse analysis. I am creating a function for taking a chunk of text and measuring the syllables per word so

x <- c('dog', 'cat', 'pony', 'cracker', 'shoe', 'Popsicle', 'pronunciation' )

would yield: 1, 1, 2, 2, 1, 3, 5

Currently I have an algorithm that is about 90-95% accurate by following the these rules:

  1. The pattern eeing and eing counts as a 2 vowels (so seeing becomes sVV and being becomes bVV);
  2. An e at the end of a word is just dropped (as in come) which is counted as cVm;
  3. Two vowels next to each other (as in peach) is counts as one vowel sound (it becomes (pVch);
  4. Any singular vowel left counts as a V (Yoda becomes YVdV);
  5. The sum of the Vs is the number syllables in the word.;

Things that throw a monkey wrench into the problem are:

  • compound words;
  • non silent ending "e"s.

These are the rule breakers that don't follow my algorithm. Does anyone know of a dictionary of syllable rule breaker words?

I know this available as this was an approach similar to that used by Franklin Mark Liang (A guru in the art of syllabication) in his 1983 dissertation. This same approach is used by the online syllable counter and so I know such a dictionary exists. Having this dictionary to combine with my algorithm would make my approach very accurate.

  • 1
    Well, if you want a list of exceptions, they'll have to be exceptions to the specific rules you're using, no? Seems to me that the right approach is to get an all-purpose pronouncing dictionary and run your algorithm on the whole thing. Any word on which it makes the wrong prediction goes in your exception list. Dec 19, 2011 at 23:09
  • I'd actually go the other way around. I'm not looking for 100% accuracy but as high as I can get without writing a ton of code. I'd run it through the dictionary first. Anything not in there gets run through the algorithm. This would greatly increase the accuracy. This is the approach used by others. I'm sure they use a tailored dictionary but I'm looking for more of a general one that I may augment. but I need some place to start with the dictionary. Dec 19, 2011 at 23:13
  • Right, that makes sense. So then you're not necessarily looking for a list of exceptions, but just a general-purpose list of words and their syllable counts? Dec 20, 2011 at 3:40
  • 1
    YOu don't mention the problem of syllabic consonants? There's a good discussion (here)[phonetic-blog.blogspot.com/2011/12/… that discusses the environment that conditions their occurrence. Dec 23, 2011 at 4:30
  • 1
    @TylerRinker Sorry, I miswrote the link. Actually there's two on that blog that may be interesting for you: this and this. Jan 22, 2012 at 12:25

1 Answer 1


The NETtalk data set is what I am looking for. Here is a link to the actual data set LINK.

  • Glad you found your answer, but I'm a little confused. The link to the wiki on NETtalk just seems to describe a rather general-purpose learning neural network with 211 data sets. Which data set in particular did you find useful? Dec 22, 2011 at 21:01
  • 1
    @Mark You're correct the Wiki Link doesn't provide much about the NETtalk data file. Here's the link to the file LINK I'll add this to my answer as well. Dec 22, 2011 at 21:18
  • Thanks, that does make a lot more sense :) useful looking data set too. Dec 22, 2011 at 21:22

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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