UOM // Reduce the decay half-life of unigrams, plus bug fix.

This commit is contained in:
ShikiSuen 2023-01-30 18:40:53 +08:00
parent 917ebcb1bf
commit e2d3287c3d
1 changed files with 5 additions and 3 deletions

View File

@ -276,9 +276,11 @@ extension vChewingLM.LMUserOverride {
var forceHighScoreOverride = false var forceHighScoreOverride = false
var currentHighScore: Double = 0 var currentHighScore: Double = 0
for (i, theObservation) in observation.overrides { for (i, theObservation) in observation.overrides {
// Unigram
let decayExp = mutDecayExponent * (key.contains("(),(),") ? 24 : 1)
let overrideScore = getScore( let overrideScore = getScore(
eventCount: theObservation.count, totalCount: observation.count, eventCount: theObservation.count, totalCount: observation.count,
eventTimestamp: theObservation.timestamp, timestamp: timestamp, lambda: mutDecayExponent eventTimestamp: theObservation.timestamp, timestamp: timestamp, lambda: decayExp
) )
if (0...currentHighScore).contains(overrideScore) { continue } if (0...currentHighScore).contains(overrideScore) { continue }
@ -338,8 +340,8 @@ extension vChewingLM.LMUserOverride {
// //
let strCurrent = kvCurrent.joinedKey() let strCurrent = kvCurrent.joinedKey()
var kvPrevious = Megrez.Compositor.KeyValuePaired() var kvPrevious = Megrez.Compositor.KeyValuePaired(keyArray: [""], value: "")
var kvAnterior = Megrez.Compositor.KeyValuePaired() var kvAnterior = Megrez.Compositor.KeyValuePaired(keyArray: [""], value: "")
var readingStack = "" var readingStack = ""
var trigramKey: String { "(\(kvAnterior.toNGramKey),\(kvPrevious.toNGramKey),\(strCurrent))" } var trigramKey: String { "(\(kvAnterior.toNGramKey),\(kvPrevious.toNGramKey),\(strCurrent))" }
var result: String { var result: String {