You are on page 1of 11

Motoare de cautare

Web de tip clustering

Student:
Bolosteanu Anca Maria

1. Introducere

Profesor coordonator:
Mircea Petrescu

Facultatea de Automatica si Calculatoare Administrarea bazelor de date

Motoarele de cautare web sunt un instrument extreme de


important pentru preluarea informatiilor de pe Web. Ca raspuns la o
interogarea unui utilizator, ele returneaza o lista de rezultate clasate in
ordinea relevantei interogarii. Utilizatorul incepe din partea de sus a
listei si urmareste in jos examinand un rezultat la un moment dat, pana
cand informatia solicitata a fost gasita.
Cu toate acestea, in timp ce motoarele de cautare sunt cu
siguranta bune pentru anumite task-uri de cautare, cum ar fi sa gasesti
pagina principala a unei organziatii, ele pot fii mai putin eficace pentru
a satisfice larg sau ambiguu interogarile. Rezultatele pe diferite subteme sau intelesuri ale unei interogari vor fi amestecate in lista, ceea
ce presupune ca utilizatorul va trebui sa treaca printr-un numar mare
de item-uri irelevante pana le va gasi pe cele cautate. Pe de alta parte,
nu exista nicio modalitate de a descoperi exact ceea ce este relevant
pentru utilizator, dat fiind faptul ca interogarile sunt de obicei foarte
scurte si interpretarea lor este in mod inerent ambigua in absenta unui
context.
O abordare diferita a regasirii informatiei pe Web se bazeaza pe
categorisirea intregului web, indiferent daca manual sau automat, iar
apoi lasa utilizatorul sa vada rezultatele asociate cu categoriile care se
potrivesc cel mai bine cu interogarea lui sau a ei. Cu toate acestea,
chiar si cele mai mari directoare web, cum ar fi Open Directory Project1
acopera doar o mica parte a paginilor existente. In plus, directorul
poate fii de putin ajutor pentru o anuimta interogare de utilizator sau
pentru un anumit aspect al acesteia. De fapt, directoarele Web sunt
cel mai des folosite pentru a influenta output-ul unei cautari ca raspuns
comun cu interogarile utilizatroului.
O a treia metod ar fi rezultatele cautarii clustering, care consta
in gruparea rezultatelor returnate de un motor de cutare ntr-o
ierarhie de grupuri etichetate (numite categorii). Aceast metod
combin cele mai bune caracteristici bazate pe interogari si bazate pe
categorii de cautare, n care utilizatorul se poate concentra pe un
subiect general de ctre o interogare slab specificata, apoi detalia prin
temele foarte specifice care au fost create dinamic de la rezultatele
interogrii. Principalul avantaj al ierarhiei grup este faptul c face
pentru comenzi rapide pentru elementele care se refer la acelai
neles. n plus, permite o mai bun nelegere a subiectului i
favorizeaz explorarea sistematic a rezultatelor cutrii.
Dac vom face o interogare dupa cuvantul "tigru" pe Google sau
Yahoo !, vedem c fiecare semnificaie a obiectelor este mprtiata n
lista de rezultate, de multe ori printr-un numr mare de pagini
rezultate. Motoarele de cutare majore recunosc aceasta problem i
amesteca documentele legate de subiecte diferite- o alta tehnica
cunoscuta sub numele de clustering, dar implicit, avnd n vedere
capacitatea limitat a unei singure pagini rezultate, anumite subiecte
1

Facultatea de Automatica si Calculatoare Administrarea bazelor de date

vor fi n mod inevitabil ascunse de la utilizator. Pe aceeai interogare,


Open Directory face o treab bun n gruparea elementelor legate de
felina si campion de golf, dar nu reuete deloc s acopere alte
sensuri.
Sistemele care efectueaz gruparea rezultatelor in cutarea pe
Web, de asemenea, cunoscut sub numele de motoare de grupare, au
devenit destul de populare n ultimii ani. Primul motor de clustering
comercial a fost, probabil, Northern Light, la sfritul anilor 1990.
Acesta a fost bazat pe un set predefinit de categorii, la care au fost
atribuite rezultatele cutrii. Un progres major a fost apoi fcut de Viv
simo, ale crei grupuri i etichete de grup au fost generate dinamic din
rezultatele cutrii. Viv simo a ctigat "Premiul pentru cel mai bun
motor de meta-cautare" atribuit de SearchEngineWatch.com 20012003.

2. Obiectivul motoarelor de cautare de tip clustering


Motoarele de cutare, de obicei, sunt destul de eficiente pentru
anumite tipuri de sarcini de cutare, cum ar fi interogri de navigaie
(n cazul n care utilizatorul vrea sa gaseasca o anumit adres URL) i
interogri tranzacionale (n cazul n care utilizatorul este interesat de o
activitate mediat de Web). Cu toate acestea, ele pot eua n
rezolvarea interogri informaionale (n care utilizatorul trebuie sa
satisfaca o informaie), care reprezint cea mai mare parte de cutri
web. Acest lucru este valabil mai ales pentru cutrile informaionale
exprimate de interogri vagi, generale sau ambigue.
Un motor de clustering ncearc s abordeze limitrile
motoarelor de cutare actuale prin furnizarea de rezultate grupate ca o
facilitate adugat la interfaa de utilizator standard. Subliniem c
motoarele de grupare sunt de obicei considerate ca fiind
complementare mai degrab dect alternative la motoarele de
cutare. De fapt, n cele mai multe motoare de grupare, categoriile
create de sistem sunt inute separat de lista de rezultate, iar utilizatorii
sunt autorizati s foloseasc lista, n primul rnd.
Aspectele de cutare n cazul n care motoarele de clustering
poate fi cele mai utile n completarea output-ului motoarelor de
cutare simple sunt urmtoarele:
- Regasire rapida a subtopicului. n cazul n care documentele care se
refer la aceeai subtopic au fost plasate corect n acelai cluster i
utilizatorul este capabil de a alege calea cea dreapta din eticheta
clusterului, astfel de documente pot fi accesate n timp logaritmic, mai
degrab dect liniar.

Facultatea de Automatica si Calculatoare Administrarea bazelor de date

- Explorarea subiectului. O ierarhie de grup ofer o vedere la nivel nalt


a ntregului subiect de interogare, inclusiv termeni pentru reformularea
interogarii, care este deosebit de util pentru cutrile informaionale n
domenii necunoscute sau dinamice.
- Cauttorii Web vad de obicei doar prima pagina de rezultate, cu
vedere spre astfel catre cele mai multe informaii. Cum un motor de
clustering rezum coninutul multor rezultate de cutare ntr-o singur
vedere pe prima pagina de rezultate, utilizatorul poate revizui sute de
rezultate potenial relevante fr a fi nevoie sa descarce i sa acceseze
paginile urmtoare.

3. Arhitectura si tehnicile motoarelor de grupare Web


3.1. Achizitia rezultatelor cautarii
Sarcina componentei de achiziie rezultatele de cutare este de a
oferi input pentru restul sistemului. Pe baza ir de interogare specificat
de utilizator, componenta de achiziie trebuie s livreze n mod obinuit
ntre 50 i 500 de rezultate de cutare, fiecare dintre ele ar trebui s
conin un titlu, un fragment contextual i URL-ul care indic spre
textul documentulului integral la care se face referire.
O surs potenial de rezultate de cutare pentru componenta
de achizitie este un motor de cutare Web public, cum ar fi Yahoo !,
Google, sau Live Search. Cel mai elegant mod de a prelua rezultate de
la aceste motoare este folosind API-urile pe care ofer. n cazul Yahoo !,
de exemplu, rezultatele cutrii pot fi recuperate ntr-un format XML
convenabil folosind o cerere HTTP simplu
(developer.yahoo.com/search/web/). Aceasta tehnica este denumita n
mod obinuit ca REST (Transfer stare de reprezentare), dar spectrul de
tehnologii utilizate pentru a expune resurse unui motor de cutare
variaz n funcie de furnizor.
La momentul scrierii, toate motoarele de cutare majore (Google,
Yahoo !, Live Search) asigura API-uri publice, dar vin cu anumite
restricii i limitri. Aceste restricii sunt de natur tehnic (numrul
maxim de cereri pe zi, numrul maxim de rezultate preluate pe
interogare), dar, de asemenea legale - Conditii de utilizare care permit
numai non-comerciale sau de cercetare. n timp ce fostul poate afecta
performana general a unui motor clustering , n care acesta implic
un risc de litigiu. Accesul la serviciile de cutare este, de obicei, facut
disponibil comercial pentru o tax (la fel ca n ediia de afaceri de
Motor de cutare particularizat Google, www.google.com/coop/cse).

