In file ../include/EST_WFST.h:

## class EST_WFST

> a call representing a weighted finite-state transducer

### Public Methods

  | Reseting functions
  void | init (int init_num_states=10) Clear with (estimation of number of states required)
  void | init (LISP in, LISP out) clear an initialise with given input and out alphabets
  void | copy (const EST_WFST &wfst) Copy from existing wfst
  void | clear () clear removing existing states if any
  | General utility functions
  int | in_symbol (const EST_String &s) const Map input symbol to input alphabet index
  const EST_String& | in_symbol (int i) const Map input alphabet index to input symbol
  int | out_symbol (const EST_String &s) const Map output symbol to output alphabet index
  const EST_String& | out_symbol (int i) const Map output alphabet index to output symbol
  LISP | epsilon_label () const LISP for on epsilon symbols
  int | in_epsilon () const Internal index for input epsilon
  int | out_epsilon () const Internal index for output epsilon
  const EST_WFST_State* | state (int i) const Return internal state information
  int | final (int i) const True if state `i` is final
  | transduction functions
  int | transition (int state, int in, int out) const Find (first) new state given in and out symbols
  EST_WFST_Transition* | find_transition (int state, int in, int out) const Find (first) transition given in and out symbols
  int | transition (int state, const EST_String &in, const EST_String &out) const Find (first) new state given in and out strings
  int | transition (int state, const EST_String &inout) const Find (first) new state given in/out string
  int | transduce (int state, int in, int &out) const Transduce in to out from state
  int | transduce (int state, const EST_String &in, EST_String &out) const Transduce in to out (strings) from state
  void | transduce (int state, int in, wfst_translist &out) const Transduce in to list of transitions
  void | transition_all (int state, int in, int out, EST_WFST_MultiState* ms) const Find all possible transitions for given state/input/output
  | Cumulation functions for adding collective probabilities
  int | cumulate () const Cumulation condition
  void | start_cumulate () Clear and start cumulation
  void | stop_cumulate () Stop cumulation and calculate probabilities on transitions
  | WFST construction functions from external represenations *
  int | add_state (enum wfst_state_type state_type) Add a new state, returns new name
  enum wfst_state_type | ms_type (EST_WFST_MultiState* ms) const Given a multi-state return type (final, ok, error)
  void | build_wfst (int start, int end, LISP regex) Basic regex constructor
  void | build_and_transition (int start, int end, LISP conjunctions) Basic conjunction constructor
  void | build_or_transition (int start, int end, LISP disjunctions) Basic disjunction constructor
  | Basic WFST operators
  void | determinize (const EST_WFST &a) Build determinized form of a
  void | minimize (const EST_WFST &a) Build minimized form of a
  void | complement (const EST_WFST &a) Build complement of a
  void | intersection (EST_TList<EST_WFST> &wl) Build intersection of all WFSTs in given list.
  void | intersection (const EST_WFST &a, const EST_WFST &b) Build intersection of WFSTs a and b The new WFST recognizes the only the strings that are recognized by both a and b list
  void | uunion (EST_TList<EST_WFST> &wl) Build union of all WFSTs in given list.
  void | uunion (const EST_WFST &a, const EST_WFST &b) Build union of WFSTs a and b.
  void | compose (const EST_WFST &a, const EST_WFST &b) Build new WFST by composition of a and b.
  void | difference (const EST_WFST &a, const EST_WFST &b) Build WFST that accepts only strings in a that aren't also accepted by strings in b.
  void | concat (const EST_WFST &a, const EST_WFST &b) Build WFST that accepts a language that consists of any string in a followed by any string in b *
  | construction support fuctions
  int | deterministic () const True if WFST is deterministic
  EST_WFST_MultiState* | apply_multistate (const EST_WFST &wfst, EST_WFST_MultiState* ms, int in, int out) const Transduce a multi-state given n and out
  void | add_epsilon_reachable (EST_WFST_MultiState* ms) const Extend multi-state with epsilon reachable states
  void | remove_error_states (const EST_WFST &a) Remove error states from the WFST
  EST_WFST& | operator = (const EST_WFST &a)

## Documentation

> a call representing a weighted finite-state transducer

`Constructor and initialisation functions`

`Reseting functions`

`void init(int init_num_states=10)`
  Clear with (estimation of number of states required)

`void init(LISP in, LISP out)`
  clear an initialise with given input and out alphabets

`void copy(const EST_WFST &wfst)`
  Copy from existing wfst

`void clear()`
  clear removing existing states if any

