CLT131: Tekstityökalut 2011, kuudes luento

Samankaltaiset tiedostot
CLT131: Tekstityökalut 2011, viides luento

CLT131: Tekstityökalut 2010, neljäs luento

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

CLT131: Tekstityökalut 2011, seitsemäs luento

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

CLT131: Tekstityökalut 2010, kolmas luento

CLT131: Tekstityökalut 2011, toinen luento

Korpusten käsittely clt131, P Luento 5

CLT131: Tekstityökalut 2010, toinen luento

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

CLT131: Tekstityökalut 2012, kymmenes luento

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

CLT131: Tekstityökalut 2010, kuudes luento

CLT131: Tekstityökalut 2010, ensimmäinen luento

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

Luento 5. Timo Savola. 28. huhtikuuta 2006

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

Korpusten käsittely clt131, P Luento 3

CLT131 Korpusten käsittely

Kieliteknologian ATK-ympäristö Neljäs luento

Kieliteknologian ATK-ympäristö Toinen luento

Korpusten käsittely clt131, P Luento 4

Ctl160 Tekstikorpusten tietojenkäsittely p.1/15

Korpusten käsittely clt131, P Luento 1

Toinen harjoitustyö. ASCII-grafiikkaa 2017

WWW-ohjelmoinnin kokonaisuus. WWW-OHJELMOINTI 1 Merkkauskielet. Merkkauskielten idea. Merkkauskielet (markup languages) Merkkauskielten merkitys

Kieliteknologian ATK-ympäristö Kolmas luento

Perusohje vi-editorin käyttöön

Korpusten käsittely clt131, P Luento 6

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

Ctl160 Tekstikorpusten tietojenkäsittely p.1/28

Johdatus Ohjelmointiin

Ctl160 Tekstikorpusten tietojenkäsittely Kolmas luento

Toinen harjoitustyö. ASCII-grafiikkaa

Kieliteknologian ATK-ympäristö Kuudes luento

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

Hannu Valtanen Oy. Linux vi-editori

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

Harjoitus 5 (viikko 41)

Säännöllisten kielten sulkeumaominaisuudet

Joku Muu. Vielä Yksi

tään painetussa ja käsin kirjoitetussa materiaalissa usein pienillä kreikkalaisilla

Säännöllisistä lausekkeista

Tehtävä 3 ja aikakausilehden kansi pastissi 4. runokirjan kansi

5. HelloWorld-ohjelma 5.1

1.1 Tekstinprosessointiohjelmien yleinen toimintatapa (1)

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

CLT131 Korpusten käsittely (3op)

MITÄ JAVASCRIPT ON?...3

MICROSOFT PUBLISHER 2010

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

CLT131 Korpusten käsittely Viides luento

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

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

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

Tehtävä 2: Säännölliset lausekkeet

GeoGebra-harjoituksia malu-opettajille

Harjoitus 6 (viikko 42)

Harjoitus 5 (viikko 48)

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. lokakuuta 2016

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

5. HelloWorld-ohjelma 5.1

Sukelluskeräily, Pelihahmon liikuttaminen. Tee uusi hahmo: Pelihahmo. Nimeä se. Testaa ikuisesti -silmukassa peräkkäisinä testeinä (jos) onko jokin

Luento 3. Timo Savola. 7. huhtikuuta 2006

Sangen lyhyt L A T E X-johdatus

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

Ctl160 Tekstikorpusten tietojenkäsittely

Kirjoita käyttäen propositiosymboleita, konnektiiveja ja sulkeita propositiologiikan lauseiksi:

Matriisit, kertausta. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi

TEKSTINKÄSITTELYTEHTÄVIÄ, OSA 1

LUENTO 8 TAULUKKOLASKENTA II

Taulukkolaskennan perusteet KSAO Liiketalous 1. 5 Rivitunnus ( riviä) 14 Edellisten vierityspainikkeet. 6 Solu 15 Taulukon vierityspalkit

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

Tärkeimmät toiminnot. Kertausta ja uusia toimintoja Wordistä sekä tiedostonhallinnasta. Tärkeimmät toiminnot jatkuu...

TIEA341 Funktio-ohjelmointi 1, kevät 2008

VERKKOVELHO-YLLÄPITOTYÖKALUN KÄYTTÖOHJE

4. Lausekielinen ohjelmointi 4.1

Ei-yhteydettömät kielet [Sipser luku 2.3]

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

Taulukot. Jukka Harju, Jukka Juslin

Tiedostonhallinta. Yleistä

Artikkelin lisääminen

Ctl160 Tekstikorpusten tietojenkäsittely Kolmas luento,

Komentotulkki. Kysymyksiä

uv n, v 1, ja uv i w A kaikilla

SATAKUNNAN AMMATTIKORKEAKOULU. Hakala Toni Varpelaide Heidi TEKSTINKÄSITTELYN OHJEET CASE: OPINNÄYTETYÖN RAPORTOINTI WORDILLA

