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

Samankaltaiset tiedostot
CLT131: Tekstityökalut 2010, kolmas luento

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

CLT131: Tekstityökalut 2010, neljäs luento

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

CLT131: Tekstityökalut 2010, toinen luento

CLT131: Tekstityökalut 2011, kuudes luento

CLT131: Tekstityökalut 2011, viides luento

CLT131: Tekstityökalut 2011, kahdeksas luento

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

CLT131: Tekstityökalut 2011, toinen luento

CLT131: Tekstityökalut 2011, seitsemäs luento

CLT131: Tekstityökalut 2010, kuudes luento

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

Korpusten käsittely clt131, P Luento 3

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

CLT131: Tekstityökalut 2010, ensimmäinen luento

CLT131: Tekstityökalut 2012, kymmenes luento

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

Korpusten käsittely clt131, P Luento 5

Luento 5. Timo Savola. 28. huhtikuuta 2006

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

Ctl160 Tekstikorpusten tietojenkäsittely p.1/15

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

CLT131 Korpusten käsittely

Komentotulkki. Kysymyksiä

Säännöllisistä lausekkeista

Ctl160 Tekstikorpusten tietojenkäsittely p.1/28

Kieliteknologian ATK-ympäristö Neljäs luento

Korpusten käsittely clt131, P Luento 4

Ctl160 Tekstikorpusten tietojenkäsittely Kolmas luento

Luento 3. Timo Savola. 7. huhtikuuta 2006

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

Aloitus. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 9. lokakuuta 2016 TIETOTEKNIIKAN LAITOS. Aloitus. Meta.

Johdatus Ohjelmointiin

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

Kieliteknologian ATK-ympäristö Kolmas luento

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

Ctl160 Tekstikorpusten tietojenkäsittely

Kieliteknologian ATK-ympäristö Toinen luento

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

Opetustapahtumien hakeminen (Hae - Opetustapahtuma)

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

Opetustapahtumien hakeminen (Hae - Opetustapahtuma)

Säännöllisten kielten sulkeumaominaisuudet

Muodolliset kieliopit

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

Tekstin etsiminen ja korvaaminen

Korpusten käsittely clt131, P Luento 1

Opetustapahtumien hakeminen (Hae - Opetustapahtuma)

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

Java-kielen perusteet

Automaatit. Muodolliset kielet

Harjoitustyön testaus. Juha Taina

SELECT-lauseen perusmuoto

Kieliteknologian ATK-ympäristö Kuudes luento

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

Opettajan pedagogiset opinnot 2017 Ainedidaktiikan opetusjakso syyskuun viikolla 36 (15.8./JS)

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

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

file Opetettavissa omilla säännöillä tiedostossa /etc/magic -k tulosta kaikki useista mahdollisuuksista -L/-h seuraa/älä seuraa symbolisia linkkejä

Tiedostonhallinta. Yleistä

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

Tutoriaaliläsnäoloista

Kon Konepajojen tuotannonohjaus: ILOG CPLEX Studion käyttö

Kontekstittomien kielten jäsentäminen Täydentäviä muistiinpanoja TIEA241 Automaatit ja kieliopit, syksy 2016

4. Lausekielinen ohjelmointi 4.1

Korpusten käsittely clt131, P Luento 6

Apuja ohjelmointiin» Yleisiä virheitä

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 8. maaliskuuta 2012

TIEDONHAKU INTERNETISTÄ

Python-ohjelmointi Harjoitus 2

Ohjelmoinnin perusteet Y Python

1.1 Tekstinprosessointiohjelmien yleinen toimintatapa (1)

CLT131 Korpusten käsittely Viides luento

Sangen lyhyt L A T E X-johdatus

Henkilökohtaisen Wilma-tunnuksen luominen avainkoodin avulla

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 19. syyskuuta 2016

MITÄ JAVASCRIPT ON?...3

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

Perusohje vi-editorin käyttöön

metsän kieli Luonnon aakkoset Adjektiivijahti Vastakohtien etsintä Sanakäärme Sana-arvoitus Narujuoksu Tiedän ja näen

Tiedonhaku Nelli-portaalissa

Kulttuuritaidot Oppilas oppii tuntemaan Ranskaa ja ranskankielisiä alueita ranskankielisille kulttuureille ominaisia tapoja ja kohteliaisuussääntöjä

Ohjelmoinnin perusteet Y Python

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

Kannan vektorit siis virittävät aliavaruuden, ja lisäksi kanta on vapaa. Lauseesta 7.6 saadaan seuraava hyvin käyttökelpoinen tulos:

Kertausta 1. kurssikokeeseen

Täydentäviä muistiinpanoja kontekstittomien kielioppien jäsentämisestä

