Søgemaskiner på Internettet

Relaterede dokumenter
Internetsøgemaskiner. Gerth Stølting Brodal Datalogisk Institut Aarhus Universitet

Internetsøgemaskiner

Internetsøgemaskiner. Gerth Stølting Brodal Datalogisk Institut Aarhus Universitet

Internetsøgemaskiner

Internetsøgemaskiner

Søgemaskiner. Hvordan virker søgemaskinerne på internettet? Gerth Stølting Brodal Datalogisk Institut Aarhus Universitet

Perspektiverende Datalogi Internetalgoritmer. Gerth Stølting Brodal

Sådan virker. (måske) Gerth Stølting Brodal. Datalogisk Institut Aarhus Universitet

Perspektiverende Datalogi 2011

Sådan virker. (måske) Gerth Stølting Brodal. Datalogisk Institut Aarhus Universitet

Perspektiverende Datalogi Internetalgoritmer. MapReduce. Gerth Stølting Brodal

PARALLELIZATION OF ATTILA SIMULATOR WITH OPENMP MIGUEL ÁNGEL MARTÍNEZ DEL AMOR MINIPROJECT OF TDT24 NTNU

Project Step 7. Behavioral modeling of a dual ported register set. 1/8/ L11 Project Step 5 Copyright Joanne DeGroat, ECE, OSU 1

SEARCH ENGINE OPTIMIZATION

Help / Hjælp

Målet for disse slides er at diskutere nogle metoder til at gemme og hente data effektivt.

IBM Network Station Manager. esuite 1.5 / NSM Integration. IBM Network Computer Division. tdc - 02/08/99 lotusnsm.prz Page 1

Målet for disse slides er at beskrive nogle algoritmer og datastrukturer relateret til at gemme og hente data effektivt.

Black Jack --- Review. Spring 2012

Website review groweasy.dk

DET KONGELIGE BIBLIOTEK NATIONALBIBLIOTEK OG KØBENHAVNS UNIVERSITETS- BIBLIOTEK. Index

Netværk & elektronik

Vores mange brugere på musskema.dk er rigtig gode til at komme med kvalificerede ønsker og behov.

Basic statistics for experimental medical researchers

Skriftlig Eksamen Kombinatorik, Sandsynlighed og Randomiserede Algoritmer (DM528)

Apache Lucene og Solr

To the reader: Information regarding this document

Sortering fra A-Z. Henrik Dorf Chefkonsulent SAS Institute

Portal Registration. Check Junk Mail for activation . 1 Click the hyperlink to take you back to the portal to confirm your registration

Webside score akcpdistributor.de.cutestatvalue.com

Tilgang til data. To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (også kaldet key, nøgle) for dataelementer.

Webside score seo-haip.com

IBM WebSphere Operational Decision Management

Statistical information form the Danish EPC database - use for the building stock model in Denmark

Da beskrivelserne i danzig Profile Specification ikke er fuldt færdige, foreslås:

Tilgang til data. To udbredte metoder for at tilgå data: Sekventiel tilgang Random access: tilgang via ID (key, nøgle) for dataelementer.

Skriftlig Eksamen Beregnelighed (DM517)

3D NASAL VISTA TEMPORAL

Privat-, statslig- eller regional institution m.v. Andet Added Bekaempelsesudfoerende: string No Label: Bekæmpelsesudførende

how to save excel as pdf

Sortering. Eksempel: De n tal i sorteret orden

3D NASAL VISTA 2.0

Hvor er mine runde hjørner?

Software 1 with Java. Recitation No. 7 (Servlets, Inheritance)

Webside score templatedownload.org

Sortering. Eksempel: De n tal i sorteret orden

Sortering af information er en fundamental og central opgave.

applies equally to HRT and tibolone this should be made clear by replacing HRT with HRT or tibolone in the tibolone SmPC.

Webside score skillers.tech

Sider og segmenter. dopsys 1

Vina Nguyen HSSP July 13, 2008

The X Factor. Målgruppe. Læringsmål. Introduktion til læreren klasse & ungdomsuddannelser Engelskundervisningen

IBM WebSphere Operational Decision Management

Dagens program. Domæner. change log- screen shots hver gang I har arbejdet med themet. Arkitekturen bag en wp blog. Hvad er widgets.

ArbejsskadeAnmeldelse

The purpose of our Homepage is to allow external access to pictures and videos taken/made by the Gunnarsson family.

