Robotii Web
Autor : Sabin-Corneliu Buraga
Activitatea unui robot Web consta în realizarea unei conexiuni HTTP
(HyperText Transfer Protocol) la un server Web continând un set
de pagini, pornind de la un identificator uniform de resurse (URI), cu
scopul de a extrage informatiile dintr-un document HTML si din toate documentele
desemnate de legaturile lui.
Utilizari
Robotii Web se pot utiliza în scopuri multiple, dintre care amintim:
- analiza statistica
Prin traversarea unui întreg sit Web, un robot poate furniza date
privind media documentelor stocate pe un server, procentul de documente
de un anumit tip, marimea medie a unei pagini, gradul de interconectare
cu alte documente, locale sau la distanta etc. În fapt, primul robot
implementat a fost conceput cu scopul de a contoriza serverele Web din
lume, pentru a se cerceta cât de întins este spatiul hipertext.
- mentinere
În prezent, este foarte importanta mentinerea în bune conditii
a starii hiperlegaturilor dintre documentele Web. Un robot poate ajuta
la descoperirea si rezolvarea asa-numitelor "legaturi moarte",
care indica resurse inexistente. Desi serverele Web pot înregistra
toate cererile care nu pot fi satisfacute din cauza specificarii adreselor
invalide, administratorul unui sit Web de proportii poate recurge la asistenta
unui robot (ca MOMSpider) pentru descoperirea automata a legaturilor eronate.
Robotii pot verifica si structura documentelor HTML, semnalând
erorile de design si de stil ale acestora.
- oglindire
Tehnica oglindirii (mirroring) este preluata de la arhivele FTP, reprezentând
copierea la alta locatie a întregii structuri arborescente, în
mod recursiv, a fisierelor unui sit si reactualizarea periodica a acestora.
Aceasta asigura fiabilitate, viteza mai mare de transfer, evitarea încarcarii
traficului de retea sau acces neconectat (off-line).
Pentru Web, oglindirea poate fi realizata de un robot, care trebuie sa
aiba grija de rescrierea referintelor la alte documente, la pastrarea
integritatii hipertextului si la actualizarea regulata a paginilor WWW.
Oglindirea poate fi evitata, folosind în mod inteligent memoria
cache a serverelor proxy (intermediare), care ofera posibilitati de actualizare
selectiva si de organizare a resurselor.
- descoperirea resurselor
Probabil cea mai spectaculoasa si importanta aplicatie a robotilor Web
este utilizarea lor la descoperirea resurselor. Cresterea progresiva a
volumului de informatii a dus la necesitatea conceperii de aplicatii pentru
sumarizarea, indexarea si supravegherea modificarii informatiilor de pe
Web.
Astfel, fiecare motor de cautare, continând baze de date privind
localizarea si tipul de informatii dorite de utilizatori, apeleaza la
serviciul robotilor Web pentru descoperirea resurselor din Internet.
Un avantaj suplimentar îl reprezinta monitorizarea modificarilor
survenite în cadrul paginilor Web (servicii "Mind-It"
sau "What's new").
- utilizari combinate
Desigur, robotii Web pot îndeplini sarcini multiple, ca de exemplu
descoperirea resurselor si realizarea de statistici Web sau mentinerea
integritatii legaturilor si, concomitent, detectarea schimbarilor documentelor
HTML.
Pericole si costuri
Prin traversarea unui numar mare de hiperlegaturi, robotii necesita o
largime buna de banda, deoarece ei pot opera continuu perioade lungi de
timp (saptamâni sau chiar luni). Pentru a accelera aceste operatii,
multi roboti au implementate tehnici de extragere paralela a datelor,
metoda denumita operare în foc rapid (rapid fire), rezultând
un trafic considerabil (o încetinire temporara a transferului de
date). Mai mult, serverele Web pot fi supraîncarcate de cereri multiple
de accesare venite din partea robotilor, în detrimentul cererilor
agentilor-utilizator. Asadar, implementarea robotilor permitând
foc rapid trebuie evitata.
Un alt aspect care trebuie luat în considerare este timpul de actualizare
a bazelor de date ale motoarelor de cautare care folosesc roboti Web pentru
descoperirea resurselor. Robotii de cautare a informatiilor vor trebui
sa decida care sunt informatiile importante, pentru a le transmite programelor
de indexare.
Un alt pericol deriva din exploatarea necontrolata a robotilor Web de
catre utilizatorii finali, care pot folosi optiuni inadecvate sau pot
rula mai multe instante de program, conducând la abuzuri nedorite.
Robotii Web, în special cei netestati îndeajuns, pot fi ineficienti
sau pot avea vicii de arhitectura si astfel sa dauneze traficului de informatii
pe Internet, mai ales daca sunt folositi de persoane neavizate ori de
neprofesionisti. Implementari eronate pot determina robotii sa intre în
arii aproape infinite, denumite gauri negre (atunci când, de exemplu,
un document are o legatura care se refera la el însusi iar programul
nu detecteaza acest aspect). De asemenea, robotii nu trebuie sa acceseze
tipuri de date fara relevanta, având dimensiuni considerabile (de
pilda arhive, fisiere executabile, fisiere multimedia etc.).
Tipuri de roboti Web
Criteriile de clasificare a robotilor sunt multiple. Voi încerca
în continuare sa prezint robotii Web dupa activitatile care pot
sa le realizeze.
roboti academici
- sunt acei roboti disponibili în medii academice,
având ca scop anumite activitati de colectare a datelor dintr-o
universitate sau de mentinere a integritatii legaturilor dintr-un sit
academic.
roboti de proiectare - poseda posibilitati de proiectare si de asistare
în activitatile de proiectare a paginilor Web sau de proiectare
a altor tipuri de roboti.
roboti conversationali - ofera un partener virtual de discutii în
Internet, fiind de obicei integrati serviciilor de teleconferinte pe Web.
Ca exemplu, putem mentiona Eliza.
roboti de comert - sunt roboti înlesnind activitatile de comert
electronic, licitatii pe Web, bursa etc.
roboti distractivi - ofera diverse facilitati de amuzament (jocuri, previziuni,
recomandari de adrese interesante etc.) pentru utilizatorii care parcurg
paginile Web.
roboti guvernamentali - sunt acei roboti vizând servere continând
informatii de interes guvernamental sau diplomatic ori cu caracter secret.
roboti inteligenti - manipuleaza informatii, posedând inteligenta
artificiala, fiind utilizati pentru explorarea inteligenta a resurselor
Web (de exemplu Harvest sau W3QS).
roboti de stiri
- monitorizeaza grupurile de stiri de pe Internet, modificarile
din cadrul siturilor mass-media (ziare electronice, posturi radio sau
de televiziune prezente pe Web etc.), schimbarile de adrese si altele.
roboti de cautare - sunt robotii utilizati de motoarele de cautare (ca
de exemplu WebCrawler).
roboti de actualizare - se folosesc pentru actualizarea automata a hiperlegaturilor
si pentru detectarea schimbarii adreselor Web.
Catalogarea informatiilor
În prezent asistam la o dezvoltare exploziva a spatiului Web, într-o
faza de existenta a prea multor informatii, cu un continut prea dinamic,
conducând la generarea unui haos în Internet.
Procesul de regasire a informatiilor se bazeaza pe faptul ca din întreg
volumul de date numai o fractiune reprezinta documente relevante pentru
utilizator. Cea mai populara tehnica este cea a indexarii documentelor
pe baza cuvintelor cheie furnizate fie explicit de creatorul acestor documente,
fie în urma unei catalogari automate realizate de un robot. Cautarea
se realizeaza folosind algoritmi de parcurgere locala de tip DFS sau BFS
sau prin procesarea într-o ordine inteligenta a legaturilor spre
alte documente.
Întrebarile care se pun sunt:
a) Cât de relevante sunt activitatile de indexare si de sumarizare
automate?
b) Documentelor HTML le pot fi atasate anumite atribute care sa le descrie
continutul?
Raspunsul la ultima întrebare este dat de urmatoarele aspecte:
- Standardul HTML permite autorilor de pagini Web sa enumere cuvintele
cheie care sa descrie cel mai adecvat continutul lor informational, prin
folosirea în antet a tag-ului META. Iata un exemplu:
<meta name="description" - descriere succinta -
content="Manipularea informatiilor multimedia">
<meta name="keywords" - cuvinte cheie -
content="Internet, multimedia, hypertext, document, robots,
agents, logic, real-time, protocol, WWW, Web">
<meta name="author" - autor -
content="Sabin Corneliu Buraga <busaco@infoiasi.ro>">
<meta name="owner" - proprietar -
content="Sabin Corneliu Buraga <busaco@infoiasi.ro>">
- O metoda complementara este utilizarea de tag-uri ascunse care sa fie
exploatate de diversi roboti (de pilda tag-urile speciale ale programului
Teleport).
- Descrierea inteligenta a resurselor poate fi realizata cel mai bine
cu RDF (Resource Description Framework). Deja exista tehnici de generare
automata a metadatelor RDF pentru descoperirea resurselor Web, pornind
de la titluri, cuvinte cheie, descrieri, data crearii, numarul total de
cuvinte dintr-un document etc.
- Pot fi folosite diverse alte metode (euristici): explorare structurala,
utilizarea retelelor neuronale sau a algoritmilor genetici etc.
Pentru excluderea robotilor din zone Web lipsite de relevanta, continând
date temporare ori private, s-a adoptat un standard pentru excluderea
robotilor. Acest standard se bazeaza pe accesarea unui fisier text robots.txt
(stocat pe serverul Web) de catre un robot de explorare, fisierul specificând
ce parti vor fi evitate de la parcurgerea automata (pentru evitarea gaurilor
negre sau din alte ratiuni).
Un exemplu de astfel de fisier este cel de mai jos:
#/robots.txt pentru http://www.infoiasi.ro
User-agent: * # toti robotii
Disallow: /tmp/ # date temporare
Disallow: /busaco/work/ # spatiu privat
În vederea evitarii indexarii continutului unei pagini Web se poate
scrie în antetul ei:
<meta name="robots" content="noindex">
În activitatea de catalogare a informatiilor, de multe ori intervine
ierarhizarea datelor în functie de subiectul pe care-l trateaza,
aceasta clasificare ducând la aparitia serviciilor director (de
genul GENVL). Clasificarea dupa subiect este similara retelei lingvistice
WordNet.
Un robot de indexare a informatiilor poate sa se confrunte cu diverse
probleme precum mutarea URI-urilor, cautarea într-o oglindire si
nu într-o locatie originala, duplicarea legaturilor si altele.
Un utilizator poate apela la un serviciu de înregistrare automata
la o suita de motoare de cautare, de obicei gratuit, ca de exemplu AddMe!.
Câteva sfaturi
Înainte de a purcede la conceperea unui robot, folosind sau nu
metode de calcul al hiperinformatiei, trebuie avute în vedere urmatoarele
aspecte:
Chiar avem nevoie de un alt robot sau adaptam nevoilor noastre unul deja
existent?
Robotul trebuie identificat usor de administratorul Web si autorul acelui
robot trebuie sa fie usor de contactat.
Robotul va trebui sa fie mai întâi testat pe date locale,
într-o retea proprie, înainte de a fi disponibil în
Internet.
Robotul va fi moderat în ceea ce priveste resursele: prevenirea
focului rapid, eliminarea cautarilor redundante si inutile.
Robotul se va conforma standardului de excludere a robotilor.
Autorul robotului va analiza continuu activitatile robotului propriu.
Rezultatele furnizate de robot (diversele statistici sau alte date) vor
putea fi facute disponibile spre consultare celor interesati.
Majoritatea robotilor Web actuali respecta recomandarile de mai sus.
Exemple
DataBots - un robot manipulând informatii
Creatie a companiei Imagination Engines Incorporated, DataBots este un
robot utilizat în descoperirea informatiilor pe Web, folosind tabelele
Excel pentru generarea unor retele neuronale menite a analiza datele luate
din Internet. Paradigma utilizata este denumita Creativity Machine, permitând
luarea deciziilor asistata de calculator pe baza informatiilor extrase
de robotul Web.
Wisebot - utilizat pentru administrarea siturilor Web
Wisebot este o aplicatie a companiei Tetranet, putând fi utilizat
la organizarea unui sit Web. Robotul efectueaza o analiza a tuturor paginilor
Web existente pe un server, retinând într-o baza de date cele
mai importante informatii despre ele (titlu, cuvinte-cheie, timpul ultimei
actualizari etc.). Robotul poate genera automat cuvintele cheie aferente
unei pagini, utilizând tehnologia Extractor, prin contorizarea celor
mai frecvente cuvinte si luând în consideratie pozitia lor
în cadrul paginii. Astfel, se construieste un index pentru întreg
continutul hipertext al serverului, care va fi sursa pentru harta de navigare
în cadrul sitului (actualizata la momente regulate de timp în
mod automat).
Acest robot este disponibil în mediile Windows. Pentru platformele
UNIX, exista o multitudine de roboti similari, dintre care se pot mentiona
tkWWW (scris în Tcl/Tk) sau RBSE (Repository Based Software Engineering).
Inktomi - statistici Web
Robotul de cautare Inktomi a fost conceput în cadrul unui proiect
de cercetare condus de Eric Brewer si Paul Gautier de la Universitatea
Berkeley, cu scopul de a utiliza tehnicile de procesare paralela pentru
indexarea, cautarea si analiza paginilor Web. Primele seturi de date au
fost preluate în perioada iulie-octombrie 1995, colectându-se
1,3 milioane de documente HTML unice, urmate în noiembrie 1996 de
2,6 milioane de documente HTML. (vezi caseta "Experimentul")
LiveAgent Pro - pentru realizarea oglindirilor Web
Dezvoltat de AgentSoft, robotul LiveAgent Pro este destinat efectuarii
automate a oglindirilor unui server Web la alta locatie. Alte facilitati
ale aplicatiei sunt completarea automata a formularelor electronice, posibilitatea
de programare prin intermediul scripturilor sau utilizarea robotului în
Intranet.
Sabin-Corneliu Buraga este doctorand în Computer Science la Universitatea
"A.I.Cuza" Iasi. Poate fi contactat la adresa e-mail busaco@infoiasi.ro.
Acest articol a aparut in PC Report Nr 92 / Mai 2000
webmaster@pcreport.ro
Nota
Drepul de autor pentru acest articol apartine in totalitate si in mod exclusiv autorului acestuia .
|