info - motoare de cautare

15
UNIVERSITATEA DIN ORADEA FACULTATEA DE PROTECTIA MEDIULUI SPECIALIZAREA: PEISAGISTICA MOTOARE DE CAUTARE 2012-2013

Upload: cora

Post on 03-Dec-2015

239 views

Category:

Documents


6 download

DESCRIPTION

motoare de cautare

TRANSCRIPT

Page 1: Info - Motoare de Cautare

UNIVERSITATEA DIN ORADEAFACULTATEA DE PROTECTIA MEDIULUI

SPECIALIZAREA: PEISAGISTICA

MOTOARE DE CAUTARE

Student: Orbai Corina Amalia

Prof.coordonator: Venter Adela

2012-2013

Page 2: Info - Motoare de Cautare

Orbai Corina Amalia

Cuprins

1. Definitie 32. Modul de functionare al unui motor de cautare 43. Motorul de indexare 74. Indexul inversat 75. Clasarea in functie de pertinenta 86. Clasarea in functie de popularitate 87. Clasamentul in functie de audienta 88. Motorul de interogare sau motorul de cautare 99. Studiu de caz – Modul de functionare al motorului de cautare Google 1010.Bibliografie 12

Page 2 of 12

Page 3: Info - Motoare de Cautare

Motoare de cautareMOTOARE DE CAUTARE

~ Google ~

Definitie:Un motor de cautare este un program cauta-tor, care acceseaza Internetul în mod automat si frecvent

care stochează titlul, cuvinte cheie si, partial, chiar continutul paginilor web într-o baza de date. În momentul în care un utilizator apelează la un motor de căutare pentru a găsi o informatie, o anumită frază sau un cuvânt, motorul de căutare se va uita în această bază de date si, în functie de anumite criterii de prioritate, va crea si afisa o listă de rezultate (engleză: hit list).Problema nu este de loc trivială, deoarece:

există deja peste 100 milioane de site-uri web, sumând în total miliarde de pagini web, distribuite pe tot globulcontinutul acestor pagini nu este static, ci chiar extrem de dinamic (se schimbă frecvent)răspunsul la o comandă de căutare trebuie să vină repede, în general în mai putin de o jumătate de secundă, chiar atunci când lista de rezultate contine, să zicem, zeci de mii de pagini web potrivite la criteriile de căutare folosite

Cele mai utilizate motoare de căutare sunt:

Motor de căutare Cotă de piată

Google 82,7%

Yahoo! 60,5%

Baidu 4,7%

Bing 3,7%

Ask 0,5%

Aol 0,4%

Page 3 of 12

Page 4: Info - Motoare de Cautare

Orbai Corina AmaliaPentru crearea acestor motoare de căutare este necesar un spider (bot, spider, crawler) care este realizat

într-un limbaj care poate fi Perl, Ruby, Java, Php. Acesta extrage linkurile utile. Apoi aceste linkuri se găsesc într-o formă prelucrată si filtrată prin metode specifice într-o bază de date.

Conform statisticilor de mai sus cel mai utilizat motor de cautare este Google. Google Inc.este o corporatie americană multinatională care administrează motorul de căutare pe Internet cu acelasi nume. A fost fondată în 1998 de către doi doctoranzi de la Universitatea Stanford, Larry Page si Sergey Brin. Google oferă o metodă simplă si rapidă de găsire a informatiilor pe web, având o bază de date de peste 8 miliarde de situri web. La începutul anului 2004 Google răspundea zilnic la mai mult de 200 milioane de consultări.

Numele „Google” este un joc de cuvinte de la googol, neologism englez pus în circulatie de către americanul Milton Sirotta în anul1938, prin care acesta desemna numărul urias format dintr-un 1 urmat de 100 de

zerouri (10100).

Google dispune si de motoare de căutare pentru imagini, cărti, bloguri, grupuri de stiri si directoare web.