Overview LINKING METRICS BACKLINKS TYPES. URL Rating Domain Rating Backlinks Referring Domains. Referring Pages 173. text 173. Total Backlinks 184

WordCamp Denmark Hurtigere websites med simple optimeringer. Tobias Borg Petersen Digicure A/S

Terminologi. Search Engine Marketing (SEM) Search Engine Optimization (SEO) Black Hat SEO White Hat SEO Pay Per Click (PPC)

Overview LINKING METRICS BACKLINKS TYPES. URL Rating Domain Rating Backlinks Referring Domains. Referring Pages 129. text 129. Total Backlinks 129

6 Ugers Digital Markedsførings Uddannelse. Online Marketing SEO Præsentation Anders Sevelsted Bigum&Co Amagerbrogade

Unitel EDI MT940 June Based on: SWIFT Standards - Category 9 MT940 Customer Statement Message (January 2004)

QUICK START Updated:

Resource types R 1 1, R 2 2,..., R m CPU cycles, memory space, files, I/O devices Each resource type R i has W i instances.

Enterprise Search fra Microsoft

QUICK START Updated: 18. Febr. 2014

User Manual for LTC IGNOU

Userguide. NN Markedsdata. for. Microsoft Dynamics CRM v. 1.0

Netværksalgoritmer 1

ECE 551: Digital System * Design & Synthesis Lecture Set 5

Sortering af information er en fundamental og central opgave.

IP version 6. Kapitel 3: IPv6 in Depth Baseret på bogen: Cisco Self-study: Implementing Cisco IPv6 Networks Henrik Thomsen V1.0.

WIKI & Lady Avenue New B2B shop

Heuristics for Improving

Webside score digitalenvelopes.

Learnings from the implementation of Epic

Programmeringscamp. Implementer funktionerne én for én og test hele tiden.

Webside score kcinterfaith.org

Basic Design Flow. Logic Design Logic synthesis Logic optimization Technology mapping Physical design. Floorplanning Placement Fabrication

CHAPTER 8: USING OBJECTS

Udbud på engelsk i UCL. Skabelon til beskrivelse

En guidet tur gennem Clilstore

Subject to terms and conditions. WEEK Type Price EUR WEEK Type Price EUR WEEK Type Price EUR WEEK Type Price EUR

MSE PRESENTATION 2. Presented by Srunokshi.Kaniyur.Prema. Neelakantan Major Professor Dr. Torben Amtoft

Linear Programming ١ C H A P T E R 2

Measuring the Impact of Bicycle Marketing Messages. Thomas Krag Mobility Advice Trafikdage i Aalborg,

GNSS/INS Product Design Cycle. Taking into account MEMS-based IMU sensors

extreme Programming Kunders og udvikleres menneskerettigheder

Webkorpora: Yahoo API og perl

Applications. Computational Linguistics: Jordan Boyd-Graber University of Maryland RL FOR MACHINE TRANSLATION. Slides adapted from Phillip Koehn

K

Backup Applikation. Microsoft Dynamics C5 Version Sikkerhedskopiering

Fejlbeskeder i SMDB. Business Rules Fejlbesked Kommentar. Validate Business Rules. Request- ValidateRequestRegist ration (Rules :1)

Microsoft Dynamics C5. version 2012 Service Pack 01 Hot fix Fix list - Payroll

High-Performance Data Mining med SAS Enterprise Miner 14.1

SKEMA TIL AFRAPPORTERING EVALUERINGSRAPPORT

KOM GODT I GANG MED. Desktop Mendeley Menuen er simpel og intuitiv. I Menuen Tools finder du web importer og MS Word plugin

Hosted CRM Outlook client connector setup guide. Date: Version: 1. Author: anb. Target Level: Customer. Target Audience: End User

Aktivering af Survey funktionalitet

Fejlbeskeder i Stofmisbrugsdatabasen (SMDB)

Transkript:

1 Søgemaskiner på Internettet Gerth Stølting Brodal og Rolf Fagerberg BRICS, Daimi, Aarhus Universitet Foredrag i Datalogforeningen, 29. januar 2003

2 Internettet Meget stor mængde information. Ustruktureret. Hvordan finder man relevant info?

2 Internettet Meget stor mængde information. Ustruktureret. Hvordan finder man relevant info? Søgemaskiner!

2 Internettet Meget stor mængde information. Ustruktureret. Hvordan finder man relevant info? Søgemaskiner! 94: Lycos,... 96: Alta Vista: mange sider. 99: Google: mange sider og god ranking.

