Information Retrieval. Information Retrieval (IR)

Relevanta dokument
Googles sidrankning - linjär algebra värt en förmögenhet

Inlämningsuppgift : Finn. 2D1418 Språkteknologi. Christoffer Sabel E-post: csabel@kth.se 1

Informationssökning. Jörg Tiedemann. Introduktion till språkteknologi. Informationssökning. Inledning. Strukturerade data. Ostrukturerade data

Att utnyttja semantiska länkstrukturer vid sökning i hyperlänkade dokumentmängder

1 Ortogonalitet. 1.1 Skalär produkt. Man kan tala om vinkel mellan vektorer.

Dagens lektion. Mina forskningsintressen. Min bakgrund. Information Retrieval. Varför IR & disambiguering

FriendlyReader. Språkteknologi för sammanfattningar och ökad läsbarhet. Målgruppsegmentering. Arbetsgång

Joakim Nivre och Jörg Tiedemann

Linjär Algebra, Föreläsning 9

SF1624 Algebra och geometri

Introduktion till språkteknologi

Klustring av svenska tidningsartiklar

KOKBOKEN 1. Håkan Strömberg KTH STH

Linköpings Universitet Artificiell Intelligens II 729G11 HT QA- system. Anders Janson

Passage Retrieval En studie av index

SEO Sökmotoroptimering

Hur effektiva är de egentligen? en evaluering av tre webbaserade söktjänster

SF1624 Algebra och geometri

TDDD02 Språkteknologi för informationssökning / Textsammanfattning. Marco Kuhlmann Institutionen för datavetenskap

Determinant Vi förekommer bokens avsnitt, som handlar om determinanter eftersom de kommer att användas i detta avsnitt. a 11 a 12 a 21 a 22

Informationssökning och -utvinning. Informationssökning och informationsutvinning. [IR & IE] Introduktion (1) [IR & IE] Introduktion (2)

Akademiska söktjänster - En jämförande studie av Google Scholar, MEDLINE och Web of Science

Sökmotoroptimering. Per Svanström SMM. Online Communication Manager. Web Intelligence. /persvanstrom /in/persvanstrom /profiles/per.

Algoritmer: Från kaos till ordning? Bild från Pixabay

Tentamen 1 i Matematik 1, HF1903, för BD10 onsdag 22 september 2010, kl

NYCKELORDSSÖKNING KEYWORD SEARCH. Baserat på Vector Space Model. Based on Vector Space Model

Linjär Algebra, Föreläsning 2

Omvärldsbevakning. Sammanfattning av Business Intelligence-kursen. Nyhetsarkiv och källork. Hämta webbnyheter. Modeller över texter

Rocchio, Ide, Okapi och BIM En komparativ studie av fyra metoder för relevance feedback

October 9, Innehållsregister

Vektorgeometri. En vektor v kan representeras genom pilar från en fotpunkt A till en spets B.

Matematisk statistik för D, I, Π och Fysiker

