Foma (software)

From Wikipedia, the free encyclopedia
Developer(s)Måns Huldén
Initial release2010, 12–13 years ago
Stable release
0.9.16alpha / December 13, 2011 (2011-12-13)
Written inC
Operating systemCross-platform
TypeFinite State Toolkit
LicenseApache License 2.0

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.

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[edit]

  • 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[edit]


  1. ^ Hulden 2009.
  2. ^ "Welcome to the Sámi language technology pages". Archived from the original on 2011-08-22. Retrieved 2011-08-22.