T Luonnollisen kielen tilastollinen käsittely Vastaukset 5, ti , 8:30-10:00 N-grammikielimallit, Versio 1.1

Samankaltaiset tiedostot
T Luonnollisten kielten tilastollinen käsittely Vastaukset 5, ti , 16:15-18:00 N-grammikielimallit, Versio 1.0

T Luonnollisten kielten tilastollinen käsittely

T Luonnollisen kielen tilastollinen käsittely Vastaukset 3, ti , 8:30-10:00 Kollokaatiot, Versio 1.1

klusteroi data haluttuun määrään klustereita tee n-gram -mallit klustereista (tasoitus) estimoi sekoitteiden painokertoimet λ k

11. laskuharjoituskierros, vko 15, ratkaisut

jens 1 matti Etäisyydet 1: 1.1 2: 1.4 3: 1.8 4: 2.0 5: 3.0 6: 3.6 7: 4.0 zetor

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

T Luonnollisen kielen tilastollinen käsittely Vastaukset 8, ti , 8:30-10:00 Tilastolliset yhteydettömät kieliopit, Versio 1.

T Luonnollisten kielten tilastollinen käsittely Vastaukset 11, ke , 12:15 14:00 Puheentunnistus ja kielimallien evaluointi Versio 1.

Jatkuvat satunnaismuuttujat

Seuraavassa taulukossa on annettu mittojen määritelmät ja sijoitettu luvut. = 40% = 67% 6 = 0.06% = 99.92% 6+2 = 0.

805306A Johdatus monimuuttujamenetelmiin, 5 op

4.1. Olkoon X mielivaltainen positiivinen satunnaismuuttuja, jonka odotusarvo on

MS-A0502 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Ilkka Mellin Tilastolliset menetelmät Osa 2: Otokset, otosjakaumat ja estimointi Estimointi

805306A Johdatus monimuuttujamenetelmiin, 5 op

Estimointi. Estimointi. Estimointi: Mitä opimme? 2/4. Estimointi: Mitä opimme? 1/4. Estimointi: Mitä opimme? 3/4. Estimointi: Mitä opimme?

T Luonnollisten kielten tilastollinen käsittely Vastaukset 10, ti , 8:30-10:00 Sanojen merkitysten erottelu, Versio 1.

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Matematiikan peruskurssi 2

Johdatus tilastotieteeseen Estimointi. TKK (c) Ilkka Mellin (2005) 1

Järvitesti Ympäristöteknologia T571SA

4. laskuharjoituskierros, vko 7, ratkaisut

Matematiikan tukikurssi: kurssikerta 10

HY / Matematiikan ja tilastotieteen laitos Tilastollinen päättely II, kevät 2017 Harjoitus 1 Ratkaisuehdotuksia Tehtäväsarja I

Sovellettu todennäköisyyslaskenta B

Harjoitus 2: Matlab - Statistical Toolbox

Johdatus todennäköisyyslaskentaan Kertymäfunktio. TKK (c) Ilkka Mellin (2005) 1

Matematiikan tukikurssi, kurssikerta 1

HY, MTL / Matemaattisten tieteiden kandiohjelma Todennäköisyyslaskenta IIb, syksy 2017 Harjoitus 1 Ratkaisuehdotuksia

Ilkka Mellin Todennäköisyyslaskenta. Osa 2: Satunnaismuuttujat ja todennäköisyysjakaumat. Kertymäfunktio. TKK (c) Ilkka Mellin (2007) 1

Tuloperiaate. Oletetaan, että eräs valintaprosessi voidaan jakaa peräkkäisiin vaiheisiin, joita on k kappaletta

Estimointi. Vilkkumaa / Kuusinen 1

D ( ) E( ) E( ) 2.917

Moniulotteisia todennäköisyysjakaumia

Ilkka Mellin Todennäköisyyslaskenta Osa 3: Todennäköisyysjakaumia Moniulotteisia todennäköisyysjakaumia

Matematiikan tukikurssi

MS-A0503 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

MAA2.3 Koontitehtävät 2/2, ratkaisut

Kevät 2003 Timo Honkela ja Kris- ta Lagus

Matemaatiikan tukikurssi

1 + b t (i, j). Olkoon b t (i, j) todennäköisyys, että B t (i, j) = 1. Siis operaation access(j) odotusarvoinen kustannus ajanhetkellä t olisi.

