1. Markov-mallit. 1.1 Näkyvät Markov-mallit (Markov-ketjut)

Samankaltaiset tiedostot
Luonnollisen kielen tilastollinen käsittely. T (3 ov) L. Kevät 2004 Timo Honkela ja Kris- ta Lagus

9. N-grammi-kielimallit

Esimerkki: Tietoliikennekytkin

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

Dynaamiset regressiomallit

Algoritmit 2. Luento 13 Ti Timo Männikkö

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.

1. TILASTOLLINEN HAHMONTUNNISTUS

MS-A0004/A0006 Matriisilaskenta

VALTIOTIETEELLINEN TIEDEKUNTA TILASTOTIETEEN VALINTAKOE Ratkaisut ja arvostelu < X 170

Informaation arvo. Ohjelmistotekniikan laitos OHJ-2550 Tekoäly, kevät

Mallipohjainen klusterointi

Väliestimointi (jatkoa) Heliövaara 1

Sovellettu todennäköisyyslaskenta B

Tilastollinen testaus. Vilkkumaa / Kuusinen 1

Sovellettu todennäköisyyslaskenta B

(b) Tarkista integroimalla, että kyseessä on todella tiheysfunktio.

Estimointi. Vilkkumaa / Kuusinen 1

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

805306A Johdatus monimuuttujamenetelmiin, 5 op

Tilastollinen aineisto Luottamusväli

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 29. toukokuuta 2013

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Epädeterministisen Turingin koneen N laskentaa syötteellä x on usein hyödyllistä ajatella laskentapuuna

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Johdatus tekoälyn taustalla olevaan matematiikkaan

Tarkastelemme ensin konkreettista esimerkkiä ja johdamme sitten yleisen säännön, joilla voidaan tietyissä tapauksissa todeta kielen ei-säännöllisyys.

Äärellisten automaattien ja säännöllisten kielten ekvivalenssi

Erilaisia Markov-ketjuja

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015

Markov-kustannusmallit ja kulkuajat

Osa 2: Otokset, otosjakaumat ja estimointi

Sanaluokkajäsennystä rinnakkaisilla transduktoreilla

Tutkimustiedonhallinnan peruskurssi

Bayesin pelit. Kalle Siukola. MS-E2142 Optimointiopin seminaari: Peliteoria ja tekoäly

Algoritmit 1. Luento 13 Ti Timo Männikkö

Luku 6. Dynaaminen ohjelmointi. 6.1 Funktion muisti

Kevät 2003 Timo Honkela ja Kris- ta Lagus

Sovellettu todennäköisyyslaskenta B

isomeerejä yhteensä yhdeksän kappaletta.

Todennäköisyyden ominaisuuksia

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

Numeeriset menetelmät

A ja B pelaavat sarjan pelejä. Sarjan voittaja on se, joka ensin voittaa n peliä.

Relevanttien sivujen etsintä verkosta: satunnaiskulut verkossa Linkkikeskukset ja auktoriteetit (hubs and authorities) -algoritmi

Numeeriset menetelmät TIEA381. Luento 6. Kirsi Valjus. Jyväskylän yliopisto. Luento 6 () Numeeriset menetelmät / 33

Numeeriset menetelmät TIEA381. Luento 8. Kirsi Valjus. Jyväskylän yliopisto. Luento 8 () Numeeriset menetelmät / 35

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

Martingaalit ja informaatioprosessit

Sovellettu todennäköisyyslaskenta B

Kevät 2003 Timo Honkela ja Kris- ta Lagus

MS-A0502 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Käytetään satunnaismuuttujaa samoin kuin tilastotieteen puolella:

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

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

Se mistä tilasta aloitetaan, merkitään tyhjästä tulevalla nuolella. Yllä olevassa esimerkissä aloitustila on A.

(b) Onko hyvä idea laske pinta-alan odotusarvo lähetmällä oletuksesta, että keppi katkeaa katkaisukohdan odotusarvon kohdalla?

