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

Such as:

fish
computers
houses
...

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.
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.