CLT131: Tekstityökalut 2011, toinen luento

Samankaltaiset tiedostot
CLT131: Tekstityökalut 2010, toinen luento

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

CLT131: Tekstityökalut 2011, viides luento

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, kuudes luento

CLT131: Tekstityökalut 2011, 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 2010, kolmas luento. Laskuharjoitusaikataulut. Harjoituksissa havaitut virheet. Käytännön asiat/kertaus

CLT131: Tekstityökalut 2010, kolmas luento

CLT131: Tekstityökalut 2011, kahdeksas luento

CLT131: Tekstityökalut 2010, neljäs luento

CLT131 Korpusten käsittely

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

Kieliteknologian ATK-ympäristö Neljäs luento

CLT131: Tekstityökalut 2010, ensimmäinen luento

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

Kieliteknologian ATK-ympäristö Viides luento

Kieliteknologian ATK-ympäristö Viides luento

Kieliteknologian ATK-ympäristö Kuudes luento

Kieliteknologian ATK-ympäristö Toinen luento

Ctl160 Tekstikorpusten tietojenkäsittely p.1/24

Ctl160 Tekstikorpusten tietojenkäsittely

Korpusten käsittely clt131, P Luento 4

Korpusten käsittely clt131, P Luento 1

Korpusten käsittely clt131, P Luento 3

1.1 Tekstinprosessointiohjelmien yleinen toimintatapa (1)

Luento 4. Timo Savola. 21. huhtikuuta 2006

CLT131 Korpusten käsittely (3op)

Kieliteknologian ATK-ympäristö Kolmas luento

Luento 5. Timo Savola. 28. huhtikuuta 2006

Korpusten käsittely clt131, P Luento 5

