Harjoitustyöohje, kevät 2005

T-61.281 Luonnollisen kielen tilastollinen käsittely

Sisältö:


Yleistä ja aikataulu

Harjoitustyö on pienimuotoinen tutkimus jossa on tarkoitus soveltaa yhtä tai useampaa tilastollista menetelmää johonkin kurssilla esitettyyn ongelmatyyppiin, sekä kirjoittaa työstä raportti.

Harjoitustyö suositellaan tehtäväksi ennen tenttiä. Mikäli haluaa saada harjoitustyönsä arvostelluksi kevään aikana, on se palautettava viimeistään 12.5.2005. Tätä myöhemmin palautetut harjoitustyöt arvostellaan kun ehditään (esimerkiksi myöhemmin toukokuussa palautetut mahdollisesti vasta syyskuussa).

Harjoitustyö palautetaan infolabran edessä (T-talon 3.krs) olevaan postilaatikkoon, jossa lukee "T-61.281 harjoitustyö" tai vaihtoehtoisesti suoraan kurssin luennoitsijalle.


Harjoitustyöraportti

Työn pohjalta kirjoitetaan harjoitustyöselostus. Raportista tulee tänne Latex-mallitiedosto jota voi käyttää pohjana.

Raportti aloitetaan otsikkosivulla jossa on kurssin nimi ja koodi, opiskelijan nimi ja opintokirjannumero sekä harjoitustyöaiheen otsikko.

Raportissa kuvataan lyhyesti (1) tutkimusongelma, (2) käytetyt menetelmät, (3) tehdyt kokeet, (4) tulokset ja (5) johtopäätökset sekä (6) lähdeviitteet.

Mikäli käytät jotain muuta kuin annettua aineistoa, kuvaa raportissa myös aineisto sekä liitä mukaan näytteitä siitä.

Ohjelmakoodi laitetaan raportin liitteeksi, ja sitä ei lasketa sivumäärään. Mikäli käytät joitain valmiita ohjelmistoja tai työkaluja esim. tekstin esikäsittelyssä, mainitse myös nämä.

Raportin pituus on 5-10 sivua.


Parityöskentely

Harjoitustyön voi niin halutessaan tehdä parin kanssa yhteistyönä. Mikäli työ tehdään parityönä, työstä kirjoitetaan yhteinen raportti josta käy ilmi parin työnjako.

Lisäksi työ on tehtävä laajennettuna versiona, esim. soveltamalla useampia eri menetelmiä tai useampiin/laajempiin aineistoihin, tai syventämällä työtä muulla tavalla. Raportti saa tällöin olla vastaavasti hiukan pidempi (8-13 sivua).

Parityö on erityisen suositeltava mikäli haluaa perehtyä johonkin aiheeseen syvällisemmin, mutta työmäärä kasvaisi muuten liian suureksi. Parityö on suositeltavaa myös jos parin osapuolet tuovat mukanaan eri tyyppistä toisiaan täydentävää osaamista, esim. kielitieteellinen vs. menetelmällinen, mikä mahdollistaa molemminpuolisen parilta oppimisen.


Työn arvostelu ja vaikutus kurssiarvosanaan

Harjoitustyöt arvostellaan arvosanoilla 5, 3, 1 ja hylätty. Näistä 5 tarkoittaa erinomaista työtä ja 1 tyydyttävää.

Harjoitustyön arvosana 1 voi vaikuttaa kurssiarvosanaan alentavasti ja 5 vastaavasti nostavasti silloin kun tentissä saatu pistemäärä on 1-2 pisteen päässä arvosanarajasta (poikkeuksena tentin arvosana 5 jota ei voi nostaa).


Aiheet

1. Tyylianalyysi

Tehtävänä on kehittää järjestelmä, jolle annetaan opetusaineistona joko a) kahden (tai useamman) eri kirjoittajan tekstejä tai b) kahden (tai useamman) eri tyylilajin tekstejä. Opetusvaiheen jälkeen järjestelmää testataan opetusaineistoon kuulumattomilla teksteillä tarkoituksena tarkistaa, kuinka hyvin järjestelmä luokittelee testiaineiston. Tyylianalyysin perustana olevia statistiikkoja voivat esimerkiksi olla:

2. Kysymys-vastaus -järjestelmä

Tehtävänä on kehittää järjestelmä, joka antaa vastauksia informaatiotekniikan alueelta englanniksi esitettyihin kysymyksiin. Erityisaiheina ovat Kohosen itseorganisoiva kartta (Self-Organizing Map, SOM) ja riippumattomien komponenttien analyysi (Independent Component Analysis, ICA).

