View
273
Download
9
Category
Preview:
Citation preview
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Regasirea Informatiilor pe WEBCurs 06: Roboti WEB
s.l. dr. ing. Alexandru ARCHIPalexandru.archip@cs.tuiasi.ro
Facultatea de Automatica si Calculatoare, Iasi
an universitar: 2014 2015
RIWeb 2014 2015/C06: Roboti WEB 1/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Cuprins
1 PreliminariiScurt istoricParticularitati ale domeniului de cautare
2 Arhitectura motoarelor de cautarePrezentare generala
3 Roboti WEBDefinitii si exempleCaracteristiciProtocoale specifice REPProtocoale specifice SitemapArhitectura generalaPseudocod minimal
RIWeb 2014 2015/C06: Roboti WEB 2/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Preliminarii
Caracteristicii World Wide WEB
volum imens de date la sfarsitul anului 1995, Altavista raporteaza peste 30de milioane de pagini statice indexate!!
lipsa aproape totala de coordonare n faza de creatie
lipsa aproape totala de coordonare n faza de dezvoltare
diversitate mare a autorilor paginilor web
diversitate mare a clientilor paginilor web
inutil fara clienti
RIWeb 2014 2015/C06: Roboti WEB 3/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Scurt istoric
Scurt istoric
1960 1970
formularea problemelor referitoare la cautarea documentelor text: targetinitial rezumate stiintifice, legi si documente economice
definirea primelor modele de cautare: modele booleene si modele bazate pespatii vectoriale
1980
aparitia primelor baze de date de documente companii private (Lexis-Nexis,Dialog, etc.)
RIWeb 2014 2015/C06: Roboti WEB 4/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Scurt istoric
Scurt istoric (2)
1990
aparitia primelor motoare de cautare pentru site-uri FTP (Archie, WAIS)
aparitia primelor motoare de cautare axate pe site-uri WEB:
Wandex 1993 Matthew Gray, MITAliweb 1993WebCrawler 1994 primul motor de cautare bazat pe roboti webLycos 1994Excite, Infoseek, Inktomi, Northen Light si Altavista
se fixeaza bazele pentru cautarea automata a documentelor text
RIWeb 2014 2015/C06: Roboti WEB 5/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Scurt istoric
Scurt istoric (3)
2000
dezvoltarea conceptului de analiza a link-urilor motorul de cautare Google:
aparut n 2001, impune primul model de evaluare automata a paginilor WEB
Yahoo! achizitioneaza Inktomi (2002) si Ouverture (2003) lanseaza propriulmotor de cautare n 2004
primul motor care implementeaza conceptul de live search
MSN Search an aparitie 2004 (2005 se presupune a fi anul primei utilizari)
extinderea formatului tinta cautare n imagini, filme, fisiere audio
RIWeb 2014 2015/C06: Roboti WEB 6/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Particularitati ale domeniului de cautare
Particularitati ale domeniului de cautare
Provocari
Date distribuite documentele n cadrul WEB sunt mpartite peste catevamilioane de servere WEB.
Datele sunt volatile un numar semnificativ de documente se schimba saudispar ntr-un ritm foarte alert.
Datele nu sunt structurate si, de cele mai multe ori, sunt redundante nuexista structura uniforma, HTML nu este un limbaj strict din punct de vedereal sintaxei. Unele surse estimeaza 30% documente duplicate n cadrul WWW.
Calitatea datelor nu exista control editorial, de multe ori informatiileprezentate de anumite documente web sunt informatii eronate sau contin unnumar considerabil de greseli.
Diversitatea tipurilor de documente divesitate ce trebuie privita la nivelde tip de date (text, VRML, flash, imagini, filme, continut audio,...), la nivelde limba de redactare, la nivel de codare a caracterelor, etc.
RIWeb 2014 2015/C06: Roboti WEB 7/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Prezentare generala
Componentele principale ale motoarelor de cautare
Structura minimala
Modul de tip spider/crawler are rolul de a colecta documentele pe web
Modul de tip indexer/de analiza are rolul de a procesa si analiza datele
Modul de interfata cu utilizatorul are rolul de a prelua cererile utilizator si de aformula raspunsuri
RIWeb 2014 2015/C06: Roboti WEB 8/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Prezentare generala
Motor de cautare pe WEB
Figura 1: Arhitectura generala a motoarelor de cautare pe WEB
RIWeb 2014 2015/C06: Roboti WEB 9/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Definitii si exemple
Definitii
Roboti WEB
Robot web (Web Crawler/Web Spider)
browser automat care exploreaza WEB-ul, urmand fiecare domeniusi fiecare link WEB;
n prezent exista peste 300 de roboti web activi (conformhttp://www.robotstxt.org/db.html).
Web Crawling Procesul prin care sunt colectate, ntr-o maniera automata, paginiWEB pentru a fi analizate.
RIWeb 2014 2015/C06: Roboti WEB 10/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Definitii si exemple
Exemple
Inktomi Slurp C/C++, Unix
UserAgent: Slurp/2.0
ultima modificare: 1997
Googlebot C++, Linux
UserAgent: Googlebot/2.1 (+http://www.google.com/bot.html)
Ultima modificare: 2001
MSNBot C++, Windows Server 2000/2003
UserAgent: msnbot/2.1 / msnbot/1.1(+http://search.msn.com/msnbot.htm)
ultima modificare: 2003
Yahoo! Slurp bazat pe Inktomi Slurp
UserAgent: Mozilla/5.0 (compatible; Yahoo! Slurp;http://help.yahoo.com/help/us/ysearch/slurp)
RIWeb 2014 2015/C06: Roboti WEB 11/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Caracteristici
Caracteristici
Caracteristici fundamentale
ROBUSTETEA : trebuie evitate capcanele (spider traps)
spider trap generatoare automate de pagini web menite samentina un robot web ntr-un anumit domeniu pentru odurata cat mai mare de timpacelasi efect poate fi generat si de o dezvoltare/implementaregresita a paginilor WEB
POLITETEA : un robot web trebuie sa se prezinte si sa respecte politicile detip privacy
trebuie sa respecte REP Robot Exclusion Protocol
RIWeb 2014 2015/C06: Roboti WEB 12/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Caracteristici
Caracteristici (2)
Caracteristici recomandate
Arhitectura DISTRIBUITA
un robot web bine dezvoltat ar trebui sa fie capabil sa ruleze ntr-omaniera distribuita.
Arhitectura SCALABILA
arhitectura robotului web trebuie permita adapatareacorepunzatoare a functionalitatii relativ la variatia numarului demasini pe care ruleaza/latimii de banda alocate la un anumitmoment de timp.
trebuie sa gestioneze corect resursele sistem disponibile.
Arhitectura EXTENSIBILA
adaptarea rapida a robotului n cazul modificarii tipurilor de date(relativ la schimbarea documentelor), al protocoalelor de transportutilizate, etc.
RIWeb 2014 2015/C06: Roboti WEB 13/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Caracteristici
Caracteristici (3)
Caracteristici recomandate (2)
Rezultate de CALITATE
un robot web ar trebui sa fie capabil sa elimine paginile slabe dinpunct de vedere al cont, inutului.
Continut NOU
caracteristica recomandata n special n cazul robotilor destinati saruleze continuu;
semnificatie diferita n functie de producatorul fiecarui robot WEB.
RIWeb 2014 2015/C06: Roboti WEB 14/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Protocoale specifice REP
Protocolul REP
Concepte generale
Acronim REP Robots Exclusion Protocol
NU reprezinta un protocol n sensul strict al definitiei notiunii deprotocol, n sensul ca robotii WEB nu sunt strict dependeti de aceststandard. Un robot bine implementat va respecta indicatiile acestui protocol,dar, n general, un robot NU este marginit n explorare de simplaimplementare a protocolului.
Incercare de standardizare (2007): Automated Content Access Protocol ACAP (http://www.the-acap.org/)
RIWeb 2014 2015/C06: Roboti WEB 15/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Protocoale specifice REP
Protocolul REP (2)
Implementare
robots.txt
fisier text inclus n root-ul unui domeniu WEB
regulile incluse n acest fisier afecteaza tot domeniul WEB!
Tag-ul HTML
daca sunt prezente, regulile incluse n acest mod afecteazanumai pagina curenta!
regulile META afecteaza atat robotul de cautare, cat simodulele de analiza!
Atribute aditionale pentru tag-ul
daca sunt prezente, aceste atribute nu afecteaza (n mod direct)direct robotul de cautare, ci modulele de analiza!
RIWeb 2014 2015/C06: Roboti WEB 16/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Protocoale specifice REP
Protocolul REP (3)
Sintaxa Tag-ul
Valori posibile pentru atributul content:
index / noindex refera indexarea paginii
follow / nofollow permisiuni referitoare la link-urile incluse n cadrulpaginii curente
all / none combinatii de tip acces total / blocaj total
Sintaxa Tag-ul
rel="nofollow"
prin aceasta valoare a atributului rel se indica faptul ca pagina curenta nuvoteaza relatia indicata
RIWeb 2014 2015/C06: Roboti WEB 17/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Protocoale specifice REP
Protocolul REP (4)
Sintaxa Fisierul robots.txt
set de nregistrari ce contin una sau mai multe clauze
o clauza trebuie ntotdeauna scrisa pe un singur rand si respectaurmatoarea sintaxa: :
nregistrarile sunt departajate prin linii vide
eventuale linii tip comentariu ncep cu caracterul #
Clauze standard:
User-agent: marcheaza nceputul unei nregistrari prin a specifica asupra caruirobot WEB se aplica setul de clauze continut n nregistrare.Valoare speciala: * nregistrarea curenta se aplica tuturor robotilor!Disallow: specifica tiparul URI-urilor asupra caruia robotul specificat deUser-agent nu are drept de acces
RIWeb 2014 2015/C06: Roboti WEB 18/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Protocoale specifice REP
Protocolul REP (4)
Exemplul 1 Permisiuni complete pentru orice robot
User-agent: *
Disallow:
Exemplul 2 Blocarea oricarui robot
User-agent: *
Disallow: /
Exemplul 3 Blocarea accesului asupra unui singur fisier n mod explicit
User-agent: *
Disallow: /directory/file.html
RIWeb 2014 2015/C06: Roboti WEB 19/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Protocoale specifice REP
Protocolul REP (5)
Exemplul 4 Blocarea unui set de directoare
User-agent: *
Disallow: /cgi-bin/
Disallow: /images/
Disallow: /tmp/
Disallow: /private/
Exemplul 5 Blocarea explicita a unui singur robot
User-agent: MyBot
Disallow: /cgi-bin/
Disallow: /images
Disallow: /tmp/
Disallow: /private/
RIWeb 2014 2015/C06: Roboti WEB 20/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Protocoale specifice REP
Protocolul REP (6)
Sintaxa Fisierul robots.txt (2)
Clauze standard extinse:
Request-rate: specifica rata maxima a cererilor efectuate catre site-ul curentVisit-time: specifica intervalul orar n care este permisa actiunea robotilor pesite-ul curent
Clauze nestandard:
Crawl-delay: parametru ntreg daca este prezenta, specifica intervalul detimp de asteptare ntre doua cereri consecutiveAllow: specifica tiparul URI-urilor asupra caruia robotul are drept de accesSitemap: ofera un set de detalii extinse pentru robotii marcati
RIWeb 2014 2015/C06: Roboti WEB 21/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Protocoale specifice Sitemap
Protocolul Sitemap
Concepte generale
Similar REP, NU este un protocol standard.
Trebuie privit mai mult ca un mecanism prin intermediul caruia undezvoltator Web poate coordona actiunile unui robot Web pe un site tinta.
In esenta, un sitemap nu reprezinta altceva decat un document XML:
element root: (specifica versiunea de protocol Sitemap utilizat);prin intermediul elementelor (element copil pentru ) se potoferi diferite informatii despre URL-urile importante, precum:
locatia elementul copil (obligatoriu);data ultimei modificari a URL-ului curent elementul copil (optional);frecveta modificarilor URL-ului curent elementul copil (optional);
RIWeb 2014 2015/C06: Roboti WEB 22/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Protocoale specifice Sitemap
Protocolul Sitemap (2)
Exemplu de fisier Sitemap (preluare [6])
http://example.com/
2006-11-18
daily
0.8
RIWeb 2014 2015/C06: Roboti WEB 23/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Arhitectura generala
Modulele componente ale unui robot WEB
Figura 2: Componentele unui robot WEB
RIWeb 2014 2015/C06: Roboti WEB 24/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Arhitectura generala
Modulele componente ale unui robot WEB (2)
Modulul DNS
Are rolul de a determina server-ul WEB ce contine pagina indicata de URL-ulaflat n lucru n pasul curent.
Trebuie sa implementeze politici de caching eficiente.
Modulul FETCH-er
Are rolul de a descarca pagina indicata de un anumit URL aflat n lucru npasul curent.
Functionalitatea trebuie strict corelata cu tinta/tipul motorului de cautare
Trebuie sa respecte politicile de privacy/REP.
RIWeb 2014 2015/C06: Roboti WEB 25/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Arhitectura generala
Modulele componente ale unui robot WEB (3)
Modulul PARSER
Are rolul de a extrage textul, legaturile, precum si celelalte informatii deinteres dintr-o pagina descarcata.
Modulul de filtrare a legaturilor
Are rolul de a determina daca o anumita legatura (din cadrul utimului set delegaturi extrase) a mai fost sau nu vizitata sau adaugata n coada de lucru.
Poate fi adaptat pentru filtrarea paginilor duplicat.
Trebuie sa respecte REP/politicile de tip privacy.
Coada de URL-uri URL FRONTIER
Contine lista de URL-uri ce ar trebui tratate de catre crawler-ul WEB.
RIWeb 2014 2015/C06: Roboti WEB 26/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Arhitectura generala
Modulul URL Frontier
Rolul modulului
In mod uzual, modulul URL Frontier are rol de a implementa:1 politicile de prioritizare a documentelor WEB aduse de catre robotul WEB;2 politicile de revizitare a documentelor WEB procesate de catre robotul WEB;3 (partial)regulile de acces prevazute de REP.
Structura
Este organizat pe doua seturi de cozi:1 cozi de intrare gestioneaza prioritatea documentelor WEB si politicile de
revizitare;2 cozi de iesire gestioneaza partial regulile de acces pe un server WEB (site
tinta). Fiecare dintre cozile de iesire mapeaza n general un singur domeniuWEB.
RIWeb 2014 2015/C06: Roboti WEB 27/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Arhitectura generala
Modulul URL Frontier (2)
Figura 3: Structura generica a unui URL Frontier [adaptare dupa 2 - cap. 20]
RIWeb 2014 2015/C06: Roboti WEB 28/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Pseudocod minimal
Pseudocod (adaptare dupa [3])
Algoritm 1 Pseudocod generic pentru un robot WEB
1: Initializeaza coada (Q) cu un set primar de URL-uri2: while C1: Q contine pagini sau nu a fost atinsa limita maxima de pagini sau de timp do3: Fie L un URL din Q4: if L != HTML then5: Re-evalueaza C16: end if7: if L == vizitat then8: Re-evalueaza C19: end if
10: Descarca P = continutul lui L11: if P != NULL then12: Indexeaza P13: Extrage din P o lista noua de legaturi N14: Adauga N la Q15: end if16: end while
RIWeb 2014 2015/C06: Roboti WEB 29/ 30
Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie
Bibliografie
1 M. Craus et al., Regasirea Informatiilor pe WEB, Editura POLITEHNIUM,Iasi 2005, capitolul 4
2 Christopher D. Manning, Prabhakar Raghavan and Hinrich Schutze,Introduction to Information Retrieval, Cambridge University Press. 2008
3 Raymond J. Mooney - Information Retrieval and Web Search (note de curs)
4 Thomas A. Henzinger, Information Retrieval and Web Search, Note de curs
5 robots.txt online
6 sitemaps.org
RIWeb 2014 2015/C06: Roboti WEB 30/ 30
PreliminariiScurt istoricParticularitati ale domeniului de cautare
Arhitectura motoarelor de cautarePrezentare generala
Roboti WEBDefinitii si exempleCaracteristiciProtocoale specifice REPProtocoale specifice SitemapArhitectura generalaPseudocod minimal
Recommended