Sari la conținut

Indexarea în motoarele de căutare

De la Wikipedia, enciclopedia liberă

Indexarea în motoarele de căutare reprezintă procesul de colectare, analizare și stocare a datelor pentru a facilita recuperarea rapidă și precisă a informațiilor. Designul indexării încorporează concepte interdisciplinare din lingvistică, psihologie cognitivă, matematică, știința calculatoarelor și informatică. Un nume alternativ pentru proces, în contextul motoarelor de căutare concepute pentru a găsi pagini web pe Internet, este indexarea web.

Motoarele de căutare populare se concentrează pe indexarea integrală a documentelor online, în limbaj natural. Se pot căuta diverse tipuri de media, cum ar fi imagini, înregistrări video[1] sau audio,[2] și grafice.

Meta-motoarele de căutare reutilizează indexurile altor servicii fără a stoca un index propriu, spre deosebire de motoarele de căutare bazate pe cache, care păstrează permanent indexul împreună cu corpusul. Spre deosebire de indexurile pe text complet, serviciile pe text parțial limitează profunzimea indexării pentru a reduce dimensiunea indexului. Serviciile mai mari efectuează, de obicei, indexarea la intervale prestabilite, din cauza limitărilor de timp și cost de procesare, în timp ce motoarele de căutare bazate pe agenți indexează în timp real.

Scopul stocării unui index este de a optimiza viteza și performanța în găsirea documentelor relevante pentru o interogare de căutare. Fără un index, motorul de căutare ar scana fiecare document din corpus, ceea ce ar necesita timp și putere de calcul considerabile. De exemplu, în timp ce un index de 10.000 de documente poate fi interogat în milisecunde, o scanare secvențială a fiecărui cuvânt din 10.000 de documente mari poate dura ore. Spațiul de stocare suplimentar pe calculator necesar pentru stocarea indexului, precum și creșterea considerabilă a timpului necesar pentru ca o actualizare să aibă loc, sunt compensate cu timpul economisit în timpul regăsirii informațiilor.

Factorii de proiectare a indicelui

[modificare | modificare sursă]

Cei mai importanți factorii în proiectarea arhitecturii unui motor de căutare includ:

Factorul de unire
Modul în care datele sunt adăugate în index, cum sunt incluse cuvintele sau caracteristicile subiectului în timpul parcurgerii corpusului de text și dacă mai mulți indexatori pot opera asincron. Indexatorul trebuie mai întâi să determine dacă actualizează conținutul existent sau adaugă unul nou. Parcurgerea se corelează de obicei cu politica colectare a datelor. Unirea indexului motorului de căutare este similară ca concept cu comanda SQL Merge și cu alți algoritmi de unire.
Tehnici de stocare
Cum se stochează datele de index, adică dacă informațiile ar trebui să fie date comprimate sau filtrate.
Dimensiunea indexului
Cât de mult spațiu de stocare este necesar pentru a suporta indexul.
Viteza de căutare
Cât de repede poate fi găsit un cuvânt în indexul inversat. Viteza de găsire a unei intrări într-o structură de date, în comparație cu cât de repede poate fi actualizată sau eliminată, este un punct central al științei calculatoarelor.
Întreținere
Cum se menține indicele în timp.
Toleranță la erori
Cât de important este ca serviciul să fie de încredere. Problemele includ tratarea corupției indexului, determinarea dacă datele proaste pot fi tratate izolat, tratarea hardware-ului defectuos, partiționarea și scheme precum partiționarea bazată pe hash sau compus, precum și replicarea.

Structuri de date indexate

[modificare | modificare sursă]

Arhitecturile motoarelor de căutare diferă în funcție de metodele de indexare și strategiile de stocare a indexului, adaptându-se la diverși factori de design.

