Home » n. 26 aprile 2004

Semantic Web. Una nuova modalità per la rappresentazione della conoscenza in Rete

26 aprile 2004 | Stefano Sgarella info@sgah.net

Oltre duemila anni di teorie e definizioni di modelli per la descrizione dei dati e la rappresentazione della conoscenza si ripropongono oggi in un inedito contesto tecnico, migrando nell’odierno dibattito sul Semantic Web. Nessuna nuova teoria rivoluzionaria dunque, ma l’applicazione nel mondo informatico della Rete di concetti esistenti, allo scopo di sviluppare un ambiente che consenta di far il miglior uso possibile delle risorse disponibili sul Web.

Che cos’è il Semantic Web?
È l’obiettivo a lungo termine del consorzio W3C (World Wide Web Consortium), la cui esigenza primaria è “rendere comprensibile” alla macchina la rappresentazione della conoscenza, formalizzando aspetti semantici, di contenuto, di molteplicità di documenti e tipologie di documento reperibili in rete.
La nascita del progetto avviene nel 1994, anno di fondazione del consorzio. Lo scopo fu quello di porsi come guida del nascente World Wide Web, sviluppando protocolli non proprietari che ne permettessero l’evoluzione lungo direttrici di interoperabilità e futuribilità. Basti pensare alla “guerra dei browser” per capire cosa potesse rappresentare un filo conduttore in un momento in cui altro non si è fatto che cercare strade opposte per il solo bisogno di affermazione. Tag proprietari, differenti interpretazioni e sviluppi di un codice, l’HTML (HyperText Markup Language), creato per strutturare la rappresentazione di dati condivisibili, sicuramente non per determinare scompiglio e confusione. E di ciò se ne pagano ancora oggi le conseguenze.

L’architettura del Web Semantico è rappresentata da una stratificazione a più livelli (figura a lato), ciascuno dei quali caratterizzato da un proprio linguaggio. Questa struttura a lungo andare porterà benefici in diversi campi, dai motori di ricerca, all’e-commerce, dalla gestione dei diritti di proprietà intellettuale di pagine web, alla realizzazione di complessi sistemi di catalogazione dei contenuti, e a quant’altri applicativi il cui significato concettuale è basato su metadati, cioè su dati che descrivono dati/documenti. Come e perché lo si può scoprire solo attraverso un’attenta analisi, anche dei soli concetti essenziali, di questo insieme di elementi tecnico/concettuali che compongono il Semantic Web.

Unicode e Uri
Lo strato di base
Capita spesso che i linguaggi da noi parlati utilizzino medesimi termini per descrivere concetti/oggetti differenti. Per un essere umano può risultare semplice ciò che per un elaboratore significa “conflitto”. L’identificazione univoca di oggetti, proprietà, stati, predicati è sostanziale per poter costruire codici di comunicazione non ambigui, quindi per descrivere la semantica delle risorse disponibili, escludendo possibili ambiguità nella denominazione degli oggetti e delle relazioni che popoleranno il Semantic Web.

La soluzione al suddetto “problema dei nomi” sono gli URI (Universal Resource Identifier), meccanismo generale per identificare una specifica risorsa. Da non confondersi con URL (Uniform Resource Locator), sottoinsieme di URI che identifica e inoltre localizza le risorse sul web. In teoria gli URI sopperiscono ad una mancanza degli URL permettendo di rintracciare documenti e risorse che possono cambiare locazione, il problema attualmente più diffuso nel web. Ciò è reso possibile in quanto gli URI identificano una risorsa meta-informando.

Uri

Esiste però un’incognita ancor prima dei nomi, ovvero il “problema degli alfabeti”. La soluzione proposta è UNICODE: codifica di caratteri che associa ad ognuno di essi un numero univoco e li organizza in maniera tale da semplificare lo sviluppo di software facilmente traducibili e adattabili a qualunque lingua del mondo. Ancora una volta la via d’uscita da uno stato di assoluta confusione (le centinaia di sistemi di cifratura spesso in conflitto tra loro) è la definizione di uno standard.
Unicode e URI sono alla base dell’architettura del Semantic Web e come tali offrono un servizio che gli strati superiori estenderanno e completeranno. È comprensibile come un errore nelle scelte possa causare il fallimento di un progetto certamente ambizioso. Nulla è stato però lasciato al caso nel progetto del W3C, ogni opzione è il risultato di un vasto consenso atto a renderne lo sviluppo il più fluido e naturale possibile.

Xml, XmlSchema, Namespace
Lo strato dei documenti strutturati
Il 1998 fu l’anno di definizione dell’XML (eXstensible Markup Language), una tecnologia che serve a creare linguaggi di markup che descrivono i dati di qualsiasi tipo e in modo strutturato. Formalmente lo si può definire “metalinguaggio”, cioè un sistema linguistico per mezzo del quale è possibile analizzare i simboli e le strutture del linguaggio ordinario, consentendo così di creare dati intelligenti. In sostanza è un cambiamento radicale del modo di concepire un documento Web, non più semplice schema rappresentativo, ma entità significante e facilmente interpretabile.