3 Moderne Søgemaskiner Imponerende performance. F.eks. : Søger i 3 10 9 sider (jan 03). Svartider 0,1 sekund 1000 brugere i sekundet. Finder relevante sider (Do you feel lucky...?)

3 Moderne Søgemaskiner Imponerende performance. F.eks. : Søger i 3 10 9 sider (jan 03). Svartider 0,1 sekund 1000 brugere i sekundet. Finder relevante sider (Do you feel lucky...?) Hvem bruger bookmarks mere?

4 Umoderne Søgemaskiner Ikke alle er (var) lige gode... Example of a query princess diana Engine 1 Engine 2 Engine 3 Relevant and high quality Relevant but low quality Not relevant index pollution M. Henzinger Web Information Retrieval 4

5 Dette foredrag Teknologien bag effektive søgemaskiner

5 Dette foredrag Teknologien bag effektive søgemaskiner NB: Søgemaskine Emnekatalog (Yahoo, Jubii,... ) Emnekataloger er stadig mest manuelt arbejde. Behandles ikke her.

5 Dette foredrag Teknologien bag effektive søgemaskiner NB: Søgemaskine Emnekatalog (Yahoo, Jubii,... ) Emnekataloger er stadig mest manuelt arbejde. Behandles ikke her. Hvis tid: andre forskningsemner relateret til Internettet

6 Dette foredrag Uddrag af kurset: Algorithms for Web Indexing and Searching Daimi, efteråret 2002

6 Dette foredrag Uddrag af kurset: Algorithms for Web Indexing and Searching Daimi, efteråret 2002 For litteratur med yderligere detaljer, se:

7 Overblik Indledning Google facts Information Retrieval generelt Teknisk mellemspil En søgemaskines dele Crawling Indeksering Søgning og ranking Gør-det-selv Yderligere emner

8 Startet i 1995 som forskningsprojekt ved Stanford University af ph.d. studerende Larry Page og Sergey Brin Privat firma grundlagt 1998 500 medarbejdere, 50 med en ph.d. Ansvarlig for ca. halvdelen af alle internet-søgninger 3 datacentre, to i Silicon Valley og et på USA s østkyst google googol = 10 100

9 Services Søgemaskine Hurtig Relevante links Opdateret Cache GoogleScout (lignende sider) Automatisk stavekontrol Interface til WAP og PDA Produktsøgninger (froogle) Billed søgning Aktiekurser, kort, ordbøger, nyheder, telefonbøger... Stemmestyret teknologi AdWords tekstbaseret reklame query afhængig Licenser AOL/Netscape, Red Hat, Virgin Group, YAHOO, The Washington Post... Web API Hardware + Software

10 Fakta +3.000.000.000 web sider +35.000.000 ikke HTML sider +700.000.000 USENET beskeder (20 år) +2 Terabyte index, opdateres en gang om måneden +2.000.000 termer i indeks +150.000.000 søgninger om dagen (2000 i sekundet) +200 filtyper: HTML, Microsoft Office, PDF, PostScript, WordPerfect, Lotus... 28 sprog

Hardware Cluster af +10.000 Intel servere Single-processor 256 MB 1 GB RAM 2 IDE diske med 20-40 Gb Fejl-tolerance: Redundans Hastighed: Load-balancing Netværk Gigabit ethernet backbone Round-robin DNS for at dirigere traffiken til data centrerne (fremtiden Border Gateway Protocol) Internt i data centrerne bruges egenudviklet load-balancing software 11

Software Red Hat Linux Pris: bought 50 copies... goodwill gesture Adgang til kildetekst In-house support Stort rekruteringsgrundlag Mest udbredte linux Fjernet X windows Apache Web Server Telnet... Bibeholdt Alle maskiner har identisk grundkonfiguration (kan bruges til både webserver, indeks,...) Stateless services Egenudviklet automatisk installations værktøjer (Linux halter efter SUN) 12

13 Zeitgeist Las Ketchup

14 Overblik Indledning Google facts Information Retrieval generelt Teknisk mellemspil En søgemaskines dele Crawling Indeksering Søgning og ranking Gør-det-selv Yderligere emner

15 Information Retrieval Generelt: Lav indeks over data. Søg i indekset: Find alle relevante dokumenter. Rank (orden) dokumenterne efter relevans, vis mest relevante først. Klassisk Information Retrieval (IR): Metoder til homogene samlinger af tekst dokumenter. Moderat antal dokument. Eksempler: Biblioteker, nyhedsarkiver, videnskabelige dokumentsamlinger.

