aboutsummaryrefslogtreecommitdiff
path: root/srchr/src/evaluation.rs
diff options
context:
space:
mode:
authortslil clingman <tslil@posteo.de>2022-10-17 23:13:48 +0200
committertslil clingman <tslil@posteo.de>2022-10-20 22:41:12 +0200
commitaa55ddbbf13ea8b2a259ad7a07490efe9dda57f5 (patch)
tree8c9ea4eca46c3f1a4630933cc8e5531947f37c1d /srchr/src/evaluation.rs
parentf3f8aa54db89283e1d92f798ba185162ce737e34 (diff)
correct skipgram computation
Diffstat (limited to 'srchr/src/evaluation.rs')
-rw-r--r--srchr/src/evaluation.rs41
1 files changed, 41 insertions, 0 deletions
diff --git a/srchr/src/evaluation.rs b/srchr/src/evaluation.rs
index a855d89..1c40b44 100644
--- a/srchr/src/evaluation.rs
+++ b/srchr/src/evaluation.rs
@@ -51,6 +51,23 @@ pub fn prelayout_fitness(corpus: &Corpus, layout: &Prelayout) -> f32 {
+ corpus.get_bigram_perc(k3, k4)
+ corpus.get_bigram_perc(k3, k5)
+ corpus.get_bigram_perc(k3, k6);
+
+ score += (corpus.get_skipgram_perc(k1, k2)
+ + corpus.get_skipgram_perc(k1, k3)
+ + corpus.get_skipgram_perc(k2, k3)
+ + corpus.get_skipgram_perc(k4, k5)
+ + corpus.get_skipgram_perc(k4, k6)
+ + corpus.get_skipgram_perc(k5, k6)
+ + corpus.get_skipgram_perc(k1, k4)
+ + corpus.get_skipgram_perc(k1, k5)
+ + corpus.get_skipgram_perc(k1, k6)
+ + corpus.get_skipgram_perc(k2, k4)
+ + corpus.get_skipgram_perc(k2, k5)
+ + corpus.get_skipgram_perc(k2, k6)
+ + corpus.get_skipgram_perc(k3, k4)
+ + corpus.get_skipgram_perc(k3, k5)
+ + corpus.get_skipgram_perc(k3, k6))
+ * INDEX_DSFB_WEIGHT;
}
score
@@ -105,6 +122,18 @@ impl Evaluation {
+ corpus.get_bigram_perc(k3, k4)
+ corpus.get_bigram_perc(k3, k5)
+ corpus.get_bigram_perc(k3, k6);
+ dsfb[i] += corpus.get_skipgram_perc(k4, k5)
+ + corpus.get_skipgram_perc(k4, k6)
+ + corpus.get_skipgram_perc(k5, k6)
+ + corpus.get_skipgram_perc(k1, k4)
+ + corpus.get_skipgram_perc(k1, k5)
+ + corpus.get_skipgram_perc(k1, k6)
+ + corpus.get_skipgram_perc(k2, k4)
+ + corpus.get_skipgram_perc(k2, k5)
+ + corpus.get_skipgram_perc(k2, k6)
+ + corpus.get_skipgram_perc(k3, k4)
+ + corpus.get_skipgram_perc(k3, k5)
+ + corpus.get_skipgram_perc(k3, k6);
} else if i == 4 {
let k4 = layout.get_key(5 + 10 * 0);
let k5 = layout.get_key(5 + 10 * 1);
@@ -121,6 +150,18 @@ impl Evaluation {
+ corpus.get_bigram_perc(k3, k4)
+ corpus.get_bigram_perc(k3, k5)
+ corpus.get_bigram_perc(k3, k6);
+ dsfb[i] += corpus.get_skipgram_perc(k4, k5)
+ + corpus.get_skipgram_perc(k4, k6)
+ + corpus.get_skipgram_perc(k5, k6)
+ + corpus.get_skipgram_perc(k1, k4)
+ + corpus.get_skipgram_perc(k1, k5)
+ + corpus.get_skipgram_perc(k1, k6)
+ + corpus.get_skipgram_perc(k2, k4)
+ + corpus.get_skipgram_perc(k2, k5)
+ + corpus.get_skipgram_perc(k2, k6)
+ + corpus.get_skipgram_perc(k3, k4)
+ + corpus.get_skipgram_perc(k3, k5)
+ + corpus.get_skipgram_perc(k3, k6);
}
}