Search Marketing

Guida al posizionamento dei siti web nei motori di ricerca

Amico degli spider
Home
2 Apr '05
Guida
8 Nov '04
Articoli
27 Mar '05
News/Blog
La Newsletter
30 Apr '09
FAQ
12 Gen '03
Risorse
10 Ott '04

Intervista a Marco Varone

Marco Varone, socio fondatore e responsabile dell'area sviluppo di Expert System, ci parla di analisi semantica e di COGITO Semantic Search, un motore di ricerca per concetti.
7 settembre '05 12:03:27
La prima volta che mi sono imbattuto nella tecnologia COGITO di Expert System è stato durante una normalissima ricerca su Libero.it, e ne sono rimasto immediatamente colpito.

Expert System produce infatti, tra le altre cose, soluzioni software che si basano sull'analisi semantica dei testi per migliorare i risultati di un motore di ricerca. Nell'intervista che segue, Marco Varone ci spiega come funziona.


Enrico Altavilla: Dottor Varone, la invito ad introdurre brevemente Expert System e il tipo di tecnologie che essa sviluppa.

Marco Varone: Expert System è una S.p.A. con sede a Modena (abbiamo recentemente inaugurato anche una nuova sede a Roma) che oggi conta una cinquantina di persone, la maggior parte delle quali impegnate nel settore tecnico. Siamo in attività fin dai primi anni '90, da sempre specializzati in tecnologie linguistiche per il trattamento automatico del linguaggio e di contenuti testuali (usate, ad esempio, da milioni di italiani tutti i giorni grazie al fatto che tutti i proofing tools di Microsoft sono realizzati da noi utilizzando proprio implementazioni specifiche della nostra tecnologia).

L'obiettivo di queste tecnologie è quello di rendere comprensibile e manipolabile il contenuto informativo (la conoscenza) presente all'interno di ogni tipo di testo scritto nel linguaggio di tutti i giorni, superando i limiti degli altri approcci esistenti che si limitano a lavorare sulla parte superficiale del testo e cioè sulle parole chiave che vi sono contenute.

Enrico Altavilla: Che cos'è la tecnologia COGITO e per soddisfare quali esigenze è nata?

Marco Varone: COGITO è la nostra piattaforma linguistica ed è il risultato di più di dieci anni di ricerca e sviluppo e di centinaia di anni/uomo nel campo della linguistica computazionale: contiene tutte le tecnologie di base, tutte le conoscenze (sotto forma di reti semantiche) e tutte le logiche che consentono di elaborare nel modo più efficace possibile (in termini di comprensione, precisione e velocità) le informazioni non strutturate (cioè i testi).

COGITO è alla base di tutte le nostre applicazioni ma, per scelta progettuale, non è specifico per alcun settore o area applicativa.

Tra le funzionalità di base, COGITO esegue l'analisi morfologica, grammaticale, logica e semantica dei testi analizzati e crea una mappa cognitiva e concettuale del documento che diventa l'oggetto strutturato utilizzato per tutte le successive elaborazioni del contenuto. In aggiunta a queste funzioni, Cogito contiene una serie di logiche e di algoritmi che elaborano gli elementi della mappa e che estraggono conoscenza ad un livello più alto (ad esempio, il riconoscimento delle persone oppure delle aziende).

Enrico Altavilla: Le analisi semantiche si basano spesso su una mappa di concetti, chiamata a volte ontologia, creata dagli sviluppatori della tecnologia. Quali caratteristiche possiede la mappa di concetti usata da COGITO e con che metodi è stata creata?

Marco Varone: Come prima cosa, qualunque analisi veramente semantica di un testo deve per forza basarsi su di un'ontologia di concetti (spesso chiamata rete semantica), concetti che devono essere "istanziati" per la lingua in uso: per intenderci, non è sufficiente che all'interno della rete semantica esista il significato di tavolo come concetto ben preciso e distinto dagli altri concetti ma questo deve essere lessicalizzato, cioè devono essere associati i termini (o le espressioni) che si usano per rappresentare quel concetto (nell'esempio, la lessicalizzazione per l'italiano avrà "tavolo" mentre quella per l'inglese avrà "table").

Non userei il termine mappa di concetti per indicare la rete semantica perché un po' impreciso: per evitare problemi, noi abbiamo deciso di dare un nome proprio alla nostra rete semantica per differenziarla dalle altre esistenti e abbiamo optato per Sensigrafo (Sensi per indicare l'aspetto semantico dei tanti sensi che possono avere le parole e grafo per indicare che le informazioni sono rappresentate internamente come insiemi di grafi molto complessi).

