Marcus
This presentation is the property of its rightful owner.
Sponsored Links
1 / 49

Marcus Fontoura Vanja Josifovski Ravi Kumar Christopher Olston Sergei Vassilvitskii PowerPoint PPT Presentation


  • 53 Views
  • Uploaded on
  • Presentation posted in: General

Marcus Fontoura Vanja Josifovski Ravi Kumar Christopher Olston Sergei Vassilvitskii Relaxation in Text Search using Taxonomies. Gruppo 16 Luca Bueti (relatore) Jacopo De Benedetto. Information Retrieval.

Download Presentation

Marcus Fontoura Vanja Josifovski Ravi Kumar Christopher Olston Sergei Vassilvitskii

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Marcus fontoura vanja josifovski ravi kumar christopher olston sergei vassilvitskii

Marcus FontouraVanjaJosifovskiRaviKumar Christopher OlstonSergeiVassilvitskii

Relaxation in Text SearchusingTaxonomies

Gruppo 16

Luca Bueti(relatore)Jacopo De Benedetto


Information retrieval

Information Retrieval

  • Nuove problematiche (localsearch, multifacetedproductsearch) richiedono nuovi modelli di query processing

Scenario tipico: ranking dei risultati

Modelli esistenti consentono alcune estensioni

Gruppo 16 - Relaxation in Text Search using Taxonomies


Rilassamenti multidimensionali

Rilassamenti multidimensionali

  • Rilassamento di una posizione attraverso una sfera di raggio crescente

  • Rilassamento nel riconoscimento di una frase usando misure linguistiche di similarità (es.: STEMMING)

a

aaron

abaissiez

abandon

abandoned

abase

abash

abate

abated

abatement

abatements

abates

abbess

abbey

abbeys

a

aaron

abaissiez

abandon

abandon

abas

abash

abat

abat

abat

abat

abat

abbess

abbei

abbei

Possibili formulazioni:

Gruppo 16 - Relaxation in Text Search using Taxonomies


Rilassamenti multidimensionali1

Rilassamenti multidimensionali

Rilassamento attraverso gerarchie multiple

Principali ragioni:

  • Descrivono meglio la maggior parte dei rilassamenti

  • Possono essere viste come generalizzazione della maggior parte dei rilassanti

  • Permettono di formulare il problema in modo combinatorio

Gruppo 16 - Relaxation in Text Search using Taxonomies


Tassonomia

Tassonomia

“Secondo la matematica, una tassonomia è una struttura ad albero di istanze (o categorie) appartenenti ad un dato gruppo di concetti. A capo della struttura c'è un'istanza singola, il nodo radice, le cui proprietà si applicano a tutte le altre istanze della gerarchia (sotto-categorie).

I nodi sottostanti a questa radice costituiscono categorie più specifiche le cui proprietà caratterizzano il sotto-gruppo del totale degli oggetti classificati nell'intera tassonomia” Wikipedia

Classificazione gerarchica

Gruppo 16 - Relaxation in Text Search using Taxonomies


Tassonomia1

Tassonomia

Attività Commerciale

BO

4

6

6

Bologna

Imola

Ristorante

4

5

3

2

Saragozza

San Donato

Italiano

Cinese

2

2

1

1

Via Saragozza

Via Turati

Trattoria

Pizzeria

Nel nostro caso definiamo una tassonomia come un albero i cui rami hanno un peso non negativo:

Gruppo 16 - Relaxation in Text Search using Taxonomies


Background

Background

  • Inverted index (& posting lists)

  • Free-text queries (DAAT, zig-zag join)

  • Scoring

Gruppo 16 - Relaxation in Text Search using Taxonomies


Background1

Background

  • Inverted index (& posting lists)

Gruppo 16 - Relaxation in Text Search using Taxonomies


Background2

