T-61.5020 Luonnollisten kielten tilastollinen käsittely
Vastaukset 8, ke 21.3.2007, 12:15-14:00 --
N-grammikielimallit
Versio 1.0
|
Tarkemmalla tukimisilla huomataan, että taulukossa ihmisen antamat trigrammiestimaatit ovat jonkin verran pielessä ja tilastolliset pehmentämättömät trigrammiestimaatit aivan pielessä.
Tilastollisten estimaattien laskuun käytettiin n. 30 miljoonan sanan aineistoa. Tässä aineistossa ei yksikään annetuista taivutetuista trigrammeista esiintynyt kertaakaan. Trigrammit perusmuotoistamalla löydettiin 11 lausetta, joissa esiintyi ``tuntua jo hyvä''. Estimaatti kaipaa siis selvästi tasoittamista, eikä senkään jälkeen ole kovin luotettava.
Myös esimerkki-ihmisen antamaa estimaattia voi epäillä, aivan mahdollisille lauseille on annettu nollatodennäköisyys, esim. ``Kyllä alkaa tuntumaan jo kumisaapas jalassa'', lause joka voidaan tokaista vaikka pitkän vaelluksen päätteeksi. Toisaalta annetulla 2 desimaalin tarkkuudella estimaatit lienevät hyviä.
Kun testihenkilölle annettiin koko lause nähtäväksi, saatiin jo varsin laadukkaat estimaatit. Jotta tilastollisesti pystyttäisiin pääsemään samaan tulokseen, tarvitsisi mallin ymmärtää suomen kielen syntaksia (miten sanoja voidaan taivuttaa ja laittaa peräkkäin) sekä myös sanojen semanttista merkitystä (``helmikuu'' on lopputalvea, melkein kevättä).
Unigrammiestimaatissa unohdetaan riippuvuus kaikista edellisistä sanoista, bigrammiestimaatti riippuu vain edellisestä sanasta ja trigrammiestimaatissa käytetään historiana kahta edellistä sanaa.
Unigrammiestimaatit voidaan siis laskea
Bigrammiestimaatit saadaan ottamalla yksi sana historiasta
käyttöön:
Lasketaan siis estimaatit:
Aloitetaan laskemalla historioille ``olla'' ja ``vaikuttaa'' nämä
interpolointikertoimet. Historialla ``olla'' on esiintynyt viisi
erilaista seuraajaa ja se on yhteensä esiintynyt viisi kertaa.
Historialla ``vaikuttaa'' on yksi esiintynyt seuraaja, ja esiintymiä
myös yksi. Siispä:
Nyt voidaan laskea interpoloidut bigrammitodennäköisyydet:
Huomataan että menelmä ei tälläisenään anna yhtään todennäköisyyttä opetusaineiston ulkopuoliselle sanastolle (gorilla). Tämä voitaisiin korjata käyttämällä unigrammitodennäköisyyksille vielä jotain tasoitusmenetelmää. Mahdollista olisi myös jatkaa interpolointia niin sanoittuihin nollagrammeihin, mikä tarkoittaa tasajakauman kanssa interpolointia.
Interpolointi tai peräytyminen matalamman asteen n-grammeihin ei kuitenkaan aina ole täysin luotettavaa. Esimerkkinä voidaan tarkastella bigrammia ``San Francisco''. Koska paikannimi on hyvin tunnettu, estimaatti on todennäköisesti luotettava. Eli jos edellinen sana on ``San'', ei tule ongelmia. Mutta entä jos edellinen sana ei ollut ``San''? Tällöin Fanciscon todennäköisyyden pitäisi olla selvästi pienempi kuin silloin, kun tarkastellaan unigrammijakaumaa ilman tietoa edellisestä sanasta. Tähän ideaan pohjautuu Kneser-Ney -tasoitus, jossa alemman asteen n-grammien todennäköisyydet estimoidaan arvioimalla kuinka todennäköistä sanan on esiintyä uudessa kontekstissa. Tällä hetkellä parhaaksi todettu tasoitusmenetelmä on juuri modifioitu Kneser-Ney -interpolointi, joka käyttää näiden tyyppiestimaattien lisäksi absoluuttista vähennystä kolmella erikseen optimoitavalla vakiolla.
Lasketaan summa erikseen:
Sijoitetaan vielä luvut hämmentyneisyyden lausekkeeseen
Sana ``tapahtumaketju'' ei ollut 64000 yleisimmän sanan joukossa ja ei sisältynyt siis kielimalliin. Kielimallin ohi meni siis sanoista.