+ All Categories
Home > Documents > Curs nr. 06 - Roboti Web.pdf

Curs nr. 06 - Roboti Web.pdf

Date post: 16-Sep-2015
Category:
Upload: dia-dayana
View: 272 times
Download: 9 times
Share this document with a friend
30
Cuprins Preliminarii Arhitectura motoarelor de c˘ autare Robot ¸i WEB Bibliografie Reg˘ asirea Informat ¸iilor pe WEB Curs 06: Robot ¸i WEB ¸ s.l. dr. ing. Alexandru ARCHIP [email protected] Facultatea de Automatic˘ si Calculatoare, Ia¸ si an universitar: 2014 – 2015 RIWeb 2014 – 2015/C06: Robot ¸i WEB 1/ 30
Transcript
  • Cuprins Preliminarii Arhitectura motoarelor de cautare Roboti WEB Bibliografie

    Regasirea Informatiilor pe WEBCurs 06: Roboti WEB

    s.l. dr. ing. Alexandru [email protected]

    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