Sunteți pe pagina 1din 34

WWW-search engines

World Wide Web multitudine de date...

WWW ofer acces la o cantitate imens de


informatie

se estimeaz ca in WWW exista peste 25 miliarde de


documente (nivelul anului 2009)

circa 20 miliarde sunt indicizate de ctre Google

Dcumentele isi dubleaz numrul in fiecare an


Nu se vede inca o limit a acestei cresteri

Tipuri de baza ale serviciilor de cautare:

Webcatalogue (motoare bazate pe un catalog)

cutare pe baza de index(google)

motoare de tip meta(metacrawler)

motoare de cutare contra cost(overture)

1 Index - based vs. Catalogue-based


Cataloage Web

Serviciu de cutare al crui continut este gestionat de ctre


redactori "umani"
Acesti redatori creaz un catalog ordonat dpdv tematic

Paginile web sunt


verificate manual
clasificate de ctre redactie
refuzate sau acceptate pentru publicare

Cutarea are loc prin "rsfoirea" de ctre utilizator a


catalogului

Index - based vs. Cataloguebased


Web catalogues (motoare de cautare bazate pe
cataloage)

Pro:
aprecierea "intelecutal" a paginilor web de ctre personal uman
mbunteste calitatea (precizia) cutrii

Contra:

Relativ puine date


problem serioas de actualitate a informatiilor
proces destul de greoi de evaluare a calittii paginilor
Noile pagini web trebuie adugate manual de ctre
creatorii paginilor

1 Index - based vs. Cataloguebased


Web catalogues
Cum se sorteaza entry-urile n interiorul unui anumit catalog?

Manual
Redactorul atribuie fiecrui site/document o pondere dpdv al
relevantei sale pentru respectivul catalog

Automat
Sortarea n interiorului unui domeniu tematic are loc
alfabetic/cronologic

1 Index - based vs. Catalogue-based


Web catalogues

www.yahoo.com

"Yet Another Hierarchical Officious


Oracle"

fondat in 1994

201 milioane de utilizatori

din care 93 milioane activi

> 1.5 miliarde Page Views pe zi

4500+ Servers

25 International Sites

13 Languages

8.1 Million Lines Of Code in C/C++

3.0 Million Lines Of Code in Perl

1 Index - based vs. Cataloguebased


Motoare de cutare de tip Index-based

Datele indexate sunt adunate si procesate n mod complet


automat

Functii de baz
Adunarea datelor
Analiza documentelor si evaluarea lor
Constructia si gestiunea structurilor de tip index
Rspunsul la query-uri de cutare pe baza relevantei termenilor

1 Index - based vs. Cataloguebased


Motoare de cutare de tip Index-based
Adunarea datelor:

Sunt folosite tool-uri sw speciale ce lucreaz autonom si


automat
(Robots, WebRobots)
Robotii pot gsi n mod automat noi site-uri si documente
n spatiul WWW

Documentele deja existente (indexate) trebuie s fie


verificate
periodic dpdv
al existentei, consistentei si al
Analiza
si evaluarea
documentelor:
modificrilor

Sunt folosite tool-uri sw pentru analiza si evaluarea


continutului
(Information Retrieval Systems)
Interventiile manuale au loc de obicei la anomalii sau in cazul violrii
regulilor existente

Index - based vs. Cataloguebased


Motoare de cutare de tip Index-based
Constructia si gestiunea structurilor de date bazate pe index:

Information Retrieval Systems decid care e continutul


relevant
al documentelor analizate

clasific documentele analizate n functie de categoriile


relevante
(cuvinte cheie - keywords) n interiorul unei baze de date
Documentele sunt nzestrate cu o PONDERE
si sunt ncadrate ntr-o anumit categorie
mpreuna cu ponderea aferent
Procesele care conduc la generarea unui continut
de date ce poate fi parcurs = indexare

Index - based vs. Cataloguebased


Motoare de cutare de tip Index-based
Raspunsul la cererile de cutare:

Cutarea are loc prin introducerea unuia/mai multor cuvinte