Il Sensigrafo è stato creato in una prima fase in modo manuale (anche se con il supporto di un toolkit estremamente completo di strumenti di analisi linguistici) per garantire la massima qualità dei contenuti e ridurre il rumore al minimo possibile: i linguisti, utilizzando anche l'output ottenuto analizzando con gli strumenti citati un enorme corpus di testi, hanno creato la struttura concettuale del Sensigrafo, individuando tutti i concetti rilevanti del mondo reale e inserendoli in modo organico e strutturato (ad esempio, il concetto di automobile è figlio del concetto più generico di mezzo di trasporto che, in fondo, è un oggetto concreto). I concetti sono poi stati collegati fra di loro in base ad una serie di relazioni (ad esempio, il concetto di "mangiare" è collegato al concetto di "cibo") e lessicalizzati per l'italiano e per l'inglese: i successivi ampliamenti del Sensigrafo vengono fatti in modo semiautomatico, dove alcune informazioni e concetti possono essere "imparati" in modo autonomo dal sistema senza alcun controllo umano mentre altri richiedono sempre una validazione finale.

Enrico Altavilla: Leggo dalla vostra documentazione espressioni quali "comprensione dei contenuti". Si può realmente parlare di "comprensione", almeno per come noi esseri umani intendiamo questo termine?

Marco Varone: La comprensione dei contenuti effettuata da un motore di analisi linguistica è solo una simulazione di alcuni degli aspetti della comprensione umana e non può perciò essere considerata equivalente: nessuno sa come funzioni veramente il meccanismo di comprensione della mente umana (e sembra proprio che ancora per molto tempo non sarà possibile capirlo) perciò anche se non ci fossero altri problemi, non è possibile replicarlo all'interno di un programma.

Il tipo di comprensione che Cogito è in grado di fare di un testo è perciò focalizzato su alcuni aspetti del molto più ampio processo di comprensione umana e si concentra su:


  • analisi del contesto e della struttura per effettuare nel modo più preciso possibile la disambiguazione del significato delle parole che hanno più di un senso. Individuare il giusto significato delle parole è fondamentale per "capire" di che cosa si sta parlando;

  • analisi delle strutture logiche delle frasi per individuare gli elementi più rilevanti del documento;

  • algoritmi di individuazione di strutture espressive che, quando riconosciute, consentono di inferire importanti informazioni sul contenuto.

Enrico Altavilla: Che cos'è COGITO Semantic Search ?

Marco Varone: E' un motore di ricerca (per applicazioni Intranet o locali) che sfrutta le caratteristiche di Cogito per offrire una migliore precisione e una più elevata recall dei risultati.

Praticamente tutti gli altri motori di ricerca consentono di cercare solo per keyword (parole chiave) e ordinano i risultati (ranking) in base ad algoritmi meccanici (normalmente vengono per primi i documenti in cui la parola è nel titolo o nel nome del documento, poi quelli dove la parola compare molte volte e poi tutti gli altri).

