CLT131: Tekstityökalut 2010, toinen luento

Samankaltaiset tiedostot
Asialista. hippu ja.bashrc. Asialista. Tutkimusongelma: tekstin morfologisen jäsennyksen selvittely

CLT131: Tekstityökalut 2011, toinen luento

CLT131: Tekstityökalut 2011, viides luento

Asialista. CLT131: Tekstityökalut 2010, kolmas luento. Laskuharjoitusaikataulut. Harjoituksissa havaitut virheet. Käytännön asiat/kertaus

CLT131: Tekstityökalut 2010, ensimmäinen luento

CLT131: Tekstityökalut 2010, kolmas luento

CLT131: Tekstityökalut 2011, kahdeksas luento

CLT131: Tekstityökalut 2010, kuudes luento

Asialista. CLT131: Tekstityökalut 2010, kuudes luento. Tuleva ohjelma. Kurssipalaute. Käytännön asiat Tuleva ohjelma Havaitut virheet ja korjaukset

Asialista. CLT131: Tekstityökalut 2011, kahdeksas luento. Merkistöistä ja kalvostoista. Asialista. Tommi A Pirinen

CLT131: Tekstityökalut 2012, kymmenes luento

Asialista. CLT131: Tekstityökalut 2012, kymmenes luento. 2. frekvenssien muunnos todennäköisyyksiksi. 1. taulukkohaut

CLT131: Tekstityökalut 2011, seitsemäs luento

CLT131: Tekstityökalut 2010, neljäs luento

CLT131: Tekstityökalut 2011, kuudes luento

Asialista. CLT131: Tekstityökalut 2010, neljäs luento. Lähiaikataulu. Asialista. Käytännön asiat

Korpusten käsittely clt131, P Luento 1

CLT131 Korpusten käsittely

CLT131 Korpusten käsittely (3op)

Kieliteknologian ATK-ympäristö Viides luento

Kieliteknologian ATK-ympäristö Viides luento

Kieliteknologian ATK-ympäristö Toinen luento

Kieliteknologian ATK-ympäristö Kolmas luento

Korpusten käsittely clt131, P Luento 5

Kieliteknologian ATK-ympäristö Neljäs luento

Ctl160 Tekstikorpusten tietojenkäsittely p.1/24

Johdatus Ohjelmointiin

Toinen harjoitustyö. ASCII-grafiikkaa

Ctl160 Tekstikorpusten tietojenkäsittely

Kieliteknologian ATK-ympäristö Kuudes luento

Ohjelmoinnin perusteet Y Python

Mylly: Uusi tapa ka sitella teksti- ja puheaineistoa helposti ja tehokkaasti. Mietta Lennes ja Jussi Piitulainen FIN-CLARIN, Helsingin yliopisto

Toinen harjoitustyö. ASCII-grafiikkaa 2017

DOORSin Spreadsheet export/import

YHTEYDEN OTTAMINEN CSC:N KONEELLE HIPPU

Korpusten käsittely clt131, P Luento 3

Sisältö. 3 Yleistä 4 Toimittajaportaalin edut 5-10 Rekisteröinti Laskun teko 23 Lasku JIP. 29/05/2015 Anna-Stina Lindblad

5. HelloWorld-ohjelma 5.1

1.1 Tekstinprosessointiohjelmien yleinen toimintatapa (1)

Matriisit ovat matlabin perustietotyyppejä. Yksinkertaisimmillaan voimme esitellä ja tallentaa 1x1 vektorin seuraavasti: >> a = 9.81 a = 9.

C-ohjelmoinnin peruskurssi. Pasi Sarolahti

Ohjelma on tarkoitettu pankkiyhteysohjelmalla vastaanotettujen Finvoiceverkkolaskujen

SUOMEN PANKKIYHDISTYS

Ohjelmoinnin perusteet Y Python

Googlen pilvipalvelut tutuksi / Google Drive

WWW-PALVELUN KÄYTTÖÖNOTTO LOUNEA OY

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

Ohje. Vastaanottajatietojen tuonti Työasema Prinetistä Posti SmartShipiin Julkinen - Public

Pythonin Kertaus. Cse-a1130. Tietotekniikka Sovelluksissa. Versio 0.01b

FrontPage Näkymät

4. Lausekielinen ohjelmointi 4.1

CLT131 Korpusten käsittely Viides luento