Google a creat servicii si instrumente atât pentru publicul larg, cât si pentru mediul de afaceri, inclusiv aplicatii web, servicii de publicitate si solutii pentru agenti economici.

99 % din veniturile lui Google provin din publicitate. În declaratia fiscală pe anul 2006 compania a raportat 10,492 miliarde de dolari SUA profit de pe urma serviciilor de publicitate, si doar 112 milioane dolari profit din acordarea de licente si din alte surse. Google are abilitatea de a urmări interesele utilizatorilor de pe siturile afiliate folosind tehnologiile „dublu clic” si Google Analytics. Google AdWords permite agentilor de publicitate web să afiseze anunturi în mod automat în urma rezultatelor de căutare a informatiei prin motorul Google. Proprietarii de situri de tip Google AdSense pot afisa anunturi pe propriul sit si au dreptul de a încasa bani pentru fiecare anunt accesat.

Modul de functionare al unui motor de cautare

Cunoasterea modului de functionare a unui motor de cautare este un element esential in optimizarea site-ului dumneavoastra. Buna intelegere a functionarii unui motor de cautare va va permite sa intelegeti mai bine procesul de referentiere si de optimizare a unui site web.

Va propunem o analiza globala a modului de functionare al unui motor de cautare si a proceselor care stau la baza procesarii documentelor, stocarii informatiilor si in final, a modului in care sunt clasificate rezultatele in paginile de listing.

Un motor de cautare este un program care acceseaza Internetul si care indexeaza automat paginile vizitate.

Existe 3 etape indispensabile pentru functionarea lui :

1. Strangerea informatiilor (sau crawl) posibila datorita robotiilor (mai sunt numiti si spideri sau crawleri)2. Indexarea informatiilor colectate si constituirea unei baze de date numita „index”3. Procesarea termenilor cautarii, prin intermediul unui impresionant sistem de interogare a indexului si de clasare a rezultatelor in functie de mai multe criterii de pertinenta, criterii raportate la termenii tastati de utilizator.

In prezent, in paginile de rezultate ale motoarelor de cautare sunt afisate doua tipuri de listinguri, asa cum am v-am prezentat intr-unul din articolele precedente :

Page 4 of 12

Page 5: Info - Motoare de Cautare

Motoare de cautare• Rezultate organice sau naturale, obtinute datorita crawlarii web• Rezultate sponsorizate

In acesta sectiune ne vom concentra cu prioritate asupra tehnicior utilizate de motoarele de cautare pentru a indexa si afisa linkuri in sectiunea cautarii organice.

Tehnici utilizate de principalele motoare de cautare

In prezent, nu exista decat cativa furnizori de tehnologie pe piata, Google, Yahoo!, MSN, Teoma, Wisenut si Gigablast in Statele Unite, precum si la nivel mondial. Excepand cei 3 leaderi de pe piata motoarelor de cautare (Google, Yahoo! si Bing), numeroase motoare de cautare nu utilizeaza propriile tehnologii de cautare, ci externalizeaza aceasta aplicatie motoare de cautare mai performante.

Modul de functionare al unui motor de cautare

Procesul de functionare al unui motor de cautare urmareste mai multe etape : robotii (asa numitii spideri sau crawleri) exploreaza Web-ul din link in link recuperand informatii (faza numita crawling). Toate informatiile explorate sunt apoi indexate de motoarele de cautare, imbogatind un index in mod regulat actualizat. O interfata de cautare permite restituirea rezultatelor catre utilizatori, rezultate clasificate in functie de pertinenta lor (faza numita ranking).

Crawleri sau spideri

Robotii motoarelor de cautare (numiti si agenti, crawleri sau spideri) sunt programe de navigare care viziteaza in mod continuu paginile web si linkurile gasite pe aceste pagini, in vederea indexarii de continut. Ei urmeaza linkurile hypertext gasite, linkuri care leaga paginile intre ele, si revin in mod periodic pe paginile retinute in indexul lor pentru a lua in calcul eventualele modificari. Un spider este fara indoiala o aplicatie foarte simpla dar de o eficienta redutabila. El stie sa faca doua lucruri :