11.4. Context-free kielet 1 / 17

Automaattinen semanttinen annotointi

Käytettävyysarvion yhteenveto


CLT131 Korpusten käsittely (3op)

S Havaitseminen ja toiminta

ITKP102 Ohjelmointi 1 (6 op)

Maestro Lappeenranta Mannerheiminkatu Lappeenranta. Maestro Helsinki Huopalahdentie Helsinki

Settings-sivun kautta on mahdollista muokata Kirjastokarttapalveluun liittyviä kirjastokohtaisia asetuksia.

Luento 4. Timo Savola. 21. huhtikuuta 2006

Käytettävyysarvion yhteenveto

Vastauksia. Topologia Syksy 2010 Harjoitus 1

Transkriptio:

CLT131: Tekstityökalut 2010, kolmas luento Tommi A Pirinen tommi.pirinen@helsinki.fi Helsingin yliopisto Kieliteknologian oppiaine, Nykykielten laitos 2010-11-19 Laskuharjoitusaikataulut Harjoituksissa havaitut virheet 2. harjoituksista omorfi-tehtävät (2 ja 3) voi palauttaa ensi viikollakin ensi keskiviikkona siis laskareissa vain omorfi- ja hippuasiaa, jotta kaikki saisivat riittävän suoritusympäristön lopputehtävien ja harjoitustyön tekoon seuraavat harjoitukset 3. 4. tarvitsee palauttaa vasta joulukuun 14. nämä harjoitukset ovat siis laajemmat ja sisältävät säännöllisiin lausekkeisiin liittyvän kokonaisuuden itse tehtävät pyritään saamaan verkkoon jo ensi viikolla hipun less ei perusasetuksilla toista värikoodeja, pitää olla less -r tehtävän 3 haussa +? täsmää myös yhdyssanarajan merkintään; haettavan sarjan olisi pitänyt olla joko sarkain+? (useimmille komennoille sarkain = \t) tai käyttää esim. sane-hakua (esim. grepissä valitsin -w)

Yhteenvetoja kitwiki-sivuille? jos haluaa systemaattista referenssiä kurssilla käytyihin komentoihin, ja esim. nyt käytäviin säännöllisten lausekkeiden merkintöihin, nämä kalvostot eivät ole mikään paras aineisto siihen kitwiki-sivuille voisi esim. tehdä yhteenvetoja, lyhyitä taulukoita tai listauksia asioista Tutkimusongelma: Etunimien automatisoitu keruu aineistosta Tehtäväkuvaus: halutaan kerätä etunimiä sanaston laajentamiseksi käyttämällä kirjallisuusaineistoa Lähtökohdat: gutenbergin laaja kirja-aineisto perustekstityökalut ja hakumenetelmät morfologinen analysaattori? Ongelma: mikä määrittää sanan etunimeksi (Named entity recognition) millaisissa yhteyksissä etunimiä käytetään miten saadaan nimistä perusmuoto? Tiedetään, että morfologinen analysaattorimme ei osaa perusmuotoista nimiä, joita ei ole sanastossa juuri niitä mitä etsimme!

Aineisto: Gutenbergin kirjat Säännölliset lausekkeet Ladataan yksi ja selvitetään miltä etunimet näyttävät: Tolstoin Ylösnousemus http://www.gutenberg.org/ebooks/12379 Havaintoja lähtöoletuksia: (Nimet kirjoitetaan isolla alkukirjaimella helpottaa hakemista) sisältää paljon harvinaisempiakin etunimiä (esim. Maslova) nimet esiintyvät samoissa konteksteissa: repliikit: sanoi X tai X sanoi muut ihmissubjektiverbit: X epäili/x kuuli,... paljon muitakin... Säännölliset lausekkeet/ilmaukset (Regular expressions) hyvin ilmaisuvoimainen menetelmä kuvata merkkijonojen sisältöjä: hakuja ja korvauksia säännöllisiä lausekkeita voi käyttää melkein kaikkien tekstiä käsittelevien ohjelmien hakulausekkeina kaikki yleiset ohjelmointikielet sisältävät säännöllisten lausekkeiden tuen matemaattisessa formaalien kielten teoriassa, kuvaa säännöllisiä kieliä kielitietellisessä hierarkiassa oletetaan että vastaava ilmaisuvoima on morfologialla siis: kieliteknologiasovellukset, joilla ohjelmoidaan morfologioita, käyttävät tyypillisesti jonkinlaisia säännöllisiä ilmauksia Menetelmä: säännöllisten lausekkeiden haku ja grep grep -F tai fgrep haki pelkkiä merkkijonoja grep -E tai egrep hakee eräitä säännöllisiä lausekkeita valitsin -colour=auto värittää löytyneet kohdat (ks. myös ensimmäiset kalvot / aineistosivun.bashrc) valitsin -o tulostaa vain täsmätyn kohdan (normaalisti grep tulostaa rivin jolta täsmäys löytyy) valitsimella -C N voi tarkastella N riviä ympäristöstä kokeillaan: fgrep -o jotain Säänöllisten lausekkeiden teoriaa: eri tyypit ja sovellukset Riippuen sovelluksista säännöllisissä lausekkeissa eri asioita kuvataan hieman eri merkinnöillä (=syntakseilla) man-sivu: man 7 regex (melko tekninen) POSIX extended: erikoismerkeillä +?(){} on erikoismerkitys; sovellukset: grep -E tai egrep lessin haku (näppäin / ) sed -r awk POSIX basic: erikoismerkit muodostetaan merkin takavinoviivan \kanssa; sovellukset: grep vimin haku (näppäin / ) sed Muut: Perl: grep -P tai perl Xerox: lexc, twolc, xfst (kieliteknologian kurssit

