Tiedonhakumenetelmät Tiedonhakumenetelmät, Helsingin yliopisto, tktk, k2014. H.Laine 1. Tiedonhaku Boolen haku Indeksit. Tiedonhaku?

Samankaltaiset tiedostot
Tiedonhakumenetelmät Tiedonhakumenetelmät Helsingin yliopisto / TKTL. H.Laine 1. Rankkaukseen perustuva tiedonhaku.

Tiedonhakumenetelmät Tiedonhakumenetelmät Helsingin yliopisto, tktl, k2014. H.Laine 1

Ohjelmoinnin peruskurssi Y1

Algoritmit 2. Luento 7 Ti Timo Männikkö

Ohjelmoinnin perusteet Y Python

Ovid Medline käyttöohjeita (10/2010)

TKHJ:ssä on yleensä komento create index, jolla taululle voidaan luoda hakemisto

1. Johdanto. Näkökulma dokumentti kohteena on yksinkertaistettu: - www-sivu tai -sivujoukko - monimutkainen tiedontarve

Vinkkejä musiikin tiedonhakuun OUTI-verkkokirjastossa

Algoritmit 2. Luento 3 Ti Timo Männikkö

Lumme-verkkokirjaston tiedonhaun opas Pieksämäen kaupunginkirjasto

Ohjelmoinnin perusteet Y Python

Kuva 7.2 vastaustaulu harjoitukseen 7.2

Algoritmit 1. Luento 11 Ti Timo Männikkö

INTERNET KYSELYN TOTEUTUS

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin perusteet Y Python

Algoritmit 2. Luento 3 Ti Timo Männikkö

Tiedonhaku korkeakouluopinnoissa

TIEDONHAKU INTERNETISTÄ

Algoritmit 1. Luento 9 Ti Timo Männikkö

Algoritmit 1. Luento 8 Ke Timo Männikkö

Algoritmit 1. Luento 1 Ti Timo Männikkö

oheishakemistoja voi tiedostoon liittyä useita eri perustein muodostettuja

Tietokanta löytyy kirjaston sähköisistä aineistoista ja NELLI-portaalin kautta.

Hajautusrakenteet. R&G Chapter Tietokannan hallinta, kevät 2006, Jan 1

Algoritmit 2. Luento 4 To Timo Männikkö

Web of ScienceTM Core Collection (1987-present)

CINAHL(EBSCO) käyttöohjeita (10/2010)

Hajautusrakenteet. Hajautukseen perustuvat tiedostorakenteet. Hajautukseen perustuvat tiedostorakenteet. Hajautukseen perustuvat tiedostorakenteet

2. Haet työntekijöiden tiedot etunimen mukaan nousevasti järjestettyinä. (ORDER BY) SELECT * FROM employees ORDER BY firstname ASC;

Cantorin joukon suoristuvuus tasossa

Taulukot. Jukka Harju, Jukka Juslin

Ohjelmoinnin perusteet Y Python

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

Käsiteanalyysi prosessina ja tarveanalyysi

KÄSITEANALYYSI PROSESSINA JA TARVEANALYYSI

Etsi aineistoa, uusi lainoja, tee varauksia. Onnistuneita hetkiä Juolukan parissa!

CIRI Ontologiaperustainen tiedonhakuliittymä

Algoritmit 1. Luento 4 Ke Timo Männikkö

Algoritmit 1. Luento 2 Ke Timo Männikkö

Luento 2: Tiedostot ja tiedon varastointi

Ohjelmoinnin perusteet Y Python

Ohjelmoinnin peruskurssi Y1

PIKAOHJE Web of Science tietokantojen käyttöön

Finna ja ontologiat tms.

Algoritmit 2. Luento 4 Ke Timo Männikkö

Ohjelmoinnin perusteet Y Python

Metropolia ammattikorkeakoulu TU00BS : ICT-teknologiaosaaminen Tuntitehtävät 7 Pasi Ranne

Lukkarikone Pikaohjeet v. 1.0

Ohjelmoinnin perusteet Y Python

Tieto- ja tallennusrakenteet

Algoritmit 1. Luento 5 Ti Timo Männikkö

Etsintä verkosta (Searching from the Web) T Datasta tietoon Heikki Mannila, Jouni Seppänen

8 KANNAT JA ORTOGONAALISUUS. 8.1 Lineaarinen riippumattomuus. Vaasan yliopiston julkaisuja 151

TIETOKANTOJEN PERUSTEET MARKKU SUNI

Helsingin yliopisto/tktl Kyselykielet, s 2006 Optimointi Harri Laine 1. Kyselyn optimointi. Kyselyn optimointi

