diff options
author | Peng Wu <alexepico@gmail.com> | 2012-03-02 11:18:22 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2012-03-02 11:20:53 +0800 |
commit | 6219c4e75e25b14a78f39cfec0a252260a45f132 (patch) | |
tree | 756018e3c96d193d269aea99f727b311114c1752 | |
parent | df35a1ceaff8da71f9953c3f89cbb66b658f69eb (diff) | |
download | libpinyin-6219c4e75e25b14a78f39cfec0a252260a45f132.tar.gz libpinyin-6219c4e75e25b14a78f39cfec0a252260a45f132.tar.xz libpinyin-6219c4e75e25b14a78f39cfec0a252260a45f132.zip |
update utils
-rw-r--r-- | src/pinyin.cpp | 4 | ||||
-rw-r--r-- | utils/training/eval_correction_rate.cpp | 11 |
2 files changed, 12 insertions, 3 deletions
diff --git a/src/pinyin.cpp b/src/pinyin.cpp index c0aa751..bf1345b 100644 --- a/src/pinyin.cpp +++ b/src/pinyin.cpp @@ -320,10 +320,10 @@ bool pinyin_guess_sentence(pinyin_instance_t * instance){ g_array_set_size(instance->m_prefixes, 0); g_array_append_val(instance->m_prefixes, sentence_start); - /* TODO: update get_best_match call. */ pinyin_update_constraints(instance); bool retval = context->m_pinyin_lookup->get_best_match - (instance->m_pinyin_keys, + (instance->m_prefixes, + instance->m_pinyin_keys, instance->m_constraints, instance->m_match_results); diff --git a/utils/training/eval_correction_rate.cpp b/utils/training/eval_correction_rate.cpp index 0e05350..5a0ec77 100644 --- a/utils/training/eval_correction_rate.cpp +++ b/utils/training/eval_correction_rate.cpp @@ -58,6 +58,11 @@ bool get_possible_pinyin(FacadePhraseIndex * phrase_index, bool get_best_match(PinyinLookup * pinyin_lookup, ChewingKeyVector keys, TokenVector tokens){ + /* prepare the prefixes for get_best_match. */ + TokenVector prefixes = g_array_new + (FALSE, FALSE, sizeof(phrase_token_t)); + g_array_append_val(prefixes, sentence_start); + /* initialize constraints. */ CandidateConstraints constraints = g_array_new (FALSE, FALSE, sizeof(lookup_constraint_t)); @@ -68,7 +73,11 @@ bool get_best_match(PinyinLookup * pinyin_lookup, constraint->m_type = NO_CONSTRAINT; } - return pinyin_lookup->get_best_match(keys, constraints, tokens); + bool retval = pinyin_lookup->get_best_match(prefixes, keys, constraints, tokens); + + g_array_free(prefixes, TRUE); + g_array_free(constraints, TRUE); + return retval; } bool do_one_test(PinyinLookup * pinyin_lookup, |