diff --git a/Source/Engine/McBopomofoLM.cpp b/Source/Engine/McBopomofoLM.cpp index 1e235447..c7b51c49 100644 --- a/Source/Engine/McBopomofoLM.cpp +++ b/Source/Engine/McBopomofoLM.cpp @@ -136,7 +136,7 @@ void McBopomofoLM::setExternalConvrter(std::function externalCon m_externalConverter = externalConverter; } -const vector McBopomofoLM::filterAndTransformUnigrams(vector unigrams, const unordered_set& excludedValues, unordered_set& insertedValues) +const vector McBopomofoLM::filterAndTransformUnigrams(const vector unigrams, const unordered_set& excludedValues, unordered_set& insertedValues) { vector results; @@ -159,9 +159,12 @@ const vector McBopomofoLM::filterAndTransformUnigrams(vector u string replacement = m_externalConverter(value); value = replacement; } - unigram.keyValue.value = value; if (insertedValues.find(value) == insertedValues.end()) { - results.push_back(unigram); + Unigram g; + g.keyValue.value = value; + g.keyValue.key = unigram.keyValue.key; + g.score = unigram.score; + results.push_back(g); insertedValues.insert(value); } } diff --git a/Source/Engine/McBopomofoLM.h b/Source/Engine/McBopomofoLM.h index 63ae7361..3b8a5109 100644 --- a/Source/Engine/McBopomofoLM.h +++ b/Source/Engine/McBopomofoLM.h @@ -55,7 +55,7 @@ public: void setExternalConvrter(std::function externalConverter); protected: - const vector filterAndTransformUnigrams(vector unigrams, + const vector filterAndTransformUnigrams(const vector unigrams, const std::unordered_set& excludedValues, std::unordered_set& insertedValues);