Cogito Semantic Search migliora l'esperienza di ricerca su entrambi i fronti:


  • oltre che per keyword, è infatti possibile cercare anche per lemmi (cioè per trovare un verbo in qualunque forma essa compaia nei testi è sufficiente indicare l'infinito e così per aggettivi e sostantivi) e per concetti.

    Questa possibilità è unica ed estremamente interessante perché consente di trovare tutti quei documenti in cui un certo termine ha un preciso significato: ad esempio, se sto cercando tutti i documenti in cui si parla di "pesca" come frutto, con un motore di ricerca classico non ha alcuno modo per farlo in modo efficace (posso provare a cercare "pesca" AND "frutta" ma troverò solo i documenti in cui i due termini occorrono insieme, con una precisione alta ma una recall estremamente bassa; stessa cosa per altre combinazioni con l'ulteriore problema che ci saranno poi risultati presenti in più ricerche). Con Cogito Semantic Search, basta scegliere il concetto di pesca dalla rete semantica e verranno trovati tutti i documenti pertinenti (in realtà, poiché nessuna tecnologia è perfetta, fra i risultati ci sarà qualche documento non pertinente e qualche documento pertinente non verrà trovato ma la recall sarà enormemente superiore rispetto ad un motore a keyword);

  • per il ranking, grazie a Cogito è possibile individuare il ruolo logico "giocato" dagli elementi cercati all'interno del documento ed utilizzarlo per dare ai risultati un ranking decisamente migliore di quello ottenibile normalmente: ad esempio, se un termine in un documento è soggetto di frasi significative, la sua rilevanza aumenta così come se è associato a concetti specifici (le logiche di questo tipo sono molto numerose e consentono di coprire una casistica molto ampia).

Enrico Altavilla: Quali motori di ricerca usano attualmente la tecnologia COGITO Semantic Search, e per quali specifiche caratteristiche essa è sfruttata?

Marco Varone: Essendo esso stesso un motore di ricerca, Cogito Semantic Search ovviamente non è utilizzato da nessun altro motore di ricerca. Componenti specifici di Cogito sono invece utilizzati per migliorare il funzionamento di un motore di ricerca classico basato sulle keyword per consentire, ad esempio, di avere anche indici sui lemmi o per migliorare il ranking. Per le ricerche su Internet, Cogito è utilizzato da Libero ed è stato utilizzato da Virgilio.

Enrico Altavilla: Leggo da questo documento [PDF] che la vostra tecnologia effettua un'analisi logica dei testi. Come si comportano i vostri algoritmi di fronte a testi in cui una logica lineare ed esplicita manca o è carente? Ad esempio il testo dei titoli giornalistici o il keyword stuffing di cui il Web è pieno?

Marco Varone: La nostra tecnologia linguistica è fatta per lavorare su testi/documenti che siano scritti in modo normale: lo stile, la forma e la presenza di qualche errore non sono problematici ma applicare un'analisi linguistica ad una pagina Web piena solo di keyword non dà ovviamente grandi risultati (per il famoso principio del "garbage in, garbage out").

Non lo considero comunque un vero problema perché l'obbiettivo di Cogito è quello di estrarre ed elaborare la conoscenza contenuta in un testo e non gestire lo spamming presente sul Web: non a caso, le nostre soluzioni sono rivolte principalmente al mondo aziendale dove problemi di questo tipo semplicemente non esistono.

Diverso è il discorso di elementi come i titoli dei giornali: per gestire nel modo migliore possibile questi oggetti, abbiamo implementato nel corso degli anni delle logiche specifiche che cercano di capire quando si sta analizzando un elemento di questo tipo e usano degli algoritmi adattati per commettere meno errori possibili.

Enrico Altavilla: A suo giudizio, in che percentuale i principali motori di ricerca sul Web utilizzano analisi semantiche per aumentare la rilevanza dei risultati di ricerca "organici"? La rilevanza viene ancora calcolata principalmente attraverso analisi di tipo statistico?

Marco Varone: I principali motori di ricerca non usano alcuna analisi semantica per aumentare la rilevanza dei risultati e, in linea di massima, non si affidano nemmeno alle basiche analisi statistiche esistenti prima dell'avvento di Google. Prima di entrare nel dettaglio, è importante sottolineare un aspetto molto importante: proprio a causa della ricerca di un ranking sempre migliore, i motori di ricerca per Internet hanno ormai poco in comune con i motori di ricerca per le Intranet (o anche per il proprio PC) quando si analizza la logica di ranking.

I motori per Internet, infatti, per ordinare i risultati, utilizzano principalmente una serie di informazioni che sono uniche del Web e che non esistono (o non hanno senso) per una raccolta di testi/documenti esistenti in un'azienda: questo spiega perché Google sia un ottimo prodotto (anche se meno efficiente rispetto al passato) per fare ricerche sul Web ma sia un prodotto come tanti altri per le ricerche in una Intranet aziendale.

In sintesi, il ranking dei risultati degli attuali motori di ricerca si basa sui seguenti elementi (l'ordine non è quello di importanza perché ogni motore di ricerca ha la propria "ricetta"):


  • presenza della/e keyword cercata/e all'interno della url;

  • presenza della/e keyword cercata/e all'interno del titolo HTML della pagina;

  • numero di link che puntano alla pagina e che contengono la/e keyword cercata/e nel testo del link;

  • importanza del sito (le pagine appartenenti ad un sito molto popolare vengono sempre prima delle altre a parità di altre condizioni);

  • numero di volte che un utente ha scelto quella pagina come risultato di una ricerca uguale a quella fatta (anche parzialmente).

Enrico Altavilla: Non le nascondo che questa sua risposta mi ha sorpreso alquanto. Da quello che osservo, gli ingegneri che lavorano per i motori di ricerca, nonché i molti studiosi di IR esistenti, pubblicano continuamente brevetti, studi e ricerche su tecniche e metodi che sfruttano elementi sempre più raffinati.

Di Google si sa che acquisì i diritti sull'algoritmo di analisi semantica CIRCA (inizialmente sfruttato per AdSense) quando acquistò Applied Semantics nel 2003, MSN ha recentemente pubblicizzato l'adozione di tecniche di AI supervisionate, Yahoo! ha proposto un "Social Search" basato sulle azioni degli utenti (che vanno oltre i semplici click) e ancora Google ha brevettato tecniche che si basano su dati storici.

Di fronte ai continui sviluppi dell'information retrieval e al sempre crescente bagaglio tecnologico posseduto da ciascun motore, è davvero da escludere che, per esempio, Google non abbia deciso di sfruttare un algoritmo come il CIRCA per migliorare i propri risultati organici? Siamo ancora di fronte a motori che, all'atto pratico, si basano esclusivamente sulla banale presenza di keyword e la popolarità da link?

Marco Varone: Naturalmente, potendo giudicare solo dall'esterno, non sono in grado di escludere totalmente che i principali motori di ricerca utilizzino una qualche forma di tecnologia semantica.

Quello che volevo dire è che, giudicando dalle prove che facciamo periodicamente, sembra proprio che gli elementi chiave utilizzati per il ranking siano quelli che ho descritto (più variazioni degli stessi): facendo delle ricerche di prova per cercare di capire le logiche di ranking, sembra proprio che gli elementi messi in gioco siano quelli indicati.

Sicuramente ci sono trucchi ed altri accorgimenti che vengono man mano implementati (ad esempio, Google da un po' di tempo ricerca anche per le forme flesse quando si fanno domande in inglese) ma tenderei ad escludere un uso massiccio di tecnologie semantiche anche solo per il fatto che queste richiedono enormi investimenti per ogni lingua mentre gli approcci attuali vanno bene, con pochi ritocchi, un po' per tutte le lingue indoeuropee.

Enrico Altavilla: Cosa riserva il futuro delle tecnologie semantiche ai motori di ricerca e ai loro utenti? Quali applicazioni future ci aspettano?

Marco Varone: Come è facilmente immaginabile, è molto difficile rispondere a questa domanda. Non passa giorno senza che qualcuno nella stampa (specializzata o generalista) non si lamenti di quanto sono "scarsi" i motori di ricerca in Internet, Google compreso, quando si cercano non un sito di una persona o di un'azienda ma delle informazioni precise o dei dati su qualcuno o qualcosa. In modo simile, i motori di ricerca usati all'interno delle aziende non sono certo ben valutati: il ranking dei risultati è molto spesso insoddisfacente così come la precision/recall dei risultati.

Quello che la tecnologia semantica ha da offrire in questo campo è già molto allo stato attuale dell'arte anche se esiste ancora parecchio spazio per ulteriori miglioramenti.

Le due aree su cui l'impatto potrà essere più evidente/utile sono le seguenti:


  • rilevanza: questo aspetto è in qualche modo più importante in Internet che nelle intranet per le differenti caratteristiche dei due contesti. In Internet, è comune che i risultati siano falsati dalle tecniche di ottimizzazione utilizzate da chi crea le pagine tenendo conto di come funziona Google (o altri motori com Yahoo o MSN): basta provare a fare delle ricerche su argomenti turistici (o su attrici carine) per vedere che, molto spesso, le risposte ottenute non sono veramente attinenti con quanto cercato (perché non si parla in dettaglio di quello che abbiamo cercato ma c'è solo un riferimento per "ingannare" il motore).

    Con un'analisi semantica del contenuto testuale della pagina è invece possibile capire, con un buon grado di precisione, se si parla veramente di quei concetti oppure se si tratta di una semplice menzione: gli algoritmi per ottenere questo risultato sono molto complessi e, attualmente, è oneroso (dal punto di vista computazionale) applicarli a centinaia di milioni (o addirittura miliardi) di pagine da indicizzare ma, con il continuo crescere delle prestazioni dei processori, l'applicabilità crescerà in tempi brevi;

  • ricerca di informazioni precise: con una tecnologia semantica, è possibile estrarre informazioni specifiche da un testo e renderle ricercabili in maniera molto più precisa di quanto possibile con il solito approccio a keyword. Sarà perciò possibile, ad esempio, cercare all'interno di tutti i documenti disponibili in azienda il fatturato di un concorrente ed ottenere in risposta la frasi che descrivono questo dato invece che un elenco di documenti in cui compaia il nome del concorrente e la parola fatturato.

Enrico Altavilla: Quanto è avanzata la vostra tecnologia rispetto alla concorrenza? Esistono risultati conseguiti dalle tecnologie concorrenti che COGITO non ha ancora raggiunto?

Marco Varone: Per quello che è possibile conoscere sulla situazione del mercato, Cogito è sicuramente la piattaforma linguistica più completa e potente disponibile per il trattamento delle informazioni non strutturate.

Sono due, in particolare, gli elementi che caratterizzano la nostra piattaforma e che non trovano equivalenti sul mercato:


  • disambiguazione del significato: Cogito è in grado di riconoscere il giusto significato di un termine (o di un'espressione) utilizzato in un documento fra tutti quelli possibili con un buon livello di precisione e in un contesto generico (cioè non limitato ad un certo insieme di argomenti: una spiegazione di come funziona la disambiguazione si trova qui [PDF])

    Questa caratteristica è fondamentale per comprendere il contenuto di un testo in modo più profondo, individuare i concetti più rilevanti ed avere accesso alla conoscenza contenuta in esso;

  • velocità di esecuzione: anche se questo sembra essere un puro elemento tecnico, è in realtà una caratteristica fondamentale perché rende applicabile la tecnologia in scenari reali e non solo in test accademici o di laboratorio. Cogito ha una velocità di analisi che è 10-100 volte superiore a quella dei concorrenti e questo consente di utilizzarlo in scenari caratterizzati da grandi volumi di informazione da elaborare che, diversamente, potrebbero essere gestiti solo con un banale e limitato approccio a keyword.

Enrico Altavilla: Queste considerazioni si applicano a qualunque lingua supportata da COGITO? Lo chiedo perché ricordo bene di aver letto in uno dei vostri documenti un distinguo tra la capacità di COGITO di "comprendere" la lingua italiana e la capacità di analizzare altre lingue.

Marco Varone: Quanto ho scritto vale per la lingua italiana e per l'inglese (dove per quest'ultima la qualità di disambiguazione è leggermente inferiore): per ora, la piattaforma COGITO non è disponibile per altre lingue (anche se, grazie a partner e collaborazioni, siamo in grado di fornire soluzioni linguistiche anche per altre lingue).


Gli autori di questa intervista, Marco Varone ed Enrico Altavilla, hanno deciso di pubblicarla sotto questa licenza Creative Commons, qui riassunta, per facilitarne la diffusione.

< Torna alla pagina con le notizie più recenti

<< Torna alla pagina principale di Motoricerca.info