Tiedonhakumenetelmät Helena Ahonen-Myka Kevät 2004, osa 9 Merkkijonohahmon etsintä selaamalla.

Slides:



Advertisements
Samankaltaiset esitykset
Periaatteet ja muutamia käyttöohjeita Yhteystiedot: Paronintie Turenki Ehdoton.
Advertisements

makramee-tekniikalla
Tehtävä 3: PowerPoint Heli Lämsä.
Kysely- tai ilmoittautumislomakkeen luominen Google Driveen
Onpa outoa, miten asiat etenevät…
Tiedonhaku Internetistä PODCASTING Katarina Andersson TU08se
Tämä on SUUNTA-työkalun käyttöön opastava diaesitys
Moodlen ohje opiskelijoille
Sanaston oppiminen Älä ota kesäsanaa!
JavaScript (c) Irja & Reino Aarinen, 2007
Huomio ! Tämä Power Point esitys sisältää Pornograaffista materiaalia LopetusEteenpäin.
Synkroniset tilakoneet
2.8.3 Abstraktit tietotyypit
Preppaus ENA 4.
Johdetun luokan määrittely tMyn1 Johdetun luokan määrittely •Kun johdettu luokka periytetään kantaluokasta, saadaan kantaluokan jäsenet enemmän tai vähemmän.
Rohkaisusanoja naiselta naiselle
Lukemaan oppii vain lukemalla
AS Automaation signaalinkäsittelymenetelmät
Tekstin muotoilu Wordilla:
Tehtävä 3: PowerPoint Harjoitus.
Tehtävä 3: PowerPoint Toni Kääpä.
Tehtävä 3: PowerPoint Ville Julkunen.
Taylor polynomi usean muuttujan funktiolle
Fi.opasnet.org fi.opasnet.org/fi/Ydinvoima Haluamme tietää Sinun mielipiteesi. Äänestikö kansanedustajasi oikein ydinvoimasta? Kansalaisparlamentti ydinvoimasta.
HALLITUKSEN PUHEENJOHTAJA VASTUUALUE 1VASTUUALUE 3 VASTUUALUE 4 VASTUUALUE 2 SIHTEERI MALLISEURA RY / HALLITUS - dynaamisen organisaatiokaavion esittely.
RSA – Julkisen avaimen salakirjoitusmenetelmä Perusteet, algoritmit, hyökkäykset Matti K. Sinisalo, FL.
Syksy 2001Johdatus bioinformatiikkaan / T. Pasanen 1 7. Monirinnastus Geeni perhe: ryhmä läheisiä toisilleen sukua olevia geenejä, jotka koodaavat samankaltaisia.
2. Vuokaaviot.
Ruokatavat Ruokatavat ovat todella tärkeitä järjestyksen ja puhtauden ylläpitämiseksi .
− työkalu toiminnan suunnittelun ja suunnitelman arvioinnin tueksi
Miksi tämä on vaikeaa? Ilman minkäänlaisia rajoitteita ongelmat ei ole vaikeita ratkaista. Siihen löytyy jopa valmis ”kaava”. Valitettavasti jokaisessa.
UMF I Luento 7. Viime kerralta Lue II.5 ja II.6. Lause II.5.1 tapauksessa f(x,y) = (x, sin(y)) ja g(x, y) = (cos(x), y). Voit lähettää epäselvistä kohdista.
Tiedonhakumenetelmät Helena Ahonen-Myka Kevät 2004, osa 7 Ryvästäminen.
@ Leena Lahtinen OHJELMAN OSITTAMINEN LUOKKA ATTRIBUUTIT METODIT.
Kuinka paita ja peppu olettekaan! Pariskuntien välistä leikkimielistä kisailua siitä, kuka tunteekaan kumppaninsa paremmin. Toteutetaan kyselemällä tavalla.
6. Relaatioalgebra ja relaatiokalkyyli
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
5. Lineaarinen optimointi
© Jukka Juslin1 Osio2 Olio-ohjelmointi: Merkkijonot eli Stringit Jukka Juslin.
Rinnakkaisuus Järjestelmässä, jossa voi olla useita prosesseja rinnakkain suorituksessa voi tulla tilanteita, joissa prosessien suoritusta täytyy kontrolloida.
MAILAAMAAN!. Sähköpostiviestin ominaisuudet Perille nopeasti Vastaaminen helppoa Ei tarvitse olla yhtä aikaa viestimässä Ongelmana lyhyt harkinta-aika.
Kontrollirakenteet laajemmin
Tehtävä 3: PowerPoint Ilkka Huttunen. Tämän tulee olla DIA 2. Tämä dia on nyt dia 1. ◦ Siirrä tämä dia siten, että siitä tulee dia 2. ◦ Lisää tähän esitykseen:
Johdetun luokan olion alustus tMyn1 Johdetun luokan olion alustus määrätyillä arvoilla Kun ohjelmassa esiintyy johdetun luokan olion määrittely, järjestelmä.
To start press the space bar. Tietojen päivittäminen PAF kantaan käyttäen Temple Ready ohjelmaa ja IGI CD- levyjä CD-ROM:lla on tiedot vuoteen 2000 saakka,
T Ryhmä ”Tete” Henkilökohtainen SE-harjoitus Marko Nikula (Assesment of Architecture) Arkkitehtuurin arviointi.
S ysteemianalyysin Laboratorio Aalto-yliopiston teknillinen korkeakoulu Ohjaamaton oppiminen– Heikki Vesterinen Optimointiopin seminaari - Syksy 2010 Ohjaamaton.
XSL Teppo Räisänen
DTD rakenne ELEMENT elementtien määrittely ATTLISTattribuuttien määrittely ENTITYentiteettien määrittely NOTATIONnotaatioiden määrittely.
Tehtävä 3: PowerPoint Tomi Ilmonen. Ohjeistus Tämä on tehtävä 3: Power Point Etene tässä olevien ohjeiden mukaan. ◦ Älä ”hypi” eli käy kohta kohdalta.
Tehtävä 3: PowerPoint Jarmo Lautamäki. Tämän tulee olla DIA 2. Tämä dia on nyt dia 1. ◦ Siirrä tämä dia siten, että siitä tulee dia 2. ◦ Lisää tähän esitykseen:
FTR (Formal Technical Review) Kimmo Airamaa. Johdantoa Muodollinen tekninen tarkastus = toiminta tarkastustilaisuudessa on tarkasti määritelty Muodollinen.
Funktio ja funktion kuvaaja
Kuplalajittelu (bubble sort)
Lajittelun sovelluksia Yksilöllisyyden testaaminen Kopioiden poistaminen Mediaani/n:ksi suurimman valinta frekvenssien laskenta/yleisin alkio, l.moodi.
Hajoita ja hallitse (divide and conquer) Pikalajittele n-alkioinen taulukko 1. Divide: Jaetaan taulukko kahdeksi alitaulukoksi tukialkion (pivot) x suhteen:
Kompleksisuus. Algoritmien analyysissä tutkitaan algoritmien käyttämän (tietokone)ajoajan ja muistin määrän riippuvuutta syöttöaineiston koosta (N). Syöttöaineisto.
Kompleksisuus Yleistä.
Merkkijono Sekvenssi merkkejä aakkostosta: - binäärinen {0, 1} -ASCII, UNICODE Sovelluksia: - Tekstinkäsittely - Digitaalinen kirjasto - Laskennallinen.
TANGENTTI Suora, joka sivuaa käyrää.
SAUMALEVY Saumalevyn rakenne vaihtelee sen mukaan, onko se tehty havupuusta vai koivusta. Havupuusta levyt tehdään tasalevyisistä kappaleista, kun taas.
Kesätyöntekijöiden kommentteja Opasnetistä ja ydinvoimatyöstä: ”Kun tulin kesätöihin minulla oli vain jokin suuntaa antava aavistus siitä mitä meinattiin.
Scalan valmiit kokoelmat. Mikä on kokoelma?  Tietorakenne jonka tehtävänä on pitää kirjaa (useista) tietyn tyyppisistä arvoista. Kokoelman sisältämiä.
Missä kaupunki X? Esimerkki PaikkaOpin käytöstä opetuksessa tehtävän idea: luokanopettaja Minna Glogan toteutus: koordinaattori Virpi Hirvensalo.
Missä kaupunki X? Esimerkki PaikkaOpin käytöstä opetuksessa
Monimuuttinimuuttuja-analyyseista
Kontrollirakenteet laajemmin
Esityksen transkriptio:

Tiedonhakumenetelmät Helena Ahonen-Myka Kevät 2004, osa 9 Merkkijonohahmon etsintä selaamalla

Tässä osassa merkkijonohahmon etsintä selaamalla –käyttö: hakusanan etsintä tekstistä, kun dokumenttikokoelma on pieni –menetelmiä suoraviivainen menetelmä tehokkaampia menetelmiä: KMP, BM

Merkkijonohahmon etsintä selaamalla kun dokumenttikokoelmat ovat suuria, on käänteistiedosto yleensä aina paras vaihtoehto hakujärjestelmän toteuttamisessa jos dokumenttikokoelma on pienehkö ja mahtuu keskusmuistiin, voidaan hakusanan etsintä dokumenteista toteuttaa myös vertaamalla hakusanaa suoraan dokumentin tekstiin yleinen käyttötilanne: hakutulosten jälkikäsittely –esim. läheisyysoperaation toteuttaminen: esiintyvätkö hakusanat dokumentissa riittävän lähellä

Merkkijonohahmon etsintä selaamalla hakusanaa etsitään peräkkäishakuna vertaamalla hakusanan merkkejä dokumentin merkkeihin aloittaen dokumentin ensimmäisestä merkistä oletetaan, että dokumentti S on merkkijono –S = s 1 s 2...s n, kukin s i on aakkoston merkki ja etsittävä hahmo P on myös merkkijono –P = p 1 p 2...p m, kukin p j on aakoston merkki m  n