Facultatea de Automatica si Calculatoare Administrarea bazelor de date

Un alt mod de a obine rezultate de la un motor de cautare


public este numit razuire HTML. Componenta de achiziie a rezultatelor
cutrii poate folosi expresii regulate sau alte forme de detectare
markup pentru a extrage titluri, fragmente, i URL-uri de la fluxul de
HTML deservite de motorul de cutare utilizatorilor si finali. Datorit
schimbrilor relativ frecvente ale markup HTML, aceast metod, n
cazul n care face manual, ar putea fi mai degrab plictisitoare i duce
la probleme de fiabilitate i de ntreinere. Razuirea HTML poate fi
instruita folosind metode de machine learning pentru a extrage n mod
automat coninutul, dar astfel de tehnici nu sunt larg rspndite.

3.2. Preprocesarea rezultatelor cautarii


Preprocesarea input-ului este un pas care este comun pentru
toate sistemele de rezultatele de cutare clustering. Scopul su
principal este de a converti coninutul rezultatelor cutrii (output de
componenta de achizitie) ntr-o secven de caracteristici utilizate de
ctre algoritmul de clustering real. O cascad tipica trece prin
identificarea limbajului, tokenizarea, preprocesarea superficiala a limbii
(limitata de obicei la rezultat) i, n final selecie de caracteristici.
Motoarele clustering care suporta coninut multilingv trebuie s
efectueze recunoaterea limbii iniiale pe fiecare rezultat de cutare n
input. Informaia despre limbajul fiecarei intrare din rezultatul de
cutare este obligata s aleag o variant corespunztoare a
componentelor ulterioare-tokenizarea i algoritmii, dar ajut, de
asemenea n timpul fazei de selecie caracteristica prin furnizarea de
indicii despre cuvinte comune, lipsite de importan pentru fiecare
limb (cuvinte de oprire), care pot fi ignorate. O alt provocare pentru
identificarea limbii n rezultatele de cutare clustering este lungimea
mic a fragmentelor de intrare prevzute de clustering. Metoda bazat
pe trigrama, analizate n Grefenstette [1,995], s-a dovedit a fi n
msur s se ocupe de acest tip de intrare destul de succes.
n timpul etapei de tokenizare, textul fiecarui rezultat al cutrii
devine mprit ntr-o secven de uniti independente de baz numite
jetoane, care vor reprezenta, de obicei, cuvinte unice, numere,
simboluri i aa mai departe.
Acest euristic simpla funcioneaz bine pentru majoritatea inputurilor, dar nu reuete s descopere anumite token-uri semantice care
cuprind mai multe cuvinte (Big Apple sau General Motors, de exemplu).
Tokenizarea devine mult mai complex pentru limbi unde spaiile albe
nu sunt prezente (cum ar fi chineza) sau n cazul n care textul poate
comuta direcie (cum ar fi un text arab, n care frazele englez sunt
citate).
4

Facultatea de Automatica si Calculatoare Administrarea bazelor de date

Nu n ultimul rnd, etapa de preprocesare trebuie sa extraga


