4
5
1. La notazione dei testi
1.1. HMTL, ovvero il tagging per formattare i documenti
sul web
1.1.1. Una storia recente
È difficile riassumere brevemente tutti i radicali cambiamenti che l’introduzione di
internet ha portato nel mondo. La rete ha contribuito enormemente alla
trasformazione del nostro modo di comunicare e gestire il flusso informativo tutte le
sue fasi. Ci sono due aspetti fondamentali che sono divenuti il pilastro delle
comunicazioni su internet: il primo riguarda la posta elettronica, che per
immediatezza ed economicità non ha rivali; il secondo aspetto, più recente, è
l’introduzione del linguaggio HTML ad opera di Tim Berners-Lee. Da allora siamo
abituati a parlare di World Wide Web e a dare per scontata una fruizione sempre più
immediata di questo straordinario mezzo di comunicazione.
Molto del successo del Web dipende però da alcuni programmi davvero
fondamentali che risiedono su internet e si occupano di tracciarne i contenuti
scandagliando le pagine alla ricerca di informazioni utili per poter offrire agli utenti
del web una classificazione attinente alle loro richieste. Questi programmi, detti
motori di ricerca, si sono nel tempo moltiplicati assumendo talvolta il valore di
portali che veicolano essi stessi una scelta di informazione più o meno collegata alle
scelte pregresse dell’utente o al suo profilo.
Al di là del discorso economico, i search engine si trovano ad affrontare una schiera
sempre più nutrita di utenti e soprattutto di pagine, arrivate a superare secondo le
stime fra l'altro non recentissime gli 11 miliardi
1
. Più di un miliardo di utenti
2
hanno
quindi non solo l’imbarazzo della scelta nel decidere a quale motore dare credito, ma
hanno anche l’opportunità di selezionare uno fra le centinaia di fornitori di servizi
gratuiti o quasi per pubblicare i loro stessi pensieri e contenuti. Siccome molto
spesso i temi trattati saranno simili è facile intuire la mole di risultati restituiti
effettuando una ricerca con parole chiave troppo generiche. D’altra parte per
compiere una ricerca esaustiva spesso è indispensabile utilizzare stringhe di ricerca
non eccessivamente specifiche, ma per capire questo è importante riassumere in
1
http://www.cs.uiowa.edu/~asignori/web-size/
2
http://www.internetworldstats.com/stats.htm
6
breve quali siano le tecniche basilari utilizzate dai motori, approfittando al contempo
di analizzare una semplice pagina HTML.
1.1.2. Il lavoro dei search engine sull’HTML
La gran parte delle pagine presenti sul web sono redatte in HTML. L’HyperText
Markup Language è un linguaggio di marcatura che ha dotato la rete web di uno
standard universale per l’interscambio di documenti. Sebbene in alcuni sensi questa
affermazione sia opinabile è possibile definire il linguaggio HTML sostanzialmente
privo di valenza semantica e riferito essenzialmente alla formattazione del
documento di modo che sia visualizzato nel browser con determinate caratteristiche.
Facciamo un esempio:
<p align="center"><font size="12"> Questo è un esempio di <strong>
formattazione </strong> centrata con l’uso del grassetto</font></p>
Con questa riga abbiamo definito un paragrafo che verrà formattato dal browser a
video allineato al centro e con la parola formattazione scritta in grassetto. Fin qui
nulla di trascendentale, ma in realtà gli usi di questa parte di pagina HTML
potrebbero essere molteplici: potrebbe essere un corso on-line sull’HTML come
semplicemente una guida alla video-scrittura, potrebbe con un po’ di fantasia essere
un testo narrativo, o il blog
3
di un insegnante avvilito dal lavoro dei suoi alunni. Il
vero problema è che i motori di ricerca non possono risolvere questa ambiguità. È
per questo che nelle pagine web è stata introdotta una sezione iniziale chiamata
“header”
4
, ovvero intestazione. Questa soluzione si è rivelata preziosa in quanto
consente agli autori di pagine web di aggiungere parole chiave specifiche al dominio
in oggetto della pagina.
<head>
1. <title>Benvenuti nel blog di Tizio Caio! </title>
2. <META NAME="description" CONTENT=" blog del prof. Tizio
Caio, scuola supriore Tal Dei Tali">
3. <META NAME="keywords" CONTENT="HTML, diario,
insegnamento, verifiche [...] ">
4. <meta name="author" CONTENT="Tizio Caio ">
5. <META NAME="robots" CONTENT="all">
6. <META NAME="revisit-after" CONTENT="15 Days">
</head>
3
blog = Web + Log, ovvero un diario on-line visualizzato a partire dall'evento più recente
4
header = intestazione
7
Abbiamo una serie di tag che non vengono visualizzati a video (se non il tag title
[tag 1], che viene appunto mostrato nella barra del titolo della finestra del browser),
ma che vengono presi in esame proprio dai motori di ricerca come aiuto a selezionare
un dominio di appartenenza corretto per la pagina in questione. Da notare due
elementi: innanzitutto la presenza di tag che forniscono precise istruzioni allo spider
in visita (in questo caso di darsi da fare in tutto il sito e di visitarlo con una frequenza
di 15 giorni [tag 4 e 5]). Inoltre le parentesi quadre nella sezione keyword [tag 3]
stanno ad indicare che generalmente per tirare acqua al proprio mulino si è iniziato a
moltiplicare a dismisura le parole chiave anche se queste non erano per nulla inerenti
al contesto del proprio sito. Per esempio, una delle parole più ricercate è “sex”, i
webmaster ne hanno abusato in modo incalcolabile, tanto che molti motori di ricerca
sono dovuti correre ai ripari inventandosi nuove tecniche per aggirare questi
problemi. Infatti si è deciso di penalizzare coloro i quali abusassero di queste
tecniche andando a verificare che il contenuto della pagina comprendesse veramente
le parole chiave incluse nell’intestazione. Naturalmente i più furbi hanno pensato
bene di riempire il fondo delle loro pagine di frasi o parole chiave ulteriori senza
alcuna attinenza alla pagina, facendo in modo che fossero invisibili all’occhio
dell’utente con diverse tecniche, fra cui la più banale è di scriverle nello stesso colore
di sfondo della pagina.
Una lotta intestina che nasce anche dalla natura del linguaggio HTML, il quale non
consente di fornire all’interno della pagina la possibilità di annotare il testo a livello
semantico. Torniamo al nostro esempio: cosa può capire una macchina da quello
spezzone di codice? Vi è indicata la formattazione di un paragrafo e viene messo
l’accento sulla formattazione con l’uso di <strong> che provoca la visualizzazione in
grassetto. Un caso ancora fortunato, un motore potrebbe aggrapparsi a questo esile
concetto per stabilire che si tratta di una pagina contenente un concetto sulla
formattazione. Ma se <strong> fosse stato messo sulla parola “grassetto”? L’esempio
è banale ma rende l’idea di quanto difficile sia il compito. Ecco dunque la soluzione
qui proposta: annotare semanticamente il testo.
1.2. A cosa può servire annotare semanticamente un
testo?
Il blog di Tizio Caio è soltanto un esempio: anche in un dominio più ristretto come la
intranet di un’azienda la struttura dei documenti non è sempre ben formata. È più
8
facile sviluppare un motore di ricerca dalle capacità incalcolabili oppure strutturare
in modo adeguato i documenti perché siano maggiormente comprensibili alle
macchine e non solo alla lettura umana su schermo? Naturalmente la seconda, o
almeno è quello che mi accingo a mostrare.
Colui che del Web è il principale inventore, ha indicato anche una via specifica per
l'evoluzione semantica della sua creatura. Affinati i protocolli e le specifiche iniziali
ad opera di un gruppo di programmatori, nel 1994 Berners-Lee fonda il World Wide
Web Consortium al MIT (W3C). Dal 2001 inizia a parlare di Web semantico e vi si
dedica con gli stessi principi che hanno contraddistinto gli standard proposti fino a
quel momento: liberamente disponibili, gratuiti e privi royalties. Ne "L'architettura
del nuovo web", Tim Berners-Lee esemplifica così la sua idea:
"Le macchine diventano capaci di analizzare tutti i dati sul Web, il
contenuto, i link e le transazioni tra persone e computer. La "Rete
Semantica" che dovrebbe renderlo possibile deve ancora nascere, ma
quando l'avremo i meccanismi quotidiani di commercio, burocrazie e
vita saranno gestiti da macchine che parleranno a macchine, lasciando
che gli uomini pensino soltanto a fornire l'ispirazione e l'intuito."
5
In questa visione dunque si presuppone che le risorse presenti sul web possano essere
collegate attraverso relazioni trasparenti all'essere umano ma non alle macchine
capaci di sfruttarle. Nell'informatica tradizionale i dati non esistevano se non
dipendenti dal programma che lavorava su di essi. Anche nella programmazione ad
oggetti le classi utili all'elaborazione dei dati risiedevano nel programma stesso. Con
il Web semantico questo viene rovesciato: i dati divengono predominanti come
importanza rispetto alle applicazioni. A questo riguardo sono individuabili 4 fasi
(con i rispettivi linguaggi studiati dal W3C) nelle quali l'importanza dei dati è
crescente:
1. Testi e basi di dati: i dati sono incorporati o legati alle applicazioni e
l'intelligenza è anch'essa inclusa nel programma (HTML)
2. Documenti taggati per domini specifici: i dati sono indipendenti dalle
applicazioni e possono essere utilizzati da diverse applicazioni appartenenti al
medesimo dominio (XML, XML Schema)
3. Tassonomie e vocabolari eterogenei: i dati possono appartenere a differenti
domini ed essere classificati gerarchicamente. Possono esistere relazioni fra
5
Tim Berners-Lee, L'architettura del nuovo Web, Interzone, 2001, pag. 139
9
le categorie che consentono la correlazione e l'elaborazione delle
informazioni (RDF)
4. Ontologie: attraverso regole di inferenza logica possiamo ottenere nuove
informazioni dai dati disponibili (RDF Schema e, più propriamente, OWL)
L'obbiettivo finale è quello di raggiungere l'assoluta fiducia sull'affidabilità delle
informazioni, come si evince da questa schematizzazione:
Figura 1: l'architettura del web semantico
Fonte: Wikipedia
I livelli più alti sono naturalmente molto difficili da raggiungere, ma in linea generale
vi sono numerosi esempi dei vantaggi riscontrabili all’uso del web semantico fra i
quali si annoverano:
• maggiore facilità di ricerca delle informazioni;
• maggiore facilità di estrazione delle informazioni in modo automatizzato;
• rilevazione di ulteriori informazioni incluse nelle nostre basi di dati ma di cui
non si è ancora presa coscienza;
• creazione veloce di “viste” sui dati, spesso non facili da realizzare in una rete
internet o intranet con basi di dati standard.
Sembrerebbero promesse davvero difficili da mantenere, in particolare il penultimo
punto può lasciare perplessi: nella nostra base di dati ci sono dei concetti a noi utili
dei quali noi stessi non siamo a conoscenza. Eppure non è un evento così raro:
potendo confrontare ed interpolare diversi concetti appartenenti allo stesso dominio