Szabad forráskódú morfológiai analizátorok összehasonlítása angolul
Comparison of foma and sfst
|Usage||Well documented, easy||Well documented, easy|
|Morphological analysis||Well documented||Well documented|
|Detailed documentation||Fsmbook applies 100% to foma||Not available|
|Internal naming||Strict rules, almost only alphabetic chars are allowed, easy reading and syntax check||Almost all characters are allowed. Can cause hard to read programs, also syntax check is hard due to this permissiveness|
|Regular expression facilities||Rich (for example .#. means begin of word)||Basic|
|Code readability||Good||Somewhat reduced due to requirement of using multiple alphabets and extremely permissive internal naming|
|Code inclusion||Not available||Easy, using #include|
|Word list in extra file||Not possible||Easy, using lex files|
|Variable over and underdefinition||Nicely handled, intuitive||Somewhat cumbersome handling, requires additional user tools|
|Multiple stem words handling||Easy and intuitive||Somewhat cumbersome|
|Agreement variables||Not available||Available|
|Debugging||Good, detailed information||Good, detailed information|
|Built in syntax checking||Good||Poor|
|Weighted fst||Not available||Not available|
|Result evaluation||Good||Excellent, using fst-generate|
|Support from author||Good||Good|
Other available free tools
Openfst and hfst.
Openfst is a complete fst implementation. Documentation lacks morphology handling, therefore this tool is not for first morphology implementations.
Hfst is a lexc/twolc implementation with some additional tools, that needs an underlying fst automaton like openfst, sfst or foma.
Since hfst supports twolc, an obsolete xerox tool, instead of xfst, the more current version, its usefulness is questionable. Documentation of hfst is poor, it does not contain any full, working morphology example. Its usefulness with foma is questionable, since foma is based on the more modern xfst/lexc pair. Support of sfst is half-hearted, for example the faroese lexc file can not be compiled using sfst as format. Hfst is not capable to show the intermediate format for sfst, just an internal binary hfst format. Hfst usage might make sense in connection with the also underdocumented openfst.