IR på Internettet Vanskeligheder: Dokumenter er ikke lokale. Dokumenter er meget forskellige. Dokumentsamling ikke statisk (dokumenter ændrer sig, tilføjes, forsvinder). Meget stort antal dokumenter (milliarder af dokumenter, samlet størrelse måles i Terabytes). Pladsforbrug og svartider kritiske. Distribution og parallelisme er nødvendigt. Mange (f.eks. 100.000) relevante dokumenter for mange søgninger. God ranking er essentiel. Fordele: Ekstra struktur: links. 16

17 IR på Internettet Yderligere udfordringer: Mange næsten ens dokumenter (30%) Bruger meget forskellige, men utålmodige. Avancerede søgemuligheder bruges ikke. Indexering af og søgning efter ikke-tekstuelle dokumenter. Multimedie. Databaser. Dette foredrag omhandler kun tekstdokumenter.

18 Overblik Indledning Google facts Information Retrieval generelt Teknisk mellemspil En søgemaskines dele Crawling Indeksering Søgning og ranking Gør-det-selv Yderligere emner

19 Internetgrafen Internettet = en orienteret graf knuder = sider (URL er) kanter = links

20 Massive datamængder Hukommelseshierarkiet: RAM CPU Cache2 Reg. Cache1 Disk Tertiary Storage

20 Massive datamængder Hukommelseshierarkiet: RAM CPU Cache2 Reg. Cache1 Disk Tertiary Storage Access time Volume Registers 1 cycle 1 Kb Cache2 5 cycles 512 Kb RAM 50 cycles 256 Mb Disk 2,000,000 cycles 80 Gb

20 Massive datamængder Hukommelseshierarkiet: RAM CPU Cache2 Reg. Cache1 Disk Tertiary Storage Access time Volume Registers 1 cycle 1 Kb Cache2 5 cycles 512 Kb RAM 50 cycles 256 Mb Disk 2,000,000 cycles 80 Gb For datamængder > > RAM: Disk access er flaskehalsen Disk access skal minimeres (ikke CPU tid)

21 Generisk eksempel Én disk-access (I/O) overfører blok (page) med B elementer. To O(n) algoritmer: 1. Virtuel huk. tilgås tilfældigt page fault ved hver tilgang. 2. Virtuel huk. tilgås sekventiel page fault hver B te tilgang.

21 Generisk eksempel Én disk-access (I/O) overfører blok (page) med B elementer. To O(n) algoritmer: 1. Virtuel huk. tilgås tilfældigt page fault ved hver tilgang. 2. Virtuel huk. tilgås sekventiel page fault hver B te tilgang.

21 Generisk eksempel Én disk-access (I/O) overfører blok (page) med B elementer. To O(n) algoritmer: 1. Virtuel huk. tilgås tilfældigt page fault ved hver tilgang. 2. Virtuel huk. tilgås sekventiel page fault hver B te tilgang. O(N) I/O er vs. O(N/B) I/O er Typically, B 10 3.

22 Specifikt Eksempel QuickSort sekventiel tilgang vs. HeapSort tilfældig tilgang QuickSort: HeapSort: O(N log 2 (N/M)/B) O(N log 2 (N/M))

23 Standard MergeSort Merge af to sorterede sekvenser sekventiel tilgang. MergeSort: O(N log 2 (N/M)/B) I/O er

24 Multiway MergeSort Merge af M/B sorterede sekvenser (M = RAM størrelse). Multiway MergeSort: O(N log M/B (N/M)/B) I/O er

25 Overblik Indledning Google facts Information Retrieval generelt Teknisk mellemspil En søgemaskines dele Crawling Indeksering Søgning og ranking Gør-det-selv Yderligere emner

26 En søgemaskines dele Indsamling af data: Webcrawling (gennemløb af internetgrafen). Indeksering data: Parsning af dokumenter. Lexicon: indeks (ordbog) over alle ord mødt. Inverted file: for alle ord i lexicon, angiv i hvilke dokumenter de findes. Søgning i data: Find alle dokumenter med søgeordene. Rank dokumenterne.

es that can be reached from the core but not vice versa. The other loop consists of 22% of the p t can reach the core, but Generel cannot be reachedopbygning from it. (The remaining nodes can neither reach e nor can be reached from the core.) Figure 1: General search engine architecture 27 [Fra: Arasu et al., Searching the Web]