2. Jatkoa HT 4.5:teen ja edelliseen tehtavään: Määrää X:n kertymäfunktio F (x) ja laske sen avulla todennäköisyydet

Martingaalit ja informaatioprosessit

Batch means -menetelmä

Yhteydettömän kieliopin jäsennysongelma

STOKASTISET PROSESSIT Peruskäsitteitä

Mat Sovellettu todennäköisyyslasku A

Tässä luvussa mietimme, kuinka paljon aineistossa on tarpeellista tietoa Sivuamme kysymyksiä:

3. laskuharjoituskierros, vko 6, ratkaisut

Liikenneongelmien aikaskaalahierarkia

Tilastotieteen kertaus. Vilkkumaa / Kuusinen 1

Numeeriset menetelmät

Algoritmit 1. Luento 9 Ti Timo Männikkö

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Johdatus verkkoteoriaan 4. luento

Markov-ketjut pitkällä aikavälillä

Numeeriset menetelmät TIEA381. Luento 12. Kirsi Valjus. Jyväskylän yliopisto. Luento 12 () Numeeriset menetelmät / 33

Konsensusongelma hajautetuissa järjestelmissä. Niko Välimäki Hajautetut algoritmit -seminaari

Turingin koneen laajennuksia

Algoritmit 1. Luento 1 Ti Timo Männikkö

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

1. OHJAAMATON OPPIMINEN JA KLUSTEROINTI

Funktioiden approksimointi ja interpolointi

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun

Königsbergin sillat. Königsberg 1700-luvulla. Leonhard Euler ( )

4.0.2 Kuinka hyvä ennuste on?

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Tietotekniikan valintakoe

Keskipisteen lisääminen 2 k -faktorikokeeseen (ks. Montgomery 9-6)

Tehtäväsarja I Tehtävät 1-5 perustuvat monisteen kappaleisiin ja tehtävä 6 kappaleeseen 2.8.

Yhtälöryhmä matriisimuodossa. MS-A0004/A0006 Matriisilaskenta. Tarkastellaan esimerkkinä lineaarista yhtälöparia. 2x1 x 2 = 1 x 1 + x 2 = 5.

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

Sovellettu todennäköisyyslaskenta B

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

Lohkoasetelmat. Vilkkumaa / Kuusinen 1

Tilastollisia peruskäsitteitä ja Monte Carlo

Todennäköisyyslaskun kertaus. Vilkkumaa / Kuusinen 1

11. laskuharjoituskierros, vko 15, ratkaisut

ABHELSINKI UNIVERSITY OF TECHNOLOGY

Sovellettu todennäköisyyslaskenta B

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

MS-A0501 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

MS-A0503 Todennäköisyyslaskennan ja tilastotieteen peruskurssi

Transkriptio:

1. Markov-mallit 1.1 Näkyvät Markov-mallit (Markov-ketjut) Olkoon X jono satunnaismuuttujia X = (X 1,..., X t ), ja olkoon satunnaismuuttujien arvot joukosta S = {s 1,..., s N }. Jono on ns. Markovin ketju, jos se täyttää seuraavat Markov-ominaisuudet. 1. Äärellinen horisontti: P (X t+1 = s k X 1,..., X t ) = P (X t+1 = s k X t ) (1) 2. Aikariippumattomuus (stationaarisuus): P (X 2 = s k X 1 = s j ) = P (X t+1 = s k X t = s j ), t, k, j (2) Satunnaismuuttujat peräkkäisinä ajanhetkinä saavat siis olla toisistaan riippuvaisia. Yleisessä (ei-markov) tapauksessa todennäköisyydet voivat riippua

