Expand description
Provides a trait that shall be implemented for all weights stored inside a wFST.
Structs§
- Boolean semiring: (&, |, false, true).
- UnionWeight of GallicWeightRestrict.
- Product of StringWeightLeft and an arbitrary weight.
- Product of StringWeightRestrict and an arbitrary weight.
- Product of StringWeighRestrict and an arbitrary weight.
- Product of StringWeightRight and an arbitrary weight.
- Probability semiring: (x, +, 0.0, 1.0).
- Log semiring: (log(e^-x + e^-y), +, inf, 0).
- Probability semiring: (x, +, 0.0, 1.0).
- Product semiring: W1 * W2.
- Properties verified by the Semiring.
- String semiring: (longest_common_prefix, ., Infinity, Epsilon)
- String semiring: (identity, ., Infinity, Epsilon)
- String semiring: (longest_common_suffix, ., Infinity, Epsilon)
- Tropical semiring: (min, +, inf, 0).
- Semiring that uses Times() and One() from W and union and the empty set for Plus() and Zero(), respectively. Template argument O specifies the union weight options as above.
Enums§
- Determines direction of division.
- Determines whether to use left or right string semiring. Includes a ‘restricted’ version that signals an error if proper prefixes/suffixes would otherwise be returned by Plus, useful with various algorithms that require functional transducer input with the string semirings.
Traits§
- A semiring
(S, ⊕, ⊗, 0, 1)
is said to be complete if for any index setI
and any family(ai)i ∈ I
of elements ofS
,⊕(ai)i∈I
is an element ofS
whose definition does not depend on the order of the terms in the ⊕-sum. Note that in a complete semiring all weighted transducers are regulated since all infinite sums are elements of S. For more information :https://cs.nyu.edu/~mohri/pub/hwa.pdf
- The weight on an Fst must implement the
Semiring
trait. Indeed, the weight set associated to a Fst must have the structure of a semiring.(S, +, *, 0, 1)
is a semiring if(S, +, 0)
is a commutative monoid with identity element 0,(S, *, 1)
is a monoid with identity element1
,*
distributes over+
,0
is an annihilator for*
. Thus, a semiring is a ring that may lack negation. For more information : https://cs.nyu.edu/~mohri/pub/hwa.pdf - A complete semiring S is a starsemiring that is a semiring that can be augmented with an internal unary closure operation ∗ defined by
a∗=⊕an (infinite sum) for any a ∈ S
. Furthermore, associativity, commutativity, and distributivity apply to these infinite sums. For more information :https://cs.nyu.edu/~mohri/pub/hwa.pdf
- A semiring is said to be divisible if all non-0 elements admit an inverse, that is if
S-{0}
is a group.(S, +, *, 0, 1)
is said to be weakly divisible if for anyx
andy
inS
such thatx + y != 0
, there exists at least onez
such thatx = (x+y)*z
. For more information :https://cs.nyu.edu/~mohri/pub/hwa.pdf