Background

  • Free-text queries (DAAT, zig-zag join)

    “Turtle and Flood classify evaluation strategies into two main classes:

    • Term-at-a-time (TAAT ) strategies process query terms one by one and accumulate partial document scores as the contribution of each query term is computed.

    • Document-at-a-time (DAAT ) strategies evaluate the contributions of every query term with respect to a single document before moving to the next document.“

    A. Z. Broder, D. Carmel, M. Herscovici, A. Soffer, and J. Y. Zien. Efficient query evaluation using a two-level retrieval process. In Proc. 12th ACM CIKM, 2003.

Gruppo 16 - Relaxation in Text Search using Taxonomies


Background3

Background

  • Free-text queries (DAAT, zig-zag join)

    In DAAT, i documenti che soddisfano la query sono spesso ottenuti attraverso un zig-zag joinsulle posting lists dei termini della query.

    A tal fine viene creato un cursore Ct per ogni termine t della query usato per accedere alla t-esima posting list.

    Ct.docid e Ct.payload accedono rispettivamente al docid e al payload del posting su cui Ct è posizionato.

    Durante uno zig-zag join i cursori vengono spostati in maniera coordinata per trovare documenti che soddisfano la query.

    Operazioni sul cursore Ct:

    • Ct.getNext()avanza il cursore C al posting successivo nella posting list;

    • Ct.fwdBeyond(d)avanza il cursore C al primo posting nella posting list il cui docid è maggiore o uguale a quello del documento d (le posting lists devono essere ordinate per docid).

Gruppo 16 - Relaxation in Text Search using Taxonomies


Background4

Background

static(d) indica lo score query-indipendent relativo alla ”importanza” del documento d (es.: PageRank)

tax(d,topic(Q)) indica lo score rispetto alla tassonomia (es.: un insieme dei costi di rilassamento per il documento d rispetto ad una lista di nodi di tassonomia topic(Q))

new

text(d,keyw(Q)) indica la rilevanza text-based del documento d rispetto alle keywords della query Q

nota: per tutti i componenti dello score, minore è il valore, migliore è il risultato;

α, β e γ sono pesi assegnati ai diversi componenti dello score assegnati da un esperto del dominio

  • Scoring

Gruppo 16 - Relaxation in Text Search using Taxonomies


Un po di formule

Un po' di formule...

  • Tassonomia T, documento d, query Q

  • T1, … , Tm tassonomie

  • topic(d) ϵ T1indica che ogni documento d è associato esattamente ad un nodo della tassonomia

  • topicj(d) ϵ Tj indica che il nodo della j-esima tassonomia è associato al documento d

  • keyw(Q) indica le parole chiave contenute nella query

Gruppo 16 - Relaxation in Text Search using Taxonomies


Quasi finito

...quasi finito

  • Lo score relativo alla tassonomia è definito come la somma degli score in ogni tassonomia presente

BO

dove lca sta per least(lowest)-common ancestor

Bologna

Imola

  • Lo score di ogni tassonomia è la somma dei pesi lungo il cammino tra due nodi

Saragozza

San Donato

Via Saragozza

wdistj(nodeA, nodeB) è la somma dei costi di rilassamento lungo il cammino tra i nodi A e B della tassonomia Tj

Via Turati

Gruppo 16 - Relaxation in Text Search using Taxonomies


Problematiche

Problematiche

  • Creazione della tassonomia e selezione dei pesi appropriati

  • Mappaggio nella tassonomia dei termini della query, dei documenti e delle informazioni dell’utente

  • Efficiente indicizzazione e processamento della query

Gruppo 16 - Relaxation in Text Search using Taxonomies


Approccio

Approccio

http://www.esempio1.it

http://www.esempio2.it

http://www.esempio3.it

http://www.esempio4.it

http://www.esempio5.it

APPROCCIO CLASSICO

Processamento della query attraverso text-matching e utilizzo dei meta-dati (tassonomia) nella fase di post-processing

Gruppo 16 - Relaxation in Text Search using Taxonomies


Approccio1

Approccio

APPROCCIO UTILIZZATO

Estensione dell'indice di testo per includere anche i nodi della tassonomia e processamento simultaneo delle porzioni di testo e tassonomia della query attraverso l'indice

OTTIMIZZAZIONE DELLA RICERCA