Googlen pilvipalvelut tutuksi / Google Drive

Sangen lyhyt L A T E X-johdatus

Subversion-ohje. Linux Traffic Control-käyttöliittymä Ryhmä paketti2

Vesa Ollikainen, päivitys Juha Haataja

Luento 5. Timo Savola. 28. huhtikuuta 2006

4. Lausekielinen ohjelmointi 4.1

AVOIMEN YLIOPISTON MOODLE-OPAS OPISKELIJALLE

Ohjelmoinnin perusteet Y Python

Päivityspalvelu. Tietuekuvaus. Tietuekuvaus 1 (5) Päivityspalvelu. Julkinen - Public

MITÄ JAVASCRIPT ON?...3

AVOIMEN YLIOPISTON MOODLE-OPAS OPISKELIJALLE SISÄLLYS

Suvi Junes Tietohallinto / Opetusteknologiapalvelut 2012

Korpusten käsittely clt131, P Luento 6

Päivitysohje Opus Dental

Kurssien lukulistojen ylläpito Nellissä ja siirto Moodleen

1. ASIAKKAAN OHJEET Varauksen tekeminen Käyttäjätunnuksen luominen Varauksen peruminen... 4

OptimePortal ja OptimeEvent versioiden yhteenveto joulukuu

Tietojen haku tuotannonohjausjärjestelmästä ja lähettäminen Minun Maatilani -ohjelmistolle MMAmmuLinkillä

5. HelloWorld-ohjelma 5.1

Written by Administrator Monday, 05 September :14 - Last Updated Thursday, 23 February :36

Datatähti 2019 alku. task type time limit memory limit. A Kolikot standard 1.00 s 512 MB. B Leimasin standard 1.00 s 512 MB

Kirjoita oma versio funktioista strcpy ja strcat, jotka saavat parametrinaan kaksi merkkiosoitinta.

Basware toimittajaportaali

Ohjelmoinnin perusteet Y Python

Tämän ohjeen avulla pääset alkuun Elisa Toimisto 365 palvelun käyttöönotossa. Lisää ohjeita käyttöösi saat:

Elisa Puheratkaisu Vakio Pääkäyttäjän ohjeet

HTML perusteita (ei julkiseen jakeluun)

Hannu Valtanen Oy. Linux vi-editori

PAROC CALCULUS LASKENTAOHJELMA TIETOKONEELLE ASENNETTAVA VERSIO. Latausohjeet Asennusohjeet

Ohjelmoinnin perusteet Y Python

Tarjouspalvelu.fi. Käyttöohjeet. Osallistu tarjouskilpailuihin tehokkaasti ja turvallisesti. Tarjouspalvelu.fi -toimittajaportaali

Korpusten käsittely clt131, P Luento 4

Sangen lyhyt L A T E X-johdatus

Harjoitus 5. Esimerkki ohjelman toiminnasta: Lausekielinen ohjelmointi I Kesä 2018 Avoin yliopisto 1 / 5

Opintokohteiden muokkaus

Code Camp for Girls. Sanna Nygård. Lokakuussa

NÄIN KÄYTÄT SIGNWIKIÄ

Febdok 6.0 paikallisversion asennus OHJEISTUS

Tiedostojen palauttaminen tehtävien palautuskansioihin Office 365 tilin yhdistäminen iperho verkko-oppimisympäristöön

Valitse aineisto otsikoineen maalaamalla se hiirella ja kopioimalla (Esim. ctrl-c). Vaihtoehtoisesti, Lataa CSV-tiedosto

Ohjelmoinnin perusteet Y Python

LUENTO 7 TAULUKKOLASKENTA I

2 Konekieli, aliohjelmat, keskeytykset

KURRA HOCKEY RY Nettisivujen joukkueen ylläpito-ohje Piia Heiniö, 1/2018. Kurra Hockey Ry 1

LUENTO II O365 JA VERKKO- OPISKELU

Harjoitustyö 3: Verkkosivujen toiminnallisuus (JavaScript)

ASIO-OHJE HENKILÖSTÖLLE.

Transkriptio:

CLT131: Tekstityökalut 2010, toinen luento Tommi A Pirinen tommi.pirinen@helsinki.fi Helsingin yliopisto Kieliteknologian oppiaine, Nykykielten laitos 2010-11-12 päivitetty: 2010-11-14

