Kyselyn käsittely Tiedonhakumenetelmät Ranking mitan laskenta Vektorimalli ja muut kyselytyypit Hakujärjestelmä 1 2 Kosinimitan laskennassa käytetään dokumenttien painon normalisointiin dokumentin Euclidista pituutta v t i 1 x 2 i Tutkimuksissa on havaittu, että tämä suosii jonkin verran lyhyitä dokumentteja Antaa lyhyille suhteessa jonkin verran korkeampia mittalukuja kuin pitkille dokumenteille Amit Singhal, Chris Buckley, and Mandar Mitra, \Pivoted Document Length Normalization", SIGIR 1996 3 4 Säätämällä aineistokohtaisesti normalisointitekijää kuvaavan käyrän jyrkkyyttä voidaan parantaa mittaluvun toimivuutta Pivoted document length normalization w termin paino dokumentissa (esim. TF*IDF) n u alkuperäinen normalisointitekijä (dokumenttivektorin pituus) p kääntöpiste s kääntömäärä (kulman tangentti) w p kääntönormalisoitu paino w p =w / ( (1 - s) p + s n u ) Tekijöille p ja s on esitetty approksimaatioita, mutta ne täytyy säätää aineiston perusteella Huom: Tässä ei enää lasketa kosinia! 5 6 H.Laine 1
Vektorimallin mukaiset tiedonhaut Vastaavuusmitan laskenta Dokumentit kuvataan termipainoista muodostuvina vektoreina Kysely tulkitaan termien painovektorina Lasketaan kyselyn ja dokumentin vastaavuutta kuvaavaksi mittaluvuksi kyselyvektorin ja dokumenttivektorin välisen kulman kosini Valitaan K suurimman mittaluvun tuottanutta dokumenttia hakutulokseen Kosini lasketaan vain dokumenteille, joissa termi esiintyy Periaatteessa tarvitaan dokumenttikohtaiset painot termiin liittyvään esiintymälistaan, käytännössä termin frekvenssi dokumentissa riittää Termin informatiivisuus (idf) voidaan laskea kun tiedetään termin sisältävien dokumenttien määrä Dokumentin pituus voidaan laskea termifrekvenssien perusteella. Ei muutu joten voidaan laskea valmiiksi. Laskenta voidaan tehdä käymällä läpi kaikki kyselyssä esiintyvien termien esiintymälistat. Niissä esiintymättömien dokumenttien mittalukuja ei tarvitse laskea. Jäljelle jääviä voi kuitenkin olla paljon >> K 7 8 Kyselytermit samanpainoisia Kyselytermit samanpainoisia Useissa hakujärjestelmissä kaikilla kyselytermeillä on sama paino Rankingin laskennassa jokainen summalausekkeen tekijä kerrottaisiin tällöin samalla vakioarvolla. Tämän voisi jättää pois ja mittalukujen suhde pysyisi samana Jokaiselle dokumentille, joka sisältää kyselytermejä siis laskettaisiin mitta a d i Q i, missä Q on kyselyn termien joukko d Olkoon kysely = {jealous gossip} q= (,1,1,) term SaS PaP WH affection.789.832.524 jealous.515.555.465 gossip.335.45 wuthering.588 läheisyysmitta Pituusnormalisoidut painot.85,555.87 q 1 1 aiemmin.77.77 9.61,392.615 kosini 1 Vastausdokumenttien valinta Laskennan tehostaminen K:n parhaan dokumentin valinta voidaan hoitaa K- alkioisen prioriteettijonon avulla (mittaluku prioriteettina) Jos jono on täynnä uusi dokumentti lisätään mittalukunsa mukaiselle paikalle jonossa ja pienimmän mittaluvun haltija tippuu jonosta. Voidaan toteuttaa tehokkaasti vaikkapa minimikekorakenteena Koska laskettavien mittalukujen määrä voi olla suuri suhteessa tulokseen, on esitetty menetelmiä, joissa tätä määrää pyritään vähentämään Osassa menetelmistä laskentaa rajataan siten, vastausjoukko ei välttämättä sisällä mittarin kannalta K parasta vaihtoehtoa Toisaalta: Kosinimitan kannalta K parasta eivät ehkä ole käyttäjän kannalta K parasta, joten pieni virhe on hyväksyttävää 11 12 H.Laine 2
Laskennan tehostaminen Laskennan tehostaminen / Indeksien eliminointi Likimääräisvalinta: 1) Valitaan A:n ehdokasdokumentin joukko K< A <<N. Joukko A ei välttämättä sisällä kaikkia koko kokoelman K parhaiten rankattua, mutta todennäköisesti suuren osaan näistä. 2) Valitse A:n dokumenttien joukosta K parhaiten rankattua. Menetelminä mm: Indeksien eliminointi Huiput Laadukkuus Vaikuttavuuden mukainen poiminta Klusterihaut 13 Indeksien eliminointi termin informatiivisuuden tai dokumentin kattavuuden perusteella Tarkastellaan vain hakutermejä, joiden informatiivisuus (idf) ylittää jonkin ennalta kiinnitetyn raja-arvon ja käydään läpi näiden esiintymälistat Korkea idf => dokumenttilistat lyhempiä Monet alhaisen idf:n sanat voidaan ajatella hukkasanoiksi Esim: catcher in the rye Ei käytetä 14 Laskennan tehostaminen / Indeksien eliminointi Laskennan tehostaminen / Huiput Dokumenttien kattavuuden perusteella Lasketaan mitat vain dokumenteille, joissa esiintyy useita tai kaikki kyselyn termit (Googlen tapa) Esimerkiksi 3 /4 Voi olla, että jäädään alle K dokumentin Huiput (champions) Kullekin termille lasketaan ennalta r:n korkeimman mittaluvun saavien dokumenttien joukko, eli r korkeinta termin frekvenssiä sisältävät = huippujen lista Kyselyyn vastattaessa muodostetaan kyselytermien huippujen listoista unioni ja lasketaan vain näille mittaarvot Huippulistojen pituudet ovat oleellisia menetelmän toimivuuden kannalta. Listat voivat olla eri pituisia eri termeille. Listojen pituus tiedettävä indeksiä tehtäessä etukäteen. Voi olla, että jäädään alle K:n dokumentin 15 16 Laskennan tehostaminen / Kahden kerroksen väkeä Laskennan tehostaminen/ laadukkuus Kahden kerroksen väkeä Muodostetaan kullekin termille kaksi esiintymälistaa: Huiput Muut Vastattaessa toimitaan aluksi kuten huiput-mallissa, mutta, jos vastausjoukko jää liian pieneksi, laajennetaan hakua muut-listoihin => voidaan yleistää monen kerroksen väeksi (multi tier index): 1,2,3, kerroksilla pitää olla parin kertaluokan kokoero Dokumenteille on olemassa jokin kyselyn ulkopuolinen staattinen laatuluokitus. Voi perustua esimerkiksi Kohdistuvien tai sisältyvien viittausten määrään Tiedon lähteisiin Ulkopuoliseen laaturankkaukseen Asiakaspalautteeseen Tykkäykseen, 17 18 H.Laine 3
Laskennan tehostaminen/ laadukkuus Laskennan tehostaminen/ vaikuttavuuden mukaan Dokumenteilla laatumitta g(d) väliltä [,1] Dokumentin vastaavuusmitta: jokin yhdistelmä laatumitasta ja kosinimitasta, esimerkiksi yksinkertaisimmillaan niiden summa, mutta voi olla monimutkaisempikin Dokumentit järjestetään esiintymälistoihin laatumitan (+ dokumenttitunnuksen) perusteella laskevaan järjestykseen => yksi läpikäynti riittää yhdistelyyn Tarkastellaan vain dokumentteja, joiden laatu ylittää tietyn rajan. Esiintymälistat järjestetään laskevan esiintymäfrekvenssin perusteella Käydään läpi vain listan alkuosa Lopetetaan, kun on käyty läpi tietty määrä tai kun paino putoaa alle ennalta määritellyn rajan Termejä puolestaan käydään läpi laskevan idf arvon mukaisesti Kun dokumenttien painot eivät muutu merkittävästi voidaan lopettaa tai käydä listoista läpi pienempi määrä esiintymiä 19 2 Laskennan tehostaminen/ klusteripohjainen karsinta Laskennan tehostaminen/klusteripohjainen karsinta Valitaan satunnaisesti N dokumenttia ytimiksi (leader) Lasketaan muille dokumenteille lähin ydin Jos hyvin käy, niin kunkin ytimen ympärille syntyy noin N dokumentin kokoinen klusteri Kyselyn käsittelyssä etsitään kyselyä lähinnä oleva ydin ja haetaan K parhaiten rankattua dokumenttia valittua ydintä ympäröivästä klusterista Kysely 21 Ydin Ympäristö 22 Dokumentteihin voi liittyä metatietoa Kieli, julkaisuaika, tekijä, muoto, Arvot yksittäisiä sanoja rajatusta arvojoukosta Erilliset kenttäkohtaiset indeksit metatiedolle (kentille, field) Voidaan käyttää kyselyissä, yleensä erilliset kentät myös kyselykäyttöliittymässä voisi hoitaa myös kenttänimien avulla published: 21 title: Olioiden maihinnousu Osaavatko käyttäjät? Dokumentit voi jakaa myös vyöhykkeisiin (zone), esim. Otsake Tiivistelmä Teksti Yhteenveto Viittaukset Vyöhykkeiden sisältö on tekstitietoa Indeksointi vyöhykkeittäin Vyöhykekohtaiset painot 23 24 H.Laine 4
Vyöhyke sanastossa / esiintymälistassa Vyöhyke voidaan ottaa mukaan sanastotermiin tai liittää eräänlaisena paikkatietona esiintymälistan alkioihin Termin painot vyöhykekohtaisesti Vyöhykkeiden väliset painot dokumentin haussa? onko termin esiintyminen otsakkeessa merkittävämpi osuman kannalta kuin perustekstissä? Paljonko? Hakujärjestelmä voi mahdollistaa eksplisiittisen viittauksen vyöhykkeeseen tai käsitellä ne implisiittisesti esim. eri painoilla 25 26 Lähekkäiset sanat Kyselyn jäsentäjä Kyselyssä useampia sanoja Hakija olettaa sanojen olevan lähellä toisiaan dokumentissa ja ehkä samassa järjestyksessä kuin kyselyssä. Läheisyysikkunan koko =kuinka lähellä toisiaan dokumentissa, edellyttää dokumenttien paikkatietoa esiintymälistaan Onko kyseessä fraasi? Vapaamuotoisissa kyselyissä käyttäjä antaa joukon termejä, jotka pitäisi tulkita yhdeksi tai useammaksi kyselyksi Tarkastellaan esimerkkinä kyselyä rising interest rates Aluksi käsitellään fraasina rising interest rates, lasketaan tähän liittyen painot kullekin termille Jos löytyy liian vähän fraasin sisältäviä osumia (ei pystytä päättelemään pelkkien termipainojen avulla) puretaan kysely kahdeksi fraasiksi rising interest ja interest rates ja lasketaan näille Jos edelleen liian vähän puretaan yksittäisiksi termeiksi Voidaan joutua käyttämään useita erilaisia rakenteita Tulosten yhdistely ei ole täysin suoraviivaista 27 28 Hakujärjestelmä Vektorimalli tukee vapaamuotoisia kyselyitä. Perusajatuksena: dokumentti voi olla relevantti, jos ainakin yksi kyselyn termeistä esiintyy dokumentissa, painot ratkaisevat kuinka hyvä Monessa nykyjärjestelmässä esim. Googlessa tulkintana on kuitenkin hakutermien konjunktio, kaikki tai lähes kaikki pitää löytyä ja vasta näiden kesken lasketaan paremmuus 29 3 H.Laine 5
Vektorimallia voi käyttää Boolen kyselyihin vastaamiseen. Paino >, jos termi esiintyy dokumentissa AND ei aiheuta mitään ongelmia AND NOT karsii laskettavia OR pakottaisi laskemaan painot perinteisen mallin mukaan Koska painoilla on merkitystä, ei OR yhdistettyjä termejä välttämättä tule lainkaan mukaan tulokseen Pelkkä NOT haluaako joku todella sellaista Jos indeksointi on tehty Boolen kyselyitä silmälläpitäen, indeksistä puuttuu vektorimallissa painojen laskentaan tarvittava frekvenssitieto. Vektorimalli ja jokerikyselyt edellyttävät erilaisia indeksejä. Yksinkertaisten jokereiden kohdalla esim. rom* restaurant jokerimerkin sisältävä termi voidaan korvata kaikilla sanastosta löytyvillä soveltuvilla termeillä (rome, roman, romantic, romanian, ). Tämä on mahdollista vain mikäli OR on sallittu ja silloinkin ehkä vääristää painotuksia Tarkoitushan olikin hakea romantic roman restaurant in rome 31 32 Fraasikyselyiden käsittelyssä on ongelmana se, että vektorimallissa hukataan sanojen järjestys dokumentissa. Jos mukaan otetaan sanapari-indeksi ja sanaparit otetaan ulottuvuuksiksi, termien painot vääristyvät sillä parin termit laskettaisiin moneen ulottuvuuteen. Ei voida taata, että fraasi esiintyy vaikka yksittäisten termien suhteen tulos on hyvä 33 H.Laine 6