SELECT-lauseen perusmuoto

PubMed lääketieteellinen kokoteksti- ja viitetietokanta

ITKP102 Ohjelmointi 1 (6 op)

815338A Ohjelmointikielten periaatteet Harjoitus 6 Vastaukset

Tietokanta (database)

Hankintaesityksen tekeminen EBSCOhost Collection Managerissa

Datatähti 2019 loppu

Algoritmit 1. Luento 3 Ti Timo Männikkö

Jukka Larja, Kim Nylund. 15. maaliskuuta 2005

Esimerkkejä vaativuusluokista

Kysy kirjastonhoitajalta. Linkkikirjasto. Tiedonhaun portti. Frank-monihaku. kirjastot.fi>

Määritelmä Olkoon T i L (V i, W i ), 1 i m. Yksikäsitteisen lineaarikuvauksen h L (V 1 V 2 V m, W 1 W 2 W m )

Kääreluokat (oppikirjan luku 9.4) (Wrapper-classes)

Ohjelmoinnin peruskurssien laaja oppimäärä

Tiedonhakumenetelmät Tiedonhakumenetelmät Helsingin yliopisto/ TKTL, k H.Laine 1. Webbihaut Hakukone. Webbihaku. Hakukoneiden käyttö

Ohjelmoinnin perusteet Y Python

Seuraavassa taulukossa on annettu mittojen määritelmät ja sijoitettu luvut. = 40% = 67% 6 = 0.06% = 99.92% 6+2 = 0.

1. (a) Seuraava algoritmi tutkii, onko jokin luku taulukossa monta kertaa:

Terveysportti: Lääkärin tietokannat WWW-muodossa

Sisällys. 3. Muuttujat ja operaatiot. Muuttujat ja operaatiot. Muuttujat. Operaatiot. Imperatiivinen laskenta. Muuttujat. Esimerkkejä: Operaattorit.

3. Muuttujat ja operaatiot 3.1

Monihaku ja sähköiset aineistot tutuksi. Jyväskylän kaupunginkirjaston tiedonhaun koulutus

