// file: keyword_search_constants.h
//
// definitions file for the lattice to nbest list utility
//

// make sure definitions are made only once
//
#ifndef __KEYWORD_SEARCH_CONSTANTS
#define __KEYWORD_SEARCH_CONSTANTS

// isip include files
//
#ifndef __ISIP_INTEGRAL_CONSTANTS
#include <integral_constants.h>
#endif

#ifndef __ISIP_DECODER_CONSTANTS
#include <decoder_constants.h>
#endif

// define the help file
//
#define KSRCH_HELP_FILE (char_1*)"keyword_search.help"

// block sizes for traces
//
#define KSRCH_DEFAULT_BLOCK_SIZE (int_4)9999
#define KSRCH_NODE_BLOCK_SIZE (int_4)99999

// nbest constants
//
#define KSRCH_OP_NBEST "nbest_paths"
#define KSRCH_NUM_NBEST DEC_NUM_NBEST

#define KSRCH_FUNCTION DEC_NBEST_LIST_FUNCTION 

// pruning parameters
//
#define KSRCH_OP_MAX_PATHS "nbest_max_paths"
#define KSRCH_OP_NBEST_BEAM "nbest_beam"

// grammar / language model
//
#define KSRCH_OP_MONOPHONES_FILE "monophones_file"
#define KSRCH_OP_PHONE_LEXICON_FILE "phone_lexicon_file"
#define KSRCH_OP_WORD_LEXICON_FILE "word_lexicon_file"
#define KSRCH_OP_LM_FILE "lm_file"

// search words file
//
#define KSRCH_OP_SEARCH_WORDS_FILE "search_words_file"

// default values for the language model
//
#define KSRCH_OP_NGRAM "ngram_order"
#define KSRCH_OP_LMSCALE "lm_scale"
#define KSRCH_OP_WORDPENALTY "word_penalty"
#define KSRCH_NGRAM_ORDER DEC_NGRAM_ORDER
#define KSRCH_LM_SCALE DEC_LM_SCALE 
#define KSRCH_WORD_PENALTY DEC_WORD_PENALTY 

// input / output file lists
//
#define KSRCH_OP_INPUT_LIST "input_lattice_list"
#define KSRCH_OP_OUTPUT_LIST "output_results_list"

// commandline identifiers
//
#define KSRCH_PARAMS_OPT "-p"
#define KSRCH_HELP_OPT "-help"

// file i/o related constants
//
#define KSRCH_WAIT_TIME 5
#define KSRCH_WAIT_ITER 20

// end of file
//
#endif