l (φ; y) = l(θ(φ); y) Toinen derivaatta saadaan tulon derivaatan laskusäännöllä Uudelleenparametroidun mallin Fisherin informaatio on

} {{ } kertaa jotain

S Laskennallinen systeemibiologia

χ = Mat Sovellettu todennäköisyyslasku 11. harjoitukset/ratkaisut

Tilastollisen analyysin perusteet Luento 1: Lokaatio ja hajonta

Matematiikan tukikurssi

Eksponenttiyhtälö ja logaritmi

ABHELSINKI UNIVERSITY OF TECHNOLOGY

Todennäköisyyslaskenta IIa, syyslokakuu 2019 / Hytönen 2. laskuharjoitus, ratkaisuehdotukset

Todennäköisyyslaskenta I, kesä 2017 Helsingin yliopisto/avoin Yliopisto Harjoitus 1, ratkaisuehdotukset

Osa 2: Otokset, otosjakaumat ja estimointi

jakokulmassa x 4 x 8 x 3x

6.8 Erityisfunktioiden sovelluksia

Tilaston esittäminen frekvenssitaulukossa ja graafisesti. Keskiluvut luokittelemattomalle ja luokitellulle aineistolle: moodi, mediaani, keskiarvo.

Gripenberg. MS-A0502 Todennäköisyyslaskennan ja tilastotieteen peruskurssi Tentti ja välikoeuusinta

Suotuisien tapahtumien lukumäärä Kaikki alkeistapahtumien lukumäärä

Sanaluokkajäsennystä rinnakkaisilla transduktoreilla

Sovellettu todennäköisyyslaskenta B

Teema 8: Parametrien estimointi ja luottamusvälit

Viikko 2: Ensimmäiset ennustajat Matti Kääriäinen

MAB3 - Harjoitustehtävien ratkaisut:

Lisää Diskreettejä jakaumia Lisää Jatkuvia jakaumia Normaalijakaumasta johdettuja jakaumia

Matematiikan kotitehtävä 2, MAA 10 Todennäköisyys ja tilastot

Tilastollinen päättömyys, kevät 2017 Harjoitus 6B

Matematiikan kotitehtävä 2, MAA 10 Todennäköisyys ja tilastot

Ohjeita fysiikan ylioppilaskirjoituksiin

ABHELSINKI UNIVERSITY OF TECHNOLOGY

Tilastotiede ottaa aivoon

LIITE 1 VIRHEEN ARVIOINNISTA

Matematiikan tukikurssi, kurssikerta 2

k S P[ X µ kσ] 1 k 2.

4. Funktion arvioimisesta eli approksimoimisesta

Todennäköisyyden ominaisuuksia

Cantorin joukon suoristuvuus tasossa

Johdatus tilastotieteeseen Väliestimointi. TKK (c) Ilkka Mellin (2005) 1

9. N-grammi-kielimallit

5/11 6/11 Vaihe 1. 6/10 4/10 6/10 4/10 Vaihe 2. 5/11 6/11 4/11 7/11 6/11 5/11 5/11 6/11 Vaihe 3

Laskut käyvät hermoille

Matematiikan tukikurssi

Reaalifunktioista 1 / 17. Reaalifunktioista

Pelaisitko seuraavaa peliä?

Tilastotiede ottaa aivoon

Luottamusvälit. Normaalijakauma johnkin kohtaan

Todennäköisyys (englanniksi probability)

Johdatus diskreettiin matematiikkaan Harjoitus 5, Ratkaise rekursioyhtälö

Lyhyt, kevät 2016 Osa A

1 Määrittelyjä ja aputuloksia

MATEMATIIKAN KOE PITKÄ OPPIMÄÄRÄ

MAB3 - Harjoitustehtävien ratkaisut:

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta

= 6, Nm 2 /kg kg 71kg (1, m) N. = 6, Nm 2 /kg 2 7, kg 71kg (3, m) N

Matematiikan tukikurssi

Järvi 1 Valkjärvi. Järvi 2 Sysijärvi

Matematiikan tukikurssi

MS-A0204 Differentiaali- ja integraalilaskenta 2 (ELEC2) Luento 7: Pienimmän neliösumman menetelmä ja Newtonin menetelmä.

HY, MTO / Matemaattisten tieteiden kandiohjelma Tilastollinen päättely II, kevät 2018 Harjoitus 8B Ratkaisuehdotuksia.

Tilastollisen analyysin perusteet Luento 8: Lineaarinen regressio, testejä ja luottamusvälejä

Ratkaisu: a) Kahden joukon yhdisteseen poimitaan kaikki alkiot jotka ovat jommassakummassa joukossa (eikä mitään muuta).

