La ricerca semantica ( semantic search )
La ricerca semantica ( semantic serch ) è un processo informatico di ricerca delle informazioni in un documento, o in una base di conoscenza, tramite la comprensione del testo. Un algoritmo di ricerca semantica ha lo scopo di comprendere il significato del linguaggio naturale, il contesto e l'argomento di cui parla.
La parola semantica in greco significa comprensione e il campo di studio della semantica è lo studio del significato delle parle e l'ontologia logica. La sua applicazione in campo informatico introduce nuove e importanti tecniche di ricerca nel settore della Information Retrieval. La ricerca semantica è utilizzata sul web ( internet ) dai motori di ricerca per affinare i risultati.
La differenza tra ricerca classica e semantica
Ad esempio, un algoritmo di ricerca classica, come il page rank, utilizza i link per calcolare l'importanza ( ranking ) delle risorse su un particolare argomento, mentre un algoritmo della semantic search studia direttamente la semantica del testo delle risorse.
Inizialmente, i primi search engine sul Web offrono come risposta un elenco di risorse sulla base dell'analisi delle parole chiave ( ricerca per keyword ) presenti sia nella query dell'utente che nel testo delle risorse. Questo approccio, detto della ricerca classica, è progressivamente superato in quanto espone a errori di interpretazione e allo spam-engine.
Per migliorare i risultati i search engine più moderni abbandonano la ricerca classica e iniziano ad analizzare altri fattori di valutazione diversi dalle parole chiave, come la relazione tra le parole, i sinonimi e la vicinanza di un insieme di parole a un particolare concetto, allo scopo di fornire all'utente dei risultati di ricerca pertinenti nei confronti della sua domanda ( query ).
Con la ricerca semantica l'algoritmo cerca di comprendere il vero significato della query di un utente e del documento ( pagina web), indipendentemente dalle parole chiave utilizzate. Questo approccio di ricerca è molto vicino al linguaggio naturale utilizzato dagli uomini per comunicare.
Gli approcci alla ricerca semantica
Esistono diversi approcci alla ricerca semantica ed è possibile riepilogarli in euristiche e algoritmi di comprensione.
- Le euristiche. Si tratta di algoritmi che analizzano le relazioni tra i termini di un documento per stimare l'argomento o il concetto di cui parla, l'intento di chi scrive e il pubblico a cui si rivolge. Questi algoritmi impiegano poche risorse, sono efficienti, ma non assicurano la migliore qualità del risultato. L'algoritmo non comprende il significato del testo ma si limita a stimare la sua vicinanza a un concetto ( topic, entities, ecc. ) sulla base dei segnali presenti nel documento.
- Gli algoritmi di comprensione. Questi algoritmi analizzano la struttura e i termini del linguaggio naturale per ricostruirne il significato logico delle frasi. Per funzionare necessitano di un'ampia base di conoscenza a cui far riferimento. Si tratta di algoritmi poco efficienti e molto complessi, poiché impiegano una grande quantità di risorse e di tempo di elaborazione, ma sono in grado di raggiungere livelli di qualità superiori. In questo caso, l'algoritmo non si limita a stimare l'argomento, bensì cerca di comprendere il significato vero e proprio del documento.
Nella ricerca semantica sono comprese diverse tecniche IR di recupero della conoscenza da una base dati. Spesso i dati sono strutturati in ontologie per semplificare lo studio delle relazioni tra le parole e i concetti. L'uso delle ontologie è uno dei fondamenti dei linguaggi del web semantico.
Le basi dati semantiche sono anche una forma di rappresentazione dei domini di conoscenza e, per questa ragione, sono anche dette basi di conoscenza.
Gli elementi della ricerca semantica
La semantic search sul web è composta da tre parti: l'insieme delle Universal Resource Identifier ( URI ), una struttura Resource Description Framework ( RDF ) e una libreria di ontologie.
Le URI sono l'insieme dei documenti e delle pagine web, su cui risiedono le informazioni. Lo schema RDF consente di associare alle informazioni una struttura standardizzata. L'ontologia, infine, associa alle parole un significato.
- Ricerca esplorativa e ricerca navigazionale. La ricerca semantica è efficace nella ricerca delle informazioni ( ricerca esplorativa ), quando l'utente utilizza il motore di ricerca per raccogliere informazioni su un argomento. Nelle ricerche esplorative l'utente non chiede una risorsa specifica, bensì un insieme di informazioni pertinenti su un argomento. Non è efficace nelle ricerche navigazionali, dove l'utente usa il motore di ricerca come strumento di navigazione verso una particolare risorsa. Nella ricerca navigazionale l'utente sa già cosa vuole leggere ( es. un nome di dominio ) e vuole raggiungere la risorsa nel modo più breve possibile. In quest'ultimo caso, non è necessario comprendere il significato della query.
- La differenza tra ricerca per keyword ( classica ) e ricerca semantica. La ricerca semantica è un processo di searching completamente differente dalla vecchia ricerca per keyword. La ricerca per keyword si basa su una valutazione probabilistica delle informazioni contenute in una pagina rispetto alla query dell'utente. È sostanzialmente una forma di ricerca meccanica, molto semplice, euristica e stupida ( non intelligente ). La ricerca semantica, invece, seleziona le pagine in base al loro significato e alla loro capacità di fornire una risposta di senso compiuto alla domanda dell'utente. È considerata un algoritmo di ricerca intelligente e molto complessa. Questo tipo di ricerca non si basa sulle keyword bensì sul significato composto dalle parole contenute in una frase o in più frasi.
- Contenuto, contesto, intenzione. La ricerca semantica è circoscritta su tre assi principali:
(1) il contenuto informativo della risorsa
(2) il contesto in cui si trova il contento
(3) l'intenzione dell'utente ( user intent )