Semantic Web I problemi della ricerca in Web Querying Ambiguità della formula Browsing Arbitrarietà nei criteri di classificazione dei dati = Web Documenti debolmente collegati tra loro Occorrerebbero dei collegamenti semantici Che riconoscano i domini (=contesti) entro i quali sono disponibili risorse Domini, schemi e dati Dominio è costituito da Dati Informazione elementare Metadati classificano i dati Schema (Ontologia) mettono in relazione le classi Web Semantic 2001, Tim Barners Lee Rappresentare web come un insieme di ontologie Progetto irrealistico Ontologie specifiche Secondo settori di interesse Costruzione di ontologie: campo del Knowledge Management: La struttura del Web semantico Il Semantic Web si candida ad essere una architettura universale della scambio di informazione e conoscenza Ogni applicazione, ogni intenzione di scopo applicata ad un dominio, utilizzerà una sua propria ontologia L'operazione di collegare ontologie che definiscono stessi oggetti con una semantica differente è chiamata Mapping Impensabile un mapping globale ogni diverso schema dovrebbe mapparsi all'ontologia globale che funzionerebbe così come una lingua universale Si lavorerà su una architettura federativa. Mapping Implica l’identificazione di soluzioni tecniche e transazioni comunicative Potrà essere di due tipi: automatico o manuale, forse misto In una prima fase dei tool leggeranno grosse quantità di dati e realizzeranno dei cluster, un esperto poi dovrà validare le scelte dei tool Si adotterà il modello dell’interlingua Inizialmente alcuni gruppi di organizzazioni si accordano per creare un standard condiviso, quando questo standard si consolida e afferma altre realtà si associano allo standard. E-learning semantico Due progetti http://edutella.jxta.org http://www.merlot.org Learning objects collegati secondo schemi ontologici I linguaggi del web semantico Il W3C propone RDF(S) set di linguaggi dichiarativi basati su sintassi XML Gli schemi si scrivono in linguaggio RDF(S) e producono file *.RDFS RDF Resource Description Framework (RDF). per la descrizione delle risorse sul Web, La descrizione si basa su tre tipi di oggetti: Risorse (resources) una pagina, un gruppo di pagine, un’immagine, un server o una qualsiasi altro elemento che abbia un Universal Resource Identifier (URI), cioè un meccanismo di identificazione come l’indirizzo Web Proprietà (properties) Una proprietà è una specifica caratteristica o attributo di una risorsa una proprietà può anche descrivere relazioni con altre risorse. Asserzioni (statements) Una asserzione è costituita dall’insieme di una risorsa, una proprietà e uno specifico valore per quella proprietà e descrive le caratteristiche di una risorsa e le relazioni con altre risorse Asserzione la pagina all’indirizzo www.html.it/rdf.html ha per argomento RDF asserzione costituita dalla risorsa pagina all’indirizzo www.html.it/rdf.html, dalla proprietà argomento, dal valore RDF. Per ragioni pratiche, la definizione formulata del W3C propone XML come metalinguaggio per la rappresentazione del modello RDF, mediante alcuni tags predefiniti (<rdf:descxription>…) e altra tags liberi per la descrizione Ecco la asserzione espressa in xml: Namespace Nella descrizione RDF si fa uso della tecnica dei namespace di XML Un namespace è un contesto che definisce un insieme di tag da utilizzare in un documento XML Nel precedente esempio, il tag <rdf:RDF> indica che tale tag è definito nel namespace identificato dal prefisso rdf, la cui dichiarazione si trova nella prima riga del documento XML Schemi RDF La creazione libera di tags genera ambiguità Gli schemi RDF sono vocabolari di tags concordati insiemi di proprietà ed elementi che definiscono un contesto per la descrizione di determinate categorie di risorse Es.: il Dublin Core Metadata: esso definisce i tag da utilizzare per la descrizione di documenti elettronici Sviluppi L’uso di RDF è agli inizi e non sono ancora apprezzabili gli effetti che questa tecnologia porterà sul Web. Costruzione di un’ontologia 1) Dichiarazione iniziale Costruzione di un’ontologia 2) Corso sottoclasse di “resource” (elemento radice generico) RESOURCE CORSO Costruzione di un’ontologia 3) RESOURCE “Argomento” sottoclasse di “corso” CORSO ARGOMENTO Costruzione di un’ontologia 4) RESOURCE “Specializzazione ” sottoclasse di ““resource” (elemento radice generico) CORSO ARGOMENTO SPECIALIZZAZIONE Costruzione di un’ontologia 5) “Titolo” proprietà di “Corso” esprimibile in formato stringa (codominio#Literal) titolo CORSO ARGOMENTO RESOURCE SPECIALIZZAZIONE Costruzione di un’ontologia 6) “Livello di specializzazione” proprietà di “Corso” e di “Specializzazione” titolo RESOURCE CORSO ARGOMENTO Livello di specializz. SPECIALIZZAZIONE Costruzione di un’ontologia 7) RESOURCE “Utenti” proprietà di “Specializzaz ione” e di “Utenti” titolo CORSO ARGOMENTO Livello di specializz. SPECIALIZ ZAZIONE Utenti Costruzione di un’ontologia 8) “Preparazione Utenti” proprietà di “Specializzazi one” RESOURCE classe radice Utenti titolo proprietà CORSO Classe 1° Livello di specializz. proprietà SPECIALIZ ZAZIONE Classe 1° proprietà Preparazio ne utenti proprietà Classe 2° ARGOMENTO I metadati I metadati dovrebbero esprimere relazioni di un documento con un certo contesto, dovrebbero definire relazioni trasversali al documento Non può esserci un sistema di navigazione semantica senza i metadati Non esistono ancora sistemi solidi per l'archiviazione e l'interrogazione di metadati Non si è ancora consolidata una pratica Esistono diversi sistemi Indicizzazione automatica di metadati Limiti: un estrattore automatico non capisce il contesto: si basa sui tesauri di cui dispone… Text Zoner suddivide il testo in parti strutturali (title, body, etc...) Preprocessor fa una analisi morfologica delle frasi, stabilisce cioè di che parti è costruita una frase (soggetto, predicato, oggetto). Filter Elimina dal testo le frasi e le sentenze irrilevanti Named Entity Recognizer identifica strutture lessicali minime (nomi, date, numeri..) Lexical Disambiguation assicura che i termini con più significati siano tradotti in un unico modo Semantic Interpreter riporterà gli elementi significativi riscontrati su strutture ontologiche possedute a priori Raccomandazioni I metadati non sono dati non possono limitarsi a riportare in modo stringato i contenuti di un testo I metadati possono avere valore diverso La proprietà di una classe può essere un valore es.: “Paolo” O puntare ad un Uri: “quel” Paolo Volatilità dei metadati Essere e asserire Mediante la reificazione: asserzioni di asserzioni Costruzione di metadati Dall’ontologia ai metadati http://www.nomesito.it/nomecorso/nomecorso.html Indichiamo come si relazionano allo schema I metadati si definiscono mediante asserzioni: Soggetto: Classe dello schema Esprimibile come Url Lo schema è esprimibile come spacename Predicato: Oggetto: Attributi della classe Dati I metadati si scrivono in file *.RDF Costruzione di metadati 1) Qui la dichiarazione iniziale non necessita del namespace rdfs Costruzione di metadati 2) Prima asserzione: la prima risorsa è un corso dal titolo “nomecorso“ Costruzione di metadati 3) Questa stessa risorsa (“Nomecorso) è legata a due argomenti diversi: nomeargomento1 e nomeargomento2 La classe “argomento” potrebbe essere espansa come http://miosito/rdfs/nomeschema/Argomento sostituendo il cancelletto con lo schema dichiarato in cima al documento Flessibilità delle asserzioni Gli elementi sintattici delle asserzioni possono essere sostituiti da Uri Soggetto Generalmente la classe di uno schema anche diverso Predicato Un attributo, ma che può puntare ad un’altra classe Oggetto Una stringa, o un’altra classe, o classi di schemi diversi Le asserzioni si possono collegare tra loro Tramite ID Reificazione delle asserzioni <rdf:Description rdf:about="http://www.nomesito.it/nomecorso/nomesito.html"> <a:assert rdf:resource="http://www.nomesito.it/data/nomeontologia/model.rdf#ST_168_sp"/ > </rdf:Description> <rdf:statement rdf:about="http://www.nomesito.it/data/nomeontologia/model.rdf#ST_168_sp"> <rdf:subject rdf:resource="#Corso"/> <rdf:predicate rdf:resource="#Titolo"/> <rdf:object rdf:resource="nomecorso"/> </rdf:statement> Inserimento di un’asserzione entro un’altra dico che in una certa pagina si dice che c'è un corso che ha titolo nomecorso. RDF oltre XML RDF(S) è pensato per i metadati Descrive dati ma non ha dati Xml contiene dati XML si presta poco alle relazioni tra classi Ha carattere inclusivo: nidifica bene le relazioni parentali, ma fatica ad esprimere quelle associative Ontologia Delinea le strade che collegano gli oggetti del dominio Ontologie di scopo rappresentano la struttura dei processi Ontologie di dominio forniscono gli oggetti specifici Ontologia di scopo: Archiviazione di e-learning Ontologia “Archiviazione” Attributi (stringhe o puntati ad altre classi) Contenuto Data Locazione Archiviatore Ontologia di dominio I concetti di scopo permettono di pensare agli oggetti che compongono il dominio La modellazione avviene per classi Gli attributi sono ereditati dal padre delle classi dello stesso livello Il valore di un attributo può essere definito da un’altra classe Criteri di modellazione Dare alle classi nomi al singolare L'albero dell'ontologia deve essere bilanciato nella granularità I rami devono avere un numero di classi simile