Arborele de sufixe
Structurat figurativ ca un arbore, acceptă căutarea liniară în timp. Construit prin stocarea sufixelor cuvintelor. Arborele sufixului este un tip de trie. Încercările acceptă hashing extensibil, care este important pentru indexarea motoarelor de căutare. Folosit pentru căutarea modelelor în secvențele de ADN și gruparea. Un dezavantaj major este că stocarea unui cuvânt în arbore poate necesita spațiu dincolo de cel necesar pentru stocarea cuvântului în sine.[3] O reprezentare alternativă este o matrice de sufixe, care se consideră că necesită mai puțină memorie virtuală și acceptă compresia datelor, cum ar fi algoritmul BWT.
Index invers
Stochează o listă de apariții ale fiecărui criteriu de căutare atomică, de obicei sub forma unui tabel hash sau a unui arbore binar.
Index de citare
Stochează citări sau hyperlinkuri între documente pentru a sprijini analiza citațiilor, un subiect de bibliometrie.
Index n-gram
Stochează secvențe de lungime a datelor pentru a sprijini alte tipuri de extragere sau extragere de text.[4]
Matricea document-termen
Folosit în analiza semantică latentă, stochează aparițiile cuvintelor din documente într-o matrice rară bidimensională.

O provocare majoră în proiectarea motoarelor de căutare este gestionarea proceselor de calcul în serie. Există multe oportunități pentru condiții de cursă și greșeli coerente. De exemplu, un document nou este adăugat în corpus și indexul trebuie actualizat, dar indexul trebuie să continue să răspundă simultan la interogările de căutare. Aceasta este o coliziune între două sarcini concurente. Luați în considerare că autorii sunt producători de informații, iar un crawler web este consumatorul acestor informații, preluând textul și stochându-l într-un cache (sau corpus ). Indicele forward este consumatorul de informații produse de corpus, iar indicele inversat este consumatorul de informații produse de indicele forward. Acesta este denumit în mod obișnuit modelul producător-consumator. Indexatorul este producătorul de informații care pot fi căutate, iar utilizatorii sunt consumatorii care trebuie să caute. Provocarea este amplificată atunci când lucrați cu stocare distribuită și procesare distribuită. Într-un efort de a scala cu cantități mai mari de informații indexate, arhitectura motorului de căutare poate implica calcul distribuit, în care motorul de căutare este format din mai multe mașini care funcționează la unison. Acest lucru crește posibilitățile de incoerență și face mai dificilă menținerea unei arhitecturi paralele, distribuite și sincronizate complet.

Indexuri inverse

[modificare | modificare sursă]

Multe motoare de căutare încorporează un index inversat atunci când evaluează o interogare de căutare pentru a localiza rapid documentele care conțin cuvintele dintr-o interogare și apoi clasa aceste documente în funcție de relevanță. Deoarece indexul inversat stochează o listă a documentelor care conțin fiecare cuvânt, motorul de căutare poate folosi accesul direct pentru a găsi documentele asociate fiecărui cuvânt din interogare pentru a regăsi rapid documentele care se potrivesc. Următoarea este o ilustrare simplificată a unui index inversat:

Index inversat
Cuvânt Documente
cel Documentul 1, Documentul 3, Documentul 4, Documentul 5, Documentul 7
vacă Documentul 2, Documentul 3, Documentul 4
spune Documentul 5
moo Documentul 7

Acest index poate determina doar dacă un cuvânt există într-un anumit document, deoarece nu stochează informații cu privire la frecvența și poziția cuvântului; de aceea este considerat a fi un index boolean. Un astfel de index determină ce documente corespund unei interogări, dar nu clasifică documentele potrivite. În unele modele, indexul include informații suplimentare, cum ar fi frecvența fiecărui cuvânt din fiecare document sau pozițiile unui cuvânt în fiecare document. Informațiile de poziție permit algoritmului de căutare să identifice proximitatea cuvântului pentru a sprijini căutarea expresiilor; frecvența poate fi folosită pentru a ajuta la clasificarea relevanței documentelor pentru interogare. Astfel de subiecte reprezintă centrul de cercetare al regăsării informațiilor.

Indicele inversat este o matrice rară, deoarece nu toate cuvintele sunt prezente în fiecare document. Pentru a reduce cerințele de memorie de stocare a computerului, aceasta este stocată diferit de o matrice bidimensională. Indicele este similar cu termenul de matrice de document folosit de analiza semantică latentă. Indicele inversat poate fi considerat o formă de tabel hash. În unele cazuri, indexul este o formă de arbore binar, care necesită stocare suplimentară, dar poate reduce timpul de căutare. În indici mai mari, arhitectura este de obicei un tabel hash distribuit.