http://www.esempio2.it

http://www.esempio3.it

http://www.esempio4.it

Gruppo 16 - Relaxation in Text Search using Taxonomies


Approccio utilizzato

Approccio Utilizzato

  • Viene creata una postinglist per ogni nodo della tassonomia

  • In fase di processamento della query vengono selezionati i nodi iniziali e si incomincia a scorrere le loro postinglists alla ricerca dei risultati

  • Viene adattato dinamicamente il livello di rilassamento per cercare risultati con score migliore

Gruppo 16 - Relaxation in Text Search using Taxonomies


Index structure

Index structure

  • Una posting list addizionale per ogni nodo della tassonomia

  • Ognuna di queste posting list contiene una entry per ogni documento appartenente al corrispondente sotto-albero del nodo della tassonomia

  • I payloads di queste posting list identificano l'esatta posizione del documento nella tassonomia corrispondente

Gruppo 16 - Relaxation in Text Search using Taxonomies


Index structure1

Index structure

d1(Saragozza, Cinese)

d2(Via Saragozza, Pizzeria)

d3(Saragozza, Trattoria)

d4(San Donato, Italiano)

BO

Bologna

Imola

Saragozza

San Donato

d2(Via Saragozza)

Via Saragozza

Via Turati

d1(Saragozza)

d3(Saragozza)

Saragozza

OVERHEAD

Inferiore all'1% !!!

Gruppo 16 - Relaxation in Text Search using Taxonomies


Index structure2

Index structure

Attività Commerciale

d1(Saragozza, Cinese)

d2(Via Saragozza, Pizzeria)

Ristorante

BO

d3(Saragozza, Trattoria)

Bologna

Imola

Italiano

Cinese

d4(Pilastro, Italiano)

Saragozza

San Donato

Pizzeria

Trattoria

Via Saragozza

Via Turati

d1(Cinese)

d2(Pizzeria)

d3(Trattoria)

d4(Italiano)

Attività Commerciale

d1(Saragozza)

d2(Via Saragozza)

d3(Saragozza)

d4(San Donato)

d1(Cinese)

d2(Pizzeria)

d3(Trattoria)

d4(Italiano)

BO

Ristorante

d1(Saragozza)

d2(Via Saragozza)

d3(Saragozza)

d4(San Donato)

d2(Pizzeria)

d3(Trattoria)

d4(Italiano)

Bologna

Italiano

d1(Saragozza)

d2(Via Saragozza)

d3(Saragozza)

d1(Cinese)

Saragozza

Cinese

d4(San Donato)

d2(Pizzeria)

San Donato

Pizzeria

d2(Via Saragozza)

d3(Trattoria)

Via Saragozza

Trattoria


Query processing

Query processing

OBIETTIVO

trovare i k documenti di minor costo secondo la scoring function definita

IPOTESI SEMPLIFICATIVA: il costo del risultato corrisponde solo al costo di rilassamento.

Gruppo 16 - Relaxation in Text Search using Taxonomies


Decomposizione del problema

Decomposizione del problema

SOTTO-PROBLEMI:

  • determinare il budget minimo di rilassamento per ottenere almeno k risultati

    →Top-krelaxationsearch

  • Ottenere i k risultati con il minimo sforzo computazionale

    →Budgetedrelaxationsearch

Gruppo 16 - Relaxation in Text Search using Taxonomies


Decomposizione del problema1

Decomposizione del problema

SOTTO-PROBLEMI:

  • determinare il budget minimo di rilassamento per ottenere almeno k risultati

    →Top-krelaxationsearch

  • Ottenere i k risultati con il minimo sforzo computazionale

    →Budgetedrelaxationsearch

Gruppo 16 - Relaxation in Text Search using Taxonomies


Top k relaxation search

Top-k relaxation search

Spazio dei possibili rilassamenti

Attivitàcommerciale

Ristorante

Italiano

Pizzeria

Via

Saragozza

QuartiereSaragozza

Bologna

BO

Q=“Via Saragozza AND Pizzeria”

