Informationssøgning metoder og scenarier Patrizia Paggio Center for Sprogteknologi Københavns Universitet patrizia@cst.dk
Disposition Forskellige systemer IR, IE og QA Information Retrieval (IR) Boolean søgning Vektorbaseret søgning Termer og indeksering 2
Forskellige systemer Information Retrieval (IR): at finde relevante dokumenter. Information Extraction (IE): at uddrage relevant information fra dokumenter, fx oplysninger om bankfusioner. Question Answering (QA): at besvare spørgsmål, fx Hvad hedder den danske dronning? 3
Information retrieval (IR) IR handler om at søge i dokumentdatabaser og finde dokumenter (eller links til dokumenter) der er relevante i forhold til en forespørgsel. Scenario: Brugeren ønsker al mulig info om et emne; er villig til at checke/læse alle relevante dokumenter. 4
IR: grundliggende begreber Simpel tilgang: direkte sammenligning mellem forespørgslen og dokumentmængden. Mere realistisk: indirekte sammenligning ved hjælp af indeksering. Web crawling (relevant for internet-baseret IT) 5
IR: terminologi Dokument: indekseret tekst til brug for søgning. Samling: en mængde indekserede dokumenter. Term: enkelt ord eller frase i dokumentsamlingen. Forespørgsel: en mængde termer der repræsenterer brugerens informationsbehov. 6
IR: indeksering Bibliotekerne har altid indekseret manuelt. Fokus her er på automatisk indeksering. Information om forfatter, titel, årstal, osv Termer der opsummerer indholdet Hvordan vælges signifikante termer? Signifikans har at gøre med frekvens. 7
Sidespring: Zipfs lov I et korpus er et ords rang cirka omvendt proportionel ift. dets frekvens. frekvens rang konstant De 20% mest frekvente termer dækker over ca. 70% af et dokument. Derfor må indekseringen forholde sig til frekvens. 8
Zipfs lov: øvelse Lav en frekvensliste over H. C. Andersens Snedronningen og konstater om Zipfs lov gælder. 1. Download novellen fra kursets hjemmeside. 2. Gå ind på http://mail.cst.dk/tools/index.php?lang=da 3. Upload novellen i systemet ved at browse. 4. Klik på lemmatiser Vis lemmaer med bøjet form Sortering: frekvens, ord og Behandl min tekst. 5. Gem resultatet som txt-fil. 9
Zips lov: Snedronningen Rang Ordform Frekvens rå / % R * (F/520) 1, 46 0.09 0.088 2 og 19 0.04 0.073 3 de/det 14 0.03 0.081 4. 12 0.02 0.092 5 at/der/var 10 0.02 0.096 6 i/saa 9 0.02 0.104 7 et 8 0.02 0.108 8 havde 7 0.01 0.108 9 en 6 0.01 0.104 10 ; / Speilet / 5 0.01 0.096 10
Indeksering D1 D2 krokodiller tv jæger krokodiller Afrika miljø D3 krokodiller tv tasker miljø Inverteret indeksering krokodiller: D1, D2, D3 Afrika: D1 miljø: D1, D3 tv: D2, D3 jæger: D2 tasker: D3
IR: Boolean søgning Termer i forespørgslen kombineres vha logiske operatorer. Bruges inverteret indeksering, svarer kombinationerne til mængdeoperationer: x AND y fællesmængde x OR y foreningsmængde NOT x mængdedifferens 12
IR: boolean søgning (2) Forespørgsel: (krokodiller OR tasker) AND miljø ({D1,D2,D3} {D3}) {D1,D3} = {D1,D3} 13
Vektorbaseret søgning Både dokumenterne og forespørgslerne afbildes som vektorer. Værdierne siger noget om termer. Simpel tilgang boolske værdier 0/1. Fx: med udgangspunkt i termerne krokodiller, jæger, miljø, kan man bygge flg. vektorer for hhv. D1 og D2: D1 = (1,0,1) D2 = (1,1,0) 14
Vektorbaseret vægter Mere realistisk tilgang værdierne afspejler termernes frekvens. Fordel: dokumenterne kan opstilles in en prioriteret rækkefølge Men: fungerer bedst ved en lang forespørgsel 15
Vektorbaseret vægter To kritiske faktorer: frekvens i det enkelte dokument i dokumentsamlingen Andre faktorer: hvad udgør en term? (forskellige former, synonymer, sammensætninger, osv) funktionsord vs indholdsord 16
Vektorbaseret vægter Inverse document frequency term weight idf i = log (N/n i ) (hvor N er det samlede antal dokumenter og n i antallet af dokumenter hvor termen i optræder) Kombineret med rå termfrekvens i det enkelte dokument giver det vægten af termen i i dokumentet j: w i,j = tf i,j * idf i 17
Vektorbaseret eksempel Term1 Term2 Term3 Antal docs (N) 23 23 23 Optræder i antal docs (n) 22 4 4 Frekvens i doc 1 (tf) 20 10 2 Vægt w = tf * log(n/n) 0.39 7.60 1.52 18
Indeksering: opsummering 1. Find alle tokens i dokumenterne 2. Fjern de hyppigste funktionsord 3. Slå forskellige former af samme ord sammen 4. Analyser sammensætninger og tilføj kerne som selvstændigt ord (vitaminmangel mangel) 5. Beregn en vægt for hver term i hvert dokument (ifølge tf * idf) 6. Brug vægterne til at opbygge en vektor for hvert dokument 19
Andre teknikker Query expansion: automatisk tilføjelse af flere termer til en forespørgsel, fx andre former af samme ord, synonymer eller underbegreber. PageRank: metode hvor antallet af links der fører til et site får indflydelse på sitets ranking. 20