Pentru căutarea expresiilor, se folosește o formă specializată a unui index inversat numit index pozițional. Un index de poziție nu stochează doar ID-ul documentului care conține indicativul, ci și poziția exactă (pozițiile) jetonului în document în lista de postări. Aparițiile expresiei specificate în interogare sunt preluate prin navigarea în aceste liste de postări și identificarea indecșilor la care termenii doriti apar în ordinea așteptată (la fel ca și ordinea în frază). Deci, dacă căutăm apariția expresiei „Prima vrăjitoare”, am:

  1. Se preia posting listul pentru „prima” și „vrăjitoare”
  2. Se identifică prima dată când „vrăjitoare” apare după „prima”
  3. Se verifică dacă această apariție este imediat după apariția lui „prima”.
  4. Dacă nu, se continuă cu următoarea apariție a lui „prima”.

Fuziunea indexului

[modificare | modificare sursă]

Indexul inversat este actualizat fie prin îmbinare, fie prin reconstrucție. Spre deosebire de îmbinare, reconstrucția presupune ștergerea prealabilă a conținutului existent. Arhitectura poate fi concepută pentru a permite indexarea incrementală, unde o îmbinare identifică documentul sau documentele care urmează să fie adăugate sau actualizate și apoi parsează fiecare document în cuvinte. Pentru o acuratețe tehnică, îmbinarea combină documentele recent indexate, care sunt de obicei stocate în memoria virtuală, cu cache-ul de index aflat pe unul sau mai multe hard disk-uri ale computerului.

După parsare, indexatorul adaugă documentul referențiat la lista de documente pentru cuvintele corespunzătoare. În cazul unui motor de căutare mai mare, procesul de căutare a fiecărui cuvânt în indexul inversat (pentru a raporta apariția acestuia într-un document) poate consuma prea mult timp. Prin urmare, acest proces este de obicei împărțit în două etape: dezvoltarea unui index direct și un proces care sortează conținutul indexului direct în indexul inversat. Indexul inversat poartă acest nume deoarece reprezintă o inversare a indexului direct.

Indicele înainte

[modificare | modificare sursă]

Indexul forward stochează o listă de cuvinte pentru fiecare document. Următoarea este o formă simplificată a indexului forward:

Index de avans
Document Cuvinte
Documentul 1 vaca, face, moo
Documentul 2 pisica, și, pălăria
Documentul 3 farfuria, a, fugit, cu, lingura

Motivul din spatele dezvoltării unui index înainte este că, pe măsură ce documentele sunt analizate, este mai bine să stocați intermediar cuvintele per document. Delimitarea permite procesarea asincronă a sistemului, care ocolește parțial blocajul de actualizare a indexului inversat. Indicele direct este sortat pentru a-l transforma într-un index inversat. Indexul înainte este, în esență, o listă de perechi formată dintr-un document și un cuvânt, colazionate de document. Convertirea indexului direct într-un index inversat este doar o chestiune de sortare a perechilor după cuvinte. În acest sens, indexul inversat este un index înainte sortat după cuvinte.

Generarea sau menținerea unui index de motor de căutare la scară largă reprezintă o provocare semnificativă de stocare și procesare. Toate motoarele de căutare utilizează o formă de compresie pentru a reduce dimensiunea indicilor de pe disc. Fie următorul scenariu pentru un motor de căutare pe text complet pe Internet.

  • Este nevoie de 8 biți (sau 1 octet) pentru a stoca un singur caracter. Unele codificări folosesc 2 octeți per caracter
  • Numărul mediu de caractere dintr-un anumit cuvânt dintr-o pagină poate fi estimat la 5 ( Wikipedia: Comparații de mărime )

