From 9c42ad47d4c8e2ae11b51b48609948ff391e89f2 Mon Sep 17 00:00:00 2001 From: Keisuke Kuroyanagi Date: Fri, 5 Sep 2014 19:23:52 +0900 Subject: [PATCH] Rename probability to unigramProbability. Bug: 14425059 Change-Id: I6a204c3b8fb257d037ad95a1a455ae6fb89068fd --- .../jni/src/suggest/core/dicnode/dic_node.h | 9 +++++---- .../suggest/core/dicnode/dic_node_utils.cpp | 2 +- .../suggest/core/dicnode/dic_node_vector.h | 4 ++-- .../dicnode/internal/dic_node_properties.h | 20 ++++++++++--------- .../core/dictionary/dictionary_utils.cpp | 6 +++--- .../core/result/suggestions_output_utils.cpp | 2 +- .../policyimpl/typing/typing_traversal.h | 3 ++- 7 files changed, 25 insertions(+), 21 deletions(-) diff --git a/native/jni/src/suggest/core/dicnode/dic_node.h b/native/jni/src/suggest/core/dicnode/dic_node.h index 52a204ce4..32ff0ce18 100644 --- a/native/jni/src/suggest/core/dicnode/dic_node.h +++ b/native/jni/src/suggest/core/dicnode/dic_node.h @@ -136,14 +136,14 @@ class DicNode { } void initAsChild(const DicNode *const dicNode, const int childrenPtNodeArrayPos, - const int probability, const int wordId, const bool isBlacklistedOrNotAWord, + const int unigramProbability, const int wordId, const bool isBlacklistedOrNotAWord, const uint16_t mergedNodeCodePointCount, const int *const mergedNodeCodePoints) { uint16_t newDepth = static_cast(dicNode->getNodeCodePointCount() + 1); mIsCachedForNextSuggestion = dicNode->mIsCachedForNextSuggestion; const uint16_t newLeavingDepth = static_cast( dicNode->mDicNodeProperties.getLeavingDepth() + mergedNodeCodePointCount); mDicNodeProperties.init(childrenPtNodeArrayPos, mergedNodeCodePoints[0], - probability, wordId, isBlacklistedOrNotAWord, newDepth, newLeavingDepth, + unigramProbability, wordId, isBlacklistedOrNotAWord, newDepth, newLeavingDepth, dicNode->mDicNodeProperties.getPrevWordIds()); mDicNodeState.init(&dicNode->mDicNodeState, mergedNodeCodePointCount, mergedNodeCodePoints); @@ -217,8 +217,9 @@ class DicNode { return mDicNodeProperties.getChildrenPtNodeArrayPos(); } - int getProbability() const { - return mDicNodeProperties.getProbability(); + // TODO: Remove + int getUnigramProbability() const { + return mDicNodeProperties.getUnigramProbability(); } AK_FORCE_INLINE bool isTerminalDicNode() const { diff --git a/native/jni/src/suggest/core/dicnode/dic_node_utils.cpp b/native/jni/src/suggest/core/dicnode/dic_node_utils.cpp index 87d245276..9f03e30d1 100644 --- a/native/jni/src/suggest/core/dicnode/dic_node_utils.cpp +++ b/native/jni/src/suggest/core/dicnode/dic_node_utils.cpp @@ -84,7 +84,7 @@ namespace latinime { /* static */ int DicNodeUtils::getBigramNodeProbability( const DictionaryStructureWithBufferPolicy *const dictionaryStructurePolicy, const DicNode *const dicNode, MultiBigramMap *const multiBigramMap) { - const int unigramProbability = dicNode->getProbability(); + const int unigramProbability = dicNode->getUnigramProbability(); if (multiBigramMap) { const int *const prevWordIds = dicNode->getPrevWordIds(); return multiBigramMap->getBigramProbability(dictionaryStructurePolicy, diff --git a/native/jni/src/suggest/core/dicnode/dic_node_vector.h b/native/jni/src/suggest/core/dicnode/dic_node_vector.h index 139a36e2a..dfeb3fc1f 100644 --- a/native/jni/src/suggest/core/dicnode/dic_node_vector.h +++ b/native/jni/src/suggest/core/dicnode/dic_node_vector.h @@ -59,11 +59,11 @@ class DicNodeVector { } void pushLeavingChild(const DicNode *const dicNode, const int childrenPtNodeArrayPos, - const int probability, const int wordId, const bool isBlacklistedOrNotAWord, + const int unigramProbability, const int wordId, const bool isBlacklistedOrNotAWord, const uint16_t mergedNodeCodePointCount, const int *const mergedNodeCodePoints) { ASSERT(!mLock); mDicNodes.emplace_back(); - mDicNodes.back().initAsChild(dicNode, childrenPtNodeArrayPos, probability, + mDicNodes.back().initAsChild(dicNode, childrenPtNodeArrayPos, unigramProbability, wordId, isBlacklistedOrNotAWord, mergedNodeCodePointCount, mergedNodeCodePoints); } diff --git a/native/jni/src/suggest/core/dicnode/internal/dic_node_properties.h b/native/jni/src/suggest/core/dicnode/internal/dic_node_properties.h index e8adca195..6a8377a1b 100644 --- a/native/jni/src/suggest/core/dicnode/internal/dic_node_properties.h +++ b/native/jni/src/suggest/core/dicnode/internal/dic_node_properties.h @@ -29,19 +29,19 @@ namespace latinime { class DicNodeProperties { public: AK_FORCE_INLINE DicNodeProperties() - : mChildrenPtNodeArrayPos(NOT_A_DICT_POS), mProbability(NOT_A_PROBABILITY), + : mChildrenPtNodeArrayPos(NOT_A_DICT_POS), mUnigramProbability(NOT_A_PROBABILITY), mDicNodeCodePoint(NOT_A_CODE_POINT), mWordId(NOT_A_WORD_ID), mIsBlacklistedOrNotAWord(false), mDepth(0), mLeavingDepth(0) {} ~DicNodeProperties() {} // Should be called only once per DicNode is initialized. - void init(const int childrenPos, const int nodeCodePoint, const int probability, + void init(const int childrenPos, const int nodeCodePoint, const int unigramProbability, const int wordId, const bool isBlacklistedOrNotAWord, const uint16_t depth, const uint16_t leavingDepth, const int *const prevWordIds) { mChildrenPtNodeArrayPos = childrenPos; mDicNodeCodePoint = nodeCodePoint; - mProbability = probability; + mUnigramProbability = unigramProbability; mWordId = wordId; mIsBlacklistedOrNotAWord = isBlacklistedOrNotAWord; mDepth = depth; @@ -53,7 +53,7 @@ class DicNodeProperties { void init(const int rootPtNodeArrayPos, const int *const prevWordIds) { mChildrenPtNodeArrayPos = rootPtNodeArrayPos; mDicNodeCodePoint = NOT_A_CODE_POINT; - mProbability = NOT_A_PROBABILITY; + mUnigramProbability = NOT_A_PROBABILITY; mWordId = NOT_A_WORD_ID; mIsBlacklistedOrNotAWord = false; mDepth = 0; @@ -64,7 +64,7 @@ class DicNodeProperties { void initByCopy(const DicNodeProperties *const dicNodeProp) { mChildrenPtNodeArrayPos = dicNodeProp->mChildrenPtNodeArrayPos; mDicNodeCodePoint = dicNodeProp->mDicNodeCodePoint; - mProbability = dicNodeProp->mProbability; + mUnigramProbability = dicNodeProp->mUnigramProbability; mWordId = dicNodeProp->mWordId; mIsBlacklistedOrNotAWord = dicNodeProp->mIsBlacklistedOrNotAWord; mDepth = dicNodeProp->mDepth; @@ -76,7 +76,7 @@ class DicNodeProperties { void init(const DicNodeProperties *const dicNodeProp, const int codePoint) { mChildrenPtNodeArrayPos = dicNodeProp->mChildrenPtNodeArrayPos; mDicNodeCodePoint = codePoint; // Overwrite the node char of a passing child - mProbability = dicNodeProp->mProbability; + mUnigramProbability = dicNodeProp->mUnigramProbability; mWordId = dicNodeProp->mWordId; mIsBlacklistedOrNotAWord = dicNodeProp->mIsBlacklistedOrNotAWord; mDepth = dicNodeProp->mDepth + 1; // Increment the depth of a passing child @@ -88,8 +88,8 @@ class DicNodeProperties { return mChildrenPtNodeArrayPos; } - int getProbability() const { - return mProbability; + int getUnigramProbability() const { + return mUnigramProbability; } int getDicNodeCodePoint() const { @@ -130,9 +130,11 @@ class DicNodeProperties { // Use a default copy constructor and an assign operator because shallow copies are ok // for this class int mChildrenPtNodeArrayPos; - int mProbability; + // TODO: Remove + int mUnigramProbability; int mDicNodeCodePoint; int mWordId; + // TODO: Remove bool mIsBlacklistedOrNotAWord; uint16_t mDepth; uint16_t mLeavingDepth; diff --git a/native/jni/src/suggest/core/dictionary/dictionary_utils.cpp b/native/jni/src/suggest/core/dictionary/dictionary_utils.cpp index b372b6b4f..94d7c886f 100644 --- a/native/jni/src/suggest/core/dictionary/dictionary_utils.cpp +++ b/native/jni/src/suggest/core/dictionary/dictionary_utils.cpp @@ -54,15 +54,15 @@ namespace latinime { current.swap(next); } - int maxProbability = NOT_A_PROBABILITY; + int maxUnigramProbability = NOT_A_PROBABILITY; for (const DicNode &dicNode : current) { if (!dicNode.isTerminalDicNode()) { continue; } // dicNode can contain case errors, accent errors, intentional omissions or digraphs. - maxProbability = std::max(maxProbability, dicNode.getProbability()); + maxUnigramProbability = std::max(maxUnigramProbability, dicNode.getUnigramProbability()); } - return maxProbability; + return maxUnigramProbability; } /* static */ void DictionaryUtils::processChildDicNodes( diff --git a/native/jni/src/suggest/core/result/suggestions_output_utils.cpp b/native/jni/src/suggest/core/result/suggestions_output_utils.cpp index ad860c4a4..cecb4e216 100644 --- a/native/jni/src/suggest/core/result/suggestions_output_utils.cpp +++ b/native/jni/src/suggest/core/result/suggestions_output_utils.cpp @@ -87,7 +87,7 @@ const int SuggestionsOutputUtils::MIN_LEN_FOR_MULTI_WORD_AUTOCORRECT = 16; + doubleLetterCost; const bool isPossiblyOffensiveWord = traverseSession->getDictionaryStructurePolicy()->getProbability( - terminalDicNode->getProbability(), NOT_A_PROBABILITY) <= 0; + terminalDicNode->getUnigramProbability(), NOT_A_PROBABILITY) <= 0; const bool isExactMatch = ErrorTypeUtils::isExactMatch(terminalDicNode->getContainedErrorTypes()); const bool isExactMatchWithIntentionalOmission = diff --git a/native/jni/src/suggest/policyimpl/typing/typing_traversal.h b/native/jni/src/suggest/policyimpl/typing/typing_traversal.h index cb3dfac70..ed9df8eb3 100644 --- a/native/jni/src/suggest/policyimpl/typing/typing_traversal.h +++ b/native/jni/src/suggest/policyimpl/typing/typing_traversal.h @@ -162,7 +162,8 @@ class TypingTraversal : public Traversal { } AK_FORCE_INLINE bool isGoodToTraverseNextWord(const DicNode *const dicNode) const { - const int probability = dicNode->getProbability(); + // TODO: Quit using unigram probability and use probability in the context. + const int probability = dicNode->getUnigramProbability(); if (probability < ScoringParams::THRESHOLD_NEXT_WORD_PROBABILITY) { return false; }