Can you programmatically detect pluralization of English words and get a singular form?

Given a certain (English) word, which we will consider plural , is it possible to obtain a singular form? I would like, if possible, to avoid lookup / dictionary tables.

Some examples:

Examples -> Example a simple 's' suffix
Glitch -> Glitches 'es' suffix, as opposed to above
Countries -> Country 'ies' suffix.
Sheep -> Sheep no change: possible fallback for indeterminate values

Or, this seems to be a pretty comprehensive list.

Library suggestions in the language xare good if they are open-source (i.e. someone can study them to determine how to do this in the language y)

+5
source share
6 answers

It really depends on what you mean programmatically. Part of the English language is working on clear rules, and part is not. He should do mainly with frequency. For a quick overview, you can read Pinker's Words and Rules, but do yourself a favor and don't completely give away the whole generative theory of linguistics. There is much more empiricism than this school of thought really attaches to persecution.

lemmatized. , , . lemmatizers, , , Morpha Lemmatizer. , , , .

, . Porter Stemmer, , .

+10

, , . , , (, Land β†’ L & auml; nder). , 20-30 , :

  • -y β†’ -ies (family β†’ family)
  • -us β†’ -i ( β†’ )
  • -s β†’ -ses ( β†’ )
  • -s

, , . :

  • pies: py pie?
  • : 'skus'?
  • : "" ""?

, , (.. , , ).

+5

"" "" ""? .

+2

Inflector.net - Rails.

+1

- , .

, :

  • ( , : , S, ES, , Y IES... )
0

, nickf . , , , ? , , , . , . - (-), .

-3

All Articles