YKSA(2) ( Käyttäjän ohje

Yleistä. Nyt käsitellään vain taulukko (array), joka on saman tyyppisten muuttujien eli alkioiden (element) kokoelma.

T Syksy 2004 Logiikka tietotekniikassa: perusteet Laskuharjoitus 7 (opetusmoniste, kappaleet )

Tiedonhaku ja varaaminen

Verkkokirjaston hakuohjeet

811120P Diskreetit rakenteet

Johdatus verkkoteoriaan 4. luento

REKISTERÖINTIKATSASTUKSEN ALOITTAMINEN, RAJOITUSTIEDOT, KATSASTUKSEN PÄÄTTÄMINEN JA JATKAMINEN

Hohde Consulting 2004

Kirjastoverkkopäivät 2017 Erkki Tolonen

Tietorakenteet ja algoritmit - syksy

Sisällysluettelo 1 Johdanto Root, koko Opalan pääkäyttäjä

Tiedonhaku. Esim. kymenlaakso muutosjohtami* Laila Hirvisaari Tuntematon sotilas Ruksi tyhjentää hakukentän.

Suomi.fi-verkkopalvelu

ARTIKKELITIETOKANNAT JA OMANELLI PIRJO POHJOLAINEN

Ohjelmoinnin peruskurssi Y1

1 Aritmeettiset ja geometriset jonot

Ohjelmoinnin perusteet Y Python

13. Loogiset operaatiot 13.1

Tietorakenteet ja algoritmit Johdanto Lauri Malmi / Ari Korhonen

PubMed-opas. kesäkuu 2012

Transkriptio:

Tiedonhaku? Tiedonhakumenetelmät Tiedonhaku Boolen haku Indeksit Tiedonhaku (information retrieval, IR) Tietotarpeen tyydyttävän pääasiallisesti jäsentämättömän (tyypillisesti tekstimuotoisen) materiaalin hakemista laajasta (yleensä tietokoneille tallennetusta) aineistosta. Esimerkkejä Webbihaut Sähköpostihaut Omat aineistot työasemalla Ohjeistot, käsikirjat Kirjastot Arkistot Lait ja säädökset, 1 2 Tiedonhaku? Tiedonhaku Tietotarve Dokumentit Aineisto Kysely Osumatesti Kuvailut Kyselyn tarkennus Hakutulos Tietotarpeet (information needs): Tietoa aiheesta, tietty dokumentti, jokin fakta, Dokumentit rakenteeltaan Rakenteisia, puolirakenteisia, vapaamuotoisia Hakutavat Kyselyt, selaus, suodatus, hierarkkinen haku, Käyttäjät Hakuammattilaiset,, jokamies Rajautuneisuus Henkilökohtaiset tiedot, yrityksen tiedot, aihepiirikohtaiset tiedot, yleinen webbihaku 3 4 Hakumallit Hakumallit: Boolen haku Haun perusmalli: dokumentti sisältää termin (sanan) Esim: Hae dokumentit, joissa esiintyy sana Caesar Grep ratkaisuna: haetaan säännöllisen lausekkeen avulla Esim: grep -slw Caesar aineisto/* Toimii hyvin, jos aineisto on kohtuullisen pieni Ehdon monimutkaistuminen tekee hakukyselyn hankalaksi Aineiston koon kasvu tekee hausta hitaan Dokumentit nähdään sanojen joukkona Kyselyt esitetään termeistä muodostuvana Boolen lausekkeena Operaattorit AND, OR ja NOT Kukin termi ilmaisee totuusarvon tilanteelle sana sisältyy dokumenttiin Tarkastellaan Shakespearen näytelmiä, Kysely Caesar AND Brutus AND NOT Calpurnia hakee dokumentteja, joihin sisältyvät sanat Caesar ja Brutus mutta ei sana Calpurnia grep:n kaltainen lineaarinen läpikäynti hankaloituu (kuinka NOT?) Lineaarisen läpikäynnin tilalle indeksit Dokumentti joko sisältää termin tai sitten ei 5 6 H.Laine 1

Boolen haku Esiintymämatriisi Esiintymämatriisi: missä dokumentissa termi esiintyy Antony and Cleopatra Julius Caesar The Tempest Hamlet Othello Macbeth 1 1 0 0 0 1 Antony Brutus 1 1 0 1 0 0 Caesar 1 1 0 1 1 1 Calpurnia 0 1 0 0 0 0 Cleopatra 1 0 0 0 0 0 mercy 1 0 1 1 1 1 worser 1 0 1 1 1 0 1 jos näytelmä sisältää termin, muuten 0 Voidaan ajatella, että jokaiseen termiin liittyy bittivektori, joka kuvaa termin esiintymistä Caesar: 110111 Brutus: 110100 NOT Calpurnia: 101111 AND: 100100 Tarvitaan lisäksi järjestetty lista dokumenteista, jotta voidaan selvittää, mikä dokumentti vastaa bittipositiota: Tulos: Anthony and Cleopatra, Hamlet 7 8 Käsitteitä Haun tehokkuus Aineisto (collection /corpus) Kiinteä joukko dokumentteja Ennakoimattomat tietotarpeet (ad hoc retrieval) Haetaan dokumentit, jotka ovat relevanttejasuhteessa käyttäjän satunnaiseen tietotarpeeseen ja auttavat käyttäjää suoriutumaan tehtävästään Dokumentti on relevantti, jos se käyttäjän mielestä sisältää arvokasta asiaa suhteessa tietotarpeeseen. Tietotarvetta ei useinkaan pysty ilmaisemaan määrittelemällä täsmällisesti mitä sanoja dokumentin tulee sisältää Tiedonhaun tehoa (effectiveness) voidaan arvioida kahdella tunnusluvulla: Tarkuudella (precision): Kuinka suuri osa saaduista tuloksista on relevantteja Saannilla (recall): Kuinka suuren osan aineiston relevanteista dokumenteista vastaus kattaa. 9 10 Tarkkuus ja saanti Tarkkuus ja kattavuus häly osumat tavoittamattomat Pieni tarkkuus => enemmän työtä relevanttien löytämiseksi aineisto Pieni kattavuus => pieni tiedon määrä suhteessa saatavissa olevaan epärelevantit tarkkuus= osumat /(osumat+häly) relevantit saanti= osumat/(osumat+tavoittamattomat) hakutulos 11 12 H.Laine 2

Isot aineistot Käänteisindeksi (inverted index) Toimiiko esiintymämatriisi? Esimerkki: 1 miljoona dokumenttia, dokumentti noin 1000 sanaa (2-3 sivua), sana noin 6 tavua noin 6GB aineisto 500 000 erillistä termiä Esiintymämatriisi 0.5M*1M bittiä =62.5GB (ISO) 1-bittejä kuitenkin enintään 1000M; 1/500 = 0.2% hyvin harva matriisi Parempi indeksi: kirjataan vain 1-bittien positiot Jokaiseen termiin liittyen laaditaan järjestetty lista niiden dokumenttien tunnuksista, joissa termi esiintyy Oletetaan, että dokumentin tunnus on järjestysnumero Brutus Caesar 1 2 4 5 6 16 57 132 Calpurnia 1 2 4 11 31 45 173 174 54 101 esiintymä(tieto) 13 Sanasto (dictionary) Esiintymät (postings) 14 Käänteisindeksi (inverted index) Käänteisindeksin tekeminen Termien esiintymälistat ovat kovin erikokoisia, joten tarvitaan vaihtuvapituisia listoja Levyllä yhtenäinen peräkkäisten esiintymien sekvenssi on kätevin rakenne Keskusmuistissa voi käyttää linkitettyjä listoja tai vaihtuvapituisia taulukoita (muokkaustarve vaikuttaa) dokumentit Saneistaminen (tokenization) yhtenäistäminen Lingisticpreprocessing Indeksin teko Index writing Friends, Romans, countrymen. Friends Romans Countrymen friend roman countryman friend 2 4 roman 1 2 15 countryman 13 16 16 Esiprosessointi Saneistaminen ja esiprosessointi Saneistaminen (tokenization) Pilkotaan lähtötieto saneiksi (token) [sanamuodon esiintymä] Miten käsitellään erilaiset erottimet ja muut erikoismerkit? Normalisointi (normalization) Yhtenäistetään esitystapa (esim U.S.A. => USA) Typistäminen, stemmaus (stemming) Karsitaan esimerkiksi taivutusmuodoista johtuvia päätteitä tai sanan johdannaisia, jäljelle jää vain runko Hukkasanojen käsittely (stop words) Voidaan poistaa hakua edistämättöminä Esim. engl. a, the, to, in, if,.. Muodostetaan (termi, dokumenttitunnus) -pareja I did enact Julius Caesar I was killed i the Capitol; Brutus killed me. Dokumentti 1 So let it be with Caesar. The noble Brutus hath told you Caesar was ambitious Dokumentti 2 17 18 H.Laine 3

Sane, esiintymä -parien järjestäminen Koonti Järjestetään parit ensisijaisesti termin toissijaisesti dokumenttitunnuksen mukaisesti Saman dokumentin saneista kootaan termitieto, johon liitetään järjestetty esiintymälista dokumenttitunnuksista Termiin liitetään esiintymien lukumäärä 19 20 Indeksien pystytys ja käyttö Indeksit kyselynkäsittelyssä Entä, jos aineisto on suuri? Miten indeksoidaan suuri aineisto? Miten isoksi indeksit muodostuvat? Voiko indeksejä tiivistää? Miten indeksejä hyödynnetään parhaan tuloksen saavuttamiseksi? Tarkastellaan kyselyä: Brutus AND Calpurnia Hae termin Brutus esiintymälista Hae termin Calpurnia esiintymälista Hae listoista yhteiset tunnukset (listojen leikkaus) lomittamalla ne Brutus Calpurnia 1 2 4 11 31 45 173 174 54 101 21 22 Listojen leikkaus Lomitusjärjestys Suoritettavissa lineaarisessa ajassa suhteessa listojen pituuteen O(n+m) Listojen pitää olla järjestettyjä Edullisin lomitusjärjestys? Tarkastellaan n:n AND yhdistetyn termin kyselyä Esim: Brutus AND Caesar AND Calpurnia Haetaan kuhunkin termiin liittyvät esiintymälistat ja lomitetaan ne. Edullisinta on aloittaa lyhimmistä listoista => välitulos enintään lyhimmän listan pituinen => listan pituus saadaan selville termiin liittyvästä esiintymälaskurista 23 24 H.Laine 4

Lomitusjärjestys Boolen kyselyt Yleisemmin kyselyn (termi1 OR termi2) AND (termi3 OR termi4) AND Lomitusjärjestys voidaan määrätä seuraavasti: Haetaan kaikkien termien esiintymäfrekvenssit Arvioidaan OR-yhdistettyjen listojen kooksi yhdistettävien listojen kokojen summa (konservatiivinen arvio) Käsitellään OR-ryhmät arvioidun koon mukaisesti pienimmästä suurimpaan Välitulosten kirjoitus voidaan usein välttää pitämällä leikkaustulos muistissa ja yhdistämällä seuraavan termin lista välitulokseen Kyselyt ovat täsmällisiä Vastaus on täsmällinen suhteessa kyselyyn, mutta onko se hyvä suhteessa todelliseen tietotarpeeseen AND yhdistelmillä hyvä tarkkuus mutta pieni saanti OR yhdistelmillä hyvä saanti mutta huono tarkkuus 25 26 H.Laine 5