Asialista Käytännön asioita vielä Ongelman kuvaus Menetelmät ja aineistot Työkalut Viitteitä

Laskuharjoitukset: ke 12 13 / 13 14 valitaan parempi aika huutoäänestyksellä laskareissa käydään siis läpi palautettuja ratkaisuja: korjataan toistuvia virheitä kerrotaan lisätietoja / vastauksia joita kukaan ei ole vastannut selvitetään taustoja ym. lisätietoja käytännön ongelmia ympäristöissä, komennoissa jne. tarpeen mukaan, saa ehdottaa muutakin

Tammikuun ohjelma Aloitetaan tammikuu viikolta 4: kurssin kalenteri on http://www.ling.helsinki.fi/ kit/2010s/clt131/kalenteri.shtml tarkemmin alku tulee tietoon lähempänä, mutta todennäköisesti perjantain luennoilla aloitetaan

hippu ja.bashrc Hipulle luotavassa tiedostossa.bashrc oli viime kalvoissa viivaparista tullut ajatusviiva, verkkosivuilla copypastettava versio oli kuitenkin oikea. Lisäksi module load riviin pitänee lisätä tätä luentoa varten jo: export GREP_OPTIONS=- -colour=auto module load gcc/4.4.4 openfst/1.2 libtool hfst/2.4.1 hfst/3 python/3.1.1-gcc omorfi Lisäksi joillakuilla on hipulla käytössä csh eikä bash, joten ohje ei toimi suoraan. Komennolla chsh voi vaihtaa bashiin, jos tämä ei toimi tai haluaa käyttää csh:ta tms., csh-ohjeita voi kysellä sähköpostitse

Asialista Käytännön asioita vielä Ongelman kuvaus Menetelmät ja aineistot Työkalut Viitteitä

Tutkimusongelma: tekstin morfologisen jäsennyksen selvittely Tehtäväkuvaus: Lähtökohdat: Ongelma:

Tutkimusongelma: tekstin morfologisen jäsennyksen selvittely Tehtäväkuvaus: halutaan selvittää erään tekstin morfologinen jäsennys tulevaa tutkimusta varten Lähtökohdat: Ongelma:

Tutkimusongelma: tekstin morfologisen jäsennyksen selvittely Tehtäväkuvaus: halutaan selvittää erään tekstin morfologinen jäsennys tulevaa tutkimusta varten Lähtökohdat: morfologinen analysaattori, joka osaa analysoida saneita yksi kerrallaan gutenbergistä napattu raakateksti, joka pitää analysoida Ongelma:

Tutkimusongelma: tekstin morfologisen jäsennyksen selvittely Tehtäväkuvaus: halutaan selvittää erään tekstin morfologinen jäsennys tulevaa tutkimusta varten Lähtökohdat: morfologinen analysaattori, joka osaa analysoida saneita yksi kerrallaan gutenbergistä napattu raakateksti, joka pitää analysoida Ongelma: miten jakaa teksti analysaattorin haluamiksi saneiksi (ns. tokenisointi-ongelma) miten tallentaa saneet sellaiseen muotoon, jota analysaattori ymmärtää

Asialista Käytännön asioita vielä Ongelman kuvaus Menetelmät ja aineistot Työkalut Viitteitä

Perinteisen tyhmän morfologisen analysaattorin rakenteesta syötteenä valmiita leksikaalisia yksikköjä tai tokeneja:

Perinteisen tyhmän morfologisen analysaattorin rakenteesta syötteenä valmiita leksikaalisia yksikköjä tai tokeneja: saneita välimerkkejä koodeja ym. ilmauksia idiomeja ym. moniosaisia yksiköitä

Perinteisen tyhmän morfologisen analysaattorin rakenteesta syötteenä valmiita leksikaalisia yksikköjä tai tokeneja: saneita välimerkkejä koodeja ym. ilmauksia idiomeja ym. moniosaisia yksiköitä syötteen pitää olla yksi em. yksikkö per rivi

Perinteisen tyhmän morfologisen analysaattorin rakenteesta syötteenä valmiita leksikaalisia yksikköjä tai tokeneja: saneita välimerkkejä koodeja ym. ilmauksia idiomeja ym. moniosaisia yksiköitä syötteen pitää olla yksi em. yksikkö per rivi moniselitteisistä saneista tulee monta tulkintaa

Esimerkki: omorfi-interactive.sh hipulla kirjaudu hippu.csc.fi