Având în vedere acest scenariu, un index necomprimat (presupunând un index simplu, necomprimat ) pentru 2 miliarde de pagini web ar trebui să stocheze 500 de miliarde de intrări de cuvinte. La 1 octet pe caracter sau 5 octeți pe cuvânt, acest lucru ar necesita doar 2500 gigaocteți de spațiu de stocare. Această cerință de spațiu poate fi și mai mare pentru o arhitectură de stocare distribuită tolerantă la erori. În funcție de tehnica de compresie aleasă, indicele poate fi redus la o fracțiune din această dimensiune. Compensația este timpul și puterea de procesare necesare pentru a efectua compresia și decompresia. 

În special, modelele motoarelor de căutare pe scară largă încorporează costul stocării, precum și costurile cu electricitatea pentru alimentarea stocării. Prin urmare, compresia este o măsură a costului.

Analiza documentelor

[modificare | modificare sursă]

Analiza documentelor descompune componentele (cuvintele) ale unui document sau ale unei alte forme de suport pentru inserarea în indicii înainte și inversați. Cuvintele găsite se numesc token-uri și astfel, în contextul indexării motoarelor de căutare și al procesării limbajului natural, analizarea este denumită mai frecvent tokenizare. De asemenea, se mai numește uneori dezambiguizare, etichetare, segmentare text, analiză de conținut, analiză text, extragere de text, generare de concordanță, segmentare vorbire, lexing sau analiză lexicală. Termenii „indexare”, „parsare” și „tokenizare” sunt folosiți interschimbabil în argou corporativ.

Prelucrarea limbajului natural este subiectul unei cercetări continue și al îmbunătățirii tehnologice. Tokenizarea prezintă multe provocări în extragerea informațiilor necesare din documente pentru indexare pentru a sprijini căutarea de calitate. Tokenizarea pentru indexare implică mai multe tehnologii, a căror implementare sunt de obicei păstrate ca secrete corporative.[necesită citare]

Provocări în procesarea limbajului natural

[modificare | modificare sursă]
Ambiguitatea limitei cuvintelor
Vorbitorii nativi de engleză pot considera la început tokenizarea ca fiind o sarcină simplă, dar acesta nu este cazul în proiectarea unui indexator multilingv. În formă digitală, textele altor limbi, cum ar fi chineza sau japoneză, reprezintă o provocare mai mare, deoarece cuvintele nu sunt clar delimitate de spații albe. Scopul în timpul tokenizării este de a identifica cuvintele pe care utilizatorii le vor căuta. Logica specifică limbii este folosită pentru a identifica în mod corespunzător limitele cuvintelor, ceea ce este adesea motivul pentru proiectarea unui analizator pentru fiecare limbă acceptată (sau pentru grupuri de limbi cu markeri de limită și sintaxă similare).
Ambiguitatea limbajului
Pentru a ajuta la clasarea corectă a documentelor potrivite, multe motoare de căutare colectează informații suplimentare despre fiecare cuvânt, cum ar fi limba sau categoria lexicală ( parte de vorbire ). Aceste tehnici sunt dependente de limbaj, deoarece sintaxa variază între limbi. Documentele nu identifică întotdeauna în mod clar limba documentului sau o reprezintă cu acuratețe. În tokenizarea documentului, unele motoare de căutare încearcă să identifice automat limba documentului.
Diverse formate de fișiere
Pentru a identifica corect ce octeți ai unui document reprezintă caractere, formatul fișierului trebuie gestionat corect. Motoarele de căutare care acceptă mai multe formate de fișiere trebuie să poată deschide și accesa corect documentul și să poată tokeniza caracterele documentului.
Depozitare defectuoasă
Calitatea datelor din limbajul natural poate să nu fie întotdeauna perfectă. Un număr nespecificat de documente, în special pe Internet, nu respectă îndeaproape protocolul de fișiere adecvat. Caracterele binare pot fi codificate greșit în diferite părți ale unui document. Fără recunoașterea acestor caractere și manipularea adecvată, calitatea indexului sau performanța indexatorului s-ar putea degrada.

