Foma (software)
Encyclopedia
Foma is a free and open source finite-state toolkit created and maintained by Mans Hulden. It includes a compiler
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...

, programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

, and C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

 library for constructing finite-state automata and transducers
Finite state transducer
A finite state transducer is a finite state machine with two tapes: an input tape and an output tape. This contrasts with an ordinary finite state automaton , which has a single tape.-Overview:...

 (FST's) for various uses, most typically Natural Language Processing
Natural language processing
Natural language processing is a field of computer science and linguistics concerned with the interactions between computers and human languages; it began as a branch of artificial intelligence....

 uses such as morphological analysis
Morphological analysis
Morphological Analysis or General Morphological Analysis is a method developed by Fritz Zwicky for exploring all the possible solutions to a multi-dimensional, non-quantified problem complex.-Overview:...

.

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). 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 languages
Sami languages
Sami or Saami is a general name for a group of Uralic languages spoken by the Sami people in parts of northern Finland, Norway, Sweden and extreme northwestern Russia, in Northern Europe. Sami is frequently and erroneously believed to be a single language. Several names are used for the Sami...

, Cornish
Cornish language
Cornish is a Brythonic Celtic language and a recognised minority language of the United Kingdom. Along with Welsh and Breton, it is directly descended from the ancient British language spoken throughout much of Britain before the English language came to dominate...

, Faroese
Faroese
Faroese may refer to:* the Faroese people* the Faroese language* anything else pertaining to the Faroe Islands...

, Finnish
Finnish language
Finnish is the language spoken by the majority of the population in Finland Primarily for use by restaurant menus and by ethnic Finns outside Finland. It is one of the two official languages of Finland and an official minority language in Sweden. In Sweden, both standard Finnish and Meänkieli, a...

, Komi
Komi
The name Komi may refer to:*Komi Republic, a republic in Russia**Komi peoples**Komi language, languages of the Komi peoples *Komi, a short name for komidashi, a rule used in the board game Go...

, Mari, Udmurt
Udmurt
Udmurt may refer to:*Udmurt people, people who speak the Udmurt language*Udmurt language, a Finno-Ugric language*Udmurt Republic, a federal republic of Russia*Udmurt Autonomous Oblast, an autonomous oblast of the Soviet Union...

, Buriat, Greenlandic
Greenlandic
Greenlandic may refer to:* Something of, from, or related to Greenland, the self-governing Danish province located between the Arctic and Atlantic Oceans, east of the Canadian Arctic Archipelago....

 and Iñupiaq.

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

  • http://foma.sourceforge.net/ - official homepage
  • http://wiki.apertium.org/wiki/Foma - foma information on the Apertium wiki
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK