1 / 26

Querying

Querying. Modelli per la ricerca. 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. Modello Boolean. Documento: insieme di keywords

fahim
Télécharger la présentation

Querying

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Querying • Modelli per la ricerca

  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

  3. Modello Boolean • 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

  4. MB: Aspetti Positivi • 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)

  5. MB: Aspetti Negativi • 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

  6. Un Esempio Valutazione 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%

  7. Un po’ di Statistica ... • 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

  8. Problemi ... • 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 ...)?

  9. architecture bus computer database …. xml computer science bibloteca vocabolario Il Modello Vector-Space • Ci sono T termini distinti • (index terms o vocabolario) Per ora: Solo termini singoli, non frasi

  10. “computer” “science” “business” CS biblioteca Tutto ciò che risulta importante Modello Vector Space • I termini sono incorrelati (ortogonali) e formano il vector space • Ma c’è in realtà correlazione tra i termini ...

  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

  12. T3 5 D1 = 2T1+ 3T2 + 5T3 Q = 0T1 + 0T2 + 2T3 2 3 T1 D2 = 3T1 + 7T2 + T3 7 T2 Reppresentazione Grafica Esempio: D1 = 2T1 + 3T2 + 5T3 D2 = 3T1 + 7T2 + T3 Q = 0T1 + 0T2 + 2T3 • E’ D1 o D2 più simile a Q? • Come si misura il grado di similitudine?

  13. T1 T2 …. Tt D1 d11 d12 … d1t D2 d21 d22 … d2t : : : : : : : : Dn dn1 dn2 … dnt Collezione dei Documenti • Collezione documenti: matrice

  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?

  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

  16. Inner Product -- Examples management architecture database information computer retrieval text Binary: • D = 1, 1, 1, 0, 1, 1, 0 • Q = 1, 0 , 1, 0, 0, 1, 1 sim(D, Q) = 3 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

  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!

  18. t3 1 D1 Q 2 t1 t2 D2 Normalizzazione coseno CosSim(Di, Q) = D1 = 2T1 + 3T2 + 5T3 CosSim(D1, Q) = 5 /  38 = 0.81 D2 = 3T1 + 7T2 + T3 CosSim(D2, Q) = 1 /  59 = 0.13 Q = 0T1 + 0T2 + 2T3 D1 è 6 volte meglio di D2 con il coseno ma solo 5 volte meglio con il prodotto scalare

  19. Coeff. Jaccard : Altre Similiarità • . D1 = 2T1 + 3T2 + 5T3 Sim(D1, Q) = 10 / (38+4-10) = 10/32 = 0.31 D2 = 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?

  20. Prodotto Scalare: Coseno: Jaccard : Versioni Binarie di e qk qui sono insiemi di keywords di e qk qui sono vettori

  21. Term Weights tfij = 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!

  22. Term Weight • Tipico peso wij = 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

  23. posting postings list Opzionali: possono risiedere su file separato Implementazione Dj, tfj df Index terms D7, 4 3 computer database D1, 3 2    D2, 4 4 science system 1 D5, 2

  24. content key 7, 4 14532 5 1, 3    2, 4 138 2489 5, 2 Implementazione • Parole e documenti: 16-bit o 32-bit • 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.

  25. documenti Boolean query Boolean filter ranking Vector-space query resultati Ranking con op. Boolean • Combinazione Boolean e Vector-Space Si filtra prima con Boolean, poi si fa ranking nel vector-space

  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, 1999 chapter 4

More Related