Spre deosebire de oamenii alfabetizați, computerele nu înțeleg structura unui document în limbaj natural și nu pot recunoaște automat cuvintele și propozițiile. Pentru un computer, un document este doar o secvență de octeți. Calculatoarele nu „știu” că un caracter spațiu separă cuvintele dintr-un document. În schimb, oamenii trebuie să programeze computerul pentru a identifica ceea ce constituie un cuvânt individual sau distinct, denumit simbol. Un astfel de program este numit în mod obișnuit tokenizer sau parser sau lexer. Multe motoare de căutare, precum și alte programe de procesare a limbajului natural, încorporează programe specializate pentru analiza, cum ar fi YACC sau Lex.

În timpul tokenizării, analizatorul identifică secvențe de caractere care reprezintă cuvinte și alte elemente, cum ar fi punctuația, care sunt reprezentate prin coduri numerice, dintre care unele sunt caractere de control care nu se imprimă. Analizatorul poate identifica, de asemenea, entități precum adrese de e-mail, numere de telefon și adrese URL. La identificarea fiecărui simbol, pot fi stocate mai multe caracteristici, cum ar fi majuscule (mausă, inferioară, mixtă, corectă), limba sau codificare, categoria lexicală (parte de vorbire, cum ar fi „substantiv” sau „verbul”), poziția, numărul propoziției, poziția propoziției, lungimea și numărul rândului.

Recunoașterea limbii

[modificare | modificare sursă]

Dacă motorul de căutare acceptă mai multe limbi, un pas inițial comun în timpul tokenizării este identificarea limbii fiecărui document; mulți dintre pașii următori sunt dependenți de limbaj (cum ar fi stemming și o parte din etichetarea vorbirii ). Recunoașterea limbii este procesul prin care un program de calculator încearcă să identifice sau să clasifice automat limba unui document. Alte nume pentru recunoașterea limbii includ clasificarea limbii, analiza limbii, identificarea limbii și etichetarea limbii. Recunoașterea automată a limbajului este subiectul cercetărilor în curs de desfășurare în procesarea limbajului natural. Găsirea cărei limbi îi aparțin cuvintele poate implica utilizarea unei diagrame de recunoaștere a limbii.

Analiza formatului

[modificare | modificare sursă]

Dacă motorul de căutare acceptă mai multe formate de documente, documentele trebuie pregătite pentru tokenizare. Provocarea este că multe formate de documente conțin informații de formatare în plus față de conținutul textual. De exemplu, documentele HTML conțin etichete HTML, care specifică informații de formatare, cum ar fi începuturile de linii noi, accentul îngroșat și dimensiunea sau stilul fontului. Dacă motorul de căutare nu ar face distincția între conținut și „marcare”, informațiile externe ar fi incluse în index, ceea ce ar duce la rezultate slabe ale căutărilor. Analiza formatului presupune identificarea și manipularea elementelor de formatare încorporate în documente, care controlează modul în care documentul este redat pe ecranul unui computer sau interpretat de un program software. Această analiză mai este cunoscută și sub denumirile de analiză a structurii, analiza formatului, eliminarea etichetelor, eliminarea formatului, normalizarea textului, curățarea textului și pregătirea textului. Provocarea analizei formatului este amplificată de complexitatea diferitelor tipuri de fișiere. Anumite formate de fișiere sunt proprietare și oferă foarte puține informații publice, în timp ce altele sunt bine documentate. Formatele de fișiere comune și bine documentate, acceptate de multe motoare de căutare, includ:

Opțiunile pentru tratarea diferitelor formate includ utilizarea unui instrument de analiză comercial disponibil public, oferit de organizația care a dezvoltat, întreține sau deține formatul și scrierea unui parser personalizat.

Unele motoare de căutare acceptă inspecția fișierelor care sunt stocate într-un format de fișier comprimat sau criptat. Când lucrează cu un format comprimat, indexatorul decomprimă mai întâi documentul; acest pas poate avea ca rezultat unul sau mai multe fișiere, fiecare dintre acestea trebuind să fie indexat separat. Formatele de fișiere comprimate acceptate în mod obișnuit includ:

  • ZIP - Fișier de arhivă Zip
  • RAR - Fișier arhivă Roshal
  • CAB - Microsoft Windows Cabinet File
  • Gzip - Fișier comprimat cu gzip
  • BZIP - Fișier comprimat folosind bzip2
  • Tape ARchive (TAR), fișier de arhivă Unix, nu (în sine) comprimat
  • TAR.Z, TAR.GZ sau TAR.BZ2 - Fișiere de arhivă Unix comprimate cu Compress, GZIP sau BZIP2

