Metode de căutare

Uneltele de căutare de azi oferă utilizatorilor mult mai mult decât cele de acum câțiva ani. Multe tehnici de căutare au rămas aceleași, dar au apărut câteva idei noi și anumite dezvoltări. Un domeniu activ în dezvoltarea programelor de căutare este căutarea bazată pe analiza semantică a cuvintelor. Unele unelte de căutare mai noi pot verifica, analiza mai multe cuvinte diferite, pe care oamenii tind să le asocieze împreună, fie prin consultarea unui dicționar în timpul executării operațiilor de căutare, fie prin analiza anumitor modele, tipare în fișierele în care termenii cererii apar, iar apoi caută documente similare. Unele programe combină ambele modalități.

În continuare, vom trece în revistă terminologia și funcțiile da bază în căutare, ca să înțelegem mai bine modul de funcționare a acestor programe.

Căutări AND, OR sau de „frază-exactă“

Majoritatea programelor de căutare permit utilizatorului să caute în mai multe feluri. Opțiunile cele mai des utilizate includ căutări AND, OR sau de frază-exactă. Fiecare dintre acestea își are rostul și e greu să avem rezultate folositoare de fiecare dată, dacă putem folosi doar una dintre aceste opțiuni. Unele programe de căutare permit folosirea unei sintaxe și mai complexe, cu alți operatori logici, ca NOT sau NEAR. Operatorul NEAR are semnificația că termenii conectați cu acest operator vor trebui să fie în text aproape unul de cealalt, să zicem la cel mult zece cuvinte distanță.

Căutarea de „frază exact㓠înseamnă, de fapt, că vor fi căutate acele documente în care termenii cererii de căutare apar în ordinea în care le-a introdus utilizatorul și ajută la rafinarea căutării.

În general, pentru a restrânge, limita o căutare dintr-un domeniu vast, se poate utiliza operatorul AND pentru a lega mai mulți termeni de căutare. Sau s-ar putea căuta cuvinte întregi în loc de subșiruri. Pentru a restrânge domeniul și mai mult, s-ar putea căuta o frază exactă într-un text, și putem specifica ca în căutare să se facă diferență sau nu între literele mari și mici.

Pentru a lărgi domeniul de acțiune a unei căutări, putem conecta mai mulți termeni de căutare cu operatorul boolean OR, folosind o căutare de subșiruri, în loc de cuvinte întregi, și specificând ca căutarea să nu țină cont de mărimea literelor. Cu operatorul AND NOT, putem exclude un anumit cuvânt dintr-o căutare, pentru ca documentele rezultate să nu conțină acel cuvânt.

Unele programe au ca valoare implicită operatorul AND, altele operatorul OR. Cu ajutorul operatorilor logici și folosindu-ne de paranteze, putem crea cereri de căutare complexe, care să restrângă suficient domeniul de căutare, astfel ca rezultatele să fie cele dorite.

Modificatori

Modificatorii pot fi folosiți pentru a mai rafina căutările. La introducerea termenilor unei căutări, putem folosi acești modificatori, care permit un control mai mare al rezultatelor unor căutări.

Ghilimelele (" ") sunt folosite pentru a specifica fraze exacte. De exemplu, o căutare pentru „programe de căutare“ va găsi doar documente care conțin cuvintele ca o frază exactă și nu va găsi pagini care conțin cuvintele în altă ordine, ca de pildă, „căutare de programe“. Operatorul plus ( + ), pus în fața unui cuvânt sau a unei fraze, va obliga ca fiecare document rezultat să conțină cuvântul sau fraza respectivă. De exemplu, o căutare pentru „network programming“ +Java va returna numai pagini care conțin cuvântul Java, dar paginile care descriu programarea în rețea vor fi considerate mai relevante. Echivalentul operatorului boolean AND NOT este operatorul minus ( - ), plasat în fața unui termen dintr-o cerere și va exclude toate paginile care conțin termenul respectiv. De exemplu, dacă creăm o cerere pentru +sports -golf, vor fi găsite pagini Web despre sport, cu excepția celor care conțin cuvântul golf. Un alt operator, este steluța (*), și are același sens binecunoscut de wildcard, putând însemna orice șir de caractere posibil și este folosit pentru căutarea ocurențelor unui grup de cuvinte cu un anumit început. Acest operator se atașează, de obicei, în partea dreapta a unui cuvânt. La căutătorul AltaVista de exemplu, * poate fi folosit doar după cel puțin trei caractere și va mai adăuga un sufix de 0 până la 5 litere mici. Astfel, cu această metodă, putem găsi diferite variante ale unui cuvânt.