Esimerkki: omorfi-interactive.sh hipulla kirjaudu hippu.csc.fi käynnistä omorfi-interactive.sh jollei toimi: module load omorfi ja module load hfst/2.4.1

Esimerkki: omorfi-interactive.sh hipulla kirjaudu hippu.csc.fi käynnistä omorfi-interactive.sh jollei toimi: module load omorfi ja module load hfst/2.4.1 syötä suomenkielisiä sanoja (esimerkiksi): omorfi-interactive.sh kissa kissa kissansgnom koiralle koiralle koiransgall

Gutenberg-aineistot http://www.gutenberg.org/ tekstitiedostoja vanhoista, tekijänoikeudettomista kaunokirjallisuusteoksista

Gutenberg-aineistot http://www.gutenberg.org/ tekstitiedostoja vanhoista, tekijänoikeudettomista kaunokirjallisuusteoksista sisältävät mm. lisenssitekstejä, joista pitää päästä eroon ennen analysointia

Gutenberg-aineistot http://www.gutenberg.org/ tekstitiedostoja vanhoista, tekijänoikeudettomista kaunokirjallisuusteoksista sisältävät mm. lisenssitekstejä, joista pitää päästä eroon ennen analysointia... ja lisenssitekstit eivät ole vakiomuotoisia saati mittaisia

Gutenberg-aineistot http://www.gutenberg.org/ tekstitiedostoja vanhoista, tekijänoikeudettomista kaunokirjallisuusteoksista sisältävät mm. lisenssitekstejä, joista pitää päästä eroon ennen analysointia... ja lisenssitekstit eivät ole vakiomuotoisia saati mittaisia välimerkit saattavat olla poikkeuksellisiakin, esim. vanhan ortografian mukaisia (toki sisältökin usein)

Gutenberg-aineistot http://www.gutenberg.org/ tekstitiedostoja vanhoista, tekijänoikeudettomista kaunokirjallisuusteoksista sisältävät mm. lisenssitekstejä, joista pitää päästä eroon ennen analysointia... ja lisenssitekstit eivät ole vakiomuotoisia saati mittaisia välimerkit saattavat olla poikkeuksellisiakin, esim. vanhan ortografian mukaisia (toki sisältökin usein) merkistöt ja merkkaus pitää valita oikein (nykyään raakateksti ja UTF-8 Plain Text UTF-8 löytyvät suoraan sivustolta)

Gutenbergistä: Juhani Aho Rautatie Suora linkki: http://www.gutenberg.org/ebooks/10481

Asialista Käytännön asioita vielä Ongelman kuvaus Menetelmät ja aineistot Työkalut Viitteitä

Työsuunnitelma 1. haetaan kirja gutenbergistä hipulle ( wget)

Työsuunnitelma 1. haetaan kirja gutenbergistä hipulle ( wget) 2. jos gutenberg olisi vielä vanhan malliin koodattu, tässä muunettaisiin koodaus, nyt tarvitsee lähinnä korjata rivinvaihdot, jos sitäkään ( recode, dos2unix)

Työsuunnitelma 1. haetaan kirja gutenbergistä hipulle ( wget) 2. jos gutenberg olisi vielä vanhan malliin koodattu, tässä muunettaisiin koodaus, nyt tarvitsee lähinnä korjata rivinvaihdot, jos sitäkään ( recode, dos2unix) 3. hankiudutaan eroon englanninkielisistä osioista ( head-tail riittää aluksi)

Työsuunnitelma 1. haetaan kirja gutenbergistä hipulle ( wget) 2. jos gutenberg olisi vielä vanhan malliin koodattu, tässä muunettaisiin koodaus, nyt tarvitsee lähinnä korjata rivinvaihdot, jos sitäkään ( recode, dos2unix) 3. hankiudutaan eroon englanninkielisistä osioista ( head-tail riittää aluksi) 4. tehdään tekstistä saneita (ja välimerkkejä, ym. otuksia) ( tr)

Työsuunnitelma 1. haetaan kirja gutenbergistä hipulle ( wget) 2. jos gutenberg olisi vielä vanhan malliin koodattu, tässä muunettaisiin koodaus, nyt tarvitsee lähinnä korjata rivinvaihdot, jos sitäkään ( recode, dos2unix) 3. hankiudutaan eroon englanninkielisistä osioista ( head-tail riittää aluksi) 4. tehdään tekstistä saneita (ja välimerkkejä, ym. otuksia) ( tr) 5. analysoidaan lopputulos ( omorfi-interactive.sh)

