PyFoma: a Python finite-state compiler module
Mans Hulden, Michael Ginn, Miikka Silfverberg, Michael Hammond
Abstract
We describe PyFoma, an open-source Python module for constructing weighted and unweighted finite-state transducers and automata from regular expressions, string rewriting rules, right-linear grammars, or low-level state/transition manipulation. A large variety of standard algorithms for working with finite-state machines is included, with a particular focus on the needs of linguistic and NLP applications. The data structures and code in the module are designed for legibility to allow for potential use in teaching the theory and algorithms associated with finite-state machines.- Anthology ID:
- 2024.acl-demos.24
- Volume:
- Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics (Volume 3: System Demonstrations)
- Month:
- August
- Year:
- 2024
- Address:
- Bangkok, Thailand
- Editors:
- Yixin Cao, Yang Feng, Deyi Xiong
- Venue:
- ACL
- SIG:
- Publisher:
- Association for Computational Linguistics
- Note:
- Pages:
- 258–265
- Language:
- URL:
- https://preview.aclanthology.org/build-pipeline-with-new-library/2024.acl-demos.24/
- DOI:
- 10.18653/v1/2024.acl-demos.24
- Cite (ACL):
- Mans Hulden, Michael Ginn, Miikka Silfverberg, and Michael Hammond. 2024. PyFoma: a Python finite-state compiler module. In Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics (Volume 3: System Demonstrations), pages 258–265, Bangkok, Thailand. Association for Computational Linguistics.
- Cite (Informal):
- PyFoma: a Python finite-state compiler module (Hulden et al., ACL 2024)
- PDF:
- https://preview.aclanthology.org/build-pipeline-with-new-library/2024.acl-demos.24.pdf