caracteristici pentru fiecare rezultat al cautarii prezent n input. n
termeni generali data mining, caracteristicile sunt entiti atomice prin
care putem descrie un obiect i reprezint caracteristica cea mai
important a unui algoritm. Atunci cnd se uit la text, cel mai intuitiv
set de caracteristici ar fi pur i simplu cuvinte ale unei anumite limbi,
dar acest lucru nu este singura posibilitate. Caracteristicile utilizate de
ctre diferite sisteme de rezultate de cutare clustering variaza de la
cuvinte simple i tupluri cu lungime fix de cuvinte (n-grame) la
expresii frecvente (secvene de lungime variabil de cuvinte), i
structuri de date, algoritm specific , cum ar fi propozitia aproximativa
n sistemul Snaket.
3.3. Construirea si etichetarea cluster-ului
Setul de rezultate ale cutrii, mpreun cu caracteristicile lor,
extrase n etapa de preprocesare, sunt date ca intrare n algoritm de
clusterizare, care este responsabil pentru construirea clusterelor i
etichetarea acestora. Pentru c au fost propuse o mare varietate de
algoritmi de cutare de clustering a rezultatelor, aceasta ridic
problema clasificrii lor. Algoritmi de clustering sunt de obicei
clasificati n funcie de caracteristicile structurii lor de ieire, dar aici
vom lua un punct de vedere diferit.
Distingem trei categorii de algoritmi: data-centric, descriptionaware i description-centric. n urmtoarele seciuni vom caracteriza
provocrile prezente n fiecare grup i vom oferi o scurt descriere a
unui algoritm reprezentativ pentru referin.
3.3.1. Algoritmii Data-centric
Scatter / Gather [taiere et al. 1,992; Hearst i Pedersen 1996]
este un exemplu reper al unui sistem de date centrice. Dezvoltat n
1992 la Xerox PARC, Scatter / Gather este frecvent perceput ca un
predecesor i printe conceptual al tuturor sistemelor de clustering
dup recuperare aprute mai trziu. Sistemul a lucrat prin efectuarea
unei grupari iniiale de colecie de documente ntr-un set de grupuri K
(un proces numit imprastiere). Acest pas ar putea fi realizat offline i a
oferit o prezentare general iniial a coleciei de documente. Apoi, la
querytime, utilizatorul selectateaza grupurile de interes i a sistemului
de regrupat in subcolectii indicat de documente dinamice (etapa de
colectare). Ciclul de interogare-recluster este, evident, foarte
asemntoar cu a cuta sisteme rezultate clustering, cu diferena c n
loc de interogarea un motor de cutare de back-end, feliile Scatter /
Gather sunt propria colecie de documente.

Facultatea de Automatica si Calculatoare Administrarea bazelor de date

Aceast tehnic funcioneaz n principal prin punerea fiecarui


