This paper introduces mFST, a new Python library for working with Finite-State Machines based on OpenFST. mFST is a thin wrapper for OpenFST and exposes all of OpenFST's methods for manipulating FSTs. Additionally, mFST is the only Python wrapper for OpenFST that exposes OpenFST's ability to define a custom semirings. This makes mFST ideal for developing models that involve learning the weights on a FST or creating neuralized FSTs. mFST has been designed to be easy to get started with and has been previously used in homework assignments for a NLP class as well in projects for integrating FSTs and neural networks. In this paper, we exhibit mFST API and how to use mFST to build a simple neuralized FST with PyTorch.
@article{arxiv.2012.03437,
title = {MFST: A Python OpenFST Wrapper With Support for Custom Semirings and Jupyter Notebooks},
author = {Matthew Francis-Landau},
journal= {arXiv preprint arXiv:2012.03437},
year = {2020}
}