Căutări de cuvinte întregi sau subșiruri

În mod evident, în unele cazuri, o căutare de subșiruri poate genera mult mai multe rezultate relevante. Dar, există anumite situații când dorim ca programul să caute exact un anumit cuvânt, iar rezultatele în care acel cuvânt este un subșir nu ne interesează. În acest caz, o problemă este determinarea sfârșitului unui cuvânt și începutul următorului cuvânt. Cuvintele întregi se termină sau încep cu separatori, aceștia putând fi spațiu, tab, punct, virgulă, punct și virgulă, semnul exclamării, paranteze, apostrof etc.

Unele căutătoare mai permit limitarea unei căutări printr-o opțiune specială doar la documente care să fie mai recente decât o anumită dată, specificată de utilizator.

Căutare bazată pe semantica cuvintelor

După cum am văzut mai înainte, sintaxa de creare a unor cereri de căutare are unele reguli stricte, care trebuie respectate chiar și pentru cereri simple. Dar, oamenii, de obicei, nu pot gândi ușor, liber în termenii operatorilor din logică, pentru a conecta termeni de căutare.

Căutarea bazată pe semantica cuvintelor poate găsi informații asemănătoare chiar în fișiere care nu conțin nici unul dintre cuvintele cheie pe care utilizatorul le-a specificat în cererea sa. Asemenea unelte sunt utile, în special în cazul colecțiilor mari de documente existente, care nu au fost create pentru a fi căutate.

1. Căutare cu ajutorul unor dicționare
O soluție pentru a lărgi domeniul unei căutări este folosirea unui dicționar, un fișier separat care conectează un număr mare de cuvinte cu o listă a cuvintelor echivalente obișnuite. Unele dicționare mai noi adaugă și corelează toate cuvintele noi pe care le găsesc pe parcurs în documente. Un dicționar poate fi folositor în special pentru utilizatorii care nu sunt familiarizați cu o anumită terminologie specială. Dar manipularea unor asemenea dicționare mari este foarte dificilă. De aceea, cele mai bune programe de căutare folosesc dicționare care se auto-întrețin și care găsesc pentru fiecare cuvânt cele mai comune sinonime și adaugă pe primele dintre ele automat la cererea utilizatorului.

2. Găsirea rădăcinii cuvintelor
Unele programe de căutare oferă reducere la rădăcină. Reducerea la rădăcină înseamnă găsirea rădăcinii unui cuvânt, iar apoi căutarea altor cuvinte care au aceeași rădăcină, dar sufixe diferite. În unele cazuri, acest procedeu poate produce referințe adiționale nedorite, dar găsirea referințelor care altfel nu ar fi fost găsite merită osteneala.

Acest procedeu are cel puțin două avantaje, comparat cu căutarea simplă de subșiruri într-un text. În primul rând, nu necesită ca utilizatorul să determine și să introducă rădăcina. Mai permite și asocierea unor ponderi de relevanță mai mari unor rezultate care se potrivesc exact cu cererea introdusă de utilizator, și o relevanță mai mică altor variante derivate.

Dar, un dezavantaj este că reducerea la rădăcină este dependentă de limbaj. Limbajele vorbite fiind complexe, un program de eliminare a prefixelor și a sufixelor cuvintelor, din limba engleză de exemplu, nu poate lucra cu cuvinte din alte limbi. Același dezavantaj al dependenței de limbaj apare și în cazul dicționarelor.


Programe de căutare

BYTE România - august 1997


(C) Copyright Computer Press Agora