8 Tiedonhaun apuvälineet Tämän luentokerran tavoitteena on perehtyä erilaisiin tiedonhaun apuvälineisiin. Tiedonhaun ja hypermedian asiantuntijat katsovat maailmaa eri näkökulmista; pian tullaan huomaamaan, että tieteenaloilla on yllättävänkin paljon yhteistä. Tiedonhausta tulee ehkä ensimmäineksi mieleen perinteinen avainsanahaku, joka a) ei toimi kunnolla tai b) on Google. Tiedonhaku on kuitenkin avainsanahakua laajempi kokonaisuus: tiedonhaun asiantuntijat esimerkiksi sijoittavat hypermedian (tai ainakin hypertekstin) osaksi tiedonhakua. Luentokerran tavoitteena on kartoittaa erilaisia lähestymistapoja tiedonhakuun, esitellä joukko erilaisia tiedonhaun apuvälineitä ja pyrkiä selkeyttämään tiedonhaun ja hypermedian yhteyksiä toisiinsa. Mikäli tiedonhakuun liittyvät asiat alkavat kiinnostamaan syvemmin, avainsanalla informaatiotutkimus löytyy verkosta rutkasti aihetta käsittelevää materiaalia. Tamperereen yliopistossa aihetta tutkii ja opettaa Informaatiotutkimuksen laitos. Keskeisenä lähdemateriaalina tässä on käytetty kirjaa Baeza-Yates, R., Ribeiro-Neto, B. Modern Information Retrieval, ACM Press, New York, US. 7307010 Hypermedian ohjelmointi (kevät 2005) 96
Tiedonhausta Tiedonhaussa käyttäjällä on tavoitteena löytää tietoa (tai informaatiota) jostakin häntä kiinnostavasta asiasta. Tyypillinen käyttötapaus on se, että käyttäjä määrittelee tarpeensa hakuehtoina ja välittää ne tiedonhaun rutiineista vastaavalle järjestelmälle eli hakukoneelle, joka esittää hakuehtojen mukaiset tietoalkiot käyttäjälle hakutuloksen muodossa. Tiedonhaussa käytetään käsitettä relevanssi kuvaamaan sitä, miten hyvin hakutulos vastaa hakuehtoja. Hakukoneet järjestävät hakutulokset usein niiden oletetun (lasketun tai päätellyn) relevanssin perusteella. Relevanssi voidaan määritellä usealla eri tavalla. Kaksi tärkeintä vaihtoehtoa ovat aiherelevanssi ja käyttäjärelevanssi. Aiherelevanssi voi yksinkertaisimmillaan tarkoittaa sitä, että käyttäjän syöttämien hakusanojen esiintymät eri hakutuloksissa lasketaan yhteen ja hakutulos järjestetään suuruusjärjestykseen esiintymien mukaan. Käyttäjärelevanssissa myös käyttäjä otetaan huomioon hakutulosten relevanssia määriteltäessä. Käyttäjärelevanssia voidaan lähestyä mukautuvan hypermedian näkökulmasta: sovellusta mukautetaan käyttäjää edustavan käyttäjämallin perusteella. Hakutuloksen esittäminen käyttäjän perusteella vastaa mukautuvan hypermedian näkökulmasta linkkien järjestämistä tai piilottamista. 7307010 Hypermedian ohjelmointi (kevät 2005) 97
Tiedonhaun menetelmät Baeza-Yatesin ja Ribeiro-Neto jäsentävät tiedonhaun menetelmät seuraavasti: Information Retrieval Retrieval Browsing Ad hoc Filtering Flat Structure Guided Hypertext Tässä materiaalissa termeihin viitataan seuraavasti: tiedonhaku (Informatio Retrieval), hakeminen (Retrieval), ad hoc (Adhoc), suodattaminen (Filtering), selaaminen (Browsing), rakenteeton selaaminen (Flat), rakenteeseen perustuva selaaminen (Structure Guided) ja hyperteksti (Hypertext). 7307010 Hypermedian ohjelmointi (kevät 2005) 98
Hakemiseen perustuvat menetelmät Hakemiseen (Retrieval) perustuvat tiedonhaun menetelmät voidaan jakaa toimintaperiaatteen perusteella kahteen luokkaan: Ad hoc: Käyttäjä hakee aktiivisesti tietoa hakukoneen tukemana. Tietosisältö on staattinen. Hakuehdot vaihtuvat käyttäjän toimesta. Perinteinen Web-hakukoneella tehtävä sanahaku on esimerkki ad hoc - tiedonhausta. Suodattaminen (Filtering): Käyttäjä määrittelee suodattimen, jonka perusteella tietosisällöstä poimitaan hakuehdon mukaiset tietoalkiot. Tietosisältö on dynaaminen: tietoalkioita lisätään ja poistetaan tiiviissä tahdissa. Hakuehdot pysyvät samana. Esimerkkejä suodattamiseen perustuvasta tiedonhausta ovat erilaiset vahtipalvelut (auto, asunto tai työpaikka) tai vaikkapa uutisten välittämiseen ja luokitteluun tarkoitettu RDF Site Summary (RSS). Ad hoc -tiedonhaussa hakutulosten relevanssin määrittelemisestä vastaa yleensä hakukone. Suodattamisessa käyttäjä arvioi relevanssin itse. 7307010 Hypermedian ohjelmointi (kevät 2005) 99
Selaamiseen perustuvat menetelmät Selaamiseen (Browsing) perustuvat menetelmät voidaan jakaa kolmeen luokkaan: Rakenteeton selaaminen (Flat): Tietosisältö esitetään rakenteettomana listana, jota käyttäjä voi selata. Listassa voidaan näyttää avainsanat ja muut tietosisällöstä kerätyt tiedot. Selaamisen avulla esimerkiksi uusi käyttäjä voi perehtyä tietosisältöön ja mahdollisesti siirtyä selaamiseen jälkeen käyttämään sanahakua. Rakenteeseen perustuva selaaminen (Structure Guided): Tietosisältöön voidaan liittää esimerkiksi erilaisten luokittelujärjestelmien eli taksonomioiden mukaista kuvailutietoa (metatietoa). Rakenteeseen perustuvassa selaamisessa käyttäjä käy läpi tietosisältöä navigoimalla luokittelujärjestelmän mukaisten rakenteellisten linkkien avulla. Esimerkiksi Yahoo!-hakukoneen Web-hakemistot vastaavat rakenteeseen perustuvaa selaamista. Hyperteksti (Hyperteksti): Hypertekstiin perustuvassa selaamisessa navigoimiseen käytetään rakenteellisten linkkien ohella assosiatiivisia linkkejä. Esimerkkejä hypertekstiin perustuvasta selaamisesta ovat BrainyEncyclopedia (http://www.brainyencyclopedia.com/) ja Wikipedia (http://www.wikipedia.org/). Hypertekstin hienoudet oletetaan tässä vaiheessa tutuiksi, joten keskitytään nyt hakemiseen. 7307010 Hypermedian ohjelmointi (kevät 2005) 100
Hakukoneen toiminnallisuus Tyypillinen hakukone tarjoaa käyttäjälle näkymät hakemista ja hakutuloksen selaamista varten. Hakuehtojen syöttäminen hakukoneelle tapahtuu pääasiassa syöttämällä joukko avainsanoja tekstikenttään. Hakutulosta voidaan rajata myös erilaisiin kuvaileviin tietoihin kohdistettujen ehtojen avulla. Näitä voivat olla esimerkiksi dokumentin tekijä, viimeinen muokkauspäivä, kieli, tiedostomuoto tai dokumentin tekijän syöttämät avainsanat. Hakutulos esitetään tyypillisesti hakuehtoa vastaavien dokumenttien listana. Valinnan tukemiseksi listaan kerätään dokumenteista keskeisiä tietoja, kuten osoite, otsikko, koko, tiedostomuoto tai ote sisällöstä. Ote sisällöstä voidaan valita siten, että se sisältää hakuehtona käytetyt termit. Näin käyttäjä pystyy arvioimaan, onko termejä käytetty halutussa asiayhteydessä. Myös mahdollisuudet hakutulosten listan järjestämiseen eri ominaisuuksien perusteella, tiettyä hakutulosta vastaavien dokumenttien etsimiseen ja kyselyn uusimiseen vanhan kyselyn pohjalta ovat hyödyllisiä. Googlen laajennettu haku (http://www.google.fi/advanced_search) mahdollistaa myös hakutuloksen suodattamisen. 7307010 Hypermedian ohjelmointi (kevät 2005) 101
Sanahaku ja indeksointi Vapaatekstihaun toteuttamiseen on olemassa muutamia vaihtoehtoja: Ajonaikainen haku. Tietosisältö käydään ajonaikaisesti läpi ja sitä verrataan hakuehtoon. Ajonaikainen haku on tarkoituksenmukainen vaihtoehto, kun tietokanta on kohtuullisen kokoinen tai kun tietosisältö on jatkuvassa muutoksessa. Indeksointi. Indeksoinnissa haut kohdistetaan varsinaisen tietosisällön sijaan etukäteen muodostettuihin indekseihin eli hakemistoihin. Indeksointia käytetään, kun tietokanta on suuri tai kun tietosisältö on muuttumatonta tai muuttuu hitaasti. Edellisten yhdistelmä. Tietosisällöstä valitaan hakuehdon mukaiset tietoalkiot hakemiston perusteella. Tietoalkioiden relevanssin määrittelyssä käytetään apuna myös ajonaikaista hakua. Esimerkiksi sanaliittojen eli fraasien etsiminen voidaan toteuttaa hakemistoihin perustuvan ja ajonaikaisen haun yhdistelmänä. Esimerkiksi Googlen ja muiden Webin hakukoneiden toiminta perustuu tietosisällön laajuuden takia luonnollisesti indeksointiin. Hakemistoihin viitataan tiedonhaun yhteydessä usein käsitteellä käänteistiedosto (inverted file). 7307010 Hypermedian ohjelmointi (kevät 2005) 102
Esimerkki indeksoinnista Hakemisto voidaan suljetussa järjestelmässä tuottaa siinä vaiheessa, kun tietosisältö tallennetaan järjestelmään. Yksinkertaistettu esimerkki indeksoinnista levylaarin tapaan (ota huomioon, että todellisuudessa relaatiotietokannassa on oltava useita tauluja hakemiston esittämiseen): idsurf Cosmonauts idsurf... ovat Laika and the Cosmonautsin idlw Cosmonauts DB ja Dick Dale and the Laika idsurf(2), idlw Deltones. Näistä Laika...... indexer.php levylaari.php Levylaari idlw... Laika and the Cosmonautsin uusin levy Local Warming search.php Hae: Lähetä 7307010 Hypermedian ohjelmointi (kevät 2005) 103
Indeksointi Webissä Miten esimerkiksi Google todella löytää kaikki Webin dokumentit? Ei mitenkään, mutta varsin monta dokumenttia Googlen tietokannasta löytyy: Sivustojen lokitiedoista voi esimerkiksi katsella erilaisten selainten nimiä. Eräs lokitiedoissa usein esiintyvä selaimen nimi on Googlebot. Googlebot on eräs esimerkki ryömijästä (crawler) tai tylsästi hakurobotista, jonka tehtävänä on päivät pitkät seurata Webin linkkirakennetta eteenpäin jäsentämällä Web-dokumentteja ja käymällä niiden linkkejä järjestelmällisesti läpi. Googlebot toimittaa dokumentit Google-palvelulle indeksoitavaksi. Webin kaltaisessa maailmanlaajuisessa järjestelmässä hakurobotteihin perustuva ratkaisu on ainoa järkevä vaihtoehto dokumenttien indeksoimiseen. Ennen oman hakurobotin toteuttamista kannattaa tutustua hakurobottien ohjeistamiseen käytettäviin robots.txt-tiedostoihin (http://www.robotstxt.org/wc/norobots.html). Sivun indeksoinnin ja linkkien seuraamisen voi kieltää myös HTML-dokumentin metatiedoissa (<meta name="robots" content="noindex,nofollow">). 7307010 Hypermedian ohjelmointi (kevät 2005) 104
Tiedon visualisointi ja näkymäpohjainen hakeminen Baeza-Yates ja Ribeiro-Neto erottavat tiedon visualisointiin perustuvat menetelmät perinteisestä tiedonhausta. Ajatuksena tiedon visualisoinnissa on se, että tietoalkiot ja niiden väliset pyritään esittämään sovelluksessa käyttäjän näkökulmasta intuitiivisella tavalla. Tiedon visualisoimisessa käytetään apuna esimerkiksi erilaisia klusterointimenetelmiä: tietoalkioista pyritään ohjelmallisesti muodostamaan samaa asiaa käsitteleviä kokonaisuuksia. Esimerkiksi Kohosen itseorganisoituvia karttoja (Self-Organizing Maps) käyttävä Websom (http://websom.hut.fi/websom/) on esimerkki tietoa klusteroivasta visualisointimenetelmästä. Toinen lähestymistapa tiedon visualisointiin ovat erilaiset kuvailutietoon ja käsitemalleihin (ontology) perustuvat näkymäpohjaiset tiedonhaun apuvälineet, jotka tosin tietyssä mielessä edustavat selaamalla tapahtuvaa tiedonhakua. Kuvailutietoon perustuva näkymäpohjainen haku toimii usein tiedonhaun kannalta keskeisten tietosisältöä kuvailevien ominaisuuksien eli fasettien käyttämiseen. Esimerkiksi MuseoSuomi (http://museosuomi.cs.helsinki.fi/) ja Longwell (http://simile.mit.edu/longwell/) ovat esimerkkejä Semanttisen Webin keinoin esitettyjä kuvailutietoja hyödyntävistä sovelluksista. 7307010 Hypermedian ohjelmointi (kevät 2005) 105
Esimerkki näkymäpohjaisesta hausta: MuseoSuomi Helsinkin Institute for Information Technology on toteuttanut MuseoSuomen, jossa käyttäjät voivat selata Suomen museoiden esineitä näkymäpohjaisen haun periaatteella. MuseoSuomessa yksittäiset fasetit ovat hierarkkisia. Fasetit Hakutulos 7307010 Hypermedian ohjelmointi (kevät 2005) 106
Lopuksi Tiedonhaun teorian syvällisempi osaaminen auttaa hypermediasovellusten tekijöitä monellakin tavalla. Esimerkiksi mukautuvien hypermediasovellusten toteuttamisessa voi joskus olla hyödyllistä soveltaa erilaisia avainsanahakujen algoritmeja. Kuvailutiedon syöttäminen on kallista ja yleisessä tapauksessa käyttäjien syöttämä kuvailutieto on epäluotettavaa. Erikseen syötetty kuvailutieto voidaan ainakin osittain korvata ohjelmallisesti tuotetulla kuvailutiedolla. Semanttisen Webin XML, RDF ja OWL luovat ainakin periaatteellisella tasolla merkittäviä uusia mahdollisuuksia tiedonhaun apuvälineiden toteuttamiseen myös koko Webin mittakaavassa. RSS on eräs ensimmäisistä Semanttisen Webin sovelluksista, joka on saavuttamassa jalansijaa myös ns. tavallisten käyttäjien joukossa. Ennen Semanttisen Webin täysimittaista käyttöönottoa on kuitenkin ratkaistava luottamukseen liittyvät ongelmat. Käyttäjillä on jo nykyään aito mahdollisuus julkaisemiensa resurssien kuvailemiseen. Ongelmana on kuitenkin se, että yleensä tiedon ja sen lähteen luotettavuuden arviointi on ihmisen tehtävä ihmisen toimesta. 7307010 Hypermedian ohjelmointi (kevät 2005) 107