From aa55ddbbf13ea8b2a259ad7a07490efe9dda57f5 Mon Sep 17 00:00:00 2001 From: tslil clingman Date: Mon, 17 Oct 2022 23:13:48 +0200 Subject: correct skipgram computation --- srchr/src/evaluation.rs | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'srchr/src/evaluation.rs') 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); } } -- cgit v1.3.1