- Sa citeasca paginile web si sa stocheze continutul lor (mai precis codul lor HTML) pe hardurile motoarelor- Sa detecteze linkurile de pe aceste pagini sa le urmeze pentru a identifica alte noi pagini.

Procesul este stabil : spiderul gaseste o pagina, o salveaza, detecteaza linkurile pe care acea pagina le contine, acceseaza paginile de destinatie ale acestor linkuri, le salveaza, detecteaza alte linkuri etc… Si acest proces se repeta 24 de ore din 24…

Page 5 of 12

Page 6: Info - Motoare de Cautare

Orbai Corina Amalia

Printre spiderii cunoscuti, putem aminti spiderul „Googlebot” al motorului Google, si “Yahoo! Slurp” al motorului de cautare Yahoo!.

Dar totusi, parcurgearea Web-ului nu este de ajuns. In momentul in care un spider ajunge pe o pagina, el va verifica daca nu cumva el o cunoaste deja. In caz afirmativ, el va verifica daca versiunea descoperita este mai recenta decat cea pe care o are deja in index. In cazul in care versiunea descoperita este mai recenta, el va sterge vechea versiune si o va inlocui cu cea noua. Indexul este astfel actualizat in mod automat. Pentru a stii daca o pagina este mai recenta decat versiunea care se gaseste deja in posesia lui, un motor de cautare ia in calcul mai multe criterii :

- Data ultimei modificarii, informatie furnizata de catre server- Marimea (in kilo-octeti) paginii- Rata de modificare a codului HTML al documentului (continutul sau)- Zonele modificate : elemente de design sau continut real.

In urma cu cativa ani, actualizarile indexului motoarelor se efectuau lunar. In fiecare luna, motorul isi improspata baza de date stergand vechiul index si inlocuindu-l cu cel nou, actualizat timp de 20 de zile de catre robotii sai, navigand Web-ul in cautarea de noi documente si de versiuni mai recente decat cele pe care le are deja in posesie. Acest sistem de actualizare lunara a indexului nu mai este insa valabil si astazi. Majoritatea motoarelor gestioneaza procesul de crawl intr-un mod „diferentiat” si „neliniar”. Robotii viziteaza cu o frecventa mai mare paginile cu o rata de actualizare mai mare (foarte frecvent updatate) si viziteaza mai rar paginile statice. Astfel, o pagina care este updatata zilnic (de exemplu, un site de actualitate) va fi vizitata zilnic sau la fiecare doua zile in timp ce o pagina rar actualizata, in medie la fiecare patru saptamani. Am putea nota faptul ca tehnica de navigare folosita de spideri, din link in link, poate sa puna mai multe probleme pentru :

• Indexarea paginilor care nu sunt legate de nici o alta pagina care prin urmare nu poate sa fie reperata de crawleri.• Indexarea paginilor dinamice sau a bazelor de date• Pagini care sunt accesibile numai prin intermediul unor linkuri care nu sunt luate in considerare de motoarele de cautare, din cauza naturii lor (linkuri in javascript, flash, pop-up)

Trecerea spiderilor poate sa fie verificata de catre webmaseri prin consultarea fisierelor „logs” de pe server (sunt fisiere care indica istoricul conexiunilor care au avut loc pe site deci implicit si cele ale spiderilor).

Page 6 of 12

Page 7: Info - Motoare de Cautare

Motoare de cautareMotorul de indexare

Odata paginile Web „crawlate”, robotul trimite motorului de indexare informatiile colectate. De-a lungul timpului mai multe sisteme de indexare a datelor au fost utilizate :

