From cbf7160054962980968dae6176e79d6c308289c4 Mon Sep 17 00:00:00 2001 From: Antonio Scandurra Date: Thu, 24 Aug 2023 16:32:55 +0200 Subject: [PATCH] Improve scoring --- crates/ai/src/streaming_diff.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/ai/src/streaming_diff.rs b/crates/ai/src/streaming_diff.rs index 1e5189d4d889b05872f9df50b3a2a83db57efcac..5425b75bbe8a62403dd490e2aa6d4a7ee119852c 100644 --- a/crates/ai/src/streaming_diff.rs +++ b/crates/ai/src/streaming_diff.rs @@ -83,8 +83,8 @@ pub struct StreamingDiff { impl StreamingDiff { const INSERTION_SCORE: f64 = -1.; const DELETION_SCORE: f64 = -5.; - const EQUALITY_BASE: f64 = 2.; - const MAX_EQUALITY_EXPONENT: i32 = 32; + const EQUALITY_BASE: f64 = 1.4; + const MAX_EQUALITY_EXPONENT: i32 = 64; pub fn new(old: String) -> Self { let old = old.chars().collect::>(); @@ -120,7 +120,7 @@ impl StreamingDiff { if self.old[i - 1] == ' ' { self.scores.get(i - 1, j - 1) } else { - let exponent = cmp::min(equal_run as i32 / 3, Self::MAX_EQUALITY_EXPONENT); + let exponent = cmp::min(equal_run as i32, Self::MAX_EQUALITY_EXPONENT); self.scores.get(i - 1, j - 1) + Self::EQUALITY_BASE.powi(exponent) } } else {