I'm wondering how to detect English plurals in natural language sentences.

Such as:


Using Earley parsing I'm able to get to the s or no-s, but I have difficulties in understanding how to figure out whether the ending s is because the word is in plural form. Or whether with no-s the word is in plural form.

Is this kind of thing doable without some database of words and their plurals? I could leverage such database though, if such exists.

  • 3
    $\begingroup$ You will need a database, and such databases (called dictionaries) exist. $\endgroup$ Commented Dec 18, 2015 at 14:22
  • 1
    $\begingroup$ If bus is not the plural of bu and the plural of woman is not womans, this approach is doomed. I don't know what your big end goal is, but the pattern of your questions is consistent: you lack basic expertise. I recommend you consult experts (CS, lingustics, NLP) if this is about work, or start at the bottom if it's pleasure. $\endgroup$
    – Raphael
    Commented Jan 8, 2016 at 17:36

1 Answer 1


Morphological parsing requires a lexicon (stems and their part of speech) , morphotactics (ordering of morpheme classes), and orthographic rules (e.g. fox + PL = foxes rather than foxs).

The preferred approach is to use a composition of finite state transducers to map a surface level representation (e.g., foxes) into its lexical representation (e.g., fox +N +Pl).

For a robust method, you are better off using an existing system like Foma, lttoolbox, or SFST than writing your own system since these systems come with rich morphological data sets.


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.