EpsNormalize

Description

Returns an equivalent FST that is epsilon-normalized. An acceptor is epsilon-normalized if it is epsilon-removed. A transducer is input epsilon-normalized if additionally if on each path any epsilon input label follows all non-epsilon input labels. Output epsilon-normalized is defined similarly.

The input FST needs to be functional.

Usage

enum EpsNormalizeType { EPS_NORM_INPUT, EPS_NORM_OUTPUT };
template<class Arc>
void EpsNormalize(const Fst<Arc> &ifst, MutableFst<Arc> *ofst, EpsNormalizeType type);
fstepsnormalize [--opts] a.fst out.fst
 --eps_norm_output: Normalize output epsilons (def: false)

Examples

A:

epsnormalize1.jpg

(Input) Epsilon Normalize of A:

epsnormalize2.jpg

Epsnormalize(A, &B, EPS_NORM_INPUT);
fstepsnormalize a.fst out.fst

Complexity

Work in progress, under construction TBA

References

-- MichaelRiley - 30 Jun 2007

Topic attachments
I Attachment History Action Size Date Who CommentSorted ascending
JPEGjpg epsnormalize1.jpg r2 r1 manage 16.6 K 2007-06-30 - 22:20 MichaelRiley  
JPEGjpg epsnormalize2.jpg r3 r2 r1 manage 17.8 K 2007-06-30 - 22:21 MichaelRiley  

This topic: FST > WebHome > FstQuickTour > EpsNormalizeDoc
Topic revision: r5 - 2018-04-27 - MichaelRiley
 
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback