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

1.
Lasketaan ensin tulokset sanaparille ``valkoinen'',''talo'' käsin: Kaikkien sanojen tulokset frekvenssimenetelmälle on esitetty taulukossa 1.

Taulukko: Frekvenssimenetelmän tulokset
$ s_1$ $ s_2$ $ C(s_1,s_2)$
ja olla 7329
venäjä presidentti 717
valkoinen talo 710
kova tuuli 279
aste pakkanen 160
tuntematon sotilas 154
sekä myös 138
liukas keli 106
hakea työ 31
oppia lukea 21
ottaa onki 9
vihainen mielenosoittaja 7
olla ula 5
heittää veivi 3
herne nenä 3


Taulukko: Normalisoidun frekvenssimenetelmän tulokset
$ s_1$ $ s_2$ Normalisoitu frekvenssi $ \cdot10^{-8}$
liukas keli 1981
aste pakkanen 386
heittää veivi 293
herne nenä 268
valkoinen talo 180
tuntematon sotilas 163
vihainen mielenosoittaja 68
kova tuuli 35
ottaa onki 21
venäjä presidentti 10
oppia lukea 8
hakea työ 1
olla ula 0
sekä myös 0
ja olla 0

Huomataan, että jo ``hihasta ravistetuilla'' menetelmillä päästään kohtalaisiin tuloksiin.

2.
Lasketaan käsin malliksi tulos jo tutulle kollokaatiolla ``valkoinen'', ``talo''. Keskiarvo:
$\displaystyle Mean(\textrm{\lq\lq valkoinen''},\textrm{''talo''})$ $\displaystyle =$ $\displaystyle \frac{-1\cdot 710 -2 \cdot 2 + 1 + 2 \cdot 6 }
{710 +2+1 + 6 }$  
  $\displaystyle \approx$ $\displaystyle -0.975$  

