A computer program which determines the stem of a word. For example, it is able to determine the stem ‘dog’ from the word ‘dogfood’. Such programs are employed in search engines and other retrieval software to construct efficient queries of the databases maintained by the search engines.