Kieliteknologian ATK-ympäristö Viides luento

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

Echo360 Luentovideot. Opiskelijan ohje. Digitaalisen oppimisen tiimi 2019

Kieliteknologian ATK-ympäristö Viides luento

Sivuston tiedotgoogle.com

TIEDONHALLINTA - SYKSY Luento 8. Saapumisryhmä: Pasi Ranne /9/13 Helsinki Metropolia University of Applied Sciences

OPPITUNTI 3 Ensimmäinen skripti

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

Matriisit, L20. Laskutoimitukset. Matriisikaavoja. Aiheet. Määritelmiä ja merkintöjä. Laskutoimitukset. Matriisikaavoja. Matriisin transpoosi

Yhdistäminen. Tietolähteen luominen. Word-taulukko. Joukkokirje, osoitetarrat Työvälineohjelmistot 1(5)

Merkitse kertolasku potenssin avulla ja laske sen arvo.

Luento 4. Timo Savola. 21. huhtikuuta 2006

Ei raportteja roskiin

Transkriptio:

CLT131: Tekstityökalut 2011, kuudes luento Tommi A Pirinen tommi.pirinen+clt131@helsinki.fi Helsingin yliopisto Kieliteknologian oppiaine, Nykykielten laitos 7. joulukuuta 2011 tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 6. luento 7. joulukuuta 2011 1 / 14

Asialista 1 Tehtävät 2 Teoriaa 3 Menetelmät ja työkalut tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 6. luento 7. joulukuuta 2011 2 / 14

Yleistä Ei varsinaisesti ongelmia ratkaisuissa; oletetaan että kaikki voivat nyt käyttää omorfia tai muita analysaattoreita tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 6. luento 7. joulukuuta 2011 3 / 14

Asialista 1 Tehtävät 2 Teoriaa 3 Menetelmät ja työkalut tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 6. luento 7. joulukuuta 2011 4 / 14

Säännölliset lausekkeet ja uudelleenkirjoitus tähän mennessä säännöllisillä lausekkeilla on tehty vain hakuja jos mietittäisiin tavutuksen, morfologian jne. toteuttamista näillä tekstityökaluilla, käytännössä uudelleenkirjoitus on se mikä riittää tekemään säännöllisistä kielistä tarpeeksi ilmaisuvoimaisen eli voidaan sanoa A b mille vain lausekkeelle A ja merkkijonolle b: korvataan A:t b:llä Myös lausekkeiden sulutetuille osille, eli voimme käyttää kontekstia: (L)(A)(R) LbR eli jos verrataan syntaksissa käytettävään uudelleenkirjoituseen voidaan esim. ajatella että toteutetaan nuolet yhdeltä tasolta (so. ei tietynlaisia rekursioita) tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 6. luento 7. joulukuuta 2011 5 / 14

Merkkauskielten alkeista Luonnollisten kielten kuvausten toteutuksen lisäksi toinen hyvin yleinen käyttötapa uudelleenkirjoituksille täällä on korpusten uudelleenmuotoilu erilaisista merkkaustavoista Varsinaisesti tekstimerkkauksista lisää varmaan verkkosivukurssilla clt132 Periaate on että kaikenlaiset korostetut tekstit ovat merkkauskielissä esim. *korostetut* (wikit, rst yms. kevyet merkkauskielet) tai <emph>korostetut</emph> (SGML-sukuiset; HTML jne.) Lisäksi on monia muita vastaavanlaisia tekstielementtejä, jotka merkataan samoin tai hankalemmin: linkkejä. otsikoita, asetteluja jne. useimmiten lingvistisesti ne eivät, ainakaan kaikki, ole kiinnostavia, joten käytämme säännöllisiä lausekkeita siistimään ja poimimaan tarpeellisia tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 6. luento 7. joulukuuta 2011 6 / 14

Asialista 1 Tehtävät 2 Teoriaa 3 Menetelmät ja työkalut tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 6. luento 7. joulukuuta 2011 7 / 14

Sedin komentokieli sed (stream editor) on varsin monipuolinen komentokieli, joka käsittelee tekstitiedostoa riveittäin tällä kertaa ja enimmäkseen tällä kurssilla käsitellään sedin komennoista vain yhtä: korvausta sedin man-sivu ei ole kovin kattava, joten joskus joutuu käyttämään esim. info-sivuja tai googlea kuitenkin, komentojen rakenne on aina sed -e komento, ja näitä voi antaa useita mm. hipun sed tuntee -r-valitsimen, jolla sää käyttöön egrep-tyyliset (ERE) lausekkeet grep-tyylin (BRE) sijaan tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 6. luento 7. joulukuuta 2011 8 / 14