- Indexarea doar a balizelor meta (meta tags) inserate de catre webmasteri in codul sursa al paginilor HTML, balize care cuprind printre altele rezumatul si cuvintele cheie atribuite de catre autorul paginii. Foarte putine motoare mai functioneaza astfel.- Indexarea excusiva a titlurilor sau a unor cateva linii din documente. Acest mod de functionare este de asemenea foarte rar utilizat.- Indexarea textului integral (este de departe cel mai utilizat mod de indexare). Toate cuvintele unei pagini, si mai precis tot codul sursa este astfel indexat.

Adesea, sistemele de indexare asigura identificarea intr-o „versiune numai text” a ansamblului cuvintelor textelor prezente pe pagini, ca si pozitionarea lor. Astfel, motoarele au capacitatea de a limita capacitatea lor de indexare. Google limita indexarea la primii 101 kilo octeti ai paginii, dar aceasta este o technica de indexare care nu mai este de actualitate. Pe de alta parte, mai ca la toate aplicatiile documentare si bazele de date, exista declarata o liste de cuvine „goale” (ca de exemplu si, de, sau etc…) numite in engleza „stop words” si care sunt automatic excluse din analiza densitatii cuvintelor pe o pagina web.

Indexul inversat

In timpul indexarii si analizei continutului paginilor web, un index de cuvinte des intalnite este automat imbogatit. Acest index este constituit dintr-un :

• Index principal, ansamblul de informatii descoperite de catre spider (Url si/sau document…)• Documente inverse sau index inversat, create in jurul indexului principal si continand toti termenii de acces (cuvinte cheie) asociate URL-urilor exacte ale documentelor care contin acesti termeni

Obiectivul acestui index inversat este simplu. Este vorba despre niste spatii in care sunt listati diferitii termeni intalniti, fiecare termen fiind asociat tuturor paginilor unde el figureaza.

Termenul de index poate astfel fi interpretat in doua moduri :

• Indexul documentelor, continand toate paginile luate in calcul de un motor de cautare in timpul unei analize.• Indexul invesat, care contine cuvintele cheie potentiale de cautare dar si legaturile dintre acestea si indexul documentelor.

Este vorba de partea invizibila utilizatorului dar care este indispensabila in fonctionarea unui motor de cautare.

Indexul trebuie sa fie actualizat permanent, adaugand, modificand, stergand diferite inregistrari. De altfel, frecventa de actualizare a informatiilor in index este in mare parte unul din elemenele care califica un motor de cautare, pe langa rapiditatea furnizarii informatiilor, pertinenta informatiilor afisate in raport cu cautarea etc…

Sistemul de ranking

Page 7 of 12

Page 8: Info - Motoare de Cautare

Orbai Corina Amalia

Rankingul este procesul care consta in clasarea automata a informatiilor in index, astfel incat, in urma unei interogari, paginile cele mai pertinente sa se afiseze in primele listari. Scopul clasamentului este de a afisa in primele 10 pana la 20 de listari, documentele care raspund cel mai bine intrebarii de cautare. Motoarele elaboreaza in permanenta noi algoritmi (formule matematice utilizate pentru a clasa documentele). Acesti algoritmi sunt un adevarat factor de diferentiere si sunt decat foarte rar cunoscuti de catre public, ba chiar in anumite cazuri sunt protejati prin anumite brevete. In cazul algoritmului de ranking al motorului Google deja se vorbeste de un mit.

Exista mai multe metode de ranking al rezultatelor. Motoarele utilizeaza in cele mai multe cazuri un amestec intre diferitele tehnici :

Clasarea in functie de pertinenta

Rezultatele cautarii sunt clasate in functie de 5 factori, care au in vedere termenii cautarii :

• Localizarea unui cuvant in document• Densitatea cuvantului• Punerea in evidenta a cuvantului : bold, titlu, balizele Hn, anchor text…• Gradul de similaritate dintre expresia cautata si expresia corespunzatoare unui document• Relatia de proximitate intre termenii cautarii si termenii utilizati in document… etc

