Foma (software)
Foma is a free and open source finite-state toolkit created and maintained by Mans Hulden. It includes a compiler, programming language, and C library for constructing finite-state automata and transducers (FST's) for various uses, most typically Natural Language Processing uses such as morphological analysis.
Developer(s) | Måns Huldén |
---|---|
Initial release | 2010, 12–13 years ago |
Stable release | 0.9.16alpha
/ December 13, 2011 |
Repository | |
Written in | C |
Operating system | Cross-platform |
Type | Finite State Toolkit |
License | Apache License 2.0 |
Website | github |
Foma can replace the proprietary Xerox Finite State Toolkit for compiling and running FST's written in the lexc and xfst formalisms. The speed is comparable with the Xerox tools for most lexicons, although Foma can be 3 or 4 times slower for very large lexicons (e.g. >100,000 words).[1] Foma is also one of the possible backends of the free and open source Helsinki Finite State Toolkit (where other backends provide support for further formalisms).
There are several FOSS morphologies written in lexc/xfst compatible with foma, e.g. for the Sámi, Cornish, Faroese, Finnish, Komi, Mari, Udmurt, Buriat, Greenlandic language and Iñupiaq languages.[2]
See also
- HFST - The Helsinki Finite State Toolkit
- SFST - The Stuttgart Finite State Toolkit (an HFST backend)
- OpenFST (an HFST backend supporting weighted FST's)
- lttoolbox
- XFST - The Xerox Finite State Toolkit
External links
- https://fomafst.github.io/ - homepage
- http://wiki.apertium.org/wiki/Foma - foma information on the Apertium wiki
- http://www.ling.helsinki.fi/kieliteknologia/tutkimus/hfst/ - HFST home page
Notes
- Hulden 2009.
- "Welcome to the Sámi language technology pages". Archived from the original on 2011-08-22. Retrieved 2011-08-22.
References
- Hulden, Mans (2009), "Foma: a finite-state compiler and library" (PDF), Proceedings of the 12th Conference of the European Chapter of the Association for Computational Linguistics: Demonstrations Session, Association for Computational Linguistics, pp. 29–32