uite sfanto ce sunt robotii aia.Sper sa nu te ia somnul la inceputul subectului si sa nu-l citesti in totalitate
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.
[b]roboti academici [/b]
- 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).
[b]roboti de stiri [/b]
- 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:
content="Manipularea informatiilor multimedia">
content="Internet, multimedia, hypertext, document, robots,
agents, logic, real-time, protocol, WWW, Web">
content="Sabin Corneliu Buraga ">
content="Sabin Corneliu Buraga ">
- 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:
Ī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!.
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.