From af6c11beab9053ffd437627031788c09b9be1d65 Mon Sep 17 00:00:00 2001 From: ShikiSuen Date: Sun, 2 Oct 2022 13:36:13 +0800 Subject: [PATCH] Megrez // Fix Unigram.consolidate(), letting it handle nerfed scores. --- Packages/vChewing_Megrez/Sources/Megrez/8_Unigram.swift | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Packages/vChewing_Megrez/Sources/Megrez/8_Unigram.swift b/Packages/vChewing_Megrez/Sources/Megrez/8_Unigram.swift index c880abfd..32bf4325 100644 --- a/Packages/vChewing_Megrez/Sources/Megrez/8_Unigram.swift +++ b/Packages/vChewing_Megrez/Sources/Megrez/8_Unigram.swift @@ -43,12 +43,11 @@ extension Megrez { extension Array where Element == Megrez.Unigram { /// 給定過濾清單,讓單元圖陣列自我過濾。 - /// 在此基礎之上,對於相同詞值的多個單元圖,僅保留權重最大者。 public mutating func consolidate(filter theFilter: Set = .init()) { var inserted: [String: Double] = [:] var insertedArray: [Megrez.Unigram] = [] for neta in filter({ !theFilter.contains($0.value) }) { - if let existed = inserted[neta.value], existed >= neta.score { continue } + if inserted.keys.contains(neta.value) { continue } inserted[neta.value] = neta.score insertedArray.append(neta) }