28 Konkret eksempel Google: (1998) [Fra: Brin and Page, Anatomy of... ]

29 Overblik Indledning Google facts Information Retrieval generelt Teknisk mellemspil En søgemaskines dele Crawling Indeksering Søgning og ranking Gør-det-selv Yderligere emner

30 Crawling Webcrawling = Grafgennemløb S = {startside} repeat fjern en side s fra S parse s og find alle links (s, v) foreach (s, v) if v ikke besøgt før indsæt v i S

31 Designovervejelser Startpunkt (initial S). Crawl-strategi (valg af s). Mærkning af besøgte sider. Robusthed. S = {startside} repeat fjern en side s fra S parse s og find alle links (s, v) foreach (s, v) if v ikke besøgt før indsæt v i S Ressourceforbrug (egne og andres ressourcer). Opdatering. Kontinuert vs. periodisk crawling. Output: DB med besøgte dokumenter. DB med links i disse (kanterne i Internetgrafen) DB med DokumentID URL mapning

32 Crawl-strategier Breath First Search Depth First Search Random Priority Search Mulige prioriteter: Sider som opdateres ofte (kræver metode til at estimatere opdateringsfrekvens). Efter vigtighed (kræver metode til at estimere vigtighed, f.eks. PageRank).

BFS virker godt Average PageRank 8 6 4 2 0 0 5 10 15 20 25 30 35 40 45 50 55 Day of crawl Average day top N pages were crawled 25 20 15 10 5 1 10 100 1000 10000 100000 1e+06 1e+07 1e+08 top N Figure 1: Average PageRank score by day of crawl Figure 2: Average day on which the top N pages were crawled CS2 is designed to give high-performance access when run on a machine with enough RAM to store the database in memory. On the 667 MHz Compaq AlphaServer ES40 with 16 GB of RAM used in our experiments, it takes 70-80 ms to convert a URL into an internal id or vice versa, and 0.1 ms/link to retrieve each incoming or outgoing link as an internal id. The database for our crawl of 328 million pages contained 351 million URLs and 6.1 billion links. Therefore, one iteration of PageRank ran in about 15 minutes. 4. AVERAGE PAGE QUALITY OVER A LONG CRAWL [Fra: Najork and Wiener, 2001] Fra et crawl af 328 millioner sider. pages on the same host endorse each other, but few other hosts endorse them. We address this phenomenon later in the last experiment, shown in Figure 4. After N equals 400, the curve steadily increases to day 24.5, the mean download day of the entire crawl. Our next experiment checks that pages with high Page- Rank are not ranked high only because they were crawled early. For example, a page whose outgoing links all point to pages with links back to it might have an artificially high PageRank if all of its outgoing links have been crawled, but not too many other pages. For this experiment we ran the PageRank algorithm on the graph induced by only the first 33