Transkriptio:

T-6.28 Luonnollisen kielen tilastollinen käsittely Vastaukset 5, ti 24.2.2004, 8:30-0:00 N-grammikielimallit, Versio.. Alla on erään henkilön ja tilaston estimaatit sille, miten todennäköistä on, että alla annetut sanat seuraavat sanoja tuntumaan jo : sana tilasto trig ihminen trig ihminen lause ja 0.00 0.00 0.00 hyvältä.00 0.8 0.40 kumisaapas 0.00 0.00 0.00 keväältä 0.00 0.23 0.50 ilman 0.00 0.05 0.05 päihtyneeltä 0.00 0.20 0.00 turhalta 0.00 0.23 0.05 koirineen 0.00 0.00 0.00 öljyiseltä 0.00 0. 0.00 Turku 0.00 0.00 0.00 Taulukko : Ihminen vs tilasto, trigrammiestimaatit 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 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ä). 2. a) Suurimman uskottavuuden estimaatit voidaan laskea kaavasta P(w i w i, w i 2,...) = C(w i, w i, w i 2,...), C(w i, w i 2,...)

missä funktio C kertoo opetusjoukossa nähtyjen näytteiden määrän. Unigrammiestimaatissa unohdetaan riippuvuus kaikista edellisistä sanoista, bigrammiestimaatti riippuu vain edellisestä sanasta ja trigrammiestimaatissa käytetään historiana kahta edellistä sanaa. Unigrammiestimaatit voidaan siis laskea P(w i ) = C(w i) C(0), missä C(0) on opetusjoukon näytteiden lukumäärä. Estimaatit ovat siis samat kummallekin tehtävänannon historialle. P( olla ) = 5 98 = 0.05 P( leuto ) = 98 = 0.00 P( gorilla ) = 0 98 = 0.000 Bigrammiestimaatit saadaan ottamalla yksi sana historiasta käyttöön: P(w i w i ) = C(w i, w i ) C(w i ) P( olla olla ) = 0 5 = 0.000 P( leuto olla ) = 5 = 0.200 P( gorilla olla ) = 0 5 = 0.000 P( olla vaikuttaa ) = 0 = 0.000 P( leuto vaikuttaa ) = 0 = 0.000 P( gorilla vaikuttaa ) = 0 = 0.000 Huomataan, että tämän mallin mielestä mikään sanayhdistelmä, mitä se ei ole nähnyt ei ole mahdollinen. b) Laplacen estimaatissa aikaisemmin havaitsemattomille sanoille annetaan hieman todennäköisyyttä. Estimaatti vastaa prioria, että kaikki sanat ovat yhtä todennäköisiä. Käytännössä se lasketaan niin, että kuvitellaan että kaikkia sanoja on jo nähty kerran: P(w i w i, w i 2,...) = C(w i, w i, w i 2,...) + C(w i, w i 2,...) + N, 2

missä N on mallin sanaston koko. Lasketaan siis estimaatit: P( olla ) = P( leuto ) = P( gorilla ) = 5 + = 9.3 0 5 98 + 64000 + = 3. 0 5 98 + 64000 0 + 98 + 64000 Bigrammeille: P( olla olla ) = P( leuto olla ) = P( gorilla olla ) = P( olla vaikuttaa ) = P( leuto vaikuttaa ) = P( gorilla vaikuttaa ) = 5 + 64000 + = 3. 0 5 5 + 64000 5 + 64000 + 64000 + 64000 + 64000 Huomataan, että tässä priorioletus, että kaikki sanat ovat yhtä todennäkisiä ohjaa estimaatteja vahvasti, kaikki sanat ovat toisaan mallien mielstä lähes yhtä todennäköisiä. c) Lidstonen estimaatissa voidaan säätää sitä, kuinka paljon uskotaan siihen, että sanat ovat yhtä todennäköisiä. Siinä kuvitellaan, että sanat on jo nähty λ kertaa ennen opetusaineistoa: P(w i w i, w i 2,...) = C(w i, w i, w i 2,...) + λ C(w i, w i 2,...) + λn, Valitaan tässä λ = 0.0. Lasketaan estimaatit: P( olla ) = P( leuto ) = + 0.0 738 P( gorilla ) = 0.0 738 5 + 0.0 = 6.8 0 3 98 + 0.0 64000 =.4 0 4 =.4 0 5 3