cheie
Evaluare automat a relevantei documentelor aflate n baza de
date duce la crearea unei liste populate cu rezultatele query-ului
Query Processor (adevratul motor de cutare) se ocup de cutarea
documentelor si de ordonarea lor n list pe baza relevantei lor

Index - based vs. Cataloguebased


Motoare de cutare de tip Index-based

Pro:

Culegerea automat a datelor (crawling) permite crearea unei


baze de date "ntotdeauna" acutalizat (cu o precizie cunoscut)

Contra:

Precizia cutarii depinde de algoritmii folositi pentru


evaluarea relevantei documentelor

Evaluarea automat a relevantei documentelor poate


duce la rezultate slabe dpdv calitativ (obiectivitate scazut)

Index - based vs. Cataloguebased


Motoare de cutare de tip Index-based

www.google.com
dezvoltat n 1998 de ctre 2 doctoranzi ai universitatii Stanford
Larry Page si Sergey Brin
Googol expresie matematica pt. 10100
> 20 miliarde documente , 2 miliarde de imagini
peste 100 de versiuni in diferite limbi
300 milioane de utilizatori diferiti pe lun
> 700 milioane de query-uri pe zi
Evaluare automat a relevantei (PageRank)

Motoare de cutare de tip Meta


Meta-Search Engines
Desfsurarea unui query (unei interogri):
1.
Acceptarea unui query prin intermediul unei interfete
proprii
(web page)
Generarea
de query-uri de cutare pt motoarele de cutare
2. Trimiterea query-urilor prin HTTP ctre motoarele "in gestiune"
3. Asteptarea si culegerea rezultatelor furnizate de motoarele de cutare
4. Analiza rezultatelor, eliminarea duplicatelor, crearea unui "ranking"
5. pt rezultatele obtinute
6. Reprezentarea rezultatelor (lista)

Cu alte cuvinte, un fel de brokeri web...

Motoare de cautare de tip Meta

Meta-Search Engines

www.metacrawler.com

urilor !!!!!

dezvoltat n 1994 la Universitatea din Washington


trimite query-uri simultan la 23 motoare de cutare
Yellow Pages / White Pages
foloseste un proxy care garanteaz anonimitatea query-

Cum funcioneaz de fapt


Google?
Functionarea Google:

Google - adunarea datelor

Problema 1: o multitudine de tipuri de date in


WWW

documente HTML statice

documente HTML dinamice

imagini (JPG/GIF/PNG/)

documente Postscript/PDF

documente Word/Powerpoint
etc
decizii asupra tipurilor de date care vor fi arhivate

Cum funcioneaz de fapt


Google?
Functionarea Google:

Google - adunarea datelor

Problema nr. 2: WWW is alive


Datele si documentele in WWW
au o "durat de viata"

scurt

sunt supuse unor


modificri permanente

depind de alte documente


(links)
volumul de date gestionat trebuie actualizat periodic!

Cum funcioneaz de fapt


Google?
Functionarea Google:

Google - adunarea datelor

WWW

Client/Server

Google foloseste WebRobots pentru scanarea spatiului


WebRobots lucreaza divizat pe baza modelului

Cautarea de
resurse noi sau
modificate
in spatiul WWW

Cerere
HTTPRequest

Robot
WebCrawler

Document

S
pider

verificate si analizate
periodic de catre
robot
Resursele
sunt scanate

WebRobot

HTTP-Response

Server WWW

Cum funcioneaz de fapt


Google?
Functionarea Google:
Google - adunarea datelor
Componentele unui sistem de tip Web
Robot
Gatherer
Adunarea documentelor din
spatiul WWW
Loader
Organizarea (scheduling)
task-urilor de adunare doc.
URL - Database
Gestionarea ntregului volum
de date
Checker
Filtrarea datelor adunate

Cum funcioneaz de fapt


Google?
Functionarea Google:

Google - adunarea datelor

Componentele unui sistem


WebRobot
URL-DB

11

Checker

Loader

f
2

Gatherer

Gatherer

3
2

Gatherer

Information
Retrieval

Cum funcioneaz de fapt


Google?
Google - adunarea datelor
Componentele unui WebRobot

Gatherer
Scop: Aduna cat mai multe documente posibil si
mentine datele la cel mai actual nivel posibil

