Statistical and Adaptive Natural Language Processing T-61.5020 (5 cr) L, Spring 2007 Ninth lecture Statistical Language Modeling Lecturer: Mathias Creutz Slides: Krista Lagus, Mathias Creutz, Timo Honkela
9. Statistical Language Modeling................ 3 9.1 Tilastollinen mallinnus............... 6 9.2 N-grammimallit................... 8 9.3 Piirteiden jakaminen ekvivalenssiluokkiin...... 11 9.4 N-grammimallin tilastollinen estimointi....... 14 9.5 Mallien estimoinnista ja testauksesta yleisesti... 21 9.6 More Smoothing Methods............. 34 9.7 Estimaattorien yhdistäminen............ 39 9.8 Kneser-Ney Smoothing............... 46 9.9 N-grammimallin kritiikkiä.............. 48 2
9. Statistical Language Modeling Lecture based on: Mainly Chapter 6 in Manning & Schütze Also material from Chapter 6 in Jurafsky & Martin: Speech and Language Processing (An Introduction to Natural Language Processing, Computational Linguistics, and Speech Recognition) Article: Joshua T. Goodman: A bit of progress in language modeling. Computer Speech and Language (2001) 15, 403 434. 3
Some Historic Quotes (sometimes used for linguist bashing ) But it must be recognized that the notion of probability of a sentence is an entirely useless one, under any known interpretation of this term. Noam Chomsky (1969) Why? Any time a linguist leaves the group the recognition rate goes up. Fred Jelinek (then of the IBM speech group) (1988) No knowledge is better than wrong knowledge. Hynek Hermansky Statistical language modeling was initially developed for the needs of automatic speech recognition: how match a (possibly noisy) acoustic signal to some sequence of words that makes sense? 4
Statistical models were a good solution in this type of task that was not clean enough for the existing linguistic models at the time. For instance, speech typically contains disfluencies and utterances may be ungrammatical according to a conventional grammar: I do uh main- mainly business data processing. (Actually, statistical models Markov models of words were common in engineering, psychology, and linguistics until the 1950 s, when Chomsky criticized them as incapable of being a complete cognitive model of human grammatical knowledge. A new coming took place in the 1970 s with speech recognition research at IBM and CMU.) Nevertheless, linguist bashing is not recommended. If you feel a strong urge to do it, don t set up straw men from the past to attack. They might have learned one or two things over the years. 5
9.1 Tilastollinen mallinnus 1. Otetaan dataa (generoitu tuntemattomasta tn-jakaumasta) 2. Tehdään estimaatti jakaumasta datan perusteella 3. Tehdään päätelmiä uudesta datasta jakaumaestimaatin perusteella Mallinnuksen osatehtävät voidaan hahmottaa seuraavasti: Datan jakaminen ekvivalenssiluokkiin Hyvän tilastollisen estimaattorin löytäminen kullekin luokalle Useiden estimaattorien yhdistäminen Tyypillinen oletus: stationaarisuus, eli että datan tn-jakauma ei muutu oleellisesti ajan myötä. 6
Tilastollisen kielimallin tehtävistä Klassinen tehtävä: seuraavan sanan (tai kirjaimen) ennustaminen jo nähtyjen sanojen (tai kirjainten) perusteella ( Shannon game ). Esim. seuraavissa sovelluksissa: puheentunnistus optinen merkkientunnistus, käsinkirjoitettujen merkkien tunnistus kirjoitusvirheiden korjaus tilastollinen konekääntäminen Estimointimenetelmät yleisiä, soveltuvat myös muihin tehtäviin (esim. WSD, word sense disambiguation, jäsentäminen) 7
9.2 N-grammimallit N-grammimalli: ennustetaan sanaa w n edellisten n 1 sanan perusteella: P (w n w 1 w 2 w n 1 ) (1) Kaava esiintyy myös muodossa P (w t w t (n 1) w t (n 2) w t 1 ) jossa t viittaa sanan järjestysnumeroon (ajanhetkeen) koko aineistossa. Esimerkki: aineistona tämän luennon kalvot, n=4: w t 3 w t 2 w t 1 w t... sitä enemmän dataa tarvitaan mallin estimointiin... Malleille käytettäviä nimiä n=1 unigram n=2 bigram n=3 trigram n=4 4-gram, fourgram Yhteys ekvivalenssiluokkiin: n-grammimallissa jokainen n 1:n sanan pituinen historia saa oman ekvivalenssiluokkansa. Tämä tarkoittaa että historiat 8
joissa viimeiset 3 sanaa samoja käsitellään keskenään identtisinä tilanteina seuraavan sanan ennustamisen kannalta, eli niillä on yhteinen estimaatti. Sama n-grammien ominaisuus toisesta näkökulmasta: malli olettaa että sana riippuu ainoastaan (n 1) edeltävästä sanasta, mutta ei tätä kauempana olevista sanoista (ns. Markov-oletus). Markov-malli: k:n asteen Markov-malli on malli joka asettaa kaikki k:n pituiset historiat samaan ekvivalenssiluokkaan. Ts. n-grammimalli on n 1:n asteen Markov-malli. Esimerkkejä: Sue swallowed the large green Tämän vuoden Idols-mittelössä on jäljellä vielä neljä 9
Parametrien määrän kasvu Malli Parametreja jos sanasto 20,000 n=1 unigram 19999 n=2 bigram 20000 19999 = 400 milj. n=3 trigram 20000 2 19999 = 8 miljardia n=4 4-gram, fourgram 20000 3 19999 = 1.6 10 17 10
9.3 Piirteiden jakaminen ekvivalenssiluokkiin Piirteet (sekä jatkuva-arvoiset että diskreetit) voidaan jakaa ekvivalenssiluokkiin bins Esim. jatkuva-arvoisen muuttujan ikä jakaminen luokkiin 0-2; 3-5; 7-10; 11-15; 16-25; 26-35 jne Mitä useampia ekv.luokkia, sitä enemmän dataa tarvitaan mallin estimointiin, jotta tulokset luotettavia kullekin luokalle Toisaalta, jos luokkia on kovin vähän, ennustettavan kohdemuuttujan (esim. pituus ) arvoa ei voida ennustaa kovin tarkasti. Esimerkki: ennustetaan seuraavaa sanaa 1. kolmen edellisen sanan sanaluokan (subst, verbi, adj, num jne) TAI 2. kolmen edellisen sanan perusteella 1. tapauksessa vähemmälläkin datalla jonkinlaiset estimaatit, kun taas 2. tapauksessa tarkempia estimaatteja mutta dataa tarvitaan paljon enemmän. 11
Joitain tapoja muodostaa ekvivalenssiluokkia Isojen ja pienten kirjainten käsittely samalla tavalla (esim. kaiken muuntaminen pieniksi kirjaimiksi) Sanojen muuntaminen perusmuotoon (saman sanan eri taivutusmuodot käsitellään ekvivalentteina) Ryhmittely sanaluokkatiedon mukaan (syntaktiselta rooliltaan samankaltaiset muodostavat ekv. luokan) Sanojen semanttinen ryhmittely (merkitykseltään samankaltaiset muodostavat ekv.luokan) Kussakin vaihtoehdossa tarvitaan kuitenkin menetelmä jolla sanan ekvivalenssiluokka voidaan luotettavasti päätellä. Lisäksi ekvivalenssiluokkien olisi hyvä olla sellaisia että niiden sisällä sanat todella käyttäytyvät samankaltaisesti, ts. tarkkuus säilytetään. 12
Historian huomioimisen eri tapoja Edellä kuvattiin yksittäisten piirteiden ekvivalenssiluokkien laskemista. Eri tapoja ekvivalenssiluokkien muodostamiseen historian suhteen: Poimitaan historiasta tiettyjä piirteitä, mutta niiden sijainnilla ei ole väliä esim. malli: P (w t lauseen predikaatti, w t 1 ) Käsitellään sanajonon sijaan sanajoukkoa ( sanasäkkiä, bag-of-words), eli ei välitetä sanojen järjestyksestä: P (w n w 1, w 2,..., w n 1 ) 13
9.4 N-grammimallin tilastollinen estimointi Annettuna: joukko näytteitä jotka osuvat kuhunkin ekvivalenssiluokkaan (biniin). Bayesin kaavoista: P (w n w 1 w n 1 ) = P (w 1 w n ) P (w 1 w n 1 ) (2) Mallin optimointi: maksimoidaan datan todennäköisyys (eli sanojen tn:ien tulo). Notaatio: N B w n 1 C(w 1 w n ) r N r h Opetusnäytteiden lukumäärä (token count) Ekv.luokkien (binien) lukumäärä (type count) n-grammi w 1 w n ngrammin w 1 w n lukumäärä opetusdatassa (token cnt) n-grammin lukumäärä (token count) Niiden binien lukumäärä joissa on r näytettä (type count) historia (edeltävä sanajono) 14
Maximum likelihood-estimaatti (MLE) P MLE (w 1 w n ) = C(w 1 w n ) N (3) P MLE (w n w 1 w n 1 ) = C(w 1 w n ) C(w 1 w n 1 ) MLE-estimointi johtaa parametrien valintaan siten että opetusdatan todennäköisyys maksimoituu. (Huom: tämä pätee vain tietyin oletuksin, kuten että näytteet, esim. tri-grammien sanakolmikot, oletetaan riippumattomiksi toisistaan. Tämä taas ei pidä paikkaansa mm. overlapin takia.) Koko tn-massa jaetaan opetusdatassa esiintyneiden tapausten kesken, niiden frekvenssien suhteessa. Antaa siis tn=0 tapaukselle jota ei nähty opetusdatassa, eli ei jätä lainkaan tn-massaa aiemmin näkemättömille sanoille. (4) 15
Koska yleisesti sanajonon tn lasketaan kertomalla kunkin sanan tn, yksikin nolla saa koko sanajonon tn:n nollaksi. Esimerkki datan harvuudesta: ensimmäisten 1.5 miljoonan sanan jälkeen (IBM laser patent text corpus) 23% myöhemmistä trigrammeista oli ennennäkemättömiä. MLE ei kovin hyödyllinen estimaatti harvalle datalle, kuten n- grammeille. Tarvitaan siis systemaattinen tapa jolla huomioidaan ennennäkemättömien sanojen ja ennennäkemättömien n-grammien tn:t. Tätä kutsutaan mm. nimellä tasoitus eli smoothing Taulukko 6.3: MLE-estimaatteja Austenin kirjoista eräälle lauseelle eri n- grammeilla. 16
17
Laplacen laki eli yhden lisäys Annetaan hiukan tn-massaa näkemättömille tapauksille lisäämällä jokaiseen lukuun 1: P LAP (w 1 w n ) = C(w 1 w n ) + 1 (5) N + B Vastaa Bayesin estimaattia priorilla, että kaikki tapahtumat ovat yhtä todennäköisiä, ja tähän prioriin uskotaan aivan kuin olisi nähty yksi näyte joka lajia. Esim. 44 milj. sanan AP newswire-korpus, sanaston koko 400,653 sanaa, jolloin bigrammeja 1.6 10 11, eli N =44 milj., B = 1.6 10 11 Jos data on hyvin harvaa, antaa liiaksi tn-massaa ennen näkemättömille tapauksille (tässä 46.5% tn-massasta). Ts. uskotaan tasajakauma-prioriin liian vahvasti verrattuna datan määrään: Kannattaisiko 1:n sijaan uskoa että on nähty esim. 0.0001 jokaista näytettä? 18
Odotetun frekvenssin estimaatteja seuraavassa taulukossa (Laplace): 19
Lidstonen laki, Jeffreys-Perksin laki P Lid (w 1 w n ) = C(w 1 w n ) + λ (6) N + Bλ Voidaan osoittaa että ylläoleva tarkoittaa lineaarista interpolointia tasajakauma-priorin ja MLE-estimaatin välillä. Asetetaan µ = N/(N + Bλ): P Lid (w 1 w n ) = µ C(w 1 w n ) N + (1 µ) 1 B Jeffreysin priori: λ = 1/2, eli lisätään jokaiseen lukumäärään 1/2 (vastaa sitä että olisi nähty puolikas näyte jokaista lajia). Käytetään myös nimeä Expected Likelihood Estimation (ELE) On valittava λ:n arvo tavalla tai toisella Alhaisilla frekvensseillä tämäkään ei kovin hyvin vastaa todellista jakaumaa (7) 20
9.5 Mallien estimoinnista ja testauksesta yleisesti Seuraava koskee mitä tahansa menetelmien vertailua, ei pelkästään n- grammeja tai kielimalleja. Tavallisesti data jaetaan ennen menetelmien kehittämistä kolmeen osaan Opetusjoukko: data jolla malli opetetaan Validointijoukko: opetusjoukosta riippumaton data, jonka avulla valitaan mallin opetuksessa käytettävät parametrit (esim. edellisen kalvon λ) Testijoukko: edellisistä riippumaton, satunnaisesti valittu datajoukko (kooltaan esim. 10% opetusdatasta), jolla lopullisen mallin hyvyys mitataan. Testijoukko on pidettävä kokonaan syrjässä menetelmien kehittämisen aikana! Jos testijoukko pääsee vaikuttamaan menetelmänkehitykseen (vaikka vain alitajuisesti), se ei ole enää soveltuva menetelmän testaamiseen. 21
Kuitenkin usein menetelmänkehitys on syklinen prosessi jossa välillä muutetaan menetelmää ja sitten taas testataan. Siksi voi olla erikseen: 1. kehittely-testijoukko, jolla vertaillaan menetelmän eri variantteja 2. lopullinen testijoukko jolla tuotetaan julkaistavat tulokset, ja jota ei ole käytetty mihinkään ennen tätä. Vaihtoehdot testijoukon (ja validointijoukon) valintaan: 1. täysin satunnainen valinta (satunnaisia lyhyitä tekstinpätkiä) 2. pitkiä yhtenäisiä pätkiä (esim. ajallisesti myöhempiä osia datasta) 2-tapa vastaa paremmin mallin käyttötilannetta: se myös antaa realistisemmat, yleensä hiukan huonommat tulokset johtuen siitä, että harvat ilmiöt ovat täysin stationaarisia. 22
Held Out Estimation Let C 1 (w 1 w n ) = frequency of w 1 w n in training data Let C 2 (w 1 w n ) = frequency of w 1 w n in held out (validation) data T r = {w 1 w n:c 1 (w C 1 w n)=r} 2(w 1 w n ) That is, T r is the total number of times that all n-grams that appeared r times in the training text appeared in the held out data. Then the average frequency of those n-grams is Tr N r and so an estimate for the probability of one of these n-grams is: P ho (w 1 w n ) = T r N r N, where C(w 1 w n ) = r. (8) 23
Ristiinvalidointi (cross-validation) Jaetaan data K:hon osajoukkoon, joista 1 kerrallaan on testidata, muut opetusdataa. Toistetaan siten että kukin osajoukko on vuorollaan testidata. K välillä 2... N, jossa N datan määrä. Hyöty: Kaikki datat vaikuttavat sekä mallin opetukseen että sen testaukseen, data siis hyödynnetään mahdollisimman tarkasti (tärkeää etenkin kun dataa on vähän). useita eri variantteja (deleted estimation, leave-one-out-estimation) Sekä ristiinvalidoinnin että held-out-estimoinnin avulla voidaan valita mallien parametrejä, ja siis esim. tasoittaa tn-estimaatteja. 24
Deleted Estimation Deleted estimation is a form of two-way cross validation. It is more efficient than held out estimation, because both halves of the data are used and a weighted average is taken: P del (w 1 w n ) = T r 01 + Tr 10 N(Nr 0 + Nr 1 ), where C(w 1 w n ) = r. (9) Here Nr 0 is the number of n-grams occurring r times in the 0 th part of the training data, and Tr 01 is the total number occurrences of those n-grams from part 0 in part 1 (and vice versa). A standard held out estimate would be written as: P ho (w 1 w n ) = T r 01 or P Nr 0 N ho(w 1 w n ) = T r 10 N 1 r N. 25
Deleted interpolation: 26
Evaluation of Language Models 27 Language models are components of larger systems (speech recognition, hand-written character recognition, machine translation), so ultimately their usefulness is determined by the functionality of the whole system. However, often one wants to evaluate a language model in its own right. For instance, experiments with a full speech recognition system may be very resource-consuming, or one wants to assess the performance of each component (acoustic modeling, language modeling, etc) in isolation. The idea is that a good model predicts some test text well. Based on the observed history, the model should restrict the possible continuations successfully, that is, give a high probability to likely continuations and a low probability to unlikely continuations. One can compute the probability of the test text given the model, e.g., P (w 1 w 2... w n ) = P (In < s >) P (person < s > In)
P (she In person) P (was person she) P (inferior she was). However, test texts have different length, so it is better to normalize by the number of words, n. We obtain the geometric mean P (w 1... w n ) 1/n, that is, the average probability (according to the model) of each word in the test set. The higher the probability, the better. However, the geometric mean of P (w 1... w n ) is never reported in practice, but its inverted value P (w 1... w n ) 1/n, called perplexity. Perplexity can intuitively be thought of as the weighted average number of choices a random variable has to make. A low perplexity means that most probability mass is distributed on a few alternatives, which means that the model has good predictability of the test data. There is another way of deriving the perplexity. Recall the entropy of a language. For a word sequence, we can talk about the entropy rate, or the average number of bits, we need to code each word in the 28
sequence: 1 H(L) = lim n n H(w 1w 2... w n ) 1 = lim p(w 1... w n ) log n n 2 p(w 1... w n ). (10) W L (11) The Shannon-McMillan-Breiman theorem states that if the language is regular in certain ways (stationary and ergodic), this equals: H(L) = lim n 1 n log 2 p(w 1... w n ). (12) Now, if we use one model m (estimated from the training set) to predict the entropy of a test set, we do not know the true model p 29
that generated the test set. We obtain the cross-entropy of m on p: 1 H(p, m) = lim p(w 1... w n ) log n n 2 m(w 1... w n ) W L = lim n 1 n log 2 m(w 1... w n ). (Shannon-McMillan-Breiman) (13) The cross-entropy H(p, m) is an upper bound on the entropy H(p): H(p) < H(p, m). Between two models m 1 and m 2, the more accurate model will be the one with lower cross-entropy. In practice, no test text is infinitely long, so we have to stop at some finite value of n (number of words in test set): H(p, m) 1 n log 2 m(w 1... w n ). (14) We see that perplexity can be expressed as 2 H(p,m). To summarize, the performance of a language model is assessed on a held-out test set. One can either report perplexity (the number of equiprobable choices the model has to make on average for each next word) 30
31 or cross-entropy (the number of bits it takes to code each following word on average using the model).
Eri menetelmien vertailusta Pelkkiä keskiarvotuloksia vertaamalla ei voi tietää ovatko havaitut erot menetelmissä merkitseviä. Eräs ratkaisu: Mitataan lisäksi tulosten varianssi eri datajoukoilla, ja testataan erojen tilastollinen merkitsevyys esim. t-testillä. 32
33
9.6 More Smoothing Methods Termi discounting viittaa siihen, että nähtyjen n-grammien tn:iä alennetaan ja tätä massaa jaetaan ennen näkemättömille. Absoluuttinen alennus (absolute discounting): Kaikista nähdyistä n-grammeista vähennetään vakio-tnmassa δ joka jaetaan tasan näkemättömien n-grammien kesken: If C(w 1 w n ) = r, { (r δ)/n if r > 0 P abs (w 1 w n ) = (B N 0 )δ N 0 N otherwise (15) Lineaarinen alennus (linear discounting): Skaalataan nähtyjen n- grammien tn:ät vakiolla joka on hiukan (α) pienempi kuin 1, ja saatu tnmassa jaetaan tasan ei-nähtyjen kesken. Ei kovin hyvä, koska rankaisee frekventtejä enemmän kuitenkin niiden estimaatit ovat parempia: If C(w 1 w n ) = r, { (1 α)r/n if r > 0 P lin (w 1 w n ) = α N 0 otherwise (16) 34
Witten-Bell discounting: Arvioidaan yllättävien asioiden näkemisen tnmassa sen perusteella kuinka tavallista yllättävien asioiden näkeminen on ollut tähän mennessä: If C(w 1 w n ) = r and M = B N 0 (M is thus the number of non-empty bins, or the type count; N is the token count): P WB (w 1 w n ) = { r if r > 0 N+M otherwise M N 0 (N+M) (17) Pohjimmiltaan menetelmien eroissa on kyse on siitä minkälaisia oletuksia tehdään tapauksista, joita ei ole nähty, ja niiden suhteesta tapauksiin, joita on nähty. 35
Good-Turing -estimaattori Ks. frekvenssien frekvenssi-histogrammeja taulukossa 6.7. P GT (w 1 w n ) = r N, jossa r = (r + 1)S(r + 1) S(r) (18) ja S(r) on odotusarvo N r :lle, tai vaihtoehtoisesti, arvo joka on saatu sovittamalla jokin tasainen käyrä frekvenssien frekvensseille: N r = S(r) Simple Good-Turing -estimaattori: Valitaan käyräksi potenssifunktio: S(r) = ar b jossa parametrit a ja b sovitetaan frekvenssien frekvenssi-histogrammin mukaan. Melko hyvä estimaattori, yleisesti käytössä. 36
37
Good Turing: 38
9.7 Estimaattorien yhdistäminen Tähän asti tarkasteltu tilannetta jossa pyritään estimoimaan identtinen tn esim. kaikille 3-grammeille joita ei ole nähty. Kuitenkin jos 3-grammin osat (esim. 2-grammit) ovat frekventtejä, eikö niistä kerättyä tietoa kannattaisi käyttää 3-grammin tn:n estimoinnissa? Motivaationa estimaattien tasoitus (smoothing) tai yleisemmin eri informaationlähteiden yhdistäminen. 39
Lineaarinen interpolointi (yleisemmin nimellä äärelliset mikstuurimallit tai sum of experts) Lasketaan painotettu keskiarvo eri pituisten kontekstien antamista estimaateista: P li (w n w n 2 w n 1 ) = λ 1 P 1 (w n ) + λ 2 P 2 (w n w n 1 ) + λ 3 P 3 (w n w n 2 w n 1 ) (19) (0 λ 1 1 ja i λ 1 = 1) Parametrit λ voidaan asettaa käsin tai optimoida datan avulla. Yleinen lineaarinen interpolointi Edellä parametrit λ eivät riippuneet sanoista joiden kohdalla niitä sovelletaan, eli parametri on vakio vaikkapa kaikille bi-grammeille. 40
Yleisemmin ne voidaan kuitenkin asettaa riippumaan historiasta: P li (w h) = i λ i (h)p i (w h) (20) (0 λ 1 1 ja i λ 1 = 1) ja optimoida esim. EM-algoritmilla. Kuitenkin, jos jokaiselle historialle on oma λ ollaan taas datan harvuusongelmassa, ja joudutaan soveltamaan jotain tasoitusta, historioiden ekvivalenssiluokkia tms. 41
Perääntyminen (backing off) Periaate: Katsotaan aina spesifeintä mallia joka antaa riittävän luotettavaa informaatiota tämänhetkisestä kontekstista. Eli peräännytään pitkien kontekstien käytöstä yhä lyhempiin: Päätetään uskoa estimaattia jos se perustuu vähintään k näytteeseen (k esim. 0, 1 tai 2). A widely used method is Katz backoff, often combined with Good Turing discounting: P Katz (on T uesday) = { disc(c(on T uesday)) C(on) α(on) P Katz (T uesday) if C(on T uesday) > k otherwise (21) disc( ) is the discounting function. α( ) is a normalization factor, which equals all probability mass that was reserved for new observations through discounting. 42
Kritiikkiä: Uuden opetusdatan lisääminen voi vaikuttaa voimakkaasti tn:iin kun se aiheuttaa muutoksia useiden sanojen kohdalla niille sovellettavissa n-grammipituuksissa Kuitenkin mallit yksinkertaisia ja toimivat melko hyvin, joten yleisesti käytössä. back-off -malli on erikoistapaus yleisestä lineaarisesta interpoloinnista: λ i (h) = 1 kun k:n arvo riittävän suuri, 0 muulloin. Lähestymistapa muistuttaa Kohosen Dynamically Expanding Context (DEC) -algoritmia. 43
Back-off-mallien käyttöesimerkki: 44
Two Problems With Katz Backoff and Good Turing Discounting The model improves when longer n-grams are used, but only to a certain point. For instance, trigrams may outperform bigrams and unigrams, but the performance actually degrades with higher order n- grams (4-, 5-, 6- etc.). (The perplexity starts to rise again.) The on Francisco problem: P Katz (on F rancisco) = { disc(c(on F rancisco)) C(on) α(on) P Katz (F rancisco) if C(on F rancisco) > k otherwise (22) Since the phrase San Francisco is fairly common, the conventional unigram probability P (F rancisco) is also fairly high. Thus, also the backoff probability for P (on F rancisco) will be fairly high (to compare with P (on T uesday)). However, the word Francisco occurs in exceedingly few contexts, and its probability of occurring in a new one should be very low. 45
9.8 Kneser-Ney Smoothing Kneser-Ney smoothing uses a modified backoff distribution based on the number of contexts (type count) each word occurs in, rather than the number of occurrences of the word (token count). A probability such as P KN (on F rancisco) would be low, while for a word like Tuesday that occurs in many contexts, P KN (on T uesday) would be relatively high. Backoff Kneser-Ney (bigram case): P BKN (w i w i 1 ) = { C(wi 1 w i ) D C(w i 1 if C(w ) i 1 w i ) > 0 {v C(vw α(w i 1 ) i )>0} otherwise Pw {v C(vw)>0} (23) Again, α is a normalization constant such that the probabilities sum to 1. {v C(vw i ) > 0} is the number of words v that w i can occur in the context of. w {v C(vw) > 0} is the number of different bigrams (type count). 46
Actually, interpolated Kneser-Ney works even better: P IKN (w i w i 1 ) = C(w i 1 w i ) D + λ(w i 1 ) C(w i 1 ) {v C(vw i ) > 0} (24) {v C(vw) > 0}. w This enables very high-order n-grams (10 20). Performance (perplexity) plateaus, but does not start rising again, if a too high n is used. This also makes it possible to use varigrams without a highest n fixed in advance. The so-called Modified (Interpolated) Kneser-Ney smoothing method is the state-of-the-art method in current speech recognition systems. It is supported, e.g., by the SRI Language Modeling toolkit. 47
9.9 N-grammimallin kritiikkiä N-grammien ongelmia kielimallina: Eivät huomioi pidemmän tähtäimen riippuvuuksia sanojen välillä Sanajono yhdessä järjestyksessä ei kontribuoi saman sanajoukon tn:ään jossain toisessa järjestyksessä Tasoitusongelmat voi myös nähdä mallin rakenteellisena ongelmana Riippuvuudet estimoidaan sanojen välillä suoraan. Intuitiivisesti järkevämmältä tuntuisi että olisivat osaksi joidenkin latenttien muuttujien, kuten käsitteiden ja/tai sanaluokkien tms välillä. Kuitenkin: n-grammimalli yhdistää syntaktiset ja semanttiset ja kollokationaaliset lyhyen kontekstin riippuvuudet käytännössä yllättävänkin hyvin toimivalla tavalla, etenkin/ainakin englannille. Mallin optimointiin ja tasoitusmenetelmien parantamiseen on käytetty hyvin paljon resursseja. On mahdollista, että on juututtu lokaaliin minimiin malliperheiden suhteen. 48