Harjoitustyöohje, kevät 2006

T-61.5020 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.2006. Tätä myöhemmin palautetut harjoitustyöt arvostellaan kun ehditään (esimerkiksi myöhemmin toukokuussa palautetut mahdollisesti vasta syyskuussa).

Harjoitustyö palautetaan suoraan kurssin luennoitsijalle sähköpostitse pdf-tiedostona liitteineen.


Harjoitustyöraportti

Työn pohjalta kirjoitetaan harjoitustyöselostus.

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 kummankin osapuolen panos työssä.

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 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. 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: 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;}'


Timo Honkela
Last modified: Tue Feb 7 00:09:02 EET 2006