Probleme: resurse dinamice, insule, etc.


Decizii n ceea ce priveste momentul de la care se porneste
Criterii: ultima vizi, ct de des este schimbat continutul
HTTP GET-Request
GET http://www.unitbv.ro/~popescu/index.html

User-Agent: Googlebot/2.1

HTTP/1.1

Cum funcioneaz de fapt


Google?
Google - adunarea datelor

Componentele unui WebRobot

Gatherer
Identificarea accesului in log-file pe serverul web
66.249.64.173 - - [10/Dec/2009:09:09:37 +0100]
"GET /~popescu/index.html HTTP/1.0" 404 1614
"-" "Googlebot/2.1
WebServer-ul poate refuza cutarea prin /robots.txt:
User-agent: Googlebot
Disallow: /~user/private/
User-agent: *
Disallow: /

WebRobots
Exclusion Protocol

Cum funcioneaz de fapt


Google?
Google - adunarea datelor

Componentele unui WebRobot

Gatherer
autorul HTML-ului poate gestiona robotii printr-un tag META
<META NAME="ROBOTS" CONTENT="NOINDEX, NOFOLLOW">
"Robot-Netiquette" impune respectarea standardului de excluziune
dar nu toti robotii aplic regulile standardului

Cum funcioneaz de fapt


Google?
Google - adunarea datelor

Componentele unui WebRobot

Checker
decide care din documente gsite de gatherer vor fi trimise la
Information Retrieval-System mai departe
de ex. se face o selectie pe baza

tipului de document,
corectitudinea sintaxei,
disponibilitatea

decide care din link-urile


gsite vor fi si urmrite

contracareaza SPAM-ul,
broken links, Redirect-uri, etc.

elimin dublurile

Cum funcioneaz de fapt


Google?
Google : analizarea datelor

catalogarea documentelor text pe baza continutului


Procedura:

Convertirea documentelor ntr-un tip comun de document


(HTML, Postscript, PDF, DOC, PPT sunt transformate in docuri TXT)

fond de date care poate fi parcurs intr-un mod


eficient
cautarea sirurilor de caractere relevante prin analiza SEMANTIC
a fisierului text

cuvinte cheie,
titluri,
bullet-uri, liste ordonate etc.

legarea cuvintelor cheie (keywords) de documente


crearea Ranking-ului pe baza diferitelor criterii de evaluare
normalizarea datelor
analiza datelor
Indexare

Cum funcioneaz de fapt


Google?
Google: analizarea datelor
normalizarea datelor
identificare cuvinte
identificarea limbii

Information
Retrieval

Word Stemming
descriptori
Black List

Denormalizare
si analiz

Cum funcioneaz de fapt


Google?
Google: analiza datelor

crearea descriptor-ilor Keywords

Scop: un document trebuie reprezentat dpdv al continutului


cat mai complet cu ct mai putine cuvinte cheie (keywords)
pot fi folosite filtre de relevant suplimentare

ex. HTML <H><B>-Tags, anchors, etc.


ex. eliminarea conjunctiilor, pronumelor, cunvintelor de
legtura, etc

George Kingsley
Zipf (19021950)

analiza numrului de aparitii ale unui cuvnt cheie


Legea lui Zipf:
relevant
Pentru autorul unui text este de multe ori mai simplu s repete
anumite cuvinte care descriu o tematica, dect s caute de fiecare
dat noi termeni.

Cum funcioneaz de fapt


Google?
Google: analiza datelor

Structuri de date pentru Information Retrieval

Necesitatea de a avea un rspuns rapid la query-urile de cutare duce


la crearea unor structuri speciale de date

File system de tip direct


Stocarea documentului si a listei de descriptori (keywords) extras
din respectivul document

Lista
Descript
or 1
Descript
or 2
Descript
or 3

Cum funcioneaz de fapt


Google?
Google: analiza datelor

Structuri de date pentru Information Retrieval

Necesitatea de a avea un raspuns rapid la query-urile de cautare duce


la crearea unor structuri speciale de date

File system de tip invers


Unui descrpitor (keyword) i este anexat o serie de documente
relevante
INDEX
Aachen