koko (äärettömästä) historiasta, eli siitä miten tämänhetkiseen tilaan tultiin. Markov-mallit sopivat mallintamaan satunnaisilmiöitä, jotka suurinpiirtein täyttävät edellä mainitut Markov-ominaisuudet. Esimerkkejä satunnaisilmiöistä: Nopan silmäluku: aikariippumaton, ei riipu edellisitä heitoista Suomenkielisessä lauseessa esiintyvät kirjaimet: jokseenkin aikariippumaton, riippuu vahvasti historiasta (voidaan kuitenkin mallintaa Markovmalleilla) Säätila tunnin välein (aurinkoista, pilvistä, vesisadetta, lumisadetta): hyvin aikariippuvainen, riippuu myös historiasta Nokian päivittäinen pörssikurssi: hyvin aikariippuvainen, riippuu historiasta 2

Markov-mallin taulukkomuotoesitys Markov-malli voidaan esittää tilojen (havaintojen) joukkona S, ja tilasiirtymämatriisina A. Esimerkiksi S = {a, e, i, h, t, p} ja matriisin A alkiot a ij = P (X t+1 = s j X t = s i ): a i,j a e i h t p a 0.6 0 0 0 0 0.4 e...... i 0.6 0.4 h...... t 0.3 0 0.3 0.4 0 0 p...... Lisäksi määriteltävä tilojen aloitustodennäköisyydet: esim. ylimääräisen alkutilan s 0 avulla josta tilasiirtymätn muihin tiloihin taulukossa. 3

Esittäminen probabilistisena äärellisenä tila-automaattina Äärellinen tila-automaatti eli Finite-State-Automaton, FSA: tilat piirretään ympyröinä, tilasiirtymät kaarina. Painotettu tai probabilistinen automaatti: jokaisella kaarella tn, ja yksittäisestä tilasta ulosmenevien kaarien tn:ien summa =1. Markov-malli voidaan esittää tila-automaattina. Havainnot voivat olla joko kaarissa tai tiloissa. 0.6 b 1.0 0.9 b / 0.6 c / 1.0 c / 0.9 a 0.4 0.1 c c / 0.4 a / 0.1 4

Tilajonon todennäköisyys: P (X 1... X T ) = P (X 1 )P (X 2 X 1 )P (X 3 X 1 X 2 )... P (X T X 1... X T 1 (3) ) = P (X 1 )P (X 2 X 1 )P (X 3 X 2 )... P (X T X T 1 ) (4) T 1 = π X1 a XtXt+1 (5) t=1 jossa a XtXt+1 on siirtymätodennäköisyys tilasta hetkellä t tilaan hetkellä t+1 (katsotaan tn:t taulukosta tai tilakoneen kaarista) ja π X1 on tilan X 1 aloitustodennäköisyys. N-grammimalli Markov-mallina: Kirjoitetussa tekstissä sanojen (tai kirjainten) todennäköisyydet riippuvat vahvasti edellisistä sanoista (tai kirjaimista). Kasvattamalla tilojen määrää ja esittämällä pidempiä historioita kullakin tilalla voidaan Markov-ominaisuudet täyttää paremmin. 5 Esim. tri-grammimallissa P (w 3 w 1 w 2 ) tilojen joukko S on kaikkien 2- grammien joukko S = {w 1 w 1, w 1 w 2,... w 1 w N, w 2 w 1,... w 2 w N,...}

Rajallisen pituiset historiat voidaan aina esittää äärellisenä joukkona tiloja, jolloin 1. Markov-oletus täyttyy. Markov-mallit erotellaan historian pituuden m mukaan, ja puhutaan m:nnen asteen Markov-mallista. ngrammimalli on siis n 1:nnen asteen näkyvä Markov-malli. Malli voi olla hyödyllinen, vaikka sen satunnaisesti tuottamat havainnot eivät olisikaan järkeviä (demo). 6

