5
Introduzione
La necessità della web summarization nasce dal fatto che le pagine web oltre
al contenuto informativo contengono una gran quantità di immagini, formattazioni, suoni,
video e quant‟altro che non sempre è di interesse pratico per l‟utente.
Tali pagine sono ottimizzate per essere interrogate dai browser web eseguiti
su PC che possiedono monitor di una certa dimensione.
Il nostro obiettivo consiste nel dare la possibilità di accedere a tali
informazioni a dispositivi meno complessi, con schermi di dimensioni ridotte, quali
Personal Digital Assistant (PDA) e telefoni cellulari di ultima generazione, ma anche il
reperimento di informazioni dal web da parte di un semplice telefono GSM dotato di
microfono e altoparlante.
Recentemente c‟è stata una proliferazione di dispositivi informatici e di
comunicazione con piccoli dispositivi, dunque si è ritenuta necessaria la conversione di
pagine Web standard in pagine per questi nuovi dispositivi, in quanto la quantità di
contenuti all‟interno di ciascuna di queste pagine è troppo grande per essere visualizzato in
modo adeguato da questi piccoli schermi.
Per i primi dispositivi elencati, in pratica, si ha la possibilità di accedere alle
pagine web attraverso i browser presenti sugli stessi; il problema consiste però nel fatto
che le pagine sono troppo grandi per una buona visualizzazione sullo schermo e spesso
hanno contenuti che non possono essere visualizzati su dispositivi con piccole capacità.
Progettazione e Implementazione di un sistema per la costruzione
automatica di sommari a partire da pagine Web
6
Nel caso di telefoni cellulari, invece, si offre la possibilità a persone non
vedenti (ma anche a persone che non dispongono di dispositivi di ultima generazione) di
interrogare il web grazie al riconoscimento vocale ed ai sintetizzatori vocali (in questo
caso bisognerebbe però utilizzare un numero di telefono al quale risponde la nostra
applicazione).
Un ulteriore problema dei contenuti del web è dovuto all‟immensa quantità
di informazione presenti; il nostro software risolve tale problema in quanto non fornisce
all‟utente l‟intero contenuto estratto ma solo parte di esso, ovvero un sommario, sia in
forma scritta, sia in formato audio/visivo.
La tesi sarà così strutturata:
Una prima parte, in cui parleremo del reperimento dei documenti dal
web;
Una seconda parte dedicata all‟analisi del documento e alla creazione
del sommario;
Una terza dedicata al testing dell‟applicazione nel suo complesso;
Una quarta parte in cui illustreremo brevemente tutti i software
utilizzati e le “tecniche secondarie” utilizzate nello sviluppo
dell‟applicazione.
7
Capitolo 1
Web Extraction
Negli anni novanta si parla per la prima volta del World Wide Web, una
collezione di documenti utili, interconnessi tramite link ipertestuali e raggiungibili
attraverso Internet grazie alle loro “coordinate”, gli Uniform Resource Locator (URL).
Se negli anni novanta era sufficiente conoscere l‟URL di una risorsa per
poterla consultare, oggigiorno con il crescente numero di documenti sono nate nuove
esigenze. Si può dire che i moderni motori di ricerca (Google, Yahoo) hanno risposto del
tutto a queste richieste: le conoscenze ormai abbastanza consolidate sulla ricerca di
documenti in ambiti diversi dal Web sono stati infatti sfruttati molto bene con gli ottimi
risultati che tutti oggi possono vedere.
Tuttavia, il pressante interesse nei confronti della semantica, pone oggi
ostacoli del tutto nuovi. Le pagine Web non bastano più; l‟informazione in essa contenuta
non ha alcun significato per un non-umano, non è sfruttabile e pertanto non costituisce
conoscenza. Nasce così anche l‟esigenza di estrarre i contenuti per permettere ad altre
tecnologie di utilizzarli.
L‟obiettivo finale del mio lavoro è:
Progettare un sistema in grado di popolare in maniera semi-automatica una
base di dati a partire da informazione parzialmente strutturata di un insieme
di pagine web ricercate;
Progettazione e Implementazione di un sistema per la costruzione
automatica di sommari a partire da pagine Web
8
Estrarre il contenuto informativo in forma testuale dalla base dati e
sintetizzarlo in poche frasi;
Visualizzare il contenuto sintetizzato in forma audio/visiva;
1.1 Motivazioni
Questo è un progetto che nasce dall‟esigenza di mantenere una certa
semplicità nel sistema, in modo da permettere a paesi tecnologicamente meno avanzati di
usare il web.
Tale progetto prende in considerazione anche le esigenze di persone disabili
le quali non riescono ad usare il web in quanto apparecchiature e software creati
appositamente per le loro esigenze non riescono ad elaborare tali informazioni.
1.1.1 Caratteristiche del Web
Un testo in una pagina web è molto diverso da un testo in formato text/plain,
ed i motivi sono molteplici.
Innanzitutto in un testo libero non esistono marcature, salvo gli spazi bianchi
o le linee vuote. Oltre a costituire una notevole differenza, gli effetti della presenza del
markup HTML sull‟estrazione possono costituire tanto un vantaggio quanto un problema.
Indubbiamente i marcatori hanno il vantaggio di essere dei riferimenti molto
utili e permettono di costruire delle espressioni regolari tanto robuste quanto generiche.
Purtroppo, vista la libertà lasciata dal Web e dai client, è frequente l‟abuso
della sintassi HTML.
Il risultato è che non è possibile generalizzare più di tanto le espressioni
regolari. In altre parole non si ci si può basare in alcun modo sui marcatori quali
“indicatori di contenuto” in quanto spesso vengono usati ai soli fini di marcare la
presentazione.
Progettazione e Implementazione di un sistema per la costruzione
automatica di sommari a partire da pagine Web
9
1.2 Visione dell’insieme e funzionamento
In questo capitolo si cercherà di dare un‟idea più integrata e di alto livello del
sistema complessivo, sia dal punto di vista dell‟operatore sia dal punto di vista
dell‟applicazione.
Tale visione risulterà particolarmente utile nei prossimi capitoli dove ogni
aspetto verrà dettagliato con maggiore precisione.
Per quanto concerne i dati coinvolti, la Figura 1.1 da un‟idea degli scambi di
informazioni in cui sono coinvolti l‟operatore ed il sistema. I principali dati coinvolti sono
chiaramente le sorgenti che si assumono note a priori: per esempio potrebbero essere
inserite o rimosse manualmente dall‟operatore piuttosto che gestite da un modulo esterno;
in ogni caso sono modellizzate come una sorgente dati indipendente.
In figura 1.1 uno schema complessivo dell‟iterazione utente-sistema:
Figura 1.1: Vista del sistema
Progettazione e Implementazione di un sistema per la costruzione
automatica di sommari a partire da pagine Web
10
1.2.1 Ricerca Link
Le funzioni di trattamento di dati testuali sono una parte importante in un
numero di applicazioni sempre più alto; dal CMS al più semplice software gestionale è
infatti necessario permettere all‟utente di interagire con delle risorse testuali.
Da alcuni anni esiste un componente open-source che permette di realizzare
soluzioni estremamente avanzate, le API di Google.
La ricerca del link che poi a sua volta richiama una pagina è prevista da
questa soluzione la quale prevede l‟implementazione di un vero è proprio motore di
ricerca che permette all‟utente, data una o più parole chiavi, di trovare una serie di link
dove reperire le pagine web contenenti le informazioni di interesse.
1.2.1.1 Google API
API è l‟acronimo di Application Programming Interface, nonché di
Application Program Interface.
Esse permettono di espandere le funzionalità di un programma. Per uno
sviluppatore mettere a disposizione un set di API di un suo software significa dare la
possibilità ad altri di interagire con la sua piattaforma e, soprattutto, estendere le funzioni e
le caratteristiche della struttura base della piattaforma. In altri termini, le API sono uno
strumento per promuovere un programma offrendo ad altri un modo per interagirci.
Google API di ricerca AJAX è una libreria Javascript che consente di
incorporare Google Ricerca nelle pagine web e altre applicazioni web. Per Flash e altri
ambienti non-Javascript, l'API è una semplice interfaccia che restituisce risultati codificati
facilmente trasformati dalla maggior parte delle lingue e runtimes.
Google AJAX Search API fornisce semplici oggetti web che eseguono
ricerche in linea su una serie di servizi Google (Ricerca Web, Ricerca locale, ricerca
video, Ricerca Blog, News Search, Ricerca Libri, Immagine e Ricerca).
Progettazione e Implementazione di un sistema per la costruzione
automatica di sommari a partire da pagine Web
11
Se il sito web è stato progettato per aiutare gli utenti a creare i contenuti (ad
esempio bacheche, blog, ecc), l'API è destinato a sostenere queste attività, consentendo
loro di copiare i risultati di ricerca direttamente nei loro messaggi.
Le API AJAX permettono di inserire un modulo di ricerca dinamico
all‟interno delle pagine Web aiutando i visitatori a fare ricerche all‟interno di Google ed
altre fonti direttamente dal sito Web.
Google AJAX Search API, ancora in beta, è uno strumento davvero
flessibile: gli utenti sono in grado di ricercare tra risultati blog, locali, video e Web ( o tutti
insieme) e di personalizzare lo stile di ricerca.
Se la pagina Web è progettata per aiutare gli utenti a creare contenuti (e.g.
message board, blogs, etc.), i visitatori del sito Web saranno in grado di mixare i risultati
delle ricerche su Google con altri contenuti del sito e di aggiungerne i risultati di ricerca.
Google AJAX Search API supporta tutti i maggiori browser, è in servizio
gratuito in beta, disponibile per qualsiasi sito Web e completamente gratis per il
consumatore.
Inoltre è un widget che ti permette di inserire Google Search all‟interno di
pagine Web ed altre applicazioni. L‟API consiste in un Javascript che ti permette di
visualizzare risultati dalle ricerche Google, inclusi testi ed URL da Google Web Search e
risultati dalle ricerche su altri servizi Google sul tuo sito Web.
Si può usare Google AJAX Search API per integrare Google search con un
sito Web o con Google Maps e creare una raccolta di luoghi favoriti. E‟ inoltre
completamente personalizzabile, e permette di cambiare le opzioni del controllo di ricerca
(Search Control) e di configurare vari ricercatori e modelli di ricerca secondo i propri
bisogni. Inoltre permette di sostituire l‟etichetta di ricerca "Web", "Blog", ecc., con una a
scelta e.g. , "My Site", "Amazon.com", etc.
Gli utenti che hanno più confidenza con i CSS possono apprezzare la
possibilità di cambiare lo stile di ricerca e di specificare classi definite per utente.
Google ha recentemente lanciato un nuovo add-on per la homepage
personalizzata di Google basata su Google AJAX Search API. Attraverso questo widget si
Progettazione e Implementazione di un sistema per la costruzione
automatica di sommari a partire da pagine Web
12
può per esempio, fare ricerche locali per la città e il servizio può essere usato come un
address book affidabile. Si può inoltre ricercare all‟interno di siti Web specifici senza
dover lasciare la home page personalizzata Google.
AJAX Search API è attualmente alla versione 0.1. E‟ un esperimento che ha
bisogno di feedback per gli sviluppatori e sulla base di questi cambierà nei prossimi mesi.
1.2.2 Web Information Extraction
L‟estrazione d‟informazione (in inglese, Information Extraction (IE)) può
essere vista come un‟applicazione di quella che va sotto il nome di Information Retrieval
(IR).
Lo scopo principale dell‟IE è l‟estrazione (semi-)automatica di informazione
strutturata a partire da informazione non strutturata. Trovare, estrarre e memorizzare titolo,
abstract, autore da un documento in una base di dati è un “banale” esempio di IE.
L‟IE eredita alcune delle tecniche dell‟IR; in realtà l‟obiettivo e gli approcci
sono profondamente diversi. L‟IE richiede conoscenze interdisciplinari che vanno dalla
progettazione di linguaggi artificiali all‟impiego di tecniche avanzate d‟intelligenza
artificiale, elaborazione del linguaggio naturale (Natural Language Processing (NLP)),
eccetera. Mentre l‟IR si pone come obiettivo il ritrovamento di informazioni a partire da
chiavi di ricerca, l‟IE ha scopi molto più ambiziosi: cercare di estrarre conoscenza
strutturata da testo libero.
Nonostante le difficoltà intrinseche, l‟IE è molto attivo in diverse aree di
ricerca, probabilmente giustificato dalla sempre più crescente necessità di organizzare,
archiviare, interrogare con precisione il più grande serbatoio di informazione non
strutturata: il Web ed Internet in generale.
Per secoli l‟uomo si è preoccupato di memorizzare dati e informazioni: le
tecnologie informatiche rendono questo processo automatizzabile ed applicabile a
collezioni di dimensione praticamente infinita. Data questa disponibilità i problemi che
sono venuti a galla risiedono principalmente nella necessità di poter effettivamente
Progettazione e Implementazione di un sistema per la costruzione
automatica di sommari a partire da pagine Web
13
utilizzare l‟informazione in tempi ragionevoli; operazioni come sommarizzazione, ricerca
mirata, estrazione, trasformazione, conversione e aggregazione sono richieste sempre più
frequenti per un moderno sistema informativo.
Gli obiettivi di chi lavora nel campo dell‟IE sono molto più impegnativi; la
sfida per eccellenza è, il Web. Incoraggiato dal crescente interesse per il Web Semantico,
l‟impiego dell‟IE nel Web è quanto di più complesso si possa pensare nel campo
dell‟elaborazione di dati non strutturati.
Quale miglior riserva di informazione multi-formato, de-strutturata, de-
localizzata, ridondante e frammentata migliore del Web? La pubblicazione di risorse nel
Web moderno è oggi alla portata di tutti e, praticamente, non ha regole; la crescita
incontrollata e poco regolamentata di documenti, immagini, ipertesti, diari o libri giustifica
pesantemente l‟applicazione dell‟IE: una riorganizzazione non automatizzata sarebbe
senz‟altro improponibile e inattuabile in tempi ragionevoli.
Il Web risulta particolarmente problematico dal momento che le risorse
“testuali” presenti sono profondamente diverse dal testo libero e questa differenza pone
nuovi e non banali ostacoli per l‟IE.
Il processo di estrazione stesso è un concetto piuttosto vago. Attualmente,
l‟interesse è rivolto in particolare ad attività come il riconoscimento di entità, ricerca di co-
referenze ed estrazione di termini. Per entità in un testo libero di solito s‟intende un
sostantivo, un nome, un‟espressione comune e simili: il loro riconoscimento è spesso utile
ai fini di altri (sotto)processi. Un po‟ più complicata è invece la ricerca di co-referenze,
ovvero quelle frasi che si riferiscono allo stesso oggetto.
Anche se l‟IE è ancora lontana da applicazioni di produzione e dal mercato
esistono già alcuni sistemi (anche) commerciali con le promesse più svariate.
Da questo proposito nasce il lavoro presente, nel tentativo di proporre un
approccio originale e alternativo all‟estrazione di informazione.
Il processo di estrazione termina quando richiamiamo una pagina web da un
link, da dove viene estratto il contenuto eliminando così tutte le informazioni superflue,
come ad esempio immagini e suoni.