diff options
author | 2014-10-22 18:15:53 +0900 | |
---|---|---|
committer | 2014-10-22 18:15:53 +0900 | |
commit | b5ef884fbb6bfd08ce793604cdf7f0941e958a84 (patch) | |
tree | 4105ac7240773a2421a5ee44128a5fe2862ad430 /java/src/com/android/inputmethod/latin/makedict/WordProperty.java | |
parent | 1249395563d43c818e12038231ec89dcbcdc5cd0 (diff) | |
download | latinime-b5ef884fbb6bfd08ce793604cdf7f0941e958a84.tar.gz latinime-b5ef884fbb6bfd08ce793604cdf7f0941e958a84.tar.xz latinime-b5ef884fbb6bfd08ce793604cdf7f0941e958a84.zip |
Support dumping ngram entries.
Bug: 14425059
Change-Id: Ib03a0c3d166ed6f1e60c67127b28006d55143b6b
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; |