Repo // Remove nerfed phrases from UOM database.

This commit is contained in:
ShikiSuen 2022-10-02 15:45:05 +08:00
parent 10b5a6dabd
commit d872a6b443
3 changed files with 29 additions and 1 deletions

View File

@ -151,9 +151,19 @@ extension vChewingLM.LMUserOverride {
}
}
// MARK: - Hash and Dehash the entire UOM data
// MARK: - Hash and Dehash the entire UOM data, etc.
extension vChewingLM.LMUserOverride {
public func bleachSpecifiedSuggestions(target: String, saveCallback: @escaping () -> Void) {
for neta in mutLRUMap {
if neta.value.observation.overrides.keys.contains(target) {
mutLRUMap.removeValue(forKey: neta.key)
}
}
resetMRUList()
saveCallback()
}
/// LRU
public func bleachUnigrams(saveCallback: @escaping () -> Void) {
for key in mutLRUMap.keys {

View File

@ -610,6 +610,17 @@ public enum LMMgr {
group.notify(queue: DispatchQueue.main) {}
}
public static func bleachSpecifiedSuggestions(target: String, mode: Shared.InputMode) {
switch mode {
case .imeModeCHS:
Self.uomCHT.bleachSpecifiedSuggestions(target: target, saveCallback: { Self.uomCHT.saveData() })
case .imeModeCHT:
Self.uomCHS.bleachSpecifiedSuggestions(target: target, saveCallback: { Self.uomCHS.saveData() })
case .imeModeNULL:
break
}
}
public static func removeUnigramsFromUserOverrideModel(_ mode: Shared.InputMode) {
switch mode {
case .imeModeCHS:

View File

@ -39,6 +39,13 @@ extension SessionCtl: KeyHandlerDelegate {
{
return false
}
// 使
let rawPair = state.data.userPhraseKVPair
let valueCurrent = rawPair.1
let valueReversed = ChineseConverter.crossConvert(rawPair.1)
LMMgr.bleachSpecifiedSuggestions(target: valueCurrent, mode: IMEApp.currentInputMode)
LMMgr.bleachSpecifiedSuggestions(target: valueReversed, mode: IMEApp.currentInputMode.reversed)
//
return true
}
}