Ricerca on-line con tecniche di Query Expansion

Le tecniche di Query Expansion consentono una ricerca più efficace nel reperimento di documenti realmente utili per l‘utente. Attraverso queste tecniche risulta possibile "espandere la ricerca", aggiungendo nuovi termini o rimuovendone alcuni rispetto a quanto inizialmente specificato dall‘utente.

Introduzione

Il consistente aumento dei documenti presenti sulla rete Internet ha condotto ad uno scenario in cui predomina la disorganizzazione dei contenuti, accentuata dalle numerose forme linguistiche in cui i documenti stessi sono redatti: da qui nasce la forte esigenza di supportare l'utente nella ricerca delle informazioni di suo interesse.
È molto frequente infatti, che l'utente non riesca nell'obiettivo di reperire le informazioni mediante la semplice ricerca della presenza dei termini all'interno dei testi della rete, essendo questi spesso composti da termini sinonimi tra loro o solamente correlati da argomenti simili.
Le tecniche di Query Expansion si inseriscono in questo contesto con l'obbiettivo di fornire un valido aiuto nella formulazione di domande di ricerca più efficaci nel reperimento di documenti realmente utili per l'utente. Attraverso queste tecniche, infatti, risulta possibile allargare il dominio di ricerca mediante la generazione di una query espansa, costruita aggiungendo nuovi termini o frasi rispetto a quelli inizialmente specificati dall'utente (talvolta anche rimuovendo).
L'idea alla base di questo meccanismo può essere meglio compresa facendo riferimento al seguente paragone con la vita sociale umana: quando due persone comunicano tra loro non necessitano di far riferimento a tutte le informazioni finalizzate all'esaudimento di una richiesta: pur essendo quest'ultima incompleta, tutte le informazioni necessarie all'esaudimento della richiesta possono essere dedotte dal contesto della conversazione. Allo stesso modo, il meccanismo di Query Expansion si propone di aiutare la ricerca dell'utente cercando di completare le informazioni della richiesta dell'utente.
Ma come vengono ricavate le informazioni necessarie a questo scopo?
Esistono diverse tecniche (come vedremo più avanti in dettaglio) che permettono di dare una risposta a questa domanda: è possibile utilizzare informazioni relative a preferenze esplicitamente espresse da parte dell'utente durante le sue ricerche, ovvero mediante la raccolta incrementale delle informazioni che legano i termini della query con i termini dei documenti (per esempio attraverso l'analisi dei log delle sessioni di ricerca), ovvero mediante la semplice analisi sintattica delle forme di frase che compongono i documenti. In particolare, con quest'ultima tecnica si potrà calcolare il livello di similitudine tra ciascun termine, sul quale instaurare la selezione dei termini per l'espansione della query.

Ricerca on-line con tecniche di Query Expansion

La ricerca on-line con tecniche di Query Expansion può essere schematizzata in due principali fasi:

  1. La formulazione della domanda di ricerca iniziale: l'utente costruisce l'input della ricerca;
  2. La sua riformulazione: vengono migliorate la forma e la composizione della query, cercando di rendere completa l'informazione della ricerca secondo i bisogni dell'utente.

La seconda fase può essere eseguita in due modalità differenti, che si differenziano in base al grado di coinvolgimento nella riformulazione dell'utente che sta operando la ricerca:

  • Interattiva (detta anche semi-automatica, user mediated, user assisted);
  • Automatica.

Riformulazione della query in modalità interattiva