Clasarea in functie de popularitate (indice de popularitate)

Inventata de Google in 1998 ca un raspuns impotriva abuzurilor posibile in metoda clasarii in functie de pertinenta, clasarea in functie de popularitate se bazeaza pe analiza interconexiunii dintre paginile web, prin intermediul linkurilor hypertext, si este a priori independenta de continut.

Astfel, Google claseaza documentele in functie de „Page Rank”-ul lor (numarul si calitatea linkurilor care se duc catre anumite pagini). Motorul analizeaza paginile care contin aceste linkuri. Linkurile care provin din site-urile considerate importante prezinta un vot de incredere pentru pagina de destinatie a linkului aferent. Cu cat o pagina este mai pusa in evidenta prin linkuri venite din pagini populare, cu atat popularitatea ei este mai mare si primeste un mai bun clasament.

Clasamentul in functie de audienta (indice de clic)

Creat de catre societatea DirectHit in 1998, aceasta metoda permite trierea paginilor in functie de calitatea vizitelor pe care le primeste. Motorul analizeaza comportamentul utilizatorului la fiecare clic, la fiecare vizita a unui link accesat din pagina de rezultate (si in principal daca utilizatorul revine sau nu in pagina de rezultate a motorului, si dupa cat timp). Cu cat pagina este mai accesata si cu cat utilizatorii revin mai putin pe pagina de rezultate dupa ce au consultat-o, cu atat pagina va fi considerata ca pertinenta si prin urma mai bine clasata pentru urmatoare cautare similara. Aceasta metoda pare a fi uitata in ultimul timp.

Page 8 of 12

Page 9: Info - Motoare de Cautare

Motoare de cautareMotoarele sunt obligate sa-si schimbe in permanenta algoritmi pentru a lupta contra „spamdexing”-ului si

anume impotriva acelor tehnici de spam utilizate de catre webmasteri pentru a insela motoarele de cautare cu scopul de a isi ameliora artificial pozitionarea in rezultatele de cautare.

Printre tehnicile cele mai cunoscute de spamdexing putem aminti : repetitia abuziva a cuvintelor cheie in balizele meta si in continutul prezent pe pagini, integrarea unor texte invizibile pentru utilizatori dar vizibile pentru motoarele de cautare, creare unor site-uri oglinda, sau de linkuri fictive (fermele de linkuri). O sa avem ocazia sa vorbim despre fiecare dintre aceste tehnici in urmatoarele publicatii.

Motorul de interogare sau motorul de cautare

Motorul de cautare (searcher) este interfata principala (formularul de cautare) propus utilizatorilor. Sunt disponibile mai multe interfate de cautare de la cea simpla pana la cea mai avansata.

Cautare simpla

Cautare avansata

Page 9 of 12

Page 10: Info - Motoare de Cautare

Orbai Corina Amalia

La fiecare interogare, prin intermediul unui script CGI (Common Gateway Interface), o cerinta de cautare este generata in baza de date si o pagina web dinamica restituie rezultatele, in general sub forma unei liste de rezultate. Interfata CGI permite executarea unui program pe un server si retrimite rezultatul lui unui navigator internet.

Studiu de caz – Modul de functionare al motorului de cautare Google

Creat in 1998 de catre doi studenti ai universitatii din Stanford, Sergey Brin et Larry Page, Google s-a impus rapid ca lider mondial pe piata motoarelor de cautare.

Stocarea informatiilor si raspunsul la cautarile utilizatorilor sunt efectuate prin intermediul a mai bine de cateva mii de calculatoare traditionale care ruleaza in Linux. Calculatoarele sunt interconectate cu ajutorul unui sistem bazat pe repartitia sarcinilor, adica un calculator distribuie sarcinile progresiv spre celelalte calculatoare disponibile.

