+ All Categories
Home > Documents > Curs nr. 09 - Roboti Web (2).pdf

Curs nr. 09 - Roboti Web (2).pdf

Date post: 07-Nov-2015
Category:
Upload: dia-dayana
View: 239 times
Download: 3 times
Share this document with a friend
Popular Tags:
29
Robot ¸i WEB Politici de revizitare Metode de paralelizare/distribuire Discut ¸ii Bibliografie Reg˘ asirea Informat ¸iilor pe WEB Curs 09: Robot ¸i WEB (2) ¸ s.l. dr. ing. Alexandru ARCHIP [email protected] Facultatea de Automatic˘ si Calculatoare, Ia¸ si an universitar: 2014 – 2015 RIWeb 2014 – 2015/C09: Robot ¸i WEB (2) 1/ 29
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


Recommended