Bigrammeille: P( olla olla ) = 0.0 645 P( leuto olla ) = + 0.0 645 P( gorilla olla ) = 0.0 64 P( olla vaikuttaa ) = 0.0 64 P( leuto vaikuttaa ) = 0.0 64 P( gorilla vaikuttaa ) = 0.0 64 =.6 0 3 Tässä tapauksessa opetusdata ohjaa selkeämmin estimaatteja. Sopiva λ voidaan valita laittamalla opetusjoukosta pieni osa sivuun ja testaamalla tällä sivuun laitetulla tekstillä, mikä λ toimii parhaiten. 3. Tarkoituksenamme siis on laskea todennäköisyyksiä nähdyille trigrammeille. Tavallinen suuriman uskottavuuden estimaattihan olisi p(x) = r N () missä r kertoo, kuinka monta kertaa sana esiintyi ja N on kaikkien sanojen lukumäärä. Good-Turing estimaatissa käytetään korjattua estimaattia r : r = (r + ) E(N r+) E(N r ) (2) Good-Turing tasoitusta voi intuitiivisesti ajatella vaikka niin, että kuvitellaan kaikkia yksiköitä nähdyksi hieman vähemmän kertoja kuin ne oikeasti nähtiin. Eli jos trigrammi nähtiin 0 kertaa, leikitään että se nähtiinkin vain 9. kerran. Jos trigrammi nähtiin kerran, leikitään että se nähtiin 0.5 kertaa. Oletetaan että on olemassa N trigrammia, joita ei nähty ja leikitään, että ne nähtiin 0.3 kertaa. Tämä ei tietysti ole matemaattisiseti aivan eksakti määritelmä, mutta helpottaa ehkä tehtävän seuraamista. Good-Turing tasoituksen laskeminen aloitetaan taulukoimalla, kuinka monta kertaa eri trigrammia on nähty r kertaa (esim. aineistossa oli 7462 trigrammia, jotka kaikki esiintyivät 0 kertaa). Tästä taulukosta on piiretty kuvaaja. Huomataan, että tähän käyrään olisi helppo sijoittaa suora viiva, paitsi että suuremmilla frekvensseillä tapahtuu jotain kummaa: trigrammeja, joita on esiintynyt vaikkapa 500 kertaa on joko 0 tai kappale. Eli lopussa ei ole enää tasaista käyrää, 4

0 7 Raaka data 0 6 Kuinka monenlaisia trigrammeja esiintyy r kertaa 0 5 0 4 0 3 0 2 0 0 0 0 0 0 0 2 0 3 0 4 Frekvenssi r Kuva : X-akseli: esiintymisfrekvenssi. Y-akseli: Kuinka monta trigrammia on esiintynyt r kertaa. vaan vain diskreettejä arvoja 0 ja. Kokeillaan tasoitella käyrän loppupäätä levittämällä todennäköisyysmassaa tasaisesti koko ympäristöön. Esim. jos trigrammi on esiintynyt 50 kertaa, mutta seuraavaksi yleisin trigrammi on esiintynyt 54 kertaa, jaetaan tuo koko välille, eli kaikille frekvensseille 50-54 tulee arvoksi. Katsotaan, miltä kuvaaja näyttää tämän jälkeen. Kuvassa 2 nähdään tasoitettu data ja 54 50 siihen sovitettu suora. Suora sovitettiin kummankin muuttujan logaritmeihin, jolloin se saatiin kauniisti myötäilemään datan muotoa. Matalat r:n arvot ovat paremmin arvioidut koska niihin meillä on ollu paljon dataa. Käytetään siis niiden arvioina suoraan taulukossa olleita arvoja ja katsotaan korkeat r:n arvot suoraan käyrältä. Tässä tehtävässä päätin käyttää suoralta luettuja arvoja, kun r > 5. Vielä pitäisi antaa jonkinverran todennäköisyysmassa trigrammeille, joita ei ole vielä nähty. Good-Turing estimaatissa näille annetaan yhteensä N todennäköisyyttä. N Tämä todennäköisyys voitaisiin jakaa vaikkapa aineistosta opetetulle bigrammimallille. Nyt, jos trigrammimalli ei osaa antaa sanalle todennäköisyyttä, voidaan tätä todennäköisyyttä kysyä bigrammimallilta. Tuntemattomille bigrammeille jäävä todennäköisyysmassa voitaisiin taas puolestaan jakaa unigrammimallille. Tuntemattomille unigrammeille jäävästä todennäköisyydestä voidaan vain todeta, että tässä on todennäköisyys, että tulee vastaan sana, jota malli ei tunne. Tällainen perääntyvä (back-off) kielimalli on käytössä esim. lähes kaikissa suuren sanaston puheentunnistimissa. Tässä esitettiin vain perusidea perääntyvien kielimallejen estimoinnille. Käytännössä se ei ole aivan näin suoraviivaista. Kun nyt laskemme korjatulla r :llä kaavan mukaan todennäköisyydet saamme mel- 5

