From 5c0a14deeb5d745d669ec85fbe01561987bfd21e Mon Sep 17 00:00:00 2001 From: zonble Date: Sat, 15 Jan 2022 20:34:02 +0800 Subject: [PATCH] Refactors the function to filter and transform unigrams in McBopomofoLM. --- Source/Engine/McBopomofoLM.cpp | 9 ++++++--- Source/Engine/McBopomofoLM.h | 2 +- 2 files changed, 7 insertions(+), 4 deletions(-) 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);