diff options
author | 2014-09-29 10:52:18 +0900 | |
---|---|---|
committer | 2014-09-29 10:52:18 +0900 | |
commit | bb0eca57054758ef17b032d2654c1fc5f6b32101 (patch) | |
tree | 25a22c28dad09d7e2bdbbb95098ca54de67aced7 /java/src/com/android/inputmethod/latin/utils | |
parent | bbd6a26be025bc419e342e32d86629c4ebd68dd8 (diff) | |
download | latinime-bb0eca57054758ef17b032d2654c1fc5f6b32101.tar.gz latinime-bb0eca57054758ef17b032d2654c1fc5f6b32101.tar.xz latinime-bb0eca57054758ef17b032d2654c1fc5f6b32101.zip |
Rename PrevWordsInfo to NgramContext.
Bug: 14425059
Change-Id: Id06a71681fa8b5e589e29fba10fe5c1cfed66984
Diffstat (limited to 'java/src/com/android/inputmethod/latin/utils')
-rw-r--r-- | java/src/com/android/inputmethod/latin/utils/DistracterFilter.java | 12 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/utils/DistracterFilterCheckingExactMatchesAndSuggestions.java | 16 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/utils/DistracterFilterCheckingIsInDictionary.java | 10 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/utils/LanguageModelParam.java | 28 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/utils/NgramContextUtils.java (renamed from java/src/com/android/inputmethod/latin/utils/PrevWordsInfoUtils.java) | 16 | ||||
-rw-r--r-- | java/src/com/android/inputmethod/latin/utils/SuggestionResults.java | 2 |
6 files changed, 42 insertions, 42 deletions
diff --git a/java/src/com/android/inputmethod/latin/utils/DistracterFilter.java b/java/src/com/android/inputmethod/latin/utils/DistracterFilter.java index 6fd241ee9..355d00dac 100644 --- a/java/src/com/android/inputmethod/latin/utils/DistracterFilter.java +++ b/java/src/com/android/inputmethod/latin/utils/DistracterFilter.java @@ -22,23 +22,23 @@ import java.util.Locale; import android.view.inputmethod.InputMethodSubtype; import com.android.inputmethod.annotations.UsedForTesting; -import com.android.inputmethod.latin.PrevWordsInfo; +import com.android.inputmethod.latin.NgramContext; public interface DistracterFilter { /** * Determine whether a word is a distracter to words in dictionaries. * - * @param prevWordsInfo the information of previous words. + * @param ngramContext the n-gram context * @param testedWord the word that will be tested to see whether it is a distracter to words * in dictionaries. * @param locale the locale of word. * @return true if testedWord is a distracter, otherwise false. */ - public boolean isDistracterToWordsInDictionaries(final PrevWordsInfo prevWordsInfo, + public boolean isDistracterToWordsInDictionaries(final NgramContext ngramContext, final String testedWord, final Locale locale); @UsedForTesting - public int getWordHandlingType(final PrevWordsInfo prevWordsInfo, final String testedWord, + public int getWordHandlingType(final NgramContext ngramContext, final String testedWord, final Locale locale); public void updateEnabledSubtypes(final List<InputMethodSubtype> enabledSubtypes); @@ -72,13 +72,13 @@ public interface DistracterFilter { public static final DistracterFilter EMPTY_DISTRACTER_FILTER = new DistracterFilter() { @Override - public boolean isDistracterToWordsInDictionaries(PrevWordsInfo prevWordsInfo, + public boolean isDistracterToWordsInDictionaries(NgramContext ngramContext, String testedWord, Locale locale) { return false; } @Override - public int getWordHandlingType(final PrevWordsInfo prevWordsInfo, + public int getWordHandlingType(final NgramContext ngramContext, final String testedWord, final Locale locale) { return HandlingType.REQUIRE_NO_SPECIAL_HANDLINGS; } diff --git a/java/src/com/android/inputmethod/latin/utils/DistracterFilterCheckingExactMatchesAndSuggestions.java b/java/src/com/android/inputmethod/latin/utils/DistracterFilterCheckingExactMatchesAndSuggestions.java index f8a845304..8f0f9bb44 100644 --- a/java/src/com/android/inputmethod/latin/utils/DistracterFilterCheckingExactMatchesAndSuggestions.java +++ b/java/src/com/android/inputmethod/latin/utils/DistracterFilterCheckingExactMatchesAndSuggestions.java @@ -36,7 +36,7 @@ import com.android.inputmethod.keyboard.KeyboardId; import com.android.inputmethod.keyboard.KeyboardLayoutSet; import com.android.inputmethod.latin.DictionaryFacilitator; import com.android.inputmethod.latin.DictionaryFacilitatorLruCache; -import com.android.inputmethod.latin.PrevWordsInfo; +import com.android.inputmethod.latin.NgramContext; import com.android.inputmethod.latin.RichInputMethodSubtype; import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo; import com.android.inputmethod.latin.WordComposer; @@ -156,14 +156,14 @@ public class DistracterFilterCheckingExactMatchesAndSuggestions implements Distr /** * Determine whether a word is a distracter to words in dictionaries. * - * @param prevWordsInfo the information of previous words. Not used for now. + * @param ngramContext the n-gram context. Not used for now. * @param testedWord the word that will be tested to see whether it is a distracter to words * in dictionaries. * @param locale the locale of word. * @return true if testedWord is a distracter, otherwise false. */ @Override - public boolean isDistracterToWordsInDictionaries(final PrevWordsInfo prevWordsInfo, + public boolean isDistracterToWordsInDictionaries(final NgramContext ngramContext, final String testedWord, final Locale locale) { if (locale == null) { return false; @@ -250,7 +250,7 @@ public class DistracterFilterCheckingExactMatchesAndSuggestions implements Distr final SuggestionResults suggestionResults; synchronized (mLock) { suggestionResults = dictionaryFacilitator.getSuggestionResults( - composer, PrevWordsInfo.EMPTY_PREV_WORDS_INFO, keyboard.getProximityInfo(), + composer, NgramContext.EMPTY_PREV_WORDS_INFO, keyboard.getProximityInfo(), settingsValuesForSuggestion, 0 /* sessionId */); } if (suggestionResults.isEmpty()) { @@ -283,7 +283,7 @@ public class DistracterFilterCheckingExactMatchesAndSuggestions implements Distr return false; } - private boolean shouldBeLowerCased(final PrevWordsInfo prevWordsInfo, final String testedWord, + private boolean shouldBeLowerCased(final NgramContext ngramContext, final String testedWord, final Locale locale) { final DictionaryFacilitator dictionaryFacilitator = mDictionaryFacilitatorLruCache.get(locale); @@ -298,7 +298,7 @@ public class DistracterFilterCheckingExactMatchesAndSuggestions implements Distr return true; } if (StringUtils.getCapitalizationType(testedWord) == StringUtils.CAPITALIZE_FIRST - && !prevWordsInfo.isValid()) { + && !ngramContext.isValid()) { // TODO: Check beginning-of-sentence. return true; } @@ -306,13 +306,13 @@ public class DistracterFilterCheckingExactMatchesAndSuggestions implements Distr } @Override - public int getWordHandlingType(final PrevWordsInfo prevWordsInfo, final String testedWord, + public int getWordHandlingType(final NgramContext ngramContext, final String testedWord, final Locale locale) { // TODO: Use this method for user history dictionary. if (testedWord == null|| locale == null) { return HandlingType.getHandlingType(false /* shouldBeLowerCased */, false /* isOov */); } - final boolean shouldBeLowerCased = shouldBeLowerCased(prevWordsInfo, testedWord, locale); + final boolean shouldBeLowerCased = shouldBeLowerCased(ngramContext, testedWord, locale); final String caseModifiedWord = shouldBeLowerCased ? testedWord.toLowerCase(locale) : testedWord; final boolean isOov = !mDictionaryFacilitatorLruCache.get(locale).isValidWord( diff --git a/java/src/com/android/inputmethod/latin/utils/DistracterFilterCheckingIsInDictionary.java b/java/src/com/android/inputmethod/latin/utils/DistracterFilterCheckingIsInDictionary.java index 349236f18..df6e97028 100644 --- a/java/src/com/android/inputmethod/latin/utils/DistracterFilterCheckingIsInDictionary.java +++ b/java/src/com/android/inputmethod/latin/utils/DistracterFilterCheckingIsInDictionary.java @@ -22,7 +22,7 @@ import java.util.Locale; import android.view.inputmethod.InputMethodSubtype; import com.android.inputmethod.latin.Dictionary; -import com.android.inputmethod.latin.PrevWordsInfo; +import com.android.inputmethod.latin.NgramContext; public class DistracterFilterCheckingIsInDictionary implements DistracterFilter { private final DistracterFilter mDistracterFilter; @@ -35,7 +35,7 @@ public class DistracterFilterCheckingIsInDictionary implements DistracterFilter } @Override - public boolean isDistracterToWordsInDictionaries(PrevWordsInfo prevWordsInfo, + public boolean isDistracterToWordsInDictionaries(NgramContext ngramContext, String testedWord, Locale locale) { if (mDictionary.isInDictionary(testedWord)) { // This filter treats entries that are already in the dictionary as non-distracters @@ -43,14 +43,14 @@ public class DistracterFilterCheckingIsInDictionary implements DistracterFilter return false; } else { return mDistracterFilter.isDistracterToWordsInDictionaries( - prevWordsInfo, testedWord, locale); + ngramContext, testedWord, locale); } } @Override - public int getWordHandlingType(final PrevWordsInfo prevWordsInfo, final String testedWord, + public int getWordHandlingType(final NgramContext ngramContext, final String testedWord, final Locale locale) { - return mDistracterFilter.getWordHandlingType(prevWordsInfo, testedWord, locale); + return mDistracterFilter.getWordHandlingType(ngramContext, testedWord, locale); } @Override diff --git a/java/src/com/android/inputmethod/latin/utils/LanguageModelParam.java b/java/src/com/android/inputmethod/latin/utils/LanguageModelParam.java index be928077f..73aefb821 100644 --- a/java/src/com/android/inputmethod/latin/utils/LanguageModelParam.java +++ b/java/src/com/android/inputmethod/latin/utils/LanguageModelParam.java @@ -21,7 +21,7 @@ import android.util.Log; import com.android.inputmethod.annotations.UsedForTesting; import com.android.inputmethod.latin.Dictionary; import com.android.inputmethod.latin.DictionaryFacilitator; -import com.android.inputmethod.latin.PrevWordsInfo; +import com.android.inputmethod.latin.NgramContext; import com.android.inputmethod.latin.settings.SpacingAndPunctuations; import com.android.inputmethod.latin.utils.DistracterFilter.HandlingType; @@ -89,7 +89,7 @@ public final class LanguageModelParam { final DistracterFilter distracterFilter) { final ArrayList<LanguageModelParam> languageModelParams = new ArrayList<>(); final int N = tokens.size(); - PrevWordsInfo prevWordsInfo = PrevWordsInfo.EMPTY_PREV_WORDS_INFO; + NgramContext ngramContext = NgramContext.EMPTY_PREV_WORDS_INFO; for (int i = 0; i < N; ++i) { final String tempWord = tokens.get(i); if (StringUtils.isEmptyStringOrWhiteSpaces(tempWord)) { @@ -106,7 +106,7 @@ public final class LanguageModelParam { + tempWord + "\""); } // Sentence terminator found. Split. - prevWordsInfo = PrevWordsInfo.EMPTY_PREV_WORDS_INFO; + ngramContext = NgramContext.EMPTY_PREV_WORDS_INFO; continue; } if (DEBUG_TOKEN) { @@ -114,41 +114,41 @@ public final class LanguageModelParam { } final LanguageModelParam languageModelParam = detectWhetherVaildWordOrNotAndGetLanguageModelParam( - prevWordsInfo, tempWord, timestamp, locale, distracterFilter); + ngramContext, tempWord, timestamp, locale, distracterFilter); if (languageModelParam == null) { continue; } languageModelParams.add(languageModelParam); - prevWordsInfo = prevWordsInfo.getNextPrevWordsInfo( - new PrevWordsInfo.WordInfo(tempWord)); + ngramContext = ngramContext.getNextNgramContext( + new NgramContext.WordInfo(tempWord)); } return languageModelParams; } private static LanguageModelParam detectWhetherVaildWordOrNotAndGetLanguageModelParam( - final PrevWordsInfo prevWordsInfo, final String targetWord, final int timestamp, + final NgramContext ngramContext, final String targetWord, final int timestamp, final Locale locale, final DistracterFilter distracterFilter) { if (locale == null) { return null; } - final int wordHandlingType = distracterFilter.getWordHandlingType(prevWordsInfo, + final int wordHandlingType = distracterFilter.getWordHandlingType(ngramContext, targetWord, locale); final String word = HandlingType.shouldBeLowerCased(wordHandlingType) ? targetWord.toLowerCase(locale) : targetWord; - if (distracterFilter.isDistracterToWordsInDictionaries(prevWordsInfo, targetWord, locale)) { + if (distracterFilter.isDistracterToWordsInDictionaries(ngramContext, targetWord, locale)) { // The word is a distracter. return null; } - return createAndGetLanguageModelParamOfWord(prevWordsInfo, word, timestamp, + return createAndGetLanguageModelParamOfWord(ngramContext, word, timestamp, !HandlingType.shouldBeHandledAsOov(wordHandlingType)); } private static LanguageModelParam createAndGetLanguageModelParamOfWord( - final PrevWordsInfo prevWordsInfo, final String word, final int timestamp, + final NgramContext ngramContext, final String word, final int timestamp, final boolean isValidWord) { final int unigramProbability = isValidWord ? UNIGRAM_PROBABILITY_FOR_VALID_WORD : UNIGRAM_PROBABILITY_FOR_OOV_WORD; - if (!prevWordsInfo.isValid()) { + if (!ngramContext.isValid()) { if (DEBUG) { Log.d(TAG, "--- add unigram: current(" + (isValidWord ? "Valid" : "OOV") + ") = " + word); @@ -156,12 +156,12 @@ public final class LanguageModelParam { return new LanguageModelParam(word, unigramProbability, timestamp); } if (DEBUG) { - Log.d(TAG, "--- add bigram: prev = " + prevWordsInfo + ", current(" + Log.d(TAG, "--- add bigram: prev = " + ngramContext + ", current(" + (isValidWord ? "Valid" : "OOV") + ") = " + word); } final int bigramProbability = isValidWord ? BIGRAM_PROBABILITY_FOR_VALID_WORD : BIGRAM_PROBABILITY_FOR_OOV_WORD; - return new LanguageModelParam(prevWordsInfo.getNthPrevWord(1 /* n */), word, + return new LanguageModelParam(ngramContext.getNthPrevWord(1 /* n */), word, unigramProbability, bigramProbability, timestamp); } } diff --git a/java/src/com/android/inputmethod/latin/utils/PrevWordsInfoUtils.java b/java/src/com/android/inputmethod/latin/utils/NgramContextUtils.java index 5720d9388..34eeac2c2 100644 --- a/java/src/com/android/inputmethod/latin/utils/PrevWordsInfoUtils.java +++ b/java/src/com/android/inputmethod/latin/utils/NgramContextUtils.java @@ -20,12 +20,12 @@ import java.util.Arrays; import java.util.regex.Pattern; import com.android.inputmethod.latin.Constants; -import com.android.inputmethod.latin.PrevWordsInfo; -import com.android.inputmethod.latin.PrevWordsInfo.WordInfo; +import com.android.inputmethod.latin.NgramContext; +import com.android.inputmethod.latin.NgramContext.WordInfo; import com.android.inputmethod.latin.settings.SpacingAndPunctuations; -public final class PrevWordsInfoUtils { - private PrevWordsInfoUtils() { +public final class NgramContextUtils { + private NgramContextUtils() { // Intentional empty constructor for utility class. } @@ -44,7 +44,7 @@ public final class PrevWordsInfoUtils { // (n = 2) "abc def|" -> beginning-of-sentence, abc // (n = 2) "abc def |" -> beginning-of-sentence, abc // (n = 2) "abc 'def|" -> empty. The context is different from "abc def", but we cannot - // represent this situation using PrevWordsInfo. See TODO in the method. + // represent this situation using NgramContext. See TODO in the method. // TODO: The next example's result should be "abc, def". This have to be fixed before we // retrieve the prior context of Beginning-of-Sentence. // (n = 2) "abc def. |" -> beginning-of-sentence, abc @@ -52,9 +52,9 @@ public final class PrevWordsInfoUtils { // (n = 2) "abc|" -> beginning-of-sentence // (n = 2) "abc |" -> beginning-of-sentence // (n = 2) "abc. def|" -> beginning-of-sentence - public static PrevWordsInfo getPrevWordsInfoFromNthPreviousWord(final CharSequence prev, + public static NgramContext getNgramContextFromNthPreviousWord(final CharSequence prev, final SpacingAndPunctuations spacingAndPunctuations, final int n) { - if (prev == null) return PrevWordsInfo.EMPTY_PREV_WORDS_INFO; + if (prev == null) return NgramContext.EMPTY_PREV_WORDS_INFO; final String[] w = SPACE_REGEX.split(prev); final WordInfo[] prevWordsInfo = new WordInfo[Constants.MAX_PREV_WORD_COUNT_FOR_N_GRAM]; Arrays.fill(prevWordsInfo, WordInfo.EMPTY_WORD_INFO); @@ -98,6 +98,6 @@ public final class PrevWordsInfoUtils { } prevWordsInfo[i] = new WordInfo(focusedWord); } - return new PrevWordsInfo(prevWordsInfo); + return new NgramContext(prevWordsInfo); } } diff --git a/java/src/com/android/inputmethod/latin/utils/SuggestionResults.java b/java/src/com/android/inputmethod/latin/utils/SuggestionResults.java index d6f644228..4e2e396c2 100644 --- a/java/src/com/android/inputmethod/latin/utils/SuggestionResults.java +++ b/java/src/com/android/inputmethod/latin/utils/SuggestionResults.java @@ -31,7 +31,7 @@ import java.util.TreeSet; public final class SuggestionResults extends TreeSet<SuggestedWordInfo> { public final ArrayList<SuggestedWordInfo> mRawSuggestions; // TODO: Instead of a boolean , we may want to include the context of this suggestion results, - // such as {@link PrevWordsInfo}. + // such as {@link NgramContext}. public final boolean mIsBeginningOfSentence; private final int mCapacity; |