0 8 Tasoiteltu data ja regressiosuora 0 6 Kuinka monenlaisia trigrammeja esiintyy r kertaa 0 4 0 2 0 0 0 2 0 4 0 0 0 0 2 0 3 0 4 Frekvenssi r Kuva 2: Tasoitettu kuva ja logaritmisella asteikolla sovitettu suora. r todennäköisyys.9 0 0 2 3.3 0 9 3 2.5 0 8 0 2.7 0 7 50.7 0 6 00 3.5 0 6 573 2.0 0 5 327 4.7 0 5 Taulukko 2: Good-Turing todennäköisyysestimaatit ko hyvät estimaatit eri sanojen todennäköisyyksille. Taulukkoon 2 on merkitty muutamalle eri r:lle todennäköisyydet. Opetetun mallin mielestä 8% todennäköisyydestä on tuntemattomilla trigrammeilla. Tämä on suomen kielelle melko uskottavan kuuloinen tulos, sillä suomen kielen sanamäärä on niin suuri, että kielelle on käytännössä mahdotonta tehdä kattavaa trigrammimallia. Sivuhuomatuksena mainittakoon, että trigrammimallinnus voi soveltaa suomen kieleen myös hajoittamalla sanat vaikkapa morfeemeiksi ja opettamalla trigrammimalli näiden pienempien palojen yli. Huomautettakoon vielä, että tässä estimoitiin todennäköisyys P(w i, w i, w i 2 ) sille, että aineistossa tulee vastaan trigrammi {w i, w i, w i 2 }. Itse kielimallissahan tarvitaan todennäköisyyksiä P(w i w i, w i 2 ), jotka saadaan tässä estimoiduista arvoista laskettua. 6

4. Muutetaan hämmentyneisyyden (perplexity) kaavaa niin, että voidaan suoraan käyttää log-todennäköisyyksiä: N perp(w, w 2,..., w N ) = P(w i w i,...,w ) N = i=0 N i=0 = 0 N 0 N log(p(w i w i,...,w )) N i=0 log(p(w i w i,...,w )) Lasketaan summa erikseen: = N log(p(w i w i,...,w )) i=0 kielen 4.763 oppiminen 2.276 on 0.4656 ymmärretty 0.45 0.652 5.295 = 2.5644 monimutkainen 0.00 4.2492 ja 0.8876 huonosti +0.0495 4.804 Niille sanoille, joille ei löytynyt trigrammimallia, jouduttiin käyttämään sekä perääntymiskerrointa että todennäköisyyttä. Jos myöskään bigrammimallia ei löytynyt, jouduttiin vielä kerran perääntymään. Sijoitetaan vielä luvut hämmentyneisyyden lausekkeeseen perp(w, w 2,...,w N ) = 0 2.5644 7 200 Tulosta voi ajatella vaikka niin, että kielimalli vastaa sellaista kielimallia, joka joutuu valitsemaan 200 yhtä todennäköisen sanan väliltä (ei ihan eksaktisti paikkansapitävä väite). Sana tapahtumaketju ei ollut 64000 yleisimmän sanan joukossa ja ei sisältynyt siis kielimalliin. Kielimallin ohi meni siis 3% sanoista. 8 7