Korpusten käsittely clt131, P Luento 3

Samankaltaiset tiedostot
CLT131 Korpusten käsittely

Ctl160 Tekstikorpusten tietojenkäsittely Kolmas luento

Ctl160 Tekstikorpusten tietojenkäsittely p.1/28

Korpusten käsittely clt131, P Luento 5

Korpusten käsittely clt131, P Luento 4

Ctl160 Tekstikorpusten tietojenkäsittely

Ctl160 Tekstikorpusten tietojenkäsittely p.1/24

Korpusten käsittely clt131, P Luento 1

CLT131 Korpusten käsittely (3op)

Korpusten käsittely clt131, P Luento 6

Luento 5. Timo Savola. 28. huhtikuuta 2006

Kieliteknologian ATK-ympäristö Neljäs luento

Ctl160 Tekstikorpusten tietojenkäsittely Kolmas luento,

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

Ctl160 Tekstikorpusten tietojenkäsittely p.1/15

1.1 Tekstinprosessointiohjelmien yleinen toimintatapa (1)

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 19. tammikuuta 2012

CLT131: Tekstityökalut 2010, kolmas luento

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011

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

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

CLT131 Korpusten käsittely Viides luento

Luento 4. Timo Savola. 21. huhtikuuta 2006

CLT131: Tekstityökalut 2011, toinen luento

Säännöllisistä lausekkeista

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 29. toukokuuta 2013

CLT131: Tekstityökalut 2011, kuudes luento

Kieliteknologian ATK-ympäristö Viides luento

Kieliteknologian ATK-ympäristö Viides luento

Perusohje vi-editorin käyttöön

CLT131: Tekstityökalut 2010, kuudes luento

CLT131: Tekstityökalut 2010, neljäs luento

Komentotulkki. Kysymyksiä

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015

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

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

CLT131: Tekstityökalut 2011, seitsemäs luento

ITKP102 Ohjelmointi 1 (6 op)

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

Merkkijonon tutkiminen matches-metodilla

Kerta 2. Kerta 2 Kerta 3 Kerta 4 Kerta Toteuta Pythonilla seuraava ohjelma:

Kieliteknologian ATK-ympäristö Kuudes luento

CLT131: Tekstityökalut 2010, toinen luento

Ohjelmoinnin perusteet Y Python

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

Ohjelmoinnin perusteet Y Python

Datatähti 2019 loppu

Talousmatematiikan perusteet, L3 Prosentti, yhtälöt Aiheet

Hieman linkkejä: lyhyt ohje komentoriviohjelmointiin.

Lausekielinen ohjelmointi II Ensimmäinen harjoitustyö

CLT131: Tekstityökalut 2011, viides luento

Tekstin etsiminen ja korvaaminen

Python-ohjelmointi Harjoitus 2

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

Komentotulkki (SHELL) C- "perhe" - csh, alkup. C shell. Komentokieli. kieltä. - tcsh - edellisen laajennettu versio

Ohjelmoinnin perusteet Y Python

Sekalaisia selvennyksiä

Ohjelmointi 1 C#, kevät 2014, 2. uusintatentti NIMI:

Luento 3. Timo Savola. 7. huhtikuuta 2006

11/21/00. Sis llys. Prosessin tilat. Prosessien hallinta. Johdatus Linuxiin/UNIXiin: Osa 3

PERL. TIE Principles of Programming Languages. Ryhmä 4: Joonas Lång & Jasmin Laitamäki

Hannu Mäkiö. kertolasku * jakolasku / potenssiin korotus ^ Syöte Geogebran vastaus

Toisessa kyselyssä alueella on 1 ruudussa A ja 3 ruudussa B, joten suosituin ehdokas on B.

linux: Prosessit kill PID lopettaa prosessin PID, jos siihen on oikeudet Ctrl + c lopettaa aktiivisen prosessin L7: linux

Joko tunnet nämän Oracle10g SQL:n piirteet? Kari Aalto Saariston IT

Luento 2. Timo Savola. 31. maaliskuuta 2006

S: siirtää listan ensimmäisen luvun viimeiseksi V: vaihtaa keskenään listan kaksi ensimmäistä lukua

Säännöllisten kielten sulkeumaominaisuudet

Säännölliset kielet. Sisällys. Säännölliset kielet. Säännölliset operaattorit. Säännölliset kielet

Sangen lyhyt L A T E X-johdatus

Ohjelmoinnin perusteet Y Python

