I am a linguist, and if you want to find good material about this subject do a search (in google, not cpan) for "morphology". This may not bring up results with code or canned algorithms, but it will give you a better understanding of what you should do. Finding the 'morphilogical root' of a word (in your example "host")requires more than knowing suffixes. For example, the root of "happiness" is "happy", here you don't just stick a suffix to a word, you first have to get rid of the "y". Therefore if you want to reverse the process and find the root of a given word, you can't always just hack off a suffix. Fortunately, these types of things follow pretty regular rules so you don't have to worry about a lot of exceptions (though you do have to acount for "foot" and "feet"). Small changes to the root itself are very common, so it will pay off in the long run if you take the time to make sure your algorithm does more then just hacking off suffixes.

In reply to Re: "Suffix" Dictionaries by fletcher_the_dog
in thread "Suffix" Dictionaries by cLive ;-)

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.