ngram_model_s Struct Reference

Common implementation of ngram_model_t. More...

`#include <ngram_model_internal.h>`

## Data Fields

int | refcount
| Reference count.
int32 * | n_counts
| Counts for 1, 2, 3, ... More...
int32 | n_1g_alloc
| Number of allocated word strings (for new word addition)
int32 | n_words
| Number of actual word strings (NOT the same as the number of unigrams, due to class words). More...
uint8 | n
| This is an n-gram model (1, 2, 3, ...). More...
uint8 | n_classes
| Number of classes (maximum 128)
uint8 | writable
| Are word strings writable?
uint8 | flags
| Any other flags we might care about (FIXME: Merge this and writable)
logmath_t * | lmath
| Log-math object.
float32 | lw
| Language model scaling factor.
int32 | log_wip
| Log of word insertion penalty.
int32 | log_uw
| Log of unigram weight.
int32 | log_uniform
| Log of uniform (0-gram) probability.
int32 | log_uniform_weight
| Log of uniform weight (i.e. More...
int32 | log_zero
| Zero probability, cached here for quick lookup.
char ** | word_str
| Unigram names.
hash_table_t * | wid
| Mapping of unigram names to word IDs. More...
int32 * | tmp_wids
| Temporary array of word IDs for ngram_model_get_ngram()
struct ngram_class_s ** | classes
| Word class definitions. More...
struct ngram_funcs_s * | funcs
| Implementation-specific methods. More...

## Detailed Description

Common implementation of ngram_model_t.

The details of bigram, trigram, and higher-order N-gram storage, if any, can vary somewhat depending on the file format in use.

Definition at line 55 of file ngram_model_internal.h.

## Field Documentation

struct ngram_class_s** ngram_model_s::classes

Word class definitions.

Definition at line 76 of file ngram_model_internal.h.

Referenced by ngram_model_add_class(), ngram_model_add_class_word(), ngram_model_free(), ngram_ng_prob(), and ngram_ng_score().

struct ngram_funcs_s* ngram_model_s::funcs

Implementation-specific methods.

Definition at line 77 of file ngram_model_internal.h.

Referenced by ngram_iter_free(), ngram_iter_get(), ngram_iter_next(), ngram_iter_successors(), ngram_model_add_word(), ngram_model_apply_weights(), ngram_model_flush(), ngram_model_free(), ngram_model_mgrams(), ngram_ng_iter(), ngram_ng_prob(), and ngram_ng_score().

int32 ngram_model_s::log_uniform_weight

Log of uniform weight (i.e.

1 - unigram weight)

Definition at line 71 of file ngram_model_internal.h.

uint8 ngram_model_s::n

This is an n-gram model (1, 2, 3, ...).

Definition at line 61 of file ngram_model_internal.h.

Referenced by ngram_iter_successors(), ngram_model_get_size(), ngram_model_mgrams(), ngram_model_set_add(), ngram_model_set_init(), ngram_model_set_remove(), and ngram_ng_iter().

int32* ngram_model_s::n_counts

Counts for 1, 2, 3, ...

grams

Definition at line 57 of file ngram_model_internal.h.

Referenced by ngram_model_free(), and ngram_model_get_counts().

int32 ngram_model_s::n_words

Number of actual word strings (NOT the same as the number of unigrams, due to class words).

Definition at line 59 of file ngram_model_internal.h.

Referenced by ngram_model_casefold(), ngram_model_free(), ngram_model_set_add(), ngram_model_set_current_wid(), ngram_model_set_known_wid(), ngram_model_set_map_words(), ngram_model_set_remove(), and ngram_word().

hash_table_t* ngram_model_s::wid

Mapping of unigram names to word IDs.

Definition at line 74 of file ngram_model_internal.h.

Referenced by ngram_model_casefold(), ngram_model_free(), ngram_model_set_map_words(), ngram_unknown_wid(), and ngram_wid().

The documentation for this struct was generated from the following file:

- src/libsphinxbase/lm/ngram_model_internal.h