YuStemmer is a natural language stemming library for Delphi (Embarcadero / CodeGear / Borland). Its purpose is to reduce an inflected word to a common stem or root form. The English stemmer, for example, returns "write" for "write", "writes", "writing", and "writings".
Stemmers are available for these languages:
Danish, Dutch, English, Finnish, French, German, German2 (different Umlaut handling), Hungarian, Italian, Norwegian, Porter (English), Portuguese, Romanian, Russian, Spanish, Swedish, Turkish.
Applications for stemmers are usually query and search systems. Stemming enables them to return related results with similar meaning but slightly different spelling. YuStemmer was initially developed for theDISQLite3 Full Text Search (FTS) engine, but fits other purposes we well.
YuStemmer is fully algorithmic. No extensive lookup dictionaries are needed. This results in small memory footprint and leads to excellent performance.
YuStemmer is organized into different classes, each of them optimized for a particular string type and text encoding:
UTF-16 text, 16-bit. This corresponds to Delphi's WideString / UnicodeString.
All stemmers are available for this class.
Make sure to choose the stemmer class matching your string type and character set. Otherwise you will suffer a performance penalty caused by avoidable string conversions. In Delphi, such conversions usually happen implicitly and go unnoticed by most developers. Therefore, pay close attention here to make the most of YuStemmer!