document n propriul cluster i apoi iterativ fuzionarea celor mai
apropiate dou clustere pn la atingerea numrul dorit de clustere k.
Autorii ofer dou euristici- Buchshot i Fractionation- pentru a pstra
timpul de prelucrare liniar, mai degrab dect ptratic cu dimensiunea
de colectare de intrare. Rezultatul final este un set de clustere k,
fiecare descrise de o sum profil, un vector mediu calculat de la m
documente cele mai apropiate de centroidul clusterului. Ar trebui s fie
clar c recuperarea de la o astfel de reprezentare grup pe o etichet
grup semantic uor de neles va fi o problem. Rezoluie Scatter /
Gather este de a construi cu dispersie rezumate-selectarea unui set de
cuvinte cheie inel cel mai frecvent n documentele (SAM sau
mpodobite) clusterului.
3.3.2. Algoritmi Description-Aware
Principala dificultate n algoritmi de data-centric este crearea
unei descrieri uor de neles de la reprezentarea unui model de text
care nu este pregtit pentru acest scop. Algoritmii Descriptionawaresunt contieni de aceast problem de etichetare i ncearca s
se asigure c construcia de descrieri de cluster este posibila i
produce rezultate interpretabile de catre om.
O modalitate de a atinge acest obiectiv este de a utiliza un
algoritm de clustering monotetic i de a selecta cu atenie
caracteristicile, astfel nct acestea sa fie imediat recunoscute de catre
utilizator ca ceva semnificativ. Dac caracteristicile sunt semnificative
i precise, atunci acestea pot fi utilizate pentru a descrie output-ul
clusterelor cu precizie si eficient. Algoritmul care a implementat pentru
prima dat aceast idee a fost Sufix copac Clustering (STC), descris n
cteva lucrri seminate de Zamir i Etzioni [anii 1998, 1999], i puse n
aplicare ntr-un sistem numit Grouper. n practic, STC a fost la fel de
pauz pn la rezultatele cutrii clustering ca Scatter / Gather fost la
conceptul de ansamblu de utilizare a grupurilor ca o interfa de
navigare text. Va prezentam acum conceptele sale fundamentale.
Pentru o secven de elemente E0, E1, E2, ... EI; un sufix este
definit ca un ej subsecventa, ej + 1, ej + 2, ... EI, unde j i. Un arbore
sufix pentru un anumit secven de elemente conine oricare dintre
sufixe sale pe calea de la radacina la un nod frunz. Un arbore sufix
generalizat este similar cu un arbore sufix, dar conine sufixele mai
mult de o secven de intrare cu nodurile interne stocand indicii pentru
secvene originale. Reinei c fiecare nod intern al unui GST indic o
secven de elemente care au avut loc cel puin de dou ori n orice
poziie n matri. Restul algoritmului STC este destul de simplu. STC
funcioneaz n dou etape. n prima faz, se imparte input-ul n
propoziii i introduce cuvinte de la aceste fraze ntr-un GST. La urma
urmei, propoziiile de intrare au fost adugate la arborele sufix,
6

Facultatea de Automatica si Calculatoare Administrarea bazelor de date

algoritmul parcurge nodurile interne ale arborelui cauta fraze care au


avut loc un anumit numr de ori in mai mult de un document. Orice
nod depete numrul minim de documente i frecvena frazei devine
imediat un cluster de baz. Reinei c acest cluster este monoteticmotivul pentru formarea unui cluster este o fraza de izolare frecventa,
iar aceast fraz poate fi utilizata imediat ca eticheta clusterului de
baz. Din pcate, dup primul pas STC cade din nou pe o procedur de
fuziune simpl n cazul n care grupurile de baz care se suprapun prea
mult sunt iterativ combinate n clustere mai mari (un algoritm AHC
singur link in esenta). Aceast procedur nu este justificat, pe deplin
determin algoritmul de a deveni politetic i poate duce la lan-fuziune
a grupurilor de baz, care nu ar trebui s fuzioneze.
A doua problem cu STC a fost utilizarea de fraze continue ca
singurele caracteristici de msurare similitudinii dintre documente.
Acest lucru a fost demonstrat pentru a provoca probleme n anumite
limbi n care ordinea partilor de vorbire ntr-o propoziie poate schimba
[Stefanowski i Weiss 2003b]. Un algoritm de follow-up, care a ncercat
s depeasc acest STC, puse n aplicare ca parte a unui sistem cu un
nume identic [Ferragina i Gulli 2004]. Snaket a introdus caracteristici
noi, numite propozitii aproximative(fraze cu posibile lacune). Autorii
Snicket a luat algoritmul lor mai departe prin extinderea setului
potenial de etichete cu dispersie cu fraze achiziionate de la un indice
predefinit. Totui, clusteringul precede i domin procedura de
etichetare - ultimul grup de algoritmi ncearc s echilibreze i, uneori,
chiar invers.

Facultatea de Automatica si Calculatoare Administrarea bazelor de date