[Jnix näyttökoe. o ei ole sallittua käyttää mitään verkkolevyjakoa tai mitään siihen rinnastettavaa järjestelmdä.

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

Hieman linkkejä: lyhyt ohje komentoriviohjelmointiin.

Toinen harjoitustyö. ASCII-grafiikkaa 2017

Perusohje vi-editorin käyttöön

Toinen harjoitustyö. ASCII-grafiikkaa

Ctl160 Tekstikorpusten tietojenkäsittely Kolmas luento

Unix-perusteet. Unix/Linux-käyttöjärjestelmä ja sen ominaisuudet

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

2 Konekieli, aliohjelmat, keskeytykset

IRC ja etäyhteydet IRC JA ETÄYHTEYDET

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti

Ohjelma on tarkoitettu pankkiyhteysohjelmalla vastaanotettujen Finvoiceverkkolaskujen

SUOMEN PANKKIYHDISTYS

Sangen lyhyt L A T E X-johdatus

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

linux: Ympäristömuuttujat

Perusteet. Pasi Sarolahti Aalto University School of Electrical Engineering. C-ohjelmointi Kevät Pasi Sarolahti

5. HelloWorld-ohjelma 5.1

FrontPage Näkymät

Alkuarvot ja tyyppimuunnokset (1/5) Alkuarvot ja tyyppimuunnokset (2/5) Alkuarvot ja tyyppimuunnokset (3/5)

Ctl160 Tekstikorpusten tietojenkäsittely Kolmas luento,

Johdatus Ohjelmointiin

Tapahtumakalenteri & Jäsentietojärjestelmä Ylläpito

Datatähti 2000: alkukilpailun ohjelmointitehtävä

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

Korpusten käsittely clt131, P Luento 6

4. Lausekielinen ohjelmointi 4.1

Vesa Ollikainen, päivitys Juha Haataja

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

Maastotietokannan torrent-jakelun shapefile-tiedostojen purkaminen zip-arkistoista Windows-komentojonoilla

Kotisivuohjeet. Eteläpohjalaiset Kylät ry. Sivupohjien rakenne

Sen jälkeen Microsoft Office ja sen alta löytyy ohjelmat. Ensin käynnistä-valikosta kaikki ohjelmat

Ctl160 Tekstikorpusten tietojenkäsittely p.1/15

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

NÄIN KÄYTÄT SIGNWIKIÄ

Komentotulkki. Kysymyksiä

Opintokohteiden muokkaus

Luento 2 Vertaisarviointien tekeminen ja ryhmätyö Office 365:ssä

Ctl160 Tekstikorpusten tietojenkäsittely p.1/28

Sekalaisia selvennyksiä

Todennäköisyys (englanniksi probability)

Pauliina Munter/Suvi Junes Tampereen yliopisto / Tietohallinto Valitse muokkaustila päälle kurssialueen etusivun oikean yläkulman painikkeesta.

Sisällys. Johdatus Linux/Unixiin: Osa 2. Prosessin tilat. Prosessien hallinta. Prosessien monitorointi

Ubuntu tunkkausta En US / Helsinki asennuksen jälkeen jotta loki5ac toimisi oikein Winen päällä.

NÄIN KÄYTÄT SIGNWIKIÄ

Kurssien lukulistojen ylläpito Nellissä ja siirto Moodleen

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

Harjoitus 5 (viikko 48)

Vedä ja pudota Maamittauslaitoksen JPEG2000-ortoilmakuva GeoTIFF-muotoon

Ohjelmoinnin perusteet Y Python

Sangen lyhyt L A T E X-johdatus

Smart Board lukion lyhyen matematiikan opetuksessa

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset

Sähköisten materiaalien käyttö tableteilla

5. HelloWorld-ohjelma 5.1

Bitnami WordPress - Asenna WordPress koneellesi. Jari Sarja

Pörisevä tietokone. morsetusta äänikortilla ja mikrofonilla

WWW-PALVELUN KÄYTTÖÖNOTTO LOUNEA OY

Ohjelmoinnin perusteet Y Python

IDL - proseduurit. ATK tähtitieteessä. IDL - proseduurit

Sisällys. Johdatus Linuxiin/Unixiin: Osa 4. Arkistointi ja pakkaus. Hakemistojen ja tiedostojen arkistointi ja pakkaus.

ATK tähtitieteessä. Osa 3 - IDL proseduurit ja rakenteet. 18. syyskuuta 2014

MITÄ JAVASCRIPT ON?...3

4. Lausekielinen ohjelmointi 4.1

Automaatit. Muodolliset kielet

Harjoitus 5 (viikko 41)

Transkriptio:

CLT131: Tekstityökalut 2011, toinen luento Tommi A Pirinen tommi.pirinen+clt131@helsinki.fi Helsingin yliopisto Kieliteknologian oppiaine, Nykykielten laitos 9. marraskuuta 2011 tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 2. luento 9. marraskuuta 2011 1 / 19

Asialista 1 Käytännön asioita vielä 2 Tehtävät 3 Teoriaa ja aineistoja 4 Menetelmät ja työkalut tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 2. luento 9. marraskuuta 2011 2 / 19

hippu module, bash, chsh Aloitetaan siitä että kaikki kirjautuvat hipulle ja tarkistetaan vielä että kaikki on kunnossa: vieläkö löytyy module: command not found -ongelmia? echo $0 onko jollakulla jotain muuta kuin bash shellinä (ja haluaa käyttää bashia) locale -ck charmap UTF-8 kaikilla? tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 2. luento 9. marraskuuta 2011 3 / 19

Asialista 1 Käytännön asioita vielä 2 Tehtävät 3 Teoriaa ja aineistoja 4 Menetelmät ja työkalut tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 2. luento 9. marraskuuta 2011 4 / 19

yleistä scriptin käyttö näytti onnistuneen ja oli varsin hyödyllistä tiedostoja saa pakata yms., kannattaa kuitenkin noudattaa nimeämiskäytäntöjä ja aina mainita asiasta viestissä tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 2. luento 9. marraskuuta 2011 5 / 19

1. bashrc GREP_OPTIONS=--colour=auto kahdella peräkkäisellä viivamerkillä ilman sanaväliä, ei siis voi kopioida kalvoista, joissa viivojen välissä on usein ohuke tai sitten viivat ovat langenneet yhteen jos module ei toiminut, pitää ehkä vieläkin kopioida rimpsu verkkosivujen aineistoista http://www.ling.helsinki.fi/ kit/2011s/clt131/materiaalit/index.shtml tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 2. luento 9. marraskuuta 2011 6 / 19

2. esitiedot Esitietojen perusteella seuraavanlainen alustava aikataulu kurssille 1 tr, wc, bash saneistus, frekvenssit, skriptaus 2 grep säännölliset lausekkeet ja haut 3 head, tail lisää skriptauksesta ja vähän siistinnästä 4 omorfi, grep lisää säännöllisiä lausekkeita 5 sed lisää säännöllisiä lausekkeita ja muunnoksia 6 cut, paste datan taulukointia ja poimintaa 7 awk lisää säännöllisiä lausekkeita ja datan käsittelyä tämä aikataulu on vielä karkea luonnos tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 2. luento 9. marraskuuta 2011 7 / 19

7. man, apropos, whatis Tehtävä oli aika suurpiirteisesti muotoiltu olennaista on, että nyt tiedämme, että kaikki osaavat lukea man-sivut apropos on tosiaan man -k yhteys fgrepiin on havaittavissa jos GREP_OPTIONS on asetettu: hakusanat värjätään eli apropos on myös fgrep... fgreppailun kohde on ns. whatis-tietokanta, käytännössä man-sivujen ensimmäisistä riveistä poimittu tiedosto (alkeellinen tekstin yhteenvetomenetelmä, vrt. wikipedia) tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 2. luento 9. marraskuuta 2011 8 / 19

3. 4. sanoista Olennaisia havaintoja: wc:n määritelmä sanoista on sanavälien väliin jäävät merkkisarjat esim. kiinassa ei välttämättä sanavälejä käytetä esim. suomessa ajatusviiva laskettaisiin sanaksi esim. englannissa I m tai ranskassa l heure laskettaisiin yhdeksi sanaksi tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 2. luento 9. marraskuuta 2011 9 / 19

Asialista 1 Käytännön asioita vielä 2 Tehtävät 3 Teoriaa ja aineistoja 4 Menetelmät ja työkalut tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 2. luento 9. marraskuuta 2011 10 / 19

Tekstin jakaminen sanoiksi eli saneistus (tokenisointi) saneistus viittaa termiin sane, so. sanan konkreettinen esiintymä t. sanamuoto, tällä kurssilla sanalla sana usein viitataan samaan suurin osa korpustutkimuksesta koskee sanoja, sanojen välisiä suhteita, niiden esiintymisiä jne. tyypillinen korpustutkimuksen kieliteknologinen toteutus siis alkaa aineiston jakamisesta sanoiksi viimeksi huomasimme, että yksi tapa määritellä sana on sanavälien ympäröimäksi jaksoksi tällä kertaa toteutamme siis tällaisen saneistusmenetelmän tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 2. luento 9. marraskuuta 2011 11 / 19

Esiintymien laskeminen eli frekvenssilistaukset useimmiten, kun käsittelemme sanoja tai mitä ikinä kielenainesta, haluamme tietää tarkasteltavien asioiden välisiä yleisyyksiä yksinkertaisin tapa tarkastella tätä on laskea ne, ja vertailla lukumääriä tällaisia lukumäärälaskelmia kutsutaan usein frekvensseiksi frekvenssejä sinänsä eri aineistojen välillä on hankalaa vertailla; sata esiintymää tuhannen sanan tekstissä on paljon mutta biljardin sanan tekstissä ehkei niinkään yksinkertaisin vertailukelpoisehko tapa arvioida näitä ovat prosenttiosuudet, eli todennäköisyydet: 100 1000 = 10% < 0.00000001% = 100 1000000000000000 tällä kertaa toteutamme todennäköisyyslaskentaa hieman käsin (1) tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 2. luento 9. marraskuuta 2011 12 / 19

Gutenberg-aineistot http://www.gutenberg.org/ tekstitiedostoja vanhoista, tekijänoikeudettomista kaunokirjallisuusteoksista sisältävät mm. lisenssitekstejä välimerkit saattavat olla poikkeuksellisiakin, esim. vanhan ortografian mukaisia mm. suomelle kulmalainausmerkit ovat tavallisia merkistöt ja merkkaus pitää valita oikein (nykyään raakateksti ja UTF-8 Plain Text UTF-8 löytyvät suoraan sivustolta) tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 2. luento 9. marraskuuta 2011 13 / 19

Asialista 1 Käytännön asioita vielä 2 Tehtävät 3 Teoriaa ja aineistoja 4 Menetelmät ja työkalut tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 2. luento 9. marraskuuta 2011 14 / 19

Gutenbergistä: Juhani Aho Rautatie Suora linkki: http://www.gutenberg.org/ebooks/10481 Selaimella paikalliselle koneella haku ja siirto (scp:llä tms.) on aina mahdollista Hipullakin on mahdollista käyttää vaikka firefoxia jos haluaa tämä on yleensä todella hidasta Tekstipohjaiset selaimet kuten links ovat vähän sukkelampia mutta melko hankalia eivätkä toimi kaikilla sivuilla Komentorivipohjainen wget on käytännöllinen tähän ja automatisoituihin hakuihin yleensäkin wget -O rautatie.txt http://www.gutenberg.org/cache/epub/10481/pg10481.t tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 2. luento 9. marraskuuta 2011 15 / 19

Sivujuonne: 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 olivat ns. latin1:tä): iconv -f latin1 -t utf8 < vanha > konvertoitu recode l1..u8 vanha gutenbergissä on vielä joitain enimmäkseen harmittomia DOS-rivinvaihtoja (jotka näkyvät vimissä ja emacsissa ikävästi ˆM:inä) fromdos tai dos2unix muuntavat rivinvaihdot: dos2unix rautatie.txt fromdos rautatie.txt tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 2. luento 9. marraskuuta 2011 16 / 19

