4lib Blog

Osservatorio sull'informazione in rete e le digital libraries

Archivio per novembre 22nd, 2009

La strutturazione del linguaggio

con 2 commenti

I motivi della diffusione dei motori di ricerca semantici sono legati alla valutazione che l’algoritmo di google abbia raggiunto il culmine della sua efficacia (si veda per tutti in bell’intervento di Nova Spivak ) e che siano necessarie nuove tecnologie di tipo qualitativo per incrementare la ricerca nel web. La questione non è a mio parere posta in modo corretto dato che, come ha scritto Stefano Mazzocchi  in un bruciante commento allo stimolante e provocatorio articolo The unreasonable effectiveness of data, apparso su IEEE Intelligent Systems, nell’aprile 2009 a firma dei ricercatori legati a Google, A. Halevy, P. Norvig e F. Pereira,  Google fa riferimento più a alla struttura offerta dal tag <a> dell’html (anchor) e alla analisi dei link successivi per ricostituire il social graph, che non all’analisi statistica delle parole (che per altro include in parte nell’algoritmo del PageRank).

L’intervento tranchant di Mazzocchi – dal titolo Unreasonabe Hypocrisy – ha forse avuto l’effetto di bloccare momentaneamente lo sviluppo di un dibattito serio sulla capacità di trarre da tale struttura minimale dell’html, strumenti di “irragionevole efficacia”. In questo senso hanno perfettamente ragione A. Halevy, P. Norvig e F. Pereira a delineare una  alternativa non tra una semantica basata sulla strutturazione e una basata sulla statistica, bensì tra dati strutturati  manualmente e dati definiti tramite l’identificazione di strutture emergenti, anche se incomplete, dalla analisi statistica.

Il dibattito è comunque tutto da sviluppare. Per tornare al tema mi sembra che per sopperire alle presunte carenze di google si siano intrapresi due percorsi principali, da un lato quello scelto da Yahoo! con SearchMonkey, seguito dai Rich snippet di Google, di incrementare e valorizzare i dati strutturati manualmente presenti nelle pagine web, dall’altro l’utilizzo di tecniche di “natural language processing”(NLP) cioè di analisi linguistica sia della query che dei risultati della ricerca.

In particolare i motori di ricerca semantici si propongono di fornire una categorizzazione dei risultati nell’ottica di un approccio esplorativo ai possibili significati che potrebbero corrispondere all’intenzione dell’utente, oppure ambiscono a rispondere proprio alle queries della long tail, quindi richieste personalizzate, specifiche, articolate, in una parola non frequenti, e quindi dipendenti più dalla qualità che dalla popolarità delle risposte. Le tecniche di NLP sono infatti alla base dei progetti di motori “verticali” cioè che operano in campi disciplinari definiti e i cui contenuti possono essere formalizzati in modo coerente.

Queste tecnologie sono cresciute negli ultimi decenni in laboratori di ricerca e progetti specifici, costruendo esperienze e set di dati considerevoli anche se non ancora in grado di misurarsi con la dimensione del web. Inoltre la loro efficacia si evidenzia soprattutto nella trattazione di testi omogenei e parzialmente strutturati, come la banca dati di Medline, che costituisce un corpus altamente omogeneo e strutturato, o recentemente soprattutto Wikipedia perché:

  • non sottoposto a copyright,
  • abbastanza generalista da fornire facilmente un’ampia gamma di risposte alle possibili queries e in più costruito secondo i criteri formali di una enciclopedia,
  • e ultimo ma non meno importante, fornito di una struttura semantica propria, dalle parole chiave in fondo agli articoli, ai link che spiegano e disambiguano i concetti citati collegando alle pagine corrispondenti della stessa Wikipedia, ai box di sommario presenti in molti articoli.

Si costruiscono per questa via le ontologie con cui confrontare i risultati della analisi semantica della query in modo da trovare una corrispondenza non tra simboli (le parole) ma tra concetti.  I passi avanti dal punto di vista logico sono tangibili, meno però la loro efficacia pratica quando si considera il rapporto costi benefici. Come ricordato nell’articolo sopra citato di A. Halevy, P. Norvig e F. Pereira:

Project Halo did an excellent job of encoding and reasoning with knowledge from a chemistry textbook, but the cost was US$10,000 per page. Obviously we can’t afford that cost for a trillion Web pages

Per affrontare l’analisi semanica del web l’approccio necessario sembra doversi legare ad altri fattori.

In Hakia, come viene spiegato in un post di autopresentazione del progetto, l’attenzione è stata spostata dall’analisi sintattica e semantica, all’analisi delle sequenze di parole. Oggetto di valutazione non sono singole parole, naturalmente dotate di molteplici significati e usi, bensì brevi sequenze di parole (dette n-gram) che insieme costituiscono un contesto e disambiguano il significato di ognuna di esse circoscrivendo il concetto espresso, come esemplifica il seguente schema tratto dal post stesso e relativo alla sequenza semantica road kill:

Schema di analisi linguistica

Questo approccio al linguaggio non per parole isolate, ma per parole correlate, si esercita non solo a livello di analisi dei dati, ma anche a livello di costruzione dell’ontologia di riferimento: è quella che in Hakia viene chiamata Commercial Ontology che rinvia al fatto che:

The ontology is built based on the commercial value of the concepts. The concept of digital camera may be more important than the concept of German Opera in the commercial world, thus the former gets more refinement and detail in its ontological definition and lexicon space

In base al post non si riesce a determinare quanto la costruzione dell’ontologia proposto da Hakia, sicuramente una ontologia che si riferisce ad una corpus reale, non astratto, sia basata su un apporto manuale di specialisti oppure su un processo automatico statistico.

L’aspetto più interessante è però che su questa via i pacchetti che vanno a costruire l”ontolgia (e che non sappiamo come siano scelti in Hakia … magari sono tratti dalle queries ?) si possono definire non attraverso il ragionamento (reasoning) in base a regole su parole strutturate manualmente nel loro contesto semantico (parole correlate e sinonimi), bensì da modelli emergenti dalla mera analisi statistica.

Si motiva così l’affermazione di A. Halevy, P. Norvig e F. Pereira che la meccanizzazione del linguaggio è tanto più semplice  quanto più si opera in corpore vili, cioè su un corpus di dati che esiste “in natura” (usano l’espressione in the wild) invece che su uno creato astrattamente e sottoposto a complessi, discutibili ma sempre variabili assunti (come avviene nella interpretazione del linguaggio) e suggeriscono l’esempio del relativo successo della meccanizzazione delle traduzioni, avvenuto in base ad un corpus considerevole di traduzioni in più lingue creato dalla CE e dalle agenzie internazionali di news, in cui a gruppi di parole ricorrenti si possono associare corrispondenti gruppi di parole in altre lingue, trasformando la traduzione da un problema di raffinato reasoning ad uno di matching di sequenze di parole.

E’ forse anche questa una delle vie per una strutturazione del linguaggio del web capace di identificare  una struttura minimale dei dati e restituire automaticamente quanto di più simile alla semantica del linguaggio naturale ?

Scritto da Nicola

22 novembre 2009 alle 20:42

Iscriviti

Get every new post delivered to your Inbox.