Vastauksensa kysymykseen järjestelmä hakee joukosta dokumentteja se, joka käytetyn menetelmän mielessä täsmää tarkimmin annettuun hakulauseeseen. Tällainen hakulause voisi esimerkiksi olla "How to choose the neighborhood function when using the self-organizing map?". Tehtävänäsi on valita sopiva menetelmä tähän tehtävään ja kerätä joukko kysymyslauseita testejä varten.

Aineistona on joukko osoitteesta http://www.cis.hut.fi/ kerättyjä dokumentteja jossakin määrin esikäsiteltyinä (ks. ohje).

Mukana on seuraavanlaisia dokumentteja:

Kunkin osuuden kirjoittajien oikeudet säilyvät muuttumattomina.

Aineiston saa käyttöön seuraavilla unix-komennoilla:

gunzip hut_nnrc_collection03.tar.gz
tar xvf hut_nnrc_collection03.tar

Huomaa, että kokoelma purkautuu samaan hakemistoon kuin missä tar-komento annetaan. Aineistossa on 370 dokumenttia, jotka on koodattu xml-tyyliin seuraavasti:

     <document>
     <source> ... mistä dokumentti on saatu ... </source>
     <author> ... kirjoittaja(t) ... </author>
     <text>
     ... leipäteksti ...
     </text>
     </document>

Joissakin tiedostoissa on author-kenttä on ennen source-kenttää. WSOM-kokoelmassa author-tagit ovat eri rivillä kuin itse kirjoittajien tiedot.

3. Probabilistinen jäsennys

Harjoitustyönä on tehdä laite, joka osaa annetusta tekstistä arvioida kunkin sanan sanaluokan. Aineistona on verkosta vapaasti saatava Susanne-tietokanta, johon on valmiiksi merkitty sanaluokat. Tämä aineisto tulee jakaa opetus- ja testiaineistoksi. Opetusaineistoa saa käyttää luokittimen opetukseen ja testiaineistoa käytetään tunnistimen suorituskyvyn arvioimiseen. Jos löytää jonkun muun riittävän kattavan opetusaineiston, sitäkin voi käyttää. Tästä kannattaa kuitenkin keskustella luennoitsijan tai assarin kanssa.

Susanne-aineistossa sanaluokat on määritetty hyvin tarkasti. Tehtävän kannalta voi olla syytä ryhmitellä sanaluokat hieman karkeampiin luokkiin, esimerkiksi yhdistämällä kaikki erisnimet yhdeksi luokaksi ja muut substanttiivit toiseksi jne. Se miten tarkalleen ottaen tämän yhdistelyn tekee on tehtävän tekijän itse ratkaistavissa.

Tämä tehtävä vaatinee hieman koodaustaitoa, ainakin jos aikoo toteuttaa kätkettyihin Markov-malleihin perustuvan luokittimen. Susanne-aineisto on saatavilla osoitteesta http://www.grsampson.net/

Poiminta aineistosta:

A01:0010.03     -       YB              -       [Oh.Oh]
A01:0010.06     -       AT      The     the     [O[S[Nns:s.
A01:0010.09     -       NP1s    Fulton  Fulton  [Nns.
A01:0010.12     -       NNL1cb  County  county  .Nns]
A01:0010.15     -       JJ      Grand   grand   .
A01:0010.18     -       NN1c    Jury    jury    .Nns:s]
A01:0010.21     -       VVDv    said    say     [Vd.Vd]
A01:0010.24     -       NPD1    Friday  Friday  [Nns:t.Nns:t]
A01:0010.27     -       AT1     an      an      [Fn:o[Ns:s.
A01:0010.30     -       NN1n    investigation   investigation   .
A01:0020.03     -       IO      of      of      [Po.
A01:0020.06     -       NP1t    Atlanta Atlanta [Ns[G[Nns.Nns]
...

4. Sanojen merkitysten yksikäsitteistäminen

Sovella kahta eri menetelmää sananmerkitysten yksikäsitteistämiseen. Toisen menetelmistä on oltava ohjaamaton ja toisen ohjattu. Sovella valitsemiasi menetelmiä joko suomen- tai englanninkieliseen aineistoon. (Vaihtoehtoisesti voit valita vain yhden menetelmän ja soveltaa sitä kummankinkieliseen aineistoon, sekä pohtia menetelmän soveltuvuutta näille kielille.)

Raportoi disambiguointituloksesi käyttäen luokittelutarkkuutta, eli kuinka suuri osuus menetelmän antamista merkityksistä oli oikeita. Vertailun vuoksi kannattaa laskea luokittelutarkkuus myös menetelmälle joka laittaisi merkitykseksi aina opetusaineistossa olleen yleisimmän merkityksen.

Pohdi raporttisi johtopäätösosiossa soveltamiesi menetelmien hyviä ja huonoja puolia.

Englanninkielinen aineisto: Senseval

Poimi Senseval-aineistosta vähintään kaksi eri sanaa disambiguoitaviksi sanoiksi. Raportoi tulokset Senseval-testiaineistolla samojen sanojen osalta. Voit myös verrata tuloksiasi Senseval-kilpailussa eri menetelmillä saatuihin tuloksiin.

Huom: sanakirja-aineistoa tarvitaan vain jos haluaa soveltaa sanakirjapohjaista menetelmää.

Suomenkielinen aineisto 1: CSC:llä oleva pieni korpus

Antti Arppe <aarppe@ling.helsinki.fi> on ystävällisesti luvanut kurssilaisten käyttöön pienen korpuksen sense-taggaamaansa suomenkielistä aineistoa kahden eri sanan osalta. Aineisto on käytettävissä CSC:n koneilla, jonne kurssilaiset saavat anomuksesta tunnuksen. Huom: aineistoa ei saa siirtää pois CSC:n koneilta.

Tarkemmat tiedot aineistosta ja sen käytöstä ilmestyvät tänne myöhemmin (tai niitä voi kysellä Antilta).

Suomenkielinen aineisto 2: STT

Suomenkielisellä aineistolla voi ratkaista myös keinotekoista disambiguointiongelmaa, eli korvata vaikkapa kahden sanan (esim. 'banaani' ja 'ovi') esiintymät pseudosanalla jota ei tekstissä oikeasti esiinny ('banaaniovi'), ja tämän jälkeen disambiguoida pseudosanat. Huom: kannattaa valita sanat samasta sanaluokasta.

Tuota vähintään 2 pseudosanaa (ts. sanaparia tai useamman sanan yhdistelmää) joihin sovellat menetelmää. Raportoi tulokset STT-aineistosta erotetulla erillisellä testiaineistolla.

Aineiston kuvaus, STT-aineisto siivottuna ja vielä perusmuotoistettuna.


5. Tiedonhaku

Data

CACM-aineisto ja aineiston sisällön kuvaus

Huomaa että aineiston mukana on tieto siitä mitkä dokumentit ovat relevantteja millekin haulle.

Menetelmät

Sovella tiedonhakuun kahta eri menetelmää, joista ainakin toisen on oltava jokin seuraavista: Ohjeita työn tekoon: Pohdi saamiesi tulostesi pohjalta eri menetelmien hyviä ja huonoja puolia.


6. Oma aihe

Harjoitustyön voi tehdä myös omasta aiheesta. Aihe pitää hyväksyttää etukäteen kurssin luennoitsijalla toimimalla seuraavasti:

Toimita kurssin luennoitsijalle noin puolen A4:n mittainen kuvaus ehdottamastasi aiheesta, nimeten tutkimusongelman, aineiston joka on käytettävissäsi, ja menetelmät joita ajattelit soveltaa. Keskustele aiheen sopivuudesta tarvittaessa luennoijan kanssa.

Mikäli toimitat aihe-ehdotuksen ennen 1.4. saat noin viikon kuluessa palautteen sekä tiedon onko aihe hyväksytty. Muina aikoina asiasta on sovittava erikseen luennoijan kanssa.


Käytännön vinkkejä mm. esikäsittelyyn

Korpusten analyysiä sekä työkaluja käsitellään kirjan luvussa 3, jonka lukeminen on suositeltavaa. Alla on joitain tarkempia vinkkejä.

Perl, kovin lyhyt oppimäärä

Unixin työkalut

Aineisto on tiedostossa MunData.txt.gz

Tietyn kentän (tässä 3. vasemmalta lukien) valitseminen kultakin riviltä kun kenttäerotin on whitespace, ja tuloksen kompressointi ja ohjaus tiedostoon res.txt.gz

  gzcat MunData.txt.gz | awk '{ print $3 }' | gzip -c > res.txt.gz

Tietyn kentän (tässä 3. vasemmalta lukien) valitseminen kultakin riviltä kun kenttäerotin on kaksoispiste:

  gzcat MunData.txt.gz | awk -F':' '{ print $3 }'

Kirjainten A-Z korvaaminen vastaavalla pienellä kirjaimella:

  gzcat MunData.txt.gz | tr  "[A-Z]" "[a-z]" 

Poimitaan rivit jotka sisältävät kirjainjonon 'tärkeä':

  gzcat MunData.txt.gz | grep 'tärkeä'

Poistetaan rivit joilla on kirjainjono 'foobar':

  gzcat MunData.txt.gz | grep -v 'foobar'
Korvataan kaikki kirjainjonon 'banaani' esiintymät jonolla 'banaaniovi':
  gzcat MunData.txt.gz | perl -e 'while(<>) { s/banaani/banaaniovi/; print;}'


Krista Lagus
Last modified: Thu May 12 11:28:28 EEST 2005