From MetaCentrum
Jump to: navigation, search


OpenFst is a library for constructing, combining, optimizing, and searching weighted finite-state transducers (FSTs). Weighted finite-state transducers are automata where each transition has an input label, an output label, and a weight. The more familiar finite-state acceptor is represented as a transducer with each transition's input and output label equal. Finite-state acceptors are used to represent sets of strings (specifically, regular or rational sets); finite-state transducers are used to represent binary relations between pairs of strings (specifically, rational transductions). The weights can be used to represent the cost of taking a particular transition.

FSTs have key applications in speech recognition and synthesis, machine translation, optical character recognition, pattern matching, string processing, machine learning, information extraction and retrieval among others. Often a weighted transducer is used to represent a probabilistic model (e.g., an n-gram model, pronunciation model). FSTs can be optimized by determinization and minimization, models can be applied to hypothesis sets (also represented as automata) or cascaded by finite-state composition, and the best results can be selected by shortest-path algorithms.


  • Module openfst-1.1: OpenFst version 1.1, 64-bit, ...
  • Module openfst-1.2: OpenFst version 1.2, 64-bit, ...


Running the application

  • ask for interactive task with one node and specified processors count (the ppn parameter)
$ qsub -I -l nodes=1:ppn=X -l mem=Yg

Also specify the memory size (the mem parameter) or any other task requirements.

  • call the application module into your system
$ module add openfst-1.1
  • Then simply run any command from OpenFST library with desired parameters. When you run any command with switch --help, will obtain simple manual:
$ fstcompose --help
Composes two FSTs.

  Usage: fstcompose in1.fst in2.fst [out.fst]
  Flags: connect filter

  Flags Description:
    --acceptor: type = bool, default = false
      Input in acceptor format
  • Concatenation of some commands with use of the pipe brings an advantage to your work:
$ fstcompose <in1.fst <in2.fst | fstrmepsilon | fstminimize | fstdeterminize >out.fst



open-source, distributed under the terms of the Apache license.

Supported platforms


Program administrator

Jan Vavruška (vavruska (at)