Varianssi
    $\displaystyle Var(\textrm{\lq\lq valkoinen''},\textrm{''talo''})$  
  $\displaystyle =$ $\displaystyle \frac{(\!-1\! - \!(\!-\!0.975))^2\cdot710
+(\!-2\!-\!(\!-\!0.975)...
...+
(1\!-\!(\!-\!0.975))^2\cdot1 +
(2\!-\!(\!-\!0.975))^2\cdot6 }
{710 +2+1 + 6 }$  
  $\displaystyle \approx$ $\displaystyle 0.083$  

Lopuille sanoille tulokset on annettu varianssin mukaan järjestettynä taulukossa 3.


Taulukko: Pienimmän varianssin mukaan järjestetyt tulokset
$ s_1$ $ s_2$ Keskiarvo Varianssi
herne nenä -1.000 0.000
vihainen mielenosoittaja -1.000 0.000
tuntematon sotilas -1.025 0.025
valkoinen talo -0.975 0.083
ottaa onki -1.250 0.188
venäjä presidentti -1.128 0.472
kova tuuli -0.880 0.492
liukas keli -0.788 0.608
oppia lukea -0.606 1.087
heittää veivi -0.500 1.250
aste pakkanen -0.465 1.347
hakea työ -0.433 2.046
olla ula -0.250 2.438
sekä myös 0.252 2.981
ja olla -0.083 3.635

Taulukkoa tarkastellessamme huomaamme, että menetelmä on löytänyt käytännössä kaikki kiinteät kollokaatiot, kuten valkoinen talo. Menetelmä ei pärjää hyvin harvalla aineistolla, esim. vihainen mielenosoittaja ei selvästikään ole kollokaatio, vaikka menetelmä sen toiseksi sijoittaakin.

Tarkasteluikkunan leveys vaikuttaa tietysti alueeseen, josta kollokaatioita etsitään. Jos aluetta kasvatetaan liian suureksi, rupeavat sanat esiintymään yhä useammin myös satunnaisesti yhdessä ja varianssi kasvaa suureksi. Liian pienellä ikkunalla ei pitempivaikutteisia kollokaatioita löydetä. Jos kollokaation toinen sana voi olla sekä referenssisanan edessä että takana, menetelmä tietysti hämääntyy täydellisesti.

3.
$ \chi ^2$-testi perustuu yksinkertaiselle perusoletukselle. Katsotaan annettujen sanojen esiintymistodennäköisyydet ja lasketaan niiden perusteella, kuinka monta kertaa sanojen pitäisi esiintyä yhdessä. Tätä lukua verrataan havaittuun lukuun ja jos nämä pikkeavat suuresti toisistaan, todetaan että sanojen pitää olla kollokaatioita.

Aloitetaan kasaamalla seuraavanlainen taulukon (taulukko 4):

Taulukko: $ \chi ^2$-testissä tarvittavia suureita.
  $ w_1$=valkoinen $ w_1 \ne$ valkoinen
$ w_2=$talo 710 (valkoinen talo) $ 10767-710=10057$ (punainen talo)
$ w_2\ne$talo $ 3665-710=2955$ (valkoinen mopo) $ 28181344-710-10057-2955=28167622$ (punainen mopo)

Nämä arvot voidaan sijoittaa sitten kahden muuttujan $ \chi ^2$-testin kaavaan:
$\displaystyle \chi^2$ $\displaystyle =$ $\displaystyle \frac{N(O_{11}O_{22}-O_{12}O_{21})^2}
{(O_{11}+O_{12})(O_{11}+O_{21})(O_{12}+O_{22})(O_{21}+O_{22})}$  

Luvut sijoittamalla saadaan siis:
$\displaystyle \chi^2$ $\displaystyle =$ $\displaystyle \frac{28181344(710\cdot28167622 -10057\cdot 2955)^2}
{(710+10057)(710+2955)(10056+28167622)(2955+28167622)}$  
  $\displaystyle \approx$ $\displaystyle 358771$  

Jos $ \chi ^2$-testin tulos on yli 3.843, näyte on vedetty alle 5% todennäköisyydellä riippumattomasta jakaumasta. Tässä siis valkoinen talo vaikuttaa kollokaatiolta. Kuitenkin kun katsomme taulukkoa 5, huomaamme että melkein kaikki sanat olisivat sen mukaan kollokaatioita. $ \chi ^2$-testihän ei testaa sitä, ovatko sanat kollokaatioita, vaan sitä että ovatko sanat riippumattomia. Esimerkiksi sanapari ``ja'', ``olla'' on melko korkealla tuloksissa, sillä näiden kahden sanan välillä esiintyy negatiivinen korrelaatio: sanat esiintyvät harvemmin peräkkäin kuin niiden satunnaisuuden mukaan pitäisi. Tätä riippuvuutta ei voida tietysti pitää merkkinä siitä, että sanat olisivat kollokaatioita.



Taulukko: $ \chi ^2$-testin tulokset
$ s_1$ $ s_2$ $ \chi ^2$
liukas keli 591591
valkoinen talo 358771
aste pakkanen 173726
tuntematon sotilas 70409
ja olla 29194
kova tuuli 26644
venäjä presidentti 18147
heittää veivi 4120
herne nenä 2258
vihainen mielenosoittaja 1321
ottaa onki 525
oppia lukea 449
hakea työ 47
sekä myös 45
olla ula 0

Viimeksi pyydettiin vielä laskemaan uskottavuussuhdetestillä järjestys sanoille. Uskottavuussuhdetestissä tarkastellaan kahden eri hypoteesin uskottavuuden suhdetta:

$ H_1$:
sanat esiintyvät satunnaisesti toisistaan riippumatta
$ H_2$:
sanojen esiintyminen riippuu toisistaan

Uskottavuussuhdetestin laskemiseen tarvitaan seuraavia suureita (luvut ovat tehtävän sanoille ``valkoinen'' ja ``talo''):

$\displaystyle c_1$ $\displaystyle =$ $\displaystyle C(s_1) =3665$ (1)
$\displaystyle c_2$ $\displaystyle =$ $\displaystyle C(s_2) =10767$ (2)
$\displaystyle c_{12}$ $\displaystyle =$ $\displaystyle C(s_1,s_2) =710$ (3)
$\displaystyle p$ $\displaystyle =$ $\displaystyle \frac{c_2}{N} = 3.82\cdot 10^{-4}$ (4)
$\displaystyle p_1$ $\displaystyle =$ $\displaystyle \frac{c_{12}}{c_1} =0.194$ (5)
$\displaystyle p_2$ $\displaystyle =$ $\displaystyle \frac{c_2-c_{12}}{N-c_1} = 3.57\cdot 10^{-4}$ (6)

Jos oletetaan sanoille binomijakauma

$\displaystyle b(k,n,x)={n \choose k}x^k(1-x)^{n-k},$    

voidaan uskottavuuksien suhde kirjoittaa (tarkempi johto kirjassa, katso myös sieltä lainattu taulukko 6)

Taulukko: Uskottavuustestin laskennassa käytettäviä suureita.
$ $ $ H_1$ $ H_2$
$ P(w_2\vert w_1) $ $ p=\frac {c_2}N $ $ p_1 = \frac {c_{12}}{c_1} $
$ P(w_2\vert\textrm{ ei } w_1) $ $ p=\frac {c_2}N $ $ p_2=\frac{c_2-c_{12}}{N-c_1}$
$ P(c_{12} \vert c_1)
$ $ b(c_{12},c_1,p) $ $ b(c_{12},c_1,p_1) $
$ P(c_2- c_{12} ~ \vert N-c_1 )
$ $ b(c_2-c_{12},N-c_1,p) $ $ b(c_2-c_{12},N-c_1,p_2)
$


$\displaystyle \log \lambda$ $\displaystyle =$ $\displaystyle \log \frac{L(H_1)}{L(H_2)}$  
  $\displaystyle =$ $\displaystyle \log \frac{b(c_{12},c_1,p)b(c_2-c_{12},N-c_1,p)}
{b(c_{12},c_1,p_1)b(c_2-c_{12},N-c_1,p_2)}$  

Tässähän lasketaan kullekin hypoteesille datan uskottavuus kahdessa osassa. Ensin lasketaan todennäköisyys niille bigrammeille, joissa ensimmäinen sana on ``valkoinen'' (näistä $ c_{12}$ tapauksessa seuraa sana ``talo'') ja sitten todennäköisyys datan bigrammeille, joissa ensimmäinen sana ei ollut ``valkoinen'' (näistä $ c_2-c_{12}$ tapauksessa seuraava sana on ``talo''). Ensimmäisen hypoteesin mukaan kummassakin tapauksessa todennäköisyys $ p$ on sama, sillä sanat ovat riippumattomia. Toisen hypoteesin mukaan todennäkösyydet ovat erilaiset ($ p_1$, $ p_2$). Testissä lasketaan näiden datan todennäköisyyksien suhde.

Sievennellään

$\displaystyle \log \lambda$ $\displaystyle =$ $\displaystyle \log \frac{{c_1 \choose c_{12}}p^{c_{12}}(1-p)^{c_1-c_{12}} \cdot...
...dot
{N-c_1 \choose {c_2-c_{12}}}{p_2}^{c_2-c_{12}}(1-{p_2})^{N-c_1-c_2+c_{12}}}$  
  $\displaystyle =$ $\displaystyle c_{12} (\log p \!\! -\!\! \log p_1)
+ (c_1\!\!-\!\!c_{12}) (\log(...
...! -\!\! \log (1\!\!-\!\!p_1))
+ (c_2\!\!-\!\!c_{12})(\log p \!\!-\!\! \log p_2)$  
    $\displaystyle + (N\!\!-\!\!c_1\!\!-\!\!c_2\!\!+\!\!c_{12})(\log(1\!\!-\!\!p)\!\! -\!\! \log(1\!\!-\!\!p_2))$  

Sijoittamalla yhtälöissä 1-7 annetut arvot käyttäen luonnollisia logaritmeja saadaan tulokseksi -3811.

Kun katsomme uskottavuussuhdetestin tuloksia (taulukko 7), huomaamme että myös tässä testi ei testaa sitä, ovatko sanat kollokaatioita, vaan sitä ovatko ne riippumattomia. Tuloksia voidaan perustella samoin argumentein kuin $ \chi ^2$ testin kohdalla.


Taulukko: Uskottavuussuhdetestin tulokset
$ s_1$ $ s_2$ $ L$
ja olla -21567
valkoinen talo -3811
venäjä presidentti -1696
kova tuuli -1013
aste pakkanen -972
liukas keli -824
tuntematon sotilas -799
oppia lukea -46
vihainen mielenosoittaja -30
heittää veivi -29
ottaa onki -28
sekä myös -26
herne nenä -17
hakea työ -15
olla ula 0

4.
Yhteisinformaatio kertoo, kuinka paljon lisätietoa $ X$:n havaitseminen antaa $ Y$:stä. Jos $ X$ ja $ Y$ ovat riippumattomia, yhteisinformaatio on nolla. Lasketaan käsin malliksi tulos sanaparille ``valkoinen'',''talo''.
$\displaystyle I(x,y)$ $\displaystyle =$ $\displaystyle \log_2\frac{P(X,Y)}{P(X)P(Y)}$  
  $\displaystyle =$ $\displaystyle \log_2\frac{\frac{710}{28181344}}{\frac{3665}{28181344}\frac{10767}{28181344}}$  
  $\displaystyle \approx$ $\displaystyle 9.0$  

Tulokset koko sanajoukolle on esitetty taulukossa 8.


Taulukko: Yhteisinformaation mukaan järjestetyt tulokset
$ s_1$ $ s_2$ MI
liukas keli 12.4
aste pakkanen 10.1
heittää veivi 9.7
herne nenä 9.6
valkoinen talo 9.0
tuntematon sotilas 8.8
vihainen mielenosoittaja 7.6
kova tuuli 6.6
ottaa onki 5.9
venäjä presidentti 4.8
oppia lukea 4.5
hakea työ 1.7
olla ula 0.5
sekä myös -0.8
ja olla -2.5

Tulokset vaikuttavat hyviltä. Hieman kommenttia kirjan kritikkiin, että menetelmä erityisesti suosisi harvinaisia sanoja: Yksi tekijä joka tähän johtaa, on laskussa käytettyjen todennäköisyyksien estimointi - tässä käytetään maksimiuskottavuusestimaattoreita. Paremman tuloksen saa varmasti, jos asettaa sanapareille priorin, että ne ovat riippumattomia ja antaa datan sitten muokata tätä oletusta.

Yhteenvetona koko laskarista voisi sanoa vaikka seuraavaa: Heuristisilla menetelmillä (1. ja 2. tehtävä) voidaan päästä helpohkosti kohtalaisiin tuloksiin. Tehtävissä 3-5 sinänsä perustellut matemaattiset mallit mittaavat sanojen esiintymisen korrelaatiota, ei sitä, ovatko sanat kollokaatioita. Näillä menetelmillä voidaan silti saada hyviä tuloksia. Tilastomatematiikkaa on ehkä vaikeampi hahmottaa (3. tehtävän ensimmäinen osa), sitä käyttäessä on ymmärrettävä testin vaatimat oletukset. Todennäköisyyslaskuissa (3.tehtävän toinen osa, 4. tehtävä) nämä oletukset tuodaan eksplisiittisemmin esille. Todennäköisyyteen perustuvissa laskuissa joutuu myös harkitsemaan, miten tarvittavat todennäköisyydet approksimoidaan. Tässä on käytetty suurimman uskottavuuden estimaatteja (ML), jotka ovat ehkä liian herkkiä satunnaisvaihtelulle, kun näytteitä on suhteessa vähän. Parempana estimaattina voisi käyttää maksimi a posteriori (MAP) -estimaattia, jossa prioriuskomuksena olisi, että sanat eivät ole riippuvia. Tällöin malli väittäisi sanoja riippuviksi vasta kuin riittävä määrä dataa todistaa asian puolesta.



vsiivola@cis.hut.fi