Analiza formatului poate implica metode de îmbunătățire a calității pentru a evita includerea „informației proaste” în index. Conținutul poate manipula informațiile de formatare pentru a include conținut suplimentar. Exemple de abuz de formatare a documentelor pentru spamdexing :

  • Includerea a sute sau mii de cuvinte într-o secțiune care este ascunsă vizualizării pe ecranul computerului, dar vizibilă pentru indexator, prin utilizarea formatării (de exemplu, eticheta "div" ascunsă în HTML, care poate include utilizarea CSS sau JavaScript pentru a face acest lucru).
  • Setarea culorii fontului din prim-plan a cuvintelor la aceeași culoare cu cea de fundal, asigurând cuvintele ascunse pe ecranul computerului pentru o persoană care vizualizează documentul, dar nu ascunse pentru indexator.

Recunoașterea secțiunii

[modificare | modificare sursă]

Unele motoare de căutare încorporează recunoașterea secțiunilor, identificarea părților majore ale unui document, înainte de tokenizare. Nu toate documentele dintr-un corpus citesc ca o carte bine scrisă, împărțită în capitole și pagini organizate. Multe documente de pe web, cum ar fi buletinele informative și rapoartele corporative, conțin conținut eronat și secțiuni laterale care nu conțin material primar (despre care este vorba în document). De exemplu, articolele de pe site-ul Wikipedia afișează un meniu lateral cu link-uri către alte pagini web. Unele formate de fișiere, cum ar fi HTML sau PDF, permit afișarea conținutului în coloane. Chiar dacă conținutul este afișat sau redat în diferite zone ale vizualizării, conținutul brut de marcare poate stoca aceste informații secvențial. Cuvintele care apar secvențial în conținutul sursei brute sunt indexate secvențial, chiar dacă aceste propoziții și paragrafe sunt redate în diferite părți ale ecranului computerului. Dacă motoarele de căutare indexează acest conținut ca și cum ar fi un conținut normal, calitatea indexului și calitatea căutării pot fi degradate din cauza conținutului mixt și a proximității necorespunzătoare a cuvintelor. Se remarcă două probleme principale:

  • Conținutul din diferite secțiuni este tratat ca fiind legat în index, când în realitate nu este
  • Conținutul barei laterale organizaționale este inclus în index, dar conținutul barei laterale nu contribuie la semnificația documentului, iar indexul este umplut cu o reprezentare slabă a documentelor sale.

Analiza secțiunilor poate solicita motorului de căutare să implementeze logica de redare a fiecărui document, în esență o reprezentare abstractă a documentului real, și apoi să indexeze reprezentarea. De exemplu, un anumit conținut de pe Internet este redat prin JavaScript. Dacă motorul de căutare nu redă pagina și nu evaluează JavaScript din cadrul paginii, nu va „vedea” acest conținut în același mod și ar indexa documentul incorect. Având în vedere că unele motoare de căutare nu se deranjează cu problemele de randare, mulți designeri de pagini web evită afișarea conținutului prin JavaScript sau folosesc eticheta Noscript[nefuncționalăarhivă] pentru a se asigura că pagina web este indexată corect. În același timp, acest fapt poate fi, de asemenea, exploatat pentru a determina indexatorul motorului de căutare să „vadă” conținut diferit de cel al privitorului.

Sistem de prioritate HTML

[modificare | modificare sursă]

Indexarea trebuie adesea să recunoască etichetele HTML pentru a organiza prioritatea. Indexarea cu prioritate scăzută la o marjă mare la etichete precum puternic și link pentru a optimiza ordinea de prioritate dacă acele etichete sunt la începutul textului nu s-ar putea dovedi a fi relevantă. Unii indexatori precum Google și Bing se asigură că motorul de căutare nu ia textele mari ca sursă relevantă din cauza compatibilității puternice cu sistemul de tip.