Documento HTML

Documento XML

A differenza del cugino HTML, XML si basa su una sintassi estremamente rigorosa: ogni elemento deve avere un tag iniziale e uno finale e essere appropriamente annidato, gli attributi devono essere racchiusi tra virgolette, i caratteri maiuscoli differiscono da quelli minuscoli (case sensitive), ecc. Se il documento rispetta tutte queste convenzioni è un documento “well formed” (ben formato), altrimenti un semplice file di testo non interpretabile dagli strati successivi del Semantic Web. La forza di questo linguaggio sta proprio nel rigore e allo stesso tempo nella semplicità di interpretazione, presupposti che ne hanno permesso la diffusione planetaria come formato di trasmissione e archiviazione dell’informazione, nonché come struttura sintattica di base per la creazione di altri linguaggi. Alcuni esempi di linguaggi a base XML, e strettamente legati ad esso, sono:
- XML SCHEMA, per definire in dettaglio la struttura di un documento XML.
- XSLT, per trasformare XML in altri tipi di file (HTML,PDF,ecc.).
- XSL-FO, per definire le regole di formattazione di una trasformazione XSL.
- X-LINK, per definire link ipertestuali avanzati nei documenti XML.

Xml, basato su un modello ad albero di porfiriana memoria, ossia gerarchia di concetti e insieme di proprietà e attributi, è insufficiente per descrivere la semantica dei documenti in quanto non fornisce regole di interpretazione delle relazioni che intercorrono tra nodi e sottonodi. Lo strato dei documenti strutturati si rivela un buon impianto di sostegno, semplice, potente, multiforme, ma è solo questo niente e di più.

Si è parlato di alfabeti, di univocità, di linguaggi e sintassi, ma una domanda fondamentale vuole ancora risposta: chi effettivamente non è in grado di comprendere un documento Xml semplicemente leggendolo? E una risposta c’è: la macchina. Quale calcolatore elettronico riuscirebbe a interpretare la realtà come noi la conosciamo senza prima aver ricevuto ipotetiche dosi di esperienza pari a quelle di un qualsiasi individuo cosciente e razionale? A questo proposito la soluzione del W3C non è l’intelligenza artificiale, ma fare in modo che i computer analizzino meccanicamente la semantica dei documenti e, “come se la comprendessero”, producano risultati significativi per gli utenti. Ma questo è un processo che necessità ancora di vari passaggi intermedi.

RDF e RDFSchema
Lo strato delle asserzioni
Per giungere a tale obiettivo, servono linguaggi che ancor prima di definire formalmente la semantica di un documento permettano di poterla esprimere attraverso espressioni relazionali e strutture generali di carattere classificatorio, RDF (Resource Description Framework) nel primo caso, RDFSchema nel secondo.
RDF consente di standardizzare il modo in cui vengono definiti i metadati in Rete, fornendo un modello espressivo semplice basato su tre tipi di oggetti: risorse, proprietà, asserzioni. Una risorsa può essere una o un insieme di pagine Web, oppure un oggetto che fisicamente può non trovarsi nel Web, come ad esempio un libro o un’automobile; importante è che questo “nome-risorsa” sia univocamente individuato da un URI (vedi strato di base). Una proprietà di conseguenza è un aspetto specifico, un attributo che descrive una risorsa, assumendo valori differenti a seconda del caso. Un’asserzione (o asserto) è una serie di triple: soggetto (risorsa) + predicato (proprietà) + oggetto (valore della proprietà), che possono esprimere qualunque cosa e che è dotata di valore di verità. Così rappresentata, la conoscenza sarà distribuita liberamente nella rete. Strati superiori permetteranno di determinare la veridicità o meno di un’asserzione.

Un semplice esempio di asserzione RDF:

Uri

questo significa che “http://www.sitonielsen.com/WebUsability ha come autore Jakob Nielsen”. Sulla base di questo modello il valore della proprietà può diventare una risorsa e a sua volta avere proprietà e valori associati, dando vita a descrizioni complesse, in pratica un discorso intorno ad un determinato argomento.
Per esperienza sappiamo di utilizzare spesso parole che sono strettamente associate ad uno specifico significato e che la comprensione di suddette asserzioni è strettamente legata al contenuto semantico espresso. RDF non definisce classi di risorse e non fornisce alcun meccanismo per dichiarare proprietà e organizzarle gerarchicamente (ad esempio non si può dire che “libro” è una classe, che “persona” è una classe, che “has_Author” è una proprietà, che “has_Author” ha per dominio istanze di libro e che “has_Author” ha per condominio istanze di persona). Per sopperire a questa mancanza è stato progettato RDFSchema, un linguaggio dichiarativo che fornisce un mezzo per affermare informazioni addizionali sui dati. Una sorta di vocabolario, definito dai singoli utenti, a cui potranno accedere “agenti software” per “interpretare” e analizzare la conoscenza espressa dalle asserzioni RDF.

