ngram_search.h File Reference
`#include <sphinxbase/cmd_ln.h>`
`#include <sphinxbase/logmath.h>`
`#include <sphinxbase/ngram_model.h>`
`#include <sphinxbase/listelem_alloc.h>`
`#include <sphinxbase/err.h>`
`#include "pocketsphinx_internal.h"`
`#include "hmm.h"`

Go to the source code of this file.

## Data Structures

struct | chan_s
| Lexical tree node data type. More...
struct | root_chan_s
| Lexical tree node data type for the first phone (root) of each dynamic HMM tree structure. More...
struct | bptbl_s
| Back pointer table (forward pass lattice; actually a tree) More...
struct | bptbl_seg_s
| Segmentation "iterator" for backpointer table results. More...
struct | lastphn_cand_s
struct | last_ltrans_t
struct | cand_sf_t
struct | bestbp_rc_s
struct | ngram_search_stats_s
| Various statistics for profiling. More...
struct | ngram_search_s
| N-Gram search module structure. More...

## Macros

#define | CAND_SF_ALLOCSIZE 32
#define | NO_BP -1

## Typedefs

typedef struct chan_s | chan_t
| Lexical tree node data type. More...
typedef struct root_chan_s | root_chan_t
| Lexical tree node data type for the first phone (root) of each dynamic HMM tree structure. More...
typedef struct bptbl_s | bptbl_t
| Back pointer table (forward pass lattice; actually a tree)
typedef struct bptbl_seg_s | bptbl_seg_t
| Segmentation "iterator" for backpointer table results.
typedef struct lastphn_cand_s | lastphn_cand_t
typedef struct bestbp_rc_s | bestbp_rc_t
typedef struct ngram_search_stats_s | ngram_search_stats_t
| Various statistics for profiling.
typedef struct ngram_search_s | ngram_search_t

## Functions

ps_search_t * | ngram_search_init (const char *name, ngram_model_t *lm, cmd_ln_t *config, acmod_t *acmod, dict_t *dict, dict2pid_t *d2p)
| Initialize the N-Gram search module.
void | ngram_search_free (ps_search_t *ngs)
| Finalize the N-Gram search module.
int | ngram_search_mark_bptable (ngram_search_t *ngs, int frame_idx)
| Record the current frame's index in the backpointer table. More...
void | ngram_search_save_bp (ngram_search_t *ngs, int frame_idx, int32 w, int32 score, int32 path, int32 rc)
| Enter a word in the backpointer table.
void | ngram_search_alloc_all_rc (ngram_search_t *ngs, int32 w)
| Allocate last phone channels for all possible right contexts for word w.
void | ngram_search_free_all_rc (ngram_search_t *ngs, int32 w)
| Allocate last phone channels for all possible right contexts for word w.
int | ngram_search_find_exit (ngram_search_t *ngs, int frame_idx, int32 *out_best_score)
| Find the best word exit for the current frame in the backpointer table. More...
const char * | ngram_search_bp_hyp (ngram_search_t *ngs, int bpidx)
| Backtrace from a given backpointer index to obtain a word hypothesis. More...
void | ngram_compute_seg_scores (ngram_search_t *ngs, float32 lwf)
| Compute language and acoustic scores for backpointer table entries.
ps_lattice_t * | ngram_search_lattice (ps_search_t *search)
| Construct a word lattice from the current hypothesis.
int32 | ngram_search_exit_score (ngram_search_t *ngs, bptbl_t *pbe, int rcphone)
| Get the exit score for a backpointer entry with a given right context.
void | ngram_search_set_lm (ngram_model_t *lm)
| Sets the global language model. More...

## Detailed Description

N-Gram based multi-pass search ("FBS")

Definition in file ngram_search.h.

## Typedef Documentation

## chan_t

typedef struct chan_s chan_t

Lexical tree node data type.

Not the first HMM for words, which multiplex HMMs based on different left contexts. This structure is used both in the dynamic HMM tree structure and in the per-word last-phone right context fanout.

## root_chan_t

typedef struct root_chan_s root_chan_t

Lexical tree node data type for the first phone (root) of each dynamic HMM tree structure.

Each state may have a different parent static HMM. Most fields are similar to those in chan_t.

## Function Documentation

## ngram_search_bp_hyp()

const char* ngram_search_bp_hyp | ( | ngram_search_t * | ngs,
|  | int | bpidx
| ) |  |

Backtrace from a given backpointer index to obtain a word hypothesis.

Returns
  a read-only string with the best hypothesis.

Definition at line 550 of file ngram_search.c.

## ngram_search_find_exit()

int ngram_search_find_exit | ( | ngram_search_t * | ngs,
|  | int | frame_idx,
|  | int32 * | out_best_score
| ) |  |

Find the best word exit for the current frame in the backpointer table.

Returns
  the backpointer index of the best word exit.

Definition at line 506 of file ngram_search.c.

References ngram_search_s::n_frame.

## ngram_search_mark_bptable()

int ngram_search_mark_bptable | ( | ngram_search_t * | ngs,
|  | int | frame_idx
| ) |  |

Record the current frame's index in the backpointer table.

Returns
  the current backpointer index.

Definition at line 329 of file ngram_search.c.

References ngram_search_s::frm_wordlist, and ngram_search_s::n_frame_alloc.

## ngram_search_set_lm()

void ngram_search_set_lm | ( | ngram_model_t * | lm | ) |

Sets the global language model.

Sets the language model to use if nothing was passed in configuration

Definition at line 1403 of file ngram_search.c.