Esimerkki dokumentti S: abracabracadabra hahmo P: abracadabra

Suoraviivainen perusmenetelmä abracabracadabra abracadabra

Suoraviivainen perusmenetelmä pahimmassa tapauksessa hahmo sopii tekstiin joka vertailussa aina viimeiseen merkkiin asti, mutta viimeinen merkki ei täsmää vertailuja tarvitaan n · m kappaletta  O(nm) S = aaaaaaaaaab, P = aab useimmiten tavallisessa tekstissä hahmon epäsopivuus ko. kohtaan todetaan jo muutaman merkin jälkeen

S = aaaaaaaaaab P = aab S = aaaaaaaaaab P = aab … S = aaaaaaaaaab P = aab S = aaaaaaaaaab P = aab +++ (täsmää!)

Tehokkaampia menetelmiä perusmenetelmä siirtää hahmoa aina vain yhdellä merkillä eteenpäin menetelmä ei yritä käyttää hyväksi tietoa hahmon sisältämistä merkeistä tehokkaammat menetelmät analysoivat ensin hahmon ja tunnistavat merkkien toistumisen hahmossa analyysin perusteella voidaan hahmoa usein siirtää eteenpäin useampia merkkejä kerrallaan menetelmiä: KMP (Knuth-Morris-Pratt) ja BM (Boyer-Moore)

KMP (Knuth-Morris-Pratt) S =... s i s i+1 s i+2 s i+3 s i+4 s i+5 | s i+6 s i+7... P = p 1 p 2 p 3 p 4 | p 5 hahmon alkuosa p 1..4 löytyy tekstistä, mutta merkit s i+6 ja p 5 eivät ole samoja hahmon P esiintymä voi alkaa jo tutkitussa katkelmassa s 2..5 vain, jos jokin P:n alkuosa on myös tämän katkelman loppuosa

KMP (Knuth-Morris-Pratt) S =...barba | papa... P = barba | ari P = ba rbaari S =...sey | chellit... P = sey | moyr P = seymoyr

KMP (Knuth-Morris-Pratt) riittää tarkastella vain hahmoa, koska –hahmon alkuosa on täsmännyt tekstikatkelmaan –tekstikatkelman loppuosa on sama kuin hahmon alkuosan loppuosa ennen kohtaa, jossa merkit eroavat hahmon esikäsittely: –etsitään hahmon alimerkkijonot, jotka toistuvat hahmossa –muodostetaan next-taulukko next[j] kertoo, mikä on hahmon osan P 1..j-1 pisin aito alkuosa, joka on myös osan P 1..j-1 loppuosa lisäksi merkit, jotka seuraavat ko. alkuosaa ja loppuosaa, eivät ole samoja

