<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>SphinxBase: ngram_model_s Struct Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript"> $(document).ready(initResizable); </script> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.3 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">SphinxBase <span id="projectnumber">0.6</span></div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="functions.html"><span>Data Fields</span></a></li> </ul> </div> </div> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> initNavTree('structngram__model__s.html',''); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#pub-attribs">Data Fields</a> </div> <div class="headertitle"> <h1>ngram_model_s Struct Reference</h1> </div> </div> <div class="contents"> <!-- doxytag: class="ngram_model_s" --> <p>Common implementation of ngram_model_t. <a href="#_details">More...</a></p> <p><code>#include <<a class="el" href="ngram__model__internal_8h_source.html">ngram_model_internal.h</a>></code></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="pub-attribs"></a> Data Fields</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b14986e4dc40ccec1f7e206b7f41d06"></a><!-- doxytag: member="ngram_model_s::refcount" ref="a3b14986e4dc40ccec1f7e206b7f41d06" args="" --> int </td><td class="memItemRight" valign="bottom"><a class="el" href="structngram__model__s.html#a3b14986e4dc40ccec1f7e206b7f41d06">refcount</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Reference count. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int32 * </td><td class="memItemRight" valign="bottom"><a class="el" href="structngram__model__s.html#a9dcba9b49cc1cd189b257e5838da0eee">n_counts</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Counts for 1, 2, 3, ... <a href="#a9dcba9b49cc1cd189b257e5838da0eee"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3e41109b30668bdfc077614c1ef49960"></a><!-- doxytag: member="ngram_model_s::n_1g_alloc" ref="a3e41109b30668bdfc077614c1ef49960" args="" --> int32 </td><td class="memItemRight" valign="bottom"><a class="el" href="structngram__model__s.html#a3e41109b30668bdfc077614c1ef49960">n_1g_alloc</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Number of allocated word strings (for new word addition) <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int32 </td><td class="memItemRight" valign="bottom"><a class="el" href="structngram__model__s.html#a74f85927ef0d5513a1e6c02d13864be3">n_words</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Number of actual word strings (NOT the same as the number of unigrams, due to class words). <a href="#a74f85927ef0d5513a1e6c02d13864be3"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">uint8 </td><td class="memItemRight" valign="bottom"><a class="el" href="structngram__model__s.html#a3c87bc1b678662a2c8930b3b8c33a80f">n</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">This is an n-gram model (1, 2, 3, ...). <a href="#a3c87bc1b678662a2c8930b3b8c33a80f"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="adeb914f8e9f011a5c960f5ee9cd33919"></a><!-- doxytag: member="ngram_model_s::n_classes" ref="adeb914f8e9f011a5c960f5ee9cd33919" args="" --> uint8 </td><td class="memItemRight" valign="bottom"><a class="el" href="structngram__model__s.html#adeb914f8e9f011a5c960f5ee9cd33919">n_classes</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Number of classes (maximum 128) <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a78a3253febced2cae4732044da466ee6"></a><!-- doxytag: member="ngram_model_s::writable" ref="a78a3253febced2cae4732044da466ee6" args="" --> uint8 </td><td class="memItemRight" valign="bottom"><a class="el" href="structngram__model__s.html#a78a3253febced2cae4732044da466ee6">writable</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Are word strings writable? <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac609a2f867496d6ca719351d566db328"></a><!-- doxytag: member="ngram_model_s::flags" ref="ac609a2f867496d6ca719351d566db328" args="" --> uint8 </td><td class="memItemRight" valign="bottom"><a class="el" href="structngram__model__s.html#ac609a2f867496d6ca719351d566db328">flags</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Any other flags we might care about (FIXME: Merge this and writable) <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2ca373109c651ac998b33153eb38fd95"></a><!-- doxytag: member="ngram_model_s::lmath" ref="a2ca373109c651ac998b33153eb38fd95" args="" --> <a class="el" href="structlogmath__s.html">logmath_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structngram__model__s.html#a2ca373109c651ac998b33153eb38fd95">lmath</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Log-math object. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a76ea0c65b23de80091e7c602bdb43bde"></a><!-- doxytag: member="ngram_model_s::lw" ref="a76ea0c65b23de80091e7c602bdb43bde" args="" --> float32 </td><td class="memItemRight" valign="bottom"><a class="el" href="structngram__model__s.html#a76ea0c65b23de80091e7c602bdb43bde">lw</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Language model scaling factor. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d6bf5632760a16e52cb881d7010d774"></a><!-- doxytag: member="ngram_model_s::log_wip" ref="a3d6bf5632760a16e52cb881d7010d774" args="" --> int32 </td><td class="memItemRight" valign="bottom"><a class="el" href="structngram__model__s.html#a3d6bf5632760a16e52cb881d7010d774">log_wip</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Log of word insertion penalty. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6f0ec7b8b9d13d590bbe4b59df573abc"></a><!-- doxytag: member="ngram_model_s::log_uw" ref="a6f0ec7b8b9d13d590bbe4b59df573abc" args="" --> int32 </td><td class="memItemRight" valign="bottom"><a class="el" href="structngram__model__s.html#a6f0ec7b8b9d13d590bbe4b59df573abc">log_uw</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Log of unigram weight. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a616bf871a67f9cedce17d6b589ee33ea"></a><!-- doxytag: member="ngram_model_s::log_uniform" ref="a616bf871a67f9cedce17d6b589ee33ea" args="" --> int32 </td><td class="memItemRight" valign="bottom"><a class="el" href="structngram__model__s.html#a616bf871a67f9cedce17d6b589ee33ea">log_uniform</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Log of uniform (0-gram) probability. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int32 </td><td class="memItemRight" valign="bottom"><a class="el" href="structngram__model__s.html#aa38c5fdecaefd9a2f43b69f26ae492c1">log_uniform_weight</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Log of uniform weight (i.e. <a href="#aa38c5fdecaefd9a2f43b69f26ae492c1"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a65425a599c4bcc4dda809d81149b8fc0"></a><!-- doxytag: member="ngram_model_s::log_zero" ref="a65425a599c4bcc4dda809d81149b8fc0" args="" --> int32 </td><td class="memItemRight" valign="bottom"><a class="el" href="structngram__model__s.html#a65425a599c4bcc4dda809d81149b8fc0">log_zero</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Zero probability, cached here for quick lookup. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae625e779e340845f03fb3da164e93039"></a><!-- doxytag: member="ngram_model_s::word_str" ref="ae625e779e340845f03fb3da164e93039" args="" --> char ** </td><td class="memItemRight" valign="bottom"><a class="el" href="structngram__model__s.html#ae625e779e340845f03fb3da164e93039">word_str</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Unigram names. <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structhash__table__t.html">hash_table_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structngram__model__s.html#a75567419a8002ef6e916c81f5d9ee9ed">wid</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Mapping of unigram names to word IDs. <a href="#a75567419a8002ef6e916c81f5d9ee9ed"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4f910ab2c18b0e68dce92816a27fb139"></a><!-- doxytag: member="ngram_model_s::tmp_wids" ref="a4f910ab2c18b0e68dce92816a27fb139" args="" --> int32 * </td><td class="memItemRight" valign="bottom"><a class="el" href="structngram__model__s.html#a4f910ab2c18b0e68dce92816a27fb139">tmp_wids</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Temporary array of word IDs for ngram_model_get_ngram() <br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structngram__class__s.html">ngram_class_s</a> ** </td><td class="memItemRight" valign="bottom"><a class="el" href="structngram__model__s.html#a39384af3e6b53591d433436db011ac8d">classes</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Word class definitions. <a href="#a39384af3e6b53591d433436db011ac8d"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structngram__funcs__s.html">ngram_funcs_s</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structngram__model__s.html#ad3d9d8ad9773f958a89534220eda6fb9">funcs</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Implementation-specific methods. <a href="#ad3d9d8ad9773f958a89534220eda6fb9"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Common implementation of ngram_model_t. </p> <p>The details of bigram, trigram, and higher-order N-gram storage, if any, can vary somewhat depending on the file format in use. </p> <p>Definition at line <a class="el" href="ngram__model__internal_8h_source.html#l00055">55</a> of file <a class="el" href="ngram__model__internal_8h_source.html">ngram_model_internal.h</a>.</p> </div><hr/><h2>Field Documentation</h2> <a class="anchor" id="a39384af3e6b53591d433436db011ac8d"></a><!-- doxytag: member="ngram_model_s::classes" ref="a39384af3e6b53591d433436db011ac8d" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structngram__class__s.html">ngram_class_s</a>** <a class="el" href="structngram__model__s.html#a39384af3e6b53591d433436db011ac8d">ngram_model_s::classes</a></td> </tr> </table> </div> <div class="memdoc"> <p>Word class definitions. </p> <p>Definition at line <a class="el" href="ngram__model__internal_8h_source.html#l00076">76</a> of file <a class="el" href="ngram__model__internal_8h_source.html">ngram_model_internal.h</a>.</p> <p>Referenced by <a class="el" href="ngram__model_8c_source.html#l01000">ngram_model_add_class()</a>, <a class="el" href="ngram__model_8c_source.html#l00950">ngram_model_add_class_word()</a>, <a class="el" href="ngram__model_8c_source.html#l00254">ngram_model_free()</a>, <a class="el" href="ngram__model_8c_source.html#l00570">ngram_ng_prob()</a>, and <a class="el" href="ngram__model_8c_source.html#l00494">ngram_ng_score()</a>.</p> </div> </div> <a class="anchor" id="ad3d9d8ad9773f958a89534220eda6fb9"></a><!-- doxytag: member="ngram_model_s::funcs" ref="ad3d9d8ad9773f958a89534220eda6fb9" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">struct <a class="el" href="structngram__funcs__s.html">ngram_funcs_s</a>* <a class="el" href="structngram__model__s.html#ad3d9d8ad9773f958a89534220eda6fb9">ngram_model_s::funcs</a></td> </tr> </table> </div> <div class="memdoc"> <p>Implementation-specific methods. </p> <p>Definition at line <a class="el" href="ngram__model__internal_8h_source.html#l00077">77</a> of file <a class="el" href="ngram__model__internal_8h_source.html">ngram_model_internal.h</a>.</p> <p>Referenced by <a class="el" href="ngram__model_8c_source.html#l00764">ngram_iter_free()</a>, <a class="el" href="ngram__model_8c_source.html#l00750">ngram_iter_get()</a>, <a class="el" href="ngram__model_8c_source.html#l00758">ngram_iter_next()</a>, <a class="el" href="ngram__model_8c_source.html#l00741">ngram_iter_successors()</a>, <a class="el" href="ngram__model_8c_source.html#l00832">ngram_model_add_word()</a>, <a class="el" href="ngram__model_8c_source.html#l00477">ngram_model_apply_weights()</a>, <a class="el" href="ngram__model_8c_source.html#l00247">ngram_model_flush()</a>, <a class="el" href="ngram__model_8c_source.html#l00254">ngram_model_free()</a>, <a class="el" href="ngram__model_8c_source.html#l00689">ngram_model_mgrams()</a>, <a class="el" href="ngram__model_8c_source.html#l00731">ngram_ng_iter()</a>, <a class="el" href="ngram__model_8c_source.html#l00570">ngram_ng_prob()</a>, and <a class="el" href="ngram__model_8c_source.html#l00494">ngram_ng_score()</a>.</p> </div> </div> <a class="anchor" id="aa38c5fdecaefd9a2f43b69f26ae492c1"></a><!-- doxytag: member="ngram_model_s::log_uniform_weight" ref="aa38c5fdecaefd9a2f43b69f26ae492c1" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int32 <a class="el" href="structngram__model__s.html#aa38c5fdecaefd9a2f43b69f26ae492c1">ngram_model_s::log_uniform_weight</a></td> </tr> </table> </div> <div class="memdoc"> <p>Log of uniform weight (i.e. </p> <p>1 - unigram weight) </p> <p>Definition at line <a class="el" href="ngram__model__internal_8h_source.html#l00071">71</a> of file <a class="el" href="ngram__model__internal_8h_source.html">ngram_model_internal.h</a>.</p> </div> </div> <a class="anchor" id="a3c87bc1b678662a2c8930b3b8c33a80f"></a><!-- doxytag: member="ngram_model_s::n" ref="a3c87bc1b678662a2c8930b3b8c33a80f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">uint8 <a class="el" href="structngram__model__s.html#a3c87bc1b678662a2c8930b3b8c33a80f">ngram_model_s::n</a></td> </tr> </table> </div> <div class="memdoc"> <p>This is an n-gram model (1, 2, 3, ...). </p> <p>Definition at line <a class="el" href="ngram__model__internal_8h_source.html#l00061">61</a> of file <a class="el" href="ngram__model__internal_8h_source.html">ngram_model_internal.h</a>.</p> <p>Referenced by <a class="el" href="ngram__model_8c_source.html#l00741">ngram_iter_successors()</a>, <a class="el" href="ngram__model_8c_source.html#l00663">ngram_model_get_size()</a>, <a class="el" href="ngram__model_8c_source.html#l00689">ngram_model_mgrams()</a>, <a class="el" href="ngram__model__set_8c_source.html#l00520">ngram_model_set_add()</a>, <a class="el" href="ngram__model__set_8c_source.html#l00121">ngram_model_set_init()</a>, and <a class="el" href="ngram__model_8c_source.html#l00731">ngram_ng_iter()</a>.</p> </div> </div> <a class="anchor" id="a9dcba9b49cc1cd189b257e5838da0eee"></a><!-- doxytag: member="ngram_model_s::n_counts" ref="a9dcba9b49cc1cd189b257e5838da0eee" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int32* <a class="el" href="structngram__model__s.html#a9dcba9b49cc1cd189b257e5838da0eee">ngram_model_s::n_counts</a></td> </tr> </table> </div> <div class="memdoc"> <p>Counts for 1, 2, 3, ... </p> <p>grams </p> <p>Definition at line <a class="el" href="ngram__model__internal_8h_source.html#l00057">57</a> of file <a class="el" href="ngram__model__internal_8h_source.html">ngram_model_internal.h</a>.</p> <p>Referenced by <a class="el" href="ngram__model_8c_source.html#l00254">ngram_model_free()</a>, and <a class="el" href="ngram__model_8c_source.html#l00671">ngram_model_get_counts()</a>.</p> </div> </div> <a class="anchor" id="a74f85927ef0d5513a1e6c02d13864be3"></a><!-- doxytag: member="ngram_model_s::n_words" ref="a74f85927ef0d5513a1e6c02d13864be3" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int32 <a class="el" href="structngram__model__s.html#a74f85927ef0d5513a1e6c02d13864be3">ngram_model_s::n_words</a></td> </tr> </table> </div> <div class="memdoc"> <p>Number of actual word strings (NOT the same as the number of unigrams, due to class words). </p> <p>Definition at line <a class="el" href="ngram__model__internal_8h_source.html#l00059">59</a> of file <a class="el" href="ngram__model__internal_8h_source.html">ngram_model_internal.h</a>.</p> <p>Referenced by <a class="el" href="ngram__model_8c_source.html#l00299">ngram_model_casefold()</a>, <a class="el" href="ngram__model_8c_source.html#l00254">ngram_model_free()</a>, <a class="el" href="ngram__model__set_8c_source.html#l00520">ngram_model_set_add()</a>, <a class="el" href="ngram__model__set_8c_source.html#l00456">ngram_model_set_current_wid()</a>, <a class="el" href="ngram__model__set_8c_source.html#l00468">ngram_model_set_known_wid()</a>, <a class="el" href="ngram__model__set_8c_source.html#l00637">ngram_model_set_map_words()</a>, <a class="el" href="ngram__model__set_8c_source.html#l00580">ngram_model_set_remove()</a>, and <a class="el" href="ngram__model_8c_source.html#l00782">ngram_word()</a>.</p> </div> </div> <a class="anchor" id="a75567419a8002ef6e916c81f5d9ee9ed"></a><!-- doxytag: member="ngram_model_s::wid" ref="a75567419a8002ef6e916c81f5d9ee9ed" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structhash__table__t.html">hash_table_t</a>* <a class="el" href="structngram__model__s.html#a75567419a8002ef6e916c81f5d9ee9ed">ngram_model_s::wid</a></td> </tr> </table> </div> <div class="memdoc"> <p>Mapping of unigram names to word IDs. </p> <p>Definition at line <a class="el" href="ngram__model__internal_8h_source.html#l00074">74</a> of file <a class="el" href="ngram__model__internal_8h_source.html">ngram_model_internal.h</a>.</p> <p>Referenced by <a class="el" href="ngram__model_8c_source.html#l00299">ngram_model_casefold()</a>, <a class="el" href="ngram__model_8c_source.html#l00254">ngram_model_free()</a>, <a class="el" href="ngram__model__set_8c_source.html#l00637">ngram_model_set_map_words()</a>, <a class="el" href="ngram__model_8c_source.html#l00644">ngram_unknown_wid()</a>, and <a class="el" href="ngram__model_8c_source.html#l00771">ngram_wid()</a>.</p> </div> </div> <hr/>The documentation for this struct was generated from the following file:<ul> <li>src/libsphinxbase/lm/<a class="el" href="ngram__model__internal_8h_source.html">ngram_model_internal.h</a></li> </ul> </div> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="structngram__model__s.html">ngram_model_s</a> </li> <li class="footer">Generated on Tue Apr 19 2011 for SphinxBase by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.3 </li> </ul> </div> </body> </html>