Tutorial: $\varphi$-Transductions in OpenFst via the Gallic Semiring
This is an incremental tutorial for users of the OpenFst library to work around a specific implementation constraint.
The paper addresses the limitation in OpenFst where φ-transitions cannot be directly used with transducers by showing how to implement φ-transductions using the Gallic semiring, demonstrated through an implementation of the MaxMatch tokenization algorithm.
OpenFst, a popular finite-state transducer library, supports $\varphi$-transitions but, due to an implementation constraint, they cannot be used with transducers in a straightforward way. In this short tutorial, we describe how one can use other functionality provided by OpenFst (namely, the Gallic semiring) to correctly implement $\varphi$-transductions and demonstrate it by implementing the MaxMatch (WordPiece) tokenization algorithm (Devlin et al., 2019; Song et al., 2021). Accompanying self-contained code examples are provided. https://www.openfst.org/twiki/pub/Contrib/FstContrib/phi_transduction_tutorial_code.tgz