`General utility functions`

`int in_symbol(const EST_String &s) const`
  Map input symbol to input alphabet index

`const EST_String& in_symbol(int i) const`
  Map input alphabet index to input symbol

`int out_symbol(const EST_String &s) const`
  Map output symbol to output alphabet index

`const EST_String& out_symbol(int i) const`
  Map output alphabet index to output symbol

`LISP epsilon_label() const`
  LISP for on epsilon symbols

`int in_epsilon() const`
  Internal index for input epsilon

`int out_epsilon() const`
  Internal index for output epsilon

`const EST_WFST_State* state(int i) const`
  Return internal state information

`int final(int i) const`
  True if state `i` is final

`file i/o`

`transduction functions`

`int transition(int state, int in, int out) const`
  Find (first) new state given in and out symbols

`EST_WFST_Transition* find_transition(int state, int in, int out) const`
  Find (first) transition given in and out symbols

`int transition(int state, const EST_String &in, const EST_String &out) const`
  Find (first) new state given in and out strings

`int transition(int state, const EST_String &inout) const`
  Find (first) new state given in/out string

`int transduce(int state, int in, int &out) const`
  Transduce in to out from state

`int transduce(int state, const EST_String &in, EST_String &out) const`
  Transduce in to out (strings) from state

`void transduce(int state, int in, wfst_translist &out) const`
  Transduce in to list of transitions

`void transition_all(int state, int in, int out, EST_WFST_MultiState* ms) const`
  Find all possible transitions for given state/input/output

`Cumulation functions for adding collective probabilities`
  for transitions from data

  `int cumulate() const`
    Cumulation condition

  `void start_cumulate()`
    Clear and start cumulation

  `void stop_cumulate()`
    Stop cumulation and calculate probabilities on transitions

`WFST construction functions from external represenations *`

`int add_state(enum wfst_state_type state_type)`
  Add a new state, returns new name

`enum wfst_state_type ms_type(EST_WFST_MultiState* ms) const`
  Given a multi-state return type (final, ok, error)

`void build_wfst(int start, int end, LISP regex)`
  Basic regex constructor

`void build_and_transition(int start, int end, LISP conjunctions)`
  Basic conjunction constructor

`void build_or_transition(int start, int end, LISP disjunctions)`
  Basic disjunction constructor

`Basic WFST operators`

`void determinize(const EST_WFST &a)`
  Build determinized form of a

`void minimize(const EST_WFST &a)`
  Build minimized form of a

`void complement(const EST_WFST &a)`
  Build complement of a

`void intersection(EST_TList<EST_WFST> &wl)`
  Build intersection of all WFSTs in given list. The new WFST recognizes the only the strings that are recognized by all WFSTs in the given list

`void intersection(const EST_WFST &a, const EST_WFST &b)`
  Build intersection of WFSTs a and b The new WFST recognizes the only the strings that are recognized by both a and b list

`void uunion(EST_TList<EST_WFST> &wl)`
  Build union of all WFSTs in given list. The new WFST recognizes the only the strings that are recognized by at least one WFSTs in the given list

`void uunion(const EST_WFST &a, const EST_WFST &b)`
  Build union of WFSTs a and b. The new WFST recognizes the only the strings that are recognized by either a or b

`void compose(const EST_WFST &a, const EST_WFST &b)`
  Build new WFST by composition of a and b. Outputs of a are fed to b, given a new WFSTs which has a's input language and b's output set. a's output and b's input alphabets must be the same

`void difference(const EST_WFST &a, const EST_WFST &b)`
  Build WFST that accepts only strings in a that aren't also accepted by strings in b.

`void concat(const EST_WFST &a, const EST_WFST &b)`
  Build WFST that accepts a language that consists of any string in a followed by any string in b *

`construction support fuctions`

`int deterministic() const`
  True if WFST is deterministic

`EST_WFST_MultiState* apply_multistate(const EST_WFST &wfst, EST_WFST_MultiState* ms, int in, int out) const`
  Transduce a multi-state given n and out

`void add_epsilon_reachable(EST_WFST_MultiState* ms) const`
  Extend multi-state with epsilon reachable states

`void remove_error_states(const EST_WFST &a)`
  Remove error states from the WFST

`EST_WFST& operator = (const EST_WFST &a)`

This class has no child classes.

Alphabetic index HTML hierarchy of classes or Java

This page is part of the Edinburgh Speech Tools Library documentation
Copyright University of Edinburgh 1997
Contact: speech_tools@cstr.ed.ac.uk