You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Mats Rauhala 5f4b325e73
Fix the n-gram implementation
3 years ago
src Fix the n-gram implementation 3 years ago
.gitignore Update gitignore 3 years ago
CHANGELOG.md Initial commit 3 years ago
LICENSE Add license 3 years ago
README.md Add readme 3 years ago
Setup.hs Stylish haskell 3 years ago
config.yaml.sample Add sample config 3 years ago
default.nix Initial commit 3 years ago
koodihaaste.cabal Add parallelism 3 years ago
nixpkgs.json Initial commit 3 years ago
release.nix Shape of the app 3 years ago
shell.nix Initial commit 3 years ago

README.md

Solidabis koodihaaste

Haasteen tehtävänä on hakea lista rot-n enkoodattuja lauseita, tunnistaa oikea n dekoodatessa ja palauttaa dekoodattu sana.

Dekoodaus

Moduuli Data.Caesar toteuttaa dekoodauksen primitiivit. Kirjainta siirretään vasemmalle n merkin verran, ottaen huomioon 'a', 'z', 'å' ja 'ä' rajat.

Lauseen tunnistaminen

Moduulit Data.Language ja Data.NGram toteuttavat primitiivit tulosten tunnistamiseen.

Käytän n-grameja suomalaisten lauseiden tunnistamiseen, tai tarkemmin sanottuna, suomalaiselta vaikuttavien lauseiden tunnistamiseen.

  1. Lue jokin suomalainen corpus
  2. Rakenna siitä n-gram malli
  3. Jokaista lausetta varten, vertaa lauseen n-grameja mallia vasten

Yritä-erehdy menetelmällä löysin rajaksi ~-8. Sitä suuremmat ovat todennäköisesti suomalaisia lauseita, tai ainakin sitä muistuttavaa.

Corpuksena käytin Sydäntalven tarinaa josta siistin englanninkielisen alun ja lopun. Kirja ei ole repositoryssa mukana.

Suoritus

nix-build release.nix -A koodihaaste
result/bin/koodihaaste config.yaml

curl http://localhost:8080

Aukeaa myös selaimella.

Saatan myös pistää paketin pyörimään https://koodihaaste.introitu.info mutta ei ole siellä vielä kirjoitushetkellä.