|
|||||||
|
|||||||
Intervista a Marco Varone
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.
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:
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:
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"):
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:
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:
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).
|
|||||||
|
|||||||