T2

S(b) indica il simplesso generato dal vincolo sul costo di rilassamento Cost ≤ b

docs(S(b)) indica tutti i documenti contenuti all’interno del simplesso S(b), ovvero tutti i documenti ottenibili con costo di rilassamento non superiore a b

6

Cost ≤ 10

S(10)

S(4)

3

Cost ≤ 4

1

2

4

4

T1


Top k relaxation search1

Top-k relaxation search

NOTA: Per livello si intende il costo totale di rilassamento, ovvero la somma dei costi dei rilassamenti in tutte le tassonomie.

OBIETTIVO

trovare il budget minimo di rilassamento b* per cui |docs(S(b*))| ≥ k

ALGORITMO BASE: ConservativeSearch

  • l = initialLevel();

  • levelDone = false;

  • while (|R|<k) v !levelDone)

  • levelDone = processNextDoc(Q,R,bl);

  • if((|R|>=k) v levelDone)

  • l = getNextLevel(l);

Gruppo 16 - Relaxation in Text Search using Taxonomies


Strategie di ricerca

Strategie di ricerca

OBIETTIVO

trovare i k documenti di minor costo

Bottom-upsearch

  • Si parte dalla query più specifica possibile, ad esempio

    Q=(Via Saragozza, Pizza);

  • se troviamo almeno k documenti, fine. Altrimenti:

    • rilassiamo incrementando il livello.

      Top-downsearch

  • Si parte dal livello più generale possibile (l=L);

  • se troviamo non più di k documenti, fine. Altrimenti:

    • specializziamo per ottenere k documenti con score migliore (nota: non vengono persi i risultati ottenuti finora).

      Binarysearch

  • Si parte dal livello intermedio (l=L/2);

  • a seconda del numero di documenti trovati, ci sposteremo più in alto o più in basso nei livelli.

Gruppo 16 - Relaxation in Text Search using Taxonomies


Strategie di ricerca1

Strategie di ricerca

OBIETTIVO

trovare i k documenti di minor costo

Bottom-upsearch

  • Si parte dalla query più specifica possibile, ad esempio

    Q=(Via Saragozza, Pizza);

  • se troviamo almeno k documenti, fine. Altrimenti:

    • rilassiamo incrementando il livello.

      Top-downsearch

  • Si parte dal livello più generale possibile (l=L);

  • se troviamo non più di k documenti, fine. Altrimenti:

    • specializziamo per ottenere k documenti con score migliore (nota: non vengono persi i risultati ottenuti finora).

      Binarysearch

  • Si parte dal livello intermedio (l=L/2);

  • a seconda del numero di documenti trovati, ci sposteremo più in alto o più in basso nei livelli.

Gruppo 16 - Relaxation in Text Search using Taxonomies


Strategie di ricerca2

Strategie di ricerca

Q=(Via Saragozza, Pizza)

k=2

d1(Saragozza, Cinese)

d2(Via Saragozza, Pizzeria)

|R|=1

levelDone=true

 getNextLevel(1)

d3(Saragozza, Trattoria)

d2(Via Saragozza)

d4(San Donato, Italiano)

Via Saragozza

level = 0

BO

d2(Pizzeria)

4

6

T1

Pizzeria

Bologna

Imola

|R|=1

levelDone=true

 getNextLevel(3)

4

5

# cursormovements: 8

Saragozza

San Donato

d2(Via Saragozza)

2

2

Via Saragozza

Via Saragozza

Via Turati

level = 1

d2(Pizzeria)

d3(Trattoria)

d4(Italiano)

Italiano

Attività Commerciale

|R|=2

  • return {d2, d3}

6

T2

Ristorante

d1(Saragozza)

d2(Via Saragozza)

d3(Saragozza)

2

3

Saragozza

Italiano

Cinese

level = 3

1

1

d2(Pizzeria)

d3(Trattoria)

d4(Italiano)

Pizzeria

Trattoria

Italiano

Bottom-up search


Strategie di ricerca3

Strategie di ricerca

OBIETTIVO

