N-grammi

N-grammi on kielitieteessä käytetty käsite. Se on n merkin, morfeemin tai sanan mittainen jakso. Tavallisesti käytettyjä n-grammeja ovat muun muassa kahden merkin tai sanan mittaiset digrammit (n=2) ja kolmen merkin tai sanan mittaiset trigrammit (n=3). 

N-grammimallit ovat tapa rakentaa tilastollisia kielimalleja, joissa käytetään indeksointiyksiköinä vakiomittaisia peräkkäisiä merkkijonoja tai sanoja. Kieliteknologiassa n-grammeihin perustuvia kielimalleja on hyödynnetty muun muassa automaattisessa puheentunnistuksessa, sanan sanaluokan tai merkityksen määrittämisessä, oikeinkirjoituksen tarkistuksessa ja tiedonhaussa.

 Esimerkki 
Merkkeihin perustuvat n-grammit muodostetaan siten, että käsiteltävästä tekstistä muodostetaan kaikki n merkin mittaiset, peräkkäisistä merkeistä koostuvat merkkijonot. Merkkijonot sijaitsevat myös osittain päällekkäin. Esimerkiksi merkkijono Tampere voidaan jakaa 3-grameiksi seuraavasti:

Tam
amp
mpe
per
ere

Jokainen edellä mainituista 3-grammeista tallennetaan indeksiin aina erillisenä avainsanana. Silloin kun halutaan löytää indeksin avulla sellaiset dokumentit, jotka sisältävät merkkijonon Tampere, etsitään kaikki sellaiset dokumentit, jotka sisältävät 3-grammin ”Tam” kohdassa i, ”per” kohdassa i+3 ja ”ere” kohdassa i+4.

 N-grammimallioletus 
Merkkipohjaisessa n-grammimallissa oletuksena on, että kieli rakentuu säännönmukaisesta merkistöstä. Tähän merkistöön kuuluvat kaikki kirjoitetussa kielessä esiintyvät merkit, mukaan lukien välimerkit, välilyönnit sekä isot kirjaimet.  Tästä johdetun n-grammimallioletuksen mukaan jokaisen merkin esiintyminen riippuu ainoastaan sen edellisestä merkistä.

 N-grammit tiedonhaussa 
Tiedonhaun onnistumisen kannalta on tärkeätä muodostaa n-grammit sellaisista kieltä kuvaavista sana- tai merkkijonoista, jotka ovat tarpeeksi pitkiä,  jotta ne sisältävät tiedonhaun kannalta tärkeää informaatiota. Mitä pidempiä n-grammit ovat, sen enemmän ne sisältävät juuri lähdekielelleen ominaista informaatiota. Toisaalta hyvin pitkien n-grammien käyttäminen hakuindeksissä hidastaa indeksin tutkimista. Lisäksi pidempiin n-grammeihin mahtuu myös enemmän tunnistusvirheitä.

N-grammimallien ongelma on se, että ne eivät huomioi pidemmän tähtäimen riippuvuuksia sanojen välillä: sanojen välisiä riippuvuuksia esiintyy kuitenkin useilla kielen eri rakennetasoilla. Lisäksi ne ovat myös varsin herkkiä käytetylle tekstiaineistolle, koska pienikin muutos aineistossa aiheuttaa sen, että mallit on opetettava uudelleen käytettävälle ohjelmistolle.

 Lähteet 

Luokka:Kieliteknologia
Luokka:Tiedonhaku