1. Mikä on lukujen 10, 9, 8,..., 9, 10 summa? 2. Mikä on lukujen 10, 9, 8,..., 9, 10 tulo? =?

Kaulaketju. Syöte. Tuloste. Esimerkki 1. Esimerkki 2

Ohjelmoinnin perusteet Y Python

Java-kielen perusteita

Tässä tehtävässä käsittelet metodeja, listoja sekä alkulukuja (englanniksi prime ).

Kieliteknologian ATK-ympäristö Kolmas luento

Ohjelmoinnin peruskurssi Y1

GeoGebra-harjoituksia malu-opettajille

C-kielessä taulukko on joukko peräkkäisiä muistipaikkoja, jotka kaikki pystyvät tallettamaan samaa tyyppiä olevaa tietoa.

Ohjelmoinnin perusteet Y Python

xv ja mpage Sis llys Latex-ladontaohjelma Tekstin ladonta (kertausta) ym. Johdatus Linuxiin/UNIXiin: Osa 3

Harjoitus 10: Mathematica

Ohjelmoinnin jatkokurssi, kurssikoe

ITKP102 Ohjelmointi 1 (6 op)

Syötteen ainoalla rivillä on yksi positiivinen kokonaisluku, joka on alle = Luvussa ei esiinny missään kohtaa numeroa 0.

Ctl160 Tekstikorpusten tietojenkäsittely Viides luento

Aloitus. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 20. toukokuuta 2013 TIETOTEKNIIKAN LAITOS. Aloitus. Meta.

linux: Prosessit kill PID lopettaa prosessin PID, jos siihen on oikeudet Ctrl + c lopettaa aktiivisen prosessin L7: linux

Unix. Markus Norrena

(0 1) 010(0 1) Koska kieli on yksinkertainen, muodostetaan sen tunnistava epädeterministinen q 0 q 1 q 2 q3

ASTERI KIRJANPITO KIELIVERSION OHJE

Kohdissa 2 ja 3 jos lukujen valintaan on useita vaihtoehtoja, valitaan sellaiset luvut, jotka ovat mahdollisimman lähellä listan alkua.

VeRan laboratoriotietojen siirtoformaatti

Valokuvien matematiikkaa

Ohjelmoinnin perusteet Y Python

TEHTÄVÄN NIMI YHDELLE TAI USEAMMALLE RIVILLE FONTTIKOKO 24 Tarvittaessa alaotsikko fonttikoko 20

Johdatus Ohjelmointiin

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

CLT131: Tekstityökalut 2012, kymmenes luento

Transkriptio:

Korpusten käsittely clt131, P2 2006 Luento 3 Nicholas Volk <nvolk@ling.helsinki.fi> 17.11.2006 Humanistinen tiedekunta

Merkkijonon poiminen syötteestä, fgrep Monessa ohjelmassa on etsi/find-toiminto Tätä vastaa Unixin fgrep eli grep -F komento $ fgrep neiti yhdestoista.txt Kylli oli Saaren neiti, Saaren neiti, Saaren kukka. eip' on neiti mennytkänä; itse vasten vastaeli: Edellisellä käskyllä oli 2 osumaa TODO: 2005s tokan kalvon fgrep-optiot ja konkordanssi

Ongelma: fgrep-komennon rajoitteet n merkkiä pitkät merkkijonot Tuntemattoman merkkijonon poiminta: as ADJEKTIIVI as Sanojen taipuminen: käsi-käden-kättä Sanat, joissa on takavokaaleja Sanat, joiden alussa on kaksi konsonanttia Virkkeet, joissa on yli 5 sanaa...

Ratkaisu: egrep eli grep -E egrep sallii säännöllisten lausekkeiden (regular expression, regexp) käytön Tietyillä merkeillä ja merkkiyhdistelmillä on jokin erikoismerkitys Näitä ovat mm. kysymysmerkki '?' ja asteriksi '*' Säännöllisiä lausekkeita ei tule sekoittaa komentotulkin jokerimerkkeihin (wildcards) Komennolla ei voi viitata rivinvaihtomerkkiin \n, sarkainmerkin voi kirjoittaa painamalla CTRL-v TAB

Säännölliset lausekkeet: mikä tahansa merkki Säännöllisessä lausekkeessa piste '.' tarkoittaa yhtä, mitä tahansa merkkiä (vrt. bash-komentotulkin '?') $ tr ' ' '\n' < yhdestoista.txt egrep "i..i" öitsilöissä, impien iloissa, pitkin Kaukomieli, Osajono, johon osuttiin, alleviivattu