trovare i k documenti di minor costo

Bottom-upsearch

  • Si parte dalla query più specifica possibile, ad esempio

    Q=(Via Saragozza, Pizza);

  • se troviamo almeno k documenti, fine. Altrimenti:

    • rilassiamo incrementando il livello.

      Top-downsearch

  • Si parte dal livello più generale possibile (l=L);

  • se troviamo non più di k documenti, fine. Altrimenti:

    • specializziamo per ottenere k documenti con score migliore (nota: non vengono persi i risultati ottenuti finora).

      Binarysearch

  • Si parte dal livello intermedio (l=L/2);

  • a seconda del numero di documenti trovati, ci sposteremo più in alto o più in basso nei livelli.

Gruppo 16 - Relaxation in Text Search using Taxonomies


Strategie di ricerca4

Strategie di ricerca

getNextLevel(10)…????????

Nessun documento non appartenente al sottoalbero “Bologna” o “Ristorante” potrà entrare nel ResultSet, perché avrà un costo > 6

 il costo di un documento associato ai nodi Bologna in T1 e Ristorante in T2 è pari a 10

Q=(Via Saragozza, Pizza)

k=2

d1(Saragozza, Cinese)

d2(Via Saragozza, Pizzeria)

|R|=2

R={d2,d1}

Max(cost(d2,d1))=6

 getNextLevel(10)

d3(Saragozza, Trattoria)

d1(Saragozza)

d2(Via Saragozza)

d3(Saragozza)

d4(Pilastro)

d4(San Donato, Italiano)

BO

level = 20

BO

d1(Cinese)

d2(Pizzeria)

d3(Trattoria)

d4(Italiano)

4

6

T1

Attività Commerciale

Bologna

Imola

|R|=2

R={d2,d3}

Max(cost(d2,d3))=3

 getNextLevel(3)

4

5

# cursormovements: 7

Saragozza

San Donato

d1(Saragozza)

d2(Via Saragozza)

d3(Saragozza)

d4(Pilastro)

2

2

Bologna

Già processati tutti i documenti con docid<3

Via Saragozza

level = 10

Via Turati

d1(Cinese)

d2(Pizzeria)

d3(Trattoria)

d4(Italiano)

Ristorante

Attività Commerciale

6

T2

Ristorante

d1(Saragozza)

d2(Via Saragozza)

|R|=2

levelDone=true

  • return {d2, d3}

d3(Saragozza)

2

3

Saragozza

Italiano

Cinese

Nessun documento con docid>3

level = 3

1

1

d2(Pizzeria)

d3(Trattoria)

d4(Italiano)

Pizzeria

Trattoria

Italiano

Top-down search


Strategie di ricerca5

Strategie di ricerca

OBIETTIVO

trovare i k documenti di minor costo

Bottom-upsearch

  • Si parte dalla query più specifica possibile, ad esempio

    Q=(Via Saragozza, Pizza);

  • se troviamo almeno k documenti, fine. Altrimenti:

    • rilassiamo incrementando il livello.

      Top-downsearch

  • Si parte dal livello più generale possibile (l=L);

  • se troviamo non più di k documenti, fine. Altrimenti:

    • specializziamo per ottenere k documenti con score migliore (nota: non vengono persi i risultati ottenuti finora).

      Binarysearch

  • Si parte dal livello intermedio (l=L/2);

  • a seconda del numero di documenti trovati, ci sposteremo più in alto o più in basso nei livelli.

Gruppo 16 - Relaxation in Text Search using Taxonomies


Strategie di ricerca6

Strategie di ricerca

Q=(Via Saragozza, Pizza)

k=2

d1(Saragozza, Cinese)

d2(Via Saragozza, Pizzeria)

d3(Saragozza, Trattoria)

d4(San Donato, Italiano)

|R|=2

R={d2,d3}

Max(cost(d2,d3))=3

 getNextLevel(3)

BO

k=2 ma non possiamo specializzare ulteriormente senza rischiare di perdere risultati  continuiamo con la stessa postinglist