pages downloaded from the Stanford domain, and the vertical axis shows the percentage of hot pages PageRank prioritet er endnu bedre downloaded. In the experiment, the crawler started at the Stanford homepage (http://www.stanford.edu) and, in three different experimental conditions, selected the next page visit either by the ordering metric (men mere beregningstung... ) IR (P) (PageRank), by IB (P) (backlink), or by following links breadth-first (breadth). The straight line in the graph shows the expected performance of a random crawler. Hot pages crawled 100% 80% 60% 40% Ordering metric: PageRank backlink breadth random 20% 0% 0% 20% 40% 60% 80% 100% Pages crawled Figure 2: The performance of various ordering metrics for IB(P); G = 100 From the graph, we can clearly see that an appropriate ordering metric can significantly improve the performance of the crawler. For example, when the crawler used IB (P) (backlink) as its ordering metric, the crawler downloaded more than 50% of hot pages, when it visited less than 20% of the entire Web. This is a significant improvement compared to a random crawler or a breadth first crawler, which downloaded less than 30% of hot pages at the same point. One interesting result of this experiment is that the PageRank ordering metric, IR (R), shows better performance than the backlink ordering [Fra: Arasu et al., 2001] Fra et crawl af 225.000 sider på Stanford University. 34

35 Mærkning af besøgte sider S < RAM: Hashtabel over besøgte URL er. S > RAM: Fil med sorteret liste af (hashværdier af) besøgte URL er. Ryd S op en gang i mellem: Sorter S. Scan S og listen af besøgte URL er. Opdatér begge under scan.

36 Robusthed Normalisering af URLer. Parsning af malformet HTML. Mange filtyper. Forkert content-type fra server. Forkert HTTP response code fra server. Enorme filer. Uendelige URL-løkker (crawler traps)..

36 Robusthed Normalisering af URLer. Parsning af malformet HTML. Mange filtyper. Forkert content-type fra server. Forkert HTTP response code fra server. Enorme filer. Uendelige URL-løkker (crawler traps).. Vær konservativ opgiv at finde alt. Crawling tager måneder brug checkpoints.

37 Ressourceforbrug Egne ressourcer Båndbredde (global request rate) Lagerplads (brug kompakte representationer) Distribuér på flere maskiner (opdel f.eks. rummet af ULR er)

37 Ressourceforbrug Egne ressourcer Båndbredde (global request rate) Lagerplads (brug kompakte representationer) Distribuér på flere maskiner (opdel f.eks. rummet af ULR er) Andres ressourcer (politeness) Båndbredde (lokal request rate). Tommelfingerregel: 30 sekunder mellem request til samme site. Robots Exclusion Protocol (www.robotstxt.org). Giv kontakt info i HTTP-request.

38 Erfaringer ang. effektivitet Brug caching (DNS opslag, URL er). files, senest mødte Flaskehals er ofte I/O under tilgang til datastrukturerne CPU cycler er ikke flaskehals (Java og scripting languages er OK).

38 Erfaringer ang. effektivitet Brug caching (DNS opslag, URL er). files, senest mødte Flaskehals er ofte I/O under tilgang til datastrukturerne CPU cycler er ikke flaskehals (Java og scripting languages er OK). En tunet crawler (på een eller få maskiner) kan crawle 200-400 sider/sek 35 mio sider/dag.

[Fra: Najork and Heydon, 2001] contained in it. For each of the extracted links, ensure that it is an absolute URL (derelativizing it if necessary), and add it to the list of URLs to download, provided it has not been encountered before. If 39 Konkret eksempel: Mercator Mercator DNS Resolver 4 Content Seen? Doc FPs I N T E R N E T 2 3 HTTP FTP RIS 5 6 7 8 Link URL DUE Extractor Filter Tag Counter Log URL Set URL Frontier Queue Files 1 Gopher GIF Stats Log Protocol Modules Processing Modules Figure 1: Mercator s main components.

10 40 Detaljer: Politeness Polite, Dynamic, Prioritizing Frontier Prioritizer 1 2 3 k Front end FIFO queues (one per priority level) Random queue chooser with bias to high priority queues Back end queue router Host to queue table A 3 C 1 F n X 2 Priority queue (e.g., heap) 1 C C C 2 X X X 3 A A A Back end FIFO queues (many more than worker threads) n F F F 2 n 1 3 Back end queue selector Figure 3: Our best URL frontier implementation [Fra: Najork and Heydon, 2001]

3,173 different content types (many of which are misspellings of common types). Figure 7 shows the percentages of the the most common types. Statistik 2 As a point of comparison, the current Google index contains about 700 million fu pages (the index size claimed on the Google home page 1.35 billion includes URL been discovered, but not yet downloaded). 200 OK (81.36%) 404 Not Found (5.94%) 302 Moved temporarily (3.04%) Excluded by robots.txt (3.92%) TCP error (3.12%) DNS error (1.02%) Other (1.59%) Figure 6: Outcome of download attempts text/html (65.34%) image/gif (15.77%) image/jpeg (14.36%) text/plain (1.24%) application/pdf (1.04%) Other (2.26%) Figure 7: Distribution of content types e course of 17 days. 2 Figure 5a shows the number of URLs processed per the crawl; Figure 5b shows the bandwidth consumption over the life of the 20% The periodic downspikes are caused by the crawler checkpointing its state day. The crawl 15% was network-limited over its entire life; CPU load was below nd disk activity was low as well. any web user 10% knows, not all download attempts are successful. During wl, we collected statistics about the outcome of each download attempt. 5% 6 shows the outcome percentages. Of the 891 million processed URLs, 35 were excluded from download by robots.txt files, and 9 million referred to xistent web server; in other words, the crawler performed 847 million HTTP ts. 725 million of these requests returned an HTTP status code of 200 (i.e., uccessful), 94 million returned an HTTP status code other than 200, and 28 encountered a TCP failure. ere are many different types of content on the internet, such as HTML pages, d JPEG images, MP3 audio files, and PDF documents. The MIME (Mul- 0 1 2 4 8 16 32 64 128 256 512 1K 2K 4K 8K 16K 32K 64K 128K 256K 512K 1M Figure 8: Distribution of document sizes pages (of type text/html) account for nearly two-thirds of all documents; images (in both GIF and JPEG formats) account for another 30%; all other content types combined account for less than 5%. 15 41

correlated. However, there are some interesting wrinkles. For example, the.edu 42 Zipfian. Finally, Figure 10 shows the distributions of web servers and web pages across top-level domains. About half of the servers and pages fall into the.com domain. For the most part, the numbers of hosts and pages in a top-level domain are well- Statistik 4M 64G 1M 16G 4G 256K 1G 256M 64K 64M 16K 16M 4M 4K 1M 256K 1K 64K 256 16K 4K 64 1K 256 16 64 16 4 4 1 1 1 10 100 1000 10000 100000 1000000 10000000 1 10 100 1000 10000 100000 1000000 10000000 (a) Distribution of pages over web servers (b) Distribution of bytes over web servers Figure 9: Document and web server size distributions 16.com (47.20%).de (7.93%).net (7.88%).org (4.63%).uk (3.29%) raw IP addresses (3.25%).jp (1.80%).edu (1.53%).ru (1.35%).br (1.31%).kr (1.30%).nl (1.05%).pl (1.02%).au (0.95%) Other (15.52%) (a) Distribution of hosts over top-level domains.com (51.44%).net (6.74%).org (6.31%).edu (5.56%).jp (4.09%).de (3.37%).uk (2.45%) raw IP addresses (1.43%).ca (1.36%).gov (1.19%).us (1.14%).cn (1.08%).au (1.08%).ru (1.00%) Other (11.76%) (b) Distribution of pages over top-level domains [Fra: Najork and Heydon, 2001] Figure 10: Distribution of hosts and pages over top-level domains

43 Overblik Indledning Google facts Information Retrieval generelt Teknisk mellemspil En søgemaskines dele Crawling Indeksering Søgning og ranking Gør-det-selv Yderligere emner

44 Indeksering af dokumenter Opgave: Preprocessér en dokumentsamling så dokumenter med et givet søgeord kan blive returneret hurtigt. Input: dokumentsamling. Output: søgestruktur

45 Løsning Inverted file + lexicon Inverted file = for hvert ord w en liste af dokumenter indeholdende w. Lexicon = ordbog over alle ord i dokumentsamlingen. (key = ord, value = pointer til liste i inverted file + evt. ekstra info for ordet, f.eks. længde af listen)

45 Løsning Inverted file + lexicon Inverted file = for hvert ord w en liste af dokumenter indeholdende w. Lexicon = ordbog over alle ord i dokumentsamlingen. (key = ord, value = pointer til liste i inverted file + evt. ekstra info for ordet, f.eks. længde af listen) For en milliard dokumenter: Inverted files totalt antal ord 100 mia Lexicon antal forskellige ord 1 mio Disk RAM

46 Lexicon Kan være i RAM, så almindelige ordbogs-datastrukturer er OK. F.eks.: Binær søgning i sorteret liste af ord. Hash tabeller. Tries, suffix træer, suffix arrays.

47 Inverted File Simpel (forekomst af ord i dokument): ord 1 : DocID, DocID, DocID ord 2 : DocID, DocID ord 3 : DocID, DocID, DocID, DocID, DocID,.... Detaljeret (alle forekomster af ord i dokument): ord 1 : DocID, Position, Position, DocID, Position.... Endnu mere detaljeret: Forekomst annoteret med info (heading, boldface, anchor text,... ). Kan bruges under ranking.

48 Komprimer inverted file Specifikke metoder Gem differencen mellem DocID er (ikke absolutte DocID er). Kod denne difference effektivt. Generiske værktøjer (zip,... ) Komprimer hver liste. Opdel lister i blokke, komprimer hver blok.

49 Parsning af dokumenter Find ord Fjern mark-up, scripts,... Definition af ord? (sekvens af alfanumeriske tegn, længde max 256, max 4 digits). Lowercase Tegnsæt? ascii, latin-1, Unicode,.... Stemming? ( funktion, funktionalitet,... funktio ). Stop ord? (udelad hyppige ord som og, er,... ).

50 Bygning af index foreach dokument D i samlingen Parse D og identificér ord foreach ord w Udskriv (DocID, w) if w ikke i lexicon indsæt w i lexicon (1, 2), (1, 37),..., (1, 123), (2, 34), (2, 37),..., (2, 101), (3, 486),... External Sorting Hashing (22, 1), (77, 1),..., (198, 1), (1, 2), (22, 2),..., (345, 2), (67, 3),... inverted file

51 Overblik Indledning Google facts Information Retrieval generelt Teknisk mellemspil En søgemaskines dele Crawling Indeksering Søgning og ranking Gør-det-selv Yderligere emner

52 Søgning og Ranking Query: computer AND science: 1. Slå computer og science op i lexicon. Giver adresse på disk hvor deres lister starter. 2. Scan disse lister og flet dem (returnér DocID er som er med i begge lister). computer: 12, 15, 117, 155, 256,... science: 5, 27, 117, 119, 256,... 3. Udregn rank af fundne DocID er. Hent de 10 højst rank ede i dokumentsamling og returnér URL samt kontekst fra dokument til bruger. OR og NOT kan laves tilsvarende. Hvis lister har ord-positioner kan frase-søgninger ( computer science ) og proximity-søgningner ( computer tæt på science ) også laves.

53 Tekstbaseret ranking Vægt forekomsten af et ord med f.eks. Antal forekomster i dokumentet. Ordets typografi (fed skrift, overskrift,... ) Forekomst i META-tags. Forekomst i tekst ved links som peger på siden Forbedring, men ikke nok på Internettet (rankning af f.eks. 100.000 relevante dokumenter). Let at spamme (fyld siden med søge-ord).

54 Linkbaseret ranking Idé 1: Link til en side anbefaling af den. Vægt en side med dens indgrad i webgrafen. MEN: Let at spamme (opret en masse links til din side).

55 Linkbaseret ranking Idé 1: Link til en side anbefaling af den. Idé 2: Anbefalinger fra vigtige sider skal vægte mere. PageRank Rekursiv def: r(j) = i B(j) r(i)/n(i) r(j) = pagerank af side j, B(j) = sider som peger på side j, N(i) = udgrad af side i. r = ra A = nabomatricen for webgrafen (normaliseret, d.v.s. indgangene i række i divideret med N(i)).

56 Beregning af PageRank PageRank vektoren r er egenvektor for A. r = ra Matematisk teori (ergodisk sætning om random walks): For vilkårlig startvektor x: xa k r for k hvis A opfylder visse betingelser.

57 Beregning af PageRank For at opfylde betingelser i PageRank: erstat A med 0.85A + 0.15E, hvor E er en (normaliseret) nabomatrice som indeholder kanter fra alle sider til alle sider. Vægtningen 85 15% er valgt ud fra at den har vist sig god i praksis. Beregning: Gentag r ny = rgl.(0.85a + 0.15E) I praksis: 20-50 iterationer er nok.

58 PageRank websurfer PageRank beregning kan opfattes som en websurfer som (i uendelig lang tid) i hver skridt med 85% ss. vælger at følge et tilfældigt link fra nuværende side, med 15% ss. vælger at gå til en tilfældig side i hele internettet. PageRank for en side x er lig den procentdel af hans besøg som er til side x. Med andre ord: PageRank-vektoren er den stationære fordeling for ovennævnte Random Walk.

59 Overblik Indledning Google facts Information Retrieval generelt Teknisk mellemspil En søgemaskines dele Crawling Indeksering Søgning og ranking Gør-det-selv Yderligere emner

60 Gør-det-selv MIA Searching the Danish Web Programmeringsprojekt i kurset Algorithms for Web Indexing and Searching. Opgave: lav en søgemaskine for domæne 15 studerende. 4 parallelt arbejdende grupper (crawling, indexing, PageRank, søgning/brugergrænseflade). Google googol, Mia milliard. Se resultatet på:.

61 Overblik Indledning Google facts Information Retrieval generelt Teknisk mellemspil En søgemaskines dele Crawling Indeksering Søgning og ranking Gør-det-selv Yderligere emner

62 Yderligere Emner F.eks.: Andre link-baserede ranking metoder (Kleinbergs HITS ). Egenskaber ved webgrafen. Graf-modeller som kan forudsige disse egenskaber. Identifikation af mirrors/dubletter (websider og hele websites). Spil-teori anvendt på Internettet. Se litteraturlisten på