34 #ifndef _moot_CLASSFREQS_H 35 #define _moot_CLASSFREQS_H 66 moot_hash<mootTagString> hasher;
67 for (LexClass::const_iterator xi = x.begin(); xi != x.end(); xi++) {
68 hv = 5*hv + hasher(*xi);
76 inline size_t operator()(
const LexClass &x,
const LexClass &y)
const {
84 typedef hash_map<LexClass,
104 if (initial_bucket_count != 0) {
105 lctable.resize(initial_bucket_count);
125 ClassfreqTable::iterator lci = lctable.find(lclass);
126 if (lci == lctable.end()) {
128 lci = lctable.insert(ClassfreqTable::value_type(lclass,ClassfreqEntry(count))).first;
129 lci->second.freqs[tag] = count;
132 lci->second.count += count;
134 ClassfreqSubtable::iterator lsi = lci->second.freqs.find(tag);
135 if (lsi == lci->second.freqs.end()) {
137 lci->second.freqs[tag] = count;
140 lsi->second += count;
145 TagfreqTable::iterator lctagi = tagtable.find(tag);
146 if (lctagi != tagtable.end()) {
147 lctagi->second += count;
149 tagtable[tag] = count;
159 TagfreqTable::const_iterator tagi = tagtable.find(tag);
160 return tagi == tagtable.end() ? 0 : tagi->second;
166 size_t n_pairs(
void);
173 size_t n_impossible(
void);
178 bool load(
const char *filename);
181 bool load(FILE *file,
const char *filename = NULL);
184 bool save(
const char *filename);
187 bool save(FILE *file,
const char *filename = NULL);
size_t operator()(const LexClass &x) const
Definition: mootClassfreqs.h:64
~mootClassfreqs()
Definition: mootClassfreqs.h:110
ClassfreqTable lctable
Definition: mootClassfreqs.h:95
map< mootTagString, LexfreqCount > LexfreqSubtable
Definition: mootLexfreqs.h:54
CountT totalcount
Definition: mootClassfreqs.h:97
size_t operator()(const LexClass &x, const LexClass &y) const
Definition: mootClassfreqs.h:76
Definition: mootClassfreqs.h:62
HMM training data: lexical frequencies: raw.
hash_map< LexClass, ClassfreqEntry, LexClassHash, LexClassEqual > ClassfreqTable
Definition: mootClassfreqs.h:88
mootClassfreqs(size_t initial_bucket_count=0)
Definition: mootClassfreqs.h:102
Class for storage and retrieval of raw lexical-class frequencies.
Definition: mootClassfreqs.h:44
set< mootTagString > mootTagSet
Definition: mootToken.h:65
Definition: mootLexfreqs.h:59
void add_count(const LexClass &lclass, const mootTagString &tag, const CountT count)
Definition: mootClassfreqs.h:120
Definition: mootClassfreqs.h:74
hash_map< mootTagString, CountT > TagfreqTable
Definition: mootClassfreqs.h:91
mootTagSet LexClass
Definition: mootClassfreqs.h:59
string mootTagString
Definition: mootToken.h:59
ProbT CountT
Definition: mootTypes.h:67
mootLexfreqs::LexfreqEntry ClassfreqEntry
Definition: mootClassfreqs.h:56
mootLexfreqs::LexfreqSubtable ClassfreqSubtable
Definition: mootClassfreqs.h:51
const CountT taglookup(const mootTagString &tag) const
Definition: mootClassfreqs.h:157
TagfreqTable tagtable
Definition: mootClassfreqs.h:96