diff options
author | 2014-10-22 09:41:15 +0000 | |
---|---|---|
committer | 2014-10-22 09:41:15 +0000 | |
commit | 2b40a6e9f51d9a2773d35d2f46d60596c47003af (patch) | |
tree | 19baa2e22eb6e6961abbf228338b20839094eb5a /java/src/com/android/inputmethod/latin/makedict/WordProperty.java | |
parent | c86945e319618eefd1fa885949255ecb0e180acf (diff) | |
parent | 010909d443984f4a847f7caafe1ff82da90e8d0c (diff) | |
download | latinime-2b40a6e9f51d9a2773d35d2f46d60596c47003af.tar.gz latinime-2b40a6e9f51d9a2773d35d2f46d60596c47003af.tar.xz latinime-2b40a6e9f51d9a2773d35d2f46d60596c47003af.zip |
am 010909d4: Merge "Support dumping ngram entries."
* commit '010909d443984f4a847f7caafe1ff82da90e8d0c':
Support dumping ngram entries.
Diffstat (limited to 'java/src/com/android/inputmethod/latin/makedict/WordProperty.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/makedict/WordProperty.java | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/java/src/com/android/inputmethod/latin/makedict/WordProperty.java b/java/src/com/android/inputmethod/latin/makedict/WordProperty.java index b129c3e40..e7808e46e 100644 --- a/java/src/com/android/inputmethod/latin/makedict/WordProperty.java +++ b/java/src/com/android/inputmethod/latin/makedict/WordProperty.java @@ -87,7 +87,7 @@ public final class WordProperty implements Comparable<WordProperty> { final boolean isPossiblyOffensive, final boolean hasBigram, final boolean hasShortcuts, final boolean isBeginningOfSentence, final int[] probabilityInfo, final ArrayList<int[][]> ngramPrevWordsArray, - final ArrayList<boolean[]> outNgramPrevWordIsBeginningOfSentenceArray, + final ArrayList<boolean[]> ngramPrevWordIsBeginningOfSentenceArray, final ArrayList<int[]> ngramTargets, final ArrayList<int[]> ngramProbabilityInfo, final ArrayList<int[]> shortcutTargets, final ArrayList<Integer> shortcutProbabilities) { @@ -102,16 +102,22 @@ public final class WordProperty implements Comparable<WordProperty> { mHasNgrams = hasBigram; final int relatedNgramCount = ngramTargets.size(); - final WordInfo currentWordInfo = - mIsBeginningOfSentence ? WordInfo.BEGINNING_OF_SENTENCE_WORD_INFO - : new WordInfo(mWord); - final NgramContext ngramContext = new NgramContext(currentWordInfo); for (int i = 0; i < relatedNgramCount; i++) { final String ngramTargetString = StringUtils.getStringFromNullTerminatedCodePointArray(ngramTargets.get(i)); final WeightedString ngramTarget = new WeightedString(ngramTargetString, createProbabilityInfoFromArray(ngramProbabilityInfo.get(i))); - // TODO: Support n-gram. + final int[][] prevWords = ngramPrevWordsArray.get(i); + final boolean[] isBeginningOfSentenceArray = + ngramPrevWordIsBeginningOfSentenceArray.get(i); + final WordInfo[] wordInfoArray = new WordInfo[prevWords.length]; + for (int j = 0; j < prevWords.length; j++) { + wordInfoArray[j] = isBeginningOfSentenceArray[j] + ? WordInfo.BEGINNING_OF_SENTENCE_WORD_INFO + : new WordInfo(StringUtils.getStringFromNullTerminatedCodePointArray( + prevWords[j])); + } + final NgramContext ngramContext = new NgramContext(wordInfoArray); ngrams.add(new NgramProperty(ngramTarget, ngramContext)); } mNgrams = ngrams.isEmpty() ? null : ngrams; @@ -126,6 +132,7 @@ public final class WordProperty implements Comparable<WordProperty> { } // TODO: Remove + @UsedForTesting public ArrayList<WeightedString> getBigrams() { if (null == mNgrams) { return null; |