Language model class modules. This module maintains classes of words and associated probabilities (P(word | class)). Examples of such classes: days of week, months of year, digits, last names, etc. Restrictions:
Go to the source code of this file.
Classes | |
struct | lmclass_word_s |
struct | lmclass_s |
struct | lmclass_set_s |
Defines | |
#define | lmclass_getname(class) ((class)->name) |
#define | lmclass_firstword(class) ((class)->wordlist) |
#define | lmclass_nextword(class, w) ((w)->next) |
#define | lmclass_getwid(w) ((w)->dictwid) |
#define | lmclass_getword(w) ((w)->word) |
#define | lmclass_getprob(w) ((w)->LOGprob) |
#define | lmclass_isclass(cl) ((cl) != NULL) |
#define | lmclass_isword(w) ((w) != NULL) |
#define | lmclass_firstclass(set) ((set)->lmclass_list) |
#define | lmclass_nextclass(set, cl) ((cl)->next) |
Typedefs | |
typedef struct lmclass_word_s | lmclass_word_t |
typedef struct lmclass_s | lmclass_t |
typedef struct lmclass_set_s | lmclass_set_t |
Functions | |
lmclass_set_t * | lmclass_newset (void) |
void | lmclass_free (lmclass_t *lmclass) |
lmclass_set_t * | lmclass_loadfile (lmclass_set_t *lmclass_set, char *file, logmath_t *logmath) |
lmclass_t * | lmclass_get_lmclass (lmclass_set_t *set, char *name) |
int32 | lmclass_get_nclass (lmclass_set_t *set) |
void | lmclass_set_dictwid (lmclass_word_t *w, int32 dictwid) |
void | lmclass_dump (lmclass_t *cl, FILE *fp) |
void | lmclass_set_dump (lmclass_set_t *set, FILE *fp) |
Language model class modules. This module maintains classes of words and associated probabilities (P(word | class)). Examples of such classes: days of week, months of year, digits, last names, etc. Restrictions:
#define lmclass_firstclass | ( | set | ) | ((set)->lmclass_list) |
#define lmclass_firstword | ( | class | ) | ((class)->wordlist) |
#define lmclass_getname | ( | class | ) | ((class)->name) |
Various access functions (macros)
#define lmclass_getprob | ( | w | ) | ((w)->LOGprob) |
#define lmclass_getwid | ( | w | ) | ((w)->dictwid) |
#define lmclass_getword | ( | w | ) | ((w)->word) |
#define lmclass_isclass | ( | cl | ) | ((cl) != NULL) |
#define lmclass_isword | ( | w | ) | ((w) != NULL) |
#define lmclass_nextclass | ( | set, | |
cl | |||
) | ((cl)->next) |
#define lmclass_nextword | ( | class, | |
w | |||
) | ((w)->next) |
typedef struct lmclass_set_s lmclass_set_t |
typedef struct lmclass_word_s lmclass_word_t |
void lmclass_dump | ( | lmclass_t * | cl, |
FILE * | fp | ||
) |
void lmclass_free | ( | lmclass_t * | lmclass | ) |
lmclass_t* lmclass_get_lmclass | ( | lmclass_set_t * | set, |
char * | name | ||
) |
Get the LMclass object for the given name from the given set.
int32 lmclass_get_nclass | ( | lmclass_set_t * | set | ) |
Get the number of LMclass objects in the given set.
lmclass_set_t* lmclass_loadfile | ( | lmclass_set_t * | lmclass_set, |
char * | file, | ||
logmath_t * | logmath | ||
) |
Load LM classes defined in the given file into the given set, and return the new, updated set. Note that the input file can contain several class definitions. File format:
LMCLASS <classname1> <word1> [<prob1>] <word2> [<prob2>] ... (each word, and its associated probability, in one line) END <classname1> LMCLASS <classname2> ... END <classname2> ... (as many classes as desired)
By convention, classname strings begin and end with [ and ] (Roni Rosenfeld). But it is not a REQUIREMENT as far as this module is concerned.
Word probabilities are optional (as indicated by the [] above). If p = sum of all EXPLICITLY specified probs within a class, (1-p) will be uniformly distributed between the remaining words in that class.
Lines beginning with a # IN THE FIRST COLUMN are comments and are ignored.
lmclass_set | An lm class set |
file | A class definition file |
lmclass_set_t* lmclass_newset | ( | void | ) |
Initialize and return a new, empty LMclass set
void lmclass_set_dictwid | ( | lmclass_word_t * | w, |
int32 | dictwid | ||
) |
Set the dictwid field of the given LMclass word entry to the given value
void lmclass_set_dump | ( | lmclass_set_t * | set, |
FILE * | fp | ||
) |