{ 1, om i = j, e i e j = 0, om i j.

Sökmanual till MetaLib. Utbildningsmaterial framtaget av LIBRIS-avdelningen

Google AdWords. Gustav Bergman

Linjär algebra på några minuter

Innehåll. Informationssökning språkteknologiska hjälpmedel

Moment Viktiga exempel 4.17, 4.18, 4.19, 7.20, 4.22, 4.23 Handräkning 4.17, 4.18, 4.19, 4.21, 4.24, 4.54 Datorräkning.

! &'! # %&'$# ! # '! &!! #

1 Vektorer i koordinatsystem

c d Z = och W = b a d c för några reella tal a, b, c och d. Vi har att a + c (b + d) b + d a + c ac bd ( ad bc)

En komparativ litteraturstudie av olika termkällor för query expansion

x 1 x 2 T (X) = T ( x 3 x 4 x 5

SF1624 Algebra och geometri

Automatisk tesauruskonstruktion med latent semantisk indexering

Tänk kreativt! Informationssökning. Ha ett kritiskt förhållningssätt! regiongavleborg.se

GRATIS SEO, SÖK- OPTIMERING? JA, DETTA KAN DU GÖRA SJÄLV!

Undervisningen i ämnet matematik ska ge eleverna förutsättningar att utveckla följande:

2D1418, Språkteknologi NADA, Kungliga Tekniska Högskolan SÖKMOTOROPTIMERING. Av Erik Lindgren

Kategorisering och klustring. Kategorisering vid indexering. Kategorisering. Kategorisering föränderligtf. Klustring

Föreläsn. anteckn. HT13. Vecka 6-7. Egenvärden och Egenvektorer. Slumpvandringar på Grafer. Kap. 8-9

Globala och lokala sökmotorer: En utvärdering av Google, MSN Search och Svesök

Söka, värdera, referera

Sö ka artiklar öch annan litteratur

Vektorgeometri för gymnasister

LINJÄR ALGEBRA II LEKTION 6

Slutrapport Vertikala Sökmotorer Uppdrag från.se:s Internetfond Våren 2008

Effektiv sökning med Google En jämförelse i återvinningseffektivitet mellan enkel och avancerad sökning

Tentamen Marco Kuhlmann

Distributionella representationer av ord för effektiv informationssökning

Informationssökning. Joakim Nivre. Introduktion till språkteknologi. Informationssökning. Inledning. Strukturerade data. Ostrukturerade data

P Q = ( 2, 1, 1), P R = (0, 1, 0) och QR = (2, 2, 1). arean = 1 2 P Q P R

Introduktion till sökmotoroptimering (SEO) Du finns på nätet, men syns du?

Evaluering av återvinningseffektiviteten i Svensk Medicin och Google Scholar med medicinska frågor ur Fråga doktorn

Lösningsförslag till övningsuppgifter, del V

Automatisk query expansion En komparativ studie av olika strategier för termklustring baserade på lokal analys

Vektorer, matriser, nätverk - några elementa

6. Matriser Definition av matriser 62 6 MATRISER. En matris är ett rektangulärt schema av tal: a 11 a 12 a 13 a 1n a 21 a 22 a 23 a 2n A =

Sökmotormarknadsföring

Utvärdering av termviktningsvarianter för textkategorisering

Euroling SiteSeeker. Sökning som en tjänst för webbplatser, intranät och e-handel.

WEBBKLUSTRING SLUTRAPPORT

Högre kvalitet med automatisk textbehandling?

Nyhetsbevakning och Information Retrieval. Utvärdering av nyhetsbevakningssystem. Syfte med IR-system. Vilket system är bättre?

Konvexa höljet Laboration 6 GruDat, DD1344

Linjära avbildningar. Låt R n vara mängden av alla vektorer med n komponenter, d.v.s. x 1 x 2. x = R n = x n

TMV206: Linjär algebra

Moment 4.11 Viktiga exempel 4.32, 4.33 Övningsuppgifter Ö4.18-Ö4.22, Ö4.30-Ö4.34. Planet Ett plan i rummet är bestämt då

Nya EU-förordningar. Manual om hur man använder EUR-Lex avancerade sökfunktion

Automatisk indexering på webben En studie av sökmotorn HotBot

So ka artiklar och annan litteratur

Föreläsning 13 Linjär Algebra och Geometri I

Passage Retrieval En litteraturstudie av ett forskningsområde Inom information retrieval

x = som är resultatet av en omskrivning av ett ekvationssystemet som ursprungligen kunde ha varit 2x y+z = 3 2z y = 4 11x 3y = 5 Vi får y z

Internets historia Tillämpningar

SEMSEO sökmotoroptimering SEO

Om uppsatsmallen vid GIH

x +y +z = 2 2x +y = 3 y +2z = 1 x = 1 + t y = 1 2t z = t 3x 2 + 3y 2 y = 0 y = x2 y 2.

1 Grundläggande kalkyler med vektorer och matriser

SEMSEO sökmotoroptimering SEO "Google Top 10. Google SEO sökmotoroptimering Seminarier 2011

Tillämpad biomekanik, 5 poäng Övningsuppgifter

Veckoblad 1, Linjär algebra IT, VT2010

14. Minsta kvadratmetoden

Crash Course Algebra och geometri. Ambjörn Karlsson c januari 2016

Facit/lösningsförslag

CogSum. Ett försök att med dagens automatiska informationsextraheringsmetoder och rankningsalgoritmer skapa sammanfattningar i skumläsningssyfte

x+2y 3z = 7 x+ay+11z = 17 2x y+z = 2

Självkoll: Ser du att de två uttrycken är ekvivalenta?

MATEMATIK GU. LLMA60 MATEMATIK FÖR LÄRARE, GYMNASIET Analys, ht Block 5, översikt

SiteSeeker Partnerworkshop

Transkript:

Information Retrieval Johan Boye, KTH Information Retrieval (IR) Att hitta relevantinformation i en stor mängd texter (och/eller bilder, audio, video, programkod, biomedicinsk data, ) Användaren ger en sökfråga Som svar returneras lista med (länkar till) dokument, eventuellt sorterad efter relevans. 1

Information Retrieval (IR) IR handlar inte bara om att hittaoch rankatexter, utan även om: textkategorisering och klustring automatisk sammanfattning questionanswering (t. ex. Vem förlorade Krim-kriget Ryssland ) multimedia-sökning Vad IR inte är Ett IR-system är inte ett databassystem. Databaser: innehåller strukturerad data tillåter exakt och deterministisk sökning Sökning i ett IR-system är inexakt i flera avseenden: informationsbehov, sökfråga, resultat (vad är ett relevant dokument?). 2

IR-processen Informationsbehov Fråga Dokument Representation Representation Feedback / Evaluering Jämförelse Hämtade dokument Utvärdering Precision ret rel p = ret Täckning (recall) ret rel r = rel där rel = antal relevanta dokument (totalt) ret = antal returnerade dokument 3

Varför studera IR? Kort svar: söker bland ca 1000 miljarder dokument (!) returnerar svar på ca 0,5s är värderat till många miljarder dollar Hur går det till? hundratusentals maskiner distribuerade lagrings- och sökningsmetoder avancerad rankningsalgoritm (PageRank) Hur funkar Google? Under huven finns vanlig IR-teknik, dvs: Webben indexeras Indexet kopplar termer till webbsidor Användarens behov av information representeras av en fråga(query) Frågor matchas mot webbsidor via indexet Google försöker att returnera sidor som är relevantaför frågan 4

Exempel. Vilka pjäser av Shakespeare innehåller orden Brutus OCH Caesar men INTE Calpurnia? Förslag: Sök efter Brutus i alla pjäser resultatmängd R1 Sök efter Caesar i R1 resultatmängd R2 Sök igenom R2 och returnera texter som inteinnehåller Calpurnia Vad är det för fel på denna lösning? Term-dokument-matris Antonius och Cleopatra Julius Caesar Stormen Hamlet Othello Macbeth Antonius 1 1 0 0 0 1 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 nåd 1 0 0 1 1 1 medborgare 1 1 0 0 1 0 1 om pjäsen innehåller termen, 0 annars 5

Boolesk sökning Följande bit-vektorer representerar termerna: Brutus: 110100, Caesar: 110111, Calpurnia: 010000, INTE Calpurnia 101111 Bitvis OCH: 110100 & 110111 & 101111 = 100100 Svaret på frågan blir alltså första och fjärde kolumnen i matrisen: Antonius och Cleopatra samt Hamlet Boolesk sökning: Fördelar Enkel modell att förstå och implementera Betydelsen av en Boolesk sökfråga är exakt definierad Funkar bra för vana användare som arbetar med en väldefinierad samling dokument (typ bibiotekarier) 6

Boolesk sökning: Problem Många användare har problem att formulera sökfrågor Returnerar ofta för många eller för få resultat zyxelp-660h 192 000 resultat zyxelp-660h no card found 0 resultat Krävs skicklighet att formulera en sökfråga som ger ett hanterbart antal resultat Ingen rankning av resultat Alla termer lika viktiga Boolesk sökning i Google Google använder interen Boolesk sökning, men det finns vissa möjligheter: johanboyevs johanor boye johan boye junge johanboyevs johanboye Förut fanns johannear boye, men detta verkar ha tagits bort 7

Rankade sökmodeller Rankade sökmodeller Varje matchande dokument ges en poäng, t.ex. mellan 0 och 1 Ju högre poäng, desto bättre matchar dokumentet frågan Notera: många träffar är inte längre ett problem visa bara de k (=10) bästa resultaten Förutsättning: Rankningsmetoden funkar 8

Rankade sökmodeller Vektorrumsmodellen-matchningsproblemet översätts till ett geometriskt problem tf-idf-viktning tar hänsyn till söktermernas frekvens Vektorrum + tf-idf modell där dokument blir rankade efter hur mycket de liknar sökfrågan Rankning fler alternativ Sidor som besöks av många användare hamnar högt Sidor som har många viktiga in-länkarhamnar högt (PageRank) Välkända kvalitetssidor (Wikipedia, tidningar) hamnar högt Personaliserad sökning: Rankning efter din tidigare sökningshistorik Pengarna bestämmer: Rankning efter hur mycket annonsörer betalar Kommersiella sökmotorer använder en blandning av flera kriterier 9

Matris - antal ordförekomster Antonius och Cleopatra Julius Caesar Stormen Hamlet Othello Macbeth Antonius 157 73 0 0 0 1 Brutus 4 157 0 1 0 0 Caesar 232 227 0 2 1 1 Calpurnia 0 10 0 0 0 0 Cleopatra 57 0 0 0 0 0 nåd 2 0 3 5 5 1 medborgare 1 2 0 0 1 0 Varje dokument är en punkt eller vektor i en term-rymd. Dokument som vektorer nåd Hamlet Othello Stormen Antonius & Cleopatra Macbeth Julius Caesar medborgare 10

Bag-of-words-modell tf t,d = antal gånger termen t förekommer i dokument d Ett dokument d (tf 1,d, tf 2,d,, tf n,d ) Kalle är bättre än Nisse och Nisse är bättre än Kalle har samma vektor Hur lika är två dokument doch e? Första idén: multipliceravektorerna komponentvis, summera produkterna Viktning av termer w i,j = tf i,j idf i tf = termfrekvens Sätt tf i,j = n i,j där n i,j är antal gånger term iförekommer i dokument j idf = invers dokumentfrekvens Sätt idf i = log(n/n), där N är det totala antalet dokument, och n antal dokument där ord iförekommer 11

idf-viktning Notera: idfhar ingen betydelse vid en-ords-frågor, som nyckfull. Vid en tvåordsfrågasom nyckfull man, kommer förekomster av nyckfull räknas mer än förekomster av man när rankingen räknas ut Matris tf-idf-vikter Antonius och Cleopatra Julius Caesar Stormen Hamlet Othello Macbeth Antonius 0.104 0.047 0 0 0 0.100 Brutus 0.003 0.101 0 0.038 0 0 Caesar 0.041 0.038 0 0.020 0.011 0.026 Calpurnia 0 0.016 0 0 0 0 Cleopatra 0.098 0 0 0 0 0 nåd 0.0003 0 0.079 0.049 0.057 0.026 medborgare 0.0007 0.001 0 0 0.043 0 12

Matris - antal ordförekomster Antonius och Cleopatra Julius Caesar Stormen Hamlet Othello Macbeth Antonius 157 73 0 0 0 1 Brutus 4 157 0 1 0 0 Caesar 232 227 0 2 1 1 Calpurnia 0 10 0 0 0 0 Cleopatra 57 0 0 0 0 0 nåd 2 0 3 5 5 1 medborgare 1 2 0 0 1 0 Mer om termviktning Stopplistor Ta bort icke-betydelsebärande ord Lingvistiskt baserat funktionsord Statistiskt baserat vanliga ord Termnormalisering Trunkering maximal termlängd Lemmatisering morfologisk analys Stemming medelväg; suffix-borttagning 13

Sökfrågor som vektorer Representera även sökfrågor som vektorer i termrymden Ranka dokument efter deras närhet till sökfrågan Närhet = avstånd? Närhet = vinkel? Avståndsmått: dålig idé nåd d2 d1 q Avståndet mellan q ochd2 ärstort, trots att fördelningen avtermer iq ochd2 liknar varandra. d3 medborgare 14

Vinklar i stället för avstånd Tänk om: Låt d vara ett dokument. Lägg ihop två kopiorav defter varandra. Kalla detta dokument dd Semantiskt har d och dd samma innehåll. Avståndet mellan doch ddkan vara stort Men: Vinkeln är 0, dvsmaximal likhet Cosinus-mått Skalärprodukten mellan u och v: Det gäller också att: där u = längden av u, och θär vinkeln mellan uoch v Alltså: u v n = i = 0 u i v u v = u v cosθ n = cos u v i 0 i θ = u v i i 15

Längd-normalisering Dividera varje komponenti vektorn vmed längden på v: x = Varje (dokument-)vektor har då längd 1 (enhetsvektorer) Notera: Dokumenten d och ddär likaefter normalisering i x 2 i Cosinus(sökfråga,dokument) Skalärprodukt q d cos( q, d) = = q d Enhetsvektorer = n i n qi q i är tf-idf-viktenav term iisökfrågan i= 0 d i är tf-idf-viktenav term iidokumentet q q d d = 0 2 q d i i n i= 0 d 2 i 16

Illustration av cosinus-mått nåd d1 q d2 d3 medborgare Sammanfattning Vektorrumsmodell-ranking: Representerar varje dokument d som en viktad tf-idfvektor Representerar sökfrågan q som en viktad tf-idf-vektor Beräknar cosinus-måttet [0..1] för q och varje d Rankar dokumenten efter detta mått Returnerar de bästa k (=10) dokumenten 17

Rankning av webbsidor Vi vill att returnerade dokument ska vara både relevanta och av god kvalitet Relevans: cosinus-mått cos(q,d) Kvalitet: oberoende av sökfrågan g(d) poäng(q,d) = cos(q,d)+g(d) PageRankär ett sätt att mäta en sidas kvalitet Webben är en riktad graf hyperlänk 18

Ranking med hjälp av länkstruktur Antagande: En länkfrånxtill Y signalerarattxs författaretyckeratty ären sidaavgod kvalitet. X läggeren röst påy. Första förslag: Rank = antal in-länkar PageRank WWW har en speciell struktur som kan utnyttjas sidor länkar till varandra Ju fler in-länkar, desto högre rank In-länkarfrån sidor med hög rank är värda mer än länk från sidor med låg rank Denna idé ligger bakom PageRank (Brin& Page 1998) En randomsurfer som slumpmässigt klickar på länkar kommer oftare besöka sidor med högre PageRank 19

PageRank första försöket PR ( p ) = q in ( p ) PR ( q ) L q där poch qär sidor in(p) är de sidor som länkar tillp L q är antal ut-länkarfrån q PageRank beräknas genom en iterativ algoritm The random surfer model Antag en surfare som följer länkar slumpmässigt Länken som ska följas väljs med likformig sannolikhet Om surfaren kommer till en sänka(en sida utan länkar), börjar hon om på en slumpmässigt vald sida Då och då hoppar surfaren till en slumpmässigt vald sida (även om det finns länkar att följa) 20

PageRank andra försöket Med sannolikhet 1-cblir surfaren uttråkad, slutar att följa länkar, och börjar om på en slumpmässig sida Gissning: Google använder c=0.85 PR ( p ) = c q in ( p ) PR ( q ) L q + (1 N c ) Utan detta antagande kommer surfaren att fastna i en delmängd av webben. PageRank: exempel PR2 PR =.85 + PR 2 4 0 3 + 0.15 5 0 1 3 4 PR = PR.85 3 + PR PR + 2 PR + 4 0 2 4 3 0 1 + 0.15 5 2 PR = PR = PR.85 3 PR + 4 0 4 2 1 0 + PR PR =.85 4 4 0 0 + 0.15 5 0.15 5 21

PageRank- tolkningar Popularitet / kvalitet / relativt informationsvärde PR p = sannolikheten att slumpsurfaren kommer att befinna sig på sida pvid ett givet tillfälle Detta kallas den stationära sannolikheten Exempel 0 1 3 4 Stationära sannolikheter: ( 0.102, 0.131, 0.131, 0.298, 0.339 ) hittade efter 17 iterationer från startvektorn (0.2, 0.2, 0.2, 0.2, 0.2) 2 22

Googles ranking Google använder PageRank + hemliga utökningar upptäcker länkfarmer AdWords hur sökorden är representerade på sidan (i rubriker, versaler/gemena, metadata, ) 23