Harjoitukset 3.2.2003

Palauta vastaukset sähköpostitse luennoitsijalle ennen seuraavaa luentoa (klo 9.00, eli vastauksiaan voi vielä hioa 8-9 kertaustunnilla). Vastaus sisältää sekä lopputuloksen että sen saamiseksi tarvitut käskyt.

Suomen kielen yksivartaloisten substantiivien rakenne on kutakuinkin seuraava: vartalo + monikon tunnus (jos on) + sijamuoton tunnus (jos on) + kliitit (jos on). Eli tehtävien 1 ja 3 voisi siis esim. tehdä sulkujen sisään ryhmän sijamuodoista tyyliin (ssa|sta|lla|jne) ja yhdistellä näitä ryhmiä toisiinsa.

  1. Tiedosto pollo.txt sisältää 53 SKTP:n eri sanomalehtiosakorpuksista kerättyä pöllö-alkuista sanetta sana-per-rivi -muodossa. Laadi yksi tai useampi egrep-käsky, jo(t)ka poimii saneista mahdollisimmat monta pöllö-substantiivin eri muotoa ja mahdollisimman vähän muiden sanojen eri sanamuotoja. Yritä saada sekä saanti että tarkkuus (määritelmät seuraavassa tehtävässä) mahdollisimman suureksi. Huomaa kuitenkin, että usein saannin parantaminen huonontaa tarkkuutta ja päinvastoin. Täydellisyyteen ei tarvitse pyrkiä. Halutessasi saat "siivota" syötettä, eli poistaa välimerkit häiritsemästä jne. Lisäksi kannattaa olla tietoinen osuvatko lauseet osajonoon vai koko riviin, eli lauseke pöllöä osuu myös pöllöäiti-saneeseen ellei toisin käsketä...

  2. Laske käsin edellisen tehtäväsi vastauksen saanti ja tarkkuus. Saanti kertoo montako prosenttia kaikista pöllö sanan eri muodoista (33 kpl) päätyi poimimaasi aineistoon. Tarkkuus on pöllö-sanan eri muotojen osuus koko poimastasi aineistostasi. Alkutila on saannin osalta 100 prosenttia (eli 33/33 oikeaa pöllö-sanan eri muotoa) tarkkuuden ollessa 60% (33/55).

  3. Tiedosto varas.txt sisältää 100 SKTP:n eri sanomalehtiosakorpuksista kerättyä sanetta sana-per-rivi -muodossa. Laadi yksi tai useampi egrep-käsky, jo(t)ka poimii saneista mahdollisimmat monta varas-sanan eri muotoa ja mahdollisimman vähän muita saneita. Osa saneista (mm. "varasta") voi olla sekä varas-sanan että jonkun muun sanan muotoja. Tulkitaan tällaiset moniselitteiset sanat varas-sanan sanamuodoiksi, eli ne yritetään saada mukaan.

  4. Leikitään vähän rinnastuskonjuktioiden kanssa. Laadi käsky(t), jo(t)ka vaihtaa rinnastuskonjuktiota and ja or ympäröivien sanojen paikat keskenään. Eli syöte You and I muuttuisi muotoon I and You. Käytä aineistona copyright.txt-tiedostoa. (Jos haluat, voit yrittää lisäksi muokata köskysi sellaiseksi, että se tekee vain kieliopin mukaisia muutoksia.) Käytä runkona kalvon 24 perl-käskyä.
    VIHJE: Järjestä dollarisi uudelleen

  5. Toteuta joku tämän kerran muiden tehtävien ratkaisuistasi shell-skriptinä.

  6. a) Laadi egrep-käsky, joka poimii rivit joilla on korkeintaan kolme sanaa
    b) Laadi egrep-käsky, joka poimii rivit joilla on enemmän kuin kolme sanaa
    Sana tulkitaan taas välilyönnein erotetuksi merkkijonoksi. Ja todettakoon, että soveltamalla pääsee tässä tehtävässä vähemmällä.


nvolk@ling.helsinki.fi
Viimeksi päivitetty: Thursday, 20-Feb-2003 12:30:19 EET