curs nr. 09 - roboti web (2).pdf
TRANSCRIPT
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Regasirea Informatiilor pe WEBCurs 09: Roboti WEB (2)
s.l. dr. ing. Alexandru [email protected]
Facultatea de Automatica si Calculatoare, Iasi
an universitar: 2014 2015
RIWeb 2014 2015/C09: Roboti WEB (2) 1/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Cuprins
1 Roboti WEBCaracteristiciArhitectura generalaDetalii functionalitateModule importanteModule conexe
2 Politici de revizitareDefinitie si obiectiveDeterminarea politicii de revizitare
3 Metode de paralelizare/distribuireParalelizarea/distribuirea crawler-ului WEB
4 Discutii
RIWeb 2014 2015/C09: Roboti WEB (2) 2/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Caracteristici
Sinteza Caracteristici roboti WEB
Esentiale
Robust
Politicos
Recomandate
Distribuit
Scalabil
Extensibil
Ofera rezultate de calitate
Ofera rezultate actuale
RIWeb 2014 2015/C09: Roboti WEB (2) 3/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Caracteristici
Recomandari functionalitate
Un robot WEB ar trebui sa... [2 cap 20]
... deschida o singura conexiune cu orice site tinta, n orice interactiuneefectuata cu site-ul respectiv.
... astepte un interval de timp de minim o secunda ntre cereri succesiveadresate aceluiasi host/site.
Un robot WEB ar trebui sa... [3 note de curs 19]
... permita adaugarea paginilor n vederea indexarii si n functie de cerinteleutilizatorilor.
RIWeb 2014 2015/C09: Roboti WEB (2) 4/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Arhitectura generala
Modulele componente ale unui robot WEB
Figura 1: Componentele unui robot WEB [2 - cap. 20]
RIWeb 2014 2015/C09: Roboti WEB (2) 5/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Detalii functionalitate
Detalii functionalitate
Initializare
Orice robot WEB ncepe actiunea de explorare dinamica a WEB-ului pronindde la un set intial de pagini, denumit si SEED LIST/QUEUE (stocat prinintermediul componentei URL Frontier).
Acest set intial dicteaza performatele robotului. In functie de acest set initial,robotul WEB si extinde mai rapid sau mai lent setul de pagini traversate.In mod uzual, acest SEED LIST trebuie sa contina site-uri de tip director http://www.dmoz.org/.SEED LIST-ul trebuie adaptat domeniului adresat, n functie de specificulrobotului WEB.
RIWeb 2014 2015/C09: Roboti WEB (2) 6/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Detalii functionalitate
Detalii functionalitate (2)
Rulare
Paginile incluse n URL Frontier sunt parcurse ntr-o maniera recursiva pentrua identifica pagini/documente noi.
Daca pagina apartine unui domeniu nou, nevizitat pana la ntalnirea paginiicurente, atunci robotul trebuie sa determine regulile de acces asupradomeniului/paginii curente.Parcurgerea unei pagini (sau resurse) implica: detectia duplicatelor, extragerealink-urilor, extragerea continutului relevant, determinarea conditiilor derevizitare, etc.
RIWeb 2014 2015/C09: Roboti WEB (2) 7/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Detalii functionalitate
Detalii functionalitate (3)
Strategii de explorare [3]
Explorare n latime: pentru pagina curenta se adauga n coada toate link-urile cendeplinesc conditiile de explorare ulterioara (structura FIFOpentru URL Frontier);
consumul de memorie al acestei abordari este exponential relativla dimensiunea URL Frontier;
favorizeaza extinderea rapida a domeniului de cautare.
Explorarea n adancime: pentru pagina curenta sunt explorate rand pe randlink-urile ce ndeplinesc conditiile de explorare ulterioara (structuraLIFO pentru URL Frontier);
consumul de memorie este liniar relativ la dimensiunea URLFrontier;
extinderea cautarii poate deveni extrem de lenta.
Explorare ghidata: ordonarea/organizarea URL Frontier n functie de anumitecriterii poate conduce catre directionarea cautarii.
RIWeb 2014 2015/C09: Roboti WEB (2) 8/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Detalii functionalitate
Detalii functionalitate (3)
Reactualizarea URL Frontier
Indiferente de strategiile de explorare adoptate/eventualele restrictii impuserobotului WEB reactualizarea URL Frontier este strict dependenta demecanismul de extragere a URL-urilor din paginile indexate.
URL-urile relative trebuie completate si stocate sub forma de URL-uriabsolute.
In mod uzual, n special n cazul robotilor WEB axati pe documente HTML,URL-urile trebuie retinute n forma normalizata.
Este, de asemenea, important (n special n cazul robotilor specializati) sa sestocheze si informatiile auxiliare ce pot fi prezente n cadrul unui element detip anchor.
RIWeb 2014 2015/C09: Roboti WEB (2) 9/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Module importante
Modulul de detectie a duplicatelor
Detectia paginilor duplicat
Trebuie sa detecteze rapid daca o pagina a fost sau nu vizitata anterior(eventual sub un alt URL).
Versiunea cea mai simpla este de a calcula un checksum peste continutuldocumentului HTML.
In mod uzual implica tehinici de indexare a paginilor WEB.Se poate dovedi a fi o metoda ineficienta, deoarece trebuie descarcata ntaipagina.
O alta varianta posibila este utilizarea URL-urilor paginilor pe post de cheiede indexare.
Poate complica procedura de extragere a link-urilor din documentele HTML.Nu rezolva problema detectarii documentelor duplicat.
RIWeb 2014 2015/C09: Roboti WEB (2) 10/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Module importante
Modulul de filtrare a URL-urilor
Pentru URL-urile duplicat
Are rolul de a nu adaga n URL Frontier URL-uri ce au fost deja inserate.
Joaca un rol important n implementarea politicilor de revizitare.
Are rolul de a elimina URL-urile care au fost deja procesate(pentru cazulparticular al robotilor care nu functioneaza n regim continuu).
Pentru URL-urilor barate de REP
Sunt eliminate acele link-uri care sunt marcate prin REP ca ne-vizitabilepentru robotul curent.
Poate induce ntarzieri suplimentare n procesarea efectiva a URL-urilor.Practic, n special n cazul paginilor care nu se schimba des, regulile REPtrebuie verificate de doua ori.
RIWeb 2014 2015/C09: Roboti WEB (2) 11/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Module conexe
Server-ul de conectivitate
Un crawler adreseaza WEB-ul la nivel de graf astfel: daca n pagina curenta(A) se regaseste un link catre pagina (B), atunci acest link este mapat subforma unei muchii orientate care pleaca din nodul (A) si ajunge n nodul (B).
Figura 2: WEB-ul privit ca si graf
RIWeb 2014 2015/C09: Roboti WEB (2) 12/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Module conexe
Server-ul de conectivitate (2)
Componenta unui robot WEB ce se ocupa de construirea unui graf suportpentru documentele indexate de robot poarta numele de server deconectivitate.
Rolul acestei componente este de a raspunde rapid interogarilor de forma cedocumente WEB indica documentul curent (I1) sau ce documente WEB suntindicate de documentul curent (I2). Aceste informatii sunt necesare pentrumodulele de analiza a link-urilor n cadrul WEB.
In mod uzual, un astfel de graf suport este retinut prin intermediul uneimatrici de adiacenta:
daca aceasta matrice este interogata pe coloane, atunci se ofera raspunspentru ntrebarea I1;daca aceasta matrice este interogata pe linii, atunci se ofera raspuns pentruntrebarea I2.
RIWeb 2014 2015/C09: Roboti WEB (2) 13/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Module conexe
Server-ul de conectivitate (3)
Server-ul de conectivitate al unui robot WEB trebuie sa lucreze n corelare cumodulul de indexare ce proceseaza documentele aduse de robotul respectiv.
Modulul de indexare atribuie fiecarui document WEB un docID (n moduzual, o valoare ntreaga). Este de preferat ca acelasi docID sa fie utilizat side server-ul de conectivitate n construirea grafului suport.
Un aspect important ce trebuie adresat n momentul proiectarii unui astfel deserver de conectivitate este legat de estimarea corecta a dimensiunii matriciide adiacenta suport pentru graful ce trebuie determinat.
RIWeb 2014 2015/C09: Roboti WEB (2) 14/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Module conexe
Server-ul de conectivitate (4)
Functionalitatea server-ului de conectivitate
pentru pagina curenta P se preia lista de legaturi;
pentru fiecare legatura ce indica o pagina ce a fost indexata sau o pagina cea fost adaugata n URL Frontier, se completeaza direct matricea deadiacenta n locatia indicata de [docID(P), docID(link)];
pentru fiecare pagina noua indicata de P, se determina docID-ul paginii noi,apoi se completeaza locatia [docID(P), docID(new link)]
RIWeb 2014 2015/C09: Roboti WEB (2) 15/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Definitie si obiective
Definitie. Metrici uzuale
Definitie
Orice robot WEB bine construit trebuie sa asigure un anumit grad de noutateal paginilor indexate.
Principiul conform caruia un robot determina cand/daca o anumita paginatrebuie revizitata poarta numele de politica de revizitare.
Metrici uzuale
Gradul de noutate al unei pagini: Metrica binara ce indica daca o anumitacopie stocata pentru o pagina este sau nu identica noii versiunidescarcate pentru pagina respectiva.
Varsta: Metrica utilizata cu scopul de a determina ultima modificareefectuata asupra unei pagini WEB.
RIWeb 2014 2015/C09: Roboti WEB (2) 16/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Definitie si obiective
Tipuri. Obiective
Tipuri de politici de revizitare
Politici uniforme: Implica revizitarea cu aceeasi frecventa a tuturor paginilorindexate.
Politici proportionale: Implica revizitarea cu frecventa crescuta a paginilor curata de schimbare mai mare.
Obiectivele unui robot WEB
Grad de noutate mediu cat mai ridicat: robotul web este interesat de cat demulte pagini nu sunt actualizate.
Varsta cat mai scazuta: robotul web este interesat de cat de vechi suntcopiile locale ale paginilor vizitate.
RIWeb 2014 2015/C09: Roboti WEB (2) 17/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Determinarea politicii de revizitare
Cum aleg politica de revizitare optima?
Considerente importante
Politica uniforma depaseste politica proportionala relativ la gradul denoutate.
Optim relativ la gradul de noutate implica ignorarea paginilor cu rata demodificare foarte ridicata.
Atingerea unui optim relativ la varsta cat mai coborata se bazeaza pecresterea monotona frecventei de acces relativ la rata de schimbare afiecarei pagini.
RIWeb 2014 2015/C09: Roboti WEB (2) 18/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Paralelizarea/distribuirea crawler-ului WEB
Paralelizarea/distribuirea crawler-ului WEB
Scop
O paralelizare eficienta trebuie sa:
maximizeze rata de descarcare a paginilor WEB.
minimizeze timpii implicati de comunicarea ntre noduri
evite duplicarea rezultatelor (2 sau mai multe noduri extrag aceeasi pagina).
Metode de paralelizare/distribuire
Principalele metode de paralelizare/distribuire a robotilor web vizeazarepartizarea URL-urilor ntre nodurile de calcul. Din acest punct de vedere sedisting doua metode de paralelizare:
asignare statica de URL-uri;
asignare dinamica de URL-uri.
RIWeb 2014 2015/C09: Roboti WEB (2) 19/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Paralelizarea/distribuirea crawler-ului WEB
Paralelizarea/distribuirea crawler-ului WEB (2)
Functia de repartitie Caracteristici
1 Trebuie sa echilibreze nodurile de lucru din punct de vedere al numarului deservere tratate.
2 Trebuie sa respecte proprietatea de contra-variatie:
numarul de servere/URL-uri asignate unui nod de calcul trebuie sa scada odata cu cresterea numarului noduri de calcul.
3 Trebuie sa gestioneze n mod dinamic numarul de noduri de calcul utilizatepentru explorare.
RIWeb 2014 2015/C09: Roboti WEB (2) 20/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Paralelizarea/distribuirea crawler-ului WEB
Paralelizarea/distribuirea crawler-ului WEB (3)
Asignarea statica de URL-uri
Cuvantul static implica n acest context existenta unei reguli unice derepartitie.
Regula de repartitie ar trebui sa mentina pe un singur nod de procesarelegaturile interne unui anumit domeniu.
Legaturile externe sunt schimbate ntre nodurile de porcesare.
Se recomanda n acest caz ca doua noduri active sa evite schimburile ceimplica un singur URL n cadrul unui transfer!
NU se recomanda utilizarea acestui tip de asignare fara existenta unorexplorari anterioare!
RIWeb 2014 2015/C09: Roboti WEB (2) 21/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Paralelizarea/distribuirea crawler-ului WEB
Paralelizarea/distribuirea crawler-ului WEB (4)
Asignarea statica de URL-uri (2)
Figura 3: Arhitectura unui nod pentru un robot WEB paralel [2]
RIWeb 2014 2015/C09: Roboti WEB (2) 22/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Paralelizarea/distribuirea crawler-ului WEB
Paralelizarea/distribuirea crawler-ului WEB (5)
Asignarea dinamica de URL-uri
Se bazeaza n general pe o arhitectura de tip coordonator-multime deworker-i subordonati (arhitectura poate include prezenta unei ierarhii ntremai multe noduri de tip coordonator).
Aceasta arhitectura trebuie sa fie capabila sa suporte usor gestiunea dinamicaa nodurilor de tip worker pentru un coordonator si, respectiv, gestiuneadinamica a nodurilor coordonator n cazul unei functionalitati multistrat.
Dezavantaje: pot aparea comportamente de tip gatuire la nivelulcoordonatorilor.
In cazurile n care este necesara dezvoltarea de componente specializatetrebuie acordata o deosebita atentie procesului/proceselor de tip DNS Solver.
RIWeb 2014 2015/C09: Roboti WEB (2) 23/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Paralelizarea/distribuirea crawler-ului WEB
Paralelizarea/distribuirea crawler-ului WEB (6)
Asignarea dinamica de URL-uri (2)
Pentru configuratii de dimensiuni reduse:
o entitate centrala pentru rezolvarea DNS-ului;cate o coada centrala pentru fiecare site;un set de programe pentru descarcare.
Pentru configuratii de dimensiuni mari:
procesele raspunzatoare de rezolvarea DNS-ului, precum si cele responsabile degestiunea cozilor fiecarui site sunt distribuite.
RIWeb 2014 2015/C09: Roboti WEB (2) 24/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Paralelizarea/distribuirea crawler-ului WEB
Paralelizarea/distribuirea crawler-ului WEB (7)
Asignarea dinamica de URL-uri dimensiuni reduse
Figura 4: Arhitectura unui nod pentru un robot WEB paralel distribuire dinamica [4]
RIWeb 2014 2015/C09: Roboti WEB (2) 25/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Paralelizarea/distribuirea crawler-ului WEB
Paralelizarea/distribuirea crawler-ului WEB (8)
Asignarea dinamica de URL-uri dimensiuni reduse (2)
Module componente (Figura 4) [4]
Crawling Application implementeaza modulele aferente URL Frontier sieventualele mecanisme aferente politicilor de revizitare
Crawl Manager gestioneaza politicile de download conform cu prioritatilestabilite de Crawling Application, regulile aferente REP,
interogarile DNS si coordoneaza modulele de tip Downloader
DNS Resolver implementeaza componentele de rezolvare a numelor sipoliticile de caching aferente
Downloader clienti HTTP (un singur downloader poate fiutilizat pentru mai multe domenii simultan)
Comunicarea dintre module: socket/NFS.
RIWeb 2014 2015/C09: Roboti WEB (2) 26/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Paralelizarea/distribuirea crawler-ului WEB
Paralelizarea/distribuirea crawler-ului WEB (9)
Asignarea dinamica de URL-uri scalare
(a) Modul A (b) Modul B
Figura 5: Arhitectura generala a unui robot WEB paralel/distribuit distribuire dinamica[4]
RIWeb 2014 2015/C09: Roboti WEB (2) 27/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii Bibliografie
Discutii
Intrebari / Exercitii
1 Care pasi dintre cei implicati de normalizarea de URL-uri trebuie obligatoriurespectati de robotul WEB?
2 Cum putem realiza o estimare corecta a dimensiunii matricii de adiacenta aserverului de conectivitate pe baza dimensiunii URL Frontier?
3 Pornind de la arhitectura prezentata n Figura 1, unde ar trebui integratserverul de conectivitate?
RIWeb 2014 2015/C09: Roboti WEB (2) 28/ 29
-
Roboti WEB Politici de revizitare Metode de paralelizare/distribuire Discutii 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 Vladislav Shkapenyuk, Torsten Suel, Design and Implementation of aHigh-Performance Distributed Web Crawler Technical Report, Departmentof Computer and Information Science, Polytechnic University Brooklyn, NY11201
RIWeb 2014 2015/C09: Roboti WEB (2) 29/ 29
Roboti WEBCaracteristiciArhitectura generalaDetalii functionalitateModule importanteModule conexe
Politici de revizitareDefinitie si obiectiveDeterminarea politicii de revizitare
Metode de paralelizare/distribuireParalelizarea/distribuirea crawler-ului WEB
Discutii