Avant un cost mai avantajos decat cel al serverelor, calculatoarelor traditionale ofera un avantaj motorului de cautare in masura in care este posibila marirea relativ usoara a parcului informatic odata cu marirea cantitatii de documente indexate.

Indexul Google este impartit in mici segmente (shards) in totalitatea calculatoarelor disponibile si distribuite in diverse datacenters localizate in toata lumea. Pentru a ramane disponibil in cazul defectarii unui PC, o copie a fiecarui „shard” este pastrata pe mai multe calculatoare.

Iata cum arata arhitectura Google asa cum ne-a fost prezentata acum mai bine de 10 ani :

Page 10 of 12

Page 11: Info - Motoare de Cautare

Motoare de cautare

Arhitectura functionala a motorului Google. Sursa: Sergey Brin et Lawrence Page – The Anatomy of a Large-Scale Hypertextual Web Search Engine

Fiecare element are un rol bine definit :

Serverul de URL (URL server) trimite crawlerilor (Googlebot) toate adresele paginilor care trebuie vizitate (si in special linkurile sumise prin formularul de inregistrare al lui Google).

Store Server-ul compreseaza paginile extrase de catre crawleri si le trimite la Repository unde sunt stocate.

Indexorul (Indexer) citeste si decompreseaza continutul din Repository. El asocieaza fiecarui document un numar de inregistrare “docID” si converteste fiecare pagina intr-un ansamblu de ocurente de termeni (fiecare ocurenta este numita un „hit”).

Indexorul distribuie ocurentele intr-un ansamblu de „barrels” (organizate pe docID).

Anchors stocheaza anumite informatii generate de indexor, mai precis linkurile hypertext si anchor textele care sunt asociate.

URL Resolver recupereaza informatiile furnizate de catre Anchors si converteste fiecare link de destinatie al anchor textului intr-un docID.

Links contine docID-urile primite de la URL Solver. Este vorba despre o pereche de linkuri, pentru ca fiecare anchor text apartine unei pagini si trimite catre o alta pagina.

Page Rank-ul recupereaza informatiile din aceasta baza de linkuri pentru a calcula Page Rank-ul fiecarui document (indice de popularitate).

Sorter-ul recupereaza datele stocate in Barrels si organizate in docID si le reorganizeaza in wordID (identitate de cuvinte). Aceasta operatie permite generarea indexului inversat, stocat in aceleasi Barrels.

Lista de cuvinte creata de catre Sorter este comparata cu cea din Lexicon (lexic) si orice cuvant care nu figureaza in lexic este adaugat.

In final, Searcher sau interfata de cautare executa cautarea pentru a raspunde termenilor de cautare tastati de catre utilizatori.

Page 11 of 12

Page 12: Info - Motoare de Cautare

Orbai Corina AmaliaPentru a raspunde cerintei utilizatorului, motorul utilizeaza Lexicon-ul, indexul inversat continut de

Barrels si adresele URL asociate cuvintelor din indexul inversat si bineinteles toate informatiile din Page Rank cu privire la indicii de popularitate.

La fiecare interogare, serverul consulta indexul inversat si regrupeaza intr-o lista documentele care contin termenii cautarii (hit list). Apoi claseaza paginile in functie de pertinenta si indice de pupularitate.

Bineinteles, ca acest algortim a suferit de-a lungul anilor foarte multe modificari insa cele prezentate anterior ofera o imagine de ansamblu asupra modului de functionare a unui motor de cautare.

Bibliografie

1.  Segev, Elad (2010). Google and the Digital Divide: The Biases of Online Knowledge. Oxford: Chandos

Publishing.

2. Vaughan, L. & Thelwall, M. (2004). „Search engine coverage bias: evidence and possible causes”, Infor-

mation Processing & Management, 40(4), 693-707.

3. Mihaela Andrei, specialist SEO – International SEO Marketing

4. Sergey Brin et Lawrence Page – The Anatomy of a Large-Scale Hypertextual Web Search Engine

Page 12 of 12