Formula to detect the grade level of text according to the Flesch Reading Ease.
See syllable for detecting syllables.
npm:
npm install fleschvar flesch = require('flesch');
/* For “The cat sat on the mat” (1 sentence, 6 words,
* 6 syllables). */
flesch({
sentence: 1,
word: 6,
syllable: 6
});
// 116.14500000000001
/* For “The Australian platypus is seemingly a hybrid of
* mammal and reptilian creature.” (1 sentence, 12 words,
* 23 syllables). */
flesch({
sentence: 1,
word: 12,
syllable: 23
});
// 32.504999999999995Given an object containing the number of words (word), the number
of sentences (sentence), and the number of syllables (syllable)
in a document, returns the reading ease associated with the document.
Returned values are 120 (every sentence consisting of only two one-syllable words), or lower (including negative values).
The values have the following semantics:
| Score | Semantics |
|---|---|
| 90.0 – 100.0 | Easily understood by an average 11-year-old student |
| 60.0 – 70.0 | Easily understood by 13- to 15-year-old students |
| 0.0 – 30.0 | Best understood by university graduates |
automated-readability— Uses character count instead of error-prone syllable parsercoleman-liau— Uses letter count instead of an error-prone syllable parserdale-chall-formula— Uses a dictionary, suited for higher reading levelsflesch-kincaid— Likeflesch, returns U.S. grade levelsgunning-fog— Uses syllable count, needs POS-tagging and NERsmog-formula— Likegunning-fog-index, without needing advanced NLPspache-formula— Uses a dictionary, suited for lower reading levels