Ora sappiamo che nessun nuovo documento potrà avere costo > 3 per entrare nel ResultSet

4

6

T1

Bologna

Imola

4

5

# cursormovements: 7

Saragozza

San Donato

d1(Saragozza)

d2(Via Saragozza)

d3(Saragozza)

d4(Pilastro)

2

2

Bologna

Via Saragozza

level = 10

Via Turati

d1(Cinese)

d2(Pizzeria)

d3(Trattoria)

d4(Italiano)

|R|=2

levelDone=true

  • return {d2, d3}

Ristorante

Nessun documento con docid>3

Attività Commerciale

6

T2

Ristorante

d1(Saragozza)

d2(Via Saragozza)

d3(Saragozza)

2

3

Saragozza

Italiano

Cinese

level = 3

1

1

d2(Pizzeria)

d3(Trattoria)

d4(Italiano)

Pizzeria

Trattoria

Italiano

Binary search


Strategie di ricerca7

Strategie di ricerca

Confronto

Bottom Up search

PRO: Funziona bene se ci sono molti documenti che fanno match con la query, richiedendo poco rilassamento

CONTRO: A ogni rilassamento rielabora, oltre ai nuovi, gli stessi documenti del passaggio precedente

Top Down search

PRO: Funziona bene se è necessario rilassare molto la query per ottenere k documenti; i risultati accumulati vengono mantenuti durante l’esplorazione della tassonomia; permette di accumulare statistiche necessarie per l’esecuzione della budgeted search (stima dei costi di esecuzione delle query)

CONTRO: Poco efficace se esistono molti documenti specifici che fanno match con la query

Binary search

PRO: Utile se non si hanno informazioni sulla distribuzione dei documenti nelle tassonomie

CONTRO: Apparentemente nessuno …

Gruppo 16 - Relaxation in Text Search using Taxonomies


Decomposizione del problema2

Decomposizione del problema

SOTTO-PROBLEMI:

  • determinare il budget minimo di rilassamento per ottenere almeno k risultati

    →Top-krelaxationsearch

  • Ottenere i k risultati con il minimo sforzo computazionale

    →Budgetedrelaxationsearch

Gruppo 16 - Relaxation in Text Search using Taxonomies


Budgeted relaxation search

Budgeted relaxation search

OBIETTIVO

Ottenere tutti i documenti con costo di rilassamento cost≤ b con il minimo sforzo computazionale

ALGORITMO RISOLUTIVO

  • 2 tassonomie → esiste algoritmo efficiente di programmazione dinamica

  • 3 o più tassonomie → problema NP-difficile

Gruppo 16 - Relaxation in Text Search using Taxonomies


Budgeted relaxation search1

Budgeted relaxation search

  • 2 tassonomie

T2

costo di esecuzione della query (x,y)

Nota:

T1

Gruppo 16 - Relaxation in Text Search using Taxonomies


Budgeted relaxation search2

Budgeted relaxation search

  • 2 tassonomie

T2

nodo successivo lungo il cammino verso la radice della tassonomia

T1

Gruppo 16 - Relaxation in Text Search using Taxonomies


Budgeted relaxation search3

Budgeted relaxation search

  • 2 tassonomie

T2

T1

Gruppo 16 - Relaxation in Text Search using Taxonomies


Budgeted relaxation search4

Budgeted relaxation search

  • 2 tassonomie

T2

T1

Gruppo 16 - Relaxation in Text Search using Taxonomies


Budgeted relaxation search5

Budgeted relaxation search

  • 2 tassonomie

T2

T1

Gruppo 16 - Relaxation in Text Search using Taxonomies


Budgeted relaxation search6

Budgeted relaxation search

T2

T2

Falsi positivi

Falsi positivi

2 volte

T1

T1

3 volte

Gruppo 16 - Relaxation in Text Search using Taxonomies


Budgeted relaxation search7

