ngram_model_trie.h
/* -*- c-basic-offset: 4; indent-tabs-mode: nil -*- */
/* ====================================================================
* Copyright (c) 2015 Carnegie Mellon University. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* This work was supported in part by funding from the Defense Advanced
* Research Projects Agency and the National Science Foundation of the
* United States of America, and the CMU Sphinx Speech Consortium.
*
* THIS SOFTWARE IS PROVIDED BY CARNEGIE MELLON UNIVERSITY ``AS IS'' AND
* ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
* THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY
* NOR ITS EMPLOYEES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
* ====================================================================
*
*/
#ifndef __NGRAM_MODEL_TRIE_H__
#define __NGRAM_MODEL_TRIE_H__
#include <sphinxbase/prim_type.h>
#include <sphinxbase/logmath.h>
#include "ngram_model_internal.h"
#include "lm_trie.h"
typedef struct ngram_model_trie_s {
ngram_model_t base;
lm_trie_t *trie;
} ngram_model_trie_t;
ngram_model_t *ngram_model_trie_read_arpa(cmd_ln_t * config,
const char *path,
logmath_t * lmath);
int ngram_model_trie_write_arpa(ngram_model_t * base, const char *path);
ngram_model_t *ngram_model_trie_read_bin(cmd_ln_t * config,
const char *path,
logmath_t * lmath);
int ngram_model_trie_write_bin(ngram_model_t * model, const char *path);
ngram_model_t *ngram_model_trie_read_dmp(cmd_ln_t * config,
const char *file_name,
logmath_t * lmath);
#endif /* __NGRAM_MODEL_TRIE_H__ */
logmath.h
Fast integer logarithmic addition operations.
logmath_t
struct logmath_s logmath_t
Integer log math computation class.
Definition logmath.h:108
ngram_model_t
struct ngram_model_s ngram_model_t
Abstract type representing an N-Gram based language model.
Definition ngram_model.h:66
prim_type.h
Basic type definitions used in Sphinx.
cmd_ln_t
Opaque structure used to hold the results of command-line parsing.
ngram_model_trie_s
Definition ngram_model_trie.h:46
ngram_model_trie_s::trie
lm_trie_t * trie
Trie structure that stores ngram relations and weights.
Definition ngram_model_trie.h:48
ngram_model_trie_s::base
ngram_model_t base
Base ngram_model_t structure.
Definition ngram_model_trie.h:47