1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica...

26
1 Querying Modelli per la ricerca

Transcript of 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica...

Page 1: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

1

Querying

Modelli per la ricerca

Page 2: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

2

Modelli di Retrieval

Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle queries la funzione di retrieval

Due classi di modelli Boolean Modelli spazio query

Page 3: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

3

Documento: insieme di keywords Queries: espressioni Boolean Ricerca: Ok se le keywords satisfano la query

Boolean

Si può aggiungere: diverse strategie stopword removal e

stemming mantere diverse informazioni ausiliarie

nell’indice e usare diversi metodi di implementazione

Modello Boolean

Page 4: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

4

E’ il più popolare facile da comprendere sfrutta il vantaggio del calcolo proposizionale

Implemtazioni efficienti identif. documenti con una certa parola supporto di strut. ausiliarie, e.g., forward index per

la cancellazione I MB si possono estendere per includere ranking (non

facile)

MB: Aspetti Positivi

Page 5: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

5

Molto rigido E’ difficile esprimere domande complesse documenti recuperati

tutti i documenti che soddisfano possono essere recup.

Non è facile fare ranking delle uscite tutti i documenti soddisfano la query nello

stesso modo E’ difficile implementare relevance feedback

E’ un difficile problema di inferenza induttiva

MB: Aspetti Negativi

Page 6: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

6

Un EsempioValutazione di Blair & Maron [CACM, March

1985] 40,000 documenti legali. STAIRS (IBM 70’s) - usato da avvocati. Interazione con operatori per la

“migliore” formulazione della Boolean Interazione finchè il risultato è

soddisfacente Media: Precisione =20% Recall = 80%

Page 7: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

7

Un documento è una lista di keywords La similiarità è basata sulla frequenza di

occorrenza Gli utenti specificano un insieme di termini

desiderati con pesi opzionali Weighted query terms : Q = database 0.5;

text 0.8; information 0.2 Unweighted query terms : Q = database;

text; information Non ci sono conditioni Boolean nella query

Si può supportare relevance feedback

Un po’ di Statistica ...

Page 8: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

8

Come determinare le parole importanti in un documento?

Come determinare il grado di importanza della parola nel documento e nell’intera collezione?

Come stabilire il grado di similiarità? Se ho ambienti con hyperlinks … come

stabilire glli effetti dei links, della struttura e del formato(grassetto, lampeggiante ...)?

Problemi ...

Page 9: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

9

Il Modello Vector-Space

Ci sono T termini distinti (index terms o vocabolario)

architecturebuscomputerdatabase….xmlcomputer science

biblotecavocabolario

Per ora: Solo termini singoli, non frasi

Page 10: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

10

Modello Vector Space

I termini sono incorrelati (ortogonali) e formano il vector space

“computer” “science” “business”

CS biblioteca Tutto ciò che risulta importante

• Ma c’è in realtà correlazione tra i termini ...

Page 11: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

11

Il Modello Vector-Space

Un esempio a due termini di = 0, 0 (Non contiene parole del

vocabolario) dj = 0, 0.7 (contiene una della due parole)

dk = 1, 2 (contiene entrambe le parole)

Così per 3 termini … ecc ... Un documento o una query si possono

rappresentare come combinazioni lineari di termini

Page 12: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

12

Reppresentazione Grafica

Esempio:

D1 = 2T1 + 3T2 + 5T3

D2 = 3T1 + 7T2 + T3

Q = 0T1 + 0T2 + 2T3

T3

T1

T2

D1 = 2T1+ 3T2 + 5T3

D2 = 3T1 + 7T2 + T3

Q = 0T1 + 0T2 + 2T3

7

32

5

• E’ D1 o D2 più simile a Q?• Come si misura il grado di

similitudine?

Page 13: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

13

Collezione dei Documenti

Collezione documenti: matrice

T1 T2 …. Tt

D1 d11 d12 … d1t

D2 d21 d22 … d2t

: : : : : : : :Dn dn1 dn2 … dnt

Page 14: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

14

Misura di Similiarità

Misura Similiarità: grado di similiarità tra coppie di vettori N.B.: queries e documenti sono vettori!

Qual è la migliore funzione (se ne esiste una valida per tutte le stagioni!)

Si possono stabilire soglie per controllare la dimensione del retrieved set

Come usare info di relevance feedback?

Page 15: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

15

Il Prodotto Scalare

sim ( Di , Q ) = dik qk)

dik è il peso del termine k nel documento i e qk è il peso del termine k nella query

Vettori binari: numero di matched query terms nel documento

k

t

=∑

1

Page 16: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

16

Inner Product -- Examples

Binary: D = 1, 1, 1, 0, 1, 1, 0

