Finite-state transducers (FSTs) are often used in linguistics to create morphological models of a language, which can both parse words in that language and return a morphological analysis, and accept a morphological analysis and produce a grammatically correct word. While FSTs and computational models sound complex, they're actually fairly straightforward! You don't need to have advanced computational skills. The most difficult part is in fact the grammatical analysis of the language rather than implementing that analysis as an FST. Any linguist can create an FST.
In this post I'll show you how to install the two most common tools for creating FSTs—foma and hfst—on Windows. (If you're on Mac or Linux, those links also have installation instructions for those platforms.)
Download foma by going to the foma home page >
Precompiled binaries for Win32, OSX, Linux>foma-X.X.X_win32.zip(where the X's are the latest version numbers).Download hfst by going to the hfst home page >
download page>win32 executables>hfst-latest.zip.Extract the zip file for both downloads.
Rename the folder in the foma download from
win32tofoma.Move both extracted folders to
C:\Program Files (x86), like so:
C:\Program Files (x86)\fomaC:\Program Files (x86)\hfst
Next you need to make the foma and hfst commands available to run from the terminal / command line. Neither foma nor hfst have a graphical user interface, so you run them by opening a command line (press the Windows key, then type "command", and open the Command Prompt program that is shown) and typing simple text commands that begin with foma or hfst. At the moment, however, if you open a command line, no foma or hfst commands are available. So let's fix that:
Press the Windows key and type "path". One of the options should be "Edit the system environment variables"—open that. (If that option doesn't appear, search for "path" or "environment variables" in Settings.)
A
System Propertiesdialog box will open. ClickEnvironment Variablesin the lower right.An
Environment Variablesdialog box will open. UnderUser variables for {username}, click onPathand then clickEdit.You will now add the paths to the foma and hfst executables that you placed in Program Files earlier. Do this by clicking
Newand adding a line for each. Note that for hfst you also need to add\binto the path, like so:
C:\Program Files (x86)\fomaC:\Program Files (x86)\hfst\bin
The command line should now know about the existence of the foma and hfst commands and be able to run them. Let's check:
- Open a terminal / command line, type
foma -hand press Enter. You should see the following:
The -h flag stands for "help", and displays information about how to use foma. If you got the help text, it worked! The command line successfully recognized the foma command.
- Check for the
hfstcommand in a similar way: typehfst-infoand press enter, and you should get see information about the hfst software.
You're all set! You are now ready to begin creating and using finite-state transducers!

Top comments (0)