Indexarea etichetelor meta

[modificare | modificare sursă]

Indexarea meta-etichetelor joacă un rol important în organizarea și clasificarea conținutului web. Documentele specifice conțin adesea meta informații încorporate, cum ar fi autor, cuvinte cheie, descriere și limbă. Pentru paginile HTML, metaeticheta conține cuvinte cheie care sunt incluse și în index. Tehnologia anterioară a motoarelor de căutare pe Internet ar indexa doar cuvintele cheie din metaetichetele pentru indexul direct; documentul complet nu ar fi analizat. La acea vreme indexarea textului integral nu era la fel de bine stabilită și nici hardware-ul computerului nu era capabil să suporte o astfel de tehnologie. Designul limbajului de marcare HTML a inclus inițial suport pentru meta-etichete cu scopul de a fi indexat corect și ușor, fără a necesita tokenizare.

Pe măsură ce Internetul a crescut în anii 1990, multe corporații fizice au intrat „online” și au creat site-uri web corporative. Cuvintele cheie folosite pentru a descrie paginile web (dintre care multe erau pagini web orientate către corporații, similare cu broșurile de produse) s-au schimbat de la cuvinte cheie descriptive la cuvinte cheie orientate spre marketing, concepute pentru a stimula vânzările, plasând pagina web într-un loc înalt în rezultatele căutării pentru anumite interogări de căutare. Faptul că aceste cuvinte cheie au fost specificate subiectiv a dus la spamdexing, ceea ce a determinat multe motoare de căutare să adopte tehnologii de indexare full-text în anii 1990. Designerii motoarelor de căutare și companiile au putut plasa doar atâtea „cuvinte cheie de marketing” în conținutul unei pagini web înainte de a o elimina de toate informațiile interesante și utile. Având în vedere acel conflict de interese cu obiectivul de afaceri de a proiecta site-uri web orientate spre utilizator care erau „lipicioase”, ecuația valorii pe durata de viață a clientului a fost modificată pentru a încorpora conținut mai util în site-ul web în speranța de a păstra vizitatorul. În acest sens, indexarea full-text a fost mai obiectivă și a sporit calitatea rezultatelor motoarelor de căutare, întrucât era cu un pas în plus față de controlul subiectiv al plasării rezultatelor în motoarele de căutare, care la rândul său a promovat cercetarea tehnologiilor de indexare full-text.

În căutarea pe desktop, multe soluții încorporează metaetichete pentru a oferi autorilor o modalitate de a personaliza în continuare modul în care motorul de căutare va indexa conținutul din diferite fișiere care nu este evident din conținutul fișierului. Căutarea pe desktop este mai mult sub controlul utilizatorului, în timp ce motoarele de căutare pe Internet trebuie să se concentreze mai mult pe indexul textului integral.

  1. ^ Sikos, L. F. (august 2016). „RDF-powered semantic video annotation tools with concept mapping to Linked Data for next-generation video indexing”. Multimedia Tools and Applications. doi:10.1007/s11042-016-3705-7. Arhivat din original la . Accesat în . 
  2. ^ „An Industrial-Strength Audio Search Algorithm” (PDF). Arhivat din original (PDF) la . 
  3. ^ Gusfield, Dan () [1997]. Algorithms on Strings, Trees and Sequences: Computer Science and Computational Biology. US: Cambridge University Press. ISBN 0-521-58519-8. .
  4. ^ Google Ngram Datasets Arhivat în , la Wayback Machine. for sale at LDC Catalog

Lectură suplimentară

