R-ohjelmointi.org

Tilastotieteellistä ohjelmointia R-kielellä

Editointietäisyys

Editointietäisyys on mitta, joka kertoo, kuinka monta merkkiä merkkijonossa pitää muuttaa, jotta se muuttuu toiseksi. R:ssä on varsin salamannopea implementaatio editointietäisyyden laskemista varten: paketin stringdist funktio stringdist().

Esimerkiksi suomenkielen sanalistasta voidaan tällä etsiä hyvin nopeasti sanoja, jotka muuttuvat pienin muutoksin joksikin toiseksi tyyliin: ”ERKKI, erkki, pepussas on MERKKI”. Mikä olisi esimerkiksi koiralle sopiva rimmaava toinen sana?

library(stringdist)
# Sanalista on sanasto-objektissa
sanasto[stringdist("koira", sanasto)==1]
# Koiran kanssa rimmaavat:
[1] "kaira"  "kobra"  "koira " "koiras" "koisa"  "kopra"  "koura"

Hoplaa, sinne meni taas yksi hauska harrastus, meinaan sananmuunnosten pähkäily…