KMP (Knuth-Morris-Pratt) P = a b r a c a d a b r a next = S = abraca | bracadabra P = abraca | d P = a bracadabra

KMP (Knuth-Morris-Pratt hahmon esikäsittely voidaan tehdä O(m) ajassa algoritmi tutkii jokaisen tekstin merkin ja jokaista merkkiä kohti vähintään yhden hahmon merkin  vähintään 2n vertailua  O(m + n) käytännössä KMP ei välttämättä toimi paremmin kuin suoraviivainen menetelmä menetelmä on helposti laajennettavissa tilanteeseen, jossa hahmoja on useita –kaikkien hahmojen esiintymät haetaan samanaikaisesti

BM (Boyer-Moore) hahmon ja tekstin vastaavuutta voidaan tarkastella myös hahmon lopusta alkuun päin –kun KMP-algoritmissa tarkasteltiin kullakin hetkellä hahmon alkuosaa, tarkastellaan BM-algoritmissa hahmon loppuosaa kaksi periaatetta siirtää hahmoa tekstin suhteen –täsmäytysperiaate (match heuristics) –esiintymäperiaate (occurrence heuristics) kumpikin periaate antaa siirtoaskelien lukumäärän suurempi lukumäärä voittaa

BM (Boyer-Moore) täsmäytysperiaate –vastaa KMP-algoritmin next-taulukkoa –talletetaan jokaiselle hahmon loppuosalle tieto siitä, toistuuko loppuosa hahmossa –kun hahmon lopusta alkuun kuljettaessa tulee vastaan kohta, jossa hahmon ja tekstin merkit eivät täsmää, voidaan turvallisesti siirtää hahmon edellinen ko. loppuosan esiintymä tähän tekstikohtaan

BM (Boyer-Moore) esiintymäperiaate –oletetaan, että ”c” on tekstissä esiintyvä merkki, jonka kohdalla hahmon loppuosa ei täsmää tekstiin –jos ”c” esiintyy hahmossa, voidaan hahmoa siirtää niin, että hahmon ”c” tulee tekstin ”c”:n kohdalle –jos ”c” ei esiinny hahmossa, voidaan hahmo siirtää tekstin ”c”:n ohi oikealle puolelle

BM (Boyer-Moore) S = abracababra... P = abracadabra b  d täsmäytysperiaate –”abra” löydetty  hahmoa voidaan siirtää turvallisesti 7 askelta (hahmon 1. ”abra” tekstin käsittelykohtaan) S = abracababra... P = abracadabra

BM (Boyer-Moore) esiintymäperiaate –jos ”b” on osa hahmoa, voidaan hahmon lähin vasemmalla oleva ”b” siirtää tekstin ”b”:n kohdalle  voidaan siirtää 5 askelta S = abracababra... P = abracadabra valitaan suurempi askelmäärä, eli 7 askelta

BM (Boyer-Moore) BM ei välttämättä tutki tekstin jokaista merkkiä keskimääräinen vertailujen määrä O(n log(m) / m), pahin tapaus O(mn) useita muunnelmia –käytetään vain esiintymäperiaatetta –käytetään vain esiintymäperiaatetta, mutta sovelletaan sitä siihen merkkiin, jota verrataan hahmon viimeiseen merkkiin –kuten edellä, mutta sovelletaan merkkiin, joka seuraa hahmon viimeisen merkin kohdalla olevaa merkkiä

Läheisyysoperaatio on haettava useampien sanojen esiintymiä siten, että sanojen tulisi esiintyä toistensa läheisyydessä jos etsitään fraasia kuten ”tietojenkäsittelytieteen laitos”, voidaan etsintä tehdä samoin kuin yksittäisten sanojen etsintä (välilyönti on vain yksi merkki) jos sanojen järjestys ja etäisyys voi vaihdella, kannattaa hakea ensin sanaa, joka esiintyy harvimmin ja/tai on pisin –muiden sanojen esiintymät tarkistetaan ensimmäisen sanan ympäristöstä

Tässä osassa merkkijonohahmon etsintä selaamalla –suoraviivainen menetelmä –KMP-algoritmi –BM-algoritmi