Ad oggi (2004) tutto questo può sembrare un’odissea, abituati come siamo a considerare metadati un semplice elenco di parole inserite in un tag “META”. Diventa logico capire perché i motori di ricerca, nonostante i potentissimi algoritmi a loro disposizione, producano spesso risultati poco significativi. Per non parlare poi dell’infinità di documenti sintatticamente e semanticamente scorretti (in ogni senso) che popolano il web pre-semantico.

OWL il vocabolario ontologico
Lo strato delle ontologie
RDFSchema permette di creare ontologie di carattere generale. Esso appartiene però allo strato delle asserzioni perché strettamente legato a RDF (ne definisce classi e proprietà), e poiché presenta lacune espressive soprattutto laddove è necessario esprimere l’equivalenza semantica di proprietà sintatticamente differenti (”Is_Author_of” è l’inverso di “has_Author” oppure “has_Author” è l’equivalente di “ha_Autore”). Con questo linguaggio non è possibile creare ontologie che permettano la creazione di classificazioni sistematiche e che risultino ristrette ad un dominio specifico pur mantenendo una validità generale. Un’ontologia infatti, nel Semantic Web, è intesa come la rappresentazione esplicita del significato dei termini impiegati e della loro interrelazione. RDF e RDFSchema forniscono piuttosto primitive ontologiche, basi di conoscenza per generare nuova conoscenza.

Il W3C propone OWL (Web Ontology Language), e lo divide in tre sottolinguaggi, ognuno caratterizzato da una diversa capacità espressiva:
- OWL Lite, permette di esprimere semplici vincoli e gerarchie di classificazione.
- OWL DL, permette di disporre di una massima espressività, sia garantendo che il sistema di inferenza estrarrà tutte le conclusioni, sia che tutte le elaborazioni si concluderanno in un tempo finito.
- OWL Full, permette di sfruttare tutta la libertà sintattica di RDF, ma senza alcuna garanzia che il sistema estrarrà tutte le conclusioni possibili.
Creare ontologie richiede un notevole impegno e una completa conoscenza del dominio in analisi. Quindi la scelta del linguaggio adatto alla proprie necessità dovrà essere fatta a priori, per sfruttare al meglio le potenzialità espressive di OWL e per dare un valido supporto al ragionamento automatizzato.

Logica, dimostrazione, fiducia
Gli strati in via di sviluppo
Gli elementi a disposizione – finora gli unici raccomandati dal W3C (in ultimo OWL, raccomandazione del 10/02/2004) – consentono di rappresentare in modo adeguato la conoscenza; ma come questa conoscenza sarà utilizzata è attualmente solo ipotizzabile e riconducibile a linee guida generiche che trattano di linguaggi logici, formule per la dimostrazione e reti della fiducia: visioni di un nuovo web ordinato ed efficiente, che è sempre meno aspirazione e sempre più un’affidabile alternativa.

Lo strato della logica sarà costituito da un linguaggio basato su euristiche, cioè procedimenti che permettono di prevedere un risultato che solo successivamente verrà controllato, convalidato e dimostrato. E’ invece attraverso l’utilizzo del procedimento deduttivo di inferenza che sarà possibile, partendo da una o più premesse, ricavare una conclusione. Le semplici informazioni ottenute saranno validate, nello strato della dimostrazione, tramite motori di validazione generici costituiti da sequenze di formule derivate da assiomi. In ultimo lo strato della fiducia restituirà solo quelle informazioni che secondo il richiedente proverranno da utenti di indubbia attendibilità. Ad esempio l’utente A accetterà informazioni provenienti da B, l’utente B a sua volta e per sua scelta, dall’utente C, e di conseguenza A riterrà valide le informazioni di C in quanto parte della sua rete della fiducia.

Bibliografia
World Wide Web Consortium (W3C), http://www.w3.org/
Holzner S., 2001, APOGEO, XML tutto&oltre
Deitel H.M., Deitel P.J., Nieto T.R., Lin T.R., Sadhu P., 2002, APOGEO, XML corso di programmazione
Pericoli P., 2002, Standard per il Web Semantic
http://www-db.deis.unibo.it/courses/SI2/Relazioni/WebSemantico.pdf
Parodi M., Ferrara A., 2002, Xml, Semantic Web e rappresentazione della conoscenza
http://www.mondodigitale.net/Rivista/02_numero_tre/ Parodi_p.42-51.pdf
Signore O., 2004, RDF per la rappresentazione della conoscenza
http://www.w3c.it/papers/RDF.pdf
Toscano E., Spagnolo F., 2004, Un percorso interpretativo della logica del ‘900
http://math.unipa.it/~grim/LogicStorToscanoSpaQuad11.pdf


<< Indietro Avanti >>