Nella tecnica di riformulazione interattiva di espansione della query possono essere individuate due parti responsabili nella selezione dei termini che andranno ad ampliare l'input di ricerca: il sistema informatico sarà responsabile della presentazione di un insieme di termini candidati all'espansione della query e l'utente sarà responsabile della selezione delle parole maggiormente utili alla ricerca tra quelle presentate. Per facilitare il compito di selezione dell'utente è necessario che il sistema calcoli in un primo momento l'insieme dei termini secondo metodologie opportune e che in un secondo momento queste ultime siano presentate all'utente sotto forma di lista ordinata decrescente, secondo un ranking d'utilità.
Le liste di tali termini vengono generate mediate l'impiego di tecniche [1] comuni con la modalità di riformulazione automatica:

  • Uso di dati co-occorrenti: in un primo momento viene calcolata a somiglianza tra i termini esaminati sulla base delle ipotesi di associazione e successivamente vengono impiegate tali informazioni per la classificazione dei termini sulla base di un valore di affinità dei termini (soglia). In particolare, mediante questa metodologia i termini vengono suddivisi in classi di affinità. Quest'ultimi verranno usati per l'espansione solamente se il termine da espandere verrà associato alla classe di somiglianza corrispondente.
  • Uso di classificazione di documenti: i documenti sono innanzitutto classificati mediante l'applicazione di un algoritmo di classificazione opportuno. Quindi i termini individuati in questi documenti appartenenti alla stessa classe, se ritenuti essere infrequenti, vengono ritenuti essere simili e raggruppati nella medesima classe di termini. Viene cosi costruito un dizionario delle classi dei termini. Infine i termini vengono espansi mediante sostituzione o aggiunta dei termini corrispondenti alla classe di appartenenza della parola da espandere. Tuttavia bisogna sottolineare l'elevato costo computazionale e temporale correlato alla classificazione dei documenti, la quale deve essere eseguita più frequentemente della semplice classificazione dei termini.
  • Uso del contesto sintattico: questa metodologia si basa sulle relazioni presenti tra i termini in relazione a uno studio condotto sulla base della conoscenza linguistica e sulla base della co-occorrenza statistica dei termini. Il metodo adottato si basa sulla grammatica della lingua di riferimento e su un dizionario per estrarre per ciascun termine "t" esaminato una lista di termini che modificano "t". Solo dopo aver generato tali liste sarà possibile calcolare il grado di somiglianza tra i termini mediante l'uso di tali insiemi di parole. L'espansione della query avverrà mediante l'aggiunta delle parole maggiormente simili a quelle dei termini che compongono la richiesta dell'utente;
  • Uso di informazioni pertinenti: le informazioni attinenti alla ricerca dell'utente vengono impiegate per costruire un'unica struttura globale informativa, questa può essere costituita da uno pseudo dizionario o da un minimun spanning tree. Quest'informazione globale verrà impiegata nel processo di espansione della query per generare termini attinenti alla ricerca desiderata. Bisogna sottolineare come l'efficacia di quest'ultima metodologia dipenda fortemente dalla pertinenza delle informazioni dell'utente. A supporto di tali metodologie di analisi dei termini, sono state sviluppate altre tecniche per l'analisi dell'occorrenza dei termini in relazione alla struttura del corpus di documenti ricercati. Queste tecniche prendono il nome di gobal analysis e local analysis. La prima fornisce un'analisi dell'occorrenza delle parole e delle loro relazioni considerando il corpus dei documenti per intero, le informazioni ottenute da tale analisi potranno essere impiegate per l'espansione di qualsiasi query. La seconda limita l'analisi ai soli k documenti del ranking, ovvero i documenti classificati meglio e di conseguenza ritenuti rilevanti, ricavando informazione necessaria alla rivalutazione del peso e dell'espansione delle query analizzate. Si ritiene che local analysis sia più efficace della global analysis come dimostrano diversi esperimenti [2].

Oltre alle metodologie d'espansione risulta necessario analizzare anche le sorgenti che forniscono le parole per eseguire l'espansione della domanda di ricerca. Le fonti possono essere basate su risultati di ricerca e sul relativo processo di feedback: documenti rinvenuti nelle prime fasi iterative della ricerca potrebbero essere impiegati come sorgente per l'espansione dei termini che costituiscono la query di ricerca. Oppure possono essere basate su conoscenza derivata dalla struttura stessa la quale può dipendere o meno dalla collezione di riferimento.

In conclusione, nell'utilizzo di questa tecnica di riformulazione dunque, appare evidente la responsabilità coniugata tra sistema e utente: il primo avrà la responsabilità di analizzare il dominio di espansione e quindi sottoporlo in forma comprensibile e utile all'utente, mentre quest'ultimo avrà la responsabilità della selezione effettiva dei termini che verranno usati all'interno della ricerca (esercitando così un maggior controllo in relazione alle proprie preferenze).

Riformulazione della query in modalità automatica

La differenza sostanziale di questa tecnica rispetto alla precedente sta nel fatto che la responsabilità della riformulazione della query è delegata totalmente al sistema informatico.
I sistemi informatici che forniscono servizi di Query Expansion automatica assumono la piena responsabilità sia nella fase di reperimento e valutazione delle liste di termini candidati all'espansione, sia nella fase di selezione dei termini e riformulazione della query. In questo quindi, la fase di riformulazione apparirà completamente trasparente all'utente, il quale dovrà solamente preoccuparsi della composizione della domanda da sottoporre alla ricerca e della consultazione dei documenti ottenuti dalla ricerca effettuata.

Conclusioni

Abbiamo affrontato il tema dell'espansione della richiesta. La Query Expansion può basarsi su due sostanziali modialità: in un caso, che prevede l'interazione con l'utente chiamato a scegliere fra diverse opzioni, si parlerà di riformulazione della query in modalità interattiva; in un secondo caso, in cui la responsabilità della riformulazione della query è delegata totalmente al sistema informatico, si parlerà di riformulazione della query in modalità automatica.

 

Riferimenti

[1] Yonggang Qiu - H.P. Frei, "Concept Based Query Expansion"

[2] Jinxi Xu - W. Bruce Croft, "Query Expansion Using Local and Global Document Analysis", Center fo Intelligent Information Retrivial, Computer Science Department, University of Massachusetts, Amherst.

Condividi

Pubblicato nel numero
126 febbraio 2008
Francesco Saverio Profiti ha conseguito la laurea in Ingegneria Informatica presso l‘Università degli Studi Roma Tre nel 2003. Durante la sua carriera lavorativa si è occupato, prima da programmatore, poi da analista e infine da architetto di applicazioni di classe enterprise sia in ambiente Java EE sia in ambiente .NET.…
Claudio Biancalana è dottorando in Ingegneria Informatica presso il Dipartimento di Informatica e Automazione dell‘Università degli Studi Roma Tre. L‘attività di ricerca scientifica svolta finora ha riguardato l‘Intelligenza Artificiale e la Categorizzazione Automatica di Testi (ATC, Automated Text Categorization). Dal 2003 collabora attivamente presso il laboratorio di Intelligenza Artificiale dell‘Università…
Articoli nella stessa serie
Ti potrebbe interessare anche