Budgeted relaxation search

  • 3 o più tassonomie

  • Si dimostra che il Set CoveringProblem (NP-difficile, come dimostrato da Fowleret al.) è riconducibile al problema in esame, il quale è quindi di NP-difficile

  • Per la soluzione del Set CoveringProblem esistono efficienti algoritmi approsimati: sia n il numero totale di documenti con costo di rilassamento abbastanza basso, il “greedy set cover algorithm” può ottenere una approssimazione del problema di query planning con complessità O(log n)

    …(per chi fosse interessato all’argomento consigliamo il corso: “Algoritmi di Ottimizzazione LS” del prof. P. Toth)

Gruppo 16 - Relaxation in Text Search using Taxonomies


Risultati sperimentali

Risultati sperimentali

Baselinealgorithm:recupera i documenti che soddisfano la parte testuale della query e utilizza i metadati della tassonomia per post-processare i documenti e calcolarne lo score finale. Questo algoritmo rappresenta una diretta applicazione del processamento IR standard al nostro contesto, ovvero le tassonomie non vengono sfruttate durante la fase di query processing

Per ottenere indipendenza da dettagli di basso livello (come hardware, compressione delle postinglists, ecc.), gli autori utilizzano come misura delle prestazioni degli algoritmi il numero degli spostamenti del cursore, ovvero il numero delle entry delle postingslist accedute dalle chiamate del zig-zag join

Gruppo 16 - Relaxation in Text Search using Taxonomies


Risultati sperimentali1

Risultati sperimentali

Le tassonomie degli esperimenti sono alberi bilanciati con fanout e depth variabili. Ogni tassonomia ha profondità fissata d e fanout f

I risultati terranno conto solo delle restrizioni testuali e di tassonomia delle query (no text-independent score)

Analisi delle prestazioni al variare di:

# taxonomy restrictions: numero delle tassonomie

depth: profondità della tassonomia

fanout: fattore di ramificazione della tassonomia

selectivity of keywords: 1=tutti i documenti contengono le keywords o la query non specifica keywords

# number of results (k): numero di risultati richiesti

Gruppo 16 - Relaxation in Text Search using Taxonomies


One query per level

One query per level

Si assume che ad ogni livello della tassonomia,

i documenti vengano recuperati attraverso un’unica interrogazione

Per fanout bassi, nessun algoritmo fa peggio del baseline e binarysearch in alcuni casi

migliora le prestazioni di molto.

Gruppo 16 - Relaxation in Text Search using Taxonomies


One query per level1

One query per level

Per fanout e numero di tassonomie più alti, il miglior algoritmo di ricerca è quello top-down, che non fa mai peggio del baseline e, in alcuni casi, fa molto meglio. Nelle stesse condizioni gli altri algoritmi non riescono a migliorare il baseline e, in alcuni casi, fanno peggio.

Gruppo 16 - Relaxation in Text Search using Taxonomies


Dati reali

Dati reali

Reutersdataset RCV1 contenente articoli di

giornale in lingua inglese dal 20-08-1996 al

19-08-1997.

Dimensione dei dati non compressa: 2.5GB

Documenti classificati in 2 tassonomie:

“industry” taxonomy: 996 foglie, profondità max 7

“date taxonomy”: 3 livelli (anno, mese, giorno)

Top-down ha ottime prestazione, in particolare perché la seconda tassonomia è poco profonda.

Binarysearch è alla pari e potrebbe essere più

robusta per tassonomie più profonde. Entrambe le strategie migliorano di gran lunga le prestazioni di baseline e bottom up.

Gruppo 16 - Relaxation in Text Search using Taxonomies


Multiple queries per level

Multiple queries per level

Si effettuano più query secondo la stima dei costi ottenuta (budgetedsearch). Se non sono

disponibili stime, allora i costi di qualunque query vengono assunti identici.

Dalla figura si può vedere che per profondità e fanout maggiori, i benefici

che si hanno dalla esecuzione di query multiple aumentano.

Gruppo 16 - Relaxation in Text Search using Taxonomies


Grazie per l attenzione

GRAZIE PER L’ATTENZIONE

Gruppo 16 - Relaxation in Text Search using Taxonomies


  • Login