1.2 Piilo-Markov-Mallit Joskus on hyödyllistä mallintaa satunnaisprosessia niin, ettei havainnoista tehdä suoraan Markov-ketjun tiloja. Sen sijaan ajatellaan, että piilossa olevat tilat tuottavat havaintoja, ja kukin tila tuottaa havaintoja erilaisesta jakaumasta. Piilo-Markov-malli (Hidden Markov Model, HMM, kätketty Markovmalli Tilat: S = {s 1,... s N } Tilasiirtymätodennäköisyydet: A = {a ij }, 1 i, j N Havainnot: {o 1... o t } Havaintotodennäköisyydet kussakin tilasiirtymässä: B = {b ijk } Ero näkyvään Markov-malliin: Vaikka havaintojono tunnetaan, tilajono ei yksikäsitteisesti tunnettu (kuitenkin tunnetaan tilajonoen tn-jakauma). 7

Esimerkkejä: Havaintona puolison kommentit ja tekemiset: Havainnot: Paiskoo ovia, Hauska kuulla!, Lähdetäänkö leffaan?, Miksei kukaan ole tyhjentänyt roskista?, laittaa ruokaa, Hienoa!, mykkäkoulu Kätketyt tilat: Iloinen, neutraali, ärsyyntynyt Havaintona luennoitsijan tuottama puhe: Havainnot: äänisignaalin taajuusjakauma eri ajanhetkillä Kätketyt tilat: äänteet joita puhuja yrittää tuottaa HMM on erityisen hyödyllinen, jos on paljon erilaisia havaintoja, jotka oleellisesti liittyvät samanlaiseen tilaan. Näkyvä Markov-malli joutuisi mallintamaan siirtymät kaikkien havaintojen välillä erikseen. 8

HMM:n variantteja mukana nollatransitioita: jotkin tilasiirtymät eivät emittoi mitään (merkitään esim. epsilonilla ɛ) arc-emission-hmm: havainnot emittoidaan kaarista: b ijk state-emission-hmm: havainnot emittoidaan tiloista: b ik 9

1.3 HMM-mallin käyttäminen Havaintojonon tuottaminen Jos HMM-malli on annettu, havaintojonojen tuottaminen siitä on triviaalia, seuraavasti: t:=1 Arvotaan alkutila X 1 tilojen aloitustn:ien perusteella: P (s i ) = π i while (1)...... Jos ollaan tilassa i, arvotaan tilasiirtymä s i s j tn:llä a ij...... Arvotaan siirtymässä ij havainto o t =k tn:llä b ijk end 10

Havaintojonon tn:n laskeminen Jos on annettuna tietty havaintojono O = o 1... o t ja malli µ = (A, B, Π), miten saadaan tehokkaasti laskettua havaintojonon O todennäköisyys mallissa, P (O µ)? Suoraviivainen, tehoton ratkaisu: summataan havaintojonon tn kaikkien tilajonoen yli (edellyttää (2T +1)N T kertolaskua, jossa T havaintojonon pituus) P (O X, µ) = T P (o t X t, X t+1, µ) (6) t=1 P (O µ) = X P (O, X µ) = X P (O X, µ)p (X µ) (7) = π X1 X 1...X T +1 t=1 T a XtXt+1b Xt,Xt+1,o t (8) Huomattavasti tehokkaampi ratkaisu saadaan dynaamisella ohjelmoinnilla 11

kun huomataan että sekvensseillä on yhteisiä alisekvenssejä, ja lasketaan tn:t kunkin alijonon osalta vain kerran, eli Forward-algoritmi: (eteenpäinlaskenta) Kulkien hilaa askeleittain eteenpäin, kerätään tilakohtaisiin apuparametreihin α i (t) todennäköisyys olla tilassa i ensimmäisen t:n havainnon jälkeen: α i (t) = P (o 1 o 2... o t 1, X t = i µ) Initialisoi tilojen alkutodennäköisyyksillä: α i (1) = π i Induktioaskel: summaa i:n tulokaarista saapuva tn-masssa: α i (t + 1) = N i=1 α i(t)a ij b ijot Lopuksi: P (O µ) = N i=1 α i(t + 1) 12

Tila (i) S1 S2 S3 t=1 2 3 4 Apuparametri α i (t) kussakin hilapisteessä. Huom: Backward-algoritmi (taaksepäinlaskenta) samoin mutta ajassa päinvastaiseen suuntaan. Eteenpäinlaskenta α i (t) ja taaksepäinlaskenta β i (t) voidaan myös yhdistää missä kohdassa aikajanaa tahansa. P (O µ) = N α i (t)β i (t), jossa 1 t T + 1 (9) i=1 13

Dekoodaus eli todennäköisimmän tilajonon etsiminen Tehtävä: etsi tilajono joka parhaiten selittää havaintojonon O. Eräs mahdollinen tulkinta: maksimoidaan oikeinarvattujen tilojen lukumäärä. Kuitenkin tämä saattaa johtaa hyvin epätodennäköisiin tilasekvensseihin. Siksi toinen tulkinta: etsitään todennäköisin tilajono joka on tuottanut havaintojonon. Viterbi-algoritmi (Tunnetaan myös nimillä DP alignment, Dynamic Time Warping, one-pass decoding) etsii havainnoille todennäköisimmän kokonaisen tilajonon tehokkaasti Tallettaa jokaiseen hilapisteeseen siihenastisen todennäköisimmän polun: δ j (t) = max P (X i... X t 1, o 1... o t 1, X t = j µ) (10) X 1...Xt 1 14

Initialisoi tilojen alkutodennäköisyyksillä: δ j (1) = π j Induktioaskel: valitse edellinen tila josta tulee suurin jonon tn: talleta tn: δ j (t + 1) = max 1 i N δ i (t)a ij b ijot talleta pointteri ko. tilaan: φ j (t + 1) = arg max 1 i N δ i (t)a ij b ijot Lopuksi: Lue hilaa lopusta taaksepäin seuraten φ j :n talletamia kaaria ja kerää todennäköisin tilajono. Tasatilanteet voidaan ratkaista arpomalla. Keskeinen ero forward-algoritmiin: todennäköisyyksien summan sijaan talletetaan maksimi-tn. Joskus yhden parhaan jonon sijaan halutaan n parasta jonoä (n-bestlist). Tällöin talletetaan jokaisessa hilapisteessä m < n parasta tn:ää ja tilaa. Viterbi tietyssä mielessä approksimaatio forward-algoritmille. Se ei laske havainnon tn:ää, vaan selvittää todennäköisimmän tilajonon ja sen tn:n. 15

1.4 Parametrien estimointi Jos annettuna tietty havaintojono O (opetusdata), etsitään HMM-mallin parametreille µ = A, B, π arvot jotka uskottavimmin selittävät havainnot. Sovelletaan MLE-estimointia: Ei analyyttistä ratkaisua. arg max P (O opetusdata µ) (11) µ Baum-Welch eli forward-backward-algoritmi Iteratiivinen optimointimenetelmä, EM-algoritmin sovellus. Periaate: vuorotellaan seuraavia kahta askelta: 1. Pidä mallin parametrit vakiona, laske P (O µ) ja kerää tiedot siitä miten O:n tn-massa jakautui mallin hilaan (eli miten monta kertaa kuljettiin mitäkin reittiä) 2. Uudelleenestimoi mallin parametrit µ ˆµ siten että O olisi mahdollisimman todennäköinen 16

Taatusti joka kierroksella P (O ˆµ) P (O µ) (kuten EM yleensäkin) Malli voidaan initialisoida satunnaisesti tai jollain nopealla raa-alla menetelmällä Iteroidaan kunnes datan tn ei enää muutu merkittävästi. Löytää lokaalin maksimin, ei välttämättä globaalia (kustannusfunktio on suuren joukon parametrejä luultavasti epälineaarinen funktio). Parametrien estimaatit sanallisesti: ˆbijk = ˆπ i = odotettu frekvenssi tilassa i hetkellä t = 1 odotettu transitioiden lkm tilasta i tilaan j â ij = odotettu transitioiden lkm tilasta i odotettu transitioiden lkm tilasta i tilaan j kun havainto oli k odotettu transitioiden lkm tilasta i tilaan j 17

Käytännön implementointi sekä joitain ongelmia Ongelma: Kerrotaan paljon hyvin pieniä tn:iä keskenään ylivuotoongelmia. Viterbissä vain kertolaskua ja max-operaatiota voidaan toteuttaa kokonaan logaritmoituna, jolloin kertolaskut summia. Baum-Welchissä: voidaan käyttää skaalauskertomia joita kasvatetaan ajan t funktiona. Ongelma: Parametrien suuri määrä tarvitaan paljon dataa TAI oletetaan että osa parametreistä jaetaan verkon eri osien kesken ( parameter tying : sidottuja tiloja tai sidottuja tilasiirtymiä) oletetaan että verkossa on rakenteisia nollia, ts. rakenteellisesti mahdottomia tilasiirtymiä 18

Estimointialgoritmi löytää lokaalin maksimin, ei globaalia Parametrien fiksu initialisointi Erityisen tärkeää initialisoida havaintotn:t B = b ijk Puheentunnistuksessa Viterbiä käytetään usein approksimaationa myös mallien opetuksessa. Etsitään mallin antama paras polku opetusnäytteisiin, ja päivitetään siirtymä- ja emissio-todennäköisyydet pelkästään parhaan polun mukaan. Tätä toistetaan useita kertoja. 19

1.5 Soveltaminen puheentunnistukseen Äännemallit Tyypillisesti jokaiselle ääntelle tehdään oma 3-tilainen HMM. Havainnot ovat puhesignaalin spektristä laskettuja piirteitä. a1 a2 a3 /a/ a1 a2 a3 t1 t2 t3 /t/ t1 t2 t3 Mallien parametrien opettamiseen tarvitaan käytännössä useita tunteja puhetta ja transkriptio puheesta. 20

Jos opetusdataa on kymmeniä tai satoja tunteja, voidaan kullekin ääntelle opettaa useampia malleja. Opetetaan erimerkiksi erillisiä malleja äänteelle /a/ riippuen edellisestä ja seuraavasta äänteestä: /a/ jota edeltää /k/ tai /a/ jota edeltää /t/ ja seuraa /u/. Äännemalleja yhdistelemällä voidaan rakentaa isompi HMM, joka vastaa kokonaista sanaa. Vastaavasti voidaan koota yhdeksi isoksi HMM:ksi kaikki sanat, jotka halutaan tunnistaa. Yhdellä sanalla voi olla monta ääntämisvaihtoehtoa. 21

ja j1 j1 j2 j2 j3 j3 a1 a1 a2 a2 a3 a3 o1 o2 o3 n1 n2 n3 on o1 o2 o3 n1 n2 n3 22

Yksinkertainen Viterbi-tunnistus Kun tunnistimen HMM-verkko on rakennettu, voidaan Viterbi-algoritmilla voidaan etsiä tilajono, joka selittää parhaiten tunnistettavan puhesignaalin. Tilajono kertoo sekä parhaan sanajonon, että signaalin segmentoinnin sanoiksi. Huomioita: Etsii todennäköisimmän tilajonon, mikä ei ole sama asia kuin joka ajanhetken todennäköisin tila. Toimii käytännössä hyvin. Kukin tilajono vastaa jotain sanojen lausuntavaihtoehtoa. Löytää siis todennäköisimmän lausuntavaihtoehdon. Isoilla sanastoilla verkossa on tiloja niin paljon, ettei täydellistä Viterbihakua voida tehdä. Joka ajanhetkellä epätodennäköisimmät polut karsitaan ja toivotaan ettei tästä aiheudu virheitä. 23

Tunnistus N-grammimallin kanssa Viterbi-algoritmin tehokkuus perustuu oletukseen, että siirtymätodennäköisyydet eivät riipu edellisistä tiloista. Siksi jokaiseen tilaan tarvitsi tallentaan tieto ainoastaan parhaasta polusta siihen asti. N-grammimallissa sanan todennäköisyys riippuu edellisistä sanoista, joten tilojen siirtymätodennäköisyydet riippuvat pitkälle menneisyyteen. Ongelmaan on kaksi ratkaisua: Laajennetaan HMM-verkkoa niin, että tila määrää yksikäsitteisesti sanahistorian. Tällöin voidaan käyttää perus Viterbi-algoritmia, mutta verkoista tulee helposti todella suuria. Viime vuosina tämä lähestymistapa on yleistynyt, kun on kehitetty menetelmiä, joilla isoja verkkoja voidaan rakentaa ja minimoida tehokkaasti. Ei laajenneta HMM-verkkoa, mutta tunnistuksen aikana tiloihin talletetaan paras polku jokaista aktiivista sanahistoriaa kohden. Näin itse HMM-verkon koko pysyy kohtuullisena, mutta hakualgoritmi on raskaampi. 24

N-grammimallin yksiköiden valinta Puheentunnistimien N-grammikielimallit rakennetaan usein kokonaisten sanojen yli. Suomen kielessä tästä aiheutuu kuitenkin ongelmia, jos tunnistustehtävän sanastoa ei haluta rajoittaa (vapaa sanelu, radiouutisten tunnistus): Tarvittava sanasto kasvaa helposti kohtuuttoman suureksi, jotta kaikki yleiset yhdyssanat ja taivutusmuodot saataisiin mukaan. Suurella sanastolla mallin todennäköisyyksiä ei saada estimoitua luotettavasti, kun monista sanayhdistelmistä on vähän näytteitä. Luonnollinen ratkaisu on pilkkoa sanat lyhyempiin paloihin ja rakentaa N- grammimalli palojen yli. Mitä pienempiin paloihin sanat jaetaan, sitä vähemmällä määrällä paloja selvitään ja sitä luotettavammat estimaatit todennäköisyyksille saadaan. Toisaalta lyhyemmät palat vaativat korkeamman asteen mallin, jotta historia yltää yhtä pitkälle kuin sanoilla. 25

Sanat voidaan pilkkoa monella tavalla: Kirjaimet: Yksiköitä todella vähän. Tarvittaisiin kuitenkin todella korkea asteluku, jotta malli antaisi hyviä tuloksia. Käytännössä niin isoa mallia on vaikea opettaa. Tavut: Yksiköitä vähän. Toimivat puheentunnistuksessa hyvin. Vieraskieliset sanat vaativat erikoiskäsittelyn. Kieliriippuva. Kielioppiin perustuvat morfeemit: Suomen kielelle on olemassa valmiita tietokoneohjelmia. Yksiköitä tulee aika paljon, mutta toimivat puheentunnistuksessa hyvin. Vieraskieliset sanat vaativat erikoiskäsittelyn. Kieliriippuva. Tilastolliset morfit (Morfessor): Yksiköiden määrään voidaan vaikuttaa. Toimivat puheentunnistuksessa erittäin hyvin. Käsittelee vieraskieliset sanat siinä kuin muutkin. Ohjaamaton menetelmä, jota on sovellettu suomen lisäksi menestyksekkäästi myös turkin- ja vironkieliseen tunnistukseen. 26

Morfessor-algoritmi Morfessor-algoritmi (Creutz ja Lagus, 2002) etsii ohjaamattomasti tehokkaan pilkonnan sanoille. Algoritmille syötetään iso tekstiaineisto, ja algoritmi etsii morfit, joilla saadaan minimoitua itse morfiston että morfeilla koodatun tekstiaineiston yhteinen koodauspituus. Pitkillä morfeilla aineisto voidaan koodata tiiviimmin, mutta toisaalta pitkiä morfeja tarvitaan enemmän ja niiden koodaamiseen menee enemmän tilaa. Projektin kotisivulla on demo, jolla voi kokeilla miten eri sanat pilkkoutuvat: http://www.cis.hut.fi/projects/morpho/ Muita HMM:ien sovelluksia sanaluokkien taggaus geenisekvenssien analyysi 27