Sedin rakennuspalikat 1 korvauskomennon nimi on s (substitute), ja se rakennetaan /:in erotellusta kolmesta palikasta s/hakulauseke/korvaus/asetukset: hakulauseke on samanlainen säännöllinen lauseke kuin egrepillä (tai grepillä) korvaus on merkkijono (ei siis säännöllinen ilmaus) jolla hakuun täsmäävät osat korvataan. Tässäkin on muutamia erikoismerkkejä käytettäväksi asetukset-kohtaan voi lisätä hakuasetuksia, joista kaikki ovat siis kirjaimia. Aseetukset voi olla tyhjä, mutta kolmas / on pakollinen /-merkit voi korjata mielivaltaisella merkillä, tämä on hyödyllistä jos hakulauseke tai korvaus sisältää /:ja. Esimerkkejä: sed -r -e s/a/b/ korvaa kerran a b sed -r -e s/(a B).*// korvaa kaikki A:n tai B:n jälkeen tyhjaällä, siis /emphpoista rivin loppuun saakka sed -r -e s:/home/tapirine/:: erotinmerkin vaihto, jos halutaan korvata /-merkkejä sisältävää dataa tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 6. luento 7. joulukuuta 2011 9 / 14

Sedin rakennuspalikat 2 s-komennon hakulausekkeessa: kaarisulkeet () ryhmittelyn lisäksi tallentavat alilausekkeita muistiin korvaustekstissä: \1 \2... viittaa aina kaarisulkeilla kunkin numeron osoittaman alilausekkeen toistoon vasemalta lukien \0 tai & viittaavat koko haun täsmäykseen ja asetuksissa: g tekee niin monta korvausta kuin voi (ilman sitä korvataan rivin ensimmäinen esiintymä) i yrittää korvata isoja ja pieniä kirjaimia samalla lailla Esimerkkejä: sed -r -e s/(a)(b)/\2\1/g vaihtaa järjestystä sed -r -e s/./& /g lisää välilyönnit merkkien perään tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 6. luento 7. joulukuuta 2011 10 / 14

Sedin käyttötavat: korpusten siistintä sed -r -e s/sh/š/g vanhojen kirjoitusasujen normalisointia sed -r -e s/\[[^][]*\]//g poistetaan esim. kääntäjän, litteroijan tms. annotaatioita hakasulkeissa sed -r -e s/^[[:space:]]*[[:digit:]]+[[:space:]]+// poistetaan frekvenssit, rivinumerot tms. sed -r -e s/.*\[\[ ([^ ])\ ([^]]*)\] \].*/\1 \2/ poimitaan wikipedian merkkauksesta linkit ja selitystekstit erikseen vastaavasti verkosta ladatuilta HTML-sivuilta voi postaa kulmasulkeissa olevat merkkauskoodit (harjoitustehtävä), wikipediasta voi poistaa kulma-, haka-, aalto- yms. sulkeissa ja kaikissa muissa merkinnöissä olevia asioita erikseen (harjoitustyö) jne, tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 6. luento 7. joulukuuta 2011 11 / 14

Sedin käyttötavat: morfologia ja tavutus yksinkertaistettu esimerkki miten sedmäisesti voi taivutusta toteuttaa oletetaan vesi ~veden ~vetenä ~vettä saneistetulle sed -r -e s/si$/de/ -e s/$/n/ ensin muodostetaan heikko vokaalivartalo - sitten lisätään sijapääte sed -r -e s/si$/te/ -e s/$/nä sed -r -e s/si$/t/ -e s/$/tä kun nämä vaiheet erottaa, olisi siis mahdollista tehdä taivutusvartaloilla muutakin tavutuksen toteutukseen tarvitsimme aiemmin tavan tarttua osaan hakulausekkeesta: sed -r -e s/([bcdfghjklmnpqrstvxz]*)([bcdfghjklmnpqrstvwxz]) /\1-\2/g konsonanttiklusterien viimeisen kirjaimen erotus tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 6. luento 7. joulukuuta 2011 12 / 14

Lisätieto: Tarkastellaan HTML- ja Wikipediasivuja esim. http://fi.wikipedia.org/wiki/toiminnot: Satunnainen_sivu Muokkaa/Näytä lähdekoodi, mitä pitää poistaa/korvata, että saadaan enemmän tekstimuotoiseksi esim. wget http://www.ling.helsinki.fi mitä pitäisi poistaa tekstin esiinsaamiseksi tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 6. luento 7. joulukuuta 2011 13 / 14

Lisätieto: Sedin käyttötavat yleistyökaluna sedissä on siis kaikenlaisia komentoja, että opettelemalla sedin hyvin voisi pärjätä pelkästäänkin: tr -d abc = sed -r -e s/[abc]//g tr -s \n = sed -r -e s/ */\n/g cat -n = nl = sed -e = =-komento numeroi rivejä head -n 10 = sed -e 10q 10 riviä ja q-komento jne. lisää esimerkkejä info sed -ohjeissa, monet ovat tosin melko monimutkaisia ohjelmia jo tommi.pirinen+clt131@helsinki.fi (HY) CLT131: 6. luento 7. joulukuuta 2011 14 / 14