Tekstin saneistus haluttiin jokainen sanavälein erotettu sana omalle rivilleen tr on yleistyökalu yksinkertaisiin merkkimuunnoksiin: tr -s \n < rautatie.txt muuntaa välilyönnit rivivaihdoiksi (ts. sijoittaa välilyöntien erottamat saneet omille riveilleen) huomaamme, että sanoihin kuuluvat nyt välimerkit, jota emme tällä kertaa halua tr -d.,?!:;- < rautatie.txt poistaa välimerkit kokonaan tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 2. luento 9. marraskuuta 2011 17 / 19

Sanojen laskenta Kun meillä on jokainen sana rivillään, voimme vaikkapa laskea niiden määtä komennon wc -l avulla ja laskea yleisyyksiä komentojen sort ja uniq avulla Ensin järjestetään aakkosjärjestykseen sortilla Sitten uniq -c laskee toistot Sitten järjestetään numerojärjestykseen sort -nr:llä Muistetaan että ns. putkien avulla voimme tehdä kaiken yhdellä rivillä: sort uniq -c sort -nr tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 2. luento 9. marraskuuta 2011 18 / 19

Kotitehtäviä varten vielä: komennoista skripteiksi tiedämme, että tr -s \n < rautatie.txt saneistaa rautatien tr -d.,;!?- < rautatie.txt poistaa välimerkit siitä tr -s \n < rautatie.txt tr -d.,;!?- tekee molemmat jos sen tallentaa tiedostoon saneista.sh ilman osaa < rautattie.txt./saneista.sh < rautatie.txt tekee saman on yleinen käytäntö aloittaa skriptitiedosto rivillä #!/bin/bash, tarpeellista tämä on vain joillain harvoilla unixeilla tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 2. luento 9. marraskuuta 2011 19 / 19