Foma is a
free and open source
Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
''finite-state toolkit'' created and maintained by
Mans Hulden
Mans Hulden (Swedish Måns Huldén) is a researcher in computational linguistics currently holding the title of ''Assistant Professor'' at the Department of Linguistics of the University of Colorado Boulder. He teaches courses in computational l ...
. It includes a
compiler
In computing, a compiler is a computer program that translates computer code written in one programming language (the ''source'' language) into another language (the ''target'' language). The name "compiler" is primarily used for programs that ...
,
programming language
A programming language is a system of notation for writing computer programs. Most programming languages are text-based formal languages, but they may also be graphical. They are a kind of computer language.
The description of a programming l ...
, and
C library for constructing
finite-state automata and
transducers
A transducer is a device that converts energy from one form to another. Usually a transducer converts a signal in one form of energy to a signal in another.
Transducers are often employed at the boundaries of automation, measurement, and contr ...
(FST's) for various uses, most typically
Natural Language Processing
Natural language processing (NLP) is an interdisciplinary subfield of linguistics, computer science, and artificial intelligence concerned with the interactions between computers and human language, in particular how to program computers to proc ...
uses such as
morphological analysis.
Foma can replace the proprietary
Xerox Finite State Toolkit
Xerox Holdings Corporation (; also known simply as Xerox) is an American corporation that sells print and digital document products and services in more than 160 countries. Xerox is headquartered in Norwalk, Connecticut (having moved from Stamf ...
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
Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
Helsinki Finite State Toolkit (where other backends provide support for further formalisms).
There are several
FOSS
Fos or FOSS may refer to:
Companies
* Foss A/S, a Danish analytical instrument company
*Foss Brewery, a former brewery in Oslo, Norway
* Foss Maritime, a tugboat and shipping company
Historic houses
*Foss House (New Brighton, Minnesota), United ...
morphologies written in lexc/xfst compatible with foma, e.g. for the
Sámi
The Sámi ( ; also spelled Sami or Saami) are a Finno-Ugric-speaking people inhabiting the region of Sápmi (formerly known as Lapland), which today encompasses large northern parts of Norway, Sweden, Finland, and of the Murmansk Oblast, R ...
,
Cornish,
Faroese,
Finnish,
Komi,
Mari,
Udmurt,
Buriat,
Greenlandic language
Greenlandic ( kl, kalaallisut, link=no ; da, grønlandsk ) is an Eskimo–Aleut language with about 56,000 speakers, mostly Greenlandic Inuit in Greenland. It is closely related to the Inuit languages in Canada such as Inuktitut. It is the m ...
and
Iñupiaq languages.
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
References
*
Free software
Cross-platform software
Finite automata
{{Programming-software-stub