This paper describes a weighted finite-state transducer composition algorithm that generalizes the concept of the composition filter and presents various filters that process epsilon transitions, look-ahead along paths, and push forward labels along epsilon paths. These filters, either individually or in combination, make it possible to compose some transducers much more efficiently in time and space than otherwise possible. We present examples of this drawn, in part, from demanding speech-processing applications. The generalized composition algorithm and many of these filters have been included in Open-Fst, an open-source weighted transducer library.June 14, 2011 10:44 WSPC/INSTRUCTION FILE ijfcs11 2 C. Allauzen, M. Riley and J.Schalkwyk sition filter, applied at each composition state during the construction, that decides if composition is to continue. If we set out to create a general composition filter that blocks every non-coaccessible composition state for any input transducers, then we have only delegated the job of doing a full composition to the filter. Instead, we take the view that there are certain specific filters, tailored to particular but common cases, that are efficient to use, involving only a limited degree of look-ahead along paths. Composition itself is then parameterized to take one or more of these filters that are selected by the user to fit his problem.Section 2 presents the generalized composition algorithm and defines several composition filters. Section 3 provides examples of these composition filters applied to practical problems. Section 4 briefly describes how these filters are used in OpenFst [3], an open-source weighted transducer library.
Composition Algorithm
PreliminariesA semiring (K, ⊕, ⊗, 0, 1) is a ring that may lack negation. A semiring (K, ⊕, ⊗, 0, 1) is specified by a set of values K, two binary operations ⊕ and ⊗, and two designated values 0 and 1. The operation ⊕ is associative, commutative, and has 0 as identity. The operation ⊗ is associative, has identity 1, distributes with respect to ⊕, and has 0 as annihilator: for all a ∈ K, a ⊗ 0 = 0 ⊗ a = 0. If ⊗ is also commutative, we say that the semiring is commutative.The probability semiring (R + , +, ×, 0, 1) is used when the weights represent probabilities. The log semiring (R ∪ {∞} , ⊕ log , +, ∞, 0), isomorphic to the probability semiring via the negative-log mapping, is often used in practice for numerical stability. The tropical semiring (R ∪ {∞} , min, +, ∞, 0), derived from the log semiring using the Viterbi approximation, is often used in shortest-path applications.A weighted finite-state transducer T = (A, B, Q, I, F, E, λ, ρ) over a semiring K is specified by a finite input alphabet A, a finite output alphabet B, a finite set of states Q, a set of initial states I ⊆ Q, a set of final states F ⊆ Q, a finite set ofan initial state weight assignment λ : I → K, and a final state weight assignment ρ : F → K. E[q] denotes the set of transitions leaving state q ∈ Q. Given a transition e ∈ E, p[e] denotes its origin o...