4. Evaluarea performantelor
n aceast seciune vom aborda problema evaluarii
performanei de recuperare a unui motor grupare. Din motive de
simplitate, ne-am despartit discuia n dou pri. n prima, considerm
modul de a compara eficacitatea de recuperare a rezultatelor cutrii
clustering cu cea a clasamentului rezultatelor fr clustering. n al
doilea avem n vedere compararea motoare clustering alternative.
Prima sarcin este mult mai dificila, deoarece implic o comparaie
ntre dou reprezentri eterogene: o list de grupuri de rezultate
versus o list de rezultate simple.
4.1. Rezultatele cautarii de tip clustering
Strategia tipica este s se bazeze pe abordarea standard
dezvoltata n domeniul de recuperare de informaii pentru evaluarea
eficacitii regsirii, care presupune disponibilitatea de o colecie de
8

Facultatea de Automatica si Calculatoare Administrarea bazelor de date

test de documente cu hotrrilor relevan asociate i msurile de


performan angajailor, pe baza celor dou noiuni de rechemare
(capacitatea de sistemul pentru a prelua toate documentele relevante)
i precizie (capacitatea sistemului de a prelua numai documentele
relevante). Cu toate acestea, aceste msuri presupun c rezultatele
sunt prezentate n ordinea clasata; n cazul nostru, aplicarea lor
necesit o transformare preliminar a rezultatelor grupate ntr-o list
clar a rezultatelor.
O modalitate evident de a efectua o astfel de grupare liniarizata
ar fi pastrarea ordinii n care grupurile sunt prezentate i doar
extinderea coninutul lor, dar acest lucru ar echivala cu ignorarea
rolului jucat de ctre utilizator n alegerea extinderii clusterelor. Una
dintre cele mai vechi i mai simple tehnici de liniarizare este s se
presupun c utilizatorul poate alege cluster-ul cu cea mai mare
densitate a documentelor relevante i s ia n considerare numai
documentele cuprinse n acesta clasificate n ordinea relevanei
[Hearst i Pedersen 1996; Schu tzeandSilverstein1997] .
Arefinementofthismethod [ZamirandEtzioni1998] const din turnarea
produciei de motoare cluster ca o list cluster, presupunnd c
utilizatorul poate alege mai mult de un grup optim sau chiar o fraciune
din aceasta, n cazul n care clusterul conine multe documente. Cu
toate acestea, n practic, utilizatorul poate eua cu uurin pentru a
alege clustere optime, n conformitate cu aceast definiie.

5. Concluzii
Artnd sensurile cele mai probabile pentru orice cerere data,
rezultatele cutrii clustering ngusteaz semantica nepotrivita ntre
nevoia de utilizator i lista de rezultate returnate de un motor de
cutare simpl. Tehnologia de motoare de grupare web a atins un nivel
de maturitate n care a fost dezvoltat un corp bogat de cercetare i mai
multe sisteme de comerciale sunt utilizate.
n acest articol, am prezentat cele mai importante aspecte tiinifice i
tehnice ale rezultatelor de cutare Web de tip clustering. Am discutat
problemele care trebuie abordate pentru a construi un motor de
clustering Web i le-am analizat i evaluat un numr de algoritmi i
sistemelor existente.
n primul rnd, trebuie s se lucreze mai mult pentru a mbunti
calitatea etichetelor de grup i coerena structurii de cluster.
n al doilea rnd, mai multe studii privind interogri de utilizator trebuie
s se fac pentru a nelege atunci cnd rezultatul de cutare
clustering este cel mai util.
n al treilea rnd, este nevoie de criterii de referin de evaluare cu
atenie proiectate pentru a permite compararea cross-system i pentru
a msura progresul. n al patrulea rnd, tehnicile de vizualizare
9

Facultatea de Automatica si Calculatoare Administrarea bazelor de date

avansate ar putea fi folosite pentru a oferi imagini de ansamblu mai


bune i ghida interaciunea cu rezultate cluster.

Referinte:
[1] ACM Computing Surveys, Vol. 41, No. 3, Article 17, Publication date:
July 2009.
[2] International Journal of Science, Engineering and Technology
Research (IJSETR)
Volume 2, Issue 2, February 2013
[3] www.google.com

10

You might also like