Työsuunnitelma 1. haetaan kirja gutenbergistä hipulle ( wget) 2. jos gutenberg olisi vielä vanhan malliin koodattu, tässä muunettaisiin koodaus, nyt tarvitsee lähinnä korjata rivinvaihdot, jos sitäkään ( recode, dos2unix) 3. hankiudutaan eroon englanninkielisistä osioista ( head-tail riittää aluksi) 4. tehdään tekstistä saneita (ja välimerkkejä, ym. otuksia) ( tr) 5. analysoidaan lopputulos ( omorfi-interactive.sh) 6. käytetään analyysi hyödyksi ( fgrep)

Verkkosivun haku etäpäätteelle selaimella paikalliselle koneella haku ja siirto (scp:llä tms.) on aina mahdollista eri järjestelmien välillä siirtely voi kuitenkin aiheuttaa vaikeuksia

Verkkosivun haku etäpäätteelle selaimella paikalliselle koneella haku ja siirto (scp:llä tms.) on aina mahdollista eri järjestelmien välillä siirtely voi kuitenkin aiheuttaa vaikeuksia myös etäpäätteillä voi joskus käyttää (graafisiakin) selaimia (lynx, firefox) näiden automatisointi on kuitenkin hankalaa

Verkkosivun haku etäpäätteelle selaimella paikalliselle koneella haku ja siirto (scp:llä tms.) on aina mahdollista eri järjestelmien välillä siirtely voi kuitenkin aiheuttaa vaikeuksia myös etäpäätteillä voi joskus käyttää (graafisiakin) selaimia (lynx, firefox) näiden automatisointi on kuitenkin hankalaa wget on tehokkaimpia verkkohakimia unixeille: wget http://www.gutenberg.org/cache/epub/ 10481/pg10481.txt

Koodausasiat koodauksella tässä tarkoitetaan miten kirjaimet esitetään tietokoneen muistissa: eritoten ääkköset ym. ei alkuperäiseen US-ASCII-aakkostoon sisältyvät merkit, ja rivinvaihdot

Koodausasiat koodauksella tässä tarkoitetaan miten kirjaimet esitetään tietokoneen muistissa: eritoten ääkköset ym. ei alkuperäiseen US-ASCII-aakkostoon sisältyvät merkit, ja rivinvaihdot lähes kaikissa nykysovelluksissa merkistökoodaus on UTF-8, myös gutenbergissä

Koodausasiat koodauksella tässä tarkoitetaan miten kirjaimet esitetään tietokoneen muistissa: eritoten ääkköset ym. ei alkuperäiseen US-ASCII-aakkostoon sisältyvät merkit, ja rivinvaihdot lähes kaikissa nykysovelluksissa merkistökoodaus on UTF-8, myös gutenbergissä recode ja iconv muuntavat koodauksia (jos esim. vanhat gutenbergit ovat ns. latin1:tä): iconv -f latin1 -t utf8 < vanha > konvertoitu recode l1..u8 vanha

Koodausasiat koodauksella tässä tarkoitetaan miten kirjaimet esitetään tietokoneen muistissa: eritoten ääkköset ym. ei alkuperäiseen US-ASCII-aakkostoon sisältyvät merkit, ja rivinvaihdot lähes kaikissa nykysovelluksissa merkistökoodaus on UTF-8, myös gutenbergissä recode ja iconv muuntavat koodauksia (jos esim. vanhat gutenbergit ovat ns. latin1:tä): iconv -f latin1 -t utf8 < vanha > konvertoitu recode l1..u8 vanha gutenbergissä on vielä joitain enimmäkseen harmittomia rivinvaihtoja (jotka näkyvät vimissä ikävästiˆm:inä)

Koodausasiat koodauksella tässä tarkoitetaan miten kirjaimet esitetään tietokoneen muistissa: eritoten ääkköset ym. ei alkuperäiseen US-ASCII-aakkostoon sisältyvät merkit, ja rivinvaihdot lähes kaikissa nykysovelluksissa merkistökoodaus on UTF-8, myös gutenbergissä recode ja iconv muuntavat koodauksia (jos esim. vanhat gutenbergit ovat ns. latin1:tä): iconv -f latin1 -t utf8 < vanha > konvertoitu recode l1..u8 vanha gutenbergissä on vielä joitain enimmäkseen harmittomia rivinvaihtoja (jotka näkyvät vimissä ikävästiˆm:inä) fromdos tai dos2unix muuntavat rivinvaihdot: dos2unix rautatie.txt fromdos rautatie.txt

