diff options
| author | tslil clingman <tslil@posteo.de> | 2022-10-17 23:13:48 +0200 |
|---|---|---|
| committer | tslil clingman <tslil@posteo.de> | 2022-10-20 22:41:12 +0200 |
| commit | aa55ddbbf13ea8b2a259ad7a07490efe9dda57f5 (patch) | |
| tree | 8c9ea4eca46c3f1a4630933cc8e5531947f37c1d /srchr/src/evaluation.rs | |
| parent | f3f8aa54db89283e1d92f798ba185162ce737e34 (diff) | |
correct skipgram computation
Diffstat (limited to 'srchr/src/evaluation.rs')
| -rw-r--r-- | srchr/src/evaluation.rs | 41 |
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); } } |