Työsuunnitelma Alku kuten viimeksikin 1. haetaan kirja gutenbergistä hipulle: wget http://www.gutenberg.org/cache/epub/12379/pg1237 2. (uudelleennimetään järkevämmin (mv pg12379.txt ylosnousemus.txt)) 3. korjataan rivinvaihdot (dos2unix ylosnousemus.txt) 4. hankiudutaan eroon englanninkielisistä osioista (tail -n +28 ylosnousemus.txt head -n -400 > ylosnousemus-siistitty.txt) 5. haetaan nimet... ( egrep) 6. pitää siis formuloida egrepille se mitä sanottiin nimistä aiempana: oikeat verbit, isot alkukirjaimet... yksinkertaiset saneet ja vaihtoehdot haluttiin etsiä (luonnollisen kielen) lausekkeet (phrase) tyyppiä X sanoi: kuten fgrepillä: egrep sanoi lisäksi muita sopivia verbejä sisältävät lausekkeet X epäili, X kuuli säännöllisissä lausekkeissa tai merkitään putkella eli pystyviivalla : egrep sanoi epäili kuuli vielä tulee virheellisiä tuloksia: esim. sanoilla. sananrajaa voisi merkitä \b: egrep \bsanoi\b \bepäili\b \bkuuli\b = egrep \b(sanoi epäili kuuli)\b : sanarajat voi yhdistää ryhmittämällä sanat sulkeilla merkkiluokat haluttiin etsiä aiempiin lausekkeisiin liittyviä nimiä: isolla kirjaimella alkavia sanoja säännöllisissä lausekkeissa mitä tahansa yhtä merkkiä titeystä joukosta voi ilmaista hakasulkeilla: [abcdefghijklmnopqrstuvwxyzåäö] on suomen pienten kirjainten joukko kulmasulkeiden sisällä voi käyttää joitakin nimettyjä joukkoja, jotka myös ilmoitetaan kulmasulkeilla ja lisäksi kaksoispisteillä: [[:lower:]] on sama kuin edellinen kulmasulkeissa voi myös käyttää välejä: [a-ö] on lähes sama kuin edellinen (saattaa sisältää isoja kirjaimia) mutta vain jos asetukset ovat suomen kielellä!: locale kieliasetukset egrep \b(sanoi epäili kuuli)\b

toisto yhteenveto 1 nimestä puuttuu enää ison kirjaimen jälkeinen osa; mielivaltainen määrä pieniä kirjaimia mielivaltainen toisto on säännöllisissä lausekkeissa asteriski eli tähti * : egrep \b(sanoi epäili kuuli)\b [[:upper:]][[:lower:]]* nyt meillä on tarvittavat sanat ja nimet perässä: voidaan sanoa egrep -o niin saadaan melkein listaus nimistä... Loppuun? merkkijonot vastaavat hakulausekkeita, pystyviivalla merkitään tai-tyypin ehto ja kaarisulkeilla ryhmitellään hakasulkeilla määritellään erilaisia joukkoja: luettelemalla [abc...] väleinä [a-z] luokkina [[:lower:]] (nimet esim. man-sivulla) merkkien ja joukkojen jälkeen voi merkitä toistoja: tähdellä a * miten monta vain 0 plussalla a+ ainakin yksi 1 kysymysmerkillä a? ehkä yksi 0 1 kaarisulkeilla raja-arvoin a{1,5} 1 5 Kirjallisuus ja linkit Säännöllisistä lausekkeista on paljon kirjoja: Mastering Regular Expressions (978-0596528126) Regular Expression Pocket Reference (978-0596004156) ja verkkosivuja: http://regular-expressions.info http: //www.dmoz.org/computers/programming/ Languages/Regular_Expressions/