Säännölliset lausekkeet: merkkijoukko Merkkijoukko koostuu hakasulkeiden sisään kirjoitetuista merkeistä Vrt. tr-komento ilman hakasulkeita ja komentotulkki Suomen vokaalit: [aeiouyäö] Komplementin saa kirjoittamalla [:n perään ^-merkin Ei-vokaalit: [^aeiouyäö] Jos hakasulku-merkit ovat merkkijoukon osa, niiden eteen pitää (köh-köh) kirjoittaa kenoviiva: [\[\]]

Merkkijoukko ja '-' [0-9] tarkoittaa mitä tahansa numeroa Jos halutaan viitata itse merkkiin, kirjoitetaan se egrepkomennossa merkkijoukon ensimmäiseksi tai viimeiseksi merkikisi: [-foo] [bar-] Perlissä toimii myös tyypillinen kenoviivan laittaminen merkin eteen: [foo\-bar]

Määrän ilmaiseminen: optionaalisuus Yksittäisen merkin, merkkijoukon tai suluilla rajatun alueen voi merkitä valinnaiseksi laittamalla sen perään kysymysmerkin Merkkiin itseensä viitataan kirjoittamalla \? Melkein kielitieteellisiä esimerkkikomentoja: egrep Amerii?kka egrep kaa?kku egrep märj?ät egrep ve[dr]?et

Kleenen plus ja tähti Merkkiä/merkkijoukkoa/suluilla rajattua aluetta seuraava plus-merkki tarkoittaa, että edeltävä asia esiintyy 1:stä äärettömään kertaa Positiiviset kokonaisluvut (1): [0-9]+ Tähti puolestaan tarkoittaa 0:sta äärettömään kertaa Positiiviset kokonaisluvut (2): [1-9][0-9]* Merkkeihin itseensä viitataan kenoviivan avulla: \* ja \+ Aa+rgh?

Universaalikieli Universaalikieli == mikä tahansa merkkijono Vaatii vain 2 merkkiä:.* (Vrt. Komentotulkin *) Osuu myös 0-merkkiseen tyhjään merkkijonoon egrep ei.* eikä

Tarkemman määrän rajaukset Tasan 5 merkkiä:....{5} 5-7 merkkiä:...?.?.{5-7} 5 merkkiä tai enemmäm:...+.{5,}

Säännölliset lausekkeet: osuminen koko riviin Komento egrep... poimii rivit, joillaon vähintään 3 merkkiä Optio -x edellyttää, että osuma on koko rivin mittainen Rivit, joilla on tasan 3 merkkiä: $ tr ' ' '\n' < yhdestoista.txt egrep -x "..." tuo oli yli oli

Viittaukset rivin alkuun ja loppuun Säännöllisissä lausekkeissa lausekkeen aloittava ^- merkki viittaa merkkijonon alkuun Ja vastaavasti $-merkki merkkijonon loppuun Yhdessä ne vastaavat -x optiota (eivät toimi fgrep:ssä) egrep ^[A-Z] egrep ss[aä]$ egrep -x sana egrep ^sana$

fgrep ja egrep: kirjainkoon ignorointi -i optio ei tee eroa isojen ja pienten kirjainten välillä Komennolla uniq on samannimen vastaava optio Komennolla sort vastaava optio on -f $ tr ' ' '\n' < yhdestoista.txt fgrep -x "en" en $ tr ' ' '\n' < yhdestoista.txt fgrep -xi "en" En en

Ympäröivien rivien ottaminen mukaan Optio -Bn ottaa mukaan n osumaa edeltänyttä riviä Optio -An ottaa mukaan n osumaa seuraavaa riviä $ tr -s ' ' '\n' < yhdestoista.txt \ fgrep -B1 -A1 -x tuli vaan tuli vähän -- kaukoa tuli kosijat

Alkeellinen konkordanssi $ tr -s ' ' '\n' < yhdestoista.txt \ fgrep -B2 -A2 -x on tr -s '\n-' ' \n' runo Vika on Ahtia sanoa, Saarelainen, tuo on lieto Lemmin poiallehen: eip' on mennyt Päivälähän poiallehen: eip' on mennyt Kuutolahan poiallehen: eip' on mennyt Tähtelähän Inkereltä: eip' on neiti mennytkänä; pänkerelle; siell' on nälkä, kaiken nälkä." Tuop' on lieto Lemminkäinen, $ Miksi välilyönnit rivien alussa ja kehote samalla rivillä?