Q = 1, 0 , 1, 0, 0, 1, 1

sim(D, Q) = 3

retrieval

database

architecture

computer

text

management

information

D1 = 2T1 + 3T2 + 5T3 D2 = 3T1 + 7T2 + T3

Q = 0T1 + 0T2 + 2T3

sim(D1 , Q) = 2*0 + 3*0 + 5*2 = 10

sim(D2 , Q) = 3*0 + 7*0 + 1*2 = 2

Page 17: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

17

Proprietà prod. scalare

Favorisce documenti lunghi documenti lunghi cresce linearmente …

Interessante l’ortogonalità: un documento che parla della torta mantovana ha verosimilmente prod. Scalare nullo con uno che parla di basket!

Page 18: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

18

Normalizzazione coseno

D1 = 2T1 + 3T2 + 5T3 CosSim(D1 , Q) = 5 / 38 = 0.81D2 = 3T1 + 7T2 + T3 CosSim(D2 , Q) = 1 / 59 = 0.13

Q = 0T1 + 0T2 + 2T3

t3

t1

t2

D1

D2

Q

1

D1 è 6 volte meglio di D2 con il coseno ma solo 5 volte meglio

con il prodotto scalare

∑ ∑

= =

=

t

k

t

k

t

kkik

qd

qd

kik1 1

22

1

)(CosSim(Di, Q) =

Page 19: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

19

Altre Similiarità .

D1 = 2T1 + 3T2 + 5T3 Sim(D1 , Q) = 10 / (38+4-10) = 10/32 = 0.31D2 = 3T1 + 7T2 + T3 Sim(D2 , Q) = 2 / (59+4-2) = 2/61 = 0.04

Q = 0T1 + 0T2 + 2T3

D1 è 9.5 volte meglio di D2

Qual è la differenza rispetto al cos?

∑ ∑∑

= ==

=

•−+

t

k

t

kkik

t

k

t

kkik

qdqd

qd

kik1 11

22

1

)(

)(

Coeff. Jaccard :

Page 20: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

20

Versioni Binarie

∑ ∑∑

= ==

=

•−+

t

k

t

kkik

t

k

t

kkik

qdqd

qd

kik1 11

22

1

)(

)(

Prodotto Scalare:

Coseno:

Jaccard :qkdiqkdi

qkdi

∩−+

∑ ∑

= =

=

t

k

t

k

t

kkik

qd

qd

kik1 1

22

1

)(

qkdi

qkdi

×

∑=

•t

kkik qd

1

)( qkdi ∩

di e qk qui sono insiemi di keywordsdi e qk qui sono vettori

Page 21: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

21

Term Weightstfij = frequenza del termine j nel documento i

df j = document frequency del termine j

= no. documenti che contengono il term j

idfj = inverse document frequency del termine j

= log2 (N/ df j) (N: numero doc. collez.)

Inverse document frequency -- un indicatore di termini discriminatori: non servono termini che sono in “tutti” i documenti!

Page 22: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

22

Term Weight

Tipico pesowij = tfij idfj = tfij log2 (N/ df j)

Alto peso: termini frequenti nel documento e rari nella collezione

Un altro peso:

wij = (tfij /maxl{tflj}) idfj = (tfij /maxl {tflj}) log2 (N/ df j)

maxl{tflj} è la term frequency del più frequente termine nel documento j

Page 23: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

23

system

computer

database

science D2, 4

D5, 2

D1, 3

D7, 4

Index terms df

3

2

4

1

Dj, tfj

Opzionali: possono risiedere su file separato

posting

postings list

Implementazione

Page 24: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

24

7, 4

5, 2

1, 3

2, 4

2489

14532

5

138

Parole e documenti: 16-bit o 32-bit

key content

• Come rappresentare tfmax?

• Come gestire la cancellazione di doc.?

• Perché non memorizzare direttamente idf?

Serve un “forward index”: Dato un documento, restituisce i terms che contiene e, forse, il suo più alto tf.

Implementazione

Page 25: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

25

Ranking con op. Boolean

Si filtra prima con Boolean, poi si fa ranking nel vector-space

Combinazione Boolean e Vector-Space

Boolean filter

ranking

documenti

Vector-spacequery

resultati

Booleanquery

Page 26: 1 Querying Modelli per la ricerca. 2 Modelli di Retrieval Un modello per il retrieval specifica rappresentazione dei documenti rappresentazione delle.

26

Complementi per la lezione

Indici inversi:I.H. Witten, A. Moffat, and T.C. Bell, “Managing Gigabytes,Compressing and Indexing Documents and Images,”Morgan kauffmann, 1999chapter 4