HFST — The Helsinki Finite-State Transducer technology is intended for creating and manipulating weighted or unweighted synchronic transducers implementing regular relations.
Currently HFST has been implemented using the SFST and OpenFst software libraries. Other versions may be added in some future release. The SFST implementation is unweighted and the OpenFst implementation weighted. More info on SFST tools is in http://www.ims.uni-stuttgart.de/projekte/gramotron/SOFTWARE/SFST.html and on OpenFst in http://www.openfst.org.
The SFST implementation is in namespace HFST and the OpenFst implementation in namespace HWFST. As they behave almost similarily, only one documentation is given. There are some differences (mainly concerning weight handling) which are mentioned in the documentation.
The functions and datatypes are divided to five modules or layers: Key layer , Transducer layer , Symbol layer , Rule layer and Core extension layer .
Unless otherwise specified:
The examples use Xerox transducer notations ( http://www.xrce.xerox.com/Research-Development/Publications/1997-005/(language) ) with the following added notation:
[.]
The wildcard symbol. Allows any single key pair defined in the KeyPairSet argument of a function.