1 / 17

Zoeken en vinden: ranking & clustering

Zoeken en vinden: ranking & clustering. TU Delft Library Digitale Productontwikkeling. Egbert Gramsbergen. Onderwerpen. Ranking : bij query q wordt voor ieder doc d een score s ∈ [0,1] uitgerekend. d ’s worden gesorteerd op afnemende s . Hoe wordt s berekend?

heaton
Download Presentation

Zoeken en vinden: ranking & clustering

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Zoeken en vinden: ranking & clustering TU Delft Library Digitale Productontwikkeling Egbert Gramsbergen

  2. Onderwerpen • Ranking: bij query q wordt voor ieder doc d een score s∈ [0,1] uitgerekend.d’s worden gesorteerd op afnemende s. • Hoe wordt s berekend? • Clustering: gegeven een verzameling docs, maak deelverzamelingen waarbinnen docs onderling minimaal verschillen. • Waarom? • Hoe?

  3. Ranking – waarom? • Relevantie is geen binair begrip. Er bestaat meer of minder relevant. • Verschillende gebruikers beoordelen verschillende docs als relevant voor dezelfde vraag. Wat zou Google zijn zonder ranking?

  4. Ranking – hoe? • Index = zak van Sinterklaas, gevuld met termen • doc d, query q = zakje met sommige van deze termen=> representatie als vectoren Assen: indextermen d, q: vectoren Verschil zegt iets over relevantie Maar: verfijning nodig

  5. Verfijningen Zomaar, blijkt aardig te werken Uit kansberekening: Als d relevant dan kans p1 op term t Als d niet relevant dan kans p2 (<p1) op term t Wat is dan de kans P dat d relevant is als termen t1..tn in d voorkomen en tn+1…tN niet? Antwoord: monotoon toenemende functie van Σi(wd,i)(i loopt over alle termen die voorkomen in d) • Term frequency weging: niet lineair maar zwakker:wt = 0 als f=0, wt = 1+log(f) als f>0 (f = #keren term in doc) • Overall doc(term) frequency weging: wd = log(N/Nt ) (N = #docs, Nt = #docs met term t) • Normalisatie van vectoren: lengte = 1. • DAN: kleinere afstand = grotere similarity

  6. Docs in (aap,noot,mies) space voorbeeld 3 termen in index: aap,noot,mies Vectoren genormaliseerd: eindpunten liggen op 1/8 boloppervlak Normalisatie: nm en nnmm vallen samen aap: relatief zeldzaam, daarombijv. amn dicht bij aap-as In het echt: niet 3 dimensies maar ~ 105 !

  7. Similarity, relevantie en afstand Vectoren genormaliseerd: sim ∈ [0,1], sim = 1 als vectoren samenvallen=> synoniem voor relevantie Soms is het handiger om de denken in termen van (Euclidische) afstand:

  8. Tunen, tunen, tweaken… • Zones/velden: search “kameel” =>[1.0]title:kameel [0.8]subject:kameel [0.3]abstract:kameel • Woordnabijheid in doc: search “kameel bulten” =>de kameel had twee bulten: hoge score…bulten wegens de vele muggen… blabla …daarna per kameel…: lage scorebijv. w ~ 1/(s+1) waarin s = #tussenliggende termen. • Statische factoren (onafhankelijk van q), bijv: • Documenttype/(sub)collectie (bijv. proefschrift > scriptie) • Nieuwheid (ook afhankelijk van andere factoren: voor artikel belangrijker dan voor boek, voor ict belangrijker dan voor geologie; Google: “deserves freshness” parameter) • Populariteit (ranking/rating door gebruikers, views/downloads, inkomende links) Google page rank Start: ieder doc score 1 Dan: ieder doc verdeelt zijn score gelijkelijk over zijn uitgaande links … herhaal tot in den eeuwigheid. Correctie voor “dead ends”: teleportatie naar random doc (ook voor niet-dead ends: teleportatie-coefficient typisch ca. 0.1) Oplossing: NxN overgangsmatrix M opstellen (met -1 op diagonaal), ΣiMijwj=0 => gewicht doc i ~ (i,i)subdeterminant van M.

  9. Clustering • “Grouping a set of objects into classes of similar objects” • Een vorm van “unsupervised learning” = leren van ruwe data • Navigatie door de gehele collectie • Navigatie door zoekresultaten • Verhoging recall (meer zoekresultaten) • Verbetering performance in vector space retrieval Waarom?

  10. Clustering: hoe? Aanname: similar = dicht bij elkaar in vectorruimte Algoritmes: • Partitional - Begin met random (beginpunten van) clusters - Iteratief verbeteren • Hiërarchische algoritmes • Bottom-up • Top-down

  11. Een partitioning algoritme: K-Means • Begin met k random condensatiekernen • ieder doc wordt ingedeeld bij dichtstbijzijnde condensatiekern • bereken van de zo gevormde clusters de centroïden (zwaartepunten): • Gebruik deze als nieuwe condenstatiekernen en ga terug naar 2 • Ga door tot de oplossing stabiel is

  12. Pick seeds Assign clusters Compute centroids Reassign clusters x x Compute centroids x x x x K Means voorbeeld (K=2) Reassign clusters Converged!

  13. K Means vervolg Issues: • k ligt vast • Je kunt terechtkomen in een lokaal i.p.v. globaal optimum, afhankelijk van de beginpunten. Oplossingen: • Neem 1 random beginpunt en dan steeds als volgende het doc dat het minst lijkt op enig bestaand beginpunt, totdat je er k hebt. • Probeer verschillende sets van beginpunten uit • Begin met het resultaat van een andere methode

  14. d3,d4,d5 d4,d5 d3 Hierarchical Agglomerative Clustering(HAC) • Begin met ieder doc in apart cluster • Combineer de 2 meest verwante clusters • Herhaal tot er 1 cluster over is d3 d5 d1 d4 d2 d1,d2

  15. Buckshot Algorithmgebruik HAC als beginpunt voor K Means Afkappen bij k clusters • Cluster een random sample van grootte N met HAC • Afkappen bij k clusters • Neem dit als beginpunt voor K-Means clustering. • Efficiënt en geen problemen met slecht gekozen beginpunten

  16. Cluster labels Lastig punt • Vuistregel: 5-10 meest frequente termen in de centroïde • Uitzondering: te algemene termen • Geen stopwoorden, woordstam • Alleen zelfstandige naamwoorden(combinaties) • Clustering van gehele collectie: vaak handmatig redactiewerk ]Taalkennis!

  17. bronnen • http://courses.ischool.berkeley.edu/i141/f07/schedule.html • http://www-csli.stanford.edu/~hinrich/information-retrieval-book.html

More Related