B.acu

Zair

File de tip invers: Bacu


DocId Pos
Frecventa
1234
1,5,6
3

Pondere
5.43

1235

4.33

2,4

File de tip direct: DocId 1234


Descriptor
Pos

Cum funcioneaz de fapt


Google?
Google: analiza datelor

Ponderi:
Pentru a avea rezultate de calitate ale cutarilor cuvintelor cheie,
trebuie ca documentele aflate n indexul invers s fie nzestrate
cu o pondere conform cu relevanta lor dpdv al keyword-ului

Ce este important?
Term Frequency Algorythm (TFA)
Legea lui Zipf:
Cu ct mai des apare un cuvnt cheie ntr-un text, cu att mai
important trebuie s fie respectivul cuvnt.
aparitia absolut a unui termen aparitia relativ

# KeyWord
# Words

Cum funcioneaz de fapt


Google?
Google: analiza datelor

Ponderi:

Ce este important?
Inverse Term Frequency Algorythm (ITFA)

pentru a caracteriza un document ct mai precis cu ajutorul


unui cuvnt cheie, si pentru a-l diferentia de alte documente,
trebuie considerat si apartitia keyword-ului n alte documente

# KeyWord
# Words # Document s
Cu ct sunt mai multe documente continnd un anumit keyword,cu
att keyword-ul caracterizeaz mai putin fiecare document in parte!

Cum funcioneaz de fapt


Google?
Google: analiza datelor

Relevant si
ponderi
Pentru a avea rezultate de calitate ale cutarilor cuvintelor cheie,
trebuie ca documentele aflate n indexul invers s fie nzestrate
cu o pondere conform cu relevanta lor dpdv al keyword-ului

Ponderarea relevantei

Google distinge intre documente importante si


neimportante

Important:
1. un document este cu att mai important cu ct mai multe documente
pointeaz ctre acest document prin intermediul unor link-uri
2. un document care pointeaz ctre un document "important" prin
intermediul unui link este el nsusi important
3. cu cat un document are mai multe link-uri ctre un alt document,
cu att mai "neimportant" este fiecare link in parte

Cum funcioneaz de fapt Google?


Google: analiza datelor

Relevanta si ponderi
din 1-3 se poate crea o formul pentru calcularea importantei
(PageRank, PR) unui document

fie PR(A) ranking-ul documentului A

fie T1Tn documente continnd un link ctre


A

fie PR(T1) PR(Tn) ranking-ul


documentelor T1Tn

fie c(Ti) numarul de link-uri existente in


documentul Ti

PR( A)
1
d

i
c

T
PR
i1T

c( A)
d factor de aproximare
(0<d<1)
i

Cum functioneaz de fapt


Google?
Google: analiza datelor

Relevant si ponderi

Exemplu de calcul pt.


PageRanking
A

1.0

1.0

1.0

1.0

Calculul se face iterativ pn cnd se


ajunge la o "stare" stabil (punct fix).
Nr.

PR(A)

PR(B)

PR(C)

1,0

1,0

1,0

1,0

1,0

0,575

2,275

0,15

2,083

0,575

1,1912

0,15

1,49

0,7833

1,577

PR(D)

0,15

Cum funcioneaz de fapt


Google?

1.49

0,78

1,57

0,15

Calculul se face iterativ pn cnd se


ajunge la o "stare" stabil (punct fix).
Nr.

PR(A)

PR(B)

PR(C)

1,0

1,0

1,0

1,0

1,0

0,575

2,275

0,15

2,083

0,575

1,1912

0,15

1,49

0,7833

1,577

PR(D)

0,15

Cum funcioneaz de fapt


Google?
Alte criterii de relevant si de stabilire a ponderilor

Click-Popularity

Premiz:
cu ct un document este ales mai des de catre useri dintr-o list
de rezultate, cu att mai mare este relevanta lui.
criterii suplimentare:
documente vechi vs. documente noi de cnd exist doc-urile n
DB

Pt. Web-designeri: click-popularity-ul creste dac continutul tag-ului


META de tip DESCRIPTON din HEADER este scris bine!!

S-ar putea să vă placă și