[modificare | modificare sursă]
  • R. Bayer and E. McCreight. Organization and maintenance of large ordered indices. Acta Informatica, 173-189, 1972.
  • Donald E. Knuth. The Art of Computer Programming, volume 1 (3rd ed.): fundamental algorithms, Addison Wesley Longman Publishing Co. Redwood City, CA, 1997.
  • Donald E. Knuth. The art of computer programming, volume 3: (2nd ed.) sorting and searching, Addison Wesley Longman Publishing Co. Redwood City, CA, 1998.
  • Gerald Salton. Automatic text processing, Addison-Wesley Longman Publishing Co., Inc., Boston, MA, 1988.
  • Gerard Salton. Michael J. McGill, Introduction to Modern Information Retrieval, McGraw-Hill, Inc., New York, NY, 1986.
  • Gerard Salton. Lesk, M.E.: Computer evaluation of indexing and text processing. Journal of the ACM. January 1968.
  • Gerard Salton. The SMART Retrieval System - Experiments in Automatic Document Processing. Prentice Hall Inc., Englewood Cliffs, 1971.
  • Gerard Salton. The Transformation, Analysis, and Retrieval of Information by Computer, Addison-Wesley, Reading, Mass., 1989.
  • Baeza-Yates, R., Ribeiro-Neto, B.: Modern Information Retrieval. Chapter 8. ACM Press 1999.
  • G. K. Zipf. Human Behavior and the Principle of Least Effort. Addison-Wesley, 1949.
  • Adelson-Velskii, G.M., Landis, E. M.: An information organization algorithm. DANSSSR, 146, 263-266 (1962).
  • Edward H. Sussenguth Jr., Use of tree structures for processing files, Communications of the ACM, v.6 n.5, p. 272-279, May 1963
  • Harman, D.K., et al.: Inverted files. In Information Retrieval: Data Structures and Algorithms, Prentice-Hall, pp 28–43, 1992.
  • Lim, L., et al.: Characterizing Web Document Change, LNCS 2118, 133–146, 2001.
  • Lim, L., et al.: Dynamic Maintenance of Web Indexes Using Landmarks. Proc. of the 12th W3 Conference, 2003.
  • Moffat, A., Zobel, J.: Self-Indexing Inverted Files for Fast Text Retrieval. ACM TIS, 349–379, October 1996, Volume 14, Number 4.
  • Mehlhorn, K.: Data Structures and Efficient Algorithms, Springer Verlag, EATCS Monographs, 1984.
  • Mehlhorn, K., Overmars, M.H.: Optimal Dynamization of Decomposable Searching Problems. IPL 12, 93–98, 1981.
  • Mehlhorn, K.: Lower Bounds on the Efficiency of Transforming Static Data Structures into Dynamic Data Structures. Math. Systems Theory 15, 1–16, 1981.
  • Koster, M.: ALIWEB: Archie-Like indexing in the Web. Computer Networks and ISDN Systems, Vol. 27, No. 2 (1994) 175-182 (also see Proc. First Int'l World Wide Web Conf., Elsevier Science, Amsterdam, 1994, pp. 175–182)
  • Serge Abiteboul and Victor Vianu. Queries and Computation on the Web. Proceedings of the International Conference on Database Theory. Delphi, Greece 1997.
  • Ian H Witten, Alistair Moffat, and Timothy C. Bell. Managing Gigabytes: Compressing and Indexing Documents and Images. New York: Van Nostrand Reinhold, 1994.
  • A. Emtage and P. Deutsch, "Archie--An Electronic Directory Service for the Internet." Proc. Usenix Winter 1992 Tech. Conf., Usenix Assoc., Berkeley, Calif., 1992, pp. 93–110.
  • M. Gray, World Wide Web Wanderer.
  • D. Cutting and J. Pedersen. "Optimizations for Dynamic Inverted Index Maintenance." Proceedings of the 13th International Conference on Research and Development in Information Retrieval, pp. 405–411, September 1990.
  • Stefan Büttcher, Charles L. A. Clarke, and Gordon V. Cormack. Information Retrieval: Implementing and Evaluating Search Engines Arhivat în , la Wayback Machine.. MIT Press, Cambridge, Mass., 2010.
  • Vocabular controlat
  • Indexul bazei de date
  • Căutare full-text
  • Extragerea informațiilor
  • Cuvânt cheie în context
  • Căutare bazată pe selecție
  • Harta site-ului
  • Recuperarea textului
  • Alfabetizarea informațională

Format:Internet search