43 #ifndef __VERTERBI_H__
44 #define __VERTERBI_H__
46 #include "EST_cutils.h"
47 #include "EST_Features.h"
48 #include "ling_class/EST_Relation.h"
100 EST_VTPoint() {next=0; s=0; paths=0; num_paths=0; cands=0; st_paths=0; num_states=0;}
147 uclist_f_t user_clist;
148 unpath_f_t user_npath;
153 float overall_path_pruning_envelope_width;
154 float candidate_pruning_envelope_width;
160 const int betterthan(
const float a,
const float b)
const;
162 double &best_score,
double &best_candidate_score,
163 double &score_cutoff,
double &candidate_cutoff,
203 bool vit_prune_path(
double path_score,
double score_cutoff);
211 void turn_on_debug();
212 void turn_on_trace();
232 #endif // __VERTERBI_H__
void set_cand_width(int w)
Only for use in beam search mode: number of candidates to consider.
void set_big_is_good(int flag)
void set_beam_width(int w)
Only for use in beam search mode: number of paths to consider.
bool result(const EST_String &n)
void copy_feature(const EST_String &n)
Copy named feature from the best path to related stream item.
void set_debug(int d)
Output some debugging information.
const double vit_a_big_number
Unfortunately using MAX_DOUBLE doesn't do the right thing (e.g. comparison don't work with MAX_DOUBLE...
void search(void)
Do the the actual search.
void set_pruning_parameters(float beam, float ob_beam)
set beam widths for pruning
void initialise(EST_Relation *r)
Build the initial table from a EST_Relation.
EST_Viterbi_Decoder(uclist_f_t a, unpath_f_t b)
EST_Features f
For holding values to pass to user called functions.
EST_VTCandidate * add_cand_prune(EST_VTCandidate *newcand, EST_VTCandidate *allcands)
A class that offers a generalised Viterbi decoder.