diff options
author | Peng Wu <alexepico@gmail.com> | 2011-04-18 16:59:03 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2011-04-18 16:59:03 +0800 |
commit | c418ddb0e8ec1eb8e79cb03e83ed3ebc202d02e5 (patch) | |
tree | 6833bd52722b0655858f060e8b7fe0df7e0568ce /utils/training/gen_ngram.cpp | |
parent | 0b113f330653b82be8a87af8b8b4ac826e72b296 (diff) | |
download | libpinyin-c418ddb0e8ec1eb8e79cb03e83ed3ebc202d02e5.tar.gz libpinyin-c418ddb0e8ec1eb8e79cb03e83ed3ebc202d02e5.tar.xz libpinyin-c418ddb0e8ec1eb8e79cb03e83ed3ebc202d02e5.zip |
use new bi-gram
Diffstat (limited to 'utils/training/gen_ngram.cpp')
-rw-r--r-- | utils/training/gen_ngram.cpp | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/utils/training/gen_ngram.cpp b/utils/training/gen_ngram.cpp index 3233cee..6109e92 100644 --- a/utils/training/gen_ngram.cpp +++ b/utils/training/gen_ngram.cpp @@ -86,7 +86,7 @@ int main(int argc, char * argv[]){ phrase_index.load(2, chunk); Bigram bigram; - bigram.attach(NULL, bigram_filename); + bigram.attach(bigram_filename, ATTACH_CREATE|ATTACH_READWRITE); char* linebuf = (char *)malloc ( 1024 * sizeof (char) ); @@ -113,31 +113,31 @@ int main(int argc, char * argv[]){ phrase_index.add_unigram_frequency(cur_token, 1); } if ( cur_token ){ - SingleGram * system = NULL, * user = NULL; + SingleGram * single_gram = NULL; if ( 0 == last_token ){ if (train_pi_gram) - bigram.load(sentence_start, system, user); + bigram.load(sentence_start, single_gram); } else - bigram.load(last_token, system, user); - assert(NULL == system); - if ( NULL == user ){ - user = new SingleGram; + bigram.load(last_token, single_gram); + + if ( NULL == single_gram ){ + single_gram = new SingleGram; } guint32 freq, total_freq; //increase freq - if (user->get_freq(cur_token, freq)) - user->set_freq(cur_token, freq + 1); + if (single_gram->get_freq(cur_token, freq)) + single_gram->set_freq(cur_token, freq + 1); else - user->insert_freq(cur_token, 1); + single_gram->insert_freq(cur_token, 1); //increase total freq - user->get_total_freq(total_freq); - user->set_total_freq(total_freq + 1); + single_gram->get_total_freq(total_freq); + single_gram->set_total_freq(total_freq + 1); if ( 0 == last_token ){ if ( train_pi_gram ) - bigram.store(sentence_start, user); + bigram.store(sentence_start, single_gram); }else - bigram.store(last_token, user); - delete user; + bigram.store(last_token, single_gram); + delete single_gram; } } |