Vakiomuotoisten tekstiosioiden poisto Lisenssiä Ahon Rautatiessä ovat ensimmäiset 27 ja viimeiset 396 riviä head näyttää ensimmäiset n riviä ja tail viimeiset m riviä tiedostosta

Vakiomuotoisten tekstiosioiden poisto Lisenssiä Ahon Rautatiessä ovat ensimmäiset 27 ja viimeiset 396 riviä head näyttää ensimmäiset n riviä ja tail viimeiset m riviä tiedostosta haluamme tiedoston keskeltä osan joka sisältää viimeiset tiedoston koko x miinus 27 riviä ja tästä ensimmäiset jäljellejäävistä paitsi 396 riviä: tail -n +28 rautatie.txt head -n 4314

Vakiomuotoisten tekstiosioiden poisto Lisenssiä Ahon Rautatiessä ovat ensimmäiset 27 ja viimeiset 396 riviä head näyttää ensimmäiset n riviä ja tail viimeiset m riviä tiedostosta haluamme tiedoston keskeltä osan joka sisältää viimeiset tiedoston koko x miinus 27 riviä ja tästä ensimmäiset jäljellejäävistä paitsi 396 riviä: tail -n +28 rautatie.txt head -n 4314...mutta 4314 on tässä laskettu käsin

Tekstin saneistus ks. myös tämän vuoden CLT130 johdatus atk-järjestelmiin haluttiin jokainen sane omalle rivilleen ja välimerkit omilleen, tai pois

Tekstin saneistus ks. myös tämän vuoden CLT130 johdatus atk-järjestelmiin haluttiin jokainen sane omalle rivilleen ja välimerkit omilleen, tai pois tr on yleistyökalu yksinkertaisiin merkkimuunnoksiin:

Tekstin saneistus ks. myös tämän vuoden CLT130 johdatus atk-järjestelmiin haluttiin jokainen sane omalle rivilleen ja välimerkit omilleen, tai pois tr on yleistyökalu yksinkertaisiin merkkimuunnoksiin: tr -s \n muuntaa välilyönnit rivivaihdoiksi (ts. sijoittaa välilyöntien erottamat saneet omille riveilleen) tr -d.,?!:;- poistaa välimerkit

Lopulta: analysointi saneiden analysointiinhan käytettiin omorfi-interactive.sh:ta

Lopulta: analysointi saneiden analysointiinhan käytettiin omorfi-interactive.sh:ta putkituksen avulla voimme koostaa kaikesta tästäkin vain yhden toiminnon (seuraava kohta on yksi komento ilman rivinvaihtoja): tail -n +28 rautatie.txt head -n 4314 tr -s \n tr -d.,;!?- omorfi-interactive.sh

Lopulta: analysointi saneiden analysointiinhan käytettiin omorfi-interactive.sh:ta putkituksen avulla voimme koostaa kaikesta tästäkin vain yhden toiminnon (seuraava kohta on yksi komento ilman rivinvaihtoja): tail -n +28 rautatie.txt head -n 4314 tr -s \n tr -d.,;!?- omorfi-interactive.sh tiedämme jo, miten haetaan tarkkoja merkkijonoja fgrepillä, katsotaan siis esimerkiksi tekstin mahdollisia abessiiveja lisäämällä vielä yksi putki:... fgrep Abe

Asialista Käytännön asioita vielä Ongelman kuvaus Menetelmät ja aineistot Työkalut Viitteitä

Linkit omorfista lisää ks. http://home.gna.org/omorfi/ tai suomeksi vanhahko graduni http://www.helsinki.fi/%7etapirine/gradu/ http://nlp.stanford.edu/ir-book/html/ htmledition/tokenization-1.html merkistöasioista http://www.unicode.org sisältää mm. Unicode-kirjan verkkoversion suomen kieliopista mm. http://kaino.kotus.fi/visk Ison suomen kieliopin verkkoversio morfologinen analyysi käydään tarkemmin kurssilla clt260