14
1

Algorithms for Acyclic Weighted Finite-State Automata with Failure Arcs

Abstract

Weighted finite-state automata (WSFAs) are commonly used in NLP. Failure transitions are a useful extension for compactly representing backoffs or interpolation in nn-gram models and CRFs, which are special cases of WFSAs. The pathsum in ordinary acyclic WFSAs is efficiently computed by the backward algorithm in time O(E)O(|E|), where EE is the set of transitions. However, this does not allow failure transitions, and preprocessing the WFSA to eliminate failure transitions could greatly increase E|E|. We extend the backward algorithm to handle failure transitions directly. Our approach is efficient when the average state has outgoing arcs for only a small fraction s1s \ll 1 of the alphabet Σ\Sigma. We propose an algorithm for general acyclic WFSAs which runs in O(E+sΣQTmaxlogΣ)O{\left(|E| + s |\Sigma| |Q| T_\text{max} \log{|\Sigma|}\right)}, where QQ is the set of states and TmaxT_\text{max} is the size of the largest connected component of failure transitions. When the failure transition topology satisfies a condition exemplified by CRFs, the TmaxT_\text{max} factor can be dropped, and when the weight semiring is a ring, the logΣ\log{|\Sigma|} factor can be dropped. In the latter case (ring-weighted acyclic WFSAs), we also give an alternative algorithm with complexity O(E+ΣQmin(1,sπmax))\displaystyle O{\left(|E| + |\Sigma| |Q| \min(1,s\pi_\text{max}) \right)}, where πmax\pi_\text{max} is the size of the longest failure path.

View on arXiv
Comments on this paper