From 3d70932857ce97631635c132ce2dbc38ecb0e731 Mon Sep 17 00:00:00 2001 From: Keisuke Kuroyanagi Date: Wed, 26 Feb 2014 20:48:53 +0900 Subject: [PATCH] Use MAX_PROBABILITY for the limit of probabilities. Bug: 13197276 Change-Id: Ic3f855e566603b395395dff1f860f3d76ecb019c --- .../dictionary/utils/forgetting_curve_utils.cpp | 10 +++++----- .../dictionary/utils/forgetting_curve_utils.h | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/native/jni/src/suggest/policyimpl/dictionary/utils/forgetting_curve_utils.cpp b/native/jni/src/suggest/policyimpl/dictionary/utils/forgetting_curve_utils.cpp index a9baafed1..51b0eb23f 100644 --- a/native/jni/src/suggest/policyimpl/dictionary/utils/forgetting_curve_utils.cpp +++ b/native/jni/src/suggest/policyimpl/dictionary/utils/forgetting_curve_utils.cpp @@ -31,7 +31,6 @@ const int ForgettingCurveUtils::MAX_BIGRAM_COUNT = 12000; const int ForgettingCurveUtils::MAX_BIGRAM_COUNT_AFTER_GC = 10000; const int ForgettingCurveUtils::MULTIPLIER_TWO_IN_PROBABILITY_SCALE = 8; -const int ForgettingCurveUtils::MAX_COMPUTED_PROBABILITY = 127; const int ForgettingCurveUtils::DECAY_INTERVAL_SECONDS = 2 * 60 * 60; const int ForgettingCurveUtils::MAX_LEVEL = 3; @@ -83,11 +82,11 @@ const ForgettingCurveUtils::ProbabilityTable ForgettingCurveUtils::sProbabilityT if (unigramProbability == NOT_A_PROBABILITY) { return NOT_A_PROBABILITY; } else if (bigramProbability == NOT_A_PROBABILITY) { - return min(backoff(unigramProbability), MAX_COMPUTED_PROBABILITY); + return min(backoff(unigramProbability), MAX_PROBABILITY); } else { // TODO: Investigate better way to handle bigram probability. return min(max(unigramProbability, bigramProbability + MULTIPLIER_TWO_IN_PROBABILITY_SCALE), - MAX_COMPUTED_PROBABILITY); + MAX_PROBABILITY); } } @@ -153,6 +152,7 @@ const int ForgettingCurveUtils::ProbabilityTable::WEAK_PROBABILITY_TABLE_ID = 0; const int ForgettingCurveUtils::ProbabilityTable::MODEST_PROBABILITY_TABLE_ID = 1; const int ForgettingCurveUtils::ProbabilityTable::STRONG_PROBABILITY_TABLE_ID = 2; const int ForgettingCurveUtils::ProbabilityTable::AGGRESSIVE_PROBABILITY_TABLE_ID = 3; +const int ForgettingCurveUtils::ProbabilityTable::WEAK_MAX_PROBABILITY = 127; const int ForgettingCurveUtils::ProbabilityTable::MODEST_BASE_PROBABILITY = 32; const int ForgettingCurveUtils::ProbabilityTable::STRONG_BASE_PROBABILITY = 35; const int ForgettingCurveUtils::ProbabilityTable::AGGRESSIVE_BASE_PROBABILITY = 40; @@ -179,7 +179,7 @@ ForgettingCurveUtils::ProbabilityTable::ProbabilityTable() : mTables() { / static_cast(TIME_STEP_DURATION_IN_SECONDS * (MAX_ELAPSED_TIME_STEP_COUNT + 1))); mTables[tableId][level][timeStepCount] = - min(max(static_cast(probability), 1), MAX_COMPUTED_PROBABILITY); + min(max(static_cast(probability), 1), MAX_PROBABILITY); } } } @@ -189,7 +189,7 @@ ForgettingCurveUtils::ProbabilityTable::ProbabilityTable() : mTables() { const int tableId, const int level) { if (tableId == WEAK_PROBABILITY_TABLE_ID) { // Max probability is 127. - return static_cast(MAX_COMPUTED_PROBABILITY / (1 << (MAX_LEVEL - level))); + return static_cast(WEAK_MAX_PROBABILITY / (1 << (MAX_LEVEL - level))); } else if (tableId == MODEST_PROBABILITY_TABLE_ID) { // Max probability is 128. return static_cast(MODEST_BASE_PROBABILITY * (level + 1)); diff --git a/native/jni/src/suggest/policyimpl/dictionary/utils/forgetting_curve_utils.h b/native/jni/src/suggest/policyimpl/dictionary/utils/forgetting_curve_utils.h index 1eb6fb7e8..1a285e573 100644 --- a/native/jni/src/suggest/policyimpl/dictionary/utils/forgetting_curve_utils.h +++ b/native/jni/src/suggest/policyimpl/dictionary/utils/forgetting_curve_utils.h @@ -73,6 +73,7 @@ class ForgettingCurveUtils { static const int STRONG_PROBABILITY_TABLE_ID; static const int AGGRESSIVE_PROBABILITY_TABLE_ID; + static const int WEAK_MAX_PROBABILITY; static const int MODEST_BASE_PROBABILITY; static const int STRONG_BASE_PROBABILITY; static const int AGGRESSIVE_BASE_PROBABILITY; @@ -83,7 +84,6 @@ class ForgettingCurveUtils { }; static const int MULTIPLIER_TWO_IN_PROBABILITY_SCALE; - static const int MAX_COMPUTED_PROBABILITY; static const int DECAY_INTERVAL_SECONDS; static const int MAX_LEVEL;